diff --git a/.changeset/purple-rabbits-drum.md b/.changeset/purple-rabbits-drum.md
new file mode 100644
index 0000000000..a845151cc8
--- /dev/null
+++ b/.changeset/purple-rabbits-drum.md
@@ -0,0 +1,2 @@
+---
+---
diff --git a/packages/apps/dev-wallet/src/App/Layout/BreadCrumbs.tsx b/packages/apps/dev-wallet/src/App/Layout/BreadCrumbs.tsx
deleted file mode 100644
index 5c0671da07..0000000000
--- a/packages/apps/dev-wallet/src/App/Layout/BreadCrumbs.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { MonoWindow } from '@kadena/kode-icons/system';
-import {
- BreadcrumbsItem,
- Breadcrumbs as BreadcrumbsUI,
- Text,
-} from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
-import { FC } from 'react';
-import { Link } from 'react-router-dom';
-
-export const BreadCrumbs: FC = () => {
- const { breadCrumbs } = useLayout();
-
- return (
-
- {breadCrumbs.length ? breadCrumbs[0].visual : }
-
- }
- >
- <>
-
- Dashboard
-
- {breadCrumbs.map((crumb) => (
-
- {crumb.label}
-
- ))}
- >
-
- );
-};
diff --git a/packages/apps/dev-wallet/src/App/Layout/Layout.tsx b/packages/apps/dev-wallet/src/App/Layout/Layout.tsx
index c70c167390..3809e3ee0a 100644
--- a/packages/apps/dev-wallet/src/App/Layout/Layout.tsx
+++ b/packages/apps/dev-wallet/src/App/Layout/Layout.tsx
@@ -15,7 +15,6 @@ import {
import { FC, useMemo } from 'react';
import { Link, Outlet, useLocation, useNavigate } from 'react-router-dom';
import { BetaHeader } from './../BetaHeader';
-import { BreadCrumbs } from './BreadCrumbs';
import { SideBar } from './SideBar';
export const Layout: FC = () => {
@@ -41,7 +40,6 @@ export const Layout: FC = () => {
<>
}
- breadcrumbs={}
location={innerLocation}
sidebar={}
footer={
diff --git a/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx b/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx
index e4add3720e..c70ad3c6b6 100644
--- a/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx
+++ b/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx
@@ -4,7 +4,6 @@ import {
MonoDashboardCustomize,
MonoLogout,
MonoNetworkCheck,
- MonoSwapHoriz,
MonoTableRows,
MonoWallet,
MonoWindow,
@@ -91,13 +90,6 @@ export const SideBar: FC = () => {
/>
- }
- label="Transfer"
- component={Link}
- href="/transfer"
- />
-
}
label="Contacts"
diff --git a/packages/apps/dev-wallet/src/Components/SideBarBreadcrumbs/SideBarBreadcrumbs.tsx b/packages/apps/dev-wallet/src/Components/SideBarBreadcrumbs/SideBarBreadcrumbs.tsx
new file mode 100644
index 0000000000..7f96614874
--- /dev/null
+++ b/packages/apps/dev-wallet/src/Components/SideBarBreadcrumbs/SideBarBreadcrumbs.tsx
@@ -0,0 +1,20 @@
+import { IBreadcrumbsProps } from '@kadena/kode-ui';
+import { SideBarBreadcrumbs as SideBarBreadcrumbsUI } from '@kadena/kode-ui/patterns';
+import React, { FC } from 'react';
+import { Link } from 'react-router-dom';
+
+export const SideBarBreadcrumbs: FC = ({
+ children,
+ ...props
+}) => {
+ return (
+
+ {React.Children.map(children, (child) => {
+ if (!React.isValidElement(child)) {
+ return null;
+ }
+ return React.cloneElement(child, { ...child.props, component: Link });
+ })}
+
+ );
+};
diff --git a/packages/apps/dev-wallet/src/pages/account/account.tsx b/packages/apps/dev-wallet/src/pages/account/account.tsx
index 15d8f50381..068dcaf87d 100644
--- a/packages/apps/dev-wallet/src/pages/account/account.tsx
+++ b/packages/apps/dev-wallet/src/pages/account/account.tsx
@@ -15,14 +15,8 @@ import { getTransferActivities } from '@/modules/activity/activity.service';
import * as transactionService from '@/modules/transaction/transaction.service';
import { useAsync } from '@/utils/useAsync';
import { ChainId } from '@kadena/client';
-import {
- MonoKey,
- MonoRemoveRedEye,
- MonoTransform,
- MonoWallet,
-} from '@kadena/kode-icons/system';
+import { MonoKey, MonoRemoveRedEye } from '@kadena/kode-icons/system';
import { Button, Heading, Stack, TabItem, Tabs, Text } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
import { useMemo, useState } from 'react';
import { Link, useNavigate, useParams } from 'react-router-dom';
import { noStyleLinkClass, panelClass } from '../home/style.css';
@@ -41,27 +35,6 @@ export function AccountPage() {
watchAccounts.find((account) => account.uuid === accountId);
const navigate = useNavigate();
- useLayout({
- breadCrumbs: [
- {
- label:
- activeNetwork?.name || activeNetwork?.networkId || 'Unknown Network',
- url: '/',
- visual: ,
- },
- {
- url: `/account/${accountId || ''}`,
- label: `Account (${account?.alias || account?.address || 'Unknown Account'})`,
- },
- ],
- appContext: {
- visual: ,
- label: 'Add Asset',
- onPress: () => {
- navigate('/add-asset');
- },
- },
- });
const keyset = account?.keyset;
const asset = fungibles.find((f) => f.contract === account?.contract);
diff --git a/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/backup-recovery-phrase.tsx b/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/backup-recovery-phrase.tsx
index 71d8fde7d8..9b0af35bda 100644
--- a/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/backup-recovery-phrase.tsx
+++ b/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/backup-recovery-phrase.tsx
@@ -1,23 +1,22 @@
import { AuthCard } from '@/Components/AuthCard/AuthCard';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { MonoDashboardCustomize } from '@kadena/kode-icons/system';
import { Box, Button, Heading, Stack, Text } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
import { Link } from 'react-router-dom';
-
+}>
+ Dashboard
+ Dev Console
+;
export function BackupRecoveryPhrase() {
- useLayout({
- appContext: undefined,
- breadCrumbs: [
- {
- label: 'Backup',
- visual: ,
- url: '/backup-recovery-phrase',
- },
- ],
- });
-
return (
<>
+ }>
+ Dashboard
+
+ Backup
+
+
Backup the recovery phrase
diff --git a/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/write-down/write-down-recovery-phrase.tsx b/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/write-down/write-down-recovery-phrase.tsx
index e6af31c94f..bf0869b0b1 100644
--- a/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/write-down/write-down-recovery-phrase.tsx
+++ b/packages/apps/dev-wallet/src/pages/backup-recovery-phrase/write-down/write-down-recovery-phrase.tsx
@@ -1,27 +1,14 @@
import { AuthCard } from '@/Components/AuthCard/AuthCard';
import { BackupMnemonic } from '@/Components/BackupMnemonic/BackupMnemonic';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { useWallet } from '@/modules/wallet/wallet.hook';
import { MonoDashboardCustomize } from '@kadena/kode-icons/system';
import { Notification } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
import { useState } from 'react';
import { useNavigate } from 'react-router-dom';
export function WriteDownRecoveryPhrase() {
- useLayout({
- appContext: undefined,
- breadCrumbs: [
- {
- label: 'Backup',
- visual: ,
- url: '/backup-recovery-phrase',
- },
- {
- label: 'Recovery phrase',
- url: '/backup-recovery-phrase/write-down',
- },
- ],
- });
const { decryptSecret, askForPassword, profile } = useWallet();
const [mnemonic, setMnemonic] = useState('');
const [error, setError] = useState('');
@@ -55,6 +42,12 @@ export function WriteDownRecoveryPhrase() {
}
return (
<>
+ }>
+ Dashboard
+
+ Recovery phrase
+
+
{
,
- label: 'Add Contact',
- onPress: () => {
- setIsRightAsideExpanded(true);
- },
- },
- breadCrumbs: [
- {
- label: 'Contacts',
- visual: ,
- url: '/contacts',
- },
- ],
- });
+ const { setIsRightAsideExpanded, isRightAsideExpanded } = useLayout();
const [editContact, setEditContact] = useState();
const { contacts } = useWallet();
const prompt = usePrompt();
@@ -53,6 +39,13 @@ export function Contacts() {
return (
<>
+ }>
+ Dashboard
+
+ Contacts
+
+
+
,
- },
- ],
- appContext: {
- visual: ,
- label: 'Add Asset',
- onPress: () => {
- setIsRightAsideExpanded(true);
- },
- },
- });
const [transactions] = useAsync(
async (profile, activeNetwork) => {
@@ -56,28 +38,33 @@ export function HomePage() {
);
return (
-
- Welcome back
- {profile?.name}
-
-
-
- Wallet Activities
-
-
-
-
-
-
- All transactions
-
-
-
- WIP: Not implemented yet
-
+ <>
+ }>
+ Dashboard
+
+
+ Welcome back
+ {profile?.name}
+
+
+
+ Wallet Activities
+
+
+
+
+
+
+ All transactions
+
+
+
+ WIP: Not implemented yet
+
+
-
-
+
+ >
);
}
diff --git a/packages/apps/dev-wallet/src/pages/keys/keys-page.tsx b/packages/apps/dev-wallet/src/pages/keys/keys-page.tsx
index 75fd5f5cc1..e0f7b99787 100644
--- a/packages/apps/dev-wallet/src/pages/keys/keys-page.tsx
+++ b/packages/apps/dev-wallet/src/pages/keys/keys-page.tsx
@@ -1,56 +1,49 @@
-import { createAsideUrl } from '@/utils/createAsideUrl';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { Mono123, MonoKey } from '@kadena/kode-icons/system';
import { Heading, Stack, TabItem, Tabs, Text } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
-import { Link, useParams } from 'react-router-dom';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
+import { useParams } from 'react-router-dom';
import { Keys } from './Components/Keys';
import { KeySets } from './Components/KeySets';
export function KeysPage() {
const { tab = 'keys' } = useParams();
- useLayout({
- appContext: {
- visual: ,
- label: 'Add key Source',
- href: createAsideUrl('KeySource'),
- component: Link,
- },
- breadCrumbs: [
- {
- label: 'Manage Your Keys',
- visual: ,
- url: '/key-management/keys',
- },
- ],
- });
return (
-
- Manage Your Keys
-
-
-
- Your Keys
-
- }
- >
-
-
-
-
- Your Key Sets
-
- }
- >
-
-
-
-
+ <>
+ }>
+ Dashboard
+
+ Manage Your Keys
+
+
+
+ Manage Your Keys
+
+
+
+ Your Keys
+
+ }
+ >
+
+
+
+
+ Your Key Sets
+
+ }
+ >
+
+
+
+
+ >
);
}
diff --git a/packages/apps/dev-wallet/src/pages/networks/networks.tsx b/packages/apps/dev-wallet/src/pages/networks/networks.tsx
index a784050e35..8fe87b0fdc 100644
--- a/packages/apps/dev-wallet/src/pages/networks/networks.tsx
+++ b/packages/apps/dev-wallet/src/pages/networks/networks.tsx
@@ -1,10 +1,10 @@
import { ListItem } from '@/Components/ListItem/ListItem';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { networkRepository } from '@/modules/network/network.repository';
import { useWallet } from '@/modules/wallet/wallet.hook';
-import { createAsideUrl } from '@/utils/createAsideUrl';
-import { MonoWifiTethering, MonoWorkspaces } from '@kadena/kode-icons/system';
-import { Button, Heading, Link, Stack, Text } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
+import { MonoWifiTethering } from '@kadena/kode-icons/system';
+import { Button, Heading, Stack, Text } from '@kadena/kode-ui';
+import { SideBarBreadcrumbsItem, useLayout } from '@kadena/kode-ui/patterns';
import { useState } from 'react';
import { panelClass } from '../home/style.css';
import {
@@ -18,20 +18,16 @@ export function Networks() {
const { setIsRightAsideExpanded, isRightAsideExpanded } = useLayout();
const [selectedNetwork, setSelectedNetwork] =
useState(() => getNewNetwork());
- useLayout({
- appContext: {
- visual: ,
- label: 'Add Network',
- href: createAsideUrl('KeySource'),
- component: Link,
- },
- breadCrumbs: [
- { label: 'Networks', visual: , url: '/networks' },
- ],
- });
return (
<>
+ }>
+ Dashboard
+
+ Networks
+
+
+
([]);
const { profile, activeNetwork, networks, setActiveNetwork } = useWallet();
const navigate = useNavigate();
- useLayout({
- appContext: undefined,
- breadCrumbs: [
- {
- label: 'Sig Builder',
- visual: ,
- url: '/sig-builder',
- },
- ],
- });
const exec =
pactCommand && pactCommand.payload && 'exec' in pactCommand.payload
@@ -200,35 +191,46 @@ export function SignatureBuilder() {
};
return (
-
- Paste SigData, CommandSigData, or Payload
-
+
+ >
);
}
diff --git a/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx b/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx
index cfe0ec0203..23cc633f6f 100644
--- a/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx
+++ b/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx
@@ -1,7 +1,10 @@
import { transactionRepository } from '@/modules/transaction/transaction.repository';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { useAsync } from '@/utils/useAsync';
+import { MonoSwapHoriz } from '@kadena/kode-icons/system';
import { Heading, Stack, Text } from '@kadena/kode-ui';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
import { useParams } from 'react-router-dom';
import { TxList } from './components/TxList';
@@ -15,21 +18,33 @@ export const TransactionPage = () => {
[groupId],
);
return (
-
-
- Transactions
- {txs.length === 0 && No transactions}
- {txs.length >= 2 && (
- This is a group of {txs.length} Transactions
- )}
+ <>
+ }>
+ Dashboard
+
+ Transactions
+
+
+ Transaction Group
+
+
+
+
+
+ Transactions
+ {txs.length === 0 && No transactions}
+ {txs.length >= 2 && (
+ This is a group of {txs.length} Transactions
+ )}
+
+ {
+ console.log('done');
+ }}
+ txIds={txs.map((tx) => tx.uuid)}
+ showExpanded={txs.length === 1}
+ />
- {
- console.log('done');
- }}
- txIds={txs.map((tx) => tx.uuid)}
- showExpanded={txs.length === 1}
- />
-
+ >
);
};
diff --git a/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx b/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx
index 83483273a9..7d4fe23d7c 100644
--- a/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx
+++ b/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx
@@ -1,3 +1,4 @@
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import {
ITransaction,
transactionRepository,
@@ -7,7 +8,7 @@ import { shorten } from '@/utils/helpers';
import { IPactCommand } from '@kadena/client';
import { MonoOpenInNew, MonoSwapHoriz } from '@kadena/kode-icons/system';
import { Box, Heading, Stack, Text } from '@kadena/kode-ui';
-import { useLayout } from '@kadena/kode-ui/patterns';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
import { useEffect, useMemo, useState } from 'react';
import { Link } from 'react-router-dom';
import { listClass, listItemClass, panelClass } from '../home/style.css';
@@ -15,22 +16,6 @@ import { hashStyle } from './style.css';
export function Transactions() {
const { profile, activeNetwork } = useWallet();
- useLayout({
- appContext: undefined,
- breadCrumbs: [
- {
- label:
- activeNetwork?.name || activeNetwork?.networkId || 'Unknown Network',
- url: '/',
- visual: ,
- },
- {
- label: 'Transactions',
- visual: ,
- url: '/transactions',
- },
- ],
- });
const [transactions, setTransactions] = useState<
(ITransaction & { creationDate: number })[]
>([]);
@@ -58,10 +43,18 @@ export function Transactions() {
}, [profile?.uuid, activeNetwork?.uuid]);
return (
-
- Transactions
-
-
+ <>
+ }>
+ Dashboard
+
+ Transactions
+
+
+
+ Transactions
+
+
+ >
);
}
@@ -91,45 +84,47 @@ export const TransactionList = ({
[transactions],
);
return (
-
- {txs.length ? (
-
- {txs.map((tx) => (
- -
-
-
-
-
-
-
- {shorten(tx.hash)}
+ <>
+
+ {txs.length ? (
+
+ {txs.map((tx) => (
+ -
+
+
+
+
+
+
+ {shorten(tx.hash)}
-
-
- {tx.type === 'exec' ? tx.code : `cont: ${tx.code}`}
-
-
+
+
+ {tx.type === 'exec' ? tx.code : `cont: ${tx.code}`}
+
+
- {tx.status}
+ {tx.status}
-
- {new Date(
- ((JSON.parse(tx.cmd) as IPactCommand).meta.creationTime ||
- 0) * 1000,
- ).toLocaleString()}
-
-
-
- ))}
-
- ) : null}
-
+
+ {new Date(
+ ((JSON.parse(tx.cmd) as IPactCommand).meta.creationTime ||
+ 0) * 1000,
+ ).toLocaleString()}
+
+
+
+ ))}
+
+ ) : null}
+
+ >
);
};
diff --git a/packages/apps/dev-wallet/src/pages/transfer-v2/transfer-v2.tsx b/packages/apps/dev-wallet/src/pages/transfer-v2/transfer-v2.tsx
index e851baa438..a2a926d154 100644
--- a/packages/apps/dev-wallet/src/pages/transfer-v2/transfer-v2.tsx
+++ b/packages/apps/dev-wallet/src/pages/transfer-v2/transfer-v2.tsx
@@ -6,12 +6,13 @@ import { MonoSwapHoriz } from '@kadena/kode-icons/system';
import { Divider, Heading, Stack, Step, Stepper, Text } from '@kadena/kode-ui';
import { useCallback, useEffect, useState } from 'react';
+import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs';
import { activityRepository } from '@/modules/activity/activity.repository';
import {
ITransaction,
transactionRepository,
} from '@/modules/transaction/transaction.repository';
-import { useLayout } from '@kadena/kode-ui/patterns';
+import { SideBarBreadcrumbsItem } from '@kadena/kode-ui/patterns';
import { useNavigate, useSearchParams } from 'react-router-dom';
import { ReviewTransaction } from '../transaction/components/ReviewTransaction';
import { TxList } from '../transaction/components/TxList';
@@ -31,22 +32,7 @@ export function TransferV2() {
activeNetwork,
profile,
} = useWallet();
- useLayout({
- appContext: undefined,
- breadCrumbs: [
- {
- label:
- activeNetwork?.name || activeNetwork?.networkId || 'Unknown Network',
- url: '/',
- visual: ,
- },
- {
- label: 'Transfer',
- visual: ,
- url: '/transfer',
- },
- ],
- });
+
const navigate = useNavigate();
const [searchParams] = useSearchParams();
const accountId = searchParams.get('accountId');
@@ -270,83 +256,95 @@ export function TransferV2() {
};
return (
-
-
- }
- onClick={() => {
- setStep('transfer');
- }}
- active={step === 'transfer'}
- >
+ <>
+ }>
+ Dashboard
+
Transfer
-
- Transactions
- Result
-
- {step === 'transfer' && (
-
-
- {
- const senderAccount = allAccounts.find(
- (acc) => acc.uuid === data.accountId,
- );
- if (!senderAccount?.keyset?.uuid) return;
- const formData = { ...data, senderAccount };
- const getEmpty = () => ['', []] as [string, ITransaction[]];
- let redistributionGroup = getEmpty();
+
+
+
+
+ }
+ onClick={() => {
+ setStep('transfer');
+ }}
+ active={step === 'transfer'}
+ >
+ Transfer
+
+ Transactions
+ Result
+
+ {step === 'transfer' && (
+
+
+ {
+ const senderAccount = allAccounts.find(
+ (acc) => acc.uuid === data.accountId,
+ );
+ if (!senderAccount?.keyset?.uuid) return;
+ const formData = { ...data, senderAccount };
+ const getEmpty = () => ['', []] as [string, ITransaction[]];
+ let redistributionGroup = getEmpty();
- if (redistribution.length > 0) {
- redistributionGroup =
- (await createRedistribution(formData, redistribution)) ??
- getEmpty();
- }
- const txGroup =
- (await createTransaction(formData)) ?? getEmpty();
- const updatedTxGroups = {
- redistribution: {
- groupId: redistributionGroup[0] ?? '',
- txs: redistributionGroup[1] ?? [],
- },
- transfer: {
- groupId: txGroup[0] ?? '',
- txs: txGroup[1] ?? [],
- },
- };
- setTxGroups(updatedTxGroups);
- const activityId = crypto.randomUUID();
- await activityRepository.addActivity({
- data: {
- transferData: data,
- txGroups: {
- transfer: {
- groupId: updatedTxGroups.transfer.groupId,
- },
- redistribution: {
- groupId: updatedTxGroups.redistribution.groupId,
+ if (redistribution.length > 0) {
+ redistributionGroup =
+ (await createRedistribution(formData, redistribution)) ??
+ getEmpty();
+ }
+ const txGroup =
+ (await createTransaction(formData)) ?? getEmpty();
+ const updatedTxGroups = {
+ redistribution: {
+ groupId: redistributionGroup[0] ?? '',
+ txs: redistributionGroup[1] ?? [],
+ },
+ transfer: {
+ groupId: txGroup[0] ?? '',
+ txs: txGroup[1] ?? [],
+ },
+ };
+ setTxGroups(updatedTxGroups);
+ const activityId = crypto.randomUUID();
+ await activityRepository.addActivity({
+ data: {
+ transferData: data,
+ txGroups: {
+ transfer: {
+ groupId: updatedTxGroups.transfer.groupId,
+ },
+ redistribution: {
+ groupId: updatedTxGroups.redistribution.groupId,
+ },
},
},
- },
- keysetId: senderAccount.keyset?.uuid,
- networkUUID: activeNetwork!.uuid,
- profileId: profile?.uuid ?? '',
- status: 'Initiated',
- type: 'Transfer',
- uuid: activityId,
- });
- setStep('sign');
- // then the page will stay on the sign step if refresh
- navigate(`/transfer?activityId=${activityId}`);
- }}
- />
+ keysetId: senderAccount.keyset?.uuid,
+ networkUUID: activeNetwork!.uuid,
+ profileId: profile?.uuid ?? '',
+ status: 'Initiated',
+ type: 'Transfer',
+ uuid: activityId,
+ });
+ setStep('sign');
+ // then the page will stay on the sign step if refresh
+ navigate(`/transfer?activityId=${activityId}`);
+ }}
+ />
+
-
- )}
- {(step === 'sign' || step === 'result' || step === 'summary') &&
- renderSignStep()}
-
+ )}
+ {(step === 'sign' || step === 'result' || step === 'summary') &&
+ renderSignStep()}
+
+ >
);
}
diff --git a/packages/libs/kode-ui/package.json b/packages/libs/kode-ui/package.json
index 877c05f137..9bc96e4cdf 100644
--- a/packages/libs/kode-ui/package.json
+++ b/packages/libs/kode-ui/package.json
@@ -108,6 +108,7 @@
"react": "^18.2.0",
"react-aria": "^3.31.1",
"react-dom": "^18.2.0",
+ "react-intersection-observer": "^9.10.3",
"react-stately": "^3.29.1",
"react-use": "^17.4.0"
},
diff --git a/packages/libs/kode-ui/src/components/Breadcrumbs/Breadcrumbs.css.ts b/packages/libs/kode-ui/src/components/Breadcrumbs/Breadcrumbs.css.ts
index f0bb763dd7..9f2f3bbb48 100644
--- a/packages/libs/kode-ui/src/components/Breadcrumbs/Breadcrumbs.css.ts
+++ b/packages/libs/kode-ui/src/components/Breadcrumbs/Breadcrumbs.css.ts
@@ -1,4 +1,4 @@
-import { atoms, style, token } from '../../styles';
+import { atoms, globalStyle, style, token } from '../../styles';
export const containerClass = style([
atoms({
@@ -55,9 +55,18 @@ export const linkClass = style({
},
});
-export const navClass = style({
- display: 'flex',
- justifyContent: 'center',
- alignItems: 'center',
- width: 'max-content',
+export const navClass = style([
+ atoms({
+ display: 'flex',
+ justifyContent: 'center',
+ alignItems: 'center',
+ }),
+ {
+ width: 'max-content',
+ },
+]);
+
+globalStyle(`${navClass} svg`, {
+ width: '20px',
+ color: token('color.text.gray.default'),
});
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/SideBar.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/SideBar.tsx
index dc9dab3abc..e68d30674c 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/SideBar.tsx
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/SideBar.tsx
@@ -58,6 +58,7 @@ export const SideBar: FC = ({
className={menuBackdropClass({ expanded: isExpanded })}
onClick={(e) => handleExpand(e as unknown as PressEvent)}
/>
+
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/aside.css.ts b/packages/libs/kode-ui/src/patterns/SideBarLayout/aside.css.ts
index 5c81591378..6125880d7e 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/aside.css.ts
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/aside.css.ts
@@ -10,9 +10,11 @@ import {
export const asideWrapperClass = recipe({
base: [
{
+ position: 'fixed',
gridArea: 'sidebarlayout-aside',
paddingBlockEnd: token('spacing.md'),
backgroundColor: token('color.background.base.default'),
+ gridRow: '2/5',
},
responsiveStyle({
xs: {
@@ -24,7 +26,6 @@ export const asideWrapperClass = recipe({
willChange: 'transform',
transition: 'transform .4s ease',
transform: 'translateX(100%)',
- position: 'absolute',
opacity: 0,
top: 0,
bottom: 0,
@@ -35,25 +36,22 @@ export const asideWrapperClass = recipe({
maxWidth: '370px',
},
xl: {
- position: 'absolute',
transform: 'translateX(0%)',
marginInlineEnd: token('spacing.md'),
},
}),
],
variants: {
- hasTopBanner: {
- false: { gridRow: '1/5' },
- true: { gridRow: '2/5' },
- },
expanded: {
true: {
opacity: 1,
transform: 'translateX(0%)',
+ pointerEvents: 'auto',
},
false: [
{
opacity: 0,
+ pointerEvents: 'none',
},
],
},
@@ -65,7 +63,7 @@ export const menuBackdropClass = recipe({
responsiveStyle({
xs: {
display: 'flex',
- position: 'absolute',
+ position: 'fixed',
inset: 0,
background: token('color.neutral.n90@alpha20'),
zIndex: token('zIndex.overlay'),
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbs.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbs.tsx
new file mode 100644
index 0000000000..84fea359be
--- /dev/null
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbs.tsx
@@ -0,0 +1,20 @@
+import type { FC } from 'react';
+import React from 'react';
+import { createPortal } from 'react-dom';
+import type { IBreadcrumbsProps } from './../../../../components';
+import { Breadcrumbs } from './../../../../components';
+import { useLayout } from './../LayoutProvider';
+
+export const SideBarBreadcrumbs: FC = ({
+ children,
+ ...props
+}) => {
+ const { breadcrumbsRef } = useLayout();
+
+ if (!breadcrumbsRef || React.Children.count(children) === 0) return null;
+
+ return createPortal(
+ {children},
+ breadcrumbsRef,
+ );
+};
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbsItem.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbsItem.tsx
new file mode 100644
index 0000000000..eed0772ea6
--- /dev/null
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/SideBarBreadcrumbsItem.tsx
@@ -0,0 +1,12 @@
+import type { FC } from 'react';
+import React from 'react';
+
+import type { IBreadcrumbItemProps } from './../../../../components';
+import { BreadcrumbsItem } from './../../../../components';
+
+export const SideBarBreadcrumbsItem: FC = ({
+ children,
+ ...props
+}) => {
+ return {children};
+};
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/index.ts b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/index.ts
new file mode 100644
index 0000000000..2421959460
--- /dev/null
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/Breadcrumbs/index.ts
@@ -0,0 +1,2 @@
+export { SideBarBreadcrumbs } from './SideBarBreadcrumbs';
+export { SideBarBreadcrumbsItem } from './SideBarBreadcrumbsItem';
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/LayoutProvider.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/LayoutProvider.tsx
index 6c73f0f8f2..eb47994b73 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/LayoutProvider.tsx
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/LayoutProvider.tsx
@@ -1,11 +1,5 @@
import type { FC, PropsWithChildren } from 'react';
-import React, {
- createContext,
- useCallback,
- useContext,
- useEffect,
- useState,
-} from 'react';
+import React, { createContext, useCallback, useContext, useState } from 'react';
import type { PressEvent } from 'react-aria';
import type { ISideBarLayoutLocation } from '../types';
@@ -40,6 +34,8 @@ export interface ILayoutContext {
setRightAsideRef: (value?: HTMLDivElement | null) => void;
isRightAsideExpanded: boolean;
setIsRightAsideExpanded: (value: boolean) => void;
+ breadcrumbsRef?: HTMLDivElement | null;
+ setBreadcrumbsRef: (value?: HTMLDivElement | null) => void;
}
export const LayoutContext = createContext({
isExpanded: true,
@@ -58,44 +54,16 @@ export const LayoutContext = createContext({
setIsRightAsideExpanded: () => {},
});
-export interface IuseLayoutProps extends ILayoutContext {}
-
-export const useLayout = (
- props?: Pick,
-): IuseLayoutProps => {
- const context = useContext(LayoutContext);
-
- useEffect(() => {
- if (!props) return;
-
- if (props.appContext?.label !== context.appContext?.label) {
- context.setAppContext(props.appContext);
- }
-
- //check if the content of the breadcrumbs has changed
- const breadCrumbsHasChanged = props.breadCrumbs.reduce((acc, val, idx) => {
- const oldVal = context.breadCrumbs[idx];
- if (val.url !== oldVal?.url || val.label !== oldVal.label) return true;
-
- return acc;
- }, false);
-
- if (
- props.breadCrumbs.length !== context.breadCrumbs.length ||
- breadCrumbsHasChanged
- ) {
- context.setBreadCrumbs(props.breadCrumbs);
- }
- }, [props?.appContext, props?.breadCrumbs]);
-
- return { ...context };
-};
+export const useLayout = () => useContext(LayoutContext);
export interface ILayoutProvider extends PropsWithChildren {}
export const LayoutProvider: FC = ({ children }) => {
const [rightAsideRef, setRightAsideRefState] =
useState(null);
+
+ const [breadcrumbsRef, setBreadcrumbsRefState] =
+ useState(null);
const [isRightAsideExpanded, setIsRightAsideExpanded] = useState(false);
const [rightAsideTitle, setRightAsideTitleState] = useState<
string | undefined
@@ -155,6 +123,10 @@ export const LayoutProvider: FC = ({ children }) => {
setRightAsideRefState(value ? value : null);
};
+ const setBreadcrumbsRef = (value?: HTMLDivElement | null) => {
+ setBreadcrumbsRefState(value ? value : null);
+ };
+
const isActiveUrl = (url?: string) => {
return !!url && url === location?.url;
};
@@ -179,6 +151,8 @@ export const LayoutProvider: FC = ({ children }) => {
setRightAsideRef,
isRightAsideExpanded,
setIsRightAsideExpanded: handleSetRightAsideExpanded,
+ breadcrumbsRef,
+ setBreadcrumbsRef,
}}
>
{children}
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarAside.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarAside.tsx
index 2100dc0cd4..1aee57e11c 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarAside.tsx
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarAside.tsx
@@ -15,9 +15,8 @@ import { Button, Heading, Stack } from './../../../components';
import { useLayout } from './LayoutProvider';
export const SideBarAside: FC<{
- hasTopBanner?: boolean;
location: ISideBarLayoutLocation;
-}> = ({ hasTopBanner, location }) => {
+}> = ({ location }) => {
const {
setIsRightAsideExpanded,
isRightAsideExpanded,
@@ -51,7 +50,6 @@ export const SideBarAside: FC<{
);
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTree.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTree.tsx
index 8189c4f2d7..ddafa91306 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTree.tsx
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTree.tsx
@@ -3,13 +3,13 @@ import React, { useEffect, useState } from 'react';
import { useMedia } from 'react-use';
import { listItemClass } from '../sidebar.css';
import type { PressEvent } from './../../../components/Button';
-import { Button } from './../../../components/Button';
import { Link } from './../../../components/Link';
import { Media } from './../../../components/Media';
import { breakpoints } from './../../../styles';
import { useLayout } from './LayoutProvider';
import type { ISideBarItemProps } from './SideBarItem';
import { sidebartreeListClass } from './sidebartree.css';
+import { SideBarTreeWrapper } from './SideBarTreeWrapper';
const LOCALSTORAGEKEY = 'sidemenu';
@@ -59,7 +59,7 @@ export const SideBarTree: FC = ({
setTreeIsExpanded(innerExpanded);
};
- const Component = href ? Link : Button;
+ const Component = href ? Link : SideBarTreeWrapper;
return (
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTreeWrapper.tsx b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTreeWrapper.tsx
new file mode 100644
index 0000000000..e6b8fa20d9
--- /dev/null
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/SideBarTreeWrapper.tsx
@@ -0,0 +1,21 @@
+import type { FC, ReactElement } from 'react';
+import React from 'react';
+import type { AriaButtonProps } from 'react-aria';
+import { sidebarTreeWrapperClass } from './sidebartree.css';
+
+export type ISideBarTreeWrapperProps = AriaButtonProps<'button'> & {
+ startVisual?: ReactElement;
+};
+
+export const SideBarTreeWrapper: FC = ({
+ children,
+ startVisual,
+ ...props
+}) => {
+ return (
+
+ );
+};
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/sidebartree.css.ts b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/sidebartree.css.ts
index ee61e41555..86baec0a43 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/components/sidebartree.css.ts
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/components/sidebartree.css.ts
@@ -1,5 +1,5 @@
import { style } from '@vanilla-extract/css';
-import { atoms, token } from './../../../styles';
+import { atoms, globalStyle, token } from './../../../styles';
export const sidebartreeListClass = style([
atoms({
@@ -40,3 +40,25 @@ export const sidebartreeItemClass = style([
},
},
]);
+
+export const sidebarTreeWrapperClass = style([
+ atoms({
+ display: 'flex',
+ justifyContent: 'flex-start',
+ alignItems: 'center',
+ width: '100%',
+ border: 'none',
+ cursor: 'pointer',
+ color: 'text.gray.default',
+ paddingBlock: 'sm',
+ paddingInline: 'xs',
+ gap: 'md',
+ }),
+ {
+ backgroundColor: 'transparent',
+ },
+]);
+
+globalStyle(`${sidebarTreeWrapperClass} svg`, {
+ width: '12px',
+});
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/sidebar.css.ts b/packages/libs/kode-ui/src/patterns/SideBarLayout/sidebar.css.ts
index 2026c9fe73..682a998f4e 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/sidebar.css.ts
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/sidebar.css.ts
@@ -52,6 +52,7 @@ export const menuBackdropClass = recipe({
export const menuWrapperClass = recipe({
base: [
atoms({
+ position: 'fixed',
flexDirection: 'column',
flex: 1,
gap: 'sm',
@@ -68,7 +69,6 @@ export const menuWrapperClass = recipe({
willChange: 'transform',
transition: 'transform .4s ease',
transform: 'translateX(-100%)',
- position: 'relative',
gridArea: 'sidebarlayout-main',
gridRow: '1/5',
inset: 0,
diff --git a/packages/libs/kode-ui/src/patterns/SideBarLayout/styles.css.ts b/packages/libs/kode-ui/src/patterns/SideBarLayout/styles.css.ts
index b29d5706b9..be8af71fbc 100644
--- a/packages/libs/kode-ui/src/patterns/SideBarLayout/styles.css.ts
+++ b/packages/libs/kode-ui/src/patterns/SideBarLayout/styles.css.ts
@@ -14,7 +14,6 @@ export const layoutWrapperClass = recipe({
{
variants: {
variant: 'default',
- hasTopBanner: false,
},
style: [
responsiveStyle({
@@ -49,15 +48,13 @@ export const layoutWrapperClass = recipe({
{
variants: {
variant: 'default',
- hasTopBanner: true,
},
style: [
responsiveStyle({
xs: {
gridTemplateColumns: 'auto',
- gridTemplateRows: `minMax(0px, 60px) ${minHeaderHeight} 1fr 60px`,
+ gridTemplateRows: `${minHeaderHeight} 1fr 60px`,
gridTemplateAreas: `
- "sidebarlayout-topbanner"
"sidebarlayout-header"
"sidebarlayout-main"
"sidebarlayout-footer"
@@ -65,9 +62,8 @@ export const layoutWrapperClass = recipe({
},
md: {
gridTemplateColumns: '45px auto',
- gridTemplateRows: `minMax(0px, 60px) ${minHeaderHeight} 1fr`,
+ gridTemplateRows: `${minHeaderHeight} 1fr`,
gridTemplateAreas: `
- "sidebarlayout-topbanner sidebarlayout-topbanner sidebarlayout-topbanner"
"sidebarlayout-sidebar sidebarlayout-header sidebarlayout-header"
"sidebarlayout-sidebar sidebarlayout-main sidebarlayout-aside"
`,
@@ -80,17 +76,12 @@ export const layoutWrapperClass = recipe({
},
],
variants: {
- hasTopBanner: {
- true: {},
- false: {},
- },
variant: {
full: [
style({
gridTemplateColumns: 'auto',
- gridTemplateRows: `60px ${minHeaderHeight} 1fr`,
+ gridTemplateRows: `${minHeaderHeight} 1fr`,
gridTemplateAreas: `
- "sidebarlayout-topbanner"
"sidebarlayout-header"
"sidebarlayout-main"
`,
@@ -120,7 +111,6 @@ export const bodyWrapperClass = style({
export const mainClass = recipe({
base: {
- overflowY: 'scroll',
gridArea: 'sidebarlayout-main',
},
variants: {
diff --git a/packages/libs/kode-ui/src/patterns/index.ts b/packages/libs/kode-ui/src/patterns/index.ts
index beafa604ba..417e6fbb62 100644
--- a/packages/libs/kode-ui/src/patterns/index.ts
+++ b/packages/libs/kode-ui/src/patterns/index.ts
@@ -42,4 +42,9 @@ export {
RightAsideHeader,
} from './SideBarLayout/components/RightAside';
+export {
+ SideBarBreadcrumbs,
+ SideBarBreadcrumbsItem,
+} from './SideBarLayout/components/Breadcrumbs';
+
export type { iRightAsideHeader } from './SideBarLayout/components/RightAside';
diff --git a/packages/libs/kode-ui/src/styles/tokens/contract.css.ts b/packages/libs/kode-ui/src/styles/tokens/contract.css.ts
index 704212fa95..9f8edf719d 100644
--- a/packages/libs/kode-ui/src/styles/tokens/contract.css.ts
+++ b/packages/libs/kode-ui/src/styles/tokens/contract.css.ts
@@ -4926,6 +4926,42 @@ export const tokens = createThemeContract({
},
},
},
+ layout: {
+ content: {
+ /**
+ * @light `"33.75rem"`
+ * @dark `"33.75rem"`
+ */
+ minWidth: '',
+ /**
+ * @light `"42.5rem"`
+ * @dark `"42.5rem"`
+ */
+ maxWidth: '',
+ },
+ },
+ effect: {
+ shadow: {
+ /**
+ * This is the shadow 1 description
+ * @light `"4px 0.5rem tokens.kda.foundation.size.n2 4px #000000"`
+ * @dark `"4px 0.5rem tokens.kda.foundation.size.n2 4px #000000"`
+ */
+ level1: '',
+ /**
+ * This is the shadow 2 description
+ * @light `"4rem 4rem tokens.kda.foundation.size.n2 2rem #000000"`
+ * @dark `"4rem 4rem tokens.kda.foundation.size.n2 2rem #000000"`
+ */
+ level2: '',
+ /**
+ * This is the shadow 3 description updated
+ * @light `"0px 0px tokens.kda.foundation.size.n2 24px #000000"`
+ * @dark `"0px 0px tokens.kda.foundation.size.n2 24px #000000"`
+ */
+ level3: '',
+ },
+ },
icon: {
size: {
/**
@@ -4965,42 +5001,6 @@ export const tokens = createThemeContract({
xxl: '',
},
},
- effect: {
- shadow: {
- /**
- * This is the shadow 1 description
- * @light `"4px 0.5rem tokens.kda.foundation.size.n2 4px #000000"`
- * @dark `"4px 0.5rem tokens.kda.foundation.size.n2 4px #000000"`
- */
- level1: '',
- /**
- * This is the shadow 2 description
- * @light `"4rem 4rem tokens.kda.foundation.size.n2 2rem #000000"`
- * @dark `"4rem 4rem tokens.kda.foundation.size.n2 2rem #000000"`
- */
- level2: '',
- /**
- * This is the shadow 3 description updated
- * @light `"0px 0px tokens.kda.foundation.size.n2 24px #000000"`
- * @dark `"0px 0px tokens.kda.foundation.size.n2 24px #000000"`
- */
- level3: '',
- },
- },
- layout: {
- content: {
- /**
- * @light `"33.75rem"`
- * @dark `"33.75rem"`
- */
- minWidth: '',
- /**
- * @light `"42.5rem"`
- * @dark `"42.5rem"`
- */
- maxWidth: '',
- },
- },
typography: {
family: {
/**
diff --git a/packages/libs/kode-ui/src/styles/tokens/dark.css.ts b/packages/libs/kode-ui/src/styles/tokens/dark.css.ts
index f5fe630abc..f3b03e8bf5 100644
--- a/packages/libs/kode-ui/src/styles/tokens/dark.css.ts
+++ b/packages/libs/kode-ui/src/styles/tokens/dark.css.ts
@@ -1286,15 +1286,10 @@ export const darkThemeValues = {
},
},
},
- icon: {
- size: {
- xxs: tokens.kda.foundation.size.n3,
- xs: tokens.kda.foundation.size.n4,
- sm: tokens.kda.foundation.size.n5,
- base: tokens.kda.foundation.size.n6,
- lg: tokens.kda.foundation.size.n8,
- xl: tokens.kda.foundation.size.n10,
- xxl: tokens.kda.foundation.size.n16,
+ layout: {
+ content: {
+ minWidth: '33.75rem',
+ maxWidth: '42.5rem',
},
},
effect: {
@@ -1304,10 +1299,15 @@ export const darkThemeValues = {
level3: `0px 0px ${tokens.kda.foundation.size.n2} 24px #000000`,
},
},
- layout: {
- content: {
- minWidth: '33.75rem',
- maxWidth: '42.5rem',
+ icon: {
+ size: {
+ xxs: tokens.kda.foundation.size.n3,
+ xs: tokens.kda.foundation.size.n4,
+ sm: tokens.kda.foundation.size.n5,
+ base: tokens.kda.foundation.size.n6,
+ lg: tokens.kda.foundation.size.n8,
+ xl: tokens.kda.foundation.size.n10,
+ xxl: tokens.kda.foundation.size.n16,
},
},
typography: {
diff --git a/packages/libs/kode-ui/src/styles/tokens/light.css.ts b/packages/libs/kode-ui/src/styles/tokens/light.css.ts
index 9c994fe494..1ae38636fd 100644
--- a/packages/libs/kode-ui/src/styles/tokens/light.css.ts
+++ b/packages/libs/kode-ui/src/styles/tokens/light.css.ts
@@ -1286,15 +1286,10 @@ export const lightThemeValues = {
},
},
},
- icon: {
- size: {
- xxs: tokens.kda.foundation.size.n3,
- xs: tokens.kda.foundation.size.n4,
- sm: tokens.kda.foundation.size.n5,
- base: tokens.kda.foundation.size.n6,
- lg: tokens.kda.foundation.size.n8,
- xl: tokens.kda.foundation.size.n10,
- xxl: tokens.kda.foundation.size.n16,
+ layout: {
+ content: {
+ minWidth: '33.75rem',
+ maxWidth: '42.5rem',
},
},
effect: {
@@ -1304,10 +1299,15 @@ export const lightThemeValues = {
level3: `0px 0px ${tokens.kda.foundation.size.n2} 24px #000000`,
},
},
- layout: {
- content: {
- minWidth: '33.75rem',
- maxWidth: '42.5rem',
+ icon: {
+ size: {
+ xxs: tokens.kda.foundation.size.n3,
+ xs: tokens.kda.foundation.size.n4,
+ sm: tokens.kda.foundation.size.n5,
+ base: tokens.kda.foundation.size.n6,
+ lg: tokens.kda.foundation.size.n8,
+ xl: tokens.kda.foundation.size.n10,
+ xxl: tokens.kda.foundation.size.n16,
},
},
typography: {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9c628e39f1..967403e1ae 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2521,6 +2521,9 @@ importers:
react-dom:
specifier: ^18.2.0
version: 18.3.1(react@18.3.1)
+ react-intersection-observer:
+ specifier: ^9.10.3
+ version: 9.10.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-stately:
specifier: ^3.29.1
version: 3.31.1(react@18.3.1)
@@ -25454,69 +25457,73 @@ snapshots:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- '@parcel/bundler-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/bundler-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
'@parcel/graph': 3.2.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
'@parcel/utils': 2.12.0
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/core': 2.12.0(@swc/helpers@0.5.11)
'@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/logger': 2.12.0
'@parcel/utils': 2.12.0
lmdb: 2.8.5
+ transitivePeerDependencies:
+ - '@swc/helpers'
'@parcel/codeframe@2.12.0':
dependencies:
chalk: 4.1.2
- '@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/config-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(terser@5.31.1)(typescript@5.4.5)':
dependencies:
- '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/core': 2.12.0(@swc/helpers@0.5.11)
- '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(terser@5.31.1)(typescript@5.4.5)
- '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(terser@5.31.1)(typescript@5.4.5)
+ '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/optimizer-swc': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
- '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/transformer-js': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@swc/helpers'
- cssnano
@@ -25531,14 +25538,14 @@ snapshots:
'@parcel/core@2.12.0(@swc/helpers@0.5.11)':
dependencies:
'@mischnic/json-sourcemap': 0.1.1
- '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/diagnostic': 2.12.0
'@parcel/events': 2.12.0
'@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/graph': 3.2.0
'@parcel/logger': 2.12.0
'@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/profiler': 2.12.0
'@parcel/rust': 2.12.0
'@parcel/source-map': 2.1.1
@@ -25589,13 +25596,14 @@ snapshots:
dependencies:
chalk: 4.1.2
- '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/node-resolver-core@3.3.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
dependencies:
@@ -25609,10 +25617,10 @@ snapshots:
transitivePeerDependencies:
- '@parcel/core'
- '@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
browserslist: 4.23.1
@@ -25620,16 +25628,18 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(terser@5.31.1)(typescript@5.4.5)':
+ '@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(terser@5.31.1)(typescript@5.4.5)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
htmlnano: 2.1.1(cssnano@7.0.3(postcss@8.4.39))(postcss@8.4.39)(relateurl@0.2.7)(svgo@2.8.0)(terser@5.31.1)(typescript@5.4.5)
nullthrows: 1.1.1
posthtml: 0.16.6
svgo: 2.8.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- cssnano
- postcss
- purgecss
@@ -25639,28 +25649,31 @@ snapshots:
- typescript
- uncss
- '@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/core': 2.12.0(@swc/helpers@0.5.11)
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
'@parcel/utils': 2.12.0
'@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ transitivePeerDependencies:
+ - '@swc/helpers'
- '@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
svgo: 2.8.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/optimizer-swc@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
'@swc/core': 1.3.107(@swc/helpers@0.5.11)
@@ -25684,31 +25697,33 @@ snapshots:
transitivePeerDependencies:
- '@swc/helpers'
- '@parcel/packager-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
lightningcss: 1.25.1
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/packager-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
nullthrows: 1.1.1
posthtml: 0.16.6
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/packager-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
'@parcel/source-map': 2.1.1
'@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
@@ -25717,33 +25732,38 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/packager-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/packager-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
posthtml: 0.16.6
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/plugin@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/plugin@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/profiler@2.12.0':
dependencies:
@@ -25751,71 +25771,79 @@ snapshots:
'@parcel/events': 2.12.0
chrome-trace-event: 1.0.4
- '@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/types': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
chalk: 4.1.2
term-size: 2.2.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
chrome-trace-event: 1.0.4
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/resolver-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/resolver-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/runtime-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/runtime-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
react-error-overlay: 6.0.9
react-refresh: 0.9.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/rust@2.12.0': {}
@@ -25823,10 +25851,10 @@ snapshots:
dependencies:
detect-libc: 1.0.3
- '@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
browserslist: 4.23.1
@@ -25835,11 +25863,12 @@ snapshots:
semver: 7.6.3
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-css@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
browserslist: 4.23.1
@@ -25847,11 +25876,12 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
nullthrows: 1.1.1
posthtml: 0.16.6
@@ -25861,20 +25891,23 @@ snapshots:
srcset: 4.0.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/core': 2.12.0(@swc/helpers@0.5.11)
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
'@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@swc/helpers'
'@parcel/transformer-js@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
dependencies:
'@parcel/core': 2.12.0(@swc/helpers@0.5.11)
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.12.0
@@ -25885,17 +25918,18 @@ snapshots:
regenerator-runtime: 0.13.11
semver: 7.6.3
- '@parcel/transformer-json@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-json@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
json5: 2.2.3
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
'@parcel/utils': 2.12.0
clone: 2.1.2
@@ -25904,10 +25938,11 @@ snapshots:
semver: 7.6.3
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
nullthrows: 1.1.1
posthtml: 0.16.6
@@ -25916,25 +25951,28 @@ snapshots:
semver: 7.6.3
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-react-refresh-wrap@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
react-refresh: 0.9.0
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
- '@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))':
+ '@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
'@parcel/diagnostic': 2.12.0
- '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/rust': 2.12.0
nullthrows: 1.1.1
posthtml: 0.16.6
@@ -25943,10 +25981,11 @@ snapshots:
semver: 7.6.3
transitivePeerDependencies:
- '@parcel/core'
+ - '@swc/helpers'
'@parcel/types@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)':
dependencies:
- '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/diagnostic': 2.12.0
'@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
@@ -40189,9 +40228,9 @@ snapshots:
'@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/logger': 2.12.0
'@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
- '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
- '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))
+ '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
+ '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)
'@parcel/utils': 2.12.0
chalk: 4.1.2
commander: 7.2.0