From a8a5f41f7d791059e47f873c6948a26a057e674b Mon Sep 17 00:00:00 2001 From: Max Korsunov Date: Tue, 27 Aug 2024 18:01:39 +0300 Subject: [PATCH] feat(ui): #1703: publish UI library (#1733) * feat(ui): #1703: update UI package configs to prepare it for publishing * fix(ui): #1703: fix linting * chore: add changeset * feat(ui): #1703: add `dev:pack` command support * docs(ui): #1703: update readme --- .changeset/big-pianos-destroy.md | 7 + apps/minifront/package.json | 2 +- apps/minifront/postcss.config.js | 2 +- .../assets-table/equivalent-values.tsx | 2 +- .../dashboard/assets-table/index.tsx | 8 +- .../src/components/dashboard/layout.tsx | 2 +- .../dashboard/transaction-table.tsx | 2 +- .../components/extension-not-connected.tsx | 8 +- .../components/extension-not-installed.tsx | 4 +- .../extension-transport-disconnected.tsx | 4 +- .../src/components/header/header.tsx | 6 +- .../components/header/menu/desktop-nav.tsx | 2 +- .../src/components/header/menu/menu.tsx | 2 +- .../src/components/header/menu/mobile-nav.tsx | 7 +- .../src/components/header/menu/provider.tsx | 2 +- .../src/components/header/menu/tablet-nav.tsx | 2 +- .../components/ibc/ibc-in/assets-table.tsx | 6 +- .../components/ibc/ibc-in/chain-dropdown.tsx | 10 +- .../ibc/ibc-in/destination-addr.tsx | 4 +- .../components/ibc/ibc-in/ibc-in-request.tsx | 8 +- .../ibc/ibc-in/wallet-addr-card.tsx | 2 +- .../ibc/ibc-in/wallet-connect-button.tsx | 4 +- .../components/ibc/ibc-out/chain-selector.tsx | 4 +- .../components/ibc/ibc-out/ibc-out-form.tsx | 4 +- apps/minifront/src/components/ibc/layout.tsx | 2 +- apps/minifront/src/components/layout.tsx | 4 +- apps/minifront/src/components/not-found.tsx | 2 +- apps/minifront/src/components/send/layout.tsx | 2 +- .../minifront/src/components/send/receive.tsx | 2 +- .../src/components/send/send-form/index.tsx | 4 +- .../shared/edu-panels/edu-info-card.tsx | 6 +- .../src/components/shared/error-boundary.tsx | 2 +- .../src/components/shared/gas-fee.tsx | 7 +- .../src/components/shared/input-block.tsx | 4 +- .../src/components/shared/input-token.tsx | 4 +- .../components/shared/number-input/index.tsx | 2 +- .../shared/selectors/asset-selector.tsx | 19 +- .../shared/selectors/balance-item.tsx | 10 +- .../shared/selectors/balance-selector.tsx | 18 +- apps/minifront/src/components/shared/tabs.tsx | 2 +- .../account/delegation-value-view/index.tsx | 2 +- .../staking-actions/form-dialog.tsx | 8 +- .../staking-actions/index.tsx | 2 +- .../validator-info-component.tsx | 6 +- .../validator-state-label.tsx | 2 +- .../staking/account/header/index.tsx | 8 +- .../account/header/unbonding-tokens.tsx | 4 +- .../src/components/staking/layout.tsx | 2 +- .../components/staking/validator-info-row.tsx | 2 +- .../components/staking/validators-table.tsx | 2 +- .../end-or-withdraw-all-button.tsx | 4 +- .../components/swap/auction-list/filters.tsx | 2 +- .../components/swap/auction-list/index.tsx | 6 +- .../query-latest-state-button.tsx | 4 +- .../src/components/swap/duration-slider.tsx | 2 +- .../swap/swap-form/estimate-button.tsx | 6 +- .../src/components/swap/swap-form/index.tsx | 4 +- .../swap/swap-form/output/index.tsx | 2 +- .../swap/swap-form/price-history.tsx | 6 +- .../swap-form/simulate-swap-result/index.tsx | 2 +- .../simulate-swap-result/price-impact.tsx | 4 +- .../simulate-swap-result/traces/index.tsx | 2 +- .../traces/trace/index.tsx | 2 +- .../swap/swap-form/simulate-swap.tsx | 2 +- .../swap/swap-form/token-swap-input.tsx | 6 +- .../src/components/swap/unclaimed-swaps.tsx | 8 +- .../src/components/syncing-dialog/index.tsx | 6 +- .../src/components/tx-details/index.tsx | 4 +- .../src/components/tx-details/tx-viewer.tsx | 6 +- .../v2/dashboard-layout/assets-card-title.tsx | 8 +- .../assets-page/equivalent-values.tsx | 2 +- .../v2/dashboard-layout/assets-page/index.tsx | 12 +- .../assets-page/table-title.tsx | 2 +- .../components/v2/dashboard-layout/index.tsx | 6 +- .../transactions-card-title.tsx | 8 +- .../transactions-page/index.tsx | 8 +- apps/minifront/src/components/v2/layout.tsx | 4 +- .../components/v2/transfer-layout/index.tsx | 6 +- .../v2/transfer-layout/receive-page/index.tsx | 6 +- .../v2/transfer-layout/send-page/index.tsx | 10 +- apps/minifront/src/icons/box.tsx | 2 +- apps/minifront/src/icons/drag-handle-dots.tsx | 2 +- apps/minifront/src/icons/swap.tsx | 2 +- apps/minifront/src/main.tsx | 2 +- apps/minifront/src/state/helpers.ts | 2 +- apps/minifront/src/state/ibc-in/index.tsx | 2 +- apps/minifront/src/state/ibc-out.ts | 2 +- .../src/state/swap/dutch-auction/index.ts | 2 +- apps/minifront/src/state/swap/instant-swap.ts | 2 +- apps/node-status/package.json | 2 +- apps/node-status/postcss.config.js | 2 +- .../src/components/error-boundary.tsx | 2 +- .../src/components/frontend-referral.tsx | 2 +- apps/node-status/src/components/header.tsx | 2 +- apps/node-status/src/components/node-info.tsx | 4 +- apps/node-status/src/components/sync-info.tsx | 2 +- .../src/components/validator-info.tsx | 2 +- apps/node-status/src/main.tsx | 2 +- packages/ui/README.md | 2 - packages/ui/package.json | 35 ++- packages/ui/tsconfig.json | 14 +- packages/ui/vite.config.ts | 62 ++++ pnpm-lock.yaml | 296 +++++++++++++++++- 103 files changed, 619 insertions(+), 210 deletions(-) create mode 100644 .changeset/big-pianos-destroy.md create mode 100644 packages/ui/vite.config.ts diff --git a/.changeset/big-pianos-destroy.md b/.changeset/big-pianos-destroy.md new file mode 100644 index 0000000000..930673b7e6 --- /dev/null +++ b/.changeset/big-pianos-destroy.md @@ -0,0 +1,7 @@ +--- +'@penumbra-zone/ui': major +'node-status': patch +'minifront': patch +--- + +Prepare UI package for publishing to NPM diff --git a/apps/minifront/package.json b/apps/minifront/package.json index 12b0adde3e..f11286e202 100644 --- a/apps/minifront/package.json +++ b/apps/minifront/package.json @@ -31,6 +31,7 @@ "@penumbra-zone/protobuf": "workspace:*", "@penumbra-zone/transport-dom": "workspace:*", "@penumbra-zone/types": "workspace:*", + "@penumbra-zone/ui": "workspace:*", "@penumbra-zone/zquery": "workspace:*", "@radix-ui/react-dialog": "1.0.5", "@radix-ui/react-icons": "^1.3.0", @@ -38,7 +39,6 @@ "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-portal": "^1.0.4", "@remix-run/router": "^1.16.1", - "@repo/ui": "workspace:*", "@tanstack/react-query": "4.36.1", "bech32": "^2.0.0", "bignumber.js": "^9.1.2", diff --git a/apps/minifront/postcss.config.js b/apps/minifront/postcss.config.js index a2051ffd15..8e18cdcb77 100644 --- a/apps/minifront/postcss.config.js +++ b/apps/minifront/postcss.config.js @@ -1 +1 @@ -export { default } from '@repo/ui/postcss.config.js'; +export { default } from '@penumbra-zone/ui/postcss.config.js'; diff --git a/apps/minifront/src/components/dashboard/assets-table/equivalent-values.tsx b/apps/minifront/src/components/dashboard/assets-table/equivalent-values.tsx index 0770ded5c8..0ce194a8e6 100644 --- a/apps/minifront/src/components/dashboard/assets-table/equivalent-values.tsx +++ b/apps/minifront/src/components/dashboard/assets-table/equivalent-values.tsx @@ -1,7 +1,7 @@ import { ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { asValueView } from '@penumbra-zone/getters/equivalent-value'; import { getDisplayDenomFromView, getEquivalentValues } from '@penumbra-zone/getters/value-view'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; export const EquivalentValues = ({ valueView }: { valueView?: ValueView }) => { const equivalentValuesAsValueViews = (getEquivalentValues.optional()(valueView) ?? []).map( diff --git a/apps/minifront/src/components/dashboard/assets-table/index.tsx b/apps/minifront/src/components/dashboard/assets-table/index.tsx index e082ea5783..315efa32b9 100644 --- a/apps/minifront/src/components/dashboard/assets-table/index.tsx +++ b/apps/minifront/src/components/dashboard/assets-table/index.tsx @@ -1,6 +1,6 @@ import { BalancesResponse } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; -import { AddressComponent, AddressIcon } from '@repo/ui/components/ui/address'; -import { Button } from '@repo/ui/components/ui/button'; +import { AddressComponent, AddressIcon } from '@penumbra-zone/ui/components/ui/address'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { Table, TableBody, @@ -8,8 +8,8 @@ import { TableHead, TableHeader, TableRow, -} from '@repo/ui/components/ui/table'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +} from '@penumbra-zone/ui/components/ui/table'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { EquivalentValues } from './equivalent-values'; import { Fragment } from 'react'; import { PagePath } from '../../metadata/paths'; diff --git a/apps/minifront/src/components/dashboard/layout.tsx b/apps/minifront/src/components/dashboard/layout.tsx index e19268058a..75be0a7667 100644 --- a/apps/minifront/src/components/dashboard/layout.tsx +++ b/apps/minifront/src/components/dashboard/layout.tsx @@ -1,4 +1,4 @@ -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { dashboardTabs, dashboardTabsHelper } from './constants'; import { Outlet } from 'react-router-dom'; import { EduInfoCard } from '../shared/edu-panels/edu-info-card'; diff --git a/apps/minifront/src/components/dashboard/transaction-table.tsx b/apps/minifront/src/components/dashboard/transaction-table.tsx index e88b7a5a67..2853129fc2 100644 --- a/apps/minifront/src/components/dashboard/transaction-table.tsx +++ b/apps/minifront/src/components/dashboard/transaction-table.tsx @@ -5,7 +5,7 @@ import { TableHead, TableHeader, TableRow, -} from '@repo/ui/components/ui/table'; +} from '@penumbra-zone/ui/components/ui/table'; import { Link } from 'react-router-dom'; import { shorten } from '@penumbra-zone/types/string'; import { memo } from 'react'; diff --git a/apps/minifront/src/components/extension-not-connected.tsx b/apps/minifront/src/components/extension-not-connected.tsx index 663da86344..91f4c02b53 100644 --- a/apps/minifront/src/components/extension-not-connected.tsx +++ b/apps/minifront/src/components/extension-not-connected.tsx @@ -1,7 +1,7 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Toaster } from '@repo/ui/components/ui/toaster'; -import { SplashPage } from '@repo/ui/components/ui/splash-page'; -import { errorToast, warningToast } from '@repo/ui/lib/toast/presets'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Toaster } from '@penumbra-zone/ui/components/ui/toaster'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; +import { errorToast, warningToast } from '@penumbra-zone/ui/lib/toast/presets'; import { HeadTag } from './metadata/head-tag'; import { useState } from 'react'; diff --git a/apps/minifront/src/components/extension-not-installed.tsx b/apps/minifront/src/components/extension-not-installed.tsx index 210e7baf94..efb91e725d 100644 --- a/apps/minifront/src/components/extension-not-installed.tsx +++ b/apps/minifront/src/components/extension-not-installed.tsx @@ -1,5 +1,5 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { SplashPage } from '@repo/ui/components/ui/splash-page'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; import { HeadTag } from './metadata/head-tag'; const CHROME_EXTENSION_ID = 'lkpmkhpnhknhmibgnmmhdhgdilepfghe'; diff --git a/apps/minifront/src/components/extension-transport-disconnected.tsx b/apps/minifront/src/components/extension-transport-disconnected.tsx index 1db1922b5a..62abfab944 100644 --- a/apps/minifront/src/components/extension-transport-disconnected.tsx +++ b/apps/minifront/src/components/extension-transport-disconnected.tsx @@ -1,6 +1,6 @@ -import { SplashPage } from '@repo/ui/components/ui/splash-page'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; import { HeadTag } from './metadata/head-tag'; -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; export const ExtensionTransportDisconnected = () => { return ( diff --git a/apps/minifront/src/components/header/header.tsx b/apps/minifront/src/components/header/header.tsx index af1a1f76e2..efe4411744 100644 --- a/apps/minifront/src/components/header/header.tsx +++ b/apps/minifront/src/components/header/header.tsx @@ -1,6 +1,6 @@ -import { CondensedBlockSyncStatus } from '@repo/ui/components/ui/block-sync-status'; -import { IncompatibleBrowserBanner } from '@repo/ui/components/ui/incompatible-browser-banner'; -import { TestnetBanner } from '@repo/ui/components/ui/testnet-banner'; +import { CondensedBlockSyncStatus } from '@penumbra-zone/ui/components/ui/block-sync-status'; +import { IncompatibleBrowserBanner } from '@penumbra-zone/ui/components/ui/incompatible-browser-banner'; +import { TestnetBanner } from '@penumbra-zone/ui/components/ui/testnet-banner'; import { useEffect, useState } from 'react'; import { Link } from 'react-router-dom'; import { getChainId } from '../../fetchers/chain-id'; diff --git a/apps/minifront/src/components/header/menu/desktop-nav.tsx b/apps/minifront/src/components/header/menu/desktop-nav.tsx index b7592a47a4..546bdc607d 100644 --- a/apps/minifront/src/components/header/menu/desktop-nav.tsx +++ b/apps/minifront/src/components/header/menu/desktop-nav.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import * as NavigationMenu from '@radix-ui/react-navigation-menu'; import { usePagePath } from '../../../fetchers/page-path'; import { dashboardLink, headerLinks } from '../constants'; diff --git a/apps/minifront/src/components/header/menu/menu.tsx b/apps/minifront/src/components/header/menu/menu.tsx index d86ce7e4c0..64d2d62dc1 100644 --- a/apps/minifront/src/components/header/menu/menu.tsx +++ b/apps/minifront/src/components/header/menu/menu.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { DesktopNav } from './desktop-nav'; import { MobileNav } from './mobile-nav'; import { ProviderMenu } from './provider'; diff --git a/apps/minifront/src/components/header/menu/mobile-nav.tsx b/apps/minifront/src/components/header/menu/mobile-nav.tsx index 178a62b72d..4f41ce40f2 100644 --- a/apps/minifront/src/components/header/menu/mobile-nav.tsx +++ b/apps/minifront/src/components/header/menu/mobile-nav.tsx @@ -1,4 +1,9 @@ -import { Sheet, SheetContent, SheetHeader, SheetTrigger } from '@repo/ui/components/ui/sheet'; +import { + Sheet, + SheetContent, + SheetHeader, + SheetTrigger, +} from '@penumbra-zone/ui/components/ui/sheet'; import { HamburgerMenuIcon } from '@radix-ui/react-icons'; import { headerLinks } from '../constants'; import { Link } from 'react-router-dom'; diff --git a/apps/minifront/src/components/header/menu/provider.tsx b/apps/minifront/src/components/header/menu/provider.tsx index dab2b2cbb8..dd76a79019 100644 --- a/apps/minifront/src/components/header/menu/provider.tsx +++ b/apps/minifront/src/components/header/menu/provider.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import * as NavigationMenu from '@radix-ui/react-navigation-menu'; import { getChainId } from '../../../fetchers/chain-id'; import { useEffect, useState } from 'react'; diff --git a/apps/minifront/src/components/header/menu/tablet-nav.tsx b/apps/minifront/src/components/header/menu/tablet-nav.tsx index 04be1bbcad..a812c9fadf 100644 --- a/apps/minifront/src/components/header/menu/tablet-nav.tsx +++ b/apps/minifront/src/components/header/menu/tablet-nav.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import * as NavigationMenu from '@radix-ui/react-navigation-menu'; import { usePagePath } from '../../../fetchers/page-path'; import { dashboardLink, headerLinks } from '../constants'; diff --git a/apps/minifront/src/components/ibc/ibc-in/assets-table.tsx b/apps/minifront/src/components/ibc/ibc-in/assets-table.tsx index d79ea232eb..45719e3620 100644 --- a/apps/minifront/src/components/ibc/ibc-in/assets-table.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/assets-table.tsx @@ -8,9 +8,9 @@ import { TableHead, TableHeader, TableRow, -} from '@repo/ui/components/ui/table'; -import { Avatar, AvatarImage } from '@repo/ui/components/ui/avatar'; -import { Identicon } from '@repo/ui/components/ui/identicon'; +} from '@penumbra-zone/ui/components/ui/table'; +import { Avatar, AvatarImage } from '@penumbra-zone/ui/components/ui/avatar'; +import { Identicon } from '@penumbra-zone/ui/components/ui/identicon'; import { LineWave } from 'react-loader-spinner'; export const AssetsTable = () => { diff --git a/apps/minifront/src/components/ibc/ibc-in/chain-dropdown.tsx b/apps/minifront/src/components/ibc/ibc-in/chain-dropdown.tsx index 18917928c2..889dc31587 100644 --- a/apps/minifront/src/components/ibc/ibc-in/chain-dropdown.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/chain-dropdown.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useMemo } from 'react'; import { useManager } from '@cosmos-kit/react'; -import { Popover, PopoverContent, PopoverTrigger } from '@repo/ui/components/ui/popover'; +import { Popover, PopoverContent, PopoverTrigger } from '@penumbra-zone/ui/components/ui/popover'; import { ChevronsUpDown } from 'lucide-react'; import { Command, @@ -9,12 +9,12 @@ import { CommandGroup, CommandInput, CommandItem, -} from '@repo/ui/components/ui/command'; -import { Button } from '@repo/ui/components/ui/button'; +} from '@penumbra-zone/ui/components/ui/command'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { ibcInSelector } from '../../../state/ibc-in'; import { useStore } from '../../../state'; -import { Avatar, AvatarImage } from '@repo/ui/components/ui/avatar'; -import { Identicon } from '@repo/ui/components/ui/identicon'; +import { Avatar, AvatarImage } from '@penumbra-zone/ui/components/ui/avatar'; +import { Identicon } from '@penumbra-zone/ui/components/ui/identicon'; export interface ChainInfo { chainName: string; diff --git a/apps/minifront/src/components/ibc/ibc-in/destination-addr.tsx b/apps/minifront/src/components/ibc/ibc-in/destination-addr.tsx index 7ae54f024e..e365c8eda4 100644 --- a/apps/minifront/src/components/ibc/ibc-in/destination-addr.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/destination-addr.tsx @@ -1,7 +1,7 @@ import { AllSlices } from '../../../state'; import { useStoreShallow } from '../../../utils/use-store-shallow'; -import { AccountSwitcher } from '@repo/ui/components/ui/account-switcher'; -import { CopyToClipboard } from '@repo/ui/components/ui/copy-to-clipboard'; +import { AccountSwitcher } from '@penumbra-zone/ui/components/ui/account-switcher'; +import { CopyToClipboard } from '@penumbra-zone/ui/components/ui/copy-to-clipboard'; import { useEffect } from 'react'; const addrsSelector = ({ ibcIn }: AllSlices) => ({ diff --git a/apps/minifront/src/components/ibc/ibc-in/ibc-in-request.tsx b/apps/minifront/src/components/ibc/ibc-in/ibc-in-request.tsx index 3112541506..e8ecddc9cf 100644 --- a/apps/minifront/src/components/ibc/ibc-in/ibc-in-request.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/ibc-in-request.tsx @@ -7,11 +7,11 @@ import { SelectItem, SelectTrigger, SelectValue, -} from '@repo/ui/components/ui/select'; -import { Avatar, AvatarImage } from '@repo/ui/components/ui/avatar'; -import { Identicon } from '@repo/ui/components/ui/identicon'; +} from '@penumbra-zone/ui/components/ui/select'; +import { Avatar, AvatarImage } from '@penumbra-zone/ui/components/ui/avatar'; +import { Identicon } from '@penumbra-zone/ui/components/ui/identicon'; import { DestinationAddr } from './destination-addr'; -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { LockClosedIcon } from '@radix-ui/react-icons'; import { NumberInput } from '../../shared/number-input'; diff --git a/apps/minifront/src/components/ibc/ibc-in/wallet-addr-card.tsx b/apps/minifront/src/components/ibc/ibc-in/wallet-addr-card.tsx index 3379a92b1d..3c34414c6e 100644 --- a/apps/minifront/src/components/ibc/ibc-in/wallet-addr-card.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/wallet-addr-card.tsx @@ -1,4 +1,4 @@ -import { Identicon } from '@repo/ui/components/ui/identicon'; +import { Identicon } from '@penumbra-zone/ui/components/ui/identicon'; interface UserInfoProps { address: string; diff --git a/apps/minifront/src/components/ibc/ibc-in/wallet-connect-button.tsx b/apps/minifront/src/components/ibc/ibc-in/wallet-connect-button.tsx index f022f7ad4f..89b0b1fb26 100644 --- a/apps/minifront/src/components/ibc/ibc-in/wallet-connect-button.tsx +++ b/apps/minifront/src/components/ibc/ibc-in/wallet-connect-button.tsx @@ -1,11 +1,11 @@ import { WalletStatus } from 'cosmos-kit'; -import { WalletIcon } from '@repo/ui/components/ui/icons/wallet'; +import { WalletIcon } from '@penumbra-zone/ui/components/ui/icons/wallet'; import { MouseEventHandler } from 'react'; import { useStore } from '../../../state'; import { ibcInSelector } from '../../../state/ibc-in'; import { useChainConnector } from './hooks'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const ConnectWalletButton = () => { const { connect, openView, status } = useChainConnector(); diff --git a/apps/minifront/src/components/ibc/ibc-out/chain-selector.tsx b/apps/minifront/src/components/ibc/ibc-out/chain-selector.tsx index f3ae742659..34fd2463fc 100644 --- a/apps/minifront/src/components/ibc/ibc-out/chain-selector.tsx +++ b/apps/minifront/src/components/ibc/ibc-out/chain-selector.tsx @@ -4,8 +4,8 @@ import { SelectItem, SelectTrigger, SelectValue, -} from '@repo/ui/components/ui/select'; -import { cn } from '@repo/ui/lib/utils'; +} from '@penumbra-zone/ui/components/ui/select'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { useState } from 'react'; import { AllSlices } from '../../../state'; import { Chain } from '@penumbra-labs/registry'; diff --git a/apps/minifront/src/components/ibc/ibc-out/ibc-out-form.tsx b/apps/minifront/src/components/ibc/ibc-out/ibc-out-form.tsx index f70bc5612f..a66e359faa 100644 --- a/apps/minifront/src/components/ibc/ibc-out/ibc-out-form.tsx +++ b/apps/minifront/src/components/ibc/ibc-out/ibc-out-form.tsx @@ -1,5 +1,5 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Input } from '@repo/ui/components/ui/input'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Input } from '@penumbra-zone/ui/components/ui/input'; import { ChainSelector } from './chain-selector'; import { useStore } from '../../../state'; import { diff --git a/apps/minifront/src/components/ibc/layout.tsx b/apps/minifront/src/components/ibc/layout.tsx index 6f627f049b..06c0bfb385 100644 --- a/apps/minifront/src/components/ibc/layout.tsx +++ b/apps/minifront/src/components/ibc/layout.tsx @@ -1,4 +1,4 @@ -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { IbcOutForm } from './ibc-out/ibc-out-form'; import { InterchainUi } from './ibc-in/interchain-ui'; import { LongArrowIcon } from './long-arrow'; diff --git a/apps/minifront/src/components/layout.tsx b/apps/minifront/src/components/layout.tsx index 0d2d447d0c..9f3fcc79c9 100644 --- a/apps/minifront/src/components/layout.tsx +++ b/apps/minifront/src/components/layout.tsx @@ -1,10 +1,10 @@ import { Outlet } from 'react-router-dom'; import { HeadTag } from './metadata/head-tag'; import { Header } from './header/header'; -import { Toaster } from '@repo/ui/components/ui/toaster'; +import { Toaster } from '@penumbra-zone/ui/components/ui/toaster'; import { Footer } from './footer/footer'; import { SyncingDialog } from './syncing-dialog'; -import '@repo/ui/styles/globals.css'; +import '@penumbra-zone/ui/styles/globals.css'; export const Layout = () => { return ( diff --git a/apps/minifront/src/components/not-found.tsx b/apps/minifront/src/components/not-found.tsx index 2c8a9b6a66..e15f3e3e57 100644 --- a/apps/minifront/src/components/not-found.tsx +++ b/apps/minifront/src/components/not-found.tsx @@ -1,4 +1,4 @@ -import { SplashPage } from '@repo/ui/components/ui/splash-page'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; export const NotFound = () => { return That page could not be found. ; diff --git a/apps/minifront/src/components/send/layout.tsx b/apps/minifront/src/components/send/layout.tsx index a35368214a..56f99ef69a 100644 --- a/apps/minifront/src/components/send/layout.tsx +++ b/apps/minifront/src/components/send/layout.tsx @@ -1,4 +1,4 @@ -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { sendTabs, sendTabsHelper } from './constants'; import { SendTab } from './types'; import { usePagePath } from '../../fetchers/page-path'; diff --git a/apps/minifront/src/components/send/receive.tsx b/apps/minifront/src/components/send/receive.tsx index f44f24df33..f4723d8dce 100644 --- a/apps/minifront/src/components/send/receive.tsx +++ b/apps/minifront/src/components/send/receive.tsx @@ -1,4 +1,4 @@ -import { SelectAccount } from '@repo/ui/components/ui/select'; +import { SelectAccount } from '@penumbra-zone/ui/components/ui/select'; import { getAddrByIndex } from '../../fetchers/address'; export const Receive = () => { diff --git a/apps/minifront/src/components/send/send-form/index.tsx b/apps/minifront/src/components/send/send-form/index.tsx index 8b715ccbac..1e9dfee813 100644 --- a/apps/minifront/src/components/send/send-form/index.tsx +++ b/apps/minifront/src/components/send/send-form/index.tsx @@ -1,5 +1,5 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Input } from '@repo/ui/components/ui/input'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Input } from '@penumbra-zone/ui/components/ui/input'; import { useStore } from '../../../state'; import { sendSelector, sendValidationErrors } from '../../../state/send'; import { InputBlock } from '../../shared/input-block'; diff --git a/apps/minifront/src/components/shared/edu-panels/edu-info-card.tsx b/apps/minifront/src/components/shared/edu-panels/edu-info-card.tsx index 5f2e1f2528..74204548fc 100644 --- a/apps/minifront/src/components/shared/edu-panels/edu-info-card.tsx +++ b/apps/minifront/src/components/shared/edu-panels/edu-info-card.tsx @@ -1,6 +1,6 @@ -import { Card } from '@repo/ui/components/ui/card'; -import { cn } from '@repo/ui/lib/utils'; -import { GradientHeader } from '@repo/ui/components/ui/gradient-header'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; +import { cn } from '@penumbra-zone/ui/lib/utils'; +import { GradientHeader } from '@penumbra-zone/ui/components/ui/gradient-header'; import { EduPanel, eduPanelContent } from './content'; import { motion } from 'framer-motion'; diff --git a/apps/minifront/src/components/shared/error-boundary.tsx b/apps/minifront/src/components/shared/error-boundary.tsx index 4da69d0473..4cfa074cbd 100644 --- a/apps/minifront/src/components/shared/error-boundary.tsx +++ b/apps/minifront/src/components/shared/error-boundary.tsx @@ -8,7 +8,7 @@ import { NotFound } from '../not-found'; import { ExtensionTransportDisconnected } from '../extension-transport-disconnected'; import { ExtensionNotInstalled } from '../extension-not-installed'; import { Code, ConnectError } from '@connectrpc/connect'; -import { SplashPage } from '@repo/ui/components/ui/splash-page'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; export const ErrorBoundary = () => { const error = useRouteError(); diff --git a/apps/minifront/src/components/shared/gas-fee.tsx b/apps/minifront/src/components/shared/gas-fee.tsx index 9d67fbefcb..a34dfebd9b 100644 --- a/apps/minifront/src/components/shared/gas-fee.tsx +++ b/apps/minifront/src/components/shared/gas-fee.tsx @@ -1,7 +1,10 @@ import { Fee, FeeTier_Tier } from '@penumbra-zone/protobuf/penumbra/core/component/fee/v1/fee_pb'; -import { SegmentedPicker, SegmentedPickerOption } from '@repo/ui/components/ui/segmented-picker'; +import { + SegmentedPicker, + SegmentedPickerOption, +} from '@penumbra-zone/ui/components/ui/segmented-picker'; import { InputBlock } from './input-block'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { Metadata, ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; const FEE_TIER_OPTIONS: SegmentedPickerOption[] = [ diff --git a/apps/minifront/src/components/shared/input-block.tsx b/apps/minifront/src/components/shared/input-block.tsx index 4d58d46e61..2061f7add5 100644 --- a/apps/minifront/src/components/shared/input-block.tsx +++ b/apps/minifront/src/components/shared/input-block.tsx @@ -1,7 +1,7 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { Validation, validationResult } from './validation-result'; import { ReactNode } from 'react'; -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; interface InputBlockProps { label: string; diff --git a/apps/minifront/src/components/shared/input-token.tsx b/apps/minifront/src/components/shared/input-token.tsx index 042601b25a..2ce3608bf2 100644 --- a/apps/minifront/src/components/shared/input-token.tsx +++ b/apps/minifront/src/components/shared/input-token.tsx @@ -2,8 +2,8 @@ import { useMemo } from 'react'; import { BalancesResponse } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; import { getDisplayDenomExponent } from '@penumbra-zone/getters/metadata'; import { getMetadataFromBalancesResponseOptional } from '@penumbra-zone/getters/balances-response'; -import { BalanceValueView } from '@repo/ui/components/ui/balance-value-view'; -import { cn } from '@repo/ui/lib/utils'; +import { BalanceValueView } from '@penumbra-zone/ui/components/ui/balance-value-view'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import BalanceSelector from './selectors/balance-selector'; import { Validation } from './validation-result'; import { InputBlock } from './input-block'; diff --git a/apps/minifront/src/components/shared/number-input/index.tsx b/apps/minifront/src/components/shared/number-input/index.tsx index feafead509..ac7712e5bb 100644 --- a/apps/minifront/src/components/shared/number-input/index.tsx +++ b/apps/minifront/src/components/shared/number-input/index.tsx @@ -1,5 +1,5 @@ import type { FC, KeyboardEventHandler } from 'react'; -import { Input, InputProps } from '@repo/ui/components/ui/input'; +import { Input, InputProps } from '@penumbra-zone/ui/components/ui/input'; import { useWheelPrevent } from './use-wheel-prevent'; export interface NumberInputProps extends InputProps { diff --git a/apps/minifront/src/components/shared/selectors/asset-selector.tsx b/apps/minifront/src/components/shared/selectors/asset-selector.tsx index 4a27dbe65a..1d9e7d9b28 100644 --- a/apps/minifront/src/components/shared/selectors/asset-selector.tsx +++ b/apps/minifront/src/components/shared/selectors/asset-selector.tsx @@ -1,16 +1,21 @@ -import { Dialog, DialogClose, DialogContent, DialogHeader } from '@repo/ui/components/ui/dialog'; -import { AssetIcon } from '@repo/ui/components/ui/asset-icon'; +import { + Dialog, + DialogClose, + DialogContent, + DialogHeader, +} from '@penumbra-zone/ui/components/ui/dialog'; +import { AssetIcon } from '@penumbra-zone/ui/components/ui/asset-icon'; import { Metadata, ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { useCallback, useEffect, useId, useMemo, useState } from 'react'; -import { IconInput } from '@repo/ui/components/ui/icon-input'; +import { IconInput } from '@penumbra-zone/ui/components/ui/icon-input'; import { MagnifyingGlassIcon } from '@radix-ui/react-icons'; -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; import { motion } from 'framer-motion'; import { metadataBySearch } from './search-filters'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { LoadingIndicator } from './loading-indicator'; -import { Table, TableBody, TableCell, TableRow } from '@repo/ui/components/ui/table'; +import { Table, TableBody, TableCell, TableRow } from '@penumbra-zone/ui/components/ui/table'; interface AssetSelectorProps { assets: Metadata[]; diff --git a/apps/minifront/src/components/shared/selectors/balance-item.tsx b/apps/minifront/src/components/shared/selectors/balance-item.tsx index 4430b26279..ea4503437c 100644 --- a/apps/minifront/src/components/shared/selectors/balance-item.tsx +++ b/apps/minifront/src/components/shared/selectors/balance-item.tsx @@ -5,11 +5,11 @@ import { getMetadataFromBalancesResponseOptional, } from '@penumbra-zone/getters/balances-response'; import { useMemo } from 'react'; -import { DialogClose } from '@repo/ui/components/ui/dialog'; -import { cn } from '@repo/ui/lib/utils'; -import { AssetIcon } from '@repo/ui/components/ui/asset-icon'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; -import { TableCell, TableRow } from '@repo/ui/components/ui/table'; +import { DialogClose } from '@penumbra-zone/ui/components/ui/dialog'; +import { cn } from '@penumbra-zone/ui/lib/utils'; +import { AssetIcon } from '@penumbra-zone/ui/components/ui/asset-icon'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; +import { TableCell, TableRow } from '@penumbra-zone/ui/components/ui/table'; import { BalancesResponse } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; interface BalanceItemProps { diff --git a/apps/minifront/src/components/shared/selectors/balance-selector.tsx b/apps/minifront/src/components/shared/selectors/balance-selector.tsx index a534c14d3a..71a4c1ed67 100644 --- a/apps/minifront/src/components/shared/selectors/balance-selector.tsx +++ b/apps/minifront/src/components/shared/selectors/balance-selector.tsx @@ -1,10 +1,10 @@ import { MagnifyingGlassIcon } from '@radix-ui/react-icons'; import { useId, useState } from 'react'; -import { IconInput } from '@repo/ui/components/ui/icon-input'; -import { Dialog, DialogContent, DialogHeader } from '@repo/ui/components/ui/dialog'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { IconInput } from '@penumbra-zone/ui/components/ui/icon-input'; +import { Dialog, DialogContent, DialogHeader } from '@penumbra-zone/ui/components/ui/dialog'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { BalancesResponse } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; import { motion } from 'framer-motion'; import { Metadata } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { emptyBalanceResponse } from '../../../utils/empty-balance-response'; @@ -16,9 +16,15 @@ import { useSyncSelectedBalance, } from './helpers'; import { BalanceItem } from './balance-item'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { LoadingIndicator } from './loading-indicator'; -import { Table, TableBody, TableHead, TableHeader, TableRow } from '@repo/ui/components/ui/table'; +import { + Table, + TableBody, + TableHead, + TableHeader, + TableRow, +} from '@penumbra-zone/ui/components/ui/table'; interface BalanceSelectorProps { value: BalancesResponse | undefined; diff --git a/apps/minifront/src/components/shared/tabs.tsx b/apps/minifront/src/components/shared/tabs.tsx index b772708277..2a0488bf2f 100644 --- a/apps/minifront/src/components/shared/tabs.tsx +++ b/apps/minifront/src/components/shared/tabs.tsx @@ -1,6 +1,6 @@ import { PagePath } from '../metadata/paths'; import { useNavigate } from 'react-router-dom'; -import { SegmentedPicker } from '@repo/ui/components/ui/segmented-picker'; +import { SegmentedPicker } from '@penumbra-zone/ui/components/ui/segmented-picker'; import { ComponentProps } from 'react'; export interface Tab { diff --git a/apps/minifront/src/components/staking/account/delegation-value-view/index.tsx b/apps/minifront/src/components/staking/account/delegation-value-view/index.tsx index 8302d9f5ed..4d3b61027a 100644 --- a/apps/minifront/src/components/staking/account/delegation-value-view/index.tsx +++ b/apps/minifront/src/components/staking/account/delegation-value-view/index.tsx @@ -1,6 +1,6 @@ import { ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { ValidatorInfoComponent } from './validator-info-component'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { StakingActions } from './staking-actions'; import { memo, useMemo } from 'react'; import { diff --git a/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/form-dialog.tsx b/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/form-dialog.tsx index 4e58a0c9c7..3c0fe196d9 100644 --- a/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/form-dialog.tsx +++ b/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/form-dialog.tsx @@ -1,13 +1,13 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Dialog, DialogContent, DialogHeader } from '@repo/ui/components/ui/dialog'; -import { IdentityKeyComponent } from '@repo/ui/components/ui/identity-key-component'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Dialog, DialogContent, DialogHeader } from '@penumbra-zone/ui/components/ui/dialog'; +import { IdentityKeyComponent } from '@penumbra-zone/ui/components/ui/identity-key-component'; import { InputBlock } from '../../../../shared/input-block'; import { Validator } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; import { ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { FormEvent } from 'react'; import { getIdentityKey } from '@penumbra-zone/getters/validator'; import { getFormattedAmtFromValueView } from '@penumbra-zone/types/value-view'; -import { BalanceValueView } from '@repo/ui/components/ui/balance-value-view'; +import { BalanceValueView } from '@penumbra-zone/ui/components/ui/balance-value-view'; import { NumberInput } from '../../../../shared/number-input'; const getCapitalizedAction = (action: 'delegate' | 'undelegate') => diff --git a/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/index.tsx b/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/index.tsx index 161dcb9f15..3009e061c8 100644 --- a/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/index.tsx +++ b/apps/minifront/src/components/staking/account/delegation-value-view/staking-actions/index.tsx @@ -1,4 +1,4 @@ -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { ValidatorInfo } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; import { ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { FormDialog } from './form-dialog'; diff --git a/apps/minifront/src/components/staking/account/delegation-value-view/validator-info-component.tsx b/apps/minifront/src/components/staking/account/delegation-value-view/validator-info-component.tsx index 83a1411523..fa2d450bf1 100644 --- a/apps/minifront/src/components/staking/account/delegation-value-view/validator-info-component.tsx +++ b/apps/minifront/src/components/staking/account/delegation-value-view/validator-info-component.tsx @@ -1,11 +1,11 @@ import { ValidatorInfo } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; -import { IdentityKeyComponent } from '@repo/ui/components/ui/identity-key-component'; +import { IdentityKeyComponent } from '@penumbra-zone/ui/components/ui/identity-key-component'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, -} from '@repo/ui/components/ui/tooltip'; +} from '@penumbra-zone/ui/components/ui/tooltip'; import { useStore } from '../../../../state'; import { getIdentityKeyFromValidatorInfo, @@ -14,7 +14,7 @@ import { } from '@penumbra-zone/getters/validator-info'; import { calculateCommissionAsPercentage } from '@penumbra-zone/types/staking'; import { Metadata } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; -import { AssetIcon } from '@repo/ui/components/ui/asset-icon'; +import { AssetIcon } from '@penumbra-zone/ui/components/ui/asset-icon'; import { ValidatorStateLabel } from './validator-state-label.tsx'; /** diff --git a/apps/minifront/src/components/staking/account/delegation-value-view/validator-state-label.tsx b/apps/minifront/src/components/staking/account/delegation-value-view/validator-state-label.tsx index e248549f0a..ed41aa0722 100644 --- a/apps/minifront/src/components/staking/account/delegation-value-view/validator-state-label.tsx +++ b/apps/minifront/src/components/staking/account/delegation-value-view/validator-state-label.tsx @@ -1,5 +1,5 @@ import { ValidatorState_ValidatorStateEnum } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; interface LabelInfo { label: string; diff --git a/apps/minifront/src/components/staking/account/header/index.tsx b/apps/minifront/src/components/staking/account/header/index.tsx index 05de6403af..16ba56d540 100644 --- a/apps/minifront/src/components/staking/account/header/index.tsx +++ b/apps/minifront/src/components/staking/account/header/index.tsx @@ -1,7 +1,7 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Card, CardContent } from '@repo/ui/components/ui/card'; -import { AccountSwitcher } from '@repo/ui/components/ui/account-switcher'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Card, CardContent } from '@penumbra-zone/ui/components/ui/card'; +import { AccountSwitcher } from '@penumbra-zone/ui/components/ui/account-switcher'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { Stat } from './stat'; import { AllSlices } from '../../../../state'; import { UnbondingTokens } from './unbonding-tokens'; diff --git a/apps/minifront/src/components/staking/account/header/unbonding-tokens.tsx b/apps/minifront/src/components/staking/account/header/unbonding-tokens.tsx index f4bfe73995..712e15d8ed 100644 --- a/apps/minifront/src/components/staking/account/header/unbonding-tokens.tsx +++ b/apps/minifront/src/components/staking/account/header/unbonding-tokens.tsx @@ -5,8 +5,8 @@ import { Tooltip, TooltipTrigger, TooltipContent, -} from '@repo/ui/components/ui/tooltip'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +} from '@penumbra-zone/ui/components/ui/tooltip'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { ReactNode } from 'react'; import { zeroValueView } from '../../../../utils/zero-value-view'; diff --git a/apps/minifront/src/components/staking/layout.tsx b/apps/minifront/src/components/staking/layout.tsx index d9727d13d4..90ca2c5c85 100644 --- a/apps/minifront/src/components/staking/layout.tsx +++ b/apps/minifront/src/components/staking/layout.tsx @@ -1,6 +1,6 @@ import { useEffect } from 'react'; import { AllSlices } from '../../state'; -import { Card, CardContent, CardHeader, CardTitle } from '@repo/ui/components/ui/card'; +import { Card, CardContent, CardHeader, CardTitle } from '@penumbra-zone/ui/components/ui/card'; import { Header } from './account/header'; import { Delegations } from './account/delegations'; import { useStoreShallow } from '../../utils/use-store-shallow'; diff --git a/apps/minifront/src/components/staking/validator-info-row.tsx b/apps/minifront/src/components/staking/validator-info-row.tsx index c436f95d65..3c15f2a670 100644 --- a/apps/minifront/src/components/staking/validator-info-row.tsx +++ b/apps/minifront/src/components/staking/validator-info-row.tsx @@ -1,5 +1,5 @@ import { ValidatorInfo } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; -import { TableCell, TableRow } from '@repo/ui/components/ui/table'; +import { TableCell, TableRow } from '@penumbra-zone/ui/components/ui/table'; import { ReactNode } from 'react'; import { Oval } from 'react-loader-spinner'; import { getValidator } from '@penumbra-zone/getters/validator-info'; diff --git a/apps/minifront/src/components/staking/validators-table.tsx b/apps/minifront/src/components/staking/validators-table.tsx index 40aed51c64..e38cce5014 100644 --- a/apps/minifront/src/components/staking/validators-table.tsx +++ b/apps/minifront/src/components/staking/validators-table.tsx @@ -5,7 +5,7 @@ import { TableHead, TableHeader, TableRow, -} from '@repo/ui/components/ui/table'; +} from '@penumbra-zone/ui/components/ui/table'; import { Oval } from 'react-loader-spinner'; import { ValidatorInfoRow } from './validator-info-row'; import { ValidatorInfo } from '@penumbra-zone/protobuf/penumbra/core/component/stake/v1/stake_pb'; diff --git a/apps/minifront/src/components/swap/auction-list/end-or-withdraw-all-button.tsx b/apps/minifront/src/components/swap/auction-list/end-or-withdraw-all-button.tsx index 70c2877ea6..1504490f5d 100644 --- a/apps/minifront/src/components/swap/auction-list/end-or-withdraw-all-button.tsx +++ b/apps/minifront/src/components/swap/auction-list/end-or-withdraw-all-button.tsx @@ -1,6 +1,6 @@ import { useAuctionInfos } from '../../../state/swap/dutch-auction'; import { AddressIndex } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb'; -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { AllSlices } from '../../../state'; import { useStoreShallow } from '../../../utils/use-store-shallow.ts'; import { filterWithLimit } from './helpers.ts'; @@ -9,7 +9,7 @@ import { TooltipContent, TooltipProvider, TooltipTrigger, -} from '@repo/ui/components/ui/tooltip'; +} from '@penumbra-zone/ui/components/ui/tooltip'; import { AuctionInfo } from '../../../fetchers/auction-infos.ts'; const endOrWithdrawAllButtonSelector = (state: AllSlices) => ({ diff --git a/apps/minifront/src/components/swap/auction-list/filters.tsx b/apps/minifront/src/components/swap/auction-list/filters.tsx index c7ee8bfbe3..a9f58f70b2 100644 --- a/apps/minifront/src/components/swap/auction-list/filters.tsx +++ b/apps/minifront/src/components/swap/auction-list/filters.tsx @@ -1,7 +1,7 @@ import { ListFilter } from 'lucide-react'; import { AllSlices } from '../../../state'; import { useStoreShallow } from '../../../utils/use-store-shallow'; -import { PopoverMenu, PopoverMenuItem } from '@repo/ui/components/ui/popover'; +import { PopoverMenu, PopoverMenuItem } from '@penumbra-zone/ui/components/ui/popover'; import type { Filter as TFilter } from '../../../state/swap/dutch-auction'; const filtersSelector = (state: AllSlices) => ({ diff --git a/apps/minifront/src/components/swap/auction-list/index.tsx b/apps/minifront/src/components/swap/auction-list/index.tsx index eb39f2fc3f..4a480b80d0 100644 --- a/apps/minifront/src/components/swap/auction-list/index.tsx +++ b/apps/minifront/src/components/swap/auction-list/index.tsx @@ -1,10 +1,10 @@ import { AllSlices } from '../../../state'; -import { DutchAuctionComponent } from '@repo/ui/components/ui/dutch-auction-component'; +import { DutchAuctionComponent } from '@penumbra-zone/ui/components/ui/dutch-auction-component'; import { useStoreShallow } from '../../../utils/use-store-shallow'; import { AuctionId } from '@penumbra-zone/protobuf/penumbra/core/component/auction/v1/auction_pb'; -import { GradientHeader } from '@repo/ui/components/ui/gradient-header'; +import { GradientHeader } from '@penumbra-zone/ui/components/ui/gradient-header'; import { QueryLatestStateButton } from './query-latest-state-button'; -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { bech32mAuctionId } from '@penumbra-zone/bech32m/pauctid'; import { useMemo } from 'react'; import { getFilteredAuctionInfos } from './get-filtered-auction-infos'; diff --git a/apps/minifront/src/components/swap/auction-list/query-latest-state-button.tsx b/apps/minifront/src/components/swap/auction-list/query-latest-state-button.tsx index ac15fc271d..868e764293 100644 --- a/apps/minifront/src/components/swap/auction-list/query-latest-state-button.tsx +++ b/apps/minifront/src/components/swap/auction-list/query-latest-state-button.tsx @@ -3,10 +3,10 @@ import { TooltipContent, TooltipProvider, TooltipTrigger, -} from '@repo/ui/components/ui/tooltip'; +} from '@penumbra-zone/ui/components/ui/tooltip'; import { ReloadIcon } from '@radix-ui/react-icons'; import { useAuctionInfos, useRevalidateAuctionInfos } from '../../../state/swap/dutch-auction'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const QueryLatestStateButton = () => { const { loading } = useAuctionInfos(); diff --git a/apps/minifront/src/components/swap/duration-slider.tsx b/apps/minifront/src/components/swap/duration-slider.tsx index eb26df0286..9fcd59bc2c 100644 --- a/apps/minifront/src/components/swap/duration-slider.tsx +++ b/apps/minifront/src/components/swap/duration-slider.tsx @@ -1,4 +1,4 @@ -import { Slider } from '@repo/ui/components/ui/slider'; +import { Slider } from '@penumbra-zone/ui/components/ui/slider'; import { DURATION_OPTIONS, GDA_RECIPES } from '../../state/swap/constants'; import { useStoreShallow } from '../../utils/use-store-shallow'; import { AllSlices } from '../../state'; diff --git a/apps/minifront/src/components/swap/swap-form/estimate-button.tsx b/apps/minifront/src/components/swap/swap-form/estimate-button.tsx index 023c1283b3..602852bc9b 100644 --- a/apps/minifront/src/components/swap/swap-form/estimate-button.tsx +++ b/apps/minifront/src/components/swap/swap-form/estimate-button.tsx @@ -1,11 +1,11 @@ -import { buttonVariants } from '@repo/ui/components/ui/button'; +import { buttonVariants } from '@penumbra-zone/ui/components/ui/button'; import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, -} from '@repo/ui/components/ui/tooltip'; -import { cn } from '@repo/ui/lib/utils'; +} from '@penumbra-zone/ui/components/ui/tooltip'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const EstimateButton = ({ disabled, diff --git a/apps/minifront/src/components/swap/swap-form/index.tsx b/apps/minifront/src/components/swap/swap-form/index.tsx index 4f03b08e8e..97f013aff9 100644 --- a/apps/minifront/src/components/swap/swap-form/index.tsx +++ b/apps/minifront/src/components/swap/swap-form/index.tsx @@ -1,11 +1,11 @@ -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { AllSlices } from '../../../state'; import { TokenSwapInput } from './token-swap-input'; import { useStoreShallow } from '../../../utils/use-store-shallow'; import { DurationSlider } from '../duration-slider'; import { InputBlock } from '../../shared/input-block'; import { Output } from './output'; -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { SimulateSwap } from './simulate-swap'; import { LayoutGroup } from 'framer-motion'; import { useId } from 'react'; diff --git a/apps/minifront/src/components/swap/swap-form/output/index.tsx b/apps/minifront/src/components/swap/swap-form/output/index.tsx index a6103791f8..0569f48ae1 100644 --- a/apps/minifront/src/components/swap/swap-form/output/index.tsx +++ b/apps/minifront/src/components/swap/swap-form/output/index.tsx @@ -1,4 +1,4 @@ -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; import { AllSlices } from '../../../../state'; import { useStoreShallow } from '../../../../utils/use-store-shallow'; import { EstimateButton } from '../estimate-button'; diff --git a/apps/minifront/src/components/swap/swap-form/price-history.tsx b/apps/minifront/src/components/swap/swap-form/price-history.tsx index 20288362d9..d5fab7f6be 100644 --- a/apps/minifront/src/components/swap/swap-form/price-history.tsx +++ b/apps/minifront/src/components/swap/swap-form/price-history.tsx @@ -1,7 +1,7 @@ import { getMetadataFromBalancesResponseOptional } from '@penumbra-zone/getters/balances-response'; import { AbridgedZQueryState } from '@penumbra-zone/zquery/src/types'; -import { Box } from '@repo/ui/components/ui/box'; -import { CandlestickPlot } from '@repo/ui/components/ui/candlestick-plot'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; +import { CandlestickPlot } from '@penumbra-zone/ui/components/ui/candlestick-plot'; import { useEffect, useMemo, useState } from 'react'; import { getBlockDate } from '../../../fetchers/block-date'; import { AllSlices } from '../../../state'; @@ -9,7 +9,7 @@ import { useStatus } from '../../../state/status'; import { combinedCandlestickDataSelector } from '../../../state/swap/helpers'; import { useCandles, useRevalidateCandles } from '../../../state/swap/price-history'; import { useStoreShallow } from '../../../utils/use-store-shallow'; -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; const priceHistorySelector = (state: AllSlices) => ({ startMetadata: getMetadataFromBalancesResponseOptional(state.swap.assetIn), diff --git a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/index.tsx b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/index.tsx index 0d5248c8d5..dae0e997fe 100644 --- a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/index.tsx +++ b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/index.tsx @@ -1,4 +1,4 @@ -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { PriceImpact } from './price-impact'; import { motion } from 'framer-motion'; import { SimulateSwapResult as TSimulateSwapResult } from '../../../../state/swap'; diff --git a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/price-impact.tsx b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/price-impact.tsx index 8637345f7a..5d7790c250 100644 --- a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/price-impact.tsx +++ b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/price-impact.tsx @@ -1,6 +1,6 @@ import { formatNumber } from '@penumbra-zone/types/amount'; -import { Pill } from '@repo/ui/components/ui/pill'; -import { cn } from '@repo/ui/lib/utils'; +import { Pill } from '@penumbra-zone/ui/components/ui/pill'; +import { cn } from '@penumbra-zone/ui/lib/utils'; // The price hit the user takes as a consequence of moving the market with the size of their trade export const PriceImpact = ({ amount = 0 }: { amount?: number }) => { diff --git a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/index.tsx b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/index.tsx index aeb2ae3a6a..4fa15e8c39 100644 --- a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/index.tsx +++ b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/index.tsx @@ -1,7 +1,7 @@ import { SwapExecution_Trace } from '@penumbra-zone/protobuf/penumbra/core/component/dex/v1/dex_pb'; import { Trace } from './trace'; import { Metadata, ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { ArrowDown, ArrowUp } from 'lucide-react'; export const Traces = ({ diff --git a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/trace/index.tsx b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/trace/index.tsx index 4dc1929e13..7fa47652ed 100644 --- a/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/trace/index.tsx +++ b/apps/minifront/src/components/swap/swap-form/simulate-swap-result/traces/trace/index.tsx @@ -5,7 +5,7 @@ import { } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { SwapExecution_Trace } from '@penumbra-zone/protobuf/penumbra/core/component/dex/v1/dex_pb'; import { bech32mAssetId } from '@penumbra-zone/bech32m/passet'; -import { ValueViewComponent } from '@repo/ui/components/ui/value'; +import { ValueViewComponent } from '@penumbra-zone/ui/components/ui/value'; import { Price } from './price'; const getValueView = (metadataByAssetId: Record, { amount, assetId }: Value) => diff --git a/apps/minifront/src/components/swap/swap-form/simulate-swap.tsx b/apps/minifront/src/components/swap/swap-form/simulate-swap.tsx index c6c0003423..af71b85950 100644 --- a/apps/minifront/src/components/swap/swap-form/simulate-swap.tsx +++ b/apps/minifront/src/components/swap/swap-form/simulate-swap.tsx @@ -1,4 +1,4 @@ -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; import { SimulateSwapResult } from './simulate-swap-result'; import { AllSlices } from '../../../state'; import { useStoreShallow } from '../../../utils/use-store-shallow'; diff --git a/apps/minifront/src/components/swap/swap-form/token-swap-input.tsx b/apps/minifront/src/components/swap/swap-form/token-swap-input.tsx index bbe2547419..6fe017615c 100644 --- a/apps/minifront/src/components/swap/swap-form/token-swap-input.tsx +++ b/apps/minifront/src/components/swap/swap-form/token-swap-input.tsx @@ -1,7 +1,7 @@ -import { BalanceValueView } from '@repo/ui/components/ui/balance-value-view'; +import { BalanceValueView } from '@penumbra-zone/ui/components/ui/balance-value-view'; import { BalancesResponse } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; import { Metadata } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; -import { Box } from '@repo/ui/components/ui/box'; +import { Box } from '@penumbra-zone/ui/components/ui/box'; import { joinLoHiAmount } from '@penumbra-zone/types/amount'; import { getAmount, @@ -21,7 +21,7 @@ import { isValidAmount } from '../../../state/helpers'; import { NonNativeFeeWarning } from '../../shared/non-native-fee-warning'; import { NumberInput } from '../../shared/number-input'; import { useBalancesResponses, useAssets } from '../../../state/shared'; -import { FadeIn } from '@repo/ui/components/ui/fade-in'; +import { FadeIn } from '@penumbra-zone/ui/components/ui/fade-in'; import { getBalanceByMatchingMetadataAndAddressIndex } from '../../../state/swap/getters'; import { swappableAssetsSelector, diff --git a/apps/minifront/src/components/swap/unclaimed-swaps.tsx b/apps/minifront/src/components/swap/unclaimed-swaps.tsx index 1fbac72aa6..b2c5bb001f 100644 --- a/apps/minifront/src/components/swap/unclaimed-swaps.tsx +++ b/apps/minifront/src/components/swap/unclaimed-swaps.tsx @@ -1,11 +1,11 @@ -import { Button } from '@repo/ui/components/ui/button'; -import { Card } from '@repo/ui/components/ui/card'; -import { AssetIcon } from '@repo/ui/components/ui/asset-icon'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; +import { AssetIcon } from '@penumbra-zone/ui/components/ui/asset-icon'; import { AllSlices } from '../../state'; import { useUnclaimedSwaps } from '../../state/unclaimed-swaps'; import { getSwapRecordCommitment } from '@penumbra-zone/getters/swap-record'; import { uint8ArrayToBase64 } from '@penumbra-zone/types/base64'; -import { GradientHeader } from '@repo/ui/components/ui/gradient-header'; +import { GradientHeader } from '@penumbra-zone/ui/components/ui/gradient-header'; import { useStoreShallow } from '../../utils/use-store-shallow'; import { useState } from 'react'; import { SwapRecord } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; diff --git a/apps/minifront/src/components/syncing-dialog/index.tsx b/apps/minifront/src/components/syncing-dialog/index.tsx index 72fdf6c515..a8f4835d21 100644 --- a/apps/minifront/src/components/syncing-dialog/index.tsx +++ b/apps/minifront/src/components/syncing-dialog/index.tsx @@ -1,10 +1,10 @@ -import { Dialog } from '@repo/ui/Dialog'; +import { Dialog } from '@penumbra-zone/ui/Dialog'; import { Status, useStatus } from '../../state/status'; import { AbridgedZQueryState } from '@penumbra-zone/zquery/src/types'; import { SyncAnimation } from './sync-animation'; -import { Text } from '@repo/ui/Text'; +import { Text } from '@penumbra-zone/ui/Text'; import { useEffect, useState } from 'react'; -import { useSyncProgress } from '@repo/ui/components/ui/block-sync-status'; +import { useSyncProgress } from '@penumbra-zone/ui/components/ui/block-sync-status'; type StatusSelector = | { diff --git a/apps/minifront/src/components/tx-details/index.tsx b/apps/minifront/src/components/tx-details/index.tsx index 86d9428ce5..0d14e980f2 100644 --- a/apps/minifront/src/components/tx-details/index.tsx +++ b/apps/minifront/src/components/tx-details/index.tsx @@ -1,5 +1,5 @@ -import { Card } from '@repo/ui/components/ui/card'; -import { FadeTransition } from '@repo/ui/components/ui/fade-transition'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; +import { FadeTransition } from '@penumbra-zone/ui/components/ui/fade-transition'; import { TxViewer } from './tx-viewer'; import { EduInfoCard } from '../shared/edu-panels/edu-info-card'; import { EduPanel } from '../shared/edu-panels/content'; diff --git a/apps/minifront/src/components/tx-details/tx-viewer.tsx b/apps/minifront/src/components/tx-details/tx-viewer.tsx index 211aefae31..b2ce0ee03e 100644 --- a/apps/minifront/src/components/tx-details/tx-viewer.tsx +++ b/apps/minifront/src/components/tx-details/tx-viewer.tsx @@ -1,9 +1,9 @@ -import { JsonViewer } from '@repo/ui/components/ui/json-viewer'; -import { MetadataFetchFn, TransactionViewComponent } from '@repo/ui/components/ui/tx'; +import { JsonViewer } from '@penumbra-zone/ui/components/ui/json-viewer'; +import { MetadataFetchFn, TransactionViewComponent } from '@penumbra-zone/ui/components/ui/tx'; import { TransactionInfo } from '@penumbra-zone/protobuf/penumbra/view/v1/view_pb'; import type { Jsonified } from '@penumbra-zone/types/jsonified'; import { useState } from 'react'; -import { SegmentedPicker } from '@repo/ui/components/ui/segmented-picker'; +import { SegmentedPicker } from '@penumbra-zone/ui/components/ui/segmented-picker'; import { asPublicTransactionView } from '@penumbra-zone/perspective/translators/transaction-view'; import { typeRegistry, ViewService } from '@penumbra-zone/protobuf'; import { useQuery } from '@tanstack/react-query'; diff --git a/apps/minifront/src/components/v2/dashboard-layout/assets-card-title.tsx b/apps/minifront/src/components/v2/dashboard-layout/assets-card-title.tsx index a3ea04b313..4bfef44535 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/assets-card-title.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/assets-card-title.tsx @@ -1,7 +1,7 @@ -import { Button } from '@repo/ui/Button'; -import { CharacterTransition } from '@repo/ui/CharacterTransition'; -import { Dialog } from '@repo/ui/Dialog'; -import { Text } from '@repo/ui/Text'; +import { Button } from '@penumbra-zone/ui/Button'; +import { CharacterTransition } from '@penumbra-zone/ui/CharacterTransition'; +import { Dialog } from '@penumbra-zone/ui/Dialog'; +import { Text } from '@penumbra-zone/ui/Text'; import { Info } from 'lucide-react'; import { useId } from 'react'; diff --git a/apps/minifront/src/components/v2/dashboard-layout/assets-page/equivalent-values.tsx b/apps/minifront/src/components/v2/dashboard-layout/assets-page/equivalent-values.tsx index 738d0e6a6c..8ab394fe8e 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/assets-page/equivalent-values.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/assets-page/equivalent-values.tsx @@ -1,7 +1,7 @@ import { ValueView } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { asValueView } from '@penumbra-zone/getters/equivalent-value'; import { getDisplayDenomFromView, getEquivalentValues } from '@penumbra-zone/getters/value-view'; -import { ValueViewComponent } from '@repo/ui/ValueViewComponent'; +import { ValueViewComponent } from '@penumbra-zone/ui/ValueViewComponent'; export const EquivalentValues = ({ valueView }: { valueView?: ValueView }) => { const equivalentValuesAsValueViews = (getEquivalentValues.optional()(valueView) ?? []).map( diff --git a/apps/minifront/src/components/v2/dashboard-layout/assets-page/index.tsx b/apps/minifront/src/components/v2/dashboard-layout/assets-page/index.tsx index a78b0e0678..e5e2cd8490 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/assets-page/index.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/assets-page/index.tsx @@ -1,5 +1,5 @@ -import { Density } from '@repo/ui/Density'; -import { Table } from '@repo/ui/Table'; +import { Density } from '@penumbra-zone/ui/Density'; +import { Table } from '@penumbra-zone/ui/Table'; import { BalancesByAccount, groupByAccount, useBalancesResponses } from '../../../../state/shared'; import { shouldDisplay } from '../../../../fetchers/balances/should-display'; import { sortByPriorityScore } from '../../../../fetchers/balances/by-priority-score'; @@ -8,14 +8,14 @@ import { getMetadataFromBalancesResponseOptional } from '@penumbra-zone/getters/ import { PagePath } from '../../../metadata/paths'; import { getAddressIndex } from '@penumbra-zone/getters/address-view'; import { AbridgedZQueryState } from '@penumbra-zone/zquery/src/types'; -import { ValueViewComponent } from '@repo/ui/ValueViewComponent'; +import { ValueViewComponent } from '@penumbra-zone/ui/ValueViewComponent'; import { EquivalentValues } from './equivalent-values'; import { TableTitle } from './table-title'; import { Link } from 'react-router-dom'; -import { Button } from '@repo/ui/Button'; +import { Button } from '@penumbra-zone/ui/Button'; import { ArrowRightLeft } from 'lucide-react'; -import { useAnimationDeferredValue } from '@repo/ui/hooks/useAnimationDeferredValue'; -import { ConditionalWrap } from '@repo/ui/ConditionalWrap'; +import { useAnimationDeferredValue } from '@penumbra-zone/ui/hooks/useAnimationDeferredValue'; +import { ConditionalWrap } from '@penumbra-zone/ui/ConditionalWrap'; import { LayoutGroup } from 'framer-motion'; const getTradeLink = (balance: BalancesResponse): string => { diff --git a/apps/minifront/src/components/v2/dashboard-layout/assets-page/table-title.tsx b/apps/minifront/src/components/v2/dashboard-layout/assets-page/table-title.tsx index 40c70f8b5c..17c0737b28 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/assets-page/table-title.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/assets-page/table-title.tsx @@ -1,4 +1,4 @@ -import { AddressViewComponent } from '@repo/ui/AddressViewComponent'; +import { AddressViewComponent } from '@penumbra-zone/ui/AddressViewComponent'; import { BalancesByAccount } from '../../../../state/shared'; import { AddressView } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb'; import { useMemo } from 'react'; diff --git a/apps/minifront/src/components/v2/dashboard-layout/index.tsx b/apps/minifront/src/components/v2/dashboard-layout/index.tsx index 6297e8df8d..9ac58869cd 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/index.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/index.tsx @@ -1,7 +1,7 @@ -import { Card } from '@repo/ui/Card'; +import { Card } from '@penumbra-zone/ui/Card'; import { Outlet, useNavigate } from 'react-router-dom'; -import { Grid } from '@repo/ui/Grid'; -import { Tabs } from '@repo/ui/Tabs'; +import { Grid } from '@penumbra-zone/ui/Grid'; +import { Tabs } from '@penumbra-zone/ui/Tabs'; import { usePagePath } from '../../../fetchers/page-path'; import { PagePath } from '../../metadata/paths'; import { AssetsCardTitle } from './assets-card-title'; diff --git a/apps/minifront/src/components/v2/dashboard-layout/transactions-card-title.tsx b/apps/minifront/src/components/v2/dashboard-layout/transactions-card-title.tsx index f02a127b10..b4f03d3a1c 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/transactions-card-title.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/transactions-card-title.tsx @@ -1,7 +1,7 @@ -import { Button } from '@repo/ui/Button'; -import { CharacterTransition } from '@repo/ui/CharacterTransition'; -import { Dialog } from '@repo/ui/Dialog'; -import { Text } from '@repo/ui/Text'; +import { Button } from '@penumbra-zone/ui/Button'; +import { CharacterTransition } from '@penumbra-zone/ui/CharacterTransition'; +import { Dialog } from '@penumbra-zone/ui/Dialog'; +import { Text } from '@penumbra-zone/ui/Text'; import { Info } from 'lucide-react'; import { useId } from 'react'; diff --git a/apps/minifront/src/components/v2/dashboard-layout/transactions-page/index.tsx b/apps/minifront/src/components/v2/dashboard-layout/transactions-page/index.tsx index f0d249d852..3e87a6e2a8 100644 --- a/apps/minifront/src/components/v2/dashboard-layout/transactions-page/index.tsx +++ b/apps/minifront/src/components/v2/dashboard-layout/transactions-page/index.tsx @@ -1,10 +1,10 @@ -import { Table } from '@repo/ui/Table'; +import { Table } from '@penumbra-zone/ui/Table'; import { useSummaries } from '../../../../state/transactions'; -import { Text } from '@repo/ui/Text'; +import { Text } from '@penumbra-zone/ui/Text'; import { Link } from 'react-router-dom'; import { SquareArrowOutUpRight } from 'lucide-react'; -import { Button } from '@repo/ui/Button'; -import { useAnimationDeferredValue } from '@repo/ui/hooks/useAnimationDeferredValue'; +import { Button } from '@penumbra-zone/ui/Button'; +import { useAnimationDeferredValue } from '@penumbra-zone/ui/hooks/useAnimationDeferredValue'; import { LayoutGroup } from 'framer-motion'; export const TransactionsPage = () => { diff --git a/apps/minifront/src/components/v2/layout.tsx b/apps/minifront/src/components/v2/layout.tsx index 67373191dd..f76520945b 100644 --- a/apps/minifront/src/components/v2/layout.tsx +++ b/apps/minifront/src/components/v2/layout.tsx @@ -1,7 +1,7 @@ -import { Display } from '@repo/ui/Display'; +import { Display } from '@penumbra-zone/ui/Display'; import { HeadTag } from '../metadata/head-tag'; import { Outlet } from 'react-router-dom'; -import { Toaster } from '@repo/ui/components/ui/toaster'; +import { Toaster } from '@penumbra-zone/ui/components/ui/toaster'; import { SyncingDialog } from '../syncing-dialog'; export const Layout = () => ( diff --git a/apps/minifront/src/components/v2/transfer-layout/index.tsx b/apps/minifront/src/components/v2/transfer-layout/index.tsx index 04318def8c..02930474cf 100644 --- a/apps/minifront/src/components/v2/transfer-layout/index.tsx +++ b/apps/minifront/src/components/v2/transfer-layout/index.tsx @@ -1,7 +1,7 @@ -import { Card } from '@repo/ui/Card'; +import { Card } from '@penumbra-zone/ui/Card'; import { Outlet, useNavigate } from 'react-router-dom'; -import { Grid } from '@repo/ui/Grid'; -import { Tabs } from '@repo/ui/Tabs'; +import { Grid } from '@penumbra-zone/ui/Grid'; +import { Tabs } from '@penumbra-zone/ui/Tabs'; import { usePagePath } from '../../../fetchers/page-path'; import { PagePath } from '../../metadata/paths'; import { motion } from 'framer-motion'; diff --git a/apps/minifront/src/components/v2/transfer-layout/receive-page/index.tsx b/apps/minifront/src/components/v2/transfer-layout/receive-page/index.tsx index 20f0642252..a3808b2147 100644 --- a/apps/minifront/src/components/v2/transfer-layout/receive-page/index.tsx +++ b/apps/minifront/src/components/v2/transfer-layout/receive-page/index.tsx @@ -1,6 +1,6 @@ -import { AccountSelector } from '@repo/ui/AccountSelector'; -import { Card } from '@repo/ui/Card'; -import { FormField } from '@repo/ui/FormField'; +import { AccountSelector } from '@penumbra-zone/ui/AccountSelector'; +import { Card } from '@penumbra-zone/ui/Card'; +import { FormField } from '@penumbra-zone/ui/FormField'; import { getAddrByIndex } from '../../../../fetchers/address'; export const ReceivePage = () => { diff --git a/apps/minifront/src/components/v2/transfer-layout/send-page/index.tsx b/apps/minifront/src/components/v2/transfer-layout/send-page/index.tsx index d5769f2db5..53b9837d7b 100644 --- a/apps/minifront/src/components/v2/transfer-layout/send-page/index.tsx +++ b/apps/minifront/src/components/v2/transfer-layout/send-page/index.tsx @@ -1,11 +1,11 @@ -import { Card } from '@repo/ui/Card'; -import { FormField } from '@repo/ui/FormField'; -import { SegmentedControl } from '@repo/ui/SegmentedControl'; -import { TextInput } from '@repo/ui/TextInput'; +import { Card } from '@penumbra-zone/ui/Card'; +import { FormField } from '@penumbra-zone/ui/FormField'; +import { SegmentedControl } from '@penumbra-zone/ui/SegmentedControl'; +import { TextInput } from '@penumbra-zone/ui/TextInput'; import { AllSlices } from '../../../../state'; import { sendValidationErrors } from '../../../../state/send'; import { FeeTier_Tier } from '@penumbra-zone/protobuf/penumbra/core/component/fee/v1/fee_pb'; -import { Button } from '@repo/ui/Button'; +import { Button } from '@penumbra-zone/ui/Button'; import { ArrowUpFromDot } from 'lucide-react'; import { useMemo } from 'react'; import { useStoreShallow } from '../../../../utils/use-store-shallow'; diff --git a/apps/minifront/src/icons/box.tsx b/apps/minifront/src/icons/box.tsx index 4c4bc56df1..e4422bc14f 100644 --- a/apps/minifront/src/icons/box.tsx +++ b/apps/minifront/src/icons/box.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const BoxIcon = ({ stroke = '#BDB8B8', diff --git a/apps/minifront/src/icons/drag-handle-dots.tsx b/apps/minifront/src/icons/drag-handle-dots.tsx index 192c20ad1a..f5c45a3bf3 100644 --- a/apps/minifront/src/icons/drag-handle-dots.tsx +++ b/apps/minifront/src/icons/drag-handle-dots.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const DragHandleDotsIcon = ({ stroke = '#BDB8B8', diff --git a/apps/minifront/src/icons/swap.tsx b/apps/minifront/src/icons/swap.tsx index 33eac1849c..f8564e0179 100644 --- a/apps/minifront/src/icons/swap.tsx +++ b/apps/minifront/src/icons/swap.tsx @@ -1,4 +1,4 @@ -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; export const SwapIcon = ({ stroke = '#BDB8B8', diff --git a/apps/minifront/src/main.tsx b/apps/minifront/src/main.tsx index e714e93294..bfbb86a17c 100644 --- a/apps/minifront/src/main.tsx +++ b/apps/minifront/src/main.tsx @@ -9,7 +9,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useState } from 'react'; import { RouterProvider } from 'react-router-dom'; import { rootRouter } from './components/root-router'; -import { PenumbraUIProvider } from '@repo/ui/PenumbraUIProvider'; +import { PenumbraUIProvider } from '@penumbra-zone/ui/PenumbraUIProvider'; const Main = () => { const [queryClient] = useState(() => new QueryClient()); diff --git a/apps/minifront/src/state/helpers.ts b/apps/minifront/src/state/helpers.ts index 3ebe9df822..a0918f5b0e 100644 --- a/apps/minifront/src/state/helpers.ts +++ b/apps/minifront/src/state/helpers.ts @@ -16,7 +16,7 @@ import { } from '@penumbra-zone/protobuf/penumbra/core/transaction/v1/transaction_pb'; import { TransactionId } from '@penumbra-zone/protobuf/penumbra/core/txhash/v1/txhash_pb'; import { PartialMessage } from '@bufbuild/protobuf'; -import { TransactionToast } from '@repo/ui/lib/toast/transaction-toast'; +import { TransactionToast } from '@penumbra-zone/ui/lib/toast/transaction-toast'; import { TransactionClassification } from '@penumbra-zone/perspective/transaction/classification'; import { uint8ArrayToHex } from '@penumbra-zone/types/hex'; import { fromValueView } from '@penumbra-zone/types/amount'; diff --git a/apps/minifront/src/state/ibc-in/index.tsx b/apps/minifront/src/state/ibc-in/index.tsx index 787d0295a8..9e7e015dc7 100644 --- a/apps/minifront/src/state/ibc-in/index.tsx +++ b/apps/minifront/src/state/ibc-in/index.tsx @@ -4,7 +4,7 @@ import { ChainWalletContext } from '@cosmos-kit/core'; import { AllSlices, SliceCreator } from '..'; import { getAddrByIndex } from '../../fetchers/address'; import { bech32mAddress } from '@penumbra-zone/bech32m/penumbra'; -import { Toast } from '@repo/ui/lib/toast/toast'; +import { Toast } from '@penumbra-zone/ui/lib/toast/toast'; import { shorten } from '@penumbra-zone/types/string'; import { Address } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb'; import { bech32CompatAddress } from '@penumbra-zone/bech32m/penumbracompat1'; diff --git a/apps/minifront/src/state/ibc-out.ts b/apps/minifront/src/state/ibc-out.ts index 516319b603..6087315512 100644 --- a/apps/minifront/src/state/ibc-out.ts +++ b/apps/minifront/src/state/ibc-out.ts @@ -17,7 +17,7 @@ import { amountMoreThanBalance, isIncorrectDecimal, planBuildBroadcast } from '. import { getAssetId } from '@penumbra-zone/getters/metadata'; import { assetPatterns } from '@penumbra-zone/types/assets'; import { bech32, bech32m } from 'bech32'; -import { errorToast } from '@repo/ui/lib/toast/presets'; +import { errorToast } from '@penumbra-zone/ui/lib/toast/presets'; import { Chain } from '@penumbra-labs/registry'; import { Metadata } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; import { Channel } from '@penumbra-zone/protobuf/ibc/core/channel/v1/channel_pb'; diff --git a/apps/minifront/src/state/swap/dutch-auction/index.ts b/apps/minifront/src/state/swap/dutch-auction/index.ts index 0b7fc31102..b7cc2bcad4 100644 --- a/apps/minifront/src/state/swap/dutch-auction/index.ts +++ b/apps/minifront/src/state/swap/dutch-auction/index.ts @@ -11,7 +11,7 @@ import { sendSimulateTradeRequest } from '../helpers'; import { fromBaseUnitAmount, isZero, multiplyAmountByNumber } from '@penumbra-zone/types/amount'; import { getDisplayDenomExponent } from '@penumbra-zone/getters/metadata'; import { Amount } from '@penumbra-zone/protobuf/penumbra/core/num/v1/num_pb'; -import { errorToast } from '@repo/ui/lib/toast/presets'; +import { errorToast } from '@penumbra-zone/ui/lib/toast/presets'; import { ZQueryState, createZQuery } from '@penumbra-zone/zquery'; import { AuctionInfo, getAuctionInfos } from '../../../fetchers/auction-infos'; import { Metadata } from '@penumbra-zone/protobuf/penumbra/core/asset/v1/asset_pb'; diff --git a/apps/minifront/src/state/swap/instant-swap.ts b/apps/minifront/src/state/swap/instant-swap.ts index 8f0f9c5227..863fb88ed5 100644 --- a/apps/minifront/src/state/swap/instant-swap.ts +++ b/apps/minifront/src/state/swap/instant-swap.ts @@ -10,7 +10,7 @@ import { import { BigNumber } from 'bignumber.js'; import { getAddressByIndex } from '../../fetchers/address'; import { StateCommitment } from '@penumbra-zone/protobuf/penumbra/crypto/tct/v1/tct_pb'; -import { errorToast } from '@repo/ui/lib/toast/presets'; +import { errorToast } from '@penumbra-zone/ui/lib/toast/presets'; import { SwapExecution, SwapExecution_Trace, diff --git a/apps/node-status/package.json b/apps/node-status/package.json index 9594598444..a92d43d1a6 100644 --- a/apps/node-status/package.json +++ b/apps/node-status/package.json @@ -19,7 +19,7 @@ "@penumbra-zone/crypto-web": "workspace:*", "@penumbra-zone/protobuf": "workspace:*", "@penumbra-zone/types": "workspace:*", - "@repo/ui": "workspace:*", + "@penumbra-zone/ui": "workspace:*", "date-fns": "^3.6.0", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/apps/node-status/postcss.config.js b/apps/node-status/postcss.config.js index a2051ffd15..8e18cdcb77 100644 --- a/apps/node-status/postcss.config.js +++ b/apps/node-status/postcss.config.js @@ -1 +1 @@ -export { default } from '@repo/ui/postcss.config.js'; +export { default } from '@penumbra-zone/ui/postcss.config.js'; diff --git a/apps/node-status/src/components/error-boundary.tsx b/apps/node-status/src/components/error-boundary.tsx index e22f665d07..3110463191 100644 --- a/apps/node-status/src/components/error-boundary.tsx +++ b/apps/node-status/src/components/error-boundary.tsx @@ -1,4 +1,4 @@ -import { SplashPage } from '@repo/ui/components/ui/splash-page'; +import { SplashPage } from '@penumbra-zone/ui/components/ui/splash-page'; import { useRouteError } from 'react-router-dom'; export const ErrorBoundary = () => { diff --git a/apps/node-status/src/components/frontend-referral.tsx b/apps/node-status/src/components/frontend-referral.tsx index d3e9465002..cffca9789a 100644 --- a/apps/node-status/src/components/frontend-referral.tsx +++ b/apps/node-status/src/components/frontend-referral.tsx @@ -1,4 +1,4 @@ -import { Button } from '@repo/ui/components/ui/button'; +import { Button } from '@penumbra-zone/ui/components/ui/button'; import { devFrontend, prodFrontend } from '../constants'; export const FrontendReferral = () => { diff --git a/apps/node-status/src/components/header.tsx b/apps/node-status/src/components/header.tsx index 72459311d8..7581827bac 100644 --- a/apps/node-status/src/components/header.tsx +++ b/apps/node-status/src/components/header.tsx @@ -1,6 +1,6 @@ import { Link } from 'react-router-dom'; import { LineWave } from 'react-loader-spinner'; -import { cn } from '@repo/ui/lib/utils'; +import { cn } from '@penumbra-zone/ui/lib/utils'; import { useDelayedIsLoading } from '../fetching/refetch-hook'; export const Header = () => { diff --git a/apps/node-status/src/components/node-info.tsx b/apps/node-status/src/components/node-info.tsx index ba0c0322d4..2060b8a881 100644 --- a/apps/node-status/src/components/node-info.tsx +++ b/apps/node-status/src/components/node-info.tsx @@ -1,6 +1,6 @@ import { useLoaderData } from 'react-router-dom'; -import { Card } from '@repo/ui/components/ui/card'; -import { Identicon } from '@repo/ui/components/ui/identicon'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; +import { Identicon } from '@penumbra-zone/ui/components/ui/identicon'; import { IndexLoaderResponse } from '../fetching/loader'; import { uint8ArrayToString } from '@penumbra-zone/types/string'; diff --git a/apps/node-status/src/components/sync-info.tsx b/apps/node-status/src/components/sync-info.tsx index 8cfd25507e..c3c3db2a77 100644 --- a/apps/node-status/src/components/sync-info.tsx +++ b/apps/node-status/src/components/sync-info.tsx @@ -1,6 +1,6 @@ import { useLoaderData } from 'react-router-dom'; import { IndexLoaderResponse } from '../fetching/loader'; -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { format } from 'date-fns'; import { SyncInfo as SyncInfoProto } from '@penumbra-zone/protobuf/penumbra/util/tendermint_proxy/v1/tendermint_proxy_pb'; diff --git a/apps/node-status/src/components/validator-info.tsx b/apps/node-status/src/components/validator-info.tsx index 2f90de6980..d8f6a3d248 100644 --- a/apps/node-status/src/components/validator-info.tsx +++ b/apps/node-status/src/components/validator-info.tsx @@ -1,5 +1,5 @@ import { useLoaderData } from 'react-router-dom'; -import { Card } from '@repo/ui/components/ui/card'; +import { Card } from '@penumbra-zone/ui/components/ui/card'; import { IndexLoaderResponse } from '../fetching/loader'; import { PublicKey } from '@penumbra-zone/protobuf/tendermint/crypto/keys_pb'; import { uint8ArrayToHex } from '@penumbra-zone/types/hex'; diff --git a/apps/node-status/src/main.tsx b/apps/node-status/src/main.tsx index bdd8ec53e7..df941faf75 100644 --- a/apps/node-status/src/main.tsx +++ b/apps/node-status/src/main.tsx @@ -3,7 +3,7 @@ import { createRoot } from 'react-dom/client'; import { RouterProvider } from 'react-router-dom'; import { router } from './components/router'; -import '@repo/ui/styles/globals.css'; +import '@penumbra-zone/ui/styles/globals.css'; const Main = () => ( diff --git a/packages/ui/README.md b/packages/ui/README.md index 0cef87da66..8cacdb531d 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -22,8 +22,6 @@ Then, use components by importing them from their specific files: import { ValueViewComponent } from '@penumbra-zone/ui/ValueViewComponent'; ``` -Deprecated components can be imported from `@penumbra-zone/ui/components/ui/`, where `` should be replaced with the kebab-cased component name. - ## Usage ### Density diff --git a/packages/ui/package.json b/packages/ui/package.json index 7b93fde968..843254327a 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,18 +1,29 @@ { - "name": "@repo/ui", + "name": "@penumbra-zone/ui", "version": "8.2.0", - "private": true, "license": "(MIT OR Apache-2.0)", + "description": "UI components for Penumbra", "type": "module", + "engine": { + "node": ">=22" + }, "scripts": { + "build": "vite build", "build-storybook": "storybook build", + "dev:pack": "VITE_WATCH=true vite build --watch", "lint": "eslint components lib src", "lint:fix": "eslint components lib src --fix", "lint:strict": "tsc --noEmit && eslint components lib src --max-warnings 0", "storybook": "storybook dev -p 6006", - "test": "vitest run", - "ui:add": "pnpm dlx shadcn-ui@latest add" + "test": "vitest run" }, + "files": [ + "dist", + "components", + "lib", + "styles", + "postcss.config.js" + ], "exports": { "./components/ui/icons/*": "./components/ui/icons/*.tsx", "./components/ui/*": "./components/ui/*/index.tsx", @@ -24,6 +35,14 @@ "./hooks/*": "./src/hooks/*/index.ts", "./*": "./src/*/index.tsx" }, + "publishConfig": { + "exports": { + "./*": { + "types": "./dist/src/*/index.d.ts", + "default": "./dist/src/*/index.js" + } + } + }, "dependencies": { "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", @@ -93,16 +112,22 @@ "@types/murmurhash3js": "^3.0.7", "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", + "@types/styled-components": "^5.1.34", "@types/tinycolor2": "^1.4.6", "@types/ua-parser-js": "^0.7.39", "prop-types": "^15.8.1", - "storybook": "^8.1.1" + "storybook": "^8.1.1", + "vite": "^5.2.11", + "vite-plugin-dts": "^4.0.3" }, "peerDependencies": { "@bufbuild/protobuf": "^1.10.0", "@penumbra-zone/protobuf": "workspace:*", + "framer-motion": "^11.2.4", + "lucide-react": "^0.378.0", "postcss": "^8.4.38", "react": "^18.3.1", + "styled-components": "^6.1.11", "tailwindcss": "^3.4.3" } } diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 1d5585ea0b..44fb6188dc 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,9 +1,19 @@ { "compilerOptions": { - "composite": true, + "target": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "moduleResolution": "bundler", "exactOptionalPropertyTypes": false, + "allowImportingTsExtensions": true, + "isolatedModules": true, "noEmit": true, - "target": "ESNext" + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "declaration": true }, "extends": ["@tsconfig/strictest/tsconfig.json", "@tsconfig/vite-react/tsconfig.json"], "include": ["components", "lib", "src", "tests-setup.ts"] diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts new file mode 100644 index 0000000000..8112b4a222 --- /dev/null +++ b/packages/ui/vite.config.ts @@ -0,0 +1,62 @@ +import { defineConfig } from 'vite'; +import { resolve, join } from 'path'; +import { readdirSync, existsSync } from 'fs'; +import dts from 'vite-plugin-dts'; +import { exec } from 'child_process'; + +/** + * Returns an object with keys as resulting component build paths and values as + * their initial paths, e.g. `{ 'src/Button/index': 'src/Button/index.tsx' }`. + * This way, Vite can build each component separately while extracting shared code + * */ +const getAllUIComponents = (): Record => { + const source = resolve(__dirname, 'src'); + const dirs = readdirSync(source, { withFileTypes: true }); + + return dirs.reduce( + (accum, dir) => { + const componentPath = join(source, dir.name, 'index.tsx'); + if (dir.isDirectory() && existsSync(componentPath)) { + accum[`src/${dir.name}/index`] = componentPath; + } + return accum; + }, + {} as Record, + ); +}; + +export default defineConfig({ + plugins: [ + dts(), + { + // runs 'pnpm pack' after the build in watch mode + name: 'postbuild-pack', + closeBundle: () => { + const isWatch = process.env.VITE_WATCH === 'true'; + if (isWatch) { + const cmd = exec('$npm_execpath pack'); + cmd.unref(); + } + }, + }, + ], + build: { + emptyOutDir: true, + lib: { + entry: getAllUIComponents(), + formats: ['es'], + name: '@penumbra-zone/ui', + }, + rollupOptions: { + external: [ + '@bufbuild/protobuf', + '@penumbra-zone/protobuf', + 'react', + 'react-dom', + 'framer-motion', + 'styled-components', + 'lucide-react', + ], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 962f59b5c7..0ecc60dde0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -206,6 +206,9 @@ importers: '@penumbra-zone/types': specifier: workspace:* version: link:../../packages/types + '@penumbra-zone/ui': + specifier: workspace:* + version: link:../../packages/ui '@penumbra-zone/zquery': specifier: workspace:* version: link:../../packages/zquery @@ -227,9 +230,6 @@ importers: '@remix-run/router': specifier: ^1.16.1 version: 1.17.1 - '@repo/ui': - specifier: workspace:* - version: link:../../packages/ui '@tanstack/react-query': specifier: 4.36.1 version: 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -321,7 +321,7 @@ importers: '@penumbra-zone/types': specifier: workspace:* version: link:../../packages/types - '@repo/ui': + '@penumbra-zone/ui': specifier: workspace:* version: link:../../packages/ui date-fns: @@ -816,6 +816,9 @@ importers: '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 + '@types/styled-components': + specifier: ^5.1.34 + version: 5.1.34 '@types/tinycolor2': specifier: ^1.4.6 version: 1.4.6 @@ -828,6 +831,12 @@ importers: storybook: specifier: ^8.1.1 version: 8.1.11(@babel/preset-env@7.24.7(@babel/core@7.24.7))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10) + vite: + specifier: ^5.2.11 + version: 5.3.3(@types/node@20.14.10)(terser@5.31.1) + vite-plugin-dts: + specifier: ^4.0.3 + version: 4.0.3(@types/node@20.14.10)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.10)(terser@5.31.1)) packages/wasm: optionalDependencies: @@ -2684,10 +2693,17 @@ packages: '@microsoft/api-extractor-model@7.29.2': resolution: {integrity: sha512-hAYajOjQan3uslhKJRwvvHIdLJ+ZByKqdSsJ/dgHFxPtEbdKpzMDO8zuW4K5gkSMYl5D0LbNwxkhxr51P2zsmw==} + '@microsoft/api-extractor-model@7.29.4': + resolution: {integrity: sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw==} + '@microsoft/api-extractor@7.47.0': resolution: {integrity: sha512-LT8yvcWNf76EpDC+8/ArTVSYePvuDQ+YbAUrsTcpg3ptiZ93HIcMCozP/JOxDt+rrsFfFHcpfoselKfPyRI0GQ==} hasBin: true + '@microsoft/api-extractor@7.47.4': + resolution: {integrity: sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg==} + hasBin: true + '@microsoft/tsdoc-config@0.17.0': resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} @@ -4238,9 +4254,20 @@ packages: '@types/node': optional: true + '@rushstack/node-core-library@5.5.1': + resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + '@rushstack/rig-package@0.5.2': resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} + '@rushstack/terminal@0.13.0': resolution: {integrity: sha512-Ou44Q2s81BqJu3dpYedAX54am9vn245F0HzqVrfJCMQk5pGgoKKOBOjkbfZC9QKcGNaECh6pwH2s5noJt7X6ew==} peerDependencies: @@ -4249,9 +4276,20 @@ packages: '@types/node': optional: true + '@rushstack/terminal@0.13.3': + resolution: {integrity: sha512-fc3zjXOw8E0pXS5t9vTiIPx9gHA0fIdTXsu9mT4WbH+P3mYvnrX0iAQ5a6NvyK1+CqYWBTw/wVNx7SDJkI+WYQ==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + '@rushstack/ts-command-line@4.22.0': resolution: {integrity: sha512-Qj28t6MO3HRgAZ72FDeFsrpdE6wBWxF3VENgvrXh7JF2qIT+CrXiOJIesW80VFZB9QwObSpkB1ilx794fGQg6g==} + '@rushstack/ts-command-line@4.22.3': + resolution: {integrity: sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -4938,6 +4976,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hoist-non-react-statics@3.3.5': + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} @@ -5028,6 +5069,9 @@ packages: '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/styled-components@5.1.34': + resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==} + '@types/stylis@4.2.5': resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} @@ -5242,6 +5286,35 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@volar/language-core@2.4.0': + resolution: {integrity: sha512-FTla+khE+sYK0qJP+6hwPAAUwiNHVMph4RUXpxf/FIPKUP61NFrVZorml4mjFShnueR2y9/j8/vnh09YwVdH7A==} + + '@volar/source-map@2.4.0': + resolution: {integrity: sha512-2ceY8/NEZvN6F44TXw2qRP6AQsvCYhV2bxaBPWxV9HqIfkbRydSksTFObCF1DBDNBfKiZTS8G/4vqV6cvjdOIQ==} + + '@volar/typescript@2.4.0': + resolution: {integrity: sha512-9zx3lQWgHmVd+JRRAHUSRiEhe4TlzL7U7e6ulWXOxHH/WNYxzKwCvZD7WYWEZFdw4dHfTD9vUR0yPQO6GilCaQ==} + + '@vue/compiler-core@3.4.38': + resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + + '@vue/compiler-dom@3.4.38': + resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.0.29': + resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} + peerDependencies: + typescript: 5.5.3 + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.4.38': + resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@walletconnect/core@2.13.3': resolution: {integrity: sha512-TdF+rC6rONJGyOUtt/nLkbyQWjnkwbD3kXq3ZA0Q7+tYtmSjTDE4wbArlLbHIbtf69g+9/DpEVEQimWWcEOn2g==} @@ -5994,6 +6067,9 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -6002,6 +6078,9 @@ packages: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -6223,6 +6302,9 @@ packages: date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -6251,6 +6333,15 @@ packages: supports-color: optional: true + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -7200,6 +7291,10 @@ packages: hast-util-to-string@3.0.0: resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + header-case@1.0.1: resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} @@ -7735,6 +7830,9 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + lazy-universal-dotenv@4.0.0: resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} engines: {node: '>=14.0.0'} @@ -7882,6 +7980,9 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -8054,6 +8155,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} @@ -10044,6 +10148,16 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-plugin-dts@4.0.3: + resolution: {integrity: sha512-+xnTsaONwU2kV6zhRjtbRJSGN41uFR/whqmcb4k4fftLFDJElxthp0PP5Fq8gMeM9ytWMt1yk5gGgekLREWYQQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: 5.5.3 + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite-plugin-node-stdlib-browser@0.2.1: resolution: {integrity: sha512-6u2i613Dkqj5KaTNIrnZvE6y3/awWAp0S5TjucTvGxdhetftB1Mgvblc+nwYzlw6sntPlac8UOC7ttXNh+LZKA==} peerDependencies: @@ -10116,6 +10230,15 @@ packages: vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + vue-tsc@2.0.29: + resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} + hasBin: true + peerDependencies: + typescript: 5.5.3 + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -13864,6 +13987,14 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor-model@7.29.4(@types/node@20.14.10)': + dependencies: + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.5.1(@types/node@20.14.10) + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor@7.47.0(@types/node@20.14.10)': dependencies: '@microsoft/api-extractor-model': 7.29.2(@types/node@20.14.10) @@ -13882,6 +14013,24 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor@7.47.4(@types/node@20.14.10)': + dependencies: + '@microsoft/api-extractor-model': 7.29.4(@types/node@20.14.10) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.5.1(@types/node@20.14.10) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.13.3(@types/node@20.14.10) + '@rushstack/ts-command-line': 4.22.3(@types/node@20.14.10) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.5.3 + transitivePeerDependencies: + - '@types/node' + '@microsoft/tsdoc-config@0.17.0': dependencies: '@microsoft/tsdoc': 0.15.0 @@ -15793,11 +15942,29 @@ snapshots: optionalDependencies: '@types/node': 20.14.10 + '@rushstack/node-core-library@5.5.1(@types/node@20.14.10)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + optionalDependencies: + '@types/node': 20.14.10 + '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 + '@rushstack/rig-package@0.5.3': + dependencies: + resolve: 1.22.8 + strip-json-comments: 3.1.1 + '@rushstack/terminal@0.13.0(@types/node@20.14.10)': dependencies: '@rushstack/node-core-library': 5.4.1(@types/node@20.14.10) @@ -15805,6 +15972,13 @@ snapshots: optionalDependencies: '@types/node': 20.14.10 + '@rushstack/terminal@0.13.3(@types/node@20.14.10)': + dependencies: + '@rushstack/node-core-library': 5.5.1(@types/node@20.14.10) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.14.10 + '@rushstack/ts-command-line@4.22.0(@types/node@20.14.10)': dependencies: '@rushstack/terminal': 0.13.0(@types/node@20.14.10) @@ -15814,6 +15988,15 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@rushstack/ts-command-line@4.22.3(@types/node@20.14.10)': + dependencies: + '@rushstack/terminal': 0.13.3(@types/node@20.14.10) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@sinclair/typebox@0.27.8': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -17258,6 +17441,11 @@ snapshots: dependencies: '@types/unist': 3.0.2 + '@types/hoist-non-react-statics@3.3.5': + dependencies: + '@types/react': 18.3.3 + hoist-non-react-statics: 3.3.2 + '@types/http-errors@2.0.4': {} '@types/humanize-duration@3.27.4': {} @@ -17343,6 +17531,12 @@ snapshots: '@types/node': 20.14.10 '@types/send': 0.17.4 + '@types/styled-components@5.1.34': + dependencies: + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.3.3 + csstype: 3.1.3 + '@types/stylis@4.2.5': {} '@types/through@0.0.33': @@ -17675,6 +17869,51 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 + '@volar/language-core@2.4.0': + dependencies: + '@volar/source-map': 2.4.0 + + '@volar/source-map@2.4.0': {} + + '@volar/typescript@2.4.0': + dependencies: + '@volar/language-core': 2.4.0 + path-browserify: 1.0.1 + vscode-uri: 3.0.8 + + '@vue/compiler-core@3.4.38': + dependencies: + '@babel/parser': 7.24.7 + '@vue/shared': 3.4.38 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.38': + dependencies: + '@vue/compiler-core': 3.4.38 + '@vue/shared': 3.4.38 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.0.29(typescript@5.5.3)': + dependencies: + '@volar/language-core': 2.4.0 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.4.38 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.5.3 + + '@vue/shared@3.4.38': {} + '@walletconnect/core@2.13.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -18732,6 +18971,8 @@ snapshots: commondir@1.0.1: {} + compare-versions@6.1.1: {} + compressible@2.0.18: dependencies: mime-db: 1.52.0 @@ -18748,6 +18989,8 @@ snapshots: transitivePeerDependencies: - supports-color + computeds@0.0.1: {} + concat-map@0.0.1: {} confbox@0.1.7: {} @@ -19038,6 +19281,8 @@ snapshots: date-fns@3.6.0: {} + de-indent@1.0.2: {} + debounce@1.2.1: {} debug@2.6.9: @@ -19052,6 +19297,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.6: + dependencies: + ms: 2.1.2 + decimal.js@10.4.3: {} decode-uri-component@0.2.2: {} @@ -20296,6 +20545,8 @@ snapshots: dependencies: '@types/hast': 3.0.4 + he@1.2.0: {} + header-case@1.0.1: dependencies: no-case: 2.3.2 @@ -20837,6 +21088,8 @@ snapshots: klona@2.0.6: {} + kolorist@1.8.0: {} + lazy-universal-dotenv@4.0.0: dependencies: app-root-dir: 1.0.2 @@ -20999,6 +21252,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + make-dir@2.1.0: dependencies: pify: 4.0.1 @@ -21138,6 +21395,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.4.1: {} + multiformats@9.9.0: {} murmurhash3js@3.0.1: {} @@ -23399,6 +23658,26 @@ snapshots: - supports-color - terser + vite-plugin-dts@4.0.3(@types/node@20.14.10)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.10)(terser@5.31.1)): + dependencies: + '@microsoft/api-extractor': 7.47.4(@types/node@20.14.10) + '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@volar/typescript': 2.4.0 + '@vue/language-core': 2.0.29(typescript@5.5.3) + compare-versions: 6.1.1 + debug: 4.3.6 + kolorist: 1.8.0 + local-pkg: 0.5.0 + magic-string: 0.30.11 + typescript: 5.5.3 + vue-tsc: 2.0.29(typescript@5.5.3) + optionalDependencies: + vite: 5.3.3(@types/node@20.14.10)(terser@5.31.1) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + vite-plugin-node-stdlib-browser@0.2.1(node-stdlib-browser@1.2.0)(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(terser@5.31.1)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.18.1) @@ -23468,6 +23747,15 @@ snapshots: vm-browserify@1.1.2: {} + vscode-uri@3.0.8: {} + + vue-tsc@2.0.29(typescript@5.5.3): + dependencies: + '@volar/typescript': 2.4.0 + '@vue/language-core': 2.0.29(typescript@5.5.3) + semver: 7.6.2 + typescript: 5.5.3 + w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0