diff --git a/examples/multichain/.gitignore b/examples/multichain/.gitignore new file mode 100644 index 0000000..b42dedc --- /dev/null +++ b/examples/multichain/.gitignore @@ -0,0 +1,27 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +local_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +llm.txt \ No newline at end of file diff --git a/examples/multichain/README.md b/examples/multichain/README.md new file mode 100644 index 0000000..2efedd0 --- /dev/null +++ b/examples/multichain/README.md @@ -0,0 +1,107 @@ +# MetaMask Multichain SDK Example + +A React application demonstrating how to integrate and use the MetaMask Multichain SDK to interact with multiple blockchain networks. + +## Features + +- Connect to MetaMask across multiple networks +- Switch between Ethereum and Linea networks +- Sign messages using the connected wallet +- Fetch blockchain data (latest block numbers) + +## Prerequisites + +- Node.js +- pnpm +- MetaMask extension installed in your browser +- Local copy of the MetaMask Multichain SDK + +## Setup + +1. Clone the repository +2. Install dependencies: +```bash +pnpm install +``` +3. Create a `local_modules` directory and add the MetaMask Multichain SDK + +## Development + +```bash +pnpm dev +``` + +## Implementation Details + +### Provider Setup + +```typescript +// src/multichain/provider.tsx +import { createContext, type ReactNode, useMemo } from 'react'; +import { MetamaskMultichain } from '@metamask/sdk-multichain'; + +export const MultichainContext = createContext(null); + +export const MultichainProvider = ({ children }: { children: ReactNode }) => { + const client = useMemo(() => new MetamaskMultichain(), []); + return ( + + {children} + + ); +}; +``` + +### Usage Example + +```typescript +// Connect to MetaMask +const connected = await client.connect({ extensionId: EXTENSION_ID }); + +// Create a session +const session = await client.createSession({ + requiredScopes: { + "eip155:1": { + methods: [], + notifications: [], + }, + "eip155:59144": { + methods: [], + notifications: [], + }, + }, +}); + +// Sign a message +await client.invokeMethod({ + scope: "eip155:1", + request: { + method: "personal_sign", + params: [message, address], + }, +}); + +// Fetch block number +await client.invokeMethod({ + scope: network, + request: { + method: "eth_blockNumber", + params: [], + }, +}); +``` + +## Available Networks + +- Ethereum (eip155:1) +- Linea (eip155:59144) + +## Project Structure (relevant files) + +``` +src/ + multichain/ # SDK integration + hooks.ts # React hooks for SDK access + provider.tsx # SDK context provider + constants.tsx # Network configurations +``` \ No newline at end of file diff --git a/examples/multichain/biome.json b/examples/multichain/biome.json new file mode 100644 index 0000000..f85e6eb --- /dev/null +++ b/examples/multichain/biome.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": [] + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2 + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + } +} diff --git a/examples/multichain/index.html b/examples/multichain/index.html new file mode 100644 index 0000000..90557e2 --- /dev/null +++ b/examples/multichain/index.html @@ -0,0 +1,13 @@ + + + + + + + Metamask Multichain Example + + +
+ + + diff --git a/examples/multichain/package.json b/examples/multichain/package.json new file mode 100644 index 0000000..294e2c6 --- /dev/null +++ b/examples/multichain/package.json @@ -0,0 +1,36 @@ +{ + "name": "multichain", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@chakra-ui/react": "^3.8.0", + "@emotion/react": "^11.14.0", + "@metamask/providers": "^20.0.0", + "lucide-react": "^0.468.0", + "next-themes": "^0.4.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-icons": "^5.4.0", + "tslib": "^2.8.1" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.19.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.18", + "globals": "^15.14.0", + "typescript": "~5.7.2", + "typescript-eslint": "^8.22.0", + "vite": "^6.1.0" + } +} diff --git a/examples/multichain/public/metamask-logo.svg b/examples/multichain/public/metamask-logo.svg new file mode 100644 index 0000000..2056ddc --- /dev/null +++ b/examples/multichain/public/metamask-logo.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/multichain/public/noise.svg b/examples/multichain/public/noise.svg new file mode 100644 index 0000000..18410d0 --- /dev/null +++ b/examples/multichain/public/noise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/multichain/public/vite.svg b/examples/multichain/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/examples/multichain/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/multichain/src/App.tsx b/examples/multichain/src/App.tsx new file mode 100644 index 0000000..1ff7cf1 --- /dev/null +++ b/examples/multichain/src/App.tsx @@ -0,0 +1,221 @@ +"use client"; + +import { useState } from "react"; +import { Container, Flex, Box, Image, Link, Button } from "@chakra-ui/react"; +import { useMultichain } from "./multichain/hooks.ts"; +import { ExternalLink } from "lucide-react"; +import { toaster } from "./components/ui/toaster"; +import { BackgroundNoise } from "./components/layout/background.tsx"; +import { EXTENSION_ID, NETWORKS } from "./constants.tsx"; +import { NetworkDropdown } from "./components/app/network-dropdown.tsx"; +import { NotConnectedState } from "./components/app/not-connected-state.tsx"; +import { CardContainer } from "./components/app/card-container.tsx"; + +function App() { + const [isConnected, setIsConnected] = useState(false); + const [currentNetwork, setCurrentNetwork] = useState(NETWORKS[0].value); + const [userAddress, setUserAddress] = useState(null); + + const client = useMultichain(); + + const handleConnect = async () => { + try { + const connected = await client.connect({ extensionId: EXTENSION_ID }); + + if (connected) { + const session = await client.createSession({ + requiredScopes: { + "eip155:1": { + methods: [], + notifications: [], + }, + "eip155:59144": { + methods: [], + notifications: [], + }, + }, + }); + + console.log("[handleConnect] session", session); + + setIsConnected(true); + + if (session.sessionScopes["eip155:1"]?.accounts?.[0]) { + const address = + session.sessionScopes["eip155:1"].accounts[0].split(":")[2]; + setUserAddress(address); + } + } + } catch (error) { + console.error("[handleConnect] failed to connect:", error); + setIsConnected(false); + } + }; + + const handleDisconnect = () => { + client.disconnect(); + setIsConnected(false); + }; + + const handleSignMessage = async () => { + try { + const result = await client.invokeMethod({ + scope: "eip155:1", + request: { + method: "personal_sign", + params: [ + "0x506c65617365207369676e2074686973206d65737361676520746f20636f6e6669726d20796f7572206964656e746974792e", + userAddress, + ], + }, + }); + + console.log("[signMessage] result", result); + + toaster.create({ + title: "Message Signed", + description: "Your message was successfully signed", + type: "success", + duration: 4000, + }); + } catch (error) { + toaster.create({ + title: "Signing Failed", + description: + error instanceof Error ? error.message : "An error occurred", + type: "error", + duration: 4000, + }); + } + }; + + const handleFetchBlockNumber = async () => { + try { + const result = await client.invokeMethod({ + scope: currentNetwork, + request: { + method: "eth_blockNumber", + params: [], + }, + }); + + console.log("[fetchBlockNumber] result", result); + + const blockNum = Number.parseInt(result as string, 16).toLocaleString(); // Convert hex to decimal and format + + toaster.create({ + title: "Block Number Retrieved", + description: `Latest block number: ${blockNum}`, + type: "success", + duration: 4000, + }); + } catch (error) { + console.error("[fetchBlockNumber] failed to fetch block number:", error); + + toaster.create({ + title: "Failed to Fetch Block Number", + description: + error instanceof Error ? error.message : "An error occurred", + type: "error", + duration: 4000, + }); + } + }; + + const handleNetworkChange = (value: string) => { + setCurrentNetwork(value); + }; + + return ( + <> + + + + + Logo + + {isConnected && ( + + )} + + + + + + + {isConnected ? ( + + + + + + + + + + + + Documentation + + + GitHub Repository + + + API Reference + + + + + ) : ( + + )} + + + + ); +} + +export default App; diff --git a/examples/multichain/src/components/app/card-container.tsx b/examples/multichain/src/components/app/card-container.tsx new file mode 100644 index 0000000..2e4446c --- /dev/null +++ b/examples/multichain/src/components/app/card-container.tsx @@ -0,0 +1,24 @@ +import { Box, Text } from "@chakra-ui/react"; +import type { ReactNode } from "react"; + +type Props = { + title: string; + description?: string; + children: ReactNode; +}; + +export function CardContainer({ title, description, children }: Props) { + return ( + + + {title} + + {description && ( + + {description} + + )} + {children} + + ); +} diff --git a/examples/multichain/src/components/app/network-dropdown.tsx b/examples/multichain/src/components/app/network-dropdown.tsx new file mode 100644 index 0000000..fed86bd --- /dev/null +++ b/examples/multichain/src/components/app/network-dropdown.tsx @@ -0,0 +1,35 @@ +import { createListCollection } from "@chakra-ui/react"; +import { NETWORKS } from "../../constants.tsx"; +import { NativeSelectField, NativeSelectRoot } from "../ui/native-select.tsx"; + +const networks = createListCollection({ items: NETWORKS }); + +type NetworkDropdownProps = { + network: string; + onNetworkChange: (value: string) => void; +}; + +export const NetworkDropdown = ({ + network, + onNetworkChange, +}: NetworkDropdownProps) => { + return ( + + onNetworkChange(e.target.value)} + bg="white" + color="black" + borderRadius="sm" + border="none" + fontWeight="medium" + > + {networks.items.map((network) => ( + + ))} + + + ); +}; diff --git a/examples/multichain/src/components/app/not-connected-state.tsx b/examples/multichain/src/components/app/not-connected-state.tsx new file mode 100644 index 0000000..50c5bb9 --- /dev/null +++ b/examples/multichain/src/components/app/not-connected-state.tsx @@ -0,0 +1,17 @@ +import { Flex, Box, Text } from "@chakra-ui/react"; + +export function NotConnectedState() { + return ( + + + 🔒 + + + Not connected + + + Connect your wallet to get started + + + ); +} diff --git a/examples/multichain/src/components/layout/background.tsx b/examples/multichain/src/components/layout/background.tsx new file mode 100644 index 0000000..7714640 --- /dev/null +++ b/examples/multichain/src/components/layout/background.tsx @@ -0,0 +1,32 @@ +import { Box } from "@chakra-ui/react"; + +export function BackgroundNoise() { + return ( + + ); +} diff --git a/examples/multichain/src/components/ui/avatar.tsx b/examples/multichain/src/components/ui/avatar.tsx new file mode 100644 index 0000000..94e2582 --- /dev/null +++ b/examples/multichain/src/components/ui/avatar.tsx @@ -0,0 +1,74 @@ +"use client"; + +import type { GroupProps, SlotRecipeProps } from "@chakra-ui/react"; +import { Avatar as ChakraAvatar, Group } from "@chakra-ui/react"; +import * as React from "react"; + +type ImageProps = React.ImgHTMLAttributes; + +export interface AvatarProps extends ChakraAvatar.RootProps { + name?: string; + src?: string; + srcSet?: string; + loading?: ImageProps["loading"]; + icon?: React.ReactElement; + fallback?: React.ReactNode; +} + +export const Avatar = React.forwardRef( + function Avatar(props, ref) { + const { name, src, srcSet, loading, icon, fallback, children, ...rest } = + props; + return ( + + + {fallback} + + + {children} + + ); + }, +); + +interface AvatarFallbackProps extends ChakraAvatar.FallbackProps { + name?: string; + icon?: React.ReactElement; +} + +const AvatarFallback = React.forwardRef( + function AvatarFallback(props, ref) { + const { name, icon, children, ...rest } = props; + return ( + + {children} + {name != null && children == null && <>{getInitials(name)}} + {name == null && children == null && ( + {icon} + )} + + ); + }, +); + +function getInitials(name: string) { + const names = name.trim().split(" "); + const firstName = names[0] != null ? names[0] : ""; + const lastName = names.length > 1 ? names[names.length - 1] : ""; + return firstName && lastName + ? `${firstName.charAt(0)}${lastName.charAt(0)}` + : firstName.charAt(0); +} + +interface AvatarGroupProps extends GroupProps, SlotRecipeProps<"avatar"> {} + +export const AvatarGroup = React.forwardRef( + function AvatarGroup(props, ref) { + const { size, variant, borderless, ...rest } = props; + return ( + + + + ); + }, +); diff --git a/examples/multichain/src/components/ui/checkbox.tsx b/examples/multichain/src/components/ui/checkbox.tsx new file mode 100644 index 0000000..6f2c86d --- /dev/null +++ b/examples/multichain/src/components/ui/checkbox.tsx @@ -0,0 +1,25 @@ +import { Checkbox as ChakraCheckbox } from "@chakra-ui/react"; +import * as React from "react"; + +export interface CheckboxProps extends ChakraCheckbox.RootProps { + icon?: React.ReactNode; + inputProps?: React.InputHTMLAttributes; + rootRef?: React.Ref; +} + +export const Checkbox = React.forwardRef( + function Checkbox(props, ref) { + const { icon, children, inputProps, rootRef, ...rest } = props; + return ( + + + + {icon || } + + {children != null && ( + {children} + )} + + ); + }, +); diff --git a/examples/multichain/src/components/ui/close-button.tsx b/examples/multichain/src/components/ui/close-button.tsx new file mode 100644 index 0000000..8dc4448 --- /dev/null +++ b/examples/multichain/src/components/ui/close-button.tsx @@ -0,0 +1,17 @@ +import type { ButtonProps } from "@chakra-ui/react"; +import { IconButton as ChakraIconButton } from "@chakra-ui/react"; +import * as React from "react"; +import { LuX } from "react-icons/lu"; + +export type CloseButtonProps = ButtonProps; + +export const CloseButton = React.forwardRef< + HTMLButtonElement, + CloseButtonProps +>(function CloseButton(props, ref) { + return ( + + {props.children ?? } + + ); +}); diff --git a/examples/multichain/src/components/ui/color-mode.tsx b/examples/multichain/src/components/ui/color-mode.tsx new file mode 100644 index 0000000..bd42058 --- /dev/null +++ b/examples/multichain/src/components/ui/color-mode.tsx @@ -0,0 +1,107 @@ +"use client"; + +import type { IconButtonProps, SpanProps } from "@chakra-ui/react"; +import { ClientOnly, IconButton, Skeleton, Span } from "@chakra-ui/react"; +import { ThemeProvider, useTheme } from "next-themes"; +import type { ThemeProviderProps } from "next-themes"; +import * as React from "react"; +import { LuMoon, LuSun } from "react-icons/lu"; + +export interface ColorModeProviderProps extends ThemeProviderProps {} + +export function ColorModeProvider(props: ColorModeProviderProps) { + return ( + + ); +} + +export type ColorMode = "light" | "dark"; + +export interface UseColorModeReturn { + colorMode: ColorMode; + setColorMode: (colorMode: ColorMode) => void; + toggleColorMode: () => void; +} + +export function useColorMode(): UseColorModeReturn { + const { resolvedTheme, setTheme } = useTheme(); + const toggleColorMode = () => { + setTheme(resolvedTheme === "dark" ? "light" : "dark"); + }; + return { + colorMode: resolvedTheme as ColorMode, + setColorMode: setTheme, + toggleColorMode, + }; +} + +export function useColorModeValue(light: T, dark: T) { + const { colorMode } = useColorMode(); + return colorMode === "dark" ? dark : light; +} + +export function ColorModeIcon() { + const { colorMode } = useColorMode(); + return colorMode === "dark" ? : ; +} + +interface ColorModeButtonProps extends Omit {} + +export const ColorModeButton = React.forwardRef< + HTMLButtonElement, + ColorModeButtonProps +>(function ColorModeButton(props, ref) { + const { toggleColorMode } = useColorMode(); + return ( + }> + + + + + ); +}); + +export const LightMode = React.forwardRef( + function LightMode(props, ref) { + return ( + + ); + }, +); + +export const DarkMode = React.forwardRef( + function DarkMode(props, ref) { + return ( + + ); + }, +); diff --git a/examples/multichain/src/components/ui/dialog.tsx b/examples/multichain/src/components/ui/dialog.tsx new file mode 100644 index 0000000..e954059 --- /dev/null +++ b/examples/multichain/src/components/ui/dialog.tsx @@ -0,0 +1,62 @@ +import { Dialog as ChakraDialog, Portal } from "@chakra-ui/react"; +import { CloseButton } from "./close-button"; +import * as React from "react"; + +interface DialogContentProps extends ChakraDialog.ContentProps { + portalled?: boolean; + portalRef?: React.RefObject; + backdrop?: boolean; +} + +export const DialogContent = React.forwardRef< + HTMLDivElement, + DialogContentProps +>(function DialogContent(props, ref) { + const { + children, + portalled = true, + portalRef, + backdrop = true, + ...rest + } = props; + + return ( + + {backdrop && } + + + {children} + + + + ); +}); + +export const DialogCloseTrigger = React.forwardRef< + HTMLButtonElement, + ChakraDialog.CloseTriggerProps +>(function DialogCloseTrigger(props, ref) { + return ( + + + {props.children} + + + ); +}); + +export const DialogRoot = ChakraDialog.Root; +export const DialogFooter = ChakraDialog.Footer; +export const DialogHeader = ChakraDialog.Header; +export const DialogBody = ChakraDialog.Body; +export const DialogBackdrop = ChakraDialog.Backdrop; +export const DialogTitle = ChakraDialog.Title; +export const DialogDescription = ChakraDialog.Description; +export const DialogTrigger = ChakraDialog.Trigger; +export const DialogActionTrigger = ChakraDialog.ActionTrigger; diff --git a/examples/multichain/src/components/ui/drawer.tsx b/examples/multichain/src/components/ui/drawer.tsx new file mode 100644 index 0000000..447c57a --- /dev/null +++ b/examples/multichain/src/components/ui/drawer.tsx @@ -0,0 +1,52 @@ +import { Drawer as ChakraDrawer, Portal } from "@chakra-ui/react"; +import { CloseButton } from "./close-button"; +import * as React from "react"; + +interface DrawerContentProps extends ChakraDrawer.ContentProps { + portalled?: boolean; + portalRef?: React.RefObject; + offset?: ChakraDrawer.ContentProps["padding"]; +} + +export const DrawerContent = React.forwardRef< + HTMLDivElement, + DrawerContentProps +>(function DrawerContent(props, ref) { + const { children, portalled = true, portalRef, offset, ...rest } = props; + return ( + + + + {children} + + + + ); +}); + +export const DrawerCloseTrigger = React.forwardRef< + HTMLButtonElement, + ChakraDrawer.CloseTriggerProps +>(function DrawerCloseTrigger(props, ref) { + return ( + + + + ); +}); + +export const DrawerTrigger = ChakraDrawer.Trigger; +export const DrawerRoot = ChakraDrawer.Root; +export const DrawerFooter = ChakraDrawer.Footer; +export const DrawerHeader = ChakraDrawer.Header; +export const DrawerBody = ChakraDrawer.Body; +export const DrawerBackdrop = ChakraDrawer.Backdrop; +export const DrawerDescription = ChakraDrawer.Description; +export const DrawerTitle = ChakraDrawer.Title; +export const DrawerActionTrigger = ChakraDrawer.ActionTrigger; diff --git a/examples/multichain/src/components/ui/field.tsx b/examples/multichain/src/components/ui/field.tsx new file mode 100644 index 0000000..4cb5529 --- /dev/null +++ b/examples/multichain/src/components/ui/field.tsx @@ -0,0 +1,33 @@ +import { Field as ChakraField } from "@chakra-ui/react"; +import * as React from "react"; + +export interface FieldProps extends Omit { + label?: React.ReactNode; + helperText?: React.ReactNode; + errorText?: React.ReactNode; + optionalText?: React.ReactNode; +} + +export const Field = React.forwardRef( + function Field(props, ref) { + const { label, children, helperText, errorText, optionalText, ...rest } = + props; + return ( + + {label && ( + + {label} + + + )} + {children} + {helperText && ( + {helperText} + )} + {errorText && ( + {errorText} + )} + + ); + }, +); diff --git a/examples/multichain/src/components/ui/input-group.tsx b/examples/multichain/src/components/ui/input-group.tsx new file mode 100644 index 0000000..992eb0f --- /dev/null +++ b/examples/multichain/src/components/ui/input-group.tsx @@ -0,0 +1,53 @@ +import type { BoxProps, InputElementProps } from "@chakra-ui/react"; +import { Group, InputElement } from "@chakra-ui/react"; +import * as React from "react"; + +export interface InputGroupProps extends BoxProps { + startElementProps?: InputElementProps; + endElementProps?: InputElementProps; + startElement?: React.ReactNode; + endElement?: React.ReactNode; + children: React.ReactElement; + startOffset?: InputElementProps["paddingStart"]; + endOffset?: InputElementProps["paddingEnd"]; +} + +export const InputGroup = React.forwardRef( + function InputGroup(props, ref) { + const { + startElement, + startElementProps, + endElement, + endElementProps, + children, + startOffset = "6px", + endOffset = "6px", + ...rest + } = props; + + const child = + React.Children.only>(children); + + return ( + + {startElement && ( + + {startElement} + + )} + {React.cloneElement(child, { + ...(startElement && { + ps: `calc(var(--input-height) - ${startOffset})`, + }), + ...(endElement && { pe: `calc(var(--input-height) - ${endOffset})` }), + ...children.props, + })} + {endElement && ( + + {endElement} + + )} + + ); + }, +); diff --git a/examples/multichain/src/components/ui/native-select.tsx b/examples/multichain/src/components/ui/native-select.tsx new file mode 100644 index 0000000..2cd023b --- /dev/null +++ b/examples/multichain/src/components/ui/native-select.tsx @@ -0,0 +1,57 @@ +"use client"; + +import { NativeSelect as Select } from "@chakra-ui/react"; +import * as React from "react"; + +interface NativeSelectRootProps extends Select.RootProps { + icon?: React.ReactNode; +} + +export const NativeSelectRoot = React.forwardRef< + HTMLDivElement, + NativeSelectRootProps +>(function NativeSelect(props, ref) { + const { icon, children, ...rest } = props; + return ( + + {children} + {icon} + + ); +}); + +interface NativeSelectItem { + value: string; + label: string; + disabled?: boolean; +} + +interface NativeSelectField extends Select.FieldProps { + items?: Array; +} + +export const NativeSelectField = React.forwardRef< + HTMLSelectElement, + NativeSelectField +>(function NativeSelectField(props, ref) { + const { items: itemsProp, children, ...rest } = props; + + const items = React.useMemo( + () => + itemsProp?.map((item) => + typeof item === "string" ? { label: item, value: item } : item, + ), + [itemsProp], + ); + + return ( + + {children} + {items?.map((item) => ( + + ))} + + ); +}); diff --git a/examples/multichain/src/components/ui/popover.tsx b/examples/multichain/src/components/ui/popover.tsx new file mode 100644 index 0000000..0262a89 --- /dev/null +++ b/examples/multichain/src/components/ui/popover.tsx @@ -0,0 +1,59 @@ +import { Popover as ChakraPopover, Portal } from "@chakra-ui/react"; +import { CloseButton } from "./close-button"; +import * as React from "react"; + +interface PopoverContentProps extends ChakraPopover.ContentProps { + portalled?: boolean; + portalRef?: React.RefObject; +} + +export const PopoverContent = React.forwardRef< + HTMLDivElement, + PopoverContentProps +>(function PopoverContent(props, ref) { + const { portalled = true, portalRef, ...rest } = props; + return ( + + + + + + ); +}); + +export const PopoverArrow = React.forwardRef< + HTMLDivElement, + ChakraPopover.ArrowProps +>(function PopoverArrow(props, ref) { + return ( + + + + ); +}); + +export const PopoverCloseTrigger = React.forwardRef< + HTMLButtonElement, + ChakraPopover.CloseTriggerProps +>(function PopoverCloseTrigger(props, ref) { + return ( + + + + ); +}); + +export const PopoverTitle = ChakraPopover.Title; +export const PopoverDescription = ChakraPopover.Description; +export const PopoverFooter = ChakraPopover.Footer; +export const PopoverHeader = ChakraPopover.Header; +export const PopoverRoot = ChakraPopover.Root; +export const PopoverBody = ChakraPopover.Body; +export const PopoverTrigger = ChakraPopover.Trigger; diff --git a/examples/multichain/src/components/ui/provider.tsx b/examples/multichain/src/components/ui/provider.tsx new file mode 100644 index 0000000..c1f896c --- /dev/null +++ b/examples/multichain/src/components/ui/provider.tsx @@ -0,0 +1,12 @@ +"use client"; + +import { ChakraProvider, defaultSystem } from "@chakra-ui/react"; +import { ColorModeProvider, type ColorModeProviderProps } from "./color-mode"; + +export function Provider(props: ColorModeProviderProps) { + return ( + + + + ); +} diff --git a/examples/multichain/src/components/ui/radio.tsx b/examples/multichain/src/components/ui/radio.tsx new file mode 100644 index 0000000..365e1d2 --- /dev/null +++ b/examples/multichain/src/components/ui/radio.tsx @@ -0,0 +1,24 @@ +import { RadioGroup as ChakraRadioGroup } from "@chakra-ui/react"; +import * as React from "react"; + +export interface RadioProps extends ChakraRadioGroup.ItemProps { + rootRef?: React.Ref; + inputProps?: React.InputHTMLAttributes; +} + +export const Radio = React.forwardRef( + function Radio(props, ref) { + const { children, inputProps, rootRef, ...rest } = props; + return ( + + + + {children && ( + {children} + )} + + ); + }, +); + +export const RadioGroup = ChakraRadioGroup.Root; diff --git a/examples/multichain/src/components/ui/select.tsx b/examples/multichain/src/components/ui/select.tsx new file mode 100644 index 0000000..6588013 --- /dev/null +++ b/examples/multichain/src/components/ui/select.tsx @@ -0,0 +1,143 @@ +"use client"; + +import type { CollectionItem } from "@chakra-ui/react"; +import { Select as ChakraSelect, Portal } from "@chakra-ui/react"; +import { CloseButton } from "./close-button"; +import * as React from "react"; + +interface SelectTriggerProps extends ChakraSelect.ControlProps { + clearable?: boolean; +} + +export const SelectTrigger = React.forwardRef< + HTMLButtonElement, + SelectTriggerProps +>(function SelectTrigger(props, ref) { + const { children, clearable, ...rest } = props; + return ( + + {children} + + {clearable && } + + + + ); +}); + +const SelectClearTrigger = React.forwardRef< + HTMLButtonElement, + ChakraSelect.ClearTriggerProps +>(function SelectClearTrigger(props, ref) { + return ( + + + + ); +}); + +interface SelectContentProps extends ChakraSelect.ContentProps { + portalled?: boolean; + portalRef?: React.RefObject; +} + +export const SelectContent = React.forwardRef< + HTMLDivElement, + SelectContentProps +>(function SelectContent(props, ref) { + const { portalled = true, portalRef, ...rest } = props; + return ( + + + + + + ); +}); + +export const SelectItem = React.forwardRef< + HTMLDivElement, + ChakraSelect.ItemProps +>(function SelectItem(props, ref) { + const { item, children, ...rest } = props; + return ( + + {children} + + + ); +}); + +interface SelectValueTextProps + extends Omit { + children?(items: CollectionItem[]): React.ReactNode; +} + +export const SelectValueText = React.forwardRef< + HTMLSpanElement, + SelectValueTextProps +>(function SelectValueText(props, ref) { + const { children, ...rest } = props; + return ( + + + {(select) => { + const items = select.selectedItems; + if (items.length === 0) return props.placeholder; + if (children) return children(items); + if (items.length === 1) + return select.collection.stringifyItem(items[0]); + return `${items.length} selected`; + }} + + + ); +}); + +export const SelectRoot = React.forwardRef< + HTMLDivElement, + ChakraSelect.RootProps +>(function SelectRoot(props, ref) { + return ( + + {props.asChild ? ( + props.children + ) : ( + <> + + {props.children} + + )} + + ); +}) as ChakraSelect.RootComponent; + +interface SelectItemGroupProps extends ChakraSelect.ItemGroupProps { + label: React.ReactNode; +} + +export const SelectItemGroup = React.forwardRef< + HTMLDivElement, + SelectItemGroupProps +>(function SelectItemGroup(props, ref) { + const { children, label, ...rest } = props; + return ( + + {label} + {children} + + ); +}); + +export const SelectLabel = ChakraSelect.Label; +export const SelectItemText = ChakraSelect.ItemText; diff --git a/examples/multichain/src/components/ui/slider.tsx b/examples/multichain/src/components/ui/slider.tsx new file mode 100644 index 0000000..e3eaf52 --- /dev/null +++ b/examples/multichain/src/components/ui/slider.tsx @@ -0,0 +1,82 @@ +import { Slider as ChakraSlider, For, HStack } from "@chakra-ui/react"; +import * as React from "react"; + +export interface SliderProps extends ChakraSlider.RootProps { + marks?: Array; + label?: React.ReactNode; + showValue?: boolean; +} + +export const Slider = React.forwardRef( + function Slider(props, ref) { + const { marks: marksProp, label, showValue, ...rest } = props; + const value = props.defaultValue ?? props.value; + + const marks = marksProp?.map((mark) => { + if (typeof mark === "number") return { value: mark, label: undefined }; + return mark; + }); + + const hasMarkLabel = !!marks?.some((mark) => mark.label); + + return ( + + {label && !showValue && ( + {label} + )} + {label && showValue && ( + + {label} + + + )} + + + + + + + + + ); + }, +); + +function SliderThumbs(props: { value?: number[] }) { + const { value } = props; + return ( + + {(_, index) => ( + + + + )} + + ); +} + +interface SliderMarksProps { + marks?: Array; +} + +const SliderMarks = React.forwardRef( + function SliderMarks(props, ref) { + const { marks } = props; + if (!marks?.length) return null; + + return ( + + {marks.map((mark, index) => { + const value = typeof mark === "number" ? mark : mark.value; + const label = typeof mark === "number" ? undefined : mark.label; + return ( + + + {label} + + ); + })} + + ); + }, +); diff --git a/examples/multichain/src/components/ui/toaster.tsx b/examples/multichain/src/components/ui/toaster.tsx new file mode 100644 index 0000000..a2b882c --- /dev/null +++ b/examples/multichain/src/components/ui/toaster.tsx @@ -0,0 +1,43 @@ +"use client"; + +import { + Toaster as ChakraToaster, + Portal, + Spinner, + Stack, + Toast, + createToaster, +} from "@chakra-ui/react"; + +export const toaster = createToaster({ + placement: "bottom-end", + pauseOnPageIdle: true, +}); + +export const Toaster = () => { + return ( + + + {(toast) => ( + + {toast.type === "loading" ? ( + + ) : ( + + )} + + {toast.title && {toast.title}} + {toast.description && ( + {toast.description} + )} + + {toast.action && ( + {toast.action.label} + )} + {toast.meta?.closable && } + + )} + + + ); +}; diff --git a/examples/multichain/src/components/ui/tooltip.tsx b/examples/multichain/src/components/ui/tooltip.tsx new file mode 100644 index 0000000..66fb414 --- /dev/null +++ b/examples/multichain/src/components/ui/tooltip.tsx @@ -0,0 +1,46 @@ +import { Tooltip as ChakraTooltip, Portal } from "@chakra-ui/react"; +import * as React from "react"; + +export interface TooltipProps extends ChakraTooltip.RootProps { + showArrow?: boolean; + portalled?: boolean; + portalRef?: React.RefObject; + content: React.ReactNode; + contentProps?: ChakraTooltip.ContentProps; + disabled?: boolean; +} + +export const Tooltip = React.forwardRef( + function Tooltip(props, ref) { + const { + showArrow, + children, + disabled, + portalled = true, + content, + contentProps, + portalRef, + ...rest + } = props; + + if (disabled) return children; + + return ( + + {children} + + + + {showArrow && ( + + + + )} + {content} + + + + + ); + }, +); diff --git a/examples/multichain/src/constants.tsx b/examples/multichain/src/constants.tsx new file mode 100644 index 0000000..f015e09 --- /dev/null +++ b/examples/multichain/src/constants.tsx @@ -0,0 +1,12 @@ +export const EXTENSION_ID = "eklmonnmoaepkgaomjcefmimkkfikokn"; + +export const NETWORKS = [ + { + label: "Ethereum", + value: "eip155:1", + }, + { + label: "Linea", + value: "eip155:59144", + }, +]; diff --git a/examples/multichain/src/main.tsx b/examples/multichain/src/main.tsx new file mode 100644 index 0000000..5aec98e --- /dev/null +++ b/examples/multichain/src/main.tsx @@ -0,0 +1,17 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import App from "./App.tsx"; +import { Provider as ChakraProvider } from "./components/ui/provider"; +import { MultichainProvider } from "./multichain/provider.tsx"; +import { Toaster } from "./components/ui/toaster"; + +createRoot(document.getElementById("root")!).render( + + + + + + + + , +); diff --git a/examples/multichain/src/multichain/hooks.ts b/examples/multichain/src/multichain/hooks.ts new file mode 100644 index 0000000..6bbef9f --- /dev/null +++ b/examples/multichain/src/multichain/hooks.ts @@ -0,0 +1,10 @@ +import { useContext } from "react"; +import { MultichainContext } from "./provider"; + +export const useMultichain = () => { + const client = useContext(MultichainContext); + if (!client) { + throw new Error("Multichain client not found"); + } + return client; +}; diff --git a/examples/multichain/src/multichain/provider.tsx b/examples/multichain/src/multichain/provider.tsx new file mode 100644 index 0000000..bc91a3f --- /dev/null +++ b/examples/multichain/src/multichain/provider.tsx @@ -0,0 +1,18 @@ +import { createContext, type ReactNode, type FC, useMemo } from "react"; +import { MetamaskMultichain } from "@metamask/sdk-multichain"; + +export const MultichainContext = createContext(null); + +type Props = { + children: ReactNode; +}; + +export const MultichainProvider: FC = ({ children }) => { + const client = useMemo(() => new MetamaskMultichain(), []); + + return ( + + {children} + + ); +}; diff --git a/examples/multichain/src/vite-env.d.ts b/examples/multichain/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/examples/multichain/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/multichain/tsconfig.app.json b/examples/multichain/tsconfig.app.json new file mode 100644 index 0000000..358ca9b --- /dev/null +++ b/examples/multichain/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "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, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/examples/multichain/tsconfig.json b/examples/multichain/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/examples/multichain/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/examples/multichain/tsconfig.node.json b/examples/multichain/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/examples/multichain/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/examples/multichain/vite.config.ts b/examples/multichain/vite.config.ts new file mode 100644 index 0000000..6a93c6e --- /dev/null +++ b/examples/multichain/vite.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: [ + { + find: "@metamask/sdk-multichain", + replacement: "/local_modules/@metamask/sdk-multichain", + }, + ], + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de8af2a..055ba89 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,6 +18,70 @@ importers: specifier: 5.5.4 version: 5.5.4 + examples/multichain: + dependencies: + '@chakra-ui/react': + specifier: ^3.8.0 + version: 3.8.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@emotion/react': + specifier: ^11.14.0 + version: 11.14.0(@types/react@19.0.8)(react@19.0.0) + '@metamask/providers': + specifier: ^20.0.0 + version: 20.0.0(webextension-polyfill@0.10.0) + lucide-react: + specifier: ^0.468.0 + version: 0.468.0(react@19.0.0) + next-themes: + specifier: ^0.4.4 + version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + react-icons: + specifier: ^5.4.0 + version: 5.4.0(react@19.0.0) + tslib: + specifier: ^2.8.1 + version: 2.8.1 + devDependencies: + '@eslint/js': + specifier: ^9.19.0 + version: 9.20.0 + '@types/react': + specifier: ^19.0.8 + version: 19.0.8 + '@types/react-dom': + specifier: ^19.0.3 + version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.3.4(vite@6.1.0(@types/node@20.17.6)(jiti@2.4.1)(yaml@2.6.1)) + eslint: + specifier: ^9.19.0 + version: 9.20.0(jiti@2.4.1) + eslint-plugin-react-hooks: + specifier: ^5.0.0 + version: 5.0.0(eslint@9.20.0(jiti@2.4.1)) + eslint-plugin-react-refresh: + specifier: ^0.4.18 + version: 0.4.19(eslint@9.20.0(jiti@2.4.1)) + globals: + specifier: ^15.14.0 + version: 15.14.0 + typescript: + specifier: ~5.7.2 + version: 5.7.3 + typescript-eslint: + specifier: ^8.22.0 + version: 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + vite: + specifier: ^6.1.0 + version: 6.1.0(@types/node@20.17.6)(jiti@2.4.1)(yaml@2.6.1) + examples/quickstart: dependencies: '@radix-ui/react-dropdown-menu': @@ -172,6 +236,83 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ark-ui/react@4.9.1': + resolution: {integrity: sha512-grnfoSUrGxN0VMgtf4yvpMgin2T4ERINqYm3x/XKny+q2iIO76PD7yjNP7IW+CDmNxy3QPOidcvRiCyy6x0LGA==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.8': + resolution: {integrity: sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.8': + resolution: {integrity: sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.7': + resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.8': + resolution: {integrity: sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime-corejs3@7.26.0': resolution: {integrity: sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==} engines: {node: '>=6.9.0'} @@ -180,6 +321,25 @@ packages: resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} + '@babel/template@7.26.8': + resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.8': + resolution: {integrity: sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.8': + resolution: {integrity: sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==} + engines: {node: '>=6.9.0'} + + '@chakra-ui/react@3.8.0': + resolution: {integrity: sha512-UOkDxxMYHqQ6z/ExMcLYnjIIj2Ulu6syAkrpSueYmzLlG93cljkMCze5y9GXh/M6fyQEbLBuDVesULTqMmHuiA==} + peerDependencies: + '@emotion/react': '>=11' + react: '>=18' + react-dom: '>=18' + '@coinbase/wallet-sdk@3.9.3': resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} @@ -199,6 +359,200 @@ packages: '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.3.1': + resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -213,6 +567,14 @@ packages: resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.11.0': + resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.9.0': resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -225,6 +587,10 @@ packages: resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.20.0': + resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -233,6 +599,10 @@ packages: resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ethereumjs/common@3.2.0': resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==} @@ -389,6 +759,12 @@ packages: cpu: [x64] os: [win32] + '@internationalized/date@3.7.0': + resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} + + '@internationalized/number@3.6.0': + resolution: {integrity: sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -424,6 +800,10 @@ packages: resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} engines: {node: '>=14.0.0'} + '@metamask/json-rpc-engine@10.0.3': + resolution: {integrity: sha512-p01QhlLIiTFXivEJCRx0LXEvPUaUPCedI9A8qV9jcLGGNSj1UTWM9GeifoeTweOMdmpIk5Rxg10H9f0JPUC9Ig==} + engines: {node: ^18.18 || >=20} + '@metamask/json-rpc-engine@7.3.3': resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} engines: {node: '>=16.0.0'} @@ -436,6 +816,10 @@ packages: resolution: {integrity: sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==} engines: {node: '>=16.0.0'} + '@metamask/json-rpc-middleware-stream@8.0.6': + resolution: {integrity: sha512-wE2CfuNZHnWbSjLEPCCb4MSyWgbQBUI5cslGZb+uRdXNzYOM/RDfq8FAdl6HhjmldHKdBFCW0L3kDr8frgahqA==} + engines: {node: ^18.18 || >=20} + '@metamask/object-multiplex@2.1.0': resolution: {integrity: sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA==} engines: {node: ^16.20 || ^18.16 || >=20} @@ -447,10 +831,20 @@ packages: resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==} engines: {node: ^18.18 || >=20} + '@metamask/providers@20.0.0': + resolution: {integrity: sha512-DbTTBAJYGbEQUXOhF/vsmV2Ge8h5RRBKtc+YgeWge5Xa9p1VunaZxTcmQe7XpU0Vs5yHWkbLeZxyxz/571Cn8g==} + engines: {node: ^18.18 || >=20} + peerDependencies: + webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 + '@metamask/rpc-errors@6.4.0': resolution: {integrity: sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==} engines: {node: '>=16.0.0'} + '@metamask/rpc-errors@7.0.2': + resolution: {integrity: sha512-YYYHsVYd46XwY2QZzpGeU4PSdRhHdxnzkB8piWGvJW2xbikZ3R+epAYEL4q/K8bh9JPTucsUdwRFnACor1aOYw==} + engines: {node: ^18.20 || ^20.17 || >=22} + '@metamask/safe-event-emitter@2.0.0': resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} @@ -477,6 +871,10 @@ packages: resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} engines: {node: '>=16.0.0'} + '@metamask/utils@11.1.0': + resolution: {integrity: sha512-lhR3sEZisT6hVBrnS3Ftgg9FRUFca0/5fcxDA+5paqLo4YYE6euV7622l0Qi3yMwy4mlgrrDTBiPSTXtCUKrdg==} + engines: {node: ^18.18 || ^20.14 || >=22} + '@metamask/utils@5.0.2': resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==} engines: {node: '>=14.0.0'} @@ -610,6 +1008,9 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@pandacss/is-valid-prop@0.41.0': + resolution: {integrity: sha512-BE6h6CsJk14ugIRrsazJtN3fcg+KDFRat1Bs93YFKH6jd4DOb1yUyVvC70jKqPVvg70zEcV8acZ7VdcU5TLu+w==} + '@parcel/watcher-android-arm64@2.5.0': resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} engines: {node: '>= 10.0.0'} @@ -975,6 +1376,101 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@rollup/rollup-android-arm-eabi@4.34.6': + resolution: {integrity: sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.34.6': + resolution: {integrity: sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.34.6': + resolution: {integrity: sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.34.6': + resolution: {integrity: sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.34.6': + resolution: {integrity: sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.34.6': + resolution: {integrity: sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.34.6': + resolution: {integrity: sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.34.6': + resolution: {integrity: sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.34.6': + resolution: {integrity: sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.34.6': + resolution: {integrity: sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.34.6': + resolution: {integrity: sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.34.6': + resolution: {integrity: sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.34.6': + resolution: {integrity: sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.34.6': + resolution: {integrity: sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.34.6': + resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.34.6': + resolution: {integrity: sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.34.6': + resolution: {integrity: sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.34.6': + resolution: {integrity: sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.34.6': + resolution: {integrity: sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==} + cpu: [x64] + os: [win32] + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -1101,12 +1597,27 @@ packages: '@turbo/workspaces@1.13.4': resolution: {integrity: sha512-3uYg2b5TWCiupetbDFMbBFMHl33xQTvp5DNg0fZSYal73Z9AlFH9yWabHWMYw6ywmwM1evkYRpTVA2n7GgqT5A==} + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/gensync@1.0.4': + resolution: {integrity: sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -1128,6 +1639,9 @@ packages: '@types/node@20.17.6': resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/prop-types@15.7.13': resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} @@ -1139,12 +1653,20 @@ packages: peerDependencies: '@types/react': ^19.0.0 + '@types/react-dom@19.0.3': + resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==} + peerDependencies: + '@types/react': ^19.0.0 + '@types/react@18.3.0': resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==} '@types/react@19.0.1': resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} + '@types/react@19.0.8': + resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} + '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} @@ -1165,6 +1687,14 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.24.0': + resolution: {integrity: sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/parser@8.15.0': resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1175,10 +1705,21 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.24.0': + resolution: {integrity: sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/scope-manager@8.15.0': resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.24.0': + resolution: {integrity: sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.15.0': resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1189,10 +1730,21 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.24.0': + resolution: {integrity: sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/types@8.15.0': resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.24.0': + resolution: {integrity: sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.15.0': resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1202,6 +1754,12 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.24.0': + resolution: {integrity: sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/utils@8.15.0': resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1212,10 +1770,27 @@ packages: typescript: optional: true + '@typescript-eslint/utils@8.24.0': + resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/visitor-keys@8.15.0': resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.24.0': + resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react@4.3.4': + resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + '@wagmi/connectors@5.7.4': resolution: {integrity: sha512-ubecKH0grfkfjTB17l1V6Gj4SCMTvCtie7Bq0oQdjqA3Z7zf+F/RAwZoehxkPnSyeK6pFotUlUSr82J3bNhPqA==} peerDependencies: @@ -1319,6 +1894,207 @@ packages: '@walletconnect/window-metadata@1.0.1': resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + '@zag-js/accordion@0.82.1': + resolution: {integrity: sha512-DWaElpm6RhntW8zVPMfd+s461FuXi6rv4pDPpXb4xCAJ0KTkBzS6PFxoBLL+11Mjv9XioaBoJatIGOCF8GAtTA==} + + '@zag-js/anatomy@0.82.1': + resolution: {integrity: sha512-wpgU7LyU9St3o/ft8Nkundi7MkW37vN1hYc2E7VA/R6mun0qiANsEf83ymIlAYnovLC6WUlBso9xwqejr6wRCg==} + + '@zag-js/aria-hidden@0.82.1': + resolution: {integrity: sha512-KSz9oMY9rn1N3k3tFTKHlU66eQf8XZ/gy/ex27J0ykZoaYJplWQerSZvVakbILeh+rtpvdiTNaSgrCAwYwvAPA==} + + '@zag-js/auto-resize@0.82.1': + resolution: {integrity: sha512-adOB7Y4p4i6b8GJv4V6qhlK1YRj4Ejs5I+eWFd8Rx535uQIcxEEVtpEAD5SRYg5PNk1ikaT+GCoHnTadGj6PuA==} + + '@zag-js/avatar@0.82.1': + resolution: {integrity: sha512-XjRvDRmBxwy5OtIzlQOpf7zNk4g0b/uA7qZve5Hz0R7yWOu+NFlbFv0GsvRfgyYMCT5J0xBu271EG9FJq3QKyw==} + + '@zag-js/carousel@0.82.1': + resolution: {integrity: sha512-MO9+9oedxdKynxgvLLzXs+VQSOhu+GvsCLV4fBt7nMBMGIRHtRSzXHRNRkO0aqbsO/nKQ8TFH7GYzI1NqT/y4A==} + + '@zag-js/checkbox@0.82.1': + resolution: {integrity: sha512-yD/h8ao/JTljEo+zthpKzTy/f9fqOlJ7Nd6psPoSKZy2MRGD0TDUbOjravb3icVgjTLCiaPVWMWdonny08Me6A==} + + '@zag-js/clipboard@0.82.1': + resolution: {integrity: sha512-r1r3vwozs+lyNgccR3OfmYAydP0cJbIHGsgDKGuempinqv6xIoptHOkFgWNd6Kxz/3MnxP+BMEy6fZzECXkhdQ==} + + '@zag-js/collapsible@0.82.1': + resolution: {integrity: sha512-TuggUoXRVBOwACksi63TsN2rOukzUpe6oVMUvp9MaQaDbg9gpw0JzLTrdAaHfE+bhgXAb3EjN6wcZjq8zBctZQ==} + + '@zag-js/collection@0.82.1': + resolution: {integrity: sha512-uteM+xWZlWhRQe5biA5QWyva9PdzXONs+bpycUtZt8MakQgPmhW2whY9r1aW5NFVb/ScTwGAIGB3Eyc6Npz7Wg==} + + '@zag-js/color-picker@0.82.1': + resolution: {integrity: sha512-/MShDVBFNnXResLzeyWyKApeHuB9rmUeJo3WD/Bl6rTwjmvVCKRYguIe1SQviOokMLjuAyh0YWXdKMQw0HvMqQ==} + + '@zag-js/color-utils@0.82.1': + resolution: {integrity: sha512-BMSYcBeypGX0wCLszU2jxWBRUmd5/wPDJ59Y3Zwl9yNld0gtMnuBLSUeokMcG0UVQ/BxkyrWu3VDkKTUYKprqQ==} + + '@zag-js/combobox@0.82.1': + resolution: {integrity: sha512-Me3a0Sw4dTtmBRmbLGO/C1LJ4btZwbd5RLYnf8RPhEnqGJ5Z05i+ffWEe+SNBvpQO14njqBcF6P8VypVD/Ro1A==} + + '@zag-js/core@0.82.1': + resolution: {integrity: sha512-Ux0fkt1PumcqLwExcEozCMEfKBxtd2JlnitXo4hR3lJW5q9G52FkgWDyPSrhblyTkX+7RgxViZTMnHxaXs99jg==} + + '@zag-js/date-picker@0.82.1': + resolution: {integrity: sha512-f+4CV29+hcQ3Yw9hh0yyVRANONIUEWIrPS1fpnrrUNtIC0Y7f1Ajx+x089X9VxgQhwreK1sEwpnrL2vIqy+9+A==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/date-utils@0.82.1': + resolution: {integrity: sha512-z9sHtgV4fvtXsqLaTD4/o+D+H5wumLYhIw/Bj3yC41gR5oa4Wo9QifRT9DBfvuokmXsrnRZ8k32hUtWoYb6M/A==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/dialog@0.82.1': + resolution: {integrity: sha512-oqi+6Y/rx6ZKxg3s9r6bIuo33x+5+UDhvrlk31kE3LWgU1KJjVV0VEkFMK9B1SJTY7IizhlWMyDx+JXJ+jOy5Q==} + + '@zag-js/dismissable@0.82.1': + resolution: {integrity: sha512-vs+zkORzaeNzX4Wsy4OkW1AVce7l4Tc6DHZq8gqNB5SvhK+5wEPl6EmacQRvZyoCxi2m6xpaI98UkLCmVJKU+Q==} + + '@zag-js/dom-query@0.82.1': + resolution: {integrity: sha512-KFtbqDUykQur587hyrGi8LL8GfTS2mqBpIT0kL3E+S63Mq7U84i+hGf3VyNuInMB5ONpkNEk5JN4G9/HWQ6pAQ==} + + '@zag-js/editable@0.82.1': + resolution: {integrity: sha512-V5i3kYSHFJYj8914nBf4VKKtm6m59gG482vm20As4EnLcwGFrOBbm4HXUgsKq0wYSLy/lTtvMrUT8Iqudye2gw==} + + '@zag-js/element-rect@0.82.1': + resolution: {integrity: sha512-xXUjmeIUdxkxic5bepp6fVqN9Qs+54PXCAUl6g/DtJecQVmVooIfa3SLSULhany4aR4mlGojp5TJxvSpUBA58Q==} + + '@zag-js/element-size@0.82.1': + resolution: {integrity: sha512-k1rOE6NhoULI9d5pt2qVUxWCQVEf3OTPH8UDnbsdf11xn+hMCzRYd9lekUdVGrcHHGvEK+W6iAfWZnlwsJsmow==} + + '@zag-js/file-upload@0.82.1': + resolution: {integrity: sha512-6cgJsy9bf2DB0v+CVq1L4g4aCePTpfWsV4C0HC+82K+OSPomiIPsQS87wo4+eAcy3z+80Qh+uglZCFAwkW8W+g==} + + '@zag-js/file-utils@0.82.1': + resolution: {integrity: sha512-/u86hMd+E5UCrrY9akDAExkO7sgPA1lXzWC9gSX4LSxHATk7Vo4o5+4LiE1MX4WZRytOhtxAycJzNDVpqzmppQ==} + + '@zag-js/focus-trap@0.82.1': + resolution: {integrity: sha512-z5OzmR8O3n2043Lwhp1qcizNHXvzc/Xteb3hWmxbX9hR3k0wHJeMXMj3GTDO0FBixRt+d8iHEmt3/8CkI72mqw==} + + '@zag-js/focus-visible@0.82.1': + resolution: {integrity: sha512-b87FqZO6e9RmTY4msEzwZ3hZ8pRuPd2vbR2b6SlXr6ohtmGKlGgBGO4kmarZN/ClE+7VOnOEqIicatRBEgX9bw==} + + '@zag-js/highlight-word@0.82.1': + resolution: {integrity: sha512-lS5r3V0l7Z53QyNwkxulYp5QYA9mFkU+3XsZqfM6cBjh+wmGE1xeIwknAmFtYvuYNK37AwT7pp5z0Rm1Ep6WVQ==} + + '@zag-js/hover-card@0.82.1': + resolution: {integrity: sha512-fp9t/PNXODwxXR1X+VzgYeSpgoJ+M3W/qvuA2stgPI4kEinwKEssSlP2sH6gTmQVZKL8SV1jiNQinVh00NE85g==} + + '@zag-js/i18n-utils@0.82.1': + resolution: {integrity: sha512-YcTIqka6+/YoH2VRBMnv3CvTjHdUo/NG2nMenAB9Wq0MLTn+TAtcsujenz7ckJcgayVhFAchWNhwK9+/cs1dAw==} + + '@zag-js/interact-outside@0.82.1': + resolution: {integrity: sha512-WcWJB5kM41fDM6YMGC3ZEPVn1q3Nrm+cAFkllRJrRY4+bUKXmtN8bqDaRKghP+dG5CXz66SiM6xBvDE4nqtK5Q==} + + '@zag-js/live-region@0.82.1': + resolution: {integrity: sha512-BmSXc41y1uOra/UV1lt8BurWkuwne/+c371IJCK6l+MWsO0ufq1lrjfx4cyFf5yhVcPRkhv/b/0i+7RxfDSK1A==} + + '@zag-js/menu@0.82.1': + resolution: {integrity: sha512-faAlQZYeWHcGH8nIxBYh7HHfVjSKsHV8yUsbhMD0XkePWM6eB+dPRd/Fc3DeT8ieM8+sUODnTHEuxar0i48v4w==} + + '@zag-js/number-input@0.82.1': + resolution: {integrity: sha512-QIQlxlxM78+TkEhPEGlTbkBR3G2ngm5vhc3BFw4sG6ABMyre8TiIH37EqQB7EGKyAcuz6QwPk3AervHMFKe4YQ==} + + '@zag-js/pagination@0.82.1': + resolution: {integrity: sha512-1Rsd3cSnlewefNB1RBI0ymK5wlgiBcK42H1IrJIhly6+SXDAhp0Oc45ofsCzpfhkQ4be+A9Cb30ayc6J4ZU2kA==} + + '@zag-js/pin-input@0.82.1': + resolution: {integrity: sha512-P7UN7rIt03YHt05SuK+kZ9mhl4AfvCvaSGB/9KzEq5r6p1D3lc4+0LVkkOvL2EEB8vbGY/y5BNcvaF2jPQPH5Q==} + + '@zag-js/popover@0.82.1': + resolution: {integrity: sha512-zZ8H/jcjaXcLRX4dBcmandexeKV/5cBOt4AUVEnd3/X5NFFkA2Njz8rpQFcNRZl814NxG4RCchIu8kmonmUKCA==} + + '@zag-js/popper@0.82.1': + resolution: {integrity: sha512-vQTmVUs6aLGqKmWb+FnLDntsulvd/sCvgndeTmwOHRW8PBwPb86aDnvNrNosBSS+Kk9p6CMJwWZ6CuPWR5Kf7Q==} + + '@zag-js/presence@0.82.1': + resolution: {integrity: sha512-eZeAkq2s7NYCiNVMvkWL2Or458hZj71u7ygCt6skA18sO1ZksY+qIFqj99leCov+fesz06Hf8bxZz5029t/Wjg==} + + '@zag-js/progress@0.82.1': + resolution: {integrity: sha512-Fy1EjUda7o7e/yTKbZgKKayGOsHxkjLG+x0AakHmbR/k2VKbM4QuFHB9RJLlqNd9a+m/BzS1kEKWzCJ7/mXL9Q==} + + '@zag-js/qr-code@0.82.1': + resolution: {integrity: sha512-E1N1o1dPVuhWkcrg6urut2aaCqrc16OeE9VJh1mAGIUknF3p0QScH+ql7J/n9r8WOa21xyF6HLKhnWVPRQmHGg==} + + '@zag-js/radio-group@0.82.1': + resolution: {integrity: sha512-YTqP4Ok2YEmEXCEiNW2tufZ6svt4sh7KHqrHZq81vPAJMKKhVosP6LnZvmt4dVn6tKJ0OU8idwFVtPM5jSAWoA==} + + '@zag-js/rating-group@0.82.1': + resolution: {integrity: sha512-ULl0OA207b6Ilsr2QWt4dbx58hA/NnyCmHpvv1pAYSlH3K0Es5b25B80Cc5jM/3NK3yqoY81OkS9U8lxmpWo+A==} + + '@zag-js/react@0.82.1': + resolution: {integrity: sha512-CZivUTFQ4TdRKTN+9wpWAo0lEZlMnbjJPVn2VJVpcz+eRNUeoVzevkNY/OzAqdV3mp+VtdNabQn1fAz8ngViPQ==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@zag-js/rect-utils@0.82.1': + resolution: {integrity: sha512-gXmvj1wK9FeToOCzvoZ5gycqUNRzfeqd84uwJeG9zA8SVdoyEnoAji8IAynneq8t3LbiNUcu37wjTw0dcWM6ig==} + + '@zag-js/remove-scroll@0.82.1': + resolution: {integrity: sha512-68cvXvqgNOlucbnGKRyephk8Qg8wb4xpjgUdmF9xQwICdY/uhW2p4ZGJ4471TDCDIlpoBrJPYsWqV2oWH3QNfA==} + + '@zag-js/scroll-snap@0.82.1': + resolution: {integrity: sha512-HL3MkBpWx4Cw0+h1UP/PnvLP3Z1T+F5mkeS8HWmiP+KPzhtFiEBRrve+xk7h7BMXifteg2UZy53ZiZfJeGsd3w==} + + '@zag-js/select@0.82.1': + resolution: {integrity: sha512-cc6D8Iz+Ewnx9L0J63QGqC2bbiwzCEcJVE/j4OZDcy4Qk3lqr3qA09uuJbQxAi7yvIeB44DIEt9ryTZPkZbgiw==} + + '@zag-js/signature-pad@0.82.1': + resolution: {integrity: sha512-s8ae88OpAafkpuqimO9beUiVTn3FG+bnWeWnYQOLtNYMCNHzQbVZp9QBNbOoUpNcDT14mx9rfZe98BqfiMohFw==} + + '@zag-js/slider@0.82.1': + resolution: {integrity: sha512-qXVvXbDRq6Cla036M9OH6plO7ubefM7k65NJQKjtITDua+VliKQLXj9BrdPLT9K96wWntW+D/TiZXE+JNbR4ow==} + + '@zag-js/splitter@0.82.1': + resolution: {integrity: sha512-eMNncj+pcepYTf+51s4ysDS/tjtKXswpwsSQR0AeNqCE3SW3TGzHOM0+uheyjgv9EmDGDrr3Imdo0PCkq3bqug==} + + '@zag-js/steps@0.82.1': + resolution: {integrity: sha512-N/LVOPbpQGtqpnNsdgZsQytpvXVoJ9Uldo8G38Q7892wwhVx63L0qLaiOK+SkU7kUTueOh109HezZ67nq3sadw==} + + '@zag-js/store@0.82.1': + resolution: {integrity: sha512-uWlVivLZBCuAEXrXOITM1srwfBtAnT8kBYVPElrT5aSO9gkV1YC/g+YdFRol7KKOg12qO561CPKReVfilmtAKg==} + + '@zag-js/switch@0.82.1': + resolution: {integrity: sha512-lIZsOs5nG9TkPs75+OK5THprEO0u3NAiLnEJ489KEFautVX/GMwAWvGHNFS7CcCpLZv+EpVKAPAdmGfEphrzhA==} + + '@zag-js/tabs@0.82.1': + resolution: {integrity: sha512-1uwNRvy8LyUTCAWjL1kD7BexOZ0sHrZ4OnUwDNuaWbqxUjtzoe+ftvcLXvmwFMmrns7o1SVnjqkgSVKuE4mcDA==} + + '@zag-js/tags-input@0.82.1': + resolution: {integrity: sha512-1mY8nCNMQgMwWBV5zX0bUcIgstqKjvFOAuYhGLIxbQPbgX7lP8Kr3nuhABh0oC0KnWaKfOMlItir2k795G4KMQ==} + + '@zag-js/time-picker@0.82.1': + resolution: {integrity: sha512-nWKx3yyHFBUBPOTDFhi3du4wWlQe8wY0EoeWLQN6bpJSF4qo/BosTZJkUHm//FgUdwdhQBFOAsrlrJ0vL4qvNA==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/timer@0.82.1': + resolution: {integrity: sha512-uG4xCrYHgDZJgvW+71ROQX0xIkqMup37ZpNSLS2f5eD5DO1n/9NYLztA1YyeCJyv1aEDsZreeJLJvNDElgXA2A==} + + '@zag-js/toast@0.82.1': + resolution: {integrity: sha512-4dL99zHXQg8j7ReJAR9zLAp5lNKMS4Nm+THnJaKsA0TF5QkELGnsZz47oKhFY0aQn46paxMLVagLqQ0+2i6D1w==} + + '@zag-js/toggle-group@0.82.1': + resolution: {integrity: sha512-8YaYKFz3ciiQhlTFScrvqH3Ke6UMDQLSgMEsCcERBYatd6TxkJwlFiBzpksIDsZpmloBrylyItJvqmzj9jt6Ig==} + + '@zag-js/tooltip@0.82.1': + resolution: {integrity: sha512-ewF/1h2INDJlzYnoIigcWFWim56ezhfl7YGKgqLBdxBoRvZHyhRIfR8bbddVZk4k144gXsMVMeXwS6VEt6D0eQ==} + + '@zag-js/tour@0.82.1': + resolution: {integrity: sha512-Oo4ZA3vG2sYEotfrWVXfIV1KW0Z+s91U+2YPtM2sOLnhetEVXxj/AwAruZfvS6WOcTI7D9UBrrQolY94fdZeOA==} + + '@zag-js/tree-view@0.82.1': + resolution: {integrity: sha512-xvYwaL49ffC8nnb+ENgNtkSZE1jMh8tm1E777AqBqnrhJZ28+FA9Sk8YDuWIWhNOV/r4n97jTXqj4SAGCrlAMQ==} + + '@zag-js/types@0.82.1': + resolution: {integrity: sha512-Nr/CU/z/SZWDL92P2u9VDZL9JUxY8L1P7dGI0CmDKHlEHk1+vzqg3UnVkUKkZ5eVMNLtloHbrux5X9Gmkl39WQ==} + + '@zag-js/utils@0.82.1': + resolution: {integrity: sha512-JUGdEjstrzB0G2AJqzQiURIl6UZ1ONYgby/pqBKX57LO5LxasQXk9oNZh8+ZAvePNC/lKqqTtyyI02YQB4XwkA==} + abitype@1.0.7: resolution: {integrity: sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==} peerDependencies: @@ -1464,6 +2240,10 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1503,6 +2283,11 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -1547,6 +2332,9 @@ packages: caniuse-lite@1.0.30001683: resolution: {integrity: sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==} + caniuse-lite@1.0.30001699: + resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1654,6 +2442,12 @@ packages: constant-case@2.0.0: resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} @@ -1663,6 +2457,10 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} @@ -1829,6 +2627,9 @@ packages: resolution: {integrity: sha512-DGejvMCihsRAmKRFQiL6KZDE34vWVd0gvXlykFq1aEzJy/rD65AVyAIUZKZOvgvaP9ATQRcHGEZV5DfgrgjA4w==} engines: {bun: '>=1', deno: '>=2', node: '>=16'} + electron-to-chromium@1.5.97: + resolution: {integrity: sha512-HKLtaH02augM7ZOdYRuO19rWDeY+QSJ1VxnXFa/XDFLf07HvM90pALIJFgrO+UVaajI3+aJMMpojoUTLZyQ7JQ==} + elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -1855,6 +2656,9 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-abstract@1.23.5: resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} engines: {node: '>= 0.4'} @@ -1886,6 +2690,15 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1976,6 +2789,11 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint-plugin-react-refresh@0.4.19: + resolution: {integrity: sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==} + peerDependencies: + eslint: '>=8.40' + eslint-plugin-react@7.37.2: resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} engines: {node: '>=4'} @@ -2009,6 +2827,16 @@ packages: jiti: optional: true + eslint@9.20.0: + resolution: {integrity: sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2072,6 +2900,12 @@ packages: resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==} engines: {node: '>=12.0.0'} + extension-port-stream@4.2.0: + resolution: {integrity: sha512-i5IgiPVMVrHN+Zx8PRjvFsOw8L1A3sboVwPZghDjW9Yp1BMmBDE6mCcTNu4xMXPYduBOwI3CBK7wd72LcOyD6g==} + engines: {node: '>=12.0.0'} + peerDependencies: + webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 + external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -2119,6 +2953,9 @@ packages: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2167,14 +3004,14 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - get-intrinsic@1.2.6: resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} @@ -2220,6 +3057,10 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2228,6 +3069,10 @@ packages: resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} engines: {node: '>=18'} + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + engines: {node: '>=18'} + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -2236,9 +3081,6 @@ packages: resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} engines: {node: '>=8'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2306,6 +3148,9 @@ packages: hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -2388,6 +3233,9 @@ packages: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} @@ -2586,9 +3434,17 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-rpc-engine@6.1.0: resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} engines: {node: '>=10.0.0'} @@ -2606,6 +3462,11 @@ packages: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -2694,6 +3555,9 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -2791,6 +3655,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2801,6 +3670,12 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} + next-themes@0.4.4: + resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + next@15.1.0: resolution: {integrity: sha512-QKhzt6Y8rgLNlj30izdMbxAwjHMFANnLwDwZ+WQh5sMhyt4lEBqDK9QpvWHtIM4rINKPoJ8aiRZKg5ULSybVHw==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -2855,6 +3730,9 @@ packages: resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} engines: {node: '>=8.9.4'} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2992,6 +3870,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + pascal-case@2.0.1: resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} @@ -3028,6 +3910,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + perfect-freehand@1.2.2: + resolution: {integrity: sha512-eh31l019WICQ03pkF3FSzHxB8n07ItqIQ++G5UV8JX0zVOXzgTGCqnRR0jJ2h9U8/2uW4W4mtGJELt9kEV0CFQ==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3121,6 +4006,10 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.2: + resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==} + engines: {node: ^10 || ^12 || >=14} + preact@10.25.2: resolution: {integrity: sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw==} @@ -3148,9 +4037,15 @@ packages: proxy-compare@2.5.1: resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + proxy-compare@3.0.1: + resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + proxy-memoize@3.0.1: + resolution: {integrity: sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g==} + pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} @@ -3189,9 +4084,18 @@ packages: peerDependencies: react: 19.0.0-rc-5c56b873-20241107 + react-icons@5.4.0: + resolution: {integrity: sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==} + peerDependencies: + react: '*' + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -3297,6 +4201,11 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + rollup@4.34.6: + resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -3424,6 +4333,10 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -3533,6 +4446,9 @@ packages: babel-plugin-macros: optional: true + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -3617,6 +4533,12 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -3711,10 +4633,22 @@ packages: typescript: optional: true + typescript-eslint@8.24.0: + resolution: {integrity: sha512-/lmv4366en/qbB32Vz5+kCNZEMf6xYHwh1z48suBwZvAtnXKbP+YhGe8OLE2BqC67LMqKkCNLtjejdwsdW6uOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} @@ -3789,6 +4723,12 @@ packages: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + update-check@1.5.4: resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} @@ -3879,6 +4819,46 @@ packages: typescript: optional: true + vite@6.1.0: + resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + wagmi@2.14.8: resolution: {integrity: sha512-m7oMF/rqsTwYuBZzwyYskzhdkZxq6zJjY2le6Vz7We5Hih7hwJ7hLNU5TxMfhqjPRfsqXlWX9HLOszOipHxz8Q==} peerDependencies: @@ -3996,6 +4976,13 @@ packages: y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + yaml@2.6.1: resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} @@ -4035,11 +5022,161 @@ packages: use-sync-external-store: optional: true -snapshots: +snapshots: + + '@adraffy/ens-normalize@1.11.0': {} + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@ark-ui/react@4.9.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/accordion': 0.82.1 + '@zag-js/anatomy': 0.82.1 + '@zag-js/auto-resize': 0.82.1 + '@zag-js/avatar': 0.82.1 + '@zag-js/carousel': 0.82.1 + '@zag-js/checkbox': 0.82.1 + '@zag-js/clipboard': 0.82.1 + '@zag-js/collapsible': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/color-picker': 0.82.1 + '@zag-js/color-utils': 0.82.1 + '@zag-js/combobox': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/date-picker': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/date-utils': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/dialog': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/editable': 0.82.1 + '@zag-js/file-upload': 0.82.1 + '@zag-js/file-utils': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/highlight-word': 0.82.1 + '@zag-js/hover-card': 0.82.1 + '@zag-js/i18n-utils': 0.82.1 + '@zag-js/menu': 0.82.1 + '@zag-js/number-input': 0.82.1 + '@zag-js/pagination': 0.82.1 + '@zag-js/pin-input': 0.82.1 + '@zag-js/popover': 0.82.1 + '@zag-js/presence': 0.82.1 + '@zag-js/progress': 0.82.1 + '@zag-js/qr-code': 0.82.1 + '@zag-js/radio-group': 0.82.1 + '@zag-js/rating-group': 0.82.1 + '@zag-js/react': 0.82.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@zag-js/select': 0.82.1 + '@zag-js/signature-pad': 0.82.1 + '@zag-js/slider': 0.82.1 + '@zag-js/splitter': 0.82.1 + '@zag-js/steps': 0.82.1 + '@zag-js/switch': 0.82.1 + '@zag-js/tabs': 0.82.1 + '@zag-js/tags-input': 0.82.1 + '@zag-js/time-picker': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/timer': 0.82.1 + '@zag-js/toast': 0.82.1 + '@zag-js/toggle-group': 0.82.1 + '@zag-js/tooltip': 0.82.1 + '@zag-js/tour': 0.82.1 + '@zag-js/tree-view': 0.82.1 + '@zag-js/types': 0.82.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.8': {} + + '@babel/core@7.26.8': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + '@types/gensync': 1.0.4 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.8': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.26.5': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.26.5': {} - '@adraffy/ens-normalize@1.11.0': {} + '@babel/helper-string-parser@7.25.9': {} - '@alloc/quick-lru@5.2.0': {} + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helpers@7.26.7': + dependencies: + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + + '@babel/parser@7.26.8': + dependencies: + '@babel/types': 7.26.8 + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/runtime-corejs3@7.26.0': dependencies: @@ -4050,6 +5187,42 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/template@7.26.8': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + + '@babel/traverse@7.26.8': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.8': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@chakra-ui/react@3.8.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@ark-ui/react': 4.9.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@emotion/is-prop-valid': 1.3.1 + '@emotion/react': 11.14.0(@types/react@19.0.8)(react@19.0.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/utils': 1.4.2 + '@pandacss/is-valid-prop': 0.41.0 + csstype: 3.1.3 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + '@coinbase/wallet-sdk@3.9.3': dependencies: bn.js: 5.2.1 @@ -4084,11 +5257,159 @@ snapshots: tslib: 2.8.1 optional: true + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/runtime': 7.26.0 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.14.0': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.3.1': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0)': + dependencies: + '@babel/runtime': 7.26.0 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.8 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.1.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@2.4.1))': dependencies: eslint: 9.15.0(jiti@2.4.1) eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.1(eslint@9.20.0(jiti@2.4.1))': + dependencies: + eslint: 9.20.0(jiti@2.4.1) + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.1': {} '@eslint/config-array@0.19.0': @@ -4099,6 +5420,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.11.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/core@0.9.0': {} '@eslint/eslintrc@3.2.0': @@ -4117,12 +5446,19 @@ snapshots: '@eslint/js@9.15.0': {} + '@eslint/js@9.20.0': {} + '@eslint/object-schema@2.1.4': {} '@eslint/plugin-kit@0.2.3': dependencies: levn: 0.4.1 + '@eslint/plugin-kit@0.2.5': + dependencies: + '@eslint/core': 0.10.0 + levn: 0.4.1 + '@ethereumjs/common@3.2.0': dependencies: '@ethereumjs/util': 8.1.0 @@ -4248,6 +5584,14 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true + '@internationalized/date@3.7.0': + dependencies: + '@swc/helpers': 0.5.15 + + '@internationalized/number@3.6.0': + dependencies: + '@swc/helpers': 0.5.15 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -4293,6 +5637,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/json-rpc-engine@10.0.3': + dependencies: + '@metamask/rpc-errors': 7.0.2 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 11.1.0 + transitivePeerDependencies: + - supports-color + '@metamask/json-rpc-engine@7.3.3': dependencies: '@metamask/rpc-errors': 6.4.0 @@ -4318,6 +5670,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/json-rpc-middleware-stream@8.0.6': + dependencies: + '@metamask/json-rpc-engine': 10.0.3 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 11.1.0 + readable-stream: 3.6.2 + transitivePeerDependencies: + - supports-color + '@metamask/object-multiplex@2.1.0': dependencies: once: 1.4.0 @@ -4344,6 +5705,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/providers@20.0.0(webextension-polyfill@0.10.0)': + dependencies: + '@metamask/json-rpc-engine': 10.0.3 + '@metamask/json-rpc-middleware-stream': 8.0.6 + '@metamask/object-multiplex': 2.1.0 + '@metamask/rpc-errors': 7.0.2 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 11.1.0 + detect-browser: 5.3.0 + extension-port-stream: 4.2.0(webextension-polyfill@0.10.0) + fast-deep-equal: 3.1.3 + is-stream: 2.0.1 + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + transitivePeerDependencies: + - supports-color + '@metamask/rpc-errors@6.4.0': dependencies: '@metamask/utils': 9.3.0 @@ -4351,6 +5729,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/rpc-errors@7.0.2': + dependencies: + '@metamask/utils': 11.1.0 + fast-safe-stringify: 2.1.1 + transitivePeerDependencies: + - supports-color + '@metamask/safe-event-emitter@2.0.0': {} '@metamask/safe-event-emitter@3.1.2': {} @@ -4403,6 +5788,20 @@ snapshots: '@metamask/superstruct@3.1.0': {} + '@metamask/utils@11.1.0': + dependencies: + '@ethereumjs/tx': 4.2.0 + '@metamask/superstruct': 3.1.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 + '@types/debug': 4.1.12 + debug: 4.3.7 + pony-cause: 2.1.11 + semver: 7.6.3 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + '@metamask/utils@5.0.2': dependencies: '@ethereumjs/tx': 4.2.0 @@ -4550,6 +5949,8 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@pandacss/is-valid-prop@0.41.0': {} + '@parcel/watcher-android-arm64@2.5.0': optional: true @@ -4861,6 +6262,63 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@rollup/rollup-android-arm-eabi@4.34.6': + optional: true + + '@rollup/rollup-android-arm64@4.34.6': + optional: true + + '@rollup/rollup-darwin-arm64@4.34.6': + optional: true + + '@rollup/rollup-darwin-x64@4.34.6': + optional: true + + '@rollup/rollup-freebsd-arm64@4.34.6': + optional: true + + '@rollup/rollup-freebsd-x64@4.34.6': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.34.6': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.34.6': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.34.6': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-x64-musl@4.34.6': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.34.6': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.34.6': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.34.6': + optional: true + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.10.4': {} @@ -5053,12 +6511,35 @@ snapshots: semver: 7.6.3 update-check: 1.5.4 + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.26.8 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.8 + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 '@types/estree@1.0.6': {} + '@types/gensync@1.0.4': {} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 @@ -5081,16 +6562,22 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/parse-json@4.0.2': {} + '@types/prop-types@15.7.13': {} '@types/react-dom@18.3.1': dependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.8 '@types/react-dom@19.0.2(@types/react@19.0.1)': dependencies: '@types/react': 19.0.1 + '@types/react-dom@19.0.3(@types/react@19.0.8)': + dependencies: + '@types/react': 19.0.8 + '@types/react@18.3.0': dependencies: '@types/prop-types': 15.7.13 @@ -5100,6 +6587,10 @@ snapshots: dependencies: csstype: 3.1.3 + '@types/react@19.0.8': + dependencies: + csstype: 3.1.3 + '@types/through@0.0.33': dependencies: '@types/node': 20.17.6 @@ -5126,6 +6617,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3))(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/type-utils': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.24.0 + eslint: 9.20.0(jiti@2.4.1) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.1))(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 8.15.0 @@ -5139,11 +6647,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.24.0 + debug: 4.3.7 + eslint: 9.20.0(jiti@2.4.1) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.15.0': dependencies: '@typescript-eslint/types': 8.15.0 '@typescript-eslint/visitor-keys': 8.15.0 + '@typescript-eslint/scope-manager@8.24.0': + dependencies: + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/visitor-keys': 8.24.0 + '@typescript-eslint/type-utils@8.15.0(eslint@9.15.0(jiti@2.4.1))(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.5.4) @@ -5156,8 +6681,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + debug: 4.3.7 + eslint: 9.20.0(jiti@2.4.1) + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.15.0': {} + '@typescript-eslint/types@8.24.0': {} + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 8.15.0 @@ -5173,6 +6711,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/visitor-keys': 8.24.0 + debug: 4.3.7 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.1))(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.1)) @@ -5185,11 +6737,38 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@2.4.1)) + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + eslint: 9.20.0(jiti@2.4.1) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.15.0': dependencies: '@typescript-eslint/types': 8.15.0 eslint-visitor-keys: 4.2.0 + '@typescript-eslint/visitor-keys@8.24.0': + dependencies: + '@typescript-eslint/types': 8.24.0 + eslint-visitor-keys: 4.2.0 + + '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@20.17.6)(jiti@2.4.1)(yaml@2.6.1))': + dependencies: + '@babel/core': 7.26.8 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.8) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.8) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.1.0(@types/node@20.17.6)(jiti@2.4.1)(yaml@2.6.1) + transitivePeerDependencies: + - supports-color + '@wagmi/connectors@5.7.4(@types/react@19.0.1)(@wagmi/core@2.16.3(@tanstack/query-core@5.62.7)(@types/react@19.0.1)(react@19.0.0)(typescript@5.5.4)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(react@19.0.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: '@coinbase/wallet-sdk': 4.2.3 @@ -5549,6 +7128,463 @@ snapshots: '@walletconnect/window-getters': 1.0.1 tslib: 1.14.1 + '@zag-js/accordion@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/anatomy@0.82.1': {} + + '@zag-js/aria-hidden@0.82.1': {} + + '@zag-js/auto-resize@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/avatar@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/carousel@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/scroll-snap': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/checkbox@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/clipboard@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/collapsible@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/collection@0.82.1': + dependencies: + '@zag-js/utils': 0.82.1 + + '@zag-js/color-picker@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/color-utils': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/color-utils@0.82.1': + dependencies: + '@zag-js/utils': 0.82.1 + + '@zag-js/combobox@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/core@0.82.1': + dependencies: + '@zag-js/store': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/date-picker@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/date-utils': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/live-region': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/date-utils@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + + '@zag-js/dialog@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/remove-scroll': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/dismissable@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/dom-query@0.82.1': + dependencies: + '@zag-js/types': 0.82.1 + + '@zag-js/editable@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/element-rect@0.82.1': {} + + '@zag-js/element-size@0.82.1': {} + + '@zag-js/file-upload@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/file-utils': 0.82.1 + '@zag-js/i18n-utils': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/file-utils@0.82.1': + dependencies: + '@zag-js/i18n-utils': 0.82.1 + + '@zag-js/focus-trap@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/focus-visible@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/highlight-word@0.82.1': {} + + '@zag-js/hover-card@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/i18n-utils@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/interact-outside@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/live-region@0.82.1': {} + + '@zag-js/menu@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/rect-utils': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/number-input@0.82.1': + dependencies: + '@internationalized/number': 3.6.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/pagination@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/pin-input@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/popover@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/remove-scroll': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/popper@0.82.1': + dependencies: + '@floating-ui/dom': 1.6.12 + '@zag-js/dom-query': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/presence@0.82.1': + dependencies: + '@zag-js/core': 0.82.1 + '@zag-js/types': 0.82.1 + + '@zag-js/progress@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/qr-code@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + proxy-memoize: 3.0.1 + uqr: 0.1.2 + + '@zag-js/radio-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-rect': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/rating-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/react@0.82.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@zag-js/core': 0.82.1 + '@zag-js/store': 0.82.1 + '@zag-js/types': 0.82.1 + proxy-compare: 3.0.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@zag-js/rect-utils@0.82.1': {} + + '@zag-js/remove-scroll@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/scroll-snap@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/select@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/signature-pad@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + perfect-freehand: 1.2.2 + + '@zag-js/slider@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-size': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/splitter@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/steps@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/store@0.82.1': + dependencies: + proxy-compare: 3.0.1 + + '@zag-js/switch@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tabs@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-rect': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tags-input@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/auto-resize': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/live-region': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/time-picker@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/timer@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/toast@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/toggle-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tooltip@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tour@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tree-view@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/types@0.82.1': + dependencies: + csstype: 3.1.3 + + '@zag-js/utils@0.82.1': {} + abitype@1.0.7(typescript@5.5.4): optionalDependencies: typescript: 5.5.4 @@ -5629,7 +7665,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.5 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.6 is-string: 1.0.7 array-union@2.1.0: {} @@ -5705,6 +7741,12 @@ snapshots: axobject-query@4.1.0: {} + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.26.0 + cosmiconfig: 7.1.0 + resolve: 1.22.8 + balanced-match@1.0.2: {} base64-js@1.5.1: {} @@ -5740,6 +7782,13 @@ snapshots: brorand@1.1.0: {} + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001699 + electron-to-chromium: 1.5.97 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -5789,6 +7838,8 @@ snapshots: caniuse-lite@1.0.30001683: {} + caniuse-lite@1.0.30001699: {} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -5917,12 +7968,24 @@ snapshots: snake-case: 2.1.0 upper-case: 1.1.3 + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + cookie-es@1.2.2: {} core-js-pure@3.39.0: {} core-util-is@1.0.3: {} + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + crc-32@1.2.2: {} create-require@1.1.1: {} @@ -6085,6 +8148,8 @@ snapshots: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 + electron-to-chromium@1.5.97: {} + elliptic@6.6.1: dependencies: bn.js: 4.12.1 @@ -6124,6 +8189,10 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + es-abstract@1.23.5: dependencies: array-buffer-byte-length: 1.0.1 @@ -6185,12 +8254,12 @@ snapshots: es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.6 globalthis: 1.0.4 - gopd: 1.0.1 + gopd: 1.2.0 has-property-descriptors: 1.0.2 has-proto: 1.0.3 - has-symbols: 1.0.3 + has-symbols: 1.1.0 internal-slot: 1.0.7 iterator.prototype: 1.1.3 safe-array-concat: 1.1.2 @@ -6215,6 +8284,36 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + escalade@3.2.0: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -6340,6 +8439,14 @@ snapshots: dependencies: eslint: 9.15.0(jiti@2.4.1) + eslint-plugin-react-hooks@5.0.0(eslint@9.20.0(jiti@2.4.1)): + dependencies: + eslint: 9.20.0(jiti@2.4.1) + + eslint-plugin-react-refresh@0.4.19(eslint@9.20.0(jiti@2.4.1)): + dependencies: + eslint: 9.20.0(jiti@2.4.1) + eslint-plugin-react@7.37.2(eslint@9.15.0(jiti@2.4.1)): dependencies: array-includes: 3.1.8 @@ -6417,6 +8524,47 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.20.0(jiti@2.4.1): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@2.4.1)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.11.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.20.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.3.7 + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.1 + transitivePeerDependencies: + - supports-color + espree@10.3.0: dependencies: acorn: 8.14.0 @@ -6506,6 +8654,11 @@ snapshots: readable-stream: 3.6.2 webextension-polyfill: 0.10.0 + extension-port-stream@4.2.0(webextension-polyfill@0.10.0): + dependencies: + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + external-editor@3.1.0: dependencies: chardet: 0.7.0 @@ -6556,6 +8709,8 @@ snapshots: filter-obj@1.1.0: {} + find-root@1.1.0: {} + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -6610,15 +8765,9 @@ snapshots: functions-have-names@1.2.3: {} - get-caller-file@2.0.5: {} + gensync@1.0.0-beta.2: {} - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.1.0 - hasown: 2.0.2 + get-caller-file@2.0.5: {} get-intrinsic@1.2.6: dependencies: @@ -6686,10 +8835,14 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + globals@11.12.0: {} + globals@14.0.0: {} globals@15.12.0: {} + globals@15.14.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -6706,10 +8859,6 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.6 - gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -6785,6 +8934,10 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 @@ -6890,6 +9043,8 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.6 + is-arrayish@0.2.1: {} + is-arrayish@0.3.2: optional: true @@ -7060,8 +9215,12 @@ snapshots: jsbn@1.1.0: {} + jsesc@3.1.0: {} + json-buffer@3.0.1: {} + json-parse-even-better-errors@2.3.1: {} + json-rpc-engine@6.1.0: dependencies: '@metamask/safe-event-emitter': 2.0.0 @@ -7077,6 +9236,8 @@ snapshots: dependencies: minimist: 1.2.8 + json5@2.2.3: {} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -7191,6 +9352,10 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + lru-cache@7.18.3: {} lucide-react@0.468.0(react@19.0.0): @@ -7272,12 +9437,19 @@ snapshots: nanoid@3.3.7: {} + nanoid@3.3.8: {} + natural-compare@1.4.0: {} neo-async@2.6.2: {} netmask@2.0.2: {} + next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + next@15.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@next/env': 15.1.0 @@ -7335,6 +9507,8 @@ snapshots: mkdirp: 0.5.6 resolve: 1.22.8 + node-releases@2.0.19: {} + normalize-path@3.0.0: {} npm-run-path@4.0.1: @@ -7511,6 +9685,13 @@ snapshots: dependencies: callsites: 3.1.0 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + pascal-case@2.0.1: dependencies: camel-case: 3.0.0 @@ -7539,6 +9720,8 @@ snapshots: pathe@1.1.2: {} + perfect-freehand@1.2.2: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -7628,6 +9811,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.2: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + preact@10.25.2: {} prelude-ls@1.2.1: {} @@ -7659,8 +9848,14 @@ snapshots: proxy-compare@2.5.1: {} + proxy-compare@3.0.1: {} + proxy-from-env@1.1.0: {} + proxy-memoize@3.0.1: + dependencies: + proxy-compare: 3.0.1 + pump@3.0.2: dependencies: end-of-stream: 1.4.4 @@ -7705,8 +9900,14 @@ snapshots: react: 19.0.0-rc-5c56b873-20241107 scheduler: 0.25.0-rc-5c56b873-20241107 + react-icons@5.4.0(react@19.0.0): + dependencies: + react: 19.0.0 + react-is@16.13.1: {} + react-refresh@0.14.2: {} + react-remove-scroll-bar@2.3.8(@types/react@19.0.1)(react@19.0.0): dependencies: react: 19.0.0 @@ -7823,6 +10024,31 @@ snapshots: dependencies: glob: 7.2.3 + rollup@4.34.6: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.6 + '@rollup/rollup-android-arm64': 4.34.6 + '@rollup/rollup-darwin-arm64': 4.34.6 + '@rollup/rollup-darwin-x64': 4.34.6 + '@rollup/rollup-freebsd-arm64': 4.34.6 + '@rollup/rollup-freebsd-x64': 4.34.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.6 + '@rollup/rollup-linux-arm-musleabihf': 4.34.6 + '@rollup/rollup-linux-arm64-gnu': 4.34.6 + '@rollup/rollup-linux-arm64-musl': 4.34.6 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.6 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.6 + '@rollup/rollup-linux-riscv64-gnu': 4.34.6 + '@rollup/rollup-linux-s390x-gnu': 4.34.6 + '@rollup/rollup-linux-x64-gnu': 4.34.6 + '@rollup/rollup-linux-x64-musl': 4.34.6 + '@rollup/rollup-win32-arm64-msvc': 4.34.6 + '@rollup/rollup-win32-ia32-msvc': 4.34.6 + '@rollup/rollup-win32-x64-msvc': 4.34.6 + fsevents: 2.3.3 + run-async@2.4.1: {} run-parallel@1.2.0: @@ -7988,6 +10214,8 @@ snapshots: source-map-js@1.2.1: {} + source-map@0.5.7: {} + source-map@0.6.1: {} split-on-first@1.1.0: {} @@ -8031,9 +10259,9 @@ snapshots: es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-symbols: 1.0.3 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-symbols: 1.1.0 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.3 set-function-name: 2.0.2 @@ -8094,6 +10322,8 @@ snapshots: client-only: 0.0.1 react: 19.0.0 + stylis@4.2.0: {} + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -8198,6 +10428,10 @@ snapshots: dependencies: typescript: 5.5.4 + ts-api-utils@2.0.1(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + ts-interface-checker@0.1.13: {} ts-node@10.9.2(@types/node@20.17.6)(typescript@5.5.4): @@ -8306,8 +10540,20 @@ snapshots: transitivePeerDependencies: - supports-color + typescript-eslint@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3))(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + '@typescript-eslint/parser': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@9.20.0(jiti@2.4.1))(typescript@5.7.3) + eslint: 9.20.0(jiti@2.4.1) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + typescript@5.5.4: {} + typescript@5.7.3: {} + ufo@1.5.4: {} uglify-js@3.19.3: @@ -8359,6 +10605,12 @@ snapshots: consola: 3.2.3 pathe: 1.1.2 + update-browserslist-db@1.1.2(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + update-check@1.5.4: dependencies: registry-auth-token: 3.3.2 @@ -8447,6 +10699,17 @@ snapshots: - utf-8-validate - zod + vite@6.1.0(@types/node@20.17.6)(jiti@2.4.1)(yaml@2.6.1): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.2 + rollup: 4.34.6 + optionalDependencies: + '@types/node': 20.17.6 + fsevents: 2.3.3 + jiti: 2.4.1 + yaml: 2.6.1 + wagmi@2.14.8(@tanstack/query-core@5.62.7)(@tanstack/react-query@5.62.7(react@19.0.0))(@types/react@19.0.1)(bufferutil@4.0.8)(react@19.0.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)): dependencies: '@tanstack/react-query': 5.62.7(react@19.0.0) @@ -8587,6 +10850,10 @@ snapshots: y18n@4.0.3: {} + yallist@3.1.1: {} + + yaml@1.10.2: {} + yaml@2.6.1: {} yargs-parser@18.1.3: