From 8842243d84d5e9cb817774ec3db147b1a903d9c6 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Mon, 2 Sep 2024 09:00:45 -0300 Subject: [PATCH 01/31] feat: web wallet composite --- packages/react/src/providers/FuelProvider.tsx | 2 + .../WebWallet/components/CopyIcon/index.tsx | 17 +++++++ .../ui/WebWallet/components/Profile/index.tsx | 30 ++++++++++++ .../WebWallet/components/Profile/styles.tsx | 36 ++++++++++++++ packages/react/src/ui/WebWallet/index.tsx | 49 +++++++++++++++++++ packages/react/src/ui/WebWallet/styles.tsx | 37 ++++++++++++++ 6 files changed, 171 insertions(+) create mode 100644 packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Profile/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Profile/styles.tsx create mode 100644 packages/react/src/ui/WebWallet/index.tsx create mode 100644 packages/react/src/ui/WebWallet/styles.tsx diff --git a/packages/react/src/providers/FuelProvider.tsx b/packages/react/src/providers/FuelProvider.tsx index 3ae575ac..a25d5df8 100644 --- a/packages/react/src/providers/FuelProvider.tsx +++ b/packages/react/src/providers/FuelProvider.tsx @@ -2,6 +2,7 @@ import type { FuelConfig } from 'fuels'; import { Connect } from '../ui/Connect'; +import { WebWallet } from '../ui/WebWallet'; import { FuelHooksProvider } from './FuelHooksProvider'; import { FuelUIProvider, type FuelUIProviderProps } from './FuelUIProvider'; @@ -24,6 +25,7 @@ export function FuelProvider({ + {children} diff --git a/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx b/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx new file mode 100644 index 00000000..90e4303e --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx @@ -0,0 +1,17 @@ +export interface ICopyProps { + width?: string; + height?: string; +} +export const CopyIcon = ({ width, height }: ICopyProps) => { + return ( + + Copy + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Profile/index.tsx b/packages/react/src/ui/WebWallet/components/Profile/index.tsx new file mode 100644 index 00000000..796239bd --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Profile/index.tsx @@ -0,0 +1,30 @@ +import { CopyIcon } from '../CopyIcon'; +import { Avatar, Container, Typography } from './styles'; + +export interface IProfileProps { + name: string; +} + +export const Profile = ({ name }: IProfileProps) => { + const nameParts = name.split(' '); + const firstNameInitial = nameParts[0] ? nameParts[0][0] : ''; + const lastNameInitial = nameParts[1] ? nameParts[1][0] : ''; + + return ( + + + {firstNameInitial} + {lastNameInitial} + + + {name} + + + 0x...adb + + + + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Profile/styles.tsx b/packages/react/src/ui/WebWallet/components/Profile/styles.tsx new file mode 100644 index 00000000..75685444 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Profile/styles.tsx @@ -0,0 +1,36 @@ +import styled from 'styled-components'; + +export const Avatar = styled.span` + display: flex; + justify-content: center; + align-items: center; + width: 30px; + height: 30px; + background-color: brown; + color: #ffffff; + font-size: 12px; + border-radius: 50%; +`; + +export interface IContainerProps { + direction?: 'column' | 'row'; + alignItems?: 'center' | 'flex-start' | 'flex-end'; + gap?: number; +} +export const Container = styled.div` + display: flex; + flex-direction: ${(props) => props.direction ?? 'column'}; + align-items: ${(props) => props.alignItems ?? 'center'}; + gap: ${(props) => props.gap ?? 0}px; +`; + +export interface ITypographyProps { + color?: string; + fontSize?: number; + fontWeight?: number; +} +export const Typography = styled.p` + font-size: ${(props) => props.fontSize ?? 12}px; + color: ${(props) => props.color ?? '#000000'}; + font-weight: ${(props) => props.fontWeight ?? 400}; +`; diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx new file mode 100644 index 00000000..952e7cf3 --- /dev/null +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -0,0 +1,49 @@ +import { useEffect, useState } from 'react'; +import { Profile } from './components/Profile'; +import { Container, DashedSeparator, Header, Modal } from './styles'; + +export function WebWallet() { + const [_isClient, setIsClient] = useState(false); + const [username] = useState('Nick D'); + + useEffect(() => { + setIsClient(true); + }, []); + + return ( + + +
+ {/* o que a imagem tem que mostrar? */} + +
+
+

Total Balance

+

0.00000000 BTC

+
+ +
+

Assets

+ + + + + + + + + + + + + + + + + +
TokenPrice
Bitcoin0.00000000 BTC
Ethereum0.00000000 BTC
+
+
+
+ ); +} diff --git a/packages/react/src/ui/WebWallet/styles.tsx b/packages/react/src/ui/WebWallet/styles.tsx new file mode 100644 index 00000000..2da63a7f --- /dev/null +++ b/packages/react/src/ui/WebWallet/styles.tsx @@ -0,0 +1,37 @@ +import { styled } from 'styled-components'; + +export const Container = styled.div` + position: absolute; + bottom: 0px; + right: 0px; + z-index: 90; + min-width: 400px; +`; + +export const Modal = styled.div` + max-width: 400px; + background-color: #fff; + border-radius: 16px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + padding: 15px; + margin: 50px 30px; + display: flex; + flex-direction: column; +`; + +export const Header = styled.div` + display: flex; + justify-content: flex-start; + gap: 15px; + align-items: center; + margin-bottom: 15px; +`; + +export const DashedSeparator = styled.div` + width: 100%; + height: 1px; + margin: 15px 0; + border-bottom-width: thin; + border-bottom-style: dashed; + border-bottom-color: #000; +`; From 9333ef75c54f3fe78ef0ed03863b5a13040610b3 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Mon, 2 Sep 2024 15:28:32 -0300 Subject: [PATCH 02/31] feature: components --- .../ui/WebWallet/components/Avatar/index.tsx | 13 ++++ .../ui/WebWallet/components/Balance/index.tsx | 60 +++++++++++++++++ .../ui/WebWallet/components/Button/index.tsx | 20 ++++++ .../WebWallet/components/Container/index.tsx | 34 ++++++++++ .../WebWallet/components/CopyIcon/index.tsx | 17 ++++- .../ui/WebWallet/components/Header/index.tsx | 9 +++ .../ui/WebWallet/components/Modal/index.tsx | 12 ++++ .../ui/WebWallet/components/Profile/index.tsx | 30 --------- .../WebWallet/components/Profile/styles.tsx | 36 ---------- .../WebWallet/components/Separator/index.tsx | 14 ++++ .../WebWallet/components/Typography/index.tsx | 12 ++++ .../WebWallet/components/WalletIcon/index.tsx | 19 ++++++ .../ui/WebWallet/composites/Anchor/index.tsx | 25 +++++++ .../ui/WebWallet/composites/Assets/index.tsx | 67 +++++++++++++++++++ .../ui/WebWallet/composites/Profile/index.tsx | 36 ++++++++++ packages/react/src/ui/WebWallet/index.tsx | 65 +++++++----------- packages/react/src/ui/WebWallet/styles.tsx | 34 +--------- 17 files changed, 363 insertions(+), 140 deletions(-) create mode 100644 packages/react/src/ui/WebWallet/components/Avatar/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Balance/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Button/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Container/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Header/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Modal/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Profile/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Profile/styles.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Separator/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Typography/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx create mode 100644 packages/react/src/ui/WebWallet/composites/Anchor/index.tsx create mode 100644 packages/react/src/ui/WebWallet/composites/Assets/index.tsx create mode 100644 packages/react/src/ui/WebWallet/composites/Profile/index.tsx diff --git a/packages/react/src/ui/WebWallet/components/Avatar/index.tsx b/packages/react/src/ui/WebWallet/components/Avatar/index.tsx new file mode 100644 index 00000000..7bc5ac3f --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Avatar/index.tsx @@ -0,0 +1,13 @@ +import styled from 'styled-components'; + +export const Avatar = styled.span` + display: flex; + justify-content: center; + align-items: center; + width: 30px; + height: 30px; + background-color: brown; + color: #ffffff; + font-size: 12px; + border-radius: 50%; +`; diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx new file mode 100644 index 00000000..4c4f54fd --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -0,0 +1,60 @@ +import { Flex } from '../Container'; +import { Typography } from '../Typography'; + +export interface IBackgroundProps { + color?: string; + width?: string; + height?: string; +} +export const Background = ({ color, width, height }: IBackgroundProps) => { + const style: React.CSSProperties = { + position: 'absolute', + }; + return ( + + background + + + + + + + + + + ); +}; + +export const Balance = () => { + const style = { + minHeight: '100px', + }; + return ( +
+ + + + Total Balance + + + $0.00 + + +
+ ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Button/index.tsx b/packages/react/src/ui/WebWallet/components/Button/index.tsx new file mode 100644 index 00000000..a21135c1 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Button/index.tsx @@ -0,0 +1,20 @@ +import styled from 'styled-components'; + +export interface IButtonProps { + backgroundColor: string; + color: string; + float?: string; + padding?: string; +} +export const Button = styled.div` + background-color: ${(props) => props.backgroundColor}; + color: ${(props) => props.color}; + border-radius: 15px; + float: ${(props) => props.float ?? 'none'}; + padding: ${(props) => props.padding ?? '0'}; + + &:hover { + cursor: pointer; + background-color: #a0a0a0; + } +`; diff --git a/packages/react/src/ui/WebWallet/components/Container/index.tsx b/packages/react/src/ui/WebWallet/components/Container/index.tsx new file mode 100644 index 00000000..79d6a6f9 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Container/index.tsx @@ -0,0 +1,34 @@ +import styled from 'styled-components'; + +export interface IFlexProps { + direction?: 'column' | 'row'; + alignItems?: 'center' | 'flex-start' | 'flex-end'; + justifyContent?: 'center' | 'space-between' | 'space-around' | 'space-evenly'; + padding?: string; + margin?: string; + gap?: number; + width?: string; +} +export const Flex = styled.div` + display: flex; + flex-direction: ${(props) => props.direction ?? 'column'}; + align-items: ${(props) => props.alignItems ?? 'center'}; + justify-content: ${(props) => props.justifyContent}; + gap: ${(props) => props.gap ?? 0}px; + padding: ${(props) => props.padding ?? '0'}; + margin: ${(props) => props.margin ?? '0'}; + width: ${(props) => props.width ?? 'auto'}; +`; + +export interface IGridProps { + columns?: string; + rows?: string; + alignItems?: 'center' | 'flex-start' | 'flex-end'; +} +export const Grid = styled.div` + display: grid; + grid-template-columns: ${(props) => props.columns ?? 'auto'}; + grid-template-rows: ${(props) => props.rows ?? 'auto'}; + align-items: ${(props) => props.alignItems ?? 'center'}; + width: 100%; +`; diff --git a/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx b/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx index 90e4303e..292f8363 100644 --- a/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx +++ b/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx @@ -1,12 +1,23 @@ export interface ICopyProps { width?: string; height?: string; + onClick?: React.MouseEventHandler; } -export const CopyIcon = ({ width, height }: ICopyProps) => { + +export const CopyIcon = ({ width, height, onClick }: ICopyProps) => { + const w = width ?? '24'; + const h = height ?? '24'; + const style = { + fill: 'currentColor', + cursor: 'pointer', + }; return ( + // biome-ignore lint: no need for keyUp here diff --git a/packages/react/src/ui/WebWallet/components/Header/index.tsx b/packages/react/src/ui/WebWallet/components/Header/index.tsx new file mode 100644 index 00000000..25e72d01 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Header/index.tsx @@ -0,0 +1,9 @@ +import styled from 'styled-components'; + +export const Header = styled.div` + display: flex; + justify-content: flex-start; + gap: 15px; + align-items: center; + margin-bottom: 15px; +`; diff --git a/packages/react/src/ui/WebWallet/components/Modal/index.tsx b/packages/react/src/ui/WebWallet/components/Modal/index.tsx new file mode 100644 index 00000000..c6c38174 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Modal/index.tsx @@ -0,0 +1,12 @@ +import styled from 'styled-components'; + +export const Modal = styled.div` + max-width: 400px; + background-color: #fff; + border-radius: 16px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + padding: 15px; + display: flex; + flex-direction: column; + margin-bottom: 20px; +`; diff --git a/packages/react/src/ui/WebWallet/components/Profile/index.tsx b/packages/react/src/ui/WebWallet/components/Profile/index.tsx deleted file mode 100644 index 796239bd..00000000 --- a/packages/react/src/ui/WebWallet/components/Profile/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { CopyIcon } from '../CopyIcon'; -import { Avatar, Container, Typography } from './styles'; - -export interface IProfileProps { - name: string; -} - -export const Profile = ({ name }: IProfileProps) => { - const nameParts = name.split(' '); - const firstNameInitial = nameParts[0] ? nameParts[0][0] : ''; - const lastNameInitial = nameParts[1] ? nameParts[1][0] : ''; - - return ( - - - {firstNameInitial} - {lastNameInitial} - - - {name} - - - 0x...adb - - - - - - ); -}; diff --git a/packages/react/src/ui/WebWallet/components/Profile/styles.tsx b/packages/react/src/ui/WebWallet/components/Profile/styles.tsx deleted file mode 100644 index 75685444..00000000 --- a/packages/react/src/ui/WebWallet/components/Profile/styles.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import styled from 'styled-components'; - -export const Avatar = styled.span` - display: flex; - justify-content: center; - align-items: center; - width: 30px; - height: 30px; - background-color: brown; - color: #ffffff; - font-size: 12px; - border-radius: 50%; -`; - -export interface IContainerProps { - direction?: 'column' | 'row'; - alignItems?: 'center' | 'flex-start' | 'flex-end'; - gap?: number; -} -export const Container = styled.div` - display: flex; - flex-direction: ${(props) => props.direction ?? 'column'}; - align-items: ${(props) => props.alignItems ?? 'center'}; - gap: ${(props) => props.gap ?? 0}px; -`; - -export interface ITypographyProps { - color?: string; - fontSize?: number; - fontWeight?: number; -} -export const Typography = styled.p` - font-size: ${(props) => props.fontSize ?? 12}px; - color: ${(props) => props.color ?? '#000000'}; - font-weight: ${(props) => props.fontWeight ?? 400}; -`; diff --git a/packages/react/src/ui/WebWallet/components/Separator/index.tsx b/packages/react/src/ui/WebWallet/components/Separator/index.tsx new file mode 100644 index 00000000..53f5411d --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Separator/index.tsx @@ -0,0 +1,14 @@ +import styled from 'styled-components'; + +export interface ISeparatorProps { + color: string; + type: 'dashed' | 'solid'; +} +export const Separator = styled.div` + width: 100%; + height: 1px; + margin: 15px 0; + border-bottom-width: thin; + border-bottom-style: ${(props) => props.type}; + border-bottom-color: ${(props) => props.color}; +`; diff --git a/packages/react/src/ui/WebWallet/components/Typography/index.tsx b/packages/react/src/ui/WebWallet/components/Typography/index.tsx new file mode 100644 index 00000000..d93b6649 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Typography/index.tsx @@ -0,0 +1,12 @@ +import styled from 'styled-components'; + +export interface ITypographyProps { + color?: string; + fontSize?: number; + fontWeight?: number; +} +export const Typography = styled.p` + font-size: ${(props) => props.fontSize ?? 12}px; + color: ${(props) => props.color ?? '#000000'}; + font-weight: ${(props) => props.fontWeight ?? 400}; +`; diff --git a/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx b/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx new file mode 100644 index 00000000..b13c3759 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx @@ -0,0 +1,19 @@ +export interface IWalletIconProps { + width?: string; + height?: string; + color?: string; +} +export const WalletIcon = ({ width, height, color }: IWalletIconProps) => { + const w = width ?? '24'; + const h = height ?? '24'; + return ( + + Wallet Icon + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx b/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx new file mode 100644 index 00000000..fc15803d --- /dev/null +++ b/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx @@ -0,0 +1,25 @@ +import { Button } from '../../components/Button'; +import { Flex } from '../../components/Container'; +import { Typography } from '../../components/Typography'; +import { WalletIcon } from '../../components/WalletIcon'; + +export interface IAnchorProps { + address: string; + onClick: () => void; +} +export const Anchor = ({ address, onClick }: IAnchorProps) => { + return ( + + ); +}; diff --git a/packages/react/src/ui/WebWallet/composites/Assets/index.tsx b/packages/react/src/ui/WebWallet/composites/Assets/index.tsx new file mode 100644 index 00000000..916caa38 --- /dev/null +++ b/packages/react/src/ui/WebWallet/composites/Assets/index.tsx @@ -0,0 +1,67 @@ +import { Avatar } from '../../components/Avatar'; +import { Flex, Grid } from '../../components/Container'; +import { Typography } from '../../components/Typography'; + +export const AssetRow = ({ + token, + price, +}: { token: string; price: string }) => { + return ( + + + ETH + + + {token} + + + {price} + + + ); +}; + +export const Assets = () => { + return ( + + + Assets + + + + + Token + + + Price + + + {[ + { token: 'ETH', price: '$3000' }, + { token: 'ETH', price: '$3000' }, + { token: 'ETH', price: '$3000' }, + ].map(({ token, price }) => ( + + ))} + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/composites/Profile/index.tsx b/packages/react/src/ui/WebWallet/composites/Profile/index.tsx new file mode 100644 index 00000000..e3388d0e --- /dev/null +++ b/packages/react/src/ui/WebWallet/composites/Profile/index.tsx @@ -0,0 +1,36 @@ +import { Avatar } from '../../components/Avatar'; +import { Flex } from '../../components/Container'; +import { CopyIcon } from '../../components/CopyIcon'; +import { Typography } from '../../components/Typography'; + +export interface IProfileProps { + name: string; + address: string; +} + +export const Profile = ({ name, address }: IProfileProps) => { + const nameParts = name.split(' '); + const firstNameInitial = nameParts[0] ? nameParts[0][0] : ''; + const lastNameInitial = nameParts[1] ? nameParts[1][0] : ''; + const copyAddress = () => { + navigator.clipboard.writeText('0x...adb'); + }; + + return ( + + + {firstNameInitial} + {lastNameInitial} + + + {name} + + + {address} + + + + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index 952e7cf3..82018524 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -1,49 +1,34 @@ import { useEffect, useState } from 'react'; -import { Profile } from './components/Profile'; -import { Container, DashedSeparator, Header, Modal } from './styles'; +import { Balance } from './components/Balance'; +import { Header } from './components/Header'; +import { Modal } from './components/Modal'; +import { Separator } from './components/Separator'; +import { Anchor } from './composites/Anchor'; +import { Assets } from './composites/Assets'; +import { Profile } from './composites/Profile'; +import { Overlay } from './styles'; export function WebWallet() { - const [_isClient, setIsClient] = useState(false); + const [isOpen, setIsOpen] = useState(false); const [username] = useState('Nick D'); + const [address] = useState('0x1234567890abcdef1234567890abcdef12345678'); - useEffect(() => { - setIsClient(true); - }, []); + // Create animation for modal open + const toggleModal = () => setIsOpen(!isOpen); return ( - - -
- {/* o que a imagem tem que mostrar? */} - -
-
-

Total Balance

-

0.00000000 BTC

-
- -
-

Assets

- - - - - - - - - - - - - - - - - -
TokenPrice
Bitcoin0.00000000 BTC
Ethereum0.00000000 BTC
-
-
-
+ + {isOpen && ( + +
+ +
+ + + +
+ )} + +
); } diff --git a/packages/react/src/ui/WebWallet/styles.tsx b/packages/react/src/ui/WebWallet/styles.tsx index 2da63a7f..cbde59db 100644 --- a/packages/react/src/ui/WebWallet/styles.tsx +++ b/packages/react/src/ui/WebWallet/styles.tsx @@ -1,37 +1,9 @@ import { styled } from 'styled-components'; -export const Container = styled.div` +export const Overlay = styled.div` position: absolute; - bottom: 0px; - right: 0px; + bottom: 50px; + right: 50px; z-index: 90; min-width: 400px; `; - -export const Modal = styled.div` - max-width: 400px; - background-color: #fff; - border-radius: 16px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - padding: 15px; - margin: 50px 30px; - display: flex; - flex-direction: column; -`; - -export const Header = styled.div` - display: flex; - justify-content: flex-start; - gap: 15px; - align-items: center; - margin-bottom: 15px; -`; - -export const DashedSeparator = styled.div` - width: 100%; - height: 1px; - margin: 15px 0; - border-bottom-width: thin; - border-bottom-style: dashed; - border-bottom-color: #000; -`; From 4222f76295f6fb782260d70b94ddd2f02f0042f8 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Thu, 5 Sep 2024 19:05:29 -0300 Subject: [PATCH 03/31] feat: webwallet component --- .changeset/poor-beers-march.md | 5 + packages/react/package.json | 5 +- .../react/src/providers/FuelUIProvider.tsx | 3 +- .../ui/WebWallet/components/Anchor/index.tsx | 36 + .../ui/WebWallet/components/Assets/index.tsx | 54 + .../ui/WebWallet/components/Assets/styles.tsx | 26 + .../ui/WebWallet/components/Avatar/index.tsx | 13 - .../ui/WebWallet/components/Balance/index.tsx | 65 +- .../ui/WebWallet/components/Button/index.tsx | 20 - .../WebWallet/components/Container/index.tsx | 34 - .../WebWallet/components/CopyIcon/index.tsx | 28 - .../ui/WebWallet/components/Header/index.tsx | 9 - .../ui/WebWallet/components/Modal/index.tsx | 12 - .../WebWallet/components/Separator/index.tsx | 14 - .../WebWallet/components/Typography/index.tsx | 12 - .../WebWallet/components/WalletIcon/index.tsx | 19 - .../src/ui/WebWallet/components/index.tsx | 3 + .../ui/WebWallet/composites/Anchor/index.tsx | 25 - .../ui/WebWallet/composites/Assets/index.tsx | 67 - .../ui/WebWallet/composites/Profile/index.tsx | 36 - packages/react/src/ui/WebWallet/index.tsx | 143 +- packages/react/src/ui/WebWallet/styles.tsx | 4 +- packages/react/src/ui/WebWallet/types.ts | 5 + packages/react/tsup.config.js | 1 + pnpm-lock.yaml | 6005 +++++++++++++---- 25 files changed, 4842 insertions(+), 1802 deletions(-) create mode 100644 .changeset/poor-beers-march.md create mode 100644 packages/react/src/ui/WebWallet/components/Anchor/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Assets/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Assets/styles.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Avatar/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Button/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Container/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Header/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Modal/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Separator/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/Typography/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/composites/Anchor/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/composites/Assets/index.tsx delete mode 100644 packages/react/src/ui/WebWallet/composites/Profile/index.tsx create mode 100644 packages/react/src/ui/WebWallet/types.ts diff --git a/.changeset/poor-beers-march.md b/.changeset/poor-beers-march.md new file mode 100644 index 00000000..74996fc3 --- /dev/null +++ b/.changeset/poor-beers-march.md @@ -0,0 +1,5 @@ +--- +"@fuels/react": minor +--- + +Added a component "WebWallet" to increase UX when using connectors diff --git a/packages/react/package.json b/packages/react/package.json index 1b4efefa..08432741 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -31,15 +31,18 @@ }, "dependencies": { "@radix-ui/react-dialog": "^1.0.5", - "@types/react": "18.3.1", + "@tabler/icons-react": "2.47.0", "events": "^3.3.0" }, "devDependencies": { + "@fuels/ui": "0.0.1", "@tanstack/react-query": "5.35.1", + "@types/react": "18.2.54", "compare-versions": "^6.1.0", "fuels": "0.93.0", "react": "^18.2.0", "styled-components": "^6.1.1", + "tailwindcss": "3.4.4", "tsup": "^7.2.0", "tsx": "4.9.3", "typescript": "5.4.5" diff --git a/packages/react/src/providers/FuelUIProvider.tsx b/packages/react/src/providers/FuelUIProvider.tsx index f759e251..1b5314d8 100644 --- a/packages/react/src/providers/FuelUIProvider.tsx +++ b/packages/react/src/providers/FuelUIProvider.tsx @@ -12,6 +12,7 @@ import { import { useConnect } from '../hooks/useConnect'; import { useConnectors } from '../hooks/useConnectors'; +import { Theme, type ThemeProps } from '@fuels/ui'; import { useFuel } from './FuelHooksProvider'; export type FuelUIProviderProps = { @@ -132,7 +133,7 @@ export function FuelUIProvider({ }, }} > - {children} + {children} ); } diff --git a/packages/react/src/ui/WebWallet/components/Anchor/index.tsx b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx new file mode 100644 index 00000000..1d4fc3b1 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx @@ -0,0 +1,36 @@ +import { Button, Popover } from '@fuels/ui'; +import { IconWallet } from '@tabler/icons-react'; +import React from 'react'; + +export interface IAnchorProps { + address: string; + onClick?: () => void; + isLoading: boolean; + isConnected: boolean; +} + +const AnchorComponent = ( + { address, onClick, isLoading, isConnected }: IAnchorProps, + ref: React.ForwardedRef | null, +) => { + return ( + + ); +}; + +export const Anchor = React.forwardRef(AnchorComponent); diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx new file mode 100644 index 00000000..d91f561f --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -0,0 +1,54 @@ +import { Heading, Table, Text, Tooltip, VStack } from '@fuels/ui'; +import type { CoinQuantity } from 'fuels'; +import { StyledColumnHeaderCell, StyledText } from './styles'; + +export interface IAssetsProps { + assets: CoinQuantity[]; +} + +export const Assets = ({ assets }: IAssetsProps) => { + return ( + + + Assets + + + + + + + Token + + + + + Price + + + + + + + {assets.map((asset) => { + return ( + + + + + {asset.assetId} + + + + + + {asset.amount.format()} + + + + ); + })} + +
+
+ ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Assets/styles.tsx b/packages/react/src/ui/WebWallet/components/Assets/styles.tsx new file mode 100644 index 00000000..0ffcb42b --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Assets/styles.tsx @@ -0,0 +1,26 @@ +import { Table, type TableColumnHeaderCell, Text } from '@fuels/ui'; +import styled from 'styled-components'; + +export interface StyledColumnHeaderCellProps { + topLeft?: boolean; + topRight?: boolean; +} +export const StyledColumnHeaderCell = styled< + typeof TableColumnHeaderCell, + StyledColumnHeaderCellProps +>(Table.ColumnHeaderCell)` + background-color: var(--gray-3); + border-radius: ${(props) => { + const t = props.topLeft ? 0.75 : 0; + const r = props.topRight ? 0.75 : 0; + return `${t}rem ${r}rem 0 0`; + }}; +`; + +export const StyledText = styled(Text)` + display: block; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 120px; +`; diff --git a/packages/react/src/ui/WebWallet/components/Avatar/index.tsx b/packages/react/src/ui/WebWallet/components/Avatar/index.tsx deleted file mode 100644 index 7bc5ac3f..00000000 --- a/packages/react/src/ui/WebWallet/components/Avatar/index.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import styled from 'styled-components'; - -export const Avatar = styled.span` - display: flex; - justify-content: center; - align-items: center; - width: 30px; - height: 30px; - background-color: brown; - color: #ffffff; - font-size: 12px; - border-radius: 50%; -`; diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index 4c4f54fd..42e7fba6 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -1,60 +1,17 @@ -import { Flex } from '../Container'; -import { Typography } from '../Typography'; +import { Card, Heading, LoadingBox, Text, VStack } from '@fuels/ui'; -export interface IBackgroundProps { - color?: string; - width?: string; - height?: string; +export interface IBalanceProps { + value: string | null; } -export const Background = ({ color, width, height }: IBackgroundProps) => { - const style: React.CSSProperties = { - position: 'absolute', - }; +export const Balance = ({ value }: IBalanceProps) => { return ( - - background - - - - - - - - - - ); -}; - -export const Balance = () => { - const style = { - minHeight: '100px', - }; - return ( -
- - - + + + Total Balance - - - $0.00 - - -
+ + {value} ETH + + ); }; diff --git a/packages/react/src/ui/WebWallet/components/Button/index.tsx b/packages/react/src/ui/WebWallet/components/Button/index.tsx deleted file mode 100644 index a21135c1..00000000 --- a/packages/react/src/ui/WebWallet/components/Button/index.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import styled from 'styled-components'; - -export interface IButtonProps { - backgroundColor: string; - color: string; - float?: string; - padding?: string; -} -export const Button = styled.div` - background-color: ${(props) => props.backgroundColor}; - color: ${(props) => props.color}; - border-radius: 15px; - float: ${(props) => props.float ?? 'none'}; - padding: ${(props) => props.padding ?? '0'}; - - &:hover { - cursor: pointer; - background-color: #a0a0a0; - } -`; diff --git a/packages/react/src/ui/WebWallet/components/Container/index.tsx b/packages/react/src/ui/WebWallet/components/Container/index.tsx deleted file mode 100644 index 79d6a6f9..00000000 --- a/packages/react/src/ui/WebWallet/components/Container/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import styled from 'styled-components'; - -export interface IFlexProps { - direction?: 'column' | 'row'; - alignItems?: 'center' | 'flex-start' | 'flex-end'; - justifyContent?: 'center' | 'space-between' | 'space-around' | 'space-evenly'; - padding?: string; - margin?: string; - gap?: number; - width?: string; -} -export const Flex = styled.div` - display: flex; - flex-direction: ${(props) => props.direction ?? 'column'}; - align-items: ${(props) => props.alignItems ?? 'center'}; - justify-content: ${(props) => props.justifyContent}; - gap: ${(props) => props.gap ?? 0}px; - padding: ${(props) => props.padding ?? '0'}; - margin: ${(props) => props.margin ?? '0'}; - width: ${(props) => props.width ?? 'auto'}; -`; - -export interface IGridProps { - columns?: string; - rows?: string; - alignItems?: 'center' | 'flex-start' | 'flex-end'; -} -export const Grid = styled.div` - display: grid; - grid-template-columns: ${(props) => props.columns ?? 'auto'}; - grid-template-rows: ${(props) => props.rows ?? 'auto'}; - align-items: ${(props) => props.alignItems ?? 'center'}; - width: 100%; -`; diff --git a/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx b/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx deleted file mode 100644 index 292f8363..00000000 --- a/packages/react/src/ui/WebWallet/components/CopyIcon/index.tsx +++ /dev/null @@ -1,28 +0,0 @@ -export interface ICopyProps { - width?: string; - height?: string; - onClick?: React.MouseEventHandler; -} - -export const CopyIcon = ({ width, height, onClick }: ICopyProps) => { - const w = width ?? '24'; - const h = height ?? '24'; - const style = { - fill: 'currentColor', - cursor: 'pointer', - }; - return ( - // biome-ignore lint: no need for keyUp here - - Copy - - - ); -}; diff --git a/packages/react/src/ui/WebWallet/components/Header/index.tsx b/packages/react/src/ui/WebWallet/components/Header/index.tsx deleted file mode 100644 index 25e72d01..00000000 --- a/packages/react/src/ui/WebWallet/components/Header/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import styled from 'styled-components'; - -export const Header = styled.div` - display: flex; - justify-content: flex-start; - gap: 15px; - align-items: center; - margin-bottom: 15px; -`; diff --git a/packages/react/src/ui/WebWallet/components/Modal/index.tsx b/packages/react/src/ui/WebWallet/components/Modal/index.tsx deleted file mode 100644 index c6c38174..00000000 --- a/packages/react/src/ui/WebWallet/components/Modal/index.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import styled from 'styled-components'; - -export const Modal = styled.div` - max-width: 400px; - background-color: #fff; - border-radius: 16px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - padding: 15px; - display: flex; - flex-direction: column; - margin-bottom: 20px; -`; diff --git a/packages/react/src/ui/WebWallet/components/Separator/index.tsx b/packages/react/src/ui/WebWallet/components/Separator/index.tsx deleted file mode 100644 index 53f5411d..00000000 --- a/packages/react/src/ui/WebWallet/components/Separator/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import styled from 'styled-components'; - -export interface ISeparatorProps { - color: string; - type: 'dashed' | 'solid'; -} -export const Separator = styled.div` - width: 100%; - height: 1px; - margin: 15px 0; - border-bottom-width: thin; - border-bottom-style: ${(props) => props.type}; - border-bottom-color: ${(props) => props.color}; -`; diff --git a/packages/react/src/ui/WebWallet/components/Typography/index.tsx b/packages/react/src/ui/WebWallet/components/Typography/index.tsx deleted file mode 100644 index d93b6649..00000000 --- a/packages/react/src/ui/WebWallet/components/Typography/index.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import styled from 'styled-components'; - -export interface ITypographyProps { - color?: string; - fontSize?: number; - fontWeight?: number; -} -export const Typography = styled.p` - font-size: ${(props) => props.fontSize ?? 12}px; - color: ${(props) => props.color ?? '#000000'}; - font-weight: ${(props) => props.fontWeight ?? 400}; -`; diff --git a/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx b/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx deleted file mode 100644 index b13c3759..00000000 --- a/packages/react/src/ui/WebWallet/components/WalletIcon/index.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export interface IWalletIconProps { - width?: string; - height?: string; - color?: string; -} -export const WalletIcon = ({ width, height, color }: IWalletIconProps) => { - const w = width ?? '24'; - const h = height ?? '24'; - return ( - - Wallet Icon - - - ); -}; diff --git a/packages/react/src/ui/WebWallet/components/index.tsx b/packages/react/src/ui/WebWallet/components/index.tsx new file mode 100644 index 00000000..e3d8e8a3 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/index.tsx @@ -0,0 +1,3 @@ +export * from './Anchor'; +export * from './Balance'; +export * from './Assets'; diff --git a/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx b/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx deleted file mode 100644 index fc15803d..00000000 --- a/packages/react/src/ui/WebWallet/composites/Anchor/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { Button } from '../../components/Button'; -import { Flex } from '../../components/Container'; -import { Typography } from '../../components/Typography'; -import { WalletIcon } from '../../components/WalletIcon'; - -export interface IAnchorProps { - address: string; - onClick: () => void; -} -export const Anchor = ({ address, onClick }: IAnchorProps) => { - return ( - - ); -}; diff --git a/packages/react/src/ui/WebWallet/composites/Assets/index.tsx b/packages/react/src/ui/WebWallet/composites/Assets/index.tsx deleted file mode 100644 index 916caa38..00000000 --- a/packages/react/src/ui/WebWallet/composites/Assets/index.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { Avatar } from '../../components/Avatar'; -import { Flex, Grid } from '../../components/Container'; -import { Typography } from '../../components/Typography'; - -export const AssetRow = ({ - token, - price, -}: { token: string; price: string }) => { - return ( - - - ETH - - - {token} - - - {price} - - - ); -}; - -export const Assets = () => { - return ( - - - Assets - - - - - Token - - - Price - - - {[ - { token: 'ETH', price: '$3000' }, - { token: 'ETH', price: '$3000' }, - { token: 'ETH', price: '$3000' }, - ].map(({ token, price }) => ( - - ))} - - - ); -}; diff --git a/packages/react/src/ui/WebWallet/composites/Profile/index.tsx b/packages/react/src/ui/WebWallet/composites/Profile/index.tsx deleted file mode 100644 index e3388d0e..00000000 --- a/packages/react/src/ui/WebWallet/composites/Profile/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Avatar } from '../../components/Avatar'; -import { Flex } from '../../components/Container'; -import { CopyIcon } from '../../components/CopyIcon'; -import { Typography } from '../../components/Typography'; - -export interface IProfileProps { - name: string; - address: string; -} - -export const Profile = ({ name, address }: IProfileProps) => { - const nameParts = name.split(' '); - const firstNameInitial = nameParts[0] ? nameParts[0][0] : ''; - const lastNameInitial = nameParts[1] ? nameParts[1][0] : ''; - const copyAddress = () => { - navigator.clipboard.writeText('0x...adb'); - }; - - return ( - - - {firstNameInitial} - {lastNameInitial} - - - {name} - - - {address} - - - - - - ); -}; diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index 82018524..76cf6475 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -1,34 +1,127 @@ +import { + Button, + EntityItem, + EntityItemInfo, + HStack, + Heading, + Popover, + Separator, + VStack, + shortAddress, +} from '@fuels/ui'; +import { type BN, type CoinQuantity, bn } from 'fuels'; import { useEffect, useState } from 'react'; -import { Balance } from './components/Balance'; -import { Header } from './components/Header'; -import { Modal } from './components/Modal'; -import { Separator } from './components/Separator'; -import { Anchor } from './composites/Anchor'; -import { Assets } from './composites/Assets'; -import { Profile } from './composites/Profile'; +import { + useAccount, + useDisconnect, + useIsConnected, + useWallet, +} from '../../hooks'; +import { Anchor, Assets, Balance } from './components'; import { Overlay } from './styles'; +import '@fuels/ui/styles.css'; +import { IconHistory, IconLogout } from '@tabler/icons-react'; -export function WebWallet() { - const [isOpen, setIsOpen] = useState(false); - const [username] = useState('Nick D'); - const [address] = useState('0x1234567890abcdef1234567890abcdef12345678'); +export const WebWallet = () => { + const [address, setAddress] = useState(''); + const [balance, setBalance] = useState(''); + const [assetsBalances, setAssetsBalances] = useState([]); - // Create animation for modal open - const toggleModal = () => setIsOpen(!isOpen); + const { account, isFetched: isFetchedAccount } = useAccount(); + const { isConnected } = useIsConnected(); + const { disconnect } = useDisconnect(); + const { wallet, isFetched: isFetchedWallet } = useWallet(); + + const disconnectWallet = () => { + disconnect(); + }; + + useEffect(() => { + if (!isConnected) { + setAddress(''); + setBalance(''); + setAssetsBalances([]); + } + }, [isConnected]); + + useEffect(() => { + if (isFetchedWallet && wallet) { + wallet + .getBalances() + .then(({ balances }) => { + setAssetsBalances(balances); + }) + .catch(console.error); + } + }, [wallet, isFetchedWallet]); + + useEffect(() => { + if (assetsBalances.length > 0) { + const balance = assetsBalances + .reduce((acc: BN, { amount }) => { + return acc.add(amount ?? bn(0)); + }, bn(0)) + .format(); + setBalance(balance); + } + }, [assetsBalances]); + + useEffect(() => { + if (isFetchedAccount && account) { + setAddress(account); + } + }, [account, isFetchedAccount]); + + const isLoading = !isFetchedAccount || !isFetchedWallet || balance === ''; return ( - {isOpen && ( - -
- -
- - - -
- )} - + + + + + + + + + + + + + + + + + + + + + +
); -} +}; diff --git a/packages/react/src/ui/WebWallet/styles.tsx b/packages/react/src/ui/WebWallet/styles.tsx index cbde59db..384b15ec 100644 --- a/packages/react/src/ui/WebWallet/styles.tsx +++ b/packages/react/src/ui/WebWallet/styles.tsx @@ -1,9 +1,7 @@ import { styled } from 'styled-components'; export const Overlay = styled.div` - position: absolute; + position: fixed; bottom: 50px; right: 50px; - z-index: 90; - min-width: 400px; `; diff --git a/packages/react/src/ui/WebWallet/types.ts b/packages/react/src/ui/WebWallet/types.ts new file mode 100644 index 00000000..9acc4f1a --- /dev/null +++ b/packages/react/src/ui/WebWallet/types.ts @@ -0,0 +1,5 @@ +export interface IAssetsBalance { + token: string; + name: string; + price: string; +} diff --git a/packages/react/tsup.config.js b/packages/react/tsup.config.js index 3f8c10f2..95730600 100644 --- a/packages/react/tsup.config.js +++ b/packages/react/tsup.config.js @@ -7,4 +7,5 @@ export default defineConfig((options) => ({ minify: true, clean: true, entry: ['src/index.ts'], + external: ['@fuels/ui'], })); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6746f1ea..0bdf785f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,7 +44,7 @@ importers: version: 15.2.2 tsx: specifier: ^4.16.2 - version: 4.17.0 + version: 4.19.0 turbo: specifier: 2.0.11 version: 2.0.11 @@ -68,7 +68,7 @@ importers: version: 5.35.1(react@18.3.1) '@wagmi/connectors': specifier: 5.1.7 - version: 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) + version: 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) '@wagmi/core': specifier: 2.13.4 version: 2.13.4(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) @@ -126,7 +126,7 @@ importers: version: 5.35.1(react@18.3.1) '@wagmi/connectors': specifier: 5.1.7 - version: 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) + version: 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) fuels: specifier: 0.93.0 version: 0.93.0 @@ -141,7 +141,7 @@ importers: version: 18.3.1(react@18.3.1) wagmi: specifier: 2.12.7 - version: 2.12.7(@tanstack/react-query@5.35.1)(@types/react@18.3.1)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) + version: 2.12.7(@tanstack/react-query@5.35.1)(@types/react@18.3.1)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) devDependencies: '@tanstack/react-query-devtools': specifier: 5.35.1 @@ -359,13 +359,13 @@ importers: version: 5.1.0(typedoc@0.25.13) vitepress: specifier: 1.3.2 - version: 1.3.2(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3)(typescript@5.4.5) + version: 1.3.2(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.2)(vue@3.4.37) + version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.2)(vue@3.5.2) vue: specifier: ^3.4.37 - version: 3.4.37(typescript@5.4.5) + version: 3.5.2(typescript@5.4.5) packages/evm-connector: dependencies: @@ -396,7 +396,7 @@ importers: version: 24.0.0 ts-loader: specifier: 9.5.1 - version: 9.5.1(typescript@5.4.5)(webpack@5.93.0) + version: 9.5.1(typescript@5.4.5)(webpack@5.94.0) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) @@ -496,17 +496,23 @@ importers: dependencies: '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.1.1(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@types/react': - specifier: 18.3.1 - version: 18.3.1 + version: 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@tabler/icons-react': + specifier: 2.47.0 + version: 2.47.0(react@18.3.1) events: specifier: ^3.3.0 version: 3.3.0 devDependencies: + '@fuels/ui': + specifier: file:/Users/leonardo/Infinity/fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz + version: file:../fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1)(tailwindcss@3.4.4) '@tanstack/react-query': specifier: 5.35.1 version: 5.35.1(react@18.3.1) + '@types/react': + specifier: 18.2.54 + version: 18.2.54 compare-versions: specifier: ^6.1.0 version: 6.1.0 @@ -518,10 +524,13 @@ importers: version: 18.3.1 styled-components: specifier: ^6.1.1 - version: 6.1.12(react-dom@18.3.1)(react@18.3.1) + version: 6.1.13(react-dom@18.3.1)(react@18.3.1) + tailwindcss: + specifier: 3.4.4 + version: 3.4.4 tsup: specifier: ^7.2.0 - version: 7.3.0(typescript@5.4.5) + version: 7.3.0(postcss@8.4.38)(typescript@5.4.5) tsx: specifier: 4.9.3 version: 4.9.3 @@ -576,7 +585,7 @@ importers: version: 24.0.0 ts-loader: specifier: 9.5.1 - version: 9.5.1(typescript@5.4.5)(webpack@5.93.0) + version: 9.5.1(typescript@5.4.5)(webpack@5.94.0) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) @@ -643,7 +652,7 @@ importers: version: 24.0.0 ts-loader: specifier: 9.5.1 - version: 9.5.1(typescript@5.4.5)(webpack@5.93.0) + version: 9.5.1(typescript@5.4.5)(webpack@5.94.0) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) @@ -671,47 +680,51 @@ packages: /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0)(search-insights@2.16.3): + /@adraffy/ens-normalize@1.10.1: + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + dev: true + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0)(search-insights@2.17.1): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0)(search-insights@2.16.3) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0)(search-insights@2.17.1) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: true - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0)(search-insights@2.16.3): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0)(search-insights@2.17.1): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0) - search-insights: 2.16.3 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0) + search-insights: 2.17.1 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: true - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0) - '@algolia/client-search': 5.0.0 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0) + '@algolia/client-search': 5.2.5 algoliasearch: 4.24.0 dev: true - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 5.0.0 + '@algolia/client-search': 5.2.5 algoliasearch: 4.24.0 dev: true @@ -755,8 +768,8 @@ packages: '@algolia/transporter': 4.24.0 dev: true - /@algolia/client-common@5.0.0: - resolution: {integrity: sha512-6N5Qygv/Z/B+rPufnPDLNWgsMf1uubMU7iS52xLcQSLiGlTS4f9eLUrmNXSzHccP33uoFi6xN9craN1sZi5MPQ==} + /@algolia/client-common@5.2.5: + resolution: {integrity: sha512-ITE85veJWwClnoNyv7Zydh9U0eKA82cDy8pLw+2hzL+zlzFIvV68ihGOEQ/kXt8N4v+R4MFzvsxnIpMruQzEug==} engines: {node: '>= 14.0.0'} dev: true @@ -776,13 +789,13 @@ packages: '@algolia/transporter': 4.24.0 dev: true - /@algolia/client-search@5.0.0: - resolution: {integrity: sha512-QdDYMzoxYZ3axzBy6CHe+M+NlOGvHEFTa2actchGnp25Uu0N6lyVNivT7nph+P1XoxgAD08cWbeJD3wWQXnpng==} + /@algolia/client-search@5.2.5: + resolution: {integrity: sha512-OVDLzm5BEUbJmjfMm7b0Xx8vkK+NyEh7whPHuap2qy0x7RxQDLMXjiKsBbt1WNq+9nfX6+M/f2t0CJ8ENVuyYQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.0.0 - '@algolia/requester-browser-xhr': 5.0.0 - '@algolia/requester-node-http': 5.0.0 + '@algolia/client-common': 5.2.5 + '@algolia/requester-browser-xhr': 5.2.5 + '@algolia/requester-node-http': 5.2.5 dev: true /@algolia/logger-common@4.24.0: @@ -817,11 +830,11 @@ packages: '@algolia/requester-common': 4.24.0 dev: true - /@algolia/requester-browser-xhr@5.0.0: - resolution: {integrity: sha512-oOoQhSpg/RGiGHjn/cqtYpHBkkd+5M/DCi1jmfW+ZOvLVx21QVt6PbWIJoKJF85moNFo4UG9pMBU35R1MaxUKQ==} + /@algolia/requester-browser-xhr@5.2.5: + resolution: {integrity: sha512-Ri73PphNy1ceig94xJW9bPdN7uIYFAjpsABpp2Fsun4DmeZD5a4rMCNwwOXXsbC8h+lUzW34zpUf+h4Nk+eaqA==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.0.0 + '@algolia/client-common': 5.2.5 dev: true /@algolia/requester-common@4.24.0: @@ -834,11 +847,11 @@ packages: '@algolia/requester-common': 4.24.0 dev: true - /@algolia/requester-node-http@5.0.0: - resolution: {integrity: sha512-FwCdugzpnW0wxbgWPauAz5vhmWGQnjZa5DCl9PBbIoDNEy/NIV8DmiL9CEA+LljQdDidG0l0ijojcTNaRRtPvQ==} + /@algolia/requester-node-http@5.2.5: + resolution: {integrity: sha512-/tTdEuWcWHSe/mGMomWkuaFDoRcpfl/jvGISVTPRq3pJvM1FPAzxlh2MXge6C30aUS9bxh3V0aWwgKFCilzyMQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.0.0 + '@algolia/client-common': 5.2.5 dev: true /@algolia/transporter@4.24.0: @@ -866,10 +879,10 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.0 - /@babel/compat-data@7.25.2: - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} /@babel/core@7.25.2: @@ -878,14 +891,14 @@ packages: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 debug: 4.3.6(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -894,11 +907,11 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.25.0: - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -907,15 +920,15 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -924,14 +937,14 @@ packages: resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} + /@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -942,7 +955,7 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -979,8 +992,8 @@ packages: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -989,8 +1002,8 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -1004,7 +1017,7 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -1012,7 +1025,7 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 dev: false /@babel/helper-plugin-utils@7.24.8: @@ -1028,7 +1041,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1042,7 +1055,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1051,8 +1064,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -1060,8 +1073,8 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1083,18 +1096,18 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helpers@7.25.0: - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} @@ -1103,14 +1116,14 @@ packages: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 - /@babel/parser@7.25.3: - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2): resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} @@ -1120,7 +1133,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1167,7 +1180,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1180,7 +1193,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1299,8 +1312,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + /@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1309,8 +1322,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1421,8 +1434,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1452,8 +1465,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} + /@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1462,7 +1475,7 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1501,14 +1514,14 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + /@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1521,15 +1534,15 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} + /@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1539,7 +1552,7 @@ packages: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1666,7 +1679,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1750,7 +1763,7 @@ packages: '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1872,14 +1885,14 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + /@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1893,7 +1906,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: @@ -1949,7 +1962,7 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -1975,8 +1988,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-runtime@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + /@babel/plugin-transform-runtime@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2053,10 +2066,10 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false @@ -2093,8 +2106,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2104,13 +2117,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/preset-env@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} + /@babel/preset-env@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 @@ -2126,8 +2139,8 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) @@ -2140,13 +2153,13 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) @@ -2174,7 +2187,7 @@ packages: '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) @@ -2187,12 +2200,12 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -2217,7 +2230,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 esutils: 2.0.3 dev: false @@ -2255,8 +2268,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime@7.25.0: - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} + /@babel/runtime@7.25.6: + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2266,25 +2279,25 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 - /@babel/traverse@7.25.3: - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + /@babel/traverse@7.25.6: + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 debug: 4.3.6(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.25.2: - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 @@ -2383,14 +2396,13 @@ packages: dev: true optional: true - /@changesets/apply-release-plan@7.0.4: - resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==} + /@changesets/apply-release-plan@7.0.5: + resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} dependencies: - '@babel/runtime': 7.25.0 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -2402,13 +2414,12 @@ packages: semver: 7.6.3 dev: true - /@changesets/assemble-release-plan@6.0.3: - resolution: {integrity: sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==} + /@changesets/assemble-release-plan@6.0.4: + resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} dependencies: - '@babel/runtime': 7.25.0 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 semver: 7.6.3 @@ -2434,20 +2445,20 @@ packages: resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: - '@babel/runtime': 7.25.0 - '@changesets/apply-release-plan': 7.0.4 - '@changesets/assemble-release-plan': 6.0.3 + '@babel/runtime': 7.25.6 + '@changesets/apply-release-plan': 7.0.5 + '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/get-release-plan': 4.0.3 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.4 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.1 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 @@ -2468,16 +2479,16 @@ packages: tty-table: 4.2.3 dev: true - /@changesets/config@3.0.2: - resolution: {integrity: sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==} + /@changesets/config@3.0.3: + resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/logger': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/logger': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.7 + micromatch: 4.0.8 dev: true /@changesets/errors@0.2.0: @@ -2486,13 +2497,12 @@ packages: extendable-error: 0.1.7 dev: true - /@changesets/get-dependents-graph@2.1.1: - resolution: {integrity: sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==} + /@changesets/get-dependents-graph@2.1.2: + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 + picocolors: 1.1.0 semver: 7.6.3 dev: true @@ -2505,14 +2515,13 @@ packages: - encoding dev: true - /@changesets/get-release-plan@4.0.3: - resolution: {integrity: sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==} + /@changesets/get-release-plan@4.0.4: + resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} dependencies: - '@babel/runtime': 7.25.0 - '@changesets/assemble-release-plan': 6.0.3 - '@changesets/config': 3.0.2 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/assemble-release-plan': 6.0.4 + '@changesets/config': 3.0.3 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 dev: true @@ -2521,22 +2530,20 @@ packages: resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true - /@changesets/git@3.0.0: - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + /@changesets/git@3.0.1: + resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} dependencies: - '@babel/runtime': 7.25.0 '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.7 + micromatch: 4.0.8 spawndamnit: 2.0.0 dev: true - /@changesets/logger@0.1.0: - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + /@changesets/logger@0.1.1: + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} dependencies: - chalk: 2.4.2 + picocolors: 1.1.0 dev: true /@changesets/parse@0.4.0: @@ -2546,33 +2553,30 @@ packages: js-yaml: 3.14.1 dev: true - /@changesets/pre@2.0.0: - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + /@changesets/pre@2.0.1: + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} dependencies: - '@babel/runtime': 7.25.0 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 dev: true - /@changesets/read@0.6.0: - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + /@changesets/read@0.6.1: + resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} dependencies: - '@babel/runtime': 7.25.0 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 - chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 + picocolors: 1.1.0 dev: true - /@changesets/should-skip-package@0.1.0: - resolution: {integrity: sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==} + /@changesets/should-skip-package@0.1.1: + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} dependencies: - '@babel/runtime': 7.25.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 dev: true @@ -2585,10 +2589,9 @@ packages: resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true - /@changesets/write@0.3.1: - resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + /@changesets/write@0.3.2: + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} dependencies: - '@babel/runtime': 7.25.0 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -2633,10 +2636,10 @@ packages: resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} dev: true - /@docsearch/js@3.6.1(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3): + /@docsearch/js@3.6.1(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1): resolution: {integrity: sha512-erI3RRZurDr1xES5hvYJ3Imp7jtrXj6f1xYIzDzxiS7nNBufYWPbJwrmMqWC5g9y165PmxEmN9pklGCdLi0Iqg==} dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3) + '@docsearch/react': 3.6.1(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1) preact: 10.23.2 transitivePeerDependencies: - '@algolia/client-search' @@ -2646,7 +2649,7 @@ packages: - search-insights dev: true - /@docsearch/react@3.6.1(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3): + /@docsearch/react@3.6.1(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1): resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -2663,22 +2666,36 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0)(search-insights@2.16.3) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@5.0.0)(algoliasearch@4.24.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0)(search-insights@2.17.1) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@5.2.5)(algoliasearch@4.24.0) '@docsearch/css': 3.6.1 algoliasearch: 4.24.0 react: 18.3.1 - search-insights: 2.16.3 + search-insights: 2.17.1 transitivePeerDependencies: - '@algolia/client-search' dev: true + /@emotion/is-prop-valid@0.8.8: + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + requiresBuild: true + dependencies: + '@emotion/memoize': 0.7.4 + dev: true + optional: true + /@emotion/is-prop-valid@1.2.2: resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} dependencies: '@emotion/memoize': 0.8.1 dev: true + /@emotion/memoize@0.7.4: + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + requiresBuild: true + dev: true + optional: true + /@emotion/memoize@0.8.1: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: true @@ -2722,8 +2739,8 @@ packages: requiresBuild: true optional: true - /@esbuild/aix-ppc64@0.23.0: - resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + /@esbuild/aix-ppc64@0.23.1: + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2766,8 +2783,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.23.0: - resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + /@esbuild/android-arm64@0.23.1: + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2810,8 +2827,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.23.0: - resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + /@esbuild/android-arm@0.23.1: + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2854,8 +2871,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.23.0: - resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + /@esbuild/android-x64@0.23.1: + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2898,8 +2915,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.23.0: - resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + /@esbuild/darwin-arm64@0.23.1: + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2942,8 +2959,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.23.0: - resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + /@esbuild/darwin-x64@0.23.1: + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2986,8 +3003,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.23.0: - resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + /@esbuild/freebsd-arm64@0.23.1: + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -3030,8 +3047,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.23.0: - resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + /@esbuild/freebsd-x64@0.23.1: + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -3074,8 +3091,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.23.0: - resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + /@esbuild/linux-arm64@0.23.1: + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -3118,8 +3135,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.23.0: - resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + /@esbuild/linux-arm@0.23.1: + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -3162,8 +3179,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.23.0: - resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + /@esbuild/linux-ia32@0.23.1: + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -3206,8 +3223,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.23.0: - resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + /@esbuild/linux-loong64@0.23.1: + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -3250,8 +3267,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.23.0: - resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + /@esbuild/linux-mips64el@0.23.1: + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -3294,8 +3311,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.23.0: - resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + /@esbuild/linux-ppc64@0.23.1: + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -3338,8 +3355,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.23.0: - resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + /@esbuild/linux-riscv64@0.23.1: + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -3382,8 +3399,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.23.0: - resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + /@esbuild/linux-s390x@0.23.1: + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -3426,8 +3443,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.23.0: - resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + /@esbuild/linux-x64@0.23.1: + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -3470,8 +3487,8 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.23.0: - resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + /@esbuild/netbsd-x64@0.23.1: + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -3487,8 +3504,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-arm64@0.23.0: - resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} + /@esbuild/openbsd-arm64@0.23.1: + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -3531,8 +3548,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.23.0: - resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + /@esbuild/openbsd-x64@0.23.1: + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -3575,8 +3592,8 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.23.0: - resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + /@esbuild/sunos-x64@0.23.1: + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -3619,8 +3636,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.23.0: - resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + /@esbuild/win32-arm64@0.23.1: + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -3663,8 +3680,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.23.0: - resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + /@esbuild/win32-ia32@0.23.1: + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -3707,8 +3724,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.23.0: - resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + /@esbuild/win32-x64@0.23.1: + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -3780,6 +3797,68 @@ packages: hash.js: 1.1.7 dev: false + /@floating-ui/core@1.6.7: + resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + dependencies: + '@floating-ui/utils': 0.2.7 + dev: true + + /@floating-ui/dom@1.6.10: + resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + dependencies: + '@floating-ui/core': 1.6.7 + '@floating-ui/utils': 0.2.7 + dev: true + + /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 1.6.10 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@floating-ui/utils@0.2.7: + resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + dev: true + + /@formatjs/ecma402-abstract@2.0.0: + resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} + dependencies: + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.7.0 + dev: true + + /@formatjs/fast-memoize@2.2.0: + resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} + dependencies: + tslib: 2.7.0 + dev: true + + /@formatjs/icu-messageformat-parser@2.7.8: + resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} + dependencies: + '@formatjs/ecma402-abstract': 2.0.0 + '@formatjs/icu-skeleton-parser': 1.8.2 + tslib: 2.7.0 + dev: true + + /@formatjs/icu-skeleton-parser@1.8.2: + resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} + dependencies: + '@formatjs/ecma402-abstract': 2.0.0 + tslib: 2.7.0 + dev: true + + /@formatjs/intl-localematcher@0.5.4: + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + dependencies: + tslib: 2.7.0 + dev: true + /@fuel-ts/abi-coder@0.93.0: resolution: {integrity: sha512-31rVc0fjWFLnr3YL4INm59xN9f/VPfUiS8+Auw14oFdQagYP28NSDhn7OEHYep3iWk5oz2V44qeMQfjfXcR/kQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3824,7 +3903,7 @@ packages: '@fuel-ts/utils': 0.93.0 '@fuel-ts/versions': 0.93.0 '@fuels/vm-asm': 0.55.0 - '@noble/curves': 1.5.0 + '@noble/curves': 1.6.0 events: 3.3.0 graphql: 16.9.0 graphql-request: 5.0.0(graphql@16.9.0) @@ -3836,6 +3915,22 @@ packages: - encoding - supports-color + /@fuel-ts/address@0.76.0: + resolution: {integrity: sha512-J6vhEvfs0EcAW/V7V2eMsKa3/6h3fiAtMkaRPPwX+SybEbnI+3e17JXXD1yGt1UqaS9OWQuaDtnXlXU3UklSZQ==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/crypto': 0.76.0 + '@fuel-ts/errors': 0.76.0 + '@fuel-ts/interfaces': 0.76.0 + '@fuel-ts/utils': 0.76.12 + '@fuel-ts/versions': 0.76.0 + bech32: 2.0.0 + ethers: 6.13.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /@fuel-ts/address@0.93.0: resolution: {integrity: sha512-v6Xs92B50prU1UGBCPASsfGiUPQ4SLf8iEiDK+9EobxQmirqnh8Mq10trdtxsI3R17J2W6x+rDcXpT9t2rGQEA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3844,7 +3939,7 @@ packages: '@fuel-ts/errors': 0.93.0 '@fuel-ts/interfaces': 0.93.0 '@fuel-ts/utils': 0.93.0 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 bech32: 2.0.0 /@fuel-ts/contract@0.93.0: @@ -3867,6 +3962,19 @@ packages: - encoding - supports-color + /@fuel-ts/crypto@0.76.0: + resolution: {integrity: sha512-CsZxuyCE0qVt3SATYBXwYQUgp8lB/h9RvIi4ZWAO1Fx+kVGHDgn7aVEn2QQbKvelYKk1HAgled8hMyqaDRk4cQ==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/errors': 0.76.0 + '@fuel-ts/utils': 0.76.12 + ethereum-cryptography: 2.2.1 + ethers: 6.13.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /@fuel-ts/crypto@0.93.0: resolution: {integrity: sha512-WYR+xz0J7ZIhE6Nnrow0nfFswK9AKGQxYE8eZkhdckx7/8rbbWyTMue5VS0CPifUS51PO8kzaHQ2PtNglJemrQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3875,7 +3983,21 @@ packages: '@fuel-ts/interfaces': 0.93.0 '@fuel-ts/math': 0.93.0 '@fuel-ts/utils': 0.93.0 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 + + /@fuel-ts/errors@0.76.0: + resolution: {integrity: sha512-X67pOvTtTqf1TB1EnsH1UDNULgEAxDvSJ6KRHoNKchS5xwSwNM/VeDqzFlNYaNJDq/5HYaGY91Bnjep10zXmSA==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/versions': 0.76.0 + dev: true + + /@fuel-ts/errors@0.76.12: + resolution: {integrity: sha512-N1QYoKnJsHnQAVYqZ4NbJucrBS7jhull9imb38Ptr4H4Qrn+sfinPY2DrIzamaRTKR8Pd6gL5kAY0UN4FOJlOQ==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/versions': 0.76.12 + dev: true /@fuel-ts/errors@0.93.0: resolution: {integrity: sha512-izR2qVKA1XlB3FDmpFZFF5CSCknC3InouuulF/dbX1mEsGMkYAcCykDezBc32JgyiVM0vXfs5bTHpICoeg3dQg==} @@ -3890,12 +4012,31 @@ packages: '@fuel-ts/crypto': 0.93.0 '@fuel-ts/interfaces': 0.93.0 '@fuel-ts/utils': 0.93.0 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 + + /@fuel-ts/interfaces@0.76.0: + resolution: {integrity: sha512-ysdQUUU2UP1/f1YzrkVOqhVqBOPrEd8kyTMPbNV0x0hqs7t3z6UqZYtNNHdTYNMOPyYYxxVzREKSaNN42j8FBA==} + engines: {node: ^18.18.2 || ^20.0.0} + dev: true + + /@fuel-ts/interfaces@0.76.12: + resolution: {integrity: sha512-TkuwdfPC6Gt6RufQZHOCtJ7/tkpxtkfZHNGHmYcehn7gUDltRVQSyCm/YVE6Zl32+fyiZ8QOowSNDA0g5wPhPQ==} + engines: {node: ^18.18.2 || ^20.0.0} + dev: true /@fuel-ts/interfaces@0.93.0: resolution: {integrity: sha512-HAkyFrtZxzPp+9U4Lwv0z1lebNC3wpUIyC2dyS4gSgOU2g9Uyp4h81xK5M/ddvoWUd2fsZAN2sfjBzPGVPqSSw==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + /@fuel-ts/math@0.76.0: + resolution: {integrity: sha512-WjxErOHpPQZAJel4kCys1MCIQo0HUfv7z4Vy1Dy3P4/iG4jGa1s4zOghX5QRJMEyZwMyu5Do7BVfa2fT/2insA==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/errors': 0.76.0 + '@types/bn.js': 5.1.5 + bn.js: 5.2.1 + dev: true + /@fuel-ts/math@0.93.0: resolution: {integrity: sha512-niFLZXkuEnJ5kTiXTc2HqfxO9YiSWZAMkYwjy7veXY0Dlb89LUnpCY+zSlqW15VurrpgbtwMYcajzRU0tFA4SA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3958,6 +4099,16 @@ packages: '@fuel-ts/math': 0.93.0 '@fuel-ts/utils': 0.93.0 + /@fuel-ts/utils@0.76.12: + resolution: {integrity: sha512-H2mEpZ8pCxkrh0ZoKhJHkQlpV9wFZmeHCEpIvQh5xCmr/DZraekMjf3gEGA6PrIhxdy/f+l8JC8turIAQs0ipA==} + engines: {node: ^18.18.2 || ^20.0.0} + dependencies: + '@fuel-ts/errors': 0.76.12 + '@fuel-ts/interfaces': 0.76.12 + ramda: 0.29.1 + rimraf: 3.0.2 + dev: true + /@fuel-ts/utils@0.93.0: resolution: {integrity: sha512-vLul2S45S51j1jPXRyntguCOai0GHPGq7uAdSpShleouP3c4SMnUDlWAP2X3VKMz4odFpNey6PykVWoVS8WykQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3967,6 +4118,24 @@ packages: '@fuel-ts/math': 0.93.0 '@fuel-ts/versions': 0.93.0 + /@fuel-ts/versions@0.76.0: + resolution: {integrity: sha512-Y8+RXEEd3Nj+fLmGclb04l8lFmWgPrxrJ7WUYmA+pr0YoWmUn2C9y8NPIfDakaER4wx8DDcxiIShZ8xnrz8AxQ==} + engines: {node: ^18.18.2 || ^20.0.0} + hasBin: true + dependencies: + chalk: 4.1.2 + cli-table: 0.3.11 + dev: true + + /@fuel-ts/versions@0.76.12: + resolution: {integrity: sha512-x3pC7UdJaZOJygdqkPlF4wAQu5ctPQ4er9o8ZaE/J8svnEY1GOoyAT5lrIJlDP8ku8HIkaDHdVlYg8Y+jicu+A==} + engines: {node: ^18.18.2 || ^20.0.0} + hasBin: true + dependencies: + chalk: 4.1.2 + cli-table: 0.3.11 + dev: true + /@fuel-ts/versions@0.93.0: resolution: {integrity: sha512-3215zKyFxe2yPT25noagYBdfqLdYRNuCyH0+1waL87TDLcTIywdaNRLZ9G4CZMuTGv40CBKN5kv+tymXzs4o6g==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -3975,6 +4144,10 @@ packages: chalk: 4.1.2 cli-table: 0.3.11 + /@fuels/assets@0.20.0: + resolution: {integrity: sha512-pIVzHCEXkIIKXlIvvrISrFyaRRjbxEMnypjV/UZOI9dr99woUgXV1MZnMsq44uhQ/T3VXiTu2cXo4/SSE5ny2g==} + dev: true + /@fuels/ts-config@0.20.0(typescript@5.2.2): resolution: {integrity: sha512-wFPifVVz2z/YXuYJ/qLFRKIAVq98ZtrrX9TlcKuL5E4ar32VGLRFTtoujEwFVcWRWmdkxA9ulcCiV3fEojdqlQ==} peerDependencies: @@ -4014,6 +4187,31 @@ packages: '@hapi/hoek': 9.3.0 dev: false + /@internationalized/date@3.5.5: + resolution: {integrity: sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==} + dependencies: + '@swc/helpers': 0.5.13 + dev: true + + /@internationalized/message@3.1.4: + resolution: {integrity: sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==} + dependencies: + '@swc/helpers': 0.5.13 + intl-messageformat: 10.5.14 + dev: true + + /@internationalized/number@3.5.3: + resolution: {integrity: sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==} + dependencies: + '@swc/helpers': 0.5.13 + dev: true + + /@internationalized/string@3.2.3: + resolution: {integrity: sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==} + dependencies: + '@swc/helpers': 0.5.13 + dev: true + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -4101,8 +4299,8 @@ packages: dependencies: '@solana/web3.js': 1.91.7 '@walletconnect/qrcode-modal': 1.8.0 - '@walletconnect/sign-client': 2.14.0 - '@walletconnect/utils': 2.14.0 + '@walletconnect/sign-client': 2.15.3 + '@walletconnect/utils': 2.15.3 bs58: 5.0.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -4118,7 +4316,6 @@ packages: - '@upstash/redis' - '@vercel/kv' - bufferutil - - encoding - ioredis - uWebSockets.js - utf-8-validate @@ -4181,7 +4378,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -4190,7 +4387,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -4281,7 +4478,7 @@ packages: resolution: {integrity: sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg==} engines: {node: '>=16.0.0'} dependencies: - '@metamask/utils': 9.1.0 + '@metamask/utils': 9.2.1 fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color @@ -4296,7 +4493,7 @@ packages: engines: {node: '>=12.0.0'} dev: false - /@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2): + /@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2): resolution: {integrity: sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg==} peerDependencies: cross-fetch: ^4.0.0 @@ -4309,7 +4506,7 @@ packages: cross-fetch: 4.0.0 date-fns: 2.30.0 debug: 4.3.6(supports-color@5.5.0) - eciesjs: 0.3.19 + eciesjs: 0.3.20 eventemitter2: 6.4.9 readable-stream: 3.6.2 socket.io-client: 4.7.2 @@ -4319,7 +4516,7 @@ packages: - supports-color dev: false - /@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1): + /@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1): resolution: {integrity: sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA==} peerDependencies: i18next: 23.11.5 @@ -4338,10 +4535,10 @@ packages: qr-code-styling: 1.6.0-rc.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-native: 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) dev: false - /@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-native@0.75.0)(react@18.3.1): + /@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-native@0.75.2)(react@18.3.1): resolution: {integrity: sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA==} peerDependencies: i18next: 23.11.5 @@ -4359,10 +4556,10 @@ packages: i18next: 23.11.5 qr-code-styling: 1.6.0-rc.1 react: 18.3.1 - react-native: 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(react@18.3.1)(typescript@5.4.5) + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1)(typescript@5.4.5) dev: false - /@metamask/sdk@0.27.0(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1): + /@metamask/sdk@0.27.0(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1): resolution: {integrity: sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A==} peerDependencies: react: ^18.2.0 @@ -4375,13 +4572,13 @@ packages: dependencies: '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2) - '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1) + '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2) + '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 bowser: 2.11.0 cross-fetch: 4.0.0 debug: 4.3.6(supports-color@5.5.0) - eciesjs: 0.3.19 + eciesjs: 0.3.20 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 i18next: 23.11.5 @@ -4391,7 +4588,7 @@ packages: qrcode-terminal-nooctal: 0.12.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-native-webview: 11.26.1(react-native@0.75.0)(react@18.3.1) + react-native-webview: 11.26.1(react-native@0.75.2)(react@18.3.1) readable-stream: 3.6.2 rollup-plugin-visualizer: 5.12.0 socket.io-client: 4.7.2 @@ -4406,7 +4603,7 @@ packages: - utf-8-validate dev: false - /@metamask/sdk@0.27.0(react-native@0.75.0)(react@18.3.1): + /@metamask/sdk@0.27.0(react-native@0.75.2)(react@18.3.1): resolution: {integrity: sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A==} peerDependencies: react: ^18.2.0 @@ -4419,13 +4616,13 @@ packages: dependencies: '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2) - '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-native@0.75.0)(react@18.3.1) + '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.2) + '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-native@0.75.2)(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 bowser: 2.11.0 cross-fetch: 4.0.0 debug: 4.3.6(supports-color@5.5.0) - eciesjs: 0.3.19 + eciesjs: 0.3.20 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 i18next: 23.11.5 @@ -4434,7 +4631,7 @@ packages: pump: 3.0.0 qrcode-terminal-nooctal: 0.12.1 react: 18.3.1 - react-native-webview: 11.26.1(react-native@0.75.0)(react@18.3.1) + react-native-webview: 11.26.1(react-native@0.75.2)(react@18.3.1) readable-stream: 3.6.2 rollup-plugin-visualizer: 5.12.0 socket.io-client: 4.7.2 @@ -4473,8 +4670,8 @@ packages: dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.8 '@types/debug': 4.1.12 debug: 4.3.6(supports-color@5.5.0) pony-cause: 2.1.11 @@ -4484,14 +4681,14 @@ packages: - supports-color dev: false - /@metamask/utils@9.1.0: - resolution: {integrity: sha512-g2REf+xSt0OZfMoNNdC4+/Yy8eP3KUqvIArel54XRFKPoXbHI6+YjFfrLtfykWBjffOp7DTfIc3Kvk5TLfuiyg==} + /@metamask/utils@9.2.1: + resolution: {integrity: sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ==} engines: {node: '>=16.0.0'} dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.8 '@types/debug': 4.1.12 debug: 4.3.6(supports-color@5.5.0) pony-cause: 2.1.11 @@ -4551,7 +4748,7 @@ packages: '@motionone/easing': 10.18.0 '@motionone/types': 10.17.1 '@motionone/utils': 10.18.0 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/dom@10.18.0: @@ -4562,14 +4759,14 @@ packages: '@motionone/types': 10.17.1 '@motionone/utils': 10.18.0 hey-listen: 1.0.8 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/easing@10.18.0: resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} dependencies: '@motionone/utils': 10.18.0 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/generators@10.18.0: @@ -4577,14 +4774,14 @@ packages: dependencies: '@motionone/types': 10.17.1 '@motionone/utils': 10.18.0 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/svelte@10.16.4: resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} dependencies: '@motionone/dom': 10.18.0 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/types@10.17.1: @@ -4596,7 +4793,7 @@ packages: dependencies: '@motionone/types': 10.17.1 hey-listen: 1.0.8 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /@motionone/vue@10.16.4: @@ -4604,13 +4801,26 @@ packages: deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion dependencies: '@motionone/dom': 10.18.0 - tslib: 2.6.3 + tslib: 2.7.0 dev: false + /@next/env@14.1.0: + resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==} + dev: true + /@next/env@14.2.3: resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} dev: false + /@next/swc-darwin-arm64@14.1.0: + resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@next/swc-darwin-arm64@14.2.3: resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} engines: {node: '>= 10'} @@ -4620,6 +4830,15 @@ packages: dev: false optional: true + /@next/swc-darwin-x64@14.1.0: + resolution: {integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@next/swc-darwin-x64@14.2.3: resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} engines: {node: '>= 10'} @@ -4629,6 +4848,15 @@ packages: dev: false optional: true + /@next/swc-linux-arm64-gnu@14.1.0: + resolution: {integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@next/swc-linux-arm64-gnu@14.2.3: resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} engines: {node: '>= 10'} @@ -4638,6 +4866,15 @@ packages: dev: false optional: true + /@next/swc-linux-arm64-musl@14.1.0: + resolution: {integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@next/swc-linux-arm64-musl@14.2.3: resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} engines: {node: '>= 10'} @@ -4647,6 +4884,15 @@ packages: dev: false optional: true + /@next/swc-linux-x64-gnu@14.1.0: + resolution: {integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@next/swc-linux-x64-gnu@14.2.3: resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} engines: {node: '>= 10'} @@ -4656,6 +4902,15 @@ packages: dev: false optional: true + /@next/swc-linux-x64-musl@14.1.0: + resolution: {integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@next/swc-linux-x64-musl@14.2.3: resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} engines: {node: '>= 10'} @@ -4665,6 +4920,15 @@ packages: dev: false optional: true + /@next/swc-win32-arm64-msvc@14.1.0: + resolution: {integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@next/swc-win32-arm64-msvc@14.2.3: resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} engines: {node: '>= 10'} @@ -4674,6 +4938,15 @@ packages: dev: false optional: true + /@next/swc-win32-ia32-msvc@14.1.0: + resolution: {integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@next/swc-win32-ia32-msvc@14.2.3: resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} engines: {node: '>= 10'} @@ -4683,6 +4956,15 @@ packages: dev: false optional: true + /@next/swc-win32-x64-msvc@14.1.0: + resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@next/swc-win32-x64-msvc@14.2.3: resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} engines: {node: '>= 10'} @@ -4692,6 +4974,12 @@ packages: dev: false optional: true + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + dependencies: + '@noble/hashes': 1.3.2 + dev: true + /@noble/curves@1.4.0: resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==} dependencies: @@ -4702,15 +4990,25 @@ packages: dependencies: '@noble/hashes': 1.4.0 - /@noble/curves@1.5.0: - resolution: {integrity: sha512-J5EKamIHnKPyClwVrzmaf5wSdQXgdHcPZIZLu3bwnbeCx8/7NPK5q2ZBWF+5FvYGByjiQQsJYX6jfgB2wDPn3A==} + /@noble/curves@1.6.0: + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 + + /@noble/hashes@1.3.2: + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + dev: true /@noble/hashes@1.4.0: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} + /@noble/hashes@1.5.0: + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -4815,7 +5113,7 @@ packages: engines: {node: '>= 10.0.0'} dependencies: is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.8 dev: false bundledDependencies: - napi-wasm @@ -4853,7 +5151,7 @@ packages: dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: '@parcel/watcher-android-arm64': 2.4.1 @@ -4876,96 +5174,133 @@ packages: requiresBuild: true optional: true + /@radix-ui/colors@3.0.0: + resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==} + dev: true + + /@radix-ui/number@1.1.0: + resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} + dev: true + /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.25.0 - dev: false + '@babel/runtime': 7.25.6 /@radix-ui/primitive@1.1.0: resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} - dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + /@radix-ui/react-accessible-icon@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-i9Zg4NOSXlfUva0agzI2DjWrvFJm9uO4L6CMW7nmMa5CIOOX/Yin894W7WwjodFQWPwe5kmAJ4JF33R8slKI2g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + /@radix-ui/react-accordion@1.1.2(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@babel/runtime': 7.25.0 - '@types/react': 18.3.1 + '@babel/runtime': 7.25.6 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collapsible': 1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + /@radix-ui/react-alert-dialog@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-wmCoJwj7byuVuiLKqDLlX7ClSUU0vd9sdCeM+2Ls+uf13+cpSJoMgwysHq1SGVVkJj5Xn0XWi1NoRCdkMpr6Mw==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-context@1.0.1(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} + /@radix-ui/react-arrow@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@babel/runtime': 7.25.0 - '@types/react': 18.3.1 + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-context@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} + /@radix-ui/react-aspect-ratio@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-dP87DM/Y7jFlPgUZTlhx6FF5CEzOiaxp2rBCKlaXlpH5Ip/9Fg5zZ9lDOQ5o/MOfUlf36eak14zoWYpgcgGoOg==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@types/react': 18.3.1 + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-dialog@1.1.1(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==} + /@radix-ui/react-avatar@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Q/PbuSMk/vyAd/UoIShVGZ7StHHeRFYU7wXmi5GV+8cLXflZAEpHL/F697H1klrzxKXNtZ97vWiC0q3RKUH8UA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4977,27 +5312,43 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.1(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - aria-hidden: 1.2.4 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.5.7(@types/react@18.3.1)(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + /@radix-ui/react-checkbox@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-3+kSzVfMONtP3B6CvaOrXLVTyGYws7tGmG5kOY0AfyH9sexkLytIwciNwjZhY0RoGOEbxI7bMS21XYB8H5itWQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-collapsible@1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5009,56 +5360,69 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-dismissable-layer@1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==} + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.1)(react@18.3.1) + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-focus-guards@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} + /@radix-ui/react-collection@1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@types/react': 18.3.1 + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-focus-scope@1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} + /@radix-ui/react-collection@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5070,51 +5434,57 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-id@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@babel/runtime': 7.25.6 + '@types/react': 18.2.54 react: 18.3.1 - dev: false + dev: true - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@babel/runtime': 7.25.6 '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-portal@1.1.1(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==} + /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-context-menu@2.2.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-wvMKKIeb3eOrkJ96s722vcidZ+2ZNfcYZWBPRHIB1VWrF+fiF851Io6LX0kmK5wTDQFKdulCCKJk2c3SBaQHvA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5126,78 +5496,59 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-menu': 2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + /@radix-ui/react-context@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 + '@babel/runtime': 7.25.6 + '@types/react': 18.2.54 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@radix-ui/react-presence@1.1.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} + /@radix-ui/react-context@1.0.1(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.1)(react@18.3.1) + '@babel/runtime': 7.25.6 '@types/react': 18.3.1 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + /@radix-ui/react-context@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 + '@types/react': 18.2.54 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - dev: false - /@radix-ui/react-primitive@2.0.0(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + /@radix-ui/react-dialog@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5209,14 +5560,26 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + react-remove-scroll: 2.5.7(@types/react@18.2.54)(react@18.3.1) - /@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + /@radix-ui/react-direction@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 @@ -5224,14 +5587,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@babel/runtime': 7.25.6 + '@types/react': 18.2.54 react: 18.3.1 - dev: false + dev: true - /@radix-ui/react-slot@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + /@radix-ui/react-direction@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -5239,13 +5601,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@types/react': 18.2.54 react: 18.3.1 - dev: false + dev: true - /@radix-ui/react-toast@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5257,112 +5618,150 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + /@radix-ui/react-dismissable-layer@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@babel/runtime': 7.25.0 - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) - /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + /@radix-ui/react-dropdown-menu@2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-menu': 2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + /@radix-ui/react-focus-guards@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@types/react': 18.2.54 react: 18.3.1 - dev: false - /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + /@radix-ui/react-focus-scope@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + /@radix-ui/react-form@0.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-1/oVYPDjbFILOLIarcGcMKo+y6SbTVT/iUKVEw59CF4offwZgBgC3ZOeSBewjqU0vdA6FWTPWTN63obj55S/tQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-label': 2.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + /@radix-ui/react-hover-card@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-IwzAOP97hQpDADYVKrEEHUH/b2LA+9MgB0LgdmnbFO2u/3M5hmEofjjr2M6CyzUblaAqJdFm6B7oFtU72DPXrA==} peerDependencies: '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + react-dom: 18.3.1(react@18.3.1) + dev: true - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + /@radix-ui/react-id@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 @@ -5370,13 +5769,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.0 - '@types/react': 18.3.1 + '@babel/runtime': 7.25.6 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false + dev: true - /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + /@radix-ui/react-id@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -5384,425 +5784,2628 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 - dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} + /@radix-ui/react-label@2.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.25.0 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.1 - '@types/react-dom': 18.3.0 + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false + dev: true - /@react-native-community/cli-clean@14.0.0: - resolution: {integrity: sha512-kvHthZTNur/wLLx8WL5Oh+r04zzzFAX16r8xuaLhu9qGTE6Th1JevbsIuiQb5IJqD8G/uZDKgIZ2a0/lONcbJg==} + /@radix-ui/react-menu@2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - dev: false + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.2.54)(react@18.3.1) + dev: true + + /@radix-ui/react-navigation-menu@1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-OQ8tcwAOR0DhPlSY3e4VMXeHiol7la4PPdJWhhwJiJA+NLX0SaCaonOkRnI3gCDHoZ7Fo7bb/G6q25fRM2Y+3Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-popover@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.2.54)(react@18.3.1) + dev: true + + /@radix-ui/react-popper@1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-arrow': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/rect': 1.1.0 + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-portal@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-presence@1.0.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-presence@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-primitive@1.0.3(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-primitive@2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + /@radix-ui/react-progress@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aSzvnYpP725CROcxAOEBVZZSIQVQdHgBr2QQFKySsaD14u8dNT0batuXI+AAGDdAHfXH8rbnHmjYFqVJ21KkRg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-radio-group@1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-yv+oiLaicYMBpqgfpSPw6q+RyXlLdIpQWDHZbUKURxe+nEh53hFXPPlfhfQQtYkS5MMK/5IWIa76SksleQZSzw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-roving-focus@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-scroll-area@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-select@2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.2.54)(react@18.3.1) + dev: true + + /@radix-ui/react-slider@1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-dAHCDA4/ySXROEPaRtaMV5WHL8+JB/DbtyTbJjYkY0RXmKMO2Ln8DFZhywG5/mVQ4WqHDBc8smc14yPXPqZHYA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-slot@1.0.2(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + react: 18.3.1 + dev: false + + /@radix-ui/react-slot@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-switch@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-tabs@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-toast@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-toast@1.2.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-5trl7piMXcZiCq7MW6r8YYmu0bK5qDpTWz+FdEPdKyft2UixkspheYbjbrLXVN5NGKHFbOP7lm8eD0biiSqZqg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-toggle-group@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-toggle': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-toggle@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-tooltip@1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-LLE8nzNE4MzPMw3O2zlVlkLFid3y9hMUs7uCbSHyKSo+tCN4yMCf+ZCCcfrYgsOC0TiHBPQ1mtpJ2liY3ZT3SQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@types/react': 18.3.1 + react: 18.3.1 + dev: false + + /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + react: 18.3.1 + dev: false + + /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + react: 18.3.1 + dev: false + + /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@types/react': 18.3.1 + react: 18.3.1 + dev: false + + /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.54 + react: 18.3.1 + + /@radix-ui/react-use-previous@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-rect@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/rect': 1.1.0 + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-size@1.1.0(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + dev: true + + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.25.6 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-visually-hidden@1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/rect@1.1.0: + resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + dev: true + + /@radix-ui/themes@3.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-G+j+x+7kyqQXnn+ftlNPgk1DdZ8h/vVZnLsG4hZB0Mxw4fdKCh1tThQuXDSBNWhFt/vTG79BMzRMiflovENrmA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: 16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: 16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/colors': 3.0.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-accessible-icon': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-alert-dialog': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-aspect-ratio': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-avatar': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-checkbox': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-context-menu': 2.2.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-form': 0.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-hover-card': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popover': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-progress': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-radio-group': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-scroll-area': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-select': 2.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slider': 1.2.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-switch': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-tabs': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.2.54 + classnames: 2.3.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.54)(react@18.3.1) + dev: true + + /@react-aria/breadcrumbs@3.5.16(react@18.3.1): + resolution: {integrity: sha512-OXLKKu4SmjnSaSHkk4kow5/aH/SzlHWPJt+Uq3xec9TwDOr/Ob8aeFVGFoY0HxfGozuQlUz+4e+d29vfA0jNWg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/link': 3.7.4(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/breadcrumbs': 3.7.7(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/button@3.9.8(react@18.3.1): + resolution: {integrity: sha512-MdbMQ3t5KSCkvKtwYd/Z6sgw0v+r1VQFRYOZ4L53xOkn+u140z8vBpNeWKZh/45gxGv7SJn9s2KstLPdCWmIxw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/toggle': 3.7.7(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/calendar@3.5.11(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-VLhBovLVu3uJXBkHbgEippmo/K58QLcc/tSJQ0aJUNyHsrvPgHEcj484cb+Uj/yOirXEIzaoW6WEvhcdKrb49Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/date': 3.5.5 + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/calendar': 3.5.4(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/calendar': 3.4.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/checkbox@3.14.6(react@18.3.1): + resolution: {integrity: sha512-LICY1PR3WsW/VbuLMjZbxo75+poeo3XCXGcUnk6hxMlWfp/Iy/XHVsHlGu9stRPKRF8BSuOGteaHWVn6IXfwtA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/form': 3.0.8(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/toggle': 3.10.7(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/checkbox': 3.6.8(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/toggle': 3.7.7(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/combobox@3.10.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EdDwr2Rp1xy7yWjOYHt2qF1IpAtUrkaNKZJzlIw1XSwcqizQY6E8orNPdZr6ZwD6/tgujxF1N71JTKyffrR0Xw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/listbox': 3.13.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/menu': 3.15.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/overlays': 3.23.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/textfield': 3.14.8(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/combobox': 3.9.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/combobox': 3.12.1(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/datepicker@3.11.2(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-6sbLln3VXSBcBRDgSACBzIzF/5KV5NlNOhZvXPFE6KqFw6GbevjZQTv5BNDXiwA3CQoawIRF7zgRvTANw8HkNA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/date': 3.5.5 + '@internationalized/number': 3.5.3 + '@internationalized/string': 3.2.3 + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/form': 3.0.8(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/spinbutton': 3.6.8(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/datepicker': 3.10.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/calendar': 3.4.9(react@18.3.1) + '@react-types/datepicker': 3.8.2(react@18.3.1) + '@react-types/dialog': 3.5.12(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/dialog@3.5.17(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-lvfEgaqg922J1hurscqCS600OZQVitGtdpo81kAefJaUzMnCxzrYviyT96aaW0simHOlimbYF5js8lxBLZJRaw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/overlays': 3.23.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/dialog': 3.5.12(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/dnd@3.7.2(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-NuE3EGqoBbe9aXAO9mDfbu4kMO7S4MCgkjkCqYi16TWfRUf38ajQbIlqodCx91b3LVN3SYvNbE3D4Tj5ebkljw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/string': 3.2.3 + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/overlays': 3.23.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/dnd': 3.4.2(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/focus@3.16.2(react@18.3.1): + resolution: {integrity: sha512-Rqo9ummmgotESfypzFjI3uh58yMpL+E+lJBbQuXkBM0u0cU2YYzu0uOrFrq3zcHk997udZvq1pGK/R+2xk9B7g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + clsx: 2.1.1 + react: 18.3.1 + dev: true + + /@react-aria/focus@3.18.2(react@18.3.1): + resolution: {integrity: sha512-Jc/IY+StjA3uqN73o6txKQ527RFU7gnG5crEl5Xy3V+gbYp2O5L3ezAo/E0Ipi2cyMbG6T5Iit1IDs7hcGu8aw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + clsx: 2.1.1 + react: 18.3.1 + dev: true + + /@react-aria/form@3.0.8(react@18.3.1): + resolution: {integrity: sha512-8S2QiyUdAgK43M3flohI0R+2rTyzH088EmgeRArA8euvJTL16cj/oSOKMEgWVihjotJ9n6awPb43ZhKboyNsMg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/grid@3.10.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-l0r9mz05Gwjq3t6JOTNQOf+oAoWN0bXELPJtIr8m0XyXMPFCQe1xsTaX8igVQdrDmXyBc75RAWS0BJo2JF2fIA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/grid': 3.9.2(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@react-types/grid': 3.2.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/gridlist@3.9.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-bb9GnKKeuL6NljoVUcHxr9F0cy/2WDOXRYeMikTnviRw6cuX95oojrhFfCUvz2d6ID22Btrvh7LkE+oIPVuc+g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/grid': 3.10.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-stately/tree': 3.8.4(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/i18n@3.12.2(react@18.3.1): + resolution: {integrity: sha512-PvEyC6JWylTpe8dQEWqQwV6GiA+pbTxHQd//BxtMSapRW3JT9obObAnb/nFhj3HthkUvqHyj0oO1bfeN+mtD8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/date': 3.5.5 + '@internationalized/message': 3.1.4 + '@internationalized/number': 3.5.3 + '@internationalized/string': 3.2.3 + '@react-aria/ssr': 3.9.5(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/interactions@3.22.2(react@18.3.1): + resolution: {integrity: sha512-xE/77fRVSlqHp2sfkrMeNLrqf2amF/RyuAS6T5oDJemRSgYM3UoxTbWjucPhfnoW7r32pFPHHgz4lbdX8xqD/g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/ssr': 3.9.5(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/label@3.7.11(react@18.3.1): + resolution: {integrity: sha512-REgejE5Qr8cXG/b8H2GhzQmjQlII/0xQW/4eDzydskaTLvA7lF5HoJUE6biYTquH5va38d8XlH465RPk+bvHzA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/link@3.7.4(react@18.3.1): + resolution: {integrity: sha512-E8SLDuS9ssm/d42+3sDFNthfMcNXMUrT2Tq1DIZt22EsMcuEzmJ9B0P7bDP5RgvIw05xVGqZ20nOpU4mKTxQtA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/link': 3.5.7(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/listbox@3.13.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-htluPyDfFtn66OEYaJdIaFCYH9wGCNk30vOgZrQkPul9F9Cjce52tTyPVR0ERsf14oCUsjjS5qgeq3dGidRqEw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-types/listbox': 3.5.1(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/live-announcer@3.3.4: + resolution: {integrity: sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA==} + dependencies: + '@swc/helpers': 0.5.13 + dev: true + + /@react-aria/menu@3.15.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-vvUmVjJwIg3h2r+7isQXTwlmoDlPAFBckHkg94p3afrT1kNOTHveTsaVl17mStx/ymIioaAi3PrIXk/PZXp1jw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/overlays': 3.23.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/menu': 3.8.2(react@18.3.1) + '@react-stately/tree': 3.8.4(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/menu': 3.9.11(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/meter@3.4.16(react@18.3.1): + resolution: {integrity: sha512-hJqKnEE6mmK2Psx5kcI7NZ44OfTg0Bp7DatQSQ4zZE4yhnykRRwxqSKjze37tPR63cCqgRXtQ5LISfBfG54c0Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/progress': 3.4.16(react@18.3.1) + '@react-types/meter': 3.4.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/numberfield@3.11.6(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nvEWiQcWRwj6O2JXmkXEeWoBX/GVZT9zumFJcew3XknGTWJUr3h2AOymIQFt9g4mpag8IgOFEpSIlwhtZHdp1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/spinbutton': 3.6.8(react-dom@18.3.1)(react@18.3.1) + '@react-aria/textfield': 3.14.8(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/numberfield': 3.9.6(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/numberfield': 3.8.5(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/overlays@3.23.2(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-vjlplr953YAuJfHiP4O+CyrTlr6OaFgXAGrzWq4MVMjnpV/PT5VRJWYFHR0sUGlHTPqeKS4NZbi/xCSgl/3pGQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/ssr': 3.9.5(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-aria/visually-hidden': 3.8.15(react@18.3.1) + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/overlays': 3.8.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/progress@3.4.16(react@18.3.1): + resolution: {integrity: sha512-RbDIFQg4+/LG+KYZeLAijt2zH7K2Gp0CY9RKWdho3nU5l3/w57Fa7NrfDGWtpImrt7bR2nRmXMA6ESfr7THfrg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/progress': 3.5.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/radio@3.10.7(react@18.3.1): + resolution: {integrity: sha512-o2tqIe7xd1y4HeCBQfz/sXIwLJuI6LQbVoCQ1hgk/5dGhQ0LiuXohRYitGRl9zvxW8jYdgLULmOEDt24IflE8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/form': 3.0.8(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/radio': 3.10.7(react@18.3.1) + '@react-types/radio': 3.8.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/searchfield@3.7.8(react@18.3.1): + resolution: {integrity: sha512-SsF5xwH8Us548QgzivvbM7nhFbw7pu23xnRRIuhlP3MwOR3jRUFh17NKxf3Z0jvrDv/u0xfm3JKHIgaUN0KJ2A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/textfield': 3.14.8(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/searchfield': 3.5.6(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/searchfield': 3.5.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/select@3.14.9(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-tiNgMyA2G9nKnFn3pB/lMSgidNToxSFU7r6l4OcG+Vyr63J7B/3dF2lTXq8IYhlfOR3K3uQkjroSx52CmC3NDw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/form': 3.0.8(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/listbox': 3.13.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/menu': 3.15.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-aria/visually-hidden': 3.8.15(react@18.3.1) + '@react-stately/select': 3.6.7(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/select': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/selection@3.19.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-GYoObXCXlmGK08hp7Qfl6Bk0U+bKP5YDWSsX+MzNjJsqzQSLm4S06tRB9ACM7gIo9dDCvL4IRxdSYTJAlJc6bw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/separator@3.4.2(react@18.3.1): + resolution: {integrity: sha512-Xql9Kg3VlGesEUC7QheE+L5b3KgBv0yxiUU+/4JP8V2vfU/XSz4xmprHEeq7KVQVOetn38iiXU8gA5g26SEsUA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/slider@3.7.11(react@18.3.1): + resolution: {integrity: sha512-2WAwjANXPsA2LHJ5nxxV4c7ihFAzz2spaBz8+FJ7MDYE7WroYnE8uAXElea1aGo+Lk0DTiAdepLpBkggqPNanw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/slider': 3.5.7(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/slider': 3.7.5(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/spinbutton@3.6.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-OJMAYRIZ0WrWE+5tZsywrSg4t+aOwl6vl/e1+J64YcGMM+p+AKd61KGG5T0OgNSORXjoVIZOmj6wZ6Od4xfPMw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/ssr@3.9.5(react@18.3.1): + resolution: {integrity: sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==} + engines: {node: '>= 12'} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/switch@3.6.7(react@18.3.1): + resolution: {integrity: sha512-yBNvKylhc3ZRQ0+7mD0mIenRRe+1yb8YaqMMZr8r3Bf87LaiFtQyhRFziq6ZitcwTJz5LEWjBihxbSVvUrf49w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/toggle': 3.10.7(react@18.3.1) + '@react-stately/toggle': 3.7.7(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/switch': 3.5.5(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/table@3.15.3(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nQCLjlEvyJHyuijHw8ESqnA9fxNJfQHx0WPcl08VDEb8VxcE/MVzSAIedSWaqjG5k9Oflz6o/F/zHtzw4AFAow==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/grid': 3.10.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-aria/visually-hidden': 3.8.15(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/flags': 3.0.3 + '@react-stately/table': 3.12.2(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@react-types/grid': 3.2.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/table': 3.10.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/tabs@3.9.5(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aQZGAoOIg1B16qlvXIy6+rHbNBNVcWkGjOjeyvqTTPMjXt/FmElkICnqckI7MRJ1lTqzyppCOBitYOHSXRo8Uw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/tabs': 3.6.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/tabs': 3.3.9(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/tag@3.4.5(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-iyJuATQ8t2cdLC7hiZm143eeZze/MtgxaMq0OewlI9TUje54bkw2Q+CjERdgisIo3Eemf55JJgylGrTcalEJAg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/gridlist': 3.9.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-types/button': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@react-aria/textfield@3.14.8(react@18.3.1): + resolution: {integrity: sha512-FHEvsHdE1cMR2B7rlf+HIneITrC40r201oLYbHAp3q26jH/HUujzFBB9I20qhXjyBohMWfQLqJhSwhs1VW1RJQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/form': 3.0.8(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/textfield': 3.9.6(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/toggle@3.10.7(react@18.3.1): + resolution: {integrity: sha512-/RJQU8QlPZXRElZ3Tt10F5K5STgUBUGPpfuFUGuwF3Kw3GpPxYsA1YAVjxXz2MMGwS0+y6+U/J1xIs1AF0Jwzg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/toggle': 3.7.7(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/tooltip@3.7.7(react@18.3.1): + resolution: {integrity: sha512-UOTTDbbUz7OaE48VjNSWl+XQbYCUs5Gss4I3Tv1pfRLXzVtGYXv3ur/vRayvZR0xd12ANY26fZPNkSmCFpmiXw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-stately/tooltip': 3.4.12(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/tooltip': 3.4.11(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-aria/utils@3.25.2(react@18.3.1): + resolution: {integrity: sha512-GdIvG8GBJJZygB4L2QJP1Gabyn2mjFsha73I2wSe+o4DYeGWoJiMZRM06PyTIxLH4S7Sn7eVDtsSBfkc2VY/NA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/ssr': 3.9.5(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + clsx: 2.1.1 + react: 18.3.1 + dev: true + + /@react-aria/visually-hidden@3.8.15(react@18.3.1): + resolution: {integrity: sha512-l+sJ7xTdD5Sd6+rDNDaeJCSPnHOsI+BaJyApvb/YcVgHa7rB47lp6TXCWUCDItcPY4JqRGyeByRJVrtzBFTWCw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-native-community/cli-clean@14.0.0: + resolution: {integrity: sha512-kvHthZTNur/wLLx8WL5Oh+r04zzzFAX16r8xuaLhu9qGTE6Th1JevbsIuiQb5IJqD8G/uZDKgIZ2a0/lONcbJg==} + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + dev: false + + /@react-native-community/cli-config@14.0.0(typescript@5.4.5): + resolution: {integrity: sha512-2Nr8KR+dgn1z+HLxT8piguQ1SoEzgKJnOPQKE1uakxWaRFcQ4LOXgzpIAscYwDW6jmQxdNqqbg2cRUoOS7IMtQ==} + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + cosmiconfig: 9.0.0(typescript@5.4.5) + deepmerge: 4.3.1 + fast-glob: 3.3.2 + joi: 17.13.3 + transitivePeerDependencies: + - typescript + dev: false + + /@react-native-community/cli-debugger-ui@14.0.0: + resolution: {integrity: sha512-JpfzILfU7eKE9+7AMCAwNJv70H4tJGVv3ZGFqSVoK1YHg5QkVEGsHtoNW8AsqZRS6Fj4os+Fmh+r+z1L36sPmg==} + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@react-native-community/cli-debugger-ui@14.0.0-alpha.11: + resolution: {integrity: sha512-0wCNQxhCniyjyMXgR1qXliY180y/2QbvoiYpp2MleGQADr5M1b8lgI4GoyADh5kE+kX3VL0ssjgyxpmbpCD86A==} + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@react-native-community/cli-doctor@14.0.0(typescript@5.4.5): + resolution: {integrity: sha512-in6jylHjaPUaDzV+JtUblh8m9JYIHGjHOf6Xn57hrmE5Zwzwuueoe9rSMHF1P0mtDgRKrWPzAJVejElddfptWA==} + dependencies: + '@react-native-community/cli-config': 14.0.0(typescript@5.4.5) + '@react-native-community/cli-platform-android': 14.0.0 + '@react-native-community/cli-platform-apple': 14.0.0 + '@react-native-community/cli-platform-ios': 14.0.0 + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + command-exists: 1.2.9 + deepmerge: 4.3.1 + envinfo: 7.13.0 + execa: 5.1.1 + node-stream-zip: 1.15.0 + ora: 5.4.1 + semver: 7.6.3 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + yaml: 2.5.1 + transitivePeerDependencies: + - typescript + dev: false + + /@react-native-community/cli-platform-android@14.0.0: + resolution: {integrity: sha512-nt7yVz3pGKQXnVa5MAk7zR+1n41kNKD3Hi2OgybH5tVShMBo7JQoL2ZVVH6/y/9wAwI/s7hXJgzf1OIP3sMq+Q==} + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.5.0 + logkitty: 0.7.1 + dev: false + + /@react-native-community/cli-platform-apple@14.0.0: + resolution: {integrity: sha512-WniJL8vR4MeIsjqio2hiWWuUYUJEL3/9TDL5aXNwG68hH3tYgK3742+X9C+vRzdjTmf5IKc/a6PwLsdplFeiwQ==} + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.5.0 + ora: 5.4.1 + dev: false + + /@react-native-community/cli-platform-ios@14.0.0: + resolution: {integrity: sha512-8kxGv7mZ5nGMtueQDq+ndu08f0ikf3Zsqm3Ix8FY5KCXpSgP14uZloO2GlOImq/zFESij+oMhCkZJGggpWpfAw==} + dependencies: + '@react-native-community/cli-platform-apple': 14.0.0 + dev: false + + /@react-native-community/cli-server-api@14.0.0: + resolution: {integrity: sha512-A0FIsj0QCcDl1rswaVlChICoNbfN+mkrKB5e1ab5tOYeZMMyCHqvU+eFvAvXjHUlIvVI+LbqCkf4IEdQ6H/2AQ==} + dependencies: + '@react-native-community/cli-debugger-ui': 14.0.0 + '@react-native-community/cli-tools': 14.0.0 + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /@react-native-community/cli-server-api@14.0.0-alpha.11: + resolution: {integrity: sha512-I7YeYI7S5wSxnQAqeG8LNqhT99FojiGIk87DU0vTp6U8hIMLcA90fUuBAyJY38AuQZ12ZJpGa8ObkhIhWzGkvg==} + dependencies: + '@react-native-community/cli-debugger-ui': 14.0.0-alpha.11 + '@react-native-community/cli-tools': 14.0.0-alpha.11 + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /@react-native-community/cli-tools@14.0.0: + resolution: {integrity: sha512-L7GX5hyYYv0ZWbAyIQKzhHuShnwDqlKYB0tqn57wa5riGCaxYuRPTK+u4qy+WRCye7+i8M4Xj6oQtSd4z0T9cA==} + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.3 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + dev: false + + /@react-native-community/cli-tools@14.0.0-alpha.11: + resolution: {integrity: sha512-HQCfVnX9aqRdKdLxmQy4fUAUo+YhNGlBV7ZjOayPbuEGWJ4RN+vSy0Cawk7epo7hXd6vKzc7P7y3HlU6Kxs7+w==} + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.3 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + dev: false + + /@react-native-community/cli-types@14.0.0: + resolution: {integrity: sha512-CMUevd1pOWqvmvutkUiyQT2lNmMHUzSW7NKc1xvHgg39NjbS58Eh2pMzIUP85IwbYNeocfYc3PH19vA/8LnQtg==} + dependencies: + joi: 17.13.3 + dev: false + + /@react-native-community/cli@14.0.0(typescript@5.4.5): + resolution: {integrity: sha512-KwMKJB5jsDxqOhT8CGJ55BADDAYxlYDHv5R/ASQlEcdBEZxT0zZmnL0iiq2VqzETUy+Y/Nop+XDFgqyoQm0C2w==} + engines: {node: '>=18'} + hasBin: true + dependencies: + '@react-native-community/cli-clean': 14.0.0 + '@react-native-community/cli-config': 14.0.0(typescript@5.4.5) + '@react-native-community/cli-debugger-ui': 14.0.0 + '@react-native-community/cli-doctor': 14.0.0(typescript@5.4.5) + '@react-native-community/cli-server-api': 14.0.0 + '@react-native-community/cli-tools': 14.0.0 + '@react-native-community/cli-types': 14.0.0 + chalk: 4.1.2 + commander: 9.5.0 + deepmerge: 4.3.1 + execa: 5.1.1 + find-up: 5.0.0 + fs-extra: 8.1.0 + graceful-fs: 4.2.11 + prompts: 2.4.2 + semver: 7.6.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + dev: false + + /@react-native/assets-registry@0.75.2: + resolution: {integrity: sha512-P1dLHjpUeC0AIkDHRYcx0qLMr+p92IPWL3pmczzo6T76Qa9XzruQOYy0jittxyBK91Csn6HHQ/eit8TeXW8MVw==} + engines: {node: '>=18'} + dev: false + + /@react-native/babel-plugin-codegen@0.75.2(@babel/preset-env@7.25.4): + resolution: {integrity: sha512-BIKVh2ZJPkzluUGgCNgpoh6NTHgX8j04FCS0Z/rTmRJ66hir/EUBl8frMFKrOy/6i4VvZEltOWB5eWfHe1AYgw==} + engines: {node: '>=18'} + dependencies: + '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + dev: false + + /@react-native/babel-preset@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4): + resolution: {integrity: sha512-mprpsas+WdCEMjQZnbDiAC4KKRmmLbMB+o/v4mDqKlH4Mcm7RdtP5t80MZGOVCHlceNp1uEIpXywx69DNwgbgg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 + '@react-native/babel-plugin-codegen': 0.75.2(@babel/preset-env@7.25.4) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.25.2) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + dev: false + + /@react-native/codegen@0.75.2(@babel/preset-env@7.25.4): + resolution: {integrity: sha512-OkWdbtO2jTkfOXfj3ibIL27rM6LoaEuApOByU2G8X+HS6v9U87uJVJlMIRWBDmnxODzazuHwNVA2/wAmSbucaw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + dependencies: + '@babel/parser': 7.25.6 + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + glob: 7.2.3 + hermes-parser: 0.22.0 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.25.4) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@react-native/community-cli-plugin@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4): + resolution: {integrity: sha512-/tz0bzVja4FU0aAimzzQ7iYR43peaD6pzksArdrrGhlm8OvFYAQPOYSNeIQVMSarwnkNeg1naFKaeYf1o3++yA==} + engines: {node: '>=18'} + dependencies: + '@react-native-community/cli-server-api': 14.0.0-alpha.11 + '@react-native-community/cli-tools': 14.0.0-alpha.11 + '@react-native/dev-middleware': 0.75.2 + '@react-native/metro-babel-transformer': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4) + chalk: 4.1.2 + execa: 5.1.1 + metro: 0.80.11 + metro-config: 0.80.11 + metro-core: 0.80.11 + node-fetch: 2.7.0 + querystring: 0.2.1 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + + /@react-native/debugger-frontend@0.75.2: + resolution: {integrity: sha512-qIC6mrlG8RQOPaYLZQiJwqnPchAVGnHWcVDeQxPMPLkM/D5+PC8tuKWYOwgLcEau3RZlgz7QQNk31Qj2/OJG6Q==} + engines: {node: '>=18'} + dev: false + + /@react-native/dev-middleware@0.75.2: + resolution: {integrity: sha512-fTC5m2uVjYp1XPaIJBFgscnQjPdGVsl96z/RfLgXDq0HBffyqbg29ttx6yTCx7lIa9Gdvf6nKQom+e+Oa4izSw==} + engines: {node: '>=18'} + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.75.2 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.7.0 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.15.0 + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + + /@react-native/gradle-plugin@0.75.2: + resolution: {integrity: sha512-AELeAOCZi3B2vE6SeN+mjpZjjqzqa76yfFBB3L3f3NWiu4dm/YClTGOj+5IVRRgbt8LDuRImhDoaj7ukheXr4Q==} + engines: {node: '>=18'} + dev: false + + /@react-native/js-polyfills@0.75.2: + resolution: {integrity: sha512-AtLd3mbiE+FXK2Ru3l2NFOXDhUvzdUsCP4qspUw0haVaO/9xzV97RVD2zz0lur2f/LmZqQ2+KXyYzr7048b5iw==} + engines: {node: '>=18'} + dev: false + + /@react-native/metro-babel-transformer@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4): + resolution: {integrity: sha512-EygglCCuOub2sZ00CSIiEekCXoGL2XbOC6ssOB47M55QKvhdPG/0WBQXvmOmiN42uZgJK99Lj749v4rB0PlPIQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.25.2 + '@react-native/babel-preset': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4) + hermes-parser: 0.22.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + dev: false + + /@react-native/normalize-colors@0.75.2: + resolution: {integrity: sha512-nPwWJFtsqNFS/qSG9yDOiSJ64mjG7RCP4X/HXFfyWzCM1jq49h/DYBdr+c3e7AvTKGIdy0gGT3vgaRUHZFVdUQ==} + dev: false + + /@react-native/virtualized-lists@0.75.2(@types/react@18.3.1)(react-native@0.75.2)(react@18.3.1): + resolution: {integrity: sha512-pD5SVCjxc8k+JdoyQ+IlulBTEqJc3S4KUKsmv5zqbNCyETB0ZUvd4Su7bp+lLF6ALxx6KKmbGk8E3LaWEjUFFQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.1 + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.3.1 + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) + dev: false + + /@react-native/virtualized-lists@0.75.2(react-native@0.75.2)(react@18.3.1): + resolution: {integrity: sha512-pD5SVCjxc8k+JdoyQ+IlulBTEqJc3S4KUKsmv5zqbNCyETB0ZUvd4Su7bp+lLF6ALxx6KKmbGk8E3LaWEjUFFQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.3.1 + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1)(typescript@5.4.5) + dev: false + + /@react-stately/calendar@3.5.4(react@18.3.1): + resolution: {integrity: sha512-R2011mtFSXIjzMXaA+CZ1sflPm9XkTBMqVk77Bnxso2ZsG7FUX8nqFmaDavxwTuHFC6OUexAGSMs8bP9KycTNg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/date': 3.5.5 + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/calendar': 3.4.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/checkbox@3.6.8(react@18.3.1): + resolution: {integrity: sha512-c8TWjU67XHHBCpqj6+FXXhQUWGr2Pil1IKggX81pkedhWiJl3/7+WHJuZI0ivGnRjp3aISNOG8UNVlBEjS9E8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/collections@3.10.9(react@18.3.1): + resolution: {integrity: sha512-plyrng6hOQMG8LrjArMA6ts/DgWyXln3g90/hFNbqe/hdVYF53sDVsj8Jb+5LtoYTpiAlV6eOvy1XR0vPZUf8w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/combobox@3.9.2(react@18.3.1): + resolution: {integrity: sha512-ZsbAcD58IvxZqwYxg9d2gOf8R/k5RUB2TPUiGKD6wgWfEKH6SDzY3bgRByHGOyMCyJB62cHjih/ZShizNTguqA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-stately/select': 3.6.7(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/combobox': 3.12.1(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/data@3.11.6(react@18.3.1): + resolution: {integrity: sha512-S8q1Ejuhijl8SnyVOdDNFrMrWWnLk/Oh1ZT3KHSbTdpfMRtvhi5HukoiP06jlzz75phnpSPQL40npDtUB/kk3Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/datepicker@3.10.2(react@18.3.1): + resolution: {integrity: sha512-pa5IZUw+49AyOnddwu4XwU2kI5eo/1thbiIVNHP8uDpbbBrBkquSk3zVFDAGX1cu/I1U2VUkt64U/dxgkwaMQw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/date': 3.5.5 + '@internationalized/string': 3.2.3 + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/datepicker': 3.8.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/dnd@3.4.2(react@18.3.1): + resolution: {integrity: sha512-VrHmNoNdVGrx5JHdz/zewmN+N8rlZe+vL/iAOLmvQ74RRLEz8KDFnHdlhgKg1AZqaSg3JJ18BlHEkS7oL1n+tA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/flags@3.0.3: + resolution: {integrity: sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw==} + dependencies: + '@swc/helpers': 0.5.13 + dev: true + + /@react-stately/form@3.0.5(react@18.3.1): + resolution: {integrity: sha512-J3plwJ63HQz109OdmaTqTA8Qhvl3gcYYK7DtgKyNP6mc/Me2Q4tl2avkWoA+22NRuv5m+J8TpBk4AVHUEOwqeQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/grid@3.9.2(react@18.3.1): + resolution: {integrity: sha512-2gK//sqAqg2Xaq6UITTFQwFUJnBRgcW+cKBVbFt+F8d152xB6UwwTS/K79E5PUkOotwqZgTEpkrSFs/aVxCLpw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-types/grid': 3.2.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/list@3.10.8(react@18.3.1): + resolution: {integrity: sha512-rHCiPLXd+Ry3ztR9DkLA5FPQeH4Zd4/oJAEDWJ77W3oBBOdiMp3ZdHDLP7KBRh17XGNLO/QruYoHWAQTPiMF4g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/menu@3.8.2(react@18.3.1): + resolution: {integrity: sha512-lt6hIHmSixMzkKx1rKJf3lbAf01EmEvvIlENL20GLiU9cRbpPnPJ1aJMZ5Ad5ygglA7wAemAx+daPhlTQfF2rg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-types/menu': 3.9.11(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/numberfield@3.9.6(react@18.3.1): + resolution: {integrity: sha512-p2R9admGLI439qZzB39dyANhkruprJJtZwuoGVtxW/VD0ficw6BrPVqAaKG25iwKPkmveleh9p8o+yRqjGedcQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@internationalized/number': 3.5.3 + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/numberfield': 3.8.5(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/overlays@3.6.10(react@18.3.1): + resolution: {integrity: sha512-XxZ2qScT5JPwGk9qiVJE4dtVh3AXTcYwGRA5RsHzC26oyVVsegPqY2PmNJGblAh6Q57VyodoVUyebE0Eo5CzRw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/overlays': 3.8.9(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/radio@3.10.7(react@18.3.1): + resolution: {integrity: sha512-ZwGzFR+sGd42DxRlDTp3G2vLZyhMVtgHkwv2BxazPHxPMvLO9yYl7+3PPNxAmhMB4tg2u9CrzffpGX2rmEJEXA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/radio': 3.8.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/searchfield@3.5.6(react@18.3.1): + resolution: {integrity: sha512-gVzU0FeWiLYD8VOYRgWlk79Qn7b2eirqOnWhtI5VNuGN8WyNaCIuBp6SkXTW2dY8hs2Hzn8HlMbgy1MIc7130Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/searchfield': 3.5.8(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/select@3.6.7(react@18.3.1): + resolution: {integrity: sha512-hCUIddw0mPxVy1OH6jhyaDwgNea9wESjf+MYdnnTG/abRB+OZv/dWScd87OjzVsHTHWcw7CN4ZzlJoXm0FJbKQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-types/select': 3.9.6(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/selection@3.16.2(react@18.3.1): + resolution: {integrity: sha512-C4eSKw7BIZHJLPzwqGqCnsyFHiUIEyryVQZTJDt6d0wYBOHU6k1pW+Q4VhrZuzSv+IMiI2RkiXeJKc55f0ZXrg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/slider@3.5.7(react@18.3.1): + resolution: {integrity: sha512-gEIGTcpBLcXixd8LYiLc8HKrBiGQJltrrEGoOvvTP8KVItXQxmeL+JiSsh8qgOoUdRRpzmAoFNUKGEg2/gtN8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/slider': 3.7.5(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/table@3.12.2(react@18.3.1): + resolution: {integrity: sha512-dUcsrdALylhWz6exqIoqtR/dnrzjIAptMyAUPT378Y/mCYs4PxKkHSvtPEQrZhdQS1ALIIgfeg9KUVIempoXPw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/flags': 3.0.3 + '@react-stately/grid': 3.9.2(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/grid': 3.2.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/table': 3.10.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/tabs@3.6.9(react@18.3.1): + resolution: {integrity: sha512-YZDqZng3HrRX+uXmg6u78x73Oi24G5ICpiXVqDKKDkO333XCA5H8MWItiuPZkYB2h3SbaCaLqSobLkvCoWYpNQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/tabs': 3.3.9(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true + + /@react-stately/toggle@3.7.7(react@18.3.1): + resolution: {integrity: sha512-AS+xB4+hHWa3wzYkbS6pwBkovPfIE02B9SnuYTe0stKcuejpWKo5L3QMptW0ftFYsW3ZPCXuneImfObEw2T01A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/checkbox': 3.8.3(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true - /@react-native-community/cli-config@14.0.0(typescript@5.4.5): - resolution: {integrity: sha512-2Nr8KR+dgn1z+HLxT8piguQ1SoEzgKJnOPQKE1uakxWaRFcQ4LOXgzpIAscYwDW6jmQxdNqqbg2cRUoOS7IMtQ==} + /@react-stately/tooltip@3.4.12(react@18.3.1): + resolution: {integrity: sha512-QKYT/cze7n9qaBsk7o5ais3jRfhYCzcVRfps+iys/W+/9FFbbhjfQG995Lwi6b+vGOHWfXxXpwmyIO2tzM1Iog==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - cosmiconfig: 9.0.0(typescript@5.4.5) - deepmerge: 4.3.1 - fast-glob: 3.3.2 - joi: 17.13.3 - transitivePeerDependencies: - - typescript - dev: false + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-types/tooltip': 3.4.11(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true - /@react-native-community/cli-debugger-ui@14.0.0: - resolution: {integrity: sha512-JpfzILfU7eKE9+7AMCAwNJv70H4tJGVv3ZGFqSVoK1YHg5QkVEGsHtoNW8AsqZRS6Fj4os+Fmh+r+z1L36sPmg==} + /@react-stately/tree@3.8.4(react@18.3.1): + resolution: {integrity: sha512-HFNclIXJ/3QdGQWxXbj+tdlmIX/XwCfzAMB5m26xpJ6HtJhia6dtx3GLfcdyHNjmuRbAsTBsAAnnVKBmNRUdIQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - dev: false + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-stately/utils': 3.10.3(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true - /@react-native-community/cli-debugger-ui@14.0.0-alpha.11: - resolution: {integrity: sha512-0wCNQxhCniyjyMXgR1qXliY180y/2QbvoiYpp2MleGQADr5M1b8lgI4GoyADh5kE+kX3VL0ssjgyxpmbpCD86A==} + /@react-stately/utils@3.10.3(react@18.3.1): + resolution: {integrity: sha512-moClv7MlVSHpbYtQIkm0Cx+on8Pgt1XqtPx6fy9rQFb2DNc9u1G3AUVnqA17buOkH1vLxAtX4MedlxMWyRCYYA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - dev: false + '@swc/helpers': 0.5.13 + react: 18.3.1 + dev: true - /@react-native-community/cli-doctor@14.0.0(typescript@5.4.5): - resolution: {integrity: sha512-in6jylHjaPUaDzV+JtUblh8m9JYIHGjHOf6Xn57hrmE5Zwzwuueoe9rSMHF1P0mtDgRKrWPzAJVejElddfptWA==} + /@react-types/breadcrumbs@3.7.7(react@18.3.1): + resolution: {integrity: sha512-ZmhXwD2LLzfEA2OvOCp/QvXu8A/Edsrn5q0qUDGsmOZj9SCVeT82bIv8P+mQnATM13mi2gyoik6102Jc1OscJA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-config': 14.0.0(typescript@5.4.5) - '@react-native-community/cli-platform-android': 14.0.0 - '@react-native-community/cli-platform-apple': 14.0.0 - '@react-native-community/cli-platform-ios': 14.0.0 - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - command-exists: 1.2.9 - deepmerge: 4.3.1 - envinfo: 7.13.0 - execa: 5.1.1 - node-stream-zip: 1.15.0 - ora: 5.4.1 - semver: 7.6.3 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - yaml: 2.5.0 - transitivePeerDependencies: - - typescript - dev: false + '@react-types/link': 3.5.7(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-platform-android@14.0.0: - resolution: {integrity: sha512-nt7yVz3pGKQXnVa5MAk7zR+1n41kNKD3Hi2OgybH5tVShMBo7JQoL2ZVVH6/y/9wAwI/s7hXJgzf1OIP3sMq+Q==} + /@react-types/button@3.9.6(react@18.3.1): + resolution: {integrity: sha512-8lA+D5JLbNyQikf8M/cPP2cji91aVTcqjrGpDqI7sQnaLFikM8eFR6l1ZWGtZS5MCcbfooko77ha35SYplSQvw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - fast-xml-parser: 4.4.1 - logkitty: 0.7.1 - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-platform-apple@14.0.0: - resolution: {integrity: sha512-WniJL8vR4MeIsjqio2hiWWuUYUJEL3/9TDL5aXNwG68hH3tYgK3742+X9C+vRzdjTmf5IKc/a6PwLsdplFeiwQ==} + /@react-types/calendar@3.4.9(react@18.3.1): + resolution: {integrity: sha512-O/PS9c21HgO9qzxOyZ7/dTccxabFZdF6tj3UED4DrBw7AN3KZ7JMzwzYbwHinOcO7nUcklGgNoAIHk45UAKR9g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - fast-xml-parser: 4.4.1 - ora: 5.4.1 - dev: false + '@internationalized/date': 3.5.5 + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-platform-ios@14.0.0: - resolution: {integrity: sha512-8kxGv7mZ5nGMtueQDq+ndu08f0ikf3Zsqm3Ix8FY5KCXpSgP14uZloO2GlOImq/zFESij+oMhCkZJGggpWpfAw==} + /@react-types/checkbox@3.8.3(react@18.3.1): + resolution: {integrity: sha512-f4c1mnLEt0iS1NMkyZXgT3q3AgcxzDk7w6MSONOKydcnh0xG5L2oefY14DhVDLkAuQS7jThlUFwiAs+MxiO3MA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-platform-apple': 14.0.0 - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-server-api@14.0.0: - resolution: {integrity: sha512-A0FIsj0QCcDl1rswaVlChICoNbfN+mkrKB5e1ab5tOYeZMMyCHqvU+eFvAvXjHUlIvVI+LbqCkf4IEdQ6H/2AQ==} + /@react-types/combobox@3.12.1(react@18.3.1): + resolution: {integrity: sha512-bd5YwHZWtgnJx4jGbplWbYzXj7IbO5w3IY5suNR7r891rx6IktquZ8GQwyYH0pQ/x+X5LdK2xI59i6+QC2PmlA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-debugger-ui': 14.0.0 - '@react-native-community/cli-tools': 14.0.0 - compression: 1.7.4 - connect: 3.7.0 - errorhandler: 1.5.1 - nocache: 3.0.4 - pretty-format: 26.6.2 - serve-static: 1.15.0 - ws: 6.2.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-server-api@14.0.0-alpha.11: - resolution: {integrity: sha512-I7YeYI7S5wSxnQAqeG8LNqhT99FojiGIk87DU0vTp6U8hIMLcA90fUuBAyJY38AuQZ12ZJpGa8ObkhIhWzGkvg==} + /@react-types/datepicker@3.8.2(react@18.3.1): + resolution: {integrity: sha512-Ih4F0bNVGrEuwCD8XmmBAspuuOBsj/Svn/pDFtC2RyAZjXfWh+sI+n4XLz/sYKjvARh5TUI8GNy9smYS4vYXug==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-debugger-ui': 14.0.0-alpha.11 - '@react-native-community/cli-tools': 14.0.0-alpha.11 - compression: 1.7.4 - connect: 3.7.0 - errorhandler: 1.5.1 - nocache: 3.0.4 - pretty-format: 26.6.2 - serve-static: 1.15.0 - ws: 6.2.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false + '@internationalized/date': 3.5.5 + '@react-types/calendar': 3.4.9(react@18.3.1) + '@react-types/overlays': 3.8.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-tools@14.0.0: - resolution: {integrity: sha512-L7GX5hyYYv0ZWbAyIQKzhHuShnwDqlKYB0tqn57wa5riGCaxYuRPTK+u4qy+WRCye7+i8M4Xj6oQtSd4z0T9cA==} + /@react-types/dialog@3.5.12(react@18.3.1): + resolution: {integrity: sha512-JmpQbSpXltqEyYfEwoqDolABIiojeExkqolHNdQlayIsfFuSxZxNwXZPOpz58Ri/iwv21JP7K3QF0Gb2Ohxl9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - appdirsjs: 1.2.7 - chalk: 4.1.2 - execa: 5.1.1 - find-up: 5.0.0 - mime: 2.6.0 - open: 6.4.0 - ora: 5.4.1 - semver: 7.6.3 - shell-quote: 1.8.1 - sudo-prompt: 9.2.1 - dev: false + '@react-types/overlays': 3.8.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-tools@14.0.0-alpha.11: - resolution: {integrity: sha512-HQCfVnX9aqRdKdLxmQy4fUAUo+YhNGlBV7ZjOayPbuEGWJ4RN+vSy0Cawk7epo7hXd6vKzc7P7y3HlU6Kxs7+w==} + /@react-types/grid@3.2.8(react@18.3.1): + resolution: {integrity: sha512-6PJrpukwMqlv3IhJSDkJuVbhHM8Oe6hd2supWqd9adMXrlSP7QHt9a8SgFcFblCCTx8JzUaA0PvY5sTudcEtOQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - appdirsjs: 1.2.7 - chalk: 4.1.2 - execa: 5.1.1 - find-up: 5.0.0 - mime: 2.6.0 - open: 6.4.0 - ora: 5.4.1 - semver: 7.6.3 - shell-quote: 1.8.1 - sudo-prompt: 9.2.1 - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli-types@14.0.0: - resolution: {integrity: sha512-CMUevd1pOWqvmvutkUiyQT2lNmMHUzSW7NKc1xvHgg39NjbS58Eh2pMzIUP85IwbYNeocfYc3PH19vA/8LnQtg==} + /@react-types/link@3.5.7(react@18.3.1): + resolution: {integrity: sha512-2WyaVmm1qr9UrSG3Dq6iz+2ziuVp+DH8CsYZ9CA6aNNb6U18Hxju3LTPb4a5gM0eC7W0mQGNBmrgGlAdDZEJOw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - joi: 17.13.3 - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native-community/cli@14.0.0(typescript@5.4.5): - resolution: {integrity: sha512-KwMKJB5jsDxqOhT8CGJ55BADDAYxlYDHv5R/ASQlEcdBEZxT0zZmnL0iiq2VqzETUy+Y/Nop+XDFgqyoQm0C2w==} - engines: {node: '>=18'} - hasBin: true + /@react-types/listbox@3.5.1(react@18.3.1): + resolution: {integrity: sha512-n5bOgD9lgfK1qaLtag9WPnu151SwXBCNn/OgGY/Br9mWRl+nPUEYtFcPX+2VCld7uThf54kwrTmzlFnaraIlcw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-clean': 14.0.0 - '@react-native-community/cli-config': 14.0.0(typescript@5.4.5) - '@react-native-community/cli-debugger-ui': 14.0.0 - '@react-native-community/cli-doctor': 14.0.0(typescript@5.4.5) - '@react-native-community/cli-server-api': 14.0.0 - '@react-native-community/cli-tools': 14.0.0 - '@react-native-community/cli-types': 14.0.0 - chalk: 4.1.2 - commander: 9.5.0 - deepmerge: 4.3.1 - execa: 5.1.1 - find-up: 5.0.0 - fs-extra: 8.1.0 - graceful-fs: 4.2.11 - prompts: 2.4.2 - semver: 7.6.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - typescript - - utf-8-validate - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/assets-registry@0.75.0: - resolution: {integrity: sha512-iQ24uf03ZENvxvF2+RmhbQVwrKYQeb94aMIB7p9t5xg+2vHMvPHw6h3yLTlzPC2UWvSVtpuV2ZSvJ3y+cJuxwg==} - engines: {node: '>=18'} - dev: false + /@react-types/menu@3.9.11(react@18.3.1): + resolution: {integrity: sha512-IguQVF70d7aHXgWB1Rd2a/PiIuLZ2Nt7lyayJshLcy/NLOYmgpTmTyn2WCtlA5lTfQwmQrNFf4EvnWkeljJXdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/overlays': 3.8.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/babel-plugin-codegen@0.75.0(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-5U+1DsFc+M79fJi7t8sbfjymB/gYkQyJ2o3HEqVLo1vRdB0Pgl1d13wNwmAAXzoMD12R0fjLPUxbBTiK/obgSQ==} - engines: {node: '>=18'} + /@react-types/meter@3.4.3(react@18.3.1): + resolution: {integrity: sha512-Y2fX5CTAPGRKxVSeepbeyN6/K+wlF9pMRcNxTSU2qDwdoFqNCtTWMcWuCsU/Y2L/zU0jFWu4x0Vo7WkrcsgcMA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native/codegen': 0.75.0(@babel/preset-env@7.25.3) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - dev: false + '@react-types/progress': 3.5.6(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/babel-preset@0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-niS6XhMkPfkOfFNvdPHeYAGs09E/oIgEFD+EC+7W5lXe9TrJhm+MybcPaloBSa4lDs3WxrMnoM82qf/hF8/GtA==} - engines: {node: '>=18'} + /@react-types/numberfield@3.8.5(react@18.3.1): + resolution: {integrity: sha512-LVWggkxwd1nyVZomXBPfQA1E4I4/i4PBifjcDs2AfcV7q5RE9D+DVIDXsYucVOBxPlDOxiAq/T9ypobspWSwHw==} peerDependencies: - '@babel/core': '*' + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/template': 7.25.0 - '@react-native/babel-plugin-codegen': 0.75.0(@babel/preset-env@7.25.3) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.25.2) - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true + + /@react-types/overlays@3.8.9(react@18.3.1): + resolution: {integrity: sha512-9ni9upQgXPnR+K9cWmbYWvm3ll9gH8P/XsEZprqIV5zNLMF334jADK48h4jafb1X9RFnj0WbHo6BqcSObzjTig==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/codegen@0.75.0(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-fEBF5DDlFxiGZbBUl+pwSGWIi9pWOCBD8RHeKw9gqr/v5/c73xyFkv+uC6YXE9LifQG91ziJ+jf6P9GI5ZXKyg==} - engines: {node: '>=18'} + /@react-types/progress@3.5.6(react@18.3.1): + resolution: {integrity: sha512-Nh43sjQ5adyN1bTHBPRaIPhXUdBqP0miYeJpeMY3V/KUl4qmouJLwDnccwFG4xLm6gBfYe22lgbbV7nAfNnuTQ==} peerDependencies: - '@babel/preset-env': ^7.1.6 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@babel/parser': 7.25.3 - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - glob: 7.2.3 - hermes-parser: 0.22.0 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.25.3) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/community-cli-plugin@0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-oS3R1if6YbnMcqn0aSa362mOxv7JuwRI0Y8wtW7aWoDyUAhjsAu51iQsHJEeNYkzNFsqEPGa1hdxWy+waIJvQg==} - engines: {node: '>=18'} + /@react-types/radio@3.8.3(react@18.3.1): + resolution: {integrity: sha512-fUVJt4Bb6jOReFqnhHVNxWXH7t6c60uSFfoPKuXt/xI9LL1i2jhpur0ggpTfIn3qLIAmNBU6bKBCWAdr4KjeVQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@react-native-community/cli-server-api': 14.0.0-alpha.11 - '@react-native-community/cli-tools': 14.0.0-alpha.11 - '@react-native/dev-middleware': 0.75.0 - '@react-native/metro-babel-transformer': 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3) - chalk: 4.1.2 - execa: 5.1.1 - metro: 0.80.10 - metro-config: 0.80.10 - metro-core: 0.80.10 - node-fetch: 2.7.0 - querystring: 0.2.1 - readline: 1.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/debugger-frontend@0.75.0: - resolution: {integrity: sha512-KygllgLUm6Gfyfzw59MtfNVEp0SlHpWJFT6Z9kag99OUvII5fJSDpovry9/Xf0NbpLCX8d3T3U77D8nfezJiZw==} - engines: {node: '>=18'} - dev: false + /@react-types/searchfield@3.5.8(react@18.3.1): + resolution: {integrity: sha512-EcdqalHNIC6BJoRfmqUhAvXRd3aHkWlV1cFCz57JJKgUEFYyXPNrXd1b73TKLzTXEk+X/D6LKV15ILYpEaxu8w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + '@react-types/textfield': 3.9.6(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/dev-middleware@0.75.0: - resolution: {integrity: sha512-C5CAxzUYwL5n6lHDPHJAnrJfStY6SEP+7luLM5Rp4QLAJcVm2/3EeL09v4YjzRW/fQzMaUbOKwE1O+VDnABH4Q==} - engines: {node: '>=18'} + /@react-types/select@3.9.6(react@18.3.1): + resolution: {integrity: sha512-cVSFR0eJLup/ht1Uto+y8uyLmHO89J6wNh65SIHb3jeVz9oLBAedP3YNI2qB+F9qFMUcA8PBSLXIIuT6gXzLgQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.75.0 - chrome-launcher: 0.15.2 - chromium-edge-launcher: 0.2.0 - connect: 3.7.0 - debug: 2.6.9 - node-fetch: 2.7.0 - nullthrows: 1.1.1 - open: 7.4.2 - selfsigned: 2.4.1 - serve-static: 1.15.0 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/gradle-plugin@0.75.0: - resolution: {integrity: sha512-z9SpbswggvzAwwVyzBI5X2VgGe+mYFIhpSzkfPQOMI3X/m3IaVOFdY+c+oLRKikVQ07acUNUlI9EePWoKzIJvg==} - engines: {node: '>=18'} - dev: false + /@react-types/shared@3.24.1(react@18.3.1): + resolution: {integrity: sha512-AUQeGYEm/zDTN6zLzdXolDxz3Jk5dDL7f506F07U8tBwxNNI3WRdhU84G0/AaFikOZzDXhOZDr3MhQMzyE7Ydw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + react: 18.3.1 + dev: true - /@react-native/js-polyfills@0.75.0: - resolution: {integrity: sha512-EMYPgnR4ZQuvwuVjuMuNoa0J0G4pvHUdn4VwnXH6Zs87Ow+xT0uzd/5QLJbwHnHMMtBmti1qRsjrJfJGiergug==} - engines: {node: '>=18'} - dev: false + /@react-types/slider@3.7.5(react@18.3.1): + resolution: {integrity: sha512-bRitwQRQjQoOcKEdPMljnvm474dwrmsc6pdsVQDh/qynzr+KO9IHuYc3qPW53WVE2hMQJDohlqtCAWQXWQ5Vcg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/metro-babel-transformer@0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-sXK5mKpSiM1UanuCWGIumHtyj4rwmTBAGaxwrhRX7VAxa7ERCYhZDh9K77194fahQ57mkSEi6hKtJrOyP4qWqQ==} - engines: {node: '>=18'} + /@react-types/switch@3.5.5(react@18.3.1): + resolution: {integrity: sha512-SZx1Bd+COhAOs/RTifbZG+uq/llwba7VAKx7XBeX4LeIz1dtguy5bigOBgFTMQi4qsIVCpybSWEEl+daj4XFPw==} peerDependencies: - '@babel/core': '*' + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@babel/core': 7.25.2 - '@react-native/babel-preset': 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3) - hermes-parser: 0.22.0 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - dev: false + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/normalize-colors@0.75.0: - resolution: {integrity: sha512-LiRP/8QrKbZH4/JaJFnkbz3ImXkhM9EKwzQwjmd8kajdodd61b8DP05nnTDMo9ZmT752Xyq+KSt/t92fKuY8Dg==} - dev: false + /@react-types/table@3.10.1(react@18.3.1): + resolution: {integrity: sha512-xsNh0Gm4GtNeSknZqkMsfGvc94fycmfhspGO+FzQKim2hB5k4yILwd+lHYQ2UKW6New9GVH/zN2Pd3v67IeZ2g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/grid': 3.2.8(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /@react-native/virtualized-lists@0.75.0(@types/react@18.3.1)(react-native@0.75.0)(react@18.3.1): - resolution: {integrity: sha512-kX88Nd4IsCW7LcESWvJqwz7Ox8QWtojDgTmqIOOBlH3bw/exFZtdDSWBPXntT9Zhjl1NFKRzEdzakLodcjh+JQ==} - engines: {node: '>=18'} + /@react-types/tabs@3.3.9(react@18.3.1): + resolution: {integrity: sha512-3Q9kRVvg/qDyeJR/W1+C2z2OyvDWQrSLvOCvAezX5UKzww4rBEAA8OqBlyDwn7q3fiwrh/m64l6p+dbln+RdxQ==} peerDependencies: - '@types/react': ^18.2.6 - react: '*' - react-native: '*' - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - '@types/react': 18.3.1 - invariant: 2.2.4 - nullthrows: 1.1.1 + '@react-types/shared': 3.24.1(react@18.3.1) react: 18.3.1 - react-native: 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) - dev: false + dev: true - /@react-native/virtualized-lists@0.75.0(react-native@0.75.0)(react@18.3.1): - resolution: {integrity: sha512-kX88Nd4IsCW7LcESWvJqwz7Ox8QWtojDgTmqIOOBlH3bw/exFZtdDSWBPXntT9Zhjl1NFKRzEdzakLodcjh+JQ==} - engines: {node: '>=18'} + /@react-types/textfield@3.9.6(react@18.3.1): + resolution: {integrity: sha512-0uPqjJh4lYp1aL1HL9IlV8Cgp8eT0PcsNfdoCktfkLytvvBPmox2Pfm57W/d0xTtzZu2CjxhYNTob+JtGAOeXA==} peerDependencies: - '@types/react': ^18.2.6 - react: '*' - react-native: '*' - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 + '@react-types/shared': 3.24.1(react@18.3.1) react: 18.3.1 - react-native: 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(react@18.3.1)(typescript@5.4.5) - dev: false + dev: true + + /@react-types/tooltip@3.4.11(react@18.3.1): + resolution: {integrity: sha512-WPikHQxeT5Lb09yJEaW6Ja3ecE0g1YM6ukWYS2v/iZLUPn5YlYrGytspuCYQNSh/u7suCz4zRLEHYCl7OCigjw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + dependencies: + '@react-types/overlays': 3.8.9(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true /@rollup/pluginutils@5.1.0: resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} @@ -5818,128 +8421,128 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/rollup-android-arm-eabi@4.20.0: - resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} + /@rollup/rollup-android-arm-eabi@4.21.2: + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.20.0: - resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} + /@rollup/rollup-android-arm64@4.21.2: + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.20.0: - resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} + /@rollup/rollup-darwin-arm64@4.21.2: + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.20.0: - resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} + /@rollup/rollup-darwin-x64@4.21.2: + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.20.0: - resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} + /@rollup/rollup-linux-arm-gnueabihf@4.21.2: + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.20.0: - resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} + /@rollup/rollup-linux-arm-musleabihf@4.21.2: + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.20.0: - resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} + /@rollup/rollup-linux-arm64-gnu@4.21.2: + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.20.0: - resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} + /@rollup/rollup-linux-arm64-musl@4.21.2: + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.20.0: - resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} + /@rollup/rollup-linux-powerpc64le-gnu@4.21.2: + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.20.0: - resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} + /@rollup/rollup-linux-riscv64-gnu@4.21.2: + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.20.0: - resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} + /@rollup/rollup-linux-s390x-gnu@4.21.2: + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.20.0: - resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} + /@rollup/rollup-linux-x64-gnu@4.21.2: + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.20.0: - resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} + /@rollup/rollup-linux-x64-musl@4.21.2: + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.20.0: - resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} + /@rollup/rollup-win32-arm64-msvc@4.21.2: + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.20.0: - resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} + /@rollup/rollup-win32-ia32-msvc@4.21.2: + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.20.0: - resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} + /@rollup/rollup-win32-x64-msvc@4.21.2: + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} cpu: [x64] os: [win32] requiresBuild: true @@ -6023,32 +8626,37 @@ packages: engines: {node: '>=16'} dev: false - /@scure/base@1.1.7: - resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} + /@scure/base@1.1.8: + resolution: {integrity: sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg==} /@scure/bip32@1.4.0: resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} dependencies: - '@noble/curves': 1.4.2 + '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@scure/base': 1.1.8 /@scure/bip39@1.3.0: resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} dependencies: '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@scure/base': 1.1.8 - /@shikijs/core@1.13.0: - resolution: {integrity: sha512-Mj5NVfbAXcD1GnwOTSPl8hBn/T8UDpfFQTptp+p41n/CbUcJtOq98WaRD7Lz3hCglYotUTHUWtzu3JhK6XlkAA==} + /@shikijs/core@1.16.2: + resolution: {integrity: sha512-XSVH5OZCvE4WLMgdoBqfPMYmGHGmCC3OgZhw0S7KcSi2XKZ+5oHGe71GFnTljgdOxvxx5WrRks6QoTLKrl1eAA==} dependencies: + '@shikijs/vscode-textmate': 9.2.0 '@types/hast': 3.0.4 dev: true - /@shikijs/transformers@1.13.0: - resolution: {integrity: sha512-51aLIT6a93rVGoTxl2+p6hb7ILbTA4p/unoibEAjnPMzHto4cqxhuHyDVgtQur5ANpGsL3ihSGKaZDrpcWH8vQ==} + /@shikijs/transformers@1.16.2: + resolution: {integrity: sha512-AR6ANiKwi1dJr5g/W0L+Su4PoHurkHLgtNmesbOFOPGKNQC2BeGU/Z2Ghkl+cUF5PfE+UeLkxUwzpE6H37hTSg==} dependencies: - shiki: 1.13.0 + shiki: 1.16.2 + dev: true + + /@shikijs/vscode-textmate@9.2.0: + resolution: {integrity: sha512-5FinaOp6Vdh/dl4/yaOTh0ZeKch+rYS8DUb38V3GMKYVkdqzxw53lViRKUYkVILRiVQT7dcPC7VvAKOR73zVtQ==} dev: true /@sideway/address@4.1.5: @@ -6173,7 +8781,6 @@ packages: - '@upstash/redis' - '@vercel/kv' - bufferutil - - encoding - ioredis - uWebSockets.js - utf-8-validate @@ -6197,9 +8804,9 @@ packages: /@solana/web3.js@1.91.7: resolution: {integrity: sha512-HqljZKDwk6Z4TajKRGhGLlRsbGK4S8EY27DA7v1z6yakewiUY3J7ZKDZRxcqz2MYV/ZXRrJ6wnnpiHFkPdv0WA==} dependencies: - '@babel/runtime': 7.25.0 - '@noble/curves': 1.5.0 - '@noble/hashes': 1.4.0 + '@babel/runtime': 7.25.6 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 @@ -6208,7 +8815,7 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.1 + jayson: 4.1.2 node-fetch: 2.7.0 rpc-websockets: 7.11.0 superstruct: 0.14.2 @@ -6221,9 +8828,9 @@ packages: /@solana/web3.js@1.93.1: resolution: {integrity: sha512-3TzngqyzukYbuuweL1ejJJEPXmSRoOjaUsfBcfdx9RyDZtyP9av/GerV52mF6Lj2zEVkE7ZczpEP4tKJ8anxVQ==} dependencies: - '@babel/runtime': 7.25.0 - '@noble/curves': 1.5.0 - '@noble/hashes': 1.4.0 + '@babel/runtime': 7.25.6 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 @@ -6232,7 +8839,7 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.1 + jayson: 4.1.2 node-fetch: 2.7.0 rpc-websockets: 9.0.2 superstruct: 1.0.4 @@ -6245,9 +8852,9 @@ packages: /@solana/web3.js@1.93.2: resolution: {integrity: sha512-U8GlrvjfheJTFNavJHb2v/CnpzoqbGKaShLJGf1cELeFUlweUrfYXc9YFX0tw8Icb4ll48vDxt/zEPQOQ29+kw==} dependencies: - '@babel/runtime': 7.25.0 - '@noble/curves': 1.5.0 - '@noble/hashes': 1.4.0 + '@babel/runtime': 7.25.6 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 @@ -6256,7 +8863,7 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.1 + jayson: 4.1.2 node-fetch: 2.7.0 rpc-websockets: 9.0.2 superstruct: 1.0.4 @@ -6410,19 +9017,48 @@ packages: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} dev: false - /@swc/helpers@0.5.12: - resolution: {integrity: sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==} + /@swc/helpers@0.5.13: + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} dependencies: - tslib: 2.6.3 - dev: false + tslib: 2.7.0 + + /@swc/helpers@0.5.2: + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + dependencies: + tslib: 2.7.0 + dev: true /@swc/helpers@0.5.5: resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: '@swc/counter': 0.1.3 - tslib: 2.6.3 + tslib: 2.7.0 dev: false + /@tabler/icons-react@2.47.0(react@18.3.1): + resolution: {integrity: sha512-iqly2FvCF/qUbgmvS8E40rVeYY7laltc5GUjRxQj59DuX0x/6CpKHTXt86YlI2whg4czvd/c8Ce8YR08uEku0g==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + dependencies: + '@tabler/icons': 2.47.0 + prop-types: 15.8.1 + react: 18.3.1 + + /@tabler/icons@2.47.0: + resolution: {integrity: sha512-4w5evLh+7FUUiA1GucvGj2ReX2TvOjEr4ejXdwL/bsjoSkof6r1gQmzqI+VHrE2CpJpB3al7bCTulOkFa/RcyA==} + + /@tailwindcss/typography@0.5.10(tailwindcss@3.4.4): + resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.4 + dev: true + /@tanstack/query-core@5.35.1: resolution: {integrity: sha512-0Dnpybqb8+ps6WgqBnqFEC+1F/xLvUosRAq+wiGisTgolOZzqZfkE2995dEXmhuzINiTM7/a6xSGznU0NIvBkw==} @@ -6472,8 +9108,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -6482,20 +9118,20 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: true /@types/babel__traverse@7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 dev: true /@types/bn.js@5.1.5: @@ -6519,20 +9155,6 @@ packages: resolution: {integrity: sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==} dev: false - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - dependencies: - '@types/eslint': 9.6.0 - '@types/estree': 1.0.5 - dev: true - - /@types/eslint@9.6.0: - resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - dev: true - /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true @@ -6544,7 +9166,7 @@ packages: /@types/hast@3.0.4: resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -6563,6 +9185,10 @@ packages: '@types/istanbul-lib-report': 3.0.3 dev: false + /@types/js-cookie@2.2.7: + resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + dev: true + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true @@ -6610,6 +9236,10 @@ packages: /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + /@types/node@18.15.13: + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} + dev: true + /@types/node@20.12.11: resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} dependencies: @@ -6627,12 +9257,22 @@ packages: dependencies: '@types/react': 18.3.1 + /@types/react@18.2.54: + resolution: {integrity: sha512-039k+vrVJymDoe2y+HLk3O3oI3sa+C8KNjuDKofqrIJK26ramnqLNj9VJTaxAzFGMvpW/79HrrAJapHzpQ9fGQ==} + dependencies: + '@types/prop-types': 15.7.12 + '@types/scheduler': 0.23.0 + csstype: 3.1.3 + /@types/react@18.3.1: resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 + /@types/scheduler@0.23.0: + resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} + /@types/secp256k1@4.0.6: resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} dependencies: @@ -6655,8 +9295,8 @@ packages: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: false - /@types/unist@3.0.2: - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + /@types/unist@3.0.3: + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} dev: true /@types/uuid@8.3.4: @@ -6711,15 +9351,15 @@ packages: - supports-color dev: true - /@vitejs/plugin-vue@5.1.2(vite@5.4.0)(vue@3.4.37): - resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} + /@vitejs/plugin-vue@5.1.3(vite@5.4.3)(vue@3.5.2): + resolution: {integrity: sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.4.0 - vue: 3.4.37(typescript@5.4.5) + vite: 5.4.3 + vue: 3.5.2(typescript@5.4.5) dev: true /@vitest/coverage-v8@2.0.2(vitest@2.0.2): @@ -6735,7 +9375,7 @@ packages: istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 magic-string: 0.30.11 - magicast: 0.3.4 + magicast: 0.3.5 std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 7.0.1 @@ -6815,58 +9455,58 @@ packages: path-browserify: 1.0.1 dev: true - /@vue/compiler-core@3.4.37: - resolution: {integrity: sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==} + /@vue/compiler-core@3.5.2: + resolution: {integrity: sha512-1aP7FL2GkqfcskHWGg3lfWQpJnrmewKc+rNJ/hq9WNaAw4BEyJ5QbNChnqmbw+tJ409zdy1XWmUeXXMrCKJcQQ==} dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.37 - entities: 5.0.0 + '@babel/parser': 7.25.6 + '@vue/shared': 3.5.2 + entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 dev: true - /@vue/compiler-dom@3.4.37: - resolution: {integrity: sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==} + /@vue/compiler-dom@3.5.2: + resolution: {integrity: sha512-QY4DpT8ZIUyu/ZA5gErpSEDocGNEbHmpkZIC/d5jbp/rUF0iOJNigAy3HCCKc0PMMhDlrcysO3ufQ6Ab4MpEcQ==} dependencies: - '@vue/compiler-core': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/compiler-core': 3.5.2 + '@vue/shared': 3.5.2 dev: true - /@vue/compiler-sfc@3.4.37: - resolution: {integrity: sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==} + /@vue/compiler-sfc@3.5.2: + resolution: {integrity: sha512-vErEtybSU290LbMW+ChYllI9tNJEdTW1oU+8cZWINZyjlWeTSa9YqDl4/pZJSnozOI+HmcaC1Vz2eFKmXNSXZA==} dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.37 - '@vue/compiler-dom': 3.4.37 - '@vue/compiler-ssr': 3.4.37 - '@vue/shared': 3.4.37 + '@babel/parser': 7.25.6 + '@vue/compiler-core': 3.5.2 + '@vue/compiler-dom': 3.5.2 + '@vue/compiler-ssr': 3.5.2 + '@vue/shared': 3.5.2 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.41 + postcss: 8.4.45 source-map-js: 1.2.0 dev: true - /@vue/compiler-ssr@3.4.37: - resolution: {integrity: sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==} + /@vue/compiler-ssr@3.5.2: + resolution: {integrity: sha512-vMtA4tQK/AM3UAYJsmouQzQpgG+h9TKiD5BV+Zt+ZyAMdicxzSEEFGWf/CykRnDpqj9fMfIHPhOezJVNxiXe2A==} dependencies: - '@vue/compiler-dom': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/compiler-dom': 3.5.2 + '@vue/shared': 3.5.2 dev: true /@vue/devtools-api@6.6.3: resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} dev: true - /@vue/devtools-api@7.3.8: - resolution: {integrity: sha512-NURFwmxz4WukFU54IHgyGI2KSejdgHG5JC4xTcWmTWEBIc8aelj9fBy4qsboObGHFp3JIdRxxANO9s2wZA/pVQ==} + /@vue/devtools-api@7.4.4: + resolution: {integrity: sha512-Iqqy9yBFWBbPb/jHlJzU/OrU+iHSJ/e9p/v5pZhm/L5pUCX26z32bvvjPa28vMXxRehbAZTgX8zovOeqBTnhdg==} dependencies: - '@vue/devtools-kit': 7.3.8 + '@vue/devtools-kit': 7.4.4 dev: true - /@vue/devtools-kit@7.3.8: - resolution: {integrity: sha512-HYy3MQP1nZ6GbE4vrgJ/UB+MvZnhYmEwCa/UafrEpdpwa+jNCkz1ZdUrC5I7LpkH1ShREEV2/pZlAQdBj+ncLQ==} + /@vue/devtools-kit@7.4.4: + resolution: {integrity: sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==} dependencies: - '@vue/devtools-shared': 7.3.8 + '@vue/devtools-shared': 7.4.4 birpc: 0.2.17 hookable: 5.5.3 mitt: 3.0.1 @@ -6875,8 +9515,8 @@ packages: superjson: 2.2.1 dev: true - /@vue/devtools-shared@7.3.8: - resolution: {integrity: sha512-1NiJbn7Yp47nPDWhFZyEKpB2+5/+7JYv8IQnU0ccMrgslPR2dL7u1DIyI7mLqy4HN1ll36gQy0k8GqBYSFgZJw==} + /@vue/devtools-shared@7.4.4: + resolution: {integrity: sha512-yeJULXFHOKIm8yL2JFO050a9ztTVqOCKTqN9JHFxGTJN0b+gjtfn6zC+FfyHUgjwCwf6E3hfKrlohtthcqoYqw==} dependencies: rfdc: 1.4.1 dev: true @@ -6891,8 +9531,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/compiler-dom': 3.5.2 + '@vue/shared': 3.5.2 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.3.1 @@ -6901,55 +9541,55 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.37: - resolution: {integrity: sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==} + /@vue/reactivity@3.5.2: + resolution: {integrity: sha512-lJwWL5bNht+2vIwU/+lnGdH+FKFxzz6z8WkoIJityPLiasWU+HDUvEsC7gm3JFwbTf7Kk+Nr9kJMaPy0HXwwxQ==} dependencies: - '@vue/shared': 3.4.37 + '@vue/shared': 3.5.2 dev: true - /@vue/runtime-core@3.4.37: - resolution: {integrity: sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==} + /@vue/runtime-core@3.5.2: + resolution: {integrity: sha512-oU+i9sJjGEMfEhlrJ7SZv7CdSIgUNyBHnWHa0SqU2RF48V3/ATajzpWq1/DkiVJ1mtx+cQFAMKs8s/3cB3YlLQ==} dependencies: - '@vue/reactivity': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/reactivity': 3.5.2 + '@vue/shared': 3.5.2 dev: true - /@vue/runtime-dom@3.4.37: - resolution: {integrity: sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==} + /@vue/runtime-dom@3.5.2: + resolution: {integrity: sha512-2qvysn+oR0QnFKaWZxQ90iVpWAK/WPpYmODHCv24IDXjsBrdHbjLBj9s6YBdPaMuQhs0LNsmhsgZYZBkszLg6g==} dependencies: - '@vue/reactivity': 3.4.37 - '@vue/runtime-core': 3.4.37 - '@vue/shared': 3.4.37 + '@vue/reactivity': 3.5.2 + '@vue/runtime-core': 3.5.2 + '@vue/shared': 3.5.2 csstype: 3.1.3 dev: true - /@vue/server-renderer@3.4.37(vue@3.4.37): - resolution: {integrity: sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==} + /@vue/server-renderer@3.5.2(vue@3.5.2): + resolution: {integrity: sha512-3POhYCA8KfbmuDuUiNbMXnpdh9pwE4SvAqo7VvACjklLkf3AaMkY3TvV7APeEa/WQezrnL+E4X2ASpJsKeS4cQ==} peerDependencies: - vue: 3.4.37 + vue: 3.5.2 dependencies: - '@vue/compiler-ssr': 3.4.37 - '@vue/shared': 3.4.37 - vue: 3.4.37(typescript@5.4.5) + '@vue/compiler-ssr': 3.5.2 + '@vue/shared': 3.5.2 + vue: 3.5.2(typescript@5.4.5) dev: true - /@vue/shared@3.4.37: - resolution: {integrity: sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==} + /@vue/shared@3.5.2: + resolution: {integrity: sha512-Ce89WNFBzcDca/AgFTxgX4/K4iAyF7oFIp8Z5aBbFBNbtpwnQr+5pZOoHndxnjE2h+YFcipVMzs9UL11XB6dwA==} dev: true - /@vueuse/core@10.11.1(vue@3.4.37): + /@vueuse/core@10.11.1(vue@3.5.2): resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.4.37) - vue-demi: 0.14.10(vue@3.4.37) + '@vueuse/shared': 10.11.1(vue@3.5.2) + vue-demi: 0.14.10(vue@3.5.2) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.11.1(focus-trap@7.5.4)(vue@3.4.37): + /@vueuse/integrations@10.11.1(focus-trap@7.5.4)(vue@3.5.2): resolution: {integrity: sha512-Y5hCGBguN+vuVYTZmdd/IMXLOdfS60zAmDmFYc4BKBcMUPZH1n4tdyDECCPjXm0bNT3ZRUy1xzTLGaUje8Xyaw==} peerDependencies: async-validator: ^4 @@ -6990,10 +9630,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.11.1(vue@3.4.37) - '@vueuse/shared': 10.11.1(vue@3.4.37) + '@vueuse/core': 10.11.1(vue@3.5.2) + '@vueuse/shared': 10.11.1(vue@3.5.2) focus-trap: 7.5.4 - vue-demi: 0.14.10(vue@3.4.37) + vue-demi: 0.14.10(vue@3.5.2) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7003,16 +9643,16 @@ packages: resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} dev: true - /@vueuse/shared@10.11.1(vue@3.4.37): + /@vueuse/shared@10.11.1(vue@3.5.2): resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} dependencies: - vue-demi: 0.14.10(vue@3.4.37) + vue-demi: 0.14.10(vue@3.5.2) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@wagmi/connectors@5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): + /@wagmi/connectors@5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): resolution: {integrity: sha512-sFoxkxl1ltUkDT5wA2liuQ4LRjfVfkNGMAocGHRyik+8i2Tlr+3SjDAUKjDrcq6sqMQVd40hpcBVbxs2HeRosw==} peerDependencies: '@wagmi/core': 2.13.4 @@ -7023,7 +9663,7 @@ packages: optional: true dependencies: '@coinbase/wallet-sdk': 4.0.4 - '@metamask/sdk': 0.27.0(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1) + '@metamask/sdk': 0.27.0(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1) '@safe-global/safe-apps-provider': 0.18.3(typescript@5.4.5) '@safe-global/safe-apps-sdk': 9.1.0(typescript@5.4.5) '@wagmi/core': 2.13.4(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) @@ -7059,7 +9699,7 @@ packages: - zod dev: false - /@wagmi/connectors@5.1.7(@wagmi/core@2.13.4)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): + /@wagmi/connectors@5.1.7(@wagmi/core@2.13.4)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): resolution: {integrity: sha512-sFoxkxl1ltUkDT5wA2liuQ4LRjfVfkNGMAocGHRyik+8i2Tlr+3SjDAUKjDrcq6sqMQVd40hpcBVbxs2HeRosw==} peerDependencies: '@wagmi/core': 2.13.4 @@ -7070,7 +9710,7 @@ packages: optional: true dependencies: '@coinbase/wallet-sdk': 4.0.4 - '@metamask/sdk': 0.27.0(react-native@0.75.0)(react@18.3.1) + '@metamask/sdk': 0.27.0(react-native@0.75.2)(react@18.3.1) '@safe-global/safe-apps-provider': 0.18.3(typescript@5.4.5) '@safe-global/safe-apps-sdk': 9.1.0(typescript@5.4.5) '@wagmi/core': 2.13.4(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) @@ -7238,8 +9878,9 @@ packages: - utf-8-validate dev: false - /@walletconnect/core@2.14.0: - resolution: {integrity: sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g==} + /@walletconnect/core@2.15.1: + resolution: {integrity: sha512-9MWVt33MFrLiAeK9nqY/B30/y0M4uiq8v9EXenIBQdlgkmXM++RTcOnn7u7EAbthGgzx3WLPRm4ViwIb+rI/Cg==} + engines: {node: '>=18'} dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 @@ -7248,14 +9889,13 @@ packages: '@walletconnect/jsonrpc-ws-connection': 1.0.14 '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 2.1.2 - '@walletconnect/relay-api': 1.0.10 + '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0 - '@walletconnect/utils': 2.14.0 + '@walletconnect/types': 2.15.1 + '@walletconnect/utils': 2.15.1 events: 3.3.0 - isomorphic-unfetch: 3.1.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -7272,14 +9912,13 @@ packages: - '@upstash/redis' - '@vercel/kv' - bufferutil - - encoding - ioredis - uWebSockets.js - utf-8-validate dev: false - /@walletconnect/core@2.15.1: - resolution: {integrity: sha512-9MWVt33MFrLiAeK9nqY/B30/y0M4uiq8v9EXenIBQdlgkmXM++RTcOnn7u7EAbthGgzx3WLPRm4ViwIb+rI/Cg==} + /@walletconnect/core@2.15.3: + resolution: {integrity: sha512-W1syg0sVTlO9C4XSc1aEI6W7FzK0eydXxUBhCRF2IgiZkTlVQArS4bR6ArVDNWWzmXm1fN4Tr040fw11y4zXTw==} engines: {node: '>=18'} dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -7293,8 +9932,8 @@ packages: '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.15.1 - '@walletconnect/utils': 2.15.1 + '@walletconnect/types': 2.15.3 + '@walletconnect/utils': 2.15.3 events: 3.3.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 @@ -7487,7 +10126,7 @@ packages: dependencies: '@walletconnect/safe-json': 1.0.2 idb-keyval: 6.2.1 - unstorage: 1.10.2(idb-keyval@6.2.1) + unstorage: 1.11.1(idb-keyval@6.2.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -7656,17 +10295,17 @@ packages: - utf-8-validate dev: false - /@walletconnect/sign-client@2.14.0: - resolution: {integrity: sha512-UrB3S3eLjPYfBLCN3WJ5u7+WcZ8kFMe/QIDqLf76Jk6TaLwkSUy563LvnSw4KW/kA+/cY1KBSdUDfX1tzYJJXg==} + /@walletconnect/sign-client@2.15.1: + resolution: {integrity: sha512-YnLNEmCHgZ8yBpE3hwZnHD/bVznVMguSAlwLBNOoWUH2f4d9mR8bqa6KeVXqZ3e8mVHcxKTJTjTJ3oQMLyKIjw==} dependencies: - '@walletconnect/core': 2.14.0 + '@walletconnect/core': 2.15.1 '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0 - '@walletconnect/utils': 2.14.0 + '@walletconnect/types': 2.15.1 + '@walletconnect/utils': 2.15.1 events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -7682,23 +10321,22 @@ packages: - '@upstash/redis' - '@vercel/kv' - bufferutil - - encoding - ioredis - uWebSockets.js - utf-8-validate dev: false - /@walletconnect/sign-client@2.15.1: - resolution: {integrity: sha512-YnLNEmCHgZ8yBpE3hwZnHD/bVznVMguSAlwLBNOoWUH2f4d9mR8bqa6KeVXqZ3e8mVHcxKTJTjTJ3oQMLyKIjw==} + /@walletconnect/sign-client@2.15.3: + resolution: {integrity: sha512-JVArnlCMW1OC9LuzW31HdneioUIqQ7nSTPiXyvSe7QhuQOo+ltNRdunk/A3TD795Y9nALCHPm9z6EexFHHmIpA==} dependencies: - '@walletconnect/core': 2.15.1 + '@walletconnect/core': 2.15.3 '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.15.1 - '@walletconnect/utils': 2.15.1 + '@walletconnect/types': 2.15.3 + '@walletconnect/utils': 2.15.3 events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -7808,8 +10446,8 @@ packages: - uWebSockets.js dev: false - /@walletconnect/types@2.14.0: - resolution: {integrity: sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g==} + /@walletconnect/types@2.15.1: + resolution: {integrity: sha512-4WkMsHD8ioZI5GmxNT0qMlz6msI7ZajBcTyDxfRncaNZVau0C+Btw1U4jWO+gxwJVDJY+Ue/cb1QKJ5BanZsyw==} dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 @@ -7834,8 +10472,8 @@ packages: - uWebSockets.js dev: false - /@walletconnect/types@2.15.1: - resolution: {integrity: sha512-4WkMsHD8ioZI5GmxNT0qMlz6msI7ZajBcTyDxfRncaNZVau0C+Btw1U4jWO+gxwJVDJY+Ue/cb1QKJ5BanZsyw==} + /@walletconnect/types@2.15.3: + resolution: {integrity: sha512-z3NJ14f3WVWsyQTSQYaPuSvBfGGiKEKEaldeCZecsOVtMCtjfTrDzj8HDbz6+werogS7joFDPyB/1UdcCDmqjw==} dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 @@ -8058,18 +10696,18 @@ packages: - uWebSockets.js dev: false - /@walletconnect/utils@2.14.0: - resolution: {integrity: sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ==} + /@walletconnect/utils@2.15.1: + resolution: {integrity: sha512-i5AR8XpZdcX8ghaCjYV13Er/KAGe56c1mLaG9c2cv9kmnZMZijeMdInjX/flnSM1RFDUiZXvKPMUNwlCL4NsWw==} dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 '@stablelib/random': 1.0.2 '@stablelib/sha256': 1.0.1 '@stablelib/x25519': 1.0.3 - '@walletconnect/relay-api': 1.0.10 + '@walletconnect/relay-api': 1.0.11 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0 + '@walletconnect/types': 2.15.1 '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -8092,8 +10730,8 @@ packages: - uWebSockets.js dev: false - /@walletconnect/utils@2.15.1: - resolution: {integrity: sha512-i5AR8XpZdcX8ghaCjYV13Er/KAGe56c1mLaG9c2cv9kmnZMZijeMdInjX/flnSM1RFDUiZXvKPMUNwlCL4NsWw==} + /@walletconnect/utils@2.15.3: + resolution: {integrity: sha512-MNNdAnaF8XdvJQmUzLDbs+mX+PSL1kWeMY5bpLPF9PJZqtElB5ZtDfZNi4MBqG7vUhuM6eRAHwCe1vdiY+ZdRQ==} dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -8101,12 +10739,14 @@ packages: '@stablelib/sha256': 1.0.1 '@stablelib/x25519': 1.0.3 '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.15.1 + '@walletconnect/types': 2.15.3 '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 + elliptic: 6.5.7 query-string: 7.1.3 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -8372,7 +11012,7 @@ packages: vue: optional: true dependencies: - '@wagmi/connectors': 5.1.7(@wagmi/core@2.13.4)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) + '@wagmi/connectors': 5.1.7(@wagmi/core@2.13.4)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) '@wagmi/core': 2.13.4(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) '@walletconnect/ethereum-provider': 2.13.0(react@18.3.1) '@web3modal/polyfills': 5.0.0 @@ -8516,6 +11156,10 @@ packages: '@xtuc/long': 4.2.2 dev: true + /@xobotyi/scrollbar-width@1.9.5: + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + dev: true + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -8580,6 +11224,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + dev: true + /agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} @@ -8729,8 +11377,7 @@ packages: resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} dependencies: - tslib: 2.6.3 - dev: false + tslib: 2.7.0 /array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} @@ -8787,7 +11434,7 @@ packages: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} dependencies: - tslib: 2.6.3 + tslib: 2.7.0 dev: false /astral-regex@1.0.0: @@ -8802,7 +11449,7 @@ packages: /async-mutex@0.2.6: resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} dependencies: - tslib: 2.6.3 + tslib: 2.7.0 dev: false /async@2.6.4: @@ -8826,10 +11473,10 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001657 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.1 + picocolors: 1.1.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: true @@ -8853,7 +11500,7 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) semver: 6.3.1 @@ -8868,7 +11515,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color dev: false @@ -9006,8 +11653,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.7 + caniuse-lite: 1.0.30001657 + electron-to-chromium: 1.5.15 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -9071,7 +11718,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 /bundle-require@4.2.1(esbuild@0.19.12): resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} @@ -9097,7 +11744,6 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 - dev: false /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} @@ -9170,8 +11816,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: true - /caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + /caniuse-lite@1.0.30001657: + resolution: {integrity: sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==} /chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} @@ -9272,6 +11918,10 @@ packages: consola: 3.2.3 dev: false + /classnames@2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + dev: true + /cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -9307,7 +11957,6 @@ packages: /client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false /clipboardy@4.0.0: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} @@ -9359,10 +12008,14 @@ packages: engines: {node: '>=6'} dev: false + /clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + engines: {node: '>=6'} + dev: true + /clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - dev: false /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -9381,6 +12034,21 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: true + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: true + /colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: false @@ -9500,10 +12168,9 @@ packages: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: toggle-selection: 1.0.6 - dev: false - /core-js-compat@3.38.0: - resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} + /core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} dependencies: browserslist: 4.23.3 dev: false @@ -9593,6 +12260,12 @@ packages: engines: {node: '>=4'} dev: true + /css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + dependencies: + hyphenate-style-name: 1.1.0 + dev: true + /css-to-react-native@3.2.0: resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} dependencies: @@ -9601,6 +12274,14 @@ packages: postcss-value-parser: 4.2.0 dev: true + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -9690,14 +12371,14 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 dev: false /dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - /dayjs@1.11.12: - resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + /dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} dev: false /de-indent@1.0.2: @@ -9859,7 +12540,6 @@ packages: /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - dev: false /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -9907,8 +12587,8 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /eciesjs@0.3.19: - resolution: {integrity: sha512-b+PkRDZ3ym7HEcnbxc22CMVCpgsnr8+gGgST3U5PtgeX1luvINgfXW7efOyUtmn/jFtA/lg5ywBi/Uazf4oeaA==} + /eciesjs@0.3.20: + resolution: {integrity: sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==} dependencies: '@types/secp256k1': 4.0.6 futoin-hkdf: 1.5.3 @@ -9919,8 +12599,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.5.7: - resolution: {integrity: sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==} + /electron-to-chromium@1.5.15: + resolution: {integrity: sha512-Z4rIDoImwEJW+YYKnPul4DzqsWVqYetYVN3XqDmRpgV0mjz0hYTaeeh+8/9CL1bk3AHYmF4freW/NTiVoXA2gA==} /elliptic@6.5.7: resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} @@ -9934,8 +12614,8 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: false - /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + /emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} dev: true /emoji-regex@7.0.3: @@ -10008,11 +12688,6 @@ packages: engines: {node: '>=0.12'} dev: true - /entities@5.0.0: - resolution: {integrity: sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==} - engines: {node: '>=0.12'} - dev: true - /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -10038,7 +12713,6 @@ packages: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 - dev: false /errorhandler@1.5.1: resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} @@ -10315,40 +12989,40 @@ packages: '@esbuild/win32-ia32': 0.22.0 '@esbuild/win32-x64': 0.22.0 - /esbuild@0.23.0: - resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} + /esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.23.0 - '@esbuild/android-arm': 0.23.0 - '@esbuild/android-arm64': 0.23.0 - '@esbuild/android-x64': 0.23.0 - '@esbuild/darwin-arm64': 0.23.0 - '@esbuild/darwin-x64': 0.23.0 - '@esbuild/freebsd-arm64': 0.23.0 - '@esbuild/freebsd-x64': 0.23.0 - '@esbuild/linux-arm': 0.23.0 - '@esbuild/linux-arm64': 0.23.0 - '@esbuild/linux-ia32': 0.23.0 - '@esbuild/linux-loong64': 0.23.0 - '@esbuild/linux-mips64el': 0.23.0 - '@esbuild/linux-ppc64': 0.23.0 - '@esbuild/linux-riscv64': 0.23.0 - '@esbuild/linux-s390x': 0.23.0 - '@esbuild/linux-x64': 0.23.0 - '@esbuild/netbsd-x64': 0.23.0 - '@esbuild/openbsd-arm64': 0.23.0 - '@esbuild/openbsd-x64': 0.23.0 - '@esbuild/sunos-x64': 0.23.0 - '@esbuild/win32-arm64': 0.23.0 - '@esbuild/win32-ia32': 0.23.0 - '@esbuild/win32-x64': 0.23.0 - dev: true - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} /escape-html@1.0.3: @@ -10473,7 +13147,22 @@ packages: '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - dev: false + + /ethers@6.13.2: + resolution: {integrity: sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==} + engines: {node: '>=14.0.0'} + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@types/node': 18.15.13 + aes-js: 4.0.0-beta.5 + tslib: 2.4.0 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true /event-emitter@0.3.5: resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} @@ -10581,7 +13270,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -10596,17 +13285,25 @@ packages: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} dev: false + /fast-shallow-equal@1.0.0: + resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + dev: true + /fast-stable-stringify@1.0.0: resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} dev: false - /fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + /fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} hasBin: true dependencies: strnum: 1.0.5 dev: false + /fastest-stable-stringify@2.0.2: + resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + dev: true + /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: @@ -10681,7 +13378,7 @@ packages: /find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: - micromatch: 4.0.7 + micromatch: 4.0.8 pkg-dir: 4.2.0 dev: true @@ -10693,8 +13390,8 @@ packages: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} dev: false - /flow-parser@0.243.0: - resolution: {integrity: sha512-HCDBfH+kZcY5etWYeAqatjW78gkIryzb9XixRsA8lGI1uyYc7aCpElkkO4H+KIpoyQMiY0VAZPI4cyac3wQe8w==} + /flow-parser@0.245.2: + resolution: {integrity: sha512-FU4yuqC1j2IeWWicpzG0YJrXHJgKjK/AU8QKK/7MvQaNhcoGisDoE7FJLGCtbvnifzsgDWdm9/jtTF7Mp+PJXQ==} engines: {node: '>=0.4.0'} dev: false @@ -10728,13 +13425,31 @@ packages: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /framer-motion@11.0.5(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Lb0EYbQcSK/pgyQUJm+KzsQrKrJRX9sFRyzl9hSr9gFG4Mk8yP7BjhuxvRXzblOM/+JxycrJdCDVmOQBsjpYlw==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.7.0 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 dev: true /fresh@0.5.2: @@ -10761,7 +13476,6 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: false /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -10802,7 +13516,7 @@ packages: lodash.camelcase: 4.3.0 portfinder: 1.0.32 toml: 3.0.0 - uglify-js: 3.19.2 + uglify-js: 3.19.3 yup: 1.4.0 transitivePeerDependencies: - encoding @@ -10830,6 +13544,14 @@ packages: engines: {node: '>=8'} dev: false + /geist@1.2.2(next@14.1.0): + resolution: {integrity: sha512-uRDrxhvdnPwWJmh+K5+/5LXSKwvJzaYCl9tDXgiBi4hj7hB4K7+n/WLcvJMFs5btvyn0r9OSwCd1s6CmqAsxEw==} + peerDependencies: + next: '>=13.2.0 <15' + dependencies: + next: 14.1.0(react-dom@18.3.1)(react@18.3.1) + dev: true + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -10860,7 +13582,6 @@ packages: /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} - dev: false /get-port-please@3.1.2: resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} @@ -10883,8 +13604,8 @@ packages: get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.6: - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + /get-tsconfig@4.8.0: + resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -10927,7 +13648,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: false /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -10989,7 +13709,7 @@ packages: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: graphql: 16.9.0 - tslib: 2.6.3 + tslib: 2.7.0 /graphql@16.9.0: resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} @@ -11022,7 +13742,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.2 + uglify-js: 3.19.3 /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} @@ -11082,8 +13802,8 @@ packages: resolution: {integrity: sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==} dev: false - /hermes-estree@0.23.0: - resolution: {integrity: sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==} + /hermes-estree@0.23.1: + resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} dev: false /hermes-parser@0.22.0: @@ -11092,10 +13812,10 @@ packages: hermes-estree: 0.22.0 dev: false - /hermes-parser@0.23.0: - resolution: {integrity: sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==} + /hermes-parser@0.23.1: + resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} dependencies: - hermes-estree: 0.23.0 + hermes-estree: 0.23.1 dev: false /hey-listen@1.0.8: @@ -11189,16 +13909,20 @@ packages: hasBin: true dev: true + /hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + dev: true + /i18next-browser-languagedetector@7.1.0: resolution: {integrity: sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 dev: false /i18next@23.11.5: resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 dev: false /iconv-lite@0.4.24: @@ -11276,11 +14000,15 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: false /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: false + + /inline-style-prefixer@7.0.1: + resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} + dependencies: + css-in-js-utils: 3.1.0 + dev: true /internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} @@ -11291,11 +14019,19 @@ packages: side-channel: 1.0.6 dev: true + /intl-messageformat@10.5.14: + resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==} + dependencies: + '@formatjs/ecma402-abstract': 2.0.0 + '@formatjs/fast-memoize': 2.2.0 + '@formatjs/icu-messageformat-parser': 2.7.8 + tslib: 2.7.0 + dev: true + /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 - dev: false /iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -11320,6 +14056,10 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: true + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -11344,8 +14084,8 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + /is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 @@ -11644,8 +14384,8 @@ packages: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jayson@4.1.1: - resolution: {integrity: sha512-5ZWm4Q/0DHPyeMfAsrwViwUS2DMVsQgWh8bEEIVTkfb3DzHZ2L3G5WUnF+AKmGjjM9r1uAv73SaqC1/U4RL45w==} + /jayson@4.1.2: + resolution: {integrity: sha512-5nzMWDHy6f+koZOuYsArh2AXs73NfWYVlFyJJuCedr93GpY+Ku8qq10ropSXVfHK+H0T6paA88ww+/dV+1fBNA==} engines: {node: '>=8'} hasBin: true dependencies: @@ -11692,7 +14432,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -11772,6 +14512,10 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} + /js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -11801,27 +14545,27 @@ packages: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} dev: false - /jscodeshift@0.14.0(@babel/preset-env@7.25.3): + /jscodeshift@0.14.0(@babel/preset-env@7.25.4): resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.6 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/register': 7.24.6(@babel/core@7.25.2) babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) chalk: 4.1.2 - flow-parser: 0.243.0 + flow-parser: 0.245.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 neo-async: 2.6.2 node-dir: 0.1.17 recast: 0.21.5 @@ -11926,13 +14670,17 @@ packages: engines: {'0': node >= 0.2.0} dev: false + /just-unique@4.2.0: + resolution: {integrity: sha512-cxQGGUiit6CGUpuuiezY8N4m1wgF4o7127rXEXDFcxeDUFfdV7gSkwA26Fe2wWBiNQq2SZOgN4gSmMxB/StA8Q==} + dev: true + /keccak@3.0.4: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} engines: {node: '>=10.0.0'} requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 readable-stream: 3.6.2 dev: false @@ -12145,6 +14893,10 @@ packages: /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + /lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: true + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: false @@ -12156,6 +14908,18 @@ packages: /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true @@ -12195,7 +14959,7 @@ packages: hasBin: true dependencies: ansi-fragments: 0.2.1 - dayjs: 1.11.12 + dayjs: 1.11.13 yargs: 15.4.1 dev: false @@ -12248,11 +15012,11 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true - /magicast@0.3.4: - resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} + /magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 source-map-js: 1.2.0 dev: true @@ -12327,6 +15091,10 @@ packages: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} dev: false + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: true @@ -12376,64 +15144,63 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /metro-babel-transformer@0.80.10: - resolution: {integrity: sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==} + /metro-babel-transformer@0.80.11: + resolution: {integrity: sha512-ViWx0rdAIyfX73HiEC1TXW0hs42fKPuPm4VxmbazM8XBIjykGnkk5i2OVm3+uA1YnAC242AzbX6uy7uJh9Pv3w==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 flow-enums-runtime: 0.0.6 - hermes-parser: 0.23.0 + hermes-parser: 0.23.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color dev: false - /metro-cache-key@0.80.10: - resolution: {integrity: sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==} + /metro-cache-key@0.80.11: + resolution: {integrity: sha512-axhhFOUWOvsgEHRAPSWC2gjoDZ8fiTY0ZfPzFHffXWR25arFrcg2Pdr9ONn/dWeg9gw6rCJZLfq0mEQIDU5zQA==} engines: {node: '>=18'} dependencies: flow-enums-runtime: 0.0.6 dev: false - /metro-cache@0.80.10: - resolution: {integrity: sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==} + /metro-cache@0.80.11: + resolution: {integrity: sha512-Zd5M7W8r1mEGYxiK/+sI5VUn3BhugxQ1fVG6kAak1g8WKbGzM81JUbRvj/yHp3IZfvl2nEjIoxOKg3zJaNtZHg==} engines: {node: '>=18'} dependencies: exponential-backoff: 3.1.1 flow-enums-runtime: 0.0.6 - metro-core: 0.80.10 + metro-core: 0.80.11 dev: false - /metro-config@0.80.10: - resolution: {integrity: sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==} + /metro-config@0.80.11: + resolution: {integrity: sha512-NnWKDK3ZWyFnxCluTE3L+nbp30CQBjp6QEPmTCx1cFHPLoWqTX6BqHZ82e+xK95VuGjwKhWk4NihuV3WtcADtw==} engines: {node: '>=18'} dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 flow-enums-runtime: 0.0.6 jest-validate: 29.7.0 - metro: 0.80.10 - metro-cache: 0.80.10 - metro-core: 0.80.10 - metro-runtime: 0.80.10 + metro: 0.80.11 + metro-cache: 0.80.11 + metro-core: 0.80.11 + metro-runtime: 0.80.11 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate dev: false - /metro-core@0.80.10: - resolution: {integrity: sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==} + /metro-core@0.80.11: + resolution: {integrity: sha512-N3I1jDAlACLzcwiZ7npPbV1ZSKdtcPDvivUaI10oCa13TJ2BeIXKlKetkB9qHjY7oyFquDRKt/P6wLlO6aliDw==} engines: {node: '>=18'} dependencies: flow-enums-runtime: 0.0.6 lodash.throttle: 4.1.1 - metro-resolver: 0.80.10 + metro-resolver: 0.80.11 dev: false - /metro-file-map@0.80.10: - resolution: {integrity: sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==} + /metro-file-map@0.80.11: + resolution: {integrity: sha512-uHpAKGUWcq6F4hmapZzFFvwAVu0zF8mzgycXPwgyjgM0dmKAT3py7JTBFR/d7jrv4g3n52pvC0Ks6YiIHpFR1A==} engines: {node: '>=18'} dependencies: anymatch: 3.1.3 @@ -12443,7 +15210,7 @@ packages: graceful-fs: 4.2.11 invariant: 2.2.4 jest-worker: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 node-abort-controller: 3.1.1 nullthrows: 1.1.1 walker: 1.0.8 @@ -12453,54 +15220,54 @@ packages: - supports-color dev: false - /metro-minify-terser@0.80.10: - resolution: {integrity: sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==} + /metro-minify-terser@0.80.11: + resolution: {integrity: sha512-eBLEv394IVYghCtjSEqvRqCBwpJRc4yAMGO035PdF/tO3n0eWHWlNGj896k26KayiZLa8440/iOBorg5/RcFxg==} engines: {node: '>=18'} dependencies: flow-enums-runtime: 0.0.6 terser: 5.31.0 dev: false - /metro-resolver@0.80.10: - resolution: {integrity: sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==} + /metro-resolver@0.80.11: + resolution: {integrity: sha512-g1ntyySE22OCyy7ycdmiexcdfOS/yUrevUFg2+GCGpPWnDC4Lj71/AeKbkPVYjFEHQJhd/EALGo3EzxMhUpR5A==} engines: {node: '>=18'} dependencies: flow-enums-runtime: 0.0.6 dev: false - /metro-runtime@0.80.10: - resolution: {integrity: sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==} + /metro-runtime@0.80.11: + resolution: {integrity: sha512-EI7idlPKPZntUnht2ipFhIVR4+PyjRxCXi4xcDyJfrGhOJH/EfXjb5jp3sYN/np6m9HOtCniBOmL1twlDtmeaA==} engines: {node: '>=18'} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 flow-enums-runtime: 0.0.6 dev: false - /metro-source-map@0.80.10: - resolution: {integrity: sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==} + /metro-source-map@0.80.11: + resolution: {integrity: sha512-s/lxGxUBVYhufYmJBLpxk1m6m73KbcXBS30T1TGPKJWhrO/hu6T0i9fqS6r/z4LdhB/TGQkHoB1VWiQ/J445iQ==} engines: {node: '>=18'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-symbolicate: 0.80.10 + metro-symbolicate: 0.80.11 nullthrows: 1.1.1 - ob1: 0.80.10 + ob1: 0.80.11 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color dev: false - /metro-symbolicate@0.80.10: - resolution: {integrity: sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==} + /metro-symbolicate@0.80.11: + resolution: {integrity: sha512-xYQYC5dZd9qtK6gxwsnzgw3Byv9juQnJPcnt+fFcNfQBPxiZNuDa8tLq240btVGG3giQfmkNTWe1lHKsFddDBQ==} engines: {node: '>=18'} hasBin: true dependencies: flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-source-map: 0.80.10 + metro-source-map: 0.80.11 nullthrows: 1.1.1 source-map: 0.5.7 through2: 2.0.5 @@ -12509,56 +15276,55 @@ packages: - supports-color dev: false - /metro-transform-plugins@0.80.10: - resolution: {integrity: sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==} + /metro-transform-plugins@0.80.11: + resolution: {integrity: sha512-UFs1M8OAE6EVeja4qGo7zjmaXietO8DdcoSma4Oz9oCwXom2hVwCFCuR5QboWMOrHodLOSDNFCt5z4qK8A+FZQ==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color dev: false - /metro-transform-worker@0.80.10: - resolution: {integrity: sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==} + /metro-transform-worker@0.80.11: + resolution: {integrity: sha512-HQHp/Ri0GAf3MELlI3u3QJvlk0YpeDofUmvNpas+xIGEE2mOiR6sbTQYs09IncSlCfM6jtu02HMMHjBq4vxiRA==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 flow-enums-runtime: 0.0.6 - metro: 0.80.10 - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-minify-terser: 0.80.10 - metro-source-map: 0.80.10 - metro-transform-plugins: 0.80.10 + metro: 0.80.11 + metro-babel-transformer: 0.80.11 + metro-cache: 0.80.11 + metro-cache-key: 0.80.11 + metro-minify-terser: 0.80.11 + metro-source-map: 0.80.11 + metro-transform-plugins: 0.80.11 nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate dev: false - /metro@0.80.10: - resolution: {integrity: sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==} + /metro@0.80.11: + resolution: {integrity: sha512-LQxygnIEB628EFcqCwQCkMAIQ5zf0aUnCuFzxwv9rNEwaQG6xdxoSHT8xpV625sWpOqNvrOiC0rYeQuo3aOUhQ==} engines: {node: '>=18'} hasBin: true dependencies: '@babel/code-frame': 7.24.7 '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -12568,26 +15334,25 @@ packages: error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 - hermes-parser: 0.23.0 + hermes-parser: 0.23.1 image-size: 1.1.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-config: 0.80.10 - metro-core: 0.80.10 - metro-file-map: 0.80.10 - metro-resolver: 0.80.10 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 - metro-symbolicate: 0.80.10 - metro-transform-plugins: 0.80.10 - metro-transform-worker: 0.80.10 + metro-babel-transformer: 0.80.11 + metro-cache: 0.80.11 + metro-cache-key: 0.80.11 + metro-config: 0.80.11 + metro-core: 0.80.11 + metro-file-map: 0.80.11 + metro-resolver: 0.80.11 + metro-runtime: 0.80.11 + metro-source-map: 0.80.11 + metro-symbolicate: 0.80.11 + metro-transform-plugins: 0.80.11 + metro-transform-worker: 0.80.11 mime-types: 2.1.35 - node-fetch: 2.7.0 nullthrows: 1.1.1 serialize-error: 2.1.0 source-map: 0.5.7 @@ -12597,7 +15362,6 @@ packages: yargs: 17.7.2 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate dev: false @@ -12614,8 +15378,8 @@ packages: picomatch: 2.3.1 dev: true - /micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.3 @@ -12759,10 +15523,15 @@ packages: dependencies: acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.1.3 + pkg-types: 1.2.0 ufo: 1.5.4 dev: false + /modern-normalize@2.0.0: + resolution: {integrity: sha512-CxBoEVKh5U4DH3XuNbc5ONLF6dQBc8dSc7pdZ1957FGbIO5JBqGqqchhET9dTexri8/pk9xBL6+5ceOtCIp1QA==} + engines: {node: '>=6'} + dev: true + /motion@10.16.2: resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} dependencies: @@ -12805,6 +15574,24 @@ packages: thenify-all: 1.6.0 dev: true + /nano-css@5.6.2(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + css-tree: 1.1.3 + csstype: 3.1.3 + fastest-stable-stringify: 2.0.2 + inline-style-prefixer: 7.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.2 + dev: true + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -12822,6 +15609,45 @@ packages: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: false + /next@14.1.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.1.0 + '@swc/helpers': 0.5.2 + busboy: 1.6.0 + caniuse-lite: 1.0.30001657 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 14.1.0 + '@next/swc-darwin-x64': 14.1.0 + '@next/swc-linux-arm64-gnu': 14.1.0 + '@next/swc-linux-arm64-musl': 14.1.0 + '@next/swc-linux-x64-gnu': 14.1.0 + '@next/swc-linux-x64-musl': 14.1.0 + '@next/swc-win32-arm64-msvc': 14.1.0 + '@next/swc-win32-ia32-msvc': 14.1.0 + '@next/swc-win32-x64-msvc': 14.1.0 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: true + /next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} engines: {node: '>=18.17.0'} @@ -12843,7 +15669,7 @@ packages: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001657 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -12912,8 +15738,8 @@ packages: engines: {node: '>= 6.13.0'} dev: false - /node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true /node-int64@0.4.0: @@ -12983,8 +15809,8 @@ packages: resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} dev: true - /ob1@0.80.10: - resolution: {integrity: sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==} + /ob1@0.80.11: + resolution: {integrity: sha512-1FqQEnd4n3UJ441/eHSKCgiMGf1RbrR/aXN0ybJ27zhbq+cc4mpE4WHLuzgNEnXu/9wf43lnAUL0WN7vcVD8Yg==} engines: {node: '>=18'} dependencies: flow-enums-runtime: 0.0.6 @@ -13001,7 +15827,6 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true /object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} @@ -13067,7 +15892,6 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: false /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} @@ -13237,7 +16061,6 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: false /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} @@ -13274,8 +16097,8 @@ packages: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} dev: true - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -13329,7 +16152,7 @@ packages: process-warning: 1.0.0 quick-format-unescaped: 4.0.4 real-require: 0.1.0 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 sonic-boom: 2.8.0 thread-stream: 0.15.2 dev: false @@ -13352,8 +16175,8 @@ packages: find-up: 4.1.0 dev: true - /pkg-types@1.1.3: - resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + /pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} dependencies: confbox: 0.1.7 mlly: 1.7.1 @@ -13425,7 +16248,7 @@ packages: dependencies: lilconfig: 3.1.2 postcss: 8.4.38 - yaml: 2.5.0 + yaml: 2.5.1 dev: true /postcss-load-config@4.0.2(ts-node@10.9.2): @@ -13442,7 +16265,7 @@ packages: dependencies: lilconfig: 3.1.2 ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) - yaml: 2.5.0 + yaml: 2.5.1 dev: true /postcss-nested@6.2.0(postcss@8.4.38): @@ -13455,6 +16278,14 @@ packages: postcss-selector-parser: 6.1.2 dev: true + /postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + /postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -13472,25 +16303,24 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.0 source-map-js: 1.2.0 - dev: false /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.0 source-map-js: 1.2.0 dev: true - /postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + /postcss@8.4.45: + resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.0 source-map-js: 1.2.0 dev: true @@ -13558,6 +16388,13 @@ packages: sisteransi: 1.0.5 dev: false + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + /property-expr@2.0.6: resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} @@ -13675,6 +16512,10 @@ packages: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} dev: false + /ramda@0.29.1: + resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} + dev: true + /ramda@0.30.1: resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} @@ -13689,6 +16530,53 @@ packages: engines: {node: '>= 0.6'} dev: false + /react-aria@3.32.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-7KCJg4K5vlRqiXdGjgCT05Du8RhGBYC+2ok4GOh/Znmg8aMwOk7t0YwxaT5i1z30+fmDcJS/pk/ipUPUg28CXg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/string': 3.2.3 + '@react-aria/breadcrumbs': 3.5.16(react@18.3.1) + '@react-aria/button': 3.9.8(react@18.3.1) + '@react-aria/calendar': 3.5.11(react-dom@18.3.1)(react@18.3.1) + '@react-aria/checkbox': 3.14.6(react@18.3.1) + '@react-aria/combobox': 3.10.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/datepicker': 3.11.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/dialog': 3.5.17(react-dom@18.3.1)(react@18.3.1) + '@react-aria/dnd': 3.7.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/focus': 3.18.2(react@18.3.1) + '@react-aria/gridlist': 3.9.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/i18n': 3.12.2(react@18.3.1) + '@react-aria/interactions': 3.22.2(react@18.3.1) + '@react-aria/label': 3.7.11(react@18.3.1) + '@react-aria/link': 3.7.4(react@18.3.1) + '@react-aria/listbox': 3.13.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/menu': 3.15.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/meter': 3.4.16(react@18.3.1) + '@react-aria/numberfield': 3.11.6(react-dom@18.3.1)(react@18.3.1) + '@react-aria/overlays': 3.23.2(react-dom@18.3.1)(react@18.3.1) + '@react-aria/progress': 3.4.16(react@18.3.1) + '@react-aria/radio': 3.10.7(react@18.3.1) + '@react-aria/searchfield': 3.7.8(react@18.3.1) + '@react-aria/select': 3.14.9(react-dom@18.3.1)(react@18.3.1) + '@react-aria/selection': 3.19.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/separator': 3.4.2(react@18.3.1) + '@react-aria/slider': 3.7.11(react@18.3.1) + '@react-aria/ssr': 3.9.5(react@18.3.1) + '@react-aria/switch': 3.6.7(react@18.3.1) + '@react-aria/table': 3.15.3(react-dom@18.3.1)(react@18.3.1) + '@react-aria/tabs': 3.9.5(react-dom@18.3.1)(react@18.3.1) + '@react-aria/tag': 3.4.5(react-dom@18.3.1)(react@18.3.1) + '@react-aria/textfield': 3.14.8(react@18.3.1) + '@react-aria/tooltip': 3.7.7(react@18.3.1) + '@react-aria/utils': 3.25.2(react@18.3.1) + '@react-aria/visually-hidden': 3.8.15(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + /react-devtools-core@5.3.1: resolution: {integrity: sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==} dependencies: @@ -13708,6 +16596,9 @@ packages: react: 18.3.1 scheduler: 0.23.2 + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false @@ -13716,7 +16607,7 @@ packages: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: false - /react-native-webview@11.26.1(react-native@0.75.0)(react@18.3.1): + /react-native-webview@11.26.1(react-native@0.75.2)(react@18.3.1): resolution: {integrity: sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==} peerDependencies: react: '*' @@ -13725,11 +16616,11 @@ packages: escape-string-regexp: 2.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5) dev: false - /react-native@0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5): - resolution: {integrity: sha512-vNNekY0g02uZn1mB6wWXyKhoHvIh9IXqd0Zconh2OImr8zIMVSgTLjilzg8HcfLCwHukTew8R6vvyDUX8NwjvA==} + /react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5): + resolution: {integrity: sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -13743,13 +16634,13 @@ packages: '@react-native-community/cli': 14.0.0(typescript@5.4.5) '@react-native-community/cli-platform-android': 14.0.0 '@react-native-community/cli-platform-ios': 14.0.0 - '@react-native/assets-registry': 0.75.0 - '@react-native/codegen': 0.75.0(@babel/preset-env@7.25.3) - '@react-native/community-cli-plugin': 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3) - '@react-native/gradle-plugin': 0.75.0 - '@react-native/js-polyfills': 0.75.0 - '@react-native/normalize-colors': 0.75.0 - '@react-native/virtualized-lists': 0.75.0(@types/react@18.3.1)(react-native@0.75.0)(react@18.3.1) + '@react-native/assets-registry': 0.75.2 + '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4) + '@react-native/community-cli-plugin': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4) + '@react-native/gradle-plugin': 0.75.2 + '@react-native/js-polyfills': 0.75.2 + '@react-native/normalize-colors': 0.75.2 + '@react-native/virtualized-lists': 0.75.2(@types/react@18.3.1)(react-native@0.75.2)(react@18.3.1) '@types/react': 18.3.1 abort-controller: 3.0.0 anser: 1.4.10 @@ -13763,8 +16654,8 @@ packages: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 + metro-runtime: 0.80.11 + metro-source-map: 0.80.11 mkdirp: 0.5.6 nullthrows: 1.1.1 pretty-format: 26.6.2 @@ -13789,8 +16680,8 @@ packages: - utf-8-validate dev: false - /react-native@0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3)(react@18.3.1)(typescript@5.4.5): - resolution: {integrity: sha512-vNNekY0g02uZn1mB6wWXyKhoHvIh9IXqd0Zconh2OImr8zIMVSgTLjilzg8HcfLCwHukTew8R6vvyDUX8NwjvA==} + /react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1)(typescript@5.4.5): + resolution: {integrity: sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -13804,13 +16695,13 @@ packages: '@react-native-community/cli': 14.0.0(typescript@5.4.5) '@react-native-community/cli-platform-android': 14.0.0 '@react-native-community/cli-platform-ios': 14.0.0 - '@react-native/assets-registry': 0.75.0 - '@react-native/codegen': 0.75.0(@babel/preset-env@7.25.3) - '@react-native/community-cli-plugin': 0.75.0(@babel/core@7.25.2)(@babel/preset-env@7.25.3) - '@react-native/gradle-plugin': 0.75.0 - '@react-native/js-polyfills': 0.75.0 - '@react-native/normalize-colors': 0.75.0 - '@react-native/virtualized-lists': 0.75.0(react-native@0.75.0)(react@18.3.1) + '@react-native/assets-registry': 0.75.2 + '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4) + '@react-native/community-cli-plugin': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4) + '@react-native/gradle-plugin': 0.75.2 + '@react-native/js-polyfills': 0.75.2 + '@react-native/normalize-colors': 0.75.2 + '@react-native/virtualized-lists': 0.75.2(react-native@0.75.2)(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -13823,8 +16714,8 @@ packages: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 + metro-runtime: 0.80.11 + metro-source-map: 0.80.11 mkdirp: 0.5.6 nullthrows: 1.1.1 pretty-format: 26.6.2 @@ -13853,7 +16744,23 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - /react-remove-scroll-bar@2.3.6(@types/react@18.3.1)(react@18.3.1): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.54)(react@18.3.1): + resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.54 + react: 18.3.1 + react-style-singleton: 2.2.1(@types/react@18.2.54)(react@18.3.1) + tslib: 2.7.0 + dev: true + + /react-remove-scroll-bar@2.3.6(@types/react@18.2.54)(react@18.3.1): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} peerDependencies: @@ -13863,13 +16770,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@types/react': 18.2.54 react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.3.1) - tslib: 2.6.3 - dev: false + react-style-singleton: 2.2.1(@types/react@18.2.54)(react@18.3.1) + tslib: 2.7.0 - /react-remove-scroll@2.5.7(@types/react@18.3.1)(react@18.3.1): + /react-remove-scroll@2.5.7(@types/react@18.2.54)(react@18.3.1): resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} engines: {node: '>=10'} peerDependencies: @@ -13879,16 +16785,46 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@types/react': 18.2.54 react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.1)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.3.1) - tslib: 2.6.3 - use-callback-ref: 1.3.2(@types/react@18.3.1)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.1)(react@18.3.1) - dev: false + react-remove-scroll-bar: 2.3.6(@types/react@18.2.54)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.2.54)(react@18.3.1) + tslib: 2.7.0 + use-callback-ref: 1.3.2(@types/react@18.2.54)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.2.54)(react@18.3.1) + + /react-stately@3.29.1(react@18.3.1): + resolution: {integrity: sha512-hc4ZHy/ahvMwr6z7XMjYJ7EgzNVrXhzM4l2Qj17rdRhERo7/ovWmQencf9pF7K8kD5TraEHxPHLrYzGN4fxfUQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/calendar': 3.5.4(react@18.3.1) + '@react-stately/checkbox': 3.6.8(react@18.3.1) + '@react-stately/collections': 3.10.9(react@18.3.1) + '@react-stately/combobox': 3.9.2(react@18.3.1) + '@react-stately/data': 3.11.6(react@18.3.1) + '@react-stately/datepicker': 3.10.2(react@18.3.1) + '@react-stately/dnd': 3.4.2(react@18.3.1) + '@react-stately/form': 3.0.5(react@18.3.1) + '@react-stately/list': 3.10.8(react@18.3.1) + '@react-stately/menu': 3.8.2(react@18.3.1) + '@react-stately/numberfield': 3.9.6(react@18.3.1) + '@react-stately/overlays': 3.6.10(react@18.3.1) + '@react-stately/radio': 3.10.7(react@18.3.1) + '@react-stately/searchfield': 3.5.6(react@18.3.1) + '@react-stately/select': 3.6.7(react@18.3.1) + '@react-stately/selection': 3.16.2(react@18.3.1) + '@react-stately/slider': 3.5.7(react@18.3.1) + '@react-stately/table': 3.12.2(react@18.3.1) + '@react-stately/tabs': 3.6.9(react@18.3.1) + '@react-stately/toggle': 3.7.7(react@18.3.1) + '@react-stately/tooltip': 3.4.12(react@18.3.1) + '@react-stately/tree': 3.8.4(react@18.3.1) + '@react-types/shared': 3.24.1(react@18.3.1) + react: 18.3.1 + dev: true - /react-style-singleton@2.2.1(@types/react@18.3.1)(react@18.3.1): + /react-style-singleton@2.2.1(@types/react@18.2.54)(react@18.3.1): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -13898,12 +16834,45 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@types/react': 18.2.54 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 - tslib: 2.6.3 - dev: false + tslib: 2.7.0 + + /react-universal-interface@0.6.2(react@18.3.1)(tslib@2.7.0): + resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} + peerDependencies: + react: '*' + tslib: '*' + dependencies: + react: 18.3.1 + tslib: 2.7.0 + dev: true + + /react-use@17.5.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@types/js-cookie': 2.2.7 + '@xobotyi/scrollbar-width': 1.9.5 + copy-to-clipboard: 3.3.3 + fast-deep-equal: 3.1.3 + fast-shallow-equal: 1.0.0 + js-cookie: 2.2.1 + nano-css: 5.6.2(react-dom@18.3.1)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.7.0) + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + set-harmonic-interval: 1.0.1 + throttle-debounce: 3.0.1 + ts-easing: 0.2.0 + tslib: 2.7.0 + dev: true /react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} @@ -13989,7 +16958,7 @@ packages: ast-types: 0.15.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /redent@3.0.0: @@ -14021,7 +16990,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 dev: false /regexp.prototype.flags@1.5.2: @@ -14074,6 +17043,10 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: true + /resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -14096,7 +17069,7 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 dev: true @@ -14104,7 +17077,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -14146,7 +17119,6 @@ packages: hasBin: true dependencies: glob: 7.2.3 - dev: false /rimraf@5.0.10: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} @@ -14170,29 +17142,29 @@ packages: yargs: 17.7.2 dev: false - /rollup@4.20.0: - resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} + /rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.20.0 - '@rollup/rollup-android-arm64': 4.20.0 - '@rollup/rollup-darwin-arm64': 4.20.0 - '@rollup/rollup-darwin-x64': 4.20.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 - '@rollup/rollup-linux-arm-musleabihf': 4.20.0 - '@rollup/rollup-linux-arm64-gnu': 4.20.0 - '@rollup/rollup-linux-arm64-musl': 4.20.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 - '@rollup/rollup-linux-riscv64-gnu': 4.20.0 - '@rollup/rollup-linux-s390x-gnu': 4.20.0 - '@rollup/rollup-linux-x64-gnu': 4.20.0 - '@rollup/rollup-linux-x64-musl': 4.20.0 - '@rollup/rollup-win32-arm64-msvc': 4.20.0 - '@rollup/rollup-win32-ia32-msvc': 4.20.0 - '@rollup/rollup-win32-x64-msvc': 4.20.0 + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 fsevents: 2.3.3 dev: true @@ -14211,7 +17183,7 @@ packages: /rpc-websockets@9.0.2: resolution: {integrity: sha512-YzggvfItxMY3Lwuax5rC18inhbjJv9Py7JXRHxTIi94JOLrqBsSsUUc5bbl5W6c11tXhdfpDPK0KzBhoGe8jjw==} dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@types/uuid': 8.3.4 '@types/ws': 8.5.12 buffer: 6.0.3 @@ -14227,6 +17199,12 @@ packages: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true + /rtl-css-js@1.16.1: + resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} + dependencies: + '@babel/runtime': 7.25.6 + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -14258,8 +17236,8 @@ packages: is-regex: 1.1.4 dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + /safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} dev: false @@ -14294,8 +17272,13 @@ packages: ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /search-insights@2.16.3: - resolution: {integrity: sha512-hSHy/s4Zk2xibhj9XTCACB+1PqS+CaJxepGNBhKc/OsHRpqvHAUAm5+uZ6kJJbGXn0pb3XqekHjg6JAqPExzqg==} + /screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + dev: true + + /search-insights@2.17.1: + resolution: {integrity: sha512-HHFjYH/0AqXacETlIbe9EYc3UNlQYGNNTY0fZ/sWl6SweX+GDxq9NB5+RVoPLgEFuOtCz7M9dhYxqDnhbbF0eQ==} dev: true /secp256k1@5.0.0: @@ -14305,7 +17288,7 @@ packages: dependencies: elliptic: 6.5.7 node-addon-api: 5.1.0 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 dev: false /selfsigned@2.4.1: @@ -14405,6 +17388,11 @@ packages: has-property-descriptors: 1.0.2 dev: true + /set-harmonic-interval@1.0.1: + resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} + engines: {node: '>=6.9'} + dev: true + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false @@ -14462,10 +17450,11 @@ packages: vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - /shiki@1.13.0: - resolution: {integrity: sha512-e0dWfnONbEv6xl7FJy3XIhsVHQ/65XHDZl92+6H9+4xWjfdo7pmkqG7Kg47KWtDiEtzM5Z+oEfb4vtRvoZ/X9w==} + /shiki@1.16.2: + resolution: {integrity: sha512-gSym0hZf5a1U0iDPsdoOAZbvoi+e0c6c3NKAi03FoSLTm7oG20tum29+gk0wzzivOasn3loxfGUPT+jZXIUbWg==} dependencies: - '@shikijs/core': 1.13.0 + '@shikijs/core': 1.16.2 + '@shikijs/vscode-textmate': 9.2.0 '@types/hast': 3.0.4 dev: true @@ -14490,6 +17479,12 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: true + /simple-update-notifier@2.0.0: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} @@ -14583,6 +17578,11 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 + /source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + dev: true + /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -14614,7 +17614,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 dev: true /spdx-exceptions@2.5.0: @@ -14625,11 +17625,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 dev: true - /spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + /spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} dev: true /speakingurl@14.0.1: @@ -14650,6 +17650,12 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + /stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + dependencies: + stackframe: 1.3.4 + dev: true + /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -14663,7 +17669,21 @@ packages: /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - dev: false + + /stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + dev: true + + /stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + dev: true /stacktrace-parser@0.1.10: resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} @@ -14698,7 +17718,6 @@ packages: /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - dev: false /strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} @@ -14739,7 +17758,7 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} dependencies: - emoji-regex: 10.3.0 + emoji-regex: 10.4.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 dev: true @@ -14837,8 +17856,8 @@ packages: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: false - /styled-components@6.1.12(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-n/O4PzRPhbYI0k1vKKayfti3C/IGcPf+DqcrOB7O/ab9x4u/zjqraneT5N45+sIe87cxrCApXM8Bna7NYxwoTA==} + /styled-components@6.1.13(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==} engines: {node: '>= 16'} peerDependencies: react: '>= 16.8.0' @@ -14873,7 +17892,6 @@ packages: '@babel/core': 7.25.2 client-only: 0.0.1 react: 18.3.1 - dev: false /stylis@4.3.2: resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} @@ -14948,6 +17966,44 @@ packages: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: true + /tailwind-merge@1.14.0: + resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} + dev: true + + /tailwind-variants@0.1.20(tailwindcss@3.4.4): + resolution: {integrity: sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwindcss: '*' + dependencies: + tailwind-merge: 1.14.0 + tailwindcss: 3.4.4 + dev: true + + /tailwindcss-animate@1.0.7(tailwindcss@3.4.4): + resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + tailwindcss: 3.4.4 + dev: true + + /tailwindcss-radix@3.0.3: + resolution: {integrity: sha512-uueKWJIY98tU4Fip2FTL2eXBqX428e5HBwbu+8rqqJ9H3NuhkcAGS66wNHZjeix56f6nNBhkhMLpQeIrmVxH/w==} + dev: true + + /tailwindcss-themer@4.0.0(tailwindcss@3.4.4): + resolution: {integrity: sha512-kngKDW+z36JtjvaNziX0aesO95r8f5+3FFdANVFDt1uzNHZsL6XLla1YDK6EBAYFqPichoPDbO4lrrTyB+UAbA==} + peerDependencies: + tailwindcss: ^3.1.0 + dependencies: + color: 4.2.3 + just-unique: 4.2.0 + lodash.merge: 4.6.2 + lodash.mergewith: 4.6.2 + tailwindcss: 3.4.4 + dev: true + /tailwindcss@3.4.3: resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} engines: {node: '>=14.0.0'} @@ -14963,10 +18019,41 @@ packages: is-glob: 4.0.3 jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.7 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.2.0(postcss@8.4.38) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + dev: true + + /tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.0 postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) @@ -14996,7 +18083,7 @@ packages: engines: {node: '>=8'} dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.19.12)(webpack@5.93.0): + /terser-webpack-plugin@5.3.10(esbuild@0.19.12)(webpack@5.94.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -15018,7 +18105,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.0 - webpack: 5.93.0(esbuild@0.19.12) + webpack: 5.94.0(esbuild@0.19.12) dev: true /terser@5.31.0: @@ -15067,6 +18154,11 @@ packages: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} dev: false + /throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: true + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: @@ -15093,8 +18185,8 @@ packages: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} dev: true - /tinypool@1.0.0: - resolution: {integrity: sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==} + /tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} dev: true @@ -15131,7 +18223,6 @@ packages: /toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - dev: false /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} @@ -15185,11 +18276,15 @@ packages: engines: {node: '>=8'} dev: true + /ts-easing@0.2.0: + resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} + dev: true + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-loader@9.5.1(typescript@5.4.5)(webpack@5.93.0): + /ts-loader@9.5.1(typescript@5.4.5)(webpack@5.94.0): resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -15198,11 +18293,11 @@ packages: dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 - micromatch: 4.0.7 + micromatch: 4.0.8 semver: 7.6.3 source-map: 0.7.4 typescript: 5.4.5 - webpack: 5.93.0(esbuild@0.19.12) + webpack: 5.94.0(esbuild@0.19.12) dev: true /ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): @@ -15236,8 +18331,8 @@ packages: yn: 3.1.1 dev: true - /tsconfck@3.1.1(typescript@5.4.5): - resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} + /tsconfck@3.1.3(typescript@5.4.5): + resolution: {integrity: sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -15253,14 +18348,18 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false + /tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: true + /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - /tsup@7.3.0(typescript@5.2.2): + /tsup@7.3.0(postcss@8.4.38)(typescript@5.4.5): resolution: {integrity: sha512-Ja1eaSRrE+QarmATlNO5fse2aOACYMBX+IZRKy1T+gpyH+jXgRrl5l4nHIQJQ1DoDgEjHDTw8cpE085UdBZuWQ==} engines: {node: '>=18'} deprecated: Breaking node 16 @@ -15285,19 +18384,20 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(ts-node@10.9.2) + postcss: 8.4.38 + postcss-load-config: 4.0.2(postcss@8.4.38) resolve-from: 5.0.0 - rollup: 4.20.0 + rollup: 4.21.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.2.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsup@7.3.0(typescript@5.4.5): + /tsup@7.3.0(typescript@5.2.2): resolution: {integrity: sha512-Ja1eaSRrE+QarmATlNO5fse2aOACYMBX+IZRKy1T+gpyH+jXgRrl5l4nHIQJQ1DoDgEjHDTw8cpE085UdBZuWQ==} engines: {node: '>=18'} deprecated: Breaking node 16 @@ -15324,11 +18424,11 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.20.0 + rollup: 4.21.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.4.5 + typescript: 5.2.2 transitivePeerDependencies: - supports-color - ts-node @@ -15363,7 +18463,7 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.20.0 + rollup: 4.21.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -15402,7 +18502,7 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.20.0 + rollup: 4.21.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -15412,13 +18512,13 @@ packages: - ts-node dev: true - /tsx@4.17.0: - resolution: {integrity: sha512-eN4mnDA5UMKDt4YZixo9tBioibaMBpoxBkD+rIPAjVmYERSG0/dWEY1CEFuV89CgASlKL499q8AhmkMnnjtOJg==} + /tsx@4.19.0: + resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - esbuild: 0.23.0 - get-tsconfig: 4.7.6 + esbuild: 0.23.1 + get-tsconfig: 4.8.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -15429,7 +18529,7 @@ packages: hasBin: true dependencies: esbuild: 0.20.2 - get-tsconfig: 4.7.6 + get-tsconfig: 4.8.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -15652,8 +18752,8 @@ packages: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: false - /uglify-js@3.19.2: - resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} + /uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true @@ -15750,22 +18850,22 @@ packages: engines: {node: '>= 0.8'} dev: false - /unstorage@1.10.2(idb-keyval@6.2.1): - resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} + /unstorage@1.11.1(idb-keyval@6.2.1): + resolution: {integrity: sha512-3NVszU4MGlO21WWnkSq0xnPVMHnMyB5DdJQyGRAg/DUZVeQjWRinLOia89iw5KGpllRtoA5+N+xnq75MAsPAOA==} peerDependencies: - '@azure/app-configuration': ^1.5.0 + '@azure/app-configuration': ^1.6.0 '@azure/cosmos': ^4.0.0 '@azure/data-tables': ^13.2.2 - '@azure/identity': ^4.0.1 + '@azure/identity': ^4.2.0 '@azure/keyvault-secrets': ^4.8.0 - '@azure/storage-blob': ^12.17.0 - '@capacitor/preferences': ^5.0.7 + '@azure/storage-blob': ^12.18.0 + '@capacitor/preferences': ^6.0.0 '@netlify/blobs': ^6.5.0 || ^7.0.0 - '@planetscale/database': ^1.16.0 - '@upstash/redis': ^1.28.4 + '@planetscale/database': ^1.18.0 + '@upstash/redis': ^1.31.3 '@vercel/kv': ^1.0.1 idb-keyval: ^6.2.1 - ioredis: ^5.3.2 + ioredis: ^5.4.1 peerDependenciesMeta: '@azure/app-configuration': optional: true @@ -15825,8 +18925,8 @@ packages: browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.3 - escalade: 3.1.2 - picocolors: 1.0.1 + escalade: 3.2.0 + picocolors: 1.1.0 /uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} @@ -15845,7 +18945,7 @@ packages: requires-port: 1.0.0 dev: true - /use-callback-ref@1.3.2(@types/react@18.3.1)(react@18.3.1): + /use-callback-ref@1.3.2(@types/react@18.2.54)(react@18.3.1): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: @@ -15855,12 +18955,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@types/react': 18.2.54 react: 18.3.1 - tslib: 2.6.3 - dev: false + tslib: 2.7.0 - /use-sidecar@1.1.2(@types/react@18.3.1)(react@18.3.1): + /use-sidecar@1.1.2(@types/react@18.2.54)(react@18.3.1): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -15870,11 +18969,10 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.1 + '@types/react': 18.2.54 detect-node-es: 1.1.0 react: 18.3.1 - tslib: 2.6.3 - dev: false + tslib: 2.7.0 /use-sync-external-store@1.2.0(react@18.3.1): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} @@ -15888,7 +18986,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.2 /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -16060,7 +19158,7 @@ packages: dependencies: debug: 4.3.6(supports-color@5.5.0) globrex: 0.1.2 - tsconfck: 3.1.1(typescript@5.4.5) + tsconfck: 3.1.3(typescript@5.4.5) vite: 5.2.11(@types/node@20.12.11) transitivePeerDependencies: - supports-color @@ -16098,7 +19196,7 @@ packages: '@types/node': 20.12.11 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.20.0 + rollup: 4.21.2 optionalDependencies: fsevents: 2.3.3 dev: true @@ -16133,14 +19231,14 @@ packages: dependencies: esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.20.0 + rollup: 4.21.2 terser: 5.31.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vite@5.4.0: - resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==} + /vite@5.4.3: + resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -16171,13 +19269,13 @@ packages: optional: true dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.20.0 + postcss: 8.4.45 + rollup: 4.21.2 optionalDependencies: fsevents: 2.3.3 dev: true - /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.2)(vue@3.4.37): + /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.3.2)(vue@3.5.2): resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: @@ -16190,11 +19288,11 @@ packages: flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.2 - vitepress: 1.3.2(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3)(typescript@5.4.5) - vue: 3.4.37(typescript@5.4.5) + vitepress: 1.3.2(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1)(typescript@5.4.5) + vue: 3.5.2(typescript@5.4.5) dev: true - /vitepress@1.3.2(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3)(typescript@5.4.5): + /vitepress@1.3.2(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1)(typescript@5.4.5): resolution: {integrity: sha512-6gvecsCuR6b1Cid4w19KQiQ02qkpgzFRqiG0v1ZBekGkrZCzsxdDD5y4WH82HRXAOhU4iZIpzA1CsWqs719rqA==} hasBin: true peerDependencies: @@ -16207,21 +19305,21 @@ packages: optional: true dependencies: '@docsearch/css': 3.6.1 - '@docsearch/js': 3.6.1(@algolia/client-search@5.0.0)(react@18.3.1)(search-insights@2.16.3) - '@shikijs/core': 1.13.0 - '@shikijs/transformers': 1.13.0 + '@docsearch/js': 3.6.1(@algolia/client-search@5.2.5)(react@18.3.1)(search-insights@2.17.1) + '@shikijs/core': 1.16.2 + '@shikijs/transformers': 1.16.2 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.2(vite@5.4.0)(vue@3.4.37) - '@vue/devtools-api': 7.3.8 - '@vue/shared': 3.4.37 - '@vueuse/core': 10.11.1(vue@3.4.37) - '@vueuse/integrations': 10.11.1(focus-trap@7.5.4)(vue@3.4.37) + '@vitejs/plugin-vue': 5.1.3(vite@5.4.3)(vue@3.5.2) + '@vue/devtools-api': 7.4.4 + '@vue/shared': 3.5.2 + '@vueuse/core': 10.11.1(vue@3.5.2) + '@vueuse/integrations': 10.11.1(focus-trap@7.5.4)(vue@3.5.2) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 - shiki: 1.13.0 - vite: 5.4.0 - vue: 3.4.37(typescript@5.4.5) + shiki: 1.16.2 + vite: 5.4.3 + vue: 3.5.2(typescript@5.4.5) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -16292,7 +19390,7 @@ packages: pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinypool: 1.0.0 + tinypool: 1.0.1 tinyrainbow: 1.2.0 vite: 5.2.11(@types/node@20.12.11) vite-node: 2.0.2(@types/node@20.12.11) @@ -16347,7 +19445,7 @@ packages: pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinypool: 1.0.0 + tinypool: 1.0.1 tinyrainbow: 1.2.0 vite: 5.2.11(@types/node@20.12.11) vite-node: 2.0.2(@types/node@20.12.11) @@ -16401,7 +19499,7 @@ packages: pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinypool: 1.0.0 + tinypool: 1.0.1 tinyrainbow: 1.2.0 vite: 5.2.11(terser@5.31.0) vite-node: 2.0.2(terser@5.31.0) @@ -16426,7 +19524,7 @@ packages: /vscode-textmate@8.0.0: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - /vue-demi@0.14.10(vue@3.4.37): + /vue-demi@0.14.10(vue@3.5.2): resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} engines: {node: '>=12'} hasBin: true @@ -16438,7 +19536,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.37(typescript@5.4.5) + vue: 3.5.2(typescript@5.4.5) dev: true /vue-template-compiler@2.7.16: @@ -16460,19 +19558,19 @@ packages: typescript: 5.4.5 dev: true - /vue@3.4.37(typescript@5.4.5): - resolution: {integrity: sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==} + /vue@3.5.2(typescript@5.4.5): + resolution: {integrity: sha512-w1YB4lAwC9ByH6AnFY0JvZF+y70Usul9jDfKIKtM5xA97q/JPS5R7mqq0fhA6D2PQxYPZdgb5jzFKLyOga5pnw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.37 - '@vue/compiler-sfc': 3.4.37 - '@vue/runtime-dom': 3.4.37 - '@vue/server-renderer': 3.4.37(vue@3.4.37) - '@vue/shared': 3.4.37 + '@vue/compiler-dom': 3.5.2 + '@vue/compiler-sfc': 3.5.2 + '@vue/runtime-dom': 3.5.2 + '@vue/server-renderer': 3.5.2(vue@3.5.2) + '@vue/shared': 3.5.2 typescript: 5.4.5 dev: true @@ -16483,7 +19581,7 @@ packages: xml-name-validator: 5.0.0 dev: true - /wagmi@2.12.7(@tanstack/react-query@5.35.1)(@types/react@18.3.1)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): + /wagmi@2.12.7(@tanstack/react-query@5.35.1)(@types/react@18.3.1)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1): resolution: {integrity: sha512-E7f+2fd+rZPJ3ggBZmVj064gYuCi/Z32x9WMfSDvj5jmGHDkAmTfSi9isKkjJrTf0I+sNxd3PCWku7pndFYsIw==} peerDependencies: '@tanstack/react-query': '>=5.0.0' @@ -16495,7 +19593,7 @@ packages: optional: true dependencies: '@tanstack/react-query': 5.35.1(react@18.3.1) - '@wagmi/connectors': 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.0)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) + '@wagmi/connectors': 5.1.7(@types/react@18.3.1)(@wagmi/core@2.13.4)(react-dom@18.3.1)(react-native@0.75.2)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) '@wagmi/core': 2.13.4(@types/react@18.3.1)(react@18.3.1)(typescript@5.4.5)(viem@2.20.1) react: 18.3.1 typescript: 5.4.5 @@ -16556,7 +19654,7 @@ packages: /webauthn-p256@0.0.5: resolution: {integrity: sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==} dependencies: - '@noble/curves': 1.5.0 + '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 /webextension-polyfill@0.10.0: @@ -16580,8 +19678,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.93.0(esbuild@0.19.12): - resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} + /webpack@5.94.0(esbuild@0.19.12): + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -16590,7 +19688,6 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 @@ -16611,7 +19708,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.19.12)(webpack@5.93.0) + terser-webpack-plugin: 5.3.10(esbuild@0.19.12)(webpack@5.94.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -16759,7 +19856,6 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: false /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} @@ -16865,8 +19961,8 @@ packages: engines: {node: '>= 14'} dev: true - /yaml@2.5.0: - resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + /yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} hasBin: true @@ -16924,7 +20020,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -16982,3 +20078,54 @@ packages: react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) dev: false + + file:../fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1)(tailwindcss@3.4.4): + resolution: {integrity: sha512-zyGo1drYRrA3b52KZ/ynfZzqI+2WhzKySyQV20IARJsJzJJ1cfdcISizTQV2xxxcVhglyiO5xMT3ulM1oH6SRA==, tarball: file:../fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz} + id: file:../fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz + name: '@fuels/ui' + version: 0.0.1 + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + tailwindcss: 3.4.4 + dependencies: + '@fuel-ts/address': 0.76.0 + '@fuel-ts/math': 0.76.0 + '@fuels/assets': 0.20.0 + '@radix-ui/colors': 3.0.0 + '@radix-ui/react-accordion': 1.1.2(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-aspect-ratio': 1.1.0(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.54)(react@18.3.1) + '@radix-ui/react-toast': 1.2.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/themes': 3.1.1(@types/react@18.2.54)(react-dom@18.3.1)(react@18.3.1) + '@react-aria/focus': 3.16.2(react@18.3.1) + '@tabler/icons-react': 2.47.0(react@18.3.1) + '@tailwindcss/typography': 0.5.10(tailwindcss@3.4.4) + clsx: 2.1.0 + csstype: 3.1.3 + framer-motion: 11.0.5(react-dom@18.3.1)(react@18.3.1) + geist: 1.2.2(next@14.1.0) + modern-normalize: 2.0.0 + next: 14.1.0(react-dom@18.3.1)(react@18.3.1) + react: 18.3.1 + react-aria: 3.32.1(react-dom@18.3.1)(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + react-stately: 3.29.1(react@18.3.1) + react-use: 17.5.0(react-dom@18.3.1)(react@18.3.1) + tailwind-variants: 0.1.20(tailwindcss@3.4.4) + tailwindcss: 3.4.4 + tailwindcss-animate: 1.0.7(tailwindcss@3.4.4) + tailwindcss-radix: 3.0.3 + tailwindcss-themer: 4.0.0(tailwindcss@3.4.4) + transitivePeerDependencies: + - '@babel/core' + - '@opentelemetry/api' + - '@types/react' + - '@types/react-dom' + - babel-plugin-macros + - bufferutil + - sass + - utf-8-validate + dev: true From 79c9b97913796306d615148a6f7e8897a6daa6ca Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 07:03:03 -0300 Subject: [PATCH 04/31] chore: dark mode support --- packages/react/src/providers/FuelUIProvider.tsx | 7 ++++++- .../react/src/ui/WebWallet/components/Balance/index.tsx | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/react/src/providers/FuelUIProvider.tsx b/packages/react/src/providers/FuelUIProvider.tsx index 1b5314d8..689b6ae6 100644 --- a/packages/react/src/providers/FuelUIProvider.tsx +++ b/packages/react/src/providers/FuelUIProvider.tsx @@ -112,6 +112,11 @@ export function FuelUIProvider({ return isLoadingConnectors || hasLoadedConnectors; }, [connectors, isLoadingConnectors, fuelConfig]); + const dsTheme: ThemeProps = { + hasBackground: false, + appearance: theme === 'dark' ? 'dark' : 'light', + }; + return ( - {children} + {children} ); } diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index 42e7fba6..c77b14db 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -1,4 +1,4 @@ -import { Card, Heading, LoadingBox, Text, VStack } from '@fuels/ui'; +import { Card, Text, VStack } from '@fuels/ui'; export interface IBalanceProps { value: string | null; @@ -10,7 +10,7 @@ export const Balance = ({ value }: IBalanceProps) => { Total Balance - {value} ETH + {value} ETH ); From 5c7a4e7b299b19e67461b86da861cf5753b1b5c5 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 07:13:29 -0300 Subject: [PATCH 05/31] chore: prevent auto focus --- packages/react/src/ui/WebWallet/index.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index 76cf6475..b8b45c20 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -74,6 +74,11 @@ export const WebWallet = () => { const isLoading = !isFetchedAccount || !isFetchedWallet || balance === ''; + // Fixes an issue where the Tooltip would be the focused element + const preventAutoFocus = (e: Event) => { + e.preventDefault(); + }; + return ( @@ -84,7 +89,11 @@ export const WebWallet = () => { isConnected={isConnected} /> - + From 5ffc446dc985b987c41438de7b729a74dc1d1591 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 07:22:19 -0300 Subject: [PATCH 06/31] chore: webwallet as a opt-in feat --- examples/react-app/src/main.tsx | 1 + packages/react/src/providers/FuelProvider.tsx | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/react-app/src/main.tsx b/examples/react-app/src/main.tsx index 3f6aaf9c..572ad291 100644 --- a/examples/react-app/src/main.tsx +++ b/examples/react-app/src/main.tsx @@ -64,6 +64,7 @@ ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( ethWagmiConfig: wagmiConfig, }), }} + showWebWallet > diff --git a/packages/react/src/providers/FuelProvider.tsx b/packages/react/src/providers/FuelProvider.tsx index a25d5df8..1220931a 100644 --- a/packages/react/src/providers/FuelProvider.tsx +++ b/packages/react/src/providers/FuelProvider.tsx @@ -11,6 +11,7 @@ export { useConnectUI } from './FuelUIProvider'; type FuelProviderProps = { ui?: boolean; + showWebWallet?: boolean; fuelConfig?: FuelConfig; } & FuelUIProviderProps; @@ -19,13 +20,14 @@ export function FuelProvider({ children, fuelConfig, ui = true, + showWebWallet = false, }: FuelProviderProps) { if (ui) { return ( - + {showWebWallet && } {children} From ae0a86ffd54762d613676492843b5114acaf98c4 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 14:15:26 -0300 Subject: [PATCH 07/31] chore: make the webwallet look like fuels wallet --- .../ui/WebWallet/components/Assets/index.tsx | 88 +++++++++--------- .../ui/WebWallet/components/Assets/styles.tsx | 26 ------ .../components/AvatarGenerated/index.tsx | 9 ++ .../ui/WebWallet/components/Balance/index.tsx | 16 ++-- .../WebWallet/hooks/useGenerateBackground.ts | 41 +++++++++ packages/react/src/ui/WebWallet/index.tsx | 92 +++++++++++++++---- packages/react/src/ui/WebWallet/types.ts | 8 +- 7 files changed, 181 insertions(+), 99 deletions(-) delete mode 100644 packages/react/src/ui/WebWallet/components/Assets/styles.tsx create mode 100644 packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx create mode 100644 packages/react/src/ui/WebWallet/hooks/useGenerateBackground.ts diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx index d91f561f..9df6efc5 100644 --- a/packages/react/src/ui/WebWallet/components/Assets/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -1,54 +1,58 @@ -import { Heading, Table, Text, Tooltip, VStack } from '@fuels/ui'; -import type { CoinQuantity } from 'fuels'; +import { + Card, + EntityItem, + EntityItemInfo, + EntityItemSlot, + HStack, + Icon, + Table, + Text, + Tooltip, + VStack, +} from '@fuels/ui'; +import { IconCoins } from '@tabler/icons-react'; +import { useGenerateBackground } from '../../hooks/useGenerateBackground'; +import type { IAssetsBalance } from '../../types'; +import { AvatarGenerated } from '../AvatarGenerated'; import { StyledColumnHeaderCell, StyledText } from './styles'; export interface IAssetsProps { - assets: CoinQuantity[]; + assets: IAssetsBalance[]; } export const Assets = ({ assets }: IAssetsProps) => { return ( - - Assets - - - - - - - Token - - - - - Price - - - - + + + + Assets + + + {assets.map((asset) => { + const tokenOrId = asset.symbol === 'UNK' ? asset.id : asset.symbol; + return ( + + + + + + + + - - {assets.map((asset) => { - return ( - - - - - {asset.assetId} - - - - - - {asset.amount.format()} - - - - ); - })} - -
+ + {asset.amount.format()} + + + + ); + })}
); }; diff --git a/packages/react/src/ui/WebWallet/components/Assets/styles.tsx b/packages/react/src/ui/WebWallet/components/Assets/styles.tsx deleted file mode 100644 index 0ffcb42b..00000000 --- a/packages/react/src/ui/WebWallet/components/Assets/styles.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Table, type TableColumnHeaderCell, Text } from '@fuels/ui'; -import styled from 'styled-components'; - -export interface StyledColumnHeaderCellProps { - topLeft?: boolean; - topRight?: boolean; -} -export const StyledColumnHeaderCell = styled< - typeof TableColumnHeaderCell, - StyledColumnHeaderCellProps ->(Table.ColumnHeaderCell)` - background-color: var(--gray-3); - border-radius: ${(props) => { - const t = props.topLeft ? 0.75 : 0; - const r = props.topRight ? 0.75 : 0; - return `${t}rem ${r}rem 0 0`; - }}; -`; - -export const StyledText = styled(Text)` - display: block; - overflow-x: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 120px; -`; diff --git a/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx b/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx new file mode 100644 index 00000000..69a22b76 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx @@ -0,0 +1,9 @@ +import { Avatar } from '@fuels/ui'; +import styled from 'styled-components'; + +export interface IAvatarProps { + background: string; +} +export const AvatarGenerated = styled(Avatar)` + background: ${(props) => props.background}; +`; diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index c77b14db..4a83e02c 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -1,17 +1,15 @@ -import { Card, Text, VStack } from '@fuels/ui'; +import { Text, VStack } from '@fuels/ui'; export interface IBalanceProps { value: string | null; } export const Balance = ({ value }: IBalanceProps) => { return ( - - - - Total Balance - - {value} ETH - - + + + Balance + + {value} ETH + ); }; diff --git a/packages/react/src/ui/WebWallet/hooks/useGenerateBackground.ts b/packages/react/src/ui/WebWallet/hooks/useGenerateBackground.ts new file mode 100644 index 00000000..5aa0cf1a --- /dev/null +++ b/packages/react/src/ui/WebWallet/hooks/useGenerateBackground.ts @@ -0,0 +1,41 @@ +function getFixedGradientDirection(hash: string) { + const sum = hash + .slice(4, 7) + .split('') + .reduce((acc, char) => { + return acc + char.charCodeAt(0); + }, 0); + + return `${sum}deg`; +} + +function hashToGradient(hash: string): string { + let fixedHex = ''; + const length = hash?.length || 0; + if (length === 0) { + return '$cardBg'; + } + + for (let i = 0; i < length; i++) { + const char = hash.charAt(i); + if (/\d/.test(char)) { + fixedHex += char; + } + } + + if (fixedHex.length < 12) { + const diff = 12 - fixedHex.length; + for (let i = 0; i < diff; i++) { + fixedHex += '0'; + } + } + + const color1 = fixedHex.slice(0, 6); + const color2 = fixedHex.slice(6, 12); + const direction = getFixedGradientDirection(hash); + return `linear-gradient(${direction}, #${color1}, #${color2})`; +} + +export function useGenerateBackground(hash: string) { + return hashToGradient(hash); +} diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index b8b45c20..c7545be1 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -2,17 +2,19 @@ import { Button, EntityItem, EntityItemInfo, + EntityItemSlot, HStack, - Heading, + Inset, Popover, Separator, VStack, shortAddress, } from '@fuels/ui'; -import { type BN, type CoinQuantity, bn } from 'fuels'; +import { type Asset, type BN, type CoinQuantity, bn } from 'fuels'; import { useEffect, useState } from 'react'; import { useAccount, + useAssets, useDisconnect, useIsConnected, useWallet, @@ -21,21 +23,29 @@ import { Anchor, Assets, Balance } from './components'; import { Overlay } from './styles'; import '@fuels/ui/styles.css'; import { IconHistory, IconLogout } from '@tabler/icons-react'; +import { AvatarGenerated } from './components/AvatarGenerated'; +import { useGenerateBackground } from './hooks/useGenerateBackground'; +import type { IAssetsBalance } from './types'; export const WebWallet = () => { const [address, setAddress] = useState(''); const [balance, setBalance] = useState(''); - const [assetsBalances, setAssetsBalances] = useState([]); + const [assetsBalances, setAssetsBalances] = useState([]); - const { account, isFetched: isFetchedAccount } = useAccount(); const { isConnected } = useIsConnected(); const { disconnect } = useDisconnect(); + const { account, isFetched: isFetchedAccount } = useAccount(); + const { assets, isFetched: isFetchedAssets } = useAssets(); const { wallet, isFetched: isFetchedWallet } = useWallet(); const disconnectWallet = () => { disconnect(); }; + const getAssetId = (asset: Asset) => { + return asset.networks?.find((n) => n.type === 'fuel')?.assetId; + }; + useEffect(() => { if (!isConnected) { setAddress(''); @@ -45,34 +55,57 @@ export const WebWallet = () => { }, [isConnected]); useEffect(() => { - if (isFetchedWallet && wallet) { + if ( + isFetchedWallet && + wallet && + isFetchedAssets && + assetsBalances.length === 0 + ) { wallet .getBalances() .then(({ balances }) => { - setAssetsBalances(balances); + const enrichedAssets = balances.map((balance) => { + const asset = assets.find( + (asset) => getAssetId(asset) === balance.assetId, + ); + return { + name: asset?.name ?? 'Unknown', + symbol: asset?.symbol ?? 'UNK', + icon: asset?.icon ?? '', + amount: balance.amount ?? bn(0), + id: balance.assetId, + } as IAssetsBalance; + }); + setAssetsBalances(enrichedAssets); }) .catch(console.error); } - }, [wallet, isFetchedWallet]); + }, [ + wallet, + isFetchedWallet, + isFetchedAssets, + assets, + getAssetId, + assetsBalances, + ]); useEffect(() => { - if (assetsBalances.length > 0) { - const balance = assetsBalances - .reduce((acc: BN, { amount }) => { - return acc.add(amount ?? bn(0)); - }, bn(0)) - .format(); + if (assetsBalances.length > 0 && balance === '') { + const balance = + assetsBalances.find((ab) => ab.symbol === 'ETH')?.amount.format() ?? + bn(0).format(); setBalance(balance); } - }, [assetsBalances]); + }, [assetsBalances, balance]); useEffect(() => { - if (isFetchedAccount && account) { + if (isFetchedAccount && account && address === '') { setAddress(account); } - }, [account, isFetchedAccount]); + }, [account, isFetchedAccount, address]); - const isLoading = !isFetchedAccount || !isFetchedWallet || balance === ''; + const isLoading = + !isFetchedAccount || !isFetchedWallet || !isFetchedAssets || balance === ''; // Fixes an issue where the Tooltip would be the focused element const preventAutoFocus = (e: Event) => { @@ -94,12 +127,31 @@ export const WebWallet = () => { sticky="always" onOpenAutoFocus={preventAutoFocus} > - - + + + + + + + + - + + + diff --git a/packages/react/src/ui/WebWallet/types.ts b/packages/react/src/ui/WebWallet/types.ts index 9acc4f1a..f26954ed 100644 --- a/packages/react/src/ui/WebWallet/types.ts +++ b/packages/react/src/ui/WebWallet/types.ts @@ -1,5 +1,9 @@ +import type { BN } from 'fuels'; + export interface IAssetsBalance { - token: string; + id: string; name: string; - price: string; + symbol: string; + icon: string; + amount: BN; } From d8f982e9662ce242a86d69b4b98a76f852fdd2ac Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 17:33:34 -0300 Subject: [PATCH 08/31] chore: a few tweaks to the wallet --- examples/react-app/src/main.tsx | 2 +- .../src/FuelWalletDevelopmentConnector.ts | 1 + .../fuel-wallet/src/FuelWalletConnector.ts | 2 +- packages/react/src/hooks/index.ts | 1 + .../react/src/hooks/useCurrentConnector.ts | 32 +++++++++ .../ui/WebWallet/components/Anchor/index.tsx | 6 +- .../ui/WebWallet/components/Assets/index.tsx | 27 ++++--- .../ui/WebWallet/components/Balance/index.tsx | 20 +++++- packages/react/src/ui/WebWallet/index.tsx | 70 +++++++++++++------ packages/react/src/ui/WebWallet/styles.tsx | 4 +- .../solana-connector/src/SolanaConnector.ts | 2 +- .../src/WalletConnectConnector.ts | 2 +- 12 files changed, 127 insertions(+), 42 deletions(-) create mode 100644 packages/react/src/hooks/useCurrentConnector.ts diff --git a/examples/react-app/src/main.tsx b/examples/react-app/src/main.tsx index 572ad291..52c843ce 100644 --- a/examples/react-app/src/main.tsx +++ b/examples/react-app/src/main.tsx @@ -76,7 +76,7 @@ ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - + , ); diff --git a/packages/fuel-development-wallet/src/FuelWalletDevelopmentConnector.ts b/packages/fuel-development-wallet/src/FuelWalletDevelopmentConnector.ts index ed529cfd..714651d8 100644 --- a/packages/fuel-development-wallet/src/FuelWalletDevelopmentConnector.ts +++ b/packages/fuel-development-wallet/src/FuelWalletDevelopmentConnector.ts @@ -2,6 +2,7 @@ import { FuelWalletConnector } from '@fuel-connectors/fuel-wallet'; import type { ConnectorMetadata } from 'fuels'; export class FuelWalletDevelopmentConnector extends FuelWalletConnector { + name = 'Fuel Wallet Development'; metadata: ConnectorMetadata = { image: '/connectors/fuel-wallet-dev.svg', install: { diff --git a/packages/fuel-wallet/src/FuelWalletConnector.ts b/packages/fuel-wallet/src/FuelWalletConnector.ts index 61abb078..fc175a99 100644 --- a/packages/fuel-wallet/src/FuelWalletConnector.ts +++ b/packages/fuel-wallet/src/FuelWalletConnector.ts @@ -29,7 +29,7 @@ import { } from './types'; export class FuelWalletConnector extends FuelConnector { - name = ''; + name = 'Fuel Wallet'; connected = false; installed = false; events = FuelConnectorEventTypes; diff --git a/packages/react/src/hooks/index.ts b/packages/react/src/hooks/index.ts index 95833992..f4197950 100644 --- a/packages/react/src/hooks/index.ts +++ b/packages/react/src/hooks/index.ts @@ -7,6 +7,7 @@ export * from './useBalance'; export * from './useChain'; export * from './useConnect'; export * from './useContractRead'; +export * from './useCurrentConnector'; export * from './useConnectors'; export * from './useDisconnect'; export * from './useIsConnected'; diff --git a/packages/react/src/hooks/useCurrentConnector.ts b/packages/react/src/hooks/useCurrentConnector.ts new file mode 100644 index 00000000..3723bbbf --- /dev/null +++ b/packages/react/src/hooks/useCurrentConnector.ts @@ -0,0 +1,32 @@ +import { useNamedQuery } from '../core'; +import { useFuel } from '../providers'; +import { QUERY_KEYS } from '../utils'; + +// @TODO: Add a link to fuel connector's documentation. +/** + * A hook to fetch the connected connector. + * + * @returns {object} An object containing: + * - `connector`: The connected connector. + * - {@link https://tanstack.com/query/latest/docs/framework/react/reference/useQuery | `...queryProps`}: Destructured properties from `useQuery` result. + * + * @examples + * To fetch the connector: + * ```ts + * const { connector } = useCurrentConnector(); + * console.log(connector); + * ``` + */ +export const useCurrentConnector = () => { + const { fuel } = useFuel(); + + return useNamedQuery('connector', { + queryKey: QUERY_KEYS.currentConnector(), + queryFn: () => { + return fuel.currentConnector() ?? null; + }, + refetchOnReconnect: true, + refetchOnWindowFocus: true, + initialData: null, + }); +}; diff --git a/packages/react/src/ui/WebWallet/components/Anchor/index.tsx b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx index 1d4fc3b1..c59ef7ca 100644 --- a/packages/react/src/ui/WebWallet/components/Anchor/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx @@ -15,7 +15,6 @@ const AnchorComponent = ( ) => { return ( diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx index 9df6efc5..888a7c06 100644 --- a/packages/react/src/ui/WebWallet/components/Assets/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -5,22 +5,20 @@ import { EntityItemSlot, HStack, Icon, - Table, Text, - Tooltip, VStack, } from '@fuels/ui'; import { IconCoins } from '@tabler/icons-react'; import { useGenerateBackground } from '../../hooks/useGenerateBackground'; import type { IAssetsBalance } from '../../types'; import { AvatarGenerated } from '../AvatarGenerated'; -import { StyledColumnHeaderCell, StyledText } from './styles'; export interface IAssetsProps { assets: IAssetsBalance[]; + hideAmount: boolean; } -export const Assets = ({ assets }: IAssetsProps) => { +export const Assets = ({ assets, hideAmount }: IAssetsProps) => { return ( @@ -31,8 +29,12 @@ export const Assets = ({ assets }: IAssetsProps) => { {assets.map((asset) => { const tokenOrId = asset.symbol === 'UNK' ? asset.id : asset.symbol; + const value = asset.amount.format({ + precision: 4, + }); + const valueOrHidden = hideAmount ? '••••••' : value; return ( - + @@ -43,11 +45,20 @@ export const Assets = ({ assets }: IAssetsProps) => { background={useGenerateBackground(asset.id)} /> - + + {asset.name} + + ) as string & React.ReactElement + } + /> - - {asset.amount.format()} + + {valueOrHidden} diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index 4a83e02c..e139641d 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -1,15 +1,29 @@ -import { Text, VStack } from '@fuels/ui'; +import { HStack, Icon, Text, VStack } from '@fuels/ui'; +import { IconEyeClosed, IconEyeOff, IconEyeX } from '@tabler/icons-react'; +import { IconEye } from '@tabler/icons-react'; export interface IBalanceProps { value: string | null; + toggleHideAmount: () => void; + hideAmount: boolean; } -export const Balance = ({ value }: IBalanceProps) => { +export const Balance = ({ + value, + toggleHideAmount, + hideAmount, +}: IBalanceProps) => { + const valueOrHidden = hideAmount ? '••••••' : value; + const icon = hideAmount ? IconEyeClosed : IconEye; return ( Balance - {value} ETH + + ETH + {valueOrHidden} + + ); }; diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index c7545be1..712c6710 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -10,11 +10,12 @@ import { VStack, shortAddress, } from '@fuels/ui'; -import { type Asset, type BN, type CoinQuantity, bn } from 'fuels'; +import { type Asset, bn } from 'fuels'; import { useEffect, useState } from 'react'; import { useAccount, useAssets, + useCurrentConnector, useDisconnect, useIsConnected, useWallet, @@ -30,6 +31,7 @@ import type { IAssetsBalance } from './types'; export const WebWallet = () => { const [address, setAddress] = useState(''); const [balance, setBalance] = useState(''); + const [hideAmount, setHideAmount] = useState(false); const [assetsBalances, setAssetsBalances] = useState([]); const { isConnected } = useIsConnected(); @@ -37,15 +39,26 @@ export const WebWallet = () => { const { account, isFetched: isFetchedAccount } = useAccount(); const { assets, isFetched: isFetchedAssets } = useAssets(); const { wallet, isFetched: isFetchedWallet } = useWallet(); - - const disconnectWallet = () => { - disconnect(); - }; + const { + connector, + isFetched: isFetchedConnector, + refetch, + } = useCurrentConnector(); const getAssetId = (asset: Asset) => { return asset.networks?.find((n) => n.type === 'fuel')?.assetId; }; + const toggleHideAmount = () => { + setHideAmount(!hideAmount); + }; + + useEffect(() => { + if (isConnected && !connector?.name) { + refetch(); + } + }, [isConnected, refetch, connector?.name]); + useEffect(() => { if (!isConnected) { setAddress(''); @@ -92,8 +105,11 @@ export const WebWallet = () => { useEffect(() => { if (assetsBalances.length > 0 && balance === '') { const balance = - assetsBalances.find((ab) => ab.symbol === 'ETH')?.amount.format() ?? - bn(0).format(); + assetsBalances + .find((ab) => ab.symbol === 'ETH') + ?.amount.format({ + precision: 4, + }) ?? bn(0).format(); setBalance(balance); } }, [assetsBalances, balance]); @@ -105,16 +121,23 @@ export const WebWallet = () => { }, [account, isFetchedAccount, address]); const isLoading = - !isFetchedAccount || !isFetchedWallet || !isFetchedAssets || balance === ''; + !isFetchedAccount || + !isFetchedWallet || + !isFetchedAssets || + !isFetchedConnector || + balance === ''; // Fixes an issue where the Tooltip would be the focused element const preventAutoFocus = (e: Event) => { e.preventDefault(); }; + if (!isConnected) { + return null; + } return ( - + { { background={useGenerateBackground(address)} /> - + - + + + + + - - + diff --git a/packages/react/src/ui/WebWallet/styles.tsx b/packages/react/src/ui/WebWallet/styles.tsx index 384b15ec..807b2bef 100644 --- a/packages/react/src/ui/WebWallet/styles.tsx +++ b/packages/react/src/ui/WebWallet/styles.tsx @@ -2,6 +2,6 @@ import { styled } from 'styled-components'; export const Overlay = styled.div` position: fixed; - bottom: 50px; - right: 50px; + bottom: 1rem; + right: 0.5rem; `; diff --git a/packages/solana-connector/src/SolanaConnector.ts b/packages/solana-connector/src/SolanaConnector.ts index 7c8f01fa..5f5b8997 100644 --- a/packages/solana-connector/src/SolanaConnector.ts +++ b/packages/solana-connector/src/SolanaConnector.ts @@ -24,7 +24,7 @@ import type { SolanaConfig } from './types'; import { createSolanaConfig, createSolanaWeb3ModalInstance } from './web3Modal'; export class SolanaConnector extends PredicateConnector { - name = 'Solana Wallets'; + name = 'Solana Wallet'; events = FuelConnectorEventTypes; metadata: ConnectorMetadata = { image: SOLANA_ICON, diff --git a/packages/walletconnect-connector/src/WalletConnectConnector.ts b/packages/walletconnect-connector/src/WalletConnectConnector.ts index 0af6dfd8..44c4abf2 100644 --- a/packages/walletconnect-connector/src/WalletConnectConnector.ts +++ b/packages/walletconnect-connector/src/WalletConnectConnector.ts @@ -34,7 +34,7 @@ import type { WalletConnectConfig } from './types'; import { createWagmiConfig, createWeb3ModalInstance } from './web3Modal'; export class WalletConnectConnector extends PredicateConnector { - name = 'Ethereum Wallets'; + name = 'Ethereum Wallet'; installed = true; events = FuelConnectorEventTypes; metadata: ConnectorMetadata = { From f1206167d42850f0c3469cedfd12f92c056280b6 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 17:41:35 -0300 Subject: [PATCH 09/31] doc: update changeset --- .changeset/famous-falcons-punch.md | 9 ++++++++ .changeset/little-crabs-travel.md | 5 ++++ .changeset/weak-pots-fetch.md | 5 ++++ packages/docs/.typedoc/hooks-links.json | 5 ++++ .../src/guide/react-hooks/useContractRead.md | 2 +- .../guide/react-hooks/useCurrentConnector.md | 23 +++++++++++++++++++ .../ui/WebWallet/components/Assets/index.tsx | 1 + 7 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 .changeset/famous-falcons-punch.md create mode 100644 .changeset/little-crabs-travel.md create mode 100644 .changeset/weak-pots-fetch.md create mode 100644 packages/docs/src/guide/react-hooks/useCurrentConnector.md diff --git a/.changeset/famous-falcons-punch.md b/.changeset/famous-falcons-punch.md new file mode 100644 index 00000000..b4f8bd82 --- /dev/null +++ b/.changeset/famous-falcons-punch.md @@ -0,0 +1,9 @@ +--- +"@fuel-connectors/fuel-development-wallet": minor +"@fuel-connectors/walletconnect-connector": minor +"@fuel-connectors/solana-connector": minor +"@fuel-connectors/evm-connector": minor +"@fuel-connectors/fuel-wallet": minor +--- + +Added/Modified connector's name so it'll appear correctly in the web wallet diff --git a/.changeset/little-crabs-travel.md b/.changeset/little-crabs-travel.md new file mode 100644 index 00000000..32359481 --- /dev/null +++ b/.changeset/little-crabs-travel.md @@ -0,0 +1,5 @@ +--- +"@fuels/react": minor +--- + +Added a new hook to fetch the current connected connector `useCurrentConnector` diff --git a/.changeset/weak-pots-fetch.md b/.changeset/weak-pots-fetch.md new file mode 100644 index 00000000..2126e127 --- /dev/null +++ b/.changeset/weak-pots-fetch.md @@ -0,0 +1,5 @@ +--- +"docs": minor +--- + +Added a new section on the docs for the hook `useCurrentConnector` diff --git a/packages/docs/.typedoc/hooks-links.json b/packages/docs/.typedoc/hooks-links.json index 3d2bcac1..3be05800 100644 --- a/packages/docs/.typedoc/hooks-links.json +++ b/packages/docs/.typedoc/hooks-links.json @@ -41,6 +41,11 @@ "link": "/guide/react-hooks/useContractRead", "items": [] }, + { + "text": "useCurrentConnector", + "link": "/guide/react-hooks/useCurrentConnector", + "items": [] + }, { "text": "useDisconnect", "link": "/guide/react-hooks/useDisconnect", diff --git a/packages/docs/src/guide/react-hooks/useContractRead.md b/packages/docs/src/guide/react-hooks/useContractRead.md index 542a6934..3f36f0f4 100644 --- a/packages/docs/src/guide/react-hooks/useContractRead.md +++ b/packages/docs/src/guide/react-hooks/useContractRead.md @@ -13,7 +13,7 @@ The properties of the hook. #### Returns An object containing: -- `contractRead`: The result of the contract function call. +- The result of the contract function call. - [`...queryProps`](https://tanstack.com/query/latest/docs/framework/react/reference/useQuery): Destructured properties from `useQuery` result. #### Examples diff --git a/packages/docs/src/guide/react-hooks/useCurrentConnector.md b/packages/docs/src/guide/react-hooks/useCurrentConnector.md new file mode 100644 index 00000000..848b433c --- /dev/null +++ b/packages/docs/src/guide/react-hooks/useCurrentConnector.md @@ -0,0 +1,23 @@ +# useCurrentConnector +--- + +A hook to fetch the connected connector. + +#### Returns + +An object containing: +- `connector`: The connected connector. +- [`...queryProps`](https://tanstack.com/query/latest/docs/framework/react/reference/useQuery): Destructured properties from `useQuery` result. + +#### Examples + +To fetch the connector: +```ts +const { connector } = useCurrentConnector(); +console.log(connector); +``` + +#### Defined in +[packages/react/src/hooks/useCurrentConnector.ts:20](https://github.com/fuellabs/fuel-connectors/blob/main/packages/react/src/hooks/useCurrentConnector.ts#L20) + +___ diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx index 888a7c06..569caf06 100644 --- a/packages/react/src/ui/WebWallet/components/Assets/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -34,6 +34,7 @@ export const Assets = ({ assets, hideAmount }: IAssetsProps) => { }); const valueOrHidden = hideAmount ? '••••••' : value; return ( + // @ts-expect-error Card does have variant From eaa5bb26baaf648aeffac898c3c5f00c1bdd23f2 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 6 Sep 2024 18:06:16 -0300 Subject: [PATCH 10/31] chore: refetch everything if connected again --- .../ui/WebWallet/components/Balance/index.tsx | 2 +- packages/react/src/ui/WebWallet/index.tsx | 31 ++++++++++++++----- packages/react/src/ui/WebWallet/types.ts | 14 ++++++++- .../solana-connector/src/SolanaConnector.ts | 2 +- .../src/WalletConnectConnector.ts | 2 +- 5 files changed, 40 insertions(+), 11 deletions(-) diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index e139641d..a2595ce2 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -12,7 +12,7 @@ export const Balance = ({ toggleHideAmount, hideAmount, }: IBalanceProps) => { - const valueOrHidden = hideAmount ? '••••••' : value; + const valueOrHidden = hideAmount ? '•'.repeat(value?.length ?? 1) : value; const icon = hideAmount ? IconEyeClosed : IconEye; return ( diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index 712c6710..a14fd000 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -26,7 +26,7 @@ import '@fuels/ui/styles.css'; import { IconHistory, IconLogout } from '@tabler/icons-react'; import { AvatarGenerated } from './components/AvatarGenerated'; import { useGenerateBackground } from './hooks/useGenerateBackground'; -import type { IAssetsBalance } from './types'; +import { type IAssetsBalance, defaultAssetsBalance } from './types'; export const WebWallet = () => { const [address, setAddress] = useState(''); @@ -36,9 +36,21 @@ export const WebWallet = () => { const { isConnected } = useIsConnected(); const { disconnect } = useDisconnect(); - const { account, isFetched: isFetchedAccount } = useAccount(); - const { assets, isFetched: isFetchedAssets } = useAssets(); - const { wallet, isFetched: isFetchedWallet } = useWallet(); + const { + account, + isFetched: isFetchedAccount, + refetch: refetchAccount, + } = useAccount(); + const { + assets, + isFetched: isFetchedAssets, + refetch: refetchAssets, + } = useAssets(); + const { + wallet, + isFetched: isFetchedWallet, + refetch: refetchWallet, + } = useWallet(); const { connector, isFetched: isFetchedConnector, @@ -54,10 +66,13 @@ export const WebWallet = () => { }; useEffect(() => { - if (isConnected && !connector?.name) { + if (isConnected) { refetch(); + refetchAccount(); + refetchAssets(); + refetchWallet(); } - }, [isConnected, refetch, connector?.name]); + }, [isConnected, refetch, refetchAccount, refetchAssets, refetchWallet]); useEffect(() => { if (!isConnected) { @@ -89,7 +104,9 @@ export const WebWallet = () => { id: balance.assetId, } as IAssetsBalance; }); - setAssetsBalances(enrichedAssets); + setAssetsBalances( + enrichedAssets.length === 0 ? defaultAssetsBalance : enrichedAssets, + ); }) .catch(console.error); } diff --git a/packages/react/src/ui/WebWallet/types.ts b/packages/react/src/ui/WebWallet/types.ts index f26954ed..858c2f1d 100644 --- a/packages/react/src/ui/WebWallet/types.ts +++ b/packages/react/src/ui/WebWallet/types.ts @@ -1,4 +1,4 @@ -import type { BN } from 'fuels'; +import { type BN, bn } from 'fuels'; export interface IAssetsBalance { id: string; @@ -7,3 +7,15 @@ export interface IAssetsBalance { icon: string; amount: BN; } +export const DEFAULT_ETH_IMAGE = 'https://cdn.fuel.network/assets/eth.svg'; +export const LEGACY_ETH_ID = + '0xf8f8b6283d7fa5b672b530cbb84fcccb4ff8dc40f8176ef4544ddb1f1952ad07'; +export const defaultAssetsBalance: IAssetsBalance[] = [ + { + id: LEGACY_ETH_ID, + name: 'Ethereum', + symbol: 'ETH', + icon: DEFAULT_ETH_IMAGE, + amount: bn(0), + }, +] as IAssetsBalance[]; diff --git a/packages/solana-connector/src/SolanaConnector.ts b/packages/solana-connector/src/SolanaConnector.ts index 5f5b8997..7c8f01fa 100644 --- a/packages/solana-connector/src/SolanaConnector.ts +++ b/packages/solana-connector/src/SolanaConnector.ts @@ -24,7 +24,7 @@ import type { SolanaConfig } from './types'; import { createSolanaConfig, createSolanaWeb3ModalInstance } from './web3Modal'; export class SolanaConnector extends PredicateConnector { - name = 'Solana Wallet'; + name = 'Solana Wallets'; events = FuelConnectorEventTypes; metadata: ConnectorMetadata = { image: SOLANA_ICON, diff --git a/packages/walletconnect-connector/src/WalletConnectConnector.ts b/packages/walletconnect-connector/src/WalletConnectConnector.ts index 44c4abf2..0af6dfd8 100644 --- a/packages/walletconnect-connector/src/WalletConnectConnector.ts +++ b/packages/walletconnect-connector/src/WalletConnectConnector.ts @@ -34,7 +34,7 @@ import type { WalletConnectConfig } from './types'; import { createWagmiConfig, createWeb3ModalInstance } from './web3Modal'; export class WalletConnectConnector extends PredicateConnector { - name = 'Ethereum Wallet'; + name = 'Ethereum Wallets'; installed = true; events = FuelConnectorEventTypes; metadata: ConnectorMetadata = { From 7efff84b796c1528306b7ca5eb998add522a9227 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 13 Sep 2024 09:56:12 -0300 Subject: [PATCH 11/31] chore: styles update --- packages/react/package.json | 2 +- .../ui/WebWallet/components/Assets/index.tsx | 90 +++++++++-------- .../ui/WebWallet/components/Balance/index.tsx | 56 +++++++++-- .../ui/WebWallet/hooks/useBalanceFormat.ts | 25 +++++ packages/react/src/ui/WebWallet/index.css | 16 ++++ packages/react/src/ui/WebWallet/index.tsx | 96 +++++++++++++------ packages/react/src/ui/WebWallet/styles.tsx | 1 + 7 files changed, 206 insertions(+), 80 deletions(-) create mode 100644 packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts create mode 100644 packages/react/src/ui/WebWallet/index.css diff --git a/packages/react/package.json b/packages/react/package.json index 08432741..4a3ad6c8 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -35,7 +35,7 @@ "events": "^3.3.0" }, "devDependencies": { - "@fuels/ui": "0.0.1", + "@fuels/ui": "file:/Users/leonardo/Infinity/fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz", "@tanstack/react-query": "5.35.1", "@types/react": "18.2.54", "compare-versions": "^6.1.0", diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx index 569caf06..8d6e2314 100644 --- a/packages/react/src/ui/WebWallet/components/Assets/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -1,14 +1,17 @@ import { Card, + Container, EntityItem, EntityItemInfo, EntityItemSlot, + Flex, HStack, Icon, Text, VStack, } from '@fuels/ui'; import { IconCoins } from '@tabler/icons-react'; +import { useBalanceFormat } from '../../hooks/useBalanceFormat'; import { useGenerateBackground } from '../../hooks/useGenerateBackground'; import type { IAssetsBalance } from '../../types'; import { AvatarGenerated } from '../AvatarGenerated'; @@ -20,51 +23,62 @@ export interface IAssetsProps { export const Assets = ({ assets, hideAmount }: IAssetsProps) => { return ( - + - + Assets - {assets.map((asset) => { - const tokenOrId = asset.symbol === 'UNK' ? asset.id : asset.symbol; - const value = asset.amount.format({ - precision: 4, - }); - const valueOrHidden = hideAmount ? '••••••' : value; - return ( - // @ts-expect-error Card does have variant - - - - - + {assets.map((asset) => { + const { formattedBalance } = useBalanceFormat(asset.amount); + const valueOrHidden = hideAmount ? '•'.repeat(5) : formattedBalance; + const tokenOrId = asset.symbol === 'UNK' ? asset.id : asset.symbol; + return ( + // @ts-expect-error Card does have variant + + + + + + + + {asset.name} + + ) as string & React.ReactElement + } /> - - - {asset.name} - - ) as string & React.ReactElement - } - /> - + - - {valueOrHidden} - - - - ); - })} + + {valueOrHidden} + + + + ); + })} +
); }; diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index a2595ce2..498f3950 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -1,28 +1,64 @@ -import { HStack, Icon, Text, VStack } from '@fuels/ui'; -import { IconEyeClosed, IconEyeOff, IconEyeX } from '@tabler/icons-react'; -import { IconEye } from '@tabler/icons-react'; +import { HStack, Icon, Text, Tooltip, VStack } from '@fuels/ui'; +import { IconEye, IconEyeClosed } from '@tabler/icons-react'; +import type { BN } from 'fuels'; +import { useBalanceFormat } from '../../hooks/useBalanceFormat'; export interface IBalanceProps { - value: string | null; + value: BN; toggleHideAmount: () => void; hideAmount: boolean; } + export const Balance = ({ value, toggleHideAmount, hideAmount, }: IBalanceProps) => { - const valueOrHidden = hideAmount ? '•'.repeat(value?.length ?? 1) : value; - const icon = hideAmount ? IconEyeClosed : IconEye; + const { formattedBalance, formattedBalanceFull } = useBalanceFormat(value); + const normalProps = { + value: formattedBalance, + icon: IconEye, + tooltip: formattedBalanceFull, + }; + const hiddenProps = { + value: '•'.repeat(5), + icon: IconEyeClosed, + tooltip: 'Hidden balance', + }; + const props = hideAmount ? hiddenProps : normalProps; + return ( - + Balance - ETH - {valueOrHidden} - + + ETH + + + + {props.value} + + + ); diff --git a/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts b/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts new file mode 100644 index 00000000..128cc92b --- /dev/null +++ b/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts @@ -0,0 +1,25 @@ +import { type BN, type FormatConfig, format } from 'fuels'; +import { useMemo } from 'react'; + +export const DEFAULT_MIN_PRECISION = 3; +export const DECIMAL_UNITS = 9; +export const formatOpts: FormatConfig = { + units: DECIMAL_UNITS, + precision: DECIMAL_UNITS, +}; + +export type IBalanceFormat = { + formattedBalance: string; + formattedBalanceFull: string; +}; +export const useBalanceFormat = (value: BN) => + useMemo( + () => ({ + formattedBalance: value.format({ + ...formatOpts, + precision: value.eq(0) ? 1 : DEFAULT_MIN_PRECISION, + }), + formattedBalanceFull: format(value, formatOpts), + }), + [value], + ); diff --git a/packages/react/src/ui/WebWallet/index.css b/packages/react/src/ui/WebWallet/index.css new file mode 100644 index 00000000..91d1ef18 --- /dev/null +++ b/packages/react/src/ui/WebWallet/index.css @@ -0,0 +1,16 @@ + +/* Fix for popper content wrapper */ +[data-radix-popper-content-wrapper] { + @media (max-width: 1024px) { + transform: none !important; + bottom: 0px; + top: auto !important; + + & > .fuel-PopoverContent { + --radius-factor: 1.5; + --radius-full: 0px; + --radius-thumb: 9999px; + border-radius: var(--radius-6) var(--radius-6) 0 0; + } + } +} diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index a14fd000..1c19cb6a 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -1,11 +1,14 @@ import { Button, + Container, EntityItem, EntityItemInfo, EntityItemSlot, - HStack, + Flex, + Icon, Inset, Popover, + ScrollArea, Separator, VStack, shortAddress, @@ -23,16 +26,19 @@ import { import { Anchor, Assets, Balance } from './components'; import { Overlay } from './styles'; import '@fuels/ui/styles.css'; +import './index.css'; import { IconHistory, IconLogout } from '@tabler/icons-react'; +import { IconX } from '@tabler/icons-react'; import { AvatarGenerated } from './components/AvatarGenerated'; import { useGenerateBackground } from './hooks/useGenerateBackground'; import { type IAssetsBalance, defaultAssetsBalance } from './types'; export const WebWallet = () => { const [address, setAddress] = useState(''); - const [balance, setBalance] = useState(''); + const [balance, setBalance] = useState(bn(0)); const [hideAmount, setHideAmount] = useState(false); const [assetsBalances, setAssetsBalances] = useState([]); + const [isFetchedBalance, setFetchedBalance] = useState(false); const { isConnected } = useIsConnected(); const { disconnect } = useDisconnect(); @@ -71,14 +77,16 @@ export const WebWallet = () => { refetchAccount(); refetchAssets(); refetchWallet(); + setFetchedBalance(false); } }, [isConnected, refetch, refetchAccount, refetchAssets, refetchWallet]); useEffect(() => { if (!isConnected) { setAddress(''); - setBalance(''); + setBalance(bn(0)); setAssetsBalances([]); + setFetchedBalance(false); } }, [isConnected]); @@ -120,16 +128,16 @@ export const WebWallet = () => { ]); useEffect(() => { - if (assetsBalances.length > 0 && balance === '') { + if (assetsBalances.length > 0 && !isFetchedBalance) { const balance = - assetsBalances - .find((ab) => ab.symbol === 'ETH') - ?.amount.format({ - precision: 4, - }) ?? bn(0).format(); + assetsBalances.find((ab) => ab.symbol === 'ETH')?.amount ?? + assetsBalances.length === 1 + ? assetsBalances[0].amount + : assetsBalances.reduce((acc, ab) => acc.add(ab.amount), bn(0)); setBalance(balance); + setFetchedBalance(true); } - }, [assetsBalances, balance]); + }, [assetsBalances, isFetchedBalance]); useEffect(() => { if (isFetchedAccount && account && address === '') { @@ -142,7 +150,7 @@ export const WebWallet = () => { !isFetchedWallet || !isFetchedAssets || !isFetchedConnector || - balance === ''; + !isFetchedBalance; // Fixes an issue where the Tooltip would be the focused element const preventAutoFocus = (e: Event) => { @@ -163,19 +171,22 @@ export const WebWallet = () => { /> - + { - + - + + + + + + + - - + - + + + + diff --git a/packages/react/src/ui/WebWallet/styles.tsx b/packages/react/src/ui/WebWallet/styles.tsx index 807b2bef..a88b5115 100644 --- a/packages/react/src/ui/WebWallet/styles.tsx +++ b/packages/react/src/ui/WebWallet/styles.tsx @@ -4,4 +4,5 @@ export const Overlay = styled.div` position: fixed; bottom: 1rem; right: 0.5rem; + z-index: 2; `; From 1ceb2afb33b51bab5078419831ea57f201b9ac6a Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 13 Sep 2024 09:56:46 -0300 Subject: [PATCH 12/31] fix: change @fuels/ui package location --- packages/react/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react/package.json b/packages/react/package.json index 4a3ad6c8..08432741 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -35,7 +35,7 @@ "events": "^3.3.0" }, "devDependencies": { - "@fuels/ui": "file:/Users/leonardo/Infinity/fuel-explorer/packages/ui/fuels-ui-0.0.1.tgz", + "@fuels/ui": "0.0.1", "@tanstack/react-query": "5.35.1", "@types/react": "18.2.54", "compare-versions": "^6.1.0", From 137aea98bbe3da74562744865eefd419c7cb32b9 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Fri, 13 Sep 2024 14:59:37 -0300 Subject: [PATCH 13/31] chore: update variant to outline --- packages/react/src/ui/WebWallet/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index 1c19cb6a..fd18c077 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -236,6 +236,7 @@ export const WebWallet = () => { leftIcon={IconHistory} color="gray" className="flex-1" + variant="outline" > History @@ -245,6 +246,7 @@ export const WebWallet = () => { leftIcon={IconLogout} onClick={() => disconnect()} className="flex-1" + variant="outline" > Disconnect From c86683dda9a35b4c670591cd2535626ee29a39ca Mon Sep 17 00:00:00 2001 From: "Leonardo C. Martins" Date: Wed, 18 Sep 2024 18:44:52 -0300 Subject: [PATCH 14/31] chore: a few tweaks to web wallet & cleanup --- examples/react-app/package.json | 6 +- examples/react-app/src/hooks/useWallet.ts | 3 +- examples/react-next/package.json | 2 +- packages/react/package.json | 14 +- packages/react/postcss.config.js | 8 + .../ui/WebWallet/components/Anchor/index.tsx | 6 +- .../ui/WebWallet/components/Assets/index.tsx | 28 +- .../components/AvatarGenerated/index.tsx | 31 +- .../ui/WebWallet/components/Balance/index.tsx | 13 +- .../components/DisconnectButton/index.tsx | 21 + .../ui/WebWallet/components/Footer/index.tsx | 21 + .../ui/WebWallet/components/Header/index.tsx | 18 + .../components/HistoryButton/index.tsx | 20 + .../components/ScrollableContent/index.tsx | 34 + .../src/ui/WebWallet/components/index.tsx | 8 +- .../react/src/ui/WebWallet/hooks/index.ts | 3 + .../ui/WebWallet/hooks/useAssetsBalance.ts | 48 + .../ui/WebWallet/hooks/useBalanceFormat.ts | 12 +- packages/react/src/ui/WebWallet/index.css | 13 + packages/react/src/ui/WebWallet/index.tsx | 219 +- packages/react/src/ui/WebWallet/types.ts | 15 +- packages/react/src/utils/queryKeys.ts | 7 +- packages/react/tailwind.config.ts | 9 + packages/react/tsconfig.json | 1 + packages/react/tsup.config.js | 1 - pnpm-lock.yaml | 17309 ++++++++++------ 26 files changed, 11289 insertions(+), 6581 deletions(-) create mode 100644 packages/react/postcss.config.js create mode 100644 packages/react/src/ui/WebWallet/components/DisconnectButton/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Footer/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/Header/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/HistoryButton/index.tsx create mode 100644 packages/react/src/ui/WebWallet/components/ScrollableContent/index.tsx create mode 100644 packages/react/src/ui/WebWallet/hooks/index.ts create mode 100644 packages/react/src/ui/WebWallet/hooks/useAssetsBalance.ts create mode 100644 packages/react/tailwind.config.ts diff --git a/examples/react-app/package.json b/examples/react-app/package.json index 73ce092d..0360f764 100644 --- a/examples/react-app/package.json +++ b/examples/react-app/package.json @@ -18,12 +18,12 @@ "@wagmi/core": "2.13.4", "clsx": "2.1.1", "fuels": "0.94.4", - "react": "18.3.1", - "react-dom": "18.3.1" + "react": "18.2.0", + "react-dom": "18.2.0" }, "devDependencies": { "@tanstack/react-query-devtools": "5.35.1", - "@types/react": "18.3.1", + "@types/react": "18.2.54", "@types/react-dom": "18.3.0", "@vitejs/plugin-react": "4.2.1", "autoprefixer": "10.4.19", diff --git a/examples/react-app/src/hooks/useWallet.ts b/examples/react-app/src/hooks/useWallet.ts index 6adf13d8..f5e56948 100644 --- a/examples/react-app/src/hooks/useWallet.ts +++ b/examples/react-app/src/hooks/useWallet.ts @@ -34,7 +34,7 @@ export const useWallet = () => { const address = account ?? ''; - const { wallet } = useFuelWallet(address); + const { wallet, refetch: refetchWallet } = useFuelWallet(address); const { balance, @@ -86,5 +86,6 @@ export const useWallet = () => { connect, refetchConnected, refetchBalance, + refetchWallet, }; }; diff --git a/examples/react-next/package.json b/examples/react-next/package.json index bb65b299..a55c95fe 100644 --- a/examples/react-next/package.json +++ b/examples/react-next/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@tanstack/react-query-devtools": "5.35.1", "@types/node": "20.12.11", - "@types/react": "18.3.1", + "@types/react": "18.2.54", "@types/react-dom": "18.3.0", "typescript": "5.4.5" } diff --git a/packages/react/package.json b/packages/react/package.json index 4c31166e..d23bc1c1 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -20,6 +20,7 @@ } } }, + "files": ["dist"], "scripts": { "build": "pnpm ts:check && tsup", "ts:check": "tsc --noEmit" @@ -30,21 +31,24 @@ "react": "^18.2.0" }, "dependencies": { + "@fuels/ui": "0.0.1", "@radix-ui/react-dialog": "^1.0.5", "@tabler/icons-react": "2.47.0", - "events": "^3.3.0" + "events": "^3.3.0", + "tailwind-variants": "0.1.20" }, "devDependencies": { - "@fuels/ui": "0.0.1", "@tanstack/react-query": "5.35.1", "@types/react": "18.2.54", "compare-versions": "^6.1.0", - "fuels": "0.94.4", + "fuels": "pr-3167", "react": "^18.2.0", "styled-components": "^6.1.1", "tailwindcss": "3.4.4", - "tsup": "^7.2.0", + "tsup": "8.0.2", "tsx": "4.9.3", - "typescript": "5.4.5" + "typescript": "5.4.5", + "postcss": "8.4.35", + "postcss-import": "16.0.1" } } diff --git a/packages/react/postcss.config.js b/packages/react/postcss.config.js new file mode 100644 index 00000000..e569373f --- /dev/null +++ b/packages/react/postcss.config.js @@ -0,0 +1,8 @@ +module.exports = { + plugins: { + 'postcss-import': {}, + 'tailwindcss/nesting': {}, + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/packages/react/src/ui/WebWallet/components/Anchor/index.tsx b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx index c59ef7ca..cdad4fbf 100644 --- a/packages/react/src/ui/WebWallet/components/Anchor/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Anchor/index.tsx @@ -1,8 +1,8 @@ -import { Button, Popover } from '@fuels/ui'; +import { Button } from '@fuels/ui'; import { IconWallet } from '@tabler/icons-react'; import React from 'react'; -export interface IAnchorProps { +export interface AnchorProps { address: string; onClick?: () => void; isLoading: boolean; @@ -10,7 +10,7 @@ export interface IAnchorProps { } const AnchorComponent = ( - { address, onClick, isLoading, isConnected }: IAnchorProps, + { address, onClick, isLoading, isConnected }: AnchorProps, ref: React.ForwardedRef | null, ) => { return ( diff --git a/packages/react/src/ui/WebWallet/components/Assets/index.tsx b/packages/react/src/ui/WebWallet/components/Assets/index.tsx index 8d6e2314..472c273d 100644 --- a/packages/react/src/ui/WebWallet/components/Assets/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Assets/index.tsx @@ -1,27 +1,25 @@ import { Card, - Container, EntityItem, EntityItemInfo, EntityItemSlot, - Flex, HStack, Icon, Text, + Tooltip, VStack, } from '@fuels/ui'; import { IconCoins } from '@tabler/icons-react'; import { useBalanceFormat } from '../../hooks/useBalanceFormat'; -import { useGenerateBackground } from '../../hooks/useGenerateBackground'; import type { IAssetsBalance } from '../../types'; import { AvatarGenerated } from '../AvatarGenerated'; -export interface IAssetsProps { +export interface AssetsProps { assets: IAssetsBalance[]; hideAmount: boolean; } -export const Assets = ({ assets, hideAmount }: IAssetsProps) => { +export const Assets = ({ assets, hideAmount }: AssetsProps) => { return ( { {assets.map((asset) => { - const { formattedBalance } = useBalanceFormat(asset.amount); + const { formattedBalance, formattedBalanceFull } = useBalanceFormat( + asset.amount, + asset.decimals, + ); const valueOrHidden = hideAmount ? '•'.repeat(5) : formattedBalance; const tokenOrId = asset.symbol === 'UNK' ? asset.id : asset.symbol; + return ( - // @ts-expect-error Card does have variant - + { /> - - {valueOrHidden} - + + + {valueOrHidden} + + ); diff --git a/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx b/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx index 69a22b76..8f458d1d 100644 --- a/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx +++ b/packages/react/src/ui/WebWallet/components/AvatarGenerated/index.tsx @@ -1,9 +1,24 @@ -import { Avatar } from '@fuels/ui'; -import styled from 'styled-components'; +import { Avatar, type AvatarProps } from '@fuels/ui'; +import { useGenerateBackground } from '../../hooks/useGenerateBackground'; -export interface IAvatarProps { - background: string; -} -export const AvatarGenerated = styled(Avatar)` - background: ${(props) => props.background}; -`; +export type AvatarGeneratedProps = { hash: string } & Omit< + AvatarProps, + 'fallback' +>; + +const GeneratedFallback = ({ hash }: { hash: string }) => { + return ( +
+ ); +}; + +export const AvatarGenerated = ({ hash, ...props }: AvatarGeneratedProps) => { + return ( + } /> + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Balance/index.tsx b/packages/react/src/ui/WebWallet/components/Balance/index.tsx index 498f3950..4076bc00 100644 --- a/packages/react/src/ui/WebWallet/components/Balance/index.tsx +++ b/packages/react/src/ui/WebWallet/components/Balance/index.tsx @@ -3,18 +3,23 @@ import { IconEye, IconEyeClosed } from '@tabler/icons-react'; import type { BN } from 'fuels'; import { useBalanceFormat } from '../../hooks/useBalanceFormat'; -export interface IBalanceProps { +export interface BalanceProps { value: BN; + decimals: number; toggleHideAmount: () => void; hideAmount: boolean; } export const Balance = ({ value, + decimals, toggleHideAmount, hideAmount, -}: IBalanceProps) => { - const { formattedBalance, formattedBalanceFull } = useBalanceFormat(value); +}: BalanceProps) => { + const { formattedBalance, formattedBalanceFull } = useBalanceFormat( + value, + decimals, + ); const normalProps = { value: formattedBalance, icon: IconEye, @@ -41,6 +46,7 @@ export const Balance = ({ void; +} + +export const DisconnectButton = ({ disconnect }: DisconnectButtonProps) => { + return ( + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Footer/index.tsx b/packages/react/src/ui/WebWallet/components/Footer/index.tsx new file mode 100644 index 00000000..82658e33 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Footer/index.tsx @@ -0,0 +1,21 @@ +import { Container, Flex, Icon } from '@fuels/ui'; +import { IconX } from '@tabler/icons-react'; +import { DisconnectButton } from '../DisconnectButton'; +import { HistoryButton } from '../HistoryButton'; + +export interface FooterProps { + address: string; + disconnect: () => void; +} + +export const Footer = ({ address, disconnect }: FooterProps) => { + return ( + + + + + + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/Header/index.tsx b/packages/react/src/ui/WebWallet/components/Header/index.tsx new file mode 100644 index 00000000..6c3edb07 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/Header/index.tsx @@ -0,0 +1,18 @@ +import { EntityItem, EntityItemInfo, EntityItemSlot } from '@fuels/ui'; +import { AvatarGenerated } from '../AvatarGenerated'; + +export interface HeaderProps { + address: string; + title?: string; +} + +export const Header = ({ address, title }: HeaderProps) => { + return ( + + + + + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/HistoryButton/index.tsx b/packages/react/src/ui/WebWallet/components/HistoryButton/index.tsx new file mode 100644 index 00000000..ce60f372 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/HistoryButton/index.tsx @@ -0,0 +1,20 @@ +import { Button } from '@fuels/ui'; +import { IconHistory } from '@tabler/icons-react'; + +export const HistoryButton = ({ address }: { address: string }) => { + return ( + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/ScrollableContent/index.tsx b/packages/react/src/ui/WebWallet/components/ScrollableContent/index.tsx new file mode 100644 index 00000000..2baf94b7 --- /dev/null +++ b/packages/react/src/ui/WebWallet/components/ScrollableContent/index.tsx @@ -0,0 +1,34 @@ +import { Inset, ScrollArea, Separator, VStack } from '@fuels/ui'; +import type { IAssetsBalance } from '../../types'; +import { Assets } from '../Assets'; +import { Balance } from '../Balance'; + +export interface ScrollableContentProps { + mainAsset: IAssetsBalance; + assetsBalances: IAssetsBalance[]; + hideAmount: boolean; + toggleHideAmount: () => void; +} +export const ScrollableContent = ({ + mainAsset, + hideAmount, + toggleHideAmount, + assetsBalances, +}: ScrollableContentProps) => { + return ( + + + + + + + + + + ); +}; diff --git a/packages/react/src/ui/WebWallet/components/index.tsx b/packages/react/src/ui/WebWallet/components/index.tsx index e3d8e8a3..91e4009c 100644 --- a/packages/react/src/ui/WebWallet/components/index.tsx +++ b/packages/react/src/ui/WebWallet/components/index.tsx @@ -1,3 +1,9 @@ export * from './Anchor'; -export * from './Balance'; export * from './Assets'; +export * from './AvatarGenerated'; +export * from './Balance'; +export * from './DisconnectButton'; +export * from './Footer'; +export * from './Header'; +export * from './HistoryButton'; +export * from './ScrollableContent'; diff --git a/packages/react/src/ui/WebWallet/hooks/index.ts b/packages/react/src/ui/WebWallet/hooks/index.ts new file mode 100644 index 00000000..fef19af3 --- /dev/null +++ b/packages/react/src/ui/WebWallet/hooks/index.ts @@ -0,0 +1,3 @@ +export * from './useAssetsBalance'; +export * from './useBalanceFormat'; +export * from './useGenerateBackground'; diff --git a/packages/react/src/ui/WebWallet/hooks/useAssetsBalance.ts b/packages/react/src/ui/WebWallet/hooks/useAssetsBalance.ts new file mode 100644 index 00000000..c24667b9 --- /dev/null +++ b/packages/react/src/ui/WebWallet/hooks/useAssetsBalance.ts @@ -0,0 +1,48 @@ +import { + assets as AssetsSDK, + bn, + getAssetFuel, + getDefaultChainId, +} from 'fuels'; +import { useNamedQuery } from '../../../core/useNamedQuery'; +import { useFuel } from '../../../providers'; +import { QUERY_KEYS } from '../../../utils'; +import type { IAssetsBalance } from '../types'; + +export const useAssetsBalance = () => { + const { fuel } = useFuel(); + + return useNamedQuery('assetsBalance', { + queryKey: QUERY_KEYS.assetsBalance(), + queryFn: async () => { + try { + const [assets, wallet] = await Promise.all([ + fuel.assets(), + fuel.getWallet((await fuel.currentAccount()) ?? ''), + ]); + const provider = wallet.provider; + + const fullAssets = [...assets, ...AssetsSDK]; + const { balances } = await wallet.getBalances(); + const chainId = provider.getChainId() ?? getDefaultChainId('fuel'); + + return balances.map((balance) => { + const asset = fullAssets + .map((a) => getAssetFuel(a, chainId)) + .find((a) => a?.assetId === balance.assetId); + return { + name: asset?.name ?? 'Unknown', + symbol: asset?.symbol ?? 'UNK', + icon: asset?.icon ?? '', + amount: balance.amount ?? bn(0), + id: balance.assetId, + decimals: asset?.decimals ?? 0, + } as IAssetsBalance; + }); + } catch (_error: unknown) { + return []; + } + }, + initialData: [], + }); +}; diff --git a/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts b/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts index 128cc92b..f8013def 100644 --- a/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts +++ b/packages/react/src/ui/WebWallet/hooks/useBalanceFormat.ts @@ -12,14 +12,18 @@ export type IBalanceFormat = { formattedBalance: string; formattedBalanceFull: string; }; -export const useBalanceFormat = (value: BN) => +export const useBalanceFormat = (value: BN, decimals: number) => useMemo( () => ({ formattedBalance: value.format({ ...formatOpts, - precision: value.eq(0) ? 1 : DEFAULT_MIN_PRECISION, + precision: value.isZero() ? 1 : DEFAULT_MIN_PRECISION, + units: decimals, + }), + formattedBalanceFull: format(value, { + ...formatOpts, + units: decimals, }), - formattedBalanceFull: format(value, formatOpts), }), - [value], + [value, decimals], ); diff --git a/packages/react/src/ui/WebWallet/index.css b/packages/react/src/ui/WebWallet/index.css index 91d1ef18..ed4a38d6 100644 --- a/packages/react/src/ui/WebWallet/index.css +++ b/packages/react/src/ui/WebWallet/index.css @@ -11,6 +11,19 @@ --radius-full: 0px; --radius-thumb: 9999px; border-radius: var(--radius-6) var(--radius-6) 0 0; + height: 70vh; + max-height: 70vh; + width: 100vw; + max-width: 100%; } } + + @media (min-width: 1025px) { + & > .fuel-PopoverContent { + height: 50vh; + max-height: 50vh; + width: 370px; + max-width: 370px; + } + } } diff --git a/packages/react/src/ui/WebWallet/index.tsx b/packages/react/src/ui/WebWallet/index.tsx index fd18c077..f9e0bb97 100644 --- a/packages/react/src/ui/WebWallet/index.tsx +++ b/packages/react/src/ui/WebWallet/index.tsx @@ -1,43 +1,23 @@ -import { - Button, - Container, - EntityItem, - EntityItemInfo, - EntityItemSlot, - Flex, - Icon, - Inset, - Popover, - ScrollArea, - Separator, - VStack, - shortAddress, -} from '@fuels/ui'; -import { type Asset, bn } from 'fuels'; +import { Inset, Popover, Separator, VStack, shortAddress } from '@fuels/ui'; import { useEffect, useState } from 'react'; import { useAccount, - useAssets, useCurrentConnector, useDisconnect, useIsConnected, - useWallet, } from '../../hooks'; -import { Anchor, Assets, Balance } from './components'; +import { Anchor, Footer, Header, ScrollableContent } from './components'; +import { useAssetsBalance } from './hooks'; import { Overlay } from './styles'; +import type { IAssetsBalance } from './types'; + import '@fuels/ui/styles.css'; import './index.css'; -import { IconHistory, IconLogout } from '@tabler/icons-react'; -import { IconX } from '@tabler/icons-react'; -import { AvatarGenerated } from './components/AvatarGenerated'; -import { useGenerateBackground } from './hooks/useGenerateBackground'; -import { type IAssetsBalance, defaultAssetsBalance } from './types'; export const WebWallet = () => { const [address, setAddress] = useState(''); - const [balance, setBalance] = useState(bn(0)); + const [mainAsset, setMainAsset] = useState({} as IAssetsBalance); const [hideAmount, setHideAmount] = useState(false); - const [assetsBalances, setAssetsBalances] = useState([]); const [isFetchedBalance, setFetchedBalance] = useState(false); const { isConnected } = useIsConnected(); @@ -47,97 +27,44 @@ export const WebWallet = () => { isFetched: isFetchedAccount, refetch: refetchAccount, } = useAccount(); + const { - assets, - isFetched: isFetchedAssets, - refetch: refetchAssets, - } = useAssets(); - const { - wallet, - isFetched: isFetchedWallet, - refetch: refetchWallet, - } = useWallet(); + assetsBalance, + isFetched: isFetchedAssetsBalance, + refetch: refetchAssetsBalance, + } = useAssetsBalance(); + const { connector, isFetched: isFetchedConnector, refetch, } = useCurrentConnector(); - const getAssetId = (asset: Asset) => { - return asset.networks?.find((n) => n.type === 'fuel')?.assetId; - }; - const toggleHideAmount = () => { setHideAmount(!hideAmount); }; - useEffect(() => { - if (isConnected) { - refetch(); - refetchAccount(); - refetchAssets(); - refetchWallet(); - setFetchedBalance(false); - } - }, [isConnected, refetch, refetchAccount, refetchAssets, refetchWallet]); - useEffect(() => { if (!isConnected) { setAddress(''); - setBalance(bn(0)); - setAssetsBalances([]); + setMainAsset({} as IAssetsBalance); + setFetchedBalance(false); + } else { + refetch(); + refetchAccount(); + refetchAssetsBalance(); setFetchedBalance(false); } - }, [isConnected]); - - useEffect(() => { - if ( - isFetchedWallet && - wallet && - isFetchedAssets && - assetsBalances.length === 0 - ) { - wallet - .getBalances() - .then(({ balances }) => { - const enrichedAssets = balances.map((balance) => { - const asset = assets.find( - (asset) => getAssetId(asset) === balance.assetId, - ); - return { - name: asset?.name ?? 'Unknown', - symbol: asset?.symbol ?? 'UNK', - icon: asset?.icon ?? '', - amount: balance.amount ?? bn(0), - id: balance.assetId, - } as IAssetsBalance; - }); - setAssetsBalances( - enrichedAssets.length === 0 ? defaultAssetsBalance : enrichedAssets, - ); - }) - .catch(console.error); - } - }, [ - wallet, - isFetchedWallet, - isFetchedAssets, - assets, - getAssetId, - assetsBalances, - ]); + }, [isConnected, refetch, refetchAccount, refetchAssetsBalance]); useEffect(() => { - if (assetsBalances.length > 0 && !isFetchedBalance) { - const balance = - assetsBalances.find((ab) => ab.symbol === 'ETH')?.amount ?? - assetsBalances.length === 1 - ? assetsBalances[0].amount - : assetsBalances.reduce((acc, ab) => acc.add(ab.amount), bn(0)); - setBalance(balance); + if (assetsBalance.length > 0 && !isFetchedBalance) { + const asset = + assetsBalance.find((ab) => ab.symbol === 'ETH') ?? assetsBalance[0]; + setMainAsset(asset); setFetchedBalance(true); } - }, [assetsBalances, isFetchedBalance]); + }, [assetsBalance, isFetchedBalance]); useEffect(() => { if (isFetchedAccount && account && address === '') { @@ -147,8 +74,7 @@ export const WebWallet = () => { const isLoading = !isFetchedAccount || - !isFetchedWallet || - !isFetchedAssets || + !isFetchedAssetsBalance || !isFetchedConnector || !isFetchedBalance; @@ -170,98 +96,25 @@ export const WebWallet = () => { isConnected={isConnected} /> - - - - - - - - + + +
- - - - - - - - - - + + - - - - - - - +