From 787ab5678cc40225d697ec00e2fa980e2c07e82f Mon Sep 17 00:00:00 2001 From: Jingles Date: Sat, 5 Apr 2025 14:03:00 +0800 Subject: [PATCH 1/5] fix css and build --- apps/docs/package.json | 2 +- apps/docs/src/styles/globals.css | 6 ++++-- turbo.json | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/docs/package.json b/apps/docs/package.json index bf1eab8..ffd4d4d 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -8,7 +8,7 @@ "build:apps": "next build" }, "dependencies": { - "@meshsdk/midnight-react": "0.0.2", + "@meshsdk/midnight-react": "*", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-slot": "^1.1.2", diff --git a/apps/docs/src/styles/globals.css b/apps/docs/src/styles/globals.css index 64f4ea7..fbaa128 100644 --- a/apps/docs/src/styles/globals.css +++ b/apps/docs/src/styles/globals.css @@ -1,7 +1,9 @@ @tailwind base; @tailwind components; @tailwind utilities; -@layer base { + +/* this seems to have conflict/issue with existing css */ +/* @layer base { :root { --background: 0 0% 100%; --foreground: 0 0% 3.9%; @@ -63,4 +65,4 @@ body { @apply bg-background text-foreground; } -} +} */ diff --git a/turbo.json b/turbo.json index dc77800..e4d2db5 100644 --- a/turbo.json +++ b/turbo.json @@ -7,7 +7,7 @@ "outputs": ["dist/**", ".next/**", "!.next/cache/**"] }, "build:apps": { - "dependsOn": ["^build:mesh", "^build:apps"], + "dependsOn": ["^build:apps"], "outputs": ["dist/**", ".next/**", "!.next/cache/**"] }, "build:mesh": { From a284946ac1450756736cb747300f0451d5e3220a Mon Sep 17 00:00:00 2001 From: erick Date: Sat, 5 Apr 2025 09:29:10 -0300 Subject: [PATCH 2/5] updating building issues and configs --- apps/docs/components.json | 21 - .../wallet-widget/midnight-wallet/index.tsx | 74 -- .../midnight-wallet/screen-main.tsx | 35 - .../pages/en/wiki/4_wallet_widget/4002.mdx | 28 - .../{4001.mdx => wallet-widget.mdx} | 0 apps/docs/src/styles/globals.css | 64 - apps/docs/tailwind.config.ts | 57 +- .../src/components/ui/button.tsx | 57 - .../src/components/ui/dialog.tsx | 120 -- .../src/components/ui/dropdown-menu.tsx | 201 --- .../src/components/ui/tooltip.tsx | 30 - .../wallet-widget/icons/icon-book-dashed.tsx | 34 - .../icons/icon-chevron-right.tsx | 24 - .../wallet-widget/icons/icon-download.tsx | 26 - .../wallet-widget/icons/icon-fingerprint.tsx | 32 - .../wallet-widget/icons/icon-lace.tsx | 16 - .../icons/icon-monitor-smartphone.tsx | 26 - .../wallet-widget/icons/icon-plus.tsx | 24 - .../wallet-widget/mesh-badge/index.tsx | 17 - .../wallet-widget/mesh-badge/mesh-logo.tsx | 10 - .../midnight-wallet/connected-button.tsx | 40 - .../wallet-widget/midnight-wallet/data.ts | 5 - .../midnight-wallet/wallet-icon.tsx | 34 - .../next-pages-150107/src/lib/utils.ts | 6 - .../next-pages-latest/.gitignore | 41 - .../next-pages-latest/README.md | 40 - .../next-pages-latest/eslint.config.mjs | 16 - .../next-pages-latest/next.config.ts | 8 - .../next-pages-latest/package.json | 29 - .../next-pages-latest/postcss.config.mjs | 5 - .../next-pages-latest/public/favicon.ico | Bin 25931 -> 0 bytes .../next-pages-latest/public/file.svg | 1 - .../next-pages-latest/public/globe.svg | 1 - .../next-pages-latest/public/next.svg | 1 - .../next-pages-latest/public/vercel.svg | 1 - .../next-pages-latest/public/window.svg | 1 - .../next-pages-latest/src/pages/_app.tsx | 22 - .../next-pages-latest/src/pages/_document.tsx | 13 - .../next-pages-latest/src/pages/api/hello.ts | 13 - .../next-pages-latest/src/pages/index.tsx | 7 - .../next-pages-latest/src/styles/globals.css | 26 - .../next-pages-latest/tsconfig.json | 22 - .../.gitignore | 0 .../README.md | 0 .../components.json | 0 .../eslint.config.mjs | 0 .../next.config.ts | 0 .../package.json | 10 +- .../postcss.config.mjs | 0 .../public/favicon.ico | Bin .../public/file.svg | 0 .../public/globe.svg | 0 .../public/next.svg | 0 .../public/vercel.svg | 0 .../public/window.svg | 0 .../src/components/mode-toggle.tsx | 0 .../src/components/ui/button.tsx | 2 +- .../src/components/ui/dialog.tsx | 0 .../src/components/ui/dropdown-menu.tsx | 0 .../src/components/ui/tooltip.tsx | 0 .../wallet-widget/icons/icon-book-dashed.tsx | 0 .../icons/icon-chevron-right.tsx | 0 .../wallet-widget/icons/icon-download.tsx | 0 .../wallet-widget/icons/icon-fingerprint.tsx | 0 .../wallet-widget/icons/icon-lace.tsx | 0 .../icons/icon-monitor-smartphone.tsx | 0 .../wallet-widget/icons/icon-plus.tsx | 0 .../wallet-widget/mesh-badge/index.tsx | 0 .../wallet-widget/mesh-badge/mesh-logo.tsx | 0 .../midnight-wallet/connected-button.tsx | 0 .../wallet-widget/midnight-wallet/data.ts | 0 .../wallet-widget/midnight-wallet/index.tsx | 2 +- .../midnight-wallet/screen-main.tsx | 0 .../midnight-wallet/wallet-icon.tsx | 0 .../wallet-examples}/src/lib/utils.ts | 0 .../src/pages/_app.tsx | 7 +- .../src/pages/_document.tsx | 0 .../src/pages/api/hello.ts | 0 .../src/pages/index.tsx | 3 +- .../src/styles/globals.css | 0 .../tailwind.config.ts | 3 +- .../tsconfig.json | 0 package-lock.json | 1077 ++--------------- 83 files changed, 143 insertions(+), 2189 deletions(-) delete mode 100644 apps/docs/components.json delete mode 100644 apps/docs/src/components/wallet-widget/midnight-wallet/index.tsx delete mode 100644 apps/docs/src/components/wallet-widget/midnight-wallet/screen-main.tsx delete mode 100644 apps/docs/src/pages/en/wiki/4_wallet_widget/4002.mdx rename apps/docs/src/pages/en/wiki/4_wallet_widget/{4001.mdx => wallet-widget.mdx} (100%) delete mode 100644 example-workspaces/next-pages-150107/src/components/ui/button.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/ui/dialog.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/ui/dropdown-menu.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/ui/tooltip.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-book-dashed.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-chevron-right.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-download.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-fingerprint.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-lace.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-monitor-smartphone.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-plus.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/index.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/mesh-logo.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/connected-button.tsx delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/data.ts delete mode 100644 example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx delete mode 100644 example-workspaces/next-pages-150107/src/lib/utils.ts delete mode 100644 example-workspaces/next-pages-latest/.gitignore delete mode 100644 example-workspaces/next-pages-latest/README.md delete mode 100644 example-workspaces/next-pages-latest/eslint.config.mjs delete mode 100644 example-workspaces/next-pages-latest/next.config.ts delete mode 100644 example-workspaces/next-pages-latest/package.json delete mode 100644 example-workspaces/next-pages-latest/postcss.config.mjs delete mode 100644 example-workspaces/next-pages-latest/public/favicon.ico delete mode 100644 example-workspaces/next-pages-latest/public/file.svg delete mode 100644 example-workspaces/next-pages-latest/public/globe.svg delete mode 100644 example-workspaces/next-pages-latest/public/next.svg delete mode 100644 example-workspaces/next-pages-latest/public/vercel.svg delete mode 100644 example-workspaces/next-pages-latest/public/window.svg delete mode 100644 example-workspaces/next-pages-latest/src/pages/_app.tsx delete mode 100644 example-workspaces/next-pages-latest/src/pages/_document.tsx delete mode 100644 example-workspaces/next-pages-latest/src/pages/api/hello.ts delete mode 100644 example-workspaces/next-pages-latest/src/pages/index.tsx delete mode 100644 example-workspaces/next-pages-latest/src/styles/globals.css delete mode 100644 example-workspaces/next-pages-latest/tsconfig.json rename example-workspaces/{next-pages-150107 => wallet-examples}/.gitignore (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/README.md (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/components.json (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/eslint.config.mjs (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/next.config.ts (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/package.json (84%) rename example-workspaces/{next-pages-150107 => wallet-examples}/postcss.config.mjs (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/favicon.ico (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/file.svg (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/globe.svg (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/next.svg (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/vercel.svg (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/public/window.svg (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/components/mode-toggle.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/ui/button.tsx (96%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/ui/dialog.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/ui/dropdown-menu.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/ui/tooltip.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-book-dashed.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-chevron-right.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-download.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-fingerprint.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-lace.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-monitor-smartphone.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/icons/icon-plus.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/mesh-badge/index.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/mesh-badge/mesh-logo.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/midnight-wallet/connected-button.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/midnight-wallet/data.ts (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/components/wallet-widget/midnight-wallet/index.tsx (96%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/components/wallet-widget/midnight-wallet/screen-main.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx (100%) rename {apps/docs => example-workspaces/wallet-examples}/src/lib/utils.ts (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/pages/_app.tsx (79%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/pages/_document.tsx (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/pages/api/hello.ts (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/pages/index.tsx (91%) rename example-workspaces/{next-pages-150107 => wallet-examples}/src/styles/globals.css (100%) rename example-workspaces/{next-pages-150107 => wallet-examples}/tailwind.config.ts (96%) rename example-workspaces/{next-pages-150107 => wallet-examples}/tsconfig.json (100%) diff --git a/apps/docs/components.json b/apps/docs/components.json deleted file mode 100644 index 90e9bf9..0000000 --- a/apps/docs/components.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema.json", - "style": "new-york", - "rsc": false, - "tsx": true, - "tailwind": { - "config": "tailwind.config.ts", - "css": "src/styles/globals.css", - "baseColor": "neutral", - "cssVariables": true, - "prefix": "" - }, - "aliases": { - "components": "@/components", - "utils": "@/lib/utils", - "ui": "@/components/ui", - "lib": "@/lib", - "hooks": "@/hooks" - }, - "iconLibrary": "lucide" -} \ No newline at end of file diff --git a/apps/docs/src/components/wallet-widget/midnight-wallet/index.tsx b/apps/docs/src/components/wallet-widget/midnight-wallet/index.tsx deleted file mode 100644 index 92fa5d5..0000000 --- a/apps/docs/src/components/wallet-widget/midnight-wallet/index.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { useState } from 'react'; -import { Button } from '@/components/ui/button'; -import { - Dialog, - DialogContent, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@/components/ui/dialog'; -import { useAssets, useWallet } from '@meshsdk/midnight-react'; -import ConnectedButton from './connected-button'; -import { screens } from './data'; -import ScreenMain from './screen-main'; - -export const CardanoWallet = () => { - const { open, setOpen } = useWallet(); - const [screen, setScreen] = useState('main'); - const { hasConnectedWallet } = useAssets(); - - return ( - -
- {!hasConnectedWallet ? ( - - - - ) : ( - - )} -
- - event.preventDefault()}> -
- {screen == 'main' && } -
- -
- ); -}; - -// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type -function Header({ screen, setScreen }: { screen: string; setScreen: Function }) { - return ( - - - - - {/* @ts-expect-error any type */} - {screens[screen].title} - - - - - ); -} - -function Footer() { - return ( - - - Powered by - - - - Mesh SDK - - - ); -} diff --git a/apps/docs/src/components/wallet-widget/midnight-wallet/screen-main.tsx b/apps/docs/src/components/wallet-widget/midnight-wallet/screen-main.tsx deleted file mode 100644 index 9b389cf..0000000 --- a/apps/docs/src/components/wallet-widget/midnight-wallet/screen-main.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import IconLace from '../icons/icon-lace'; - -import { TooltipProvider } from '@/components/ui/tooltip'; -import { useWallet, useWalletList } from '@meshsdk/midnight-react'; -import WalletIcon from './wallet-icon'; - -export default function ScreenMain({ - setOpen, -}: { - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - setOpen: Function; -}) { - const wallets = useWalletList(); - const { connectWallet } = useWallet(); - - return ( - -
- {wallets.map((wallet, index) => ( - } - name={wallet.name == "mnLace" ? "LACE" : "UNDEFINED"} - action={() => { - connectWallet(wallet.name); - setOpen(false); - }} - /> - ))} -
-
- ); -} diff --git a/apps/docs/src/pages/en/wiki/4_wallet_widget/4002.mdx b/apps/docs/src/pages/en/wiki/4_wallet_widget/4002.mdx deleted file mode 100644 index d36809b..0000000 --- a/apps/docs/src/pages/en/wiki/4_wallet_widget/4002.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Wallet Headless -description: Wallet UI interface -asIndexPage: true -sidebarTitle: Wallet Headless ---- - -# Wallet Headless - -import { MidnightMeshProvider } from "@meshsdk/midnight-react"; -import { CardanoWallet } from "@/components/wallet-widget/midnight-wallet"; -import * as pino from "pino"; - -export function Wallet() { - const logger = pino.pino({ - level: "trace", - }); - return ( - -
- -
- -
- ); -} - - \ No newline at end of file diff --git a/apps/docs/src/pages/en/wiki/4_wallet_widget/4001.mdx b/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx similarity index 100% rename from apps/docs/src/pages/en/wiki/4_wallet_widget/4001.mdx rename to apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx diff --git a/apps/docs/src/styles/globals.css b/apps/docs/src/styles/globals.css index fbaa128..a90f074 100644 --- a/apps/docs/src/styles/globals.css +++ b/apps/docs/src/styles/globals.css @@ -2,67 +2,3 @@ @tailwind components; @tailwind utilities; -/* this seems to have conflict/issue with existing css */ -/* @layer base { - :root { - --background: 0 0% 100%; - --foreground: 0 0% 3.9%; - --card: 0 0% 100%; - --card-foreground: 0 0% 3.9%; - --popover: 0 0% 100%; - --popover-foreground: 0 0% 3.9%; - --primary: 0 0% 9%; - --primary-foreground: 0 0% 98%; - --secondary: 0 0% 96.1%; - --secondary-foreground: 0 0% 9%; - --muted: 0 0% 96.1%; - --muted-foreground: 0 0% 45.1%; - --accent: 0 0% 96.1%; - --accent-foreground: 0 0% 9%; - --destructive: 0 84.2% 60.2%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 89.8%; - --input: 0 0% 89.8%; - --ring: 0 0% 3.9%; - --chart-1: 12 76% 61%; - --chart-2: 173 58% 39%; - --chart-3: 197 37% 24%; - --chart-4: 43 74% 66%; - --chart-5: 27 87% 67%; - --radius: 0.5rem; - } - .dark { - --background: 0 0% 3.9%; - --foreground: 0 0% 98%; - --card: 0 0% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 0 0% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 0 0% 9%; - --secondary: 0 0% 14.9%; - --secondary-foreground: 0 0% 98%; - --muted: 0 0% 14.9%; - --muted-foreground: 0 0% 63.9%; - --accent: 0 0% 14.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 14.9%; - --input: 0 0% 14.9%; - --ring: 0 0% 83.1%; - --chart-1: 220 70% 50%; - --chart-2: 160 60% 45%; - --chart-3: 30 80% 55%; - --chart-4: 280 65% 60%; - --chart-5: 340 75% 55%; - } -} -@layer base { - * { - @apply border-border; - } - body { - @apply bg-background text-foreground; - } -} */ diff --git a/apps/docs/tailwind.config.ts b/apps/docs/tailwind.config.ts index 266c06d..5a642cb 100644 --- a/apps/docs/tailwind.config.ts +++ b/apps/docs/tailwind.config.ts @@ -8,55 +8,12 @@ export default { "./src/app/**/*.{js,ts,jsx,tsx,mdx}", ], theme: { - extend: { - colors: { - background: 'hsl(var(--background))', - foreground: 'hsl(var(--foreground))', - card: { - DEFAULT: 'hsl(var(--card))', - foreground: 'hsl(var(--card-foreground))' - }, - popover: { - DEFAULT: 'hsl(var(--popover))', - foreground: 'hsl(var(--popover-foreground))' - }, - primary: { - DEFAULT: 'hsl(var(--primary))', - foreground: 'hsl(var(--primary-foreground))' - }, - secondary: { - DEFAULT: 'hsl(var(--secondary))', - foreground: 'hsl(var(--secondary-foreground))' - }, - muted: { - DEFAULT: 'hsl(var(--muted))', - foreground: 'hsl(var(--muted-foreground))' - }, - accent: { - DEFAULT: 'hsl(var(--accent))', - foreground: 'hsl(var(--accent-foreground))' - }, - destructive: { - DEFAULT: 'hsl(var(--destructive))', - foreground: 'hsl(var(--destructive-foreground))' - }, - border: 'hsl(var(--border))', - input: 'hsl(var(--input))', - ring: 'hsl(var(--ring))', - chart: { - '1': 'hsl(var(--chart-1))', - '2': 'hsl(var(--chart-2))', - '3': 'hsl(var(--chart-3))', - '4': 'hsl(var(--chart-4))', - '5': 'hsl(var(--chart-5))' - } - }, - borderRadius: { - lg: 'var(--radius)', - md: 'calc(var(--radius) - 2px)', - sm: 'calc(var(--radius) - 4px)' - } - } + extend: { + colors: { + background: "var(--background)", + foreground: "var(--foreground)", + }, + }, }, - plugins: [require("tailwindcss-animate")], + plugins: [], } satisfies Config; diff --git a/example-workspaces/next-pages-150107/src/components/ui/button.tsx b/example-workspaces/next-pages-150107/src/components/ui/button.tsx deleted file mode 100644 index 65d4fcd..0000000 --- a/example-workspaces/next-pages-150107/src/components/ui/button.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" - -import { cn } from "@/lib/utils" - -const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", - { - variants: { - variant: { - default: - "bg-primary text-primary-foreground shadow hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", - outline: - "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", - }, - size: { - default: "h-9 px-4 py-2", - sm: "h-8 rounded-md px-3 text-xs", - lg: "h-10 rounded-md px-8", - icon: "h-9 w-9", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean -} - -const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : "button" - return ( - - ) - } -) -Button.displayName = "Button" - -export { Button, buttonVariants } diff --git a/example-workspaces/next-pages-150107/src/components/ui/dialog.tsx b/example-workspaces/next-pages-150107/src/components/ui/dialog.tsx deleted file mode 100644 index 9dbeaa0..0000000 --- a/example-workspaces/next-pages-150107/src/components/ui/dialog.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import * as React from "react" -import * as DialogPrimitive from "@radix-ui/react-dialog" -import { X } from "lucide-react" - -import { cn } from "@/lib/utils" - -const Dialog = DialogPrimitive.Root - -const DialogTrigger = DialogPrimitive.Trigger - -const DialogPortal = DialogPrimitive.Portal - -const DialogClose = DialogPrimitive.Close - -const DialogOverlay = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DialogOverlay.displayName = DialogPrimitive.Overlay.displayName - -const DialogContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - {children} - - - Close - - - -)) -DialogContent.displayName = DialogPrimitive.Content.displayName - -const DialogHeader = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DialogHeader.displayName = "DialogHeader" - -const DialogFooter = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DialogFooter.displayName = "DialogFooter" - -const DialogTitle = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DialogTitle.displayName = DialogPrimitive.Title.displayName - -const DialogDescription = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DialogDescription.displayName = DialogPrimitive.Description.displayName - -export { - Dialog, - DialogPortal, - DialogOverlay, - DialogTrigger, - DialogClose, - DialogContent, - DialogHeader, - DialogFooter, - DialogTitle, - DialogDescription, -} diff --git a/example-workspaces/next-pages-150107/src/components/ui/dropdown-menu.tsx b/example-workspaces/next-pages-150107/src/components/ui/dropdown-menu.tsx deleted file mode 100644 index 5a20503..0000000 --- a/example-workspaces/next-pages-150107/src/components/ui/dropdown-menu.tsx +++ /dev/null @@ -1,201 +0,0 @@ -"use client" - -import * as React from "react" -import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" -import { Check, ChevronRight, Circle } from "lucide-react" - -import { cn } from "@/lib/utils" - -const DropdownMenu = DropdownMenuPrimitive.Root - -const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger - -const DropdownMenuGroup = DropdownMenuPrimitive.Group - -const DropdownMenuPortal = DropdownMenuPrimitive.Portal - -const DropdownMenuSub = DropdownMenuPrimitive.Sub - -const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup - -const DropdownMenuSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, children, ...props }, ref) => ( - - {children} - - -)) -DropdownMenuSubTrigger.displayName = - DropdownMenuPrimitive.SubTrigger.displayName - -const DropdownMenuSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSubContent.displayName = - DropdownMenuPrimitive.SubContent.displayName - -const DropdownMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, sideOffset = 4, ...props }, ref) => ( - - - -)) -DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName - -const DropdownMenuItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - svg]:size-4 [&>svg]:shrink-0", - inset && "pl-8", - className - )} - {...props} - /> -)) -DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName - -const DropdownMenuCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, checked, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuCheckboxItem.displayName = - DropdownMenuPrimitive.CheckboxItem.displayName - -const DropdownMenuRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName - -const DropdownMenuLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName - -const DropdownMenuSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName - -const DropdownMenuShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -DropdownMenuShortcut.displayName = "DropdownMenuShortcut" - -export { - DropdownMenu, - DropdownMenuTrigger, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuCheckboxItem, - DropdownMenuRadioItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuShortcut, - DropdownMenuGroup, - DropdownMenuPortal, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuRadioGroup, -} diff --git a/example-workspaces/next-pages-150107/src/components/ui/tooltip.tsx b/example-workspaces/next-pages-150107/src/components/ui/tooltip.tsx deleted file mode 100644 index 72dbd90..0000000 --- a/example-workspaces/next-pages-150107/src/components/ui/tooltip.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react" -import * as TooltipPrimitive from "@radix-ui/react-tooltip" - -import { cn } from "@/lib/utils" - -const TooltipProvider = TooltipPrimitive.Provider - -const Tooltip = TooltipPrimitive.Root - -const TooltipTrigger = TooltipPrimitive.Trigger - -const TooltipContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, sideOffset = 4, ...props }, ref) => ( - - - -)) -TooltipContent.displayName = TooltipPrimitive.Content.displayName - -export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-book-dashed.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-book-dashed.tsx deleted file mode 100644 index 185604a..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-book-dashed.tsx +++ /dev/null @@ -1,34 +0,0 @@ -export default function IconBookDashed() { - return ( - - - - - - - - - - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-chevron-right.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-chevron-right.tsx deleted file mode 100644 index 513880f..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-chevron-right.tsx +++ /dev/null @@ -1,24 +0,0 @@ -export default function IconChevronRight() { - return ( - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-download.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-download.tsx deleted file mode 100644 index d2cd1b7..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-download.tsx +++ /dev/null @@ -1,26 +0,0 @@ -export default function IconDownload() { - return ( - - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-fingerprint.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-fingerprint.tsx deleted file mode 100644 index dae5b32..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-fingerprint.tsx +++ /dev/null @@ -1,32 +0,0 @@ -export default function IconFingerprint() { - return ( - - - - - - - - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-lace.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-lace.tsx deleted file mode 100644 index 79d14a1..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-lace.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export default function IconLace() { - return ( - - - - - - - - - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-monitor-smartphone.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-monitor-smartphone.tsx deleted file mode 100644 index 5efbaf0..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-monitor-smartphone.tsx +++ /dev/null @@ -1,26 +0,0 @@ -export default function IconMonitorSmartphone() { - return ( - - - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-plus.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-plus.tsx deleted file mode 100644 index 3edadba..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/icons/icon-plus.tsx +++ /dev/null @@ -1,24 +0,0 @@ -export default function IconPlus() { - return ( - - - - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/index.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/index.tsx deleted file mode 100644 index 523e205..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/index.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { MeshLogo } from "./mesh-logo"; - -export const MeshBadge = ({ isDark = false }) => ( - - - Mesh - -); diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/mesh-logo.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/mesh-logo.tsx deleted file mode 100644 index 4a9b46d..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/mesh-badge/mesh-logo.tsx +++ /dev/null @@ -1,10 +0,0 @@ -export const MeshLogo = () => ( - - - -); diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/connected-button.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/connected-button.tsx deleted file mode 100644 index bd96bb4..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/connected-button.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; -import { useAssets, useWallet } from '@meshsdk/midnight-react'; -import { Button } from '@/components/ui/button'; - -export default function ConnectedButton() { - const { disconnect } = useWallet(); - const { address } = useAssets(); - - return ( - <> - {address && ( - - - - - - { - navigator.clipboard.writeText(address); - }} - > - Copy Address - - { - disconnect(); - }} - > - Disconnect - - - - )} - - ); -} diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/data.ts b/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/data.ts deleted file mode 100644 index d2fad0d..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/data.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const screens = { - main: { - title: "Connect Wallet", - }, -}; diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx b/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx deleted file mode 100644 index c7c4211..0000000 --- a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { - Tooltip, - TooltipContent, - TooltipTrigger, -} from "@/components/ui/tooltip"; - -export default function WalletIcon({ - icon, - name, - action, - iconReactNode, -}: { - icon?: string; - name: string; - action: () => void; - iconReactNode?: React.ReactNode; -}) { - return ( - - - - - -

