From 316c860ab2afe78e0e21673a7ddfcfe17c3f59bc Mon Sep 17 00:00:00 2001 From: Javad Khalilian Date: Tue, 12 Nov 2024 17:12:48 +0100 Subject: [PATCH] fix(dw): communication (#2658) * fix(dw): comminucation * feat(dw): improvments * refactor(dw) --- packages/apps/dev-wallet-example/package.json | 4 +- .../apps/dev-wallet-example/src/app/page.tsx | 131 +++- packages/apps/dev-wallet/index.html | 4 +- packages/apps/dev-wallet/public/boot.css | 2 +- packages/apps/dev-wallet/public/favicon.png | Bin 1946 -> 127353 bytes .../dev-wallet/src/App/Layout/SideBar.tsx | 23 +- .../dev-wallet/src/App/Layout/style.css.ts | 2 +- .../NetworkSelector/NetworkSelector.tsx | 9 +- packages/apps/dev-wallet/src/config.ts | 11 +- .../src/modules/account/account.service.ts | 25 +- .../communication/communication.provider.tsx | 36 +- .../transaction/transaction.service.ts | 36 + .../src/modules/wallet/wallet.hook.tsx | 20 - .../account/Components/ActivityTable.tsx | 12 +- .../pages/create-profile/create-profile.tsx | 10 +- .../signature-builder/signature-builder.tsx | 63 +- .../src/pages/transaction/Transaction.tsx | 17 +- .../transaction/components/CommandView.tsx | 11 +- .../components/ExpandedTransaction.tsx | 33 +- .../pages/transaction/components/Signers.tsx | 2 +- .../transaction/components/TxContainer.tsx | 9 +- .../pages/transaction/components/TxList.tsx | 38 +- .../transaction/components/TxPipeLine.tsx | 4 +- .../src/pages/transactions/transactions.tsx | 6 +- .../utils/normalizeSigs.ts | 0 .../dev-wallet/src/utils/parsedCodeToPact.ts | 51 +- .../src/utils/transaction-scheme.ts | 52 ++ pnpm-lock.yaml | 664 +++++++----------- 28 files changed, 725 insertions(+), 550 deletions(-) rename packages/apps/dev-wallet/src/{pages/signature-builder => }/utils/normalizeSigs.ts (100%) create mode 100644 packages/apps/dev-wallet/src/utils/transaction-scheme.ts diff --git a/packages/apps/dev-wallet-example/package.json b/packages/apps/dev-wallet-example/package.json index 38a2c866f1..1ef78a530d 100644 --- a/packages/apps/dev-wallet-example/package.json +++ b/packages/apps/dev-wallet-example/package.json @@ -9,6 +9,8 @@ "lint": "next lint" }, "dependencies": { + "@kadena/client": "workspace:*", + "@kadena/client-utils": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", "next": "14.2.2" @@ -23,4 +25,4 @@ "eslint": "^8.45.0", "eslint-config-next": "13.4.5" } -} +} \ No newline at end of file diff --git a/packages/apps/dev-wallet-example/src/app/page.tsx b/packages/apps/dev-wallet-example/src/app/page.tsx index 9fb4478301..2996cf9f9d 100644 --- a/packages/apps/dev-wallet-example/src/app/page.tsx +++ b/packages/apps/dev-wallet-example/src/app/page.tsx @@ -1,5 +1,13 @@ 'use client'; +import { + ChainId, + createTransaction, + ICommand, + IPartialPactCommand, +} from '@kadena/client'; +import { transferAllCommand } from '@kadena/client-utils/coin'; +import { hash } from 'crypto'; import { useState } from 'react'; const sleep = (time: number) => @@ -9,7 +17,7 @@ const sleep = (time: number) => }, time); }); -const walletOrigin = () => (window as any).walletUrl || 'http://localhost:4173'; +const walletOrigin = () => (window as any).walletUrl || 'http://localhost:1420'; const walletUrl = () => `${walletOrigin()}`; const walletName = 'Dev-Wallet'; const appName = 'Dev Wallet Example'; @@ -93,10 +101,31 @@ async function getWalletConnection(page: string = '') { }; } +interface IState { + profile: { + name: string; + accentColor: string; + uuid: string; + }; + accounts: Array<{ + address: string; + keyset: { + guard: { keys: string[]; pred: 'keys-all' | 'keys-any' | 'keys-2' }; + }; + alias: string; + contract: string; + chains: Array<{ chainId: ChainId; balance: string }>; + overallBalance: string; + }>; +} + export default function Home() { const [log, setLog] = useState([]); const [profile, setProfile] = useState(null); + const [state, setState] = useState(); + const [signedTx, setSignedTx] = useState(); const accentColor = profile?.accentColor ?? '#3b82f6'; + const signDisabled = !state || (state && state.accounts.length < 2); const addLog = (data: unknown) => { log.push(JSON.stringify(data)); @@ -113,6 +142,7 @@ export default function Home() { This is a simple example of a dApp that uses the Dev Wallet to sign transactions.

+
-

Log

-
    - {log.map((item, index) => ( -
  • +

    Wallet Data

    +
    name: {state.profile.name}
    +

    Accounts

    + { +
      + {state.accounts.map((account, index) => ( +
    • +
      Address: {account.address}
      +
      Alias: {account.alias}
      +
      Contract: {account.contract}
      +
      overallBalance: {account.overallBalance}
      +
      Guard: {JSON.stringify(account.keyset.guard)}
      +
    • + ))} +
    + } + + )} +
+ + +
+ {signedTx && ( + <> +

Signed Transaction

+
-                {item}
-              
-            ))}
-          
+                {JSON.stringify(
+                  {
+                    cmd: JSON.parse(signedTx.cmd),
+                    hash: signedTx.hash,
+                    sigs: signedTx.sigs,
+                  },
+                  undefined,
+                  2,
+                )}
+              
+ + )}
diff --git a/packages/apps/dev-wallet/index.html b/packages/apps/dev-wallet/index.html index 81a5757de9..a7627aee8b 100644 --- a/packages/apps/dev-wallet/index.html +++ b/packages/apps/dev-wallet/index.html @@ -18,8 +18,8 @@ width="60px" style="margin: 0" /> -

Welcome to Chainweaver v3

-

Wallet is Loading ...

+

Chainweaver v3

+

Loading

