From cb18bf9b9ebe24f6cf04b8da1e30f6bbcec7a190 Mon Sep 17 00:00:00 2001 From: Kames Date: Sun, 26 Nov 2023 15:38:58 -0500 Subject: [PATCH] init --- .changeset/README.md | 8 + .changeset/config.json | 11 + .changeset/mean-badgers-grab.md | 5 + .changeset/smart-pants-smile.md | 5 + .changeset/sweet-worms-fix.md | 5 + .commitlintrc.json | 3 + .editorconfig | 10 + .eslintrc.json | 31 + .github/changeset-version.js | 12 + .github/version-script-beta.js | 21 + .github/version-script-next.js | 21 + .github/workflows/code-check.yml | 116 + .github/workflows/prerelease-comment.yml | 65 + .github/workflows/prerelease.yml | 60 + .github/workflows/release.yml | 53 + .github/workflows/test.yml | 42 + .gitignore | 36 + .husky/commit-msg | 4 + .kodiak.toml | 18 + .npmrc | 1 + .nvmrc | 1 + .prettierignore | 6 + .vscode/settings.json | 10 + CONTRIBUTING.md | 175 + LICENSE.md | 21 + README.md | 15 + apps/www/.env.example | 4 + apps/www/.gitignore | 2 + apps/www/.prettierignore | 6 + apps/www/__registry__/.autogenerated | 1 + apps/www/__registry__/.gitkeep | 0 apps/www/__registry__/README.md | 1 + apps/www/__registry__/index.tsx | 233 + apps/www/app/docs/[[...slug]]/page.tsx | 152 + apps/www/app/docs/layout.tsx | 22 + .../components/user-auth-form.tsx | 71 + apps/www/app/examples/authentication/page.tsx | 104 + apps/www/app/examples/layout.tsx | 75 + apps/www/app/layout.tsx | 115 + apps/www/app/page.tsx | 77 + apps/www/app/themes/page.tsx | 38 + apps/www/app/themes/tabs.tsx | 72 + apps/www/assets/fonts/CalSans-SemiBold.ttf | Bin 0 -> 148964 bytes apps/www/assets/fonts/CalSans-SemiBold.woff | Bin 0 -> 52504 bytes apps/www/assets/fonts/CalSans-SemiBold.woff2 | Bin 0 -> 40932 bytes apps/www/assets/fonts/Inter-Bold.ttf | Bin 0 -> 316100 bytes apps/www/assets/fonts/Inter-Regular.ttf | Bin 0 -> 309828 bytes apps/www/components/analytics.tsx | 7 + apps/www/components/callout.tsx | 21 + apps/www/components/code-block-wrapper.tsx | 56 + apps/www/components/command-menu.tsx | 123 + apps/www/components/component-card.tsx | 21 + apps/www/components/component-example.tsx | 107 + apps/www/components/component-preview.tsx | 139 + apps/www/components/component-source.tsx | 25 + apps/www/components/copy-button.tsx | 210 + apps/www/components/drawer.tsx | 31 + apps/www/components/examples-nav.tsx | 73 + apps/www/components/framework-docs.tsx | 22 + apps/www/components/icons.tsx | 156 + apps/www/components/main-nav.tsx | 77 + apps/www/components/mdx-components.tsx | 332 + apps/www/components/mobile-nav.tsx | 111 + apps/www/components/mode-toggle.tsx | 40 + apps/www/components/page-header.tsx | 53 + apps/www/components/pager.tsx | 67 + apps/www/components/promo-video.tsx | 19 + apps/www/components/providers.tsx | 15 + .../providers/rainbow-kit-provider.tsx | 15 + .../components/providers/wagmi-provider.tsx | 18 + apps/www/components/sidebar-nav.tsx | 84 + apps/www/components/site-footer.tsx | 31 + apps/www/components/site-header.tsx | 63 + apps/www/components/style-switcher.tsx | 48 + apps/www/components/style-wrapper.tsx | 20 + apps/www/components/tailwind-indicator.tsx | 14 + apps/www/components/theme-component.tsx | 52 + apps/www/components/theme-customizer.tsx | 619 + apps/www/components/theme-switcher.tsx | 26 + apps/www/components/theme-wrapper.tsx | 33 + apps/www/components/toc.tsx | 107 + apps/www/config/connectors.ts | 14 + apps/www/config/constants.ts | 5 + apps/www/config/docs.ts | 178 + apps/www/config/networks.ts | 68 + apps/www/config/site.ts | 13 + apps/www/content/docs/about.mdx | 20 + apps/www/content/docs/changelog.mdx | 11 + apps/www/content/docs/components-json.mdx | 163 + .../www/content/docs/components/accordion.mdx | 136 + .../docs/components/account-address.mdx | 59 + .../docs/components/account-blockie.mdx | 58 + .../docs/components/account-ens-avatar.mdx | 59 + .../docs/components/account-ens-name.mdx | 59 + apps/www/content/docs/components/address.mdx | 59 + apps/www/content/docs/components/blockie.mdx | 64 + .../content/docs/components/ens-avatar.mdx | 59 + apps/www/content/docs/components/ens-name.mdx | 59 + .../content/docs/components/ens-symbol.mdx | 59 + .../content/docs/components/erc20-balance.mdx | 60 + .../content/docs/components/erc20-image.mdx | 57 + .../content/docs/components/erc20-name.mdx | 57 + .../components/erc20-select-and-amount.mdx | 57 + .../content/docs/components/erc20-select.mdx | 57 + .../content/docs/components/erc20-symbol.mdx | 57 + .../docs/components/network-manage.mdx | 59 + .../docs/components/wallet-connect.mdx | 59 + .../content/docs/components/wallet-manage.mdx | 59 + apps/www/content/docs/dark-mode/astro.mdx | 121 + apps/www/content/docs/dark-mode/index.mdx | 63 + apps/www/content/docs/dark-mode/next.mdx | 66 + apps/www/content/docs/dark-mode/remix.mdx | 159 + apps/www/content/docs/dark-mode/vite.mdx | 150 + apps/www/content/docs/index.mdx | 67 + apps/www/content/docs/installation/astro.mdx | 165 + apps/www/content/docs/installation/gatsby.mdx | 120 + apps/www/content/docs/installation/index.mdx | 140 + .../www/content/docs/installation/laravel.mdx | 153 + apps/www/content/docs/installation/manual.mdx | 243 + apps/www/content/docs/installation/next.mdx | 151 + apps/www/content/docs/installation/remix.mdx | 117 + apps/www/content/docs/installation/vite.mdx | 115 + apps/www/content/docs/theming.mdx | 190 + apps/www/contentlayer.config.js | 185 + apps/www/data/uniswap-default.tokenlist.json | 11870 +++++++++++++ apps/www/env.mjs | 22 + apps/www/hooks/use-config.ts | 21 + apps/www/hooks/use-lock-body.ts | 12 + apps/www/hooks/use-mounted.ts | 11 + apps/www/hooks/use-mutation-observer.ts | 20 + apps/www/lib/events.ts | 25 + apps/www/lib/fonts.ts | 11 + apps/www/lib/rehype-component.ts | 279 + apps/www/lib/rehype-npm-command.ts | 66 + apps/www/lib/themes/dark.json | 380 + apps/www/lib/themes/light.json | 380 + apps/www/lib/toc.ts | 81 + apps/www/lib/utils.ts | 33 + apps/www/lib/validations/log.ts | 6 + apps/www/lib/validations/og.ts | 7 + apps/www/next-env.d.ts | 6 + apps/www/next.config.mjs | 68 + apps/www/package.json | 111 + apps/www/pages/.gitkeep | 0 apps/www/pages/api/.gitkeep | 0 apps/www/pages/api/components.json | 451 + apps/www/pages/api/components.ts | 14 + apps/www/postcss.config.cjs | 1 + apps/www/public/android-chrome-192x192.png | Bin 0 -> 2640 bytes apps/www/public/android-chrome-512x512.png | Bin 0 -> 8816 bytes apps/www/public/apple-touch-icon.png | Bin 0 -> 3630 bytes apps/www/public/avatars/01.png | Bin 0 -> 13920 bytes apps/www/public/avatars/02.png | Bin 0 -> 15326 bytes apps/www/public/avatars/03.png | Bin 0 -> 14526 bytes apps/www/public/avatars/04.png | Bin 0 -> 14077 bytes apps/www/public/avatars/05.png | Bin 0 -> 14821 bytes .../public/examples/authentication-dark.png | Bin 0 -> 365216 bytes .../public/examples/authentication-light.png | Bin 0 -> 359293 bytes apps/www/public/examples/cards-dark.png | Bin 0 -> 570780 bytes apps/www/public/examples/cards-light.png | Bin 0 -> 493023 bytes apps/www/public/examples/dashboard-dark.png | Bin 0 -> 269323 bytes apps/www/public/examples/dashboard-light.png | Bin 0 -> 232296 bytes apps/www/public/examples/forms-dark.png | Bin 0 -> 32876 bytes apps/www/public/examples/forms-light.png | Bin 0 -> 29685 bytes apps/www/public/examples/music-dark.png | Bin 0 -> 1197058 bytes apps/www/public/examples/music-light.png | Bin 0 -> 1152343 bytes apps/www/public/examples/playground-dark.png | Bin 0 -> 95239 bytes apps/www/public/examples/playground-light.png | Bin 0 -> 88414 bytes apps/www/public/examples/tasks-dark.png | Bin 0 -> 110698 bytes apps/www/public/examples/tasks-light.png | Bin 0 -> 88294 bytes apps/www/public/favicon-16x16.png | Bin 0 -> 246 bytes apps/www/public/favicon-32x32.png | Bin 0 -> 324 bytes apps/www/public/favicon.ico | Bin 0 -> 15406 bytes apps/www/public/images/logo.svg | 9 + apps/www/public/images/networks/arbitrum.svg | 184 + apps/www/public/images/networks/base.svg | 4 + apps/www/public/images/networks/celo-test.svg | 10 + apps/www/public/images/networks/celo.svg | 10 + .../public/images/networks/ethereum-test.svg | 21 + apps/www/public/images/networks/ethereum.svg | 1 + apps/www/public/images/networks/gnosis.svg | 7 + apps/www/public/images/networks/optimism.svg | 5 + apps/www/public/images/style-with-theming.jpg | Bin 0 -> 152197 bytes apps/www/public/images/style.jpg | Bin 0 -> 56232 bytes apps/www/public/images/tokens/dai-pt.png | Bin 0 -> 4637 bytes apps/www/public/images/tokens/district.png | Bin 0 -> 60830 bytes apps/www/public/images/tokens/generic.png | Bin 0 -> 57311 bytes apps/www/public/images/tokens/rizz.png | Bin 0 -> 11389 bytes .../public/images/wallets/coinbaseWallet.webp | Bin 0 -> 4356 bytes apps/www/public/images/wallets/metaMask.svg | 1 + .../public/images/wallets/walletConnect.webp | Bin 0 -> 4624 bytes apps/www/public/og.jpg | Bin 0 -> 299278 bytes apps/www/public/registry/colors/gray.json | 92 + apps/www/public/registry/colors/index.json | 1999 +++ apps/www/public/registry/colors/neutral.json | 92 + apps/www/public/registry/colors/slate.json | 92 + apps/www/public/registry/colors/stone.json | 92 + apps/www/public/registry/colors/zinc.json | 92 + apps/www/public/registry/index.json | 12 + .../registry/styles/default/accordion.json | 13 + .../registry/styles/default/alert-dialog.json | 16 + .../public/registry/styles/default/alert.json | 10 + .../registry/styles/default/aspect-ratio.json | 13 + .../registry/styles/default/avatar.json | 13 + .../public/registry/styles/default/badge.json | 10 + .../registry/styles/default/button.json | 13 + .../registry/styles/default/calendar.json | 17 + .../public/registry/styles/default/card.json | 10 + .../registry/styles/default/checkbox.json | 13 + .../registry/styles/default/collapsible.json | 13 + .../registry/styles/default/command.json | 16 + .../registry/styles/default/context-menu.json | 13 + .../registry/styles/default/dialog.json | 13 + .../styles/default/dropdown-menu.json | 13 + .../public/registry/styles/default/form.json | 21 + .../registry/styles/default/hover-card.json | 13 + .../public/registry/styles/default/input.json | 10 + .../public/registry/styles/default/label.json | 13 + .../registry/styles/default/menubar.json | 13 + .../styles/default/navigation-menu.json | 13 + .../registry/styles/default/popover.json | 13 + .../registry/styles/default/progress.json | 13 + .../registry/styles/default/radio-group.json | 13 + .../registry/styles/default/scroll-area.json | 13 + .../registry/styles/default/select.json | 13 + .../registry/styles/default/separator.json | 13 + .../public/registry/styles/default/sheet.json | 13 + .../registry/styles/default/skeleton.json | 10 + .../registry/styles/default/slider.json | 13 + .../registry/styles/default/switch.json | 13 + .../public/registry/styles/default/table.json | 10 + .../public/registry/styles/default/tabs.json | 13 + .../registry/styles/default/textarea.json | 10 + .../public/registry/styles/default/toast.json | 21 + .../registry/styles/default/toggle-group.json | 16 + .../registry/styles/default/toggle.json | 13 + .../registry/styles/default/tooltip.json | 13 + apps/www/public/registry/styles/index.json | 6 + .../registry/styles/new-york/accordion.json | 13 + .../styles/new-york/alert-dialog.json | 16 + .../registry/styles/new-york/alert.json | 10 + .../styles/new-york/aspect-ratio.json | 13 + .../registry/styles/new-york/avatar.json | 13 + .../registry/styles/new-york/badge.json | 10 + .../registry/styles/new-york/button.json | 13 + .../registry/styles/new-york/calendar.json | 17 + .../public/registry/styles/new-york/card.json | 10 + .../registry/styles/new-york/checkbox.json | 13 + .../registry/styles/new-york/collapsible.json | 13 + .../registry/styles/new-york/command.json | 16 + .../styles/new-york/context-menu.json | 13 + .../registry/styles/new-york/dialog.json | 13 + .../styles/new-york/dropdown-menu.json | 13 + .../public/registry/styles/new-york/form.json | 21 + .../registry/styles/new-york/hover-card.json | 13 + .../registry/styles/new-york/input.json | 10 + .../registry/styles/new-york/label.json | 13 + .../registry/styles/new-york/menubar.json | 13 + .../styles/new-york/navigation-menu.json | 13 + .../registry/styles/new-york/popover.json | 13 + .../registry/styles/new-york/progress.json | 13 + .../registry/styles/new-york/radio-group.json | 13 + .../registry/styles/new-york/scroll-area.json | 13 + .../registry/styles/new-york/select.json | 13 + .../registry/styles/new-york/separator.json | 13 + .../registry/styles/new-york/sheet.json | 13 + .../registry/styles/new-york/skeleton.json | 10 + .../registry/styles/new-york/slider.json | 13 + .../registry/styles/new-york/switch.json | 13 + .../registry/styles/new-york/table.json | 10 + .../public/registry/styles/new-york/tabs.json | 13 + .../registry/styles/new-york/textarea.json | 10 + .../registry/styles/new-york/toast.json | 21 + .../styles/new-york/toggle-group.json | 16 + .../registry/styles/new-york/toggle.json | 13 + .../registry/styles/new-york/tooltip.json | 13 + apps/www/public/registry/themes.css | 768 + apps/www/public/registry/themes/gray.json | 48 + apps/www/public/registry/themes/neutral.json | 48 + apps/www/public/registry/themes/slate.json | 48 + apps/www/public/registry/themes/stone.json | 48 + apps/www/public/registry/themes/zinc.json | 48 + apps/www/public/schema.json | 47 + apps/www/public/site.webmanifest | 19 + apps/www/registry/.eslintrc.json | 6 + apps/www/registry/colors.ts | 1556 ++ .../default/buidl/account-address.tsx | 34 + .../default/buidl/account-balance.tsx | 28 + .../default/buidl/account-blockie.tsx | 31 + .../default/buidl/account-ens-avatar.tsx | 32 + .../default/buidl/account-ens-name.tsx | 32 + apps/www/registry/default/buidl/address.tsx | 104 + .../default/buidl/block-explorer-link.tsx | 41 + apps/www/registry/default/buidl/blockie.tsx | 51 + .../www/registry/default/buidl/ens-avatar.tsx | 65 + apps/www/registry/default/buidl/ens-name.tsx | 37 + .../default/buidl/erc20/abis/erc20-abi.ts | 282 + .../buidl/erc20/abis/erc20-mintable-abi.ts | 306 + .../default/buidl/erc20/erc20-balance.tsx | 70 + .../default/buidl/erc20/erc20-image.tsx | 54 + .../default/buidl/erc20/erc20-name.tsx | 62 + .../buidl/erc20/erc20-select-and-amount.tsx | 78 + .../default/buidl/erc20/erc20-select.tsx | 57 + .../default/buidl/erc20/erc20-selector.tsx | 120 + .../default/buidl/erc20/erc20-symbol.tsx | 62 + .../default/buidl/erc20/erc20-wagmi.ts | 1200 ++ .../default/buidl/erc20/token-select.tsx | 32 + .../www/registry/default/buidl/erc20/types.ts | 39 + .../utils/filter-token-list-by-chain-id.ts | 14 + .../utils/find-token-by-address-from-list.ts | 12 + .../utils/find-token-by-symbol-from-list.ts | 13 + .../default/buidl/erc20/wagmi.config.ts | 20 + .../www/registry/default/buidl/image-ipfs.tsx | 26 + .../default/buidl/is-wallet-connected.tsx | 16 + .../default/buidl/is-wallet-disconnected.tsx | 18 + .../registry/default/buidl/network-manage.tsx | 11 + .../buidl/rainbowkit-wallet-connect.tsx | 23 + .../registry/default/buidl/wallet-connect.tsx | 189 + .../registry/default/buidl/wallet-manage.tsx | 11 + .../default/example/accordion-demo.tsx | 33 + .../default/example/account-address-demo.tsx | 30 + .../default/example/account-blockie-demo.tsx | 16 + .../example/account-ens-avatar-demo.tsx | 19 + .../default/example/account-ens-name-demo.tsx | 9 + .../registry/default/example/address-demo.tsx | 24 + .../registry/default/example/blockie-demo.tsx | 19 + .../default/example/cards/activity-goal.tsx | 132 + .../default/example/cards/calendar.tsx | 26 + .../registry/default/example/cards/chat.tsx | 260 + .../default/example/cards/cookie-settings.tsx | 60 + .../default/example/cards/create-account.tsx | 60 + .../default/example/cards/data-table.tsx | 335 + .../registry/default/example/cards/index.tsx | 63 + .../registry/default/example/cards/metric.tsx | 142 + .../default/example/cards/payment-method.tsx | 156 + .../default/example/cards/report-issue.tsx | 90 + .../registry/default/example/cards/share.tsx | 128 + .../registry/default/example/cards/stats.tsx | 131 + .../default/example/cards/team-members.tsx | 209 + .../default/example/ens-avatar-demo.tsx | 21 + .../default/example/ens-name-demo.tsx | 7 + .../default/example/erc20-balance-demo.tsx | 13 + .../default/example/erc20-image-demo.tsx | 6 + .../default/example/erc20-name-demo.tsx | 6 + .../example/erc20-select-and-amount-demo.tsx | 5 + .../default/example/erc20-select-demo.tsx | 5 + .../default/example/erc20-symbol-demo.tsx | 6 + .../default/example/network-manage-demo.tsx | 3 + .../default/example/wallet-connect-demo.tsx | 5 + .../default/example/wallet-manage-demo.tsx | 3 + apps/www/registry/default/ui/accordion.tsx | 58 + apps/www/registry/default/ui/alert-dialog.tsx | 141 + apps/www/registry/default/ui/alert.tsx | 59 + apps/www/registry/default/ui/aspect-ratio.tsx | 7 + apps/www/registry/default/ui/avatar.tsx | 50 + apps/www/registry/default/ui/badge.tsx | 36 + apps/www/registry/default/ui/button.tsx | 56 + apps/www/registry/default/ui/calendar.tsx | 66 + apps/www/registry/default/ui/card.tsx | 79 + apps/www/registry/default/ui/checkbox.tsx | 30 + apps/www/registry/default/ui/collapsible.tsx | 11 + apps/www/registry/default/ui/command.tsx | 155 + apps/www/registry/default/ui/context-menu.tsx | 200 + apps/www/registry/default/ui/dialog.tsx | 122 + .../www/registry/default/ui/dropdown-menu.tsx | 200 + apps/www/registry/default/ui/form.tsx | 176 + apps/www/registry/default/ui/hover-card.tsx | 29 + apps/www/registry/default/ui/input.tsx | 25 + apps/www/registry/default/ui/label.tsx | 26 + apps/www/registry/default/ui/menubar.tsx | 236 + .../registry/default/ui/navigation-menu.tsx | 128 + apps/www/registry/default/ui/popover.tsx | 31 + apps/www/registry/default/ui/progress.tsx | 28 + apps/www/registry/default/ui/radio-group.tsx | 44 + apps/www/registry/default/ui/scroll-area.tsx | 48 + apps/www/registry/default/ui/select.tsx | 160 + apps/www/registry/default/ui/separator.tsx | 31 + apps/www/registry/default/ui/sheet.tsx | 140 + apps/www/registry/default/ui/skeleton.tsx | 15 + apps/www/registry/default/ui/slider.tsx | 28 + apps/www/registry/default/ui/switch.tsx | 29 + apps/www/registry/default/ui/table.tsx | 117 + apps/www/registry/default/ui/tabs.tsx | 55 + apps/www/registry/default/ui/textarea.tsx | 24 + apps/www/registry/default/ui/toast.tsx | 127 + apps/www/registry/default/ui/toaster.tsx | 35 + apps/www/registry/default/ui/toggle-group.tsx | 61 + apps/www/registry/default/ui/toggle.tsx | 45 + apps/www/registry/default/ui/tooltip.tsx | 30 + apps/www/registry/default/ui/use-toast.ts | 192 + apps/www/registry/registry.ts | 207 + apps/www/registry/schema.ts | 19 + apps/www/registry/styles.ts | 12 + apps/www/registry/themes.ts | 636 + apps/www/scripts/build-registry.ts | 430 + apps/www/styles/globals.css | 78 + apps/www/styles/mdx.css | 71 + apps/www/tailwind.config.cjs | 11 + apps/www/tsconfig.json | 42 + apps/www/tsconfig.scripts.json | 12 + apps/www/types/nav.ts | 18 + apps/www/types/unist.ts | 31 + package.json | 71 + pnpm-lock.yaml | 14501 ++++++++++++++++ pnpm-workspace.yaml | 5 + postcss.config.cjs | 6 + prettier.config.cjs | 33 + scripts/sync-templates.sh | 39 + tailwind.config.cjs | 77 + tsconfig.json | 20 + turbo.json | 56 + vitest.config.ts | 9 + 412 files changed, 53383 insertions(+) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .changeset/mean-badgers-grab.md create mode 100644 .changeset/smart-pants-smile.md create mode 100644 .changeset/sweet-worms-fix.md create mode 100644 .commitlintrc.json create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .github/changeset-version.js create mode 100644 .github/version-script-beta.js create mode 100644 .github/version-script-next.js create mode 100644 .github/workflows/code-check.yml create mode 100644 .github/workflows/prerelease-comment.yml create mode 100644 .github/workflows/prerelease.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/test.yml create mode 100644 .gitignore create mode 100755 .husky/commit-msg create mode 100644 .kodiak.toml create mode 100644 .npmrc create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .vscode/settings.json create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 apps/www/.env.example create mode 100644 apps/www/.gitignore create mode 100644 apps/www/.prettierignore create mode 100644 apps/www/__registry__/.autogenerated create mode 100644 apps/www/__registry__/.gitkeep create mode 100644 apps/www/__registry__/README.md create mode 100644 apps/www/__registry__/index.tsx create mode 100644 apps/www/app/docs/[[...slug]]/page.tsx create mode 100644 apps/www/app/docs/layout.tsx create mode 100644 apps/www/app/examples/authentication/components/user-auth-form.tsx create mode 100644 apps/www/app/examples/authentication/page.tsx create mode 100644 apps/www/app/examples/layout.tsx create mode 100644 apps/www/app/layout.tsx create mode 100644 apps/www/app/page.tsx create mode 100644 apps/www/app/themes/page.tsx create mode 100644 apps/www/app/themes/tabs.tsx create mode 100644 apps/www/assets/fonts/CalSans-SemiBold.ttf create mode 100644 apps/www/assets/fonts/CalSans-SemiBold.woff create mode 100644 apps/www/assets/fonts/CalSans-SemiBold.woff2 create mode 100644 apps/www/assets/fonts/Inter-Bold.ttf create mode 100644 apps/www/assets/fonts/Inter-Regular.ttf create mode 100644 apps/www/components/analytics.tsx create mode 100644 apps/www/components/callout.tsx create mode 100644 apps/www/components/code-block-wrapper.tsx create mode 100644 apps/www/components/command-menu.tsx create mode 100644 apps/www/components/component-card.tsx create mode 100644 apps/www/components/component-example.tsx create mode 100644 apps/www/components/component-preview.tsx create mode 100644 apps/www/components/component-source.tsx create mode 100644 apps/www/components/copy-button.tsx create mode 100644 apps/www/components/drawer.tsx create mode 100644 apps/www/components/examples-nav.tsx create mode 100644 apps/www/components/framework-docs.tsx create mode 100644 apps/www/components/icons.tsx create mode 100644 apps/www/components/main-nav.tsx create mode 100644 apps/www/components/mdx-components.tsx create mode 100644 apps/www/components/mobile-nav.tsx create mode 100644 apps/www/components/mode-toggle.tsx create mode 100644 apps/www/components/page-header.tsx create mode 100644 apps/www/components/pager.tsx create mode 100644 apps/www/components/promo-video.tsx create mode 100644 apps/www/components/providers.tsx create mode 100644 apps/www/components/providers/rainbow-kit-provider.tsx create mode 100644 apps/www/components/providers/wagmi-provider.tsx create mode 100644 apps/www/components/sidebar-nav.tsx create mode 100644 apps/www/components/site-footer.tsx create mode 100644 apps/www/components/site-header.tsx create mode 100644 apps/www/components/style-switcher.tsx create mode 100644 apps/www/components/style-wrapper.tsx create mode 100644 apps/www/components/tailwind-indicator.tsx create mode 100644 apps/www/components/theme-component.tsx create mode 100644 apps/www/components/theme-customizer.tsx create mode 100644 apps/www/components/theme-switcher.tsx create mode 100644 apps/www/components/theme-wrapper.tsx create mode 100644 apps/www/components/toc.tsx create mode 100644 apps/www/config/connectors.ts create mode 100644 apps/www/config/constants.ts create mode 100644 apps/www/config/docs.ts create mode 100644 apps/www/config/networks.ts create mode 100644 apps/www/config/site.ts create mode 100644 apps/www/content/docs/about.mdx create mode 100644 apps/www/content/docs/changelog.mdx create mode 100644 apps/www/content/docs/components-json.mdx create mode 100644 apps/www/content/docs/components/accordion.mdx create mode 100644 apps/www/content/docs/components/account-address.mdx create mode 100644 apps/www/content/docs/components/account-blockie.mdx create mode 100644 apps/www/content/docs/components/account-ens-avatar.mdx create mode 100644 apps/www/content/docs/components/account-ens-name.mdx create mode 100644 apps/www/content/docs/components/address.mdx create mode 100644 apps/www/content/docs/components/blockie.mdx create mode 100644 apps/www/content/docs/components/ens-avatar.mdx create mode 100644 apps/www/content/docs/components/ens-name.mdx create mode 100644 apps/www/content/docs/components/ens-symbol.mdx create mode 100644 apps/www/content/docs/components/erc20-balance.mdx create mode 100644 apps/www/content/docs/components/erc20-image.mdx create mode 100644 apps/www/content/docs/components/erc20-name.mdx create mode 100644 apps/www/content/docs/components/erc20-select-and-amount.mdx create mode 100644 apps/www/content/docs/components/erc20-select.mdx create mode 100644 apps/www/content/docs/components/erc20-symbol.mdx create mode 100644 apps/www/content/docs/components/network-manage.mdx create mode 100644 apps/www/content/docs/components/wallet-connect.mdx create mode 100644 apps/www/content/docs/components/wallet-manage.mdx create mode 100644 apps/www/content/docs/dark-mode/astro.mdx create mode 100644 apps/www/content/docs/dark-mode/index.mdx create mode 100644 apps/www/content/docs/dark-mode/next.mdx create mode 100644 apps/www/content/docs/dark-mode/remix.mdx create mode 100644 apps/www/content/docs/dark-mode/vite.mdx create mode 100644 apps/www/content/docs/index.mdx create mode 100644 apps/www/content/docs/installation/astro.mdx create mode 100644 apps/www/content/docs/installation/gatsby.mdx create mode 100644 apps/www/content/docs/installation/index.mdx create mode 100644 apps/www/content/docs/installation/laravel.mdx create mode 100644 apps/www/content/docs/installation/manual.mdx create mode 100644 apps/www/content/docs/installation/next.mdx create mode 100644 apps/www/content/docs/installation/remix.mdx create mode 100644 apps/www/content/docs/installation/vite.mdx create mode 100644 apps/www/content/docs/theming.mdx create mode 100644 apps/www/contentlayer.config.js create mode 100644 apps/www/data/uniswap-default.tokenlist.json create mode 100644 apps/www/env.mjs create mode 100644 apps/www/hooks/use-config.ts create mode 100644 apps/www/hooks/use-lock-body.ts create mode 100644 apps/www/hooks/use-mounted.ts create mode 100644 apps/www/hooks/use-mutation-observer.ts create mode 100644 apps/www/lib/events.ts create mode 100644 apps/www/lib/fonts.ts create mode 100644 apps/www/lib/rehype-component.ts create mode 100644 apps/www/lib/rehype-npm-command.ts create mode 100644 apps/www/lib/themes/dark.json create mode 100644 apps/www/lib/themes/light.json create mode 100644 apps/www/lib/toc.ts create mode 100644 apps/www/lib/utils.ts create mode 100644 apps/www/lib/validations/log.ts create mode 100644 apps/www/lib/validations/og.ts create mode 100644 apps/www/next-env.d.ts create mode 100644 apps/www/next.config.mjs create mode 100644 apps/www/package.json create mode 100644 apps/www/pages/.gitkeep create mode 100644 apps/www/pages/api/.gitkeep create mode 100644 apps/www/pages/api/components.json create mode 100644 apps/www/pages/api/components.ts create mode 100644 apps/www/postcss.config.cjs create mode 100644 apps/www/public/android-chrome-192x192.png create mode 100644 apps/www/public/android-chrome-512x512.png create mode 100644 apps/www/public/apple-touch-icon.png create mode 100644 apps/www/public/avatars/01.png create mode 100644 apps/www/public/avatars/02.png create mode 100644 apps/www/public/avatars/03.png create mode 100644 apps/www/public/avatars/04.png create mode 100644 apps/www/public/avatars/05.png create mode 100644 apps/www/public/examples/authentication-dark.png create mode 100644 apps/www/public/examples/authentication-light.png create mode 100644 apps/www/public/examples/cards-dark.png create mode 100644 apps/www/public/examples/cards-light.png create mode 100644 apps/www/public/examples/dashboard-dark.png create mode 100644 apps/www/public/examples/dashboard-light.png create mode 100644 apps/www/public/examples/forms-dark.png create mode 100644 apps/www/public/examples/forms-light.png create mode 100644 apps/www/public/examples/music-dark.png create mode 100644 apps/www/public/examples/music-light.png create mode 100644 apps/www/public/examples/playground-dark.png create mode 100644 apps/www/public/examples/playground-light.png create mode 100644 apps/www/public/examples/tasks-dark.png create mode 100644 apps/www/public/examples/tasks-light.png create mode 100644 apps/www/public/favicon-16x16.png create mode 100644 apps/www/public/favicon-32x32.png create mode 100644 apps/www/public/favicon.ico create mode 100644 apps/www/public/images/logo.svg create mode 100644 apps/www/public/images/networks/arbitrum.svg create mode 100644 apps/www/public/images/networks/base.svg create mode 100644 apps/www/public/images/networks/celo-test.svg create mode 100644 apps/www/public/images/networks/celo.svg create mode 100644 apps/www/public/images/networks/ethereum-test.svg create mode 100644 apps/www/public/images/networks/ethereum.svg create mode 100644 apps/www/public/images/networks/gnosis.svg create mode 100644 apps/www/public/images/networks/optimism.svg create mode 100644 apps/www/public/images/style-with-theming.jpg create mode 100644 apps/www/public/images/style.jpg create mode 100644 apps/www/public/images/tokens/dai-pt.png create mode 100644 apps/www/public/images/tokens/district.png create mode 100644 apps/www/public/images/tokens/generic.png create mode 100644 apps/www/public/images/tokens/rizz.png create mode 100644 apps/www/public/images/wallets/coinbaseWallet.webp create mode 100644 apps/www/public/images/wallets/metaMask.svg create mode 100644 apps/www/public/images/wallets/walletConnect.webp create mode 100644 apps/www/public/og.jpg create mode 100644 apps/www/public/registry/colors/gray.json create mode 100644 apps/www/public/registry/colors/index.json create mode 100644 apps/www/public/registry/colors/neutral.json create mode 100644 apps/www/public/registry/colors/slate.json create mode 100644 apps/www/public/registry/colors/stone.json create mode 100644 apps/www/public/registry/colors/zinc.json create mode 100644 apps/www/public/registry/index.json create mode 100644 apps/www/public/registry/styles/default/accordion.json create mode 100644 apps/www/public/registry/styles/default/alert-dialog.json create mode 100644 apps/www/public/registry/styles/default/alert.json create mode 100644 apps/www/public/registry/styles/default/aspect-ratio.json create mode 100644 apps/www/public/registry/styles/default/avatar.json create mode 100644 apps/www/public/registry/styles/default/badge.json create mode 100644 apps/www/public/registry/styles/default/button.json create mode 100644 apps/www/public/registry/styles/default/calendar.json create mode 100644 apps/www/public/registry/styles/default/card.json create mode 100644 apps/www/public/registry/styles/default/checkbox.json create mode 100644 apps/www/public/registry/styles/default/collapsible.json create mode 100644 apps/www/public/registry/styles/default/command.json create mode 100644 apps/www/public/registry/styles/default/context-menu.json create mode 100644 apps/www/public/registry/styles/default/dialog.json create mode 100644 apps/www/public/registry/styles/default/dropdown-menu.json create mode 100644 apps/www/public/registry/styles/default/form.json create mode 100644 apps/www/public/registry/styles/default/hover-card.json create mode 100644 apps/www/public/registry/styles/default/input.json create mode 100644 apps/www/public/registry/styles/default/label.json create mode 100644 apps/www/public/registry/styles/default/menubar.json create mode 100644 apps/www/public/registry/styles/default/navigation-menu.json create mode 100644 apps/www/public/registry/styles/default/popover.json create mode 100644 apps/www/public/registry/styles/default/progress.json create mode 100644 apps/www/public/registry/styles/default/radio-group.json create mode 100644 apps/www/public/registry/styles/default/scroll-area.json create mode 100644 apps/www/public/registry/styles/default/select.json create mode 100644 apps/www/public/registry/styles/default/separator.json create mode 100644 apps/www/public/registry/styles/default/sheet.json create mode 100644 apps/www/public/registry/styles/default/skeleton.json create mode 100644 apps/www/public/registry/styles/default/slider.json create mode 100644 apps/www/public/registry/styles/default/switch.json create mode 100644 apps/www/public/registry/styles/default/table.json create mode 100644 apps/www/public/registry/styles/default/tabs.json create mode 100644 apps/www/public/registry/styles/default/textarea.json create mode 100644 apps/www/public/registry/styles/default/toast.json create mode 100644 apps/www/public/registry/styles/default/toggle-group.json create mode 100644 apps/www/public/registry/styles/default/toggle.json create mode 100644 apps/www/public/registry/styles/default/tooltip.json create mode 100644 apps/www/public/registry/styles/index.json create mode 100644 apps/www/public/registry/styles/new-york/accordion.json create mode 100644 apps/www/public/registry/styles/new-york/alert-dialog.json create mode 100644 apps/www/public/registry/styles/new-york/alert.json create mode 100644 apps/www/public/registry/styles/new-york/aspect-ratio.json create mode 100644 apps/www/public/registry/styles/new-york/avatar.json create mode 100644 apps/www/public/registry/styles/new-york/badge.json create mode 100644 apps/www/public/registry/styles/new-york/button.json create mode 100644 apps/www/public/registry/styles/new-york/calendar.json create mode 100644 apps/www/public/registry/styles/new-york/card.json create mode 100644 apps/www/public/registry/styles/new-york/checkbox.json create mode 100644 apps/www/public/registry/styles/new-york/collapsible.json create mode 100644 apps/www/public/registry/styles/new-york/command.json create mode 100644 apps/www/public/registry/styles/new-york/context-menu.json create mode 100644 apps/www/public/registry/styles/new-york/dialog.json create mode 100644 apps/www/public/registry/styles/new-york/dropdown-menu.json create mode 100644 apps/www/public/registry/styles/new-york/form.json create mode 100644 apps/www/public/registry/styles/new-york/hover-card.json create mode 100644 apps/www/public/registry/styles/new-york/input.json create mode 100644 apps/www/public/registry/styles/new-york/label.json create mode 100644 apps/www/public/registry/styles/new-york/menubar.json create mode 100644 apps/www/public/registry/styles/new-york/navigation-menu.json create mode 100644 apps/www/public/registry/styles/new-york/popover.json create mode 100644 apps/www/public/registry/styles/new-york/progress.json create mode 100644 apps/www/public/registry/styles/new-york/radio-group.json create mode 100644 apps/www/public/registry/styles/new-york/scroll-area.json create mode 100644 apps/www/public/registry/styles/new-york/select.json create mode 100644 apps/www/public/registry/styles/new-york/separator.json create mode 100644 apps/www/public/registry/styles/new-york/sheet.json create mode 100644 apps/www/public/registry/styles/new-york/skeleton.json create mode 100644 apps/www/public/registry/styles/new-york/slider.json create mode 100644 apps/www/public/registry/styles/new-york/switch.json create mode 100644 apps/www/public/registry/styles/new-york/table.json create mode 100644 apps/www/public/registry/styles/new-york/tabs.json create mode 100644 apps/www/public/registry/styles/new-york/textarea.json create mode 100644 apps/www/public/registry/styles/new-york/toast.json create mode 100644 apps/www/public/registry/styles/new-york/toggle-group.json create mode 100644 apps/www/public/registry/styles/new-york/toggle.json create mode 100644 apps/www/public/registry/styles/new-york/tooltip.json create mode 100644 apps/www/public/registry/themes.css create mode 100644 apps/www/public/registry/themes/gray.json create mode 100644 apps/www/public/registry/themes/neutral.json create mode 100644 apps/www/public/registry/themes/slate.json create mode 100644 apps/www/public/registry/themes/stone.json create mode 100644 apps/www/public/registry/themes/zinc.json create mode 100644 apps/www/public/schema.json create mode 100644 apps/www/public/site.webmanifest create mode 100644 apps/www/registry/.eslintrc.json create mode 100644 apps/www/registry/colors.ts create mode 100644 apps/www/registry/default/buidl/account-address.tsx create mode 100644 apps/www/registry/default/buidl/account-balance.tsx create mode 100644 apps/www/registry/default/buidl/account-blockie.tsx create mode 100644 apps/www/registry/default/buidl/account-ens-avatar.tsx create mode 100644 apps/www/registry/default/buidl/account-ens-name.tsx create mode 100644 apps/www/registry/default/buidl/address.tsx create mode 100644 apps/www/registry/default/buidl/block-explorer-link.tsx create mode 100644 apps/www/registry/default/buidl/blockie.tsx create mode 100644 apps/www/registry/default/buidl/ens-avatar.tsx create mode 100644 apps/www/registry/default/buidl/ens-name.tsx create mode 100644 apps/www/registry/default/buidl/erc20/abis/erc20-abi.ts create mode 100644 apps/www/registry/default/buidl/erc20/abis/erc20-mintable-abi.ts create mode 100644 apps/www/registry/default/buidl/erc20/erc20-balance.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-image.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-name.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-select-and-amount.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-select.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-selector.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-symbol.tsx create mode 100644 apps/www/registry/default/buidl/erc20/erc20-wagmi.ts create mode 100644 apps/www/registry/default/buidl/erc20/token-select.tsx create mode 100644 apps/www/registry/default/buidl/erc20/types.ts create mode 100644 apps/www/registry/default/buidl/erc20/utils/filter-token-list-by-chain-id.ts create mode 100644 apps/www/registry/default/buidl/erc20/utils/find-token-by-address-from-list.ts create mode 100644 apps/www/registry/default/buidl/erc20/utils/find-token-by-symbol-from-list.ts create mode 100644 apps/www/registry/default/buidl/erc20/wagmi.config.ts create mode 100644 apps/www/registry/default/buidl/image-ipfs.tsx create mode 100644 apps/www/registry/default/buidl/is-wallet-connected.tsx create mode 100644 apps/www/registry/default/buidl/is-wallet-disconnected.tsx create mode 100644 apps/www/registry/default/buidl/network-manage.tsx create mode 100644 apps/www/registry/default/buidl/rainbowkit-wallet-connect.tsx create mode 100644 apps/www/registry/default/buidl/wallet-connect.tsx create mode 100644 apps/www/registry/default/buidl/wallet-manage.tsx create mode 100644 apps/www/registry/default/example/accordion-demo.tsx create mode 100644 apps/www/registry/default/example/account-address-demo.tsx create mode 100644 apps/www/registry/default/example/account-blockie-demo.tsx create mode 100644 apps/www/registry/default/example/account-ens-avatar-demo.tsx create mode 100644 apps/www/registry/default/example/account-ens-name-demo.tsx create mode 100644 apps/www/registry/default/example/address-demo.tsx create mode 100644 apps/www/registry/default/example/blockie-demo.tsx create mode 100644 apps/www/registry/default/example/cards/activity-goal.tsx create mode 100644 apps/www/registry/default/example/cards/calendar.tsx create mode 100644 apps/www/registry/default/example/cards/chat.tsx create mode 100644 apps/www/registry/default/example/cards/cookie-settings.tsx create mode 100644 apps/www/registry/default/example/cards/create-account.tsx create mode 100644 apps/www/registry/default/example/cards/data-table.tsx create mode 100644 apps/www/registry/default/example/cards/index.tsx create mode 100644 apps/www/registry/default/example/cards/metric.tsx create mode 100644 apps/www/registry/default/example/cards/payment-method.tsx create mode 100644 apps/www/registry/default/example/cards/report-issue.tsx create mode 100644 apps/www/registry/default/example/cards/share.tsx create mode 100644 apps/www/registry/default/example/cards/stats.tsx create mode 100644 apps/www/registry/default/example/cards/team-members.tsx create mode 100644 apps/www/registry/default/example/ens-avatar-demo.tsx create mode 100644 apps/www/registry/default/example/ens-name-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-balance-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-image-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-name-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-select-and-amount-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-select-demo.tsx create mode 100644 apps/www/registry/default/example/erc20-symbol-demo.tsx create mode 100644 apps/www/registry/default/example/network-manage-demo.tsx create mode 100644 apps/www/registry/default/example/wallet-connect-demo.tsx create mode 100644 apps/www/registry/default/example/wallet-manage-demo.tsx create mode 100644 apps/www/registry/default/ui/accordion.tsx create mode 100644 apps/www/registry/default/ui/alert-dialog.tsx create mode 100644 apps/www/registry/default/ui/alert.tsx create mode 100644 apps/www/registry/default/ui/aspect-ratio.tsx create mode 100644 apps/www/registry/default/ui/avatar.tsx create mode 100644 apps/www/registry/default/ui/badge.tsx create mode 100644 apps/www/registry/default/ui/button.tsx create mode 100644 apps/www/registry/default/ui/calendar.tsx create mode 100644 apps/www/registry/default/ui/card.tsx create mode 100644 apps/www/registry/default/ui/checkbox.tsx create mode 100644 apps/www/registry/default/ui/collapsible.tsx create mode 100644 apps/www/registry/default/ui/command.tsx create mode 100644 apps/www/registry/default/ui/context-menu.tsx create mode 100644 apps/www/registry/default/ui/dialog.tsx create mode 100644 apps/www/registry/default/ui/dropdown-menu.tsx create mode 100644 apps/www/registry/default/ui/form.tsx create mode 100644 apps/www/registry/default/ui/hover-card.tsx create mode 100644 apps/www/registry/default/ui/input.tsx create mode 100644 apps/www/registry/default/ui/label.tsx create mode 100644 apps/www/registry/default/ui/menubar.tsx create mode 100644 apps/www/registry/default/ui/navigation-menu.tsx create mode 100644 apps/www/registry/default/ui/popover.tsx create mode 100644 apps/www/registry/default/ui/progress.tsx create mode 100644 apps/www/registry/default/ui/radio-group.tsx create mode 100644 apps/www/registry/default/ui/scroll-area.tsx create mode 100644 apps/www/registry/default/ui/select.tsx create mode 100644 apps/www/registry/default/ui/separator.tsx create mode 100644 apps/www/registry/default/ui/sheet.tsx create mode 100644 apps/www/registry/default/ui/skeleton.tsx create mode 100644 apps/www/registry/default/ui/slider.tsx create mode 100644 apps/www/registry/default/ui/switch.tsx create mode 100644 apps/www/registry/default/ui/table.tsx create mode 100644 apps/www/registry/default/ui/tabs.tsx create mode 100644 apps/www/registry/default/ui/textarea.tsx create mode 100644 apps/www/registry/default/ui/toast.tsx create mode 100644 apps/www/registry/default/ui/toaster.tsx create mode 100644 apps/www/registry/default/ui/toggle-group.tsx create mode 100644 apps/www/registry/default/ui/toggle.tsx create mode 100644 apps/www/registry/default/ui/tooltip.tsx create mode 100644 apps/www/registry/default/ui/use-toast.ts create mode 100644 apps/www/registry/registry.ts create mode 100644 apps/www/registry/schema.ts create mode 100644 apps/www/registry/styles.ts create mode 100644 apps/www/registry/themes.ts create mode 100644 apps/www/scripts/build-registry.ts create mode 100644 apps/www/styles/globals.css create mode 100644 apps/www/styles/mdx.css create mode 100644 apps/www/tailwind.config.cjs create mode 100644 apps/www/tsconfig.json create mode 100644 apps/www/tsconfig.scripts.json create mode 100644 apps/www/types/nav.ts create mode 100644 apps/www/types/unist.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 postcss.config.cjs create mode 100644 prettier.config.cjs create mode 100755 scripts/sync-templates.sh create mode 100644 tailwind.config.cjs create mode 100644 tsconfig.json create mode 100644 turbo.json create mode 100644 vitest.config.ts diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..e5b6d8d --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..5e13055 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", + "changelog": ["@changesets/changelog-github", { "repo": "shadcn-ui/ui" }], + "commit": false, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": ["www", "**-template"] +} diff --git a/.changeset/mean-badgers-grab.md b/.changeset/mean-badgers-grab.md new file mode 100644 index 0000000..95f7f8b --- /dev/null +++ b/.changeset/mean-badgers-grab.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +fix code style diff --git a/.changeset/smart-pants-smile.md b/.changeset/smart-pants-smile.md new file mode 100644 index 0000000..b353ce7 --- /dev/null +++ b/.changeset/smart-pants-smile.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +use jsconfig for non-ts projects diff --git a/.changeset/sweet-worms-fix.md b/.changeset/sweet-worms-fix.md new file mode 100644 index 0000000..deaf083 --- /dev/null +++ b/.changeset/sweet-worms-fix.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": minor +--- + +add support for tailwind.config.ts diff --git a/.commitlintrc.json b/.commitlintrc.json new file mode 100644 index 0000000..c30e5a9 --- /dev/null +++ b/.commitlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["@commitlint/config-conventional"] +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ae10a5c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +# editorconfig.org +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..9a48847 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://json.schemastore.org/eslintrc", + "root": true, + "extends": [ + "next/core-web-vitals", + "turbo", + "prettier", + "plugin:tailwindcss/recommended" + ], + "plugins": ["tailwindcss"], + "rules": { + "@next/next/no-html-link-for-pages": "off", + "tailwindcss/no-custom-classname": "off", + "tailwindcss/classnames-order": "error" + }, + "settings": { + "tailwindcss": { + "callees": ["cn", "cva"], + "config": "tailwind.config.cjs" + }, + "next": { + "rootDir": ["apps/*/"] + } + }, + "overrides": [ + { + "files": ["*.ts", "*.tsx"], + "parser": "@typescript-eslint/parser" + } + ] +} diff --git a/.github/changeset-version.js b/.github/changeset-version.js new file mode 100644 index 0000000..e1b4cef --- /dev/null +++ b/.github/changeset-version.js @@ -0,0 +1,12 @@ +// ORIGINALLY FROM CLOUDFLARE WRANGLER: +// https://github.com/cloudflare/wrangler2/blob/main/.github/changeset-version.js + +import { exec } from "child_process" + +// This script is used by the `release.yml` workflow to update the version of the packages being released. +// The standard step is only to run `changeset version` but this does not update the package-lock.json file. +// So we also run `npm install`, which does this update. +// This is a workaround until this is handled automatically by `changeset version`. +// See https://github.com/changesets/changesets/issues/421. +exec("npx changeset version") +exec("npm install") diff --git a/.github/version-script-beta.js b/.github/version-script-beta.js new file mode 100644 index 0000000..4dd5ea2 --- /dev/null +++ b/.github/version-script-beta.js @@ -0,0 +1,21 @@ +// ORIGINALLY FROM CLOUDFLARE WRANGLER: +// https://github.com/cloudflare/wrangler2/blob/main/.github/version-script.js + +import { exec } from "child_process" +import fs from "fs" + +const pkgJsonPath = "packages/cli/package.json" +try { + const pkg = JSON.parse(fs.readFileSync(pkgJsonPath)) + exec("git rev-parse --short HEAD", (err, stdout) => { + if (err) { + console.log(err) + process.exit(1) + } + pkg.version = "0.0.0-beta." + stdout.trim() + fs.writeFileSync(pkgJsonPath, JSON.stringify(pkg, null, "\t") + "\n") + }) +} catch (error) { + console.error(error) + process.exit(1) +} diff --git a/.github/version-script-next.js b/.github/version-script-next.js new file mode 100644 index 0000000..c18a7af --- /dev/null +++ b/.github/version-script-next.js @@ -0,0 +1,21 @@ +// ORIGINALLY FROM CLOUDFLARE WRANGLER: +// https://github.com/cloudflare/wrangler2/blob/main/.github/version-script.js + +import { exec } from "child_process" +import fs from "fs" + +const pkgJsonPath = "packages/cli/package.json" +try { + const pkg = JSON.parse(fs.readFileSync(pkgJsonPath)) + exec("git rev-parse --short HEAD", (err, stdout) => { + if (err) { + console.log(err) + process.exit(1) + } + pkg.version = "0.0.0-next." + stdout.trim() + fs.writeFileSync(pkgJsonPath, JSON.stringify(pkg, null, "\t") + "\n") + }) +} catch (error) { + console.error(error) + process.exit(1) +} diff --git a/.github/workflows/code-check.yml b/.github/workflows/code-check.yml new file mode 100644 index 0000000..5024553 --- /dev/null +++ b/.github/workflows/code-check.yml @@ -0,0 +1,116 @@ +name: Code check + +on: + pull_request: + branches: ["*"] + +jobs: + lint: + runs-on: ubuntu-latest + name: pnpm lint + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - uses: pnpm/action-setup@v2.2.4 + name: Install pnpm + id: pnpm-install + with: + version: 8.6.1 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + - name: Install dependencies + run: pnpm install + + - run: pnpm lint + + format: + runs-on: ubuntu-latest + name: pnpm format:check + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - uses: pnpm/action-setup@v2.2.4 + name: Install pnpm + id: pnpm-install + with: + version: 8.6.1 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - run: pnpm format:check + + tsc: + runs-on: ubuntu-latest + name: pnpm typecheck + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - uses: pnpm/action-setup@v2.2.4 + name: Install pnpm + id: pnpm-install + with: + version: 8.6.1 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + - name: Install dependencies + run: pnpm install + + - run: pnpm typecheck diff --git a/.github/workflows/prerelease-comment.yml b/.github/workflows/prerelease-comment.yml new file mode 100644 index 0000000..ad21a54 --- /dev/null +++ b/.github/workflows/prerelease-comment.yml @@ -0,0 +1,65 @@ +# Adapted from create-t3-app. +name: Write Beta Release comment + +on: + workflow_run: + workflows: ["Release - Beta"] + types: + - completed + +jobs: + comment: + if: | + github.repository_owner == 'shadcn-ui' && + ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + name: Write comment to the PR + steps: + - name: "Comment on PR" + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + + for (const artifact of allArtifacts.data.artifacts) { + // Extract the PR number and package version from the artifact name + const match = /^npm-package-shadcn-ui@(.*?)-pr-(\d+)/.exec(artifact.name); + + if (match) { + require("fs").appendFileSync( + process.env.GITHUB_ENV, + `\nBETA_PACKAGE_VERSION=${match[1]}` + + `\nWORKFLOW_RUN_PR=${match[2]}` + + `\nWORKFLOW_RUN_ID=${context.payload.workflow_run.id}` + ); + break; + } + } + + - name: "Comment on PR with Link" + uses: marocchino/sticky-pull-request-comment@v2 + with: + number: ${{ env.WORKFLOW_RUN_PR }} + message: | + A new prerelease is available for testing: + + ```sh + npx shadcn-ui@${{ env.BETA_PACKAGE_VERSION }} + ``` + + - name: "Remove the autorelease label once published" + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: '${{ env.WORKFLOW_RUN_PR }}', + name: '🚀 autorelease', + }); diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml new file mode 100644 index 0000000..ea41485 --- /dev/null +++ b/.github/workflows/prerelease.yml @@ -0,0 +1,60 @@ +# Adapted from create-t3-app. + +name: Release - Beta + +on: + pull_request: + types: [labeled] + branches: + - main +jobs: + prerelease: + if: | + github.repository_owner == 'shadcn-ui' && + contains(github.event.pull_request.labels.*.name, '🚀 autorelease') + name: Build & Publish a beta release to NPM + runs-on: ubuntu-latest + environment: Preview + + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Use PNPM + uses: pnpm/action-setup@v2.2.4 + with: + version: 8.6.1 + + - name: Use Node.js 18 + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "pnpm" + + - name: Install NPM Dependencies + run: pnpm install + + - name: Modify package.json version + run: node .github/version-script-beta.js + + - name: Authenticate to NPM + run: echo "//registry.npmjs.org/:_authToken=$NPM_ACCESS_TOKEN" >> packages/cli/.npmrc + env: + NPM_ACCESS_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} + + - name: Publish Beta to NPM + run: pnpm pub:beta + + - name: get-npm-version + id: package-version + uses: martinbeentjes/npm-get-version-action@main + with: + path: packages/cli + + - name: Upload packaged artifact + uses: actions/upload-artifact@v2 + with: + name: npm-package-shadcn-ui@${{ steps.package-version.outputs.current-version }}-pr-${{ github.event.number }} # encode the PR number into the artifact name + path: packages/cli/dist/index.js diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7ec4840 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,53 @@ +# Adapted from create-t3-app. + +name: Release + +on: + push: + branches: + - main + +jobs: + release: + if: ${{ github.repository_owner == 'shadcn-ui' }} + name: Create a PR for release workflow + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Use PNPM + uses: pnpm/action-setup@v2.2.4 + with: + version: 8.6.1 + + - name: Use Node.js 18 + uses: actions/setup-node@v3 + with: + version: 8.6.1 + node-version: 18 + cache: "pnpm" + + - name: Install NPM Dependencies + run: pnpm install + + # - name: Check for errors + # run: pnpm check + + - name: Build the package + run: pnpm build:cli + + - name: Create Version PR or Publish to NPM + id: changesets + uses: changesets/action@v1.4.1 + with: + commit: "chore(release): version packages" + title: "chore(release): version packages" + version: node .github/changeset-version.js + publish: npx changeset publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} + NODE_ENV: "production" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..0534967 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,42 @@ +name: Test + +on: + pull_request: + branches: ["*"] + +jobs: + test: + runs-on: ubuntu-latest + name: pnpm test + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - uses: pnpm/action-setup@v2.2.4 + name: Install pnpm + id: pnpm-install + with: + version: 8.6.1 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + - name: Install dependencies + run: pnpm install + + - run: pnpm test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24c1ac8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +.pnp +.pnp.js + +# testing +coverage + +# next.js +.next/ +out/ +build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# turbo +.turbo + +.contentlayer +tsconfig.tsbuildinfo \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..4974c35 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx commitlint --edit $1 diff --git a/.kodiak.toml b/.kodiak.toml new file mode 100644 index 0000000..bbfdb22 --- /dev/null +++ b/.kodiak.toml @@ -0,0 +1,18 @@ +# .kodiak.toml +version = 1 + +[merge] +automerge_label = "automerge" +require_automerge_label = true +method = "squash" +delete_branch_on_merge = true +optimistic_updates = false +prioritize_ready_to_merge = true +notify_on_conflict = true + +[merge.message] +title = "pull_request_title" +body = "pull_request_body" +include_pr_number = true +body_type = "markdown" +strip_html_comments = true diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..3e775ef --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +auto-install-peers=true diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..50e4b92 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v16.18.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..b226983 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +dist +node_modules +.next +build +.contentlayer +apps/www/pages/api/registry.json \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2de0393 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "eslint.workingDirectories": [ + { "pattern": "apps/*/" }, + { "pattern": "packages/*/" } + ], + "tailwindCSS.experimental.classRegex": [ + ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], + ["cn\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f45807d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,175 @@ +# Contributing + +Thanks for your interest in contributing to ui.shadcn.com. We're happy to have you here. + +Please take a moment to review this document before submitting your first pull request. We also strongly recommend that you check for open issues and pull requests to see if someone else is working on something similar. + +If you need any help, feel free to reach out to [@shadcn](https://twitter.com/shadcn). + +## About this repository + +This repository is a monorepo. + +- We use [pnpm](https://pnpm.io) and [`workspaces`](https://pnpm.io/workspaces) for development. +- We use [Turborepo](https://turbo.build/repo) as our build system. +- We use [changesets](https://github.com/changesets/changesets) for managing releases. + +## Structure + +This repository is structured as follows: + +``` +apps +└── www + ├── app + ├── components + ├── content + └── registry + ├── default + │ ├── example + │ └── ui + └── new-york + ├── example + └── ui +packages +└── cli +``` + +| Path | Description | +| --------------------- | ---------------------------------------- | +| `apps/www/app` | The Next.js application for the website. | +| `apps/www/components` | The React components for the website. | +| `apps/www/content` | The content for the website. | +| `apps/www/registry` | The registry for the components. | +| `packages/cli` | The `shadcn-ui` package. | + +## Development + +### Fork this repo + +You can fork this repo by clicking the fork button in the top right corner of this page. + +### Clone on your local machine + +```bash +git clone https://github.com/your-username/ui.git +``` + +### Navigate to project directory + +```bash +cd ui +``` + +### Create a new Branch + +```bash +git checkout -b my-new-branch +``` + +### Install dependencies + +```bash +pnpm install +``` + +### Run a workspace + +You can use the `pnpm --filter=[WORKSPACE]` command to start the development process for a workspace. + +#### Examples + +1. To run the `ui.shadcn.com` website: + +```bash +pnpm --filter=www dev +``` + +2. To run the `shadcn-ui` package: + +```bash +pnpm --filter=shadcn-ui dev +``` + +## Documentation + +The documentation for this project is located in the `www` workspace. You can run the documentation locally by running the following command: + +```bash +pnpm --filter=www dev +``` + +Documentation is written using [MDX](https://mdxjs.com). You can find the documentation files in the `apps/www/content/docs` directory. + +## Components + +We use a registry system for developing components. You can find the source code for the components under `apps/www/registry`. The components are organized by styles. + +```bash +apps +└── www + └── registry + ├── default + │ ├── example + │ └── ui + └── new-york + ├── example + └── ui +``` + +When adding or modifying components, please ensure that: + +1. You make the changes for every style. +2. You update the documentation. +3. You run `pnpm build:registry` to update the registry. + +## Commit Convention + +Before you create a Pull Request, please check whether your commits comply with +the commit conventions used in this repository. + +When you create a commit we kindly ask you to follow the convention +`category(scope or module): message` in your commit message while using one of +the following categories: + +- `feat / feature`: all changes that introduce completely new code or new + features +- `fix`: changes that fix a bug (ideally you will additionally reference an + issue if present) +- `refactor`: any code related change that is not a fix nor a feature +- `docs`: changing existing or creating new documentation (i.e. README, docs for + usage of a lib or cli usage) +- `build`: all changes regarding the build of the software, changes to + dependencies or the addition of new dependencies +- `test`: all changes regarding tests (adding new tests or changing existing + ones) +- `ci`: all changes regarding the configuration of continuous integration (i.e. + github actions, ci system) +- `chore`: all changes to the repository that do not fit into any of the above + categories + + e.g. `feat(components): add new prop to the avatar component` + +If you are interested in the detailed specification you can visit +https://www.conventionalcommits.org/ or check out the +[Angular Commit Message Guidelines](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines). + +## Requests for new components + +If you have a request for a new component, please open a discussion on GitHub. We'll be happy to help you out. + +## CLI + +The `shadcn-ui` package is a CLI for adding components to your project. You can find the documentation for the CLI [here](https://ui.shadcn.com/docs/cli). + +Any changes to the CLI should be made in the `packages/cli` directory. If you can, it would be great if you could add tests for your changes. + +## Testing + +Tests are written using [Vitest](https://vitest.dev). You can run all the tests from the root of the repository. + +```bash +pnpm test +``` + +Please ensure that the tests are passing when submitting a pull request. If you're adding new features, please include tests. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..fad4d88 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 shadcn + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..afd00aa --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# TurboETH BUIDL + +Handcrafted Web3 components that you can copy and paste into your WAGMI apps. Free. Open Source. **Use this to build your own component library**. + +## Documentation + +Visit http://buidl.turboeth/docs to view the documentation. + +## Contributing + +Please read the [contributing guide](/CONTRIBUTING.md). + +## License + +Licensed under the [MIT license](https://github.com/shadcn/ui/blob/main/LICENSE.md). diff --git a/apps/www/.env.example b/apps/www/.env.example new file mode 100644 index 0000000..9ea50f4 --- /dev/null +++ b/apps/www/.env.example @@ -0,0 +1,4 @@ +# ----------------------------------------------------------------------------- +# App +# ----------------------------------------------------------------------------- +NEXT_PUBLIC_APP_URL=http://localhost:3001 diff --git a/apps/www/.gitignore b/apps/www/.gitignore new file mode 100644 index 0000000..a5c8936 --- /dev/null +++ b/apps/www/.gitignore @@ -0,0 +1,2 @@ +.vscode +.env \ No newline at end of file diff --git a/apps/www/.prettierignore b/apps/www/.prettierignore new file mode 100644 index 0000000..ccf2b0b --- /dev/null +++ b/apps/www/.prettierignore @@ -0,0 +1,6 @@ +dist +node_modules +.next +build +.contentlayer +__registry__/index.tsx \ No newline at end of file diff --git a/apps/www/__registry__/.autogenerated b/apps/www/__registry__/.autogenerated new file mode 100644 index 0000000..0055c2a --- /dev/null +++ b/apps/www/__registry__/.autogenerated @@ -0,0 +1 @@ +// The content of this directory is autogenerated by the registry server. diff --git a/apps/www/__registry__/.gitkeep b/apps/www/__registry__/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/www/__registry__/README.md b/apps/www/__registry__/README.md new file mode 100644 index 0000000..5621cea --- /dev/null +++ b/apps/www/__registry__/README.md @@ -0,0 +1 @@ +> Files inside this directory is autogenerated by `./scripts/build-registry.ts`. **Do not edit them manually.** - shadcn diff --git a/apps/www/__registry__/index.tsx b/apps/www/__registry__/index.tsx new file mode 100644 index 0000000..8bc03fe --- /dev/null +++ b/apps/www/__registry__/index.tsx @@ -0,0 +1,233 @@ +// @ts-nocheck +// This file is autogenerated by scripts/build-registry.ts +// Do not edit this file directly. +import * as React from "react" + +export const Index: Record = { + "default": { + "address": { + name: "address", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/address")), + files: ["registry/default/buidl/address.tsx"], + }, + "blockie": { + name: "blockie", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/blockie")), + files: ["registry/default/buidl/blockie.tsx"], + }, + "ens-avatar": { + name: "ens-avatar", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/ens-avatar")), + files: ["registry/default/buidl/ens-avatar.tsx"], + }, + "ens-name": { + name: "ens-name", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/ens-name")), + files: ["registry/default/buidl/ens-name.tsx"], + }, + "wallet-connect": { + name: "wallet-connect", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/wallet-connect")), + files: ["registry/default/buidl/wallet-connect.tsx"], + }, + "wallet-manage": { + name: "wallet-manage", + type: "components:buidl", + registryDependencies: undefined, + 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", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-balance")), + files: ["registry/default/buidl/erc20/erc20-balance.tsx"], + }, + "erc20-image": { + name: "erc20-image", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-image")), + files: ["registry/default/buidl/erc20/erc20-image.tsx"], + }, + "erc20-name": { + name: "erc20-name", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-name")), + files: ["registry/default/buidl/erc20/erc20-name.tsx"], + }, + "erc20-symbol": { + name: "erc20-symbol", + type: "components:buidl", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/buidl/erc20/erc20-symbol")), + files: ["registry/default/buidl/erc20/erc20-symbol.tsx"], + }, + "erc20-select": { + name: "erc20-select", + type: "components:buidl", + registryDependencies: undefined, + 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", + 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"], + }, + "accordion": { + name: "accordion", + type: "components:ui", + registryDependencies: undefined, + component: React.lazy(() => import("@/registry/default/ui/accordion")), + files: ["registry/default/ui/accordion.tsx"], + }, + "address-demo": { + name: "address-demo", + type: "components:example", + registryDependencies: ["address"], + component: React.lazy(() => import("@/registry/default/example/address-demo")), + files: ["registry/default/example/address-demo.tsx"], + }, + "blockie-demo": { + name: "blockie-demo", + type: "components:example", + registryDependencies: ["blockie"], + component: React.lazy(() => import("@/registry/default/example/blockie-demo")), + files: ["registry/default/example/blockie-demo.tsx"], + }, + "ens-avatar-demo": { + name: "ens-avatar-demo", + type: "components:example", + registryDependencies: ["ens-avatar"], + component: React.lazy(() => import("@/registry/default/example/ens-avatar-demo")), + files: ["registry/default/example/ens-avatar-demo.tsx"], + }, + "ens-name-demo": { + name: "ens-name-demo", + type: "components:example", + registryDependencies: ["ens-name"], + 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", + 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-blockie-demo": { + name: "account-blockie-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"], + }, + "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"], + }, + "wallet-connect-demo": { + name: "wallet-connect-demo", + type: "components:example", + registryDependencies: ["wallet-connect"], + component: React.lazy(() => import("@/registry/default/example/wallet-connect-demo")), + files: ["registry/default/example/wallet-connect-demo.tsx"], + }, + "wallet-manage-demo": { + name: "wallet-manage-demo", + type: "components:example", + registryDependencies: ["wallet-manage"], + 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", + registryDependencies: ["erc20-balance"], + component: React.lazy(() => import("@/registry/default/example/erc20-balance-demo")), + files: ["registry/default/example/erc20-balance-demo.tsx"], + }, + "erc20-image-demo": { + name: "erc20-image-demo", + type: "components:example", + registryDependencies: ["erc20-image"], + component: React.lazy(() => import("@/registry/default/example/erc20-image-demo")), + files: ["registry/default/example/erc20-image-demo.tsx"], + }, + "erc20-name-demo": { + name: "erc20-name-demo", + type: "components:example", + registryDependencies: ["erc20-name"], + 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", + type: "components:example", + registryDependencies: ["erc20-symbol"], + component: React.lazy(() => import("@/registry/default/example/erc20-symbol-demo")), + files: ["registry/default/example/erc20-symbol-demo.tsx"], + }, + "erc20-select-demo": { + name: "erc20-select-demo", + type: "components:example", + registryDependencies: ["erc20-select"], + 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", + 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"], + }, + "accordion-demo": { + name: "accordion-demo", + type: "components:example", + registryDependencies: ["accordion"], + component: React.lazy(() => import("@/registry/default/example/accordion-demo")), + files: ["registry/default/example/accordion-demo.tsx"], + }, + }, +} diff --git a/apps/www/app/docs/[[...slug]]/page.tsx b/apps/www/app/docs/[[...slug]]/page.tsx new file mode 100644 index 0000000..7f9f4f2 --- /dev/null +++ b/apps/www/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,152 @@ +import { notFound } from "next/navigation" +import { allDocs } from "contentlayer/generated" + +import "@/styles/mdx.css" +import type { Metadata } from "next" +import Link from "next/link" +import { ChevronRightIcon } from "@radix-ui/react-icons" +import Balancer from "react-wrap-balancer" + +import { siteConfig } from "@/config/site" +import { getTableOfContents } from "@/lib/toc" +import { absoluteUrl, cn } from "@/lib/utils" +import { Icons } from "@/components/icons" +import { Mdx } from "@/components/mdx-components" +import { DocsPager } from "@/components/pager" +import { DashboardTableOfContents } from "@/components/toc" +import { badgeVariants } from "@/registry/default/ui/badge" +import { ScrollArea } from "@/registry/default/ui/scroll-area" + +interface DocPageProps { + params: { + slug: string[] + } +} + +async function getDocFromParams({ params }: DocPageProps) { + const slug = params.slug?.join("/") || "" + const doc = allDocs.find((doc) => doc.slugAsParams === slug) + + if (!doc) { + return null + } + + return doc +} + +export async function generateMetadata({ + params, +}: DocPageProps): Promise { + const doc = await getDocFromParams({ params }) + + if (!doc) { + return {} + } + + return { + title: doc.title, + description: doc.description, + openGraph: { + title: doc.title, + description: doc.description, + type: "article", + url: absoluteUrl(doc.slug), + images: [ + { + url: siteConfig.ogImage, + width: 1200, + height: 630, + alt: siteConfig.name, + }, + ], + }, + twitter: { + card: "summary_large_image", + title: doc.title, + description: doc.description, + images: [siteConfig.ogImage], + creator: "@DistrctFi", + }, + } +} + +export async function generateStaticParams(): Promise< + DocPageProps["params"][] +> { + return allDocs.map((doc) => ({ + slug: doc.slugAsParams.split("/"), + })) +} + +export default async function DocPage({ params }: DocPageProps) { + const doc = await getDocFromParams({ params }) + + if (!doc) { + notFound() + } + + const toc = await getTableOfContents(doc.body.raw) + + return ( +
+
+
+
+ Docs +
+ +
{doc.title}
+
+
+