{name}

-
-
- ); -} diff --git a/example-workspaces/next-pages-150107/src/lib/utils.ts b/example-workspaces/next-pages-150107/src/lib/utils.ts deleted file mode 100644 index bd0c391..0000000 --- a/example-workspaces/next-pages-150107/src/lib/utils.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { clsx, type ClassValue } from "clsx" -import { twMerge } from "tailwind-merge" - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) -} diff --git a/example-workspaces/next-pages-latest/.gitignore b/example-workspaces/next-pages-latest/.gitignore deleted file mode 100644 index 5ef6a52..0000000 --- a/example-workspaces/next-pages-latest/.gitignore +++ /dev/null @@ -1,41 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/versions - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# env files (can opt-in for committing if needed) -.env* - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/example-workspaces/next-pages-latest/README.md b/example-workspaces/next-pages-latest/README.md deleted file mode 100644 index ef0e47e..0000000 --- a/example-workspaces/next-pages-latest/README.md +++ /dev/null @@ -1,40 +0,0 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes) instead of React pages. - -This project uses [`next/font`](https://nextjs.org/docs/pages/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn-pages-router) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/pages/building-your-application/deploying) for more details. diff --git a/example-workspaces/next-pages-latest/eslint.config.mjs b/example-workspaces/next-pages-latest/eslint.config.mjs deleted file mode 100644 index c85fb67..0000000 --- a/example-workspaces/next-pages-latest/eslint.config.mjs +++ /dev/null @@ -1,16 +0,0 @@ -import { dirname } from "path"; -import { fileURLToPath } from "url"; -import { FlatCompat } from "@eslint/eslintrc"; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const compat = new FlatCompat({ - baseDirectory: __dirname, -}); - -const eslintConfig = [ - ...compat.extends("next/core-web-vitals", "next/typescript"), -]; - -export default eslintConfig; diff --git a/example-workspaces/next-pages-latest/next.config.ts b/example-workspaces/next-pages-latest/next.config.ts deleted file mode 100644 index 3915163..0000000 --- a/example-workspaces/next-pages-latest/next.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { NextConfig } from "next"; - -const nextConfig: NextConfig = { - /* config options here */ - reactStrictMode: true, -}; - -export default nextConfig; diff --git a/example-workspaces/next-pages-latest/package.json b/example-workspaces/next-pages-latest/package.json deleted file mode 100644 index 105f9b1..0000000 --- a/example-workspaces/next-pages-latest/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "next-pages-latest", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "clean": "rm -rf node_modules package-lock.json .next" - }, - "dependencies": { - "@meshsdk/midnight-react": "*", - "next": "15.2.4", - "react": "^19.0.0", - "react-dom": "^19.0.0" - }, - "devDependencies": { - "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "15.2.4", - "tailwindcss": "^4", - "typescript": "^5" - } -} diff --git a/example-workspaces/next-pages-latest/postcss.config.mjs b/example-workspaces/next-pages-latest/postcss.config.mjs deleted file mode 100644 index c7bcb4b..0000000 --- a/example-workspaces/next-pages-latest/postcss.config.mjs +++ /dev/null @@ -1,5 +0,0 @@ -const config = { - plugins: ["@tailwindcss/postcss"], -}; - -export default config; diff --git a/example-workspaces/next-pages-latest/public/favicon.ico b/example-workspaces/next-pages-latest/public/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/example-workspaces/next-pages-latest/public/file.svg b/example-workspaces/next-pages-latest/public/file.svg deleted file mode 100644 index 004145c..0000000 --- a/example-workspaces/next-pages-latest/public/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/example-workspaces/next-pages-latest/public/globe.svg b/example-workspaces/next-pages-latest/public/globe.svg deleted file mode 100644 index 567f17b..0000000 --- a/example-workspaces/next-pages-latest/public/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/example-workspaces/next-pages-latest/public/next.svg b/example-workspaces/next-pages-latest/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/example-workspaces/next-pages-latest/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/example-workspaces/next-pages-latest/public/vercel.svg b/example-workspaces/next-pages-latest/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/example-workspaces/next-pages-latest/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/example-workspaces/next-pages-latest/public/window.svg b/example-workspaces/next-pages-latest/public/window.svg deleted file mode 100644 index b2b2a44..0000000 --- a/example-workspaces/next-pages-latest/public/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/example-workspaces/next-pages-latest/src/pages/_app.tsx b/example-workspaces/next-pages-latest/src/pages/_app.tsx deleted file mode 100644 index 4ab0015..0000000 --- a/example-workspaces/next-pages-latest/src/pages/_app.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import "@/styles/globals.css"; -import type { AppProps } from "next/app"; -import { MidnightMeshProvider } from "@meshsdk/midnight-react"; -import "@meshsdk/midnight-react/styles.css"; -import * as pino from "pino"; -import { CardanoWallet } from "@meshsdk/midnight-react"; - -export const logger = pino.pino({ - level: "trace", -}); - -export default function App({ Component, pageProps }: AppProps) { - return ( - <> - - - - - - ); -} - diff --git a/example-workspaces/next-pages-latest/src/pages/_document.tsx b/example-workspaces/next-pages-latest/src/pages/_document.tsx deleted file mode 100644 index 628a733..0000000 --- a/example-workspaces/next-pages-latest/src/pages/_document.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Html, Head, Main, NextScript } from "next/document"; - -export default function Document() { - return ( - - - -
- - - - ); -} diff --git a/example-workspaces/next-pages-latest/src/pages/api/hello.ts b/example-workspaces/next-pages-latest/src/pages/api/hello.ts deleted file mode 100644 index ea77e8f..0000000 --- a/example-workspaces/next-pages-latest/src/pages/api/hello.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from "next"; - -type Data = { - name: string; -}; - -export default function handler( - req: NextApiRequest, - res: NextApiResponse, -) { - res.status(200).json({ name: "John Doe" }); -} diff --git a/example-workspaces/next-pages-latest/src/pages/index.tsx b/example-workspaces/next-pages-latest/src/pages/index.tsx deleted file mode 100644 index 48973ca..0000000 --- a/example-workspaces/next-pages-latest/src/pages/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function Home() { - return ( - <> -
Hola
- - ); -} diff --git a/example-workspaces/next-pages-latest/src/styles/globals.css b/example-workspaces/next-pages-latest/src/styles/globals.css deleted file mode 100644 index a2dc41e..0000000 --- a/example-workspaces/next-pages-latest/src/styles/globals.css +++ /dev/null @@ -1,26 +0,0 @@ -@import "tailwindcss"; - -:root { - --background: #ffffff; - --foreground: #171717; -} - -@theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - background: var(--background); - color: var(--foreground); - font-family: Arial, Helvetica, sans-serif; -} diff --git a/example-workspaces/next-pages-latest/tsconfig.json b/example-workspaces/next-pages-latest/tsconfig.json deleted file mode 100644 index 572b7ad..0000000 --- a/example-workspaces/next-pages-latest/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2017", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] -} diff --git a/example-workspaces/next-pages-150107/.gitignore b/example-workspaces/wallet-examples/.gitignore similarity index 100% rename from example-workspaces/next-pages-150107/.gitignore rename to example-workspaces/wallet-examples/.gitignore diff --git a/example-workspaces/next-pages-150107/README.md b/example-workspaces/wallet-examples/README.md similarity index 100% rename from example-workspaces/next-pages-150107/README.md rename to example-workspaces/wallet-examples/README.md diff --git a/example-workspaces/next-pages-150107/components.json b/example-workspaces/wallet-examples/components.json similarity index 100% rename from example-workspaces/next-pages-150107/components.json rename to example-workspaces/wallet-examples/components.json diff --git a/example-workspaces/next-pages-150107/eslint.config.mjs b/example-workspaces/wallet-examples/eslint.config.mjs similarity index 100% rename from example-workspaces/next-pages-150107/eslint.config.mjs rename to example-workspaces/wallet-examples/eslint.config.mjs diff --git a/example-workspaces/next-pages-150107/next.config.ts b/example-workspaces/wallet-examples/next.config.ts similarity index 100% rename from example-workspaces/next-pages-150107/next.config.ts rename to example-workspaces/wallet-examples/next.config.ts diff --git a/example-workspaces/next-pages-150107/package.json b/example-workspaces/wallet-examples/package.json similarity index 84% rename from example-workspaces/next-pages-150107/package.json rename to example-workspaces/wallet-examples/package.json index ddbb1b9..b391891 100644 --- a/example-workspaces/next-pages-150107/package.json +++ b/example-workspaces/wallet-examples/package.json @@ -10,7 +10,7 @@ "clean": "rm -rf node_modules package-lock.json .next" }, "dependencies": { - "@meshsdk/midnight-react": "0.0.2", + "@meshsdk/midnight-react": "*", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-slot": "^1.1.2", @@ -20,16 +20,16 @@ "lucide-react": "^0.484.0", "next": "15.1.7", "next-themes": "^0.4.6", - "react": "18", - "react-dom": "18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "tailwind-merge": "^3.0.2", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { "@eslint/eslintrc": "^3", "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", "eslint": "^9", "eslint-config-next": "15.1.7", "postcss": "^8", diff --git a/example-workspaces/next-pages-150107/postcss.config.mjs b/example-workspaces/wallet-examples/postcss.config.mjs similarity index 100% rename from example-workspaces/next-pages-150107/postcss.config.mjs rename to example-workspaces/wallet-examples/postcss.config.mjs diff --git a/example-workspaces/next-pages-150107/public/favicon.ico b/example-workspaces/wallet-examples/public/favicon.ico similarity index 100% rename from example-workspaces/next-pages-150107/public/favicon.ico rename to example-workspaces/wallet-examples/public/favicon.ico diff --git a/example-workspaces/next-pages-150107/public/file.svg b/example-workspaces/wallet-examples/public/file.svg similarity index 100% rename from example-workspaces/next-pages-150107/public/file.svg rename to example-workspaces/wallet-examples/public/file.svg diff --git a/example-workspaces/next-pages-150107/public/globe.svg b/example-workspaces/wallet-examples/public/globe.svg similarity index 100% rename from example-workspaces/next-pages-150107/public/globe.svg rename to example-workspaces/wallet-examples/public/globe.svg diff --git a/example-workspaces/next-pages-150107/public/next.svg b/example-workspaces/wallet-examples/public/next.svg similarity index 100% rename from example-workspaces/next-pages-150107/public/next.svg rename to example-workspaces/wallet-examples/public/next.svg diff --git a/example-workspaces/next-pages-150107/public/vercel.svg b/example-workspaces/wallet-examples/public/vercel.svg similarity index 100% rename from example-workspaces/next-pages-150107/public/vercel.svg rename to example-workspaces/wallet-examples/public/vercel.svg diff --git a/example-workspaces/next-pages-150107/public/window.svg b/example-workspaces/wallet-examples/public/window.svg similarity index 100% rename from example-workspaces/next-pages-150107/public/window.svg rename to example-workspaces/wallet-examples/public/window.svg diff --git a/example-workspaces/next-pages-150107/src/components/mode-toggle.tsx b/example-workspaces/wallet-examples/src/components/mode-toggle.tsx similarity index 100% rename from example-workspaces/next-pages-150107/src/components/mode-toggle.tsx rename to example-workspaces/wallet-examples/src/components/mode-toggle.tsx diff --git a/apps/docs/src/components/ui/button.tsx b/example-workspaces/wallet-examples/src/components/ui/button.tsx similarity index 96% rename from apps/docs/src/components/ui/button.tsx rename to example-workspaces/wallet-examples/src/components/ui/button.tsx index 65d4fcd..8f29e09 100644 --- a/apps/docs/src/components/ui/button.tsx +++ b/example-workspaces/wallet-examples/src/components/ui/button.tsx @@ -42,7 +42,7 @@ export interface ButtonProps const Button = React.forwardRef( ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : "button" + const Comp: React.ElementType = asChild ? Slot : "button"; return ( { ); }; -// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type +// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-unsafe-function-type function Header({ screen, setScreen }: { screen: string; setScreen: Function }) { return ( diff --git a/example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/screen-main.tsx b/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/screen-main.tsx similarity index 100% rename from example-workspaces/next-pages-150107/src/components/wallet-widget/midnight-wallet/screen-main.tsx rename to example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/screen-main.tsx diff --git a/apps/docs/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx b/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx similarity index 100% rename from apps/docs/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx rename to example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/wallet-icon.tsx diff --git a/apps/docs/src/lib/utils.ts b/example-workspaces/wallet-examples/src/lib/utils.ts similarity index 100% rename from apps/docs/src/lib/utils.ts rename to example-workspaces/wallet-examples/src/lib/utils.ts diff --git a/example-workspaces/next-pages-150107/src/pages/_app.tsx b/example-workspaces/wallet-examples/src/pages/_app.tsx similarity index 79% rename from example-workspaces/next-pages-150107/src/pages/_app.tsx rename to example-workspaces/wallet-examples/src/pages/_app.tsx index 53e2550..6b651d9 100644 --- a/example-workspaces/next-pages-150107/src/pages/_app.tsx +++ b/example-workspaces/wallet-examples/src/pages/_app.tsx @@ -5,7 +5,7 @@ import "@meshsdk/midnight-react/styles.css"; import * as pino from "pino"; import { CardanoWallet } from "@meshsdk/midnight-react"; import { ThemeProvider as NextThemesProvider } from "next-themes"; -// import { CardanoWallet } from "@/components/wallet-widget/midnight-wallet"; +import { CardanoWallet as HeadlessWallet } from "@/components/wallet-widget/midnight-wallet"; export const logger = pino.pino({ level: "trace", @@ -21,8 +21,11 @@ export default function App({ Component, pageProps }: AppProps) { disableTransitionOnChange > - +
This is a Wallet Widget
+ +
This is a Headless Wallet
+
diff --git a/example-workspaces/next-pages-150107/src/pages/_document.tsx b/example-workspaces/wallet-examples/src/pages/_document.tsx similarity index 100% rename from example-workspaces/next-pages-150107/src/pages/_document.tsx rename to example-workspaces/wallet-examples/src/pages/_document.tsx diff --git a/example-workspaces/next-pages-150107/src/pages/api/hello.ts b/example-workspaces/wallet-examples/src/pages/api/hello.ts similarity index 100% rename from example-workspaces/next-pages-150107/src/pages/api/hello.ts rename to example-workspaces/wallet-examples/src/pages/api/hello.ts diff --git a/example-workspaces/next-pages-150107/src/pages/index.tsx b/example-workspaces/wallet-examples/src/pages/index.tsx similarity index 91% rename from example-workspaces/next-pages-150107/src/pages/index.tsx rename to example-workspaces/wallet-examples/src/pages/index.tsx index ac8591c..1c4f38c 100644 --- a/example-workspaces/next-pages-150107/src/pages/index.tsx +++ b/example-workspaces/wallet-examples/src/pages/index.tsx @@ -2,8 +2,7 @@ import { ModeToggle } from "@/components/mode-toggle"; export default function Home() { return ( - <> - + <> ); diff --git a/example-workspaces/next-pages-150107/src/styles/globals.css b/example-workspaces/wallet-examples/src/styles/globals.css similarity index 100% rename from example-workspaces/next-pages-150107/src/styles/globals.css rename to example-workspaces/wallet-examples/src/styles/globals.css diff --git a/example-workspaces/next-pages-150107/tailwind.config.ts b/example-workspaces/wallet-examples/tailwind.config.ts similarity index 96% rename from example-workspaces/next-pages-150107/tailwind.config.ts rename to example-workspaces/wallet-examples/tailwind.config.ts index 266c06d..fdb1f2e 100644 --- a/example-workspaces/next-pages-150107/tailwind.config.ts +++ b/example-workspaces/wallet-examples/tailwind.config.ts @@ -1,4 +1,5 @@ import type { Config } from "tailwindcss"; +import animate from "tailwindcss-animate"; export default { darkMode: ["class"], @@ -58,5 +59,5 @@ export default { } } }, - plugins: [require("tailwindcss-animate")], + plugins: [animate], } satisfies Config; diff --git a/example-workspaces/next-pages-150107/tsconfig.json b/example-workspaces/wallet-examples/tsconfig.json similarity index 100% rename from example-workspaces/next-pages-150107/tsconfig.json rename to example-workspaces/wallet-examples/tsconfig.json diff --git a/package-lock.json b/package-lock.json index c57dc3c..0870c4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@meshsdk/midnight-react": "0.0.2", + "@meshsdk/midnight-react": "*", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-slot": "^1.1.2", @@ -136,6 +136,7 @@ "example-workspaces/next-pages-150107": { "name": "next-pages", "version": "0.1.0", + "extraneous": true, "dependencies": { "@meshsdk/midnight-react": "0.0.2", "@radix-ui/react-dialog": "^1.1.6", @@ -164,13 +165,65 @@ "typescript": "^5" } }, - "example-workspaces/next-pages-150107/node_modules/@next/env": { + "example-workspaces/next-pages-latest": { + "version": "0.1.0", + "extraneous": true, + "dependencies": { + "@meshsdk/midnight-react": "*", + "next": "15.2.4", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "15.2.4", + "tailwindcss": "^4", + "typescript": "^5" + } + }, + "example-workspaces/wallet-examples": { + "name": "next-pages", + "version": "0.1.0", + "dependencies": { + "@meshsdk/midnight-react": "*", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.484.0", + "next": "15.1.7", + "next-themes": "^0.4.6", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "tailwind-merge": "^3.0.2", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@types/node": "^20", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", + "eslint": "^9", + "eslint-config-next": "15.1.7", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, + "example-workspaces/wallet-examples/node_modules/@next/env": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.7.tgz", "integrity": "sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==", "license": "MIT" }, - "example-workspaces/next-pages-150107/node_modules/@next/eslint-plugin-next": { + "example-workspaces/wallet-examples/node_modules/@next/eslint-plugin-next": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.1.7.tgz", "integrity": "sha512-kRP7RjSxfTO13NE317ek3mSGzoZlI33nc/i5hs1KaWpK+egs85xg0DJ4p32QEiHnR0mVjuUfhRIun7awqfL7pQ==", @@ -180,7 +233,7 @@ "fast-glob": "3.3.1" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-darwin-arm64": { + "example-workspaces/wallet-examples/node_modules/@next/swc-darwin-arm64": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.7.tgz", "integrity": "sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==", @@ -196,7 +249,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-darwin-x64": { + "example-workspaces/wallet-examples/node_modules/@next/swc-darwin-x64": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.7.tgz", "integrity": "sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==", @@ -212,7 +265,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-linux-arm64-gnu": { + "example-workspaces/wallet-examples/node_modules/@next/swc-linux-arm64-gnu": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.7.tgz", "integrity": "sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==", @@ -228,7 +281,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-linux-arm64-musl": { + "example-workspaces/wallet-examples/node_modules/@next/swc-linux-arm64-musl": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.7.tgz", "integrity": "sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==", @@ -244,7 +297,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-linux-x64-gnu": { + "example-workspaces/wallet-examples/node_modules/@next/swc-linux-x64-gnu": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.7.tgz", "integrity": "sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==", @@ -260,7 +313,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-linux-x64-musl": { + "example-workspaces/wallet-examples/node_modules/@next/swc-linux-x64-musl": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.7.tgz", "integrity": "sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==", @@ -276,7 +329,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-win32-arm64-msvc": { + "example-workspaces/wallet-examples/node_modules/@next/swc-win32-arm64-msvc": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.7.tgz", "integrity": "sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==", @@ -292,7 +345,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@next/swc-win32-x64-msvc": { + "example-workspaces/wallet-examples/node_modules/@next/swc-win32-x64-msvc": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.7.tgz", "integrity": "sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==", @@ -308,7 +361,7 @@ "node": ">= 10" } }, - "example-workspaces/next-pages-150107/node_modules/@swc/helpers": { + "example-workspaces/wallet-examples/node_modules/@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", @@ -317,7 +370,7 @@ "tslib": "^2.8.0" } }, - "example-workspaces/next-pages-150107/node_modules/@types/react": { + "example-workspaces/wallet-examples/node_modules/@types/react": { "version": "19.1.0", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz", "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==", @@ -327,7 +380,7 @@ "csstype": "^3.0.2" } }, - "example-workspaces/next-pages-150107/node_modules/@types/react-dom": { + "example-workspaces/wallet-examples/node_modules/@types/react-dom": { "version": "19.1.1", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz", "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==", @@ -337,7 +390,7 @@ "@types/react": "^19.0.0" } }, - "example-workspaces/next-pages-150107/node_modules/eslint-config-next": { + "example-workspaces/wallet-examples/node_modules/eslint-config-next": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.1.7.tgz", "integrity": "sha512-zXoMnYUIy3XHaAoOhrcYkT9UQWvXqWju2K7NNsmb5wd/7XESDwof61eUdW4QhERr3eJ9Ko/vnXqIrj8kk/drYw==", @@ -365,7 +418,7 @@ } } }, - "example-workspaces/next-pages-150107/node_modules/next": { + "example-workspaces/wallet-examples/node_modules/next": { "version": "15.1.7", "resolved": "https://registry.npmjs.org/next/-/next-15.1.7.tgz", "integrity": "sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==", @@ -419,7 +472,7 @@ } } }, - "example-workspaces/next-pages-150107/node_modules/next/node_modules/styled-jsx": { + "example-workspaces/wallet-examples/node_modules/next/node_modules/styled-jsx": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", @@ -437,325 +490,12 @@ "@babel/core": { "optional": true }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "example-workspaces/next-pages-150107/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "example-workspaces/next-pages-150107/node_modules/tailwind-merge": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.1.0.tgz", - "integrity": "sha512-aV27Oj8B7U/tAOMhJsSGdWqelfmudnGMdXIlMnk1JfsjwSjts6o8HyfN7SFH3EztzH4YH8kk6GbLTHzITJO39Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "example-workspaces/next-pages-latest": { - "version": "0.1.0", - "dependencies": { - "@meshsdk/midnight-react": "*", - "next": "15.2.4", - "react": "^19.0.0", - "react-dom": "^19.0.0" - }, - "devDependencies": { - "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "15.2.4", - "tailwindcss": "^4", - "typescript": "^5" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/env": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", - "integrity": "sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==", - "license": "MIT" - }, - "example-workspaces/next-pages-latest/node_modules/@next/eslint-plugin-next": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.2.4.tgz", - "integrity": "sha512-O8ScvKtnxkp8kL9TpJTTKnMqlkZnS+QxwoQnJwPGBxjBbzd6OVVPEJ5/pMNrktSyXQD/chEfzfFzYLM6JANOOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-darwin-arm64": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz", - "integrity": "sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-darwin-x64": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz", - "integrity": "sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz", - "integrity": "sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-linux-arm64-musl": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz", - "integrity": "sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-linux-x64-gnu": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz", - "integrity": "sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-linux-x64-musl": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz", - "integrity": "sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz", - "integrity": "sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@next/swc-win32-x64-msvc": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz", - "integrity": "sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "example-workspaces/next-pages-latest/node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "example-workspaces/next-pages-latest/node_modules/@types/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz", - "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "example-workspaces/next-pages-latest/node_modules/@types/react-dom": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz", - "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "example-workspaces/next-pages-latest/node_modules/eslint-config-next": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.2.4.tgz", - "integrity": "sha512-v4gYjd4eYIme8qzaJItpR5MMBXJ0/YV07u7eb50kEnlEmX7yhOjdUdzz70v4fiINYRjLf8X8TbogF0k7wlz6sA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "15.2.4", - "@rushstack/eslint-patch": "^1.10.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^5.0.0" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "example-workspaces/next-pages-latest/node_modules/next": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz", - "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==", - "license": "MIT", - "dependencies": { - "@next/env": "15.2.4", - "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.15", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "15.2.4", - "@next/swc-darwin-x64": "15.2.4", - "@next/swc-linux-arm64-gnu": "15.2.4", - "@next/swc-linux-arm64-musl": "15.2.4", - "@next/swc-linux-x64-gnu": "15.2.4", - "@next/swc-linux-x64-musl": "15.2.4", - "@next/swc-win32-arm64-msvc": "15.2.4", - "@next/swc-win32-x64-msvc": "15.2.4", - "sharp": "^0.33.5" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { + "babel-plugin-macros": { "optional": true } } }, - "example-workspaces/next-pages-latest/node_modules/postcss": { + "example-workspaces/wallet-examples/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", @@ -783,63 +523,16 @@ "node": "^10 || ^12 || >=14" } }, - "example-workspaces/next-pages-latest/node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "example-workspaces/next-pages-latest/node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.26.0" - }, - "peerDependencies": { - "react": "^19.1.0" - } - }, - "example-workspaces/next-pages-latest/node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", - "license": "MIT" - }, - "example-workspaces/next-pages-latest/node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "example-workspaces/wallet-examples/node_modules/tailwind-merge": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.1.0.tgz", + "integrity": "sha512-aV27Oj8B7U/tAOMhJsSGdWqelfmudnGMdXIlMnk1JfsjwSjts6o8HyfN7SFH3EztzH4YH8kk6GbLTHzITJO39Q==", "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" } }, - "example-workspaces/next-pages-latest/node_modules/tailwindcss": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.2.tgz", - "integrity": "sha512-VCsK+fitIbQF7JlxXaibFhxrPq4E2hDcG8apzHUdWFMCQWD8uLdlHg4iSkZ53cgLCCcZ+FZK7vG8VjvLcnBgKw==", - "dev": true, - "license": "MIT" - }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -4159,318 +3852,57 @@ } }, "node_modules/@shikijs/themes": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", - "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "1.29.2" - } - }, - "node_modules/@shikijs/twoslash": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-1.29.2.tgz", - "integrity": "sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g==", - "license": "MIT", - "dependencies": { - "@shikijs/core": "1.29.2", - "@shikijs/types": "1.29.2", - "twoslash": "^0.2.12" - } - }, - "node_modules/@shikijs/types": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", - "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.1", - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "license": "MIT" - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.2.tgz", - "integrity": "sha512-ZwFnxH+1z8Ehh8bNTMX3YFrYdzAv7JLY5X5X7XSFY+G9QGJVce/P9xb2mh+j5hKt8NceuHmdtllJvAHWKtsNrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.29.2", - "tailwindcss": "4.1.2" - } - }, - "node_modules/@tailwindcss/node/node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/@tailwindcss/node/node_modules/tailwindcss": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.2.tgz", - "integrity": "sha512-VCsK+fitIbQF7JlxXaibFhxrPq4E2hDcG8apzHUdWFMCQWD8uLdlHg4iSkZ53cgLCCcZ+FZK7vG8VjvLcnBgKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.2.tgz", - "integrity": "sha512-Zwz//1QKo6+KqnCKMT7lA4bspGfwEgcPAHlSthmahtgrpKDfwRGk8PKQrW8Zg/ofCDIlg6EtjSTKSxxSufC+CQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.2", - "@tailwindcss/oxide-darwin-arm64": "4.1.2", - "@tailwindcss/oxide-darwin-x64": "4.1.2", - "@tailwindcss/oxide-freebsd-x64": "4.1.2", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.2", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.2", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.2", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.2", - "@tailwindcss/oxide-linux-x64-musl": "4.1.2", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.2", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.2" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.2.tgz", - "integrity": "sha512-IxkXbntHX8lwGmwURUj4xTr6nezHhLYqeiJeqa179eihGv99pRlKV1W69WByPJDQgSf4qfmwx904H6MkQqTA8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.2.tgz", - "integrity": "sha512-ZRtiHSnFYHb4jHKIdzxlFm6EDfijTCOT4qwUhJ3GWxfDoW2yT3z/y8xg0nE7e72unsmSj6dtfZ9Y5r75FIrlpA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.2.tgz", - "integrity": "sha512-BiKUNZf1A0pBNzndBvnPnBxonCY49mgbOsPfILhcCE5RM7pQlRoOgN7QnwNhY284bDbfQSEOWnFR0zbPo6IDTw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.2.tgz", - "integrity": "sha512-Z30VcpUfRGkiddj4l5NRCpzbSGjhmmklVoqkVQdkEC0MOelpY+fJrVhzSaXHmWrmSvnX8yiaEqAbdDScjVujYQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.2.tgz", - "integrity": "sha512-w3wsK1ChOLeQ3gFOiwabtWU5e8fY3P1Ss8jR3IFIn/V0va3ir//hZ8AwURveS4oK1Pu6b8i+yxesT4qWnLVUow==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.2.tgz", - "integrity": "sha512-oY/u+xJHpndTj7B5XwtmXGk8mQ1KALMfhjWMMpE8pdVAznjJsF5KkCceJ4Fmn5lS1nHMCwZum5M3/KzdmwDMdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.2.tgz", - "integrity": "sha512-k7G6vcRK/D+JOWqnKzKN/yQq1q4dCkI49fMoLcfs2pVcaUAXEqCP9NmA8Jv+XahBv5DtDjSAY3HJbjosEdKczg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.2.tgz", - "integrity": "sha512-fLL+c678TkYKgkDLLNxSjPPK/SzTec7q/E5pTwvpTqrth867dftV4ezRyhPM5PaiCqX651Y8Yk0wRQMcWUGnmQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.2.tgz", - "integrity": "sha512-0tU1Vjd1WucZ2ooq6y4nI9xyTSaH2g338bhrqk+2yzkMHskBm+pMsOCfY7nEIvALkA1PKPOycR4YVdlV7Czo+A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.2.tgz", - "integrity": "sha512-r8QaMo3QKiHqUcn+vXYCypCEha+R0sfYxmaZSgZshx9NfkY+CHz91aS2xwNV/E4dmUDkTPUag7sSdiCHPzFVTg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", + "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2" } }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.2.tgz", - "integrity": "sha512-lYCdkPxh9JRHXoBsPE8Pu/mppUsC2xihYArNAESub41PKhHTnvn6++5RpmFM+GLSt3ewyS8fwCVvht7ulWm6cw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@shikijs/twoslash": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-1.29.2.tgz", + "integrity": "sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@shikijs/core": "1.29.2", + "@shikijs/types": "1.29.2", + "twoslash": "^0.2.12" } }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.2.tgz", - "integrity": "sha512-vgkMo6QRhG6uv97im6Y4ExDdq71y9v2IGZc+0wn7lauQFYJM/1KdUVhrOkexbUso8tUsMOWALxyHVkQEbsM7gw==", - "dev": true, + "node_modules/@shikijs/types": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.2", - "@tailwindcss/oxide": "4.1.2", - "postcss": "^8.4.41", - "tailwindcss": "4.1.2" + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" } }, - "node_modules/@tailwindcss/postcss/node_modules/tailwindcss": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.2.tgz", - "integrity": "sha512-VCsK+fitIbQF7JlxXaibFhxrPq4E2hDcG8apzHUdWFMCQWD8uLdlHg4iSkZ53cgLCCcZ+FZK7vG8VjvLcnBgKw==", - "dev": true, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", "license": "MIT" }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, "node_modules/@tanstack/react-virtual": { "version": "3.13.6", "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.6.tgz", @@ -7365,8 +6797,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "devOptional": true, "license": "Apache-2.0", + "optional": true, "engines": { "node": ">=8" } @@ -7483,20 +6915,6 @@ "once": "^1.4.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -10482,245 +9900,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lightningcss": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", - "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.29.2", - "lightningcss-darwin-x64": "1.29.2", - "lightningcss-freebsd-x64": "1.29.2", - "lightningcss-linux-arm-gnueabihf": "1.29.2", - "lightningcss-linux-arm64-gnu": "1.29.2", - "lightningcss-linux-arm64-musl": "1.29.2", - "lightningcss-linux-x64-gnu": "1.29.2", - "lightningcss-linux-x64-musl": "1.29.2", - "lightningcss-win32-arm64-msvc": "1.29.2", - "lightningcss-win32-x64-msvc": "1.29.2" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", - "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", - "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", - "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", - "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", - "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", - "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", - "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", - "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", - "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", - "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -12300,11 +11479,7 @@ } }, "node_modules/next-pages": { - "resolved": "example-workspaces/next-pages-150107", - "link": true - }, - "node_modules/next-pages-latest": { - "resolved": "example-workspaces/next-pages-latest", + "resolved": "example-workspaces/wallet-examples", "link": true }, "node_modules/next-themes": { @@ -15382,16 +14557,6 @@ "node": ">= 6" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", From 51beda35303e8e86f8a4a70f6571f709f5268575 Mon Sep 17 00:00:00 2001 From: erick Date: Sat, 5 Apr 2025 12:28:04 -0300 Subject: [PATCH 3/5] logger optional on libs --- .../en/wiki/4_wallet_widget/wallet-widget.mdx | 12 +++------ .../wallet-widget/midnight-wallet/index.tsx | 2 +- .../wallet-examples/src/pages/_app.tsx | 8 +----- .../wallet-examples/src/pages/index.tsx | 10 ++++++-- package-lock.json | 10 ++++---- packages/mesh-midnight-core/package.json | 2 +- .../privateStateProvider.ts | 18 ++++++------- .../providers-wrappers/publicDataProvider.ts | 2 +- .../providers-wrappers/retryWithBackoff.ts | 10 ++++---- packages/mesh-midnight-react/package.json | 4 +-- .../src/contexts/midnight-wallet-context.tsx | 2 +- .../src/contexts/wallet-context.tsx | 2 +- .../src/midnight-wallet/index.tsx | 2 +- packages/mesh-midnight-wallet/package.json | 4 +-- .../src/browser/browser-wallet.ts | 25 ++++++++++--------- 15 files changed, 55 insertions(+), 58 deletions(-) diff --git a/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx b/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx index df4859f..bf6da3f 100644 --- a/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx +++ b/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx @@ -7,18 +7,14 @@ sidebarTitle: Wallet Widget # Wallet Widget -import { MidnightMeshProvider, CardanoWallet } from "@meshsdk/midnight-react"; -import * as pino from "pino"; +import { MidnightMeshProvider, MidnightWallet } from "@meshsdk/midnight-react"; import "@meshsdk/midnight-react/styles.css"; -export function Wallet() { - const logger = pino.pino({ - level: "trace", - }); +export function Wallet() { return ( - +
- +
); diff --git a/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/index.tsx b/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/index.tsx index 8ff8f8b..dd8d781 100644 --- a/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/index.tsx +++ b/example-workspaces/wallet-examples/src/components/wallet-widget/midnight-wallet/index.tsx @@ -13,7 +13,7 @@ import ConnectedButton from './connected-button'; import { screens } from './data'; import ScreenMain from './screen-main'; -export const CardanoWallet = () => { +export const MidnightWallet = () => { const { open, setOpen } = useWallet(); const [screen, setScreen] = useState('main'); const { hasConnectedWallet } = useAssets(); diff --git a/example-workspaces/wallet-examples/src/pages/_app.tsx b/example-workspaces/wallet-examples/src/pages/_app.tsx index 6b651d9..4dd454d 100644 --- a/example-workspaces/wallet-examples/src/pages/_app.tsx +++ b/example-workspaces/wallet-examples/src/pages/_app.tsx @@ -3,9 +3,7 @@ import type { AppProps } from "next/app"; import { MidnightMeshProvider } from "@meshsdk/midnight-react"; import "@meshsdk/midnight-react/styles.css"; import * as pino from "pino"; -import { CardanoWallet } from "@meshsdk/midnight-react"; import { ThemeProvider as NextThemesProvider } from "next-themes"; -import { CardanoWallet as HeadlessWallet } from "@/components/wallet-widget/midnight-wallet"; export const logger = pino.pino({ level: "trace", @@ -21,11 +19,7 @@ export default function App({ Component, pageProps }: AppProps) { disableTransitionOnChange > - -
This is a Wallet Widget
- -
This is a Headless Wallet
- +
diff --git a/example-workspaces/wallet-examples/src/pages/index.tsx b/example-workspaces/wallet-examples/src/pages/index.tsx index 1c4f38c..3f7722a 100644 --- a/example-workspaces/wallet-examples/src/pages/index.tsx +++ b/example-workspaces/wallet-examples/src/pages/index.tsx @@ -1,9 +1,15 @@ import { ModeToggle } from "@/components/mode-toggle"; +import { MidnightWallet } from "@meshsdk/midnight-react"; +import { MidnightWallet as HeadlessWallet } from "@/components/wallet-widget/midnight-wallet"; export default function Home() { return ( - <> - + <> + +
This is a Wallet Widget
+ +
This is a Headless Wallet
+ ); } diff --git a/package-lock.json b/package-lock.json index 0870c4b..863a76a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16990,7 +16990,7 @@ }, "packages/mesh-midnight-core": { "name": "@meshsdk/midnight-core", - "version": "0.0.1", + "version": "0.0.2", "license": "Apache-2.0", "dependencies": { "@midnight-ntwrk/compact-runtime": "0.7.0", @@ -17308,8 +17308,8 @@ "version": "0.0.2", "license": "Apache-2.0", "dependencies": { - "@meshsdk/midnight-core": "0.0.1", - "@meshsdk/midnight-wallet": "0.0.1", + "@meshsdk/midnight-core": "*", + "@meshsdk/midnight-wallet": "*", "@midnight-ntwrk/compact-runtime": "0.7.0", "@midnight-ntwrk/dapp-connector-api": "1.2.2", "@midnight-ntwrk/ledger": "3.0.2", @@ -17354,7 +17354,7 @@ }, "packages/mesh-midnight-wallet": { "name": "@meshsdk/midnight-wallet", - "version": "0.0.1", + "version": "0.0.2", "license": "Apache-2.0", "dependencies": { "@meshsdk/midnight-core": "0.0.1", @@ -17381,7 +17381,7 @@ }, "devDependencies": { "@meshsdk/configs": "*", - "@meshsdk/midnight-core": "0.0.1", + "@meshsdk/midnight-core": "*", "eslint": "^8.57.0", "tsup": "^8.0.2", "typedoc": "^0.26.3", diff --git a/packages/mesh-midnight-core/package.json b/packages/mesh-midnight-core/package.json index 94c936e..23bc4b3 100644 --- a/packages/mesh-midnight-core/package.json +++ b/packages/mesh-midnight-core/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/midnight-core", - "version": "0.0.1", + "version": "0.0.2", "description": "Core", "main": "./dist/index.cjs", "browser": "./dist/index.js", diff --git a/packages/mesh-midnight-core/src/providers-wrappers/privateStateProvider.ts b/packages/mesh-midnight-core/src/providers-wrappers/privateStateProvider.ts index dd002b2..f9ed865 100644 --- a/packages/mesh-midnight-core/src/providers-wrappers/privateStateProvider.ts +++ b/packages/mesh-midnight-core/src/providers-wrappers/privateStateProvider.ts @@ -8,46 +8,46 @@ export class WrappedPrivateStateProvider, - private readonly logger: Logger, + private readonly logger?: Logger, ) {} set(key: PSK, state: PSS[PSK]): Promise { - this.logger.trace(`Setting private state for key: ${key}`); + this.logger?.trace(`Setting private state for key: ${key}`); return this.privateDataProvider.set(key, state); } get(key: PSK): Promise { - this.logger.trace(`Getting private state for key: ${key}`); + this.logger?.trace(`Getting private state for key: ${key}`); return this.privateDataProvider.get(key); } remove(key: PSK): Promise { - this.logger.trace(`Removing private state for key: ${key}`); + this.logger?.trace(`Removing private state for key: ${key}`); return this.privateDataProvider.remove(key); } clear(): Promise { - this.logger.trace('Clearing private state'); + this.logger?.trace('Clearing private state'); return this.privateDataProvider.clear(); } setSigningKey(key: PSK, signingKey: SigningKey): Promise { - this.logger.trace(`Setting signing key for key: ${key}`); + this.logger?.trace(`Setting signing key for key: ${key}`); return this.privateDataProvider.setSigningKey(key, signingKey); } getSigningKey(key: PSK): Promise { - this.logger.trace(`Getting signing key for key: ${key}`); + this.logger?.trace(`Getting signing key for key: ${key}`); return this.privateDataProvider.getSigningKey(key); } removeSigningKey(key: PSK): Promise { - this.logger.trace(`Removing signing key for key: ${key}`); + this.logger?.trace(`Removing signing key for key: ${key}`); return this.privateDataProvider.removeSigningKey(key); } clearSigningKeys(): Promise { - this.logger.trace('Clearing signing keys'); + this.logger?.trace('Clearing signing keys'); return this.privateDataProvider.clearSigningKeys(); } } diff --git a/packages/mesh-midnight-core/src/providers-wrappers/publicDataProvider.ts b/packages/mesh-midnight-core/src/providers-wrappers/publicDataProvider.ts index 0cedf76..d9b02bc 100644 --- a/packages/mesh-midnight-core/src/providers-wrappers/publicDataProvider.ts +++ b/packages/mesh-midnight-core/src/providers-wrappers/publicDataProvider.ts @@ -15,7 +15,7 @@ export class WrappedPublicDataProvider implements PublicDataProvider { constructor( private readonly wrapped: PublicDataProvider, private readonly callback: (action: 'watchForTxDataStarted' | 'watchForTxDataDone') => void, - private readonly logger: Logger, + private readonly logger?: Logger, ) {} queryContractState( diff --git a/packages/mesh-midnight-core/src/providers-wrappers/retryWithBackoff.ts b/packages/mesh-midnight-core/src/providers-wrappers/retryWithBackoff.ts index 3c63e3b..4e8dc84 100644 --- a/packages/mesh-midnight-core/src/providers-wrappers/retryWithBackoff.ts +++ b/packages/mesh-midnight-core/src/providers-wrappers/retryWithBackoff.ts @@ -3,7 +3,7 @@ import { type Logger } from 'pino'; export function retryWithBackoff( operation: () => Promise, // The promise-returning operation operationName: string, // Name of the operation for logging - logger: Logger, + logger?: Logger, retries: number = 10, // Number of retries delay: number = 500, // Initial delay in milliseconds backoffFactor: number = 1.2, // Backoff factor @@ -18,19 +18,19 @@ export function retryWithBackoff( operation() .then((result) => { if (isRetry) { - logger.info(`[${operationName}] Operation succeeded after retries.`); + logger?.info(`[${operationName}] Operation succeeded after retries.`); } resolve(result); }) .catch((error) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - logger.error(`[${operationName}] Operation failed: ${error.message}`); + logger?.error(`[${operationName}] Operation failed: ${error.message}`); if (retryCount <= 0) { - logger.error(`[${operationName}] All retries exhausted. Rejecting.`); + logger?.error(`[${operationName}] All retries exhausted. Rejecting.`); reject(error); } else { - logger.info(`[${operationName}] Retrying operation in ${currentDelay}ms...`); + logger?.info(`[${operationName}] Retrying operation in ${currentDelay}ms...`); setTimeout(() => { const nextDelay = Math.min(currentDelay * backoffFactor, maxDelay); attempt(retryCount - 1, nextDelay, true); diff --git a/packages/mesh-midnight-react/package.json b/packages/mesh-midnight-react/package.json index 955395a..fc63a1c 100644 --- a/packages/mesh-midnight-react/package.json +++ b/packages/mesh-midnight-react/package.json @@ -29,8 +29,8 @@ "prepack:all": "npm run clean && npm install && npm run build && npm run pack" }, "dependencies": { - "@meshsdk/midnight-core": "0.0.1", - "@meshsdk/midnight-wallet": "0.0.1", + "@meshsdk/midnight-core": "*", + "@meshsdk/midnight-wallet": "*", "@midnight-ntwrk/compact-runtime": "0.7.0", "@midnight-ntwrk/dapp-connector-api": "1.2.2", "@midnight-ntwrk/ledger": "3.0.2", diff --git a/packages/mesh-midnight-react/src/contexts/midnight-wallet-context.tsx b/packages/mesh-midnight-react/src/contexts/midnight-wallet-context.tsx index ca83f30..1739e45 100644 --- a/packages/mesh-midnight-react/src/contexts/midnight-wallet-context.tsx +++ b/packages/mesh-midnight-react/src/contexts/midnight-wallet-context.tsx @@ -4,7 +4,7 @@ export { WalletContext } from "./wallet-context"; interface MidnightMeshProviderProps { children: React.ReactNode; - logger: Logger; + logger?: Logger; } export const MidnightMeshProvider = ({children, logger}: MidnightMeshProviderProps) => { diff --git a/packages/mesh-midnight-react/src/contexts/wallet-context.tsx b/packages/mesh-midnight-react/src/contexts/wallet-context.tsx index 9fe250e..6ce945d 100644 --- a/packages/mesh-midnight-react/src/contexts/wallet-context.tsx +++ b/packages/mesh-midnight-react/src/contexts/wallet-context.tsx @@ -51,7 +51,7 @@ export interface WalletContext { isProofServerOnline: boolean; } -export const useWalletStore = (logger: Logger): WalletContext => { +export const useWalletStore = (logger?: Logger): WalletContext => { const [open, setOpen] = useState(false); const [error, setError] = useState(undefined); const [state, setState] = useState(WalletState.NOT_CONNECTED); diff --git a/packages/mesh-midnight-react/src/midnight-wallet/index.tsx b/packages/mesh-midnight-react/src/midnight-wallet/index.tsx index 8c6c792..b9d561c 100644 --- a/packages/mesh-midnight-react/src/midnight-wallet/index.tsx +++ b/packages/mesh-midnight-react/src/midnight-wallet/index.tsx @@ -13,7 +13,7 @@ import ConnectedButton from './connected-button'; import { screens } from './data'; import ScreenMain from './screen-main'; -export const CardanoWallet = () => { +export const MidnightWallet = () => { const { open, setOpen } = useWallet(); const [screen, setScreen] = useState('main'); const { hasConnectedWallet } = useAssets(); diff --git a/packages/mesh-midnight-wallet/package.json b/packages/mesh-midnight-wallet/package.json index e673af0..197f7c5 100644 --- a/packages/mesh-midnight-wallet/package.json +++ b/packages/mesh-midnight-wallet/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/midnight-wallet", - "version": "0.0.1", + "version": "0.0.2", "description": "Wallets", "main": "./dist/index.cjs", "browser": "./dist/index.js", @@ -30,7 +30,7 @@ }, "devDependencies": { "@meshsdk/configs": "*", - "@meshsdk/midnight-core": "0.0.1", + "@meshsdk/midnight-core": "*", "eslint": "^8.57.0", "tsup": "^8.0.2", "typedoc": "^0.26.3", diff --git a/packages/mesh-midnight-wallet/src/browser/browser-wallet.ts b/packages/mesh-midnight-wallet/src/browser/browser-wallet.ts index bac79f1..6ee59ae 100644 --- a/packages/mesh-midnight-wallet/src/browser/browser-wallet.ts +++ b/packages/mesh-midnight-wallet/src/browser/browser-wallet.ts @@ -23,8 +23,7 @@ export class MidnightBrowserWallet { _encryptionPublicKey: string | undefined; _proofServerOnline: boolean; - private constructor( - readonly logger: Logger, + private constructor( connectorAPI: DAppConnectorAPI, walletInstance: DAppConnectorWalletAPI, walletName: string, @@ -33,6 +32,7 @@ export class MidnightBrowserWallet { coinPublicKey: string, encryptionPublicKey: string, proofServerOnline: boolean, + readonly logger?: Logger, ) { this._walletInstance = walletInstance; this._walletName = walletName; @@ -41,6 +41,7 @@ export class MidnightBrowserWallet { this._coinPublicKey = coinPublicKey; this._encryptionPublicKey = encryptionPublicKey; this._proofServerOnline = proofServerOnline; + this.logger = logger; } static getAvailableWallets(): DAppConnectorAPI[] { @@ -86,7 +87,7 @@ export class MidnightBrowserWallet { window.localStorage.removeItem('walletName-connected'); } - static async connectToWallet(walletName: string, logger: Logger): Promise { + static async connectToWallet(walletName: string, logger?: Logger): Promise { const COMPATIBLE_CONNECTOR_API_VERSION = '1.x'; return firstValueFrom( @@ -94,18 +95,18 @@ export class MidnightBrowserWallet { interval(100), map(() => window.midnight?.[walletName]), tap((connectorAPI) => { - logger.info(connectorAPI, 'Check for wallet connector API'); + logger?.info(connectorAPI, 'Check for wallet connector API'); }), filter((connectorAPI): connectorAPI is DAppConnectorAPI => !!connectorAPI), tap((connectorAPI) => { - logger.info(connectorAPI, 'Compatible wallet connector API found. Connecting.'); + logger?.info(connectorAPI, 'Compatible wallet connector API found. Connecting.'); }), take(1), timeout({ first: 1_000, with: () => throwError(() => { - logger.error('Could not find wallet connector API'); + logger?.error('Could not find wallet connector API'); return new Error('Could not find Midnight Lace wallet. Extension installed?'); }), @@ -113,7 +114,7 @@ export class MidnightBrowserWallet { concatMap(async (connectorAPI) => { const isEnabled = await connectorAPI.isEnabled(); - logger.info(isEnabled, 'Wallet connector API enabled status'); + logger?.info(isEnabled, 'Wallet connector API enabled status'); return connectorAPI; }), @@ -121,7 +122,7 @@ export class MidnightBrowserWallet { first: 5_000, with: () => throwError(() => { - logger.error('Wallet connector API has failed to respond'); + logger?.error('Wallet connector API has failed to respond'); return new Error('Midnight Lace wallet has failed to respond. Extension enabled?'); }), @@ -133,7 +134,7 @@ export class MidnightBrowserWallet { catchError((error, apis) => error ? throwError(() => { - logger.error('Unable to enable connector API'); + logger?.error('Unable to enable connector API'); return new Error('Application is not authorized'); }) : apis, @@ -143,10 +144,9 @@ export class MidnightBrowserWallet { const { address, coinPublicKey, encryptionPublicKey } = await walletConnectorAPI.state(); const proofServerOnline = await checkProofServerStatus(uris.proverServerUri); - logger.info('Connected to wallet connector API and retrieved service configuration'); + logger?.info('Connected to wallet connector API and retrieved service configuration'); - const wallet = new MidnightBrowserWallet( - logger, + const wallet = new MidnightBrowserWallet( connectorAPI, walletConnectorAPI, walletName, @@ -155,6 +155,7 @@ export class MidnightBrowserWallet { coinPublicKey, encryptionPublicKey, proofServerOnline, + logger, ); // Call the static method From 7aa197b5d921355bebc5749cafe399b91db84285 Mon Sep 17 00:00:00 2001 From: erick Date: Sat, 5 Apr 2025 17:41:57 -0300 Subject: [PATCH 4/5] wallet install and ui, docs --- apps/docs/package.json | 1 + .../0_installtion_providers.mdx | 67 + .../4_react_components/1_ui_components.mdx | 54 + .../en/wiki/4_react_components/2_hooks.mdx | 29 + .../en/wiki/4_wallet_widget/wallet-widget.mdx | 23 - apps/docs/src/pages/en/wiki/_meta.js | 6 +- .../wallet-examples/src/pages/index.tsx | 4 +- package-lock.json | 1182 +++++++++++++++++ 8 files changed, 1339 insertions(+), 27 deletions(-) create mode 100644 apps/docs/src/pages/en/wiki/4_react_components/0_installtion_providers.mdx create mode 100644 apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx create mode 100644 apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx delete mode 100644 apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx diff --git a/apps/docs/package.json b/apps/docs/package.json index ffd4d4d..f72f093 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -22,6 +22,7 @@ }, "devDependencies": { "@eslint/eslintrc": "^3", + "@graphql-eslint/eslint-plugin": "^4.4.0", "@types/node": "^20", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.1", diff --git a/apps/docs/src/pages/en/wiki/4_react_components/0_installtion_providers.mdx b/apps/docs/src/pages/en/wiki/4_react_components/0_installtion_providers.mdx new file mode 100644 index 0000000..f318411 --- /dev/null +++ b/apps/docs/src/pages/en/wiki/4_react_components/0_installtion_providers.mdx @@ -0,0 +1,67 @@ +--- +title: Installation and providers +description: Configuring provider +asIndexPage: true +sidebarTitle: Installation and providers +--- + +# Installation and providers + +Frontend components for wallet connections, and useful React hooks to getting wallet states. + +Mesh provide a collection of useful UI components, so you can easily include web3 functionality and convenient utilities for your application. + +## Setup + +Install the Mesh React package, run the following: + +```sh npm2yarn copy +npm install @meshsdk/midnight-react +``` + +Next, add the Mesh CSS to your application, doing so will apply the default styles to the components. You can add this in /pages/\_app.tsx. + +```js filename="/pages/_app.tsx" copy +import "@meshsdk/midnight-react/styles.css"; +``` + +## Midnight Mesh Provider + +React Context allows apps to share data across the app, and MidnightMeshProvider allows your app to subscribe to context changes. You can wrap MidnightMeshProvider at the root of your application, for example in Next.js: + +```js filename="/pages/_app.tsx" copy +import type { AppProps } from "next/app"; +import { MidnightMeshProvider } from "@meshsdk/midnight-react"; +import "@meshsdk/midnight-react/styles.css"; + +export default function App({ Component, pageProps }: AppProps) { + return ( + + + + ); +} +``` + +You may optionally provide a logger to track wallet actions and events. If not required, it can be omitted as demonstrated above. + +```js filename="/pages/_app.tsx" copy +import type { AppProps } from "next/app"; +import { MidnightMeshProvider } from "@meshsdk/midnight-react"; +import "@meshsdk/midnight-react/styles.css"; +import * as pino from "pino"; + +export default function App({ Component, pageProps }: AppProps) { + export const logger = pino.pino({ + level: "trace", + }); + + return ( + + + + ); +} +``` + +Now your application is ready, explore the available UI components and wallet hooks and start using them in your application. diff --git a/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx b/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx new file mode 100644 index 0000000..2398ae6 --- /dev/null +++ b/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx @@ -0,0 +1,54 @@ +--- +title: Wallet UI Components +description: React ready-to-use components +asIndexPage: true +sidebarTitle: Wallet UI Components +--- + +# Wallet UI Components + +UI components to speed up your app development. + +Mesh provides a collection of useful UI components, so you can easily include web3 functionality and convenient utilities for your application + +### Connect Wallet +In order for apps to communicate with the user's wallet, we need a way to connect to their wallet. + +##### Dark Mode +Dark mode is built into the library. Simply toggling the dark class will enable it automatically. You can try switching between dark and light modes using the control at the bottom left of the documentation. + +##### Persist user session +The library automatically handles saving and reconnecting the user's last connected wallet. + +##### Headless Wallet - Customization +For more customization, you can easily build your own wallet connection component. If you are using React, the [React hooks](/en/wiki/4_react_components/2_hooks) will be useful. You may also take reference from this [component](https://github.com/MeshJS/midnight/tree/main/example-workspaces/wallet-examples). + +##### Connect Wallet Component +```js copy +import { MidnightWallet } from "@meshsdk/midnight-react"; + +export default function Home() { + return ( + + ); +} +``` + +import { MidnightMeshProvider, MidnightWallet } from "@meshsdk/midnight-react"; +import "@meshsdk/midnight-react/styles.css"; +import * as pino from "pino"; + +export function Wallet() { + const logger = pino.pino({ + level: "trace", + }); + return ( + +
+ +
+
+ ); +} + + diff --git a/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx b/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx new file mode 100644 index 0000000..0614b19 --- /dev/null +++ b/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx @@ -0,0 +1,29 @@ +--- +title: Wallet Hooks +description: Access wallet state +asIndexPage: true +sidebarTitle: Wallet Hooks +--- + +# Wallet Hooks +React hooks for interacting with connected wallets. + +React Hooks allow function components to have access to state and other React features. With Mesh Hooks, you can easily interact and access wallet data. + +##### useAssets Hook + +##### useWallets Hook + +##### useWalletBalanceProve Hook + +##### useWalletList Hook + +##### useWalletSubmit Hook + + + + + + + + diff --git a/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx b/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx deleted file mode 100644 index bf6da3f..0000000 --- a/apps/docs/src/pages/en/wiki/4_wallet_widget/wallet-widget.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Wallet Widget -description: Wallet UI interface -asIndexPage: true -sidebarTitle: Wallet Widget ---- - -# Wallet Widget - -import { MidnightMeshProvider, MidnightWallet } from "@meshsdk/midnight-react"; -import "@meshsdk/midnight-react/styles.css"; - -export function Wallet() { - return ( - -
- -
-
- ); -} - - diff --git a/apps/docs/src/pages/en/wiki/_meta.js b/apps/docs/src/pages/en/wiki/_meta.js index a3f7fd4..8692d0c 100644 --- a/apps/docs/src/pages/en/wiki/_meta.js +++ b/apps/docs/src/pages/en/wiki/_meta.js @@ -16,8 +16,8 @@ export default { title: "Smart Contracts Lib", route: "/3_smart_contracts_lib", }, - "4_wallet_widget": { - title: "Wallet widget", - route: "/4_wallet_widget", + "4_react_components": { + title: "React Components", + route: "/4_react_components", }, }; diff --git a/example-workspaces/wallet-examples/src/pages/index.tsx b/example-workspaces/wallet-examples/src/pages/index.tsx index 3f7722a..77097d2 100644 --- a/example-workspaces/wallet-examples/src/pages/index.tsx +++ b/example-workspaces/wallet-examples/src/pages/index.tsx @@ -1,8 +1,9 @@ import { ModeToggle } from "@/components/mode-toggle"; -import { MidnightWallet } from "@meshsdk/midnight-react"; +import { MidnightWallet, useAssets } from "@meshsdk/midnight-react"; import { MidnightWallet as HeadlessWallet } from "@/components/wallet-widget/midnight-wallet"; export default function Home() { + const {address} = useAssets(); return ( <> @@ -10,6 +11,7 @@ export default function Home() {
This is a Headless Wallet
+ {address} ); } diff --git a/package-lock.json b/package-lock.json index 863a76a..c7de262 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,7 @@ }, "devDependencies": { "@eslint/eslintrc": "^3", + "@graphql-eslint/eslint-plugin": "^4.4.0", "@types/node": "^20", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.1", @@ -545,6 +546,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@antfu/install-pkg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.0.0.tgz", @@ -624,6 +639,70 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { "version": "7.27.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", @@ -641,6 +720,85 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", @@ -661,6 +819,30 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/parser": { "version": "7.27.0", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", @@ -677,6 +859,22 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { "version": "7.27.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", @@ -836,6 +1034,50 @@ "tslib": "^2.4.0" } }, + "node_modules/@envelop/core": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@envelop/core/-/core-5.2.3.tgz", + "integrity": "sha512-KfoGlYD/XXQSc3BkM1/k15+JQbkQ4ateHazeZoWl9P71FsLTDXSjGy6j7QqfhpIDSbxNISqhPMfZHYSbDFOofQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@envelop/types": "^5.2.1", + "@whatwg-node/promise-helpers": "^1.2.4", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/types": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@envelop/types/-/types-5.2.1.tgz", + "integrity": "sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", @@ -1474,6 +1716,483 @@ "tslib": "2" } }, + "node_modules/@graphql-eslint/eslint-plugin": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@graphql-eslint/eslint-plugin/-/eslint-plugin-4.4.0.tgz", + "integrity": "sha512-dhW6fpk3Souuaphhc38uMAGCcgKMgtCJWFygIKODw/Kns43wiQqRPVay0aNFY1JBx3aevn4KPT/BCOdm6HNncA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/code-file-loader": "^8.0.0", + "@graphql-tools/graphql-tag-pluck": "^8.3.4", + "@graphql-tools/utils": "^10.0.0", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "graphql-config": "^5.1.3", + "graphql-depth-limit": "^1.1.0", + "lodash.lowercase": "^4.3.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@apollo/subgraph": "^2", + "eslint": ">=8.44.0", + "graphql": "^16", + "json-schema-to-ts": "^3" + }, + "peerDependenciesMeta": { + "@apollo/subgraph": { + "optional": true + }, + "json-schema-to-ts": { + "optional": true + } + } + }, + "node_modules/@graphql-hive/signal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", + "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@graphql-tools/batch-execute": { + "version": "9.0.15", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.15.tgz", + "integrity": "sha512-qlWUl6yi87FU5WvyJ0uD81R4Y30oQIuW3mJCjOrEvifyT+f/rEqSZFOhYrofYoZAoTcwqOhy6WgH+b9+AtRYjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/code-file-loader": { + "version": "8.1.20", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.20.tgz", + "integrity": "sha512-GzIbjjWJIc04KWnEr8VKuPe0FA2vDTlkaeub5p4lLimljnJ6C0QSkOyCUnFmsB9jetQcHm0Wfmn/akMnFUG+wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-tag-pluck": "8.3.19", + "@graphql-tools/utils": "^10.8.6", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/delegate": { + "version": "10.2.16", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.16.tgz", + "integrity": "sha512-nSsp1T2tLxy1H9FFRUfLs6rGrD880A4ClaMxGrxEPG9kKfT2vgG7YjgVFdLeE9PnaNTFKgXB3FP/2z6Va/Cfaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^9.0.15", + "@graphql-tools/executor": "^1.3.10", + "@graphql-tools/schema": "^10.0.11", + "@graphql-tools/utils": "^10.8.1", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "dset": "^3.1.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.4.7.tgz", + "integrity": "sha512-U0nK9jzJRP9/9Izf1+0Gggd6K6RNRsheFo1gC/VWzfnsr0qjcOSS9qTjY0OTC5iTPt4tQ+W5Zpw/uc7mebI6aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.6", + "@graphql-typed-document-node/core": "^3.2.0", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-common": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", + "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.2.3", + "@graphql-tools/utils": "^10.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.5.tgz", + "integrity": "sha512-gI/D9VUzI1Jt1G28GYpvm5ckupgJ5O8mi5Y657UyuUozX34ErfVdZ81g6oVcKFQZ60LhCzk7jJeykK48gaLhDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^0.0.4", + "@graphql-tools/utils": "^10.8.1", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.3", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.8.1", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws/node_modules/graphql-ws": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.4.tgz", + "integrity": "sha512-8b4OZtNOvv8+NZva8HXamrc0y1jluYC0+13gdh7198FKjVzXyTvVc95DCwGzaKEfn3YuWZxUqjJlHe3qKM/F2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "@fastify/websocket": "^10 || ^11", + "graphql": "^15.10.1 || ^16", + "uWebSockets.js": "^20", + "ws": "^8" + }, + "peerDependenciesMeta": { + "@fastify/websocket": { + "optional": true + }, + "uWebSockets.js": { + "optional": true + }, + "ws": { + "optional": true + } + } + }, + "node_modules/@graphql-tools/executor-http": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.2.tgz", + "integrity": "sha512-G2MUd4WoeU0lH2reB8vPmid867gwU0p5V01Dq0vaTHAFYPrbQgOKbD3D0aS5Hb5ClvoZiVaepGLv9g7ApmnRUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^1.0.0", + "@graphql-tools/executor-common": "^0.0.4", + "@graphql-tools/utils": "^10.8.1", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.4", + "@whatwg-node/promise-helpers": "^1.3.0", + "meros": "^1.2.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.17.tgz", + "integrity": "sha512-TvltY6eL4DY1Vt66Z8kt9jVmNcI+WkvVPQZrPbMCM3rv2Jw/sWvSwzUBezRuWX0sIckMifYVh23VPcGBUKX/wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.6", + "@types/ws": "^8.0.0", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-file-loader": { + "version": "8.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.0.19.tgz", + "integrity": "sha512-kyEZL4rRJ5LelfCXL3GLgbMiu5Zd7memZaL8ZxPXGI7DA8On1e5IVBH3zZJwf7LzhjSVnPaHM7O/bRzGvTbXzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/import": "7.0.18", + "@graphql-tools/utils": "^10.8.6", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-tag-pluck": { + "version": "8.3.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.19.tgz", + "integrity": "sha512-LEw/6IYOUz48HjbWntZXDCzSXsOIM1AyWZrlLoJOrA8QAlhFd8h5Tny7opCypj8FO9VvpPFugWoNDh5InPOEQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "@graphql-tools/utils": "^10.8.6", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.0.18.tgz", + "integrity": "sha512-1tw1/1QLB0n5bPWfIrhCRnrHIlbMvbwuifDc98g4FPhJ7OXD+iUQe+IpmD5KHVwYWXWhZOuJuq45DfV/WLNq3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.6", + "resolve-from": "5.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphql-tools/json-file-loader": { + "version": "8.0.18", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.18.tgz", + "integrity": "sha512-JjjIxxewgk8HeMR3npR3YbOkB7fxmdgmqB9kZLWdkRKBxrRXVzhryyq+mhmI0Evzt6pNoHIc3vqwmSctG2sddg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.6", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load": { + "version": "8.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.0.19.tgz", + "integrity": "sha512-YA3T9xTy2B6dNTnqsCzqSclA23j4v3p3A2Vdn0jEbZPGLMRPzWW8MJu2nlgQ8uua1IpYD/J8xgyrFxxAo3qPmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/schema": "^10.0.23", + "@graphql-tools/utils": "^10.8.6", + "p-limit": "3.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@graphql-tools/load/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "9.0.24", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.24.tgz", + "integrity": "sha512-NzWx/Afl/1qHT3Nm1bghGG2l4jub28AdvtG11PoUlmjcIjnFBJMv4vqL0qnxWe8A82peWo4/TkVdjJRLXwgGEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.6", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "10.0.23", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.23.tgz", + "integrity": "sha512-aEGVpd1PCuGEwqTXCStpEkmheTHNdMayiIKH1xDWqYp9i8yKv9FRDgkGrY4RD8TNxnf7iII+6KOBGaJ3ygH95A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^9.0.24", + "@graphql-tools/utils": "^10.8.6", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader": { + "version": "8.0.31", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.31.tgz", + "integrity": "sha512-QGP3py6DAdKERHO5D38Oi+6j+v0O3rkBbnLpyOo87rmIRbwE6sOkL5JeHegHs7EEJ279fBX6lMt8ry0wBMGtyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^2.0.1", + "@graphql-tools/executor-http": "^1.1.9", + "@graphql-tools/executor-legacy-ws": "^1.1.17", + "@graphql-tools/utils": "^10.8.6", + "@graphql-tools/wrap": "^10.0.16", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.0", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "10.8.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.6.tgz", + "integrity": "sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "dset": "^3.1.4", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/wrap": { + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.0.34.tgz", + "integrity": "sha512-3IZr+o23XFQYP1+rwhLWNniANmEQW3aRhGtGXiGT//+naGcPKCmtLoPpOIcQ2UTjVOZCWuTbUhQJQxjuc3Xv8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^10.2.16", + "@graphql-tools/schema": "^10.0.11", + "@graphql-tools/utils": "^10.8.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -3513,6 +4232,13 @@ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "node_modules/@repeaterjs/repeater": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", + "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.38.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", @@ -4360,6 +5086,16 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.29.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", @@ -4827,6 +5563,63 @@ "win32" ] }, + "node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", + "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.5.tgz", + "integrity": "sha512-+yFJU3hmXPAHJULwx0VzCIsvr/H0lvbPvbOH3areOH3NAuCxCwaJsQ8w6/MwwMcvEWIynSsmAxoyaH04KeosPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/node-fetch": "^0.7.11", + "urlpattern-polyfill": "^10.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.7.17.tgz", + "integrity": "sha512-Ni8A2H/r6brNf4u8Y7ATxmWUD0xltsQ6a4NnjWSbw4PgaT34CbY+u4QtVsFj9pTC3dBKJADKjac3AieAig+PZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.2.5", + "busboy": "^1.6.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.0.tgz", + "integrity": "sha512-486CouizxHXucj8Ky153DDragfkMcHtVEToF5Pn/fInhUUSiCmt9Q4JVBa6UK5q4RammFBtGQ4C9qhGlXU9YbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@wry/caches": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", @@ -5072,6 +5865,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", @@ -5192,6 +5995,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -6007,6 +6820,13 @@ "node": "^14.18.0 || >=16.10.0" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/copy-anything": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", @@ -6031,6 +6851,33 @@ "layout-base": "^1.0.0" } }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cross-fetch": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", @@ -6060,6 +6907,19 @@ } } }, + "node_modules/cross-inspect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", + "integrity": "sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -6670,6 +7530,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dataloader": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz", + "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==", + "dev": true, + "license": "MIT" + }, "node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -6828,6 +7695,19 @@ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", "license": "Apache-2.0" }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -6866,6 +7746,16 @@ "node": ">=12" } }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -6927,6 +7817,23 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, "node_modules/es-abstract": { "version": "1.23.9", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", @@ -8168,6 +9075,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -8361,6 +9278,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -8396,6 +9344,90 @@ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, + "node_modules/graphql-config": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.3.tgz", + "integrity": "sha512-RBhejsPjrNSuwtckRlilWzLVt2j8itl74W9Gke1KejDTz7oaA5kVd6wRn9zK9TS5mcmIYGxf7zN7a1ORMdxp1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.0.0", + "@graphql-tools/merge": "^9.0.0", + "@graphql-tools/url-loader": "^8.0.0", + "@graphql-tools/utils": "^10.0.0", + "cosmiconfig": "^8.1.0", + "jiti": "^2.0.0", + "minimatch": "^9.0.5", + "string-env-interpolation": "^1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "cosmiconfig-toml-loader": "^1.0.0", + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "cosmiconfig-toml-loader": { + "optional": true + } + } + }, + "node_modules/graphql-config/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/graphql-config/node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/graphql-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graphql-depth-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/graphql-depth-limit/-/graphql-depth-limit-1.1.0.tgz", + "integrity": "sha512-+3B2BaG8qQ8E18kzk9yiSdAa75i/hnnOwgSeAxVJctGQPvmeiLtqKOYF6HETCyRjiF7Xfsyal0HbLlxCQkgkrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "graphql": "*" + } + }, "node_modules/graphql-tag": { "version": "2.12.6", "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", @@ -9715,6 +10747,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -9983,6 +11022,13 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "license": "MIT" }, + "node_modules/lodash.lowercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", + "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -10513,6 +11559,24 @@ "uuid": "^11.1.0" } }, + "node_modules/meros": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.0.tgz", + "integrity": "sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=13" + }, + "peerDependencies": { + "@types/node": ">=13" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "node_modules/mhchemparser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", @@ -12069,6 +13133,25 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse-latin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", @@ -12162,6 +13245,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -13286,6 +14379,13 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14065,6 +15165,13 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", + "dev": true, + "license": "MIT" + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -14455,6 +15562,21 @@ "node": ">=0.10" } }, + "node_modules/sync-fetch": { + "version": "0.6.0-2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", + "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/system-architecture": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", @@ -14594,6 +15716,16 @@ "real-require": "^0.2.0" } }, + "node_modules/timeout-signal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-signal/-/timeout-signal-2.0.0.tgz", + "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, "node_modules/tinyexec": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", @@ -15411,6 +16543,32 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-path": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unixify/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/unrs-resolver": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.3.3.tgz", @@ -15479,6 +16637,13 @@ "punycode": "^2.1.0" } }, + "node_modules/urlpattern-polyfill": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", + "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", + "dev": true, + "license": "MIT" + }, "node_modules/use-callback-ref": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", @@ -15657,6 +16822,16 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "license": "BSD-2-Clause" }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -15921,6 +17096,13 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, "node_modules/yaml": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", From cd371bcc024a750ec7eba58e8a45d7d11c6ef0f6 Mon Sep 17 00:00:00 2001 From: erick Date: Sun, 6 Apr 2025 11:01:16 -0300 Subject: [PATCH 5/5] wallet widget hooks doc --- .../4_react_components/1_ui_components.mdx | 5 + .../en/wiki/4_react_components/2_hooks.mdx | 187 +++++++++++++++++- .../wallet-examples/src/pages/index.tsx | 33 +++- 3 files changed, 218 insertions(+), 7 deletions(-) diff --git a/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx b/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx index 2398ae6..56c9612 100644 --- a/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx +++ b/apps/docs/src/pages/en/wiki/4_react_components/1_ui_components.mdx @@ -4,6 +4,7 @@ description: React ready-to-use components asIndexPage: true sidebarTitle: Wallet UI Components --- +import { Callout } from "nextra/components"; # Wallet UI Components @@ -24,6 +25,7 @@ The library automatically handles saving and reconnecting the user's last connec For more customization, you can easily build your own wallet connection component. If you are using React, the [React hooks](/en/wiki/4_react_components/2_hooks) will be useful. You may also take reference from this [component](https://github.com/MeshJS/midnight/tree/main/example-workspaces/wallet-examples). ##### Connect Wallet Component +The wallet component is currently supported only in the Google Chrome browser. ```js copy import { MidnightWallet } from "@meshsdk/midnight-react"; @@ -33,6 +35,9 @@ export default function Home() { ); } ``` + +Output of the component + import { MidnightMeshProvider, MidnightWallet } from "@meshsdk/midnight-react"; import "@meshsdk/midnight-react/styles.css"; diff --git a/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx b/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx index 0614b19..e5e9966 100644 --- a/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx +++ b/apps/docs/src/pages/en/wiki/4_react_components/2_hooks.mdx @@ -5,25 +5,206 @@ asIndexPage: true sidebarTitle: Wallet Hooks --- +import { Callout } from "nextra/components"; +import { Table, Td, Th, Tr } from 'nextra/components' + # Wallet Hooks + React hooks for interacting with connected wallets. React Hooks allow function components to have access to state and other React features. With Mesh Hooks, you can easily interact and access wallet data. ##### useAssets Hook -##### useWallets Hook +```js copy +import { useAssets } from "@meshsdk/midnight-react"; -##### useWalletBalanceProve Hook +export default function Home() { + const { + address, + coinPublicKey, + encryptionPublicKey, + hasConnectedWallet, + isProofServerOnline, + uris, + walletName, + } = useAssets(); + + return ( +
+
Wallet Name: {walletName}
+
Address: {address}
+
Coin Public Key: {coinPublicKey}
+
Encryption Public Key: {encryptionPublicKey}
+
Has Connected Wallet: {hasConnectedWallet ? "Yes" : "No"}
+
Is Proof Server Online: {isProofServerOnline ? "Yes" : "No"}
+
Indexer: {uris?.indexerUri}
+
IndexerWS: {uris?.indexerWsUri}
+
Proof Server: {uris?.proverServerUri}
+
Node: {uris?.substrateNodeUri}
+
+ ); +} +``` + + +Output and function signatures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Wallet NamemnLace
Addressfeff6534cae3d59e03275b299f2cd052e02e2084cfd63c4fff2568971c1343e|0300aa6a2d2ed980354bc5f14d595e6b6d8bd740bb99e9115c167c357e2b52865cb808f54d5ce551b5d79df33bb3878baaba5aa8a1be4d510b88
Coin Public Key5feff6534cae3d59e03275b299f2cd052e02e2084cfd63c4fff2568971c1343e
Encryption Public Key0300aa6a2d2ed980354bc5f14d595e6b6d8bd740bb99e9115c167c357e2b52865cb808f54d5ce551b5d79df33bb3878baaba5aa8a1be4d510b88
Has Connected WalletBoolean (true or false)
Is Proof Server OnlineBoolean (true or false)
Indexerhttp://localhost:8088/api/v1/graphql
IndexerWSws://localhost:8088/api/v1/graphql/ws
Proof Serverhttp://localhost:6300
Nodehttp://localhost:9944
+ +##### useWallet Hook +```js copy +import { useWallet } from "@meshsdk/midnight-react"; + +export default function Home() { + const { connectingWallet, disconnect, setOpen, connectWallet } = useWallet(); + + return ( +
+
Connecting Wallet: {connectingWallet? "Yes" : "No"}
+
Disconnect Wallet
+
setOpen(true)}>Open Wallet Dialog
+
connectWallet("mnLace")}>Connect to the Lace Wallet
+
+ ); +} +``` + + +Output and function signatures + + + + + + + + + +
Connecting WalletBoolean (true or false)
+```js filename="Disconnect Wallet" +const disconnect: () => void +``` + +```js filename="Open Wallet Dialog" +const setOpen: (value: boolean) => void +``` + +```js filename="Connect to the Lace Wallet" +const connectWallet: (walletName: string, persist?: boolean) => Promise +``` ##### useWalletList Hook +```js copy +import { useWalletList } from "@meshsdk/midnight-react"; -##### useWalletSubmit Hook +const walletList = useWalletList(); +``` + +Output and function signatures + +```js filename="walletList" +const walletList: DAppConnectorAPI[] +``` +[DAppConnectorAPI[]](https://docs.midnight.network/develop/reference/midnight-api/dapp-connector/interfaces/DAppConnectorAPI) +##### useWalletBalanceProve Hook +```js copy +import { useWalletBalanceProve } from "@meshsdk/midnight-react"; + +const {result, submitTx, submitting} = useWalletBalanceProve(); +``` + +Output and function signatures + + + + + + + + +
submittingBoolean (true or false)
+```js filename="submitTx" +const submitTx: (tx: Transaction, newCoins: CoinInfo[]) => Promise +``` +```js filename="result" +const result: Transaction | undefined +``` +[Transaction](https://docs.midnight.network/develop/reference/midnight-api/zswap/classes/Transaction) +[CoinInfo](https://docs.midnight.network/develop/reference/midnight-api/zswap/type-aliases/CoinInfo) + +##### useWalletSubmit Hook +```js copy +import { useWalletSubmit } from "@meshsdk/midnight-react"; +const { result, submitTx, submitting } = useWalletSubmit(); +``` + +Output and function signatures + + + + + + + + +
submittingBoolean (true or false)
+```js filename="submitTx" +const submitTx: (signedTx: Transaction) => Promise +``` +```js filename="result" +const result: string | undefined +``` +[Transaction](https://docs.midnight.network/develop/reference/midnight-api/zswap/classes/Transaction) diff --git a/example-workspaces/wallet-examples/src/pages/index.tsx b/example-workspaces/wallet-examples/src/pages/index.tsx index 77097d2..81c0936 100644 --- a/example-workspaces/wallet-examples/src/pages/index.tsx +++ b/example-workspaces/wallet-examples/src/pages/index.tsx @@ -1,9 +1,15 @@ import { ModeToggle } from "@/components/mode-toggle"; -import { MidnightWallet, useAssets } from "@meshsdk/midnight-react"; +import { MidnightWallet, useAssets, useWallet } from "@meshsdk/midnight-react"; +// import { useWalletList, useWalletBalanceProve, useWalletSubmit } from "@meshsdk/midnight-react"; import { MidnightWallet as HeadlessWallet } from "@/components/wallet-widget/midnight-wallet"; export default function Home() { - const {address} = useAssets(); + const {address, coinPublicKey, encryptionPublicKey, hasConnectedWallet, isProofServerOnline, uris, walletName} = useAssets(); + const { connectingWallet, disconnect, setOpen, connectWallet } = useWallet(); + // const walletList = useWalletList(); + // const {result, submitTx, submitting} = useWalletBalanceProve(); + // const { result, submitTx, submitting } = useWalletSubmit(); + return ( <> @@ -11,7 +17,26 @@ export default function Home() {
This is a Headless Wallet
- {address} +
These are the kooks provided by useAssets
+
+
Wallet Name: {walletName}
+
Address: {address}
+
Coin Public Key: {coinPublicKey}
+
Encryption Public Key: {encryptionPublicKey}
+
Has Connected Wallet: {hasConnectedWallet ? "Yes" : "No"}
+
Is Proof Server Online: {isProofServerOnline ? "Yes" : "No"}
+
Indexer: {uris?.indexerUri}
+
IndexerWS: {uris?.indexerWsUri}
+
Proof Server: {uris?.proverServerUri}
+
Node: {uris?.substrateNodeUri}
+
+
These are the kooks provided by useWallet
+
+
Connecting Wallet: {connectingWallet? "Yes" : "No"}
+
Disconnect Wallet
+
setOpen(true)}>Open Wallet Dialog
+
connectWallet("mnLace")}>Connect to the Lace Wallet
+
); -} +}