diff --git a/docs/pages/components/TreeView.mdx b/docs/pages/components/TreeView.mdx new file mode 100644 index 000000000..8e18449f4 --- /dev/null +++ b/docs/pages/components/TreeView.mdx @@ -0,0 +1,180 @@ +--- +title: TreeView +description: A component that displays a hierarchical tree structure. +source: https://github.com/dequelabs/cauldron/tree/develop/packages/react/src/components/TreeView/TreeView.tsx +--- + +import { TreeView } from '@deque/cauldron-react'; + +```jsx +import { TreeView, type TreeViewFileType } from '@deque/cauldron-react'; +``` + +## Examples + +### Single Selection + +Allows only one tree item to be selected at a time. + +```jsx example +function SingleSelectionTreeView() { + const items = [ + { + id: '1', + textValue: 'Documents', + children: [{ id: '2', textValue: 'Project' }] + }, + { + id: '3', + textValue: 'Photos', + children: [{ id: '4', textValue: 'Image 1' }] + } + ]; + return ( + + ); +} +``` + +### Multiple Selection + +Allows multiple tree items to be selected at once. + +```jsx example +function MultipleSelectionTreeView() { + const items = [ + { + id: '1', + textValue: 'Documents', + children: [{ id: '2', textValue: 'Project' }] + }, + { + id: '3', + textValue: 'Photos', + children: [{ id: '4', textValue: 'Image 1' }] + } + ]; + return ( + + ); +} +``` + +### Default Expanded + +Pass keys into the `defaultExpandedKeys` prop array to expand them by default. + +```jsx example +function DefaultExpandedTreeView() { + const items = [ + { + id: '1', + textValue: 'Documents', + children: [{ id: '2', textValue: 'Project' }] + }, + { + id: '3', + textValue: 'Photos', + children: [{ id: '4', textValue: 'Image 1' }] + }, + { + id: '5', + textValue: 'More Photos', + children: [ + { id: '6', textValue: 'Another Image 1' }, + { id: '7', textValue: 'Another Image 2' }, + { + id: '8', + textValue: 'Another Image 3', + children: [{ id: '9', textValue: 'Another Image 4' }] + } + ] + } + ]; + return ( + + ); +} +``` + +### Custom onAction + +TreeView with a custom action handler for item selection. + +```jsx example +function ActionTreeView() { + const onAction = (key) => { + alert(`Selected item: ${key}`); + }; + const items = [ + { + id: '1', + textValue: 'Documents', + children: [{ id: '2', textValue: 'Project' }] + }, + { + id: '3', + textValue: 'Photos', + children: [{ id: '4', textValue: 'Image 1' }] + } + ]; + return ( + + ); +} +``` + +## Props + + void', + defaultValue: 'undefined', + description: 'Callback fired when a tree item is activated.' + }, + { + name: 'selectionMode', + type: "'none' | 'single' | 'multiple'", + defaultValue: 'none', + description: + 'Selection mode: none, single, or multiple selection allowed. Checkboxes will not show if selectionMode is none' + }, + { + name: 'defaultExpandedKeys', + type: 'string[]', + defaultValue: 'undefined', + description: 'Keys of tree items that should be expanded by default.' + } + ]} +/> diff --git a/packages/react/package.json b/packages/react/package.json index 3b72a53ae..a15d927f3 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -27,6 +27,7 @@ "classnames": "^2.2.6", "focusable": "^2.3.0", "keyname": "^0.1.0", + "react-aria-components": "^1.13.0", "react-id-generator": "^3.0.1", "react-syntax-highlighter": "^15.5.0", "tslib": "^2.4.0" diff --git a/packages/react/src/components/Checkbox/index.tsx b/packages/react/src/components/Checkbox/index.tsx index 597e6e322..982243629 100644 --- a/packages/react/src/components/Checkbox/index.tsx +++ b/packages/react/src/components/Checkbox/index.tsx @@ -19,6 +19,7 @@ export interface CheckboxProps extends InputHTMLAttributes { customIcon?: React.ReactNode; checkboxRef?: React.ForwardedRef; indeterminate?: boolean; + onChangeToggle?: boolean; } const Checkbox = forwardRef( @@ -31,6 +32,7 @@ const Checkbox = forwardRef( checkboxRef, className, onChange, + onChangeToggle = true, onFocus, onBlur, 'aria-describedby': ariaDescribedby, @@ -121,7 +123,9 @@ const Checkbox = forwardRef( if (isIndeterminate) { setIsIndeterminate(false); } - setIsChecked(e.target.checked); + if (onChangeToggle) { + setIsChecked(e.target.checked); + } if (onChange) { onChange(e); } diff --git a/packages/react/src/components/TreeView/TreeView.test.tsx b/packages/react/src/components/TreeView/TreeView.test.tsx new file mode 100644 index 000000000..2182b432d --- /dev/null +++ b/packages/react/src/components/TreeView/TreeView.test.tsx @@ -0,0 +1,123 @@ +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; +import TreeView, { TreeViewFileType } from '../../../src/components/TreeView'; + +const items: TreeViewFileType[] = [ + { + id: '1', + textValue: 'TreeView', + children: [ + { id: '2', textValue: 'pizza' }, + { id: '3', textValue: 'pie' } + ] + }, + { + id: '4', + textValue: 'Another One', + children: [ + { id: '5', textValue: 'foo' }, + { id: '6', textValue: 'bar' } + ] + } +]; + +test('renders tree items', () => { + const { getByText } = render( + + ); + expect(getByText('TreeView')).toBeInTheDocument(); + expect(getByText('Another One')).toBeInTheDocument(); +}); + +test('selects a tree item on click', () => { + const { getByText } = render( + + ); + const child1 = getByText('TreeView'); + fireEvent.click(child1); + expect(child1.closest('[aria-selected="true"]')).toBeTruthy(); +}); + +test('selects a checkbox when clicked', () => { + const { getAllByLabelText } = render( + + ); + const checkbox = getAllByLabelText('TreeView')[1]; + fireEvent.click(checkbox); + expect(checkbox).toBeChecked(); +}); + +test('calls onAction when a tree item is activated', () => { + const onAction = jest.fn(); + const { getByText } = render( + + ); + fireEvent.click(getByText('TreeView')); + expect(onAction).toHaveBeenCalled(); +}); + +test('only one item can be selected in single selection mode', () => { + const { getByText } = render( + + ); + const item1 = getByText('TreeView'); + const item2 = getByText('Another One'); + fireEvent.click(item1); + expect(item1.closest('[aria-selected="true"]')).toBeTruthy(); + fireEvent.click(item2); + expect(item2.closest('[aria-selected="true"]')).toBeTruthy(); + expect(item1.closest('[aria-selected="true"]')).toBeFalsy(); +}); + +test('multiple items can be selected in multiple selection mode', () => { + const { getAllByLabelText } = render( + + ); + const checkbox1 = getAllByLabelText('TreeView')[1]; + const checkbox2 = getAllByLabelText('Another One')[1]; + fireEvent.click(checkbox1); + fireEvent.click(checkbox2); + expect(checkbox1).toBeChecked(); + expect(checkbox2).toBeChecked(); +}); + +test('children are rendered when treeview is open', () => { + const { getByText, queryByText } = render( + + ); + expect(getByText('pizza')).toBeInTheDocument(); + expect(getByText('pie')).toBeInTheDocument(); + expect(queryByText('foo')).toBeNull(); + expect(queryByText('bar')).toBeNull(); +}); + +test('multiple treeviews can be open at once', () => { + const { getByText } = render( + + ); + expect(getByText('pizza')).toBeInTheDocument(); + expect(getByText('pie')).toBeInTheDocument(); + expect(getByText('foo')).toBeInTheDocument(); + expect(getByText('bar')).toBeInTheDocument(); +}); diff --git a/packages/react/src/components/TreeView/TreeViewItem.tsx b/packages/react/src/components/TreeView/TreeViewItem.tsx new file mode 100644 index 000000000..2d6d34d6b --- /dev/null +++ b/packages/react/src/components/TreeView/TreeViewItem.tsx @@ -0,0 +1,85 @@ +import React, { useRef, useState } from 'react'; +import { + Button, + Collection, + TreeItem, + TreeItemContent, + TreeItemContentRenderProps +} from 'react-aria-components'; +import { TreeViewFileType } from '.'; +import Icon from '../Icon'; +import Checkbox from '../Checkbox'; + +interface TreeViewItemProps extends TreeViewFileType { + onAction?: () => void; +} + +const TreeViewItem = ({ + id, + textValue, + children, + onAction +}: TreeViewItemProps) => { + const treeItemRef = useRef(null); + const [onActionCheckboxIsSelected, setOnActionCheckboxIsSelected] = + useState(false); + + //by default, react-aria-components doesn't toggle the selected state if you provide a custom onAction handler. + //See: https://react-aria.adobe.com/Tree#selection-and-actions + //This functions prevents anyone using the component with onAction from having to manually manage checkbox state. + const handleOnAction = (key: string, onAction?: (key: string) => void) => { + const elm = treeItemRef.current; + if (elm) { + const selected = (elm as HTMLDivElement).getAttribute('aria-selected'); + (elm as HTMLDivElement).setAttribute( + 'aria-selected', + selected === 'true' ? 'false' : 'true' + ); + setOnActionCheckboxIsSelected((prev) => !prev); + if (onAction) { + onAction(key); + } + } + }; + + return ( + handleOnAction(id, onAction) } : {})} + ref={treeItemRef} + > + + {({ selectionMode, isSelected }: TreeItemContentRenderProps) => ( + <> + + {selectionMode !== 'none' ? ( + + ) : ( + <>{textValue} + )} + + )} + + {children && children?.length > 0 && ( + + {children.map((child) => ( + + ))} + + )} + + ); +}; + +TreeViewItem.displayName = 'TreeViewItem'; + +export default TreeViewItem; diff --git a/packages/react/src/components/TreeView/index.tsx b/packages/react/src/components/TreeView/index.tsx new file mode 100644 index 000000000..b7686fb5a --- /dev/null +++ b/packages/react/src/components/TreeView/index.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import { Tree } from 'react-aria-components'; +import TreeViewItem from './TreeViewItem'; + +export interface TreeViewFileType { + id: string; + textValue: string; + children?: TreeViewFileType[]; +} + +interface TreeViewProps { + ariaLabel: string; + items: TreeViewFileType[]; + onAction?: () => void; + selectionMode?: 'none' | 'single' | 'multiple'; + defaultExpandedKeys?: string[]; +} + +const TreeView = ({ ariaLabel, items, onAction, ...rest }: TreeViewProps) => { + return ( + + {items.map((item) => ( + + ))} + + ); +}; + +TreeView.displayName = 'TreeView'; + +export default TreeView; diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 51c91f3ac..577921a5e 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -145,6 +145,7 @@ export { ActionListLinkItem } from './components/ActionList'; export { ActionMenu } from './components/ActionMenu'; +export { default as TreeView } from './components/TreeView'; /** * Helpers / Utils diff --git a/packages/react/yarn.lock b/packages/react/yarn.lock index fd828159b..ab6bfe49e 100644 --- a/packages/react/yarn.lock +++ b/packages/react/yarn.lock @@ -1275,6 +1275,76 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== +"@formatjs/ecma402-abstract@2.3.6": + version "2.3.6" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz#d6ca9d3579054fe1e1a0a0b5e872e0d64922e4e1" + integrity sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw== + dependencies: + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/intl-localematcher" "0.6.2" + decimal.js "^10.4.3" + tslib "^2.8.0" + +"@formatjs/fast-memoize@2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz#707f9ddaeb522a32f6715bb7950b0831f4cc7b15" + integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ== + dependencies: + tslib "^2.8.0" + +"@formatjs/icu-messageformat-parser@2.11.4": + version "2.11.4" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz#63bd2cd82d08ae2bef55adeeb86486df68826f32" + integrity sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw== + dependencies: + "@formatjs/ecma402-abstract" "2.3.6" + "@formatjs/icu-skeleton-parser" "1.8.16" + tslib "^2.8.0" + +"@formatjs/icu-skeleton-parser@1.8.16": + version "1.8.16" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz#13f81f6845c7cf6599623006aacaf7d6b4ad2970" + integrity sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ== + dependencies: + "@formatjs/ecma402-abstract" "2.3.6" + tslib "^2.8.0" + +"@formatjs/intl-localematcher@0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz#e9ebe0b4082d7d48e5b2d753579fb7ece4eaefea" + integrity sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA== + dependencies: + tslib "^2.8.0" + +"@internationalized/date@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.10.0.tgz#056db64a4facdf48c6937ad498a882a8151d640a" + integrity sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.8.tgz#7181e8178f0868535f4507a573bf285e925832cb" + integrity sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.6.5.tgz#1103f2832ca8d9dd3e4eecf95733d497791dbbbe" + integrity sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.2.7": + version "3.2.7" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.7.tgz#76ae10f1e6e1fdaec7d0028a3f807d37a71bd2dd" + integrity sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A== + dependencies: + "@swc/helpers" "^0.5.0" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1552,6 +1622,1215 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@react-aria/autocomplete@3.0.0-rc.3": + version "3.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@react-aria/autocomplete/-/autocomplete-3.0.0-rc.3.tgz#e8ffda0c49acb03238374010a3b813236905280b" + integrity sha512-vemf7h3hvIDk3MxiiPryysfYgJDg8R72X46dRIeg0+cXKYxjPYou64/DTucSV2z5J6RC5JalINu0jIDaLhEILw== + dependencies: + "@react-aria/combobox" "^3.14.0" + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/listbox" "^3.15.0" + "@react-aria/searchfield" "^3.8.9" + "@react-aria/textfield" "^3.18.2" + "@react-aria/utils" "^3.31.0" + "@react-stately/autocomplete" "3.0.0-beta.3" + "@react-stately/combobox" "^3.12.0" + "@react-types/autocomplete" "3.0.0-alpha.35" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/breadcrumbs@^3.5.29": + version "3.5.29" + resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.5.29.tgz#bfc1e953eccd7393bd457f1c9698a928142f0fc7" + integrity sha512-rKS0dryllaZJqrr3f/EAf2liz8CBEfmL5XACj+Z1TAig6GIYe1QuA3BtkX0cV9OkMugXdX8e3cbA7nD10ORRqg== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/link" "^3.8.6" + "@react-aria/utils" "^3.31.0" + "@react-types/breadcrumbs" "^3.7.17" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/button@^3.14.2": + version "3.14.2" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.14.2.tgz#9dcd2fa53e7968a563b4898ace3360c85ccc22f5" + integrity sha512-VbLIA+Kd6f/MDjd+TJBUg2+vNDw66pnvsj2E4RLomjI9dfBuN7d+Yo2UnsqKVyhePjCUZ6xxa2yDuD63IOSIYA== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/toolbar" "3.0.0-beta.21" + "@react-aria/utils" "^3.31.0" + "@react-stately/toggle" "^3.9.2" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/calendar@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.9.2.tgz#4b6e428ee3fb81f5729cb80193b9d4ba9b26d5f1" + integrity sha512-uSLxLgOPRnEU4Jg59lAhUVA+uDx/55NBg4lpfsP2ynazyiJ5LCXmYceJi+VuOqMml7d9W0dB87OldOeLdIxYVA== + dependencies: + "@internationalized/date" "^3.10.0" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/utils" "^3.31.0" + "@react-stately/calendar" "^3.9.0" + "@react-types/button" "^3.14.1" + "@react-types/calendar" "^3.8.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/checkbox@^3.16.2": + version "3.16.2" + resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.16.2.tgz#b1a3310d327826fe354625c332f3b80acb025a39" + integrity sha512-29Mj9ZqXioJ0bcMnNGooHztnTau5pikZqX3qCRj5bYR3by/ZFFavYoMroh9F7s/MbFm/tsKX+Sf02lYFEdXRjA== + dependencies: + "@react-aria/form" "^3.1.2" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/toggle" "^3.12.2" + "@react-aria/utils" "^3.31.0" + "@react-stately/checkbox" "^3.7.2" + "@react-stately/form" "^3.2.2" + "@react-stately/toggle" "^3.9.2" + "@react-types/checkbox" "^3.10.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/collections@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@react-aria/collections/-/collections-3.0.0.tgz#d193da01e71bf0118b468845f46b4cc45053b28c" + integrity sha512-vCFztpsl1AYjQn3lH7CwzYiiRAGfnm7+EXaXIt7yS4O6YC8C3FfOBf3jdxcFjE5u8CEfiL4X+4ABkfio10nneg== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/ssr" "^3.9.10" + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + use-sync-external-store "^1.4.0" + +"@react-aria/color@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-aria/color/-/color-3.1.2.tgz#9ee2a86e4cf4622ca8ff78bddd34a2bf1bdcdd34" + integrity sha512-jCC+Q7rAQGLQBkHjkPAeDuGYuMbc4neifjlNRiyZ9as1z4gg63H8MteoWYYk6K4vCKKxSixgt8MfI29XWMOWPQ== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/numberfield" "^3.12.2" + "@react-aria/slider" "^3.8.2" + "@react-aria/spinbutton" "^3.6.19" + "@react-aria/textfield" "^3.18.2" + "@react-aria/utils" "^3.31.0" + "@react-aria/visually-hidden" "^3.8.28" + "@react-stately/color" "^3.9.2" + "@react-stately/form" "^3.2.2" + "@react-types/color" "^3.1.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/combobox@^3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.14.0.tgz#1e6c55a319d367d6a0a9e19f2bd68d3a9a0c8b9a" + integrity sha512-z4ro0Hma//p4nL2IJx5iUa7NwxeXbzSoZ0se5uTYjG1rUUMszg+wqQh/AQoL+eiULn7rs18JY9wwNbVIkRNKWA== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/listbox" "^3.15.0" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/menu" "^3.19.3" + "@react-aria/overlays" "^3.30.0" + "@react-aria/selection" "^3.26.0" + "@react-aria/textfield" "^3.18.2" + "@react-aria/utils" "^3.31.0" + "@react-stately/collections" "^3.12.8" + "@react-stately/combobox" "^3.12.0" + "@react-stately/form" "^3.2.2" + "@react-types/button" "^3.14.1" + "@react-types/combobox" "^3.13.9" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/datepicker@^3.15.2": + version "3.15.2" + resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.15.2.tgz#22bca8cfdd00e32a42f8e53b35e5ba7e886f047d" + integrity sha512-th078hyNqPf4P2K10su/y32zPDjs3lOYVdHvsL9/+5K1dnTvLHCK5vgUyLuyn8FchhF7cmHV49D+LZVv65PEpQ== + dependencies: + "@internationalized/date" "^3.10.0" + "@internationalized/number" "^3.6.5" + "@internationalized/string" "^3.2.7" + "@react-aria/focus" "^3.21.2" + "@react-aria/form" "^3.1.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/spinbutton" "^3.6.19" + "@react-aria/utils" "^3.31.0" + "@react-stately/datepicker" "^3.15.2" + "@react-stately/form" "^3.2.2" + "@react-types/button" "^3.14.1" + "@react-types/calendar" "^3.8.0" + "@react-types/datepicker" "^3.13.2" + "@react-types/dialog" "^3.5.22" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/dialog@^3.5.31": + version "3.5.31" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.5.31.tgz#1c1682a89dd6a4c6bc7bb0e58ea78eb6f2750a65" + integrity sha512-inxQMyrzX0UBW9Mhraq0nZ4HjHdygQvllzloT1E/RlDd61lr3RbmJR6pLsrbKOTtSvDIBJpCso1xEdHCFNmA0Q== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/overlays" "^3.30.0" + "@react-aria/utils" "^3.31.0" + "@react-types/dialog" "^3.5.22" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/disclosure@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@react-aria/disclosure/-/disclosure-3.1.0.tgz#c08a0f9696fa80ca69de78f37c8bf0b65a7a9397" + integrity sha512-5996BeBpnj+yKXYysz+UuhFQxGFPvaZZ3zNBd052wz/i+TVFVGSqqYJ6cwZyO1AfBR8zOT0ZIiK4EC3ETwSvtQ== + dependencies: + "@react-aria/ssr" "^3.9.10" + "@react-aria/utils" "^3.31.0" + "@react-stately/disclosure" "^3.0.8" + "@react-types/button" "^3.14.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/dnd@^3.11.3": + version "3.11.3" + resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.11.3.tgz#438b4603ef9b2560775ea02b64ea3dcdf15bf474" + integrity sha512-MyTziciik1Owz3rqDghu0K3ZtTFvmj/R2ZsLDwbU9N4hKqGX/BKnrI8SytTn8RDqVv5LmA/GhApLngiupTAsXw== + dependencies: + "@internationalized/string" "^3.2.7" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/overlays" "^3.30.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/collections" "^3.12.8" + "@react-stately/dnd" "^3.7.1" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/focus@^3.21.2": + version "3.21.2" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.21.2.tgz#3ce90450c3ee69f11c0647b4717c26d10941231c" + integrity sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/form@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-aria/form/-/form-3.1.2.tgz#e0aeb608d309594a59f12a7b05eb7374f2033a07" + integrity sha512-R3i7L7Ci61PqZQvOrnL9xJeWEbh28UkTVgkj72EvBBn39y4h7ReH++0stv7rRs8p5ozETSKezBbGfu4UsBewWw== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-stately/form" "^3.2.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/grid@^3.14.5": + version "3.14.5" + resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.14.5.tgz#fccd1e3b64cdad7b17aff0dada6da64df0cd1d8c" + integrity sha512-XHw6rgjlTqc85e3zjsWo3U0EVwjN5MOYtrolCKc/lc2ItNdcY3OlMhpsU9+6jHwg/U3VCSWkGvwAz9hg7krd8Q== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/collections" "^3.12.8" + "@react-stately/grid" "^3.11.6" + "@react-stately/selection" "^3.20.6" + "@react-types/checkbox" "^3.10.2" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/gridlist@^3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.14.1.tgz#4aa636ad1342f859dc5ce1a350211535ae5ae424" + integrity sha512-keS03Am07aOn7RuNaRsMOyh0jscyhDn95asCVy4lxhl9A9TFk1Jw0o2L6q6cWRj1gFiKeacj/otG5H8ZKQQ2Wg== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/grid" "^3.14.5" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/list" "^3.13.1" + "@react-stately/tree" "^3.9.3" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/i18n@^3.12.13": + version "3.12.13" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.12.13.tgz#7c920d131cd07d4d5af21bd33ea7a5da0ce2ad11" + integrity sha512-YTM2BPg0v1RvmP8keHenJBmlx8FXUKsdYIEX7x6QWRd1hKlcDwphfjzvt0InX9wiLiPHsT5EoBTpuUk8SXc0Mg== + dependencies: + "@internationalized/date" "^3.10.0" + "@internationalized/message" "^3.1.8" + "@internationalized/number" "^3.6.5" + "@internationalized/string" "^3.2.7" + "@react-aria/ssr" "^3.9.10" + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.25.6": + version "3.25.6" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.25.6.tgz#6fdf287337c5e4285045c35cf94b2ec8ae3b3a49" + integrity sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw== + dependencies: + "@react-aria/ssr" "^3.9.10" + "@react-aria/utils" "^3.31.0" + "@react-stately/flags" "^3.1.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/label@^3.7.22": + version "3.7.22" + resolved "https://registry.yarnpkg.com/@react-aria/label/-/label-3.7.22.tgz#13fbf1d568c37becca4652e5c5d0b490c29e5e52" + integrity sha512-jLquJeA5ZNqDT64UpTc9XJ7kQYltUlNcgxZ37/v4mHe0UZ7QohCKdKQhXHONb0h2jjNUpp2HOZI8J9++jOpzxA== + dependencies: + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/landmark@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@react-aria/landmark/-/landmark-3.0.7.tgz#6ffc06c870018f6ead456f6f67cccebd655910f0" + integrity sha512-t8c610b8hPLS6Vwv+rbuSyljZosI1s5+Tosfa0Fk4q7d+Ex6Yj7hLfUFy59GxZAufhUYfGX396fT0gPqAbU1tg== + dependencies: + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + use-sync-external-store "^1.4.0" + +"@react-aria/link@^3.8.6": + version "3.8.6" + resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.8.6.tgz#522c246b9fcf62fbe75f9c07d056d6b984523143" + integrity sha512-7F7UDJnwbU9IjfoAdl6f3Hho5/WB7rwcydUOjUux0p7YVWh/fTjIFjfAGyIir7MJhPapun1D0t97QQ3+8jXVcg== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-types/link" "^3.6.5" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/listbox@^3.15.0": + version "3.15.0" + resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.15.0.tgz#4218e24c20ec68069f51175c57fa2bf55b1acc46" + integrity sha512-Ub1Wu79R9sgxM7h4HeEdjOgOKDHwduvYcnDqsSddGXgpkL8ADjsy2YUQ0hHY5VnzA4BxK36bLp4mzSna8Qvj1w== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/collections" "^3.12.8" + "@react-stately/list" "^3.13.1" + "@react-types/listbox" "^3.7.4" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/live-announcer@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.4.4.tgz#0e6533940222208b323b71d56ac8e115b2121e6a" + integrity sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/menu@^3.19.3": + version "3.19.3" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.19.3.tgz#65a6dc14b27648be611bf28ab4bbcd2823b612a8" + integrity sha512-52fh8y8b2776R2VrfZPpUBJYC9oTP7XDy+zZuZTxPEd7Ywk0JNUl5F92y6ru22yPkS13sdhrNM/Op+V/KulmAg== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/overlays" "^3.30.0" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/collections" "^3.12.8" + "@react-stately/menu" "^3.9.8" + "@react-stately/selection" "^3.20.6" + "@react-stately/tree" "^3.9.3" + "@react-types/button" "^3.14.1" + "@react-types/menu" "^3.10.5" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/meter@^3.4.27": + version "3.4.27" + resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.4.27.tgz#01cf9bbd12f05bd0515e048960690b017b0b9dd2" + integrity sha512-andOOdJkgRJF9vBi5VWRmFodK+GT+5X1lLeNUmb4qOX8/MVfX/RbK72LDeIhd7xC7rSCFHj3WvZ198rK4q0k3w== + dependencies: + "@react-aria/progress" "^3.4.27" + "@react-types/meter" "^3.4.13" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/numberfield@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.12.2.tgz#c219ecfba2076865e891cb2435c6bad558d6eabf" + integrity sha512-M2b+z0HIXiXpGAWOQkO2kpIjaLNUXJ5Q3/GMa3Fkr+B1piFX0VuOynYrtddKVrmXCe+r5t+XcGb0KS29uqv7nQ== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/spinbutton" "^3.6.19" + "@react-aria/textfield" "^3.18.2" + "@react-aria/utils" "^3.31.0" + "@react-stately/form" "^3.2.2" + "@react-stately/numberfield" "^3.10.2" + "@react-types/button" "^3.14.1" + "@react-types/numberfield" "^3.8.15" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/overlays@^3.30.0": + version "3.30.0" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.30.0.tgz#e19f804c7fb9d99b25e33230cc3c155ed0b3cefb" + integrity sha512-UpjqSjYZx5FAhceWCRVsW6fX1sEwya1fQ/TKkL53FAlLFR8QKuoKqFlmiL43YUFTcGK3UdEOy3cWTleLQwdSmQ== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/ssr" "^3.9.10" + "@react-aria/utils" "^3.31.0" + "@react-aria/visually-hidden" "^3.8.28" + "@react-stately/overlays" "^3.6.20" + "@react-types/button" "^3.14.1" + "@react-types/overlays" "^3.9.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/progress@^3.4.27": + version "3.4.27" + resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.4.27.tgz#bdc968f133ddd33e5feaf2903d43aa34435dad51" + integrity sha512-0OA1shs1575g1zmO8+rWozdbTnxThFFhOfuoL1m7UV5Dley6FHpueoKB1ECv7B+Qm4dQt6DoEqLg7wsbbQDhmg== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/label" "^3.7.22" + "@react-aria/utils" "^3.31.0" + "@react-types/progress" "^3.5.16" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/radio@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.12.2.tgz#48ae0e9ba93e5c29e998fa3b64155a324a87f63e" + integrity sha512-I11f6I90neCh56rT/6ieAs3XyDKvEfbj/QmbU5cX3p+SJpRRPN0vxQi5D1hkh0uxDpeClxygSr31NmZsd4sqfg== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/form" "^3.1.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/utils" "^3.31.0" + "@react-stately/radio" "^3.11.2" + "@react-types/radio" "^3.9.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/searchfield@^3.8.9": + version "3.8.9" + resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.8.9.tgz#faa82c976bf3ef6c678bf9a2f9ae9bea9d4d3096" + integrity sha512-Yt2pj8Wb5/XsUr2T0DQqFv+DlFpzzWIWnNr9cJATUcWV/xw6ok7YFEg9+7EHtBmsCQxFFJtock1QfZzBw6qLtQ== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/textfield" "^3.18.2" + "@react-aria/utils" "^3.31.0" + "@react-stately/searchfield" "^3.5.16" + "@react-types/button" "^3.14.1" + "@react-types/searchfield" "^3.6.6" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/select@^3.17.0": + version "3.17.0" + resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.17.0.tgz#d96933daca43939f4d59518f843c87a4f600426f" + integrity sha512-q5ZuyAn5jSOeI0Ys99951TaGcF4O7u1SSBVxPMwVVXOU8ZhToCNx+WG3n/JDYHEjqdo7sbsVRaPA7LkBzBGf5w== + dependencies: + "@react-aria/form" "^3.1.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/listbox" "^3.15.0" + "@react-aria/menu" "^3.19.3" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-aria/visually-hidden" "^3.8.28" + "@react-stately/select" "^3.8.0" + "@react-types/button" "^3.14.1" + "@react-types/select" "^3.11.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.26.0": + version "3.26.0" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.26.0.tgz#dc5906aa732b0dbd54d26dd6a5f1dc793055e29c" + integrity sha512-ZBH3EfWZ+RfhTj01dH8L17uT7iNbXWS8u77/fUpHgtrm0pwNVhx0TYVnLU1YpazQ/3WVpvWhmBB8sWwD1FlD/g== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-stately/selection" "^3.20.6" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/separator@^3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.4.13.tgz#6eea332c68b67d1081f4d8c2af8198c6bc46bfb4" + integrity sha512-0NlcrdBfQbcjWEXdHl3+uSY1272n2ljT1gWL2RIf6aQsQWTZ0gz0rTgRHy0MTXN+y+tICItUERJT4vmTLtIzVg== + dependencies: + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/slider@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.8.2.tgz#a075205b06fa714733e3aabfdbc63d11f5c67be7" + integrity sha512-6KyUGaVzRE4xAz1LKHbNh1q5wzxe58pdTHFSnxNe6nk1SCoHw7NfI4h2s2m6LgJ0megFxsT0Ir8aHaFyyxmbgg== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/utils" "^3.31.0" + "@react-stately/slider" "^3.7.2" + "@react-types/shared" "^3.32.1" + "@react-types/slider" "^3.8.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/spinbutton@^3.6.19": + version "3.6.19" + resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.6.19.tgz#fd0253b95b88e9fb12ff406b722b4fd1e1c8c836" + integrity sha512-xOIXegDpts9t3RSHdIN0iYQpdts0FZ3LbpYJIYVvdEHo9OpDS+ElnDzCGtwZLguvZlwc5s1LAKuKopDUsAEMkw== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/utils" "^3.31.0" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.9.10": + version "3.9.10" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.10.tgz#7fdc09e811944ce0df1d7e713de1449abd7435e6" + integrity sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/switch@^3.7.8": + version "3.7.8" + resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.7.8.tgz#e0a14f5eeda6017ae4d2b1cd236270d45c03e5ca" + integrity sha512-AfsUq1/YiuoprhcBUD9vDPyWaigAwctQNW1fMb8dROL+i/12B+Zekj8Ml+jbU69/kIVtfL0Jl7/0Bo9KK3X0xQ== + dependencies: + "@react-aria/toggle" "^3.12.2" + "@react-stately/toggle" "^3.9.2" + "@react-types/shared" "^3.32.1" + "@react-types/switch" "^3.5.15" + "@swc/helpers" "^0.5.0" + +"@react-aria/table@^3.17.8": + version "3.17.8" + resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.17.8.tgz#bf9c72cfe13775d6ad6934855f21456d73844ef0" + integrity sha512-bXiZoxTMbsqUJsYDhHPzKc3jw0HFJ/xMsJ49a0f7mp5r9zACxNLeIU0wJ4Uvx37dnYOHKzGliG+rj5l4sph7MA== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/grid" "^3.14.5" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/utils" "^3.31.0" + "@react-aria/visually-hidden" "^3.8.28" + "@react-stately/collections" "^3.12.8" + "@react-stately/flags" "^3.1.2" + "@react-stately/table" "^3.15.1" + "@react-types/checkbox" "^3.10.2" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@react-types/table" "^3.13.4" + "@swc/helpers" "^0.5.0" + +"@react-aria/tabs@^3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.10.8.tgz#95c76badd8a9c9583449d0c765ab9289627847bc" + integrity sha512-sPPJyTyoAqsBh76JinBAxStOcbjZvyWFYKpJ9Uqw+XT0ObshAPPFSGeh8DiQemPs02RwJdrfARPMhyqiX8t59A== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/tabs" "^3.8.6" + "@react-types/shared" "^3.32.1" + "@react-types/tabs" "^3.3.19" + "@swc/helpers" "^0.5.0" + +"@react-aria/tag@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-aria/tag/-/tag-3.7.2.tgz#5a655640deaf1705b8001abd636a7b96ae2250e9" + integrity sha512-JV679P5r4DftbqyNBRt7Nw9mP7dxaKPfikjyQuvUoEOa06wBLbM/hU9RJUPRvqK+Un6lgBDAmXD9NNf4N2xpdw== + dependencies: + "@react-aria/gridlist" "^3.14.1" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/list" "^3.13.1" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/textfield@^3.18.2": + version "3.18.2" + resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.18.2.tgz#d0198ac9833396f3b831e7e3c4cbe751979a4014" + integrity sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ== + dependencies: + "@react-aria/form" "^3.1.2" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/utils" "^3.31.0" + "@react-stately/form" "^3.2.2" + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@react-types/textfield" "^3.12.6" + "@swc/helpers" "^0.5.0" + +"@react-aria/toast@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@react-aria/toast/-/toast-3.0.8.tgz#50a751654a4f4917649a2a411f1e28418dc60dd1" + integrity sha512-rfJIms6AkMyQ7ZgKrMZgGfPwGcB/t1JoEwbc1PAmXcAvFI/hzF6YF7ZFDXiq38ucFsP9PnHmbXIzM9w4ccl18A== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/landmark" "^3.0.7" + "@react-aria/utils" "^3.31.0" + "@react-stately/toast" "^3.1.2" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/toggle@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.12.2.tgz#909c7c8b9bbeb2cc93a18297363eebb46354b0d4" + integrity sha512-g25XLYqJuJpt0/YoYz2Rab8ax+hBfbssllcEFh0v0jiwfk2gwTWfRU9KAZUvxIqbV8Nm8EBmrYychDpDcvW1kw== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-stately/toggle" "^3.9.2" + "@react-types/checkbox" "^3.10.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/toolbar@3.0.0-beta.21": + version "3.0.0-beta.21" + resolved "https://registry.yarnpkg.com/@react-aria/toolbar/-/toolbar-3.0.0-beta.21.tgz#936929637fb89b1ba562aeeeeeaae6253a952bdd" + integrity sha512-yRCk/GD8g+BhdDgxd3I0a0c8Ni4Wyo6ERzfSoBkPkwQ4X2E2nkopmraM9D0fXw4UcIr4bnmvADzkHXtBN0XrBg== + dependencies: + "@react-aria/focus" "^3.21.2" + "@react-aria/i18n" "^3.12.13" + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/tooltip@^3.8.8": + version "3.8.8" + resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.8.8.tgz#a9320dd5edc953fbf7a24b9c30312408730e9743" + integrity sha512-CmHUqtXtFWmG4AHMEr9hIVex+oscK6xcM2V47gq9ijNInxe3M6UBu/dBdkgGP/jYv9N7tzCAjTR8nNIHQXwvWw== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-stately/tooltip" "^3.5.8" + "@react-types/shared" "^3.32.1" + "@react-types/tooltip" "^3.4.21" + "@swc/helpers" "^0.5.0" + +"@react-aria/tree@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@react-aria/tree/-/tree-3.1.4.tgz#d264355534c4af5203a6b6f3a659681504e31f00" + integrity sha512-6pbFeN0dAsCOrFGUKU39CNjft20zCAjLfMqfkRWisL+JkUHI2nq6odUJF5jJTsU1C+1951+3oFOmVxPX+K+akQ== + dependencies: + "@react-aria/gridlist" "^3.14.1" + "@react-aria/i18n" "^3.12.13" + "@react-aria/selection" "^3.26.0" + "@react-aria/utils" "^3.31.0" + "@react-stately/tree" "^3.9.3" + "@react-types/button" "^3.14.1" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@^3.31.0": + version "3.31.0" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.31.0.tgz#4710e35bf658234cf4b53eec9742f25e51637b12" + integrity sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig== + dependencies: + "@react-aria/ssr" "^3.9.10" + "@react-stately/flags" "^3.1.2" + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/virtualizer@^4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@react-aria/virtualizer/-/virtualizer-4.1.10.tgz#af2e13a830d6c8e6ea31987229517285ce942d13" + integrity sha512-s0xOFh602ybTWuDrV/i6fV7Pz7vYghsY7F/RpYL/5IX9qCZ5C1FWFePpVktQAZghnd3ljH8hS8DULPeDfVLCrg== + dependencies: + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-stately/virtualizer" "^4.4.4" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/visually-hidden@^3.8.28": + version "3.8.28" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.28.tgz#61fc99c2d2662e7347abe25a421d138a3a81db46" + integrity sha512-KRRjbVVob2CeBidF24dzufMxBveEUtUu7IM+hpdZKB+gxVROoh4XRLPv9SFmaH89Z7D9To3QoykVZoWD0lan6Q== + dependencies: + "@react-aria/interactions" "^3.25.6" + "@react-aria/utils" "^3.31.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/autocomplete@3.0.0-beta.3": + version "3.0.0-beta.3" + resolved "https://registry.yarnpkg.com/@react-stately/autocomplete/-/autocomplete-3.0.0-beta.3.tgz#c7a96877915b7bff8804c5a353fb0b1ffecf0401" + integrity sha512-YfP/TrvkOCp6j7oqpZxJSvmSeXn+XtbKSOiBOuo+m2zCIhW2ncThmDB9uAUOkpmikDv/LkGKni40RQE8USdGdA== + dependencies: + "@react-stately/utils" "^3.10.8" + "@swc/helpers" "^0.5.0" + +"@react-stately/calendar@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.9.0.tgz#22da3b99692eabf53f94a58df7768d2135664c91" + integrity sha512-U5Nf2kx9gDhJRxdDUm5gjfyUlt/uUfOvM1vDW2UA62cA6+2k2cavMLc2wNlXOb/twFtl6p0joYKHG7T4xnEFkg== + dependencies: + "@internationalized/date" "^3.10.0" + "@react-stately/utils" "^3.10.8" + "@react-types/calendar" "^3.8.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/checkbox@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.7.2.tgz#0a2293e7b97a366f94b7830d3deb2c0e9876c829" + integrity sha512-j1ycUVz5JmqhaL6mDZgDNZqBilOB8PBW096sDPFaTtuYreDx2HOd1igxiIvwlvPESZwsJP7FVM3mYnaoXtpKPA== + dependencies: + "@react-stately/form" "^3.2.2" + "@react-stately/utils" "^3.10.8" + "@react-types/checkbox" "^3.10.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@^3.12.8": + version "3.12.8" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.12.8.tgz#f38692fb9c6384fb91d1c50052a40e595d3efa2c" + integrity sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ== + dependencies: + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/color@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-stately/color/-/color-3.9.2.tgz#87ac8461a01478208c302efa47582e872ff78c65" + integrity sha512-F+6Do8W3yu/4n7MpzZtbXwVukcLTFYYDIUtpoR+Jl52UmAr9Hf1CQgkyTI2azv1ZMzj1mVrTBhpBL0q27kFZig== + dependencies: + "@internationalized/number" "^3.6.5" + "@internationalized/string" "^3.2.7" + "@react-stately/form" "^3.2.2" + "@react-stately/numberfield" "^3.10.2" + "@react-stately/slider" "^3.7.2" + "@react-stately/utils" "^3.10.8" + "@react-types/color" "^3.1.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/combobox@^3.12.0": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.12.0.tgz#71e6c9a8ee2f75edc1d233df7b6d7a0b7aeb6fbe" + integrity sha512-A6q9R/7cEa/qoQsBkdslXWvD7ztNLLQ9AhBhVN9QvzrmrH5B4ymUwcTU8lWl22ykH7RRwfonLeLXJL4C+/L2oQ== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/form" "^3.2.2" + "@react-stately/list" "^3.13.1" + "@react-stately/overlays" "^3.6.20" + "@react-stately/utils" "^3.10.8" + "@react-types/combobox" "^3.13.9" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/data@^3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@react-stately/data/-/data-3.14.1.tgz#ba5550dee9d0d8ba10a4f6c763c3251631f73582" + integrity sha512-lDNc4gZ6kVZcrABeeQZPTTnP+1ykNylSvFzAC/Hq1fs8+s54xLRvoENWIyG+yK19N9TIGEoA0AOFG8PoAun43g== + dependencies: + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/datepicker@^3.15.2": + version "3.15.2" + resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.15.2.tgz#e873aecb5ec037b2da21b267c365c52443437dcb" + integrity sha512-S5GL+W37chvV8knv9v0JRv0L6hKo732qqabCCHXzOpYxkLIkV4f/y3cHdEzFWzpZ0O0Gkg7WgeYo160xOdBKYg== + dependencies: + "@internationalized/date" "^3.10.0" + "@internationalized/string" "^3.2.7" + "@react-stately/form" "^3.2.2" + "@react-stately/overlays" "^3.6.20" + "@react-stately/utils" "^3.10.8" + "@react-types/datepicker" "^3.13.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/disclosure@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@react-stately/disclosure/-/disclosure-3.0.8.tgz#ff6a3cc61993d25881cb8d6a82fcf829f139e02a" + integrity sha512-/Ce/Z76y85eSBZiemfU/uEyXkBBa1RdfLRaKD13rnfUV7/nS3ae1VtNlsXgmwQjWv2pmAiSuEKYMbZfVL7q/lQ== + dependencies: + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/dnd@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.7.1.tgz#23b2425553fc1cbc76821c96b30ecca1c9d16013" + integrity sha512-O1JBJ4HI1rVNKuoa5NXiC5FCrCEkr9KVBoKNlTZU8/cnQselhbEsUfMglAakO2EuwIaM1tIXoNF5J/N5P+6lTA== + dependencies: + "@react-stately/selection" "^3.20.6" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/flags@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.1.2.tgz#5c8e5ae416d37d37e2e583d2fcb3a046293504f2" + integrity sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-stately/form@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@react-stately/form/-/form-3.2.2.tgz#c1ae1264a414dd5e3e8ae0f21baf4814588d8c53" + integrity sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw== + dependencies: + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/grid@^3.11.6": + version "3.11.6" + resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.11.6.tgz#2993450ec5d0602e794f731fd49b3475f57e5547" + integrity sha512-vWPAkzpeTIsrurHfMubzMuqEw7vKzFhIJeEK5sEcLunyr1rlADwTzeWrHNbPMl66NAIAi70Dr1yNq+kahQyvMA== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/selection" "^3.20.6" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/layout@^4.5.1": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@react-stately/layout/-/layout-4.5.1.tgz#380b506409ef09bb032baf51055ef705e4320b02" + integrity sha512-Zk92HM6a8KFdyPzslhLCOmrrsvJ28+vFBisgiKMwVhe96cWlax1m9i4ktmO43xaUpSZkn06DRD/2k0d1x+Uwjw== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/table" "^3.15.1" + "@react-stately/virtualizer" "^4.4.4" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@react-types/table" "^3.13.4" + "@swc/helpers" "^0.5.0" + +"@react-stately/list@^3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.13.1.tgz#4afd36a87c8fd991a4447d28cc76d51fffddb837" + integrity sha512-eHaoauh21twbcl0kkwULhVJ+CzYcy1jUjMikNVMHOQdhr4WIBdExf7PmSgKHKqsSPhpGg6IpTCY2dUX3RycjDg== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/selection" "^3.20.6" + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/menu@^3.9.8": + version "3.9.8" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.9.8.tgz#5c2e781dadc3331bc5b3735fe30bf62616f9145f" + integrity sha512-bo0NOhofnTHLESiYfsSSw6gyXiPVJJ0UlN2igUXtJk5PmyhWjFzUzTzcnd7B028OB0si9w3LIWM3stqz5271Eg== + dependencies: + "@react-stately/overlays" "^3.6.20" + "@react-types/menu" "^3.10.5" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/numberfield@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.10.2.tgz#aa1fcaec84cd441ea5e847dd3e9eca784045be21" + integrity sha512-jlKVFYaH3RX5KvQ7a+SAMQuPccZCzxLkeYkBE64u1Zvi7YhJ8hkTMHG/fmZMbk1rHlseE2wfBdk0Rlya3MvoNQ== + dependencies: + "@internationalized/number" "^3.6.5" + "@react-stately/form" "^3.2.2" + "@react-stately/utils" "^3.10.8" + "@react-types/numberfield" "^3.8.15" + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@^3.6.20": + version "3.6.20" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.20.tgz#e638ad0e073b6cf1d27f018aa41a4ce0fbae5f5b" + integrity sha512-YAIe+uI8GUXX8F/0Pzr53YeC5c/bjqbzDFlV8NKfdlCPa6+Jp4B/IlYVjIooBj9+94QvbQdjylegvYWK/iPwlg== + dependencies: + "@react-stately/utils" "^3.10.8" + "@react-types/overlays" "^3.9.2" + "@swc/helpers" "^0.5.0" + +"@react-stately/radio@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.11.2.tgz#a149fb9448dc258441662893f83a70e88e4d4aea" + integrity sha512-UM7L6AW+k8edhSBUEPZAqiWNRNadfOKK7BrCXyBiG79zTz0zPcXRR+N+gzkDn7EMSawDeyK1SHYUuoSltTactg== + dependencies: + "@react-stately/form" "^3.2.2" + "@react-stately/utils" "^3.10.8" + "@react-types/radio" "^3.9.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/searchfield@^3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.5.16.tgz#3b768870d08fa2ef7747513d02d167717961d548" + integrity sha512-MRfqT1lZ24r94GuFNcGJXsfijZoWjSMySCT60T6NXtbOzVPuAF3K+pL70Rayq/EWLJjS2NPHND11VTs0VdcE0Q== + dependencies: + "@react-stately/utils" "^3.10.8" + "@react-types/searchfield" "^3.6.6" + "@swc/helpers" "^0.5.0" + +"@react-stately/select@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.8.0.tgz#ccb1b7d6d0f40b166444f3df27273892854ff23e" + integrity sha512-A721nlt0DSCDit0wKvhcrXFTG5Vv1qkEVkeKvobmETZy6piKvwh0aaN8iQno5AFuZaj1iOZeNjZ/20TsDJR/4A== + dependencies: + "@react-stately/form" "^3.2.2" + "@react-stately/list" "^3.13.1" + "@react-stately/overlays" "^3.6.20" + "@react-stately/utils" "^3.10.8" + "@react-types/select" "^3.11.0" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.20.6": + version "3.20.6" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.20.6.tgz#17d4d4553403de6ab690172a8d36e0423a5173fb" + integrity sha512-a0bjuP2pJYPKEiedz2Us1W1aSz0iHRuyeQEdBOyL6Z6VUa6hIMq9H60kvseir2T85cOa4QggizuRV7mcO6bU5w== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/slider@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.7.2.tgz#9dfe6f7e74397f717b1623bc06ba8e375510d056" + integrity sha512-EVBHUdUYwj++XqAEiQg2fGi8Reccznba0uyQ3gPejF0pAc390Q/J5aqiTEDfiCM7uJ6WHxTM6lcCqHQBISk2dQ== + dependencies: + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@react-types/slider" "^3.8.2" + "@swc/helpers" "^0.5.0" + +"@react-stately/table@^3.15.1": + version "3.15.1" + resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.15.1.tgz#3a2f5ca0788cea200c4c96858604fb4c0139f8b0" + integrity sha512-MhMAgE/LgAzHcAn1P3p/nQErzJ6DiixSJ1AOt2JlnAKEb5YJg4ATKWCb2IjBLwywt9ZCzfm3KMUzkctZqAoxwA== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/flags" "^3.1.2" + "@react-stately/grid" "^3.11.6" + "@react-stately/selection" "^3.20.6" + "@react-stately/utils" "^3.10.8" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@react-types/table" "^3.13.4" + "@swc/helpers" "^0.5.0" + +"@react-stately/tabs@^3.8.6": + version "3.8.6" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.8.6.tgz#c71e3ed2462d89ad9c06fb78c69b2069625c68fd" + integrity sha512-9RYxmgjVIxUpIsGKPIF7uRoHWOEz8muwaYiStCVeyiYBPmarvZoIYtTXcwSMN/vEs7heVN5uGCL6/bfdY4+WiA== + dependencies: + "@react-stately/list" "^3.13.1" + "@react-types/shared" "^3.32.1" + "@react-types/tabs" "^3.3.19" + "@swc/helpers" "^0.5.0" + +"@react-stately/toast@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-stately/toast/-/toast-3.1.2.tgz#0502040b6bd57479eaba1bca2f4c66e9e957e55a" + integrity sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q== + dependencies: + "@swc/helpers" "^0.5.0" + use-sync-external-store "^1.4.0" + +"@react-stately/toggle@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.9.2.tgz#8a50def68efdcefa268a870deda8bb65e5f054a8" + integrity sha512-dOxs9wrVXHUmA7lc8l+N9NbTJMAaXcYsnNGsMwfXIXQ3rdq+IjWGNYJ52UmNQyRYFcg0jrzRrU16TyGbNjOdNQ== + dependencies: + "@react-stately/utils" "^3.10.8" + "@react-types/checkbox" "^3.10.2" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/tooltip@^3.5.8": + version "3.5.8" + resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.5.8.tgz#c4a329c63294e8ccae3d9ee7853d40c2fb93ce73" + integrity sha512-gkcUx2ROhCiGNAYd2BaTejakXUUNLPnnoJ5+V/mN480pN+OrO8/2V9pqb/IQmpqxLsso93zkM3A4wFHHLBBmPQ== + dependencies: + "@react-stately/overlays" "^3.6.20" + "@react-types/tooltip" "^3.4.21" + "@swc/helpers" "^0.5.0" + +"@react-stately/tree@^3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.9.3.tgz#398de3406d2a06477bb0af2bdb2a0021265eeade" + integrity sha512-ZngG79nLFxE/GYmpwX6E/Rma2MMkzdoJPRI3iWk3dgqnGMMzpPnUp/cvjDsU3UHF7xDVusC5BT6pjWN0uxCIFQ== + dependencies: + "@react-stately/collections" "^3.12.8" + "@react-stately/selection" "^3.20.6" + "@react-stately/utils" "^3.10.8" + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@^3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.8.tgz#fdb9d172f7bbc2d083e69190f5ef0edfa4b4392f" + integrity sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-stately/virtualizer@^4.4.4": + version "4.4.4" + resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-4.4.4.tgz#b2a48bf6bf22f59532d9c6d71d010845b0088ed1" + integrity sha512-ri8giqXSZOrznZDCCOE4U36wSkOhy+hrFK7yo/YVcpxTqqp3d3eisfKMqbDsgqBW+XTHycTU/xeAf0u9NqrfpQ== + dependencies: + "@react-types/shared" "^3.32.1" + "@swc/helpers" "^0.5.0" + +"@react-types/autocomplete@3.0.0-alpha.35": + version "3.0.0-alpha.35" + resolved "https://registry.yarnpkg.com/@react-types/autocomplete/-/autocomplete-3.0.0-alpha.35.tgz#aa324ca4b6bef97ec353db3509826f5aca38a81d" + integrity sha512-Wv5eU4WixfJ4M+fqvJUQqliWPbw7/VldRlgoJhqAlPwlNyLlHYwv5tlA64AySDXHGcSMIbzcS38LaHm44wt0AQ== + dependencies: + "@react-types/combobox" "^3.13.9" + "@react-types/searchfield" "^3.6.6" + "@react-types/shared" "^3.32.1" + +"@react-types/breadcrumbs@^3.7.17": + version "3.7.17" + resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.7.17.tgz#e584352cc4f79e638e20774af04f28064cd9b66b" + integrity sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw== + dependencies: + "@react-types/link" "^3.6.5" + "@react-types/shared" "^3.32.1" + +"@react-types/button@^3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.14.1.tgz#41c25f7c7dd1b31a359a6af9cbec5bed5dbb5aa1" + integrity sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/calendar@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.8.0.tgz#51dad3445586f1c22886c35499cfcc872462a30f" + integrity sha512-ZDZgfZgbz1ydWOFs1mH7QFfX3ioJrmb3Y/lkoubQE0HWXLZzyYNvhhKyFJRS1QJ40IofLSBHriwbQb/tsUnGlw== + dependencies: + "@internationalized/date" "^3.10.0" + "@react-types/shared" "^3.32.1" + +"@react-types/checkbox@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.10.2.tgz#0190c9690e3649348a4d7045b168cbda657ce9de" + integrity sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/color@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-types/color/-/color-3.1.2.tgz#06a0e81b463f3a8d4553e7cd535b2881d721e231" + integrity sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A== + dependencies: + "@react-types/shared" "^3.32.1" + "@react-types/slider" "^3.8.2" + +"@react-types/combobox@^3.13.9": + version "3.13.9" + resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.13.9.tgz#58bc5c39ca1d7bdbb4beebf79d2ba11b337e927f" + integrity sha512-G6GmLbzVkLW6VScxPAr/RtliEyPhBClfYaIllK1IZv+Z42SVnOpKzhnoe79BpmiFqy1AaC3+LjZX783mrsHCwA== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/datepicker@^3.13.2": + version "3.13.2" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.13.2.tgz#775e43b6edcb8d3d5968e0a35cfacd14be3c847c" + integrity sha512-+M6UZxJnejYY8kz0spbY/hP08QJ5rsZ3aNarRQQHc48xV2oelFLX5MhAqizfLEsvyfb0JYrhWoh4z1xZtAmYCg== + dependencies: + "@internationalized/date" "^3.10.0" + "@react-types/calendar" "^3.8.0" + "@react-types/overlays" "^3.9.2" + "@react-types/shared" "^3.32.1" + +"@react-types/dialog@^3.5.22": + version "3.5.22" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.22.tgz#ed772c303042c6ee5e8a9bc9e58b5b9d08ed634b" + integrity sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg== + dependencies: + "@react-types/overlays" "^3.9.2" + "@react-types/shared" "^3.32.1" + +"@react-types/form@^3.7.16": + version "3.7.16" + resolved "https://registry.yarnpkg.com/@react-types/form/-/form-3.7.16.tgz#4285880a03db2b9f664246b6f2f2421ef18a49da" + integrity sha512-Sb7KJoWEaQ/e4XIY+xRbjKvbP1luome98ZXevpD+zVSyGjEcfIroebizP6K1yMHCWP/043xH6GUkgEqWPoVGjg== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/grid@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.3.6.tgz#9fc60f5baa8a1668bb2257a981dd514dd64706c3" + integrity sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/link@^3.6.5": + version "3.6.5" + resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.6.5.tgz#28cf2b90f69e83af7ff507021eec0449f148eb45" + integrity sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/listbox@^3.7.4": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.7.4.tgz#712329de62c0fddf44c062bb18c51135309c9fe8" + integrity sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/menu@^3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.10.5.tgz#0e3a66aab3c636dc3ef965529640bb678b13a431" + integrity sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A== + dependencies: + "@react-types/overlays" "^3.9.2" + "@react-types/shared" "^3.32.1" + +"@react-types/meter@^3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.4.13.tgz#ddd54e1d56a9af79646d832a3cf4a8979e473ead" + integrity sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg== + dependencies: + "@react-types/progress" "^3.5.16" + +"@react-types/numberfield@^3.8.15": + version "3.8.15" + resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.8.15.tgz#0fcd77217bae5d7a2bf35d41c7eb61d8ae52bc03" + integrity sha512-97r92D23GKCOjGIGMeW9nt+/KlfM3GeWH39Czcmd2/D5y3k6z4j0avbsfx2OttCtJszrnENjw3GraYGYI2KosQ== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/overlays@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.9.2.tgz#721dc248afcb42db988391037a6386bb61556cd4" + integrity sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/progress@^3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.5.16.tgz#f40e1b674e630276d6412297a92eb0dd3761d426" + integrity sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/radio@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.9.2.tgz#c6ac396b49cc03334e4bb63a96f366effce3a615" + integrity sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/searchfield@^3.6.6": + version "3.6.6" + resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.6.6.tgz#fd41bd78246789ac4284462abe222b6f85d191b2" + integrity sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang== + dependencies: + "@react-types/shared" "^3.32.1" + "@react-types/textfield" "^3.12.6" + +"@react-types/select@^3.11.0": + version "3.11.0" + resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.11.0.tgz#808aec480f0cc20075953af9717ca38d1eb15b8d" + integrity sha512-SzIsMFVPCbXE1Z1TLfpdfiwJ1xnIkcL1/CjGilmUKkNk5uT7rYX1xCJqWCjXI0vAU1xM4Qn+T3n8de4fw6HRBg== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/shared@^3.32.1": + version "3.32.1" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.32.1.tgz#abfeb839d65d0abe923576f34ac08342c25dfa55" + integrity sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w== + +"@react-types/slider@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.8.2.tgz#37e02c42514aca842954c715082d1ae06a661ee4" + integrity sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/switch@^3.5.15": + version "3.5.15" + resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.5.15.tgz#43806d6e7034d1d07e20c89ec9618e607fef9e62" + integrity sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/table@^3.13.4": + version "3.13.4" + resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.13.4.tgz#c3d5952d4bd2a04992255850538856829b12c99a" + integrity sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q== + dependencies: + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + +"@react-types/tabs@^3.3.19": + version "3.3.19" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.19.tgz#344a22bd15400b738aebc26918cf96dacde1ffef" + integrity sha512-fE+qI43yR5pAMpeqPxGqQq9jDHXEPqXskuxNHERMW0PYMdPyem2Cw6goc5F4qeZO3Hf6uPZgHkvJz2OAq7TbBw== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/textfield@^3.12.6": + version "3.12.6" + resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.12.6.tgz#0f90a4108c8d75e7c2c26753e760cd580339be12" + integrity sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ== + dependencies: + "@react-types/shared" "^3.32.1" + +"@react-types/tooltip@^3.4.21": + version "3.4.21" + resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.4.21.tgz#63596cf87d7166499656bc15f212c75c9ffa8991" + integrity sha512-ugGHOZU6WbOdeTdbjnaEc+Ms7/WhsUCg+T3PCOIeOT9FG02Ce189yJ/+hd7oqL/tVwIhEMYJIqSCgSELFox+QA== + dependencies: + "@react-types/overlays" "^3.9.2" + "@react-types/shared" "^3.32.1" + "@rollup/plugin-commonjs@^14.0.0": version "14.0.0" resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz" @@ -1770,6 +3049,13 @@ "@svgr/plugin-jsx" "^6.5.1" "@svgr/plugin-svgo" "^6.5.1" +"@swc/helpers@^0.5.0": + version "0.5.17" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.17.tgz#5a7be95ac0f0bf186e7e6e890e7a6f6cda6ce971" + integrity sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A== + dependencies: + tslib "^2.8.0" + "@testing-library/dom@^10.4.0": version "10.4.0" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.0.tgz#82a9d9462f11d240ecadbf406607c6ceeeff43a8" @@ -2553,6 +3839,11 @@ clean-stack@^2.0.0: resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +client-only@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + cliui@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" @@ -2580,6 +3871,11 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +clsx@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + co@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" @@ -2817,6 +4113,11 @@ decimal.js@^10.4.2: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== +decimal.js@^10.4.3: + version "10.6.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" + integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== + dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" @@ -3510,6 +4811,16 @@ inherits@2: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +intl-messageformat@^10.1.0: + version "10.7.18" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.18.tgz#51a6f387afbca9b0f881b2ec081566db8c540b0d" + integrity sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g== + dependencies: + "@formatjs/ecma402-abstract" "2.3.6" + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/icu-messageformat-parser" "2.11.4" + tslib "^2.8.0" + is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" @@ -4888,6 +6199,89 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +react-aria-components@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/react-aria-components/-/react-aria-components-1.13.0.tgz#e9a15243f5ecc233f93a68438f6ceb4b64beff02" + integrity sha512-t1mm3AVy/MjUJBZ7zrb+sFC5iya8Vvw3go3mGKtTm269bXGZho7BLA4IgT+0nOS3j+ku6ChVi8NEoQVFoYzJJA== + dependencies: + "@internationalized/date" "^3.10.0" + "@internationalized/string" "^3.2.7" + "@react-aria/autocomplete" "3.0.0-rc.3" + "@react-aria/collections" "^3.0.0" + "@react-aria/dnd" "^3.11.3" + "@react-aria/focus" "^3.21.2" + "@react-aria/interactions" "^3.25.6" + "@react-aria/live-announcer" "^3.4.4" + "@react-aria/overlays" "^3.30.0" + "@react-aria/ssr" "^3.9.10" + "@react-aria/textfield" "^3.18.2" + "@react-aria/toolbar" "3.0.0-beta.21" + "@react-aria/utils" "^3.31.0" + "@react-aria/virtualizer" "^4.1.10" + "@react-stately/autocomplete" "3.0.0-beta.3" + "@react-stately/layout" "^4.5.1" + "@react-stately/selection" "^3.20.6" + "@react-stately/table" "^3.15.1" + "@react-stately/utils" "^3.10.8" + "@react-stately/virtualizer" "^4.4.4" + "@react-types/form" "^3.7.16" + "@react-types/grid" "^3.3.6" + "@react-types/shared" "^3.32.1" + "@react-types/table" "^3.13.4" + "@swc/helpers" "^0.5.0" + client-only "^0.0.1" + react-aria "^3.44.0" + react-stately "^3.42.0" + use-sync-external-store "^1.4.0" + +react-aria@^3.44.0: + version "3.44.0" + resolved "https://registry.yarnpkg.com/react-aria/-/react-aria-3.44.0.tgz#6b694c704c0d438feb1baad23ab32cc7e8edb68f" + integrity sha512-2Pq3GQxBgM4/2BlpKYXeaZ47a3tdIcYSW/AYvKgypE3XipxOdQMDG5Sr/NBn7zuJq+thzmtfRb0lB9bTbsmaRw== + dependencies: + "@internationalized/string" "^3.2.7" + "@react-aria/breadcrumbs" "^3.5.29" + "@react-aria/button" "^3.14.2" + "@react-aria/calendar" "^3.9.2" + "@react-aria/checkbox" "^3.16.2" + "@react-aria/color" "^3.1.2" + "@react-aria/combobox" "^3.14.0" + "@react-aria/datepicker" "^3.15.2" + "@react-aria/dialog" "^3.5.31" + "@react-aria/disclosure" "^3.1.0" + "@react-aria/dnd" "^3.11.3" + "@react-aria/focus" "^3.21.2" + "@react-aria/gridlist" "^3.14.1" + "@react-aria/i18n" "^3.12.13" + "@react-aria/interactions" "^3.25.6" + "@react-aria/label" "^3.7.22" + "@react-aria/landmark" "^3.0.7" + "@react-aria/link" "^3.8.6" + "@react-aria/listbox" "^3.15.0" + "@react-aria/menu" "^3.19.3" + "@react-aria/meter" "^3.4.27" + "@react-aria/numberfield" "^3.12.2" + "@react-aria/overlays" "^3.30.0" + "@react-aria/progress" "^3.4.27" + "@react-aria/radio" "^3.12.2" + "@react-aria/searchfield" "^3.8.9" + "@react-aria/select" "^3.17.0" + "@react-aria/selection" "^3.26.0" + "@react-aria/separator" "^3.4.13" + "@react-aria/slider" "^3.8.2" + "@react-aria/ssr" "^3.9.10" + "@react-aria/switch" "^3.7.8" + "@react-aria/table" "^3.17.8" + "@react-aria/tabs" "^3.10.8" + "@react-aria/tag" "^3.7.2" + "@react-aria/textfield" "^3.18.2" + "@react-aria/toast" "^3.0.8" + "@react-aria/tooltip" "^3.8.8" + "@react-aria/tree" "^3.1.4" + "@react-aria/utils" "^3.31.0" + "@react-aria/visually-hidden" "^3.8.28" + "@react-types/shared" "^3.32.1" + react-dom@^18: version "18.3.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" @@ -4916,6 +6310,38 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-stately@^3.42.0: + version "3.42.0" + resolved "https://registry.yarnpkg.com/react-stately/-/react-stately-3.42.0.tgz#f309e9cb729374cc187c688529a2aa0572ab9408" + integrity sha512-lYt2o1dd6dK8Bb4GRh08RG/2u64bSA1cqtRqtw4jEMgxC7Q17RFcIumBbChErndSdLzafEG/UBwV6shOfig6yw== + dependencies: + "@react-stately/calendar" "^3.9.0" + "@react-stately/checkbox" "^3.7.2" + "@react-stately/collections" "^3.12.8" + "@react-stately/color" "^3.9.2" + "@react-stately/combobox" "^3.12.0" + "@react-stately/data" "^3.14.1" + "@react-stately/datepicker" "^3.15.2" + "@react-stately/disclosure" "^3.0.8" + "@react-stately/dnd" "^3.7.1" + "@react-stately/form" "^3.2.2" + "@react-stately/list" "^3.13.1" + "@react-stately/menu" "^3.9.8" + "@react-stately/numberfield" "^3.10.2" + "@react-stately/overlays" "^3.6.20" + "@react-stately/radio" "^3.11.2" + "@react-stately/searchfield" "^3.5.16" + "@react-stately/select" "^3.8.0" + "@react-stately/selection" "^3.20.6" + "@react-stately/slider" "^3.7.2" + "@react-stately/table" "^3.15.1" + "@react-stately/tabs" "^3.8.6" + "@react-stately/toast" "^3.1.2" + "@react-stately/toggle" "^3.9.2" + "@react-stately/tooltip" "^3.5.8" + "@react-stately/tree" "^3.9.3" + "@react-types/shared" "^3.32.1" + react-syntax-highlighter@^15.5.0: version "15.6.1" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz#fa567cb0a9f96be7bbccf2c13a3c4b5657d9543e" @@ -5495,6 +6921,11 @@ tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + type-detect@4.0.8, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -5591,6 +7022,11 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" +use-sync-external-store@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" + integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== + uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" diff --git a/packages/styles/index.css b/packages/styles/index.css index 632d61191..32b2c06af 100644 --- a/packages/styles/index.css +++ b/packages/styles/index.css @@ -55,3 +55,4 @@ @import './empty-state.css'; @import './action-menu.css'; @import './action-list.css'; +@import './tree-view.css'; diff --git a/packages/styles/tree-view.css b/packages/styles/tree-view.css new file mode 100644 index 000000000..e5d1f1464 --- /dev/null +++ b/packages/styles/tree-view.css @@ -0,0 +1,74 @@ +:root { + --treeview-padding: 16px; + --treeview-focus-ring-color: var(--focus-light); + --treeview-selected-color: var(--focus-light); + --treeview-highlight-background: var(--accent-light); +} + +.cauldron--theme-dark { + --treeview-focus-ring-color: var(--focus-dark); + --treeview-selected-color: var(--focus-dark); + --treeview-highlight-background: var(--accent-dark); +} + +.react-aria-Tree { + display: flex; + flex-direction: column; + gap: 2px; + overflow: auto; + padding: 4px; + outline: none; + box-sizing: border-box; + + &[data-focus-visible] { + outline: 2px solid var(--treeview-focus-ring-color); + outline-offset: -1px; + } + + .react-aria-TreeItem { + display: flex; + align-items: center; + gap: 0.571rem; + min-height: 28px; + padding: 0.286rem 0.286rem 0.286rem 0.571rem; + --padding: var(--treeview-padding); + outline: none; + position: relative; + transform: translateZ(0); + + .react-aria-Button[slot='chevron'] { + all: unset; + display: flex; + visibility: hidden; + align-items: center; + justify-content: center; + width: 1.3rem; + height: 100%; + padding-left: calc( + (var(--tree-item-level) - 1) * var(--treeview-padding) + ); + + svg { + rotate: 0deg; + transition: rotate 200ms; + } + } + + &[data-has-child-items] .react-aria-Button[slot='chevron'] { + visibility: visible; + } + + &[data-expanded] .react-aria-Button[slot='chevron'] svg { + rotate: 90deg; + } + + &[data-focus-visible] { + outline: 2px solid var(--treeview-focus-ring-color); + outline-offset: -2px; + } + + &[aria-selected='true'] { + background: var(--treeview-highlight-background); + } + } +}