diff --git a/packages/apps/dev-wallet/public/boot.css b/packages/apps/dev-wallet/public/boot.css index 186d3aa206..4e47e052fc 100644 --- a/packages/apps/dev-wallet/public/boot.css +++ b/packages/apps/dev-wallet/public/boot.css @@ -14,7 +14,7 @@ } .welcome-message-content { display: flex; - padding: 40px; + padding: 40px 100px; justify-content: center; align-items: center; flex-direction: column; diff --git a/packages/apps/dev-wallet/public/favicon.png b/packages/apps/dev-wallet/public/favicon.png index 54ddfe1d69fd65c17af59a08a19b12fbfa47a629..5e658ac1e5449688657a8bedbb79143221a2bf47 100644 GIT binary patch literal 127353 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�YyU?8rzX5%K6L!?I}*Lv^~T1tRdMxWYDv!n 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%0Ad*0yciX0%V=Sob5oP;TA*R!z#(Kjnng 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 diff --git a/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx b/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx index 4b91a8698d..f134d49661 100644 --- a/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx +++ b/packages/apps/dev-wallet/src/App/Layout/SideBar.tsx @@ -1,6 +1,7 @@ import { MonoApps, MonoBackupTable, + MonoCheck, MonoContacts, MonoContrast, MonoDarkMode, @@ -168,25 +169,33 @@ export const SideBar: FC = () => { > Switch Profile - {profileList.map((profile, index) => ( + {profileList.map((prf, index) => ( + + + ) : undefined + } label={ ( - {profile.name} + {prf.name} ) as any } onClick={async () => { - if (profile.options.authMode === 'WEB_AUTHN') { - await unlockWithWebAuthn(profile, unlockProfile); + if (prf.uuid === profile?.uuid) return; + if (prf.options.authMode === 'WEB_AUTHN') { + await unlockWithWebAuthn(prf, unlockProfile); } else { - navigate(`/unlock-profile/${profile.uuid}`); + navigate(`/unlock-profile/${prf.uuid}`); } }} /> diff --git a/packages/apps/dev-wallet/src/App/Layout/style.css.ts b/packages/apps/dev-wallet/src/App/Layout/style.css.ts index 7a82d6dbbd..348b68d30a 100644 --- a/packages/apps/dev-wallet/src/App/Layout/style.css.ts +++ b/packages/apps/dev-wallet/src/App/Layout/style.css.ts @@ -10,7 +10,7 @@ export const isNotExpandedClass = style({ export const isExpandedMainClass = style({ vars: { - [contentWidth]: 'calc(100vw - 232px)', + [contentWidth]: 'min(1200px, calc(100vw - 232px))', }, }); diff --git a/packages/apps/dev-wallet/src/Components/NetworkSelector/NetworkSelector.tsx b/packages/apps/dev-wallet/src/Components/NetworkSelector/NetworkSelector.tsx index d24dfe4076..bce558510e 100644 --- a/packages/apps/dev-wallet/src/Components/NetworkSelector/NetworkSelector.tsx +++ b/packages/apps/dev-wallet/src/Components/NetworkSelector/NetworkSelector.tsx @@ -1,5 +1,9 @@ import { useWallet } from '@/modules/wallet/wallet.hook'; -import { MonoSettings, MonoWifiTethering } from '@kadena/kode-icons/system'; +import { + MonoCheck, + MonoSettings, + MonoWifiTethering, +} from '@kadena/kode-icons/system'; import { Button, ContextMenu, @@ -46,6 +50,9 @@ export const NetworkSelector: FC<{ aria-label={network.name} key={network.networkId} label={network.name ?? network.networkId} + endVisual={ + network.uuid === activeNetwork?.uuid ? : undefined + } onClick={() => handleNetworkUpdate(network.uuid)} /> ))} diff --git a/packages/apps/dev-wallet/src/config.ts b/packages/apps/dev-wallet/src/config.ts index 7fb4fa17ef..daf24f9e43 100644 --- a/packages/apps/dev-wallet/src/config.ts +++ b/packages/apps/dev-wallet/src/config.ts @@ -1,4 +1,13 @@ -const colorList = ['#42CEA4', '#42BDCE', '#4269CE', '#B242CE', '#CEA742']; +const colorList = [ + '#2898bd', + '#5e4db2', + '#e56910', + '#943d73', + '#09326c', + '#8f7ee7', + '#50253f', + '#a54800', +]; export const config = { colorList, defaultAccentColor: colorList[0], diff --git a/packages/apps/dev-wallet/src/modules/account/account.service.ts b/packages/apps/dev-wallet/src/modules/account/account.service.ts index 909cec1fbb..168ecc0753 100644 --- a/packages/apps/dev-wallet/src/modules/account/account.service.ts +++ b/packages/apps/dev-wallet/src/modules/account/account.service.ts @@ -48,18 +48,26 @@ export type IDiscoveredAccount = { }; }; -export async function createKAccount( - profileId: string, - networkUUID: UUID, - publicKey: string, - contract: string = 'coin', - chains: Array<{ chainId: ChainId; balance: string }> = [], -) { +export async function createKAccount({ + profileId, + networkUUID, + publicKey, + contract = 'coin', + chains = [], + alias = '', +}: { + profileId: string; + networkUUID: UUID; + publicKey: string; + contract: string; + chains?: Array<{ chainId: ChainId; balance: string }>; + alias?: string; +}) { const keyset: IKeySet = { principal: `k:${publicKey}`, uuid: crypto.randomUUID(), profileId, - alias: '', + alias: alias || '', guard: { pred: 'keys-all', keys: [publicKey], @@ -67,6 +75,7 @@ export async function createKAccount( }; const account: IAccount = { uuid: crypto.randomUUID(), + alias: alias || '', profileId: profileId, address: `k:${publicKey}`, keysetId: keyset.uuid, diff --git a/packages/apps/dev-wallet/src/modules/communication/communication.provider.tsx b/packages/apps/dev-wallet/src/modules/communication/communication.provider.tsx index 7f564b9984..ae4eb8d3bd 100644 --- a/packages/apps/dev-wallet/src/modules/communication/communication.provider.tsx +++ b/packages/apps/dev-wallet/src/modules/communication/communication.provider.tsx @@ -1,3 +1,4 @@ +import { IPactCommand, IUnsignedCommand } from '@kadena/client'; import { FC, PropsWithChildren, @@ -7,6 +8,7 @@ import { useState, } from 'react'; import { useNavigate } from 'react-router-dom'; +import { addTransaction } from '../transaction/transaction.service'; import { useWallet } from '../wallet/wallet.hook'; type Message = { @@ -57,7 +59,8 @@ export const CommunicationProvider: FC< > = ({ setOrigin, children }) => { const [requests] = useState(() => new Map()); const navigate = useNavigate(); - const { isUnlocked, accounts, profile } = useWallet(); + const { isUnlocked, accounts, profile, networks, activeNetwork } = + useWallet(); useEffect(() => { console.log('CommunicationProvider mounted', isUnlocked); @@ -91,7 +94,6 @@ export const CommunicationProvider: FC< }); const handlers = [ handleRequest('CONNECTION_REQUEST', '/connect'), - handleRequest('SIGN_REQUEST', '/sign'), handleRequest('PAYMENT_REQUEST', '/payment'), handle('GET_STATUS', async () => { return { @@ -101,6 +103,36 @@ export const CommunicationProvider: FC< }, }; }), + handle('SIGN_REQUEST', async (data) => { + const { id, payload } = data as { + id: string; + payload: IUnsignedCommand; + }; + console.log('SIGN_REQUEST', id); + console.log('payload', payload); + const cmd = JSON.parse(payload.cmd) as IPactCommand; + const networkUUID = + networks.find(({ networkId }) => networkId === cmd.networkId)?.uuid ?? + activeNetwork?.uuid; + + if (!networkUUID) { + throw new Error('Network not found'); + } + if (!profile?.uuid) { + throw new Error('Profile not found'); + } + + await addTransaction({ + transaction: payload as IUnsignedCommand, + profileId: profile?.uuid, + networkUUID: networkUUID, + groupId: id, + }); + const request = createRequest(data); + setOrigin(`transaction/${id}?request=${id}`); + navigate(`transaction/${id}?request=${id}`); + return request; + }), ]; return () => { handlers.forEach((unsubscribe) => unsubscribe()); diff --git a/packages/apps/dev-wallet/src/modules/transaction/transaction.service.ts b/packages/apps/dev-wallet/src/modules/transaction/transaction.service.ts index 16e1e34fac..22ab38b7a0 100644 --- a/packages/apps/dev-wallet/src/modules/transaction/transaction.service.ts +++ b/packages/apps/dev-wallet/src/modules/transaction/transaction.service.ts @@ -207,6 +207,24 @@ export const submitTransaction = async ( } as ITransaction; await transactionRepository.updateTransaction(updatedTx); return updatedTx; + }) + .catch(async (e) => { + console.error(e); + const updatedTx = { + ...tx, + status: 'preflight', + preflight: { + result: { + status: 'failure', + error: e.message ? JSON.stringify(e) : 'UNKNOWN_ERROR', + }, + }, + request: undefined, + }; + await transactionRepository.updateTransaction( + updatedTx as unknown as ITransaction, + ); + throw e; }); onUpdate(updatedTx); if ( @@ -232,6 +250,24 @@ export const submitTransaction = async ( } as ITransaction; await transactionRepository.updateTransaction(updatedTx); return updatedTx; + }) + .catch(async (e) => { + console.error(e); + const updatedTx = { + ...tx, + status: 'submitted', + preflight: { + result: { + status: 'failure', + error: e.message ? JSON.stringify(e) : 'UNKNOWN_ERROR', + }, + }, + request: undefined, + }; + await transactionRepository.updateTransaction( + updatedTx as unknown as ITransaction, + ); + throw e; }); onUpdate(updatedTx); diff --git a/packages/apps/dev-wallet/src/modules/wallet/wallet.hook.tsx b/packages/apps/dev-wallet/src/modules/wallet/wallet.hook.tsx index a020081c82..207c68e64c 100644 --- a/packages/apps/dev-wallet/src/modules/wallet/wallet.hook.tsx +++ b/packages/apps/dev-wallet/src/modules/wallet/wallet.hook.tsx @@ -7,12 +7,10 @@ import { IAccount, IKeySet, } from '../account/account.repository'; -import * as AccountService from '../account/account.service'; import { BIP44Service } from '../key-source/hd-wallet/BIP44'; import { ChainweaverService } from '../key-source/hd-wallet/chainweaver'; import { keySourceManager } from '../key-source/key-source-manager'; import { INetwork } from '../network/network.repository'; -import { UUID } from '../types'; import { ExtWalletContextType, WalletContext } from './wallet.provider'; import { IKeyItem, IKeySource, IProfile } from './wallet.repository'; import * as WalletService from './wallet.service'; @@ -165,23 +163,6 @@ export const useWallet = () => { [context], ); - const createKAccount = useCallback( - async ( - profileId: string, - networkUUID: UUID, - publicKey: string, - contract?: string, - ) => { - return AccountService.createKAccount( - profileId, - networkUUID, - publicKey, - contract, - ); - }, - [], - ); - const createAccountByKeyset = async ({ keyset, contract, @@ -313,7 +294,6 @@ export const useWallet = () => { createProfile, unlockProfile, createKey, - createKAccount, sign, decryptSecret, lockProfile, diff --git a/packages/apps/dev-wallet/src/pages/account/Components/ActivityTable.tsx b/packages/apps/dev-wallet/src/pages/account/Components/ActivityTable.tsx index c965d79329..bbd4f885e5 100644 --- a/packages/apps/dev-wallet/src/pages/account/Components/ActivityTable.tsx +++ b/packages/apps/dev-wallet/src/pages/account/Components/ActivityTable.tsx @@ -34,6 +34,8 @@ export function ActivityTable({ activities }: { activities: IActivity[] }) { })), [activities], ); + + console.log('data', data); return ( value, }, { label: 'Type', @@ -61,12 +64,7 @@ export function ActivityTable({ activities }: { activities: IActivity[] }) { { label: 'Receivers', key: 'receivers', - width: '50%', - }, - { - label: 'Status', - key: 'status', - width: '10%', + width: '70%', }, ]} data={data} diff --git a/packages/apps/dev-wallet/src/pages/create-profile/create-profile.tsx b/packages/apps/dev-wallet/src/pages/create-profile/create-profile.tsx index dce7cc8e9b..2cc657c963 100644 --- a/packages/apps/dev-wallet/src/pages/create-profile/create-profile.tsx +++ b/packages/apps/dev-wallet/src/pages/create-profile/create-profile.tsx @@ -1,6 +1,7 @@ import { AuthCard } from '@/Components/AuthCard/AuthCard.tsx'; import { BackupMnemonic } from '@/Components/BackupMnemonic/BackupMnemonic'; import { config } from '@/config'; +import { createKAccount } from '@/modules/account/account.service'; import { useHDWallet } from '@/modules/key-source/hd-wallet/hd-wallet'; import { PublicKeyCredentialCreate, @@ -27,7 +28,6 @@ export function CreateProfile() { const { createProfile, createKey, - createKAccount, profileList, unlockProfile, activeNetwork, @@ -114,7 +114,13 @@ export function CreateProfile() { const key = await createKey(keySource); - await createKAccount(profile.uuid, activeNetwork.uuid, key.publicKey); + await createKAccount({ + profileId: profile.uuid, + networkUUID: activeNetwork.uuid, + publicKey: key.publicKey, + contract: 'coin', + alias: 'Account 1', + }); setMnemonic(mnemonic); setProfileId(profile.uuid); diff --git a/packages/apps/dev-wallet/src/pages/signature-builder/signature-builder.tsx b/packages/apps/dev-wallet/src/pages/signature-builder/signature-builder.tsx index 06e13c83e8..bad0f00610 100644 --- a/packages/apps/dev-wallet/src/pages/signature-builder/signature-builder.tsx +++ b/packages/apps/dev-wallet/src/pages/signature-builder/signature-builder.tsx @@ -1,16 +1,22 @@ import { + addSignatures, + createTransaction, IPactCommand, IPartialPactCommand, ISigningRequest, IUnsignedCommand, - addSignatures, - createTransaction, } from '@kadena/client'; import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs'; import { transactionRepository } from '@/modules/transaction/transaction.repository'; import * as transactionService from '@/modules/transaction/transaction.service'; import { useWallet } from '@/modules/wallet/wallet.hook'; +import { normalizeTx } from '@/utils/normalizeSigs'; +import { + determineSchema, + RequestScheme, + signingRequestToPactCommand, +} from '@/utils/transaction-scheme'; import { base64UrlDecodeArr } from '@kadena/cryptography-utils'; import { MonoDashboardCustomize } from '@kadena/kode-icons/system'; import { @@ -28,63 +34,12 @@ import yaml from 'js-yaml'; import { useEffect, useMemo, useState } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; import { codeArea } from './style.css'; -import { normalizeTx } from './utils/normalizeSigs'; - -type requestScheme = - | 'invalid' - | 'quickSignRequest' - | 'signingRequest' - | 'PactCommand'; - -function determineSchema(input: string): requestScheme { - try { - // TODO: pase YAML as well - const json: any = yaml.load(input); - if (!json || typeof json !== 'object') { - return 'invalid'; - } - if ('cmd' in json) { - JSON.parse(json.cmd); - return 'quickSignRequest'; - } - if ('code' in json) { - return 'signingRequest'; - } - if ('payload' in json) { - return 'PactCommand'; - } - } catch (e) { - return 'invalid'; - } - return 'invalid'; -} - -const signingRequestToPactCommand = ( - signingRequest: ISigningRequest, -): IPartialPactCommand => { - return { - payload: { - exec: { - code: signingRequest.code, - data: signingRequest.data ?? {}, - }, - }, - meta: { - chainId: signingRequest.chainId, - gasLimit: signingRequest.gasLimit, - gasPrice: signingRequest.gasPrice, - ttl: signingRequest.ttl, - sender: signingRequest.sender, - }, - nonce: signingRequest.nonce, - }; -}; export function SignatureBuilder() { const [searchParams] = useSearchParams(); const urlTransaction = searchParams.get('transaction'); const [error, setError] = useState(); - const [schema, setSchema] = useState(); + const [schema, setSchema] = useState(); const [input, setInput] = useState(''); const [pactCommand, setPactCommand] = useState(); const [unsignedTx, setUnsignedTx] = useState(); diff --git a/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx b/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx index 23cc633f6f..c57f2407ef 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/Transaction.tsx @@ -1,15 +1,19 @@ import { transactionRepository } from '@/modules/transaction/transaction.repository'; import { SideBarBreadcrumbs } from '@/Components/SideBarBreadcrumbs/SideBarBreadcrumbs'; +import { useRequests } from '@/modules/communication/communication.provider'; 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 { useParams, useSearchParams } from 'react-router-dom'; import { TxList } from './components/TxList'; export const TransactionPage = () => { const { groupId } = useParams(); + const [searchParam] = useSearchParams(); + const requestId = searchParam.get('request'); + const requests = useRequests(); const [txs = []] = useAsync( (gid) => gid @@ -29,7 +33,7 @@ export const TransactionPage = () => { - + Transactions {txs.length === 0 && No transactions} @@ -43,6 +47,15 @@ export const TransactionPage = () => { }} txIds={txs.map((tx) => tx.uuid)} showExpanded={txs.length === 1} + onSign={(tx) => { + if (requestId) { + const request = requests.get(requestId); + if (request) { + console.log('resolving request', request); + request.resolve({ status: 'signed', transaction: tx }); + } + } + }} /> diff --git a/packages/apps/dev-wallet/src/pages/transaction/components/CommandView.tsx b/packages/apps/dev-wallet/src/pages/transaction/components/CommandView.tsx index 9ec856c5d8..3ca5f23e14 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/components/CommandView.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/components/CommandView.tsx @@ -1,5 +1,6 @@ import { CopyButton } from '@/Components/CopyButton/CopyButton'; import { ITransaction } from '@/modules/transaction/transaction.repository'; +import { shorten } from '@/utils/helpers'; import { shortenPactCode } from '@/utils/parsedCodeToPact'; import { IPactCommand } from '@kadena/client'; import { MonoTextSnippet } from '@kadena/kode-icons/system'; @@ -43,7 +44,13 @@ export function CommandView({ {showShortenCode ? ( -
 {shortenPactCode(command.payload.exec.code)}