+ {doc.title} +

+ {doc.description && ( +

+ {doc.description} +

+ )} +
+ {doc.wagmi ? ( +
+ {doc.wagmi?.link && ( + + WAGMI + + )} + {doc.wagmi?.api && ( + + API Reference + + )} +
+ ) : null} +
+ +
+ +
+ {doc.toc && ( +
+
+ +
+ +
+
+
+
+ )} +
+ ) +} diff --git a/apps/www/app/docs/layout.tsx b/apps/www/app/docs/layout.tsx new file mode 100644 index 0000000..409bfd1 --- /dev/null +++ b/apps/www/app/docs/layout.tsx @@ -0,0 +1,22 @@ +import { docsConfig } from "@/config/docs" +import { DocsSidebarNav } from "@/components/sidebar-nav" +import { ScrollArea } from "@/registry/default/ui/scroll-area" + +interface DocsLayoutProps { + children: React.ReactNode +} + +export default function DocsLayout({ children }: DocsLayoutProps) { + return ( +
+
+ + {children} +
+
+ ) +} diff --git a/apps/www/app/examples/authentication/components/user-auth-form.tsx b/apps/www/app/examples/authentication/components/user-auth-form.tsx new file mode 100644 index 0000000..fa39d53 --- /dev/null +++ b/apps/www/app/examples/authentication/components/user-auth-form.tsx @@ -0,0 +1,71 @@ +"use client" + +import * as React from "react" + +import { cn } from "@/lib/utils" +import { Icons } from "@/components/icons" +import { Button } from "@/registry/default/ui/button" +import { Input } from "@/registry/default/ui/input" +import { Label } from "@/registry/default/ui/label" + +interface UserAuthFormProps extends React.HTMLAttributes {} + +export function UserAuthForm({ className, ...props }: UserAuthFormProps) { + const [isLoading, setIsLoading] = React.useState(false) + + async function onSubmit(event: React.SyntheticEvent) { + event.preventDefault() + setIsLoading(true) + + setTimeout(() => { + setIsLoading(false) + }, 3000) + } + + return ( +
+
+
+
+ + +
+ +
+
+
+
+ +
+
+ + Or continue with + +
+
+ +
+ ) +} diff --git a/apps/www/app/examples/authentication/page.tsx b/apps/www/app/examples/authentication/page.tsx new file mode 100644 index 0000000..969175a --- /dev/null +++ b/apps/www/app/examples/authentication/page.tsx @@ -0,0 +1,104 @@ +import { Metadata } from "next" +import Image from "next/image" +import Link from "next/link" + +import { cn } from "@/lib/utils" +import { buttonVariants } from "@/registry/default/ui/button" +import { UserAuthForm } from "@/app/examples/authentication/components/user-auth-form" + +export const metadata: Metadata = { + title: "Authentication", + description: "Authentication forms built using the components.", +} + +export default function AuthenticationPage() { + return ( + <> +
+ Authentication + Authentication +
+
+ + Login + +
+
+
+ + + + Acme Inc +
+
+
+

+ “This library has saved me countless hours of work and + helped me deliver stunning designs to my clients faster than + ever before.” +

+
Sofia Davis
+
+
+
+
+
+
+

+ Create an account +

+

+ Enter your email below to create your account +

+
+ +

+ By clicking continue, you agree to our{" "} + + Terms of Service + {" "} + and{" "} + + Privacy Policy + + . +

+
+
+
+ + ) +} diff --git a/apps/www/app/examples/layout.tsx b/apps/www/app/examples/layout.tsx new file mode 100644 index 0000000..6ee61c9 --- /dev/null +++ b/apps/www/app/examples/layout.tsx @@ -0,0 +1,75 @@ +import { Metadata } from "next" +import Link from "next/link" +import { ArrowRightIcon } from "@radix-ui/react-icons" + +import { cn } from "@/lib/utils" +import { ExamplesNav } from "@/components/examples-nav" +import { + PageHeader, + PageHeaderDescription, + PageHeaderHeading, +} from "@/components/page-header" +import { buttonVariants } from "@/registry/default/ui/button" +import { Separator } from "@/registry/default/ui/separator" + +export const metadata: Metadata = { + title: "Examples", + description: "Check out some examples app built using the components.", +} + +interface ExamplesLayoutProps { + children: React.ReactNode +} + +export default function ExamplesLayout({ children }: ExamplesLayoutProps) { + return ( + <> +
+ + + 🎉 {" "} + Style, a new CLI and more. + + Introducing Style, a new CLI and more. + + + + + Check out some examples. + + Examples + + Dashboard, cards, authentication. Some examples built using the + components. Use this as a guide to build your own. + +
+ + Get Started + + + Components + +
+
+
+ +
+ {children} +
+
+
+ + ) +} diff --git a/apps/www/app/layout.tsx b/apps/www/app/layout.tsx new file mode 100644 index 0000000..2ef0509 --- /dev/null +++ b/apps/www/app/layout.tsx @@ -0,0 +1,115 @@ +import "@/styles/globals.css" +import { Metadata } from "next" + +import { siteConfig } from "@/config/site" +import { fontSans } from "@/lib/fonts" +import { cn } from "@/lib/utils" +import { Analytics } from "@/components/analytics" +import { ThemeProvider } from "@/components/providers" +import { RainbowKitInitializedProvider } from "@/components/providers/rainbow-kit-provider" +import { WagmiProvider } from "@/components/providers/wagmi-provider" +import { SiteFooter } from "@/components/site-footer" +import { SiteHeader } from "@/components/site-header" +import { TailwindIndicator } from "@/components/tailwind-indicator" +import { ThemeSwitcher } from "@/components/theme-switcher" +import { + Toaster as DefaultToaster, + Toaster as NewYorkToaster, +} from "@/registry/default/ui/toaster" + +export const metadata: Metadata = { + title: { + default: siteConfig.name, + template: `%s - ${siteConfig.name}`, + }, + description: siteConfig.description, + keywords: [ + "Next.js", + "React", + "Tailwind CSS", + "Server Components", + "Radix UI", + ], + authors: [ + { + name: "DistrictLabs", + url: "https://districtLabs.com", + }, + ], + creator: "DistrictLabs", + themeColor: [ + { media: "(prefers-color-scheme: light)", color: "white" }, + { media: "(prefers-color-scheme: dark)", color: "black" }, + ], + openGraph: { + type: "website", + locale: "en_US", + url: siteConfig.url, + title: siteConfig.name, + description: siteConfig.description, + siteName: siteConfig.name, + images: [ + { + url: siteConfig.ogImage, + width: 1200, + height: 630, + alt: siteConfig.name, + }, + ], + }, + twitter: { + card: "summary_large_image", + title: siteConfig.name, + description: siteConfig.description, + images: [siteConfig.ogImage], + creator: "@districtLabs", + }, + icons: { + icon: "/favicon.ico", + shortcut: "/favicon-16x16.png", + apple: "/apple-touch-icon.png", + }, + manifest: `${siteConfig.url}/site.webmanifest`, +} + +interface RootLayoutProps { + children: React.ReactNode +} + +export default function RootLayout({ children }: RootLayoutProps) { + return ( + <> + + + + + + +
+ +
{children}
+ +
+
+
+ +
+ + + + + + + + ) +} diff --git a/apps/www/app/page.tsx b/apps/www/app/page.tsx new file mode 100644 index 0000000..e598594 --- /dev/null +++ b/apps/www/app/page.tsx @@ -0,0 +1,77 @@ +import Image from "next/image" +import Link from "next/link" +import { ArrowRightIcon } from "@radix-ui/react-icons" + +import { siteConfig } from "@/config/site" +import { cn } from "@/lib/utils" +import { ExamplesNav } from "@/components/examples-nav" +import { Icons } from "@/components/icons" +import { + PageHeader, + PageHeaderDescription, + PageHeaderHeading, +} from "@/components/page-header" +import { buttonVariants } from "@/registry/default/ui/button" +import { Separator } from "@/registry/default/ui/separator" + +import AuthenticationPage from "./examples/authentication/page" + +export default function IndexPage() { + return ( +
+ + + ⚡️ {" "} + Build Web3 in Turbo Mode. + Build Web3 in Turbo Mode + + + A Flexible Web3 Component Library + + Handcrafted Web3 components that you can copy and paste into your + WAGMI apps.{" "} + Save time and BUIDL faster. + +
+ + Get Started + + + + GitHub + +
+
+ +
+ Dashboard + Dashboard +
+
+
+ +
+
+
+ ) +} diff --git a/apps/www/app/themes/page.tsx b/apps/www/app/themes/page.tsx new file mode 100644 index 0000000..d50f7b7 --- /dev/null +++ b/apps/www/app/themes/page.tsx @@ -0,0 +1,38 @@ +import { Metadata } from "next" + +import "public/registry/themes.css" +import { + PageHeader, + PageHeaderDescription, + PageHeaderHeading, +} from "@/components/page-header" +import { ThemeCustomizer } from "@/components/theme-customizer" +import { ThemeWrapper } from "@/components/theme-wrapper" +import { ThemesTabs } from "@/app/themes/tabs" + +export const metadata: Metadata = { + title: "Themes", + description: "Hand-picked themes that you can copy and paste into your apps.", +} + +export default function ThemesPage() { + return ( +
+ + + Make it yours. + + Hand-picked themes that you can copy and paste into your apps. + + +
+ +
+
+ +
+ ) +} diff --git a/apps/www/app/themes/tabs.tsx b/apps/www/app/themes/tabs.tsx new file mode 100644 index 0000000..d9fad57 --- /dev/null +++ b/apps/www/app/themes/tabs.tsx @@ -0,0 +1,72 @@ +"use client" + +import * as React from "react" + +import { useConfig } from "@/hooks/use-config" +import { ThemeWrapper } from "@/components/theme-wrapper" +import CardsDefault from "@/registry/default/example/cards" +import CardsNewYork from "@/registry/default/example/cards" +import { Skeleton } from "@/registry/default/ui/skeleton" + +export function ThemesTabs() { + const [mounted, setMounted] = React.useState(false) + const [config] = useConfig() + + React.useEffect(() => { + setMounted(true) + }, []) + + return ( +
+ {!mounted ? ( +
+
+ +
+ +
+ +
+
+ +
+
+
+
+ + + +
+
+ + +
+ +
+
+
+
+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ ) : ( + + {config.style === "default" && } + + )} +
+ ) +} diff --git a/apps/www/assets/fonts/CalSans-SemiBold.ttf b/apps/www/assets/fonts/CalSans-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4a2950a0451f66f8d3d77e466ce2fd3fe0e507b6 GIT binary patch literal 148964 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 literal 0 HcmV?d00001 diff --git a/apps/www/assets/fonts/CalSans-SemiBold.woff b/apps/www/assets/fonts/CalSans-SemiBold.woff new file mode 100644 index 0000000000000000000000000000000000000000..da459913f05b3cbd7ba3b0581425d89874585733 GIT binary patch literal 52504 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 W*ce<~0HN(GhyVZp000310001zXW?4_ literal 0 HcmV?d00001 diff --git a/apps/www/assets/fonts/CalSans-SemiBold.woff2 b/apps/www/assets/fonts/CalSans-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..36d71b70d0c15ed418e13d0594aca7be1a57d3c7 GIT binary patch literal 40932 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
    xIR=5e;wKB&UlHXKnP2TNx=gMbFRQe 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�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 literal 0 HcmV?d00001 diff --git a/apps/www/assets/fonts/Inter-Bold.ttf b/apps/www/assets/fonts/Inter-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8e82c70d1081e2857ada1b73395d4f42c2e8adc9 GIT binary patch literal 316100 zcmcG133wDm^ZxYA?(8O&ccOcwEAO{dgNC-DVB9}lQBBz{k zsepojhzNol9;k@lr{IZ-h!-NCpmHQTz5lnmXLctc2tLpM_n?rx(^FktU0q#WUEQNF zMNul^FNdOZdaOgoCLcDbu4wU>0R(sI)w9ppj~h-?w4RE>8tI+-B(|F~w=i3A%y278 z;*_3!9%>qKBD0;MP8|j+!}|1%>-)cNzU-tpKFP!Hk0oae&w8lQuj}#rsG_7U963BE z3wTA)zleX`Bgalnt2wd$gCJg3QR}rDl{!47;oHMIDr)bRcpftfK+V6azJ>Q&ubJ{UVLd3eD50}B-Ofl>JVKN-WPWCfOGI)3kr^0hLDXQW>Cl#Nr= z@A@i=ekE&M&V(1YMUPk1pB__`lnq(qQ?o|ti{|2aHj#VfZ{(>8SKMvsZ}lkseM9^$e^ykbJ*v14!4YL;csQd!5iC3? zTn*uk)e~wX^*C>AcqNpU&JMXtnG=qGi>T$l@(yqBYbsYMUO_G$y)vWQ4AVRthV% zacWfFzCMc*6BqTt-z|IeXxXx74_o`T?0KTkg5JFs^ugaRb!!pRjdhEO>25Wq?4uTQ z?uBYUHH&cLxVuW=e}JRg(D+HtBwOPZtGu4UR9hpf`0z|NN#aDu?Jr-Pj$bG_BorS% zzVhz!u7&=3%lh#k*JeK+=fa?^lbPycD&51zVhF)v8ux=UuJ<1 z|DKIe1AO&c{T!u>epX7<4>`gT`Q_wZX4291kqdp&^GREG_vm=js?(1KY`%)J{A*!5 zG>emf0^=G{_SO@)ug3yb@F$?D4sV#m#jpxes+Sm6(IMfXObacqx}suYT11yRmiW$1 ztUf=ui?tckVN$yXnSUHP2G?SHtMhpF$?U|%V`|N4IJ@(7uy~~eE31rO1S_Wr4@eZO zL?{i5vl3Fdk{(gJks4834~-%tR#R=(G)BW{C)T1%XKmEZS!pf$c8YIQzxmE5(;D^e z)$74}Ek;iql-0VnpG()Q=;RgE>sIg7q)GCc`|4Kjz>ka@xvpMX#JGn?LvY(9S3ZHR z_SRGyTjCG2y4EGT)`$B9U3|#fx@*HB1(Qd6?m?R!_=zSFB@UKen0wRU>-#;&d7<{G zXGAH6Kfv+#%|Q2ckH0Ba_3q`C1_f+fX4jx%dUi+VM?)Vqb36~QjpwL<1?mZOl}`hW zQlDCyD4trHXua$5Yh=j+g7bj|t{W}A(Db8(4rAUi-#+<|*B0|<8@hh}Wwp9rSm=k{8L&OP0=v7Y7H z>xIugZKUXqdTxcU9BnqOdz zo*nk$n28_dZQ}3##5=O#uf344Y7}3=;s)mTUcZFD?pEggzGlj6IaMk-r+vL@i+4F2 zkv}1ERy?cw=!D+m=7V`rxtKcQ1oK(!l3;SLag3M(^AgY37YkL}%d6UP_Xzzffybid zOWcYh3gtmlak;qnDc%ttL9(I*U>qyulyK!iB^skAytb}a4h@fvjH%Ns9P+-G=4xN? z&-)CxpYfTjfVuXw`WLijX#eWrX#Z(y|IekhU*FJuV(jGiH~l{ACZ_y*l7;9PwAqr4 z^*dCoz-pKUU-QqNZ8R`1 zL0!y?KAL=!ea3pQp6s(5DR1%1&|Gj3(9<2O1Su_u2e^rK;7nBxii`v^dT8i9aW!l^ z3)|X!cubWpRodny{tG65c=dX&7QnYL$3t1eU%nTXA;bb>5(y28)I})RM75EZ6HdYu zqeJ2;Y_(84iIXoN@pRVAhLevY@ho+h4fmJNvC31uKKfC*s28JC)I*|#Nk1k``U93h zziXGOF6~j~^c;8WyJx9!PoVqnn|h0Tkrq^JE~Iims#u@!ni}TL;OOQmdKYth-I!o> zcP&S7P({@dUb{}DI+wjxEUESSA=%fox|YkT?W z-`R_)*^cI?GwW!higM z)tV2ZM^@p8unJXZ{nJMpgCJ=d$RyuhPl`G6r6JI++__d~6b*U4__2)G$%S8*&VwA^ zuJOX{#Bvgkjxt*}uW{b3s&?Bbh13uG-pCKITNwY;Y{EP)JrYYZ_z0MSCwzSWZ zvI4!D7=@36fJ;wP!YmON!&8(4Hk?MYET66<*znONuIr;G)$viM4w0oZly0`tX3&etVw94tm>fqu%wzb=L^aY22E4%I9CN8$%I zkm^M*_~d~}-p*G(`o~{CtpjB{@>~_fI#6_fU~eBjMtRX{x2vUCAByr=A4bypkQ5sA z)A~^2SG@zp`jF^M7VATaUsH~V^`W3&rk1b#pUOjGeMruTzaOwZq<%m<1i!H5d$~ui zCTzKI&LbG}sb+YPbB{n91OYV2+pxv9nR-n}GI2!>yuyCEW53b-?PiGoE zES3F&|9@qvR#yoh0Zqa0^AHD9+{@qxJ2bCiPvD+^NDIU# zfx}S~Z>*;`0ycZ6i8p4#Mt}V9qvf^M8&8^9UJx%t>tKk?p`jq`c1sC(VH&bFl_*42-#w( z6y)ZL&MYy+ts(2uM=3IRBFmQ;oYJ;9Iiw$8w=H{}-8`vUoaZgeu6Xt;s`p*vD2-RR zLHD6>cxa{aSa3#01%)-mgc%*}>$|IL&!Dv@vudO^tkgI-G0)l6lcu%x98FqrcvL;r z%{ppr1`hQTMytV_lMBngfZD8Qu@9hVOc@XSu;k6J8P3CnuW4&MZ)tIUtce&6-K&zW^)^RoYr8({pQ4ZO&+ zIOpeiw?Cg@IveugF4o}J<)O~>F4;Znuj8M8_8C93e)Q4Vzv!+HPBf(fc!A5!?u{RJeNSgraL+ucE7z=1&-^>S0%F{!lwjo%@?%3{ z;pzC@*n4EswV!uV)#R7Y&uluPd5zXJJ5G(~@%PNLGo7`3>h$8yWy(E%SQbH1(pe*62_;U-E%8jY&W6*>Bk?SCo5YQYq$)mqvU)^umO?+L7=0RS zl1>U+W}~n8@C+6u6qoq<1`1GLQ92Y?xnfHNOEbfxB6No%k$=y-{k5D0uwftUVh>$e z6$-ib%z3)+x@!w&U)i+sOm>2CMH|Dvs9I(u|GBzd?Or!l+ohOsA}@$_EIM#$27>w| zGgB9qVac<6m(_DrxliH>?G86AFnn`RxjMuY9^r@s650V(0l8%`BDl zEcjP^-=>zg+TB|tOr`loDCMf#l=2(l21wkll-~$zCvm${LTR8(61OX*oxWWuzY*?` zEN@rJZ$w~3;+9gv%DQI3nwIn;*&b~i+s%7WP3wFV6U-B zNG3$NpZtGJY=|<@#D*XP#%Ns|Ip-&Ach&eMzwB(BRH1U0s*mQx7oPVEFuB$Ir?T3+ z9c&elolvcblF_vbcT)hBq@$+qV7<;jv5_J6QKN4i5f+dbtTo|KJgRZ^@c@< z?S5(Hs^{6B1AKS&?JVwx^%lXxJ-hbq-K9l(zWR|L-DdT)aKE4#_USP3&93-94(4^R*o~JPEito7h3Z12%7_@-IL;`w7=;lXgbn1&0Yo zEoB_CJgpH>e#PH}zXZINiEj}2l9hymewmIY{0`VH#T(D#jT~XZgjuEGY+xVaE zm?z4w0X|Lae@Z&Jj%#v#4fi*fZ1gYB`~743HuN07)r zj_{*P*p+v*tpfMi73XWRyp|wvpIveO*Tm6FpyRVE&Ko8!$Dz-zI4cPI@s0|eLV2HE zamJYVCjuAa!h45)^ga&>l+y3ila9e=yKV|PK0D-iMA)Hs*cSr#*&(}ReeyFkUmwNS z!pvzjb2@$y<4|N%^ubtT=Km><+@dEPxqLP6sjp?JG{ex}a+spC#H)d{&is`s)<^H7 z(2zjI5F->r%ptqhtjH?u;x{qCloaD@s@_Ch`VxJZ=w3;i+-*TcPxJN>YF-jg@m{y# z6flzI)4fYu^OGa_@m?lzivcFfPj^0ND^CF|iRbEN!~hd?!~m0cp59#yuoUB1F}dYCw_E(^ z&kHsAl?gNK?(scMGoYhSGVx{9FNk#vwcc2z<4L zLr$gigOFdT{igpcYgQeC&W2~HUQDI>dt!L}$}S3yHhOzm90>{PByq_JYP7T&Q4{Yz z3=pQoc`rJbVt`Nrlkk`#;7zp%7u)MG(b`Y!Z9Yj^%~d8trU)Z zm!I1(o0U7&JEu*Dc_UB(2pGP$`MaD! zU2y!AvNCMbOm2;9L3`Pr`_%7Mm*Li!QD}U87B1mb?J3Wgq7_;^_ZSC3Yp*e$-bJ0| z1uv7;_Aunqdl@Hqlz5H;A^30%N3(nit0r;dL@_$~`UjE@uWrZPBV1u{vYFBdDh2DT zfckJ20Xsu~1n2r0BV!rD=S{S{e(H9$n&*41gErc;O5ep2Jg2p$p7^5u#0U?^vK{`j z1C9f%i{=~;V#1wpU31r^UZVJTGZqsQR#}VGU6d|h%4B2uW#h^GzEeB$8d`Tq=7l0i zra(QJG2*^%{G$dBbms1&y;^ntr*YM4vJgLsLexMLg5tEIWRSC#=~iyRB+BB>|I)x_ zRfI%S_!p*xvgkD*KADE4Ro;yijx6uGsUDNKajaPRe7!T_-i?HlKOo9SAp#3r!JaoC zE9>D^?eAeLWQ9rZpdHs2=)3TqN_+o$6q=(^*e@=WnJXskq-Qv-W-^=){_a(NE5e#Y zHjrE-J0Z(Of+`(#Z*fm_m<>@+=&_c(0+LVx0>gd68TuIAg8g*r^}TAC+PsR|Tn*zx zf{ZKtf^j8?55b_>=p1%aaYh%Obv7=1R|+X0NeDGU3RN9wsUvV$T_*7?P3FcSTupWQ z@O(G=j_4TsDeu6--Kx8%cb!FF^fBn%?RQhl$Z5s;IW9;v1%EdSawYSHp1BpU6njFO z0H*|P2q=V;P-2e6qU8;tu7>fXMPW z$_+~z#pt9d!i5w|kz^qySw2f0Z_+60vF=o80H6z zqpoF;MiA|p-4+aHHUV8=dj_vQk{mg`F2ccm^YlG-dD(-)?xA+snd@?rctx3dC6Y3H z>+)!O9nRm`q?P>YYjyiX)a+4j^ei^XUP;1Ce z-OF|dX%pFW-m`*d9$z5)Q@-l!RqDMKLN|*`9W$4SXR=gVFHx_`@)^oi8;*I$#7DFH z6tTsIh`{SK0}7l{<3I-%Pt_BJ?q0$#YlQB$XkqHE=p~)BgZML!1~w7nQuMxh!gY#z zO~eArA{JPIA{}v7M4WObu<^^pmbaB%5fkh#Yw+&;D*qqv;qkD&EQnQLuNu6|lb6=7 zzx1U1+o6bUY=6qc4Qy@i`I6ONvxa~6<(K@kHEURXq@z#}vMg40RPlo%jp8nq%cRxY z({b;GDbIT)7lrr4rt>9hv1t7ZNlM0(&=YM%Pmg7A#$h-Myc^tQ-AVWt zcWcteC!B{)%(}Z!N6c}zp5uwU7s(PM7u_GbQ;--~nev$8!Yiub(M@CS#*FJQ3+DXy zr5Qc%&W}5VpW{c){m0Yq9$50pj7Eo)S(;KLv|Y;5kEgH=Hk@pmERQ_`8&0D};u)-| z4X4o|@l4a1lJtA|@KiNkt?1*&Pd|s~Qy&^{qYve1Xnyzc0F{i2M5d<`c~m+@(OOj2 z^?T7r-f+&Vl`Ga6J%F`&d@^HA8;3U!X;?Sso|Lk1{es-yFD$H=(=fGjljgzt*P&6= zBH~;)1l<(j2o#fyU&7N}ooo`r3d59GuIp8?!VnUpRA`AKMH=BaOJZfF`S4?|)9Pau zE@l-e`7Cv>pT3PwkPFLQt30g-P5Os*1Rs33k5Bgz&~Mu<4gqW0FLEpv&x{!q(^ltiC#g@5{4{e#7 z_%*gwY?({EmJk1vg^Dfn0^&!^(j*^BsU}UMlx9C)AB$Q4G0|`K5n#vdBj#gT0Ww+M z-j0ujS0V8+Y_aSI)DL6eEAOut)=Jdd{ zUUyd)PhO%Y?jGLZURqsdAv-QqK9P$XtS(23cYgC;4BRQ7s0fH+MOfg4I8e`LcoJ_u zA&(J>tzK-F;mIGMcG09pAr0)N^RL8{D|p9YKDjBLtm3~|^#m~aMEP4h+2FxdJa7s&4ws-Xr4zv8+oDF>4kSToc7UZjt@ukr})WT zY;gazscEYdZ_#3TFP0|%u>KFV$_ zg$+k2E85SU#!xK^?Cdhxd2`0r-o2ln!OuD4JXa@b6^ojc#uw^I#sU`0Mn&Y#ArDk! z(%LE_q3V?>ZJ3gU(QfvWnK-MBvzpJB^In}OrB*%4B4=z#NFX`L%sERI#wd|M%M+zY zEP)7j4-F@^0VCL4!eE@lmO@0>Kba@heSlDRpD$1u+-OnkE-J6R&a&Rv&-(MRm#1n~ z?ymak$t!1g0;~P9`qe$CKLm%4b1|VIlsR&T&Y{IR^yC-TMe4~9?DHqgj!`!;gV*Ne z-OBU)(+^Mauh+35kIhd_Th!&&2yLrph_+P<$;E`$%rv#;d#N?Z2Snx28i`Ldn^=$a)DEb2pWz z#XN9~-3(=-tRE{e8^2hIA?g6#KF9-H?ts0BLDWD_H%>!DvAQkpr0FC~XKiE6CbbXm z)WG;sD7=*GMfTYfTczGvat*luuS;Qpt41xqj)Puz5;0gH5nK`jpt@3vmi9vVb=~C( z*Zf)^6dsP+>94(7*e%xW#fcxy8fwI7%rkmve8;ELVMuy9j~mH2Hni1f&OcV4XOV7Y z9l!AQ)~lNv)n&1L_S!y^YKPP74><7LmYS$`Gf9v+sBd_P$pR z@;&_3-;5vFXBgxOTQSJdW)F|x<kDu4XFhVW zEw0gfvNE>}>b*AWJ8tkZjJ?l>oxjKuk7&+Ur_Ot1RJ#@lk33kRLCut<@8-S9e_!=1 zd+?i)3p%tNAKxLV-F+<|Wo3Uj$imjGP3jnj~@ZdnKN(hz%Vj z3kiy7mk*!FWQ?I?`5a&Q5yi?+R>Qs5eD#v%OZr)~8&9~gw^;dn{Y6{(<5qds5xt0g zWzi|~t`Gmk6{)6Kbi~La`ZQ8N2P4H-kL(}Jmh`-Me}%`$o- zv0953v1%0AX;^LbK|WkN!V)i@NA``%_!(||m$kO{pe>o%yGOg&7UxI&nVW@t{b9xi zZ~cDmfq}~hs@<2Sk6PK^`RePkCl3C=|9Z6LeeIGu#E);=VZq36_}OPyv5+_O-d&nf zvq5O=@c4G49%++J6DHDw#zU_fk}+&9_;gfebn1k(Dl#fW@EYA5Sz{4F%+$P~y?a>4 zZ&t9@tWh3s`7+Nx$X`F3{pYaBkFD>qVQ-U!)Xb)DvPm5dXOEuU+WFY`tmB>`8`F$m z!?t+VAK{l)H-HOSJ#y9To>^TR1TzQQ5#1&2m5jnS!A=S$5P70jp&cOllcFy*7W2N= z&W}z(&J<{kIMyigC|yWv-7M^xcwN|0%CDq+?lnRSQjDx(OJ(PSu;>*gd7UkTJgs*dw!q9cTC6wVzF-UI0sK1=B8|h$QgLo!d(QG%+{dUN zcQ!5jbK?F{qxMe(XP_3)$Q_UHuP~>icZeCp)b;Ig*eSd3V<8#*#&4?&qKx^aR1*IY z|918Hv?Hxbs|+0|SQqB$d7&U_id;07#8X&bp$HNuvn9)?D_3kd12f7N>mR5VqRQBOzU32`nP0rJG z!`3cxTqHlau5{_R7>A4Tzu4W*D~=}^pBKZIxQ?0l{$lt7SC+)7y*B<2>t^6x;8U%7 z-9y1=ZQ{Q~z4@*{8y#BgNHWc-F1!vH7Lmp)hXZi}N068ynglK+LUKiGLA*7(F|gUy%AdL=qG0-1^8V!{88 zkii&pyFi@b7CI<#ai$#Pqp?rX804`5GaRI;0$E7}Q*({|>`T@s2#bdmY+^9$!@e~3 z^Fe%CMLr!CBis3OVWx8_V%?7vzJsa-DWT3MMb+u5jM_<@VmJ~{Q{{1tl6Z=SoGKq3 z8osjpX!W=lzOp>c2NKV6RFUP4_oxXzJm38WQbd@7!xXN3x6FzYjY8XKZ;7d$+4_p? zIrgjZw3^Gy^C1=a5MEJz(m-jWqk7Pzcog-J(ZPXuH24v8gm>|=Xjhh+AnKJk@hS1q zc#X_VZ;pt#;78!teSB36)8585cS{?tI3JX__59%ZRjUlvMb%;iofS<@VckVjB~F%B;_1rISWs(b`O#oC zl$IKPcC|ZXVij-3ppxNtd%K+6imqG#`WU3XmW*U5a_uG=B;AmBmO8@5IO(3m)07<& z$Jz=q_Tl+1w8x?^OoA+*=h`Yvi=XrYY|bvfOlO$Uuh!ul2S_L_<`VE7jCu) zFV<^%;V}FsJXox0KM#f7-8xfu|`%L`0cw?0pp%^^DvMKNyrDBzXEn(Ahv~mfk(Ur&4|ecs(d;-pHSltul@m z>xW4y>V!tG0TXY^F_04^c7^fRI*of2y_N@FDPztxaDu#rX<}bp6c>8?JCWB@6vPkF z0Ev@YNZfKEB~JP*amy7giKm+`>KdGI0z1C)`T8q@{WWkoZ8%&`k7S>3)Dg5oSWS4! zEWDQDf^x)AtS5-A(Q6gmWH+!&R!8OQSgnDHMSnWn!Xu;x{q*<#(Q#QFsfkt-{8hU+ zt4&FVmV}@W)C8uiGPda_Q6;59)^6m8h=?Y!g|eCs+JFesb>|nkCtuq7+PSCaYu7ww z^h!m4&wP8!(q)Mck7(3jhOw>x{5A9Y|KZ%rlCBiitoPLF1^vrc;JbpW!U-JV{lR%m zuY`luF_b18iTiJGq&gO!E>61F)^YNc&N*XQ5)>XCQCd>!WMAxj?+!`Z4d^T@adQ6$} zRhu@^A0L(4t=6KC#!p_1;o0G^m`jOyl0I`wxaF1b=QC=iFJ#JE`1i^(h3+$ve3AAMU%H;tm~^!ynr@-4FgI;Ph&JHto`&GN#j8al zQb%b&r``#~k(;(DXV%4GVV%>;F;8`{-C=)%CPLecc~GPOYS#r~j_dI*8!K)hh%Ws+9Urn-MxRNRZzDauz?R|d2aUD;7d`1f6j+py?5 ztQg;=Q6i*mUK;i9hWjtbCJb0D(Z^eMU zY+&owL)nnltp`~m3&g!sQk3q62*hR)PC^T4rAMkEV!Zo=W_)e$SodWHAIGBOCTBo) z$rxoW-cyxL-pfv}UPIc+IB|;>?gc2rt2sHji|u zOMjj-bo0kKbGLS#GB#&HD9f+8oBt~8BwJoKa@s2aLzg6kbWH4DyK8oAu3jVUlr)s( zsx@g^%uqVYlA+{Z6*H6rd;)-W=)}0MA(p|TgU5CQ3136SgaY4Yg!e+gCUXK9L^@I@ zN+XkxYcz1FMNqi7P)K+AVrSG)R%{jsy7R12S;L&67k$P~uh~<6Ne(TaZPfQGB3u+$VKNmH%&lb;JotL!vKiOhx8NVxUobU%x$(xrY?=9=LK)(fAhz)$7%&TEV9iSyVA0^&iZ?8hL6} z-p=%vf#s_;q4_7JJIz1UTBUR;`la8@$Ar)z44RPD>OxyG*lAOkgkxBncnY~PR(TS- zz*QyN`?DSoVTRH5Yjo&_w%lm=RBlF5AKwhx+>GZTAgP{zh5z{c4tC%6CwGpiUXE?& zLxO8&>?||#>F(W@j2yirzU$LfUt`1J6}j2tuk?R1mZ^ox^|mt-SfA`u3l@BkIsSvW z^FGP}Goo_AWG%sbit?FYQsU4ARpOb-w>BJ8rNl8+elDiUY&b;mG*t?mrb?6-6VS9$ z-}}aTj~Y)?rAhBw<&2mrMg25Yn)vt1r(&vZB4;)te7^R27iNn)y`I#$qBY2w$Eb7HELoYt~9a{bwzrb@{X zb-t9}bUoK52doiId=#DBw#w5SBXP_z*Tftn>0pjA%j3QuS)SxgcHP8H?q$6+$Cz}2 zT@}R~Q=A{nG0l9n(i~$_$#XRnbBrvFImX0u_20xCBXNsM%rWVL3a(=qYvW~-CgZQN zH0BtSm&NJ^RF2{)DITWM( zSziQ0B?gqp>y5>&X7U~uM9CwgB0@DYsxNk1VRrYj9p$Qz+4ER}FToL(0VQ~H?)8+y6d%Gi73Yhe=8bRT3|EHO zc>@nSz}p<`9n__`3_0x(LwFDzcl%LpJ7dCN+l-DQR7iyn8M^+hs`OUpKi^rULX4&bnt#f+s z=6|n*XvZS*k1b|QjCCj|hx;sG#iReJQs+F+^uM*a{NuaVjq7lZ2DZI%;VvwAFSr`( zD-rQ&0v70|De}O~o2EkV%8wq*C(XTB&|qMLs?BN)8f^5qJ73z#OKZN&E?buWqPYj8 z7d885{<6JO^kDQz6$SBxJN5~y8;jK`WCIF8Jw5 z)J4lucr*S-za6`eemQgQ+hf?X{LI(+t5vmC?dI7t7ObxM4oka=Yd=m>uZ=IDUi&1Q z_jqI4`6G*ZByPx_{pFLabGOzHHh4JWxsRb`W3f*Kt$~(xq|u9gs_sJjgf@veQsODf zZW~VX2;sV(9#6U|OOp=E(pd}vRv+#!og+(Aoj%%h5F2NEY|ZUVpvj*q!XLwC9fxd2~wc8qLBU8lS+2tXRX}y`!gA zbQ5lx-gWh{(GQe&@i%ox`F7oJon}dF3ES&gWB1-9&+t{q@KmEKBe1`R?ErEZDaF7p zU}m%9WcgTEhh9|Z@Jhe&iIQ?1W_gjL!6&vlPv2@v-eU7!)x^#RjD!Y4P<8Si8@0Fj~^raPSZa+$Ox-MTIrnf`Qq{1W6SX}!BX+N4=0 zruFK;_j%bPJrlopIb&1*`9BxbFVV0&tGoMQce*1|mFj*|hq=d?l>Q8jc!47hFrEoq z_{218N!;h7AxMZ`vvAB>`z0Ohd)sh*GW*lS4;I50=;y6^%e;)}s!3n_$mzu}6q-!9 zQU=lErr5@b#{FaPIT)sU=RL_>->m-O32@#pV%2junp?8H<5GibTgtG${5Q{pGW_M@ z>yFY#o0J)N#EoTAHrg4%yFLR5m8+qpP$Nq=hv6L!)kjLkJ>%9UH;h>>x(X`-+F2~uNo1B_3zqf zme8qrjXKd2j^^|EoBzwIu$>1s&D1|C0vbJ&}jVoYh(I0>Aomw;_{A6Qy=9$^G}VNetO2t zQ`STAGFrB8jDn;%S>9D$gii#HorXXPpLnN< z@j?L-iC^`$5djjSGgt&jBz{fVECM8gen2g=yzcrlgaRaEiA%TD2MEGoD~WMq~E$F0>E z-Ppu&G{U=@QVG0c5)Ua!LA&Vb_N64!t!kIZq!M9#gV}?8ThV|L*U<0cZc;Cfr&WuOH^IaC(%KsBO7gxhhqBED3WYW3lw73l0N2N?yANX z2KRV!X#Q)#)w6a_+sS`?QN%}gjj2(Qy@<)~Q=7|eY|K7BHM&u+CQof(Rojm5yoq)9 zGAB#gB|@dQuD;E0&eishJoeO6?`3A6oIUp#-6}K5*yvi107|f&rQ@*3E*?CA6Y{Tl z*Aw`_A!`mNcN_V@L-*g;VpMx0=wtrHPHIf|CzBTL53Zj5imx$wyT(=zVlN)!yFRtK zw$2xq(FKVVWN~T;vfN1fw~fO9g9GA97p8I{bsDDV)BHz?>)pjLB^+zqJ~SLr8Ym4k zQ5uH$m>7T(CzX(RmKh2cctAf3cim!tD0Hc`EKf#2QqQqbCqpc$q$qFLs4KqG8CWVa zWe3=L7!zQa93Y6TiO@%|3!{a?2e1x(c|W!xxcM)yZ2aF`hM%9A)qieRZHi|;f_hiy zug&MiK2IZUUcrX=#b9a&>^cad8iZz{zZ1P#q^DkJtyxjEJ61(E{gz&x(OCPj^eWZm zMMb#2XfA?C)Q%vmKauY$ZWA-F$)wF9Gl}%J#!-!q0=A>~(zi0YjIMWI)9MLxjCV_G zFmaHy_)tc}04M99Iok}e7J3d7uEZjS{A;m3-2)6!80Y6)p5bG-02zqFL?XfwR| zSMmKf7HU(GtRlvYt+CJ?Q&omksAlDIL9g5-A zp(GY+6=iscolJ2p9P*_t@}i*~qejJN99@zCqVu|nYQzYfGdH1HwBs1-;0$P(aj<}Q zChE!Blp9C2p0Y~SF{q7G*5@9G`VcWJtv(qpr*M+oL$%dTaxPJQTx!dzEvwWY*)`+v z(>MG}qC8n$ zX|S@qG6!x4Tr9gG%hxB89raET%noZtj4AxzdEIeW9nC zd<{jZ2yEgE{52a(GxJI}8cugwci|MQ(MSw4+7vP7wMu;D5Ezk+@@(Ag)ZUs*n#j}iE4;3LHxCGiX{JYerqQ7=u* z63^sF4n)^9!#!`4goM#75+l0CI+AWCBj89nWO!oktCcH6r1xiSk|sB4T)SDNhLPh* zipKE;xd|^UjLK<{*12)>AlEr@n!Fasju6e<_dAqI&-#S)t0dDol4*Vt%!S$-Io%<5 zT(QT4D{*LnC7I53{3I4w&@c5*u{$a8JZC+zU_tVoI@&K>ToboI2yq?Zw$2c^!sx~k zpr+)7Zt$`F-H?d7gP=vnqvXK zZx^jyV;prR(@h;xCGi0}PF*cpn~G5=?moG#z4njQm0;ye(){^J!)SOGlYy&@Z=|Y9 zLu03NKlDhP;)}y3B95}gG=nREtUp~IK7w-Les6^4g4DX(zZ=K0&aBdQd8V`+z*t1< zh#rmD_U6+*d4O#oyD>_9){#CHe5m0V;YygbYMwLd0*A=&`Iv z)+r4{hh5Lbi#eL(* z9S@|dr{Y2=5k7*UW#Iv;+JMEf%Sag?lWL@}9k`UJHLI?!We1s8?d0(oxLxz6qONBR zJuw)6M5-4&nX*bv_%V!pQ*mWX0Iu99wu*2$X7cpq@RW8`VrSS@<4tv>$HDsze)iCa z_T!?eM&H+a4pZB1<|CYEc(7W{$nq?4KH|0ffAZ>t2b)EVV?cc<1UH$gdRs@rLG5J#=8fNamkvA6QcYWREE!j#Q~H?`K~0sd|3{ z93q~%@D!I&Q4Ly%=L>Z-@8^uZ%#F+1X?gs?n~$>DLKLEJF?`Q@3!y_Zu@-J2V&|U@ zreS@U5b7xC7Tr!1OzVl^ribS9F+@#j-`M2n`=YDDy~%v*nFO|j_e(0~FW@dIsvXoG z!tGb-_(=|za2hXS#Vt}}gQPnciW@<2pbWA3bkC9%AB`S&e%rGjKhc8sYZ+U&b#3-o zJFPSSjQ3Oj9{zH6_L1>})}PGe$*S6^PmLz`)r-?E%c{JUjiZjIP*nuo<$_@^?->zc z2A4Ccg}AX@e5Fb_OH>~mOV+7lgVv12#^k*BB>&};@A|%V@@V4pH`B*`ke_;T%W!HM zn`?MF4d~FQ&STjrzyI-O>#RZ1>ATZMADP^7(SP#YAyUlBK8SOh6lb6qs%n(yJ<>#o zzrD~bA$~mthjuZ9l{g~{^B`#`;krKAODIY^+KCMo*;zN$hC<&~!?36MN+U|-m?sAE zD&v@zCX!~Te3ZmtC^8@*G8E79s+#RR_Xx));=QiMLG4u=y#JrCvC;uQYR15g~4eJRymb#Xp2Id!m+IYd_1u#bw&u8Lt*$Cj@*zm*N z2rQ7GYu?{YU2A~ai|HEWd5EQl)V1PGi@vko8O_;t*1S!vI_27jKi>2DCA$u;Wr|M) zZ)0BB=l$K(hYQ8^fg~*SK{U#z56>7`;)d5qm2l`oPoWQ>BK1Lvz|sdewzkrw51*CL z2P#kc0Nkbzzd#@M`$gv-;jAs*TWcJ2XntH@;A~Aeom%(bhANFxzzCfpRkoE~Ww9hz zXbmic?E66v4cdXVZ{zdpHhf#R;zKvKf6mJB{`1o&%;L#Uj_#D*j@G8j%3g4l$+>Dljca&C_W%|+xoXI>XZS2e`3P*2HW2InWGt9M%Am< z?7lv8ZeIOIu8J*tlkUnRR+-+*0VqdOAyX}vVfZismSqYuTjdJT_XC!S0ZBaFCYI0m zHMX6^!q(3k)oFYj&Hk){6buV0bOd<1=H)G)tnKi$6N1s!Krk;Lm`IgsbR{9Gt*YKj z&90Md%J(1gPIHw0f}l%4oj%xtb~)I;$lF|%R) zUwmRKrE0zD>^}G1|Ih;?yJZ}CrnhmblxR-Upf(zX9HM1hkPpOD~ zh**JjVx5)Va*EsJU*FndZ1d_h+SKhgyi^8461V>_UN6H2=>gsPX$MOa3)Rp2x@U;7 zi?L1hi=Y}tY$W!THTwkVs*Q~7e_$xSW%JmsEhENGo7(i!nePU_^x}>|Gv1#x{ldC2 zZ{&9`mBaZn9`4-X;Z|`h^r0TD_^rd&(VF&6#N&TkNE`Q&=bG0`=u$JR|8f#3SG6~WE__tK^-b42hnuiu<5 zi8yddB6GPRvX4ruoivHUZ?p;H=woR%G>aC^QnON&Bc^6&iE1x7`B54*l6DpoQ#E)vR*ZH&ZV3?O;erxxW_h@vM@?Q1+HqW5`jv?v#fAB_ zS`zee-{|LJRM6&BUm@Z9i*5aiefHZn8ixJKcVgGM&#%9-KG+`G`Ez_^F@FoA=4IY4rD0oUIUbA)4X4%Fvz%NBjD>)pv(O zliEM=ak69(t z%_@l-3uErag7Z4QxAa$fW<4YQAGpv5asK0ufm?4C{&P?I!~-1`;(-pAC!Lf+vryXN zHn*Wk$7sE3mQL^LFAW#iL^C@0Q3P;I!DpI#ACfk%5-{;pHk1NZW}SZ8IbB6JAtT$; z>gIRXYXk*u4+j0Cl1-fZYFNc$VWPS@chNJ?%F-f8V~JC8y)^jDun~4C_$4_Vo$i+o zB1NVYa`kuRRy;|V76KAS_WVa8dtOK_;9DPlT>n`q=aU+&jY%hqz3Zn>+4ClyVC22i z2`xc~+*T8R(^<=3o^D$;@wfC#e)^OGVB*7o`{}gx;X|CeB^_8f^p}NW8$8WVpCVwA z4nFYiwzlkDO=xRg;@Fz6DYoXH7Mg~wc@w|tP4I2aXVKQYiCk8j`>e_u>9p zVR+mNfnz-(YZadq5C6NbzE5qnh$^5MHJJYYWZ&gg?Qa$NcGP3&o9 zcPaQ{o33DM`u0j0TU}t9F1J_c35$F#9a)m zv$v-vyZR4?O`GZQcv9}os0mTxfPmGc+eC|O3oMoBdA9dL;8eYm1EO}KOVkucf_%?7 zTK2TWsjIXT^eJl71Du1ViDMak$kCC68s43$P!5AZMN5b}+;9 zfwQgcWCoarw#g8Q9Cx3!+Ex1dC9?St5L(A!*NuLDVdYZ zRO}*7E0!cJs&`F=phYq)l9F#vkM>DEB2o`6nJTTv^ZvIpV;6g|Y-z*~OJU2DdIk1K z8>3j(G%{W(Ssu~}hL7KnK0S}q`jnYui#?KmBgKVF{PGt{^_Z=36oZDW5)R6nD(ssW(gx65^3p?xbbBTJBlv^ zwkjdx0xZYxM|@kVvRv}}7MBPKh&%7dO%!*Qp$*{N{8F~OHr#a{3(e-$A~QSFLbGC5 z{`KiY_(=TBykFSEZ~T`<#8={uUEgJ7o!|D{g{jjoxRo25u}Lfv{KXdSq9t!`Vl~;U z^WU+Vtj2SP7O@9!CBMiTet42K+P0N{`q3GF<~h0AcJ$E0d|!MJoAbU8vLj%#zGD4% zpR5&My=HoYq-BX%VgL2?GPjG*3n<@vNs?!+v}1wxrHQu99eC9Th$a3M1U0BW5ji!kw`H?eh{r{>b<0$)#cYlP`w#~u|7i= zq@Cr-vRU`lNNjr)tihtRH7PV+k<1?czW8%(P<6`|0N*6J>d3gnXTNZ zto#CPHc#%F-LhJ%(1z*lQjTp%g1?y6wRbJ2#;OIBiAsHQC7QnpKJNxeVK^uh&&pC` zd2-VFVC$g=gIjvRkN+o4}~h!uk9S3O7G+~URh+To|+(x*GK zgoT|0JcV{lr5@@`Wf*0aM_x@EP(O z$X;A$Vt)?-^fP!aVpfhdw~Zp1)QG+_M^S8g{k)o;8uVL~z@#$Qtj0H12<=_qA4f#w z?&HWu7~@FnxL6x7#tX7TY&G3+B-tuAM-nQBr25%Ll8BOtmX)RoJ~nKsP^@N(9a_pz ztU93#YlJdTbx?*6EM@RBVJQQ;&Vi4)TdYADQmC`MM}hlkkTS?n2)Yb7DT8PVl;Jy{ zGOQ8GAn`2o2sbH%zgE98EG1kl#i+bp8InZ(qztzAe9DmKz2N*1qpv=!p|cTE)^to= zm7QU<+vJF-RVS*h*cfhs6Q^~>23VbDwH(fEd|F_;G4aXs2aI81=g;loAD!eM^Huk= zEg?(CXDwiCSPH-X{nwjV-FL9(+S3tVrD^XbeLA%0R=H)PQ!lK#nCm?kHgtIZ4z0RY zif;Jr%gaBTfMgXV%{VJ~sYv-^wD~Qo7CAz7qS-yOm&V$)N{y=?Q@vqg)6aOJv)#Yr z7B{x)T?RgYxaiMiT({0U*4-oXM+Ngi3PO}|VZoAj8F zl-J?p>>2y#KV0Pa^Ix`L>3M!-apTTW-#s#A-0l(V6>ZSn+W<=@ltCzZvQ+d5r05bQ zm6m9_h?k@pQ>eWrO6M&R11P0*j#)aZSn0`ZqpdXAJfclm0x}yU4Y#n^spsP>X+G+K z{jBn?w-8aJNQ&Swu#FG@6>0tgCpuyn5q%5`qGPW|sy~)R^qeWl`28e?1ETDGV(Q?c z<1n0fb2)XF>`tfd2&X(@Y%SuNB%F<-*=}A9){{lN!|H5i?CT5s#tD@z7?-m&gl(?L zSMk&D@(*`2cJ4b?c?_~B<|mJvUC|ML=K6%smcRUM!{~b19r_O+8g|Z`dvVnZry8}a z+^t22KBK#W73^Q>U%@NGh9Itsl^1kiP`X0Hf?ag=2pkpU0OBTF93Y~fa32+o-k`m& zur_B;vaTmLEIfIcu^0IlC-|T551!kF?OnYgy~~(K)Kzn4Z+8B$$Gc$W_5II%UoWgY z|LKcYJ#*RMwiCNgd4_fCG_gbWvK2E52NM_gQrQRKf)+WLTjjB67zesrx29%&o5z23 zEhR+AR7tfLAF-L$IsQ6}*zrL00|`^6^q$Xu{AT>Q*69z-%SxG*ICDl~qu54s($eNQ zw-gR_Zuu{(Rxth2i~Xh~4Qii%kJ=4frKyR#QNdb>&tS-1-^do)*Pi50*p51J57um5v3;!xeb)S(N0Zr6)|O=z zj(Q}nS{aR>2)s|zlipngLb1kihYFIE{{uCNtBZ6af3}fK;=R2V^>g;1_iU5IhE&^HF|f~lkUI-+GXti7wu|Oq5b`n6721|+01NLnQEFo z^u3irROg*D(XQH}Ro0#!?RR4LBr2v3-B&_A>Ps$Q^Vp8=tsZLk@S{x%_WpOmn>$%Y zR`1CZ-#5!XI4||BRRh&io)NCB!b&Z=wuyPLO?392CoaGC%eb$e@3LZA*OpU`=Q|>( zd7|bE0lh^hwU_!M#791bfmumZvCp(TP;H zg@1PHfBYr71K`q0_7D!3XX1eQh~)_>yT`{RMK^C9w{%(iJ|7mXUvoCY-}zm7v>P^f z!s>1V)~7G{X|etEyEtmT>C~{AEgy)eA3dyXk0nD{+6T+gm>zry?scm!HBO}A`5ayi z1|cRa%$2Tf_=NYX8(07S))gKLmkP()@}qo-^I6d?tPRx7^|(|wp9Z^>s<1a$H3pTc z$FbV_QgljFPn}YE>3Rf<7;8*%M7pwI5hnP9j^w0WnY}5aTa6~>a zjsqx`Cixu2|Hjv>D4pZ7-Vp1VFsV4!@gE#pW3>JsUiV-{)SGAz_1|bM&hhC8v@aFSP>sep-e()uVfegRgnX6*>y`# z#9f%Rz(6w$4!S8>?%K(Pl;A`rP`lI{EbY%v@@GdG`Pi}><>%>{som%H(Gz$5Ht9(G z3eQWWu|{n*KGl&mE3^R3tBJ@O>^XkISyH*v8UeR_2TNR=mbRuJ)ljz4!JM2!jmjFI zx*K{5h7|PbRWO8zf0dk>ne4fR1}JF22+*X{qh_A#Rgs4^Q9Y{Pt zKP{_RC7!FFk?ubt=^bp`FLqs$ z<#DVKqrz8yiA#>U9k>>#lY-CUIQA1Fsc!`;_7i03JlFj;Dl`ZsK1Pu?V;}By z#US+I`TCovh0(z}9SJz{7G=6axf#>j89(z{#?S0Hd$b~pr5K5>6usskPs&z22ZbpO zw6R*1omZ>!HvD)+evC>xx)!|#7DZXHwXqdd>H3(d#CT(f1r>r3Lb2)+cPBEX1+GG^ z4Mvc2hWnO7nuUn}MGfprp2S|cQvN1;(Npdc+r=M8Wj90kO|W&-;V$A1-0G#h>uCk@ zf{ZXt+XVShOt#ZTJ`P`WiO|IVqP?ys*(RQFrTi^E$W#7T-kWVk%iST&E!yHn6>1UJ z6;CUTKB_4zAQxU%kj|bJ-6U~R4~eI-!KLCUjN5Q>*Jb%EO$L)&AUy_h@ZtHcm;L3% zpq1sb)g__>J3_R9kQ=s@;uzXv{->5_)$rqMyghp#-yr-i0%V=pN#0pkjGxu2hGHmc zi1E7yn}#+C8p5^5MlJdziy;-=hm)Nr9CluOD$%SFjy|C(9f#3h&~^BF;h1`%Krp&= z<3Fv{0#q!7$*IO&HX-0=nEL)&_I7xq)-8q%S#tQPc5iWf;DL9j)8OG&g9k4;yddr< zOJ^?`AnB~-dAUu?3j9E`IaApIi{C3|`=ZZxdx)PdEj8ebw@8(WdZu@lBi4=y`z9IYC{VkgAnQMRJA)KBm6^cUHU)qMF0L%r>f=5A4;!2AlS-0u>O@z zboFwL13M*|k>NcAW3YyCF(u-8FAO;J9r`pHg6##titvxzd=vRLcJb=*w|-*_rHBVX#9u(fFc@*{IEnZ> zN7>ImzqPM4F+;PYm}#`^7aEtM$UvOLX><{eW0tk0%|JJch>S!tM5>G|OCw0q$YSe+ z)(TvV6p3duOxw5B2}Am$L|-uNku06>uI8l!pOOlhX^H3Q-wFdOYb66qIIP+vVMhP| zDxy_C9W6EM&r~qpeK^?%S-)Ktv?uwxtrSh=lKWKF4CB+Z-|n_zz+jUN%7af2VX#nw zdaUX=W)7GdRn>aDEk9O~zr|zK#0E>xyW3W&#E**sbL)&_RME5g3o{O+f}d9S6w3oN z-8%wAPi81fMP{?aVLMEGlycaHgEJFP#hHPM&^RGiXk2-$t;B9ZR8-x{VPTYaj2vFd z^|I@pfs5MQyx!`kuVx0V5uLFtJnRMIGLqo4J0{sBs0!kIXgxC+lGe3As!1 zde>=EiC>Bv-)Hvn*?s)iv!Jfc#x__H`s7P>%)jw0gt7 zjlM8Ewfyp#7T>ETLVXtl-M4<6R;sXsdqcuPTi=hI=MDqf+ti zV3k|o?(T3FZR;1$&iCJEWB3?;f~Oa&);;sDzsh6YJ3#)JNz&{sm=+OD+l;6ddfn+VOmGEc}5ar z(Y5P!O`4x3uG@K=)#i&w?is@vUAVKZ=m*hDUmA7fZ92^-nz!jxW#db`O$U5nX{F=X zHVibacd;A^DfNSWyVxGy^Q0PjgZ10JoA0<`{HBIZU)!b2+Udq`bUH(yzlHy}Zy*0@ zGwar4cF$h(dP9FHT!zGc`c`|KSn24@GlKV&pZWo=`o6uPk>5y;AeoT%I55;mJzn^< z)|h8iB;t(=+(VB}O^; zVCMhdI;Rvhb39O#;0$Ji`SV&b>&f?MZP+lr5d!%QqdONbqOnpS_=rI+@9TLRxwIt2 zjkksgvY(@Z0vFBji~Z9DfzH(o&4t{6%$)v4RbxFBY*>eHmZP zMtUlQddh#I)z|8s0gY|=c*QHA8zj%Nq#|6ZM$<>RL{EpQ4hHR`SY>1cj-AnFLm1WO zOyF;DKJ{C6jy=U$C(h=4&A#T-jW=1BSszYh6Hh(KU&}i^dGcv?oewWO$ol?zm5n%l zlyAKH3*Y`Gn=;^~yoLJ*4?VCjZ+kyyfq8%jD&bB8FO|hL`r$#;eb~}aDat~73u2W` zwd;r3_HTGLzwsVEikbZ#dp`4vO~>+2j^VHHf#O)xHNNoJF?=|syt>{<-gqwi@h|qP z>qRY0$we(eP?Y)Dgwz~LFb;;}LjkCOVxp=Tan#_-LAfk<&*=hu`5^hs z8J5f(1*iA0T+f-YJBB~?$NC9x7xWmuV=POpn9Z^n4w8*vte^nbmTowMzm{ZIgzS$t zIAE-Jg@tY${K9v0Ru~5w@U|HL&B4l2`Z9xdL3xs_JH9v?NS49-37#y%mnb5&3)6w) zI}|Sp`~>hkd_xuZIN+FPAM3e3mmgve@Kv!B`((C!g#BBg z=$$IDebuvi6-;W-_tE9UM?n;)(11+YGVnfA-4SVk;_TG)%SRxv0EHOn9*d5+?<}O8( z{C>axd++l;FJ^(AJNL|)GiPSboHnmS`3xmpK)!35r@v%HiP zRP7IJFfRH*mh#b8^R%rbQY8vGm6wu*T#EHC>(!`i3#C!r0WIe~>HruT z&zs9#hSqDWZ*Jx6WyyL=OXNfK8saLH4yA48o;41VX6)So!^~dNI@dDz82e*rKZ9*5 zn1zDXzR*ri8qDI$c|T&_3uO3x!15PSK2Y-qCM{`tAur4wkgPi2ZOPKo6hc^?8)+>0 zk(1NU6iVUX*o)pufpHmul#a@?f7?jvc@}&=kQ8ijtt?lSo>-(lPa8J}tTy{0v z&}rzVK9~2|ha{XO+sjJbFPDN+Cp2u}?9!mo_|!n`wOD#_7bF*qO(E+Tnf&BU>J9+& zgY9mmi=jVt`jh&dIKfu_$@WmEm{tCVwll={;kwY_E7-GBC)rQysb}EqfU%pm*mw~o3`z@W!oo?QyR=bGqZGHBh=rUVgc^O&k!Mz1-$NTzC@}^dvV|+Ws zwrL&Hc^8#hvXten+4}PPGT-GL-@!gER|ieM1|%tgxk7e=%3Rk$$_(SsRMv%db(1zq zl?+d1PkE4GF_NTQlN%X28Ia*gOX$`rBMTNOeNnmGJIoq@I0c*Ko|A12TtBdzmDBUv(JX{KU}0MomqlCR4n#z5xVlIJG{*}8 z%crO;6{ktp=@?7@OqYU5K1|uz8O+3b#OG1+#&4$nPDppMy%6b?tRxOjje#xSqiun@qrSIf9 zkj~Z_UD-zF^CS2uUlQe!Cw8F1f006Q!m=KP3vUjh%rv%(o%L$T?T~cGDctyDu@%cN(C=rrWUF$P#G2#nlsFQKuhZi z#_~|YJfj74*x1S``ToYr)VHQ@OAqCgp^W@7dw%qp(SizF&HgZ}o-bIs7c3`2!h~Jg z$|O!g(llil<4$k#Bf9jNCj9ghOZd!Ove=ZL9@4~5i5G{DyfB5XCY+6mI-5|5h3l*T z$fiN~n}7Kt4b5gW<~mz6==RFAOJM^pEnInfurxSpy4h$!gvw?S=#L_<2$Nw@5hUQG zFpH?b!sh18rB!kOt)mdbDSA#JY<)gW(1|cs+57|EmSI;iEf4e+3}tW5PV<=+Ih=Va z9IS-f$uIlw&?Lg{tRDtw*8DgH?>pfygS(t8aFpX>H#pfAiP6^iZJXX;O7i%cwIody0qDBs_{lj{Q^OR6lQ6z6N^nrb+OTH!*6)8 zn407#xbOJ-#*>%+W5e2%cev~M-`Z9V=RQCu0jG;>2pfgW)l8 zdFS-utcU;B=?xNQj;~dFeDdT5Srm04w!=6vMEpxrL|CbdO+{11#qe+*5&t0fZ;*Uwo#aL9 zK2KEHL!CAniL|Ur@ld>@2nJD^qu@;o+v1^>*{BU!?~6j9E{5xvKV5XYIFx)y{DNOI zxP*b(pi1;d(_fvoxfVdA=CuuzGDGNf{w8dM20DKmF0TXYvF)r^{zlAkRkvbEa~R@C zHGnTC42*m_^8Lh4;0n;(IYwkgpzHMdFYNFHQEKI1Mwxa}r`T2gM2B{;@_K*PRVn^A z@Y;^1!xb9QT@j6d!T-65{{;RYK!dfCFd}~ds0gOT+RTL^vF%HeP6wr8zMzud74C&# zo8;VKq`#B7t=7fZ%eGYa)t|N^6Z$_>je5&+oAuP_Pk9boV{FD=uqjXb|1&Ds--<_!<^IQ?JjB#VFqqRxYZEn zPI2o;gyKs&&4M~t-9QO)lW`crFipqU-vw>N@f|BbzP`YT|7i+a6rz>xF6+u3O<0H9 z?Z?wy+?{%|4D75MaUMF0l=sc}P*%lZ$Jyka zh2V430SH7AWfpvEv=Dezw?vUD4)PMM*;$s!YOt*b(#Z1QX{xn84eUDhLnfQcvgRBm z-^`F1KGVN!I!WKBHx2V>6W;U|&7u};?;^6IanGs2T?)Ezht2ql8Sdeg_e)b4`Jbhp zuW8gnwqVSUQ`njemY2GP91c>mghQcyw~u0%&ayLyK+8pWnPzv*DuMTLi1fF`LByh} zhJ=1bK>9>b?&VRYa|G>_6?HZl<%dGNeOoPn(>@U{;-7mDB9AC4QHAn3WpZVwV z`;+dZcPnRaO%XN??105o2=x#gxV-0YYig7a8@5|<@Fi>Re23*06JaXt)AdU08MZhm zXzQfMbk49wi8el1^L9~(>umY6r)=Ft$)nSV7M}6l0+TvXUAkY2`m+nh+hxi`u0Azj zAA7enjV#b61XeR11_EQYJKPPqH58{;KEs@pq%I^sjB4oF_B-QyeoHYu#ihl%dU?OG zDP8??wAdHkaq%YanHe;+V#adQpM~&RL^L-16&+3S(RS6eTtem9FXSsjsl@ze6m~V> z7`yOX8ox2%{MIP;sW}VKexE&5ZcmM>Iwi69w-ev&?x!X1c8NXa?X0OC_@$2ib{(#O zM3a$unYub=+zqgb2Cfb6xTt{g7YA_*mxEN@(X||uahMc;i_uoTGXzzVH#5&i?7+Si zRPj)+#UmZdx&O{i@2T|y=~H~q?qz!(4q4pQdr{1=g&llS^)pztQ}j4%(P8TN@Ctby zb@FeJLc04Mp1Hnft5`GkA&1SmNNpoe#>btF9eQH?gfr2=jR#xdDh9YDRNyHu{Lyz1 z0Xb>DiJ|*8d~ z4X>Gwxf$l`=QxMBs23eEwrZbKu&dN<=B21nS0+xlHg4DzjPnSP>@a*>G3&e>OzWs1 z6%N62J&2B~T9#{7ur10mB9>(RNp@%RZmNG|{N;tU;|CpK2X~fs={7Mie17LHvwC%n z@6)=}YVz1PXk4w7AFI+88u<2C>VF}4%}^F>Fvwb;6^UI(UPws1HY#xX3U66!FtGkn z+qm1AK!%5WY8|oY>k;y~U4(q9QeT}JLIrrBYUc=03%w-==r-g)#Y>*t=Wr8;g zql45$yJ{`_xONZwu(WvxomAd`mcP%Gu0iA5XqWoTy*w#}{jrluc8P5gIkU~A9$%dF zuTE0MrI_h3Pb;?}Okw4L{tpW|+HXKRs5X5^+n_3mgf9|~VL2s@doaBu%?a!}Bh7kg z?772`y94B!f=j5l*+Q$a$lr4yFhas{ba1fZ1`T0I;YMRebdsWoT2iTgJNmcS-)Hy` zhu;3wjlB1;!;hb`1AAgFOpqr}|I}`FMEHz$U6Vrw%=XqDJpS_gs_b-m$EMDeT$@yh zX0hy-%8%IA6Njn&oyrT@?(fY!4;xO}#Gj8IaUtHO|NeN3;U|DDwrb^PEM%4VrD*Q9 z)?!B%*tpt?Bd~*GD_ODSv2Z5;d6R!J_vUw!E|T+uj){IGrOuo)t2iyvjyUo$=_32# zC{f$_FX%SAocdr++uh`HVISG=)U$B&c_Stz5X~I-K(=4&=-ayOAm7e0J4dyMx-i3U z*5KyNTMkTWn{qZH>gwE%?Zeu5`GXM!ieh>5G%asqaO@Crq+%4PgVM+(A}(QeauQuo zRk9YgWhI?fE`q$JwXG_-@d{4Xa+A~S^6u6%9xU4t;1k_?%*5r}D0RfyJdI)QwZzsL zo2ND73iv?AfzY{S!Jqcrbou;-nGt%%OCIdcyjR>1f;75(rk++VGs0E_3oUXNOZNZCgHZ47rWyvjbL$H0r*pdLTk z`^6oBrL2j7$le)PS|C=q9az>v$riq@KSy)32%N(Di!{fJ)aPrz3TFiZlU9L6h8SNe^RN=yVtM1Mg=+k;fx8YE zgPSCAU!9{P@@vC50^5j%EfTZKM%F9AYeMYMOSiYJzU$snl6-w4e#>jrKcy$!+=t{Y zG}GWNotWc$!g?mzR&8>8^yt5$R=LO3t?gB|Vsk2SJmJSfM~6v=SvnSDzIXgvsxWnX z5V_|USvLN-dG&_`q!FJSnAjmdCD*j&vl!c({Xsd$)2oB*0-RV`{7oy%2_ZPC<(%xI z9K+FDkoVj2)o?uH0?)VQv#}L&!AULW?wbm zk9j`i!v6l#yM?{}r*{kcj;95E%!gb^fq!~hNCys?vvJY>enkx-`0%GXP7Oipe|l#n zT^2%*I&xgNQ7N0OIcF;8Z{?TgV=12E=<+jUf?zYA)5Ka#9C3EzCJdaiEY!RPT1ztN z6l~PYr7p^PgQDF=JJ`AFH`uA&yQsyF*Qxn#7UmrvJS&xGQA*IHcG`3vyiyv+raNrn zks~;p*QUNWza<VEm9=Z}~_=kh+tVU*i!~c^{l^-}}f;H9h)p=+6l*l{y zP5Es0nAgucF3LH>sr6IyDvGJn4&~`Z;LL%)0H0dbQNBbls9JwfUVTx&E{7x7OD&(5 zw^_i?{H8oDub05ngO>}IQtPkCOW;#0Zv)DcxYwqszeCw?yuW$dQ9eN!0YrUdW*sZa zV^F@+d|G~e^JVN;(e6x?uNI7?!cR8AnTYbk#bD7l^>-Hg3w}b9rfuF!9k-!Z;#PEA zYU@a{V?E^a<7RZN4em?hTQ&AZdm=khjwfGrW`>Q;s_>Dzdi+i@!EMR#mnT#J`C zbNH@bP7kRc6(7&eRhTthdPNy?1AWaZQU@#R6Z>=P1$U5%oiA3hqOP;i(=ZfmFEu_> z4x?=wA?nJicrN5BFg8#0%Y)*mKp^AW1nz$4+XQ4AM@LjCqfsK<4o~kp)oay~I}iS3 zN7rnoCU>H)u-|W7oO>Z+)$X;|4v^GsVV`@RtvYr#Fyjl_tG~sLG_DiWIwJf-*ySaw z-^N!rTzJ)SK~#Ktjq3Hbj0xDg&SRxVY|RFq)`9KWPgIW@VczY@`=Cz(<8ucsSkv7x z1I0g6ppcrW11FHs?5@&6)?c=#WmMhU#jcf&^Q4X!-(wwS=ct*8hj`l3qavRc7B)YA z#FScZJfpLKJc1*ae|~5u?toX1G?JrhSyl7oC`3Dm_BK}Qw@|a&M@hf7<2?59*xpCu zsvj%gVrbCNaSh33LS)z&7i^hll!3pK&z6Zlv&ZWyKV#bwKInA0UEBHNe8wINuRQkJ z__#B%Imf}*qItpZsVjc7CUBS->IH$(-U?c_BuY}fxCyh-&6Kt>K1a- zm0iSMon0`0$kheaho^;CZx9jZJ>M{3mB(?}?1u zBMoJ{s0%o|4@BYXf?eQ+DwxG&pc8Y6d&Vl)VWhlAD{NcTsNc-Cw%eGl5B~&{!22Ti zW=oGsCCu2_ik6>pL0Q~~B4AbGYi_{_*Fh38KhLtra|CD*o0i_tzd`@mon*(>HE4S6 z_H}%>vOkYN8@dM}C{4nm8_fJ^)L5RiDLUW}_I&~t}Gg<$~>Z+FU+DGQh}vlBo#_w`Dze|FR0&^&(=f~ zsm~W?6;3Lys1q{GH}L0Zt`>n)Sbq_WVg>cZ!mPrXmoM9hzH%j!TArqPRis_M*Q@0# zsFW)6h<5qH%*%DUp&}Sb#h$B5)Y2%WfHq=LR$(mD#1?_gcXv_SJh>2tSd!J+vosU2 zB$MV4QgZQ3TVP~&i^klGQ5|L5s@1t&WJg=iSyz4@ITEPabo3R{VwNu5GesVs0Tbk(q-TI84m00(GUUZ8?FL7S2^rrM8k_ zY;qs{=*Rp&!s*_3O)J*TV`a*l-w}>U?@@O!Fcvl{$J(GU8BG!kIDC1 z*|OKzj>nm7^Hpo({bGGTt&*KfCO@B(@?>U-5;LEq%z2(%5>solak$w4Osy*1-Cs-y z6CGrD-Ee(8(gSe&1wTD(ro|9+G9HmWRf zTFBlXIr3#Jxs2}DaiB}x{yNQK_T`U}xBoc4PpZm_J!jhw@1j1WyG=7UZe(${Sq@vh z>oEB}r_aXBeaEA&%pUm%nPFZDJjMK6q0Ub^PRviWoX{gVZTY`>Q4eQqPzY(uA%NgqxKfK-# zM=&vwMN#K#))?|@158ZVCb^6#@`tJGlQ<+nQnYs|=R)~zNr=0^^i?)YaZi7^Vs~bY zWofV6Lube_;{eQMZgVu*990{Y=fgSvM=h(Mx(5@>N7&IE~Ikc#lL=Ow?IpY+D6@~4}?SgWwp{S9i zPXKlZz2f2tU&3uIv{`H%1@OB11YCXRzNT&A-~!CC^&naVjKd)czeR+N;7>bhiIEO+e;CxD)*cN`$DQM(EjmpgjmUyn*7AlgI35>A_k^332XECap;g? zz57g%Sh%#7thXK^iv_FZ_F39<1ABP%AbY%p_V@(%>(Ru&0onBQ>f9&LbLOR?gHBBy zn_*W*7qVi=oGVd7_< z#{K$Gv+`O8?QuR*s&NP1lOUmRM^FxNARv}deO(HO2{Y$tT0?&spGx+yVkWJ`uDDeS zFzO6BlC6=uZX$b|c+*Pro!}ZFm#Fr4sO=nz_-@h|OlXR|8vpCcUBO9kwH|yj!8kd; z0dKZhvZV&x;b?mHnWj|vyCKP)!WRV?pQue5&>Y5RGqcoJ)4?r7dr}=A?Irvc%&S8H zH#$&8?E<%sPClIAN)3c;im_%^L;^(-c072HyTs8zSE8qm@IAONs+|S*Zb#`4P zCzmdbt0)z;a}jBlRNlN};^A@R=RErSd}$-%-gmLuC)uyN0?_Tw7{4B(+vh~LCGD5I z<)ZwgKBGvvtaQxVuC6con`k)y${B_)#fEGq^SeTj#2pN%F9Zlp5D~?1<+f8Lw+|aK^==Lp#xj}Q#UXkE=9T_ zX>aAvBjpWR*PECSZEaRsvq8pRMf5+GT5tteOyQd$D)|eN*;<4s!Z;v^ zbvn}c*$h!~f)gvlIf0wfP#sPbs=&`3L1gX=B6h8ESo&}%5I5PwnqmsPfR$68!S5>A z#U9;`iMdVHcXjDfzkblvp7jIPNEN$u*+tcPIeWAVWeoyXjjV6{T&&oq&-8BOEwbCO zi|lTV%)UlG@>1^!8~erI7{~VN8jZZg9`D-09^V>?lvEQp^qqWTykP)3))utChK|{y z_k8l;q3Kz-qyJOv9#lu0I(y`sxIXjE`A~T7mA>+Vym&vaAsp3k$an6A_^W zy9B4oTG(;;%7*fvfm3l#Jtq^n5!UwR6YHNl7z<@N=p-Gm#eBeTPI$hgS&BiF`Agy8 zYBIehjiY5OTppTplE0U3jM0DKteyWFhV_X~0=n3j_()kE&9jS!zukHiu))AAXv_1~LY7W|aYM+$v^0@al zCX1;hk)KHT`u^xS)zp)=%iS zpLRR{>J zng@}Ef-X}-3R=p3zHF=ofUSqXb~bYebJo^ikN-^n4Jx_ZE|CGhMdE3%oEKW*=cT7VHBwEUzaKMYmZOBZ3ZLBWu@WuNUI44t(z?5tM{t;IY z??2$1MVr6H+33hQ0+@q+byLjte~tOyh@q`xs6=l-kVX^;yssE*1MdQY=x^s?Gz|eN z=4Si9EHRPg{|(?e0o?d^;4|S|Z4RhfS?eyyKL^ z3s)Y494SJ~!UB1R%x=8Q<@ zjM;gH?J_27%d_`|+!fLnt#C`~W?cn@an%3=Ko1KIr|LOo($zw%3HQlzHVA_Qqd5?6 zE0&&l4{yyT_ucv;={2=nyM~>9bC^9}MUz?#^BI-o?3zTb#;4j-O+q~;Twm;WovnUg z|B$V^x`0am&@K*E`o#00_EG01vLglqw!08G_HBk-%2m)dTwUzWIgWpzddN@S#`VU3 zy96cIaGct+Zc5a1ws+4S@_GJ(I_}xS_PrQ2-_vvcsJK)wuT*(87i^?He5J^K2In!{ z&=Pjx0$cv(4NJR1!Le5p5-!J#yp)u9B^KmBw41o7P=r17<8Hw={1!g$6zt&Y0L4B2 z#Gat7$1-Eb5{-(X-K;a*T$d9qC%bdfww$%Jg%-0Q?e5499V1xg=zDV({W1x1Y*j-h zA5=D4IfFs9!l{XOl*^jszL7Q2^I=r~9Sy!FjeWauXV*kui3aYCm1^)441D`LEM#{w z6F*&mBaB1D%QG03Hb3nY2KdMIS7*H)!W48g;Y9#PhRu z^_<#XqG6}U=hRepdMSvyq_Vre_#fQ8umP2+6Oj}Wy|AMZ+{k4*NB|%dP7}Y0QLB!2 zz!dh1s($8*alT8sDmrm`$REOT@*trK!`djBFa(%6(zx_^UMN^(zXyIO#Q3gFAWm`IYosoCvpu zPK-Mu!>j|rK{YR+MDPtZFO;b0I6DjU_;;;-Fk8!-Js$gD{?ZqdZnH$=pNP#_N@WkY z1k~@pZN!vwBgo&=(|;$mKlJnxh1@0mDw5MSv!D0ooMmVCpC$i0`wo-i7Pi^UHz{~u z%&EAjeM8vjdC4Pi@YX@&DvV3|)wBC5VBo6>euvR(!2042QLCKs-m+ zt(s|PBO7$8T)wzn6>pE~2*j<54RxP%F>SX`F*CMPHVYkWC<87Yj?1pj;0!7YOC5wO zGBL3ZnjD)dvJFHRu4gG4_y_}?#??WjtGBd~gEFXeiT%q5&+jBTg~WLroSK=@gOKHS zMa~yC@2Wy;^@DZ|AG$WgciHeK%*bvNU8KI5&nfVjoTn+K`K;0H88fx{z&5Ua&1;vg zQzdNvxp-($7pGC}#}PBU+@d>p^=?zCNoy+c%V8?Fd^!8|0MLdBR98yK)tG$!fVN{H zHy~Kxn~BI{1>_PLUEi^7Jd@>{i&SqXGFe*8iw#}i=bIYZKDJW{nqO=SyUim+U-5*M zZ)w2A`7CRfNLabxT4al8zn$!_g%FLfOX%!G)BM=Pk0?06D?ARBpGXue1bl};a2gZ> zxC43xPMJrH$IG$+*)6vOQazL~LyEGWwJ!~l%yKJI<=jhJmvUKIEG8=pqkt2!ZY3N-G*vO% zKs64p_-m7&f~#!ZBHdeuH%Cy(B?w1N4clfMa2sddet@$)HGAah)r+_41Kc&S$Tq3 zVTo0s6A^JT&@AFk1Q~lGiY(;sLCXl*^9yoH)7QTI;2G-Ox;he`X}``NOXi{tj--Sy`Uc6i6Ox$0X*BsHg@OeIrejUB9GI-0Q#Xv zf0%}nZ|ZtmSK=R8tW(e}nIc)NxS0=j4K>t7`4F0O-d8&-DtE50uFI+#BjyDsUmG#v zT5|B*DEl>0?Aj=350!WAb546pNyY#o zzY%FZL@W0*WUQ~2M}b?2M*M!Vj1=~~WA4t5IxYK^%4HkmdN~1ed(PZJeU`A7r?)Y- zwU*9kWrPvb2C)i_m-m{Vq z#E5m&bkXz!Ir%{4I|Q3Xjcms$vA>S=q*bejSY@)eWM2q0*4Z1d@8eQkddPW}2Njb;f zt*JzdE&QV0-G;cicC}|8<4(nFq*`aGBsI#NY?zA-D78FmR%lw*yI}Z63s1I^qV_i;;{*>WA3L_ZQH$0_0~0; zyV?|MS$W9z$x9x@yu8VNqz2@jlj_#mTCcEE=C(u5P6LT|;yjaXA~Dz0=dVX9xm>|} zoZ=#;3ag@7`WH+6hcA{|+>kD5#x3$B@?12Q&BqL@_?dbfAUep_>AW93VmBW>GA2^b zK8u5bSB7$SKg`aaKEW>U!{7v=%^yr{mJ&Ix&;;>jV3mee*TP&f(|+-j?lWI~i`=)t zYzZ7 zReDet<5Rr!rvb&5ej0!%uviPkB2A}w3yP&##;2?uOD@A^uy)3$%6ar-+@nYGv78ag zoSdP`{4W}%dCpmY*J@5<;awwUE4M#7n3mqJmtBaeCMRK?SmQxk-I|Ev+sD#EDPpteI>HxF%2n{uCNtK>eTp4tJ1^ce@*Of2pl<}8o>flAJw z$8xs?h1GT$&Q4`!vKddFpr;;Koj#lT%>A*Dx)^auh{;vE>!)AzWw3rxPHomeO|Qfn z81u@=DUj)d@u|qyKwTYlDG$L`ZO|niLs~`T82?(sjU7eka`*-#2CJ&Z5kfM=R#QTD zTL`e)daImVod^FIp0f>XB~i29O(>{Y3!*vW z#x2&-q2epq1>KR}!COC!kGnbBV@#-h&l-JOdHETa()Y$jRNi1uW-q;_4E!#jMqHDi z-n~bj{2Yh=*9AM-oBGdp*L)TRJ8|tNw-uP#e=*a4!6%T-G)yhSy3#l~)8R)B?NsMYsOf& z21R&-6l@daEOkc=uM_36nc}DPiFGK^A!c##%6C%|-Yx64Fs4&!+HW!K7k2(E97TMy z4KRC^+D#4LEmV>GtkD8f*TAISjaINbcOJ64Y4y6t`$@A|?$uFW=q`0e+Wos(VaM4! z6a7>yYntfy-|^GlU}v?p{}0hJIQ`EUJ=dp!x66tMO;s2X5g@kKPC_DfRlcQQDM+$~ z`z$=pl%&#~>UWQC3;%`KlI8l(=-fPZKkIE17&p&Y>tbr8{8JVg8puBy8nATTeB*2upk&-;@mDJIA6h$P zi&&N&u3H8$;l>lCj)QS3XI@?P495mwhr^y???AO z9&dNTrbT4Xka3NjCJcjTn_QXv)=`b~Jx`F+UVG2F%+f4N@w)2`Z zy2HpHhE*GWWlHR+=$w7v<&Aj(=CyR0>N?|&C6$ZqCZ9Gw0w(^kQQ1h`HLV7Q=+d#y z{U}%UW}yk8tp>G1~;-t9vcoZJesllh9>gGZjlYA0-P<_3G1&RzbXeg#+~OzcZq|9znTXX z2Fu^s?`UKX_LReDL{;k`>{mpjLpxwALaY&sYei^Qf0*?f|7gzKhhtgT8)zXVMD#9x zOGY2o_sun`f^f-a*WNs*`gHKO-ZgSxF&CFacBcZH zu*tYD21%7d?QG>X8HOuz<7ZSat?z~*u#v82=U%e5)NkK+j>;Hyama{c%?K^gM1&*$BAjsK*+4Slr1-mtAZCRHRtTyEesVJO1 zfNnf01geS;ju>ih0J~pI{G5v2@G~-Vy{$or40a zHfJ?ShqLwn|1(QTJpZyT2jnytQ32dR!HyGzEL<^jr^(&OVY~5#_P8<33@gPz3RFB; z4a1f)Y#o^9$HmH$FWh#w4X0o%3_MF3zth_k&c^*Mcs!%t9;Yu`+2qtCQfAG+&Gwzr zQilF;{D2kRd#s8G*;JoR>Zg5fnCx7_<-xQ=RBa>CNw%T#a2d;2?d^Jmo(BD;_xArc?i{=l=sbQ}ce& z?FZM{a#uryha;V3MMYPovm})ack%Y6hKBV1-q2 z7p_aC>aDmqd_Psr099UwrH6E19@cSEAD130D$~GU5&2O83+7^~yl^G^xM|2(mcj1y znC!KM-97OmJ92;m`(_Lnu%>U5u!Ihw8T~P2Lon`UAR4C8NK-rn+*Ujbm z4VGj_V2PX#;vN-qs6K=cF}xyh6^iD9kWh#j@T1{c#KP_fm$7nI`KNa-UElyNuX)9m zT#3CjA>+zn^16PVybcpxTRraLD55KD$*YK^-9nazg)Z+Nw0uC&R3D$j;BHep`b@37 zm~`vo@69P&%GS7XW%iu8+3A}Mwx!C>xfj2lRITe6 zFRw9OeaE*2f6NwL_)Z-VcW!#ODq{-2Q90Gp3IY0D0qP9J8&85|BXk8=FzQKiayr?+ z!hk$rSB_m}=Z=@9Eqp+Jq*C>kUmUTIJ)CmCv8GnR zUsl{S?{0%o9_*d}zOrgRXBcvp(~bYSzUu7*b4vALON{gwt87=g2VG)KeMh@<%Vq;5xP3gP2%gV@}XMW1{CZyIHo?>>i_$! z8-+`lo+lLZ#}Za#0h5fh+GwpkVGJul$?E!*b4y*lt}exG0^ESR8vHR7eHGDJ{w9}4 zE=Cu6AljSE4f#9Bnx-+`;S#);m3Hv0b(E@aIL7wgxyrU&p^bj?`}UdV>p!no-}!#h zlE}Ny6QpCt8fGOov)gBHu`@d|$mL!{dPqomc*KhC-B+OfBuqs=OfggYrmYFqEcAqj zwIcfAo92^_QOCPiC=d%oOfYj`o#-R*IL02Wr&WIQdiR;{@3){&?|FVo?_1Pj$69vj z5y!*WMtV@J_6$OTefngPaVI`^|THJ&;E(nN~ z#nl0j67*nCyzw2p9P>1pc)neHuhN=-zX=Rhi59U;8k^tEyvx(U_6FO73&~8daB%JSJw628cnl1dG`-#5!}#wbUUQB z^fcVd}W+bS9-?lv~Sz zwV?06+7?vDix1O}Ks%F*G54?0g z@1=AIysUb~;kFa2YTTmBtw*IKX@eu1U*kzAGO(tE_L)oMfqZT`1C*s%FK37LpEaw0 zn<#hC1~7CTKr08OAs1$phB8(I4%?U`9TLV+2s!RhCCh*+;;zwxi?o4x)S#gUINZ5? zcpL6RjXBCvDSlQMhwTw*f^FU!bkB$FY=S)`@1?RGbHGlx0Xt)*DHPX4MlJ3#1(yIF zcMrCfi*~9!wT$y`)xTMrVIJ-=9b`68*-v%$ou@|IJI(CfCA=Z+3!62pZ(>HLyw3VSX1#nVj%tN9?}jCiMqQ?O)9pUz8TWtN70XUzlM*3uhfnbD$B* z&E6C#Z^+9*qbbJg%2}Oa>W2y80%Ik&QE^4J*g?@pXRAg?A&M!EGz*fpe5=@imZACm zpfv3Pc4z-Nc6EEFYJfh^JYTIv2a(3)Cu#Hzl)274yF0dT*V<-CI z+8}&dziLJ34sOV&FAv>@Sc3Zrc(k^V(6~fgl*FJgPK;okuc+Lz_!)rD!ZRotTF_Iv9=3)K|JN0ELJE@Th>Ip|VUXx6< zwXKag?05AI8ObcjDJQnzJ<_-X(V(y4%Rz>>fIiL4;q!OYT0ekVf$Q_@3Hbg+;JZsY zDy_aCEh8s(RY@**P1bZXpE-RQ-oaS;>@Lw4?T%?V5eG6>c<}W z%ox-%*Ty0G$)TT@&b-)i(2P#(QQt`|r9Ua2#e)IS32jYu)`X3_HLd~`mL+K25GRBQ zQ=J;YT^zI7$r_W`K}`e4vC-DtIxXUmF-@RD6%E;G#zPU)wmxMq1v>I;wnT0PbbjXO zQ0tbH`cm~yKu7zUqw`or$A_x-o7B=+lEqUzXu8?ByVwhT7F?6zt>ezK)4_PC;Yt*Z zrCd(p69T6z2(AeDMf8>>pU=={J0ZE5$rl7CaEIzh7A8sha+X@eS)mGIfrXHcm&ClU zA}O!fNhJ8&xOX4*q%3MfwO~(d2h(4h+0WO+%T_WuE+t!( zqNdcs$*WiW&|SZ>-{xksSzpE>D+Xz3^j{+%?RE)meGkElW9PM&sQH{p!UW|YSGVGukX8`O6=TD($26_7S(*}3^z3J z@)>J5eT2TdII-Dc_K_{P_ns~I5^r0-9Q(O?Ye#u{??cl^Z|K&0Q}p1Yv5;QO@=9Tr z{(&oJn`1@3jJ3K`UMWmBUeZD>p<1ZZT9mXj)p19iAW?!tj(DqEK^^zPI$#hEr;Vv( z4!d6LlDRcXJn~*r73h|r4AJvrm8uGZVW%I&2EtZJrr+{zh~I8(XKrn0ottw`lKPDe zchR}IaB&)n5I5X*iF|NKVSR@G4c*(3yr1>^beC`};0|ncutzo)a!S5`F+bCY*g5V_ z?23GCeAKZvX>owCk;#=5({HWw4tD)@Lc(imxMLeNc%7K|n*F$K^zGH~=16B*tJks5 z%a;>w_=m6py>KUf7c&QA zB%3Ftn)Ur0iOgcKOd2Dl`^8elbIdH56C;bI{&Bw~Ec)cg;-w4|afNM|&pmW;0!!c@ zsky<+Jl@bAcOm_)9qE8El7>mC?238n=SVz1DXr2*$baOwqm3|x$bWDrIxvjsnNFwp zVxS58`YI*9u&xrHgKxa9`b=NsnLhr@SI>%T3g0V^L}&$V049HiHUdQ(cWAWMOZ%E@ zVQ~4FkPu9ArcRnY=EA5^7siY|KWfx@8lC^wSd?O&D0~r`L9TxlQsv|s@h-$#rMr@3k5{~GE4_UqQKuI#L4TGh@luFcHy9|fn{p8k^0~G3GVeIA zBTd>V@%MY4*xYnj@QJtwsM}SkDV4@-LS1(uVDZch&QfVOuO4ZHREzg}9^ce_SeFx% z9-tF}s9aW@p9U*@O3c!JrXyl13dsY$GCv}L;%AxPXo+X?NpXIFVIMMcB!ZW?%nanT z{$|}E`wtT3gD4xnC60(zClImz3YCJJP71M-UE9UAJL2>ec36 zZ?!Y4iAxdrX?AcPLxZHr(7u%Td7twGR^|+EnzB**QU-&gIv#3|3FM;%lF?FEfjr9f zr3%U&6;Y1PMQc~(KR56Fx96zGpYwXUkNEvnS%4~?Af7x=Xyj|EP8%Af^$+;I)gDE4?c5L#!Ht4662NGf^2xM^e%X=H$8_bi#MZW zp_vNbG=x(LI2&st=h?zm-T&UawsC=g4=&rI`5-OO9aJHP7X|X)AbwB}us9sc?+YM; zuqKFD!sF2=Ny7LV$*tkl<-T2>0i zODT9MBmbpQ1a}r}@z%B}u*WQ7k!&K=)TwOnBPp^h0#dISHWeyuoQiTvk(VV+wq}@aGMH906mEJ=E=B_k zGnDDWl<7I6k&IygTMCJQq8~Lf=OBUg*PP~2~SB0 z7n-D@ZRUi9CMU~}**5YwG*wH(Q?%XN4D~>HXm|>sssq?SV1y-(4*{nL|A+y==*^}9 zD*4?IU~z!0myHG)eYvYSugg$Y!cq@2tUpv+TzjVaQP?7i!4BFQVMny4|M2V{4LLI< ze08XM&-y+HRcb2@J)hWnLsT2@`aVJI(0_O+k3IHBYzJTGdeM;wvnF^4H+BdgYK-}N z85sKp<>)qPV}whAgNO|%K$EAmFrjI4PdD)VwBB2znssg5t|ub;^n))Xg>Db5A!xU;1C>ne6dT^Q_>Ff1YQu$2ao~)7+@Z zLNhqcDswTtH-A+!kC*VtAW4`EOl22H7fSgefEz{7=er-*}wr0J#Yt7!DM@GgH7xy1N}0^dNAW_o)Y zZ^2P3nAWpn?3ERJqpuca+#-)O%$6n?6TraF<#@#pLXidDv{D@H?OhefM)o#}0)w=) zumU?Wm3pzYQ^~Uem8?jfQ&|S}oXU<=M9@gWPwzHwe)kh4unFp4YywF6oK7fyIyaDV zn?}Rjus2SnN4j&ubW;HuEGQGuJJmX%vlDqzx#|iT=dJ9Zh%X2SE;z0`Ho|2BjSG+K zQW6bn8|&pgx_#F5S}j}F978r6Z?3Rd&whS1e*7b{{Qrl>*ro3N-xr&1(YGt(8=K?OH011N*17YuTrjpzo`^ zO!Jy%RpBe)BoeC%4+-d#z7DfMR$yT$MbMfCkyiP)G}@HIb#XHC8Cg0)>BO}UaJ$r5 zmeWd)(nzy>`s+od*}c-!f;vs|@tM>qXkrC5vpX;PgBFqA%ChxA=kjV3;L zNR!Am18INQ&n*7oV$z=*P9x5-oJ9*+?)hjMaUPRPvz#<(qpwZw*r&s!PJr2`@qUgV>Shj^HbR44C*xeJSmF=xZ&qnwtzO`AG)n3ZbK%dd>xut z>GihU-4IC{|Hp3Y8>i)=+t25hrkZ6Y=68DeCW+y8gE4SI=ggNU6bb?EKG zyPc=W_545Xc0S))Areve8i8vePZ#Cc|A}AMP|xT^OGmxAR@b9Vow1(ZFzPrk>V|({ z)Oj(nb5h(~T-=RYnfL$3po(U=QdRhvsF@Nh;qVLvl9QDc{KMfNmH**B)Y^;e!P*1+ z*TR>q=^@&4IOoJ+Hb5GyRFyJWMWh(PZ_{U$v9Hu_$r4QD;YtPFSSapz0=h;T7r=%r z;-sdC;@JwJYIWcWR%<&mSC6%XO9wQkP(W6j#Qdemy-H({70ZvSD8Z8cdPUdJA;-G5*$d$9hHQeooIn)U1)zH=}uVKFYCe;m>1*hUUi z+5US6eF=-P-NMJ{Rcs3}*9cnZFJWoR4^F}v2@4MokHZHpV=Few0(b%CSXdzyyYSt1hn8Vt^BXufsX&cb3u?Ac7 z1=voOae<_@jmbwpp6;_}Sy@z$T=tOjf&2G}4os0M+%UeR9>!NUr1GM+R~=yIIrTO`7!9x+XoD zKJ7_T(i7B3qRLH7evxof||y4Enjuryp0Dw{-s?-xBYvyZDW~y z;P_G2wfRK%dPC{Ls-7*HxH+}2w#IYfmf1_z0fiIte(ge_ARGvVvdXCuu1V(uT1~@q z;-g_<`KhKmG5Ybs=cJE&u=oYb${Igz%&5`hM~_pM51#XQB71jtaLU68WI?S5k6XQZ z+~Cpc*8_TQt%f$5|A`eI3RP~ADtgEtLiN+!L;HDn_V2INXx(y8Xm|H+S`7W|>D)}a~OUEQmJV%9ByI)Cr!tkZUi_`Y?62A!Lh*=6Y& zxiTss+M}el!@=nEC!?lkZRj&VC%JcM+|k);o0Z4VRYL=!Jxj?Q_K%#KIVJfIL;Y&* z&B`yfDBHZ2bMNX4OIbAq6O7R06zi+p1-H9tps97obmB`mx0#t7LAhMR7kLLq^i36V zxG7RrJ#Rn|gwLtRKAmE6Bh{m(fWxPV^nT*?j8-;wmKJv9`cS0+WgD0!;f_@`U@8Rxeh z;o;rFu7!(_ddBvi*~F*P^6keXL@-|j!&A= z)!cWaazU?Ni!Tjn(u92NTvy^|44kUHo8PQ?4Y}%wq@2GzG=YlbJN$^ z^>M*0-J-Kp@mTHbriM-9jU~>OIe}FaY>}L7RPmZx%A=ZC;VbPRdW3h@o*^D~?7pD3 zWA}xU+^CYIOZm_T8*358sctBwbSG2c;YshUFBGelZq7C6ie6iM?~e z*pz3I!g#JdaSg@ejDKf(I~&fD_Ii<~oU?S6-UNA7&|{LD)RtZ#ZMh5FG2*6GXc@Wd z#J}Vps;k2`kF8Ky0;JOfvXm(=Gi8%cLWDE}6NbkvoDiU1vStWbG;n1^*VJiVu|vN0 z^63*?gFdl+QYdN&r0Yc{k|yLxtOR{z`Y zJXcJUA|`Z-xYDX;^C89-H3YSbt7ALhl*0chBp3yQ--Iq4J4tjlBl2-9lMGu+5DEE| zl#vuuNNcr)drElPk@S?qnZc=DEozVKIDWkNmqJa90bY`IBcPK%l_T0{3z6|e&VBWxF=HOByi}~F537gz zy7h0@F0zYP|7xU>(MSH}ls{Lj_;bqb?OuJoa{Kk4;N{n2$8B_{JG$d$=#B@*QAhX; zOolZ$MxtW}^qXIBqc>`rx~GPZIFgo8lop=iVOou}ptq9Z65?A&dU{5-5ft<5_wG3A z#kO6~GdlV;B5$=@CoEY#He|d{xAFQ8H9&`K|JEV!ZZ=K^LrZHtpTW!$Ij_}E#%4WO zI`Owj+D%-CHlZEd1~`(D1Do}5F(GvtO8m>5m*1^^J!$CE{r-pA2e)?a+iqWSnpN9o zwU%!}|LO?}?yk{dY!j#=dY}ypXl`K9SgUkQn;ExF8ouzS`CT*Xx*EIGcXv=L9zTYI z7N5=QE!B_sYOXCyj(~HtEbP=iUHEWUzDY387cz#y?ar#TYfPiGtQ#z~+ zmOh0fpF1Fp;R1AAiH|8hsKR<9dzST z{)uBSX??kf2W_insqWTtiDz7#r&nw&On-mdw?TNzlTJ>;oc>;(0|t0{MgbAVZv~-i z1{Zj^PQeD05q`M0CM3Hh?B=3qw{ElrOp-$AoipT!(uTy7(Fnh!QU+_bl7bsjrf!VL zQUKBm?--wEgluK7E>HBseCqbFo~5(?#~_xmc$Q{K;P7nb4;i?)PIa4&!)F%KU;20O z38XheJG%{F1Z;2Lq`1)F_=3%nKQ}s{TcnS)fScgnCpth{qo1v2Xw5KN{{;()*%A~w z7P4%z7%AuiFqK{fWa?)yXu)3PJXbx=%6hzN)uXXvAFc8ZZ_zBGTla|OEh6}rlm1+_ z>d#5K&li0r1qDv&(`QOx(4;X!bzV9Sd!9eOvEUh%o(SAx8a$@k8YH&(9TCbx%INX8cb zlm6hLsca+3WEBMHN;Pxul%UKbsn|tfsh*}aNmE9Eu!UOn>k10Q<#HB{dpnPQu@xk! zgTKuxs+h2(M^0ey_#QF|!V=?a<4y&Y1a^znO?w$dNFw&ebteY4@U9bVbj$o&uC8sH zHfm9$NrQzW7H!*tA#2RP<+iBbe<5iu%$Wf@1#m5c7MK&R@DuV#>sC!In;NyL)2qYs zV~nW1*M@Xxq9TvgH92ACYPKr*_d*jK*oIZf&QP3SvI}emj{8Jf(!13fuNt-ZFlimp z!()u{DAz@+_%STy+yQQiv^{j-K!5>-#SH2gE5^%Mw6nkzEkTguCB*$q^`D^!fB}@; zxML{XKv0OxT8pW*$VFLkRN`%+mPDTt#|6eqNb42V=0Z8}DLuKtY&{!&DTSLWrEz&$ z1vgk)3^2`*Y6UP%3XB+w1OOPDL6Qphk&g5#@IDQf+$TsYdQ)eq1GPqx1kfEs14}I6 z406tJX0l*#crI4XEQq>{3a;;U-NLNAdL`DVL06y$#%D-Zn$q$(mu6-3%EGj(gHT6m z#$79!H|{$?ipNsAtivS82|OtiwLmNqPhQi8ydP~x?tnOOzUq&sq~n+~PSKBlDEz3t z1Jte2IJ^vkt&~5B;mE*J;%3rfdL7YQl=x{5PbMWPQ>Ug3n>Lw$h{wfN_~{Adm`n5` z-3h-WCypIFcdnLfnfk!~%%^u%C!$N*qy;U37hc1(V}A z=}h6+_1=a#sMm=WR4R01EP2{KuvKPo#8AMfeQV*J(LENAEZ`8g?l&^IRZrhmK7GOh zi*6_E9NKsBw|TSyUqc&ZkWo`d0e`=@qg*WOwoS0J z*H}zoHw>PsZV?6PSM*x0jg-Nkfh#iwf2taAXHir_fbM;i;=g7NBQbe$Wr;;-pzCnQhFzBOz1?W{?IM{b+-e!0g$7uVP>ZZR$yu`YqF z1_e3?wjRvC>9=~&&~0XFi-mD9i$lW}N5?I+P@8_A2IG|nO*~t*@@d-CrKv9rxtCP(nQ+p2ey8Bc&(LO) zuJHQ~9|4Nh$|-`MI2mPSE?n@_`iqnCh6crE0cBOpc@o2h(NFx}%rDU<@=L@4h-(|5 z)uLc0I*WhEZN+2TX@x?QkCYUeCnWIik#dHmpb;-ROQ^|h{eQeG(OH$!a@%9SrEqMzK>)h{VRGdblNOTl~swnDMo_?dbC@88dKInBqTxSyQZ$|4XiljQKaN3Me5R^F}*Ltc?8Aj&{L*$fa`jlX#Oy?&6@^gJkH`Fqf%luIWXRa_shWtXG z5`kKC1}W}x${T&kYWhI% z<5*AsGNdT%1wUekl(#H}5tdSa!IPBe2+PR76P8jPT|p`T(r1E~;IHGyyc;uq3=a?Z z#EGRlp%_2b^A&wZOkTbqCiLx#xKX3x28|h2n|w`blIo-hy@LSsZ|IFD>$h!K_ua;= z8$gPJA-@_SxHFm-V`i&#Vw_m48oD6$iNLpCSG>EV2&JGC%-=@ibzpVvq_Z#7v0+R^ z!QMV(E^H_{&^=+*PhddtR#1TCSmRScXapa>9gghGxPnXeV`2qXy>{pw-tD|@*tqkrHoIX5$;>3W2a9^Jx0(~cp zxsa24Y)ICi$+NO=nT9PI(7FTc#k?+cact|}u{DfKgXe^WkE&r@WAdN@3xYAEy&&B5 zM&D)bYvdR1%Zd3A=tW8n52Kg3-)Ud?ZQFjA+k@CW6OA5h|7#HUhdd|)OW*Jm)xmrH zqX$6Tf$?7D`5~_P#B-TEsi{iw3?7~m-Zrt$r%urJdR9+tG{HAzSHh^vreTYt+I0@= z<~_i!VN0&(qq|L=qShs*ZX3u@#c0)m?n?va_rtrf%y_Y}*E3%FtD!s$9)-Nkg5-#WPj20~x z=Xm$(zcw*#SKOVb?p{$}cW=>!sUx~!4Q$q}6lQtP*6BR*N&10LrpA1r@uTNjrjOo7 zKdtqFC|>B3Gq2{g z@8>cs)GfkMsmc_Bow6>i_=!q6MblceSUOG~%=DdccbfNV?Kz-zcl*vm6@)_PM!@Zw4_gAJjvvjZu?bO$$rdySMv`jjxbgTF18vC*dl z($#{woPs4O*Xl)g2;OonTYbtvx|*kQ3Pei!GOJ-Q!2>cR8*+*pAa9n-*y~gJltFgT zr}!bIfm{oxpj>NqX;1zE2i`#R0%2n~&jvsHfOsOMD^d!Ovb1z9e+$}wD$yG$EY|c2 z>d39&Gmz2^DF>0#6e&&RlA*kAG4vu>Lx_1z2JD zR>dF374C9!!T{u4X5EIRkpQ}rQ6)7*+(~csEK7Dt7!WnrGX3! z%K)(8wL)0NKTxgHon{^et&U?arQi7wWEpEe60>K_PxNf%_xuC#Tebr{An)cMXt#*p zB8O8fg|zjSs)r7Qfzw{fduWgF9^$|!Pw1S-j{#r>KZ;wSF8p#s(fP~+N#s^!=McVg zf?KC}cPdR9E!Mt7e5Q4{Nk2}?p`Y$_nu%zDM9~!Wo9gQ8?k8|k1~oAGe$q5+Je3%L zgf4{7$rfv$p#{_0-z3#0O&~_MI!>j97!H4a6V|1vZe8+4ND1bPur6W7!FH*f62=!{ z1+p?&fpSV9?i}WF3T9hQ>BSdeJ+N9>4|2*tekaxgOKDP8W+x`C7E&;2av3*3-Yl2F zE|pXIltISy$SHnEX&~3a^vEeV?~Ry|i-Y(z4^j z+l7x-x!>j6br65n;SIc=l*8Me;fsDdh`6CBl!}+7`_;46-64r%&(K|%A57U8T^2*> zv_I_a?ZATJKCV~)AZ6l(%JX^9eWhyf>2K$sPDniS?fjn;iLH0PeqQcT5#2P$l1|TA z@N?qe)AQz?P9S#PeIvcx2ZVQBgJVL}UCd%%<1Ri;?w+01Be_R*HvfAv zQdvgUg|Xw#KTYnDC1>OocaU`|ROrZ~YIVwWBtS7hG4S6zqpZ*wm;ZTZ%~Q`!9lI|+ ze&5)s=TeDPWMDvOU%$Y9WKqJt(bLbS3_mk<%>INIQ2_zr5y5>TKf6~x1`Er^V8nr; zLl2BdmcQ;NcaM+n&OUbQ5-Ozg_y6!VMI?R4>>Vq?Ed%{1N;N~_6zdsSJn8b{aNv|X{l!> zXB8&Aj0(^d|JdsPdR#U8tC$H1I~)o=f}&IDy=poGFy^hiJ%$-40g-j{Y?#+_@?T%C zw@ZawAYD0xuA+CzUc^}`qO!UIDbS8WVTnzqpNimAYV=ux&?xU)%k%5%DDdLJtrx4cuXRkxaj;2MEs%Vj*v?p096@C(VYCaj(Qea+}(rxj)6r!h7{# z{hNV7?-10_rrhtOC^Rc8G;H)}u7>^>@$%@Pkj%`GpwWhJ21~tNcyH|eKZT{p3gM58jI(88c@kh>)mYrIX5O39? z^Q2|RR?N_Ph5C$8U>sE$I8g^~+RKB}yTt|S!AR;_sY6fNx+CkczxwPj@;8(AsN$p+z3+B)+?ApxKt9zLQUVRhbbXi}uQ_TIa9 z_j(UY#u7b-YWau(k08T1aEW4%c#<2h9)W?Em5B{Di)8tLY15*jr%n}5=7jgn$>|%; zo<&cJ>-jVzS8QH9u9wsM(A`9JvU6F@g{wbcdH?>)2Ot<>x>Xv60}qgPI{!rSV4jj3|_eFaA)_n`+bdDMYy|OkojC&f^sWr&9#hzJY#%(Eu{7KDAOQkgNWa%aKY(XW)l|+L4aGGx7No}r7CBWl(z&wTh zlqgKe+(6pdj!bH=BN#FjBAP;Rp|n`0Lb4W_c0947o9RfkI}IUtDAx25PtxUO(AfJX z9Q>C|p+A$kSC3vJ;NN9>riZpg^%WicWdqRB`VGKo;>F8!=)aMlk`7^6Sz$8y(f?8j z`5~H_;!2vNcGYdBT1>-KznP>ic<6lh@B!p(4kU8ukO;Nwz9&!ic@M*_Ub9hjqOb^( zYuPgmP3DswB*R(*w~*BzJtEcV^~fQ~{fOwa_xba^-I9lTD@e&I@v?MQP1!Q=uz@u@ zLfF~5G!o!pNu~WjPgo^IU>${41GTm$WO9Ibd5^L+${d{w1*z(#rJ4w_kRDTKV}6o~ zM`M17CP&;!&#FCTf(KcRywbG}v@hv?>o?Me`iVQqnA#^!SkUpPzDPVox2gkBeMm8+ zxTU2f1!A$3quz*=6b)6hMM?$$HZ<}^N~&f%NCT1Lm9eGH7$A@dFFaDI9Nc)PGnOuc z{4X|aUbnj1HSyH`O+LfBW=z_VjrtDKF)2xrj{2FJ9Sp^i1yYW51X{*y?c3<|c-h*A z1jwPJh;%adpG-d(dxk|0sUBQCDRW`rn|7{Ft(5570O#C#Em`9kTy z7hpX@nK>lzmSv%`LjuXeC93_!)?JTBg>GN& zGPwJy^mGMRd{jD0BV@qrRlVG)SpJ06Y>J*LlUi;l+WLEYhITQg!x3<{4h;Xi_&l4GvNE;SEb)zu!c&v=|r^0T9ftUahPF{Wd#iR^eKs`^e~fd^GD9N z?AS8ITReP@;OuD`2zIRinha_1HpiGX8y2cI9lB1?yu&Aq#h65piTlbZH5&{zrFy9z z?h6GZhIclDr|@;!Q)bFSK7)EM{%zE#JByaw9y#Lnk^zGgV`CB$;oL1pIUX(=vow>q z(5Fwy>OXdzj-FDR?gQ9K|sot`km%m`X^1nB9JWBxUy-Lz0VRosF2D05^a zpK3or6cmB*0|&S|>{B6wlF|KlP}NlLi;0iXkt#qDFwb+1lJq@ykVgvMgvLDMVl+dQ z^QG0$b4Yo@#US=v^i#x|lFQfF{EzZR2T=ZFOQT$X>$SEf$6Zr4qX)Dm zulctUs6JO46_`R2{&`?nnS*2tUiF&)OETt^U(-U4+(c2*O>>R=z>1@!8-#_dI9w?+ z#YkT5rn$~>AGI}6i&Hk!TqE81x39G(as^LRNYq!r0>?VC;Z>s^}mkZvO?)yIWNN64-9gPmVtRmN%PeBcAOEcBB0=Kc6Dyoom<} z#wvQ^lN0e#O(dPlW}cPc-&EWxayvjc1(K=C+c9x9tb@0A{??AkRC?m=55%WB6k7ka z9YU61LY_c_5HlFVd{$wFmAsESJrSH|x^ee=SF)S_w!Eiat zKeTOFS(n$3aqq;KJ#ER>iA=XNF{S09S4YMYVl;>64D?NM0 zZ`6iA<7yZ81V9DHRztNt;4`h5x)|1*PIm_niY#z3JTO6J(})8`T(p=UyJkRie(a=4 zM~Lf>$%jkkl*kL_spP>O;jWXw=rysi`PlA1(o;oqN{%E;Ji`Flk_Q?xK|@>18j=m9 zU}(!iCCgV57LtRyXfxG@A>3C#L$>C(W z9mvG4i3Zu`pK*t|A}mg}Dix+6_;1+Y52}LT%L_zL@Zm-PH9$e%Kur8S4zFBY3J5w& z+59DiK}E`zFDd$3TUiQPjz-H#`j#svpQe8&pJ;cpuDpl513}e{4)AZZre!2lg+H{0 zT0jgWV)i;WionKNISfuPKLp1^^8<4X1OA2-ZOW9YJA|r#8!Y?T(!{9Jp zfOXJBG1kaR+>ZUD@GuexRP@P30nf^s`+PrAmv-Pw>0=FBRL2x!Rey@i)ErlxK}I4T zgdfAfa9#RP^B1YBtT`4RMkxD9X+-L3KH)C4vNYHD4@?<{yOa%CY1~@_<<3uNRIv)e z@fYe`mV>L|Dy6;BL7gk-EH70UMH>yyUX2WjjGz0xCzHtK{Wk`+%yWNGfK3QHUFtZc~EN1kRU#Cxi5&w zBLgQYI%H^JNh2LXpBK!h{wYDKMBd()c}K5#RS z0aHovyDU6~@7A&$tV}r%rzOiT_EDy2=CV@Yw&0VltfZ_;6@yy`vn^q!^Du_6mBWQF z6HyyX2Nbk9pB3xYtx)E&Pt8H4y0N)=W6ft93yZQuWDy?=n=e@kzN`smzhaB!092T5 z#eZsuY!nX{d#v|JX^ z<4h^xDAg3Po=7`28cH|mI-|?jWJqVFK)>FX)-pb)eu=AOL#!C)z@RmJc(^D!vUm-+ z8p|Rr_PhqOR@@?;9SlYzuny$eyE3yRWOq)+^OgJC0)H#-jXOV@kTDm=;Ta6y=d)a6 zIuO?Zt{n$-ARVHeACN8iWM@7t;-aZL^~die#~)}1vNY{nE;>a{;yR7FkTvf7m@(%8 zWz1h4qFp;iw{IWa(KWgQKLF0d^64A7!oUX)wCfo(f9lSXNh6j_wmf)1UdhS07=7ui z1@7W(77ShfXIKBnU3>Mv=#1e1Kf<4bL&$r^De4y3+>AaFd(Ipd$bz-C{0V(t6@gY5 zX3Sp1Z|qZKcGmeN+OYwFW5y8=;xTU8v~1#z?=gV^V@tGrJy!=i*UrnAyV3b{zT5KU zojce&xHb}mv7{UE8pWzjn#78ZqKD{#vC=tISh1pgCx@n;SVWUfO&vP5U$Md!N5U7> zDn+bnB&uu-LI6EbQ52tmVSv*wyu;+;1j9dUd)(UaPgx{YC(UqE!iB84y?Eh zDXYK{Uv3*rd;5Q>sb$rMJVV_`Wb6EdH#Gd^Gju5ho;1W>Z;2`2+*ZqW|HD1*JDl?`NJOya0Z zurT~#3$Db94I}qy{I%@tYq=*+=E~m_ujUYC_SNwdu4ZRnopAiP?tA>zY+90Yb)rkS z^H0v-oiP4t4$A!WQ|`4KV(u8>^pjJBvr~klu=6;;Ifgrz|J2Mz0cVs! zBDajdjRX<-UsVUxwPY4ozPOQ>PxuHv;)yhi|Me*!q22J5gG>@JB3U`cVX)PWDb(G+ zh_Sd;<7}uQ%J$qPc4hT=#jMhMYDZOdz;7x$<6$=xqLioVzqfvF#yj)QtF$e&E%=rL zSN8KxndUVxshO9L9}J6Es88`s|SKC6EH?*ZQ%?Z9)T6? zT|vP)DQhvYEQ=h`iX%H-@pb>yj^t~+yNbYLU#(t6pU~M?uh7}_$!Zcf_;7Jvp61Zt zAqR`ab+5Ef{v=6!4TkG#R_uzd*lOHn(yx%b&xewd4t>s>Q+x=XJ#@$z{fV=uF;MwW zIPjQ9_kU?UM(V>AuvPId4NLF24IEsX{Jr@Yx!-ayQ?te_gp_^&5RXKGn2@Y_*5OsF z5g#i3YF_cdA%hPU&&fka^bOKdu0Yq#D;T9Z5O^jXD$biD_qaGuHw?mBrLPnLvh^q2 znM7mab*>D|FoiPFVpER^aWMlYAw1KHyhb&u*h;xf6EFFyzPYarzJH(JdLPPqdQMvM zp_`uZOP-bFvQOZNWl=p%hO5R)27_w`ArGK2-{tIxuptW7C|;u#ORh6e3?#o*6N2a> zKS;ea@EO6B4M-6K$IM9Z0ke!kt`JQ^Ol@o=FIGJt30XU01TmC#e$fkz!an`QM5@AR z8La$qU#-WrL@k4Zj0Bi+3V3Hx|15`SVrK*(8F2^I;-`;-T2K>PvYYnieq&*P(J3p% zEn|2LMkT#vGei%}Ga+3-)`K2zd+4}C5Z<2e@+Qd5}DhY4(&DI7PysQQxkjD!= zhz-M*RTo=G5lUaylBTQjU?Xn#Z=!eck9foCMSnn>3KC&FU&PkXRRn9Gucti4M!2K{ z9F)f^ACL$(zM8#CA59^=?CZw%pLKOZ#2Qte;|e}cP(I+|;qDyGV~kiGDzN%kSKt9e zdo_!>qo3ZOvUXW@c{WON_#dQf;xCQke^BOg1yY}q$6!a!(XrzC;(k11P0le;rN;oO z))!FdyPdud3>Kfu`d=QH8&~jA2Bee$y=1?G+iIlEs@b&KBtfMT;RK&O!o+EdOdeHp zM~aH2C^+q4ZC16^YLmb{^eFtv zHl(YM9V0R1KIZ{T(=PbDPhyT8qpN8{Gc#Ue2s;Ze4D09TXft6+`)DkPXA`pzsi& z3}0zZ4}M$~Il)55Dsl!0ovO&0F8EfFGn*e(Ma~*Nw~Cyf#IGvPAx6T4DsoKtpR35J zEzGMT$5wXXT*bUb^Rpev}-K)qM$A?ytlP#E6kuwvavMZfASloT8B4<6n zriz@Os#+oBXY#g+Iv3>)TG{Aa0Qs&IT0H@;*_Gzh z=l4{R(?GyGNu_lf3LUD*`9@jQ{5T1_tEkhfs@1EE(#M@Oko_`>q+HG)sRG&xp=K31 ztNEu@uE^E90T>Qm}8*+6>|*KzhaJo`d7>`Q2&ZK2I^li$3Xon<`}4dg`6_#Uopo({VV1e zsDH&AbDmZ{)=CS0YZW;L>R%C>6(S;4x^|S-Rjs!&>R%DsSAwbvXa?$Ev5tZISIntb z)e2D>sDH&e2I^li$3Xon<`}4d#T*0mub5+?{uOf!)W2emf%;d>F;M@CIR@%qF~>mt zE9Mxef5jXF^{<#?p#Bwd%BX+E90T>Qm}8*+6>|*KzhVxf{)v@Qu`=o}*TKE40GGWJ zxJjERpozl-2>3AsqhjxVvcauQfznSKOM1T}F-1jm^*g$o^v=i++P|Idh8S!)O<74F z96L&HZXl5%vxCQckF#TuG+2F2U01Xh8nIQZ=7nyhp?JZ^L$GSN@nEDwzzj2pL>AbJ zrBibw5juDJbTuz-Gw9-(z{jLu&+N(+D)I`rqI~Hh`~krVbn+sRASkfBk1M|k#> zr4v(@yJ{-`r1`k8`3ct$3CpqMwlG;5$4%tNepW!nvYRd^gZSR;6Jzo{U>#6>){RMw zO__UJHa5hJJ%Tb1g5m*5cuQ9n6_J5&Ne^v;(wFw8`*!W z)hbPjdKQhc4$GVy`0f4N-2319&mIwKO*T5@Kcr8;gVlcI+qYyLslJNTe)`>~ztGQh zOy+m1eQ0)Qvsv`Uv*+~ojHZEE!7j@`Y>6mFBt&1_{%@4@-C9iUvoXM&c}aWK8{|2V z`CBz7dX=ugc&vh6<1wIJhXv>Jz<5B_ULVWZ=8LGjT{|WGuNd@OWKWKAOjypzR3U7n zr+%iVcO52upF$W@gt*SD7Y+NiyZg*x8hVO!&}1&@8L}*X=Pm-voC`Gn&MUg?B+25h z(EDA+^&dFec{0Lemdt>b_lKBq^E-q7)n7G&&1()|0!=#Q@_9wWg(OK#RUTeMfrlF?096yPENKU_eksSce%`l!0H6D1cX zwi57~`9+Bc+tWqWRP~5X_^XH>eV)6AbiFPO66=+eavkr^xtkMTG&%J^s<_}cy7kz^ z*TnnSeG+}uycU;6+S7%m(nET3;@gc2o==V4nW5WKB3|i5dtP^ip!9caC4%T1PsABe zYqe*a3Q;y?f6w|AV5N62@WrJre5adKg9H_n)##-mfn-nC#nPD zcx-5Aw)F6r!(19baTW{B+Ty>&W**)3`g-e-mUSHK_8UZu+H9b&f!l^-hltL)gv#7MTC<(Xhv z=%~D;r%N(b!X(PVKcS;`Ha%1g}KucnRik}g6BAbLTsuA%X4P(+y@6vwKX zV}0<7gwjWFkzWswDs|;>!VVTpnrwmRZ+TQy_>GMbUd4H)Y|Xs;TM!-iC5N3JHnroFUVdsSFpudP)`Po5`^N`A)yhkos}$4A@1R9- zQ`dA0T7$rdEXL@%izMv>IrEvMpUNw}x2<;WV1;%K$v_yHzxF;T? zotRe&4@OAw)F zgd0zPymg0m>YsDdMr2CM={x$VfR@bZ-rliKM=MSJ8CPasy6BM=Ha%N>Q&eO^v&bY9 z-Eyk-3tLVQb<4{MM$n8zAAqIt4Yo%~ZE%OMzTncNP8iKm78pk1g0^TW zjet2v0qG-5V5>_9x`w<`Npl@&wH3Yz;t?stHX!`$Bzhw*Ye(Eu7#QZ_i3+MQzOmTIcn%-mf{^`3BBIvIte`m6@6M@Qe#9>N~4U!Db=gf0;B-XJgLZNAyy)b5YUcc zt0QUfH|+%LY<3Dey8w5kOk`NZa65wrzZDZ*!xf>bf$MMd^4^#MQkK+Mg8Ha-69OGM1q}PJ_m}M;V>l`gZEHIb`eXsnh0>U5DtQvr9`tLg}*e^w54TPno94`))H4E?{(jI z>7^CJl9Pw6AZ@@#<&`#6T~ObZr_-8ga$qUwCeoA>Yz%BkBLs|r9|TOJo^NqB7k+^0 zpfUX@*nU8li|JyHv?(q4gEXBnliqm#lHQ&=mDm9>ig5@vI*VCrgqQzNAl6Q0tFyMW zw6vAag$7VK1i$Lkjy>wzA<{OZCzwsy4XBGIqvH62Fn&|KTh>d|*HE5Eh*yo(B%l!{>gW z4>pj2v!`b*Sz^?<(9yG9SD*S$OXs)qbd>h_c8LFG(k$np;SXv4nw?VGo;BaECs$|- zHuNh3Df>d1Elf-SH_xG|jp<6Hf9kTfVJ#uz0eYl>)VeKq1 zYIFGT&UKms9g1!4D*I>(Jr6+;xSoMjXk zR7I!SiC_3yWHZ@JL$zJG4d;mcs#WyP&!ATuGSf1~P%Vw(-bkj(OA{Y`JL5(cX*ATk z`|y(N%AsSGegUf|_QGKr%HT`xQUqB`gi)DknGE`AVv7J%@LkCLDId7mBR$;GNTaM9 zGv+;<2wJ+FpCA;de#MBFArJ73EUm@X$XOUoxI1J&;1Uu|M%`m!fV-08FP>93`s1mRk<;j>V=Jy_qzLX?OAbyD zx~?xdE-cxKK<9`_c~Uw=Gv?7;=?c9}mYpIah_Hy*lKkKDKGIfP0{u-|Lho^d=v`?k zsLVm|6x%@)zlJ6aHaXAqbS(9(uo+Yi7&0o}jc-kFzQ9y}pfNA8j*@{#lzcn1VP}(=sCXyy#LuNistG#$Jai7p5vqd)bkJRr z%>TxPB6^2>*bA$4bYqVy@x}SaaX5dBmabe&uSt(c z&(2-GcCs4f_LdC$lnOJ-`46_yqTBm7k9u8@zU=r$Ch}q z({RhK&2HIbkW|fZ&xQtX*-abgnaOQt-A3HmnDNKe%Vbu;6@MINdy>FE2@o{=ZO{IO zY=A-o1%@q(1-RWYeiCY*P-_NTR*oKG-c@EeqQNRLg2L~3Mwgx=yZ7wbvn^DJ5}>zy_TL{2a`(6)wpQv9Fsd6fppxuwir$TGVoc9Y_vDL}-#TX{N1F@(yAam0~}%P%g=9PzC>Rjd8BGP~bt# z1E|Q1nhkT^{7+1A(flW-svr%9*-vRneSz-`Zr2xl{Sp=j3eQT8mPgm!jiH-M{RJPo znS}C%OwIt6^ZyC*f}%g>>mraZQ_b;U#|d;?@E;g5RSMx-P%}sFD!7ev(zpGI5qFse zmTciZ&?TzApTX>YR;c1ud{*#r^ag1I{n)kQ10R9%S7toMev8nQAu@vV?qr{y|Orev=iX#YQSu7p505brj-glN;n|Al?{6B*nL^1}KB}BeFDJXF;50YHH`Go244Z{X)nEY# zJziWeVS5g~Q|o>P8XC`}0+JLGo&>k$;h}@YHzXR&OmNp|1fq(LQE(-<#D(-{<8FEo zZ1T#1DEWibCMW4Ax{S+=ip?NoM9hE@;zF{8hH!6!hYkx0N=_~<<=WC#!ramiuw{-@ z)cceOd4&dUD8hA42c*Yr2(|NQ9r{=4Jyu3D?o$v34~&T{(-4_V1Ao832x6b&XuT`{ z&GHLnBAF@w4bxs(h9oi>63QE>y+}aqb(5i*DVM)kR-dp-x=v;S+z!Z-1Go@#BAuBK zW76VC9XZ_<@V}NP(?~a&giRV(3i=_Q)6)<6x@xYnDtAIKdw&+G+LBx(&)!1{O9%RIh2%O621~2(Yx|I;^yc9SWMTdB8$w>&ueinWU zy+-WlRB0G#c0S@-1+;mdMe=CJ^Zd8J0q;pAH_7yy{jc#>Tr@evkfvTzK91JZ(tF|o zv6k$Sld&tZ)D)ry1b4LIWx20Tl+5J5Na1ZwI9_#>Ufo-u?S57INi7i=J`as+UBoXoy(h}IM%Qpvm zd(OehnT1})UC*EZt%^S-SQ-{9-CdO+8lPQOIzZ0P(O2|jw5eotSu$~ZP6 zW_!k{^upwkkeLeV*kFOQuVq3h{VcVE2IXVL9@TtRZJ@0a^H;Q$z^#bsRw`ldVaL>s z|K)GNNPCBGa#T7$n{%P<&rnyc-M7+dp}F=h-}s1hekM{~f2N(dc5{&0vV7UIw1Zrh z+&D?SIEPu%wY_|G?fV}&yIImrp_iPPCtcagn`+K|?DT&492cqDP8E7EO zs&I#8HZA7X%(uH}iwgl8eg~New^K3U34CcVg;*;lOJVBm2v;lDA$87nJ2fkAjA z9iuwFKVet5V_IZxZTa61ntej(^(inn zcpH6R7`}IR$mY$YS#wMKNhhXGUFz=m>!&7;_Mx*Aat}?gw`@+YZQB^U=U{9B5w`^8 zD#+(sTvX{3$bopc_y9Gj^Z7j=#eAe=>!ovfG@PG~tw)Ow(Yxp-i_$h#9SMKFov_Rd zk4#`Wao;hAtKu@nd_$Zvd5uBD;OuPi(oK<)4DDb-mjz&iw@GOJFenJ(jkZ>Kvl9v z{Ptmk_NF(mC&mqJ+BN^iBkNcCVQ#;0y1mP!L4)S``_CJ+XdY1CFU}N}t1rX;7~G?W zjqL3O4)3jSDMSbbo}WT2>D$MT=m$bfN&M*1gXs2M#O|}|%DjF1=5>sLWf9D!WH@uH zgaa!_8P2;WWpG9&(9;@Xw?lO;udpx=a9s3o_K1LEv;+9mXZTn#nY`XnsY98682OA= z0cI^i-#&f9kTWNVBS$9=qS~+GBMC_jt^W2CArt+9XFV=t?DftKCp+k z5geDmr#XK?rIqbCY#719(u2cg=C=kWRu|~?#>2LiY~P{ToMK0>w_f&+#J+n=2E1D# zs%*nUTwFrJZTl5`8y5O)0UV7?k?zxk(rnp=+Xm+ut`;`3V+`mzUMKyA4DCngb&gbf z{FoR^_nG6Hy-%NF%npb%ge69~sMmz`RepbPLMTU!y@fS4h)$kp4LP@-)!`@O%1qzG z0ndA4HgL>{1dAP$;(8_a@8sZ0wvq`6Ed%@lTQ=#Sx-x&?zWE))LdbKc*hMW{d9`aj za7o=Jb-l58k4b6thte!TrT(ZfFTJ7QHJhXix}-E$Pk3b38MkEl429>O>W*Cd7NokA z!Bv;ulX`F7&`0by9HukHr8LoKEe_K6K zN~!zF?VAWv9R54GOJ~q5E*SypCq0uEpjxsNE8O6jEP^ot#Ew0m5#fe*AN`H*>PuH% zA=|h!nk6fgiN#v(8={tiFnfKZyL1`a0*~SWMnsm4mwbf3AfKDeUy#3amt@sGcFcmp z=a(i_oJ1EH#Xyu?3&qPh#DX~(co=XpC3})W`z8$u3r#ZGe*iA#Qt9tBMSaM7Ky+6) zxLmz_d2M=}xLX2NM{y_JXxtJFGgyZDq#V$awU>S&aWnv;b$=3*5gU`95gnbW_ADwg zrP&atlcqr_!-Io{4M#UZ#DjFc+EMO?0anRDi1Olq!UH;7?RfZbZ7{C`EwKuIklvQo zFD(Q+nO=P56SE}iA%+;$QTLOnfPE9lXaqs!;M|1m2fo<$g zKCwNF&t6OQQc3jmjvd5h+9IKeZL3CWMke?2tES*c8vyNW)Ehv-a_WH+xF9k}c)vI% z;y07|^w#}5^cq=2d>4>}(AIw5UiOV0<_-#T=;hn9Nka!$CLBf;$grq*dvr-Oad zK2z)1)ai-|+$uzH3uVD1Y~gv^t>pP58@#>EK*yl(qtC*&V3|CkD9HsLJ+gVk3YBai znJ7w1o+)FcLiJpE>{yIEtO2|kNQK=;bi2^jji~3+Kcmm=aZ3*SWh${iBu)!utm2`r ze9)Kj54(@>zF0|d#Z@tavs5RsQ#A-e(yPSX2Pvk~8+72Z@;aBH4r5Krp@mtbEKAj8 zm&gv+Y�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

    6=3(=QnPeuLDdti0n3-y(nd#Q;7fbjCmF@fSxxm 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

    V7T@aTyAqtk8R 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

    NU^a~Y-YT{n`0xQzR2cZRm6M*N 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 +} diff --git a/apps/www/components/callout.tsx b/apps/www/components/callout.tsx new file mode 100644 index 0000000..aaba504 --- /dev/null +++ b/apps/www/components/callout.tsx @@ -0,0 +1,21 @@ +import { + Alert, + AlertDescription, + AlertTitle, +} from "@/registry/default/ui/alert" + +interface CalloutProps { + icon?: string + title?: string + children?: React.ReactNode +} + +export function Callout({ title, children, icon, ...props }: CalloutProps) { + return ( + + {icon && {icon}} + {title && {title}} + {children} + + ) +} diff --git a/apps/www/components/code-block-wrapper.tsx b/apps/www/components/code-block-wrapper.tsx new file mode 100644 index 0000000..0ecc128 --- /dev/null +++ b/apps/www/components/code-block-wrapper.tsx @@ -0,0 +1,56 @@ +"use client" + +import * as React from "react" + +import { cn } from "@/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/registry/default/ui/collapsible" + +interface CodeBlockProps extends React.HTMLAttributes { + expandButtonTitle?: string +} + +export function CodeBlockWrapper({ + expandButtonTitle = "View Code", + className, + children, + ...props +}: CodeBlockProps) { + const [isOpened, setIsOpened] = React.useState(false) + + return ( + +

    + +
    + {children} +
    +
    +
    + + + +
    +
    + + ) +} diff --git a/apps/www/components/command-menu.tsx b/apps/www/components/command-menu.tsx new file mode 100644 index 0000000..3aac155 --- /dev/null +++ b/apps/www/components/command-menu.tsx @@ -0,0 +1,123 @@ +"use client" + +import * as React from "react" +import { useRouter } from "next/navigation" +import { DialogProps } from "@radix-ui/react-alert-dialog" +import { + CircleIcon, + FileIcon, + LaptopIcon, + MoonIcon, + SunIcon, +} from "@radix-ui/react-icons" +import { useTheme } from "next-themes" + +import { docsConfig } from "@/config/docs" +import { cn } from "@/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { + CommandDialog, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, + CommandSeparator, +} from "@/registry/default/ui/command" + +export function CommandMenu({ ...props }: DialogProps) { + const router = useRouter() + const [open, setOpen] = React.useState(false) + const { setTheme } = useTheme() + + React.useEffect(() => { + const down = (e: KeyboardEvent) => { + if (e.key === "k" && (e.metaKey || e.ctrlKey)) { + e.preventDefault() + setOpen((open) => !open) + } + } + + document.addEventListener("keydown", down) + return () => document.removeEventListener("keydown", down) + }, []) + + const runCommand = React.useCallback((command: () => unknown) => { + setOpen(false) + command() + }, []) + + return ( + <> + + + + + No results found. + + {docsConfig.mainNav + .filter((navitem) => !navitem.external) + .map((navItem) => ( + { + runCommand(() => router.push(navItem.href as string)) + }} + > + + {navItem.title} + + ))} + + {docsConfig.sidebarNav.map((group) => ( + + {group.items.map((navItem) => ( + { + runCommand(() => router.push(navItem.href as string)) + }} + > +
    + +
    + {navItem.title} +
    + ))} +
    + ))} + + + runCommand(() => setTheme("light"))}> + + Light + + runCommand(() => setTheme("dark"))}> + + Dark + + runCommand(() => setTheme("system"))}> + + System + + +
    +
    + + ) +} diff --git a/apps/www/components/component-card.tsx b/apps/www/components/component-card.tsx new file mode 100644 index 0000000..413b388 --- /dev/null +++ b/apps/www/components/component-card.tsx @@ -0,0 +1,21 @@ +import React from "react" + +import { cn } from "@/lib/utils" +import { AspectRatio } from "@/registry/default/ui/aspect-ratio" + +export function ComponentCard({ + className, + ...props +}: React.HTMLAttributes) { + return ( + +
    + + ) +} diff --git a/apps/www/components/component-example.tsx b/apps/www/components/component-example.tsx new file mode 100644 index 0000000..a0bc83a --- /dev/null +++ b/apps/www/components/component-example.tsx @@ -0,0 +1,107 @@ +"use client" + +import * as React from "react" + +import { cn } from "@/lib/utils" +import { CopyButton, CopyWithClassNames } from "@/components/copy-button" +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger, +} from "@/registry/default/ui/tabs" + +interface ComponentExampleProps extends React.HTMLAttributes { + extractClassname?: boolean + extractedClassNames?: string + align?: "center" | "start" | "end" + src?: string +} + +export function ComponentExample({ + children, + className, + extractClassname, + extractedClassNames, + align = "center", + src: _, + ...props +}: ComponentExampleProps) { + const [Example, Code, ...Children] = React.Children.toArray( + children + ) as React.ReactElement[] + + const codeString = React.useMemo(() => { + if ( + typeof Code?.props["data-rehype-pretty-code-fragment"] !== "undefined" + ) { + const [, Button] = React.Children.toArray( + Code.props.children + ) as React.ReactElement[] + return Button?.props?.value || Button?.props?.__rawString__ || null + } + }, [Code]) + + return ( +
    + +
    + + + Preview + + + Code + + + {extractedClassNames ? ( + + ) : ( + codeString && ( + + ) + )} +
    + +
    + {Example} +
    +
    + +
    +
    + {Code} +
    + {Children?.length ? ( +
    + {Children} +
    + ) : null} +
    +
    +
    +
    + ) +} diff --git a/apps/www/components/component-preview.tsx b/apps/www/components/component-preview.tsx new file mode 100644 index 0000000..d5a31bc --- /dev/null +++ b/apps/www/components/component-preview.tsx @@ -0,0 +1,139 @@ +"use client" + +import * as React from "react" +import { Index } from "@/__registry__" + +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" +import { CopyButton, CopyWithClassNames } from "@/components/copy-button" +import { Icons } from "@/components/icons" +import { StyleSwitcher } from "@/components/style-switcher" +import { ThemeWrapper } from "@/components/theme-wrapper" +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger, +} from "@/registry/default/ui/tabs" +import { styles } from "@/registry/styles" + +interface ComponentPreviewProps extends React.HTMLAttributes { + name: string + extractClassname?: boolean + extractedClassNames?: string + align?: "center" | "start" | "end" +} + +export function ComponentPreview({ + name, + children, + className, + extractClassname, + extractedClassNames, + align = "center", + ...props +}: ComponentPreviewProps) { + const [config] = useConfig() + const index = styles.findIndex((style) => style.name === config.style) + + const Codes = React.Children.toArray(children) as React.ReactElement[] + const Code = Codes[index] + + const Preview = React.useMemo(() => { + const Component = Index[config.style][name]?.component + + if (!Component) { + return ( +

    + Component{" "} + + {name} + {" "} + not found in registry. +

    + ) + } + + return + }, [name, config.style]) + + const codeString = React.useMemo(() => { + if ( + typeof Code?.props["data-rehype-pretty-code-fragment"] !== "undefined" + ) { + const [, Button] = React.Children.toArray( + Code.props.children + ) as React.ReactElement[] + return Button?.props?.value || Button?.props?.__rawString__ || null + } + }, [Code]) + + return ( +
    + +
    + + + Preview + + + Code + + +
    + +
    + + {extractedClassNames ? ( + + ) : ( + codeString && + )} +
    + +
    + + + Loading... +
    + } + > + {Preview} + +
    + + + +
    +
    + {Code} +
    +
    +
    + +
    + ) +} diff --git a/apps/www/components/component-source.tsx b/apps/www/components/component-source.tsx new file mode 100644 index 0000000..3115038 --- /dev/null +++ b/apps/www/components/component-source.tsx @@ -0,0 +1,25 @@ +"use client" + +import * as React from "react" + +import { cn } from "@/lib/utils" +import { CodeBlockWrapper } from "@/components/code-block-wrapper" + +interface ComponentSourceProps extends React.HTMLAttributes { + src: string +} + +export function ComponentSource({ + children, + className, + ...props +}: ComponentSourceProps) { + return ( + + {children} + + ) +} diff --git a/apps/www/components/copy-button.tsx b/apps/www/components/copy-button.tsx new file mode 100644 index 0000000..d10a669 --- /dev/null +++ b/apps/www/components/copy-button.tsx @@ -0,0 +1,210 @@ +"use client" + +import * as React from "react" +import { DropdownMenuTriggerProps } from "@radix-ui/react-dropdown-menu" +import { CheckIcon, CopyIcon } from "@radix-ui/react-icons" +import { NpmCommands } from "types/unist" + +import { Event, trackEvent } from "@/lib/events" +import { cn } from "@/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/registry/default/ui/dropdown-menu" + +interface CopyButtonProps extends React.HTMLAttributes { + value: string + src?: string + event?: Event["name"] +} + +export async function copyToClipboardWithMeta(value: string, event?: Event) { + navigator.clipboard.writeText(value) + if (event) { + trackEvent(event) + } +} + +export function CopyButton({ + value, + className, + src, + event, + ...props +}: CopyButtonProps) { + const [hasCopied, setHasCopied] = React.useState(false) + + React.useEffect(() => { + setTimeout(() => { + setHasCopied(false) + }, 2000) + }, [hasCopied]) + + return ( + + ) +} + +interface CopyWithClassNamesProps extends DropdownMenuTriggerProps { + value: string + classNames: string + className?: string +} + +export function CopyWithClassNames({ + value, + classNames, + className, + ...props +}: CopyWithClassNamesProps) { + const [hasCopied, setHasCopied] = React.useState(false) + + React.useEffect(() => { + setTimeout(() => { + setHasCopied(false) + }, 2000) + }, [hasCopied]) + + const copyToClipboard = React.useCallback((value: string) => { + copyToClipboardWithMeta(value) + setHasCopied(true) + }, []) + + return ( + + + + + + copyToClipboard(value)}> + Component + + copyToClipboard(classNames)}> + Classname + + + + ) +} + +interface CopyNpmCommandButtonProps extends DropdownMenuTriggerProps { + commands: Required +} + +export function CopyNpmCommandButton({ + commands, + className, + ...props +}: CopyNpmCommandButtonProps) { + const [hasCopied, setHasCopied] = React.useState(false) + + React.useEffect(() => { + setTimeout(() => { + setHasCopied(false) + }, 2000) + }, [hasCopied]) + + const copyCommand = React.useCallback( + (value: string, pm: "npm" | "pnpm" | "yarn" | "bun") => { + copyToClipboardWithMeta(value, { + name: "copy_npm_command", + properties: { + command: value, + pm, + }, + }) + setHasCopied(true) + }, + [] + ) + + return ( + + + + + + copyCommand(commands.__npmCommand__, "npm")} + > + npm + + copyCommand(commands.__yarnCommand__, "yarn")} + > + yarn + + copyCommand(commands.__pnpmCommand__, "pnpm")} + > + pnpm + + copyCommand(commands.__bunCommand__, "bun")} + > + bun + + + + ) +} diff --git a/apps/www/components/drawer.tsx b/apps/www/components/drawer.tsx new file mode 100644 index 0000000..4fab78d --- /dev/null +++ b/apps/www/components/drawer.tsx @@ -0,0 +1,31 @@ +"use client" + +import { forwardRef } from "react" +import { Drawer as DrawerPrimitive } from "vaul" + +import { cn } from "@/lib/utils" + +const DrawerTrigger = DrawerPrimitive.Trigger + +const DrawerContent = forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + +
    + {children} + + +)) +DrawerContent.displayName = "DrawerContent" + +export { DrawerTrigger, DrawerContent } diff --git a/apps/www/components/examples-nav.tsx b/apps/www/components/examples-nav.tsx new file mode 100644 index 0000000..a1870f8 --- /dev/null +++ b/apps/www/components/examples-nav.tsx @@ -0,0 +1,73 @@ +"use client" + +import Link from "next/link" +import { usePathname } from "next/navigation" +import { ArrowRightIcon } from "@radix-ui/react-icons" + +import { cn } from "@/lib/utils" +import { ScrollArea, ScrollBar } from "@/registry/default/ui/scroll-area" + +const examples = [ + { + name: "Authentication", + href: "/examples/authentication", + code: "https://github.com/shadcn/ui/tree/main/apps/www/app/examples/authentication", + }, +] + +interface ExamplesNavProps extends React.HTMLAttributes {} + +export function ExamplesNav({ className, ...props }: ExamplesNavProps) { + const pathname = usePathname() + + return ( +
    + +
    + {examples.map((example) => ( + + {example.name} + + ))} +
    + +
    + +
    + ) +} + +interface ExampleCodeLinkProps { + pathname: string | null +} + +export function ExampleCodeLink({ pathname }: ExampleCodeLinkProps) { + const example = examples.find((example) => pathname?.startsWith(example.href)) + + if (!example?.code) { + return null + } + + return ( + + View code + + + ) +} diff --git a/apps/www/components/framework-docs.tsx b/apps/www/components/framework-docs.tsx new file mode 100644 index 0000000..2bebd69 --- /dev/null +++ b/apps/www/components/framework-docs.tsx @@ -0,0 +1,22 @@ +"use client" + +import * as React from "react" +import { allDocs } from "contentlayer/generated" + +import { Mdx } from "./mdx-components" + +interface FrameworkDocsProps extends React.HTMLAttributes { + data: string +} + +export function FrameworkDocs({ ...props }: FrameworkDocsProps) { + const frameworkDoc = allDocs.find( + (doc) => doc.slug === `/docs/installation/${props.data}` + ) + + if (!frameworkDoc) { + return null + } + + return +} diff --git a/apps/www/components/icons.tsx b/apps/www/components/icons.tsx new file mode 100644 index 0000000..1e82e6b --- /dev/null +++ b/apps/www/components/icons.tsx @@ -0,0 +1,156 @@ +type IconProps = React.HTMLAttributes + +export const Icons = { + logo: (props: IconProps) => ( + + + + ), + twitter: (props: IconProps) => ( + + + + ), + gitHub: (props: IconProps) => ( + + + + ), + wagmi: (props: IconProps) => ( + + wagmi logo + + + ), + radix: (props: IconProps) => ( + + + + + + ), + aria: (props: IconProps) => ( + + + + ), + npm: (props: IconProps) => ( + + + + ), + yarn: (props: IconProps) => ( + + + + ), + pnpm: (props: IconProps) => ( + + + + ), + react: (props: IconProps) => ( + + + + ), + tailwind: (props: IconProps) => ( + + + + ), + google: (props: IconProps) => ( + + + + ), + apple: (props: IconProps) => ( + + + + ), + paypal: (props: IconProps) => ( + + + + ), + spinner: (props: IconProps) => ( + + + + ), +} diff --git a/apps/www/components/main-nav.tsx b/apps/www/components/main-nav.tsx new file mode 100644 index 0000000..5dbf52f --- /dev/null +++ b/apps/www/components/main-nav.tsx @@ -0,0 +1,77 @@ +"use client" + +import * as React from "react" +import Link from "next/link" +import { usePathname } from "next/navigation" + +import { siteConfig } from "@/config/site" +import { cn } from "@/lib/utils" +import { Icons } from "@/components/icons" +import { Badge } from "@/registry/default/ui/badge" + +export function MainNav() { + const pathname = usePathname() + + return ( +
    + + + + {siteConfig.name} + + + +
    + ) +} diff --git a/apps/www/components/mdx-components.tsx b/apps/www/components/mdx-components.tsx new file mode 100644 index 0000000..6203676 --- /dev/null +++ b/apps/www/components/mdx-components.tsx @@ -0,0 +1,332 @@ +"use client" + +import * as React from "react" +import Image from "next/image" +import Link from "next/link" +import { useMDXComponent } from "next-contentlayer/hooks" +import { NpmCommands } from "types/unist" + +import { Event } from "@/lib/events" +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" +import { Callout } from "@/components/callout" +import { CodeBlockWrapper } from "@/components/code-block-wrapper" +import { ComponentExample } from "@/components/component-example" +import { ComponentPreview } from "@/components/component-preview" +import { ComponentSource } from "@/components/component-source" +import { CopyButton, CopyNpmCommandButton } from "@/components/copy-button" +import { FrameworkDocs } from "@/components/framework-docs" +import { StyleWrapper } from "@/components/style-wrapper" +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/registry/default/ui/accordion" +import { + Alert, + AlertDescription, + AlertTitle, +} from "@/registry/default/ui/alert" +import { AspectRatio } from "@/registry/default/ui/aspect-ratio" +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger, +} from "@/registry/default/ui/tabs" +import { Style } from "@/registry/styles" + +const components = { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, + Alert, + AlertTitle, + AlertDescription, + h1: ({ className, ...props }: React.HTMLAttributes) => ( +

    + ), + h2: ({ className, ...props }: React.HTMLAttributes) => ( +

    + ), + h3: ({ className, ...props }: React.HTMLAttributes) => ( +

    + ), + h4: ({ className, ...props }: React.HTMLAttributes) => ( +

    + ), + h5: ({ className, ...props }: React.HTMLAttributes) => ( +
    + ), + h6: ({ className, ...props }: React.HTMLAttributes) => ( +
    + ), + a: ({ className, ...props }: React.HTMLAttributes) => ( + + ), + p: ({ className, ...props }: React.HTMLAttributes) => ( +

    + ), + ul: ({ className, ...props }: React.HTMLAttributes) => ( +

      + ), + ol: ({ className, ...props }: React.HTMLAttributes) => ( +
        + ), + li: ({ className, ...props }: React.HTMLAttributes) => ( +
      1. + ), + blockquote: ({ className, ...props }: React.HTMLAttributes) => ( +
        + ), + img: ({ + className, + alt, + ...props + }: React.ImgHTMLAttributes) => ( + // eslint-disable-next-line @next/next/no-img-element + {alt} + ), + hr: ({ ...props }: React.HTMLAttributes) => ( +
        + ), + table: ({ className, ...props }: React.HTMLAttributes) => ( +
        + + + ), + tr: ({ className, ...props }: React.HTMLAttributes) => ( + + ), + th: ({ className, ...props }: React.HTMLAttributes) => ( +
        + ), + td: ({ className, ...props }: React.HTMLAttributes) => ( + + ), + pre: ({ + className, + __rawString__, + __npmCommand__, + __yarnCommand__, + __pnpmCommand__, + __bunCommand__, + __withMeta__, + __src__, + __event__, + __style__, + ...props + }: React.HTMLAttributes & { + __style__?: Style["name"] + __rawString__?: string + __withMeta__?: boolean + __src__?: string + __event__?: Event["name"] + } & NpmCommands) => { + return ( + +
        +        {__rawString__ && !__npmCommand__ && (
        +          
        +        )}
        +        {__npmCommand__ &&
        +          __yarnCommand__ &&
        +          __pnpmCommand__ &&
        +          __bunCommand__ && (
        +            
        +          )}
        +      
        +    )
        +  },
        +  code: ({ className, ...props }: React.HTMLAttributes) => (
        +    
        +  ),
        +  Image,
        +  Callout,
        +  ComponentPreview,
        +  ComponentExample,
        +  ComponentSource,
        +  AspectRatio,
        +  CodeBlockWrapper: ({ ...props }) => (
        +    
        +  ),
        +  Step: ({ className, ...props }: React.ComponentProps<"h3">) => (
        +    

        + ), + Steps: ({ ...props }) => ( +
        + ), + Tabs: ({ className, ...props }: React.ComponentProps) => ( + + ), + TabsList: ({ + className, + ...props + }: React.ComponentProps) => ( + + ), + TabsTrigger: ({ + className, + ...props + }: React.ComponentProps) => ( + + ), + TabsContent: ({ + className, + ...props + }: React.ComponentProps) => ( + + ), + FrameworkDocs: ({ + className, + ...props + }: React.ComponentProps) => ( + + ), + Link: ({ className, ...props }: React.ComponentProps) => ( + + ), + LinkedCard: ({ className, ...props }: React.ComponentProps) => ( + + ), +} + +interface MdxProps { + code: string +} + +export function Mdx({ code }: MdxProps) { + const [config] = useConfig() + const Component = useMDXComponent(code, { + style: config.style, + }) + + return ( +
        + +
        + ) +} diff --git a/apps/www/components/mobile-nav.tsx b/apps/www/components/mobile-nav.tsx new file mode 100644 index 0000000..d5f9bdd --- /dev/null +++ b/apps/www/components/mobile-nav.tsx @@ -0,0 +1,111 @@ +"use client" + +import * as React from "react" +import Link, { LinkProps } from "next/link" +import { useRouter } from "next/navigation" +import { ViewVerticalIcon } from "@radix-ui/react-icons" + +import { docsConfig } from "@/config/docs" +import { siteConfig } from "@/config/site" +import { cn } from "@/lib/utils" +import { Icons } from "@/components/icons" +import { Button } from "@/registry/default/ui/button" +import { ScrollArea } from "@/registry/default/ui/scroll-area" +import { Sheet, SheetContent, SheetTrigger } from "@/registry/default/ui/sheet" + +export function MobileNav() { + const [open, setOpen] = React.useState(false) + + return ( + + + + + + + + {siteConfig.name} + + +
        + {docsConfig.mainNav?.map( + (item) => + item.href && ( + + {item.title} + + ) + )} +
        +
        + {docsConfig.sidebarNav.map((item, index) => ( +
        +

        {item.title}

        + {item?.items?.length && + item.items.map((item) => ( + + {!item.disabled && + (item.href ? ( + + {item.title} + + ) : ( + item.title + ))} + + ))} +
        + ))} +
        +
        +
        +
        + ) +} + +interface MobileLinkProps extends LinkProps { + onOpenChange?: (open: boolean) => void + children: React.ReactNode + className?: string +} + +function MobileLink({ + href, + onOpenChange, + className, + children, + ...props +}: MobileLinkProps) { + const router = useRouter() + return ( + { + router.push(href.toString()) + onOpenChange?.(false) + }} + className={cn(className)} + {...props} + > + {children} + + ) +} diff --git a/apps/www/components/mode-toggle.tsx b/apps/www/components/mode-toggle.tsx new file mode 100644 index 0000000..d1ac491 --- /dev/null +++ b/apps/www/components/mode-toggle.tsx @@ -0,0 +1,40 @@ +"use client" + +import * as React from "react" +import { MoonIcon, SunIcon } from "@radix-ui/react-icons" +import { useTheme } from "next-themes" + +import { Button } from "@/registry/default/ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/registry/default/ui/dropdown-menu" + +export function ModeToggle() { + const { setTheme } = useTheme() + + return ( + + + + + + setTheme("light")}> + Light + + setTheme("dark")}> + Dark + + setTheme("system")}> + System + + + + ) +} diff --git a/apps/www/components/page-header.tsx b/apps/www/components/page-header.tsx new file mode 100644 index 0000000..db2f703 --- /dev/null +++ b/apps/www/components/page-header.tsx @@ -0,0 +1,53 @@ +import Balance from "react-wrap-balancer" + +import { cn } from "@/lib/utils" + +function PageHeader({ + className, + children, + ...props +}: React.HTMLAttributes) { + return ( +
        + {children} +
        + ) +} + +function PageHeaderHeading({ + className, + ...props +}: React.HTMLAttributes) { + return ( +

        + ) +} + +function PageHeaderDescription({ + className, + ...props +}: React.HTMLAttributes) { + return ( + + ) +} + +export { PageHeader, PageHeaderHeading, PageHeaderDescription } diff --git a/apps/www/components/pager.tsx b/apps/www/components/pager.tsx new file mode 100644 index 0000000..daad42d --- /dev/null +++ b/apps/www/components/pager.tsx @@ -0,0 +1,67 @@ +import Link from "next/link" +import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons" +import { Doc } from "contentlayer/generated" +import { NavItem, NavItemWithChildren } from "types/nav" + +import { docsConfig } from "@/config/docs" +import { cn } from "@/lib/utils" +import { buttonVariants } from "@/registry/default/ui/button" + +interface DocsPagerProps { + doc: Doc +} + +export function DocsPager({ doc }: DocsPagerProps) { + const pager = getPagerForDoc(doc) + + if (!pager) { + return null + } + + return ( +
        + {pager?.prev?.href && ( + + + {pager.prev.title} + + )} + {pager?.next?.href && ( + + {pager.next.title} + + + )} +
        + ) +} + +export function getPagerForDoc(doc: Doc) { + const flattenedLinks = [null, ...flatten(docsConfig.sidebarNav), null] + const activeIndex = flattenedLinks.findIndex( + (link) => doc.slug === link?.href + ) + const prev = activeIndex !== 0 ? flattenedLinks[activeIndex - 1] : null + const next = + activeIndex !== flattenedLinks.length - 1 + ? flattenedLinks[activeIndex + 1] + : null + return { + prev, + next, + } +} + +export function flatten(links: NavItemWithChildren[]): NavItem[] { + return links + .reduce((flat, link) => { + return flat.concat(link.items?.length ? flatten(link.items) : link) + }, []) + .filter((link) => !link?.disabled) +} diff --git a/apps/www/components/promo-video.tsx b/apps/www/components/promo-video.tsx new file mode 100644 index 0000000..ab76403 --- /dev/null +++ b/apps/www/components/promo-video.tsx @@ -0,0 +1,19 @@ +"use client" + +import { AspectRatio } from "@/registry/default/ui/aspect-ratio" + +export function PromoVideo() { + return ( + + + + ) +} diff --git a/apps/www/components/providers.tsx b/apps/www/components/providers.tsx new file mode 100644 index 0000000..f869cb4 --- /dev/null +++ b/apps/www/components/providers.tsx @@ -0,0 +1,15 @@ +"use client" + +import * as React from "react" +import { ThemeProvider as NextThemesProvider } from "next-themes" +import { ThemeProviderProps } from "next-themes/dist/types" + +import { TooltipProvider } from "@/registry/default/ui/tooltip" + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return ( + + {children} + + ) +} diff --git a/apps/www/components/providers/rainbow-kit-provider.tsx b/apps/www/components/providers/rainbow-kit-provider.tsx new file mode 100644 index 0000000..77c46b8 --- /dev/null +++ b/apps/www/components/providers/rainbow-kit-provider.tsx @@ -0,0 +1,15 @@ +"use client" + +import "@rainbow-me/rainbowkit/styles.css" +import { ReactNode } from "react" +import { RainbowKitProvider } from "@rainbow-me/rainbowkit" + +import { chains, publicClient, webSocketPublicClient } from "@/config/networks" + +export function RainbowKitInitializedProvider({ + children, +}: { + children: ReactNode +}) { + return {children} +} diff --git a/apps/www/components/providers/wagmi-provider.tsx b/apps/www/components/providers/wagmi-provider.tsx new file mode 100644 index 0000000..c25dc68 --- /dev/null +++ b/apps/www/components/providers/wagmi-provider.tsx @@ -0,0 +1,18 @@ +"use client" + +import { ReactNode } from "react" +import { WagmiConfig, createConfig } from "wagmi" + +import { connectors } from "@/config/connectors" +import { publicClient, webSocketPublicClient } from "@/config/networks" + +const wagmiConfig = createConfig({ + autoConnect: true, + connectors: connectors, + publicClient, + webSocketPublicClient, +}) + +export function WagmiProvider({ children }: { children: ReactNode }) { + return {children} +} diff --git a/apps/www/components/sidebar-nav.tsx b/apps/www/components/sidebar-nav.tsx new file mode 100644 index 0000000..f84f9bc --- /dev/null +++ b/apps/www/components/sidebar-nav.tsx @@ -0,0 +1,84 @@ +"use client" + +import Link from "next/link" +import { usePathname } from "next/navigation" +import { SidebarNavItem } from "types/nav" + +import { cn } from "@/lib/utils" + +export interface DocsSidebarNavProps { + items: SidebarNavItem[] +} + +export function DocsSidebarNav({ items }: DocsSidebarNavProps) { + const pathname = usePathname() + + return items.length ? ( +
        + {items.map((item, index) => ( +
        +

        + {item.title} +

        + {item?.items?.length && ( + + )} +
        + ))} +
        + ) : null +} + +interface DocsSidebarNavItemsProps { + items: SidebarNavItem[] + pathname: string | null +} + +export function DocsSidebarNavItems({ + items, + pathname, +}: DocsSidebarNavItemsProps) { + return items?.length ? ( +
        + {items.map((item, index) => + item.href && !item.disabled ? ( + + {item.title} + {item.label && ( + + {item.label} + + )} + + ) : ( + + {item.title} + {item.label && ( + + {item.label} + + )} + + ) + )} +
        + ) : null +} diff --git a/apps/www/components/site-footer.tsx b/apps/www/components/site-footer.tsx new file mode 100644 index 0000000..b481a25 --- /dev/null +++ b/apps/www/components/site-footer.tsx @@ -0,0 +1,31 @@ +import { siteConfig } from "@/config/site" + +export function SiteFooter() { + return ( + + ) +} diff --git a/apps/www/components/site-header.tsx b/apps/www/components/site-header.tsx new file mode 100644 index 0000000..7703835 --- /dev/null +++ b/apps/www/components/site-header.tsx @@ -0,0 +1,63 @@ +import Link from "next/link" + +import { siteConfig } from "@/config/site" +import { cn } from "@/lib/utils" +import { CommandMenu } from "@/components/command-menu" +import { Icons } from "@/components/icons" +import { MainNav } from "@/components/main-nav" +import { MobileNav } from "@/components/mobile-nav" +import { ModeToggle } from "@/components/mode-toggle" +import { buttonVariants } from "@/registry/default/ui/button" + +export function SiteHeader() { + return ( +
        +
        + + +
        +
        + +
        + +
        +
        +
        + ) +} diff --git a/apps/www/components/style-switcher.tsx b/apps/www/components/style-switcher.tsx new file mode 100644 index 0000000..252d402 --- /dev/null +++ b/apps/www/components/style-switcher.tsx @@ -0,0 +1,48 @@ +"use client" + +import * as React from "react" +import { type SelectTriggerProps } from "@radix-ui/react-select" + +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/registry/default/ui/select" +import { Style, styles } from "@/registry/styles" + +export function StyleSwitcher({ className }: SelectTriggerProps) { + const [config, setConfig] = useConfig() + + return ( + + ) +} diff --git a/apps/www/components/style-wrapper.tsx b/apps/www/components/style-wrapper.tsx new file mode 100644 index 0000000..c53352f --- /dev/null +++ b/apps/www/components/style-wrapper.tsx @@ -0,0 +1,20 @@ +"use client" + +import * as React from "react" + +import { useConfig } from "@/hooks/use-config" +import { Style } from "@/registry/styles" + +interface StyleWrapperProps extends React.HTMLAttributes { + styleName?: Style["name"] +} + +export function StyleWrapper({ styleName, children }: StyleWrapperProps) { + const [config] = useConfig() + + if (!styleName || config.style === styleName) { + return <>{children} + } + + return null +} diff --git a/apps/www/components/tailwind-indicator.tsx b/apps/www/components/tailwind-indicator.tsx new file mode 100644 index 0000000..535e074 --- /dev/null +++ b/apps/www/components/tailwind-indicator.tsx @@ -0,0 +1,14 @@ +export function TailwindIndicator() { + if (process.env.NODE_ENV === "production") return null + + return ( +
        +
        xs
        +
        sm
        +
        md
        +
        lg
        +
        xl
        +
        2xl
        +
        + ) +} diff --git a/apps/www/components/theme-component.tsx b/apps/www/components/theme-component.tsx new file mode 100644 index 0000000..3d56c38 --- /dev/null +++ b/apps/www/components/theme-component.tsx @@ -0,0 +1,52 @@ +"use client" + +import * as React from "react" +import { Index } from "@/__registry__" + +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" +import { Icons } from "@/components/icons" + +interface ThemeComponentProps extends React.HTMLAttributes { + name: string + extractClassname?: boolean + extractedClassNames?: string + align?: "center" | "start" | "end" +} + +export function ThemeComponent({ name, ...props }: ThemeComponentProps) { + const [config] = useConfig() + + const Preview = React.useMemo(() => { + const Component = Index[config.style][name]?.component + + if (!Component) { + return ( +

        + Component{" "} + + {name} + {" "} + not found in registry. +

        + ) + } + + return + }, [name, config.style]) + + return ( +
        + + + Loading... +
        + } + > + {Preview} + +

        + ) +} diff --git a/apps/www/components/theme-customizer.tsx b/apps/www/components/theme-customizer.tsx new file mode 100644 index 0000000..d1a0d88 --- /dev/null +++ b/apps/www/components/theme-customizer.tsx @@ -0,0 +1,619 @@ +"use client" + +import * as React from "react" +import { + CheckIcon, + CopyIcon, + InfoCircledIcon, + MoonIcon, + ResetIcon, + SunIcon, +} from "@radix-ui/react-icons" +import template from "lodash.template" +import { Paintbrush } from "lucide-react" +import { useTheme } from "next-themes" + +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" +import { copyToClipboardWithMeta } from "@/components/copy-button" +import { DrawerContent, DrawerTrigger } from "@/components/drawer" +import { ThemeWrapper } from "@/components/theme-wrapper" +import { Button } from "@/registry/default/ui/button" +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/registry/default/ui/dialog" +import { Label } from "@/registry/default/ui/label" +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/registry/default/ui/popover" +import { Skeleton } from "@/registry/default/ui/skeleton" +import { Theme, themes } from "@/registry/themes" + +import "@/styles/mdx.css" +import { Drawer } from "vaul" + +import { + Tooltip, + TooltipContent, + TooltipTrigger, +} from "@/registry/default/ui/tooltip" + +export function ThemeCustomizer() { + const [config, setConfig] = useConfig() + const { resolvedTheme: mode } = useTheme() + const [mounted, setMounted] = React.useState(false) + + React.useEffect(() => { + setMounted(true) + }, []) + + return ( +
        + + + + + + + + +
        +
        + {mounted ? ( + <> + {["zinc", "rose", "blue", "green", "orange"].map((color) => { + const theme = themes.find((theme) => theme.name === color) + const isActive = config.theme === color + + if (!theme) { + return null + } + + return ( + + + + + + {theme.label} + + + ) + })} + + ) : ( +
        + + + + + +
        + )} +
        + + + + + + + + +
        + +
        + ) +} + +function Customizer() { + const [mounted, setMounted] = React.useState(false) + const { setTheme: setMode, resolvedTheme: mode } = useTheme() + const [config, setConfig] = useConfig() + + React.useEffect(() => { + setMounted(true) + }, []) + + return ( + +
        +
        +
        + Customize +
        +
        + Pick a style and color for your components. +
        +
        + +
        +
        +
        +
        + + + + + About styles + + +

        + What is the difference between the New York and Default style? +

        +

        + A style comes with its own set of components, animations, + icons and more. +

        +

        + The Default style has + larger inputs, uses lucide-react for icons and + tailwindcss-animate for animations. +

        +

        + The New York style ships + with smaller buttons and cards with shadows. It uses icons + from Radix Icons. +

        +
        +
        +
        +
        + +
        +
        +
        + +
        + {themes.map((theme) => { + const isActive = config.theme === theme.name + + return mounted ? ( + + ) : ( + + ) + })} +
        +
        +
        + +
        + {["0", "0.3", "0.5", "0.75", "1.0"].map((value) => { + return ( + + ) + })} +
        +
        +
        + +
        + {mounted ? ( + <> + + + + ) : ( + <> + + + + )} +
        +
        +
        +
        + ) +} + +function CopyCodeButton() { + const [config] = useConfig() + const activeTheme = themes.find((theme) => theme.name === config.theme) + const [hasCopied, setHasCopied] = React.useState(false) + + React.useEffect(() => { + setTimeout(() => { + setHasCopied(false) + }, 2000) + }, [hasCopied]) + + return ( + <> + {activeTheme && ( + + )} + + + + + + + Theme + + Copy and paste the following code into your CSS file. + + + + + {activeTheme && ( + + )} + + + + + ) +} + +function CustomizerCode() { + const [config] = useConfig() + const activeTheme = themes.find((theme) => theme.name === config.theme) + + return ( + +
        +
        +          
        +            @layer base {
        +              :root {
        +            
        +                  --background:{" "}
        +              {activeTheme?.cssVars.light["background"]};
        +            
        +            
        +                  --foreground:{" "}
        +              {activeTheme?.cssVars.light["foreground"]};
        +            
        +            {[
        +              "card",
        +              "popover",
        +              "primary",
        +              "secondary",
        +              "muted",
        +              "accent",
        +              "destructive",
        +            ].map((prefix) => (
        +              <>
        +                
        +                      --{prefix}:{" "}
        +                  {
        +                    activeTheme?.cssVars.light[
        +                      prefix as keyof typeof activeTheme.cssVars.light
        +                    ]
        +                  }
        +                  ;
        +                
        +                
        +                      --{prefix}-foreground:{" "}
        +                  {
        +                    activeTheme?.cssVars.light[
        +                      `${prefix}-foreground` as keyof typeof activeTheme.cssVars.light
        +                    ]
        +                  }
        +                  ;
        +                
        +              
        +            ))}
        +            
        +                  --border:{" "}
        +              {activeTheme?.cssVars.light["border"]};
        +            
        +            
        +                  --input:{" "}
        +              {activeTheme?.cssVars.light["input"]};
        +            
        +            
        +                  --ring:{" "}
        +              {activeTheme?.cssVars.light["ring"]};
        +            
        +            
        +                  --radius: {config.radius}rem;
        +            
        +              }
        +             
        +              .dark {
        +            
        +                  --background:{" "}
        +              {activeTheme?.cssVars.dark["background"]};
        +            
        +            
        +                  --foreground:{" "}
        +              {activeTheme?.cssVars.dark["foreground"]};
        +            
        +            {[
        +              "card",
        +              "popover",
        +              "primary",
        +              "secondary",
        +              "muted",
        +              "accent",
        +              "destructive",
        +            ].map((prefix) => (
        +              <>
        +                
        +                      --{prefix}:{" "}
        +                  {
        +                    activeTheme?.cssVars.dark[
        +                      prefix as keyof typeof activeTheme.cssVars.dark
        +                    ]
        +                  }
        +                  ;
        +                
        +                
        +                      --{prefix}-foreground:{" "}
        +                  {
        +                    activeTheme?.cssVars.dark[
        +                      `${prefix}-foreground` as keyof typeof activeTheme.cssVars.dark
        +                    ]
        +                  }
        +                  ;
        +                
        +              
        +            ))}
        +            
        +                  --border:{" "}
        +              {activeTheme?.cssVars.dark["border"]};
        +            
        +            
        +                  --input:{" "}
        +              {activeTheme?.cssVars.dark["input"]};
        +            
        +            
        +                  --ring:{" "}
        +              {activeTheme?.cssVars.dark["ring"]};
        +            
        +              }
        +            }
        +          
        +        
        +
        +
        + ) +} + +function getThemeCode(theme: Theme, radius: number) { + if (!theme) { + return "" + } + + return template(BASE_STYLES_WITH_VARIABLES)({ + colors: theme.cssVars, + radius, + }) +} + +const BASE_STYLES_WITH_VARIABLES = ` +@layer base { + :root { + --background: <%- colors.light["background"] %>; + --foreground: <%- colors.light["foreground"] %>; + --card: <%- colors.light["card"] %>; + --card-foreground: <%- colors.light["card-foreground"] %>; + --popover: <%- colors.light["popover"] %>; + --popover-foreground: <%- colors.light["popover-foreground"] %>; + --primary: <%- colors.light["primary"] %>; + --primary-foreground: <%- colors.light["primary-foreground"] %>; + --secondary: <%- colors.light["secondary"] %>; + --secondary-foreground: <%- colors.light["secondary-foreground"] %>; + --muted: <%- colors.light["muted"] %>; + --muted-foreground: <%- colors.light["muted-foreground"] %>; + --accent: <%- colors.light["accent"] %>; + --accent-foreground: <%- colors.light["accent-foreground"] %>; + --destructive: <%- colors.light["destructive"] %>; + --destructive-foreground: <%- colors.light["destructive-foreground"] %>; + --border: <%- colors.light["border"] %>; + --input: <%- colors.light["input"] %>; + --ring: <%- colors.light["ring"] %>; + --radius: <%- radius %>rem; + } + + .dark { + --background: <%- colors.dark["background"] %>; + --foreground: <%- colors.dark["foreground"] %>; + --card: <%- colors.dark["card"] %>; + --card-foreground: <%- colors.dark["card-foreground"] %>; + --popover: <%- colors.dark["popover"] %>; + --popover-foreground: <%- colors.dark["popover-foreground"] %>; + --primary: <%- colors.dark["primary"] %>; + --primary-foreground: <%- colors.dark["primary-foreground"] %>; + --secondary: <%- colors.dark["secondary"] %>; + --secondary-foreground: <%- colors.dark["secondary-foreground"] %>; + --muted: <%- colors.dark["muted"] %>; + --muted-foreground: <%- colors.dark["muted-foreground"] %>; + --accent: <%- colors.dark["accent"] %>; + --accent-foreground: <%- colors.dark["accent-foreground"] %>; + --destructive: <%- colors.dark["destructive"] %>; + --destructive-foreground: <%- colors.dark["destructive-foreground"] %>; + --border: <%- colors.dark["border"] %>; + --input: <%- colors.dark["input"] %>; + --ring: <%- colors.dark["ring"] %>; + } +} +` diff --git a/apps/www/components/theme-switcher.tsx b/apps/www/components/theme-switcher.tsx new file mode 100644 index 0000000..ed5951f --- /dev/null +++ b/apps/www/components/theme-switcher.tsx @@ -0,0 +1,26 @@ +"use client" + +import * as React from "react" +import { useSelectedLayoutSegment } from "next/navigation" + +import { useConfig } from "@/hooks/use-config" + +export function ThemeSwitcher() { + const [config] = useConfig() + const segment = useSelectedLayoutSegment() + + React.useEffect(() => { + document.body.classList.forEach((className) => { + if (className.match(/^theme.*/)) { + document.body.classList.remove(className) + } + }) + + const theme = segment === "themes" ? config.theme : null + if (theme) { + return document.body.classList.add(`theme-${theme}`) + } + }, [segment, config]) + + return null +} diff --git a/apps/www/components/theme-wrapper.tsx b/apps/www/components/theme-wrapper.tsx new file mode 100644 index 0000000..d4ac140 --- /dev/null +++ b/apps/www/components/theme-wrapper.tsx @@ -0,0 +1,33 @@ +"use client" + +import { cn } from "@/lib/utils" +import { useConfig } from "@/hooks/use-config" + +interface ThemeWrapperProps extends React.ComponentProps<"div"> { + defaultTheme?: string +} + +export function ThemeWrapper({ + defaultTheme, + children, + className, +}: ThemeWrapperProps) { + const [config] = useConfig() + + return ( +
        + {children} +
        + ) +} diff --git a/apps/www/components/toc.tsx b/apps/www/components/toc.tsx new file mode 100644 index 0000000..29838f0 --- /dev/null +++ b/apps/www/components/toc.tsx @@ -0,0 +1,107 @@ +// @ts-nocheck +"use client" + +import * as React from "react" + +import { TableOfContents } from "@/lib/toc" +import { cn } from "@/lib/utils" +import { useMounted } from "@/hooks/use-mounted" + +interface TocProps { + toc: TableOfContents +} + +export function DashboardTableOfContents({ toc }: TocProps) { + const itemIds = React.useMemo( + () => + toc.items + ? toc.items + .flatMap((item) => [item.url, item?.items?.map((item) => item.url)]) + .flat() + .filter(Boolean) + .map((id) => id?.split("#")[1]) + : [], + [toc] + ) + const activeHeading = useActiveItem(itemIds) + const mounted = useMounted() + + if (!toc?.items || !mounted) { + return null + } + + return ( +
        +

        On This Page

        + +
        + ) +} + +function useActiveItem(itemIds: string[]) { + const [activeId, setActiveId] = React.useState(null) + + React.useEffect(() => { + const observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setActiveId(entry.target.id) + } + }) + }, + { rootMargin: `0% 0% -80% 0%` } + ) + + itemIds?.forEach((id) => { + const element = document.getElementById(id) + if (element) { + observer.observe(element) + } + }) + + return () => { + itemIds?.forEach((id) => { + const element = document.getElementById(id) + if (element) { + observer.unobserve(element) + } + }) + } + }, [itemIds]) + + return activeId +} + +interface TreeProps { + tree: TableOfContents + level?: number + activeItem?: string +} + +function Tree({ tree, level = 1, activeItem }: TreeProps) { + return tree?.items?.length && level < 3 ? ( +
          + {tree.items.map((item, index) => { + return ( +
        • + + {item.title} + + {item.items?.length ? ( + + ) : null} +
        • + ) + })} +
        + ) : null +} diff --git a/apps/www/config/connectors.ts b/apps/www/config/connectors.ts new file mode 100644 index 0000000..4ade616 --- /dev/null +++ b/apps/www/config/connectors.ts @@ -0,0 +1,14 @@ +/* eslint-disable @typescript-eslint/no-unsafe-call */ +import { CoinbaseWalletConnector } from "@wagmi/core/connectors/coinbaseWallet" +import { InjectedConnector } from "@wagmi/core/connectors/injected" +import { MetaMaskConnector } from "@wagmi/core/connectors/metaMask" + +export const connectors = [ + new MetaMaskConnector(), + new CoinbaseWalletConnector({ + options: { + appName: "wagmi.sh", + jsonRpcUrl: "https://eth-mainnet.alchemyapi.io/v2/yourAlchemyId", + }, + }), +] diff --git a/apps/www/config/constants.ts b/apps/www/config/constants.ts new file mode 100644 index 0000000..dcdcc12 --- /dev/null +++ b/apps/www/config/constants.ts @@ -0,0 +1,5 @@ +export const ADDRESS_ZERO = + "0x0000000000000000000000000000000000000000" as `0x${string}` + +export const ADDRESS_EXAMPLE = + "0x761d584f1C2d43cBc3F42ECd739701a36dFFAa31" as `0x${string}` diff --git a/apps/www/config/docs.ts b/apps/www/config/docs.ts new file mode 100644 index 0000000..840e214 --- /dev/null +++ b/apps/www/config/docs.ts @@ -0,0 +1,178 @@ +import { MainNavItem, SidebarNavItem } from "types/nav" + +interface DocsConfig { + mainNav: MainNavItem[] + sidebarNav: SidebarNavItem[] +} + +export const docsConfig: DocsConfig = { + mainNav: [ + { + title: "Documentation", + href: "/docs", + }, + { + title: "Components", + href: "/docs/components/accordion", + }, + { + title: "Themes", + href: "/themes", + }, + { + title: "Examples", + href: "/examples", + }, + { + title: "Figma", + href: "/docs/figma", + }, + { + title: "GitHub", + href: "https://github.com/turboeth/buidl", + external: true, + }, + { + title: "Twitter", + href: "https://twitter.com/districtFi", + external: true, + }, + ], + sidebarNav: [ + { + title: "Getting Started", + items: [ + { + title: "Introduction", + href: "/docs", + items: [], + }, + ], + }, + { + title: "Installation", + items: [ + { + title: "Manual", + href: "/docs/installation/manual", + items: [], + }, + ], + }, + { + title: "Wallet/Network", + items: [ + { + title: "Wallet Connect", + href: "/docs/components/wallet-connect", + items: [], + }, + { + title: "Wallet Manage", + href: "/docs/components/wallet-manage", + items: [], + }, + { + title: "Network Manage", + href: "/docs/components/network-manage", + items: [], + }, + ], + }, + { + title: "Primitives", + items: [ + { + title: "Address", + href: "/docs/components/address", + items: [], + }, + { + title: "Blockie", + href: "/docs/components/blockie", + items: [], + }, + { + title: "ENS Avatar", + href: "/docs/components/ens-avatar", + items: [], + }, + { + title: "ENS Name", + href: "/docs/components/ens-name", + items: [], + }, + ], + }, + { + title: "Account", + items: [ + { + title: "Account Address", + href: "/docs/components/account-address", + items: [], + }, + { + title: "Account Blockie", + href: "/docs/components/account-blockie", + items: [], + }, + { + title: "Account ENS Avatar", + href: "/docs/components/account-ens-avatar", + items: [], + }, + { + title: "Account ENS Name", + href: "/docs/components/account-ens-name", + items: [], + }, + ], + }, + { + title: "ERC20", + items: [ + { + title: "ERC20 Balance", + href: "/docs/components/erc20-balance", + items: [], + }, + { + title: "ERC20 Image", + href: "/docs/components/erc20-image", + items: [], + }, + { + title: "ERC20 Name", + href: "/docs/components/erc20-name", + items: [], + }, + { + title: "ERC20 Symbol", + href: "/docs/components/erc20-symbol", + items: [], + }, + { + title: "ERC20 Select", + href: "/docs/components/erc20-select", + items: [], + }, + { + title: "ERC20 Select & Amount", + href: "/docs/components/erc20-select-and-amount", + items: [], + }, + ], + }, + // { + // title: "ERC721", + // items: [ + // { + // title: "ERC721 Name", + // href: "/docs/components/erc721-name", + // items: [], + // }, + // ], + // }, + ], +} diff --git a/apps/www/config/networks.ts b/apps/www/config/networks.ts new file mode 100644 index 0000000..9b4763e --- /dev/null +++ b/apps/www/config/networks.ts @@ -0,0 +1,68 @@ +// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +// Networks +// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +import { env } from "@/env.mjs" +import { Chain, ChainProviderFn, configureChains } from "wagmi" +import { + goerli as goerliNoIcon, + mainnet, + optimism, + optimismGoerli, + sepolia as sepoliaNoIcon, +} from "wagmi/chains" +import { alchemyProvider } from "wagmi/providers/alchemy" +import { infuraProvider } from "wagmi/providers/infura" +import { publicProvider } from "wagmi/providers/public" + +const goerli = { + ...goerliNoIcon, + iconUrl: "/icons/NetworkEthereumTest.svg", +} +const sepolia = { + ...sepoliaNoIcon, + iconUrl: "/icons/NetworkEthereumTest.svg", +} + +export const ETH_CHAINS_TEST = [goerli, sepolia, optimismGoerli] + +export const ETH_CHAINS_PROD = [mainnet, optimism] +export const ETH_CHAINS_DEV = + env.NEXT_PUBLIC_PROD_NETWORKS_DEV === "true" + ? [...ETH_CHAINS_PROD, ...ETH_CHAINS_TEST] + : [...ETH_CHAINS_TEST] + +export const CHAINS: Chain[] = + process.env.NODE_ENV === "production" ? ETH_CHAINS_PROD : ETH_CHAINS_DEV + +const PROVIDERS: ChainProviderFn[] = [] + +if (env.NEXT_PUBLIC_ALCHEMY_API_KEY) { + if (!env.NEXT_PUBLIC_ALCHEMY_API_KEY) + throw new Error("NEXT_PUBLIC_ALCHEMY_API_KEY is not defined") + PROVIDERS.push( + alchemyProvider({ + apiKey: env.NEXT_PUBLIC_ALCHEMY_API_KEY, + }) + ) +} + +if (env.NEXT_PUBLIC_INFURA_API_KEY) { + if (!env.NEXT_PUBLIC_INFURA_API_KEY) + throw new Error("NEXT_PUBLIC_INFURA_API_KEY is not defined") + PROVIDERS.push( + infuraProvider({ + apiKey: env.NEXT_PUBLIC_INFURA_API_KEY, + }) + ) +} + +// Fallback to public provider +// Only include public provider if no other providers are available. +if (PROVIDERS.length === 0 || env.NEXT_PUBLIC_USE_PUBLIC_PROVIDER === "true") { + PROVIDERS.push(publicProvider()) +} + +export const { chains, publicClient, webSocketPublicClient } = configureChains( + CHAINS, + PROVIDERS +) diff --git a/apps/www/config/site.ts b/apps/www/config/site.ts new file mode 100644 index 0000000..af58af5 --- /dev/null +++ b/apps/www/config/site.ts @@ -0,0 +1,13 @@ +export const siteConfig = { + name: "turboeth/buidl", + url: "https://buidl.turboeth.com", + ogImage: "https://buidl.turboeth.com/og.jpg", + description: + "Beautifully designed components built with Radix UI and Tailwind CSS.", + links: { + twitter: "https://twitter.com/districtfi", + github: "https://github.com/turboeth/buidl", + }, +} + +export type SiteConfig = typeof siteConfig diff --git a/apps/www/content/docs/about.mdx b/apps/www/content/docs/about.mdx new file mode 100644 index 0000000..ab52318 --- /dev/null +++ b/apps/www/content/docs/about.mdx @@ -0,0 +1,20 @@ +--- +title: About +description: Powered by amazing open source projects. +--- + +## About + +[ui.shadcn.com](https://ui.shadcn.com) is a project by [shadcn](https://shadcn.com). + +## Credits + +- [Radix UI](https://radix-ui.com) - For the primitives. +- [Vercel](https://vercel.com) - Where I host all my projects. +- [Shu Ding](https://shud.in) - The typography style is adapted from his work on Nextra. +- [Cal](https://cal.com) - Where I copied the styles for the first component: the `Button`. +- [cmdk](https://cmdk.paco.me) - For the `` component. + +## License + +MIT © [shadcn](https://shadcn.com) diff --git a/apps/www/content/docs/changelog.mdx b/apps/www/content/docs/changelog.mdx new file mode 100644 index 0000000..7f76738 --- /dev/null +++ b/apps/www/content/docs/changelog.mdx @@ -0,0 +1,11 @@ +--- +title: Changelog +description: Latest updates and announcements. +toc: false +--- + +## November 27th - Alpha Launch + +Launching the TurboETH BUIDL component library! + +This is the first release of the TurboETH BUIDL component library. We are excited to share this with the community and look forward to your feedback. diff --git a/apps/www/content/docs/components-json.mdx b/apps/www/content/docs/components-json.mdx new file mode 100644 index 0000000..87b5f75 --- /dev/null +++ b/apps/www/content/docs/components-json.mdx @@ -0,0 +1,163 @@ +--- +title: components.json +description: Configuration for your project. +--- + +The `components.json` file holds configuration for your project. + +We use it to understand how your project is set up and how to generate components customized for your project. + + + Note: The `components.json` file is optional and **only required if you're + using the CLI** to add components to your project. If you're using the copy + and paste method, you don't need this file. + + +You can create a `components.json` file in your project by running the following command: + +```bash +npx shadcn-ui@latest init +``` + +See the CLI section for more information. + +## $schema + +You can see the JSON Schema for `components.json` [here](https://ui.shadcn.com/schema.json). + +```json title="components.json" +{ + "$schema": "https://ui.shadcn.com/schema.json" +} +``` + +## style + +The style for your components. **This cannot be changed after initialization.** + +```json title="components.json" +{ + "style": "default" | "new-york" +} +``` + + + +## tailwind + +Configuration to help the CLI understand how Tailwind CSS is set up in your project. + +See the installation section for how to set up Tailwind CSS. + +### tailwind.config + +Path to where your `tailwind.config.js` file is located. + +```json title="components.json" +{ + "tailwind": { + "config": "tailwind.config.js" | "tailwind.config.ts" + } +} +``` + +### tailwind.css + +Path to the CSS file that imports Tailwind CSS into your project. + +```json title="components.json" +{ + "tailwind": { + "css": "styles/global.css" + } +} +``` + +### tailwind.baseColor + +This is used to generate the default color palette for your components. **This cannot be changed after initialization.** + +```json title="components.json" +{ + "tailwind": { + "baseColor": "gray" | "neutral" | "slate" | "stone" | "zinc" + } +} +``` + +### tailwind.cssVariables + +You can choose between using CSS variables or Tailwind CSS utility classes for theming. + +To use utility classes for theming set `tailwind.cssVariables` to `false`. For CSS variables, set `tailwind.cssVariables` to `true`. + +```json title="components.json" +{ + "tailwind": { + "cssVariables": `true` | `false` + } +} +``` + +For more information, see the theming docs. + +**This cannot be changed after initialization.** To switch between CSS variables and utility classes, you'll have to delete and re-install your components. + +## rsc + +Whether or not to enable support for React Server Components. + +The CLI automatically adds a `use client` directive to client components when set to `true`. + +```json title="components.json" +{ + "rsc": `true` | `false` +} +``` + +## tsx + +Choose between TypeScript or JavaScript components. + +Setting this option to `false` allows components to be added as JavaScript with the `.jsx` file extension. + +```json title="components.json" +{ + "tsx": `true` | `false` +} +``` + +## aliases + +The CLI uses these values and the `paths` config from your `tsconfig.json` or `jsconfig.json` file to place generated components in the correct location. + +Path aliases have to be set up in your `tsconfig.json` or `jsconfig.json` file. + + + **Important:** If you're using the `src` directory, make sure it is included + under `paths` in your `tsconfig.json` or `jsconfig.json` file. + + +### aliases.utils + +Import alias for your utility functions. + +```json title="components.json" +{ + "aliases": { + "utils": "@/lib/utils" + } +} +``` + +### aliases.components + +Import alias for your components. + +```json title="components.json" +{ + "aliases": { + "components": "@/components" + } +} +``` diff --git a/apps/www/content/docs/components/accordion.mdx b/apps/www/content/docs/components/accordion.mdx new file mode 100644 index 0000000..6db148f --- /dev/null +++ b/apps/www/content/docs/components/accordion.mdx @@ -0,0 +1,136 @@ +--- +title: Accordion +description: A vertically stacked set of interactive headings that each reveal a section of content. +component: true +radix: + link: https://www.radix-ui.com/docs/primitives/components/accordion + api: https://www.radix-ui.com/docs/primitives/components/accordion#api-reference +--- + + + +## 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 the import paths to match your project setup. + +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 new file mode 100644 index 0000000..fb5bd7c --- /dev/null +++ b/apps/www/content/docs/components/account-address.mdx @@ -0,0 +1,59 @@ +--- +title: Address +description: Display connected account address. +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. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { AccountAddress } from "@/components/buidl/account-address" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/account-blockie.mdx b/apps/www/content/docs/components/account-blockie.mdx new file mode 100644 index 0000000..26acce9 --- /dev/null +++ b/apps/www/content/docs/components/account-blockie.mdx @@ -0,0 +1,58 @@ +--- +title: Account Blockie +description: Display connected account blockie identicon. +component: true +radix: + link: https://www.radix-ui.com/docs/primitives/components/accordion + api: https://www.radix-ui.com/docs/primitives/components/accordion#api-reference +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + + + + + + + +## Usage + +```tsx +import { AccountBlockie } from "@/components/buidl/account-blockie" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/account-ens-avatar.mdx b/apps/www/content/docs/components/account-ens-avatar.mdx new file mode 100644 index 0000000..5d4e069 --- /dev/null +++ b/apps/www/content/docs/components/account-ens-avatar.mdx @@ -0,0 +1,59 @@ +--- +title: Account ENS Avatar +description: Display the connected account ENS avatar. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { AccountEnsAvatar } from "@/components/buidl/account-ens-avatar" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/account-ens-name.mdx b/apps/www/content/docs/components/account-ens-name.mdx new file mode 100644 index 0000000..3be91a6 --- /dev/null +++ b/apps/www/content/docs/components/account-ens-name.mdx @@ -0,0 +1,59 @@ +--- +title: Account ENS Name +description: Display the connected account ENS name. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { AccountEnsAvatar } from "@/components/buidl/account-ens-name" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/address.mdx b/apps/www/content/docs/components/address.mdx new file mode 100644 index 0000000..e0b058d --- /dev/null +++ b/apps/www/content/docs/components/address.mdx @@ -0,0 +1,59 @@ +--- +title: Address +description: Manage the display of an address. +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. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Address } from "@/components/buidl/address" +``` + +```tsx +
        +``` diff --git a/apps/www/content/docs/components/blockie.mdx b/apps/www/content/docs/components/blockie.mdx new file mode 100644 index 0000000..e9012f0 --- /dev/null +++ b/apps/www/content/docs/components/blockie.mdx @@ -0,0 +1,64 @@ +--- +title: Blockie +description: Display an account blockie identicon. +component: true +radix: + link: https://www.radix-ui.com/docs/primitives/components/accordion + api: https://www.radix-ui.com/docs/primitives/components/accordion#api-reference +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Install the following dependencies: + +```bash +pnpm add ethereum-blockies-base64 +``` + + + + + + + +## Usage + +```tsx +import { Blockie } from "@/components/buidl/blockie" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/ens-avatar.mdx b/apps/www/content/docs/components/ens-avatar.mdx new file mode 100644 index 0000000..b4336ad --- /dev/null +++ b/apps/www/content/docs/components/ens-avatar.mdx @@ -0,0 +1,59 @@ +--- +title: ENS Avatar +description: Display an account ENS avatar. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { EnsAvatar } from "@/components/buidl/ens-avatar" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/ens-name.mdx b/apps/www/content/docs/components/ens-name.mdx new file mode 100644 index 0000000..82cc2fa --- /dev/null +++ b/apps/www/content/docs/components/ens-name.mdx @@ -0,0 +1,59 @@ +--- +title: ENS Name +description: Display an account ENS domain name. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { EnsName } from "@/components/buidl/ens-name" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/ens-symbol.mdx b/apps/www/content/docs/components/ens-symbol.mdx new file mode 100644 index 0000000..d95440b --- /dev/null +++ b/apps/www/content/docs/components/ens-symbol.mdx @@ -0,0 +1,59 @@ +--- +title: ENS Symbol +description: Display an account ENS domain name. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { EnsName } from "@/components/buidl/ens-name" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-balance.mdx b/apps/www/content/docs/components/erc20-balance.mdx new file mode 100644 index 0000000..334ab7d --- /dev/null +++ b/apps/www/content/docs/components/erc20-balance.mdx @@ -0,0 +1,60 @@ +--- +title: ERC20 Balance +description: Display the balance of an ERC20 token for a given address. +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Balance } from "@/components/buidl/erc20-balance" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-image.mdx b/apps/www/content/docs/components/erc20-image.mdx new file mode 100644 index 0000000..b350035 --- /dev/null +++ b/apps/www/content/docs/components/erc20-image.mdx @@ -0,0 +1,57 @@ +--- +title: ERC20 Image +description: Display the icon of an ERC20 token +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Name } from "@/components/buidl/erc20-image" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-name.mdx b/apps/www/content/docs/components/erc20-name.mdx new file mode 100644 index 0000000..5edbdf2 --- /dev/null +++ b/apps/www/content/docs/components/erc20-name.mdx @@ -0,0 +1,57 @@ +--- +title: ERC20 Name +description: Display the name of an ERC20 token +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Name } from "@/components/buidl/erc20-name" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-select-and-amount.mdx b/apps/www/content/docs/components/erc20-select-and-amount.mdx new file mode 100644 index 0000000..67ba22a --- /dev/null +++ b/apps/www/content/docs/components/erc20-select-and-amount.mdx @@ -0,0 +1,57 @@ +--- +title: ERC20 Select & Amount +description: Select an ERC20 token and amount from a list of tokens. +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Symbol } from "@/components/buidl/erc20-select-and-amount" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-select.mdx b/apps/www/content/docs/components/erc20-select.mdx new file mode 100644 index 0000000..8a34107 --- /dev/null +++ b/apps/www/content/docs/components/erc20-select.mdx @@ -0,0 +1,57 @@ +--- +title: ERC20 Select +description: Select an ERC20 token from a list of tokens. +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Symbol } from "@/components/buidl/erc20-select" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/erc20-symbol.mdx b/apps/www/content/docs/components/erc20-symbol.mdx new file mode 100644 index 0000000..ed53222 --- /dev/null +++ b/apps/www/content/docs/components/erc20-symbol.mdx @@ -0,0 +1,57 @@ +--- +title: ENS Symbol +description: Display the symbol of an ERC20 token +component: true +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { Erc20Symbol } from "@/components/buidl/erc20-symbol" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/network-manage.mdx b/apps/www/content/docs/components/network-manage.mdx new file mode 100644 index 0000000..7b10352 --- /dev/null +++ b/apps/www/content/docs/components/network-manage.mdx @@ -0,0 +1,59 @@ +--- +title: Network Manage +description: Manage your wallet's network connections. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { NetworkManage } from "@/components/buidl/network-manage" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/wallet-connect.mdx b/apps/www/content/docs/components/wallet-connect.mdx new file mode 100644 index 0000000..fe4551d --- /dev/null +++ b/apps/www/content/docs/components/wallet-connect.mdx @@ -0,0 +1,59 @@ +--- +title: Wallet Connect +description: Connect to a wallet provider or service. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { EnsName } from "@/components/buidl/wallet-connect" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/components/wallet-manage.mdx b/apps/www/content/docs/components/wallet-manage.mdx new file mode 100644 index 0000000..0a90bcf --- /dev/null +++ b/apps/www/content/docs/components/wallet-manage.mdx @@ -0,0 +1,59 @@ +--- +title: Wallet Manage +description: Manage your wallet connection and display basic details. +component: true +radix: + link: https://wagmi.sh/react/hooks/useEnsAvatar +--- + + + +## Installation + + + + + Manual + + CLI (Coming Soon) + + + + + + + +Coming soon... + + + + + + + + + +Copy and paste the following code into your project. + + + +Update the import paths to match your project setup. + + + + + + + +## Usage + +```tsx +import { WalletManage } from "@/components/buidl/wallet-manage" +``` + +```tsx + +``` diff --git a/apps/www/content/docs/dark-mode/astro.mdx b/apps/www/content/docs/dark-mode/astro.mdx new file mode 100644 index 0000000..01e4ffe --- /dev/null +++ b/apps/www/content/docs/dark-mode/astro.mdx @@ -0,0 +1,121 @@ +--- +title: Astro +description: Adding dark mode to your astro app. +--- + +## Dark mode + + + +### Create an inline theme script + +```astro title="src/pages/index.astro" +--- +import '../styles/globals.css' +--- + + + + + +

        Astro

        + + + +``` + +### Add a mode toggle + +```tsx title="src/components/ModeToggle.tsx" +import * as React from "react" +import { Moon, Sun } from "lucide-react" + +import { Button } from "@/components/ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu" + +export function ModeToggle() { + const [theme, setThemeState] = React.useState< + "theme-light" | "dark" | "system" + >("theme-light") + + React.useEffect(() => { + const isDarkMode = document.documentElement.classList.contains("dark") + setThemeState(isDarkMode ? "dark" : "theme-light") + }, []) + + React.useEffect(() => { + const isDark = + theme === "dark" || + (theme === "system" && + window.matchMedia("(prefers-color-scheme: dark)").matches) + document.documentElement.classList[isDark ? "add" : "remove"]("dark") + }, [theme]) + + return ( + + + + + + setThemeState("theme-light")}> + Light + + setThemeState("dark")}> + Dark + + setThemeState("system")}> + System + + + + ) +} +``` + +### Display the mode toggle + +Place a mode toggle on your site to toggle between light and dark mode. + +```astro title="src/pages/index.astro" +--- +import '../styles/globals.css' +import { ModeToggle } from '@/components/ModeToggle'; +--- + + + + + +

        Astro

        + + + +``` + +
        diff --git a/apps/www/content/docs/dark-mode/index.mdx b/apps/www/content/docs/dark-mode/index.mdx new file mode 100644 index 0000000..79b9298 --- /dev/null +++ b/apps/www/content/docs/dark-mode/index.mdx @@ -0,0 +1,63 @@ +--- +title: Dark Mode +description: Adding dark mode to your site. +--- + +
        + + + Next.js + + +

        Next.js

        +
        + + + Vite + + +

        Vite

        +
        + + + + + +

        Astro

        +
        + + + Remix + + +

        Remix

        +
        +
        + +## Other frameworks + +I'm looking for help writing guides for other frameworks. Help me write guides for Remix, Astro and Vite by [opening an PR](https://github.com/shadcn/ui). diff --git a/apps/www/content/docs/dark-mode/next.mdx b/apps/www/content/docs/dark-mode/next.mdx new file mode 100644 index 0000000..175014c --- /dev/null +++ b/apps/www/content/docs/dark-mode/next.mdx @@ -0,0 +1,66 @@ +--- +title: Next.js +description: Adding dark mode to your next app. +--- + +## Dark mode + + + +### Install next-themes + +Start by installing `next-themes`: + +```bash +npm install next-themes +``` + +### Create a theme provider + +```tsx title="components/theme-provider.tsx" +"use client" + +import * as React from "react" +import { ThemeProvider as NextThemesProvider } from "next-themes" +import { type ThemeProviderProps } from "next-themes/dist/types" + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return {children} +} +``` + +### Wrap your root layout + +Add the `ThemeProvider` to your root layout. + +```tsx {1,9-11} title="app/layout.tsx" +import { ThemeProvider } from "@/components/theme-provider" + +export default function RootLayout({ children }: RootLayoutProps) { + return ( + <> + + + + + {children} + + + + + ) +} +``` + +### Add a mode toggle + +Place a mode toggle on your site to toggle between light and dark mode. + + + + diff --git a/apps/www/content/docs/dark-mode/remix.mdx b/apps/www/content/docs/dark-mode/remix.mdx new file mode 100644 index 0000000..2b523c5 --- /dev/null +++ b/apps/www/content/docs/dark-mode/remix.mdx @@ -0,0 +1,159 @@ +--- +title: Remix +description: Adding dark mode to your remix app. +--- + +## Dark mode + + + +### Modify your tailwind.css file + +Add `:root[class~="dark"]` to your tailwind.css file. This will allow you to use the `dark` class on your html element to apply dark mode styles. + +```css {2} title="app/tailwind.css" +.dark, +:root[class~="dark"] { + ...; +} +``` + +### Install remix-themes + +Start by installing `remix-themes`: + +```bash +npm install remix-themes +``` + +### Create a session storage and theme session resolver + +```tsx title="app/sessions.server.tsx" +import { createThemeSessionResolver } from "remix-themes" + +// You can default to 'development' if process.env.NODE_ENV is not set +const isProduction = process.env.NODE_ENV === "production" + +const sessionStorage = createCookieSessionStorage({ + cookie: { + name: "theme", + path: "/", + httpOnly: true, + sameSite: "lax", + secrets: ["s3cr3t"], + // Set domain and secure only if in production + ...(isProduction + ? { domain: "your-production-domain.com", secure: true } + : {}), + }, +}) + +export const themeSessionResolver = createThemeSessionResolver(sessionStorage) +``` + +### Set up Remix Themes + +Add the `ThemeProvider` to your root layout. + +```tsx {1-3,6-11,15-22,25-26,28,33} title="app/root.tsx" +import clsx from "clsx" +import { PreventFlashOnWrongTheme, ThemeProvider, useTheme } from "remix-themes" + +import { themeSessionResolver } from "./sessions.server" + +// Return the theme from the session storage using the loader +export async function loader({ request }: LoaderFunctionArgs) { + const { getTheme } = await themeSessionResolver(request) + return { + theme: getTheme(), + } +} +// Wrap your app with ThemeProvider. +// `specifiedTheme` is the stored theme in the session storage. +// `themeAction` is the action name that's used to change the theme in the session storage. +export default function AppWithProviders() { + const data = useLoaderData() + return ( + + + + ) +} + +export function App() { + const data = useLoaderData() + const [theme] = useTheme() + return ( + + + + + + + + + + + + + + + + ) +} +``` + +### Add an action route + +Create a file in `/routes/action.set-theme.ts`. Ensure that you pass the filename to the ThemeProvider component. This route it's used to store the preferred theme in the session storage when the user changes it. + +```tsx title="app/routes/action.set-theme.ts" +import { createThemeAction } from "remix-themes" + +import { themeSessionResolver } from "./sessions.server" + +export const action = createThemeAction(themeSessionResolver) +``` + +### Add a mode toggle + +Place a mode toggle on your site to toggle between light and dark mode. + +```tsx title="components/mode-toggle.tsx" +import { Moon, Sun } from "lucide-react" +import { Theme, useTheme } from "remix-themes" + +import { Button } from "./ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "./ui/dropdown-menu" + +export function ModeToggle() { + const [, setTheme] = useTheme() + + return ( + + + + + + setTheme(Theme.LIGHT)}> + Light + + setTheme(Theme.DARK)}> + Dark + + + + ) +} +``` + + diff --git a/apps/www/content/docs/dark-mode/vite.mdx b/apps/www/content/docs/dark-mode/vite.mdx new file mode 100644 index 0000000..4617f42 --- /dev/null +++ b/apps/www/content/docs/dark-mode/vite.mdx @@ -0,0 +1,150 @@ +--- +title: Vite +description: Adding dark mode to your vite app. +--- + +## Dark mode + + + +### Create a theme provider + +```tsx title="components/theme-provider.tsx" +import { createContext, useContext, useEffect, useState } from "react" + +type Theme = "dark" | "light" | "system" + +type ThemeProviderProps = { + children: React.ReactNode + defaultTheme?: Theme + storageKey?: string +} + +type ThemeProviderState = { + theme: Theme + setTheme: (theme: Theme) => void +} + +const initialState: ThemeProviderState = { + theme: "system", + setTheme: () => null, +} + +const ThemeProviderContext = createContext(initialState) + +export function ThemeProvider({ + children, + defaultTheme = "system", + storageKey = "vite-ui-theme", + ...props +}: ThemeProviderProps) { + const [theme, setTheme] = useState( + () => (localStorage.getItem(storageKey) as Theme) || defaultTheme + ) + + useEffect(() => { + const root = window.document.documentElement + + root.classList.remove("light", "dark") + + if (theme === "system") { + const systemTheme = window.matchMedia("(prefers-color-scheme: dark)") + .matches + ? "dark" + : "light" + + root.classList.add(systemTheme) + return + } + + root.classList.add(theme) + }, [theme]) + + const value = { + theme, + setTheme: (theme: Theme) => { + localStorage.setItem(storageKey, theme) + setTheme(theme) + }, + } + + return ( + + {children} + + ) +} + +export const useTheme = () => { + const context = useContext(ThemeProviderContext) + + if (context === undefined) + throw new Error("useTheme must be used within a ThemeProvider") + + return context +} +``` + +### Wrap your root layout + +Add the `ThemeProvider` to your root layout. + +```tsx {1,5-7} title="App.tsx" +import { ThemeProvider } from "@/components/theme-provider" + +function App() { + return ( + + {children} + + ) +} + +export default App +``` + +### Add a mode toggle + +Place a mode toggle on your site to toggle between light and dark mode. + +```tsx title="components/mode-toggle.tsx" +import { Moon, Sun } from "lucide-react" + +import { Button } from "@/components/ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu" +import { useTheme } from "@/components/theme-provider" + +export function ModeToggle() { + const { setTheme } = useTheme() + + return ( + + + + + + setTheme("light")}> + Light + + setTheme("dark")}> + Dark + + setTheme("system")}> + System + + + + ) +} +``` + + diff --git a/apps/www/content/docs/index.mdx b/apps/www/content/docs/index.mdx new file mode 100644 index 0000000..644b096 --- /dev/null +++ b/apps/www/content/docs/index.mdx @@ -0,0 +1,67 @@ +--- +title: Introduction +description: Re-usable components built using 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. + +**What do you mean by not a component library?** + +I mean you do not install it as a dependency. It is not available or distributed via npm. + +Pick the components you need. Copy and paste the code into your project and customize to your needs. The code is yours. + +_Use this as a reference to build your own component libraries._ + +## FAQ + + + + + + Why copy/paste and not packaged as a dependency? + + +The idea behind this is to give you ownership and control over the code, allowing you to decide how the components are built and styled. + +Start with some sensible defaults, then customize the components to your needs. + +One of the drawback of packaging the components in an npm package is that the style is coupled with the implementation. _The design of your components should be separate from their implementation._ + + + + + + + Do you plan to publish it as an npm package? + + + No. I have no plans to publish it as an npm package. + + + + + +Which frameworks are supported? + + + +You can use any framework that supports React. [Next.js](https://ui.shadcn.com/docs/installation/next), [Astro](https://ui.shadcn.com/docs/installation/astro), [Remix](https://ui.shadcn.com/docs/installation/remix), [Gatsby](https://ui.shadcn.com/docs/installation/gatsby) etc. + + + + + + + Can I use this in my project? + + +Yes. Free to use for personal and commercial projects. No attribution required. + +But hey, let me know if you do. I'd love to see what you build. + + + + + + diff --git a/apps/www/content/docs/installation/astro.mdx b/apps/www/content/docs/installation/astro.mdx new file mode 100644 index 0000000..311bfba --- /dev/null +++ b/apps/www/content/docs/installation/astro.mdx @@ -0,0 +1,165 @@ +--- +title: Astro +description: Install and configure Astro. +--- + + + +### Create project + +Start by creating a new Astro project: + +```bash +npm create astro@latest +``` + +### Configure your Astro project + +You will be asked a few questions to configure your project: + +```txt showLineNumbers +- Where should we create your new project? +./your-app-name +- How would you like to start your new project? +Choose a starter template (or Empty) +- Install dependencies? +Yes +- Do you plan to write TypeScript? +Yes +- How strict should TypeScript be? +Strict +- Initialize a new git repository? (optional) +Yes/No +``` + +### Add React to your project + +Install React using the Astro CLI: + +```bash +npx astro add react +``` + + + +Answer `Yes` to all the question prompted by the CLI when installing React. + + + +### Add Tailwind CSS to your project + +Install Tailwind CSS using the Astro CLI: + +```bash +npx astro add tailwind +``` + + + +Answer `Yes` to all the question prompted by the CLI when installing Tailwind CSS. + + + +### Edit tsconfig.json file + +Add the following code to the `tsconfig.json` file to resolve paths: + +```ts {4-9} showLineNumbers +{ + "compilerOptions": { + // ... + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } + // ... + } +} +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › › ./src/styles/globals.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.mjs +Configure the import alias for components: › @/components +Configure the import alias for utils: › @/lib/utils +Are you using React Server Components? › no +``` + +### Import the globals.css file + +Import the `globals.css` file in the `src/pages/index.astro` file: + +```ts {2} showLineNumbers +--- +import '@/styles/globals.css' +--- +``` + +### Update astro tailwind config + +To prevent serving the Tailwind base styles twice, we need to tell Astro not to apply the base styles, since we already include them in our own `globals.css` file. To do this, set the `applyBaseStyles` config option for the tailwind plugin in `astro.config.mjs` to `false`. + +```ts {3-5} showLineNumbers +export default defineConfig({ + integrations: [ + tailwind({ + applyBaseStyles: false, + }), + ], +}) +``` + +### Update tailwind.config.mjs + +When running `npx shadcn-ui@latest init`, your tailwind config for content will be overwritten. To fix this, change the `module.exports` to `export default` and the `content` section with the code below to your `tailwind.config.mjs` file: + +```js {1-4} showLineNumbers +export default { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], +} +``` + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```astro {2,10} showLineNumbers +--- +import { Button } from "@/components/ui/button" +--- + + + + Astro + + + + + +``` + + diff --git a/apps/www/content/docs/installation/gatsby.mdx b/apps/www/content/docs/installation/gatsby.mdx new file mode 100644 index 0000000..184e0f9 --- /dev/null +++ b/apps/www/content/docs/installation/gatsby.mdx @@ -0,0 +1,120 @@ +--- +title: Gatsby +description: Install and configure Gatsby. +--- + + + +### Create project + +Start by creating a new Gatsby project using `create-gatsby`: + +```bash +npm init gatsby +``` + +### Configure your Gatsby project to use TypeScript and Tailwind CSS + +You will be asked a few questions to configure your project: + +```txt showLineNumbers +✔ What would you like to call your site? +· your-app-name +✔ What would you like to name the folder where your site will be created? +· your-app-name +✔ Will you be using JavaScript or TypeScript? +· TypeScript +✔ Will you be using a CMS? +· Choose whatever you want +✔ Would you like to install a styling system? +· Tailwind CSS +✔ Would you like to install additional features with other plugins? +· Choose whatever you want +✔ Shall we do this? (Y/n) · Yes +``` + +### Edit tsconfig.json file + +Add the following code to the `tsconfig.json` file to resolve paths: + +```ts {4-9} showLineNumbers +{ + "compilerOptions": { + // ... + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } + // ... + } +} +``` + +### Create gatsby-node.ts file + +Create a `gatsby-node.ts` file at the root of your project if it doesn’t already exist, and add the code below to the `gatsby-node` file so your app can resolve paths: + +```ts +import * as path from "path" + +export const onCreateWebpackConfig = ({ actions }) => { + actions.setWebpackConfig({ + resolve: { + alias: { + "@/components": path.resolve(__dirname, "src/components"), + "@/lib/utils": path.resolve(__dirname, "src/lib/utils"), + }, + }, + }) +} +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › › ./src/styles/globals.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.js +Configure the import alias for components: › @/components +Configure the import alias for utils: › @/lib/utils +Are you using React Server Components? › no +``` + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```tsx {1,6} showLineNumbers +import { Button } from "@/components/ui/button" + +export default function Home() { + return ( +
        + +
        + ) +} +``` + +
        diff --git a/apps/www/content/docs/installation/index.mdx b/apps/www/content/docs/installation/index.mdx new file mode 100644 index 0000000..6a5653b --- /dev/null +++ b/apps/www/content/docs/installation/index.mdx @@ -0,0 +1,140 @@ +--- +title: Installation +description: How to install dependencies and structure your app. +--- + +## Frameworks + +
        + + + Next.js + + +

        Next.js

        +
        + + + Vite + + +

        Vite

        +
        + + + Remix + + +

        Remix

        +
        + + + Gatsby + + +

        Gatsby

        +
        + + + Astro + + +

        Astro

        +
        + + + + +

        Laravel

        +
        + + + React + + +

        Manual

        +
        +
        + +## TypeScript + +This project and the components are written in TypeScript. We recommend using TypeScript for your project as well. + +However we provide a JavaScript version of the components as well. The JavaScript version is available via the [cli](/docs/cli). + +To opt-out of TypeScript, you can use the `tsx` flag in your `components.json` file. + +```json {10} title="components.json" +{ + "style": "default", + "tailwind": { + "config": "tailwind.config.js", + "css": "src/app/globals.css", + "baseColor": "zinc", + "cssVariables": true + }, + "rsc": false, + "tsx": false, + "aliases": { + "utils": "~/lib/utils", + "components": "~/components" + } +} +``` + +To configure import aliases, you can use the following `jsconfig.json`: + +```json {4} title="jsconfig.json" +{ + "compilerOptions": { + "paths": { + "@/*": ["./*"] + } + } +} +``` diff --git a/apps/www/content/docs/installation/laravel.mdx b/apps/www/content/docs/installation/laravel.mdx new file mode 100644 index 0000000..e2ef0bf --- /dev/null +++ b/apps/www/content/docs/installation/laravel.mdx @@ -0,0 +1,153 @@ +--- +title: Laravel +description: Install and configure Laravel with Inertia +--- + + + +### Create project + +Start by creating a new Laravel project with Inertia and React using the laravel installer `laravel new my-app`: + +```bash +laravel new my-app --typescript --breeze --stack=react --git --no-interaction +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › resources/css/app.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.js +Configure the import alias for components: › @/Components +Configure the import alias for utils: › @/lib/utils +Are you using React Server Components? › no / yes +``` + +### Update tailwind.config.js + +The `shadcn-ui` CLI will automatically overwrite your `tailwind.config.js`. Update it to look like this: + +```js +import forms from "@tailwindcss/forms" +import defaultTheme from "tailwindcss/defaultTheme" + +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: "class", + content: [ + "./vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php", + "./storage/framework/views/*.php", + "./resources/views/**/*.blade.php", + "./resources/js/**/*.tsx", + ], + + theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, + }, + extend: { + colors: { + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + lg: `var(--radius)`, + md: `calc(var(--radius) - 2px)`, + sm: "calc(var(--radius) - 4px)", + }, + fontFamily: { + sans: ["Figtree", ...defaultTheme.fontFamily.sans], + }, + 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", + }, + }, + }, + + plugins: [forms, require("tailwindcss-animate")], +} +``` + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```tsx {1,6} showLineNumbers +import { Button } from "@/Components/ui/button" + +export default function Home() { + return ( +
        + +
        + ) +} +``` + +
        diff --git a/apps/www/content/docs/installation/manual.mdx b/apps/www/content/docs/installation/manual.mdx new file mode 100644 index 0000000..4625b2c --- /dev/null +++ b/apps/www/content/docs/installation/manual.mdx @@ -0,0 +1,243 @@ +--- +title: Manual Installation +description: Add dependencies to your project manually. +--- + + + +### Add Tailwind CSS + +Components are styled using Tailwind CSS. You need to install Tailwind CSS in your project. + +[Follow the Tailwind CSS installation instructions to get started.](https://tailwindcss.com/docs/installation) + +### Add dependencies + +Add the following dependencies to your project: + +```bash +npm install tailwindcss-animate class-variance-authority clsx tailwind-merge +``` + +### Add icon library + +If you're using the `default` style, install `lucide-react`: + +```bash +npm install lucide-react +``` + +If you're using the `new-york` style, install `@radix-ui/react-icons`: + +```bash +npm install @radix-ui/react-icons +``` + +### Configure path aliases + +I use the `@` alias. This is how I configure it in tsconfig.json: + +```json {3-6} title="tsconfig.json" +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./*"] + } + } +} +``` + +The `@` alias is a preference. You can use other aliases if you want. + +**If you use a different alias such as ~, you'll need to update import statements when adding components.** + +### Configure tailwind.config.js + +Here's what my `tailwind.config.js` file looks like: + +```js title="tailwind.config.js" +const { fontFamily } = require("tailwindcss/defaultTheme") + +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: ["class"], + content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"], + theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, + }, + extend: { + colors: { + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + lg: `var(--radius)`, + md: `calc(var(--radius) - 2px)`, + sm: "calc(var(--radius) - 4px)", + }, + fontFamily: { + sans: ["var(--font-sans)", ...fontFamily.sans], + }, + 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", + }, + }, + }, + plugins: [require("tailwindcss-animate")], +} +``` + +### Configure styles + +Add the following to your styles/globals.css file. You can learn more about using CSS variables for theming in the [theming section](/docs/theming). + +```css title="globals.css" +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 222.2 47.4% 11.2%; + + --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; + + --popover: 0 0% 100%; + --popover-foreground: 222.2 47.4% 11.2%; + + --border: 214.3 31.8% 91.4%; + --input: 214.3 31.8% 91.4%; + + --card: 0 0% 100%; + --card-foreground: 222.2 47.4% 11.2%; + + --primary: 222.2 47.4% 11.2%; + --primary-foreground: 210 40% 98%; + + --secondary: 210 40% 96.1%; + --secondary-foreground: 222.2 47.4% 11.2%; + + --accent: 210 40% 96.1%; + --accent-foreground: 222.2 47.4% 11.2%; + + --destructive: 0 100% 50%; + --destructive-foreground: 210 40% 98%; + + --ring: 215 20.2% 65.1%; + + --radius: 0.5rem; + } + + .dark { + --background: 224 71% 4%; + --foreground: 213 31% 91%; + + --muted: 223 47% 11%; + --muted-foreground: 215.4 16.3% 56.9%; + + --accent: 216 34% 17%; + --accent-foreground: 210 40% 98%; + + --popover: 224 71% 4%; + --popover-foreground: 215 20.2% 65.1%; + + --border: 216 34% 17%; + --input: 216 34% 17%; + + --card: 224 71% 4%; + --card-foreground: 213 31% 91%; + + --primary: 210 40% 98%; + --primary-foreground: 222.2 47.4% 1.2%; + + --secondary: 222.2 47.4% 11.2%; + --secondary-foreground: 210 40% 98%; + + --destructive: 0 63% 31%; + --destructive-foreground: 210 40% 98%; + + --ring: 216 34% 17%; + + --radius: 0.5rem; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + font-feature-settings: "rlig" 1, "calt" 1; + } +} +``` + +### Add a cn helper + +I use a `cn` helper to make it easier to conditionally add Tailwind CSS classes. Here's how I define it in `lib/utils.ts`: + +```ts title="lib/utils.ts" +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} +``` + +### That's it + +You can now start adding components to your project. + + diff --git a/apps/www/content/docs/installation/next.mdx b/apps/www/content/docs/installation/next.mdx new file mode 100644 index 0000000..0e4375b --- /dev/null +++ b/apps/www/content/docs/installation/next.mdx @@ -0,0 +1,151 @@ +--- +title: Next.js +description: Install and configure Next.js. +--- + + + +### Create project + +Start by creating a new Next.js project using `create-next-app`: + +```bash +npx create-next-app@latest my-app --typescript --tailwind --eslint +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › › app/globals.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.js +Configure the import alias for components: › @/components +Configure the import alias for utils: › @/lib/utils +Are you using React Server Components? › no / yes +``` + +### Fonts + +I use [Inter](https://rsms.me/inter/) as the default font. Inter is not required. You can replace it with any other font. + +Here's how I configure Inter for Next.js: + +**1. Import the font in the root layout:** + +```js showLineNumbers title=app/layout.tsx {2,5-8,16-17} +import "@/styles/globals.css" +import { Inter as FontSans } from "next/font/google" + +import { cn } from "../@/lib/utils" + +export const fontSans = FontSans({ + subsets: ["latin"], + variable: "--font-sans", +}) + +export default function RootLayout({ children }: RootLayoutProps) { + return ( + + + + ... + + + ) +} +``` + +**2. Configure `theme.extend.fontFamily` in `tailwind.config.js`** + +```js showLineNumbers title=tailwind.config.js {9-11} +const { fontFamily } = require("tailwindcss/defaultTheme") + +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: ["class"], + content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"], + theme: { + extend: { + fontFamily: { + sans: ["var(--font-sans)", ...fontFamily.sans], + }, + }, + }, +} +``` + +### App structure + +Here's how I structure my Next.js apps. You can use this as a reference: + +```txt {6-10,14-15} +. +├── app +│ ├── layout.tsx +│ └── page.tsx +├── components +│ ├── ui +│ │ ├── alert-dialog.tsx +│ │ ├── button.tsx +│ │ ├── dropdown-menu.tsx +│ │ └── ... +│ ├── main-nav.tsx +│ ├── page-header.tsx +│ └── ... +├── lib +│ └── utils.ts +├── styles +│ └── globals.css +├── next.config.js +├── package.json +├── postcss.config.js +├── tailwind.config.js +└── tsconfig.json +``` + +- I place the UI components in the `components/ui` folder. +- The rest of the components such as `` and `` are placed in the `components` folder. +- The `lib` folder contains all the utility functions. I have a `utils.ts` where I define the `cn` helper. +- The `styles` folder contains the global CSS. + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```tsx {1,6} showLineNumbers +import { Button } from "@/components/ui/button" + +export default function Home() { + return ( +
        + +
        + ) +} +``` + +
        diff --git a/apps/www/content/docs/installation/remix.mdx b/apps/www/content/docs/installation/remix.mdx new file mode 100644 index 0000000..a2e8965 --- /dev/null +++ b/apps/www/content/docs/installation/remix.mdx @@ -0,0 +1,117 @@ +--- +title: Remix +description: Install and configure Remix. +--- + + + +### Create project + +Start by creating a new Remix project using `create-remix`: + +```bash +npx create-remix@latest my-app +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › app/tailwind.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.js +Configure the import alias for components: › ~/components +Configure the import alias for utils: › ~/lib/utils +Are you using React Server Components? › no +``` + +### App structure + + + +**Note**: This app structure is only a suggestion. You can place the files wherever you want. + + + +- Place the UI components in the `app/components/ui` folder. +- Your own components can be placed in the `app/components` folder. +- The `app/lib` folder contains all the utility functions. We have a `utils.ts` where we define the `cn` helper. +- The `app/tailwind.css` file contains the global CSS. + +### Install Tailwind CSS + +```bash +npm add -D tailwindcss@latest autoprefixer@latest +``` + +Then we create a `postcss.config.js` file: + +```js +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} +``` + +And finally we add the following to our `remix.config.js` file: + +```js {4-5} +/** @type {import('@remix-run/dev').AppConfig} */ +export default { + ... + tailwind: true, + postcss: true, + ... +}; +``` + +### Add `tailwind.css` to your app + +In your `app/root.tsx` file, import the `tailwind.css` file: + +```js {1, 4} +import styles from "./tailwind.css" + +export const links: LinksFunction = () => [ + { rel: "stylesheet", href: styles }, + ...(cssBundleHref ? [{ rel: "stylesheet", href: cssBundleHref }] : []), +] +``` + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```tsx {1,6} showLineNumbers +import { Button } from "~/components/ui/button" + +export default function Home() { + return ( +
        + +
        + ) +} +``` + +
        diff --git a/apps/www/content/docs/installation/vite.mdx b/apps/www/content/docs/installation/vite.mdx new file mode 100644 index 0000000..eddceef --- /dev/null +++ b/apps/www/content/docs/installation/vite.mdx @@ -0,0 +1,115 @@ +--- +title: Vite +description: Install and configure Vite. +--- + + + +### Create project + +Start by creating a new React project using `vite`: + +```bash +npm create vite@latest +``` + +### Add Tailwind and its configuration + +Install `tailwindcss` and its peer dependencies, then generate your `tailwind.config.js` and `postcss.config.js` files: + +```bash +npm install -D tailwindcss postcss autoprefixer + +npx tailwindcss init -p +``` + +### Edit tsconfig.json file + +Add the following code to the `tsconfig.json` file to resolve paths: + +```ts {4-9} showLineNumbers +{ + "compilerOptions": { + // ... + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } + // ... + } +} +``` + +### Update vite.config.ts + +Add the following code to the vite.config.ts so your app can resolve paths without error + +```bash +# (so you can import "path" without error) +npm i -D @types/node +``` + +```typescript +import path from "path" +import react from "@vitejs/plugin-react" +import { defineConfig } from "vite" + +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, +}) +``` + +### Run the CLI + +Run the `shadcn-ui` init command to setup your project: + +```bash +npx shadcn-ui@latest init +``` + +### Configure components.json + +You will be asked a few questions to configure `components.json`: + +```txt showLineNumbers +Would you like to use TypeScript (recommended)? no / yes +Which style would you like to use? › Default +Which color would you like to use as base color? › Slate +Where is your global CSS file? › › src/index.css +Do you want to use CSS variables for colors? › no / yes +Where is your tailwind.config.js located? › tailwind.config.js +Configure the import alias for components: › @/components +Configure the import alias for utils: › @/lib/utils +Are you using React Server Components? › no / yes (no) +``` + +### That's it + +You can now start adding components to your project. + +```bash +npx shadcn-ui@latest add button +``` + +The command above will add the `Button` component to your project. You can then import it like this: + +```tsx {1,6} showLineNumbers +import { Button } from "@/components/ui/button" + +export default function Home() { + return ( +
        + +
        + ) +} +``` + +
        diff --git a/apps/www/content/docs/theming.mdx b/apps/www/content/docs/theming.mdx new file mode 100644 index 0000000..bb168de --- /dev/null +++ b/apps/www/content/docs/theming.mdx @@ -0,0 +1,190 @@ +--- +title: Theming +description: Using CSS Variables or Tailwind CSS for theming. +--- + +You can choose between using CSS variables or Tailwind CSS utility classes for theming. + +## Utility classes + +```tsx /bg-zinc-950/ /text-zinc-50/ /dark:bg-white/ /dark:text-zinc-950/ +
        +``` + +To use utility classes for theming set `tailwind.cssVariables` to `false` in your `components.json` file. + +```json {8} title="components.json" +{ + "style": "default", + "rsc": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "app/globals.css", + "baseColor": "slate", + "cssVariables": false + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} +``` + +## CSS Variables + +```tsx /bg-background/ /text-foreground/ +
        +``` + +To use CSS variables for theming set `tailwind.cssVariables` to `true` in your `components.json` file. + +```json {8} title="components.json" +{ + "style": "default", + "rsc": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "app/globals.css", + "baseColor": "slate", + "cssVariables": true + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} +``` + +### Convention + +We use a simple `background` and `foreground` convention for colors. The `background` variable is used for the background color of the component and the `foreground` variable is used for the text color. + + + +The `background` suffix is omitted when the variable is used for the background color of the component. + + + +Given the following CSS variables: + +```css +--primary: 222.2 47.4% 11.2%; +--primary-foreground: 210 40% 98%; +``` + +The `background` color of the following component will be `hsl(var(--primary))` and the `foreground` color will be `hsl(var(--primary-foreground))`. + +```tsx +
        Hello
        +``` + + + +**CSS variables must be defined without color space function**. See the [Tailwind CSS documentation](https://tailwindcss.com/docs/customizing-colors#using-css-variables) for more information. + + + +### List of variables + +Here's the list of variables available for customization: + + + +```css title="Default background color of ...etc" +--background: 0 0% 100%; +--foreground: 222.2 47.4% 11.2%; +``` + +```css title="Muted backgrounds such as , and " +--muted: 210 40% 96.1%; +--muted-foreground: 215.4 16.3% 46.9%; +``` + +```css title="Background color for " +--card: 0 0% 100%; +--card-foreground: 222.2 47.4% 11.2%; +``` + +```css title="Background color for popovers such as , , " +--popover: 0 0% 100%; +--popover-foreground: 222.2 47.4% 11.2%; +``` + +```css title="Default border color" +--border: 214.3 31.8% 91.4%; +``` + +```css title="Border color for inputs such as ,