diff --git a/.eslintrc.js b/.eslintrc.js
index d4366e42..82a17395 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,5 +1,3 @@
-const { off } = require("process")
-
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
@@ -32,7 +30,6 @@ module.exports = {
'import/no-named-as-default-member': 'off',
'import/export': 'off'
-
// 'import/order': [
// 'warn',
// {
@@ -43,6 +40,5 @@ module.exports = {
// }
// },
// ]
-
}
}
diff --git a/examples/next/.eslintrc.json b/examples/next/.eslintrc.json
new file mode 100644
index 00000000..bffb357a
--- /dev/null
+++ b/examples/next/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "next/core-web-vitals"
+}
diff --git a/examples/next/.gitignore b/examples/next/.gitignore
new file mode 100644
index 00000000..fd3dbb57
--- /dev/null
+++ b/examples/next/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/examples/next/README.md b/examples/next/README.md
new file mode 100644
index 00000000..c4033664
--- /dev/null
+++ b/examples/next/README.md
@@ -0,0 +1,36 @@
+This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/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 `app/page.tsx`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
+
+## 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) - 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/deployment) for more details.
diff --git a/examples/next/next.config.mjs b/examples/next/next.config.mjs
new file mode 100644
index 00000000..6ae7e1af
--- /dev/null
+++ b/examples/next/next.config.mjs
@@ -0,0 +1,10 @@
+import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin'
+
+const withVanillaExtract = createVanillaExtractPlugin()
+
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ // transpilePackages: ['@0xsequence/kit', '@0xsequence/kit-wallet', '@0xsequence/kit-connectors', '@0xsequence/checkout']
+}
+
+export default withVanillaExtract(nextConfig)
diff --git a/examples/next/package.json b/examples/next/package.json
new file mode 100644
index 00000000..61afd62d
--- /dev/null
+++ b/examples/next/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@0xsequence/kit-example-next",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "@0xsequence/design-system": "^1.4.7",
+ "@0xsequence/kit": "workspace:*",
+ "@0xsequence/kit-checkout": "workspace:*",
+ "@0xsequence/kit-connectors": "workspace:*",
+ "@0xsequence/kit-wallet": "workspace:*",
+ "@0xsequence/network": "^1.9.19",
+ "@tanstack/react-query": "^5.29.2",
+ "next": "14.2.3",
+ "react": "^18",
+ "react-dom": "^18",
+ "viem": "^2.5.7",
+ "wagmi": "^2.5.7"
+ },
+ "devDependencies": {
+ "@types/node": "^20",
+ "@types/react": "^18",
+ "@types/react-dom": "^18",
+ "@vanilla-extract/next-plugin": "^2.4.0",
+ "eslint": "^8",
+ "eslint-config-next": "14.2.3",
+ "postcss": "^8",
+ "tailwindcss": "^3.4.3",
+ "typescript": "^5"
+ }
+}
diff --git a/examples/next/postcss.config.mjs b/examples/next/postcss.config.mjs
new file mode 100644
index 00000000..1a69fd2a
--- /dev/null
+++ b/examples/next/postcss.config.mjs
@@ -0,0 +1,8 @@
+/** @type {import('postcss-load-config').Config} */
+const config = {
+ plugins: {
+ tailwindcss: {},
+ },
+};
+
+export default config;
diff --git a/examples/next/public/next.svg b/examples/next/public/next.svg
new file mode 100644
index 00000000..5174b28c
--- /dev/null
+++ b/examples/next/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/next/public/vercel.svg b/examples/next/public/vercel.svg
new file mode 100644
index 00000000..d2f84222
--- /dev/null
+++ b/examples/next/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/next/src/app/WalletOptions.tsx b/examples/next/src/app/WalletOptions.tsx
new file mode 100644
index 00000000..693db88f
--- /dev/null
+++ b/examples/next/src/app/WalletOptions.tsx
@@ -0,0 +1,17 @@
+'use client'
+
+import { Connector, useConnect } from 'wagmi'
+
+export const WalletOptions = () => {
+ const { connectors, connect } = useConnect()
+
+ return (
+
+ {connectors.map(connector => (
+
+ ))}
+
+ )
+}
diff --git a/examples/next/src/app/Web3Provider.tsx b/examples/next/src/app/Web3Provider.tsx
new file mode 100644
index 00000000..97608622
--- /dev/null
+++ b/examples/next/src/app/Web3Provider.tsx
@@ -0,0 +1,62 @@
+'use client'
+
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import { WagmiProvider } from 'wagmi'
+// import { KitProvider } from '@0xsequence/kit'
+
+import { config } from './config'
+
+const queryClient = new QueryClient()
+
+// const kitConfig: KitConfig = {
+// defaultTheme: 'dark',
+// signIn: {
+// projectName: 'Kit Demo'
+// // logoUrl: 'sw-logo-white.svg',
+// // useMock: isDebugMode
+// },
+// displayedAssets: [
+// // Native token
+// {
+// contractAddress: '0x0000000000000000000000000000000000000000',
+// chainId: 42170
+// },
+// // Native token
+// {
+// contractAddress: '0x0000000000000000000000000000000000000000',
+// chainId: 421614
+// },
+// // Waas demo NFT
+// {
+// contractAddress: '0x0d402c63cae0200f0723b3e6fa0914627a48462e',
+// chainId: 42170
+// },
+// // Waas demo NFT
+// {
+// contractAddress: '0x0d402c63cae0200f0723b3e6fa0914627a48462e',
+// chainId: 421614
+// },
+// // Skyweaver assets
+// {
+// contractAddress: '0x631998e91476da5b870d741192fc5cbc55f5a52e',
+// chainId: 137
+// }
+// ]
+// }
+
+export interface Web3ProviderProps {
+ children: React.ReactNode
+}
+
+export const Web3Provider = (props: Web3ProviderProps) => {
+ const { children } = props
+
+ return (
+
+
+ {/* {children} */}
+ {children}
+
+
+ )
+}
diff --git a/examples/next/src/app/config.ts b/examples/next/src/app/config.ts
new file mode 100644
index 00000000..9edbe4b2
--- /dev/null
+++ b/examples/next/src/app/config.ts
@@ -0,0 +1,44 @@
+'use client'
+
+import { findNetworkConfig, allNetworks } from '@0xsequence/network'
+import { CreateConnectorFn, createConfig, http } from 'wagmi'
+import { Transport } from 'viem'
+import { arbitrumNova, arbitrumSepolia, mainnet, polygon } from 'viem/chains'
+import { getDefaultConnectors } from '@0xsequence/kit-connectors'
+
+const walletConnectProjectId = 'c65a6cb1aa83c4e24500130f23a437d8'
+const projectAccessKey = 'AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI'
+
+const chains = [arbitrumNova, arbitrumSepolia, mainnet, polygon] as const
+const transports = chains.reduce>((acc, chain) => {
+ const network = findNetworkConfig(allNetworks, chain.id)
+
+ if (network) {
+ acc[chain.id] = http(network.rpcUrl)
+ }
+
+ return acc
+}, {})
+
+const connectors: CreateConnectorFn[] = [
+ ...getDefaultConnectors({
+ walletConnectProjectId,
+ defaultChainId: arbitrumNova.id,
+ appName: 'demo app',
+ projectAccessKey
+ })
+ // ...(isDebugMode
+ // ? getKitConnectWallets(projectAccessKey, [
+ // mock({
+ // accounts: ['0xCb88b6315507e9d8c35D81AFB7F190aB6c3227C9']
+ // })
+ // ])
+ // : [])
+]
+
+export const config = createConfig({
+ chains,
+ transports,
+ connectors,
+ ssr: true // For Next.js SSR support
+})
diff --git a/examples/next/src/app/favicon.ico b/examples/next/src/app/favicon.ico
new file mode 100644
index 00000000..718d6fea
Binary files /dev/null and b/examples/next/src/app/favicon.ico differ
diff --git a/examples/next/src/app/globals.css b/examples/next/src/app/globals.css
new file mode 100644
index 00000000..875c01e8
--- /dev/null
+++ b/examples/next/src/app/globals.css
@@ -0,0 +1,33 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+:root {
+ --foreground-rgb: 0, 0, 0;
+ --background-start-rgb: 214, 219, 220;
+ --background-end-rgb: 255, 255, 255;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --foreground-rgb: 255, 255, 255;
+ --background-start-rgb: 0, 0, 0;
+ --background-end-rgb: 0, 0, 0;
+ }
+}
+
+body {
+ color: rgb(var(--foreground-rgb));
+ background: linear-gradient(
+ to bottom,
+ transparent,
+ rgb(var(--background-end-rgb))
+ )
+ rgb(var(--background-start-rgb));
+}
+
+@layer utilities {
+ .text-balance {
+ text-wrap: balance;
+ }
+}
diff --git a/examples/next/src/app/layout.tsx b/examples/next/src/app/layout.tsx
new file mode 100644
index 00000000..325bfbb2
--- /dev/null
+++ b/examples/next/src/app/layout.tsx
@@ -0,0 +1,27 @@
+import type { Metadata } from 'next'
+import { Inter } from 'next/font/google'
+import './globals.css'
+import '@0xsequence/design-system/styles.css'
+
+import { Web3Provider } from './Web3Provider'
+
+const inter = Inter({ subsets: ['latin'] })
+
+export const metadata: Metadata = {
+ title: 'Create Next App',
+ description: 'Generated by create next app'
+}
+
+export default function RootLayout({
+ children
+}: Readonly<{
+ children: React.ReactNode
+}>) {
+ return (
+
+
+ {children}
+
+
+ )
+}
diff --git a/examples/next/src/app/page.tsx b/examples/next/src/app/page.tsx
new file mode 100644
index 00000000..324b9bd5
--- /dev/null
+++ b/examples/next/src/app/page.tsx
@@ -0,0 +1,102 @@
+import Image from 'next/image'
+import { WalletOptions } from './WalletOptions'
+
+export default function Home() {
+ return (
+
+
+
+ Get started by editing
+ src/app/page.tsx
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/examples/next/tailwind.config.ts b/examples/next/tailwind.config.ts
new file mode 100644
index 00000000..e9a0944e
--- /dev/null
+++ b/examples/next/tailwind.config.ts
@@ -0,0 +1,20 @@
+import type { Config } from "tailwindcss";
+
+const config: Config = {
+ content: [
+ "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
+ "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
+ "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
+ ],
+ theme: {
+ extend: {
+ backgroundImage: {
+ "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
+ "gradient-conic":
+ "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
+ },
+ },
+ },
+ plugins: [],
+};
+export default config;
diff --git a/examples/next/tsconfig.json b/examples/next/tsconfig.json
new file mode 100644
index 00000000..7b285893
--- /dev/null
+++ b/examples/next/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "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,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/package.json b/package.json
index 0d8b94c5..359682d8 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,10 @@
"build:react": "pnpm --filter @0xsequence/kit-example-react build",
"start:react-waas": "pnpm --filter @0xsequence/kit-example-react-waas start",
"serve:react-waas": "pnpm --filter @0xsequence/kit-example-react-waas serve",
- "build:react-waas": "pnpm --filter @0xsequence/kit-example-react-waas build"
+ "build:react-waas": "pnpm --filter @0xsequence/kit-example-react-waas build",
+ "start:next": "pnpm --filter @0xsequence/kit-example-next dev",
+ "serve:next": "pnpm --filter @0xsequence/kit-example-next start",
+ "build:next": "pnpm --filter @0xsequence/kit-example-next build"
},
"devDependencies": {
"@0xsequence/kit": "workspace:*",
diff --git a/packages/connectors/src/connectors/apple/apple.ts b/packages/connectors/src/connectors/apple/apple.ts
index 22162b23..2e4950ba 100644
--- a/packages/connectors/src/connectors/apple/apple.ts
+++ b/packages/connectors/src/connectors/apple/apple.ts
@@ -1,13 +1,11 @@
import type { Wallet } from '@0xsequence/kit'
-import { CreateConnectorFn } from 'wagmi'
-
import { getAppleLogo, getAppleMonochromeLogo } from './AppleLogo'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
export type AppleOptions = BaseSequenceConnectorOptions
-export const apple = (options: AppleOptions) => ({
+export const apple = (options: AppleOptions): Wallet => ({
id: 'apple',
isSequenceBased: true,
logoDark: getAppleLogo({ isDarkMode: true }),
@@ -16,7 +14,7 @@ export const apple = (options: AppleOptions) => ({
monochromeLogoLight: getAppleMonochromeLogo({ isDarkMode: false }),
// iconBackground: '#fff',
name: 'Apple',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options,
connect: {
@@ -28,5 +26,5 @@ export const apple = (options: AppleOptions) => ({
}
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/apple/appleWaas.ts b/packages/connectors/src/connectors/apple/appleWaas.ts
index 08b9532b..0b47167c 100644
--- a/packages/connectors/src/connectors/apple/appleWaas.ts
+++ b/packages/connectors/src/connectors/apple/appleWaas.ts
@@ -1,4 +1,4 @@
-import { CreateConnectorFn } from 'wagmi'
+import { Wallet } from '@0xsequence/kit'
import { getAppleLogo, getAppleMonochromeLogo } from './AppleLogo'
@@ -6,18 +6,18 @@ import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiCo
export type AppleWaasOptions = Omit
-export const appleWaas = (options: AppleWaasOptions) => ({
+export const appleWaas = (options: AppleWaasOptions): Wallet => ({
id: 'apple-waas',
logoDark: getAppleLogo({ isDarkMode: true }),
logoLight: getAppleLogo({ isDarkMode: false }),
monochromeLogoDark: getAppleMonochromeLogo({ isDarkMode: true }),
monochromeLogoLight: getAppleMonochromeLogo({ isDarkMode: false }),
name: 'Apple',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWaasWallet({
...options,
loginType: 'apple'
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/discord/discord.ts b/packages/connectors/src/connectors/discord/discord.ts
index 324249f1..65b8714e 100644
--- a/packages/connectors/src/connectors/discord/discord.ts
+++ b/packages/connectors/src/connectors/discord/discord.ts
@@ -1,12 +1,11 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { getDiscordLogo } from './DiscordLogo'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
+import { Wallet } from '@0xsequence/kit'
export interface DiscordOptions extends BaseSequenceConnectorOptions {}
-export const discord = (options: DiscordOptions) => ({
+export const discord = (options: DiscordOptions): Wallet => ({
id: 'discord',
isSequenceBased: true,
logoDark: getDiscordLogo({ isDarkMode: true }),
@@ -15,7 +14,7 @@ export const discord = (options: DiscordOptions) => ({
monochromeLogoLight: getDiscordLogo({ isDarkMode: false }),
// iconBackground: '#fff',
name: 'Discord',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options,
connect: {
@@ -27,5 +26,5 @@ export const discord = (options: DiscordOptions) => ({
}
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/email/email.ts b/packages/connectors/src/connectors/email/email.ts
index 93c6b1d3..aa77c8d7 100644
--- a/packages/connectors/src/connectors/email/email.ts
+++ b/packages/connectors/src/connectors/email/email.ts
@@ -1,21 +1,20 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { getEmailLogo } from './EmailLogo'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
+import { Wallet } from '@0xsequence/kit'
export const EMAIL_CONNECTOR_LOCAL_STORAGE_KEY = '@sequence.kit.connector.email'
export interface EmailOptions extends BaseSequenceConnectorOptions {}
-export const email = (options: EmailOptions) => ({
+export const email = (options: EmailOptions): Wallet => ({
id: 'email',
isSequenceBased: true,
logoDark: getEmailLogo({ isDarkMode: true }),
logoLight: getEmailLogo({ isDarkMode: false }),
// iconBackground: '#fff',
name: 'Email',
- createConnector: (() => {
+ createConnector: () => {
const email = localStorage.getItem(EMAIL_CONNECTOR_LOCAL_STORAGE_KEY)
const connector = sequenceWallet({
@@ -32,5 +31,5 @@ export const email = (options: EmailOptions) => ({
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/email/emailWaas.ts b/packages/connectors/src/connectors/email/emailWaas.ts
index 4a67e1d5..41bb673e 100644
--- a/packages/connectors/src/connectors/email/emailWaas.ts
+++ b/packages/connectors/src/connectors/email/emailWaas.ts
@@ -1,21 +1,20 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { getEmailLogo } from './EmailLogo'
import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector'
+import { Wallet } from '@0xsequence/kit'
export type EmailWaasOptions = Omit
-export const emailWaas = (options: EmailWaasOptions) => ({
+export const emailWaas = (options: EmailWaasOptions): Wallet => ({
id: 'email-waas',
logoDark: getEmailLogo({ isDarkMode: true }),
logoLight: getEmailLogo({ isDarkMode: false }),
name: 'Email',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWaasWallet({
...options,
loginType: 'email'
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/facebook/facebook.ts b/packages/connectors/src/connectors/facebook/facebook.ts
index e7d5cad9..c661cc52 100644
--- a/packages/connectors/src/connectors/facebook/facebook.ts
+++ b/packages/connectors/src/connectors/facebook/facebook.ts
@@ -1,4 +1,3 @@
-import { CreateConnectorFn } from 'wagmi'
import type { Wallet } from '@0xsequence/kit'
import { FacebookLogo, getFacebookMonochromeLogo } from './FacebookLogo'
@@ -7,7 +6,7 @@ import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors
export interface FacebookOptions extends BaseSequenceConnectorOptions {}
-export const facebook = (options: FacebookOptions) => ({
+export const facebook = (options: FacebookOptions): Wallet => ({
id: 'facebook',
isSequenceBased: true,
logoDark: FacebookLogo,
@@ -16,7 +15,7 @@ export const facebook = (options: FacebookOptions) => ({
monochromeLogoLight: getFacebookMonochromeLogo({ isDarkMode: false }),
// iconBackground: '#fff',
name: 'Facebook',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options,
connect: {
@@ -28,5 +27,5 @@ export const facebook = (options: FacebookOptions) => ({
}
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/google/google.ts b/packages/connectors/src/connectors/google/google.ts
index c7b438cd..2de33124 100644
--- a/packages/connectors/src/connectors/google/google.ts
+++ b/packages/connectors/src/connectors/google/google.ts
@@ -1,12 +1,11 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
+import { Wallet } from '@0xsequence/kit'
export type GoogleOptions = BaseSequenceConnectorOptions
-export const google = (options: GoogleOptions) => ({
+export const google = (options: GoogleOptions): Wallet => ({
id: 'google',
isSequenceBased: true,
logoDark: GoogleLogo,
@@ -14,7 +13,7 @@ export const google = (options: GoogleOptions) => ({
monochromeLogoDark: getMonochromeGoogleLogo({ isDarkMode: true }),
monochromeLogoLight: getMonochromeGoogleLogo({ isDarkMode: false }),
name: 'Google',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options,
// @ts-ignore
@@ -27,5 +26,5 @@ export const google = (options: GoogleOptions) => ({
}
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/google/googleWaas.ts b/packages/connectors/src/connectors/google/googleWaas.ts
index 69150564..d561e222 100644
--- a/packages/connectors/src/connectors/google/googleWaas.ts
+++ b/packages/connectors/src/connectors/google/googleWaas.ts
@@ -1,23 +1,22 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo'
import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector'
+import { Wallet } from '@0xsequence/kit'
export type GoogleWaasOptions = Omit
-export const googleWaas = (options: GoogleWaasOptions) => ({
+export const googleWaas = (options: GoogleWaasOptions): Wallet => ({
id: 'google-waas',
logoDark: GoogleLogo,
logoLight: GoogleLogo,
monochromeLogoDark: getMonochromeGoogleLogo({ isDarkMode: true }),
monochromeLogoLight: getMonochromeGoogleLogo({ isDarkMode: false }),
name: 'Google',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWaasWallet({
...options,
loginType: 'google'
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/injected/injected.ts b/packages/connectors/src/connectors/injected/injected.ts
index 5a874e4e..cdc08356 100644
--- a/packages/connectors/src/connectors/injected/injected.ts
+++ b/packages/connectors/src/connectors/injected/injected.ts
@@ -3,6 +3,7 @@ import { ethers } from 'ethers'
import { injected as injectedBase } from 'wagmi/connectors'
import { InjectedLogo } from './InjectedLogo'
+import { Wallet } from '@0xsequence/kit'
declare global {
interface Window {
@@ -29,7 +30,7 @@ const getInjectedWalletInformation = (): InjectedWalletInformation => {
}
}
-export const injected = () => {
+export const injected = (): Wallet => {
const { name, logoDark, logoLight } = getInjectedWalletInformation()
return {
diff --git a/packages/connectors/src/connectors/metamask/metamask.ts b/packages/connectors/src/connectors/metamask/metamask.ts
index ef428d6e..52691d99 100644
--- a/packages/connectors/src/connectors/metamask/metamask.ts
+++ b/packages/connectors/src/connectors/metamask/metamask.ts
@@ -1,8 +1,9 @@
import { injected } from 'wagmi/connectors'
import { MetamaskLogo } from './MetamaskLogo'
+import { Wallet } from '@0xsequence/kit'
-export const metamask = () => ({
+export const metamask = (): Wallet => ({
id: 'metamask',
logoDark: MetamaskLogo,
logoLight: MetamaskLogo,
diff --git a/packages/connectors/src/connectors/mock/mock.ts b/packages/connectors/src/connectors/mock/mock.ts
index 0f5b1dd8..7ba896c8 100644
--- a/packages/connectors/src/connectors/mock/mock.ts
+++ b/packages/connectors/src/connectors/mock/mock.ts
@@ -1,17 +1,17 @@
-import { CreateConnectorFn } from 'wagmi'
import { mock as mockBase, MockParameters } from 'wagmi/connectors'
import { SequenceLogo } from '../sequence/SequenceLogo'
+import { Wallet } from '@0xsequence/kit'
-export const mock = (options: MockParameters) => ({
+export const mock = (options: MockParameters): Wallet => ({
id: 'mock',
isSequenceBased: true,
logoDark: SequenceLogo,
logoLight: SequenceLogo,
// iconBackground: '#777',
name: 'Mock',
- createConnector: (() => {
+ createConnector: () => {
const connector = mockBase(options)
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/sequence/sequence.ts b/packages/connectors/src/connectors/sequence/sequence.ts
index 6b67c51a..31b9c238 100644
--- a/packages/connectors/src/connectors/sequence/sequence.ts
+++ b/packages/connectors/src/connectors/sequence/sequence.ts
@@ -1,4 +1,3 @@
-import { CreateConnectorFn } from 'wagmi'
import type { Wallet } from '@0xsequence/kit'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
@@ -6,17 +5,17 @@ import { SequenceLogo } from './SequenceLogo'
export interface SequenceOptions extends BaseSequenceConnectorOptions {}
-export const sequence = (options: SequenceOptions) => ({
+export const sequence = (options: SequenceOptions): Wallet => ({
id: 'sequence',
isSequenceBased: true,
logoDark: SequenceLogo,
logoLight: SequenceLogo,
// iconBackground: '#777',
name: 'Sequence',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/twitch/twitch.ts b/packages/connectors/src/connectors/twitch/twitch.ts
index 3bb77cfa..2b4bd196 100644
--- a/packages/connectors/src/connectors/twitch/twitch.ts
+++ b/packages/connectors/src/connectors/twitch/twitch.ts
@@ -1,12 +1,11 @@
-import { CreateConnectorFn } from 'wagmi'
-
import { getTwitchLogo } from './TwitchLogo'
import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors'
+import { Wallet } from '@0xsequence/kit'
export interface TwitchOptions extends BaseSequenceConnectorOptions {}
-export const twitch = (options: TwitchOptions) => ({
+export const twitch = (options: TwitchOptions): Wallet => ({
id: 'twitch',
isSequenceBased: true,
logoDark: getTwitchLogo({}),
@@ -15,7 +14,7 @@ export const twitch = (options: TwitchOptions) => ({
monochromeLogoLight: getTwitchLogo({ isDarkMode: false }),
// iconBackground: '#fff',
name: 'Twitch',
- createConnector: (() => {
+ createConnector: () => {
const connector = sequenceWallet({
...options,
connect: {
@@ -27,5 +26,5 @@ export const twitch = (options: TwitchOptions) => ({
}
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts b/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts
index f47f3dae..026f0f21 100644
--- a/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts
+++ b/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts
@@ -40,8 +40,14 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) {
type Provider = sequence.provider.SequenceProvider
type Properties = {}
+ type StorageItem = {
+ [LocalStorageKey.EthAuthProof]: string
+ [LocalStorageKey.ProjectAccessKey]: string
+ [LocalStorageKey.Theme]: string
+ [LocalStorageKey.EthAuthSettings]: string
+ }
- return createConnector(config => ({
+ return createConnector(config => ({
id: 'sequence',
name: 'Sequence',
type: sequenceWallet.type,
@@ -59,8 +65,8 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) {
const provider = (await this.getProvider()) as sequence.provider.SequenceProvider
if (!provider.isConnected()) {
- const localStorageTheme = localStorage.getItem(LocalStorageKey.Theme)
- const ethAuthSettingsRaw = localStorage.getItem(LocalStorageKey.EthAuthSettings)
+ const localStorageTheme = await config.storage?.getItem(LocalStorageKey.Theme)
+ const ethAuthSettingsRaw = await config.storage?.getItem(LocalStorageKey.EthAuthSettings)
const parseEthAuthSettings = ethAuthSettingsRaw ? JSON.parse(ethAuthSettingsRaw) : ({} as EthAuthSettings)
const connectOptionsWithTheme = {
@@ -89,7 +95,7 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) {
typedData: proofTypedData
})
- localStorage.setItem(LocalStorageKey.EthAuthProof, jsonEthAuthProof)
+ await config.storage?.setItem(LocalStorageKey.EthAuthProof, jsonEthAuthProof)
}
}
@@ -118,7 +124,7 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) {
return provider
} catch (e) {
- const projectAccessKey = localStorage.getItem(LocalStorageKey.ProjectAccessKey)
+ const projectAccessKey = await config.storage?.getItem(LocalStorageKey.ProjectAccessKey)
if (!projectAccessKey) {
throw 'projectAccessKey not found'
@@ -174,7 +180,7 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) {
},
async onConnect(connectinfo) {},
async onDisconnect() {
- localStorage.removeItem(LocalStorageKey.EthAuthProof)
+ await config.storage?.removeItem(LocalStorageKey.EthAuthProof)
config.emitter.emit('disconnect')
}
}))
diff --git a/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts b/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts
index cae9ad98..ac82332a 100644
--- a/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts
+++ b/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts
@@ -21,15 +21,15 @@ sequenceWaasWallet.type = 'sequence-waas' as const
export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
type Provider = SequenceWaasProvider
type Properties = { sequenceWaas: SequenceWaaS; sequenceWaasProvider: SequenceWaasProvider }
-
- if (params.googleClientId) {
- localStorage.setItem(LocalStorageKey.WaasGoogleClientID, params.googleClientId)
- }
- if (params.appleClientId) {
- localStorage.setItem(LocalStorageKey.WaasAppleClientID, params.appleClientId)
- }
- if (params.appleRedirectURI) {
- localStorage.setItem(LocalStorageKey.WaasAppleRedirectURI, params.appleRedirectURI)
+ type StorageItem = {
+ [LocalStorageKey.WaasSessionHash]: string
+ [LocalStorageKey.WaasActiveLoginType]: string
+ [LocalStorageKey.WaasGoogleIdToken]: string
+ [LocalStorageKey.WaasEmailIdToken]: string
+ [LocalStorageKey.WaasAppleIdToken]: string
+ [LocalStorageKey.WaasGoogleClientID]: string
+ [LocalStorageKey.WaasAppleClientID]: string
+ [LocalStorageKey.WaasAppleRedirectURI]: string
}
const showConfirmationModal = params.enableConfirmationModal ?? false
@@ -59,17 +59,27 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
sequenceWaasProvider.updateNetwork(ethers.providers.getNetwork(chainId))
}
- return createConnector(config => ({
+ return createConnector(config => ({
id: `sequence-waas`,
name: 'Sequence WaaS',
type: sequenceWaasWallet.type,
sequenceWaas,
sequenceWaasProvider,
async setup() {
+ if (params.googleClientId) {
+ await config.storage?.setItem(LocalStorageKey.WaasGoogleClientID, params.googleClientId)
+ }
+ if (params.appleClientId) {
+ await config.storage?.setItem(LocalStorageKey.WaasAppleClientID, params.appleClientId)
+ }
+ if (params.appleRedirectURI) {
+ await config.storage?.setItem(LocalStorageKey.WaasAppleRedirectURI, params.appleRedirectURI)
+ }
+
const isConnected = await sequenceWaas.isSignedIn()
if (!isConnected) {
const sessionHash = await sequenceWaas.getSessionHash()
- localStorage.setItem(LocalStorageKey.WaasSessionHash, sessionHash)
+ await config.storage?.setItem(LocalStorageKey.WaasSessionHash, sessionHash)
}
sequenceWaasProvider.on('disconnect', () => {
@@ -90,9 +100,9 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
await this.disconnect()
}
} else {
- const googleIdToken = localStorage.getItem(LocalStorageKey.WaasGoogleIdToken)
- const emailIdToken = localStorage.getItem(LocalStorageKey.WaasEmailIdToken)
- const appleIdToken = localStorage.getItem(LocalStorageKey.WaasAppleIdToken)
+ const googleIdToken = await config.storage?.getItem(LocalStorageKey.WaasGoogleIdToken)
+ const emailIdToken = await config.storage?.getItem(LocalStorageKey.WaasEmailIdToken)
+ const appleIdToken = await config.storage?.getItem(LocalStorageKey.WaasAppleIdToken)
let idToken: string | undefined
@@ -115,13 +125,13 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
accounts = await this.getAccounts()
if (accounts.length) {
- localStorage.setItem(LocalStorageKey.WaasActiveLoginType, params.loginType)
+ await config.storage?.setItem(LocalStorageKey.WaasActiveLoginType, params.loginType)
}
}
- localStorage.removeItem(LocalStorageKey.WaasGoogleIdToken)
- localStorage.removeItem(LocalStorageKey.WaasEmailIdToken)
- localStorage.removeItem(LocalStorageKey.WaasAppleIdToken)
+ await config.storage?.removeItem(LocalStorageKey.WaasGoogleIdToken)
+ await config.storage?.removeItem(LocalStorageKey.WaasEmailIdToken)
+ await config.storage?.removeItem(LocalStorageKey.WaasAppleIdToken)
}
return {
@@ -136,11 +146,11 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
console.log(e)
}
- localStorage.removeItem(LocalStorageKey.WaasSessionHash)
- localStorage.removeItem(LocalStorageKey.WaasActiveLoginType)
+ await config.storage?.removeItem(LocalStorageKey.WaasSessionHash)
+ await config.storage?.removeItem(LocalStorageKey.WaasActiveLoginType)
const sessionHash = await sequenceWaas.getSessionHash()
- localStorage.setItem(LocalStorageKey.WaasSessionHash, sessionHash)
+ await config.storage?.setItem(LocalStorageKey.WaasSessionHash, sessionHash)
},
async getAccounts() {
try {
@@ -158,7 +168,7 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) {
return sequenceWaasProvider
},
async isAuthorized() {
- const activeWaasOption = localStorage.getItem(LocalStorageKey.WaasActiveLoginType)
+ const activeWaasOption = await config.storage?.getItem(LocalStorageKey.WaasActiveLoginType)
if (params.loginType !== activeWaasOption) {
return false
}
diff --git a/packages/connectors/src/connectors/walletConnect/walletConnect.ts b/packages/connectors/src/connectors/walletConnect/walletConnect.ts
index 895be42b..7f5881d9 100644
--- a/packages/connectors/src/connectors/walletConnect/walletConnect.ts
+++ b/packages/connectors/src/connectors/walletConnect/walletConnect.ts
@@ -1,18 +1,18 @@
-import { CreateConnectorFn } from 'wagmi'
import { walletConnect as walletConnectbase, WalletConnectParameters } from 'wagmi/connectors'
import { WalletConnectLogo } from './WalletConnectLogo'
+import { Wallet } from '@0xsequence/kit'
-export const walletConnect = (options: WalletConnectParameters) => ({
+export const walletConnect = (options: WalletConnectParameters): Wallet => ({
id: 'wallet-connect',
logoDark: WalletConnectLogo,
logoLight: WalletConnectLogo,
// iconBackground: '#fff',
name: 'Walletconnect',
- createConnector: (() => {
+ createConnector: () => {
const connector = walletConnectbase({
...options
})
return connector
- }) as () => CreateConnectorFn
+ }
})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 18494671..71786e4b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -93,6 +93,73 @@ importers:
specifier: ^2.5.20
version: 2.5.20(@tanstack/react-query@5.32.0)(@types/react@18.2.79)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.4.5)(viem@2.9.26)
+ examples/next:
+ dependencies:
+ '@0xsequence/design-system':
+ specifier: ^1.4.7
+ version: 1.4.7(@types/react-dom@18.2.25)(@types/react@18.2.79)(framer-motion@11.1.7)(react-dom@18.2.0)(react@18.2.0)
+ '@0xsequence/kit':
+ specifier: workspace:*
+ version: link:../../packages/kit
+ '@0xsequence/kit-checkout':
+ specifier: workspace:*
+ version: link:../../packages/checkout
+ '@0xsequence/kit-connectors':
+ specifier: workspace:*
+ version: link:../../packages/connectors
+ '@0xsequence/kit-wallet':
+ specifier: workspace:*
+ version: link:../../packages/wallet
+ '@0xsequence/network':
+ specifier: ^1.9.19
+ version: 1.9.19(ethers@5.7.2)
+ '@tanstack/react-query':
+ specifier: ^5.29.2
+ version: 5.32.0(react@18.2.0)
+ next:
+ specifier: 14.2.3
+ version: 14.2.3(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: ^18
+ version: 18.2.0
+ react-dom:
+ specifier: ^18
+ version: 18.2.0(react@18.2.0)
+ viem:
+ specifier: ^2.5.7
+ version: 2.9.26(typescript@5.4.5)
+ wagmi:
+ specifier: ^2.5.7
+ version: 2.5.20(@tanstack/react-query@5.32.0)(@types/react@18.2.79)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.4.5)(viem@2.9.26)
+ devDependencies:
+ '@types/node':
+ specifier: ^20
+ version: 20.12.7
+ '@types/react':
+ specifier: ^18
+ version: 18.2.79
+ '@types/react-dom':
+ specifier: ^18
+ version: 18.2.25
+ '@vanilla-extract/next-plugin':
+ specifier: ^2.4.0
+ version: 2.4.0(@types/node@20.12.7)(next@14.2.3)(webpack@5.91.0)
+ eslint:
+ specifier: ^8
+ version: 8.57.0
+ eslint-config-next:
+ specifier: 14.2.3
+ version: 14.2.3(eslint@8.57.0)(typescript@5.4.5)
+ postcss:
+ specifier: ^8
+ version: 8.4.38
+ tailwindcss:
+ specifier: ^3.4.3
+ version: 3.4.3
+ typescript:
+ specifier: ^5
+ version: 5.4.5
+
examples/react:
dependencies:
'@0xsequence/design-system':
@@ -562,6 +629,34 @@ packages:
'@0xsequence/abi': 1.9.19
ethers: 5.7.2
+ /@0xsequence/design-system@1.4.7(@types/react-dom@18.2.25)(@types/react@18.2.79)(framer-motion@11.1.7)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-ywJfFp/BE59JGb6jt23EWVyADptpBfl9zh+Rzcjeuv0mPnSZMROIJUrNQljmyBRfRGrFJol2rnFkKEdO2lIAIQ==}
+ peerDependencies:
+ framer-motion: '>=6'
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@radix-ui/react-aspect-ratio': 1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-checkbox': 1.0.4(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-progress': 1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-radio-group': 1.1.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-select': 2.0.0(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-switch': 1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-tabs': 1.0.4(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-toast': 1.1.5(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ framer-motion: 11.1.7(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-hook-form: 7.51.3(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: false
+
/@0xsequence/design-system@1.4.7(@types/react-dom@18.2.25)(@types/react@18.2.79)(framer-motion@8.5.2)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-ywJfFp/BE59JGb6jt23EWVyADptpBfl9zh+Rzcjeuv0mPnSZMROIJUrNQljmyBRfRGrFJol2rnFkKEdO2lIAIQ==}
peerDependencies:
@@ -767,6 +862,11 @@ packages:
/@adraffy/ens-normalize@1.10.0:
resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==}
+ /@alloc/quick-lru@5.2.0:
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+ dev: true
+
/@ampproject/remapping@2.3.0:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
@@ -4183,6 +4283,87 @@ packages:
'@motionone/dom': 10.17.0
tslib: 2.6.2
+ /@next/env@14.2.3:
+ resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==}
+
+ /@next/eslint-plugin-next@14.2.3:
+ resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==}
+ dependencies:
+ glob: 10.3.10
+ dev: true
+
+ /@next/swc-darwin-arm64@14.2.3:
+ resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-darwin-x64@14.2.3:
+ resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@14.2.3:
+ resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-musl@14.2.3:
+ resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-gnu@14.2.3:
+ resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-musl@14.2.3:
+ resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@14.2.3:
+ resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@14.2.3:
+ resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-x64-msvc@14.2.3:
+ resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
/@noble/curves@1.2.0:
resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==}
dependencies:
@@ -4333,6 +4514,7 @@ packages:
dependencies:
is-glob: 4.0.3
micromatch: 4.0.5
+ napi-wasm: 1.1.0
bundledDependencies:
- napi-wasm
@@ -5970,6 +6152,10 @@ packages:
dev: true
optional: true
+ /@rushstack/eslint-patch@1.10.2:
+ resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==}
+ dev: true
+
/@safe-global/safe-apps-provider@0.18.1(typescript@5.4.5):
resolution: {integrity: sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==}
dependencies:
@@ -6003,7 +6189,7 @@ packages:
resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==}
dependencies:
'@noble/curves': 1.2.0
- '@noble/hashes': 1.3.2
+ '@noble/hashes': 1.3.3
'@scure/base': 1.1.6
/@scure/bip32@1.3.3:
@@ -6016,7 +6202,7 @@ packages:
/@scure/bip39@1.2.1:
resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==}
dependencies:
- '@noble/hashes': 1.3.2
+ '@noble/hashes': 1.3.3
'@scure/base': 1.1.6
/@scure/bip39@1.2.2:
@@ -6639,6 +6825,15 @@ packages:
- supports-color
dev: true
+ /@swc/counter@0.1.3:
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ /@swc/helpers@0.5.5:
+ resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
+ dependencies:
+ '@swc/counter': 0.1.3
+ tslib: 2.6.2
+
/@tanstack/query-core@5.32.0:
resolution: {integrity: sha512-Z3flEgCat55DRXU5UMwYU1U+DgFZKA3iufyOKs+II7iRAo0uXkeU7PH5e6sOH1CGEag0IpKmZxlUFpCg6roSKw==}
@@ -6873,6 +7068,27 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 7.2.0
+ '@typescript-eslint/types': 7.2.0
+ '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.2.0
+ debug: 4.3.4
+ eslint: 8.57.0
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -6894,6 +7110,14 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/scope-manager@7.2.0:
+ resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.2.0
+ '@typescript-eslint/visitor-keys': 7.2.0
+ dev: true
+
/@typescript-eslint/scope-manager@7.7.1:
resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -6922,11 +7146,38 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/types@7.2.0:
+ resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
/@typescript-eslint/types@7.7.1:
resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
+ /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5):
+ resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 7.2.0
+ '@typescript-eslint/visitor-keys': 7.2.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5):
resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -6968,6 +7219,14 @@ packages:
- typescript
dev: true
+ /@typescript-eslint/visitor-keys@7.2.0:
+ resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.2.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
/@typescript-eslint/visitor-keys@7.7.1:
resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -7053,6 +7312,25 @@ packages:
- terser
dev: true
+ /@vanilla-extract/next-plugin@2.4.0(@types/node@20.12.7)(next@14.2.3)(webpack@5.91.0):
+ resolution: {integrity: sha512-hRdTpr43NIFNmIbY7z+oA/BupzK7rBDVMfTFi/fVD3TD4x47LH/eNkDLsujGYl4kUpO96TxLw1wn9P9eC034YA==}
+ peerDependencies:
+ next: '>=12.1.7'
+ dependencies:
+ '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.12.7)(webpack@5.91.0)
+ next: 14.2.3(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - webpack
+ dev: true
+
/@vanilla-extract/private@1.0.4:
resolution: {integrity: sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==}
@@ -7081,6 +7359,27 @@ packages:
- terser
dev: true
+ /@vanilla-extract/webpack-plugin@2.3.7(@types/node@20.12.7)(webpack@5.91.0):
+ resolution: {integrity: sha512-xKhl7BUGqjj1eRzgASBcfKSvzIWGN1ndNT9ycUcfDz1AXZr6rok99LSj+Z2LqAnCGZGAiLsYzdQ5AYBABXV+vA==}
+ peerDependencies:
+ webpack: ^4.30.0 || ^5.20.2
+ dependencies:
+ '@vanilla-extract/integration': 7.1.2(@types/node@20.12.7)
+ chalk: 4.1.2
+ debug: 4.3.4
+ loader-utils: 2.0.4
+ webpack: 5.91.0(webpack-cli@5.1.4)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/@vitejs/plugin-react@4.2.1(vite@5.2.10):
resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -7778,6 +8077,10 @@ packages:
engines: {node: '>=12'}
dev: true
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ dev: true
+
/anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@@ -7788,6 +8091,10 @@ packages:
/appdirsjs@1.2.7:
resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==}
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: true
+
/argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
dependencies:
@@ -7803,6 +8110,12 @@ packages:
dependencies:
tslib: 2.6.2
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
/array-buffer-byte-length@1.0.1:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
@@ -7828,6 +8141,30 @@ packages:
engines: {node: '>=8'}
dev: true
+ /array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.findlastindex@1.2.5:
+ resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
/array.prototype.flat@1.3.2:
resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
engines: {node: '>= 0.4'}
@@ -7838,6 +8175,35 @@ packages:
es-shim-unscopables: 1.0.2
dev: true
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.toreversed@1.1.2:
+ resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
/arraybuffer.prototype.slice@1.0.3:
resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
engines: {node: '>= 0.4'}
@@ -7878,6 +8244,10 @@ packages:
util: 0.12.5
dev: true
+ /ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ dev: true
+
/ast-types@0.15.2:
resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
engines: {node: '>=4'}
@@ -7911,6 +8281,17 @@ packages:
dependencies:
possible-typed-array-names: 1.0.0
+ /axe-core@4.7.0:
+ resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
/babel-core@7.0.0-bridge.0(@babel/core@7.24.4):
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
peerDependencies:
@@ -7992,6 +8373,10 @@ packages:
is-windows: 1.0.2
dev: true
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: true
+
/binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
@@ -8152,6 +8537,12 @@ packages:
resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==}
dev: true
+ /busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+ dependencies:
+ streamsearch: 1.1.0
+
/bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
@@ -8191,6 +8582,11 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+ dev: true
+
/camelcase-keys@6.2.2:
resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
engines: {node: '>=8'}
@@ -8291,7 +8687,6 @@ packages:
/client-only@0.0.1:
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
- dev: false
/clipboardy@4.0.0:
resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
@@ -8370,6 +8765,11 @@ packages:
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+ dev: true
+
/commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
@@ -8609,6 +9009,10 @@ packages:
stream-transform: 2.1.3
dev: true
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
+
/data-view-buffer@1.0.1:
resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
engines: {node: '>= 0.4'}
@@ -8752,6 +9156,11 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+
/des.js@1.1.0:
resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
dependencies:
@@ -8782,6 +9191,10 @@ packages:
/detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ dev: true
+
/diffie-hellman@5.0.3:
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
dependencies:
@@ -8800,6 +9213,10 @@ packages:
path-type: 4.0.0
dev: true
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ dev: true
+
/doctrine@2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
@@ -8885,6 +9302,11 @@ packages:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: true
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: true
+
/encode-utf8@1.0.3:
resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
@@ -9018,6 +9440,26 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
+ /es-iterator-helpers@1.0.18:
+ resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.1.2
+ dev: true
+
/es-module-lexer@1.5.0:
resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==}
@@ -9139,6 +9581,31 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ /eslint-config-next@14.2.3(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@next/eslint-plugin-next': 14.2.3
+ '@rushstack/eslint-patch': 1.10.2
+ '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5)
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)
+ eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
+ eslint-plugin-react: 7.34.1(eslint@8.57.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
/eslint-config-prettier@8.5.0(eslint@8.57.0):
resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
hasBin: true
@@ -9158,6 +9625,59 @@ packages:
- supports-color
dev: true
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.16.0
+ eslint: 8.57.0
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.3
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5)
+ debug: 3.2.7
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
engines: {node: '>=4'}
@@ -9218,6 +9738,66 @@ packages:
- supports-color
dev: true
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ array-includes: 3.1.8
+ array.prototype.findlastindex: 1.2.5
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
+ hasown: 2.0.2
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.0
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0):
+ resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.24.4
+ aria-query: 5.3.0
+ array-includes: 3.1.8
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.8
+ axe-core: 4.7.0
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ es-iterator-helpers: 1.0.18
+ eslint: 8.57.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ dev: true
+
/eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.5.0)(eslint@8.57.0)(prettier@3.2.5):
resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
engines: {node: '>=12.0.0'}
@@ -9252,6 +9832,33 @@ packages:
eslint: 8.57.0
dev: true
+ /eslint-plugin-react@7.34.1(eslint@8.57.0):
+ resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.2
+ array.prototype.toreversed: 1.1.2
+ array.prototype.tosorted: 1.1.3
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.18
+ eslint: 8.57.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ object.hasown: 1.1.4
+ object.values: 1.2.0
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.11
+ dev: true
+
/eslint-scope@5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
@@ -9712,6 +10319,25 @@ packages:
signal-exit: 4.1.0
dev: true
+ /framer-motion@11.1.7(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-cW11Pu53eDAXUEhv5hEiWuIXWhfkbV32PlgVISn7jRdcAiVrJ1S03YQQ0/DzoswGYYwKi4qYmHHjCzAH52eSdQ==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tslib: 2.6.2
+ dev: false
+
/framer-motion@8.5.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-dt1WwCUIlJ24N/PCCayr0BZJcHOfU/L7kO8fgG8SxcAiGufaNg+Xl0oD14z7mRTGLrqRdA1ZlMW5Wr77aO1Xuw==}
peerDependencies:
@@ -9835,6 +10461,12 @@ packages:
get-intrinsic: 1.2.4
dev: true
+ /get-tsconfig@4.7.3:
+ resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
/glob-base@0.3.0:
resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==}
engines: {node: '>=0.10.0'}
@@ -9865,6 +10497,18 @@ packages:
/glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ /glob@10.3.10:
+ resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.4
+ minipass: 7.0.4
+ path-scurry: 1.10.2
+ dev: true
+
/glob@10.3.12:
resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -10232,6 +10876,13 @@ packages:
/is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
/is-bigint@1.0.4:
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
dependencies:
@@ -10310,6 +10961,12 @@ packages:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
/is-fullwidth-code-point@2.0.0:
resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
engines: {node: '>=4'}
@@ -10348,6 +11005,11 @@ packages:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
+ /is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
dev: true
@@ -10410,6 +11072,11 @@ packages:
has-tostringtag: 1.0.2
dev: true
+ /is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/is-shared-array-buffer@1.0.3:
resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
engines: {node: '>= 0.4'}
@@ -10456,12 +11123,25 @@ packages:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
+ /is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies:
call-bind: 1.0.7
dev: true
+ /is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
/is-windows@1.0.2:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
@@ -10523,6 +11203,16 @@ packages:
dependencies:
ws: 8.13.0
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.6
+ set-function-name: 2.0.2
+ dev: true
+
/jackspeak@2.3.6:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
engines: {node: '>=14'}
@@ -10765,6 +11455,16 @@ packages:
graceful-fs: 4.2.11
dev: true
+ /jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.flat: 1.3.2
+ object.assign: 4.1.5
+ object.values: 1.2.0
+ dev: true
+
/jwt-decode@4.0.0:
resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
engines: {node: '>=18'}
@@ -10801,6 +11501,17 @@ packages:
engines: {node: '>=6'}
dev: true
+ /language-subtag-registry@0.3.22:
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
+ dev: true
+
+ /language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: true
+
/leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
@@ -10821,6 +11532,16 @@ packages:
transitivePeerDependencies:
- supports-color
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /lilconfig@3.1.1:
+ resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
+ engines: {node: '>=14'}
+ dev: true
+
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -10882,6 +11603,15 @@ packages:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
+ /loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+ dev: true
+
/locate-path@3.0.0:
resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
engines: {node: '>=6'}
@@ -11342,6 +12072,13 @@ packages:
brace-expansion: 2.0.1
dev: true
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
/minimatch@9.0.4:
resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -11439,11 +12176,21 @@ packages:
/multiformats@9.9.0:
resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: true
+
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: true
+
+ /napi-wasm@1.1.0:
+ resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==}
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -11456,6 +12203,47 @@ packages:
/neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ /next@14.2.3(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==}
+ engines: {node: '>=18.17.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 14.2.3
+ '@swc/helpers': 0.5.5
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001612
+ graceful-fs: 4.2.11
+ postcss: 8.4.31
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.2.0)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 14.2.3
+ '@next/swc-darwin-x64': 14.2.3
+ '@next/swc-linux-arm64-gnu': 14.2.3
+ '@next/swc-linux-arm64-musl': 14.2.3
+ '@next/swc-linux-x64-gnu': 14.2.3
+ '@next/swc-linux-x64-musl': 14.2.3
+ '@next/swc-win32-arm64-msvc': 14.2.3
+ '@next/swc-win32-ia32-msvc': 14.2.3
+ '@next/swc-win32-x64-msvc': 14.2.3
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
/no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
@@ -11615,6 +12403,11 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
+ /object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+ dev: true
+
/object-inspect@1.13.1:
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
dev: true
@@ -11642,6 +12435,43 @@ packages:
object-keys: 1.1.1
dev: true
+ /object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ dev: true
+
+ /object.hasown@1.1.4:
+ resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ dev: true
+
/object.values@1.2.0:
resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
engines: {node: '>= 0.4'}
@@ -11918,6 +12748,11 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
+ /pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/pify@3.0.0:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
@@ -12004,6 +12839,75 @@ packages:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
+ /postcss-import@15.1.0(postcss@8.4.38):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+ dev: true
+
+ /postcss-js@4.0.1(postcss@8.4.38):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.38
+ dev: true
+
+ /postcss-load-config@4.0.2(postcss@8.4.38):
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 3.1.1
+ postcss: 8.4.38
+ yaml: 2.4.1
+ dev: true
+
+ /postcss-nested@6.0.1(postcss@8.4.38):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: true
+
+ /postcss-selector-parser@6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
+
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+
/postcss@8.4.38:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
@@ -12099,7 +13003,6 @@ packages:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
- dev: false
/proxy-compare@2.5.1:
resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==}
@@ -12441,6 +13344,12 @@ packages:
dependencies:
loose-envify: 1.4.0
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+ dev: true
+
/read-pkg-up@7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
@@ -12536,6 +13445,19 @@ packages:
strip-indent: 3.0.0
dev: true
+ /reflect.getprototypeof@1.0.6:
+ resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
/regenerate-unicode-properties@10.1.1:
resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
engines: {node: '>=4'}
@@ -12616,6 +13538,10 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
/resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
@@ -12624,6 +13550,15 @@ packages:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ /resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
/restore-cursor@3.1.0:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
@@ -12992,7 +13927,6 @@ packages:
/source-map-js@1.2.0:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
- dev: true
/source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@@ -13108,6 +14042,10 @@ packages:
mixme: 0.5.10
dev: true
+ /streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+
/strict-uri-encode@2.0.0:
resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
engines: {node: '>=4'}
@@ -13129,6 +14067,24 @@ packages:
strip-ansi: 7.1.0
dev: true
+ /string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.2
+ side-channel: 1.0.6
+ dev: true
+
/string.prototype.trim@1.2.9:
resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
engines: {node: '>= 0.4'}
@@ -13218,9 +14174,40 @@ packages:
/strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+ /styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.2.0):
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.24.4
+ client-only: 0.0.1
+ react: 18.2.0
+
/stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ /sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+ glob: 10.3.12
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+ dev: true
+
/sudo-prompt@9.2.1:
resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==}
@@ -13258,6 +14245,37 @@ packages:
resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
engines: {node: '>=18'}
+ /tailwindcss@3.4.3:
+ resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.0
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.38
+ postcss-import: 15.1.0(postcss@8.4.38)
+ postcss-js: 4.0.1(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-nested: 6.0.1(postcss@8.4.38)
+ postcss-selector-parser: 6.0.16
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+ dev: true
+
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
@@ -13314,6 +14332,19 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+ dev: true
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: true
+
/thread-stream@0.15.2:
resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==}
dependencies:
@@ -13380,6 +14411,10 @@ packages:
typescript: 5.4.5
dev: true
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: true
+
/tsconfck@3.0.3(typescript@5.4.5):
resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==}
engines: {node: ^18 || >=20}
@@ -14122,6 +15157,34 @@ packages:
is-symbol: 1.0.4
dev: true
+ /which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.2
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.3
+ dev: true
+
/which-module@2.0.1:
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}