+
+                  {shortenPactCode(command.payload.exec.code)}
+                
) : ( command.payload.exec.code )} @@ -86,7 +93,7 @@ export function CommandView({ variant="code" className={classNames(codeClass, textEllipsis)} > - {command.payload.cont.proof} + {shorten(command.payload.cont.proof, 40)}
)} diff --git a/packages/apps/dev-wallet/src/pages/transaction/components/ExpandedTransaction.tsx b/packages/apps/dev-wallet/src/pages/transaction/components/ExpandedTransaction.tsx index c395ac3706..2900c9cd08 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/components/ExpandedTransaction.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/components/ExpandedTransaction.tsx @@ -21,6 +21,7 @@ import { ITransaction } from '@/modules/transaction/transaction.repository.ts'; import { useWallet } from '@/modules/wallet/wallet.hook.tsx'; import { panelClass } from '@/pages/home/style.css.ts'; +import { shorten } from '@/utils/helpers.ts'; import { base64UrlEncodeArr } from '@kadena/cryptography-utils'; import { MonoMoreVert, MonoShare } from '@kadena/kode-icons/system'; import { useState } from 'react'; @@ -34,6 +35,7 @@ export function ExpandedTransaction({ sendDisabled, onSubmit, showTitle, + isDialog, }: { transaction: ITransaction; contTx?: ITransaction; @@ -41,6 +43,7 @@ export function ExpandedTransaction({ onSubmit: () => Promise; sendDisabled?: boolean; showTitle?: boolean; + isDialog?: boolean; }) { const { sign } = useWallet(); const [showShareTooltip, setShowShareTooltip] = useState(false); @@ -71,15 +74,17 @@ export function ExpandedTransaction({ cmd: transaction.cmd, sigs: transaction.sigs, }; + const Title = isDialog ? DialogHeader : Stack; + const Content = isDialog ? DialogContent : Stack; return ( <> - + <Stack justifyContent={'space-between'}> {showTitle && <Heading>View Transaction</Heading>} </Stack> - </DialogHeader> - <DialogContent> - <Stack gap={'lg'}> + + + {statusPassed(transaction.status, 'success') && (!transaction.continuation?.autoContinue || @@ -210,6 +218,7 @@ export function ExpandedTransaction({ )} @@ -248,12 +257,20 @@ export function ExpandedTransaction({ - + ); } -const JsonView = ({ title, data }: { title: string; data: any }) => ( +const JsonView = ({ + title, + data, + shortening = 0, +}: { + title: string; + data: any; + shortening?: number; +}) => ( @@ -263,7 +280,9 @@ const JsonView = ({ title, data }: { title: string; data: any }) => (
         {data && typeof data === 'object'
           ? JSON.stringify(data, null, 2)
-          : data}
+          : shortening
+            ? shorten(data, shortening)
+            : data}
       
diff --git a/packages/apps/dev-wallet/src/pages/transaction/components/Signers.tsx b/packages/apps/dev-wallet/src/pages/transaction/components/Signers.tsx index 7b3a087ac2..f399482aee 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/components/Signers.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/components/Signers.tsx @@ -17,7 +17,7 @@ import { import { ITransaction } from '@/modules/transaction/transaction.repository.ts'; import { useWallet } from '@/modules/wallet/wallet.hook.tsx'; -import { normalizeSigs } from '@/pages/signature-builder/utils/normalizeSigs.ts'; +import { normalizeSigs } from '@/utils/normalizeSigs.ts'; import { MonoContentCopy } from '@kadena/kode-icons/system'; import classNames from 'classnames'; diff --git a/packages/apps/dev-wallet/src/pages/transaction/components/TxContainer.tsx b/packages/apps/dev-wallet/src/pages/transaction/components/TxContainer.tsx index d1cfd839fb..5e9794c8ed 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/components/TxContainer.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/components/TxContainer.tsx @@ -40,7 +40,7 @@ export const TxContainer = React.memo( ); const contTx = useSubscribe( 'transaction', - transaction.continuation?.continuationTxId, + localTransaction?.continuation?.continuationTxId, ); useEffect(() => { @@ -123,14 +123,15 @@ export const TxContainer = React.memo( ); if (!localTransaction) return null; - const renderExpanded = () => ( + const renderExpanded = (isDialog = false) => ( onSubmit(localTransaction)} sendDisabled={sendDisabled} - showTitle={as === 'tile'} + showTitle={as === 'tile' || isDialog} + isDialog={isDialog} /> ); if (as === 'tile' || as === 'minimized') @@ -147,7 +148,7 @@ export const TxContainer = React.memo( } }} > - {renderExpanded()} + {renderExpanded(true)} )} {as === 'tile' && ( diff --git a/packages/apps/dev-wallet/src/pages/transaction/components/TxList.tsx b/packages/apps/dev-wallet/src/pages/transaction/components/TxList.tsx index aa9b59a814..eed9cc2da5 100644 --- a/packages/apps/dev-wallet/src/pages/transaction/components/TxList.tsx +++ b/packages/apps/dev-wallet/src/pages/transaction/components/TxList.tsx @@ -21,11 +21,13 @@ export const TxList = React.memo( sendDisabled, onDone, showExpanded, + onSign, }: { txIds: string[]; showExpanded?: boolean; sendDisabled?: boolean; onDone?: () => void; + onSign?: (tx: ICommand) => void; }) => { const { sign, client } = useWallet(); const [transactions, setTransactions] = React.useState([]); @@ -42,11 +44,22 @@ export const TxList = React.memo( const updateTx = useCallback( (updatedTx: ITransaction) => - setTransactions((prev) => - prev.map((prevTx) => + setTransactions((prev) => { + if (updatedTx.status === 'signed' && onSign) { + if ( + prev.find((tx) => tx.uuid === updatedTx.uuid)?.status !== 'signed' + ) { + onSign({ + cmd: updatedTx.cmd, + hash: updatedTx.hash, + sigs: updatedTx.sigs as ICommand['sigs'], + }); + } + } + return prev.map((prevTx) => prevTx.uuid === updatedTx.uuid ? updatedTx : prevTx, - ), - ), + ); + }), [], ); @@ -59,7 +72,7 @@ export const TxList = React.memo( const updatedTxs = txs.map((tx) => { const signedTx = signed.find(({ hash }) => hash === tx.hash); if (!signedTx) return tx; - return { + const updatedTx = { ...tx, ...signedTx, status: isSignedCommand(signedTx) @@ -68,6 +81,14 @@ export const TxList = React.memo( : tx.status : tx.status, } as ITransaction; + if (updatedTx.status === 'signed' && onSign) { + onSign({ + cmd: updatedTx.cmd, + hash: updatedTx.hash, + sigs: updatedTx.sigs as ICommand['sigs'], + }); + } + return updatedTx; }); await updatedTxs.map(transactionRepository.updateTransaction); setTransactions(updatedTxs); @@ -104,7 +125,12 @@ export const TxList = React.memo( ))} {showExpanded && transactions.map((tx) => ( - + ), statusPassed(tx.status, 'success') && [ - tx.continuation?.autoContinue && !contTx && ( + tx.continuation?.autoContinue && !tx.continuation.proof && ( diff --git a/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx b/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx index 6a2e426a28..f14d45819c 100644 --- a/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx +++ b/packages/apps/dev-wallet/src/pages/transactions/transactions.tsx @@ -74,7 +74,11 @@ export const TransactionList = ({ return { ...tx, type: 'exec', - code: shortenPactCode(cmd.payload.exec.code, 4), + code: shortenPactCode(cmd.payload.exec.code, { + shortening: 6, + withIndent: 0, + breakLines: false, + }), }; } else { return { diff --git a/packages/apps/dev-wallet/src/pages/signature-builder/utils/normalizeSigs.ts b/packages/apps/dev-wallet/src/utils/normalizeSigs.ts similarity index 100% rename from packages/apps/dev-wallet/src/pages/signature-builder/utils/normalizeSigs.ts rename to packages/apps/dev-wallet/src/utils/normalizeSigs.ts diff --git a/packages/apps/dev-wallet/src/utils/parsedCodeToPact.ts b/packages/apps/dev-wallet/src/utils/parsedCodeToPact.ts index 4e62a27b94..164bb60c83 100644 --- a/packages/apps/dev-wallet/src/utils/parsedCodeToPact.ts +++ b/packages/apps/dev-wallet/src/utils/parsedCodeToPact.ts @@ -9,9 +9,18 @@ const shorten = (str: string, length: number): string => { return textShorten(str, length); }; -const parseArg = (arg: IParsedCode['args'][number], shortening = 6): string => { +interface IDecoration { + shortening?: number; + withIndent?: number; + breakLines?: boolean; +} + +const parseArg = ( + arg: IParsedCode['args'][number], + decoration: Required, +): string => { if ('string' in arg) { - return `"${shorten(arg.string, shortening)}"`; + return `"${shorten(arg.string, decoration.shortening)}"`; } if ('int' in arg) { return `${arg.int}`; @@ -20,37 +29,57 @@ const parseArg = (arg: IParsedCode['args'][number], shortening = 6): string => { return new PactNumber(arg.decimal).toDecimal(); } if ('list' in arg) { - return `[${arg.list.map((a) => parseArg(a, shortening)).join(', ')}]`; + return `[${arg.list.map((a) => parseArg(a, decoration)).join(', ')}]`; } if ('object' in arg) { return `{${arg.object - .map((a) => `${a.property}: ${parseArg(a.value, shortening)}`) + .map((a) => `${a.property}: ${parseArg(a.value, decoration)}`) .join(', ')}}`; } if ('code' in arg) { - return parsedCodeToPact(arg.code, shortening); + return parsedCodeToPact(arg.code, decoration); } return JSON.stringify(arg); }; -function parsedCodeToPact(code: IParsedCode, shortening = 6): string { +const indent = (str: string, spaces = 2): string => { + return str + .split('\n') + .map((line) => ' '.repeat(spaces) + line) + .join('\n'); +}; + +function parsedCodeToPact( + code: IParsedCode, + { shortening = 6, withIndent = 2, breakLines = true }: IDecoration = {}, +): string { + const decoration = { shortening, withIndent, breakLines }; const namespace = code.function.namespace ? shorten(code.function.namespace, shortening) : ''; const name = code.function.name; const module = code.function.module; const fn = [namespace, module, name].filter(Boolean).join('.'); - const shortenCode = `(${fn} ${code.args - .map((arg) => parseArg(arg, shortening)) - .join(' ')})`; + const useBreakLine = breakLines && code.args.length > 1; + const lineChar = useBreakLine ? '\n' : ' '; + const shortenCode = `(${fn}${lineChar}${code.args + .map((arg) => + useBreakLine + ? indent(parseArg(arg, decoration), withIndent) + : parseArg(arg, decoration), + ) + .join(lineChar)}${lineChar})`; return shortenCode; } -export function shortenPactCode(code: string, shortening = 6): string { +export function shortenPactCode( + code: string, + decoration?: IDecoration, +): string { const parsedCode = execCodeParser(code); const codes = parsedCode?.map((code) => { - return parsedCodeToPact(code, shortening); + return parsedCodeToPact(code, decoration); }) ?? []; return codes.join('\n'); } diff --git a/packages/apps/dev-wallet/src/utils/transaction-scheme.ts b/packages/apps/dev-wallet/src/utils/transaction-scheme.ts new file mode 100644 index 0000000000..3cb4066e1a --- /dev/null +++ b/packages/apps/dev-wallet/src/utils/transaction-scheme.ts @@ -0,0 +1,52 @@ +import { IPartialPactCommand, ISigningRequest } from '@kadena/client'; +import yaml from 'js-yaml'; + +export type RequestScheme = + | 'invalid' + | 'quickSignRequest' + | 'signingRequest' + | 'PactCommand'; + +export function determineSchema(input: string): RequestScheme { + try { + // TODO: pase YAML as well + const json: any = yaml.load(input); + if (!json || typeof json !== 'object') { + return 'invalid'; + } + if ('cmd' in json) { + JSON.parse(json.cmd); + return 'quickSignRequest'; + } + if ('code' in json) { + return 'signingRequest'; + } + if ('payload' in json) { + return 'PactCommand'; + } + } catch (e) { + return 'invalid'; + } + return 'invalid'; +} + +export const signingRequestToPactCommand = ( + signingRequest: ISigningRequest, +): IPartialPactCommand => { + return { + payload: { + exec: { + code: signingRequest.code, + data: signingRequest.data ?? {}, + }, + }, + meta: { + chainId: signingRequest.chainId, + gasLimit: signingRequest.gasLimit, + gasPrice: signingRequest.gasPrice, + ttl: signingRequest.ttl, + sender: signingRequest.sender, + }, + nonce: signingRequest.nonce, + }; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 293b65e017..b73622a304 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -208,7 +208,7 @@ importers: version: 4.3.2(typescript@5.4.5)(vite@5.3.3(@types/node@20.16.5)(lightningcss@1.25.1)(terser@5.31.1)) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) packages/apps/dev-wallet-desktop: dependencies: @@ -222,6 +222,12 @@ importers: packages/apps/dev-wallet-example: dependencies: + '@kadena/client': + specifier: workspace:* + version: link:../../libs/client + '@kadena/client-utils': + specifier: workspace:* + version: link:../../libs/client-utils next: specifier: 14.2.2 version: 14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -252,7 +258,7 @@ importers: version: 8.4.31 tailwindcss: specifier: ^3.4.1 - version: 3.4.4(ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.4.5)) typescript: specifier: 5.4.5 version: 5.4.5 @@ -514,7 +520,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) xml2js: specifier: ^0.6.2 version: 0.6.2 @@ -659,7 +665,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/apps/graph: dependencies: @@ -807,7 +813,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -892,7 +898,7 @@ importers: version: 1.14.2 '@vanilla-extract/next-plugin': specifier: 2.4.0 - version: 2.4.0(@types/node@20.14.9)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.88.2) + version: 2.4.0(@types/node@20.14.9)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.88.2) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -1010,7 +1016,7 @@ importers: version: 1.14.2 '@vanilla-extract/next-plugin': specifier: 2.4.0 - version: 2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + version: 2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7)) '@vanilla-extract/vite-plugin': specifier: 4.0.7 version: 4.0.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(vite@5.3.3(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)) @@ -1049,13 +1055,13 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.6.2) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.6.2) vitest: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/apps/proof-of-us: dependencies: @@ -1197,13 +1203,13 @@ importers: version: 9.0.8 '@vanilla-extract/next-plugin': specifier: 2.4.0 - version: 2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + version: 2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7)) '@vanilla-extract/vite-plugin': specifier: 4.0.7 version: 4.0.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(vite@5.3.3(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)) '@vanilla-extract/webpack-plugin': specifier: 2.3.7 - version: 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + version: 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7)) '@vitest/coverage-v8': specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) @@ -1236,7 +1242,7 @@ importers: version: 12.10.3 mini-css-extract-plugin: specifier: 2.7.6 - version: 2.7.6(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + version: 2.7.6(webpack@5.88.2(@swc/core@1.6.7)) next-router-mock: specifier: ^0.9.10 version: 0.9.13(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -1245,7 +1251,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -1254,7 +1260,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/apps/rwa-demo: dependencies: @@ -1278,7 +1284,7 @@ importers: version: 0.1.4 '@vanilla-extract/next-plugin': specifier: 2.4.0 - version: 2.4.0(@types/node@20.16.5)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2) + version: 2.4.0(@types/node@20.16.5)(lightningcss@1.25.1)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2) '@vanilla-extract/recipes': specifier: 0.5.1 version: 0.5.1(@vanilla-extract/css@1.14.2) @@ -1327,7 +1333,7 @@ importers: version: 4.3.1(vite@5.3.3(@types/node@20.16.5)(lightningcss@1.25.1)(terser@5.31.1)) '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 1.6.0(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) eslint: specifier: ^8.45.0 version: 8.57.0 @@ -1348,10 +1354,10 @@ importers: version: 5.4.5 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/apps/spirekey-example: dependencies: @@ -1566,7 +1572,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/e2e/e2e-base: dependencies: @@ -2140,7 +2146,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -2195,7 +2201,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -2277,7 +2283,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -2405,7 +2411,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -2596,7 +2602,7 @@ importers: version: 8.0.5(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/addon-interactions': specifier: 8.0.5 - version: 8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@storybook/addon-links': specifier: 8.0.5 version: 8.0.5(react@18.3.1) @@ -2725,7 +2731,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/libs/pactjs: dependencies: @@ -2829,7 +2835,7 @@ importers: version: 3.2.5 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -3053,7 +3059,7 @@ importers: version: 5.0.7 ts-node: specifier: ~10.9.2 - version: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -3141,7 +3147,7 @@ importers: version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) vitest-dom: specifier: ^0.1.1 - version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + version: 0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) packages/tools/eslint-config: dependencies: @@ -3580,7 +3586,7 @@ importers: version: 4.3.2(typescript@5.6.2)(vite@5.3.3(@types/node@20.16.5)(lightningcss@1.25.1)(terser@5.31.1)) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + version: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) packages: @@ -22232,12 +22238,12 @@ snapshots: '@etchteam/storybook-addon-status@4.2.4(@types/react-dom@18.3.0)(@types/react@18.3.3)': dependencies: - '@storybook/api': 7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/api': 7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 7.6.20 - '@storybook/components': 7.6.20(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/components': 7.6.20(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/core-events': 7.6.20 - '@storybook/manager-api': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/manager-api': 7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0) lodash: 4.17.21 react: 18.2.0 react-dom: 18.3.1(react@18.2.0) @@ -22626,11 +22632,11 @@ snapshots: '@floating-ui/core': 1.6.4 '@floating-ui/utils': 0.2.4 - '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/dom': 1.6.7 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) '@floating-ui/utils@0.2.4': {} @@ -23610,42 +23616,6 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.16.5 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - optional: true - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.3.78(@swc/helpers@0.5.11))(@types/node@20.16.5)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 @@ -25548,73 +25518,69 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/bundler-default@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11)': + '@parcel/cache@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/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))(@swc/helpers@0.5.11)': + '@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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)) 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))(@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/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/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/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/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))(@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/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/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))(@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) + '@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)) transitivePeerDependencies: - '@swc/helpers' - cssnano @@ -25629,20 +25595,20 @@ 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))(@swc/helpers@0.5.11) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/profiler': 2.12.0 '@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) '@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) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) abortcontroller-polyfill: 1.7.5 base-x: 3.0.10 browserslist: 4.23.1 @@ -25670,7 +25636,7 @@ snapshots: '@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 '@parcel/watcher': 2.4.1 - '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) transitivePeerDependencies: - '@swc/helpers' @@ -25687,14 +25653,13 @@ snapshots: dependencies: chalk: 4.1.2 - '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)': + '@parcel/namer-default@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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: @@ -25708,10 +25673,10 @@ snapshots: transitivePeerDependencies: - '@parcel/core' - '@parcel/optimizer-css@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))': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 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/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.1 @@ -25719,18 +25684,16 @@ 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))(@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))(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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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 @@ -25740,31 +25703,28 @@ snapshots: - typescript - uncss - '@parcel/optimizer-image@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)': + '@parcel/optimizer-image@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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/workers': 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)': + '@parcel/optimizer-svgo@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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) @@ -25782,39 +25742,37 @@ snapshots: '@parcel/node-resolver-core': 3.3.0(@parcel/core@2.12.0(@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 - '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@swc/core': 1.3.107(@swc/helpers@0.5.11) semver: 7.6.3 transitivePeerDependencies: - '@swc/helpers' - '@parcel/packager-css@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))': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/packager-html@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/packager-js@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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) @@ -25823,38 +25781,33 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/packager-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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)) transitivePeerDependencies: - '@parcel/core' - - '@swc/helpers' - '@parcel/packager-svg@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))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/packager-wasm@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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)) transitivePeerDependencies: - '@parcel/core' - - '@swc/helpers' - '@parcel/plugin@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))': 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: @@ -25862,79 +25815,71 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/reporter-dev-server@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/reporter-tracer@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/resolver-default@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11)': + '@parcel/runtime-browser-hmr@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/runtime-js@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11)': + '@parcel/runtime-react-refresh@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/runtime-service-worker@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/utils': 2.12.0 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' - - '@swc/helpers' '@parcel/rust@2.12.0': {} @@ -25942,10 +25887,10 @@ snapshots: dependencies: detect-libc: 1.0.3 - '@parcel/transformer-babel@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))': dependencies: '@parcel/diagnostic': 2.12.0 - '@parcel/plugin': 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/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.1 @@ -25954,12 +25899,11 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-css@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/source-map': 2.1.1 '@parcel/utils': 2.12.0 browserslist: 4.23.1 @@ -25967,12 +25911,11 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-html@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/rust': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -25982,45 +25925,41 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-image@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/plugin': 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/utils': 2.12.0 - '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/rust': 2.12.0 '@parcel/source-map': 2.1.1 '@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) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@swc/helpers': 0.5.11 browserslist: 4.23.1 nullthrows: 1.1.1 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-json@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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)) 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-postcss@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/rust': 2.12.0 '@parcel/utils': 2.12.0 clone: 2.1.2 @@ -26029,11 +25968,10 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-posthtml@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/utils': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -26042,28 +25980,25 @@ 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))(@swc/helpers@0.5.11)': + '@parcel/transformer-raw@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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)) transitivePeerDependencies: - '@parcel/core' - - '@swc/helpers' - '@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-react-refresh-wrap@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': dependencies: - '@parcel/plugin': 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/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))(@swc/helpers@0.5.11)': + '@parcel/transformer-svg@2.12.0(@parcel/core@2.12.0(@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))(@swc/helpers@0.5.11) + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) '@parcel/rust': 2.12.0 nullthrows: 1.1.1 posthtml: 0.16.6 @@ -26072,16 +26007,15 @@ 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))(@swc/helpers@0.5.11) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@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) '@parcel/source-map': 2.1.1 - '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) + '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) utility-types: 3.11.0 transitivePeerDependencies: - '@parcel/core' @@ -26159,7 +26093,7 @@ snapshots: '@parcel/watcher-win32-ia32': 2.4.1 '@parcel/watcher-win32-x64': 2.4.1 - '@parcel/workers@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)': + '@parcel/workers@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 @@ -26168,8 +26102,6 @@ snapshots: '@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 - transitivePeerDependencies: - - '@swc/helpers' '@peculiar/asn1-schema@2.3.8': dependencies: @@ -26535,37 +26467,37 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26643,16 +26575,16 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26683,14 +26615,14 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26728,31 +26660,31 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@radix-ui/react-popper@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-popper@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/rect': 1.0.1 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-portal@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-portal@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26777,21 +26709,21 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26805,58 +26737,58 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-select@1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-select@1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-use-previous': 1.0.1(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) aria-hidden: 1.2.4 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.3.3)(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -26883,43 +26815,43 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.0 '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-toggle@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-toggle@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.0 '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -27022,12 +26954,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -28838,11 +28770,11 @@ snapshots: dependencies: '@storybook/global': 5.0.0 - '@storybook/addon-interactions@8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1))': + '@storybook/addon-interactions@8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.0.5 - '@storybook/test': 8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + '@storybook/test': 8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@storybook/types': 8.0.5 polished: 4.3.1 ts-dedent: 2.2.0 @@ -28893,10 +28825,10 @@ snapshots: - '@swc/helpers' - webpack - '@storybook/api@7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/api@7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/client-logger': 7.6.17 - '@storybook/manager-api': 7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/manager-api': 7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - react - react-dom @@ -29119,19 +29051,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/components@7.6.20(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/components@7.6.20(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-select': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) - '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@radix-ui/react-select': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 7.6.20 '@storybook/csf': 0.1.3 '@storybook/global': 5.0.0 - '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/types': 7.6.20 memoizerific: 1.11.3 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) - use-resize-observer: 9.1.0(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + react-dom: 18.3.1(react@18.2.0) + use-resize-observer: 9.1.0(react-dom@18.3.1(react@18.2.0))(react@18.2.0) util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' @@ -29353,7 +29285,7 @@ snapshots: '@vitest/utils': 1.6.0 util: 0.12.5 - '@storybook/manager-api@7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/manager-api@7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 7.6.17 '@storybook/client-logger': 7.6.17 @@ -29361,7 +29293,7 @@ snapshots: '@storybook/csf': 0.1.3 '@storybook/global': 5.0.0 '@storybook/router': 7.6.17 - '@storybook/theming': 7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/theming': 7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/types': 7.6.17 dequal: 2.0.3 lodash: 4.17.21 @@ -29373,7 +29305,7 @@ snapshots: - react - react-dom - '@storybook/manager-api@7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/manager-api@7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 7.6.20 '@storybook/client-logger': 7.6.20 @@ -29381,7 +29313,7 @@ snapshots: '@storybook/csf': 0.1.3 '@storybook/global': 5.0.0 '@storybook/router': 7.6.20 - '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0) + '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@storybook/types': 7.6.20 dequal: 2.0.3 lodash: 4.17.21 @@ -29567,14 +29499,14 @@ snapshots: - encoding - supports-color - '@storybook/test@8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1))': + '@storybook/test@8.0.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@storybook/client-logger': 8.0.5 '@storybook/core-events': 8.0.5 '@storybook/instrumenter': 8.0.5 '@storybook/preview-api': 8.0.5 '@testing-library/dom': 9.3.4 - '@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)) + '@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) '@vitest/expect': 1.3.1 '@vitest/spy': 1.6.0 @@ -29587,23 +29519,23 @@ snapshots: - jest - vitest - '@storybook/theming@7.6.17(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/theming@7.6.17(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@storybook/client-logger': 7.6.17 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) - '@storybook/theming@7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.2.0)': + '@storybook/theming@7.6.20(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@storybook/client-logger': 7.6.20 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) '@storybook/theming@8.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -30056,7 +29988,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1))': + '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.13)(jest@29.7.0(@types/node@20.14.9))(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.25.6 @@ -30069,7 +30001,7 @@ snapshots: optionalDependencies: '@jest/globals': 29.7.0 '@types/jest': 29.5.13 - jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + jest: 29.7.0(@types/node@20.14.9) vitest: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) '@testing-library/react-hooks@8.0.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -31284,9 +31216,9 @@ snapshots: - terser - webpack - '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)))': + '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2)': dependencies: - '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2) next: 14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@types/node' @@ -31300,9 +31232,9 @@ snapshots: - terser - webpack - '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2)': + '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(lightningcss@1.25.1)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7))': dependencies: - '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2) + '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7)) next: 14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@types/node' @@ -31316,7 +31248,7 @@ snapshots: - terser - webpack - '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.88.2)': + '@vanilla-extract/next-plugin@2.4.0(@types/node@20.14.9)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.88.2)': dependencies: '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.14.9)(webpack@5.88.2) next: 14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -31332,7 +31264,7 @@ snapshots: - terser - webpack - '@vanilla-extract/next-plugin@2.4.0(@types/node@20.16.5)(lightningcss@1.25.1)(next@14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2)': + '@vanilla-extract/next-plugin@2.4.0(@types/node@20.16.5)(lightningcss@1.25.1)(next@14.2.2(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.31.1)(webpack@5.88.2)': dependencies: '@vanilla-extract/webpack-plugin': 2.3.7(@types/node@20.16.5)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2) next: 14.2.2(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -31426,13 +31358,13 @@ snapshots: - supports-color - terser - '@vanilla-extract/webpack-plugin@2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)))': + '@vanilla-extract/webpack-plugin@2.3.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1)(webpack@5.88.2(@swc/core@1.6.7))': dependencies: '@vanilla-extract/integration': 7.1.7(@types/node@20.14.9)(lightningcss@1.25.1)(terser@5.31.1) chalk: 4.1.2 debug: 4.3.4(supports-color@5.5.0) loader-utils: 2.0.4 - webpack: 5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)) + webpack: 5.88.2(@swc/core@1.6.7) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -31553,7 +31485,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -31568,7 +31500,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) transitivePeerDependencies: - supports-color @@ -31613,7 +31545,7 @@ snapshots: pathe: 1.1.2 picocolors: 1.1.0 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) '@vitest/utils@1.3.1': dependencies: @@ -33696,13 +33628,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + create-jest@29.7.0(@types/node@20.14.9): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.14.9) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -37347,16 +37279,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@20.14.9): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.78(@swc/helpers@0.5.11))(@types/node@20.16.5)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + create-jest: 29.7.0(@types/node@20.14.9) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@20.14.9) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -37386,7 +37318,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@20.14.9): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -37412,39 +37344,6 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.14.9 - ts-node: 10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - optional: true - - jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): - dependencies: - '@babel/core': 7.24.7 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.7) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.16.5 - ts-node: 10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -37702,12 +37601,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + jest@29.7.0(@types/node@20.14.9): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.78(@swc/helpers@0.5.11))(@types/node@20.16.5)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -39439,10 +39338,10 @@ snapshots: schema-utils: 4.2.0 webpack: 5.88.2(@swc/core@1.3.107(@swc/helpers@0.5.11)) - mini-css-extract-plugin@2.7.6(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))): + mini-css-extract-plugin@2.7.6(webpack@5.88.2(@swc/core@1.6.7)): dependencies: schema-utils: 4.2.0 - webpack: 5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)) + webpack: 5.88.2(@swc/core@1.6.7) minimalistic-assert@1.0.1: {} @@ -40319,9 +40218,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))(@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/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/utils': 2.12.0 chalk: 4.1.2 commander: 7.2.0 @@ -40684,13 +40583,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.39 - postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.4.5)): dependencies: lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: postcss: 8.4.39 - ts-node: 10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5) + ts-node: 10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5) postcss-merge-longhand@7.0.2(postcss@8.4.39): dependencies: @@ -43135,7 +43034,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -43154,7 +43053,7 @@ snapshots: postcss: 8.4.39 postcss-import: 15.1.0(postcss@8.4.39) postcss-js: 4.0.1(postcss@8.4.39) - postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5)) + postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.4.5)) postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.1.0 resolve: 1.22.8 @@ -43262,14 +43161,14 @@ snapshots: optionalDependencies: '@swc/core': 1.3.78(@swc/helpers@0.5.11) - terser-webpack-plugin@5.3.10(@swc/core@1.6.7(@swc/helpers@0.5.11))(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))): + terser-webpack-plugin@5.3.10(@swc/core@1.6.7)(webpack@5.88.2(@swc/core@1.6.7)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)) + webpack: 5.88.2(@swc/core@1.6.7) optionalDependencies: '@swc/core': 1.6.7(@swc/helpers@0.5.11) @@ -43471,27 +43370,6 @@ snapshots: ts-log@2.2.5: {} - ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.9 - acorn: 8.11.3 - acorn-walk: 8.3.3 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.4.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.3.107(@swc/helpers@0.5.11) - optional: true - ts-node@10.9.2(@swc/core@1.3.78(@swc/helpers@0.5.11))(@types/node@20.16.5)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -43513,7 +43391,7 @@ snapshots: '@swc/core': 1.3.78(@swc/helpers@0.5.11) optional: true - ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.4.5): + ts-node@10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -43533,7 +43411,7 @@ snapshots: optionalDependencies: '@swc/core': 1.6.7(@swc/helpers@0.5.11) - ts-node@10.9.2(@swc/core@1.6.7(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.6.2): + ts-node@10.9.2(@swc/core@1.6.7)(@types/node@20.14.9)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -44134,11 +44012,11 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - use-resize-observer@9.1.0(react-dom@18.3.1(react@18.3.1))(react@18.2.0): + use-resize-observer@9.1.0(react-dom@18.3.1(react@18.2.0))(react@18.2.0): dependencies: '@juggle/resize-observer': 3.4.0 react: 18.2.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 18.3.1(react@18.2.0) use-sidecar@1.1.2(@types/react@18.3.3)(react@18.2.0): dependencies: @@ -44399,7 +44277,7 @@ snapshots: lightningcss: 1.25.1 terser: 5.31.1 - vitest-dom@0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)): + vitest-dom@0.1.1(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)): dependencies: aria-query: 5.3.0 chalk: 5.3.0 @@ -44409,7 +44287,7 @@ snapshots: redent: 4.0.0 vitest: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) - vitest-dom@0.1.1(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1)): + vitest-dom@0.1.1(vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)): dependencies: aria-query: 5.3.0 chalk: 5.3.0 @@ -44417,7 +44295,7 @@ snapshots: dom-accessibility-api: 0.6.3 lodash-es: 4.17.21 redent: 4.0.0 - vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1) vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1): dependencies: @@ -44455,7 +44333,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0(canvas@2.11.2(encoding@0.1.13)))(lightningcss@1.25.1)(terser@5.31.1): + vitest@1.6.0(@types/node@20.16.5)(@vitest/ui@1.6.0)(happy-dom@12.10.3)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -44717,7 +44595,7 @@ snapshots: - esbuild - uglify-js - webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11)): + webpack@5.88.2(@swc/core@1.6.7): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -44740,7 +44618,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.7(@swc/helpers@0.5.11))(webpack@5.88.2(@swc/core@1.6.7(@swc/helpers@0.5.11))) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.7)(webpack@5.88.2(@swc/core@1.6.7)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: