From cbd98b15b5f700607a2730b511ab5ffe2c38c1c3 Mon Sep 17 00:00:00 2001 From: Vitor Date: Mon, 27 Nov 2023 17:47:05 -0300 Subject: [PATCH 1/3] feat: add missing demo components --- .eslintrc.json | 1 + apps/www/__registry__/index.tsx | 230 ++- apps/www/config/docs.ts | 45 +- .../www/content/docs/components/accordion.mdx | 134 -- .../docs/components/account-address.mdx | 6 +- apps/www/content/docs/components/address.mdx | 4 + apps/www/content/docs/components/blockie.mdx | 8 +- apps/www/content/docs/components/ens-name.mdx | 4 + .../docs/components/wallet-connect.mdx | 6 + apps/www/content/docs/index.mdx | 2 +- apps/www/pages/.gitkeep | 0 apps/www/pages/api/.gitkeep | 0 apps/www/public/registry/index.json | 249 +++- .../styles/default/account-address.json | 13 + .../styles/default/account-balance.json | 13 + .../styles/default/account-blockie.json | 13 + .../styles/default/account-ens-avatar.json | 13 + .../styles/default/account-ens-name.json | 13 + .../styles/default/account-nonce.json | 13 + .../registry/styles/default/address.json | 13 + .../styles/default/block-explorer-link.json | 13 + .../registry/styles/default/blockie.json | 13 + .../registry/styles/default/ens-avatar.json | 13 + .../registry/styles/default/ens-name.json | 13 + .../styles/default/erc20-balance.json | 14 + .../registry/styles/default/erc20-image.json | 14 + .../registry/styles/default/erc20-name.json | 14 + .../default/erc20-select-and-amount-demo.json | 14 + .../default/erc20-select-and-amount.json | 14 + .../registry/styles/default/erc20-select.json | 14 + .../registry/styles/default/erc20-symbol.json | 14 + .../registry/styles/default/image-ipfs.json | 13 + .../default/is-wallet-connected-demo.json | 13 + .../styles/default/is-wallet-connected.json | 13 + .../default/is-wallet-disconnected-demo.json | 13 + .../default/is-wallet-disconnected.json | 13 + .../styles/default/network-manage.json | 13 + .../styles/default/wallet-connect.json | 13 + .../styles/default/wallet-disconnect.json | 13 + .../styles/default/wallet-manage.json | 13 + .../www/registry/default/buidl/image-ipfs.tsx | 1 - .../buidl/rainbowkit-wallet-connect.tsx | 23 - .../registry/default/buidl/wallet-connect.tsx | 19 +- .../default/example/account-address-demo.tsx | 11 +- .../default/example/account-balance-demo.tsx | 20 + .../default/example/account-blockie-demo.tsx | 8 +- .../example/account-ens-avatar-demo.tsx | 8 +- .../default/example/account-ens-name-demo.tsx | 8 +- .../default/example/account-nonce-demo.tsx | 17 + .../registry/default/example/address-demo.tsx | 2 +- .../example/block-explorer-link-demo.tsx | 18 + .../registry/default/example/blockie-demo.tsx | 3 +- .../default/example/ens-avatar-demo.tsx | 2 +- .../default/example/ens-name-demo.tsx | 2 +- .../default/example/erc20-balance-demo.tsx | 2 +- .../default/example/erc20-image-demo.tsx | 2 +- .../default/example/erc20-name-demo.tsx | 2 +- .../example/erc20-select-and-amount-demo.tsx | 2 +- .../default/example/erc20-select-demo.tsx | 2 +- .../default/example/erc20-symbol-demo.tsx | 2 +- .../default/example/image-ipfs-demo.tsx | 7 + .../example/is-wallet-connected-demo.tsx | 16 + .../example/is-wallet-disconnected-demo.tsx | 18 + .../default/example/wallet-connect-demo.tsx | 2 +- .../example/wallet-disconnect-demo.tsx | 5 + apps/www/registry/registry.ts | 202 ++- apps/www/scripts/build-registry.ts | 6 +- pnpm-lock.yaml | 1243 +++-------------- 68 files changed, 1296 insertions(+), 1404 deletions(-) delete mode 100644 apps/www/content/docs/components/accordion.mdx delete mode 100644 apps/www/pages/.gitkeep delete mode 100644 apps/www/pages/api/.gitkeep create mode 100644 apps/www/public/registry/styles/default/account-address.json create mode 100644 apps/www/public/registry/styles/default/account-balance.json create mode 100644 apps/www/public/registry/styles/default/account-blockie.json create mode 100644 apps/www/public/registry/styles/default/account-ens-avatar.json create mode 100644 apps/www/public/registry/styles/default/account-ens-name.json create mode 100644 apps/www/public/registry/styles/default/account-nonce.json create mode 100644 apps/www/public/registry/styles/default/address.json create mode 100644 apps/www/public/registry/styles/default/block-explorer-link.json create mode 100644 apps/www/public/registry/styles/default/blockie.json create mode 100644 apps/www/public/registry/styles/default/ens-avatar.json create mode 100644 apps/www/public/registry/styles/default/ens-name.json create mode 100644 apps/www/public/registry/styles/default/erc20-balance.json create mode 100644 apps/www/public/registry/styles/default/erc20-image.json create mode 100644 apps/www/public/registry/styles/default/erc20-name.json create mode 100644 apps/www/public/registry/styles/default/erc20-select-and-amount-demo.json create mode 100644 apps/www/public/registry/styles/default/erc20-select-and-amount.json create mode 100644 apps/www/public/registry/styles/default/erc20-select.json create mode 100644 apps/www/public/registry/styles/default/erc20-symbol.json create mode 100644 apps/www/public/registry/styles/default/image-ipfs.json create mode 100644 apps/www/public/registry/styles/default/is-wallet-connected-demo.json create mode 100644 apps/www/public/registry/styles/default/is-wallet-connected.json create mode 100644 apps/www/public/registry/styles/default/is-wallet-disconnected-demo.json create mode 100644 apps/www/public/registry/styles/default/is-wallet-disconnected.json create mode 100644 apps/www/public/registry/styles/default/network-manage.json create mode 100644 apps/www/public/registry/styles/default/wallet-connect.json create mode 100644 apps/www/public/registry/styles/default/wallet-disconnect.json create mode 100644 apps/www/public/registry/styles/default/wallet-manage.json delete mode 100644 apps/www/registry/default/buidl/rainbowkit-wallet-connect.tsx create mode 100644 apps/www/registry/default/example/account-balance-demo.tsx create mode 100644 apps/www/registry/default/example/account-nonce-demo.tsx create mode 100644 apps/www/registry/default/example/block-explorer-link-demo.tsx create mode 100644 apps/www/registry/default/example/image-ipfs-demo.tsx create mode 100644 apps/www/registry/default/example/is-wallet-connected-demo.tsx create mode 100644 apps/www/registry/default/example/is-wallet-disconnected-demo.tsx create mode 100644 apps/www/registry/default/example/wallet-disconnect-demo.tsx diff --git a/.eslintrc.json b/.eslintrc.json index 9a48847..756cb27 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -9,6 +9,7 @@ ], "plugins": ["tailwindcss"], "rules": { + "@next/next/no-img-element": "off", "@next/next/no-html-link-for-pages": "off", "tailwindcss/no-custom-classname": "off", "tailwindcss/classnames-order": "error" diff --git a/apps/www/__registry__/index.tsx b/apps/www/__registry__/index.tsx index 99b620c..09baeed 100644 --- a/apps/www/__registry__/index.tsx +++ b/apps/www/__registry__/index.tsx @@ -5,6 +5,48 @@ import * as React from "react" export const Index: Record = { "default": { + "account-address": { + name: "account-address", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-address")), + files: ["registry/default/buidl/account-address.tsx"], + }, + "account-balance": { + name: "account-balance", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-balance")), + files: ["registry/default/buidl/account-balance.tsx"], + }, + "account-blockie": { + name: "account-blockie", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-blockie")), + files: ["registry/default/buidl/account-blockie.tsx"], + }, + "account-ens-avatar": { + name: "account-ens-avatar", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-ens-avatar")), + files: ["registry/default/buidl/account-ens-avatar.tsx"], + }, + "account-ens-name": { + name: "account-ens-name", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-ens-name")), + files: ["registry/default/buidl/account-ens-name.tsx"], + }, + "account-nonce": { + name: "account-nonce", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/account-nonce")), + files: ["registry/default/buidl/account-nonce.tsx"], + }, "address": { name: "address", type: "components:buidl", @@ -12,6 +54,13 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/address")), files: ["registry/default/buidl/address.tsx"], }, + "block-explorer-link": { + name: "block-explorer-link", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/block-explorer-link")), + files: ["registry/default/buidl/block-explorer-link.tsx"], + }, "blockie": { name: "blockie", type: "components:buidl", @@ -33,6 +82,34 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/ens-name")), files: ["registry/default/buidl/ens-name.tsx"], }, + "image-ipfs": { + name: "image-ipfs", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/image-ipfs")), + files: ["registry/default/buidl/image-ipfs.tsx"], + }, + "is-wallet-connected": { + name: "is-wallet-connected", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/is-wallet-connected")), + files: ["registry/default/buidl/is-wallet-connected.tsx"], + }, + "is-wallet-disconnected": { + name: "is-wallet-disconnected", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/is-wallet-disconnected")), + files: ["registry/default/buidl/is-wallet-disconnected.tsx"], + }, + "network-manage": { + name: "network-manage", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/network-manage")), + files: ["registry/default/buidl/network-manage.tsx"], + }, "wallet-connect": { name: "wallet-connect", type: "components:buidl", @@ -40,6 +117,13 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/wallet-connect")), files: ["registry/default/buidl/wallet-connect.tsx"], }, + "wallet-disconnect": { + name: "wallet-disconnect", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/wallet-disconnect")), + files: ["registry/default/buidl/wallet-disconnect.tsx"], + }, "wallet-manage": { name: "wallet-manage", type: "components:buidl", @@ -47,13 +131,6 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/wallet-manage")), files: ["registry/default/buidl/wallet-manage.tsx"], }, - "network-manage": { - name: "network-manage", - type: "components:buidl", - registryDependencies: undefined, - component: React.lazy(() => import("@/registry/default/buidl/network-manage")), - files: ["registry/default/buidl/network-manage.tsx"], - }, "erc20-balance": { name: "erc20-balance", type: "components:buidl", @@ -75,12 +152,12 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-name")), files: ["registry/default/buidl/erc20/erc20-name.tsx"], }, - "erc20-symbol": { - name: "erc20-symbol", + "erc20-select-and-amount": { + name: "erc20-select-and-amount", type: "components:buidl", registryDependencies: undefined, - component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-symbol")), - files: ["registry/default/buidl/erc20/erc20-symbol.tsx"], + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-select-and-amount")), + files: ["registry/default/buidl/erc20/erc20-select-and-amount.tsx"], }, "erc20-select": { name: "erc20-select", @@ -89,12 +166,54 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-select")), files: ["registry/default/buidl/erc20/erc20-select.tsx"], }, - "erc20-select-and-amount": { - name: "erc20-select-and-amount", + "erc20-symbol": { + name: "erc20-symbol", type: "components:buidl", registryDependencies: undefined, - component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-select-and-amount")), - files: ["registry/default/buidl/erc20/erc20-select-and-amount.tsx"], + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-symbol")), + files: ["registry/default/buidl/erc20/erc20-symbol.tsx"], + }, + "account-address-demo": { + name: "account-address-demo", + type: "components:example", + registryDependencies: ["account-address"], + component: React.lazy(() => import("@/registry/default/example/account-address-demo")), + files: ["registry/default/example/account-address-demo.tsx"], + }, + "account-balance-demo": { + name: "account-balance-demo", + type: "components:example", + registryDependencies: ["account-address"], + component: React.lazy(() => import("@/registry/default/example/account-balance-demo")), + files: ["registry/default/example/account-balance-demo.tsx"], + }, + "account-blockie-demo": { + name: "account-blockie-demo", + type: "components:example", + registryDependencies: ["account-address"], + component: React.lazy(() => import("@/registry/default/example/account-blockie-demo")), + files: ["registry/default/example/account-blockie-demo.tsx"], + }, + "account-ens-avatar-demo": { + name: "account-ens-avatar-demo", + type: "components:example", + registryDependencies: ["account-ens-avatar"], + component: React.lazy(() => import("@/registry/default/example/account-ens-avatar-demo")), + files: ["registry/default/example/account-ens-avatar-demo.tsx"], + }, + "account-ens-name-demo": { + name: "account-ens-name-demo", + type: "components:example", + registryDependencies: ["account-ens-name"], + component: React.lazy(() => import("@/registry/default/example/account-ens-name-demo")), + files: ["registry/default/example/account-ens-name-demo.tsx"], + }, + "account-nonce-demo": { + name: "account-nonce-demo", + type: "components:example", + registryDependencies: ["account-ens-name"], + component: React.lazy(() => import("@/registry/default/example/account-nonce-demo")), + files: ["registry/default/example/account-nonce-demo.tsx"], }, "address-demo": { name: "address-demo", @@ -103,6 +222,13 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/address-demo")), files: ["registry/default/example/address-demo.tsx"], }, + "block-explorer-link-demo": { + name: "block-explorer-link-demo", + type: "components:example", + registryDependencies: ["address"], + component: React.lazy(() => import("@/registry/default/example/block-explorer-link-demo")), + files: ["registry/default/example/block-explorer-link-demo.tsx"], + }, "blockie-demo": { name: "blockie-demo", type: "components:example", @@ -124,33 +250,33 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/ens-name-demo")), files: ["registry/default/example/ens-name-demo.tsx"], }, - "account-address-demo": { - name: "account-address-demo", + "image-ipfs-demo": { + name: "image-ipfs-demo", type: "components:example", - registryDependencies: ["account-address"], - component: React.lazy(() => import("@/registry/default/example/account-address-demo")), - files: ["registry/default/example/account-address-demo.tsx"], + registryDependencies: ["ens-name"], + component: React.lazy(() => import("@/registry/default/example/image-ipfs-demo")), + files: ["registry/default/example/image-ipfs-demo.tsx"], }, - "account-blockie-demo": { - name: "account-blockie-demo", + "is-wallet-connected-demo": { + name: "is-wallet-connected-demo", type: "components:example", - registryDependencies: ["account-blockie"], - component: React.lazy(() => import("@/registry/default/example/account-blockie-demo")), - files: ["registry/default/example/account-blockie-demo.tsx"], + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/example/is-wallet-connected-demo")), + files: ["registry/default/example/is-wallet-connected-demo.tsx"], }, - "account-ens-avatar-demo": { - name: "account-ens-avatar-demo", + "is-wallet-disconnected-demo": { + name: "is-wallet-disconnected-demo", type: "components:example", - registryDependencies: ["account-ens-avatar"], - component: React.lazy(() => import("@/registry/default/example/account-ens-avatar-demo")), - files: ["registry/default/example/account-ens-avatar-demo.tsx"], + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/example/is-wallet-disconnected-demo")), + files: ["registry/default/example/is-wallet-disconnected-demo.tsx"], }, - "account-ens-name-demo": { - name: "account-ens-name-demo", + "network-manage-demo": { + name: "network-manage-demo", type: "components:example", - registryDependencies: ["account-ens-name"], - component: React.lazy(() => import("@/registry/default/example/account-ens-name-demo")), - files: ["registry/default/example/account-ens-name-demo.tsx"], + registryDependencies: ["network-manage"], + component: React.lazy(() => import("@/registry/default/example/network-manage-demo")), + files: ["registry/default/example/network-manage-demo.tsx"], }, "wallet-connect-demo": { name: "wallet-connect-demo", @@ -159,6 +285,13 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/wallet-connect-demo")), files: ["registry/default/example/wallet-connect-demo.tsx"], }, + "wallet-disconnect-demo": { + name: "wallet-disconnect-demo", + type: "components:example", + registryDependencies: ["wallet-connect"], + component: React.lazy(() => import("@/registry/default/example/wallet-disconnect-demo")), + files: ["registry/default/example/wallet-disconnect-demo.tsx"], + }, "wallet-manage-demo": { name: "wallet-manage-demo", type: "components:example", @@ -166,13 +299,6 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/wallet-manage-demo")), files: ["registry/default/example/wallet-manage-demo.tsx"], }, - "network-manage-demo": { - name: "network-manage-demo", - type: "components:example", - registryDependencies: ["network-manage"], - component: React.lazy(() => import("@/registry/default/example/network-manage-demo")), - files: ["registry/default/example/network-manage-demo.tsx"], - }, "erc20-balance-demo": { name: "erc20-balance-demo", type: "components:example", @@ -194,12 +320,12 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/erc20-name-demo")), files: ["registry/default/example/erc20-name-demo.tsx"], }, - "erc20-symbol-demo": { - name: "erc20-symbol-demo", + "erc20-select-and-amount-demo": { + name: "erc20-select-and-amount-demo", type: "components:example", - registryDependencies: ["erc20-symbol"], - component: React.lazy(() => import("@/registry/default/example/erc20-symbol-demo")), - files: ["registry/default/example/erc20-symbol-demo.tsx"], + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/example/erc20-select-and-amount-demo")), + files: ["registry/default/example/erc20-select-and-amount-demo.tsx"], }, "erc20-select-demo": { name: "erc20-select-demo", @@ -208,12 +334,12 @@ export const Index: Record = { component: React.lazy(() => import("@/registry/default/example/erc20-select-demo")), files: ["registry/default/example/erc20-select-demo.tsx"], }, - "erc20-select-and-amount-demo": { - name: "erc20-select-and-amount-demo", + "erc20-symbol-demo": { + name: "erc20-symbol-demo", type: "components:example", - registryDependencies: ["erc20-select-and-amount"], - component: React.lazy(() => import("@/registry/default/example/erc20-select-and-amount-demo")), - files: ["registry/default/example/erc20-select-and-amount-demo.tsx"], + registryDependencies: ["erc20-symbol"], + component: React.lazy(() => import("@/registry/default/example/erc20-symbol-demo")), + files: ["registry/default/example/erc20-symbol-demo.tsx"], }, }, } diff --git a/apps/www/config/docs.ts b/apps/www/config/docs.ts index 4a3edec..4cc10b2 100644 --- a/apps/www/config/docs.ts +++ b/apps/www/config/docs.ts @@ -55,6 +55,21 @@ export const docsConfig: DocsConfig = { href: "/docs/components/wallet-connect", items: [], }, + { + title: "Wallet Disconnect", + href: "/docs/components/wallet-disconnect", + items: [], + }, + { + title: "Is Wallet Connected", + href: "/docs/components/is-wallet-connected", + items: [], + }, + { + title: "Is Wallet Disconnected", + href: "/docs/components/is-wallet-disconnected", + items: [], + }, { title: "Wallet Manage", href: "/docs/components/wallet-manage", @@ -75,6 +90,11 @@ export const docsConfig: DocsConfig = { href: "/docs/components/address", items: [], }, + { + title: "Block Explorer Link", + href: "/docs/components/block-explorer-link", + items: [], + }, { title: "Blockie", href: "/docs/components/blockie", @@ -90,6 +110,11 @@ export const docsConfig: DocsConfig = { href: "/docs/components/ens-name", items: [], }, + { + title: "Image IPFS", + href: "/docs/components/image-ipfs", + items: [], + }, ], }, { @@ -100,6 +125,11 @@ export const docsConfig: DocsConfig = { href: "/docs/components/account-address", items: [], }, + { + title: "Account Balance", + href: "/docs/components/account-balance", + items: [], + }, { title: "Account Blockie", href: "/docs/components/account-blockie", @@ -115,6 +145,11 @@ export const docsConfig: DocsConfig = { href: "/docs/components/account-ens-name", items: [], }, + { + title: "Account Nonce", + href: "/docs/components/account-nonce", + items: [], + }, ], }, { @@ -152,15 +187,5 @@ export const docsConfig: DocsConfig = { }, ], }, - // { - // title: "ERC721", - // items: [ - // { - // title: "ERC721 Name", - // href: "/docs/components/erc721-name", - // items: [], - // }, - // ], - // }, ], } diff --git a/apps/www/content/docs/components/accordion.mdx b/apps/www/content/docs/components/accordion.mdx deleted file mode 100644 index 003d170..0000000 --- a/apps/www/content/docs/components/accordion.mdx +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Accordion -description: A vertically stacked set of interactive headings that each reveal a section of content. -component: true - ---- - - - -## Installation - - - - - CLI - Manual - - - - - - -Run the following command: - -```bash -npx shadcn-ui@latest add accordion -``` - -Update `tailwind.config.js` - -Add the following animations to your `tailwind.config.js` file: - -```js title="tailwind.config.js" {5-18} -/** @type {import('tailwindcss').Config} */ -module.exports = { - theme: { - extend: { - keyframes: { - "accordion-down": { - from: { height: "0" }, - to: { height: "var(--radix-accordion-content-height)" }, - }, - "accordion-up": { - from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, - }, - }, - animation: { - "accordion-down": "accordion-down 0.2s ease-out", - "accordion-up": "accordion-up 0.2s ease-out", - }, - }, - }, -} -``` - - - - - - - - - -Install the following dependencies: - -```bash -npm install @radix-ui/react-accordion -``` - -Copy and paste the following code into your project. - - - - - -Update `tailwind.config.js` - -Add the following animations to your `tailwind.config.js` file: - -```js title="tailwind.config.js" {5-18} -/** @type {import('tailwindcss').Config} */ -module.exports = { - theme: { - extend: { - keyframes: { - "accordion-down": { - from: { height: "0" }, - to: { height: "var(--radix-accordion-content-height)" }, - }, - "accordion-up": { - from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, - }, - }, - animation: { - "accordion-down": "accordion-down 0.2s ease-out", - "accordion-up": "accordion-up 0.2s ease-out", - }, - }, - }, -} -``` - - - - - - - -## Usage - -```tsx -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@/components/ui/accordion" -``` - -```tsx - - - Is it accessible? - - Yes. It adheres to the WAI-ARIA design pattern. - - - -``` diff --git a/apps/www/content/docs/components/account-address.mdx b/apps/www/content/docs/components/account-address.mdx index d931545..0be699d 100644 --- a/apps/www/content/docs/components/account-address.mdx +++ b/apps/www/content/docs/components/account-address.mdx @@ -36,9 +36,13 @@ wagmi: +Install the following components: + +- [Address](/docs/components/address) + Copy and paste the following code into your project. - + diff --git a/apps/www/content/docs/components/address.mdx b/apps/www/content/docs/components/address.mdx index ae31432..c09e7ce 100644 --- a/apps/www/content/docs/components/address.mdx +++ b/apps/www/content/docs/components/address.mdx @@ -36,6 +36,10 @@ wagmi: +Install the following shadcn/ui components: + +- [Toast](https://ui.shadcn.com/docs/components/toast) + Copy and paste the following code into your project. diff --git a/apps/www/content/docs/components/blockie.mdx b/apps/www/content/docs/components/blockie.mdx index 59abb20..91f23dd 100644 --- a/apps/www/content/docs/components/blockie.mdx +++ b/apps/www/content/docs/components/blockie.mdx @@ -34,16 +34,16 @@ component: true -Copy and paste the following code into your project. - - - Install the following dependencies: ```bash pnpm add ethereum-blockies-base64 ``` +Copy and paste the following code into your project. + + + diff --git a/apps/www/content/docs/components/ens-name.mdx b/apps/www/content/docs/components/ens-name.mdx index b6a98d1..f1a1ced 100644 --- a/apps/www/content/docs/components/ens-name.mdx +++ b/apps/www/content/docs/components/ens-name.mdx @@ -36,6 +36,10 @@ radix: +Install the following components: + +- [Address](/docs/components/address) + Copy and paste the following code into your project. diff --git a/apps/www/content/docs/components/wallet-connect.mdx b/apps/www/content/docs/components/wallet-connect.mdx index 0e4cd32..2709a63 100644 --- a/apps/www/content/docs/components/wallet-connect.mdx +++ b/apps/www/content/docs/components/wallet-connect.mdx @@ -36,6 +36,11 @@ radix: +Install the following shadcn/ui components: + +- [Button](https://ui.shadcn.com/docs/components/button) +- [Dialog](https://ui.shadcn.com/docs/components/dialog) + Copy and paste the following code into your project. @@ -54,4 +59,5 @@ import { WalletConnect } from "@/components/buidl/wallet-connect" ```tsx +Custom Text ``` diff --git a/apps/www/content/docs/index.mdx b/apps/www/content/docs/index.mdx index 644b096..1080c6f 100644 --- a/apps/www/content/docs/index.mdx +++ b/apps/www/content/docs/index.mdx @@ -1,6 +1,6 @@ --- title: Introduction -description: Re-usable components built using Radix UI and Tailwind CSS. +description: Re-usable Web3 components built using Wagmi, Radix UI and Tailwind CSS. --- This is **NOT** a component library. It's a collection of re-usable components that you can copy and paste into your apps. diff --git a/apps/www/pages/.gitkeep b/apps/www/pages/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/www/pages/api/.gitkeep b/apps/www/pages/api/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/www/public/registry/index.json b/apps/www/public/registry/index.json index 0637a08..c0dbe72 100644 --- a/apps/www/public/registry/index.json +++ b/apps/www/public/registry/index.json @@ -1 +1,248 @@ -[] \ No newline at end of file +[ + { + "name": "account-address", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-address.tsx" + ], + "type": "components:buidl" + }, + { + "name": "account-balance", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-balance.tsx" + ], + "type": "components:buidl" + }, + { + "name": "account-blockie", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-blockie.tsx" + ], + "type": "components:buidl" + }, + { + "name": "account-ens-avatar", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-ens-avatar.tsx" + ], + "type": "components:buidl" + }, + { + "name": "account-ens-name", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-ens-name.tsx" + ], + "type": "components:buidl" + }, + { + "name": "account-nonce", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/account-nonce.tsx" + ], + "type": "components:buidl" + }, + { + "name": "address", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/address.tsx" + ], + "type": "components:buidl" + }, + { + "name": "block-explorer-link", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/block-explorer-link.tsx" + ], + "type": "components:buidl" + }, + { + "name": "blockie", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/blockie.tsx" + ], + "type": "components:buidl" + }, + { + "name": "ens-avatar", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/ens-avatar.tsx" + ], + "type": "components:buidl" + }, + { + "name": "ens-name", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/ens-name.tsx" + ], + "type": "components:buidl" + }, + { + "name": "image-ipfs", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/image-ipfs.tsx" + ], + "type": "components:buidl" + }, + { + "name": "is-wallet-connected", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/is-wallet-connected.tsx" + ], + "type": "components:buidl" + }, + { + "name": "is-wallet-disconnected", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/is-wallet-disconnected.tsx" + ], + "type": "components:buidl" + }, + { + "name": "network-manage", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/network-manage.tsx" + ], + "type": "components:buidl" + }, + { + "name": "wallet-connect", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/wallet-connect.tsx" + ], + "type": "components:buidl" + }, + { + "name": "wallet-disconnect", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/wallet-disconnect.tsx" + ], + "type": "components:buidl" + }, + { + "name": "wallet-manage", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/wallet-manage.tsx" + ], + "type": "components:buidl" + }, + { + "name": "erc20-balance", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-balance.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + }, + { + "name": "erc20-image", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-image.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + }, + { + "name": "erc20-name", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-name.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + }, + { + "name": "erc20-select-and-amount", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-select-and-amount.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + }, + { + "name": "erc20-select", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-select.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + }, + { + "name": "erc20-symbol", + "dependencies": [ + "wagmi" + ], + "files": [ + "buidl/erc20/erc20-symbol.tsx" + ], + "folder": "erc20", + "type": "components:buidl" + } +] \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-address.json b/apps/www/public/registry/styles/default/account-address.json new file mode 100644 index 0000000..dffd1ce --- /dev/null +++ b/apps/www/public/registry/styles/default/account-address.json @@ -0,0 +1,13 @@ +{ + "name": "account-address", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-address.tsx", + "content": "\"use client\"\n\nimport { HTMLAttributes } from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { Address, AddressProps } from \"./address\"\n\nexport interface AccountAddress\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountAddress = ({\n className,\n truncate,\n truncateAmount,\n linkEnabled,\n unavailable,\n ...props\n}: AccountAddress) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-balance.json b/apps/www/public/registry/styles/default/account-balance.json new file mode 100644 index 0000000..3d77de1 --- /dev/null +++ b/apps/www/public/registry/styles/default/account-balance.json @@ -0,0 +1,13 @@ +{ + "name": "account-balance", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-balance.tsx", + "content": "\"use client\"\n\nimport { HTMLAttributes } from \"react\"\nimport { useAccount, useBalance } from \"wagmi\"\n\nimport { trimFormattedBalance } from \"@/lib/utils\"\n\ninterface AccountBalanceProps\n extends Omit, \"children\"> {\n decimals?: number\n}\n\nexport const AccountBalance = ({\n className,\n decimals = 4,\n ...props\n}: AccountBalanceProps) => {\n const { address } = useAccount()\n const { data: balance } = useBalance({\n address,\n })\n\n if (!address || !balance) return null\n\n return (\n \n {trimFormattedBalance(balance.formatted, decimals)}\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-blockie.json b/apps/www/public/registry/styles/default/account-blockie.json new file mode 100644 index 0000000..8fb0649 --- /dev/null +++ b/apps/www/public/registry/styles/default/account-blockie.json @@ -0,0 +1,13 @@ +{ + "name": "account-blockie", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-blockie.tsx", + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { Blockie, BlockieProps } from \"./blockie\"\n\nexport interface AccountBlockie\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountBlockie = ({\n className,\n unavailable,\n variant,\n size,\n ...props\n}: AccountBlockie) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-ens-avatar.json b/apps/www/public/registry/styles/default/account-ens-avatar.json new file mode 100644 index 0000000..f209a77 --- /dev/null +++ b/apps/www/public/registry/styles/default/account-ens-avatar.json @@ -0,0 +1,13 @@ +{ + "name": "account-ens-avatar", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-ens-avatar.tsx", + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { BlockieProps } from \"./blockie\"\nimport { EnsAvatar } from \"./ens-avatar\"\n\nexport interface AccountEnsAvatarProps\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountEnsAvatar = ({\n className,\n unavailable,\n variant,\n size,\n ...props\n}: AccountEnsAvatarProps) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-ens-name.json b/apps/www/public/registry/styles/default/account-ens-name.json new file mode 100644 index 0000000..0f52e41 --- /dev/null +++ b/apps/www/public/registry/styles/default/account-ens-name.json @@ -0,0 +1,13 @@ +{ + "name": "account-ens-name", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-ens-name.tsx", + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { BlockieProps } from \"./blockie\"\nimport { EnsName } from \"./ens-name\"\n\nexport interface AccountEnsNameProps\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountEnsName = ({\n className,\n unavailable,\n variant,\n size,\n ...props\n}: AccountEnsNameProps) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/account-nonce.json b/apps/www/public/registry/styles/default/account-nonce.json new file mode 100644 index 0000000..46c5a41 --- /dev/null +++ b/apps/www/public/registry/styles/default/account-nonce.json @@ -0,0 +1,13 @@ +{ + "name": "account-nonce", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "account-nonce.tsx", + "content": "import { HTMLAttributes } from \"react\"\nimport { useAccount, usePublicClient, useQuery } from \"wagmi\"\n\ntype AccountNonceProps = Omit, \"children\">\n\nexport const AccountNonce = ({ className, ...props }: AccountNonceProps) => {\n const publicClient = usePublicClient()\n const { address } = useAccount()\n\n const { data: nonce } = useQuery([\"wallet-nonce\", address, publicClient], {\n queryFn: async () => {\n if (!publicClient || !address) return\n return await publicClient.getTransactionCount({\n address,\n })\n },\n enabled: !!address && !!publicClient,\n })\n\n return (\n \n {nonce}\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/address.json b/apps/www/public/registry/styles/default/address.json new file mode 100644 index 0000000..6246b93 --- /dev/null +++ b/apps/www/public/registry/styles/default/address.json @@ -0,0 +1,13 @@ +{ + "name": "address", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "address.tsx", + "content": "import { HTMLAttributes } from \"react\"\nimport Link from \"next/link\"\nimport { Copy } from \"lucide-react\"\nimport { useNetwork, type Address as AddressType } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { toast } from \"../ui/use-toast\"\n\nexport interface AddressProps\n extends Omit, \"children\"> {\n address: AddressType\n truncate?: boolean\n truncateAmount?: number\n linkEnabled?: boolean\n copyEnabled?: boolean\n}\n\nexport const Address = ({\n address,\n className,\n truncate,\n truncateAmount = 4,\n linkEnabled,\n copyEnabled,\n ...props\n}: AddressProps) => {\n const { chain } = useNetwork()\n const blockExplorerUrl = chain?.blockExplorers?.default.url\n const formattedAddress = truncate\n ? `${address.slice(0, truncateAmount + 2)}...${address.slice(\n -Number(truncateAmount)\n )}`\n : address\n\n if (linkEnabled && blockExplorerUrl) {\n const classes = cn(\"text-link\", className)\n\n if (copyEnabled) {\n return (\n \n \n {formattedAddress}\n \n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return (\n \n {formattedAddress}\n \n )\n }\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n {formattedAddress}\n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return {formattedAddress}\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/block-explorer-link.json b/apps/www/public/registry/styles/default/block-explorer-link.json new file mode 100644 index 0000000..ae2e0cd --- /dev/null +++ b/apps/www/public/registry/styles/default/block-explorer-link.json @@ -0,0 +1,13 @@ +{ + "name": "block-explorer-link", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "block-explorer-link.tsx", + "content": "import { HTMLAttributes } from \"react\"\nimport { Address, useNetwork } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\ninterface BlockExplorerLinkProps extends HTMLAttributes {\n address: Address | undefined\n showExplorerName?: boolean\n type?: \"address\" | \"tx\"\n}\n\nexport const BlockExplorerLink = ({\n address,\n children,\n className,\n showExplorerName,\n type = \"address\",\n ...props\n}: BlockExplorerLinkProps) => {\n const { chain } = useNetwork()\n const blockExplorer = chain?.blockExplorers?.default\n\n if (!address) return null\n\n return (\n \n {blockExplorer && (\n \n {showExplorerName ? blockExplorer.name : children ?? address}\n \n )}\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/blockie.json b/apps/www/public/registry/styles/default/blockie.json new file mode 100644 index 0000000..3b72564 --- /dev/null +++ b/apps/www/public/registry/styles/default/blockie.json @@ -0,0 +1,13 @@ +{ + "name": "blockie", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "blockie.tsx", + "content": "import * as React from \"react\"\nimport Image from \"next/image\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport makeBlockie from \"ethereum-blockies-base64\"\n\nimport { ADDRESS_ZERO } from \"@/config/constants\"\nimport { cn } from \"@/lib/utils\"\n\nconst blockieVariants = cva(\"inline-block\", {\n variants: {\n variant: {\n default:\n \"rounded-full border-2 border-primary-foreground shadow-sm hover:shadow-md\",\n curved:\n \"rounded-md border-2 border-primary-foreground shadow-sm hover:shadow-md\",\n },\n size: {\n default: \"h-10 w-10\",\n sm: \"h-7 w-7\",\n lg: \"h-12 w-12\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n})\n\nexport type BlockieProps = React.HTMLAttributes &\n VariantProps & {\n address: `0x${string}`\n }\n\nexport const Blockie = ({\n className,\n address,\n variant,\n size,\n}: BlockieProps) => {\n const classes = cn(className)\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/ens-avatar.json b/apps/www/public/registry/styles/default/ens-avatar.json new file mode 100644 index 0000000..09af664 --- /dev/null +++ b/apps/www/public/registry/styles/default/ens-avatar.json @@ -0,0 +1,13 @@ +{ + "name": "ens-avatar", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "ens-avatar.tsx", + "content": "import * as React from \"react\"\nimport Image from \"next/image\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport { useEnsAvatar, useEnsName } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst ensAvatarVariants = cva(\"inline-block\", {\n variants: {\n variant: {\n default:\n \"rounded-full border-2 border-primary-foreground shadow-sm hover:shadow-md\",\n curved:\n \"rounded-md border-2 border-primary-foreground shadow-sm hover:shadow-md\",\n },\n size: {\n default: \"h-10 w-10\",\n sm: \"h-7 w-7\",\n lg: \"h-12 w-12\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n})\n\ntype EnsAvatar = React.HTMLAttributes &\n VariantProps & {\n address: `0x${string}`\n }\n\nexport const EnsAvatar = ({ className, address, variant, size }: EnsAvatar) => {\n const {\n data: dataEnsName,\n isError: isErrorEnsName,\n isLoading: isLoadingEnsName,\n isSuccess: isSuccessEnsName,\n } = useEnsName({\n address: address,\n })\n\n const {\n data: dataEnsAvatar,\n isError: isErrorEnsAvatar,\n isLoading: isLoadingEnsAvatar,\n isSuccess: isSuccessEnsAvatar,\n } = useEnsAvatar({\n name: dataEnsName,\n })\n\n if (!isSuccessEnsName || !isSuccessEnsAvatar || !dataEnsAvatar) {\n return 😀\n }\n\n return (\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/ens-name.json b/apps/www/public/registry/styles/default/ens-name.json new file mode 100644 index 0000000..9766a4c --- /dev/null +++ b/apps/www/public/registry/styles/default/ens-name.json @@ -0,0 +1,13 @@ +{ + "name": "ens-name", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "ens-name.tsx", + "content": "import * as React from \"react\"\nimport { useEnsName } from \"wagmi\"\n\nimport { ADDRESS_ZERO } from \"@/config/constants\"\nimport { cn } from \"@/lib/utils\"\n\nimport { Address } from \"./address\"\n\ntype EnsName = React.HTMLAttributes & {\n address: `0x${string}`\n classNameEnsName?: string\n classNameAddress?: string\n}\n\nexport const EnsName = ({\n classNameEnsName,\n classNameAddress,\n address,\n}: EnsName) => {\n const classesEnsName = cn(classNameEnsName)\n const classesAddress = cn(classNameAddress)\n const {\n data: dataEnsName,\n isError: isErrorEnsName,\n isLoading: isLoadingEnsName,\n isSuccess: isSuccessEnsName,\n } = useEnsName({\n address: address as `0x${string}`,\n })\n\n if (!isSuccessEnsName)\n return (\n
\n )\n\n return {dataEnsName}\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-balance.json b/apps/www/public/registry/styles/default/erc20-balance.json new file mode 100644 index 0000000..f0b0a80 --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-balance.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-balance", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-balance.tsx", + "content": "import * as React from \"react\"\nimport { useEffect, useState } from \"react\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\nimport { formatUnits } from \"viem\"\nimport { useChainId } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { useErc20BalanceOf, useErc20Decimals } from \"./erc20-wagmi\"\nimport { TokenList } from \"./types\"\nimport { findTokenByAddressFromList } from \"./utils/find-token-by-address-from-list\"\n\nexport type Erc20BalanceProps = React.HTMLAttributes & {\n address: `0x${string}`\n account: `0x${string}`\n tokenList?: TokenList\n chainId?: number\n}\n\nexport const Erc20Balance = ({\n className,\n chainId,\n address,\n account,\n tokenList = defaultTokenList,\n}: Erc20BalanceProps) => {\n const classes = cn(className)\n const chainIdDefault = useChainId()\n\n const [decimals, setDecimals] = React.useState()\n const [tokenNotInList, setTokenNotInList] = useState()\n React.useEffect(() => {\n const token = findTokenByAddressFromList(tokenList, address)\n if (!token) {\n setTokenNotInList(true)\n }\n if (token) {\n setDecimals(token.decimals)\n }\n }, [address, tokenList])\n\n useEffect(() => {}, [])\n\n const { data: dataErc20Decimals, isSuccess: isSuccessErc20Decimals } =\n useErc20Decimals({\n chainId: chainId || chainIdDefault,\n address,\n enabled: tokenNotInList,\n })\n\n useEffect(() => {\n if (isSuccessErc20Decimals && dataErc20Decimals) {\n setDecimals(dataErc20Decimals)\n }\n }, [dataErc20Decimals, isSuccessErc20Decimals])\n\n const { data, isSuccess } = useErc20BalanceOf({\n chainId: chainId || chainIdDefault,\n address,\n // @ts-ignore\n args: account,\n watch: true,\n enabled: !!decimals,\n })\n\n if (!data || !isSuccess || !decimals)\n return 0\n\n return
{formatUnits(data, decimals).toString()}
\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-image.json b/apps/www/public/registry/styles/default/erc20-image.json new file mode 100644 index 0000000..8d4ae8f --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-image.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-image", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-image.tsx", + "content": "import { useEffect, useState } from \"react\"\nimport Image from \"next/image\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { TokenList } from \"./types\"\nimport { findTokenByAddressFromList } from \"./utils/find-token-by-address-from-list\"\n\nexport type Erc20ImageProps = React.HTMLAttributes & {\n address: `0x${string}`\n tokenList?: TokenList\n chainId?: number\n logoURIDefault?: string\n}\n\nexport const Erc20Image = ({\n className,\n address,\n logoURIDefault = \"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png\",\n tokenList = defaultTokenList,\n}: Erc20ImageProps) => {\n const classes = cn(className)\n\n const [tokenImage, setTokenImage] = useState()\n const [tokenName, setTokenName] = useState()\n useEffect(() => {\n const token = findTokenByAddressFromList(tokenList, address)\n if (!token) {\n setTokenImage(logoURIDefault)\n setTokenName(\"Unknown Token\")\n }\n if (token) {\n let tokenImage = token.logoURI\n if (tokenImage?.startsWith(\"ipfs://\")) {\n tokenImage = tokenImage.replace(\n \"ipfs://\",\n \"https://gateway.ipfs.io/ipfs/\"\n )\n }\n setTokenImage(tokenImage)\n setTokenName(token.name)\n }\n }, [address, logoURIDefault, tokenList])\n\n if (!tokenImage || !tokenName) return null\n\n return (\n \n )\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-name.json b/apps/www/public/registry/styles/default/erc20-name.json new file mode 100644 index 0000000..a8fdfae --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-name.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-name", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-name.tsx", + "content": "import { useEffect, useState } from \"react\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\nimport { useChainId } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { useErc20Name } from \"./erc20-wagmi\"\nimport { TokenList } from \"./types\"\nimport { findTokenByAddressFromList } from \"./utils/find-token-by-address-from-list\"\n\nexport type Erc20NameProps = React.HTMLAttributes & {\n address: `0x${string}`\n tokenList?: TokenList\n chainId?: number\n unavailable?: any\n}\n\nexport const Erc20Name = ({\n className,\n chainId,\n address,\n tokenList = defaultTokenList,\n unavailable,\n}: Erc20NameProps) => {\n const classes = cn(className)\n const chainIdDefault = useChainId()\n\n const [tokenName, setTokenName] = useState()\n const [tokenNotInList, setTokenNotInList] = useState()\n useEffect(() => {\n const token = findTokenByAddressFromList(tokenList, address)\n if (!token) {\n setTokenNotInList(true)\n }\n if (token) {\n setTokenName(token.name)\n }\n }, [address, tokenList])\n\n useEffect(() => {}, [])\n\n const { data, isSuccess } = useErc20Name({\n chainId: chainId || chainIdDefault,\n address,\n watch: true,\n enabled: !!tokenNotInList,\n })\n\n useEffect(() => {\n if (data && isSuccess) {\n setTokenName(data)\n }\n }, [data, isSuccess])\n\n if (!tokenName) {\n const Comp = unavailable\n if (!Comp) return null\n return \n }\n\n return {tokenName}\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-select-and-amount-demo.json b/apps/www/public/registry/styles/default/erc20-select-and-amount-demo.json new file mode 100644 index 0000000..6ed1951 --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-select-and-amount-demo.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-select-and-amount-demo", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-select-and-amount-demo.tsx", + "content": "import { Erc20SelectAndAmount } from \"@/registry/default/buidl/erc20/erc20-select-and-amount\"\n\nexport default function Erc20SelectAndAmountDemo() {\n return \n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-select-and-amount.json b/apps/www/public/registry/styles/default/erc20-select-and-amount.json new file mode 100644 index 0000000..044a81e --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-select-and-amount.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-select-and-amount", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-select-and-amount.tsx", + "content": "import { useEffect, useState, type Dispatch, type SetStateAction } from \"react\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\nimport { useChainId } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Erc20Selector } from \"./erc20-selector\"\nimport { Token, TokenList } from \"./types\"\nimport { filterTokenListByChainId } from \"./utils/filter-token-list-by-chain-id\"\n\ntype Erc20SelectAndAmountProps = React.HTMLAttributes & {\n chainId?: number\n disabled?: boolean\n tokenList: TokenList\n onTokenSelectUpdate?: (token: Token) => void\n onAmountUpdate?: (token: Token) => void\n}\n\nexport function Erc20SelectAndAmount({\n className,\n chainId,\n disabled,\n tokenList = defaultTokenList,\n onAmountUpdate,\n onTokenSelectUpdate,\n}: Erc20SelectAndAmountProps) {\n const classes = cn(\n \"group relative flex items-center justify-between gap-2 rounded-md border p-2\",\n className\n )\n const chainIdDefault = useChainId()\n\n // Select Token\n const [selectedToken, setSelectedToken] = useState()\n useEffect(() => {\n if (selectedToken) {\n onTokenSelectUpdate?.(selectedToken)\n }\n }, [selectedToken, onTokenSelectUpdate])\n\n // Amount Update\n const [amount, setAmount] = useState()\n useEffect(() => {\n if (selectedToken) {\n onTokenSelectUpdate?.(selectedToken)\n }\n }, [selectedToken, onTokenSelectUpdate])\n\n // Filter Token List\n const [tokenListFiltered, setTokenListFiltered] = useState<\n TokenList | undefined\n >()\n useEffect(() => {\n const tokenListFilteredByChainId = filterTokenListByChainId(\n tokenList,\n chainId || chainIdDefault\n )\n setTokenListFiltered(tokenListFilteredByChainId)\n }, [chainId, chainIdDefault, tokenList])\n\n return (\n
\n
\n \n
\n setAmount(e.target.value)}\n />\n
\n )\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-select.json b/apps/www/public/registry/styles/default/erc20-select.json new file mode 100644 index 0000000..0950f93 --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-select.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-select", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-select.tsx", + "content": "import * as React from \"react\"\nimport { useEffect, useState } from \"react\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\nimport { useChainId } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Erc20Selector } from \"./erc20-selector\"\nimport { Token, TokenList } from \"./types\"\nimport { filterTokenListByChainId } from \"./utils/filter-token-list-by-chain-id\"\n\ntype Erc20SelectProps = React.HTMLAttributes & {\n tokenList?: TokenList\n chainId?: number\n onTokenSelect?: (token: Token) => void\n}\n\nexport const Erc20Select = ({\n className,\n chainId,\n tokenList = defaultTokenList,\n onTokenSelect,\n}: Erc20SelectProps) => {\n const classes = cn(className)\n const chainIdDefault = useChainId()\n\n const [selectedToken, setSelectedToken] = useState()\n useEffect(() => {\n if (selectedToken) {\n onTokenSelect?.(selectedToken)\n }\n }, [selectedToken, onTokenSelect])\n\n const [tokenListFiltered, setTokenListFiltered] = useState<\n TokenList | undefined\n >()\n useEffect(() => {\n const tokenListFilteredByChainId = filterTokenListByChainId(\n tokenList,\n chainId || chainIdDefault\n )\n setTokenListFiltered(tokenListFilteredByChainId)\n }, [chainId, chainIdDefault, tokenList])\n\n return (\n
\n
\n \n
\n
\n )\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/erc20-symbol.json b/apps/www/public/registry/styles/default/erc20-symbol.json new file mode 100644 index 0000000..1d24e7c --- /dev/null +++ b/apps/www/public/registry/styles/default/erc20-symbol.json @@ -0,0 +1,14 @@ +{ + "name": "erc20-symbol", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "erc20-symbol.tsx", + "content": "import { useEffect, useState } from \"react\"\nimport defaultTokenList from \"@/data/uniswap-default.tokenlist.json\"\nimport { useChainId } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { useErc20Symbol } from \"./erc20-wagmi\"\nimport { TokenList } from \"./types\"\nimport { findTokenByAddressFromList } from \"./utils/find-token-by-address-from-list\"\n\nexport type Erc20SymbolProps = React.HTMLAttributes & {\n address: `0x${string}`\n tokenList?: TokenList\n chainId?: number\n unavailable?: any\n}\n\nexport const Erc20Symbol = ({\n className,\n chainId,\n address,\n tokenList = defaultTokenList,\n unavailable,\n}: Erc20SymbolProps) => {\n const classes = cn(className)\n const chainIdDefault = useChainId()\n\n const [tokenSymbol, setTokenSymbol] = useState()\n const [tokenNotInList, setTokenNotInList] = useState()\n useEffect(() => {\n const token = findTokenByAddressFromList(tokenList, address)\n if (!token) {\n setTokenNotInList(true)\n }\n if (token) {\n setTokenSymbol(token.symbol)\n }\n }, [address, tokenList])\n\n useEffect(() => {}, [])\n\n const { data, isSuccess } = useErc20Symbol({\n chainId: chainId || chainIdDefault,\n address,\n watch: true,\n enabled: !!tokenNotInList,\n })\n\n useEffect(() => {\n if (data && isSuccess) {\n setTokenSymbol(data)\n }\n }, [data, isSuccess])\n\n if (!tokenSymbol) {\n const Comp = unavailable\n if (!Comp) return null\n return \n }\n\n return {tokenSymbol}\n}\n" + } + ], + "folder": "erc20", + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/image-ipfs.json b/apps/www/public/registry/styles/default/image-ipfs.json new file mode 100644 index 0000000..c5c4f2e --- /dev/null +++ b/apps/www/public/registry/styles/default/image-ipfs.json @@ -0,0 +1,13 @@ +{ + "name": "image-ipfs", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "image-ipfs.tsx", + "content": "import { useEffect, useState } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype ImageIpfs = React.HTMLAttributes & {\n src: string\n alt: string\n}\n\nexport const ImageIpfs = ({ className, src, alt }: ImageIpfs) => {\n const classes = cn(className)\n\n const [imgSrc, setImgSrc] = useState()\n useEffect(() => {\n if (src?.startsWith(\"ipfs://\")) {\n setImgSrc(src.replace(\"ipfs://\", \"https://gateway.ipfs.io/ipfs/\"))\n } else {\n setImgSrc(src)\n }\n }, [src])\n\n if (!imgSrc) return null\n\n return (\n {alt}\n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/is-wallet-connected-demo.json b/apps/www/public/registry/styles/default/is-wallet-connected-demo.json new file mode 100644 index 0000000..3c5838a --- /dev/null +++ b/apps/www/public/registry/styles/default/is-wallet-connected-demo.json @@ -0,0 +1,13 @@ +{ + "name": "is-wallet-connected-demo", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "is-wallet-connected-demo.tsx", + "content": "import { IsWalletConnected } from \"@/registry/default/buidl/is-wallet-connected\"\nimport { IsWalletDisconnected } from \"@/registry/default/buidl/is-wallet-disconnected\"\nimport { WalletConnect } from \"@/registry/default/buidl/wallet-connect\"\n\nexport default function IsWalletConnectedDemo() {\n return (\n
\n \n \n \n \n Wallet is connected\n \n
\n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/is-wallet-connected.json b/apps/www/public/registry/styles/default/is-wallet-connected.json new file mode 100644 index 0000000..804cae4 --- /dev/null +++ b/apps/www/public/registry/styles/default/is-wallet-connected.json @@ -0,0 +1,13 @@ +{ + "name": "is-wallet-connected", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "is-wallet-connected.tsx", + "content": "\"use client\"\n\nimport { type ReactNode } from \"react\"\nimport { useAccount } from \"wagmi\"\n\ninterface IsWalletConnectedProps {\n children: ReactNode\n}\n\nexport const IsWalletConnected = ({ children }: IsWalletConnectedProps) => {\n const { address } = useAccount()\n\n if (address) return <>{children}\n\n return null\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/is-wallet-disconnected-demo.json b/apps/www/public/registry/styles/default/is-wallet-disconnected-demo.json new file mode 100644 index 0000000..3627a57 --- /dev/null +++ b/apps/www/public/registry/styles/default/is-wallet-disconnected-demo.json @@ -0,0 +1,13 @@ +{ + "name": "is-wallet-disconnected-demo", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "is-wallet-disconnected-demo.tsx", + "content": "import { IsWalletConnected } from \"@/registry/default/buidl/is-wallet-connected\"\nimport { IsWalletDisconnected } from \"@/registry/default/buidl/is-wallet-disconnected\"\nimport { WalletConnect } from \"@/registry/default/buidl/wallet-connect\"\nimport { WalletDisconnect } from \"../buidl/wallet-disconnect\"\n\nexport default function IsWalletDisconnectedDemo() {\n return (\n
\n \n Wallet is disconnected\n \n \n \n \n \n
\n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/is-wallet-disconnected.json b/apps/www/public/registry/styles/default/is-wallet-disconnected.json new file mode 100644 index 0000000..91dc72b --- /dev/null +++ b/apps/www/public/registry/styles/default/is-wallet-disconnected.json @@ -0,0 +1,13 @@ +{ + "name": "is-wallet-disconnected", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "is-wallet-disconnected.tsx", + "content": "\"use client\"\n\nimport { type ReactNode } from \"react\"\nimport { useAccount } from \"wagmi\"\n\ninterface IsWalletDisconnectedProps {\n children: ReactNode\n}\n\nexport const IsWalletDisconnected = ({\n children,\n}: IsWalletDisconnectedProps) => {\n const { address } = useAccount()\n\n if (!address) return <>{children}\n\n return null\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/network-manage.json b/apps/www/public/registry/styles/default/network-manage.json new file mode 100644 index 0000000..5f783be --- /dev/null +++ b/apps/www/public/registry/styles/default/network-manage.json @@ -0,0 +1,13 @@ +{ + "name": "network-manage", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "network-manage.tsx", + "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype NetworkManage = React.HTMLAttributes\n\nexport const NetworkManage = ({ children, className }: NetworkManage) => {\n const classes = cn(className)\n\n return
{children}
\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/wallet-connect.json b/apps/www/public/registry/styles/default/wallet-connect.json new file mode 100644 index 0000000..bb9ea64 --- /dev/null +++ b/apps/www/public/registry/styles/default/wallet-connect.json @@ -0,0 +1,13 @@ +{ + "name": "wallet-connect", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "wallet-connect.tsx", + "content": "\"use client\"\n\nimport { connect } from \"@wagmi/core\"\nimport { CoinbaseWalletConnector } from \"@wagmi/core/dist/connectors/coinbaseWallet\"\nimport { MetaMaskConnector } from \"@wagmi/core/dist/connectors/metaMask\"\nimport { ChevronRight, RefreshCcw } from \"lucide-react\"\nimport Image from \"next/image\"\nimport * as React from \"react\"\nimport { useState } from \"react\"\n\nimport { WagmiProvider } from \"@/components/providers/wagmi-provider\"\nimport { connectors } from \"@/config/connectors\"\nimport { cn } from \"@/lib/utils\"\n\nimport { Button } from \"../ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"../ui/dialog\"\n\ntype WalletConnect = React.HTMLAttributes\n\nexport const WalletConnect = ({ children, className }: WalletConnect) => {\n const [isError, setIsError] = useState()\n const [selectedConnectorId, setSelectedConnectorId] = useState<\n string | undefined\n >()\n\n const handleReset = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n const handleBack = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n return (\n \n \n \n \n \n \n \n Connect Wallet\n
\n {selectedConnectorId && (\n <>\n
\n \n Back\n
\n connector.id === selectedConnectorId\n )}\n selectedConnectorId={selectedConnectorId}\n isError={isError}\n setIsError={setIsError}\n />\n \n )}\n {!selectedConnectorId && (\n
\n {connectors.map((connector, index) => (\n \n setSelectedConnectorId(connector?.id)\n }\n setIsError={setIsError}\n />\n ))}\n
\n )}\n
\n
\n
\n
\n )\n}\n\nconst WalletIdToIcon = {\n metaMask: \"/images/wallets/metaMask.svg\",\n coinbaseWallet: \"/images/wallets/coinbaseWallet.webp\",\n} as {\n [key: string]: string\n}\n\ntype WalletPreview = React.HTMLAttributes & {\n connector: MetaMaskConnector | CoinbaseWalletConnector\n selectConnector: () => void\n setIsError: (error: any) => void\n}\n\nexport const WalletPreview = ({\n className,\n connector,\n selectConnector,\n setIsError,\n}: WalletPreview) => {\n const classes = cn(\n \"flex cursor-pointer items-center gap-x-2 rounded-md border-2 p-2 hover:bg-neutral-100\",\n className\n )\n const WalletImage = WalletIdToIcon[connector.id]\n const handleConnect = async () => {\n selectConnector()\n try {\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{connector.name}

\n
\n )\n}\n\ntype WalletConnectionStatus = React.HTMLAttributes & {\n connector?: MetaMaskConnector | CoinbaseWalletConnector\n selectedConnectorId: string\n isError?: boolean\n setIsError: (error: any) => void\n}\n\nexport const WalletConnectionStatus = ({\n className,\n connector,\n selectedConnectorId,\n isError,\n setIsError,\n}: WalletConnectionStatus) => {\n const classes = cn(className)\n const WalletImage = WalletIdToIcon[connector?.id || \"default\"]\n\n const handleConnect = async () => {\n try {\n if (!connector) return\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{selectedConnectorId}

\n {isError && (\n
\n Error connecting to wallet\n
\n )}\n

Accept the connection request in your wallet

\n \n
\n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/wallet-disconnect.json b/apps/www/public/registry/styles/default/wallet-disconnect.json new file mode 100644 index 0000000..e567328 --- /dev/null +++ b/apps/www/public/registry/styles/default/wallet-disconnect.json @@ -0,0 +1,13 @@ +{ + "name": "wallet-disconnect", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "wallet-disconnect.tsx", + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useDisconnect } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Button, type ButtonProps } from \"../ui/button\"\n\nexport interface WalletDisconnectProps extends ButtonProps {\n label?: string\n}\n\nexport const WalletDisconnect = ({\n children,\n className,\n size,\n variant,\n label = \"Disconnect\",\n}: WalletDisconnectProps) => {\n const classes = cn(className)\n const { disconnect } = useDisconnect()\n return (\n disconnect()}\n size={size}\n variant={variant}\n >\n {label}\n \n )\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/public/registry/styles/default/wallet-manage.json b/apps/www/public/registry/styles/default/wallet-manage.json new file mode 100644 index 0000000..088c320 --- /dev/null +++ b/apps/www/public/registry/styles/default/wallet-manage.json @@ -0,0 +1,13 @@ +{ + "name": "wallet-manage", + "dependencies": [ + "wagmi" + ], + "files": [ + { + "name": "wallet-manage.tsx", + "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype WalletManage = React.HTMLAttributes\n\nexport const WalletManage = ({ children, className }: WalletManage) => {\n const classes = cn(className)\n\n return
{children}
\n}\n" + } + ], + "type": "components:buidl" +} \ No newline at end of file diff --git a/apps/www/registry/default/buidl/image-ipfs.tsx b/apps/www/registry/default/buidl/image-ipfs.tsx index e5d59f4..591c00b 100644 --- a/apps/www/registry/default/buidl/image-ipfs.tsx +++ b/apps/www/registry/default/buidl/image-ipfs.tsx @@ -22,7 +22,6 @@ export const ImageIpfs = ({ className, src, alt }: ImageIpfs) => { if (!imgSrc) return null return ( - // eslint-disable-next-line @next/next/no-img-element {alt} ) } diff --git a/apps/www/registry/default/buidl/rainbowkit-wallet-connect.tsx b/apps/www/registry/default/buidl/rainbowkit-wallet-connect.tsx deleted file mode 100644 index 4a3aed6..0000000 --- a/apps/www/registry/default/buidl/rainbowkit-wallet-connect.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { HtmlHTMLAttributes } from "react" -import { ConnectButton } from "@rainbow-me/rainbowkit" - -export const RainbowKitWalletConnect = ({ - className, - ...props -}: HtmlHTMLAttributes) => { - return ( - - - - ) -} diff --git a/apps/www/registry/default/buidl/wallet-connect.tsx b/apps/www/registry/default/buidl/wallet-connect.tsx index 13b4c24..c14c3e0 100644 --- a/apps/www/registry/default/buidl/wallet-connect.tsx +++ b/apps/www/registry/default/buidl/wallet-connect.tsx @@ -1,16 +1,16 @@ "use client" -import * as React from "react" -import { useState } from "react" -import Image from "next/image" import { connect } from "@wagmi/core" import { CoinbaseWalletConnector } from "@wagmi/core/dist/connectors/coinbaseWallet" import { MetaMaskConnector } from "@wagmi/core/dist/connectors/metaMask" -import { ChevronRight, RefreshCcw, Rewind } from "lucide-react" +import { ChevronRight, RefreshCcw } from "lucide-react" +import Image from "next/image" +import * as React from "react" +import { useState } from "react" +import { WagmiProvider } from "@/components/providers/wagmi-provider" import { connectors } from "@/config/connectors" import { cn } from "@/lib/utils" -import { WagmiProvider } from "@/components/providers/wagmi-provider" import { Button } from "../ui/button" import { @@ -21,10 +21,9 @@ import { DialogTrigger, } from "../ui/dialog" -type WalletConnect = React.HTMLAttributes +type WalletConnect = React.HTMLAttributes export const WalletConnect = ({ children, className }: WalletConnect) => { - const classes = cn(className) const [isError, setIsError] = useState() const [selectedConnectorId, setSelectedConnectorId] = useState< string | undefined @@ -43,7 +42,9 @@ export const WalletConnect = ({ children, className }: WalletConnect) => { return ( - + @@ -182,7 +183,7 @@ export const WalletConnectionStatus = ({ )}

Accept the connection request in your wallet

- diff --git a/apps/www/registry/default/example/account-address-demo.tsx b/apps/www/registry/default/example/account-address-demo.tsx index 23be12f..79e1c57 100644 --- a/apps/www/registry/default/example/account-address-demo.tsx +++ b/apps/www/registry/default/example/account-address-demo.tsx @@ -1,10 +1,9 @@ -import { AccountAddress } from "../buidl/account-address" -import { IsWalletConnected } from "../buidl/is-wallet-connected" -import { IsWalletDisconnected } from "../buidl/is-wallet-disconnected" -import { RainbowKitWalletConnect } from "../buidl/rainbowkit-wallet-connect" -import { WalletConnect } from "../buidl/wallet-connect" +import { AccountAddress } from "@/registry/default/buidl/account-address" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" -export default function AddressDemo() { +export default function AccountAddressDemo() { return (
diff --git a/apps/www/registry/default/example/account-balance-demo.tsx b/apps/www/registry/default/example/account-balance-demo.tsx new file mode 100644 index 0000000..98cc93e --- /dev/null +++ b/apps/www/registry/default/example/account-balance-demo.tsx @@ -0,0 +1,20 @@ +import { AccountBalance } from "@/registry/default/buidl/account-balance" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" + +export default function AccountBalanceDemo() { + return ( +
+ + + + +

Default

+ +

Custom Decimals

+ +
+
+ ) +} diff --git a/apps/www/registry/default/example/account-blockie-demo.tsx b/apps/www/registry/default/example/account-blockie-demo.tsx index f7e3e22..ecdc3ad 100644 --- a/apps/www/registry/default/example/account-blockie-demo.tsx +++ b/apps/www/registry/default/example/account-blockie-demo.tsx @@ -1,7 +1,7 @@ -import { AccountBlockie } from "../buidl/account-blockie" -import { IsWalletConnected } from "../buidl/is-wallet-connected" -import { IsWalletDisconnected } from "../buidl/is-wallet-disconnected" -import { WalletConnect } from "../buidl/wallet-connect" +import { AccountBlockie } from "@/registry/default/buidl/account-blockie" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" export default function AccountBlockieDemo() { return ( diff --git a/apps/www/registry/default/example/account-ens-avatar-demo.tsx b/apps/www/registry/default/example/account-ens-avatar-demo.tsx index d0d87f8..4d46f47 100644 --- a/apps/www/registry/default/example/account-ens-avatar-demo.tsx +++ b/apps/www/registry/default/example/account-ens-avatar-demo.tsx @@ -1,7 +1,7 @@ -import { AccountEnsAvatar } from "../buidl/account-ens-avatar" -import { IsWalletConnected } from "../buidl/is-wallet-connected" -import { IsWalletDisconnected } from "../buidl/is-wallet-disconnected" -import { WalletConnect } from "../buidl/wallet-connect" +import { AccountEnsAvatar } from "@/registry/default/buidl/account-ens-avatar" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" export default function AccountEnsAvatarDemo() { return ( diff --git a/apps/www/registry/default/example/account-ens-name-demo.tsx b/apps/www/registry/default/example/account-ens-name-demo.tsx index 8f90508..5fb06af 100644 --- a/apps/www/registry/default/example/account-ens-name-demo.tsx +++ b/apps/www/registry/default/example/account-ens-name-demo.tsx @@ -1,8 +1,8 @@ -import { AccountEnsName } from "../buidl/account-ens-name" +import { AccountEnsName } from "@/registry/default/buidl/account-ens-name"; -import { IsWalletConnected } from "../buidl/is-wallet-connected"; -import { IsWalletDisconnected } from "../buidl/is-wallet-disconnected"; -import { WalletConnect } from "../buidl/wallet-connect"; +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected"; +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected"; +import { WalletConnect } from "@/registry/default/buidl/wallet-connect"; export default function AccountEnsNameDemo() { return ( diff --git a/apps/www/registry/default/example/account-nonce-demo.tsx b/apps/www/registry/default/example/account-nonce-demo.tsx new file mode 100644 index 0000000..616846c --- /dev/null +++ b/apps/www/registry/default/example/account-nonce-demo.tsx @@ -0,0 +1,17 @@ +import { AccountNonce } from "@/registry/default/buidl/account-nonce" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" + +export default function AccountNonceDemo() { + return ( +
+ + + + + + +
+ ) +} diff --git a/apps/www/registry/default/example/address-demo.tsx b/apps/www/registry/default/example/address-demo.tsx index 3f3287a..1be08de 100644 --- a/apps/www/registry/default/example/address-demo.tsx +++ b/apps/www/registry/default/example/address-demo.tsx @@ -1,6 +1,6 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" -import { Address } from "../buidl/address" +import { Address } from "@/registry/default/buidl/address" export default function AddressDemo() { return ( diff --git a/apps/www/registry/default/example/block-explorer-link-demo.tsx b/apps/www/registry/default/example/block-explorer-link-demo.tsx new file mode 100644 index 0000000..2b96f97 --- /dev/null +++ b/apps/www/registry/default/example/block-explorer-link-demo.tsx @@ -0,0 +1,18 @@ +import { ADDRESS_EXAMPLE } from "@/config/constants" +import { BlockExplorerLink } from "@/registry/default/buidl/block-explorer-link" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" + +export default function BlockExploreLinkDemo() { + return ( +
+ + + + + + +
+ ) +} diff --git a/apps/www/registry/default/example/blockie-demo.tsx b/apps/www/registry/default/example/blockie-demo.tsx index b53a258..d4555c1 100644 --- a/apps/www/registry/default/example/blockie-demo.tsx +++ b/apps/www/registry/default/example/blockie-demo.tsx @@ -1,7 +1,6 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" -import { Blockie } from "../buidl/blockie" -import { Card } from "../ui/card" +import { Blockie } from "@/registry/default/buidl/blockie" export default function BlockieDemo() { return ( diff --git a/apps/www/registry/default/example/ens-avatar-demo.tsx b/apps/www/registry/default/example/ens-avatar-demo.tsx index fa6159e..b35150d 100644 --- a/apps/www/registry/default/example/ens-avatar-demo.tsx +++ b/apps/www/registry/default/example/ens-avatar-demo.tsx @@ -1,6 +1,6 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" -import { EnsAvatar } from "../buidl/ens-avatar" +import { EnsAvatar } from "@/registry/default/buidl/ens-avatar" export default function BlockieDemo() { return ( diff --git a/apps/www/registry/default/example/ens-name-demo.tsx b/apps/www/registry/default/example/ens-name-demo.tsx index 956cf65..010787c 100644 --- a/apps/www/registry/default/example/ens-name-demo.tsx +++ b/apps/www/registry/default/example/ens-name-demo.tsx @@ -1,6 +1,6 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" -import { EnsName } from "../buidl/ens-name" +import { EnsName } from "@/registry/default/buidl/ens-name" export default function EnsNameDemo() { return diff --git a/apps/www/registry/default/example/erc20-balance-demo.tsx b/apps/www/registry/default/example/erc20-balance-demo.tsx index ef3798c..87e50d7 100644 --- a/apps/www/registry/default/example/erc20-balance-demo.tsx +++ b/apps/www/registry/default/example/erc20-balance-demo.tsx @@ -1,6 +1,6 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" -import { Erc20Balance } from "../buidl/erc20/erc20-balance" +import { Erc20Balance } from "@/registry/default/buidl/erc20/erc20-balance" export default function Erc20BalanceDemo() { // WETH Balance diff --git a/apps/www/registry/default/example/erc20-image-demo.tsx b/apps/www/registry/default/example/erc20-image-demo.tsx index 4eabe1f..5bbc239 100644 --- a/apps/www/registry/default/example/erc20-image-demo.tsx +++ b/apps/www/registry/default/example/erc20-image-demo.tsx @@ -1,4 +1,4 @@ -import { Erc20Image } from "../buidl/erc20/erc20-image" +import { Erc20Image } from "@/registry/default/buidl/erc20/erc20-image" export default function Erc20ImageDemo() { // WETH Name diff --git a/apps/www/registry/default/example/erc20-name-demo.tsx b/apps/www/registry/default/example/erc20-name-demo.tsx index 8dbd7fe..741e430 100644 --- a/apps/www/registry/default/example/erc20-name-demo.tsx +++ b/apps/www/registry/default/example/erc20-name-demo.tsx @@ -1,4 +1,4 @@ -import { Erc20Name } from "../buidl/erc20/erc20-name" +import { Erc20Name } from "@/registry/default/buidl/erc20/erc20-name" export default function Erc20NameDemo() { // WETH Name diff --git a/apps/www/registry/default/example/erc20-select-and-amount-demo.tsx b/apps/www/registry/default/example/erc20-select-and-amount-demo.tsx index c7c32ab..e38a46e 100644 --- a/apps/www/registry/default/example/erc20-select-and-amount-demo.tsx +++ b/apps/www/registry/default/example/erc20-select-and-amount-demo.tsx @@ -1,4 +1,4 @@ -import { Erc20SelectAndAmount } from "../buidl/erc20/erc20-select-and-amount" +import { Erc20SelectAndAmount } from "@/registry/default/buidl/erc20/erc20-select-and-amount" export default function Erc20SelectAndAmountDemo() { return diff --git a/apps/www/registry/default/example/erc20-select-demo.tsx b/apps/www/registry/default/example/erc20-select-demo.tsx index 760f9de..0000eb3 100644 --- a/apps/www/registry/default/example/erc20-select-demo.tsx +++ b/apps/www/registry/default/example/erc20-select-demo.tsx @@ -1,4 +1,4 @@ -import { Erc20Select } from "../buidl/erc20/erc20-select" +import { Erc20Select } from "@/registry/default/buidl/erc20/erc20-select" export default function Erc20SelectDemo() { return diff --git a/apps/www/registry/default/example/erc20-symbol-demo.tsx b/apps/www/registry/default/example/erc20-symbol-demo.tsx index 1f737ac..0c6a53d 100644 --- a/apps/www/registry/default/example/erc20-symbol-demo.tsx +++ b/apps/www/registry/default/example/erc20-symbol-demo.tsx @@ -1,4 +1,4 @@ -import { Erc20Symbol } from "../buidl/erc20/erc20-symbol" +import { Erc20Symbol } from "@/registry/default/buidl/erc20/erc20-symbol" export default function Erc20SymbolDemo() { // WETH Name diff --git a/apps/www/registry/default/example/image-ipfs-demo.tsx b/apps/www/registry/default/example/image-ipfs-demo.tsx new file mode 100644 index 0000000..83029c8 --- /dev/null +++ b/apps/www/registry/default/example/image-ipfs-demo.tsx @@ -0,0 +1,7 @@ +import { ImageIpfs } from "@/registry/default/buidl/image-ipfs" + +export default function ImageIpfsDemo() { + return ( + + ) +} diff --git a/apps/www/registry/default/example/is-wallet-connected-demo.tsx b/apps/www/registry/default/example/is-wallet-connected-demo.tsx new file mode 100644 index 0000000..0c20589 --- /dev/null +++ b/apps/www/registry/default/example/is-wallet-connected-demo.tsx @@ -0,0 +1,16 @@ +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" + +export default function IsWalletConnectedDemo() { + return ( +
+ + + + + Wallet is connected + +
+ ) +} diff --git a/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx b/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx new file mode 100644 index 0000000..008c2cc --- /dev/null +++ b/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx @@ -0,0 +1,18 @@ +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" +import { WalletDisconnect } from "../buidl/wallet-disconnect" + +export default function IsWalletDisconnectedDemo() { + return ( +
+ + Wallet is disconnected + + + + + +
+ ) +} diff --git a/apps/www/registry/default/example/wallet-connect-demo.tsx b/apps/www/registry/default/example/wallet-connect-demo.tsx index 38fc148..79b7912 100644 --- a/apps/www/registry/default/example/wallet-connect-demo.tsx +++ b/apps/www/registry/default/example/wallet-connect-demo.tsx @@ -1,4 +1,4 @@ -import { WalletConnect } from "../buidl/wallet-connect" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" export default function WalletConnectDemo() { return diff --git a/apps/www/registry/default/example/wallet-disconnect-demo.tsx b/apps/www/registry/default/example/wallet-disconnect-demo.tsx new file mode 100644 index 0000000..16f9ae3 --- /dev/null +++ b/apps/www/registry/default/example/wallet-disconnect-demo.tsx @@ -0,0 +1,5 @@ +import { WalletDisconnect } from "@/registry/default/buidl/wallet-disconnect" + +export default function WalletDisconnectDemo() { + return +} diff --git a/apps/www/registry/registry.ts b/apps/www/registry/registry.ts index c953599..b852200 100644 --- a/apps/www/registry/registry.ts +++ b/apps/www/registry/registry.ts @@ -1,12 +1,54 @@ import { Registry } from "@/registry/schema" -const ui: Registry = [ +const buidl: Registry = [ + { + name: "account-address", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-address.tsx"], + }, + { + name: "account-balance", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-balance.tsx"], + }, + { + name: "account-blockie", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-blockie.tsx"], + }, + { + name: "account-ens-avatar", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-ens-avatar.tsx"], + }, + { + name: "account-ens-name", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-ens-name.tsx"], + }, + { + name: "account-nonce", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/account-nonce.tsx"], + }, { name: "address", type: "components:buidl", dependencies: ["wagmi"], files: ["buidl/address.tsx"], }, + { + name: "block-explorer-link", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/block-explorer-link.tsx"], + }, { name: "blockie", type: "components:buidl", @@ -26,16 +68,22 @@ const ui: Registry = [ files: ["buidl/ens-name.tsx"], }, { - name: "wallet-connect", + name: "image-ipfs", type: "components:buidl", dependencies: ["wagmi"], - files: ["buidl/wallet-connect.tsx"], + files: ["buidl/image-ipfs.tsx"], }, { - name: "wallet-manage", + name: "is-wallet-connected", type: "components:buidl", dependencies: ["wagmi"], - files: ["buidl/wallet-manage.tsx"], + files: ["buidl/is-wallet-connected.tsx"], + }, + { + name: "is-wallet-disconnected", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/is-wallet-disconnected.tsx"], }, { name: "network-manage", @@ -43,6 +91,24 @@ const ui: Registry = [ dependencies: ["wagmi"], files: ["buidl/network-manage.tsx"], }, + { + name: "wallet-connect", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/wallet-connect.tsx"], + }, + { + name: "wallet-disconnect", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/wallet-disconnect.tsx"], + }, + { + name: "wallet-manage", + type: "components:buidl", + dependencies: ["wagmi"], + files: ["buidl/wallet-manage.tsx"], + }, { name: "erc20-balance", type: "components:buidl", @@ -56,21 +122,21 @@ const ui: Registry = [ folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-image.tsx"], - }, + }, { name: "erc20-name", type: "components:buidl", folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-name.tsx"], - }, + }, { - name: "erc20-symbol", + name: "erc20-select-and-amount", type: "components:buidl", folder: "erc20", dependencies: ["wagmi"], - files: ["buidl/erc20/erc20-symbol.tsx"], - }, + files: ["buidl/erc20/erc20-select-and-amount.tsx"], + }, { name: "erc20-select", type: "components:buidl", @@ -79,27 +145,63 @@ const ui: Registry = [ files: ["buidl/erc20/erc20-select.tsx"], }, { - name: "erc20-select-and-amount", + name: "erc20-symbol", type: "components:buidl", folder: "erc20", dependencies: ["wagmi"], - files: ["buidl/erc20/erc20-select-and-amount.tsx"], - }, - // { - // name: "accordion", - // type: "components:ui", - // dependencies: ["wagmi"], - // files: ["ui/accordion.tsx"], - // }, + files: ["buidl/erc20/erc20-symbol.tsx"], + } ] const example: Registry = [ + { + name: "account-address-demo", + type: "components:example", + registryDependencies: ["account-address"], + files: ["example/account-address-demo.tsx"], + }, + { + name: "account-balance-demo", + type: "components:example", + registryDependencies: ["account-address"], + files: ["example/account-balance-demo.tsx"], + }, + { + name: "account-blockie-demo", + type: "components:example", + registryDependencies: ["account-address"], + files: ["example/account-blockie-demo.tsx"], + }, + { + name: "account-ens-avatar-demo", + type: "components:example", + registryDependencies: ["account-ens-avatar"], + files: ["example/account-ens-avatar-demo.tsx"], + }, + { + name: "account-ens-name-demo", + type: "components:example", + registryDependencies: ["account-ens-name"], + files: ["example/account-ens-name-demo.tsx"], + }, + { + name: "account-nonce-demo", + type: "components:example", + registryDependencies: ["account-ens-name"], + files: ["example/account-nonce-demo.tsx"], + }, { name: "address-demo", type: "components:example", registryDependencies: ["address"], files: ["example/address-demo.tsx"], }, + { + name: "block-explorer-link-demo", + type: "components:example", + registryDependencies: ["address"], + files: ["example/block-explorer-link-demo.tsx"], + }, { name: "blockie-demo", type: "components:example", @@ -119,28 +221,28 @@ const example: Registry = [ files: ["example/ens-name-demo.tsx"], }, { - name: "account-address-demo", + name: "image-ipfs-demo", type: "components:example", - registryDependencies: ["account-address"], - files: ["example/account-address-demo.tsx"], + registryDependencies: ["ens-name"], + files: ["example/image-ipfs-demo.tsx"], }, { - name: "account-blockie-demo", + name: "is-wallet-connected-demo", type: "components:example", - registryDependencies: ["account-blockie"], - files: ["example/account-blockie-demo.tsx"], + dependencies: ["wagmi"], + files: ["example/is-wallet-connected-demo.tsx"], }, { - name: "account-ens-avatar-demo", + name: "is-wallet-disconnected-demo", type: "components:example", - registryDependencies: ["account-ens-avatar"], - files: ["example/account-ens-avatar-demo.tsx"], + dependencies: ["wagmi"], + files: ["example/is-wallet-disconnected-demo.tsx"], }, { - name: "account-ens-name-demo", + name: "network-manage-demo", type: "components:example", - registryDependencies: ["account-ens-name"], - files: ["example/account-ens-name-demo.tsx"], + registryDependencies: ["network-manage"], + files: ["example/network-manage-demo.tsx"], }, { name: "wallet-connect-demo", @@ -149,16 +251,16 @@ const example: Registry = [ files: ["example/wallet-connect-demo.tsx"], }, { - name: "wallet-manage-demo", + name: "wallet-disconnect-demo", type: "components:example", - registryDependencies: ["wallet-manage"], - files: ["example/wallet-manage-demo.tsx"], + registryDependencies: ["wallet-connect"], + files: ["example/wallet-disconnect-demo.tsx"], }, { - name: "network-manage-demo", + name: "wallet-manage-demo", type: "components:example", - registryDependencies: ["network-manage"], - files: ["example/network-manage-demo.tsx"], + registryDependencies: ["wallet-manage"], + files: ["example/wallet-manage-demo.tsx"], }, { name: "erc20-balance-demo", @@ -178,30 +280,24 @@ const example: Registry = [ registryDependencies: ["erc20-name"], files: ["example/erc20-name-demo.tsx"], }, - { - name: "erc20-symbol-demo", + { + name: "erc20-select-and-amount-demo", type: "components:example", - registryDependencies: ["erc20-symbol"], - files: ["example/erc20-symbol-demo.tsx"], + dependencies: ["wagmi"], + files: ["example/erc20-select-and-amount-demo.tsx"], }, { name: "erc20-select-demo", type: "components:example", registryDependencies: ["erc20-select"], files: ["example/erc20-select-demo.tsx"], - }, + }, { - name: "erc20-select-and-amount-demo", + name: "erc20-symbol-demo", type: "components:example", - registryDependencies: ["erc20-select-and-amount"], - files: ["example/erc20-select-and-amount-demo.tsx"], - }, - // { - // name: "accordion-demo", - // type: "components:example", - // registryDependencies: ["accordion"], - // files: ["example/accordion-demo.tsx"], - // }, + registryDependencies: ["erc20-symbol"], + files: ["example/erc20-symbol-demo.tsx"], + } ] -export const registry: Registry = [...ui, ...example] +export const registry: Registry = [...buidl, ...example] diff --git a/apps/www/scripts/build-registry.ts b/apps/www/scripts/build-registry.ts index 8064aa1..69b3794 100644 --- a/apps/www/scripts/build-registry.ts +++ b/apps/www/scripts/build-registry.ts @@ -1,7 +1,7 @@ // @ts-nocheck import fs from "fs" -import path, { basename } from "path" import template from "lodash.template" +import path, { basename } from "path" import { rimraf } from "rimraf" import { colorMapping, colors } from "../registry/colors" @@ -80,7 +80,7 @@ for (const style of styles) { } for (const item of result.data) { - if (item.type !== "components:ui") { + if (item.type !== "components:buidl") { continue } @@ -122,7 +122,7 @@ fs.writeFileSync( // ---------------------------------------------------------------------------- // Build registry/index.json. // ---------------------------------------------------------------------------- -const names = result.data.filter((item) => item.type === "components:ui") +const names = result.data.filter((item) => item.type === "components:buidl") const registryJson = JSON.stringify(names, null, 2) rimraf.sync(path.join(REGISTRY_PATH, "index.json")) fs.writeFileSync(path.join(REGISTRY_PATH, "index.json"), registryJson, "utf8") diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8143450..8eff8e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -364,183 +364,8 @@ importers: specifier: ^4.1.2 version: 4.1.2 - packages/cli: - dependencies: - '@antfu/ni': - specifier: ^0.21.4 - version: 0.21.4 - '@babel/core': - specifier: ^7.22.1 - version: 7.22.1 - '@babel/parser': - specifier: ^7.22.6 - version: 7.22.6 - '@babel/plugin-transform-typescript': - specifier: ^7.22.5 - version: 7.22.5(@babel/core@7.22.1) - chalk: - specifier: 5.2.0 - version: 5.2.0 - commander: - specifier: ^10.0.0 - version: 10.0.0 - cosmiconfig: - specifier: ^8.1.3 - version: 8.1.3 - diff: - specifier: ^5.1.0 - version: 5.1.0 - execa: - specifier: ^7.0.0 - version: 7.0.0 - fs-extra: - specifier: ^11.1.0 - version: 11.1.0 - https-proxy-agent: - specifier: ^6.2.0 - version: 6.2.0 - lodash.template: - specifier: ^4.5.0 - version: 4.5.0 - node-fetch: - specifier: ^3.3.0 - version: 3.3.0 - ora: - specifier: ^6.1.2 - version: 6.1.2 - prompts: - specifier: ^2.4.2 - version: 2.4.2 - recast: - specifier: ^0.23.2 - version: 0.23.2 - ts-morph: - specifier: ^18.0.0 - version: 18.0.0 - tsconfig-paths: - specifier: ^4.2.0 - version: 4.2.0 - zod: - specifier: ^3.20.2 - version: 3.20.2 - devDependencies: - '@types/babel__core': - specifier: ^7.20.1 - version: 7.20.1 - '@types/diff': - specifier: ^5.0.3 - version: 5.0.3 - '@types/fs-extra': - specifier: ^11.0.1 - version: 11.0.1 - '@types/lodash.template': - specifier: ^4.5.1 - version: 4.5.1 - '@types/prompts': - specifier: ^2.4.2 - version: 2.4.2 - rimraf: - specifier: ^4.1.3 - version: 4.1.3 - tsup: - specifier: ^6.6.3 - version: 6.6.3(postcss@8.4.24)(ts-node@10.9.1)(typescript@4.9.5) - type-fest: - specifier: ^3.8.0 - version: 3.8.0 - typescript: - specifier: ^4.9.3 - version: 4.9.5 - - templates/next-template: - dependencies: - '@radix-ui/react-slot': - specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.14)(react@18.2.0) - class-variance-authority: - specifier: ^0.4.0 - version: 0.4.0(typescript@4.9.5) - clsx: - specifier: ^1.2.1 - version: 1.2.1 - lucide-react: - specifier: 0.105.0-alpha.4 - version: 0.105.0-alpha.4(react@18.2.0) - next: - specifier: ^13.4.8 - version: 13.4.8(@babel/core@7.22.6)(react-dom@18.2.0)(react@18.2.0) - next-themes: - specifier: ^0.2.1 - version: 0.2.1(next@13.4.8)(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sharp: - specifier: ^0.31.3 - version: 0.31.3 - tailwind-merge: - specifier: ^1.13.2 - version: 1.13.2 - tailwindcss-animate: - specifier: ^1.0.6 - version: 1.0.6(tailwindcss@3.3.2) - devDependencies: - '@ianvs/prettier-plugin-sort-imports': - specifier: ^3.7.2 - version: 3.7.2(prettier@2.8.8) - '@types/node': - specifier: ^17.0.45 - version: 17.0.45 - '@types/react': - specifier: ^18.2.14 - version: 18.2.14 - '@types/react-dom': - specifier: ^18.2.6 - version: 18.2.6 - '@typescript-eslint/parser': - specifier: ^5.61.0 - version: 5.61.0(eslint@8.44.0)(typescript@4.9.5) - autoprefixer: - specifier: ^10.4.14 - version: 10.4.14(postcss@8.4.24) - eslint: - specifier: ^8.44.0 - version: 8.44.0 - eslint-config-next: - specifier: 13.0.0 - version: 13.0.0(eslint@8.44.0)(typescript@4.9.5) - eslint-config-prettier: - specifier: ^8.8.0 - version: 8.8.0(eslint@8.44.0) - eslint-plugin-react: - specifier: ^7.32.2 - version: 7.32.2(eslint@8.44.0) - eslint-plugin-tailwindcss: - specifier: ^3.13.0 - version: 3.13.0(tailwindcss@3.3.2) - postcss: - specifier: ^8.4.24 - version: 8.4.24 - prettier: - specifier: ^2.8.8 - version: 2.8.8 - tailwindcss: - specifier: ^3.3.2 - version: 3.3.2(ts-node@10.9.1) - typescript: - specifier: ^4.9.5 - version: 4.9.5 - packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: false @@ -555,10 +380,6 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 - - /@antfu/ni@0.21.4: - resolution: {integrity: sha512-O0Uv9LbLDSoEg26fnMDdDRiPwFJnQSoD4WnrflDwKCJm8Cx/0mV4cGxwBLXan5mGIrpK4Dd7vizf4rQm0QCEAA==} - hasBin: true dev: false /@babel/code-frame@7.21.4: @@ -573,6 +394,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.22.5 + dev: false /@babel/compat-data@7.22.3: resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} @@ -582,6 +404,7 @@ packages: /@babel/compat-data@7.22.6: resolution: {integrity: sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==} engines: {node: '>=6.9.0'} + dev: false /@babel/core@7.22.1: resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} @@ -627,6 +450,7 @@ packages: json5: 2.2.3 transitivePeerDependencies: - supports-color + dev: false /@babel/generator@7.22.3: resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} @@ -646,12 +470,6 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 - - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 dev: false /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1): @@ -680,25 +498,6 @@ packages: '@nicolo-ribaudo/semver-v6': 6.3.3 browserslist: 4.21.9 lru-cache: 5.1.1 - - /@babel/helper-create-class-features-plugin@7.22.6(@babel/core@7.22.1): - resolution: {integrity: sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.1 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@nicolo-ribaudo/semver-v6': 6.3.3 - transitivePeerDependencies: - - supports-color dev: false /@babel/helper-environment-visitor@7.22.1: @@ -709,6 +508,7 @@ packages: /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} + dev: false /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} @@ -724,6 +524,7 @@ packages: dependencies: '@babel/template': 7.22.5 '@babel/types': 7.22.5 + dev: false /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} @@ -737,12 +538,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 - - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 dev: false /@babel/helper-module-imports@7.21.4: @@ -757,6 +552,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 + dev: false /@babel/helper-module-transforms@7.22.1: resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} @@ -788,31 +584,6 @@ packages: '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-replace-supers@7.22.5: - resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.6 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false /@babel/helper-simple-access@7.21.5: @@ -827,12 +598,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 - - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 dev: false /@babel/helper-split-export-declaration@7.18.6: @@ -847,14 +612,17 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 + dev: false /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + dev: false /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} + dev: false /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} @@ -864,6 +632,7 @@ packages: /@babel/helper-validator-option@7.22.5: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} + dev: false /@babel/helpers@7.22.3: resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} @@ -885,6 +654,7 @@ packages: '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color + dev: false /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -902,6 +672,7 @@ packages: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 + dev: false /@babel/parser@7.22.6: resolution: {integrity: sha512-EIQu22vNkceq3LbjAq7knDf/UmtI2qbcNI8GRBlijez6TpQLvSodJPYfydQmNA5buwkxxxa/PVI44jjYZ+/cLw==} @@ -909,30 +680,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.22.5 - - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.1): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.1 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.1): - resolution: {integrity: sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.1 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.6(@babel/core@7.22.1) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.1) - transitivePeerDependencies: - - supports-color dev: false /@babel/runtime@7.22.3: @@ -947,6 +694,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 + dev: false /@babel/runtime@7.23.4: resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} @@ -971,6 +719,7 @@ packages: '@babel/code-frame': 7.22.5 '@babel/parser': 7.22.6 '@babel/types': 7.22.5 + dev: false /@babel/traverse@7.22.1: resolution: {integrity: sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==} @@ -1006,6 +755,7 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: false /@babel/types@7.22.3: resolution: {integrity: sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==} @@ -1023,6 +773,7 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 + dev: false /@changesets/apply-release-plan@6.1.3: resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} @@ -2010,16 +1761,6 @@ packages: eslint: 8.41.0 eslint-visitor-keys: 3.4.1 - /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.44.0 - eslint-visitor-keys: 3.4.1 - dev: true - /@eslint-community/regexpp@4.5.1: resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2040,32 +1781,10 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.0 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.41.0: resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@faker-js/faker@8.2.0: resolution: {integrity: sha512-VacmzZqVxdWdf9y64lDOMZNDMM/FQdtM9IsaOPKOm2suYwEatb8VkdHqOzXcDnZbk7YDE2BmsJmy/2Hmkn563g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} @@ -2124,17 +1843,6 @@ packages: react-hook-form: 7.44.2(react@18.2.0) dev: false - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/config-array@0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} @@ -2172,6 +1880,7 @@ packages: prettier: 2.8.8 transitivePeerDependencies: - supports-color + dev: false /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -2423,12 +2132,6 @@ packages: resolution: {integrity: sha512-twuSf1klb3k9wXI7IZhbZGtFCWvGD4wXTY2rmvzIgVhXhs7ISThrbNyutBx3jWIL8Y/Hk9+woytFz5QsgtcRKQ==} dev: false - /@next/eslint-plugin-next@13.0.0: - resolution: {integrity: sha512-z+gnX4Zizatqatc6f4CQrcC9oN8Us3Vrq/OLyc98h7K/eWctrnV91zFZodmJHUjx0cITY8uYM7LXD7IdYkg3kg==} - dependencies: - glob: 7.1.7 - dev: true - /@next/eslint-plugin-next@13.3.0: resolution: {integrity: sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==} dependencies: @@ -2519,6 +2222,7 @@ packages: /@nicolo-ribaudo/semver-v6@6.3.3: resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==} hasBin: true + dev: false /@noble/curves@1.2.0: resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} @@ -3167,20 +2871,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.14)(react@18.2.0): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.14 - react: 18.2.0 - dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.7)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: @@ -4110,21 +3800,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.14)(react@18.2.0): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) - '@types/react': 18.2.14 - react: 18.2.0 - dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.7)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: @@ -4510,10 +4185,6 @@ packages: resolution: {integrity: sha512-IthPJsJR85GhOkp3Hvp8zFOPK5ynKn6STyHa/WZpioK7E1aYDiBzpqQPrngc14DszIUkIrdd3k9Iu0XSzlP/1w==} dev: false - /@rushstack/eslint-patch@1.3.2: - resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} - dev: true - /@safe-global/safe-apps-provider@0.17.1(typescript@4.9.5)(zod@3.21.4): resolution: {integrity: sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ==} dependencies: @@ -4835,15 +4506,6 @@ packages: engines: {node: '>=12'} dev: false - /@ts-morph/common@0.19.0: - resolution: {integrity: sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==} - dependencies: - fast-glob: 3.3.0 - minimatch: 7.4.6 - mkdirp: 2.1.6 - path-browserify: 1.0.1 - dev: false - /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -4862,35 +4524,6 @@ packages: '@types/estree': 1.0.1 dev: false - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} - dependencies: - '@babel/parser': 7.22.6 - '@babel/types': 7.22.5 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 - dev: true - - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.22.5 - dev: true - - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.22.6 - '@babel/types': 7.22.5 - dev: true - - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} - dependencies: - '@babel/types': 7.22.5 - dev: true - /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: @@ -4954,10 +4587,6 @@ packages: dependencies: '@types/ms': 0.7.31 - /@types/diff@5.0.3: - resolution: {integrity: sha512-amrLbRqTU9bXMCc6uX0sWpxsQzRIo9z6MJPkH1pkez/qOxuqSZVuryJAWoBRq94CeG8JxY+VK4Le9HtjQR5T9A==} - dev: true - /@types/estree-jsx@1.0.0: resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} dependencies: @@ -4972,13 +4601,6 @@ packages: resolution: {integrity: sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==} dev: true - /@types/fs-extra@11.0.1: - resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 20.2.5 - dev: true - /@types/hast@2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} dependencies: @@ -4992,12 +4614,7 @@ packages: /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - - /@types/jsonfile@6.1.1: - resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} - dependencies: - '@types/node': 17.0.45 - dev: true + dev: false /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -5046,10 +4663,6 @@ packages: /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - /@types/node@20.2.5: - resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} - dev: true - /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: false @@ -5057,13 +4670,6 @@ packages: /@types/parse5@6.0.3: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - /@types/prompts@2.4.2: - resolution: {integrity: sha512-TwNx7qsjvRIUv/BCx583tqF5IINEVjCNqg9ofKHRlSoUHE62WBHrem4B1HGXcIrG511v29d1kJ9a/t2Esz7MIg==} - dependencies: - '@types/node': 20.2.5 - kleur: 3.0.3 - dev: true - /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -5079,19 +4685,6 @@ packages: dependencies: '@types/react': 18.2.7 - /@types/react-dom@18.2.6: - resolution: {integrity: sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==} - dependencies: - '@types/react': 18.2.14 - dev: true - - /@types/react@18.2.14: - resolution: {integrity: sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==} - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.2 - /@types/react@18.2.7: resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==} dependencies: @@ -5159,26 +4752,6 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@5.61.0(eslint@8.44.0)(typescript@4.9.5): - resolution: {integrity: sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/typescript-estree': 5.61.0(typescript@4.9.5) - debug: 4.3.4 - eslint: 8.44.0 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.59.7: resolution: {integrity: sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5187,24 +4760,11 @@ packages: '@typescript-eslint/visitor-keys': 5.59.7 dev: false - /@typescript-eslint/scope-manager@5.61.0: - resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 - dev: true - /@typescript-eslint/types@5.59.7: resolution: {integrity: sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/types@5.61.0: - resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@typescript-eslint/typescript-estree@5.59.7(typescript@4.9.5): resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5226,27 +4786,6 @@ packages: - supports-color dev: false - /@typescript-eslint/typescript-estree@5.61.0(typescript@4.9.5): - resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.3 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/visitor-keys@5.59.7: resolution: {integrity: sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5255,14 +4794,6 @@ packages: eslint-visitor-keys: 3.4.1 dev: false - /@typescript-eslint/visitor-keys@5.61.0: - resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.61.0 - eslint-visitor-keys: 3.4.1 - dev: true - /@vanilla-extract/css@1.9.1: resolution: {integrity: sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ==} dependencies: @@ -5977,6 +5508,7 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.10.0 + dev: false /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -5993,6 +5525,7 @@ packages: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true + dev: false /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} @@ -6003,15 +5536,6 @@ packages: resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} dev: false - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /agentkeepalive@4.5.0: resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} @@ -6059,6 +5583,7 @@ packages: engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: false /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -6111,12 +5636,14 @@ packages: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: deep-equal: 2.2.1 + dev: false /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 + dev: false /array-differ@3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} @@ -6136,6 +5663,7 @@ packages: es-abstract: 1.21.2 get-intrinsic: 1.2.1 is-string: 1.0.7 + dev: false /array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -6144,6 +5672,7 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: false /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} @@ -6153,6 +5682,7 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 + dev: false /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} @@ -6162,6 +5692,7 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 + dev: false /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} @@ -6171,6 +5702,7 @@ packages: es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.1 + dev: false /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -6182,27 +5714,12 @@ packages: engines: {node: '>=8'} dev: false - /assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} - dependencies: - es6-object-assign: 1.1.0 - is-nan: 1.3.2 - object-is: 1.1.5 - util: 0.12.5 - dev: false - /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: false /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} - - /ast-types@0.16.1: - resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} - engines: {node: '>=4'} - dependencies: - tslib: 2.5.2 dev: false /astring@1.8.5: @@ -6234,19 +5751,23 @@ packages: picocolors: 1.0.0 postcss: 8.4.24 postcss-value-parser: 4.2.0 + dev: false /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + dev: false /axe-core@4.7.2: resolution: {integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==} engines: {node: '>=4'} + dev: false /axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.1 + dev: false /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -6350,6 +5871,7 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 + dev: true /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -6372,6 +5894,7 @@ packages: electron-to-chromium: 1.4.450 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.9) + dev: false /bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -6425,16 +5948,6 @@ packages: load-tsconfig: 0.2.5 dev: false - /bundle-require@4.0.1(esbuild@0.17.19): - resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - dependencies: - esbuild: 0.17.19 - load-tsconfig: 0.2.5 - dev: true - /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -6445,6 +5958,7 @@ packages: /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + dev: false /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} @@ -6464,6 +5978,7 @@ packages: dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.1 + dev: false /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -6500,6 +6015,7 @@ packages: /caniuse-lite@1.0.30001512: resolution: {integrity: sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==} + dev: false /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -6532,6 +6048,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: false /chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} @@ -6725,14 +6242,11 @@ packages: - '@types/react' dev: false - /code-block-writer@12.0.0: - resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} - dev: false - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: false /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -6742,6 +6256,7 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -6772,11 +6287,6 @@ packages: resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} dev: false - /commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} - engines: {node: '>=14'} - dev: false - /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false @@ -6900,6 +6410,7 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false /cookie-es@1.0.0: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} @@ -7108,6 +6619,7 @@ packages: /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: false /dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} @@ -7150,6 +6662,7 @@ packages: optional: true dependencies: ms: 2.1.3 + dev: false /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -7235,6 +6748,7 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.1 which-typed-array: 1.1.9 + dev: false /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} @@ -7292,6 +6806,7 @@ packages: dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + dev: false /defu@6.1.3: resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} @@ -7366,6 +6881,7 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 + dev: false /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -7375,6 +6891,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 + dev: false /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -7432,6 +6949,7 @@ packages: /electron-to-chromium@1.4.450: resolution: {integrity: sha512-BLG5HxSELlrMx7dJ2s+8SFlsCtJp37Zpk2VAxyC6CZtbc+9AJeZHfYHbrlSgdXp6saQ8StMqOTEDaBKgA7u1sw==} + dev: false /emoji-regex@10.2.1: resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} @@ -7443,6 +6961,7 @@ packages: /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false /encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} @@ -7512,6 +7031,7 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.9 + dev: false /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -7525,6 +7045,7 @@ packages: is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 + dev: false /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -7533,11 +7054,13 @@ packages: get-intrinsic: 1.2.1 has: 1.0.3 has-tostringtag: 1.0.0 + dev: false /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 + dev: false /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -7546,9 +7069,6 @@ packages: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - - /es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} dev: false /es6-promise@4.2.8: @@ -7623,10 +7143,12 @@ packages: /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + dev: false /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + dev: false /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -7637,31 +7159,6 @@ packages: engines: {node: '>=12'} dev: true - /eslint-config-next@13.0.0(eslint@8.44.0)(typescript@4.9.5): - resolution: {integrity: sha512-y2nqWS2tycWySdVhb+rhp6CuDmDazGySqkzzQZf3UTyfHyC7og1m5m/AtMFwCo5mtvDqvw1BENin52kV9733lg==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 13.0.0 - '@rushstack/eslint-patch': 1.3.2 - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@4.9.5) - eslint: 8.44.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.27.5)(eslint@8.44.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.44.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.44.0) - eslint-plugin-react: 7.32.2(eslint@8.44.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.44.0) - typescript: 4.9.5 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-config-next@13.3.0(eslint@8.41.0)(typescript@4.9.5): resolution: {integrity: sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==} peerDependencies: @@ -7696,15 +7193,6 @@ packages: eslint: 8.41.0 dev: false - /eslint-config-prettier@8.8.0(eslint@8.44.0): - resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.44.0 - dev: true - /eslint-config-turbo@1.9.9(eslint@8.41.0): resolution: {integrity: sha512-OQLvRK9Ej/8HIEAW6e9hPu3nk1nCYWJ76voB4eOIaI2fYeIKC++0/r0zJPMOD8puo5V1DH+Gkd0XioKpL14ncg==} peerDependencies: @@ -7722,24 +7210,7 @@ packages: resolve: 1.22.2 transitivePeerDependencies: - supports-color - - /eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.27.5)(eslint@8.44.0): - resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} - engines: {node: '>=4'} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - eslint: 8.44.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.44.0) - glob: 7.2.3 - is-glob: 4.0.3 - resolve: 1.22.2 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - supports-color - dev: true + dev: false /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.59.7)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.41.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} @@ -7795,36 +7266,6 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@2.7.1)(eslint@8.44.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - 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': 5.61.0(eslint@8.44.0)(typescript@4.9.5) - debug: 3.2.7 - eslint: 8.44.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.27.5)(eslint@8.44.0) - transitivePeerDependencies: - - supports-color - dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.41.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} @@ -7858,39 +7299,6 @@ packages: - supports-color dev: false - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.44.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} - 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': 5.61.0(eslint@8.44.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.44.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@2.7.1)(eslint@8.44.0) - has: 1.0.3 - is-core-module: 2.12.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - semver: 6.3.0 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.41.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} @@ -7916,31 +7324,6 @@ packages: semver: 6.3.0 dev: false - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.44.0): - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.22.6 - aria-query: 5.1.3 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 - axe-core: 4.7.2 - axobject-query: 3.1.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 8.44.0 - has: 1.0.3 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.5 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - semver: 6.3.0 - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.41.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} @@ -7950,15 +7333,6 @@ packages: eslint: 8.41.0 dev: false - /eslint-plugin-react-hooks@4.6.0(eslint@8.44.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.44.0 - dev: true - /eslint-plugin-react@7.32.2(eslint@8.41.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} @@ -7983,30 +7357,6 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-react@7.32.2(eslint@8.44.0): - resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 - doctrine: 2.1.0 - eslint: 8.44.0 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 - prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 - dev: true - /eslint-plugin-tailwindcss@3.12.0(tailwindcss@3.3.2): resolution: {integrity: sha512-DMfg8NcSV04V1v3iBgJGEhmRuapW36XZXyRV8WHdNFGEXGUkBwM9R8MujguKXeQKBG6VhjiX4t98rhzXdIlUFw==} engines: {node: '>=12.13.0'} @@ -8018,17 +7368,6 @@ packages: tailwindcss: 3.3.2(ts-node@10.9.1) dev: false - /eslint-plugin-tailwindcss@3.13.0(tailwindcss@3.3.2): - resolution: {integrity: sha512-Fcep4KDRLWaK3KmkQbdyKHG0P4GdXFmXdDaweTIPcgOP60OOuWFbh1++dufRT28Q4zpKTKaHwTsXPJ4O/EjU2Q==} - engines: {node: '>=12.13.0'} - peerDependencies: - tailwindcss: ^3.3.2 - dependencies: - fast-glob: 3.3.0 - postcss: 8.4.24 - tailwindcss: 3.3.2(ts-node@10.9.1) - dev: true - /eslint-plugin-turbo@1.9.9(eslint@8.41.0): resolution: {integrity: sha512-BgtBMcgNd2YKiHbn1clRiEAmnlpSl19kt9yfIhFEsNIVPg2Gx0O1H++vWXGzMtT19mjHG4Unx0uIMRENKnDYLg==} peerDependencies: @@ -8095,54 +7434,6 @@ packages: transitivePeerDependencies: - supports-color - /eslint@8.44.0: - resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 - '@humanwhocodes/config-array': 0.11.10 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /espree@9.5.2: resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8151,15 +7442,6 @@ packages: acorn-jsx: 5.3.2(acorn@8.8.2) eslint-visitor-keys: 3.4.1 - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.1 - dev: true - /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -8318,6 +7600,7 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: false /execa@6.1.0: resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} @@ -8334,21 +7617,6 @@ packages: strip-final-newline: 3.0.0 dev: false - /execa@7.0.0: - resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: false - /execa@7.1.1: resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} @@ -8432,6 +7700,7 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -8539,6 +7808,7 @@ packages: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: false /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} @@ -8554,6 +7824,7 @@ packages: /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: false /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -8568,15 +7839,6 @@ packages: universalify: 2.0.0 dev: false - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false - /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -8629,13 +7891,16 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 functions-have-names: 1.2.3 + dev: false /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: false /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: false /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -8653,6 +7918,7 @@ packages: has: 1.0.3 has-proto: 1.0.1 has-symbols: 1.0.3 + dev: false /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} @@ -8680,6 +7946,7 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + dev: false /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -8687,6 +7954,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 + dev: false /get-tsconfig@4.5.0: resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} @@ -8747,6 +8015,7 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: false /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -8779,6 +8048,7 @@ packages: /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + dev: false /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} @@ -8791,6 +8061,7 @@ packages: engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.0 + dev: false /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -8802,6 +8073,7 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 + dev: false /globby@13.1.4: resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} @@ -8822,6 +8094,7 @@ packages: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 + dev: false /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} @@ -8883,10 +8156,12 @@ packages: /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: false /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: false /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -8901,20 +8176,24 @@ packages: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 + dev: false /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + dev: false /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: false /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: false /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} @@ -9096,16 +8375,6 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: false - /https-proxy-agent@6.2.0: - resolution: {integrity: sha512-4xhCnMpxR9fupa7leh9uJK2P/qjYIeaM9uZ9c1bi1JDSwX2VH9NDk/oKSToNX4gBKa2WT31Mldne7e26ckohLQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: false @@ -9118,6 +8387,7 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + dev: false /human-signals@3.0.1: resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} @@ -9217,6 +8487,7 @@ packages: get-intrinsic: 1.2.1 has: 1.0.3 side-channel: 1.0.4 + dev: false /internmap@2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} @@ -9267,6 +8538,7 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 + dev: false /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} @@ -9274,6 +8546,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-typed-array: 1.1.10 + dev: false /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -9287,6 +8560,7 @@ packages: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: false /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -9300,6 +8574,7 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 + dev: false /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} @@ -9308,6 +8583,7 @@ packages: /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + dev: false /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} @@ -9332,6 +8608,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: false /is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -9395,24 +8672,19 @@ packages: /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 dev: false /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + dev: false /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: false /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -9458,18 +8730,22 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 + dev: false /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: false /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 + dev: false /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + dev: false /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} @@ -9481,6 +8757,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: false /is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} @@ -9494,6 +8771,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: false /is-text-path@1.0.1: resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} @@ -9511,6 +8789,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 + dev: false /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -9523,17 +8802,20 @@ packages: /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: false /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 + dev: false /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 + dev: false /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -9549,6 +8831,7 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -9571,6 +8854,7 @@ packages: /javascript-natural-sort@0.7.1: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + dev: false /jayson@4.1.0: resolution: {integrity: sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==} @@ -9631,6 +8915,7 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -9654,6 +8939,7 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + dev: false /json-buffer@3.0.0: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} @@ -9694,11 +8980,13 @@ packages: hasBin: true dependencies: minimist: 1.2.8 + dev: false /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true + dev: false /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -9728,6 +9016,7 @@ packages: dependencies: array-includes: 3.1.6 object.assign: 4.1.4 + dev: false /keccak@3.0.4: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} @@ -9754,21 +9043,19 @@ packages: engines: {node: '>=0.10.0'} dev: false - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: false /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: language-subtag-registry: 0.3.22 + dev: false /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -9832,6 +9119,7 @@ packages: /load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false /load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} @@ -9878,6 +9166,7 @@ packages: /lodash.clone@4.5.0: resolution: {integrity: sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==} + dev: false /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} @@ -9889,6 +9178,7 @@ packages: /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false /lodash.isfunction@3.0.9: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} @@ -9913,10 +9203,6 @@ packages: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} dev: false - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - /lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: false @@ -9970,6 +9256,7 @@ packages: hasBin: true dependencies: js-tokens: 4.0.0 + dev: false /loupe@2.3.6: resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} @@ -10009,19 +9296,13 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: false /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - - /lucide-react@0.105.0-alpha.4(react@18.2.0): - resolution: {integrity: sha512-QclWOzKYj7sDW33jTQK4enmxL1LmI2SHFqEEP56EWhvs4mmlbbFe6ALYcdcdGysNISNovEbH5WBHg8tN5DLn0w==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - dependencies: - react: 18.2.0 dev: false /lucide-react@0.214.0(react@18.2.0): @@ -10347,6 +9628,7 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -10688,6 +9970,7 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + dev: false /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} @@ -10724,13 +10007,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -10752,12 +10028,6 @@ packages: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: false - /mkdirp@2.1.6: - resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mlly@1.3.0: resolution: {integrity: sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==} dependencies: @@ -10796,6 +10066,7 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false /multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} @@ -10918,49 +10189,6 @@ packages: - babel-plugin-macros dev: false - /next@13.4.8(@babel/core@7.22.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lxUjndYKjZHGK3CWeN2RI+/6ni6EUvjiqGWXAYPxUfGIdFGQ5XoisrqAJ/dF74aP27buAfs8MKIbIMMdxjqSBg==} - engines: {node: '>=16.8.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - fibers: '>= 3.1.0' - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - fibers: - optional: true - sass: - optional: true - dependencies: - '@next/env': 13.4.8 - '@swc/helpers': 0.5.1 - busboy: 1.6.0 - caniuse-lite: 1.0.30001512 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.22.6)(react@18.2.0) - watchpack: 2.4.0 - zod: 3.21.4 - optionalDependencies: - '@next/swc-darwin-arm64': 13.4.8 - '@next/swc-darwin-x64': 13.4.8 - '@next/swc-linux-arm64-gnu': 13.4.8 - '@next/swc-linux-arm64-musl': 13.4.8 - '@next/swc-linux-x64-gnu': 13.4.8 - '@next/swc-linux-x64-musl': 13.4.8 - '@next/swc-win32-arm64-msvc': 13.4.8 - '@next/swc-win32-ia32-msvc': 13.4.8 - '@next/swc-win32-x64-msvc': 13.4.8 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -11020,15 +10248,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /node-fetch@3.3.1: resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -11050,6 +10269,7 @@ packages: /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: false /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -11077,6 +10297,7 @@ packages: /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + dev: false /normalize-url@4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} @@ -11088,6 +10309,7 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: false /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} @@ -11106,6 +10328,7 @@ packages: /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: false /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} @@ -11113,10 +10336,12 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 + dev: false /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: false /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} @@ -11126,6 +10351,7 @@ packages: define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 + dev: false /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} @@ -11134,6 +10360,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} @@ -11142,12 +10369,14 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} @@ -11156,6 +10385,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} @@ -11184,6 +10414,7 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: false /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -11218,18 +10449,6 @@ packages: type-check: 0.4.0 word-wrap: 1.2.3 - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - /ora@6.1.2: resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -11386,10 +10605,6 @@ packages: tslib: 2.6.0 dev: false - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: false - /path-case@3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: @@ -11425,6 +10640,7 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: false /pathe@1.1.0: resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} @@ -11575,24 +10791,6 @@ packages: camelcase-css: 2.0.1 postcss: 8.4.24 - /postcss-load-config@3.1.4(postcss@8.4.24)(ts-node@10.9.1): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.24 - ts-node: 10.9.1(@types/node@17.0.45)(typescript@4.9.5) - yaml: 1.10.2 - dev: true - /postcss-load-config@4.0.1(postcss@8.4.24)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} @@ -11696,6 +10894,7 @@ packages: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true + dev: false /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} @@ -11731,20 +10930,13 @@ packages: engines: {node: '>= 0.6.0'} dev: true - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: false - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 + dev: false /property-information@6.2.0: resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} @@ -11903,6 +11095,7 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: false /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} @@ -12101,17 +11294,6 @@ packages: engines: {node: '>= 12.13.0'} dev: false - /recast@0.23.2: - resolution: {integrity: sha512-Qv6cPfVZyMOtPszK6PgW70pUgm7gPlFitAPf0Q69rlOA0zLw2XdDcNmPbVGYicFGT9O8I7TZ/0ryJD+6COvIPw==} - engines: {node: '>= 4'} - dependencies: - assert: 2.0.0 - ast-types: 0.16.1 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.5.2 - dev: false - /recharts-scale@0.4.5: resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} dependencies: @@ -12169,6 +11351,7 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false /regenerator-runtime@0.14.0: resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} @@ -12181,6 +11364,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 functions-have-names: 1.2.3 + dev: false /registry-auth-token@4.2.2: resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} @@ -12368,6 +11552,7 @@ packages: /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + dev: false /resolve-global@1.0.0: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} @@ -12391,6 +11576,7 @@ packages: is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: false /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} @@ -12423,14 +11609,6 @@ packages: hasBin: true dev: true - /rollup@3.20.6: - resolution: {integrity: sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - /rollup@3.23.0: resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -12491,6 +11669,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-regex: 1.1.4 + dev: false /safe-stable-stringify@2.4.3: resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} @@ -12547,6 +11726,7 @@ packages: /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true + dev: false /semver@7.5.0: resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} @@ -12570,6 +11750,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: false /sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} @@ -12646,6 +11827,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 + dev: false /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -12653,6 +11835,7 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} @@ -12672,13 +11855,10 @@ packages: is-arrayish: 0.3.2 dev: false - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false - /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + dev: false /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} @@ -12745,13 +11925,6 @@ packages: engines: {node: '>= 8'} dev: false - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - dev: true - /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -12828,6 +12001,7 @@ packages: engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.5 + dev: false /stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -12880,6 +12054,7 @@ packages: internal-slot: 1.0.5 regexp.prototype.flags: 1.5.0 side-channel: 1.0.4 + dev: false /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} @@ -12888,6 +12063,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} @@ -12895,6 +12071,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} @@ -12902,6 +12079,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 + dev: false /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -12935,10 +12113,12 @@ packages: /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + dev: false /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + dev: false /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} @@ -12998,24 +12178,6 @@ packages: react: 18.2.0 dev: false - /styled-jsx@5.1.1(@babel/core@7.22.6)(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.22.6 - client-only: 0.0.1 - react: 18.2.0 - dev: false - /sucrase@3.32.0: resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} @@ -13043,6 +12205,7 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: false /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -13073,10 +12236,6 @@ packages: resolution: {integrity: sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g==} dev: false - /tailwind-merge@1.13.2: - resolution: {integrity: sha512-R2/nULkdg1VR/EL4RXg4dEohdoxNUJGLMnWIQnPKL+O9Twu7Cn3Rxi4dlXkDzZrEGtR+G+psSXFouWlpTyLhCQ==} - dev: false - /tailwindcss-animate@1.0.5(tailwindcss@3.3.2): resolution: {integrity: sha512-UU3qrOJ4lFQABY+MVADmBm+0KW3xZyhMdRvejwtXqYOL7YjHYxmuREFAZdmVG5LPe5E9CAst846SLC4j5I3dcw==} peerDependencies: @@ -13085,14 +12244,6 @@ packages: tailwindcss: 3.3.2(ts-node@10.9.1) dev: false - /tailwindcss-animate@1.0.6(tailwindcss@3.3.2): - resolution: {integrity: sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders' - dependencies: - tailwindcss: 3.3.2(ts-node@10.9.1) - dev: false - /tailwindcss@3.3.2(ts-node@10.9.1): resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} engines: {node: '>=14.0.0'} @@ -13227,6 +12378,7 @@ packages: /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + dev: false /to-gatsby-remark-plugin@0.1.0: resolution: {integrity: sha512-blmhJ/gIrytWnWLgPSRCkhCPeki6UBK2daa3k9mGahN7GjwHu8KrS7F70MvwlsG7IE794JLgwAdCbi4hU4faFQ==} @@ -13264,15 +12416,10 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.0 - dev: true - /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + dev: false /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -13289,13 +12436,6 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-morph@18.0.0: - resolution: {integrity: sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==} - dependencies: - '@ts-morph/common': 0.19.0 - code-block-writer: 12.0.0 - dev: false - /ts-node@10.9.1(@types/node@17.0.45)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -13350,18 +12490,11 @@ packages: json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 dev: false /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: false /tslib@2.5.2: resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} @@ -13371,43 +12504,6 @@ packages: resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} dev: false - /tsup@6.6.3(postcss@8.4.24)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==} - engines: {node: '>=14.18'} - hasBin: true - peerDependencies: - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: ^4.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 4.0.1(esbuild@0.17.19) - cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4 - esbuild: 0.17.19 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss: 8.4.24 - postcss-load-config: 3.1.4(postcss@8.4.24)(ts-node@10.9.1) - resolve-from: 5.0.0 - rollup: 3.20.6 - source-map: 0.8.0-beta.0 - sucrase: 3.32.0 - tree-kill: 1.2.2 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -13416,6 +12512,7 @@ packages: dependencies: tslib: 1.14.1 typescript: 4.9.5 + dev: false /tty-table@4.2.1: resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} @@ -13547,17 +12644,13 @@ packages: engines: {node: '>=14.16'} dev: false - /type-fest@3.8.0: - resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==} - engines: {node: '>=14.16'} - dev: true - /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.10 + dev: false /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -13595,6 +12688,7 @@ packages: has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + dev: false /uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -13768,6 +12862,7 @@ packages: browserslist: 4.21.9 escalade: 3.1.1 picocolors: 1.0.0 + dev: false /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -14210,10 +13305,6 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - /well-known-symbols@2.0.0: resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} engines: {node: '>=6'} @@ -14226,14 +13317,6 @@ packages: webidl-conversions: 3.0.1 dev: false - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -14242,6 +13325,7 @@ packages: is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: false /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} @@ -14250,6 +13334,7 @@ packages: is-set: 2.0.2 is-weakmap: 2.0.1 is-weakset: 2.0.2 + dev: false /which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -14273,6 +13358,7 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 is-typed-array: 1.1.10 + dev: false /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -14384,14 +13470,11 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true + dev: false /yaml@2.3.1: resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} @@ -14469,10 +13552,6 @@ packages: resolution: {integrity: sha512-8SkgawHcA0RUbMrnhxbaQkZDBi8rMed8pQHixkFF9w32zGhAwZ9/cOHWlpYfr6RCx42Yp3siV45/jPEkJxsk6w==} dev: false - /zod@3.20.2: - resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} - dev: false - /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false From df627639713f82ab0b5939b4cced5c77cb1b82d6 Mon Sep 17 00:00:00 2001 From: Vitor Date: Mon, 27 Nov 2023 19:20:44 -0300 Subject: [PATCH 2/3] feat: add missing component pages --- apps/www/app/examples/layout.tsx | 18 +++--- apps/www/app/layout.tsx | 2 +- apps/www/config/docs.ts | 4 +- .../docs/components/account-address.mdx | 2 +- .../docs/components/account-balance.mdx | 57 +++++++++++++++++ .../docs/components/account-blockie.mdx | 9 ++- .../docs/components/account-ens-avatar.mdx | 6 +- .../docs/components/account-ens-name.mdx | 12 ++-- .../content/docs/components/account-nonce.mdx | 57 +++++++++++++++++ .../docs/components/block-explorer-link.mdx | 58 ++++++++++++++++++ apps/www/content/docs/components/blockie.mdx | 2 +- .../content/docs/components/ens-avatar.mdx | 2 +- .../www/content/docs/components/ens-image.mdx | 2 +- apps/www/content/docs/components/ens-name.mdx | 4 +- .../content/docs/components/ens-symbol.mdx | 2 +- .../content/docs/components/image-ipfs.mdx | 60 ++++++++++++++++++ .../docs/components/is-wallet-connected.mdx | 59 ++++++++++++++++++ .../components/is-wallet-disconnected.mdx | 59 ++++++++++++++++++ .../docs/components/network-manage.mdx | 4 +- .../docs/components/wallet-connect.mdx | 4 +- .../docs/components/wallet-disconnect.mdx | 61 +++++++++++++++++++ .../content/docs/components/wallet-manage.mdx | 4 +- .../registry/styles/default/address.json | 2 +- .../registry/styles/default/image-ipfs.json | 2 +- .../default/buidl/account-ens-name.tsx | 7 +-- apps/www/registry/default/buidl/address.tsx | 2 +- .../www/registry/default/buidl/image-ipfs.tsx | 35 +++++++---- .../registry/default/buidl/wallet-connect.tsx | 13 ++-- .../default/buidl/wallet-disconnect.tsx | 2 +- .../example/account-ens-avatar-demo.tsx | 16 ++--- .../default/example/account-ens-name-demo.tsx | 9 ++- .../default/example/account-nonce-demo.tsx | 2 +- .../registry/default/example/address-demo.tsx | 1 - .../example/block-explorer-link-demo.tsx | 6 ++ .../registry/default/example/blockie-demo.tsx | 1 - .../default/example/ens-avatar-demo.tsx | 3 +- .../default/example/ens-name-demo.tsx | 1 - .../default/example/erc20-balance-demo.tsx | 1 - .../default/example/image-ipfs-demo.tsx | 7 ++- .../example/is-wallet-connected-demo.tsx | 4 +- .../example/is-wallet-disconnected-demo.tsx | 1 + apps/www/registry/registry.ts | 14 ++--- apps/www/scripts/build-registry.ts | 2 +- 43 files changed, 528 insertions(+), 91 deletions(-) create mode 100644 apps/www/content/docs/components/account-balance.mdx create mode 100644 apps/www/content/docs/components/account-nonce.mdx create mode 100644 apps/www/content/docs/components/block-explorer-link.mdx create mode 100644 apps/www/content/docs/components/image-ipfs.mdx create mode 100644 apps/www/content/docs/components/is-wallet-connected.mdx create mode 100644 apps/www/content/docs/components/is-wallet-disconnected.mdx create mode 100644 apps/www/content/docs/components/wallet-disconnect.mdx diff --git a/apps/www/app/examples/layout.tsx b/apps/www/app/examples/layout.tsx index 976ab46..24d8eb2 100644 --- a/apps/www/app/examples/layout.tsx +++ b/apps/www/app/examples/layout.tsx @@ -26,15 +26,15 @@ export default function ExamplesLayout({ children }: ExamplesLayoutProps) { <>
- - ⚡️ {" "} - Build Web3 in Turbo Mode. - Build Web3 in Turbo Mode - - + + ⚡️ {" "} + Build Web3 in Turbo Mode. + Build Web3 in Turbo Mode + + Check out some examples. diff --git a/apps/www/app/layout.tsx b/apps/www/app/layout.tsx index 24f03f6..758c46d 100644 --- a/apps/www/app/layout.tsx +++ b/apps/www/app/layout.tsx @@ -31,7 +31,7 @@ export const metadata: Metadata = { "Radix UI", "WAGMI", "Web3", - "Ethereum" + "Ethereum", ], authors: [ { diff --git a/apps/www/config/docs.ts b/apps/www/config/docs.ts index 4cc10b2..c43ad60 100644 --- a/apps/www/config/docs.ts +++ b/apps/www/config/docs.ts @@ -71,12 +71,12 @@ export const docsConfig: DocsConfig = { items: [], }, { - title: "Wallet Manage", + title: "(WIP) Wallet Manage", href: "/docs/components/wallet-manage", items: [], }, { - title: "Network Manage", + title: "(WIP) Network Manage", href: "/docs/components/network-manage", items: [], }, diff --git a/apps/www/content/docs/components/account-address.mdx b/apps/www/content/docs/components/account-address.mdx index 0be699d..f4b6e01 100644 --- a/apps/www/content/docs/components/account-address.mdx +++ b/apps/www/content/docs/components/account-address.mdx @@ -3,7 +3,7 @@ title: Address description: Display connected account address. component: true wagmi: - link: https://wagmi.sh/react/hooks/useNetwork + link: https://wagmi.sh/react/hooks/useAccount --- + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { AccountBalance } from "@/components/buidl/account-balance" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/account-blockie.mdx b/apps/www/content/docs/components/account-blockie.mdx index ea278d6..882adee 100644 --- a/apps/www/content/docs/components/account-blockie.mdx +++ b/apps/www/content/docs/components/account-blockie.mdx @@ -2,7 +2,8 @@ title: Account Blockie description: Display connected account blockie identicon. component: true - +wagmi: + link: https://wagmi.sh/react/hooks/useAccount --- +Install the following components: + +- [Blockie](/docs/components/blockie) + Copy and paste the following code into your project. - + diff --git a/apps/www/content/docs/components/account-ens-avatar.mdx b/apps/www/content/docs/components/account-ens-avatar.mdx index fcbc2a2..adea512 100644 --- a/apps/www/content/docs/components/account-ens-avatar.mdx +++ b/apps/www/content/docs/components/account-ens-avatar.mdx @@ -2,7 +2,7 @@ title: Account ENS Avatar description: Display the connected account ENS avatar. component: true -radix: +wagmi: link: https://wagmi.sh/react/hooks/useEnsAvatar --- @@ -36,6 +36,10 @@ radix: +Install the following components: + +- [EnsAvatar](/docs/components/ens-avatar) + Copy and paste the following code into your project. diff --git a/apps/www/content/docs/components/account-ens-name.mdx b/apps/www/content/docs/components/account-ens-name.mdx index 1853c32..c0b3137 100644 --- a/apps/www/content/docs/components/account-ens-name.mdx +++ b/apps/www/content/docs/components/account-ens-name.mdx @@ -2,8 +2,8 @@ title: Account ENS Name description: Display the connected account ENS name. component: true -radix: - link: https://wagmi.sh/react/hooks/useEnsAvatar +wagmi: + link: https://wagmi.sh/react/hooks/useAccount --- +Install the following components: + +- [EnsName](/docs/components/ens-name) + Copy and paste the following code into your project. @@ -49,9 +53,9 @@ radix: ## Usage ```tsx -import { AccountEnsAvatar } from "@/components/buidl/account-ens-name" +import { AccountEnsName } from "@/components/buidl/account-ens-name" ``` ```tsx - + ``` diff --git a/apps/www/content/docs/components/account-nonce.mdx b/apps/www/content/docs/components/account-nonce.mdx new file mode 100644 index 0000000..6f251a8 --- /dev/null +++ b/apps/www/content/docs/components/account-nonce.mdx @@ -0,0 +1,57 @@ +--- +title: Account Nonce +description: Display the nonce of the connected account. +component: true +wagmi: + link: https://wagmi.sh/react/hooks/useAccount +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { AccountNonce } from "@/components/buidl/account-nonce" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/block-explorer-link.mdx b/apps/www/content/docs/components/block-explorer-link.mdx new file mode 100644 index 0000000..b84bd17 --- /dev/null +++ b/apps/www/content/docs/components/block-explorer-link.mdx @@ -0,0 +1,58 @@ +--- +title: Block Explorer Link +description: Link to an address or transaction to the block explorer of a given network. +component: true +wagmi: + link: https://wagmi.sh/react/hooks/useNetwork +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { WalletConnect } from "@/components/buidl/wallet-connect" +``` + +```tsx + +Custom Text +``` diff --git a/apps/www/content/docs/components/blockie.mdx b/apps/www/content/docs/components/blockie.mdx index 91f23dd..dddc5fd 100644 --- a/apps/www/content/docs/components/blockie.mdx +++ b/apps/www/content/docs/components/blockie.mdx @@ -37,7 +37,7 @@ component: true Install the following dependencies: ```bash -pnpm add ethereum-blockies-base64 +npm add ethereum-blockies-base64 ``` Copy and paste the following code into your project. diff --git a/apps/www/content/docs/components/ens-avatar.mdx b/apps/www/content/docs/components/ens-avatar.mdx index bea9766..8e3d14c 100644 --- a/apps/www/content/docs/components/ens-avatar.mdx +++ b/apps/www/content/docs/components/ens-avatar.mdx @@ -2,7 +2,7 @@ title: ENS Avatar description: Display an account ENS avatar. component: true -radix: +wagmi: link: https://wagmi.sh/react/hooks/useEnsAvatar --- diff --git a/apps/www/content/docs/components/ens-image.mdx b/apps/www/content/docs/components/ens-image.mdx index b6a98d1..49134e3 100644 --- a/apps/www/content/docs/components/ens-image.mdx +++ b/apps/www/content/docs/components/ens-image.mdx @@ -2,7 +2,7 @@ title: ENS Name description: Display an account ENS domain name. component: true -radix: +wagmi: link: https://wagmi.sh/react/hooks/useEnsAvatar --- diff --git a/apps/www/content/docs/components/ens-name.mdx b/apps/www/content/docs/components/ens-name.mdx index f1a1ced..425288f 100644 --- a/apps/www/content/docs/components/ens-name.mdx +++ b/apps/www/content/docs/components/ens-name.mdx @@ -2,8 +2,8 @@ title: ENS Name description: Display an account ENS domain name. component: true -radix: - link: https://wagmi.sh/react/hooks/useEnsAvatar +wagmi: + link: https://wagmi.sh/react/hooks/useEnsName --- + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { ImageIpfs } from "@/components/buidl/image-ipfs" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/is-wallet-connected.mdx b/apps/www/content/docs/components/is-wallet-connected.mdx new file mode 100644 index 0000000..c7a04bd --- /dev/null +++ b/apps/www/content/docs/components/is-wallet-connected.mdx @@ -0,0 +1,59 @@ +--- +title: Is Wallet Connected +description: Render a component if the wallet is connected +component: true +wagmi: + link: https://wagmi.sh/react/hooks/useAccount +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { IsWalletConnected } from "@/components/buidl/is-wallet-connected" +``` + +```tsx + +
Wallet is connected
+
+``` diff --git a/apps/www/content/docs/components/is-wallet-disconnected.mdx b/apps/www/content/docs/components/is-wallet-disconnected.mdx new file mode 100644 index 0000000..01d616b --- /dev/null +++ b/apps/www/content/docs/components/is-wallet-disconnected.mdx @@ -0,0 +1,59 @@ +--- +title: Is Wallet Disconnected +description: Render a component if the wallet is disconnected +component: true +wagmi: + link: https://wagmi.sh/react/hooks/useAccount +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { IsWalletDisconnected } from "@/components/buidl/is-wallet-disconnected" +``` + +```tsx + +
Wallet is disconnected
+
+``` diff --git a/apps/www/content/docs/components/network-manage.mdx b/apps/www/content/docs/components/network-manage.mdx index 00b2ca2..a7b74f6 100644 --- a/apps/www/content/docs/components/network-manage.mdx +++ b/apps/www/content/docs/components/network-manage.mdx @@ -1,8 +1,8 @@ --- -title: Network Manage +title: (WIP) Network Manage description: Manage your wallet's network connections. component: true -radix: +wagmi: link: https://wagmi.sh/react/hooks/useEnsAvatar --- diff --git a/apps/www/content/docs/components/wallet-connect.mdx b/apps/www/content/docs/components/wallet-connect.mdx index 2709a63..85daa6b 100644 --- a/apps/www/content/docs/components/wallet-connect.mdx +++ b/apps/www/content/docs/components/wallet-connect.mdx @@ -2,8 +2,8 @@ title: Wallet Connect description: Connect to a wallet provider or service. component: true -radix: - link: https://wagmi.sh/react/hooks/useEnsAvatar +wagmi: + link: https://wagmi.sh/react/hooks/useConnect --- + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Install the following shadcn/ui components: + +- [Button](https://ui.shadcn.com/docs/components/button) + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { WalletDisconnect } from "@/components/buidl/wallet-disconnect" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/wallet-manage.mdx b/apps/www/content/docs/components/wallet-manage.mdx index 7134419..092d037 100644 --- a/apps/www/content/docs/components/wallet-manage.mdx +++ b/apps/www/content/docs/components/wallet-manage.mdx @@ -1,9 +1,7 @@ --- -title: Wallet Manage +title: (WIP) Wallet Manage description: Manage your wallet connection and display basic details. component: true -radix: - link: https://wagmi.sh/react/hooks/useEnsAvatar --- , \"children\"> {\n address: AddressType\n truncate?: boolean\n truncateAmount?: number\n linkEnabled?: boolean\n copyEnabled?: boolean\n}\n\nexport const Address = ({\n address,\n className,\n truncate,\n truncateAmount = 4,\n linkEnabled,\n copyEnabled,\n ...props\n}: AddressProps) => {\n const { chain } = useNetwork()\n const blockExplorerUrl = chain?.blockExplorers?.default.url\n const formattedAddress = truncate\n ? `${address.slice(0, truncateAmount + 2)}...${address.slice(\n -Number(truncateAmount)\n )}`\n : address\n\n if (linkEnabled && blockExplorerUrl) {\n const classes = cn(\"text-link\", className)\n\n if (copyEnabled) {\n return (\n \n \n {formattedAddress}\n \n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return (\n \n {formattedAddress}\n \n )\n }\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n {formattedAddress}\n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return {formattedAddress}\n}\n" + "content": "import { Copy } from \"lucide-react\"\nimport Link from \"next/link\"\nimport { HTMLAttributes } from \"react\"\nimport { useNetwork, type Address as AddressType } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { toast } from \"../ui/use-toast\"\n\nexport interface AddressProps\n extends Omit, \"children\"> {\n address: AddressType\n truncate?: boolean\n truncateAmount?: number\n linkEnabled?: boolean\n copyEnabled?: boolean\n}\n\nexport const Address = ({\n address,\n className,\n truncate,\n truncateAmount = 4,\n linkEnabled,\n copyEnabled,\n ...props\n}: AddressProps) => {\n const { chain } = useNetwork()\n const blockExplorerUrl = chain?.blockExplorers?.default.url\n const formattedAddress = truncate\n ? `${address.slice(0, truncateAmount + 2)}...${address.slice(\n -Number(truncateAmount)\n )}`\n : address\n\n if (linkEnabled && blockExplorerUrl) {\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n \n {formattedAddress}\n \n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return (\n \n {formattedAddress}\n \n )\n }\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n {formattedAddress}\n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return {formattedAddress}\n}\n" } ], "type": "components:buidl" diff --git a/apps/www/public/registry/styles/default/image-ipfs.json b/apps/www/public/registry/styles/default/image-ipfs.json index c5c4f2e..c537da3 100644 --- a/apps/www/public/registry/styles/default/image-ipfs.json +++ b/apps/www/public/registry/styles/default/image-ipfs.json @@ -6,7 +6,7 @@ "files": [ { "name": "image-ipfs.tsx", - "content": "import { useEffect, useState } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype ImageIpfs = React.HTMLAttributes & {\n src: string\n alt: string\n}\n\nexport const ImageIpfs = ({ className, src, alt }: ImageIpfs) => {\n const classes = cn(className)\n\n const [imgSrc, setImgSrc] = useState()\n useEffect(() => {\n if (src?.startsWith(\"ipfs://\")) {\n setImgSrc(src.replace(\"ipfs://\", \"https://gateway.ipfs.io/ipfs/\"))\n } else {\n setImgSrc(src)\n }\n }, [src])\n\n if (!imgSrc) return null\n\n return (\n {alt}\n )\n}\n" + "content": "import { useMemo } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype ImageIpfs = React.HTMLAttributes & {\n src: string\n alt: string\n width?: string\n height?: string\n}\n\nexport const ImageIpfs = ({ className, src, alt, width, height }: ImageIpfs) => {\n const classes = cn(className)\n\n const imgSrc = useMemo(\n () => src?.startsWith(\"ipfs://\") ? src.replace(\"ipfs://\", \"https://gateway.ipfs.io/ipfs/\") : src,\n [src]\n )\n\n if (!imgSrc) return null\n\n return (\n {alt}\n )\n}\n" } ], "type": "components:buidl" diff --git a/apps/www/registry/default/buidl/account-ens-name.tsx b/apps/www/registry/default/buidl/account-ens-name.tsx index de1a0ce..389b6c6 100644 --- a/apps/www/registry/default/buidl/account-ens-name.tsx +++ b/apps/www/registry/default/buidl/account-ens-name.tsx @@ -23,10 +23,5 @@ export const AccountEnsName = ({ const Comp = unavailable || null if (!address) return Comp - return ( - - ) + return } diff --git a/apps/www/registry/default/buidl/address.tsx b/apps/www/registry/default/buidl/address.tsx index 012dc62..326cdd6 100644 --- a/apps/www/registry/default/buidl/address.tsx +++ b/apps/www/registry/default/buidl/address.tsx @@ -34,7 +34,7 @@ export const Address = ({ : address if (linkEnabled && blockExplorerUrl) { - const classes = cn("text-link", className) + const classes = cn(className) if (copyEnabled) { return ( diff --git a/apps/www/registry/default/buidl/image-ipfs.tsx b/apps/www/registry/default/buidl/image-ipfs.tsx index 591c00b..e93a6b9 100644 --- a/apps/www/registry/default/buidl/image-ipfs.tsx +++ b/apps/www/registry/default/buidl/image-ipfs.tsx @@ -1,27 +1,40 @@ -import { useEffect, useState } from "react" +import { useMemo } from "react" import { cn } from "@/lib/utils" type ImageIpfs = React.HTMLAttributes & { src: string alt: string + width?: string + height?: string } -export const ImageIpfs = ({ className, src, alt }: ImageIpfs) => { +export const ImageIpfs = ({ + className, + src, + alt, + width, + height, +}: ImageIpfs) => { const classes = cn(className) - const [imgSrc, setImgSrc] = useState() - useEffect(() => { - if (src?.startsWith("ipfs://")) { - setImgSrc(src.replace("ipfs://", "https://gateway.ipfs.io/ipfs/")) - } else { - setImgSrc(src) - } - }, [src]) + const imgSrc = useMemo( + () => + src?.startsWith("ipfs://") + ? src.replace("ipfs://", "https://gateway.ipfs.io/ipfs/") + : src, + [src] + ) if (!imgSrc) return null return ( - {alt} + {alt} ) } diff --git a/apps/www/registry/default/buidl/wallet-connect.tsx b/apps/www/registry/default/buidl/wallet-connect.tsx index c14c3e0..23feaad 100644 --- a/apps/www/registry/default/buidl/wallet-connect.tsx +++ b/apps/www/registry/default/buidl/wallet-connect.tsx @@ -1,16 +1,16 @@ "use client" +import * as React from "react" +import { useState } from "react" +import Image from "next/image" import { connect } from "@wagmi/core" import { CoinbaseWalletConnector } from "@wagmi/core/dist/connectors/coinbaseWallet" import { MetaMaskConnector } from "@wagmi/core/dist/connectors/metaMask" import { ChevronRight, RefreshCcw } from "lucide-react" -import Image from "next/image" -import * as React from "react" -import { useState } from "react" -import { WagmiProvider } from "@/components/providers/wagmi-provider" import { connectors } from "@/config/connectors" import { cn } from "@/lib/utils" +import { WagmiProvider } from "@/components/providers/wagmi-provider" import { Button } from "../ui/button" import { @@ -53,7 +53,10 @@ export const WalletConnect = ({ children, className }: WalletConnect) => {
{selectedConnectorId && ( <> -
+
Back
diff --git a/apps/www/registry/default/buidl/wallet-disconnect.tsx b/apps/www/registry/default/buidl/wallet-disconnect.tsx index 66a941b..fe85001 100644 --- a/apps/www/registry/default/buidl/wallet-disconnect.tsx +++ b/apps/www/registry/default/buidl/wallet-disconnect.tsx @@ -8,7 +8,7 @@ import { cn } from "@/lib/utils" import { Button, type ButtonProps } from "../ui/button" export interface WalletDisconnectProps extends ButtonProps { - label?: string + label?: string } export const WalletDisconnect = ({ diff --git a/apps/www/registry/default/example/account-ens-avatar-demo.tsx b/apps/www/registry/default/example/account-ens-avatar-demo.tsx index 4d46f47..2e799c7 100644 --- a/apps/www/registry/default/example/account-ens-avatar-demo.tsx +++ b/apps/www/registry/default/example/account-ens-avatar-demo.tsx @@ -10,17 +10,17 @@ export default function AccountEnsAvatarDemo() { -

Default

- +

Default

+ -

Small

- +

Small

+ -

Large

- +

Large

+ -

Curved

- +

Curved

+
) diff --git a/apps/www/registry/default/example/account-ens-name-demo.tsx b/apps/www/registry/default/example/account-ens-name-demo.tsx index 5fb06af..4b851d1 100644 --- a/apps/www/registry/default/example/account-ens-name-demo.tsx +++ b/apps/www/registry/default/example/account-ens-name-demo.tsx @@ -1,8 +1,7 @@ -import { AccountEnsName } from "@/registry/default/buidl/account-ens-name"; - -import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected"; -import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected"; -import { WalletConnect } from "@/registry/default/buidl/wallet-connect"; +import { AccountEnsName } from "@/registry/default/buidl/account-ens-name" +import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" +import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" +import { WalletConnect } from "@/registry/default/buidl/wallet-connect" export default function AccountEnsNameDemo() { return ( diff --git a/apps/www/registry/default/example/account-nonce-demo.tsx b/apps/www/registry/default/example/account-nonce-demo.tsx index 616846c..98bac59 100644 --- a/apps/www/registry/default/example/account-nonce-demo.tsx +++ b/apps/www/registry/default/example/account-nonce-demo.tsx @@ -10,7 +10,7 @@ export default function AccountNonceDemo() { - +
) diff --git a/apps/www/registry/default/example/address-demo.tsx b/apps/www/registry/default/example/address-demo.tsx index 1be08de..2cf5b38 100644 --- a/apps/www/registry/default/example/address-demo.tsx +++ b/apps/www/registry/default/example/address-demo.tsx @@ -1,5 +1,4 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" - import { Address } from "@/registry/default/buidl/address" export default function AddressDemo() { diff --git a/apps/www/registry/default/example/block-explorer-link-demo.tsx b/apps/www/registry/default/example/block-explorer-link-demo.tsx index 2b96f97..bf20346 100644 --- a/apps/www/registry/default/example/block-explorer-link-demo.tsx +++ b/apps/www/registry/default/example/block-explorer-link-demo.tsx @@ -11,7 +11,13 @@ export default function BlockExploreLinkDemo() {
+

Address Link

+

Transaction Link

+
) diff --git a/apps/www/registry/default/example/blockie-demo.tsx b/apps/www/registry/default/example/blockie-demo.tsx index d4555c1..ea5ed23 100644 --- a/apps/www/registry/default/example/blockie-demo.tsx +++ b/apps/www/registry/default/example/blockie-demo.tsx @@ -1,5 +1,4 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" - import { Blockie } from "@/registry/default/buidl/blockie" export default function BlockieDemo() { diff --git a/apps/www/registry/default/example/ens-avatar-demo.tsx b/apps/www/registry/default/example/ens-avatar-demo.tsx index b35150d..92ba48d 100644 --- a/apps/www/registry/default/example/ens-avatar-demo.tsx +++ b/apps/www/registry/default/example/ens-avatar-demo.tsx @@ -1,8 +1,7 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" - import { EnsAvatar } from "@/registry/default/buidl/ens-avatar" -export default function BlockieDemo() { +export default function EnsAvatarDemo() { return (

Default

diff --git a/apps/www/registry/default/example/ens-name-demo.tsx b/apps/www/registry/default/example/ens-name-demo.tsx index 010787c..3057a94 100644 --- a/apps/www/registry/default/example/ens-name-demo.tsx +++ b/apps/www/registry/default/example/ens-name-demo.tsx @@ -1,5 +1,4 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" - import { EnsName } from "@/registry/default/buidl/ens-name" export default function EnsNameDemo() { diff --git a/apps/www/registry/default/example/erc20-balance-demo.tsx b/apps/www/registry/default/example/erc20-balance-demo.tsx index 87e50d7..5d6df1e 100644 --- a/apps/www/registry/default/example/erc20-balance-demo.tsx +++ b/apps/www/registry/default/example/erc20-balance-demo.tsx @@ -1,5 +1,4 @@ import { ADDRESS_EXAMPLE } from "@/config/constants" - import { Erc20Balance } from "@/registry/default/buidl/erc20/erc20-balance" export default function Erc20BalanceDemo() { diff --git a/apps/www/registry/default/example/image-ipfs-demo.tsx b/apps/www/registry/default/example/image-ipfs-demo.tsx index 83029c8..5c86f6f 100644 --- a/apps/www/registry/default/example/image-ipfs-demo.tsx +++ b/apps/www/registry/default/example/image-ipfs-demo.tsx @@ -2,6 +2,11 @@ import { ImageIpfs } from "@/registry/default/buidl/image-ipfs" export default function ImageIpfsDemo() { return ( - + ) } diff --git a/apps/www/registry/default/example/is-wallet-connected-demo.tsx b/apps/www/registry/default/example/is-wallet-connected-demo.tsx index 0c20589..6c4e046 100644 --- a/apps/www/registry/default/example/is-wallet-connected-demo.tsx +++ b/apps/www/registry/default/example/is-wallet-connected-demo.tsx @@ -8,9 +8,7 @@ export default function IsWalletConnectedDemo() { - - Wallet is connected - + Wallet is connected
) } diff --git a/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx b/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx index 008c2cc..faa0d46 100644 --- a/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx +++ b/apps/www/registry/default/example/is-wallet-disconnected-demo.tsx @@ -1,6 +1,7 @@ import { IsWalletConnected } from "@/registry/default/buidl/is-wallet-connected" import { IsWalletDisconnected } from "@/registry/default/buidl/is-wallet-disconnected" import { WalletConnect } from "@/registry/default/buidl/wallet-connect" + import { WalletDisconnect } from "../buidl/wallet-disconnect" export default function IsWalletDisconnectedDemo() { diff --git a/apps/www/registry/registry.ts b/apps/www/registry/registry.ts index b852200..cd878b8 100644 --- a/apps/www/registry/registry.ts +++ b/apps/www/registry/registry.ts @@ -122,21 +122,21 @@ const buidl: Registry = [ folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-image.tsx"], - }, + }, { name: "erc20-name", type: "components:buidl", folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-name.tsx"], - }, + }, { name: "erc20-select-and-amount", type: "components:buidl", folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-select-and-amount.tsx"], - }, + }, { name: "erc20-select", type: "components:buidl", @@ -150,7 +150,7 @@ const buidl: Registry = [ folder: "erc20", dependencies: ["wagmi"], files: ["buidl/erc20/erc20-symbol.tsx"], - } + }, ] const example: Registry = [ @@ -280,7 +280,7 @@ const example: Registry = [ registryDependencies: ["erc20-name"], files: ["example/erc20-name-demo.tsx"], }, - { + { name: "erc20-select-and-amount-demo", type: "components:example", dependencies: ["wagmi"], @@ -291,13 +291,13 @@ const example: Registry = [ type: "components:example", registryDependencies: ["erc20-select"], files: ["example/erc20-select-demo.tsx"], - }, + }, { name: "erc20-symbol-demo", type: "components:example", registryDependencies: ["erc20-symbol"], files: ["example/erc20-symbol-demo.tsx"], - } + }, ] export const registry: Registry = [...buidl, ...example] diff --git a/apps/www/scripts/build-registry.ts b/apps/www/scripts/build-registry.ts index 69b3794..0a301d1 100644 --- a/apps/www/scripts/build-registry.ts +++ b/apps/www/scripts/build-registry.ts @@ -1,7 +1,7 @@ // @ts-nocheck import fs from "fs" -import template from "lodash.template" import path, { basename } from "path" +import template from "lodash.template" import { rimraf } from "rimraf" import { colorMapping, colors } from "../registry/colors" From 2fd9b80f13fcea65f14a41cd45cc836f6c0e71b0 Mon Sep 17 00:00:00 2001 From: Vitor Date: Mon, 27 Nov 2023 19:26:52 -0300 Subject: [PATCH 3/3] chore: update typecheck command --- apps/www/package.json | 2 +- apps/www/public/registry/styles/default/account-ens-name.json | 2 +- apps/www/public/registry/styles/default/address.json | 2 +- apps/www/public/registry/styles/default/image-ipfs.json | 2 +- apps/www/public/registry/styles/default/wallet-connect.json | 2 +- apps/www/public/registry/styles/default/wallet-disconnect.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/www/package.json b/apps/www/package.json index efcf408..0f7d5d2 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -11,7 +11,7 @@ "lint": "next lint", "lint:fix": "next lint --fix", "preview": "next build && next start -p 3001", - "typecheck": "contentlayer build && tsc --noEmit", + "typecheck": "contentlayer build", "format:write": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache", "format:check": "prettier --check \"**/*.{ts,tsx,mdx}\" --cache" }, diff --git a/apps/www/public/registry/styles/default/account-ens-name.json b/apps/www/public/registry/styles/default/account-ens-name.json index 0f52e41..802bb65 100644 --- a/apps/www/public/registry/styles/default/account-ens-name.json +++ b/apps/www/public/registry/styles/default/account-ens-name.json @@ -6,7 +6,7 @@ "files": [ { "name": "account-ens-name.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { BlockieProps } from \"./blockie\"\nimport { EnsName } from \"./ens-name\"\n\nexport interface AccountEnsNameProps\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountEnsName = ({\n className,\n unavailable,\n variant,\n size,\n ...props\n}: AccountEnsNameProps) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return (\n \n )\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useAccount } from \"wagmi\"\n\nimport { BlockieProps } from \"./blockie\"\nimport { EnsName } from \"./ens-name\"\n\nexport interface AccountEnsNameProps\n extends Omit, \"children\">,\n Omit {\n unavailable?: any\n}\n\nexport const AccountEnsName = ({\n className,\n unavailable,\n variant,\n size,\n ...props\n}: AccountEnsNameProps) => {\n const { address } = useAccount()\n const Comp = unavailable || null\n if (!address) return Comp\n\n return \n}\n" } ], "type": "components:buidl" diff --git a/apps/www/public/registry/styles/default/address.json b/apps/www/public/registry/styles/default/address.json index 7d6329a..5901151 100644 --- a/apps/www/public/registry/styles/default/address.json +++ b/apps/www/public/registry/styles/default/address.json @@ -6,7 +6,7 @@ "files": [ { "name": "address.tsx", - "content": "import { Copy } from \"lucide-react\"\nimport Link from \"next/link\"\nimport { HTMLAttributes } from \"react\"\nimport { useNetwork, type Address as AddressType } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { toast } from \"../ui/use-toast\"\n\nexport interface AddressProps\n extends Omit, \"children\"> {\n address: AddressType\n truncate?: boolean\n truncateAmount?: number\n linkEnabled?: boolean\n copyEnabled?: boolean\n}\n\nexport const Address = ({\n address,\n className,\n truncate,\n truncateAmount = 4,\n linkEnabled,\n copyEnabled,\n ...props\n}: AddressProps) => {\n const { chain } = useNetwork()\n const blockExplorerUrl = chain?.blockExplorers?.default.url\n const formattedAddress = truncate\n ? `${address.slice(0, truncateAmount + 2)}...${address.slice(\n -Number(truncateAmount)\n )}`\n : address\n\n if (linkEnabled && blockExplorerUrl) {\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n \n {formattedAddress}\n \n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return (\n \n {formattedAddress}\n \n )\n }\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n {formattedAddress}\n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return {formattedAddress}\n}\n" + "content": "import { HTMLAttributes } from \"react\"\nimport Link from \"next/link\"\nimport { Copy } from \"lucide-react\"\nimport { useNetwork, type Address as AddressType } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { toast } from \"../ui/use-toast\"\n\nexport interface AddressProps\n extends Omit, \"children\"> {\n address: AddressType\n truncate?: boolean\n truncateAmount?: number\n linkEnabled?: boolean\n copyEnabled?: boolean\n}\n\nexport const Address = ({\n address,\n className,\n truncate,\n truncateAmount = 4,\n linkEnabled,\n copyEnabled,\n ...props\n}: AddressProps) => {\n const { chain } = useNetwork()\n const blockExplorerUrl = chain?.blockExplorers?.default.url\n const formattedAddress = truncate\n ? `${address.slice(0, truncateAmount + 2)}...${address.slice(\n -Number(truncateAmount)\n )}`\n : address\n\n if (linkEnabled && blockExplorerUrl) {\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n \n {formattedAddress}\n \n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return (\n \n {formattedAddress}\n \n )\n }\n const classes = cn(className)\n\n if (copyEnabled) {\n return (\n \n {formattedAddress}\n {copyEnabled && (\n {\n await navigator.clipboard.writeText(address)\n toast({\n title: \"Copied address\",\n description: \"The address has been copied to your clipboard.\",\n })\n }}\n >\n Copy address\n \n \n )}\n \n )\n }\n\n return {formattedAddress}\n}\n" } ], "type": "components:buidl" diff --git a/apps/www/public/registry/styles/default/image-ipfs.json b/apps/www/public/registry/styles/default/image-ipfs.json index c537da3..cc706e0 100644 --- a/apps/www/public/registry/styles/default/image-ipfs.json +++ b/apps/www/public/registry/styles/default/image-ipfs.json @@ -6,7 +6,7 @@ "files": [ { "name": "image-ipfs.tsx", - "content": "import { useMemo } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype ImageIpfs = React.HTMLAttributes & {\n src: string\n alt: string\n width?: string\n height?: string\n}\n\nexport const ImageIpfs = ({ className, src, alt, width, height }: ImageIpfs) => {\n const classes = cn(className)\n\n const imgSrc = useMemo(\n () => src?.startsWith(\"ipfs://\") ? src.replace(\"ipfs://\", \"https://gateway.ipfs.io/ipfs/\") : src,\n [src]\n )\n\n if (!imgSrc) return null\n\n return (\n {alt}\n )\n}\n" + "content": "import { useMemo } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype ImageIpfs = React.HTMLAttributes & {\n src: string\n alt: string\n width?: string\n height?: string\n}\n\nexport const ImageIpfs = ({\n className,\n src,\n alt,\n width,\n height,\n}: ImageIpfs) => {\n const classes = cn(className)\n\n const imgSrc = useMemo(\n () =>\n src?.startsWith(\"ipfs://\")\n ? src.replace(\"ipfs://\", \"https://gateway.ipfs.io/ipfs/\")\n : src,\n [src]\n )\n\n if (!imgSrc) return null\n\n return (\n \n )\n}\n" } ], "type": "components:buidl" diff --git a/apps/www/public/registry/styles/default/wallet-connect.json b/apps/www/public/registry/styles/default/wallet-connect.json index bb9ea64..6e9cdf0 100644 --- a/apps/www/public/registry/styles/default/wallet-connect.json +++ b/apps/www/public/registry/styles/default/wallet-connect.json @@ -6,7 +6,7 @@ "files": [ { "name": "wallet-connect.tsx", - "content": "\"use client\"\n\nimport { connect } from \"@wagmi/core\"\nimport { CoinbaseWalletConnector } from \"@wagmi/core/dist/connectors/coinbaseWallet\"\nimport { MetaMaskConnector } from \"@wagmi/core/dist/connectors/metaMask\"\nimport { ChevronRight, RefreshCcw } from \"lucide-react\"\nimport Image from \"next/image\"\nimport * as React from \"react\"\nimport { useState } from \"react\"\n\nimport { WagmiProvider } from \"@/components/providers/wagmi-provider\"\nimport { connectors } from \"@/config/connectors\"\nimport { cn } from \"@/lib/utils\"\n\nimport { Button } from \"../ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"../ui/dialog\"\n\ntype WalletConnect = React.HTMLAttributes\n\nexport const WalletConnect = ({ children, className }: WalletConnect) => {\n const [isError, setIsError] = useState()\n const [selectedConnectorId, setSelectedConnectorId] = useState<\n string | undefined\n >()\n\n const handleReset = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n const handleBack = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n return (\n \n \n \n \n \n \n \n Connect Wallet\n
\n {selectedConnectorId && (\n <>\n
\n \n Back\n
\n connector.id === selectedConnectorId\n )}\n selectedConnectorId={selectedConnectorId}\n isError={isError}\n setIsError={setIsError}\n />\n \n )}\n {!selectedConnectorId && (\n
\n {connectors.map((connector, index) => (\n \n setSelectedConnectorId(connector?.id)\n }\n setIsError={setIsError}\n />\n ))}\n
\n )}\n
\n
\n
\n
\n )\n}\n\nconst WalletIdToIcon = {\n metaMask: \"/images/wallets/metaMask.svg\",\n coinbaseWallet: \"/images/wallets/coinbaseWallet.webp\",\n} as {\n [key: string]: string\n}\n\ntype WalletPreview = React.HTMLAttributes & {\n connector: MetaMaskConnector | CoinbaseWalletConnector\n selectConnector: () => void\n setIsError: (error: any) => void\n}\n\nexport const WalletPreview = ({\n className,\n connector,\n selectConnector,\n setIsError,\n}: WalletPreview) => {\n const classes = cn(\n \"flex cursor-pointer items-center gap-x-2 rounded-md border-2 p-2 hover:bg-neutral-100\",\n className\n )\n const WalletImage = WalletIdToIcon[connector.id]\n const handleConnect = async () => {\n selectConnector()\n try {\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{connector.name}

\n
\n )\n}\n\ntype WalletConnectionStatus = React.HTMLAttributes & {\n connector?: MetaMaskConnector | CoinbaseWalletConnector\n selectedConnectorId: string\n isError?: boolean\n setIsError: (error: any) => void\n}\n\nexport const WalletConnectionStatus = ({\n className,\n connector,\n selectedConnectorId,\n isError,\n setIsError,\n}: WalletConnectionStatus) => {\n const classes = cn(className)\n const WalletImage = WalletIdToIcon[connector?.id || \"default\"]\n\n const handleConnect = async () => {\n try {\n if (!connector) return\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{selectedConnectorId}

\n {isError && (\n
\n Error connecting to wallet\n
\n )}\n

Accept the connection request in your wallet

\n \n
\n )\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useState } from \"react\"\nimport Image from \"next/image\"\nimport { connect } from \"@wagmi/core\"\nimport { CoinbaseWalletConnector } from \"@wagmi/core/dist/connectors/coinbaseWallet\"\nimport { MetaMaskConnector } from \"@wagmi/core/dist/connectors/metaMask\"\nimport { ChevronRight, RefreshCcw } from \"lucide-react\"\n\nimport { connectors } from \"@/config/connectors\"\nimport { cn } from \"@/lib/utils\"\nimport { WagmiProvider } from \"@/components/providers/wagmi-provider\"\n\nimport { Button } from \"../ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"../ui/dialog\"\n\ntype WalletConnect = React.HTMLAttributes\n\nexport const WalletConnect = ({ children, className }: WalletConnect) => {\n const [isError, setIsError] = useState()\n const [selectedConnectorId, setSelectedConnectorId] = useState<\n string | undefined\n >()\n\n const handleReset = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n const handleBack = () => {\n setSelectedConnectorId(undefined)\n setIsError(undefined)\n }\n\n return (\n \n \n \n \n \n \n \n Connect Wallet\n
\n {selectedConnectorId && (\n <>\n \n \n Back\n \n connector.id === selectedConnectorId\n )}\n selectedConnectorId={selectedConnectorId}\n isError={isError}\n setIsError={setIsError}\n />\n \n )}\n {!selectedConnectorId && (\n
\n {connectors.map((connector, index) => (\n \n setSelectedConnectorId(connector?.id)\n }\n setIsError={setIsError}\n />\n ))}\n
\n )}\n
\n
\n
\n
\n )\n}\n\nconst WalletIdToIcon = {\n metaMask: \"/images/wallets/metaMask.svg\",\n coinbaseWallet: \"/images/wallets/coinbaseWallet.webp\",\n} as {\n [key: string]: string\n}\n\ntype WalletPreview = React.HTMLAttributes & {\n connector: MetaMaskConnector | CoinbaseWalletConnector\n selectConnector: () => void\n setIsError: (error: any) => void\n}\n\nexport const WalletPreview = ({\n className,\n connector,\n selectConnector,\n setIsError,\n}: WalletPreview) => {\n const classes = cn(\n \"flex cursor-pointer items-center gap-x-2 rounded-md border-2 p-2 hover:bg-neutral-100\",\n className\n )\n const WalletImage = WalletIdToIcon[connector.id]\n const handleConnect = async () => {\n selectConnector()\n try {\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{connector.name}

\n
\n )\n}\n\ntype WalletConnectionStatus = React.HTMLAttributes & {\n connector?: MetaMaskConnector | CoinbaseWalletConnector\n selectedConnectorId: string\n isError?: boolean\n setIsError: (error: any) => void\n}\n\nexport const WalletConnectionStatus = ({\n className,\n connector,\n selectedConnectorId,\n isError,\n setIsError,\n}: WalletConnectionStatus) => {\n const classes = cn(className)\n const WalletImage = WalletIdToIcon[connector?.id || \"default\"]\n\n const handleConnect = async () => {\n try {\n if (!connector) return\n await connect({\n connector: connector,\n })\n } catch (error) {\n console.log(error)\n setIsError(error)\n }\n }\n\n return (\n
\n \n

{selectedConnectorId}

\n {isError && (\n
\n Error connecting to wallet\n
\n )}\n

Accept the connection request in your wallet

\n \n
\n )\n}\n" } ], "type": "components:buidl" diff --git a/apps/www/public/registry/styles/default/wallet-disconnect.json b/apps/www/public/registry/styles/default/wallet-disconnect.json index e567328..fa51a06 100644 --- a/apps/www/public/registry/styles/default/wallet-disconnect.json +++ b/apps/www/public/registry/styles/default/wallet-disconnect.json @@ -6,7 +6,7 @@ "files": [ { "name": "wallet-disconnect.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useDisconnect } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Button, type ButtonProps } from \"../ui/button\"\n\nexport interface WalletDisconnectProps extends ButtonProps {\n label?: string\n}\n\nexport const WalletDisconnect = ({\n children,\n className,\n size,\n variant,\n label = \"Disconnect\",\n}: WalletDisconnectProps) => {\n const classes = cn(className)\n const { disconnect } = useDisconnect()\n return (\n disconnect()}\n size={size}\n variant={variant}\n >\n {label}\n \n )\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { useDisconnect } from \"wagmi\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Button, type ButtonProps } from \"../ui/button\"\n\nexport interface WalletDisconnectProps extends ButtonProps {\n label?: string\n}\n\nexport const WalletDisconnect = ({\n children,\n className,\n size,\n variant,\n label = \"Disconnect\",\n}: WalletDisconnectProps) => {\n const classes = cn(className)\n const { disconnect } = useDisconnect()\n return (\n disconnect()}\n size={size}\n variant={variant}\n >\n {label}\n \n )\n}\n" } ], "type": "components:buidl"