From 35fee4170a3f93c7697fcbd55801c16c32ee691f Mon Sep 17 00:00:00 2001 From: Caleb Jacob Date: Wed, 31 Jul 2024 11:13:28 -0600 Subject: [PATCH 1/6] Pull in pagoda UI lib and remove duplicate lib components --- package.json | 2 + pnpm-lock.yaml | 330 ++++++++++----- ...Container.tsx => RootContentContainer.tsx} | 0 src/components/banner/Horizon.tsx | 11 +- src/components/banner/MigrationBanner.tsx | 2 +- src/components/lib/Button/Button.tsx | 380 ------------------ src/components/lib/Button/index.tsx | 1 - src/components/lib/Container/index.ts | 1 - src/components/lib/Input/Input.tsx | 94 ----- src/components/lib/Input/index.ts | 1 - src/components/lib/Input/styles.ts | 195 --------- src/components/lib/Spinner/Spinner.tsx | 33 -- src/components/lib/Spinner/index.ts | 1 - src/components/lib/Text/Text.tsx | 14 - src/components/lib/Text/index.tsx | 1 - src/components/lib/Toast/README.md | 83 ---- src/components/lib/Toast/Toast.tsx | 25 -- src/components/lib/Toast/Toaster.tsx | 48 --- src/components/lib/Toast/api.ts | 6 - src/components/lib/Toast/index.ts | 3 - src/components/lib/Toast/store.ts | 84 ---- src/components/lib/Toast/styles.ts | 126 ------ src/components/lib/Tooltip/README.md | 84 ---- src/components/lib/Tooltip/Tooltip.tsx | 42 -- src/components/lib/Tooltip/index.ts | 1 - src/components/lib/Tooltip/styles.ts | 36 -- .../desktop/DesktopNavigation.tsx | 2 +- .../marketing-navigation/mobile/Menu.tsx | 2 +- .../mobile/MobileNavigation.tsx | 2 +- src/components/sandbox/Sandbox.js | 4 +- .../sidebar-navigation/LargeScreenHeader.tsx | 2 +- .../sidebar-navigation/PinnedApps.tsx | 8 +- src/components/sidebar-navigation/Search.tsx | 2 +- src/components/sidebar-navigation/Sidebar.tsx | 2 +- .../sidebar-navigation/SmallScreenHeader.tsx | 5 +- src/components/vm/VmCommitButton.tsx | 6 +- src/components/vm/VmComponent.tsx | 6 +- .../widget/[componentName].tsx | 2 +- src/pages/_app.tsx | 8 +- .../[accountId]/widget/[componentName].tsx | 2 +- src/pages/flags.tsx | 10 +- src/pages/geoBlocked.tsx | 2 +- src/pages/index.tsx | 4 +- src/pages/s/[urlShareIndicator].tsx | 4 +- src/pages/search.tsx | 2 +- src/pages/settings.tsx | 9 +- src/pages/signMessage.tsx | 4 +- src/pages/signin.tsx | 2 +- src/pages/signup.tsx | 2 +- src/styles/globals.css | 30 +- src/styles/theme.css | 132 ------ src/utils/notificationsLocalStorage.ts | 4 +- 52 files changed, 279 insertions(+), 1583 deletions(-) rename src/components/{lib/Container/Container.tsx => RootContentContainer.tsx} (100%) delete mode 100644 src/components/lib/Button/Button.tsx delete mode 100644 src/components/lib/Button/index.tsx delete mode 100644 src/components/lib/Container/index.ts delete mode 100644 src/components/lib/Input/Input.tsx delete mode 100644 src/components/lib/Input/index.ts delete mode 100644 src/components/lib/Input/styles.ts delete mode 100644 src/components/lib/Spinner/Spinner.tsx delete mode 100644 src/components/lib/Spinner/index.ts delete mode 100644 src/components/lib/Text/Text.tsx delete mode 100644 src/components/lib/Text/index.tsx delete mode 100644 src/components/lib/Toast/README.md delete mode 100644 src/components/lib/Toast/Toast.tsx delete mode 100644 src/components/lib/Toast/Toaster.tsx delete mode 100644 src/components/lib/Toast/api.ts delete mode 100644 src/components/lib/Toast/index.ts delete mode 100644 src/components/lib/Toast/store.ts delete mode 100644 src/components/lib/Toast/styles.ts delete mode 100644 src/components/lib/Tooltip/README.md delete mode 100644 src/components/lib/Tooltip/Tooltip.tsx delete mode 100644 src/components/lib/Tooltip/index.ts delete mode 100644 src/components/lib/Tooltip/styles.ts delete mode 100644 src/styles/theme.css diff --git a/package.json b/package.json index 2e25de197..f9b3c2bec 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@keypom/selector": "1.2.3", "@monaco-editor/react": "^4.6.0", "@near-js/biometric-ed25519": "0.3.0", + "@near-pagoda/ui": "^0.2.3", "@near-wallet-selector/core": "8.9.7", "@near-wallet-selector/here-wallet": "8.9.7", "@near-wallet-selector/ledger": "^8.9.7", @@ -34,6 +35,7 @@ "@near-wallet-selector/nightly": "8.9.7", "@near-wallet-selector/sender": "8.9.7", "@near-wallet-selector/welldone-wallet": "8.9.7", + "@phosphor-icons/react": "^2.1.7", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-hover-card": "^1.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e71114cd9..9cf480034 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@near-js/biometric-ed25519': specifier: 0.3.0 version: 0.3.0 + '@near-pagoda/ui': + specifier: ^0.2.3 + version: 0.2.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(next@13.5.6(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(zustand@4.5.4(@types/react@18.3.3)(react@18.3.1)) '@near-wallet-selector/core': specifier: 8.9.7 version: 8.9.7(near-api-js@2.1.4) @@ -43,7 +46,7 @@ importers: version: 8.9.7(near-api-js@2.1.4) '@near-wallet-selector/near-mobile-wallet': specifier: ^8.9.7 - version: 8.9.10(@swc/helpers@0.5.12)(near-api-js@2.1.4)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4) + version: 8.9.10(@swc/helpers@0.5.12)(near-api-js@2.1.4)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4) '@near-wallet-selector/neth': specifier: 8.9.7 version: 8.9.7(near-api-js@2.1.4) @@ -56,6 +59,9 @@ importers: '@near-wallet-selector/welldone-wallet': specifier: 8.9.7 version: 8.9.7(near-api-js@2.1.4) + '@phosphor-icons/react': + specifier: ^2.1.7 + version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-accordion': specifier: ^1.1.2 version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1937,6 +1943,15 @@ packages: '@near-js/wallet-account@1.1.1': resolution: {integrity: sha512-NnoJKtogBQ7Qz+AP+LdF70BP8Az6UXQori7OjPqJLMo73bn6lh5Ywvegwd1EB7ZEVe4BRt9+f9QkbU5M8ANfAw==} + '@near-pagoda/ui@0.2.3': + resolution: {integrity: sha512-qbrJYokaz/vc481DHp+ivpU4nsPwLQQHmdSLKOt3x0rXqXZlRKV4R+NeUjzW5AoMR/O5Ut3gBPhpbuqCFB9hag==} + engines: {node: '>=20', pnpm: 9.1.1} + peerDependencies: + next: '>=13' + react: ^18 + react-dom: ^18 + zustand: ^4 + '@near-wallet-selector/core@8.9.10': resolution: {integrity: sha512-do+DDahRHPzr5VKiFS7NWKyNbspXu64/w7CuSBi8IUDsDsclmV7Os6Hp5HcVAq+X3Whi//NxKGX6mPMb+SRPqw==} peerDependencies: @@ -2423,6 +2438,13 @@ packages: '@peersyst/near-mobile-signer@1.0.11': resolution: {integrity: sha512-9jU7rjMa9rEo0CYEeYNcu5Zzpe78ctgfxXuIRylpWK4MHuZ/N0ZmxRyUtGgqGQS9zW0aI6PHVURLSCAB5qsYlg==} + '@phosphor-icons/react@2.1.7': + resolution: {integrity: sha512-g2e2eVAn1XG2a+LI09QU3IORLhnFNAFkNbo2iwbX6NOKSLOwvEMmTa7CgOzEbgNWR47z8i8kwjdvYZ5fkGx1mQ==} + engines: {node: '>=10'} + peerDependencies: + react: '>= 16.8' + react-dom: '>= 16.8' + '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -5101,6 +5123,11 @@ packages: resolution: {integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==} engines: {node: '>=6'} + downshift@9.0.7: + resolution: {integrity: sha512-B6JY4sJGEl9xBEJEvC/C+QYYYtPWN5RL+TlROJQfue9+ZFgrD/p1ZgGw73I0WSTNH9/h5q3LIKQA4FLd/N10vg==} + peerDependencies: + react: '>=16.12.0' + duplexify@4.1.3: resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} @@ -6391,6 +6418,9 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -7537,6 +7567,9 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -11240,6 +11273,26 @@ snapshots: transitivePeerDependencies: - encoding + '@near-pagoda/ui@0.2.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(next@13.5.6(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(zustand@4.5.4(@types/react@18.3.3)(react@18.3.1))': + dependencies: + '@phosphor-icons/react': 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accordion': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-switch': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toast': 1.2.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + downshift: 9.0.7(react@18.3.1) + lodash-es: 4.17.21 + next: 13.5.6(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + zustand: 4.5.4(@types/react@18.3.3)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + '@near-wallet-selector/core@8.9.10(near-api-js@2.1.4)': dependencies: borsh: 0.7.0 @@ -11314,10 +11367,10 @@ snapshots: '@near-wallet-selector/wallet-utils': 8.9.7(near-api-js@2.1.4) near-api-js: 2.1.4 - '@near-wallet-selector/near-mobile-wallet@8.9.10(@swc/helpers@0.5.12)(near-api-js@2.1.4)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4)': + '@near-wallet-selector/near-mobile-wallet@8.9.10(@swc/helpers@0.5.12)(near-api-js@2.1.4)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4)': dependencies: '@near-wallet-selector/core': 8.9.10(near-api-js@2.1.4) - '@peersyst/near-mobile-signer': 1.0.11(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4) + '@peersyst/near-mobile-signer': 1.0.11(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4) near-api-js: 2.1.4 transitivePeerDependencies: - '@swc/helpers' @@ -11433,69 +11486,73 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@parcel/bundler-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/bundler-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 '@parcel/graph': 3.2.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 '@parcel/utils': 2.12.0 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/core': 2.12.0(@swc/helpers@0.5.12) '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/logger': 2.12.0 '@parcel/utils': 2.12.0 lmdb: 2.8.5 + transitivePeerDependencies: + - '@swc/helpers' '@parcel/codeframe@2.12.0': dependencies: chalk: 4.1.2 - '@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/config-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4)': + '@parcel/config-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4)': dependencies: - '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/core': 2.12.0(@swc/helpers@0.5.12) - '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4) - '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4) + '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/optimizer-swc': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) - '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/transformer-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@swc/helpers' - cssnano @@ -11510,14 +11567,14 @@ snapshots: '@parcel/core@2.12.0(@swc/helpers@0.5.12)': dependencies: '@mischnic/json-sourcemap': 0.1.1 - '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/diagnostic': 2.12.0 '@parcel/events': 2.12.0 '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/graph': 3.2.0 '@parcel/logger': 2.12.0 '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/profiler': 2.12.0 '@parcel/rust': 2.12.0 '@parcel/source-map': 2.1.1 @@ -11568,13 +11625,14 @@ snapshots: dependencies: chalk: 4.1.2 - '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' '@parcel/node-resolver-core@3.3.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': dependencies: @@ -11588,10 +11646,10 @@ snapshots: transitivePeerDependencies: - '@parcel/core' - '@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.2 @@ -11599,16 +11657,18 @@ snapshots: nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4)': + '@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - htmlnano: 2.1.1(postcss@8.4.39)(svgo@2.8.0)(terser@5.31.3)(typescript@5.5.4) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + htmlnano: 2.1.1(postcss@8.4.39)(srcset@4.0.0)(svgo@2.8.0)(terser@5.31.3)(typescript@5.5.4) nullthrows: 1.1.1 posthtml: 0.16.6 svgo: 2.8.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - cssnano - postcss - purgecss @@ -11618,28 +11678,31 @@ snapshots: - typescript - uncss - '@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/core': 2.12.0(@swc/helpers@0.5.12) '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 '@parcel/utils': 2.12.0 '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + transitivePeerDependencies: + - '@swc/helpers' - '@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 svgo: 2.8.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' '@parcel/optimizer-swc@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 '@swc/core': 1.7.1(@swc/helpers@0.5.12) @@ -11663,31 +11726,33 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - '@parcel/packager-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 lightningcss: 1.25.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/packager-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/packager-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 '@parcel/source-map': 2.1.1 '@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) @@ -11696,33 +11761,38 @@ snapshots: nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/packager-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/packager-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 posthtml: 0.16.6 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/plugin@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/plugin@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' '@parcel/profiler@2.12.0': dependencies: @@ -11730,71 +11800,79 @@ snapshots: '@parcel/events': 2.12.0 chrome-trace-event: 1.0.4 - '@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 chalk: 4.1.2 term-size: 2.2.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 chrome-trace-event: 1.0.4 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/resolver-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/resolver-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/runtime-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/runtime-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 react-error-overlay: 6.0.9 react-refresh: 0.9.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' '@parcel/rust@2.12.0': {} @@ -11802,10 +11880,10 @@ snapshots: dependencies: detect-libc: 1.0.3 - '@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.2 @@ -11814,11 +11892,12 @@ snapshots: semver: 7.6.3 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.2 @@ -11826,11 +11905,12 @@ snapshots: nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -11840,20 +11920,23 @@ snapshots: srcset: 4.0.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/core': 2.12.0(@swc/helpers@0.5.12) - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) nullthrows: 1.1.1 + transitivePeerDependencies: + - '@swc/helpers' '@parcel/transformer-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': dependencies: '@parcel/core': 2.12.0(@swc/helpers@0.5.12) '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 @@ -11864,17 +11947,18 @@ snapshots: regenerator-runtime: 0.13.11 semver: 7.6.3 - '@parcel/transformer-json@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-json@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) json5: 2.2.3 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 '@parcel/utils': 2.12.0 clone: 2.1.2 @@ -11883,10 +11967,11 @@ snapshots: semver: 7.6.3 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -11895,25 +11980,28 @@ snapshots: semver: 7.6.3 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 react-refresh: 0.9.0 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' - '@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))': + '@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/rust': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -11922,10 +12010,11 @@ snapshots: semver: 7.6.3 transitivePeerDependencies: - '@parcel/core' + - '@swc/helpers' '@parcel/types@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)': dependencies: - '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/diagnostic': 2.12.0 '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) @@ -12036,12 +12125,12 @@ snapshots: tslib: 2.6.3 webcrypto-core: 1.8.0 - '@peersyst/near-mobile-signer@1.0.11(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4)': + '@peersyst/near-mobile-signer@1.0.11(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4)': dependencies: bn.js: 5.2.1 js-sha256: 0.9.0 near-api-js: 2.1.4 - parcel: 2.12.0(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4) + parcel: 2.12.0(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4) transitivePeerDependencies: - '@swc/helpers' - cssnano @@ -12054,6 +12143,11 @@ snapshots: - typescript - uncss + '@phosphor-icons/react@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@popperjs/core@2.11.8': {} '@protobufjs/aspromise@1.1.2': {} @@ -15582,6 +15676,15 @@ snapshots: dotenv@7.0.0: {} + downshift@9.0.7(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.8 + compute-scroll-into-view: 3.1.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 18.2.0 + tslib: 2.6.3 + duplexify@4.1.3: dependencies: end-of-stream: 1.4.4 @@ -16562,13 +16665,14 @@ snapshots: hosted-git-info@2.8.9: {} - htmlnano@2.1.1(postcss@8.4.39)(svgo@2.8.0)(terser@5.31.3)(typescript@5.5.4): + htmlnano@2.1.1(postcss@8.4.39)(srcset@4.0.0)(svgo@2.8.0)(terser@5.31.3)(typescript@5.5.4): dependencies: cosmiconfig: 9.0.0(typescript@5.5.4) posthtml: 0.16.6 timsort: 0.3.0 optionalDependencies: postcss: 8.4.39 + srcset: 4.0.0 svgo: 2.8.0 terser: 5.31.3 transitivePeerDependencies: @@ -17194,6 +17298,8 @@ snapshots: dependencies: p-locate: 6.0.0 + lodash-es@4.17.21: {} + lodash.camelcase@4.3.0: {} lodash.clonedeep@4.5.0: {} @@ -18126,18 +18232,18 @@ snapshots: p-try@2.2.0: {} - parcel@2.12.0(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4): + parcel@2.12.0(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4): dependencies: - '@parcel/config-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(terser@5.31.3)(typescript@5.5.4) + '@parcel/config-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(postcss@8.4.39)(srcset@4.0.0)(terser@5.31.3)(typescript@5.5.4) '@parcel/core': 2.12.0(@swc/helpers@0.5.12) '@parcel/diagnostic': 2.12.0 '@parcel/events': 2.12.0 '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/logger': 2.12.0 '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) - '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) - '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12)) + '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) + '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12) '@parcel/utils': 2.12.0 chalk: 4.1.2 commander: 7.2.0 @@ -18801,6 +18907,8 @@ snapshots: react-is@17.0.2: {} + react-is@18.2.0: {} + react-is@18.3.1: {} react-lifecycles-compat@3.0.4: {} diff --git a/src/components/lib/Container/Container.tsx b/src/components/RootContentContainer.tsx similarity index 100% rename from src/components/lib/Container/Container.tsx rename to src/components/RootContentContainer.tsx diff --git a/src/components/banner/Horizon.tsx b/src/components/banner/Horizon.tsx index 0aae0084a..8441bbb9d 100644 --- a/src/components/banner/Horizon.tsx +++ b/src/components/banner/Horizon.tsx @@ -1,7 +1,8 @@ +import { Button } from '@near-pagoda/ui'; +import { Text } from '@near-pagoda/ui'; +import { ArrowUpRight, XCircle } from '@phosphor-icons/react'; import styled from 'styled-components'; -import { Button } from '@/components/lib/Button'; -import { Text } from '@/components/lib/Text'; import { useBanner } from '@/hooks/useBanner'; type Props = { @@ -100,7 +101,7 @@ export const HorizonBanner = (props: Props) => { href="https://airtable.com/appFoIqAoY0ikoVIb/shrst8Tt4PUtYTSvD" target="_blank" label="Apply Now" - iconRight="ph-bold ph-arrow-up-right" + iconRight={} variant="primary" fill="outline" size="small" @@ -111,7 +112,7 @@ export const HorizonBanner = (props: Props) => { href="https://airtable.com/appFoIqAoY0ikoVIb/shrst8Tt4PUtYTSvD" target="_blank" label="Apply" - iconRight="ph-bold ph-arrow-up-right" + iconRight={} variant="primary" fill="outline" size="small" @@ -122,7 +123,7 @@ export const HorizonBanner = (props: Props) => { type="button" onClick={closeBanner} label="Close" - icon="ph-fill ph-x-circle" + iconRight={} size="small" className="close-button" fill="ghost" diff --git a/src/components/banner/MigrationBanner.tsx b/src/components/banner/MigrationBanner.tsx index e0eee2f1d..f018bfc22 100644 --- a/src/components/banner/MigrationBanner.tsx +++ b/src/components/banner/MigrationBanner.tsx @@ -1,6 +1,6 @@ +import { Text } from '@near-pagoda/ui'; import styled from 'styled-components'; -import { Text } from '@/components/lib/Text'; import { useAuthStore } from '@/stores/auth'; type Props = { diff --git a/src/components/lib/Button/Button.tsx b/src/components/lib/Button/Button.tsx deleted file mode 100644 index 3ca742169..000000000 --- a/src/components/lib/Button/Button.tsx +++ /dev/null @@ -1,380 +0,0 @@ -import type { ButtonHTMLAttributes } from 'react'; -import { forwardRef } from 'react'; -import styled from 'styled-components'; - -type Fill = 'solid' | 'outline' | 'ghost'; -type Size = 'small' | 'default' | 'large'; -type Variant = 'primary' | 'secondary' | 'affirmative' | 'destructive'; - -type Props = Omit, 'size'> & { - disabled?: boolean; - fill?: Fill; - href?: string; - target?: string; - icon?: string; - iconLeft?: string; - iconRight?: string; - label: string; - loading?: boolean; - size?: Size; - type?: 'button' | 'submit'; - variant?: Variant; -}; - -type StyledProps = { - disabled?: boolean; - fill: Fill; - icon?: string; - loading?: boolean; - size: Size; - variant: Variant; -}; - -const variants: Record = { - primary: { - outline: { - background: 'var(--sand1)', - border: 'var(--sand6)', - color: 'var(--violet8)', - iconColor: 'var(--violet9)', - hover: { - border: 'var(--violet6)', - }, - focus: { - border: 'var(--violet9)', - }, - active: { - background: 'var(--violet2)', - border: 'var(--violet7)', - }, - }, - solid: { - background: 'var(--sand12) !important', //Important is necessary as long as [[...pages]].tsx fetches static html blog content - border: 'var(--sand12)', - color: 'var(--sand1)', - iconColor: 'var(--sand9)', - hover: { - background: 'var(--sand11)', - border: 'var(--sand11)', - }, - focus: {}, - active: {}, - }, - }, - secondary: { - outline: { - background: 'var(--sand1)', - border: 'var(--sand6)', - color: 'var(--sand12)', - iconColor: 'var(--sand10)', - hover: { - border: 'var(--sand8)', - }, - focus: { - border: 'var(--violet8)', - }, - active: { - background: 'var(--sand3)', - border: 'var(--sand8)', - }, - }, - solid: { - background: 'var(--sand3)', - border: 'var(--sand6)', - color: 'var(--sand12)', - iconColor: 'var(--sand11)', - hover: { - background: 'var(--sand4)', - }, - focus: { - border: 'var(--violet8)', - }, - active: { - background: 'var(--sand5)', - }, - }, - }, - destructive: { - outline: { - background: 'var(--sand1)', - border: 'var(--sand6)', - color: 'var(--red8)', - iconColor: 'var(--red9)', - hover: { - border: 'var(--red6)', - }, - focus: { - border: 'var(--violet8)', - }, - active: { - background: 'var(--red2)', - border: 'var(--red7)', - }, - }, - solid: { - background: 'var(--red9)', - border: 'var(--red8)', - color: 'var(--red12)', - iconColor: 'var(--red11)', - hover: { - background: 'var(--red10)', - }, - focus: { - border: 'var(--red11)', - }, - active: { - background: 'var(--red8)', - }, - }, - }, - affirmative: { - outline: { - background: 'var(--sand1)', - border: 'var(--sand6)', - color: 'var(--green11)', - iconColor: 'var(--green10)', - hover: { - border: 'var(--green9)', - }, - focus: { - border: 'var(--violet8)', - }, - active: { - background: 'var(--green2)', - border: 'var(--green8)', - }, - }, - solid: { - background: 'var(--green9)', - border: 'var(--green8)', - color: 'var(--green12)', - iconColor: 'var(--green11)', - hover: { - background: 'var(--green10)', - }, - focus: { - border: 'var(--green11)', - }, - active: { - background: 'var(--green8)', - }, - }, - }, -}; -variants.primary.ghost = { - ...variants.primary.outline, - border: 'hsla(0, 0%, 100%, 0)', - background: 'hsla(0, 0%, 100%, 0)', -}; -variants.secondary.ghost = { - ...variants.secondary.outline, - border: 'hsla(0, 0%, 100%, 0)', - background: 'hsla(0, 0%, 100%, 0)', -}; -variants.destructive.ghost = { - ...variants.destructive.outline, - border: 'hsla(0, 0%, 100%, 0)', - background: 'hsla(0, 0%, 100%, 0)', -}; -variants.affirmative.ghost = { - ...variants.affirmative.outline, - border: 'hsla(0, 0%, 100%, 0)', - background: 'hsla(0, 0%, 100%, 0)', -}; - -const sizes: Record = { - small: { - font: 'var(--text-xs)', - gap: '6px', - height: '32px', - icon: '14px', - paddingX: '16px', - }, - default: { - font: 'var(--text-s)', - gap: '8px', - height: '40px', - icon: '18px', - paddingX: '20px', - }, - large: { - font: 'var(--text-base)', - gap: '8px', - height: '48px', - icon: '18px', - paddingX: '24px', - }, -}; - -function returnColor(variant: Variant, fill: string, state: string, key: string) { - if (state === 'default') return variants[variant][fill][key]; - return variants[variant][fill][state][key] || variants[variant][fill][key]; -} - -const StyledButton = styled.button` - all: unset; - box-sizing: border-box; - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - flex-shrink: 0; - width: ${(p) => (p.icon ? sizes[p.size].height : undefined)}; - height: ${(p) => sizes[p.size].height}; - padding: ${(p) => (p.icon ? '0' : `0 ${sizes[p.size].paddingX}`)}; - font: ${(p) => sizes[p.size].font}; - font-weight: 600; - line-height: 1; - border-radius: 100px; - background: ${(p) => returnColor(p.variant, p.fill, 'default', 'background')}; - color: ${(p) => returnColor(p.variant, p.fill, 'default', 'color')}; - border: 1px solid ${(p) => returnColor(p.variant, p.fill, 'default', 'border')}; - box-shadow: 0 0 0 0px var(--violet4); - cursor: pointer; - transition: all 200ms; - text-decoration: none !important; - - &:hover { - background: ${(p) => returnColor(p.variant, p.fill, 'hover', 'background')}; - color: ${(p) => returnColor(p.variant, p.fill, 'hover', 'color')}; - border: 1px solid ${(p) => returnColor(p.variant, p.fill, 'hover', 'border')}; - } - &:focus { - background: ${(p) => returnColor(p.variant, p.fill, 'focus', 'background')}; - color: ${(p) => returnColor(p.variant, p.fill, 'focus', 'color')}; - border: 1px solid ${(p) => returnColor(p.variant, p.fill, 'focus', 'border')}; - box-shadow: 0 0 0 4px var(--violet4); - } - &:active { - background: ${(p) => returnColor(p.variant, p.fill, 'active', 'background')}; - color: ${(p) => returnColor(p.variant, p.fill, 'active', 'color')}; - border: 1px solid ${(p) => returnColor(p.variant, p.fill, 'active', 'border')}; - } - - ${(p) => - p.loading && - ` - pointer-events: none; - `} - - ${(p) => - p.disabled && - ` - opacity: 1; - background: ${p.fill === 'ghost' ? 'hsla(0, 0%, 100%, 0)' : 'var(--sand3)'}; - border-color: var(--sand3); - color: var(--sand8); - pointer-events: none; - - i { - color: var(--sand8) !important; - } - `} -`; - -const Inner = styled.span` - display: inline-flex; - align-items: center; - justify-content: center; - gap: ${(p) => sizes[p.size].gap}; - - i { - font-size: ${(p) => sizes[p.size].icon}; - line-height: ${(p) => sizes[p.size].icon}; - color: ${(p) => (p.icon ? undefined : returnColor(p.variant, p.fill, 'default', 'iconColor'))}; - } - - ${(p) => - p.loading && - ` - opacity: 0; - `} -`; - -const Label = styled.span``; - -const Spinner = styled.i` - position: absolute; - top: 50%; - left: 0; - right: 0; - margin: calc(${(p) => sizes[p.size].icon} * -0.5) auto 0; - width: ${(p) => sizes[p.size].icon}; - height: ${(p) => sizes[p.size].icon}; - font-size: ${(p) => sizes[p.size].icon}; - line-height: ${(p) => sizes[p.size].icon}; - animation: spin 800ms infinite linear; - - @keyframes spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } - } -`; - -export const Button = forwardRef( - ( - { - disabled, - fill = 'solid', - href, - icon, - iconLeft, - iconRight, - label, - loading, - size = 'default', - type = 'button', - variant = 'primary', - ...forwardedProps - }, - ref, - ) => { - const conditionalAttributes: Record = href - ? { - as: 'a', - href, - } - : { - type, - disabled: disabled || loading, - }; - - if (icon) { - conditionalAttributes['aria-label'] = label; - } - - const styledProps: StyledProps = { - disabled, - fill, - icon, - loading, - size, - variant, - }; - - return ( - - <> - {loading && } - - {icon ? ( - - ) : ( - <> - {iconLeft && } - - {iconRight && } - - )} - - - - ); - }, -); - -Button.displayName = 'Button'; diff --git a/src/components/lib/Button/index.tsx b/src/components/lib/Button/index.tsx deleted file mode 100644 index 8b166a86e..000000000 --- a/src/components/lib/Button/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './Button'; diff --git a/src/components/lib/Container/index.ts b/src/components/lib/Container/index.ts deleted file mode 100644 index 8a1103ffa..000000000 --- a/src/components/lib/Container/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Container'; diff --git a/src/components/lib/Input/Input.tsx b/src/components/lib/Input/Input.tsx deleted file mode 100644 index 5343b1525..000000000 --- a/src/components/lib/Input/Input.tsx +++ /dev/null @@ -1,94 +0,0 @@ -// originally copied from https://github.com/near/pagoda-experiments/blob/main/packages/ui/src/components/Input.tsx -import type { ComponentPropsWithRef, FormEventHandler, ReactElement } from 'react'; -import { forwardRef } from 'react'; - -import * as S from './styles'; - -type Props = ComponentPropsWithRef<'input'> & { - assistive?: string; - error?: string; - iconLeft?: string; // meaning the className of ph-icon or bootstrap icon - iconRight?: string; // meaning the className of ph-icon or bootstrap icon - label?: string; - left?: ReactElement; - name: string; - right?: ReactElement; - success?: string; -}; - -export const Input = forwardRef( - ( - { - // assistive, - autoComplete, - error, - iconLeft, - iconRight, - inputMode, - label, - left, - name, - right, - style, - success, - type = 'text', - ...props - }, - ref, - ) => { - // const assistiveTextId = `${name}-assistive-text`; - const variant: 'default' | 'success' | 'error' = error ? 'error' : success ? 'success' : 'default'; - - if (type === 'search' && !iconLeft) { - iconLeft = 'ph-bold ph-magnifying-glass'; - } - - const onInput: FormEventHandler = (event) => { - props.onInput && props.onInput(event); - }; - - return ( - - - {label && {label}} - - - {iconLeft && - - {/* I'm going to leave this as an idea to implement such in future */} - {/* */} - - - ); - }, -); -Input.displayName = 'Input'; diff --git a/src/components/lib/Input/index.ts b/src/components/lib/Input/index.ts deleted file mode 100644 index ba9fe7ebc..000000000 --- a/src/components/lib/Input/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Input'; diff --git a/src/components/lib/Input/styles.ts b/src/components/lib/Input/styles.ts deleted file mode 100644 index a48328e5c..000000000 --- a/src/components/lib/Input/styles.ts +++ /dev/null @@ -1,195 +0,0 @@ -// originally copied from https://github.com/near/pagoda-experiments/blob/main/packages/ui/src/components/Input.module.scss -import styled from 'styled-components'; - -export const Wrapper = styled.div` - --input-icon-size: 1rem; - --input-color-background: var(--sand1); - --input-color-border: var(--sand6); - --input-color-text: var(--sand12); - --input-color-icon: var(--sand10); - --transition-speed: 200ms; - - position: relative; - flex-shrink: 0; - - &[data-grow='true'] { - width: 100%; - flex-grow: 1; - flex-basis: 0; - } -`; - -export const LabelWrapper = styled.label` - display: flex; - width: 100%; - flex-direction: column; - gap: 5px; -`; - -export const Label = styled.span` - display: block; - font: var(--text-xs); - font-weight: 600; - color: var(--sand12); -`; - -export const Icon = styled.i` - display: block; - width: var(--input-icon-size); - height: var(--input-icon-size); - pointer-events: none; - transition: all var(--transition-speed); - color: var(--input-color-icon); -`; - -export const Input = styled.input` - display: block; - flex-grow: 1; - border: none; - background: none; - margin: 0; - min-width: 0; - width: 100%; - height: 40px; - line-height: 40px; - padding: 0; - color: var(--sand12); - font: var(--text-base); - font-size: 16px; // Make sure we always use 16px to prevent iOS auto-zoom - outline: none !important; - text-align: left; - transition: color var(--transition-speed), opacity var(--transition-speed); - - &::placeholder { - color: var(--sand10); - font: var(--text-base); - font-size: 16px; // Make sure we always use 16px to prevent iOS auto-zoom - opacity: 1; - } - - [data-disabled='true'] & { - opacity: 1; - color: var(--sand9); - - &::placeholder { - color: var(--sand9); - } - } - - [data-textarea='true'] & { - line-height: 1.5; - padding: 8px 12px; - height: unset; - min-height: 4rem; - field-sizing: content; // Progressive enhancement for browsers that support it: https://caniuse.com/?search=field-sizing - } - - &::-webkit-inner-spin-button, - &::-webkit-outer-spin-button { - -webkit-appearance: 'none'; - margin: 0; - } -`; - -export const InputWrapper = styled.div` - display: flex; - align-items: center; - padding: 0 12px; - column-gap: 10px; - position: relative; - border-radius: 6px; - color: var(--input-color-text); - border: 1px solid var(--input-color-border); - background-color: var(--input-color-background); - transition: background-color var(--transition-speed), border-color var(--transition-speed), - color var(--transition-speed), box-shadow var(--transition-speed); - - &:hover { - --input-color-border: var(--sand7); - --input-color-background: var(--sand2); - } - - [data-type='search'] & { - border-radius: 100px; - - input::-webkit-search-cancel-button { - -webkit-appearance: none; - height: 1.25rem; - width: 1.25rem; - border-radius: 100px; - background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iIzAwMDAwMCIgdmlld0JveD0iMCAwIDI1NiAyNTYiPjxwYXRoIGQ9Ik0xMjgsMjRBMTA0LDEwNCwwLDEsMCwyMzIsMTI4LDEwNC4xMSwxMDQuMTEsMCwwLDAsMTI4LDI0Wm0zNy42NiwxMzAuMzRhOCw4LDAsMCwxLTExLjMyLDExLjMyTDEyOCwxMzkuMzFsLTI2LjM0LDI2LjM1YTgsOCwwLDAsMS0xMS4zMi0xMS4zMkwxMTYuNjksMTI4LDkwLjM0LDEwMS42NmE4LDgsMCwwLDEsMTEuMzItMTEuMzJMMTI4LDExNi42OWwyNi4zNC0yNi4zNWE4LDgsMCwwLDEsMTEuMzIsMTEuMzJMMTM5LjMxLDEyOFoiPjwvcGF0aD48L3N2Zz4=) - no-repeat 50% 50%; - background-size: contain; - opacity: 0.35; - position: relative; - right: -5px; - cursor: pointer; - transition: var(--transition-speed); - - &:hover { - opacity: 0.5; - } - } - } - - [data-variant='error'] & { - --input-color-background: var(--red1); - --input-color-border: var(--red9); - ${Icon} { - --input-color-icon: var(--red9); - } - ${Input} { - --input-color-icon: var(--red12); - } - &:hover { - --input-color-background: var(--red2); - --input-color-border: var(--red8); - } - } - - [data-variant='success'] & { - --input-color-background: var(--green1); - --input-color-border: var(--green9); - ${Icon} { - --input-color-icon: var(--green8); - } - ${Input} { - --input-color-icon: var(--green12); - } - &:hover { - --input-color-background: var(--green2); - --input-color-border: var(--green8); - } - } - - [data-disabled='true'] & { - pointer-events: none; - --input-color-background: var(--sand3); - --input-color-border: var(--sand3); - ${Icon} { - --input-color-icon: var(--sand8); - } - } - - [data-textarea='true'] & { - padding: 0; - } - - [data-open='true'] & { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - } - - &:focus-within { - --input-color-border: var(--violet8) !important; - --input-color-background: var(--white) !important; - outline: none; - box-shadow: 0 0 0 4px var(--violet4); - ${Icon} { - --input-color-icon: var(--violet7); - } - ${Input} { - --input-color-icon: var(--violet12); - } - } -`; diff --git a/src/components/lib/Spinner/Spinner.tsx b/src/components/lib/Spinner/Spinner.tsx deleted file mode 100644 index 6f9ef921e..000000000 --- a/src/components/lib/Spinner/Spinner.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import styled from 'styled-components'; - -const Wrapper = styled.span` - display: inline-flex; - width: 100%; - align-items: center; - justify-content: center; - padding: 12px; - animation: spin 1200ms infinite linear; - - i { - color: currentColor; - font-size: 16px; - line-height: 16px; - } - - @keyframes spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } - } -`; - -export function Spinner() { - return ( - - - - ); -} diff --git a/src/components/lib/Spinner/index.ts b/src/components/lib/Spinner/index.ts deleted file mode 100644 index b259397be..000000000 --- a/src/components/lib/Spinner/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Spinner'; diff --git a/src/components/lib/Text/Text.tsx b/src/components/lib/Text/Text.tsx deleted file mode 100644 index f7381fa97..000000000 --- a/src/components/lib/Text/Text.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import styled from 'styled-components'; - -type Props = { - color?: string; - font?: 'text-xs' | 'text-s' | 'text-base' | 'text-l' | 'text-xl' | 'text-2xl' | 'text-3xl' | 'text-hero'; - weight?: string; -}; - -export const Text = styled.p` - font: ${(p) => (p.font ? `var(--${p.font})` : `var(--text-base)`)}; - font-weight: ${(p) => p.weight ?? '400'}; - color: ${(p) => (p.color ? `var(--${p.color})` : `currentColor`)}; - margin: 0; -`; diff --git a/src/components/lib/Text/index.tsx b/src/components/lib/Text/index.tsx deleted file mode 100644 index b0c76af0b..000000000 --- a/src/components/lib/Text/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './Text'; diff --git a/src/components/lib/Toast/README.md b/src/components/lib/Toast/README.md deleted file mode 100644 index d8dabeb73..000000000 --- a/src/components/lib/Toast/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# Toast - -Implemented via Radix primitives: https://www.radix-ui.com/docs/primitives/components/toast - -_If the current props and Stitches style overrides aren't enough to cover your use case, feel free to implement your own component using the Radix primitives directly._ - -## Example - -Using the `openToast` API allows you to easily open a toast from any context: - -```tsx -import { openToast } from '@/components/lib/Toast'; - -... - - -``` - -You can pass other options too: - -```tsx - -``` - -## Deduplicate - -If you need to ensure only a single instance of a toast is ever displayed at once, you can deduplicate by passing a unique `id` key. If a toast with the passed `id` is currently open, a new toast will not be opened: - -```tsx - -``` - -## Custom Toast - -If you need something more custom, you can render a custom toast using `lib/Toast/Toaster.tsx` as an example like so: - -```tsx -import * as Toast from '@/components/lib/Toast'; - -... - - - - My Title - My Description - - - - - -``` diff --git a/src/components/lib/Toast/Toast.tsx b/src/components/lib/Toast/Toast.tsx deleted file mode 100644 index a65a25cb6..000000000 --- a/src/components/lib/Toast/Toast.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import * as ToastPrimitive from '@radix-ui/react-toast'; -import type { ComponentProps } from 'react'; -import { forwardRef } from 'react'; - -import * as S from './styles'; - -type CloseButtonProps = ComponentProps; - -export const Root = S.Root; -export const Title = S.Title; -export const Description = S.Description; -export const Content = S.Content; -export const Viewport = S.Viewport; -export const Action = ToastPrimitive.Action; -export const Provider = ToastPrimitive.Provider; -export const Close = ToastPrimitive.Close; - -export const CloseButton = forwardRef((props, ref) => { - return ( - - - - ); -}); -CloseButton.displayName = 'CloseButton'; diff --git a/src/components/lib/Toast/Toaster.tsx b/src/components/lib/Toast/Toaster.tsx deleted file mode 100644 index c3365a1d5..000000000 --- a/src/components/lib/Toast/Toaster.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import type { Toast, ToastType } from './store'; -import { useToasterStore } from './store'; -import * as T from './Toast'; - -export function Toaster() { - const toaster = useToasterStore(); - - const iconsByType: Record = { - INFO: 'ph ph-info', - WARNING: 'ph ph-warning', - ERROR: 'ph ph-warning-circle', - SUCCESS: 'ph ph-check-circle', - }; - - function onOpenChange(open: boolean, toast: Toast) { - if (!open) toaster.close(toast); - } - - return ( - - {toaster.toasts.map((toast) => { - const type = toast.type || 'INFO'; - const icon = toast.icon || iconsByType[type]; - - return ( - onOpenChange(open, toast)} - key={toast.id} - > - - - - {toast.title} - {toast.description && {toast.description}} - - - - - ); - })} - - - - ); -} diff --git a/src/components/lib/Toast/api.ts b/src/components/lib/Toast/api.ts deleted file mode 100644 index 334dcbe8c..000000000 --- a/src/components/lib/Toast/api.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { OpenToastOptions } from './store'; -import { useToasterStore } from './store'; - -export function openToast(options: OpenToastOptions) { - useToasterStore.getState().open(options); -} diff --git a/src/components/lib/Toast/index.ts b/src/components/lib/Toast/index.ts deleted file mode 100644 index 17c87006d..000000000 --- a/src/components/lib/Toast/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './api'; -export * from './Toast'; -export * from './Toaster'; diff --git a/src/components/lib/Toast/store.ts b/src/components/lib/Toast/store.ts deleted file mode 100644 index 30faaaf9f..000000000 --- a/src/components/lib/Toast/store.ts +++ /dev/null @@ -1,84 +0,0 @@ -import type { ReactElement } from 'react'; -import { create } from 'zustand'; - -export type ToastType = 'INFO' | 'ERROR' | 'SUCCESS' | 'WARNING'; - -export interface Toast { - description?: string | ReactElement; - duration?: number; - icon?: string; - id: string; - isOpen: boolean; - title: string; - type?: ToastType; -} - -export interface OpenToastOptions { - description?: string | ReactElement; - duration?: number; - icon?: string; - id?: string; - title: string; - type?: ToastType; -} - -interface ToasterStore { - toasts: Toast[]; - close: (toast: Toast) => void; - destroy: (toast: Toast) => void; - open: (options: OpenToastOptions) => void; -} - -export const useToasterStore = create((set) => ({ - toasts: [], - - close: (toast) => { - set((state) => { - const toasts = state.toasts.map((t) => { - if (t.id === toast.id) { - return { - ...t, - isOpen: false, - }; - } - - return t; - }); - - setTimeout(() => { - state.destroy(toast); - }, 5000); - - return { - toasts, - }; - }); - }, - - destroy: (toast) => { - set((state) => { - const toasts = state.toasts.filter((t) => t.id !== toast.id); - - return { - toasts, - }; - }); - }, - - open: (options) => { - const newToast = { - ...options, - isOpen: true, - id: options.id || Date.now().toString(), - type: options.type || 'INFO', - }; - - set((state) => { - const toasts = state.toasts.filter((t) => t.id !== newToast.id); - - return { - toasts: [...toasts, newToast], - }; - }); - }, -})); diff --git a/src/components/lib/Toast/styles.ts b/src/components/lib/Toast/styles.ts deleted file mode 100644 index db957642d..000000000 --- a/src/components/lib/Toast/styles.ts +++ /dev/null @@ -1,126 +0,0 @@ -import * as ToastPrimitive from '@radix-ui/react-toast'; -import styled, { keyframes } from 'styled-components'; - -const hideAnimation = keyframes` - from { opacity: 1; } - to { opacity: 0; } -`; - -const slideInAnimation = keyframes` - from { transform: translateX(calc(100% + 1rem)) } - to { transform: translateX(0) } -`; - -const swipeOutAnimation = keyframes` - from { transform: translateX(var(--radix-toast-swipe-end-x)) } - to { transform: translateX(calc(100% + 1rem)) } -`; - -export const Viewport = styled(ToastPrimitive.Viewport)` - position: fixed; - bottom: 0; - right: 0; - display: flex; - flex-direction: column; - gap: 1rem; - padding: 1rem; - width: 100%; - max-height: 100vh; - max-width: 20rem; - z-index: 2147483632; -`; - -export const Root = styled(ToastPrimitive.Root)` - display: flex; - gap: 1rem; - align-items: center; - background: #000; - color: #fff; - border-radius: 1rem; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); - padding: 1rem; - - i { - font-size: 1.4rem; - } - - &[data-state='open'] { - animation: ${slideInAnimation} 200ms cubic-bezier(0.16, 1, 0.3, 1); - } - &[data-state='closed'] { - animation: ${hideAnimation} 200ms ease-in forwards; - } - &[data-swipe='move'] { - transform: translateX(var(--radix-toast-swipe-move-x)); - } - &[data-swipe='cancel'] { - transform: translateX(0); - transition: transform 200ms ease-out; - } - &[data-swipe='end'] { - animation: ${swipeOutAnimation} 100ms ease-out forwards; - } - - &[data-type='ERROR'] { - background: var(--red11); - } - &[data-type='SUCCESS'] { - background: var(--green11); - } - &[data-type='INFO'] { - background: var(--sand12); - } - &[data-type='WARNING'] { - background: var(--amber4); - color: var(--amber12); - } -`; - -export const Content = styled.div` - display: flex; - flex-direction: column; - width: 100%; - gap: 0rem; -`; - -export const Title = styled(ToastPrimitive.Title)` - font: 450 16px/1.5 'Mona Sans', sans-serif; - color: currentColor; -`; - -export const Description = styled(ToastPrimitive.Description)` - font: 450 14px/1.5 'Mona Sans', sans-serif; - color: currentColor; - opacity: 0.8; -`; - -export const CloseButton = styled(ToastPrimitive.Close)` - display: flex; - align-items: center; - justify-content: center; - width: 1.5rem; - height: 1.5rem; - flex-shrink: 0; - border-radius: 100%; - cursor: pointer; - color: #fff; - border: 2px solid rgba(255, 255, 255, 0.25); - background: none; - transition: all 200ms; - - &:hover { - border-color: rgba(255, 255, 255, 0.5); - } - - &:focus { - border-color: rgba(255, 255, 255, 1); - } - - i { - font-size: 0.8rem; - } - - &[data-type='WARNING'] { - color: var(--amber12); - } -`; diff --git a/src/components/lib/Tooltip/README.md b/src/components/lib/Tooltip/README.md deleted file mode 100644 index 90a6dc4c9..000000000 --- a/src/components/lib/Tooltip/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# Tooltip - -Implemented via Radix primitives: https://www.radix-ui.com/docs/primitives/components/tooltip - -_If the current props and Stitches style overrides aren't enough to cover your use case, feel free to implement your own component using the Radix primitives directly._ - -## Example - -Simply wrap the element you desire to have a tooltip with the `` component: - -```tsx -import { Tooltip } from '@/components/lib/Tooltip'; - -... - - - - -``` - -## Props - -To simplify usage of the Radix tooltip primitives, the component abstracts away the need for using `Root`, `Trigger`, and `Content` - all you need to do is use the single `` component as shown above. - -To pass a [Root](https://www.radix-ui.com/docs/primitives/components/tooltip#root) option, use the `root={{}}` property like so: - -```tsx - - ... - -``` - -To pass a [Content](https://www.radix-ui.com/docs/primitives/components/tooltip#content) option, pass it as you normally would like so: - -```tsx - - ... - -``` - -## Content - -The `content` prop can be passed a string to render a default message: - -```tsx -... -``` - -A `ReactNode` can also be passed if you want to use a custom set of elements for the message. - -```tsx - - I have an icon. - - } -> - ... - -``` - -## Disabled - -Sometimes you might need to temporarily disable the tooltip from appearing. You can use the `disabled` prop to prevent the tooltip from showing while still letting the child element be interacted with: - -```tsx - - - -``` - -You can also disable the tooltip for touch screens: - -```tsx - - - -``` diff --git a/src/components/lib/Tooltip/Tooltip.tsx b/src/components/lib/Tooltip/Tooltip.tsx deleted file mode 100644 index c4636a2ee..000000000 --- a/src/components/lib/Tooltip/Tooltip.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import * as Primitive from '@radix-ui/react-tooltip'; -import type { ComponentProps, ReactElement, ReactNode } from 'react'; - -import * as S from './styles'; - -type RootProps = Omit, 'children'>; -type ContentProps = ComponentProps; - -type Props = ContentProps & { - children: ReactElement; - content: ReactNode; - disabled?: boolean; - root?: RootProps; -}; - -export const Tooltip = ({ - children, - content, - disabled, - root = { disableHoverableContent: true }, - side = 'top', - sideOffset = 3, - ...props -}: Props) => { - const delayDuration = root?.delayDuration || 300; - - return ( - - - {children} - - - - {content} - - - - - - - ); -}; diff --git a/src/components/lib/Tooltip/index.ts b/src/components/lib/Tooltip/index.ts deleted file mode 100644 index 7594a8f06..000000000 --- a/src/components/lib/Tooltip/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Tooltip'; diff --git a/src/components/lib/Tooltip/styles.ts b/src/components/lib/Tooltip/styles.ts deleted file mode 100644 index c765c2849..000000000 --- a/src/components/lib/Tooltip/styles.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as Primitive from '@radix-ui/react-tooltip'; -import styled from 'styled-components'; - -export const Content = styled(Primitive.Content)` - border-radius: 0.25rem; - padding: 0.3rem 0.5rem; - display: flex; - align-items: center; - gap: 0.5rem; - color: var(--sand12); - background-color: var(--white); - z-index: 2000; - max-width: 20rem; - font-size: 0.8rem; - line-height: 1.5; - word-break: break-word; - font-family: sans-serif; - box-shadow: 0 0 0 1px var(--sand6), 0 1px 2px 0 rgba(0, 0, 0, 0.06); -`; - -export const ArrowBorder = styled(Primitive.Arrow)` - fill: var(--sand6); - stroke: var(--sand6); - stroke-width: 2px; - margin-top: 1px; - margin-right: 1px; - - [data-side='bottom'] &, - [data-side='left'] & { - margin-right: -1px; - } -`; - -export const ArrowFill = styled(Primitive.Arrow)` - fill: var(--white); -`; diff --git a/src/components/marketing-navigation/desktop/DesktopNavigation.tsx b/src/components/marketing-navigation/desktop/DesktopNavigation.tsx index a2e13fa7b..57c361cde 100644 --- a/src/components/marketing-navigation/desktop/DesktopNavigation.tsx +++ b/src/components/marketing-navigation/desktop/DesktopNavigation.tsx @@ -1,3 +1,4 @@ +import { Button } from '@near-pagoda/ui'; import Image from 'next/image'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -6,7 +7,6 @@ import { useEffect, useRef, useState } from 'react'; import styled from 'styled-components'; import { MigrationBanner } from '@/components/banner/MigrationBanner'; -import { Button } from '@/components/lib/Button'; import { useBosComponents } from '@/hooks/useBosComponents'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; diff --git a/src/components/marketing-navigation/mobile/Menu.tsx b/src/components/marketing-navigation/mobile/Menu.tsx index f63c24b07..e01b3bc2d 100644 --- a/src/components/marketing-navigation/mobile/Menu.tsx +++ b/src/components/marketing-navigation/mobile/Menu.tsx @@ -1,8 +1,8 @@ +import { Button } from '@near-pagoda/ui'; import { useRouter } from 'next/router'; import React from 'react'; import styled from 'styled-components'; -import { Button } from '@/components/lib/Button'; import { useBosComponents } from '@/hooks/useBosComponents'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; diff --git a/src/components/marketing-navigation/mobile/MobileNavigation.tsx b/src/components/marketing-navigation/mobile/MobileNavigation.tsx index 102593683..661226a58 100644 --- a/src/components/marketing-navigation/mobile/MobileNavigation.tsx +++ b/src/components/marketing-navigation/mobile/MobileNavigation.tsx @@ -1,10 +1,10 @@ +import { Button } from '@near-pagoda/ui'; import Image from 'next/image'; import Link from 'next/link'; import { useState } from 'react'; import styled from 'styled-components'; import { MigrationBanner } from '@/components/banner/MigrationBanner'; -import { Button } from '@/components/lib/Button'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; diff --git a/src/components/sandbox/Sandbox.js b/src/components/sandbox/Sandbox.js index 09c6384e0..c5ea84ad0 100644 --- a/src/components/sandbox/Sandbox.js +++ b/src/components/sandbox/Sandbox.js @@ -1,3 +1,4 @@ +import { PlaceholderCard } from '@near-pagoda/ui'; import ls from 'local-storage'; import { useRouter } from 'next/router'; import prettier from 'prettier'; @@ -10,7 +11,6 @@ import { useCurrentComponentStore } from '@/stores/current-component'; import { useVmStore } from '@/stores/vm'; import { recordHandledError } from '@/utils/analytics'; -import { Spinner } from '../lib/Spinner'; import BannerOboarding from './Banners/BannerOboarding'; import VsCodeBanner from './Banners/VsCodeBanner'; import MainWrapper from './css/MainWrapper'; @@ -505,7 +505,7 @@ export const Sandbox = ({ onboarding = false }) => { firstLoad(); }, [cache, firstLoad, near]); - if (!shouldRender) return ; + if (!shouldRender) return ; return ( diff --git a/src/components/sidebar-navigation/LargeScreenHeader.tsx b/src/components/sidebar-navigation/LargeScreenHeader.tsx index bb70c070c..cd6a8881d 100644 --- a/src/components/sidebar-navigation/LargeScreenHeader.tsx +++ b/src/components/sidebar-navigation/LargeScreenHeader.tsx @@ -1,10 +1,10 @@ +import { Button } from '@near-pagoda/ui'; import { useEffect, useState } from 'react'; import { useBosComponents } from '@/hooks/useBosComponents'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; -import { Button } from '../lib/Button'; import { VmComponent } from '../vm/VmComponent'; import { LargeScreenProfileDropdown } from './LargeScreenProfileDropdown'; import { useNavigationStore } from './store'; diff --git a/src/components/sidebar-navigation/PinnedApps.tsx b/src/components/sidebar-navigation/PinnedApps.tsx index d7ce3d721..36012747b 100644 --- a/src/components/sidebar-navigation/PinnedApps.tsx +++ b/src/components/sidebar-navigation/PinnedApps.tsx @@ -1,14 +1,14 @@ /* eslint-disable @next/next/no-img-element */ +import { Tooltip } from '@near-pagoda/ui'; +import { Button } from '@near-pagoda/ui'; +import { Text } from '@near-pagoda/ui'; import { useRouter } from 'next/router'; import { useEffect } from 'react'; import { useBosComponents } from '@/hooks/useBosComponents'; import { useAuthStore } from '@/stores/auth'; -import { Button } from '../lib/Button'; -import { Text } from '../lib/Text'; -import { Tooltip } from '../lib/Tooltip'; import { useNavigationStore } from './store'; import * as S from './styles'; import { currentPathMatchesRoute } from './utils'; @@ -75,7 +75,7 @@ export const PinnedApps = () => { <> {isSidebarExpanded ? ( - + Discover apps from the NEAR developer community to pin. diff --git a/src/components/sidebar-navigation/Search.tsx b/src/components/sidebar-navigation/Search.tsx index 40fbc3268..b5f3a8ed2 100644 --- a/src/components/sidebar-navigation/Search.tsx +++ b/src/components/sidebar-navigation/Search.tsx @@ -1,8 +1,8 @@ +import { Input } from '@near-pagoda/ui'; import * as HoverCard from '@radix-ui/react-hover-card'; import Link from 'next/link'; import React, { useCallback, useEffect, useRef, useState } from 'react'; -import { Input } from '@/components/lib/Input'; import useDebounce from '@/hooks/useDebounce'; import { fetchSearchHits } from '@/utils/algoliaSearchApi'; import { fetchCatalog } from '@/utils/catalogSearchApi'; diff --git a/src/components/sidebar-navigation/Sidebar.tsx b/src/components/sidebar-navigation/Sidebar.tsx index ad42c4f5e..eddfee06f 100644 --- a/src/components/sidebar-navigation/Sidebar.tsx +++ b/src/components/sidebar-navigation/Sidebar.tsx @@ -1,3 +1,4 @@ +import { Tooltip } from '@near-pagoda/ui'; import Image from 'next/image'; import { useRouter } from 'next/router'; import { useRef } from 'react'; @@ -5,7 +6,6 @@ import { useRef } from 'react'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; -import { Tooltip } from '../lib/Tooltip'; import NearIconSvg from './icons/near-icon.svg'; import { LargeScreenProfileDropdown } from './LargeScreenProfileDropdown'; import { Search } from './Search'; diff --git a/src/components/sidebar-navigation/SmallScreenHeader.tsx b/src/components/sidebar-navigation/SmallScreenHeader.tsx index 88dedd025..17adecdb9 100644 --- a/src/components/sidebar-navigation/SmallScreenHeader.tsx +++ b/src/components/sidebar-navigation/SmallScreenHeader.tsx @@ -1,10 +1,11 @@ +import { Button } from '@near-pagoda/ui'; +import { MagnifyingGlass } from '@phosphor-icons/react/dist/ssr'; import Image from 'next/image'; import { useRouter } from 'next/router'; import { useSignInRedirect } from '@/hooks/useSignInRedirect'; import { useAuthStore } from '@/stores/auth'; -import { Button } from '../lib/Button'; import NearIconSvg from './icons/near-icon.svg'; import { LargeScreenProfileDropdown } from './LargeScreenProfileDropdown'; import { useNavigationStore } from './store'; @@ -51,7 +52,7 @@ export const SmallScreenHeader = () => { {signedIn ? ( -