diff --git a/.github/workflows/publish-legacy-docs.yml b/.github/workflows/publish-gh-pages.yml
similarity index 62%
rename from .github/workflows/publish-legacy-docs.yml
rename to .github/workflows/publish-gh-pages.yml
index e9b7a7f9b3c2..ef5a34af0a85 100644
--- a/.github/workflows/publish-legacy-docs.yml
+++ b/.github/workflows/publish-gh-pages.yml
@@ -1,4 +1,4 @@
-name: Publish Legacy Documentation
+name: Publish GitHub Pages
on:
workflow_dispatch:
@@ -18,7 +18,7 @@ env:
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
- compile-docs-and-publish:
+ compile-github-pages-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
@@ -27,11 +27,17 @@ jobs:
- name: Install Dependencies
uses: ./.github/workflows/actions/install-dependencies
- - name: Compile Documentation
- run: pnpm turbo run compile:docs --concurrency=100% --filter=@solana/web3.js
+ - name: Compile
+ run: pnpm turbo run compile:ghpages --concurrency=100%
- - name: Deploy Documentation to Github Pages
+ - name: Assemble deploy directory
+ run: |
+ mkdir -p .ghpages-deploy
+ cp -r ./packages/library-legacy/doc/* .ghpages-deploy
+ cp -r ./examples/react-app/dist/ .ghpages-deploy/example/
+
+ - name: Deploy to Github Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./packages/library-legacy/doc
+ publish_dir: .ghpages-deploy
diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml
index 864ea6c1a785..7dac065d0e33 100644
--- a/.github/workflows/pull-requests.yml
+++ b/.github/workflows/pull-requests.yml
@@ -46,6 +46,9 @@ jobs:
- name: Build & Test
run: pnpm build
+ - name: Build GitHub Pages
+ run: pnpm turbo run compile:ghpages --concurrency=100%
+
- name: Stop Test Validator
if: always() && steps.start-test-validator.outcome == 'success'
run: kill ${{ steps.start-test-validator.outputs.pid }}
diff --git a/.gitignore b/.gitignore
index eab0fbaa78e1..a5b4892e4a97 100755
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,6 @@ yarn-error.log*
# `solana-test-validator`
.agave/
test-ledger/
+
+# GitHub Pages deploy directory
+.ghpages-deploy
\ No newline at end of file
diff --git a/examples/react-app/.eslintrc.cjs b/examples/react-app/.eslintrc.cjs
new file mode 100644
index 000000000000..98f95c7f3cbd
--- /dev/null
+++ b/examples/react-app/.eslintrc.cjs
@@ -0,0 +1,10 @@
+module.exports = {
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: ['../../.eslintrc.js', '@solana/eslint-config-solana/react'],
+ ignorePatterns: ['dist', '.eslintrc.cjs'],
+ plugins: ['react-refresh'],
+ rules: {
+ 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
+ },
+};
diff --git a/examples/react-app/.gitignore b/examples/react-app/.gitignore
new file mode 100644
index 000000000000..a547bf36d8d1
--- /dev/null
+++ b/examples/react-app/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/examples/react-app/LICENSE b/examples/react-app/LICENSE
new file mode 100644
index 000000000000..ec09953d3c23
--- /dev/null
+++ b/examples/react-app/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2023 Solana Labs, Inc
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/examples/react-app/README.md b/examples/react-app/README.md
new file mode 100644
index 000000000000..003e0a70af28
--- /dev/null
+++ b/examples/react-app/README.md
@@ -0,0 +1,44 @@
+# @solana/example-react-app
+
+This is an example of how to use `@solana/web3.js` and `@solana/react` to build a React web application.
+
+The latest version of this code is automatically deployed to https://solana-labs.github.io/solana-web3.js/example/
+
+## Features
+
+- Connects to browser wallets that support the Wallet Standard; one or more at a time
+- Fetches and subscribes to the balance of the selected wallet
+- Allows you to sign an arbitrary message using a wallet account
+- Allows you to make a transfer from the selected wallet to any other connected wallet
+
+## Developing
+
+Start a server in development mode.
+
+```shell
+pnpm install
+pnpm turbo compile:js compile:typedefs
+pnpm dev
+```
+
+Press o + Enter to open the app in a browser. Edits to the source code will automatically reload the app.
+
+## Building for deployment
+
+Build a static bundle and HTML for deployment to a webserver.
+
+```shell
+pnpm install
+pnpm turbo build
+```
+
+The contents of the `dist/` directory can now be uploaded to a webserver.
+
+## Enabling Mainnet-Beta
+
+Access to this cluster is typically blocked by [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) rules, so it is disabled in the example app by default. To enable it, start the server or compile the application with the `REACT_EXAMPLE_APP_ENABLE_MAINNET` environment variable set to `"true"`.
+
+```shell
+REACT_EXAMPLE_APP_ENABLE_MAINNET=true pnpm dev
+REACT_EXAMPLE_APP_ENABLE_MAINNET=true pnpm build
+```
diff --git a/examples/react-app/index.html b/examples/react-app/index.html
new file mode 100644
index 000000000000..5993061c2c52
--- /dev/null
+++ b/examples/react-app/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Solana React Example App
+
+
+
+
+
+
diff --git a/examples/react-app/package.json b/examples/react-app/package.json
new file mode 100644
index 000000000000..e44acea2c060
--- /dev/null
+++ b/examples/react-app/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@solana/example-react-app",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@radix-ui/react-dropdown-menu": "^2.0.6",
+ "@radix-ui/react-icons": "^1.3.0",
+ "@radix-ui/themes": "^3.0.5",
+ "@solana-program/system": "^0.3.2",
+ "@solana/react": "workspace:*",
+ "@solana/web3.js": "workspace:@solana/web3.js-experimental@*",
+ "@wallet-standard/core": "pre",
+ "@wallet-standard/react": "pre",
+ "react": "^18.3.0",
+ "react-dom": "^18.3.0",
+ "react-error-boundary": "^4.0.13",
+ "swr": "^2.2.5"
+ },
+ "devDependencies": {
+ "@solana/wallet-standard-features": "^1.2.0",
+ "@types/react": "^18.3",
+ "@types/react-dom": "^18.3",
+ "@typescript-eslint/eslint-plugin": "^7.13.1",
+ "@typescript-eslint/parser": "^7.13.1",
+ "@vitejs/plugin-react-swc": "^3.7.0",
+ "eslint-plugin-react-refresh": "^0.4.7",
+ "vite": "^5.3.1"
+ }
+}
diff --git a/examples/react-app/public/solanaLogoMark.svg b/examples/react-app/public/solanaLogoMark.svg
new file mode 100644
index 000000000000..ed6f34d95f7e
--- /dev/null
+++ b/examples/react-app/public/solanaLogoMark.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/react-app/src/components/Balance.tsx b/examples/react-app/src/components/Balance.tsx
new file mode 100644
index 000000000000..6063357663ec
--- /dev/null
+++ b/examples/react-app/src/components/Balance.tsx
@@ -0,0 +1,50 @@
+import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import { Text, Tooltip } from '@radix-ui/themes';
+import { address } from '@solana/web3.js';
+import type { UiWalletAccount } from '@wallet-standard/react';
+import { useContext, useMemo } from 'react';
+import useSWRSubscription from 'swr/subscription';
+
+import { ChainContext } from '../context/ChainContext';
+import { RpcContext } from '../context/RpcContext';
+import { getErrorMessage } from '../errors';
+import { balanceSubscribe } from '../functions/balance';
+import { ErrorDialog } from './ErrorDialog';
+
+type Props = Readonly<{
+ account: UiWalletAccount;
+}>;
+
+export function Balance({ account }: Props) {
+ const { chain } = useContext(ChainContext);
+ const { rpc, rpcSubscriptions } = useContext(RpcContext);
+ const subscribe = useMemo(() => balanceSubscribe.bind(null, rpc, rpcSubscriptions), [rpc, rpcSubscriptions]);
+ const { data: lamports, error } = useSWRSubscription({ address: address(account.address), chain }, subscribe);
+ if (error) {
+ return (
+ <>
+
+
+
+
+
+
+ >
+ );
+ } else if (lamports == null) {
+ return – ;
+ } else {
+ const formattedSolValue = new Intl.NumberFormat(undefined, { maximumFractionDigits: 5 }).format(
+ // @ts-expect-error This format string is 100% allowed now.
+ `${lamports}E-9`,
+ );
+ return {`${formattedSolValue} \u25CE`} ;
+ }
+}
diff --git a/examples/react-app/src/components/BaseSignMessageFeaturePanel.tsx b/examples/react-app/src/components/BaseSignMessageFeaturePanel.tsx
new file mode 100644
index 000000000000..3c324c1a15d6
--- /dev/null
+++ b/examples/react-app/src/components/BaseSignMessageFeaturePanel.tsx
@@ -0,0 +1,102 @@
+import { Pencil1Icon } from '@radix-ui/react-icons';
+import { Blockquote, Box, Button, Code, DataList, Dialog, Flex, TextField } from '@radix-ui/themes';
+import { getBase64Decoder } from '@solana/web3.js';
+import type { ReadonlyUint8Array } from '@wallet-standard/core';
+import type { SyntheticEvent } from 'react';
+import { useRef, useState } from 'react';
+
+import { ErrorDialog } from '../components/ErrorDialog';
+
+type Props = Readonly<{
+ signMessage(message: ReadonlyUint8Array): Promise;
+}>;
+
+export function BaseSignMessageFeaturePanel({ signMessage }: Props) {
+ const { current: NO_ERROR } = useRef(Symbol());
+ const [isSigningMessage, setIsSigningMessage] = useState(false);
+ const [error, setError] = useState(NO_ERROR);
+ const [lastSignature, setLastSignature] = useState();
+ const [text, setText] = useState();
+ return (
+
+
+
+ );
+}
diff --git a/examples/react-app/src/components/ConnectWalletMenu.tsx b/examples/react-app/src/components/ConnectWalletMenu.tsx
new file mode 100644
index 000000000000..31d47ed22e18
--- /dev/null
+++ b/examples/react-app/src/components/ConnectWalletMenu.tsx
@@ -0,0 +1,101 @@
+import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import { Button, Callout, DropdownMenu } from '@radix-ui/themes';
+import { StandardConnect, StandardDisconnect } from '@wallet-standard/core';
+import type { UiWallet } from '@wallet-standard/react';
+import { uiWalletAccountBelongsToUiWallet, useWallets } from '@wallet-standard/react';
+import { useContext, useRef, useState, useTransition } from 'react';
+import { ErrorBoundary } from 'react-error-boundary';
+
+import { SelectedWalletAccountContext } from '../context/SelectedWalletAccountContext';
+import { ConnectWalletMenuItem } from './ConnectWalletMenuItem';
+import { ErrorDialog } from './ErrorDialog';
+import { UnconnectableWalletMenuItem } from './UnconnectableWalletMenuItem';
+import { WalletAccountIcon } from './WalletAccountIcon';
+
+type Props = Readonly<{
+ children: React.ReactNode;
+}>;
+
+export function ConnectWalletMenu({ children }: Props) {
+ const { current: NO_ERROR } = useRef(Symbol());
+ const wallets = useWallets();
+ const [selectedWalletAccount, setSelectedWalletAccount] = useContext(SelectedWalletAccountContext);
+ const [error, setError] = useState(NO_ERROR);
+ const [forceClose, setForceClose] = useState(false);
+ const [_isPending, startTransition] = useTransition();
+ function renderItem(wallet: UiWallet) {
+ return (
+ }
+ key={`wallet:${wallet.name}`}
+ >
+ {
+ startTransition(() => {
+ setSelectedWalletAccount(account);
+ setForceClose(true);
+ });
+ }}
+ onDisconnect={wallet => {
+ if (selectedWalletAccount && uiWalletAccountBelongsToUiWallet(selectedWalletAccount, wallet)) {
+ startTransition(() => {
+ setSelectedWalletAccount(undefined);
+ });
+ }
+ }}
+ onError={setError}
+ wallet={wallet}
+ />
+
+ );
+ }
+ const walletsThatSupportStandardConnect = [];
+ const unconnectableWallets = [];
+ for (const wallet of wallets) {
+ if (wallet.features.includes(StandardConnect) && wallet.features.includes(StandardDisconnect)) {
+ walletsThatSupportStandardConnect.push(wallet);
+ } else {
+ unconnectableWallets.push(wallet);
+ }
+ }
+ return (
+ <>
+
+
+
+ {selectedWalletAccount ? (
+ <>
+
+ {selectedWalletAccount.address.slice(0, 8)}
+ >
+ ) : (
+ children
+ )}
+
+
+
+
+ {wallets.length === 0 ? (
+
+
+
+
+ This browser has no wallets installed.
+
+ ) : (
+ <>
+ {walletsThatSupportStandardConnect.map(renderItem)}
+ {unconnectableWallets.length ? (
+ <>
+
+ {unconnectableWallets.map(renderItem)}
+ >
+ ) : null}
+ >
+ )}
+
+
+ {error !== NO_ERROR ? setError(NO_ERROR)} /> : null}
+ >
+ );
+}
diff --git a/examples/react-app/src/components/ConnectWalletMenuItem.tsx b/examples/react-app/src/components/ConnectWalletMenuItem.tsx
new file mode 100644
index 000000000000..b8837f1eac73
--- /dev/null
+++ b/examples/react-app/src/components/ConnectWalletMenuItem.tsx
@@ -0,0 +1,91 @@
+import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
+import { DropdownMenu, ThickChevronRightIcon } from '@radix-ui/themes';
+import type { UiWallet, UiWalletAccount } from '@wallet-standard/react';
+import { useConnect, useDisconnect } from '@wallet-standard/react';
+import { useCallback, useContext } from 'react';
+
+import { SelectedWalletAccountContext } from '../context/SelectedWalletAccountContext';
+import { WalletMenuItemContent } from './WalletMenuItemContent';
+
+type Props = Readonly<{
+ onAccountSelect(account: UiWalletAccount | undefined): void;
+ onDisconnect(wallet: UiWallet): void;
+ onError(err: unknown): void;
+ wallet: UiWallet;
+}>;
+
+export function ConnectWalletMenuItem({ onAccountSelect, onDisconnect, onError, wallet }: Props) {
+ const [isConnecting, connect] = useConnect(wallet);
+ const [isDisconnecting, disconnect] = useDisconnect(wallet);
+ const isPending = isConnecting || isDisconnecting;
+ const isConnected = wallet.accounts.length > 0;
+ const [selectedWalletAccount] = useContext(SelectedWalletAccountContext);
+ const handleClick = useCallback(async () => {
+ try {
+ if (isConnected) {
+ await disconnect();
+ onDisconnect(wallet);
+ } else {
+ const accounts = await connect();
+ if (accounts[0]) {
+ onAccountSelect(accounts[0]);
+ }
+ }
+ } catch (e) {
+ onError(e);
+ }
+ }, [connect, disconnect, isConnected, onAccountSelect, onDisconnect, onError, wallet]);
+ return (
+
+
+
+ {isConnected ? (
+
+
+
+ ) : null}
+
+
+ Accounts
+
+ {wallet.accounts.map(account => (
+ {
+ onAccountSelect(account);
+ }}
+ >
+ {account.address.slice(0, 8)}…
+
+ ))}
+
+
+ {
+ e.preventDefault();
+ try {
+ await disconnect();
+ onDisconnect(wallet);
+ } catch (e) {
+ onError(e);
+ }
+ }}
+ >
+ Disconnect
+
+
+
+ );
+}
diff --git a/examples/react-app/src/components/DisconnectButton.tsx b/examples/react-app/src/components/DisconnectButton.tsx
new file mode 100644
index 000000000000..b01b33d05ef4
--- /dev/null
+++ b/examples/react-app/src/components/DisconnectButton.tsx
@@ -0,0 +1,51 @@
+import { ExclamationTriangleIcon, ExitIcon } from '@radix-ui/react-icons';
+import { Button, Tooltip } from '@radix-ui/themes';
+import type { UiWallet } from '@wallet-standard/react';
+import { useDisconnect } from '@wallet-standard/react';
+import { useState } from 'react';
+
+import { NO_ERROR } from '../errors';
+
+type Props = Readonly<{
+ wallet: UiWallet;
+}>;
+
+export function DisconnectButton({
+ wallet,
+ ...buttonProps
+}: Omit, 'color' | 'loading' | 'onClick'> & Props) {
+ const [isDisconnecting, disconnect] = useDisconnect(wallet);
+ const [lastError, setLastError] = useState(NO_ERROR);
+ return (
+
+ Error:{' '}
+ {lastError && typeof lastError === 'object' && 'message' in lastError
+ ? lastError.message
+ : String(lastError)}
+ >
+ }
+ open={lastError !== NO_ERROR}
+ side="left"
+ >
+ {
+ setLastError(NO_ERROR);
+ try {
+ await disconnect();
+ } catch (e) {
+ setLastError(e);
+ }
+ }}
+ variant="outline"
+ >
+ {lastError === NO_ERROR ? : }
+ Disconnect
+
+
+ );
+}
diff --git a/examples/react-app/src/components/ErrorDialog.tsx b/examples/react-app/src/components/ErrorDialog.tsx
new file mode 100644
index 000000000000..9fce582b8966
--- /dev/null
+++ b/examples/react-app/src/components/ErrorDialog.tsx
@@ -0,0 +1,38 @@
+import { AlertDialog, Blockquote, Button, Flex } from '@radix-ui/themes';
+import { useState } from 'react';
+
+import { getErrorMessage } from '../errors';
+
+type Props = Readonly<{
+ error: unknown;
+ onClose?(): false | void;
+ title?: string;
+}>;
+
+export function ErrorDialog({ error, onClose, title }: Props) {
+ const [isOpen, setIsOpen] = useState(true);
+ return (
+ {
+ if (!open) {
+ if (!onClose || onClose() !== false) {
+ setIsOpen(false);
+ }
+ }
+ }}
+ >
+
+ {title ?? 'We encountered the following error'}
+
+ {getErrorMessage(error, 'Unknown')}
+
+
+
+ Close
+
+
+
+
+ );
+}
diff --git a/examples/react-app/src/components/FeatureNotSupportedCallout.tsx b/examples/react-app/src/components/FeatureNotSupportedCallout.tsx
new file mode 100644
index 000000000000..2a4bda067737
--- /dev/null
+++ b/examples/react-app/src/components/FeatureNotSupportedCallout.tsx
@@ -0,0 +1,23 @@
+import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import { Callout } from '@radix-ui/themes';
+import React from 'react';
+import type { FallbackProps } from 'react-error-boundary';
+
+import { getErrorMessage } from '../errors';
+
+interface Props extends Callout.RootProps, FallbackProps {}
+
+export function FeatureNotSupportedCallout({
+ error,
+ resetErrorBoundary: _,
+ ...rootProps
+}: Props): React.ReactElement {
+ return (
+
+
+
+
+ {getErrorMessage(error, 'This account does not support this feature')}
+
+ );
+}
diff --git a/examples/react-app/src/components/FeaturePanel.tsx b/examples/react-app/src/components/FeaturePanel.tsx
new file mode 100644
index 000000000000..9ccacc4ae950
--- /dev/null
+++ b/examples/react-app/src/components/FeaturePanel.tsx
@@ -0,0 +1,16 @@
+import { DataList } from '@radix-ui/themes';
+import React from 'react';
+
+type Props = Readonly<{
+ children: React.ReactNode;
+ label: React.ReactNode;
+}>;
+
+export function FeaturePanel({ children, label }: Props) {
+ return (
+
+ {label}
+ {children}
+
+ );
+}
diff --git a/examples/react-app/src/components/Nav.tsx b/examples/react-app/src/components/Nav.tsx
new file mode 100644
index 000000000000..268d5bc382d7
--- /dev/null
+++ b/examples/react-app/src/components/Nav.tsx
@@ -0,0 +1,59 @@
+import { Badge, Box, DropdownMenu, Flex, Heading, Spinner } from '@radix-ui/themes';
+import { useContext, useTransition } from 'react';
+
+import { ChainContext } from '../context/ChainContext';
+import { ConnectWalletMenu } from './ConnectWalletMenu';
+
+export function Nav() {
+ const { displayName: currentChainName, chain, setChain } = useContext(ChainContext);
+ const [isPending, startTransition] = useTransition();
+ const currentChainBadge = (
+
+ {currentChainName}
+
+ );
+ return (
+
+
+
+ Solana React App{' '}
+ {setChain ? (
+
+ {currentChainBadge}
+
+ {
+ startTransition(() => {
+ setChain(value as 'solana:${string}');
+ });
+ }}
+ value={chain}
+ >
+ {process.env.REACT_EXAMPLE_APP_ENABLE_MAINNET === 'true' ? (
+
+ Mainnet Beta
+
+ ) : null}
+ Devnet
+ Testnet
+
+
+
+ ) : (
+ currentChainBadge
+ )}
+
+ Connect Wallet
+
+
+ );
+}
diff --git a/examples/react-app/src/components/SolanaSignAndSendTransactionFeaturePanel.tsx b/examples/react-app/src/components/SolanaSignAndSendTransactionFeaturePanel.tsx
new file mode 100644
index 000000000000..8e208d4b4d7e
--- /dev/null
+++ b/examples/react-app/src/components/SolanaSignAndSendTransactionFeaturePanel.tsx
@@ -0,0 +1,211 @@
+import { Blockquote, Box, Button, Dialog, Flex, Link, Select, Text, TextField } from '@radix-ui/themes';
+import { useWalletAccountTransactionSendingSigner } from '@solana/react';
+import {
+ address,
+ appendTransactionMessageInstruction,
+ assertIsTransactionMessageWithSingleSendingSigner,
+ createTransactionMessage,
+ getBase58Decoder,
+ lamports,
+ pipe,
+ setTransactionMessageFeePayerSigner,
+ setTransactionMessageLifetimeUsingBlockhash,
+ signAndSendTransactionMessageWithSigners,
+} from '@solana/web3.js';
+import { getTransferSolInstruction } from '@solana-program/system';
+import { getUiWalletAccountStorageKey, type UiWalletAccount, useWallets } from '@wallet-standard/react';
+import type { SyntheticEvent } from 'react';
+import { useContext, useId, useMemo, useRef, useState } from 'react';
+import { useSWRConfig } from 'swr';
+
+import { ChainContext } from '../context/ChainContext';
+import { RpcContext } from '../context/RpcContext';
+import { ErrorDialog } from './ErrorDialog';
+import { WalletMenuItemContent } from './WalletMenuItemContent';
+
+type Props = Readonly<{
+ account: UiWalletAccount;
+}>;
+
+function solStringToLamports(solQuantityString: string) {
+ if (Number.isNaN(parseFloat(solQuantityString))) {
+ throw new Error('Could not parse token quantity: ' + String(solQuantityString));
+ }
+ const numDecimals = BigInt(solQuantityString.split('.')[1]?.length ?? 0);
+ const bigIntLamports = BigInt(solQuantityString.replace('.', '')) * 10n ** (9n - numDecimals);
+ return lamports(bigIntLamports);
+}
+
+export function SolanaSignAndSendTransactionFeaturePanel({ account }: Props) {
+ const { mutate } = useSWRConfig();
+ const { current: NO_ERROR } = useRef(Symbol());
+ const { rpc } = useContext(RpcContext);
+ const wallets = useWallets();
+ const [isSendingTransaction, setIsSendingTransaction] = useState(false);
+ const [error, setError] = useState(NO_ERROR);
+ const [lastSignature, setLastSignature] = useState();
+ const [solQuantityString, setSolQuantityString] = useState('');
+ const [recipientAccountStorageKey, setRecipientAccountStorageKey] = useState();
+ const recipientAccount = useMemo(() => {
+ if (recipientAccountStorageKey) {
+ for (const wallet of wallets) {
+ for (const account of wallet.accounts) {
+ if (getUiWalletAccountStorageKey(account) === recipientAccountStorageKey) {
+ return account;
+ }
+ }
+ }
+ }
+ }, [recipientAccountStorageKey, wallets]);
+ const { chain: currentChain, solanaExplorerClusterName } = useContext(ChainContext);
+ const transactionSendingSigner = useWalletAccountTransactionSendingSigner(account, currentChain);
+ const lamportsInputId = useId();
+ const recipientSelectId = useId();
+ return (
+
+
+
+ );
+}
diff --git a/examples/react-app/src/components/SolanaSignMessageFeaturePanel.tsx b/examples/react-app/src/components/SolanaSignMessageFeaturePanel.tsx
new file mode 100644
index 000000000000..f074f92aef60
--- /dev/null
+++ b/examples/react-app/src/components/SolanaSignMessageFeaturePanel.tsx
@@ -0,0 +1,32 @@
+import { useWalletAccountMessageSigner } from '@solana/react';
+import type { Address } from '@solana/web3.js';
+import type { ReadonlyUint8Array } from '@wallet-standard/core';
+import type { UiWalletAccount } from '@wallet-standard/react';
+import { useCallback } from 'react';
+
+import { BaseSignMessageFeaturePanel } from './BaseSignMessageFeaturePanel';
+
+type Props = Readonly<{
+ account: UiWalletAccount;
+}>;
+
+export function SolanaSignMessageFeaturePanel({ account }: Props) {
+ const messageSigner = useWalletAccountMessageSigner(account);
+ const signMessage = useCallback(
+ async (message: ReadonlyUint8Array) => {
+ const [result] = await messageSigner.modifyAndSignMessages([
+ {
+ content: message as Uint8Array,
+ signatures: {},
+ },
+ ]);
+ const signature = result?.signatures[account.address as Address];
+ if (!signature) {
+ throw new Error();
+ }
+ return signature as ReadonlyUint8Array;
+ },
+ [account.address, messageSigner],
+ );
+ return ;
+}
diff --git a/examples/react-app/src/components/UnconnectableWalletMenuItem.tsx b/examples/react-app/src/components/UnconnectableWalletMenuItem.tsx
new file mode 100644
index 000000000000..746ed24256c8
--- /dev/null
+++ b/examples/react-app/src/components/UnconnectableWalletMenuItem.tsx
@@ -0,0 +1,34 @@
+import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import { Box, DropdownMenu, Text } from '@radix-ui/themes';
+import type { UiWallet } from '@wallet-standard/react';
+import { useState } from 'react';
+
+import { ErrorDialog } from './ErrorDialog';
+import { WalletMenuItemContent } from './WalletMenuItemContent';
+
+type Props = Readonly<{
+ error: unknown;
+ wallet: UiWallet;
+}>;
+
+export function UnconnectableWalletMenuItem({ error, wallet }: Props) {
+ const [dialogIsOpen, setDialogIsOpen] = useState(false);
+ return (
+ <>
+ setDialogIsOpen(true)}>
+
+ {wallet.name}
+
+
+
+
+
+ {dialogIsOpen ? (
+ setDialogIsOpen(false)} title="Unconnectable wallet" />
+ ) : null}
+ >
+ );
+}
diff --git a/examples/react-app/src/components/WalletAccountIcon.tsx b/examples/react-app/src/components/WalletAccountIcon.tsx
new file mode 100644
index 000000000000..d3f8e6952d3c
--- /dev/null
+++ b/examples/react-app/src/components/WalletAccountIcon.tsx
@@ -0,0 +1,24 @@
+import type { UiWalletAccount } from '@wallet-standard/react';
+import { uiWalletAccountBelongsToUiWallet,useWallets } from '@wallet-standard/react';
+import React from 'react';
+
+type Props = React.ComponentProps<'img'> &
+ Readonly<{
+ account: UiWalletAccount;
+ }>;
+
+export function WalletAccountIcon({ account, ...imgProps }: Props) {
+ const wallets = useWallets();
+ let icon;
+ if (account.icon) {
+ icon = account.icon;
+ } else {
+ for (const wallet of wallets) {
+ if (uiWalletAccountBelongsToUiWallet(account, wallet)) {
+ icon = wallet.icon;
+ break;
+ }
+ }
+ }
+ return icon ? : null;
+}
diff --git a/examples/react-app/src/components/WalletMenuItemContent.tsx b/examples/react-app/src/components/WalletMenuItemContent.tsx
new file mode 100644
index 000000000000..3cb0d475d5e9
--- /dev/null
+++ b/examples/react-app/src/components/WalletMenuItemContent.tsx
@@ -0,0 +1,25 @@
+import { Avatar, Flex, Spinner, Text } from '@radix-ui/themes';
+import type { UiWallet } from '@wallet-standard/react';
+import React from 'react';
+
+type Props = Readonly<{
+ children?: React.ReactNode;
+ loading?: boolean;
+ wallet: UiWallet;
+}>;
+
+export function WalletMenuItemContent({ children, loading, wallet }: Props) {
+ return (
+
+
+ {wallet.name.slice(0, 1)}}
+ radius="none"
+ src={wallet.icon}
+ style={{ height: 18, width: 18 }}
+ />
+
+ {children ?? wallet.name}
+
+ );
+}
diff --git a/examples/react-app/src/context/ChainContext.tsx b/examples/react-app/src/context/ChainContext.tsx
new file mode 100644
index 000000000000..ddb1ba9cbdd4
--- /dev/null
+++ b/examples/react-app/src/context/ChainContext.tsx
@@ -0,0 +1,77 @@
+import type { ClusterUrl } from '@solana/web3.js';
+import { devnet, mainnet, testnet } from '@solana/web3.js';
+import React, { createContext, useMemo, useState } from 'react';
+
+import { localStorage } from '../storage';
+
+const STORAGE_KEY = 'solana-example-react-app:selected-chain';
+
+type Context = Readonly<{
+ chain: `solana:${string}`;
+ displayName: string;
+ setChain?(chain: 'solana:${string}'): void;
+ solanaExplorerClusterName: 'devnet' | 'mainnet-beta' | 'testnet';
+ solanaRpcSubscriptionsUrl: ClusterUrl;
+ solanaRpcUrl: ClusterUrl;
+}>;
+
+const DEFAULT_CHAIN_CONFIG = Object.freeze({
+ chain: 'solana:devnet',
+ displayName: 'Devnet',
+ solanaExplorerClusterName: 'devnet',
+ solanaRpcSubscriptionsUrl: devnet('wss://api.devnet.solana.com'),
+ solanaRpcUrl: devnet('https://api.devnet.solana.com'),
+});
+
+export const ChainContext = createContext(DEFAULT_CHAIN_CONFIG);
+
+export function ChainContextProvider({ children }: { children: React.ReactNode }) {
+ const [chain, setChain] = useState(() => localStorage.getItem(STORAGE_KEY) ?? 'solana:devnet');
+ const contextValue = useMemo(() => {
+ switch (chain) {
+ // @ts-expect-error Intentional fall through
+ case 'solana:mainnet':
+ if (process.env.REACT_EXAMPLE_APP_ENABLE_MAINNET === 'true') {
+ return {
+ chain: 'solana:mainnet',
+ displayName: 'Mainnet Beta',
+ solanaExplorerClusterName: 'mainnet-beta',
+ solanaRpcSubscriptionsUrl: mainnet('wss://api.mainnet-beta.solana.com'),
+ solanaRpcUrl: mainnet('https://api.mainnet-beta.solana.com'),
+ };
+ }
+ // falls through
+ case 'solana:testnet':
+ return {
+ chain: 'solana:testnet',
+ displayName: 'Testnet',
+ solanaExplorerClusterName: 'testnet',
+ solanaRpcSubscriptionsUrl: testnet('wss://api.testnet.solana.com'),
+ solanaRpcUrl: testnet('https://api.testnet.solana.com'),
+ };
+ case 'solana:devnet':
+ default:
+ if (chain !== 'solana:devnet') {
+ localStorage.removeItem(STORAGE_KEY);
+ console.error(`Unrecognized chain \`${chain}\``);
+ }
+ return DEFAULT_CHAIN_CONFIG;
+ }
+ }, [chain]);
+ return (
+ ({
+ ...contextValue,
+ setChain(chain) {
+ localStorage.setItem(STORAGE_KEY, chain);
+ setChain(chain);
+ },
+ }),
+ [contextValue],
+ )}
+ >
+ {children}
+
+ );
+}
diff --git a/examples/react-app/src/context/RpcContext.tsx b/examples/react-app/src/context/RpcContext.tsx
new file mode 100644
index 000000000000..dec8c44b9dbd
--- /dev/null
+++ b/examples/react-app/src/context/RpcContext.tsx
@@ -0,0 +1,35 @@
+import type { Rpc, RpcSubscriptions, SolanaRpcApiMainnet, SolanaRpcSubscriptionsApi } from '@solana/web3.js';
+import { createSolanaRpc, createSolanaRpcSubscriptions, devnet } from '@solana/web3.js';
+import type { ReactNode } from 'react';
+import { createContext, useContext, useMemo } from 'react';
+
+import { ChainContext } from './ChainContext';
+
+export const RpcContext = createContext<{
+ rpc: Rpc; // Limit the API to only those methods found on Mainnet (ie. not `requestAirdrop`)
+ rpcSubscriptions: RpcSubscriptions;
+}>({
+ rpc: createSolanaRpc(devnet('https://api.devnet.solana.com')),
+ rpcSubscriptions: createSolanaRpcSubscriptions(devnet('wss://api.devnet.solana.com')),
+});
+
+type Props = Readonly<{
+ children: ReactNode;
+}>;
+
+export function RpcContextProvider({ children }: Props) {
+ const { solanaRpcSubscriptionsUrl, solanaRpcUrl } = useContext(ChainContext);
+ return (
+ ({
+ rpc: createSolanaRpc(solanaRpcUrl),
+ rpcSubscriptions: createSolanaRpcSubscriptions(solanaRpcSubscriptionsUrl),
+ }),
+ [solanaRpcSubscriptionsUrl, solanaRpcUrl],
+ )}
+ >
+ {children}
+
+ );
+}
diff --git a/examples/react-app/src/context/SelectedWalletAccountContext.tsx b/examples/react-app/src/context/SelectedWalletAccountContext.tsx
new file mode 100644
index 000000000000..de021271ecfb
--- /dev/null
+++ b/examples/react-app/src/context/SelectedWalletAccountContext.tsx
@@ -0,0 +1,111 @@
+import type { UiWallet, UiWalletAccount } from '@wallet-standard/react';
+import {
+ getUiWalletAccountStorageKey,
+ uiWalletAccountBelongsToUiWallet,
+ uiWalletAccountsAreSame,
+ useWallets,
+} from '@wallet-standard/react';
+import { createContext, useEffect, useMemo, useState } from 'react';
+
+import { localStorage } from '../storage';
+
+type State = UiWalletAccount | undefined;
+
+const STORAGE_KEY = 'solana-wallet-standard-example-react:selected-wallet-and-address';
+
+export const SelectedWalletAccountContext = createContext<
+ readonly [selectedWalletAccount: State, setSelectedWalletAccount: React.Dispatch>]
+>([
+ undefined /* selectedWalletAccount */,
+ function setSelectedWalletAccount() {
+ /* empty */
+ },
+]);
+
+let wasSetterInvoked = false;
+function getSavedWalletAccount(wallets: readonly UiWallet[]): UiWalletAccount | undefined {
+ if (wasSetterInvoked) {
+ // After the user makes an explicit choice of wallet, stop trying to auto-select the
+ // saved wallet, if and when it appears.
+ return;
+ }
+ const savedWalletNameAndAddress = localStorage.getItem(STORAGE_KEY);
+ if (!savedWalletNameAndAddress || typeof savedWalletNameAndAddress !== 'string') {
+ return;
+ }
+ const [savedWalletName, savedAccountAddress] = savedWalletNameAndAddress.split(':');
+ if (!savedWalletName || !savedAccountAddress) {
+ return;
+ }
+ for (const wallet of wallets) {
+ if (wallet.name === savedWalletName) {
+ for (const account of wallet.accounts) {
+ if (account.address === savedAccountAddress) {
+ return account;
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Saves the selected wallet account's storage key to the browser's local storage. In future
+ * sessions it will try to return that same wallet account, or at least one from the same brand of
+ * wallet if the wallet from which it came is still in the Wallet Standard registry.
+ */
+export function SelectedWalletAccountContextProvider({ children }: { children: React.ReactNode }) {
+ const wallets = useWallets();
+ const [selectedWalletAccount, setSelectedWalletAccountInternal] = useState(() =>
+ getSavedWalletAccount(wallets),
+ );
+ const setSelectedWalletAccount: React.Dispatch> = setStateAction => {
+ setSelectedWalletAccountInternal(prevSelectedWalletAccount => {
+ wasSetterInvoked = true;
+ const nextWalletAccount =
+ typeof setStateAction === 'function' ? setStateAction(prevSelectedWalletAccount) : setStateAction;
+ const accountKey = nextWalletAccount ? getUiWalletAccountStorageKey(nextWalletAccount) : undefined;
+ if (accountKey) {
+ localStorage.setItem(STORAGE_KEY, accountKey);
+ } else {
+ localStorage.removeItem(STORAGE_KEY);
+ }
+ return nextWalletAccount;
+ });
+ };
+ useEffect(() => {
+ const savedWalletAccount = getSavedWalletAccount(wallets);
+ if (savedWalletAccount) {
+ setSelectedWalletAccountInternal(savedWalletAccount);
+ }
+ }, [wallets]);
+ const walletAccount = useMemo(() => {
+ if (selectedWalletAccount) {
+ for (const uiWallet of wallets) {
+ for (const uiWalletAccount of uiWallet.accounts) {
+ if (uiWalletAccountsAreSame(selectedWalletAccount, uiWalletAccount)) {
+ return uiWalletAccount;
+ }
+ }
+ if (uiWalletAccountBelongsToUiWallet(selectedWalletAccount, uiWallet) && uiWallet.accounts[0]) {
+ // If the selected account belongs to this connected wallet, at least, then
+ // select one of its accounts.
+ return uiWallet.accounts[0];
+ }
+ }
+ }
+ }, [selectedWalletAccount, wallets]);
+ useEffect(() => {
+ // If there is a selected wallet account but the wallet to which it belongs has since
+ // disconnected, clear the selected wallet.
+ if (selectedWalletAccount && !walletAccount) {
+ setSelectedWalletAccountInternal(undefined);
+ }
+ }, [selectedWalletAccount, walletAccount]);
+ return (
+ [walletAccount, setSelectedWalletAccount], [walletAccount])}
+ >
+ {children}
+
+ );
+}
diff --git a/examples/react-app/src/errors.tsx b/examples/react-app/src/errors.tsx
new file mode 100644
index 000000000000..fe2d6e059577
--- /dev/null
+++ b/examples/react-app/src/errors.tsx
@@ -0,0 +1,66 @@
+import { Code, Flex, Text } from '@radix-ui/themes';
+import {
+ isWalletStandardError,
+ WALLET_STANDARD_ERROR__FEATURES__WALLET_ACCOUNT_CHAIN_UNSUPPORTED,
+ WALLET_STANDARD_ERROR__FEATURES__WALLET_ACCOUNT_FEATURE_UNIMPLEMENTED,
+ WALLET_STANDARD_ERROR__FEATURES__WALLET_FEATURE_UNIMPLEMENTED,
+} from '@wallet-standard/core';
+import React from 'react';
+
+export const NO_ERROR = Symbol();
+
+export function getErrorMessage(err: unknown, fallbackMessage: React.ReactNode): React.ReactNode {
+ if (isWalletStandardError(err, WALLET_STANDARD_ERROR__FEATURES__WALLET_ACCOUNT_FEATURE_UNIMPLEMENTED)) {
+ return (
+ <>
+ This account does not support the {err.context.featureName}
feature
+ >
+ );
+ } else if (isWalletStandardError(err, WALLET_STANDARD_ERROR__FEATURES__WALLET_FEATURE_UNIMPLEMENTED)) {
+ return (
+
+
+ The wallet '{err.context.walletName}' (
+ {err.context.supportedChains.sort().map((chain, ii, { length }) => (
+
+ {chain}
+ {ii === length - 1 ? null : ', '}
+
+ ))}
+ ) does not support the {err.context.featureName}
feature.
+
+
+ Features supported:
+
+ {err.context.supportedFeatures.sort().map(featureName => (
+
+ {featureName}
+
+ ))}
+
+
+
+ );
+ } else if (isWalletStandardError(err, WALLET_STANDARD_ERROR__FEATURES__WALLET_ACCOUNT_CHAIN_UNSUPPORTED)) {
+ return (
+
+
+ This account does not support the chain {err.context.chain}
.
+
+
+ Chains supported:
+
+ {err.context.supportedChains.sort().map(chain => (
+
+ {chain}
+
+ ))}
+
+
+
+ );
+ } else if (err && typeof err === 'object' && 'message' in err) {
+ return String(err.message);
+ }
+ return fallbackMessage;
+}
diff --git a/examples/react-app/src/functions/balance.ts b/examples/react-app/src/functions/balance.ts
new file mode 100644
index 000000000000..cc7ffe6c44c5
--- /dev/null
+++ b/examples/react-app/src/functions/balance.ts
@@ -0,0 +1,80 @@
+import {
+ AccountNotificationsApi,
+ Address,
+ GetBalanceApi,
+ LamportsUnsafeBeyond2Pow53Minus1,
+ Rpc,
+ RpcSubscriptions,
+} from '@solana/web3.js';
+import { SWRSubscription } from 'swr/subscription';
+
+const EXPLICIT_ABORT_TOKEN = Symbol();
+
+/**
+ * This is an example of a strategy to fetch some account data and to keep it up to date over time.
+ * It's implemented as an SWR subscription function (https://swr.vercel.app/docs/subscription) but
+ * the approach is generalizable.
+ *
+ * 1. Fetch the current account state and publish it to the consumer
+ * 2. Subscribe to account data notifications and publish them to the consumer
+ *
+ * At all points in time, check that the update you received -- no matter from where -- is from a
+ * higher slot (ie. is newer) than the last one you published to the consumer.
+ */
+export function balanceSubscribe(
+ rpc: Rpc,
+ rpcSubscriptions: RpcSubscriptions,
+ ...subscriptionArgs: Parameters>
+) {
+ const [{ address }, { next }] = subscriptionArgs;
+ const abortController = new AbortController();
+ // Keep track of the slot of the last-published update.
+ let lastUpdateSlot = -1n;
+ // Fetch the current balance of this account.
+ rpc.getBalance(address, { commitment: 'confirmed' })
+ .send({ abortSignal: abortController.signal })
+ .then(({ context: { slot }, value: lamports }) => {
+ if (slot < lastUpdateSlot) {
+ // The last-published update (ie. from the subscription) is newer than this one.
+ return;
+ }
+ lastUpdateSlot = slot;
+ next(null /* err */, lamports /* data */);
+ })
+ .catch(e => {
+ if (e !== EXPLICIT_ABORT_TOKEN) {
+ next(e /* err */);
+ }
+ });
+ // Subscribe for updates to that balance.
+ rpcSubscriptions
+ .accountNotifications(address)
+ .subscribe({ abortSignal: abortController.signal })
+ .then(async accountInfoNotifications => {
+ try {
+ for await (const {
+ context: { slot },
+ value: { lamports },
+ } of accountInfoNotifications) {
+ if (slot < lastUpdateSlot) {
+ // The last-published update (ie. from the initial fetch) is newer than this
+ // one.
+ continue;
+ }
+ lastUpdateSlot = slot;
+ next(null /* err */, lamports /* data */);
+ }
+ } catch (e) {
+ next(e /* err */);
+ }
+ })
+ .catch(e => {
+ if (e !== EXPLICIT_ABORT_TOKEN) {
+ next(e /* err */);
+ }
+ });
+ // Return a cleanup callback that aborts the RPC call/subscription.
+ return () => {
+ abortController.abort(EXPLICIT_ABORT_TOKEN);
+ };
+}
diff --git a/examples/react-app/src/hooks/useStable.ts b/examples/react-app/src/hooks/useStable.ts
new file mode 100644
index 000000000000..9b905e0f57a5
--- /dev/null
+++ b/examples/react-app/src/hooks/useStable.ts
@@ -0,0 +1,11 @@
+import { useRef } from 'react';
+
+const UNRESOLVED = Symbol();
+
+export function useStable(getValue: () => T): T {
+ const ref = useRef(UNRESOLVED);
+ if (ref.current === UNRESOLVED) {
+ ref.current = getValue();
+ }
+ return ref.current;
+}
diff --git a/examples/react-app/src/index.css b/examples/react-app/src/index.css
new file mode 100644
index 000000000000..7d94e52fafeb
--- /dev/null
+++ b/examples/react-app/src/index.css
@@ -0,0 +1 @@
+@import './reset.css';
diff --git a/examples/react-app/src/main.tsx b/examples/react-app/src/main.tsx
new file mode 100644
index 000000000000..f160bad144f7
--- /dev/null
+++ b/examples/react-app/src/main.tsx
@@ -0,0 +1,33 @@
+import './index.css';
+import '@radix-ui/themes/styles.css';
+
+import { Flex, Section, Theme } from '@radix-ui/themes';
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import { Nav } from './components/Nav.tsx';
+import { ChainContextProvider } from './context/ChainContext.tsx';
+import { RpcContextProvider } from './context/RpcContext.tsx';
+import { SelectedWalletAccountContextProvider } from './context/SelectedWalletAccountContext.tsx';
+import Root from './routes/root.tsx';
+
+const rootNode = document.getElementById('root')!;
+const root = createRoot(rootNode);
+root.render(
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+);
diff --git a/examples/react-app/src/reset.css b/examples/react-app/src/reset.css
new file mode 100644
index 000000000000..60d4fb4fd456
--- /dev/null
+++ b/examples/react-app/src/reset.css
@@ -0,0 +1,74 @@
+/* Box sizing rules */
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+/* Remove default margin */
+body,
+h1,
+h2,
+h3,
+h4,
+p,
+figure,
+blockquote,
+dl,
+dd {
+ margin: 0;
+}
+
+/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
+ul[role='list'],
+ol[role='list'] {
+ list-style: none;
+}
+
+/* Set core root defaults */
+html:focus-within {
+ scroll-behavior: smooth;
+}
+
+/* Set core body defaults */
+body {
+ min-height: 100vh;
+ text-rendering: optimizeSpeed;
+ line-height: 1.5;
+}
+
+/* A elements that don't have a class get default styles */
+a:not([class]) {
+ text-decoration-skip-ink: auto;
+}
+
+/* Make images easier to work with */
+img,
+picture {
+ max-width: 100%;
+ display: block;
+}
+
+/* Inherit fonts for inputs and buttons */
+input,
+button,
+textarea,
+select {
+ font: inherit;
+}
+
+/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
+@media (prefers-reduced-motion: reduce) {
+ html:focus-within {
+ scroll-behavior: auto;
+ }
+
+ *,
+ *::before,
+ *::after {
+ animation-duration: 0.01ms !important;
+ animation-iteration-count: 1 !important;
+ transition-duration: 0.01ms !important;
+ scroll-behavior: auto !important;
+ }
+}
diff --git a/examples/react-app/src/routes/root.tsx b/examples/react-app/src/routes/root.tsx
new file mode 100644
index 000000000000..ade14ea4cf26
--- /dev/null
+++ b/examples/react-app/src/routes/root.tsx
@@ -0,0 +1,73 @@
+import { Box, Code, Container, DataList, Flex, Heading, Spinner, Text } from '@radix-ui/themes';
+import { Suspense, useContext } from 'react';
+import { ErrorBoundary } from 'react-error-boundary';
+
+import { Balance } from '../components/Balance';
+import { FeatureNotSupportedCallout } from '../components/FeatureNotSupportedCallout';
+import { FeaturePanel } from '../components/FeaturePanel';
+import { SolanaSignAndSendTransactionFeaturePanel } from '../components/SolanaSignAndSendTransactionFeaturePanel';
+import { SolanaSignMessageFeaturePanel } from '../components/SolanaSignMessageFeaturePanel';
+import { WalletAccountIcon } from '../components/WalletAccountIcon';
+import { ChainContext } from '../context/ChainContext';
+import { SelectedWalletAccountContext } from '../context/SelectedWalletAccountContext';
+
+function Root() {
+ const { chain } = useContext(ChainContext);
+ const [selectedWalletAccount] = useContext(SelectedWalletAccountContext);
+ return (
+
+ {selectedWalletAccount ? (
+
+
+
+
+
+
+ {selectedWalletAccount.label ?? 'Unlabeled Account'}
+
+
+ {selectedWalletAccount.address}
+
+
+
+
+
+ Balance
+
+ –}
+ key={`${selectedWalletAccount.address}:${chain}`}
+ >
+
+
+
+ }
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ) : (
+ Click “Connect Wallet” to get started.
+ )}
+
+ );
+}
+
+export default Root;
diff --git a/examples/react-app/src/storage.ts b/examples/react-app/src/storage.ts
new file mode 100644
index 000000000000..c5a5262e0474
--- /dev/null
+++ b/examples/react-app/src/storage.ts
@@ -0,0 +1,41 @@
+let storage: Storage | undefined;
+try {
+ if (typeof window !== 'undefined' && window.localStorage) {
+ storage = window.localStorage;
+ }
+} catch {
+ /* empty */
+}
+
+function guard(
+ fn: (...args: TArgs) => TReturn,
+ fallbackReturn: TFallbackReturn,
+): (...args: TArgs) => TFallbackReturn | TReturn;
+function guard(
+ fn: (...args: TArgs) => TReturn,
+): (...args: TArgs) => TReturn | undefined;
+function guard(
+ fn: (...args: TArgs) => TReturn,
+ fallbackReturn?: TFallbackReturn,
+): (...args: TArgs) => TFallbackReturn | TReturn | undefined {
+ return (...args) => {
+ try {
+ return fn(...args);
+ } catch (e) {
+ console.error(e);
+ return fallbackReturn;
+ }
+ };
+}
+
+export const localStorage: Pick = {
+ getItem: guard(k => {
+ return storage?.getItem(k) ?? null;
+ }, null),
+ removeItem: guard(k => {
+ storage?.removeItem(k);
+ }),
+ setItem: guard((k, v) => {
+ storage?.setItem(k, v);
+ }),
+};
diff --git a/examples/react-app/src/vite-env.d.ts b/examples/react-app/src/vite-env.d.ts
new file mode 100644
index 000000000000..11f02fe2a006
--- /dev/null
+++ b/examples/react-app/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/react-app/tsconfig.app.json b/examples/react-app/tsconfig.app.json
new file mode 100644
index 000000000000..04df3229462a
--- /dev/null
+++ b/examples/react-app/tsconfig.app.json
@@ -0,0 +1,27 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"]
+}
diff --git a/examples/react-app/tsconfig.json b/examples/react-app/tsconfig.json
new file mode 100644
index 000000000000..41ccf0f7bd0b
--- /dev/null
+++ b/examples/react-app/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "files": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ]
+}
diff --git a/examples/react-app/tsconfig.node.json b/examples/react-app/tsconfig.node.json
new file mode 100644
index 000000000000..9277af59135a
--- /dev/null
+++ b/examples/react-app/tsconfig.node.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "noEmit": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/examples/react-app/vite.config.ts b/examples/react-app/vite.config.ts
new file mode 100644
index 000000000000..f2446b568a81
--- /dev/null
+++ b/examples/react-app/vite.config.ts
@@ -0,0 +1,20 @@
+import react from '@vitejs/plugin-react-swc';
+import { defineConfig, Plugin } from 'vite';
+
+function replaceProcessEnv(mode: string): Plugin {
+ const nodeEnvRegex = /process(\.env(\.NODE_ENV)|\["env"\]\.NODE_ENV)/g;
+ return {
+ name: 'replace-process-env',
+ renderChunk(code) {
+ return code.replace(nodeEnvRegex, JSON.stringify(mode));
+ },
+ };
+}
+
+// https://vitejs.dev/config/
+export default defineConfig(({ mode }) => ({
+ define: {
+ 'process.env': process.env,
+ },
+ plugins: [react(), replaceProcessEnv(mode)],
+}));
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 862d31a81261..eafb1b364703 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -31,7 +31,7 @@ importers:
version: link:packages/build-scripts
'@solana/eslint-config-solana':
specifier: ^3.0.3
- version: 3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
+ version: 3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
'@solana/prettier-config-solana':
specifier: 0.0.5
version: 0.0.5(prettier@3.3.2)
@@ -46,7 +46,7 @@ importers:
version: link:packages/tsconfig
'@swc/jest':
specifier: ^0.2.36
- version: 0.2.36(@swc/core@1.3.93(@swc/helpers@0.5.11))
+ version: 0.2.36(@swc/core@1.6.5(@swc/helpers@0.5.11))
'@types/jest':
specifier: ^29.5.12
version: 29.5.12
@@ -70,7 +70,7 @@ importers:
version: 2.0.4(eslint@8.57.0)
eslint-plugin-jest:
specifier: ^27.9.0
- version: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2)
+ version: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2)
eslint-plugin-react-hooks:
specifier: ^4.6.2
version: 4.6.2(eslint@8.57.0)
@@ -85,34 +85,34 @@ importers:
version: 3.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
jest:
specifier: ^30.0.0-alpha.5
- version: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ version: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-environment-jsdom:
specifier: ^30.0.0-alpha.5
version: 30.0.0-alpha.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)
jest-runner-eslint:
specifier: ^2.2.0
- version: 2.2.0(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
+ version: 2.2.0(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
jest-runner-prettier:
specifier: ^1.0.0
- version: 1.0.0(patch_hash=wxyu3ekhzy6qhvwrai2xltdhn4)(bufferutil@4.0.8)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(prettier@3.3.2)(utf-8-validate@5.0.10)
+ version: 1.0.0(patch_hash=wxyu3ekhzy6qhvwrai2xltdhn4)(bufferutil@4.0.8)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(prettier@3.3.2)(utf-8-validate@5.0.10)
jest-watch-master:
specifier: ^1.0.0
- version: 1.0.0(jest-validate@30.0.0-alpha.5)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
+ version: 1.0.0(jest-validate@30.0.0-alpha.5)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
jest-watch-select-projects:
specifier: ^2.0.0
version: 2.0.0
jest-watch-typeahead:
specifier: ^2.2.2
- version: 2.2.2(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
+ version: 2.2.2(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))
prettier:
specifier: ^3.3
version: 3.3.2
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
+ version: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
tsup:
specifier: ^8.1.0
- version: 8.1.0(@swc/core@1.3.93(@swc/helpers@0.5.11))(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))(typescript@5.5.2)
+ version: 8.1.0(@swc/core@1.6.5(@swc/helpers@0.5.11))(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))(typescript@5.5.2)
turbo:
specifier: ^2.0.5
version: 2.0.5
@@ -120,6 +120,70 @@ importers:
specifier: ^5.5.2
version: 5.5.2
+ examples/react-app:
+ dependencies:
+ '@radix-ui/react-dropdown-menu':
+ specifier: ^2.0.6
+ version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-icons':
+ specifier: ^1.3.0
+ version: 1.3.0(react@18.3.1)
+ '@radix-ui/themes':
+ specifier: ^3.0.5
+ version: 3.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@solana-program/system':
+ specifier: ^0.3.2
+ version: 0.3.2(@solana/web3.js@packages+library)
+ '@solana/react':
+ specifier: workspace:*
+ version: link:../../packages/react
+ '@solana/web3.js':
+ specifier: workspace:@solana/web3.js-experimental@*
+ version: link:../../packages/library
+ '@wallet-standard/core':
+ specifier: pre
+ version: 0.0.0-20240607222957
+ '@wallet-standard/react':
+ specifier: pre
+ version: 0.0.0-20240607222957(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react:
+ specifier: ^18.3.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.0
+ version: 18.3.1(react@18.3.1)
+ react-error-boundary:
+ specifier: ^4.0.13
+ version: 4.0.13(react@18.3.1)
+ swr:
+ specifier: ^2.2.5
+ version: 2.2.5(react@18.3.1)
+ devDependencies:
+ '@solana/wallet-standard-features':
+ specifier: ^1.2.0
+ version: 1.2.0
+ '@types/react':
+ specifier: ^18.3
+ version: 18.3.3
+ '@types/react-dom':
+ specifier: ^18.3
+ version: 18.3.0
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^7.13.1
+ version: 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
+ '@typescript-eslint/parser':
+ specifier: ^7.13.1
+ version: 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+ '@vitejs/plugin-react-swc':
+ specifier: ^3.7.0
+ version: 3.7.0(@swc/helpers@0.5.11)(vite@5.3.1(@types/node@20.12.12)(terser@5.18.0))
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.7
+ version: 0.4.7(eslint@8.57.0)
+ vite:
+ specifier: ^5.3.1
+ version: 5.3.1(@types/node@20.12.12)(terser@5.18.0)
+
packages/accounts:
dependencies:
'@solana/addresses':
@@ -2190,6 +2254,10 @@ packages:
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ '@eslint-community/regexpp@4.10.1':
+ resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
'@eslint-community/regexpp@4.9.1':
resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -2202,6 +2270,21 @@ packages:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@floating-ui/core@1.6.3':
+ resolution: {integrity: sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==}
+
+ '@floating-ui/dom@1.6.6':
+ resolution: {integrity: sha512-qiTYajAnh3P+38kECeffMSQgbvXty2VB6rS+42iWR4FPIlZjLK84E9qtLnMTLIpPz2znD/TaFqaiavMUrS+Hcw==}
+
+ '@floating-ui/react-dom@2.1.1':
+ resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.3':
+ resolution: {integrity: sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww==}
+
'@graphql-tools/merge@8.3.1':
resolution: {integrity: sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==}
peerDependencies:
@@ -2548,191 +2631,780 @@ packages:
resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==}
engines: {node: '>=12'}
- '@rollup/plugin-alias@5.1.0':
- resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/colors@3.0.0':
+ resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==}
+
+ '@radix-ui/number@1.1.0':
+ resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
+
+ '@radix-ui/primitive@1.1.0':
+ resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==}
+
+ '@radix-ui/react-accessible-icon@1.1.0':
+ resolution: {integrity: sha512-i9Zg4NOSXlfUva0agzI2DjWrvFJm9uO4L6CMW7nmMa5CIOOX/Yin894W7WwjodFQWPwe5kmAJ4JF33R8slKI2g==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-babel@6.0.4':
- resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-alert-dialog@1.1.1':
+ resolution: {integrity: sha512-wmCoJwj7byuVuiLKqDLlX7ClSUU0vd9sdCeM+2Ls+uf13+cpSJoMgwysHq1SGVVkJj5Xn0XWi1NoRCdkMpr6Mw==}
peerDependencies:
- '@babel/core': ^7.0.0
- '@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- '@types/babel__core':
+ '@types/react':
optional: true
- rollup:
+ '@types/react-dom':
optional: true
- '@rollup/plugin-commonjs@26.0.1':
- resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==}
- engines: {node: '>=16.0.0 || 14 >= 14.17'}
+ '@radix-ui/react-arrow@1.1.0':
+ resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==}
peerDependencies:
- rollup: ^2.68.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-json@6.1.0':
- resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-aspect-ratio@1.1.0':
+ resolution: {integrity: sha512-dP87DM/Y7jFlPgUZTlhx6FF5CEzOiaxp2rBCKlaXlpH5Ip/9Fg5zZ9lDOQ5o/MOfUlf36eak14zoWYpgcgGoOg==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-node-resolve@15.2.3':
- resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-avatar@1.1.0':
+ resolution: {integrity: sha512-Q/PbuSMk/vyAd/UoIShVGZ7StHHeRFYU7wXmi5GV+8cLXflZAEpHL/F697H1klrzxKXNtZ97vWiC0q3RKUH8UA==}
peerDependencies:
- rollup: ^2.78.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-replace@5.0.7':
- resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-checkbox@1.1.0':
+ resolution: {integrity: sha512-3+kSzVfMONtP3B6CvaOrXLVTyGYws7tGmG5kOY0AfyH9sexkLytIwciNwjZhY0RoGOEbxI7bMS21XYB8H5itWQ==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-terser@0.4.4':
- resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-collection@1.1.0':
+ resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==}
peerDependencies:
- rollup: ^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/plugin-virtual@3.0.1':
- resolution: {integrity: sha512-fK8O0IL5+q+GrsMLuACVNk2x21g3yaw+sG2qn16SnUd3IlBsQyvWxLMGHmCmXRMecPjGRSZ/1LmZB4rjQm68og==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-compose-refs@1.1.0':
+ resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
optional: true
- '@rollup/pluginutils@5.0.2':
- resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-context-menu@2.2.1':
+ resolution: {integrity: sha512-wvMKKIeb3eOrkJ96s722vcidZ+2ZNfcYZWBPRHIB1VWrF+fiF851Io6LX0kmK5wTDQFKdulCCKJk2c3SBaQHvA==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- '@rollup/pluginutils@5.1.0':
- resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
- engines: {node: '>=14.0.0'}
+ '@radix-ui/react-context@1.1.0':
+ resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- rollup:
+ '@types/react':
optional: true
- '@rollup/rollup-android-arm-eabi@4.18.0':
- resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
- cpu: [arm]
- os: [android]
+ '@radix-ui/react-dialog@1.1.1':
+ resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-android-arm64@4.18.0':
- resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
- cpu: [arm64]
- os: [android]
+ '@radix-ui/react-direction@1.1.0':
+ resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@rollup/rollup-darwin-arm64@4.18.0':
- resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
- cpu: [arm64]
- os: [darwin]
+ '@radix-ui/react-dismissable-layer@1.1.0':
+ resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-darwin-x64@4.18.0':
- resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
- cpu: [x64]
- os: [darwin]
+ '@radix-ui/react-dropdown-menu@2.1.1':
+ resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
- resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
- cpu: [arm]
- os: [linux]
+ '@radix-ui/react-focus-guards@1.1.0':
+ resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.18.0':
- resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
- cpu: [arm]
- os: [linux]
+ '@radix-ui/react-focus-scope@1.1.0':
+ resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-arm64-gnu@4.18.0':
- resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
- cpu: [arm64]
- os: [linux]
+ '@radix-ui/react-form@0.1.0':
+ resolution: {integrity: sha512-1/oVYPDjbFILOLIarcGcMKo+y6SbTVT/iUKVEw59CF4offwZgBgC3ZOeSBewjqU0vdA6FWTPWTN63obj55S/tQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-arm64-musl@4.18.0':
- resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
- cpu: [arm64]
- os: [linux]
+ '@radix-ui/react-hover-card@1.1.1':
+ resolution: {integrity: sha512-IwzAOP97hQpDADYVKrEEHUH/b2LA+9MgB0LgdmnbFO2u/3M5hmEofjjr2M6CyzUblaAqJdFm6B7oFtU72DPXrA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
- resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
- cpu: [ppc64]
- os: [linux]
+ '@radix-ui/react-icons@1.3.0':
+ resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==}
+ peerDependencies:
+ react: ^16.x || ^17.x || ^18.x
- '@rollup/rollup-linux-riscv64-gnu@4.18.0':
- resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
- cpu: [riscv64]
- os: [linux]
+ '@radix-ui/react-id@1.1.0':
+ resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@rollup/rollup-linux-s390x-gnu@4.18.0':
- resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
- cpu: [s390x]
- os: [linux]
+ '@radix-ui/react-label@2.1.0':
+ resolution: {integrity: sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-x64-gnu@4.18.0':
- resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
- cpu: [x64]
- os: [linux]
+ '@radix-ui/react-menu@2.1.1':
+ resolution: {integrity: sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-linux-x64-musl@4.18.0':
- resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
- cpu: [x64]
- os: [linux]
+ '@radix-ui/react-navigation-menu@1.2.0':
+ resolution: {integrity: sha512-OQ8tcwAOR0DhPlSY3e4VMXeHiol7la4PPdJWhhwJiJA+NLX0SaCaonOkRnI3gCDHoZ7Fo7bb/G6q25fRM2Y+3Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-win32-arm64-msvc@4.18.0':
- resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
- cpu: [arm64]
- os: [win32]
+ '@radix-ui/react-popover@1.1.1':
+ resolution: {integrity: sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-win32-ia32-msvc@4.18.0':
- resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
- cpu: [ia32]
- os: [win32]
+ '@radix-ui/react-popper@1.2.0':
+ resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@rollup/rollup-win32-x64-msvc@4.18.0':
- resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
- cpu: [x64]
- os: [win32]
+ '@radix-ui/react-portal@1.1.1':
+ resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@sec-ant/readable-stream@0.4.1':
- resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
+ '@radix-ui/react-presence@1.1.0':
+ resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@semantic-release/commit-analyzer@13.0.0':
- resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==}
- engines: {node: '>=20.8.1'}
+ '@radix-ui/react-primitive@2.0.0':
+ resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==}
peerDependencies:
- semantic-release: '>=20.1.0'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@semantic-release/error@4.0.0':
- resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==}
+ '@radix-ui/react-progress@1.1.0':
+ resolution: {integrity: sha512-aSzvnYpP725CROcxAOEBVZZSIQVQdHgBr2QQFKySsaD14u8dNT0batuXI+AAGDdAHfXH8rbnHmjYFqVJ21KkRg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-radio-group@1.2.0':
+ resolution: {integrity: sha512-yv+oiLaicYMBpqgfpSPw6q+RyXlLdIpQWDHZbUKURxe+nEh53hFXPPlfhfQQtYkS5MMK/5IWIa76SksleQZSzw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.0':
+ resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.1.0':
+ resolution: {integrity: sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-select@2.1.1':
+ resolution: {integrity: sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slider@1.2.0':
+ resolution: {integrity: sha512-dAHCDA4/ySXROEPaRtaMV5WHL8+JB/DbtyTbJjYkY0RXmKMO2Ln8DFZhywG5/mVQ4WqHDBc8smc14yPXPqZHYA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.0':
+ resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-switch@1.1.0':
+ resolution: {integrity: sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.0':
+ resolution: {integrity: sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toggle-group@1.1.0':
+ resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toggle@1.1.0':
+ resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tooltip@1.1.1':
+ resolution: {integrity: sha512-LLE8nzNE4MzPMw3O2zlVlkLFid3y9hMUs7uCbSHyKSo+tCN4yMCf+ZCCcfrYgsOC0TiHBPQ1mtpJ2liY3ZT3SQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.0':
+ resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.1.0':
+ resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.0':
+ resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.0':
+ resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.0':
+ resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.0':
+ resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.0':
+ resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.0':
+ resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.0':
+ resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+
+ '@radix-ui/themes@3.1.1':
+ resolution: {integrity: sha512-G+j+x+7kyqQXnn+ftlNPgk1DdZ8h/vVZnLsG4hZB0Mxw4fdKCh1tThQuXDSBNWhFt/vTG79BMzRMiflovENrmA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: 16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@rollup/plugin-alias@5.1.0':
+ resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-babel@6.0.4':
+ resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+ rollup:
+ optional: true
+
+ '@rollup/plugin-commonjs@26.0.1':
+ resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==}
+ engines: {node: '>=16.0.0 || 14 >= 14.17'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-json@6.1.0':
+ resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-node-resolve@15.2.3':
+ resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-replace@5.0.7':
+ resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-terser@0.4.4':
+ resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-virtual@3.0.1':
+ resolution: {integrity: sha512-fK8O0IL5+q+GrsMLuACVNk2x21g3yaw+sG2qn16SnUd3IlBsQyvWxLMGHmCmXRMecPjGRSZ/1LmZB4rjQm68og==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@5.0.2':
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@5.1.0':
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.18.0':
+ resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.18.0':
+ resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.18.0':
+ resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.18.0':
+ resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
+ resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.18.0':
+ resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.18.0':
+ resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.18.0':
+ resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
+ resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.18.0':
+ resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.18.0':
+ resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.18.0':
+ resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.18.0':
+ resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.18.0':
+ resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.18.0':
+ resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.18.0':
+ resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
+ cpu: [x64]
+ os: [win32]
+
+ '@sec-ant/readable-stream@0.4.1':
+ resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
+
+ '@semantic-release/commit-analyzer@13.0.0':
+ resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==}
+ engines: {node: '>=20.8.1'}
+ peerDependencies:
+ semantic-release: '>=20.1.0'
+
+ '@semantic-release/error@4.0.0':
+ resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==}
engines: {node: '>=18'}
'@semantic-release/github@10.0.5':
@@ -2804,6 +3476,11 @@ packages:
'@sinonjs/text-encoding@0.7.2':
resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==}
+ '@solana-program/system@0.3.2':
+ resolution: {integrity: sha512-tQnomntv06LPW9yDCxQqqUElhovr+2bl0r3fqDm1a38CsUGorKV54Z5g9tbXiRSk5DebQu3WhQCZgHLs7spcIw==}
+ peerDependencies:
+ '@solana/web3.js': 2.0.0-preview.3
+
'@solana/buffer-layout@4.0.1':
resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==}
engines: {node: '>=5.10'}
@@ -2830,71 +3507,71 @@ packages:
resolution: {integrity: sha512-tUd9srDLkRpe1BYg7we+c4UhRQkq+XQWswsr/L1xfGmoRDF47BPSXf4zE7ZU2GRBGvxtGt7lwJVAufQyQYhxTQ==}
engines: {node: '>=16'}
- '@swc/core-darwin-arm64@1.3.93':
- resolution: {integrity: sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A==}
+ '@swc/core-darwin-arm64@1.6.5':
+ resolution: {integrity: sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.3.93':
- resolution: {integrity: sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q==}
+ '@swc/core-darwin-x64@1.6.5':
+ resolution: {integrity: sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.3.93':
- resolution: {integrity: sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A==}
+ '@swc/core-linux-arm-gnueabihf@1.6.5':
+ resolution: {integrity: sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.3.93':
- resolution: {integrity: sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w==}
+ '@swc/core-linux-arm64-gnu@1.6.5':
+ resolution: {integrity: sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-arm64-musl@1.3.93':
- resolution: {integrity: sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw==}
+ '@swc/core-linux-arm64-musl@1.6.5':
+ resolution: {integrity: sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-x64-gnu@1.3.93':
- resolution: {integrity: sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg==}
+ '@swc/core-linux-x64-gnu@1.6.5':
+ resolution: {integrity: sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-linux-x64-musl@1.3.93':
- resolution: {integrity: sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig==}
+ '@swc/core-linux-x64-musl@1.6.5':
+ resolution: {integrity: sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-win32-arm64-msvc@1.3.93':
- resolution: {integrity: sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w==}
+ '@swc/core-win32-arm64-msvc@1.6.5':
+ resolution: {integrity: sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.3.93':
- resolution: {integrity: sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA==}
+ '@swc/core-win32-ia32-msvc@1.6.5':
+ resolution: {integrity: sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.3.93':
- resolution: {integrity: sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA==}
+ '@swc/core-win32-x64-msvc@1.6.5':
+ resolution: {integrity: sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.3.93':
- resolution: {integrity: sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA==}
+ '@swc/core@1.6.5':
+ resolution: {integrity: sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==}
engines: {node: '>=10'}
peerDependencies:
- '@swc/helpers': ^0.5.0
+ '@swc/helpers': '*'
peerDependenciesMeta:
'@swc/helpers':
optional: true
@@ -2911,8 +3588,8 @@ packages:
peerDependencies:
'@swc/core': '*'
- '@swc/types@0.1.5':
- resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
+ '@swc/types@0.1.9':
+ resolution: {integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==}
'@tootallnate/once@2.0.0':
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
@@ -3059,6 +3736,9 @@ packages:
'@types/range-parser@1.2.4':
resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==}
+ '@types/react-dom@18.3.0':
+ resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+
'@types/react-test-renderer@18.3.0':
resolution: {integrity: sha512-HW4MuEYxfDbOHQsVlY/XtOvNHftCVEPhJF2pQXXwcUiUF+Oyb0usgp48HSgpK5rt8m9KZb22yqOeZm+rrVG8gw==}
@@ -3124,6 +3804,17 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/eslint-plugin@7.14.1':
+ resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@typescript-eslint/experimental-utils@5.62.0':
resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3140,6 +3831,16 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/parser@7.14.1':
+ resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@typescript-eslint/scope-manager@5.61.0':
resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3152,6 +3853,10 @@ packages:
resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/scope-manager@7.14.1':
+ resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/type-utils@6.21.0':
resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -3162,6 +3867,16 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/type-utils@7.14.1':
+ resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@typescript-eslint/types@5.61.0':
resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3174,6 +3889,10 @@ packages:
resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/types@7.14.1':
+ resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/typescript-estree@5.61.0':
resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3201,6 +3920,15 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/typescript-estree@7.14.1':
+ resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@typescript-eslint/utils@5.61.0':
resolution: {integrity: sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3219,6 +3947,12 @@ packages:
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
+ '@typescript-eslint/utils@7.14.1':
+ resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+
'@typescript-eslint/visitor-keys@5.61.0':
resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3231,21 +3965,57 @@ packages:
resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/visitor-keys@7.14.1':
+ resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@vitejs/plugin-react-swc@3.7.0':
+ resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==}
+ peerDependencies:
+ vite: ^4 || ^5
+
+ '@wallet-standard/app@0.0.0-20240607222957':
+ resolution: {integrity: sha512-z+I3ozVvqFovokYYSSk6VzXyDMSwDLg901SS8Ood6MvBbOT+Pqfq5cuBZ7VSDc17BqeoI+F9Q7nM8lMjAIkCQw==}
+ engines: {node: '>=16'}
+
'@wallet-standard/base@0.0.0-20240607222957':
resolution: {integrity: sha512-+OtNFGBP3r4Ql/A2ILgqeUoNgQAXppAgtlY3tmRxRGJCoy8v8fkj4EsCOuapoe6tPrHAkkNVj6/LPyA6zP8Uaw==}
engines: {node: '>=16'}
+ '@wallet-standard/core@0.0.0-20240607222957':
+ resolution: {integrity: sha512-yRT1BszIm+5KOfOZid+1NkeAiCH14S6+SNJNLk3Nih6/2XNhcEliPK+a2NbPQUErfUnTZ9o42mnt4FiDvXt7iw==}
+ engines: {node: '>=16'}
+
'@wallet-standard/errors@0.0.0-20240607222957':
resolution: {integrity: sha512-bBPDWAYvbDhrsidWOufrSBeDNRT9MJjvxbkUk6HPC3Infjs/uKj7HTG7V04p9VBzdlvOp8KMRbnoc7GkeWfUUw==}
engines: {node: '>=16'}
+ '@wallet-standard/experimental-features@0.0.0-20240607222957':
+ resolution: {integrity: sha512-j9uOUTUdg5uCoLWK6IHnGugnrnV45HEHnrAOhUbkR0j3NBWkBibpNCVnOAK/4tSe7e/zed/St/6Duk9tcwFOsA==}
+ engines: {node: '>=16'}
+
+ '@wallet-standard/features@0.0.0-20240607222957':
+ resolution: {integrity: sha512-rFiUwMWY1NHuQublucwuIxA8KpAxMdmIS3K3TBpu10TXmy4YhPd/SDn9yVEWFE4QWK+5aru2/LA3fkoIJ2q7tA==}
+ engines: {node: '>=16'}
+
'@wallet-standard/features@1.0.3':
resolution: {integrity: sha512-m8475I6W5LTatTZuUz5JJNK42wFRgkJTB0I9tkruMwfqBF2UN2eomkYNVf9RbrsROelCRzSFmugqjKZBFaubsA==}
engines: {node: '>=16'}
+ '@wallet-standard/react-core@0.0.0-20240607222957':
+ resolution: {integrity: sha512-U3SavIkSRmyXfW0YPZUYyzcp4DVcnHQtv2s/c1z4a6UFuJ4By5bXxg2ca9ApKnOkWhw/gJX8lFARu/zggLmmxA==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ react: '>=18'
+ react-dom: '>=18'
+
+ '@wallet-standard/react@0.0.0-20240607222957':
+ resolution: {integrity: sha512-sa75Gc8YGM8B349IujK2Y9aIAvUHPQbI4mbXeMS3PyNHmXsL1DtUTyhDgQiroE8IW5noT9IXFzBlyiTdv9pjAw==}
+ engines: {node: '>=16'}
+
'@wallet-standard/ui-compare@0.0.0-20240607222957':
resolution: {integrity: sha512-R7oE2STGvd8muV4M7DOiHSCsD3vKpeE3UUxKJM3xXPoaGHPq4/xkNxACHSsF/k2dTzx94YR57SquNALwS8/i8Q==}
engines: {node: '>=16'}
@@ -3266,6 +4036,10 @@ packages:
resolution: {integrity: sha512-baqEvQOUV64GyABg8S7wJkgUO0VS2h1Jim0ZGhtw+JQhIFVvP/euCtDSF8nGkE5Sk0hCCPOhvckMKh5lC1ZQvQ==}
engines: {node: '>=16'}
+ '@wallet-standard/wallet@0.0.0-20240607222957':
+ resolution: {integrity: sha512-6RenewXG+FEp7fTNhd6PIEHk5bhZvoJ4kyBrKOrmOTQIbqVSH7+VD91yZrLYLij8b0hDd13MUpnVDyzyLWdlJw==}
+ engines: {node: '>=16'}
+
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -3393,6 +4167,10 @@ packages:
argv-formatter@1.0.0:
resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==}
+ aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+
array-buffer-byte-length@1.0.0:
resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
@@ -3744,6 +4522,9 @@ packages:
cjs-module-lexer@1.2.3:
resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
+ classnames@2.3.2:
+ resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
+
clean-stack@5.2.0:
resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==}
engines: {node: '>=14.16'}
@@ -3757,6 +4538,9 @@ packages:
resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
engines: {node: 10.* || >= 12.*}
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -4136,6 +4920,9 @@ packages:
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
engines: {node: '>=8'}
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
diff-sequences@27.5.1:
resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -4399,6 +5186,11 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ eslint-plugin-react-refresh@0.4.7:
+ resolution: {integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==}
+ peerDependencies:
+ eslint: '>=7'
+
eslint-plugin-simple-import-sort@10.0.0:
resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==}
peerDependencies:
@@ -4765,6 +5557,10 @@ packages:
get-intrinsic@1.2.2:
resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
engines: {node: '>=8.0.0'}
@@ -5059,6 +5855,10 @@ packages:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
+ ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -6082,6 +6882,11 @@ packages:
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
native-duplexpair@1.0.0:
resolution: {integrity: sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==}
@@ -6546,6 +7351,10 @@ packages:
ts-node:
optional: true
+ postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
+ engines: {node: ^10 || ^12 || >=14}
+
preferred-pm@3.1.3:
resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==}
engines: {node: '>=10'}
@@ -6668,6 +7477,11 @@ packages:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
react-error-boundary@4.0.13:
resolution: {integrity: sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==}
peerDependencies:
@@ -6682,11 +7496,51 @@ packages:
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ react-remove-scroll-bar@2.3.4:
+ resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll-bar@2.3.6:
+ resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.5.7:
+ resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-shallow-renderer@16.15.0:
resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-style-singleton@2.2.1:
+ resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-test-renderer@18.3.1:
resolution: {integrity: sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==}
peerDependencies:
@@ -7060,6 +7914,10 @@ packages:
resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+ source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
source-map-support@0.4.18:
resolution: {integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==}
@@ -7262,6 +8120,11 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ swr@2.2.5:
+ resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0
+
symbol-observable@1.2.0:
resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==}
engines: {node: '>=0.10.0'}
@@ -7396,6 +8259,12 @@ packages:
peerDependencies:
typescript: '>=4.2.0'
+ ts-api-utils@1.3.0:
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
@@ -7660,6 +8529,31 @@ packages:
urlpattern-polyfill@8.0.2:
resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
+ use-callback-ref@1.3.2:
+ resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.2:
+ resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sync-external-store@1.2.2:
+ resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+
utf-8-validate@5.0.10:
resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==}
engines: {node: '>=6.14.2'}
@@ -7697,6 +8591,34 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
+ vite@5.3.1:
+ resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
w3c-xmlserializer@4.0.0:
resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
engines: {node: '>=14'}
@@ -9158,6 +10080,8 @@ snapshots:
eslint: 8.57.0
eslint-visitor-keys: 3.4.3
+ '@eslint-community/regexpp@4.10.1': {}
+
'@eslint-community/regexpp@4.9.1': {}
'@eslint/eslintrc@2.1.4':
@@ -9176,6 +10100,23 @@ snapshots:
'@eslint/js@8.57.0': {}
+ '@floating-ui/core@1.6.3':
+ dependencies:
+ '@floating-ui/utils': 0.2.3
+
+ '@floating-ui/dom@1.6.6':
+ dependencies:
+ '@floating-ui/core': 1.6.3
+ '@floating-ui/utils': 0.2.3
+
+ '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.6
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/utils@0.2.3': {}
+
'@graphql-tools/merge@8.3.1(graphql@15.8.0)':
dependencies:
'@graphql-tools/utils': 8.9.0(graphql@15.8.0)
@@ -9320,7 +10261,7 @@ snapshots:
jest-util: 30.0.0-alpha.5
slash: 3.0.0
- '@jest/core@30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))':
+ '@jest/core@30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))':
dependencies:
'@jest/console': 30.0.0-alpha.5
'@jest/pattern': 30.0.0-alpha.5
@@ -9335,7 +10276,7 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 30.0.0-alpha.5
- jest-config: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest-config: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-haste-map: 30.0.0-alpha.5
jest-message-util: 30.0.0-alpha.5
jest-regex-util: 30.0.0-alpha.5
@@ -9654,78 +10595,727 @@ snapshots:
'@octokit/auth-token@5.1.1': {}
- '@octokit/core@6.1.2':
+ '@octokit/core@6.1.2':
+ dependencies:
+ '@octokit/auth-token': 5.1.1
+ '@octokit/graphql': 8.1.1
+ '@octokit/request': 9.1.1
+ '@octokit/request-error': 6.1.1
+ '@octokit/types': 13.4.1
+ before-after-hook: 3.0.2
+ universal-user-agent: 7.0.2
+
+ '@octokit/endpoint@10.1.1':
+ dependencies:
+ '@octokit/types': 13.4.1
+ universal-user-agent: 7.0.2
+
+ '@octokit/graphql@8.1.1':
+ dependencies:
+ '@octokit/request': 9.1.1
+ '@octokit/types': 13.4.1
+ universal-user-agent: 7.0.2
+
+ '@octokit/openapi-types@22.1.0': {}
+
+ '@octokit/plugin-paginate-rest@11.1.1(@octokit/core@6.1.2)':
+ dependencies:
+ '@octokit/core': 6.1.2
+ '@octokit/types': 13.4.1
+
+ '@octokit/plugin-retry@7.1.0(@octokit/core@6.1.2)':
+ dependencies:
+ '@octokit/core': 6.1.2
+ '@octokit/request-error': 6.1.1
+ '@octokit/types': 13.4.1
+ bottleneck: 2.19.5
+
+ '@octokit/plugin-throttling@9.2.0(@octokit/core@6.1.2)':
+ dependencies:
+ '@octokit/core': 6.1.2
+ '@octokit/types': 13.4.1
+ bottleneck: 2.19.5
+
+ '@octokit/request-error@6.1.1':
+ dependencies:
+ '@octokit/types': 13.4.1
+
+ '@octokit/request@9.1.1':
+ dependencies:
+ '@octokit/endpoint': 10.1.1
+ '@octokit/request-error': 6.1.1
+ '@octokit/types': 13.4.1
+ universal-user-agent: 7.0.2
+
+ '@octokit/types@13.4.1':
+ dependencies:
+ '@octokit/openapi-types': 22.1.0
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pkgr/core@0.1.1': {}
+
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@2.2.2':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
+ '@radix-ui/colors@3.0.0': {}
+
+ '@radix-ui/number@1.1.0': {}
+
+ '@radix-ui/primitive@1.1.0': {}
+
+ '@radix-ui/react-accessible-icon@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-alert-dialog@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-aspect-ratio@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-avatar@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-checkbox@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ '@radix-ui/react-context-menu@2.2.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-context@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ '@radix-ui/react-dialog@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-direction@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ '@radix-ui/react-dismissable-layer@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-dropdown-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-focus-guards@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-form@0.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-label': 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-hover-card@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-icons@1.3.0(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-navigation-menu@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-popover@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-portal@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-presence@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-progress@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-radio-group@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-scroll-area@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-select@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-slider@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-slot@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/auth-token': 5.1.1
- '@octokit/graphql': 8.1.1
- '@octokit/request': 9.1.1
- '@octokit/request-error': 6.1.1
- '@octokit/types': 13.4.1
- before-after-hook: 3.0.2
- universal-user-agent: 7.0.2
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@octokit/endpoint@10.1.1':
+ '@radix-ui/react-switch@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@octokit/types': 13.4.1
- universal-user-agent: 7.0.2
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-tabs@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
- '@octokit/graphql@8.1.1':
+ '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@octokit/request': 9.1.1
- '@octokit/types': 13.4.1
- universal-user-agent: 7.0.2
-
- '@octokit/openapi-types@22.1.0': {}
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
- '@octokit/plugin-paginate-rest@11.1.1(@octokit/core@6.1.2)':
+ '@radix-ui/react-toggle@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/types': 13.4.1
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/react-tooltip@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
- '@octokit/plugin-retry@7.1.0(@octokit/core@6.1.2)':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/request-error': 6.1.1
- '@octokit/types': 13.4.1
- bottleneck: 2.19.5
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@octokit/plugin-throttling@9.2.0(@octokit/core@6.1.2)':
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/types': 13.4.1
- bottleneck: 2.19.5
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@octokit/request-error@6.1.1':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/types': 13.4.1
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@octokit/request@9.1.1':
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/endpoint': 10.1.1
- '@octokit/request-error': 6.1.1
- '@octokit/types': 13.4.1
- universal-user-agent: 7.0.2
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@octokit/types@13.4.1':
+ '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- '@octokit/openapi-types': 22.1.0
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@pkgr/core@0.1.1': {}
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@pnpm/config.env-replace@1.1.0': {}
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.3)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@pnpm/network.ca-file@1.0.2':
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.3)(react@18.3.1)':
dependencies:
- graceful-fs: 4.2.10
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.3
- '@pnpm/npm-conf@2.2.2':
+ '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@pnpm/config.env-replace': 1.1.0
- '@pnpm/network.ca-file': 1.0.2
- config-chain: 1.1.13
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
+ '@radix-ui/rect@1.1.0': {}
+
+ '@radix-ui/themes@3.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/colors': 3.0.0
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-accessible-icon': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-alert-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-aspect-ratio': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-avatar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-checkbox': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context-menu': 2.2.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dropdown-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-form': 0.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-hover-card': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-navigation-menu': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-progress': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-radio-group': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-scroll-area': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-select': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slider': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-switch': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-tabs': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.3.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll-bar: 2.3.4(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
'@rollup/plugin-alias@5.1.0(rollup@4.18.0)':
dependencies:
@@ -9974,16 +11564,20 @@ snapshots:
'@sinonjs/text-encoding@0.7.2': {}
+ '@solana-program/system@0.3.2(@solana/web3.js@packages+library)':
+ dependencies:
+ '@solana/web3.js': link:packages/library
+
'@solana/buffer-layout@4.0.1':
dependencies:
buffer: 6.0.3
- '@solana/eslint-config-solana@3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)':
+ '@solana/eslint-config-solana@3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)':
dependencies:
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.2)
eslint: 8.57.0
- eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2)
+ eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
eslint-plugin-simple-import-sort: 10.0.0(eslint@8.57.0)
eslint-plugin-sort-keys-fix: 1.1.2
@@ -9999,51 +11593,51 @@ snapshots:
'@wallet-standard/base': 0.0.0-20240607222957
'@wallet-standard/features': 1.0.3
- '@swc/core-darwin-arm64@1.3.93':
+ '@swc/core-darwin-arm64@1.6.5':
optional: true
- '@swc/core-darwin-x64@1.3.93':
+ '@swc/core-darwin-x64@1.6.5':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.3.93':
+ '@swc/core-linux-arm-gnueabihf@1.6.5':
optional: true
- '@swc/core-linux-arm64-gnu@1.3.93':
+ '@swc/core-linux-arm64-gnu@1.6.5':
optional: true
- '@swc/core-linux-arm64-musl@1.3.93':
+ '@swc/core-linux-arm64-musl@1.6.5':
optional: true
- '@swc/core-linux-x64-gnu@1.3.93':
+ '@swc/core-linux-x64-gnu@1.6.5':
optional: true
- '@swc/core-linux-x64-musl@1.3.93':
+ '@swc/core-linux-x64-musl@1.6.5':
optional: true
- '@swc/core-win32-arm64-msvc@1.3.93':
+ '@swc/core-win32-arm64-msvc@1.6.5':
optional: true
- '@swc/core-win32-ia32-msvc@1.3.93':
+ '@swc/core-win32-ia32-msvc@1.6.5':
optional: true
- '@swc/core-win32-x64-msvc@1.3.93':
+ '@swc/core-win32-x64-msvc@1.6.5':
optional: true
- '@swc/core@1.3.93(@swc/helpers@0.5.11)':
+ '@swc/core@1.6.5(@swc/helpers@0.5.11)':
dependencies:
'@swc/counter': 0.1.3
- '@swc/types': 0.1.5
+ '@swc/types': 0.1.9
optionalDependencies:
- '@swc/core-darwin-arm64': 1.3.93
- '@swc/core-darwin-x64': 1.3.93
- '@swc/core-linux-arm-gnueabihf': 1.3.93
- '@swc/core-linux-arm64-gnu': 1.3.93
- '@swc/core-linux-arm64-musl': 1.3.93
- '@swc/core-linux-x64-gnu': 1.3.93
- '@swc/core-linux-x64-musl': 1.3.93
- '@swc/core-win32-arm64-msvc': 1.3.93
- '@swc/core-win32-ia32-msvc': 1.3.93
- '@swc/core-win32-x64-msvc': 1.3.93
+ '@swc/core-darwin-arm64': 1.6.5
+ '@swc/core-darwin-x64': 1.6.5
+ '@swc/core-linux-arm-gnueabihf': 1.6.5
+ '@swc/core-linux-arm64-gnu': 1.6.5
+ '@swc/core-linux-arm64-musl': 1.6.5
+ '@swc/core-linux-x64-gnu': 1.6.5
+ '@swc/core-linux-x64-musl': 1.6.5
+ '@swc/core-win32-arm64-msvc': 1.6.5
+ '@swc/core-win32-ia32-msvc': 1.6.5
+ '@swc/core-win32-x64-msvc': 1.6.5
'@swc/helpers': 0.5.11
'@swc/counter@0.1.3': {}
@@ -10052,14 +11646,16 @@ snapshots:
dependencies:
tslib: 2.6.3
- '@swc/jest@0.2.36(@swc/core@1.3.93(@swc/helpers@0.5.11))':
+ '@swc/jest@0.2.36(@swc/core@1.6.5(@swc/helpers@0.5.11))':
dependencies:
'@jest/create-cache-key-function': 29.7.0
- '@swc/core': 1.3.93(@swc/helpers@0.5.11)
+ '@swc/core': 1.6.5(@swc/helpers@0.5.11)
'@swc/counter': 0.1.3
jsonc-parser: 3.2.0
- '@swc/types@0.1.5': {}
+ '@swc/types@0.1.9':
+ dependencies:
+ '@swc/counter': 0.1.3
'@tootallnate/once@2.0.0': {}
@@ -10222,6 +11818,10 @@ snapshots:
'@types/range-parser@1.2.4': {}
+ '@types/react-dom@18.3.0':
+ dependencies:
+ '@types/react': 18.3.3
+
'@types/react-test-renderer@18.3.0':
dependencies:
'@types/react': 18.3.3
@@ -10299,6 +11899,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)':
+ dependencies:
+ '@eslint-community/regexpp': 4.10.1
+ '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+ '@typescript-eslint/scope-manager': 7.14.1
+ '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+ '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+ '@typescript-eslint/visitor-keys': 7.14.1
+ eslint: 8.57.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.5.2)
+ optionalDependencies:
+ typescript: 5.5.2
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.0)(typescript@5.5.2)':
dependencies:
'@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2)
@@ -10320,6 +11938,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 7.14.1
+ '@typescript-eslint/types': 7.14.1
+ '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2)
+ '@typescript-eslint/visitor-keys': 7.14.1
+ debug: 4.3.5
+ eslint: 8.57.0
+ optionalDependencies:
+ typescript: 5.5.2
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/scope-manager@5.61.0':
dependencies:
'@typescript-eslint/types': 5.61.0
@@ -10335,6 +11966,11 @@ snapshots:
'@typescript-eslint/types': 6.21.0
'@typescript-eslint/visitor-keys': 6.21.0
+ '@typescript-eslint/scope-manager@7.14.1':
+ dependencies:
+ '@typescript-eslint/types': 7.14.1
+ '@typescript-eslint/visitor-keys': 7.14.1
+
'@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.5.2)':
dependencies:
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2)
@@ -10347,12 +11983,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2)
+ '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+ debug: 4.3.5
+ eslint: 8.57.0
+ ts-api-utils: 1.3.0(typescript@5.5.2)
+ optionalDependencies:
+ typescript: 5.5.2
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/types@5.61.0': {}
'@typescript-eslint/types@5.62.0': {}
'@typescript-eslint/types@6.21.0': {}
+ '@typescript-eslint/types@7.14.1': {}
+
'@typescript-eslint/typescript-estree@5.61.0(typescript@5.5.2)':
dependencies:
'@typescript-eslint/types': 5.61.0
@@ -10396,6 +12046,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)':
+ dependencies:
+ '@typescript-eslint/types': 7.14.1
+ '@typescript-eslint/visitor-keys': 7.14.1
+ debug: 4.3.5
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.4
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.5.2)
+ optionalDependencies:
+ typescript: 5.5.2
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/utils@5.61.0(eslint@8.57.0)(typescript@5.5.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
@@ -10440,6 +12105,17 @@ snapshots:
- supports-color
- typescript
+ '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@typescript-eslint/scope-manager': 7.14.1
+ '@typescript-eslint/types': 7.14.1
+ '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2)
+ eslint: 8.57.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
'@typescript-eslint/visitor-keys@5.61.0':
dependencies:
'@typescript-eslint/types': 5.61.0
@@ -10455,19 +12131,70 @@ snapshots:
'@typescript-eslint/types': 6.21.0
eslint-visitor-keys: 3.4.3
+ '@typescript-eslint/visitor-keys@7.14.1':
+ dependencies:
+ '@typescript-eslint/types': 7.14.1
+ eslint-visitor-keys: 3.4.3
+
'@ungap/structured-clone@1.2.0': {}
+ '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.11)(vite@5.3.1(@types/node@20.12.12)(terser@5.18.0))':
+ dependencies:
+ '@swc/core': 1.6.5(@swc/helpers@0.5.11)
+ vite: 5.3.1(@types/node@20.12.12)(terser@5.18.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+
+ '@wallet-standard/app@0.0.0-20240607222957':
+ dependencies:
+ '@wallet-standard/base': 0.0.0-20240607222957
+
'@wallet-standard/base@0.0.0-20240607222957': {}
+ '@wallet-standard/core@0.0.0-20240607222957':
+ dependencies:
+ '@wallet-standard/app': 0.0.0-20240607222957
+ '@wallet-standard/base': 0.0.0-20240607222957
+ '@wallet-standard/errors': 0.0.0-20240607222957
+ '@wallet-standard/features': 0.0.0-20240607222957
+ '@wallet-standard/wallet': 0.0.0-20240607222957
+
'@wallet-standard/errors@0.0.0-20240607222957':
dependencies:
chalk: 5.3.0
commander: 12.1.0
+ '@wallet-standard/experimental-features@0.0.0-20240607222957':
+ dependencies:
+ '@wallet-standard/base': 0.0.0-20240607222957
+
+ '@wallet-standard/features@0.0.0-20240607222957':
+ dependencies:
+ '@wallet-standard/base': 0.0.0-20240607222957
+
'@wallet-standard/features@1.0.3':
dependencies:
'@wallet-standard/base': 0.0.0-20240607222957
+ '@wallet-standard/react-core@0.0.0-20240607222957(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@wallet-standard/app': 0.0.0-20240607222957
+ '@wallet-standard/base': 0.0.0-20240607222957
+ '@wallet-standard/errors': 0.0.0-20240607222957
+ '@wallet-standard/experimental-features': 0.0.0-20240607222957
+ '@wallet-standard/features': 0.0.0-20240607222957
+ '@wallet-standard/ui': 0.0.0-20240607222957
+ '@wallet-standard/ui-registry': 0.0.0-20240607222957
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@wallet-standard/react@0.0.0-20240607222957(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@wallet-standard/react-core': 0.0.0-20240607222957(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ transitivePeerDependencies:
+ - react
+ - react-dom
+
'@wallet-standard/ui-compare@0.0.0-20240607222957':
dependencies:
'@wallet-standard/base': 0.0.0-20240607222957
@@ -10497,6 +12224,10 @@ snapshots:
'@wallet-standard/ui-core': 0.0.0-20240607222957
'@wallet-standard/ui-features': 0.0.0-20240607222957
+ '@wallet-standard/wallet@0.0.0-20240607222957':
+ dependencies:
+ '@wallet-standard/base': 0.0.0-20240607222957
+
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
@@ -10615,6 +12346,10 @@ snapshots:
argv-formatter@1.0.0: {}
+ aria-hidden@1.2.4:
+ dependencies:
+ tslib: 2.6.3
+
array-buffer-byte-length@1.0.0:
dependencies:
call-bind: 1.0.5
@@ -11092,6 +12827,8 @@ snapshots:
cjs-module-lexer@1.2.3: {}
+ classnames@2.3.2: {}
+
clean-stack@5.2.0:
dependencies:
escape-string-regexp: 5.0.0
@@ -11111,6 +12848,8 @@ snapshots:
optionalDependencies:
'@colors/colors': 1.5.0
+ client-only@0.0.1: {}
+
cliui@6.0.0:
dependencies:
string-width: 4.2.3
@@ -11448,6 +13187,8 @@ snapshots:
detect-newline@3.1.0: {}
+ detect-node-es@1.1.0: {}
+
diff-sequences@27.5.1: {}
diff-sequences@29.6.3: {}
@@ -11713,13 +13454,13 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2):
+ eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(typescript@5.5.2):
dependencies:
'@typescript-eslint/utils': 5.61.0(eslint@8.57.0)(typescript@5.5.2)
eslint: 8.57.0
optionalDependencies:
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
- jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
transitivePeerDependencies:
- supports-color
- typescript
@@ -11744,6 +13485,10 @@ snapshots:
dependencies:
eslint: 8.57.0
+ eslint-plugin-react-refresh@0.4.7(eslint@8.57.0):
+ dependencies:
+ eslint: 8.57.0
+
eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
@@ -12226,6 +13971,8 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.0
+ get-nonce@1.0.1: {}
+
get-package-type@0.1.0: {}
get-stream@6.0.1: {}
@@ -12544,6 +14291,8 @@ snapshots:
ignore@5.2.4: {}
+ ignore@5.3.1: {}
+
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
@@ -12861,15 +14610,15 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
+ jest-cli@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
dependencies:
- '@jest/core': 30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ '@jest/core': 30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
'@jest/test-result': 30.0.0-alpha.5
'@jest/types': 30.0.0-alpha.5
chalk: 4.1.2
exit: 0.1.2
import-local: 3.1.0
- jest-config: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest-config: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-util: 30.0.0-alpha.5
jest-validate: 30.0.0-alpha.5
yargs: 17.7.2
@@ -12879,7 +14628,7 @@ snapshots:
- supports-color
- ts-node
- jest-config@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
+ jest-config@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
dependencies:
'@babel/core': 7.24.7
'@jest/pattern': 30.0.0-alpha.5
@@ -12906,7 +14655,7 @@ snapshots:
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 18.19.21
- ts-node: 10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
+ ts-node: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -13168,23 +14917,23 @@ snapshots:
resolve.exports: 2.0.2
slash: 3.0.0
- jest-runner-eslint@2.2.0(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
+ jest-runner-eslint@2.2.0(eslint@8.57.0)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
dependencies:
chalk: 4.1.2
cosmiconfig: 7.1.0
create-jest-runner: 0.11.2
dot-prop: 6.0.1
eslint: 8.57.0
- jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
transitivePeerDependencies:
- '@jest/test-result'
- jest-runner
- jest-runner-prettier@1.0.0(patch_hash=wxyu3ekhzy6qhvwrai2xltdhn4)(bufferutil@4.0.8)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(prettier@3.3.2)(utf-8-validate@5.0.10):
+ jest-runner-prettier@1.0.0(patch_hash=wxyu3ekhzy6qhvwrai2xltdhn4)(bufferutil@4.0.8)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)))(prettier@3.3.2)(utf-8-validate@5.0.10):
dependencies:
create-jest-runner: 0.8.0
emphasize: 5.0.0
- jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-diff: 27.5.1
jest-runner: 27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
p-limit: 4.0.0
@@ -13407,10 +15156,10 @@ snapshots:
leven: 3.1.0
pretty-format: 30.0.0-alpha.5
- jest-watch-master@1.0.0(jest-validate@30.0.0-alpha.5)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
+ jest-watch-master@1.0.0(jest-validate@30.0.0-alpha.5)(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
dependencies:
chalk: 2.4.2
- jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-validate: 30.0.0-alpha.5
jest-watch-select-projects@2.0.0:
@@ -13419,11 +15168,11 @@ snapshots:
chalk: 3.0.0
prompts: 2.4.2
- jest-watch-typeahead@2.2.2(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
+ jest-watch-typeahead@2.2.2(jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))):
dependencies:
ansi-escapes: 6.2.0
chalk: 5.3.0
- jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
jest-regex-util: 29.6.3
jest-watcher: 29.7.0
slash: 5.1.0
@@ -13476,12 +15225,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
+ jest@30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
dependencies:
- '@jest/core': 30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ '@jest/core': 30.0.0-alpha.5(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
'@jest/types': 30.0.0-alpha.5
import-local: 3.1.0
- jest-cli: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ jest-cli: 30.0.0-alpha.5(@types/node@18.19.21)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -13985,6 +15734,8 @@ snapshots:
object-assign: 4.1.1
thenify-all: 1.6.0
+ nanoid@3.3.7: {}
+
native-duplexpair@1.0.0: {}
natural-compare-lite@1.4.0: {}
@@ -14325,12 +16076,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
- postcss-load-config@4.0.1(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
+ postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)):
dependencies:
lilconfig: 2.1.0
yaml: 2.4.5
optionalDependencies:
- ts-node: 10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
+ postcss: 8.4.38
+ ts-node: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2)
+
+ postcss@8.4.38:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
preferred-pm@3.1.3:
dependencies:
@@ -14439,6 +16197,12 @@ snapshots:
minimist: 1.2.8
strip-json-comments: 2.0.1
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
react-error-boundary@4.0.13(react@18.3.1):
dependencies:
'@babel/runtime': 7.24.7
@@ -14450,12 +16214,48 @@ snapshots:
react-is@18.3.1: {}
+ react-remove-scroll-bar@2.3.4(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1)
+ tslib: 2.6.3
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ react-remove-scroll-bar@2.3.6(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1)
+ tslib: 2.6.3
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ react-remove-scroll@2.5.7(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-remove-scroll-bar: 2.3.6(@types/react@18.3.3)(react@18.3.1)
+ react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1)
+ tslib: 2.6.3
+ use-callback-ref: 1.3.2(@types/react@18.3.3)(react@18.3.1)
+ use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+
react-shallow-renderer@16.15.0(react@18.3.1):
dependencies:
object-assign: 4.1.1
react: 18.3.1
react-is: 18.3.1
+ react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ get-nonce: 1.0.1
+ invariant: 2.2.4
+ react: 18.3.1
+ tslib: 2.6.3
+ optionalDependencies:
+ '@types/react': 18.3.3
+
react-test-renderer@18.3.1(react@18.3.1):
dependencies:
react: 18.3.1
@@ -14934,6 +16734,8 @@ snapshots:
ip-address: 9.0.5
smart-buffer: 4.2.0
+ source-map-js@1.2.0: {}
+
source-map-support@0.4.18:
dependencies:
source-map: 0.5.7
@@ -15146,6 +16948,12 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ swr@2.2.5(react@18.3.1):
+ dependencies:
+ client-only: 0.0.1
+ react: 18.3.1
+ use-sync-external-store: 1.2.2(react@18.3.1)
+
symbol-observable@1.2.0: {}
symbol-tree@3.2.4: {}
@@ -15265,9 +17073,13 @@ snapshots:
dependencies:
typescript: 5.5.2
+ ts-api-utils@1.3.0(typescript@5.5.2):
+ dependencies:
+ typescript: 5.5.2
+
ts-interface-checker@0.1.13: {}
- ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2):
+ ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -15285,7 +17097,7 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.3.93(@swc/helpers@0.5.11)
+ '@swc/core': 1.6.5(@swc/helpers@0.5.11)
tsconfig-paths@3.14.2:
dependencies:
@@ -15298,7 +17110,7 @@ snapshots:
tslib@2.6.3: {}
- tsup@8.1.0(@swc/core@1.3.93(@swc/helpers@0.5.11))(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))(typescript@5.5.2):
+ tsup@8.1.0(@swc/core@1.6.5(@swc/helpers@0.5.11))(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))(typescript@5.5.2):
dependencies:
bundle-require: 4.0.1(esbuild@0.21.5)
cac: 6.7.14
@@ -15308,14 +17120,15 @@ snapshots:
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
- postcss-load-config: 4.0.1(ts-node@10.9.2(@swc/core@1.3.93(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
+ postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@18.19.21)(typescript@5.5.2))
resolve-from: 5.0.0
rollup: 4.18.0
source-map: 0.8.0-beta.0
sucrase: 3.32.0
tree-kill: 1.2.2
optionalDependencies:
- '@swc/core': 1.3.93(@swc/helpers@0.5.11)
+ '@swc/core': 1.6.5(@swc/helpers@0.5.11)
+ postcss: 8.4.38
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
@@ -15509,6 +17322,25 @@ snapshots:
urlpattern-polyfill@8.0.2: {}
+ use-callback-ref@1.3.2(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.6.3
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ use-sidecar@1.1.2(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 18.3.1
+ tslib: 2.6.3
+ optionalDependencies:
+ '@types/react': 18.3.3
+
+ use-sync-external-store@1.2.2(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
utf-8-validate@5.0.10:
dependencies:
node-gyp-build: 4.6.0
@@ -15539,6 +17371,16 @@ snapshots:
vary@1.1.2: {}
+ vite@5.3.1(@types/node@20.12.12)(terser@5.18.0):
+ dependencies:
+ esbuild: 0.21.5
+ postcss: 8.4.38
+ rollup: 4.18.0
+ optionalDependencies:
+ '@types/node': 20.12.12
+ fsevents: 2.3.3
+ terser: 5.18.0
+
w3c-xmlserializer@4.0.0:
dependencies:
xml-name-validator: 4.0.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index dee51e928d8a..091d6e43476b 100755
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,2 +1,3 @@
packages:
+ - "examples/*"
- "packages/*"
diff --git a/turbo.json b/turbo.json
index ca38627e0996..57056fcb2342 100644
--- a/turbo.json
+++ b/turbo.json
@@ -96,6 +96,12 @@
"test:treeshakability:node": {
"dependsOn": ["compile:js"]
},
+ "@solana/example-react-app#build": {
+ "dependsOn": ["^compile:js", "^compile:typedefs"],
+ "env": ["REACT_EXAMPLE_APP_ENABLE_MAINNET"],
+ "inputs": ["$TURBO_DEFAULT$", "index.html", "tsconfig.*", "vite.config.ts", "public/**", "src/**"],
+ "outputs": ["dist/**"]
+ },
"@solana/web3.js#build": {
"dependsOn": [
"clean",
@@ -149,6 +155,9 @@
"@solana/web3.js#test:unit:node": {
"dependsOn": ["compile:js"],
"inputs": ["$TURBO_DEFAULT$", "src/**", "test/**"]
+ },
+ "//#compile:ghpages": {
+ "dependsOn": ["@solana/example-react-app#build", "@solana/web3.js#compile:docs"]
}
},
"ui": "stream"