diff --git a/package.json b/package.json index 29ff07af557..2f2aade4cb4 100644 --- a/package.json +++ b/package.json @@ -235,7 +235,7 @@ "recast": "0.23.6", "ast-types": "0.16.1", "svgo": "^3", - "@testing-library/user-event@npm:^14.4.0": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch" + "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch" }, "@parcel/transformer-css": { "cssModules": { diff --git a/packages/@adobe/react-spectrum/package.json b/packages/@adobe/react-spectrum/package.json index d878a388957..3fe34baa11d 100644 --- a/packages/@adobe/react-spectrum/package.json +++ b/packages/@adobe/react-spectrum/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/react-spectrum", - "version": "3.39.0", + "version": "3.40.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -38,66 +38,68 @@ }, "dependencies": { "@internationalized/string": "^3.2.5", - "@react-aria/i18n": "^3.12.5", + "@react-aria/collections": "3.0.0-beta.0", + "@react-aria/i18n": "^3.12.6", "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/accordion": "^3.0.2", - "@react-spectrum/actionbar": "^3.6.3", - "@react-spectrum/actiongroup": "^3.10.11", - "@react-spectrum/avatar": "^3.0.18", - "@react-spectrum/badge": "^3.1.19", - "@react-spectrum/breadcrumbs": "^3.9.13", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/buttongroup": "^3.6.18", - "@react-spectrum/calendar": "^3.6.0", - "@react-spectrum/checkbox": "^3.9.12", - "@react-spectrum/color": "^3.0.3", - "@react-spectrum/combobox": "^3.14.1", - "@react-spectrum/contextualhelp": "^3.6.17", - "@react-spectrum/datepicker": "^3.12.0", - "@react-spectrum/dialog": "^3.8.17", - "@react-spectrum/divider": "^3.5.19", - "@react-spectrum/dnd": "^3.5.1", - "@react-spectrum/dropzone": "^3.0.7", - "@react-spectrum/filetrigger": "^3.0.7", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/icon": "^3.8.1", - "@react-spectrum/illustratedmessage": "^3.5.6", - "@react-spectrum/image": "^3.5.7", - "@react-spectrum/inlinealert": "^3.2.11", - "@react-spectrum/labeledvalue": "^3.1.19", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/link": "^3.6.13", - "@react-spectrum/list": "^3.9.1", - "@react-spectrum/listbox": "^3.14.1", - "@react-spectrum/menu": "^3.21.1", - "@react-spectrum/meter": "^3.5.6", - "@react-spectrum/numberfield": "^3.9.9", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/picker": "^3.15.5", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/provider": "^3.10.1", - "@react-spectrum/radio": "^3.7.12", - "@react-spectrum/searchfield": "^3.8.12", - "@react-spectrum/slider": "^3.7.1", - "@react-spectrum/statuslight": "^3.5.18", - "@react-spectrum/switch": "^3.5.11", - "@react-spectrum/table": "^3.15.1", - "@react-spectrum/tabs": "^3.8.16", - "@react-spectrum/tag": "^3.2.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/theme-dark": "^3.5.15", - "@react-spectrum/theme-default": "^3.5.15", - "@react-spectrum/theme-light": "^3.4.15", - "@react-spectrum/tooltip": "^3.7.1", - "@react-spectrum/tree": "^3.0.0-beta.3", - "@react-spectrum/view": "^3.6.15", - "@react-spectrum/well": "^3.4.19", - "@react-stately/collections": "^3.12.1", - "@react-stately/data": "^3.12.1", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/accordion": "^3.0.3", + "@react-spectrum/actionbar": "^3.6.4", + "@react-spectrum/actiongroup": "^3.10.12", + "@react-spectrum/avatar": "^3.0.19", + "@react-spectrum/badge": "^3.1.20", + "@react-spectrum/breadcrumbs": "^3.9.14", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/buttongroup": "^3.6.19", + "@react-spectrum/calendar": "^3.6.1", + "@react-spectrum/checkbox": "^3.9.13", + "@react-spectrum/color": "^3.0.4", + "@react-spectrum/combobox": "^3.15.0", + "@react-spectrum/contextualhelp": "^3.6.18", + "@react-spectrum/datepicker": "^3.13.0", + "@react-spectrum/dialog": "^3.8.18", + "@react-spectrum/divider": "^3.5.20", + "@react-spectrum/dnd": "^3.5.2", + "@react-spectrum/dropzone": "^3.0.8", + "@react-spectrum/filetrigger": "^3.0.8", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/icon": "^3.8.2", + "@react-spectrum/illustratedmessage": "^3.5.7", + "@react-spectrum/image": "^3.5.8", + "@react-spectrum/inlinealert": "^3.2.12", + "@react-spectrum/labeledvalue": "^3.2.0", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/link": "^3.6.14", + "@react-spectrum/list": "^3.9.2", + "@react-spectrum/listbox": "^3.14.2", + "@react-spectrum/menu": "^3.21.2", + "@react-spectrum/meter": "^3.5.7", + "@react-spectrum/numberfield": "^3.9.10", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/picker": "^3.15.6", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/provider": "^3.10.2", + "@react-spectrum/radio": "^3.7.13", + "@react-spectrum/searchfield": "^3.8.13", + "@react-spectrum/slider": "^3.7.2", + "@react-spectrum/statuslight": "^3.5.19", + "@react-spectrum/switch": "^3.5.12", + "@react-spectrum/table": "^3.16.0", + "@react-spectrum/tabs": "^3.8.17", + "@react-spectrum/tag": "^3.2.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/theme-dark": "^3.5.16", + "@react-spectrum/theme-default": "^3.5.16", + "@react-spectrum/theme-light": "^3.4.16", + "@react-spectrum/toast": "^3.0.0", + "@react-spectrum/tooltip": "^3.7.2", + "@react-spectrum/tree": "^3.0.0", + "@react-spectrum/view": "^3.6.16", + "@react-spectrum/well": "^3.4.20", + "@react-stately/collections": "^3.12.2", + "@react-stately/data": "^3.12.2", + "@react-types/shared": "^3.28.0", "client-only": "^0.0.1" }, "publishConfig": { diff --git a/packages/@adobe/react-spectrum/src/index.ts b/packages/@adobe/react-spectrum/src/index.ts index 435e5612234..c9085766e5d 100644 --- a/packages/@adobe/react-spectrum/src/index.ts +++ b/packages/@adobe/react-spectrum/src/index.ts @@ -61,6 +61,7 @@ export {TextArea, TextField} from '@react-spectrum/textfield'; export {theme as darkTheme} from '@react-spectrum/theme-dark'; export {theme as defaultTheme} from '@react-spectrum/theme-default'; export {theme as lightTheme} from '@react-spectrum/theme-light'; +export {ToastContainer, ToastQueue} from '@react-spectrum/toast'; export {Tooltip, TooltipTrigger} from '@react-spectrum/tooltip'; export {TreeView, TreeViewItem, TreeViewItemContent} from '@react-spectrum/tree'; export {Content, Footer, Header, View} from '@react-spectrum/view'; @@ -71,6 +72,7 @@ export {VisuallyHidden} from '@react-aria/visually-hidden'; export {useCollator, useDateFormatter, useFilter, useLocale, useLocalizedStringFormatter, useMessageFormatter, useNumberFormatter} from '@react-aria/i18n'; export {SSRProvider} from '@react-aria/ssr'; export {useDragAndDrop, DIRECTORY_DRAG_TYPE} from '@react-spectrum/dnd'; +export {Collection} from '@react-aria/collections'; export type {SpectrumActionBarContainerProps, SpectrumActionBarProps} from '@react-spectrum/actionbar'; export type {SpectrumActionGroupProps} from '@react-spectrum/actiongroup'; @@ -115,6 +117,7 @@ export type {SpectrumTableProps, SpectrumColumnProps, TableHeaderProps, TableBod export type {SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-spectrum/tabs'; export type {SpectrumTagGroupProps} from '@react-spectrum/tag'; export type {SpectrumTextFieldProps, SpectrumTextAreaProps} from '@react-spectrum/textfield'; +export type {SpectrumToastContainerProps, SpectrumToastOptions} from '@react-spectrum/toast'; export type {SpectrumTooltipProps, SpectrumTooltipTriggerProps} from '@react-spectrum/tooltip'; export type {SpectrumTreeViewProps, SpectrumTreeViewItemProps, SpectrumTreeViewItemContentProps} from '@react-spectrum/tree'; export type {ContentProps, FooterProps, HeaderProps, ViewProps} from '@react-spectrum/view'; diff --git a/packages/@adobe/spectrum-css-temp/components/checkbox/index.css b/packages/@adobe/spectrum-css-temp/components/checkbox/index.css index 02c42cf2d51..6ddb49f5dbc 100644 --- a/packages/@adobe/spectrum-css-temp/components/checkbox/index.css +++ b/packages/@adobe/spectrum-css-temp/components/checkbox/index.css @@ -67,6 +67,8 @@ governing permissions and limitations under the License. opacity: .0001; z-index: 1; + /* prevent double click event due to browser waiting to fire double tap */ + touch-action: manipulation; cursor: default; &:disabled { diff --git a/packages/@adobe/spectrum-css-temp/components/inputgroup/skin.css b/packages/@adobe/spectrum-css-temp/components/inputgroup/skin.css index 615e6c43b90..a70b351677e 100644 --- a/packages/@adobe/spectrum-css-temp/components/inputgroup/skin.css +++ b/packages/@adobe/spectrum-css-temp/components/inputgroup/skin.css @@ -20,6 +20,10 @@ governing permissions and limitations under the License. } } + .spectrum-InputGroup-input:focus { + border-color: var(--spectrum-textfield-border-color); + } + &.is-focused { &:not(.spectrum-InputGroup--invalid):not(.is-disabled) { .spectrum-InputGroup-input { @@ -48,7 +52,8 @@ governing permissions and limitations under the License. &.spectrum-InputGroup--invalid { .spectrum-FieldButton:before, - .spectrum-InputGroup-input { + .spectrum-InputGroup-input, + .spectrum-InputGroup-input:focus { border-color: var(--spectrum-textfield-border-color-error); } diff --git a/packages/@adobe/spectrum-css-temp/components/toggle/index.css b/packages/@adobe/spectrum-css-temp/components/toggle/index.css index 8fadf85ab5c..56df130e29b 100644 --- a/packages/@adobe/spectrum-css-temp/components/toggle/index.css +++ b/packages/@adobe/spectrum-css-temp/components/toggle/index.css @@ -56,6 +56,8 @@ governing permissions and limitations under the License. opacity: .0001; z-index: 1; + /* prevent double click event due to browser waiting to fire double tap */ + touch-action: manipulation; cursor: default; &:checked + .spectrum-ToggleSwitch-switch { diff --git a/packages/@react-aria/accordion/README.md b/packages/@react-aria/accordion/README.md deleted file mode 100644 index 0aeae13ed16..00000000000 --- a/packages/@react-aria/accordion/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @react-aria/accordion - -This package is part of [react-spectrum](https://github.com/adobe/react-spectrum). See the repo for more details. diff --git a/packages/@react-aria/accordion/index.ts b/packages/@react-aria/accordion/index.ts deleted file mode 100644 index 1210ae1e402..00000000000 --- a/packages/@react-aria/accordion/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright 2020 Adobe. All rights reserved. - * This file is licensed to you under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. You may obtain a copy - * of the License at http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS - * OF ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -export * from './src'; diff --git a/packages/@react-aria/accordion/package.json b/packages/@react-aria/accordion/package.json deleted file mode 100644 index 2f7f7cc92d4..00000000000 --- a/packages/@react-aria/accordion/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@react-aria/accordion", - "version": "3.0.0-alpha.37", - "description": "Spectrum UI components in React", - "license": "Apache-2.0", - "main": "dist/main.js", - "module": "dist/module.js", - "exports": { - "types": "./dist/types.d.ts", - "import": "./dist/import.mjs", - "require": "./dist/main.js" - }, - "types": "dist/types.d.ts", - "source": "src/index.ts", - "files": [ - "dist", - "src" - ], - "sideEffects": false, - "repository": { - "type": "git", - "url": "https://github.com/adobe/react-spectrum" - }, - "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/tree": "^3.8.7", - "@react-types/accordion": "3.0.0-alpha.26", - "@react-types/shared": "^3.27.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/@react-aria/accordion/src/index.ts b/packages/@react-aria/accordion/src/index.ts deleted file mode 100644 index 5deeed1778f..00000000000 --- a/packages/@react-aria/accordion/src/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2020 Adobe. All rights reserved. - * This file is licensed to you under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. You may obtain a copy - * of the License at http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS - * OF ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -export {useAccordionItem, useAccordion} from './useAccordion'; -export type {AccordionAria, AccordionItemAria, AccordionItemAriaProps} from './useAccordion'; -export type {AriaAccordionProps} from '@react-types/accordion'; diff --git a/packages/@react-aria/accordion/src/useAccordion.ts b/packages/@react-aria/accordion/src/useAccordion.ts deleted file mode 100644 index 476124bab2e..00000000000 --- a/packages/@react-aria/accordion/src/useAccordion.ts +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2020 Adobe. All rights reserved. - * This file is licensed to you under the Apache License, Version 2.0 (the 'License'); - * you may not use this file except in compliance with the License. You may obtain a copy - * of the License at http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS - * OF ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -import {AriaAccordionProps} from '@react-types/accordion'; -import {ButtonHTMLAttributes} from 'react'; -import {DOMAttributes, Node, RefObject} from '@react-types/shared'; -import {mergeProps, useId} from '@react-aria/utils'; -import {TreeState} from '@react-stately/tree'; -import {useButton} from '@react-aria/button'; -import {useSelectableItem, useSelectableList} from '@react-aria/selection'; - -/** - * @deprecated Use useDisclosure from `@react-aria/disclosure` instead. - */ -export interface AccordionAria { - /** Props for the accordion container element. */ - accordionProps: DOMAttributes -} - -/** - * @deprecated Use useDisclosure from `@react-aria/disclosure` instead. - */ -export interface AccordionItemAriaProps { - item: Node -} - -/** - * @deprecated Use useDisclosure from `@react-aria/disclosure` instead. - */ -export interface AccordionItemAria { - /** Props for the accordion item button. */ - buttonProps: ButtonHTMLAttributes, - /** Props for the accordion item content element. */ - regionProps: DOMAttributes -} - -/** - * @deprecated Use useDisclosure from `@react-aria/disclosure` instead. - */ -export function useAccordionItem(props: AccordionItemAriaProps, state: TreeState, ref: RefObject): AccordionItemAria { - let {item} = props; - let buttonId = useId(); - let regionId = useId(); - let isDisabled = state.disabledKeys.has(item.key); - let {itemProps} = useSelectableItem({ - selectionManager: state.selectionManager, - key: item.key, - ref - }); - let {buttonProps} = useButton(mergeProps(itemProps as any, { - id: buttonId, - elementType: 'button', - isDisabled, - onPress: () => state.toggleKey(item.key) - }), ref); - let isExpanded = state.expandedKeys.has(item.key); - return { - buttonProps: { - ...buttonProps, - 'aria-expanded': isExpanded, - 'aria-controls': isExpanded ? regionId : undefined - }, - regionProps: { - id: regionId, - role: 'region', - 'aria-labelledby': buttonId - } - }; -} - -/** - * @deprecated Use useDisclosure from `@react-aria/disclosure` instead. - */ -export function useAccordion(props: AriaAccordionProps, state: TreeState, ref: RefObject): AccordionAria { - let {listProps} = useSelectableList({ - ...props, - ...state, - allowsTabNavigation: true, - disallowTypeAhead: true, - ref - }); - return { - accordionProps: { - ...listProps, - tabIndex: undefined - } - }; -} diff --git a/packages/@react-aria/actiongroup/package.json b/packages/@react-aria/actiongroup/package.json index 8a33bfe9bb0..fd553c4b19b 100644 --- a/packages/@react-aria/actiongroup/package.json +++ b/packages/@react-aria/actiongroup/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/actiongroup", - "version": "3.7.12", + "version": "3.7.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/list": "^3.11.2", - "@react-types/actiongroup": "^3.4.14", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/list": "^3.12.0", + "@react-types/actiongroup": "^3.4.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/autocomplete/package.json b/packages/@react-aria/autocomplete/package.json index 889296b741d..b9bc4f4d6e9 100644 --- a/packages/@react-aria/autocomplete/package.json +++ b/packages/@react-aria/autocomplete/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/autocomplete", - "version": "3.0.0-alpha.37", + "version": "3.0.0-beta.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,19 +22,19 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/combobox": "^3.11.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/listbox": "^3.14.0", - "@react-aria/searchfield": "^3.8.0", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/autocomplete": "3.0.0-alpha.0", - "@react-stately/combobox": "^3.10.2", - "@react-types/autocomplete": "3.0.0-alpha.28", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/combobox": "^3.12.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/listbox": "^3.14.1", + "@react-aria/searchfield": "^3.8.1", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/autocomplete": "3.0.0-beta.0", + "@react-stately/combobox": "^3.10.3", + "@react-types/autocomplete": "3.0.0-alpha.29", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/autocomplete/src/useAutocomplete.ts b/packages/@react-aria/autocomplete/src/useAutocomplete.ts index 24abb0f0fbb..6f700db89f3 100644 --- a/packages/@react-aria/autocomplete/src/useAutocomplete.ts +++ b/packages/@react-aria/autocomplete/src/useAutocomplete.ts @@ -18,7 +18,7 @@ import {dispatchVirtualBlur, dispatchVirtualFocus, moveVirtualFocus} from '@reac import {getInteractionModality} from '@react-aria/interactions'; // @ts-ignore import intlMessages from '../intl/*.json'; -import React, {FocusEvent as ReactFocusEvent, KeyboardEvent as ReactKeyboardEvent, useCallback, useEffect, useMemo, useRef} from 'react'; +import {FocusEvent as ReactFocusEvent, KeyboardEvent as ReactKeyboardEvent, useCallback, useEffect, useMemo, useRef} from 'react'; import {useLocalizedStringFormatter} from '@react-aria/i18n'; export interface CollectionOptions extends DOMProps, AriaLabelingProps { @@ -56,7 +56,7 @@ export interface AutocompleteAria { /** Ref to attach to the wrapped collection. */ collectionRef: RefObject, /** A filter function that returns if the provided collection node should be filtered out of the collection. */ - filterFn?: (nodeTextValue: string) => boolean + filter?: (nodeTextValue: string) => boolean } /** @@ -97,7 +97,7 @@ export function useAutocomplete(props: AriaAutocompleteOptions, state: Autocompl if (e.isTrusted || !target || queuedActiveDescendant.current === target.id) { return; } - + clearTimeout(timeout.current); if (target !== collectionRef.current) { if (delayNextActiveDescendant.current) { @@ -252,7 +252,7 @@ export function useAutocomplete(props: AriaAutocompleteOptions, state: Autocompl new KeyboardEvent(e.nativeEvent.type, e.nativeEvent) ) || false; } - + if (shouldPerformDefaultAction) { switch (e.key) { case 'ArrowLeft': @@ -350,7 +350,7 @@ export function useAutocomplete(props: AriaAutocompleteOptions, state: Autocompl autoCorrect: 'off', // This disable's the macOS Safari spell check auto corrections. spellCheck: 'false', - [parseInt(React.version, 10) >= 17 ? 'enterKeyHint' : 'enterkeyhint']: 'enter', + enterKeyHint: 'go', onBlur, onFocus }, @@ -359,6 +359,6 @@ export function useAutocomplete(props: AriaAutocompleteOptions, state: Autocompl disallowTypeAhead: true }), collectionRef: mergedCollectionRef, - filterFn: filter != null ? filterFn : undefined + filter: filter != null ? filterFn : undefined }; } diff --git a/packages/@react-aria/breadcrumbs/package.json b/packages/@react-aria/breadcrumbs/package.json index 496028fbc40..80602d3a53c 100644 --- a/packages/@react-aria/breadcrumbs/package.json +++ b/packages/@react-aria/breadcrumbs/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/breadcrumbs", - "version": "3.5.20", + "version": "3.5.21", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/link": "^3.7.8", - "@react-aria/utils": "^3.27.0", - "@react-types/breadcrumbs": "^3.7.10", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/link": "^3.7.9", + "@react-aria/utils": "^3.28.0", + "@react-types/breadcrumbs": "^3.7.11", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/button/package.json b/packages/@react-aria/button/package.json index ed97d1e205b..f86b3a2620e 100644 --- a/packages/@react-aria/button/package.json +++ b/packages/@react-aria/button/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/button", - "version": "3.11.1", + "version": "3.12.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,12 +22,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/toolbar": "3.0.0-beta.12", - "@react-aria/utils": "^3.27.0", - "@react-stately/toggle": "^3.8.1", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/toolbar": "3.0.0-beta.13", + "@react-aria/utils": "^3.28.0", + "@react-stately/toggle": "^3.8.2", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/calendar/package.json b/packages/@react-aria/calendar/package.json index a38894a52bf..2f39c090255 100644 --- a/packages/@react-aria/calendar/package.json +++ b/packages/@react-aria/calendar/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/calendar", - "version": "3.7.0", + "version": "3.7.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,14 +23,14 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/utils": "^3.27.0", - "@react-stately/calendar": "^3.7.0", - "@react-types/button": "^3.10.2", - "@react-types/calendar": "^3.6.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/calendar": "^3.7.1", + "@react-types/button": "^3.11.0", + "@react-types/calendar": "^3.6.1", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/checkbox/package.json b/packages/@react-aria/checkbox/package.json index 0b3913ae74c..3bd72901023 100644 --- a/packages/@react-aria/checkbox/package.json +++ b/packages/@react-aria/checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/checkbox", - "version": "3.15.1", + "version": "3.15.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,16 +22,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/form": "^3.0.12", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/toggle": "^3.10.11", - "@react-aria/utils": "^3.27.0", - "@react-stately/checkbox": "^3.6.11", - "@react-stately/form": "^3.1.1", - "@react-stately/toggle": "^3.8.1", - "@react-types/checkbox": "^3.9.1", - "@react-types/shared": "^3.27.0", + "@react-aria/form": "^3.0.13", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/toggle": "^3.11.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/checkbox": "^3.6.12", + "@react-stately/form": "^3.1.2", + "@react-stately/toggle": "^3.8.2", + "@react-types/checkbox": "^3.9.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/collections/package.json b/packages/@react-aria/collections/package.json index e6f916a4d52..1be2edec6e4 100644 --- a/packages/@react-aria/collections/package.json +++ b/packages/@react-aria/collections/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/collections", - "version": "3.0.0-alpha.7", + "version": "3.0.0-beta.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", + "@react-aria/interactions": "^3.24.0", "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, diff --git a/packages/@react-aria/collections/src/BaseCollection.ts b/packages/@react-aria/collections/src/BaseCollection.ts index f6ca5775e89..ac655733c6e 100644 --- a/packages/@react-aria/collections/src/BaseCollection.ts +++ b/packages/@react-aria/collections/src/BaseCollection.ts @@ -217,7 +217,7 @@ export class BaseCollection implements ICollection> { // Will need to handle varying levels I assume but will revisit after I get searchable menu working for base menu // TODO: an alternative is to simply walk the collection and add all item nodes that match the filter and any sections/separators we encounter // to an array, then walk that new array and fix all the next/Prev keys while adding them to the new collection - filter(filterFn: (nodeValue: string) => boolean): BaseCollection { + UNSTABLE_filter(filterFn: (nodeValue: string) => boolean): BaseCollection { let newCollection = new BaseCollection(); // This tracks the absolute last node we've visited in the collection when filtering, used for setting up the filteredCollection's lastKey and // for updating the next/prevKey for every non-filtered node. diff --git a/packages/@react-aria/color/package.json b/packages/@react-aria/color/package.json index 49e76bf89b9..648c8922474 100644 --- a/packages/@react-aria/color/package.json +++ b/packages/@react-aria/color/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/color", - "version": "3.0.3", + "version": "3.0.4", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,18 +22,18 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/numberfield": "^3.11.10", - "@react-aria/slider": "^3.7.15", - "@react-aria/spinbutton": "^3.6.11", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-stately/color": "^3.8.2", - "@react-stately/form": "^3.1.1", - "@react-types/color": "^3.0.2", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/numberfield": "^3.11.11", + "@react-aria/slider": "^3.7.16", + "@react-aria/spinbutton": "^3.6.12", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-stately/color": "^3.8.3", + "@react-stately/form": "^3.1.2", + "@react-types/color": "^3.0.3", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/color/src/index.ts b/packages/@react-aria/color/src/index.ts index 530b0d21c7d..8f65cf51bcb 100644 --- a/packages/@react-aria/color/src/index.ts +++ b/packages/@react-aria/color/src/index.ts @@ -18,7 +18,7 @@ export {useColorChannelField} from './useColorChannelField'; export type {AriaColorAreaOptions, ColorAreaAria} from './useColorArea'; export type {AriaColorSliderOptions, ColorSliderAria} from './useColorSlider'; export type {AriaColorWheelOptions, ColorWheelAria} from './useColorWheel'; -export type {AriaColorFieldProps} from '@react-types/color'; +export type {AriaColorAreaProps, AriaColorFieldProps, AriaColorSliderProps} from '@react-types/color'; export type {ColorFieldAria} from './useColorField'; export type {AriaColorSwatchProps, ColorSwatchAria} from './useColorSwatch'; export type {AriaColorChannelFieldProps, ColorChannelFieldAria} from './useColorChannelField'; diff --git a/packages/@react-aria/combobox/package.json b/packages/@react-aria/combobox/package.json index 85f134a06a1..e17ad946991 100644 --- a/packages/@react-aria/combobox/package.json +++ b/packages/@react-aria/combobox/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/combobox", - "version": "3.11.1", + "version": "3.12.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,20 +22,21 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/listbox": "^3.14.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/listbox": "^3.14.1", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/menu": "^3.17.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/collections": "^3.12.1", - "@react-stately/combobox": "^3.10.2", - "@react-stately/form": "^3.1.1", - "@react-types/button": "^3.10.2", - "@react-types/combobox": "^3.13.2", - "@react-types/shared": "^3.27.0", + "@react-aria/menu": "^3.18.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/combobox": "^3.10.3", + "@react-stately/form": "^3.1.2", + "@react-types/button": "^3.11.0", + "@react-types/combobox": "^3.13.3", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/combobox/src/useComboBox.ts b/packages/@react-aria/combobox/src/useComboBox.ts index 080ca09238e..9e5b0f1a6e9 100644 --- a/packages/@react-aria/combobox/src/useComboBox.ts +++ b/packages/@react-aria/combobox/src/useComboBox.ts @@ -16,8 +16,9 @@ import {AriaComboBoxProps} from '@react-types/combobox'; import {ariaHideOutside} from '@react-aria/overlays'; import {AriaListBoxOptions, getItemId, listData} from '@react-aria/listbox'; import {BaseEvent, DOMAttributes, KeyboardDelegate, LayoutDelegate, PressEvent, RefObject, RouterOptions, ValidationResult} from '@react-types/shared'; -import {chain, isAppleDevice, mergeProps, useLabels, useRouter} from '@react-aria/utils'; +import {chain, getActiveElement, getOwnerDocument, isAppleDevice, mergeProps, useLabels, useRouter, useUpdateEffect} from '@react-aria/utils'; import {ComboBoxState} from '@react-stately/combobox'; +import {dispatchVirtualFocus} from '@react-aria/focus'; import {FocusEvent, InputHTMLAttributes, KeyboardEvent, TouchEvent, useEffect, useMemo, useRef} from 'react'; import {getChildNodes, getItemCount} from '@react-stately/collections'; // @ts-ignore @@ -342,6 +343,13 @@ export function useComboBox(props: AriaComboBoxOptions, state: ComboBoxSta } }, [state.isOpen, inputRef, popoverRef]); + useUpdateEffect(() => { + // Re-show focus ring when there is no virtually focused item. + if (!focusedItem && inputRef.current && getActiveElement(getOwnerDocument(inputRef.current)) === inputRef.current) { + dispatchVirtualFocus(inputRef.current, null); + } + }, [focusedItem]); + return { labelProps, buttonProps: { diff --git a/packages/@react-aria/datepicker/package.json b/packages/@react-aria/datepicker/package.json index 27f92c09cca..e34c99b0d9f 100644 --- a/packages/@react-aria/datepicker/package.json +++ b/packages/@react-aria/datepicker/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/datepicker", - "version": "3.13.0", + "version": "3.14.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -25,20 +25,20 @@ "@internationalized/date": "^3.7.0", "@internationalized/number": "^3.6.0", "@internationalized/string": "^3.2.5", - "@react-aria/focus": "^3.19.1", - "@react-aria/form": "^3.0.12", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/spinbutton": "^3.6.11", - "@react-aria/utils": "^3.27.0", - "@react-stately/datepicker": "^3.12.0", - "@react-stately/form": "^3.1.1", - "@react-types/button": "^3.10.2", - "@react-types/calendar": "^3.6.0", - "@react-types/datepicker": "^3.10.0", - "@react-types/dialog": "^3.5.15", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/form": "^3.0.13", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/spinbutton": "^3.6.12", + "@react-aria/utils": "^3.28.0", + "@react-stately/datepicker": "^3.13.0", + "@react-stately/form": "^3.1.2", + "@react-types/button": "^3.11.0", + "@react-types/calendar": "^3.6.1", + "@react-types/datepicker": "^3.11.0", + "@react-types/dialog": "^3.5.16", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/datepicker/src/useDatePicker.ts b/packages/@react-aria/datepicker/src/useDatePicker.ts index 645fb476bd4..70980d1e17e 100644 --- a/packages/@react-aria/datepicker/src/useDatePicker.ts +++ b/packages/@react-aria/datepicker/src/useDatePicker.ts @@ -26,7 +26,7 @@ import {useDatePickerGroup} from './useDatePickerGroup'; import {useField} from '@react-aria/label'; import {useFocusWithin} from '@react-aria/interactions'; import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n'; -import {useMemo} from 'react'; +import {useMemo, useRef} from 'react'; export interface DatePickerAria extends ValidationResult { /** Props for the date picker's visible label element, if any. */ @@ -77,12 +77,26 @@ export function useDatePicker(props: AriaDatePickerProps let domProps = filterDOMProps(props); let focusManager = useMemo(() => createFocusManager(ref), [ref]); + let isFocused = useRef(false); let {focusWithinProps} = useFocusWithin({ ...props, isDisabled: state.isOpen, - onBlurWithin: props.onBlur, - onFocusWithin: props.onFocus, - onFocusWithinChange: props.onFocusChange + onBlurWithin: e => { + // Ignore when focus moves into the popover. + let dialog = document.getElementById(dialogId); + if (!dialog?.contains(e.relatedTarget)) { + isFocused.current = false; + props.onBlur?.(e); + props.onFocusChange?.(false); + } + }, + onFocusWithin: e => { + if (!isFocused.current) { + isFocused.current = true; + props.onFocus?.(e); + props.onFocusChange?.(true); + } + } }); return { diff --git a/packages/@react-aria/datepicker/src/useDatePickerGroup.ts b/packages/@react-aria/datepicker/src/useDatePickerGroup.ts index 142648a7a8c..b5060aa86c3 100644 --- a/packages/@react-aria/datepicker/src/useDatePickerGroup.ts +++ b/packages/@react-aria/datepicker/src/useDatePickerGroup.ts @@ -1,48 +1,14 @@ import {createFocusManager, getFocusableTreeWalker} from '@react-aria/focus'; import {DateFieldState, DatePickerState, DateRangePickerState} from '@react-stately/datepicker'; import {DOMAttributes, FocusableElement, KeyboardEvent, RefObject} from '@react-types/shared'; -import {mergeProps, useLayoutEffect} from '@react-aria/utils'; +import {mergeProps} from '@react-aria/utils'; import {useLocale} from '@react-aria/i18n'; -import {useMemo, useRef} from 'react'; +import {useMemo} from 'react'; import {usePress} from '@react-aria/interactions'; export function useDatePickerGroup(state: DatePickerState | DateRangePickerState | DateFieldState, ref: RefObject, disableArrowNavigation?: boolean): DOMAttributes { let {direction} = useLocale(); let focusManager = useMemo(() => createFocusManager(ref), [ref]); - let segments = useRef(undefined); - useLayoutEffect(() => { - if (ref?.current) { - - let update = () => { - if (ref.current) { - // TODO: For now, just querying this list of elements. However, it's possible that either through hooks or RAC that some users may include other focusable items that they would want to able to keyboard navigate to. In that case, we might want to utilize focusableElements in isFocusable.ts - let editableSegments: NodeListOf | undefined = ref.current?.querySelectorAll('span[role="spinbutton"], span[role="textbox"], button, div[role="spinbutton"], div[role="textbox"]'); - - let segmentsArr = Array.from(editableSegments as NodeListOf).filter(Boolean).map(node => { - return { - element: node as FocusableElement, - rectX: node.getBoundingClientRect().left - }; - }); - - let orderedSegments = segmentsArr.sort((a, b) => a.rectX - b.rectX).map((item => item.element)); - segments.current = orderedSegments; - } - }; - - update(); - - let observer = new MutationObserver(update); - observer.observe(ref.current, { - subtree: true, - childList: true - }); - - return () => { - observer.disconnect(); - }; - } - }, []); // Open the popover on alt + arrow down let onKeyDown = (e: KeyboardEvent) => { @@ -65,19 +31,12 @@ export function useDatePickerGroup(state: DatePickerState | DateRangePickerState e.preventDefault(); e.stopPropagation(); if (direction === 'rtl') { - if (segments.current) { - let orderedSegments = segments.current; + if (ref.current) { let target = e.target as FocusableElement; - let index = orderedSegments.indexOf(target); + let prev = findNextSegment(ref.current, target.getBoundingClientRect().left, -1); - if (index === 0) { - target = orderedSegments[0] || target; - } else { - target = orderedSegments[index - 1] || target; - } - - if (target) { - target.focus(); + if (prev) { + prev.focus(); } } } else { @@ -88,22 +47,12 @@ export function useDatePickerGroup(state: DatePickerState | DateRangePickerState e.preventDefault(); e.stopPropagation(); if (direction === 'rtl') { - if (segments.current) { - let orderedSegments = segments.current; + if (ref.current) { let target = e.target as FocusableElement; - let index = orderedSegments.indexOf(target); - - if (index === orderedSegments.length - 1) { - target = orderedSegments[orderedSegments.length - 1] || target; - } else { - target = orderedSegments[index - 1] || target; - } - + let next = findNextSegment(ref.current, target.getBoundingClientRect().left, 1); - target = orderedSegments[index + 1] || target; - - if (target) { - target.focus(); + if (next) { + next.focus(); } } } else { @@ -169,3 +118,21 @@ export function useDatePickerGroup(state: DatePickerState | DateRangePickerState return mergeProps(pressProps, {onKeyDown}); } + +function findNextSegment(group: Element, fromX: number, direction: number) { + let walker = getFocusableTreeWalker(group, {tabbable: true}); + let node = walker.nextNode(); + let closest: FocusableElement | null = null; + let closestDistance = Infinity; + while (node) { + let x = (node as Element).getBoundingClientRect().left; + let distance = x - fromX; + let absoluteDistance = Math.abs(distance); + if (Math.sign(distance) === direction && absoluteDistance < closestDistance) { + closest = node as FocusableElement; + closestDistance = absoluteDistance; + } + node = walker.nextNode(); + } + return closest; +} diff --git a/packages/@react-aria/datepicker/src/useDateRangePicker.ts b/packages/@react-aria/datepicker/src/useDateRangePicker.ts index 8970160b3ad..7f80ee33578 100644 --- a/packages/@react-aria/datepicker/src/useDateRangePicker.ts +++ b/packages/@react-aria/datepicker/src/useDateRangePicker.ts @@ -109,12 +109,26 @@ export function useDateRangePicker(props: AriaDateRangePick let domProps = filterDOMProps(props); + let isFocused = useRef(false); let {focusWithinProps} = useFocusWithin({ ...props, isDisabled: state.isOpen, - onBlurWithin: props.onBlur, - onFocusWithin: props.onFocus, - onFocusWithinChange: props.onFocusChange + onBlurWithin: e => { + // Ignore when focus moves into the popover. + let dialog = document.getElementById(dialogId); + if (!dialog?.contains(e.relatedTarget)) { + isFocused.current = false; + props.onBlur?.(e); + props.onFocusChange?.(false); + } + }, + onFocusWithin: e => { + if (!isFocused.current) { + isFocused.current = true; + props.onFocus?.(e); + props.onFocusChange?.(true); + } + } }); let startFieldValidation = useRef(DEFAULT_VALIDATION_RESULT); diff --git a/packages/@react-aria/datepicker/src/useDateSegment.ts b/packages/@react-aria/datepicker/src/useDateSegment.ts index 36d64372322..2aad84bc0ea 100644 --- a/packages/@react-aria/datepicker/src/useDateSegment.ts +++ b/packages/@react-aria/datepicker/src/useDateSegment.ts @@ -385,18 +385,15 @@ export function useDateSegment(segment: DateSegment, state: DateFieldState, ref: }; } - let dateSegments = ['day', 'month', 'year']; - let segmentStyle : CSSProperties = {caretColor: 'transparent'}; + let segmentStyle: CSSProperties = {caretColor: 'transparent'}; if (direction === 'rtl') { // While the bidirectional algorithm seems to work properly on inline elements with actual values, it returns different results for placeholder strings. // To ensure placeholder render in correct format, we apply the CSS equivalent of LRE (left-to-right embedding). See https://www.unicode.org/reports/tr9/#Explicit_Directional_Embeddings. // However, we apply this to both placeholders and date segments with an actual value because the date segments will shift around when deleting otherwise. - if (dateSegments.includes(segment.type)) { - segmentStyle = {caretColor: 'transparent', direction: 'ltr', unicodeBidi: 'embed'}; - } else if (segment.type === 'timeZoneName') { - // This is needed so that the time zone renders on the left side of the time segments (hour:minute). - // Otherwise, it will render on the right side which is incorrect. - segmentStyle = {caretColor: 'transparent', unicodeBidi: 'embed'}; + segmentStyle.unicodeBidi = 'embed'; + let format = options[segment.type]; + if (format === 'numeric' || format === '2-digit') { + segmentStyle.direction = 'ltr'; } } diff --git a/packages/@react-aria/dialog/package.json b/packages/@react-aria/dialog/package.json index f7767b93a0f..32be155e704 100644 --- a/packages/@react-aria/dialog/package.json +++ b/packages/@react-aria/dialog/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/dialog", - "version": "3.5.21", + "version": "3.5.22", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -26,11 +26,11 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-types/dialog": "^3.5.15", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-types/dialog": "^3.5.16", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "publishConfig": { diff --git a/packages/@react-aria/disclosure/package.json b/packages/@react-aria/disclosure/package.json index 3a30773460f..3f3d3be8f3c 100644 --- a/packages/@react-aria/disclosure/package.json +++ b/packages/@react-aria/disclosure/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/disclosure", - "version": "3.0.1", + "version": "3.0.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,9 +23,9 @@ }, "dependencies": { "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-stately/disclosure": "^3.0.1", - "@react-types/button": "^3.10.2", + "@react-aria/utils": "^3.28.0", + "@react-stately/disclosure": "^3.0.2", + "@react-types/button": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/dnd/package.json b/packages/@react-aria/dnd/package.json index 373fae0313e..f73ca4f0b9e 100644 --- a/packages/@react-aria/dnd/package.json +++ b/packages/@react-aria/dnd/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/dnd", - "version": "3.8.1", + "version": "3.9.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,14 +23,14 @@ }, "dependencies": { "@internationalized/string": "^3.2.5", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/dnd": "^3.5.1", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/dnd": "^3.5.2", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/dnd/src/useClipboard.ts b/packages/@react-aria/dnd/src/useClipboard.ts index bc26f7cf686..53f23ee148b 100644 --- a/packages/@react-aria/dnd/src/useClipboard.ts +++ b/packages/@react-aria/dnd/src/useClipboard.ts @@ -18,7 +18,7 @@ import {useFocus} from '@react-aria/interactions'; export interface ClipboardProps { /** A function that returns the items to copy. */ - getItems?: (details: {type: 'cut' | 'copy'}) => DragItem[], + getItems?: (details: {action: 'cut' | 'copy'}) => DragItem[], /** Handler that is called when the user triggers a copy interaction. */ onCopy?: () => void, /** Handler that is called when the user triggers a cut interaction. */ @@ -88,7 +88,7 @@ export function useClipboard(options: ClipboardProps): ClipboardResult { e.preventDefault(); if (e.clipboardData) { - writeToDataTransfer(e.clipboardData, options.getItems({type: 'copy'})); + writeToDataTransfer(e.clipboardData, options.getItems({action: 'copy'})); options.onCopy?.(); } }); @@ -106,7 +106,7 @@ export function useClipboard(options: ClipboardProps): ClipboardResult { e.preventDefault(); if (e.clipboardData) { - writeToDataTransfer(e.clipboardData, options.getItems({type: 'cut'})); + writeToDataTransfer(e.clipboardData, options.getItems({action: 'cut'})); options.onCut(); } }); diff --git a/packages/@react-aria/dnd/test/useClipboard.test.js b/packages/@react-aria/dnd/test/useClipboard.test.js index 140b0b0b619..20d93949bd9 100644 --- a/packages/@react-aria/dnd/test/useClipboard.test.js +++ b/packages/@react-aria/dnd/test/useClipboard.test.js @@ -364,9 +364,9 @@ describe('useClipboard', () => { expect(await onPaste.mock.calls[0][0][1].getText('text/plain')).toBe('item 2'); }); - it('should show the type of the clipboard event if cutting', async () => { + it('should show the action type of the clipboard event if cutting', async () => { let getItems = (details) => [{ - [details.type]: 'test data' + [details.action]: 'test data' }]; let onCut = jest.fn(); @@ -382,9 +382,9 @@ describe('useClipboard', () => { expect(onCut).toHaveBeenCalledTimes(1); }); - it('should show the type of the clipboard event if copying', async () => { + it('should show the action type of the clipboard event if copying', async () => { let getItems = (details) => [{ - [details.type]: 'test data' + [details.action]: 'test data' }]; let onCopy = jest.fn(); diff --git a/packages/@react-aria/focus/package.json b/packages/@react-aria/focus/package.json index 45a3b24aedb..a00e7ff87d7 100644 --- a/packages/@react-aria/focus/package.json +++ b/packages/@react-aria/focus/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/focus", - "version": "3.19.1", + "version": "3.20.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, diff --git a/packages/@react-aria/form/package.json b/packages/@react-aria/form/package.json index 2326747a82d..39807a8ed46 100644 --- a/packages/@react-aria/form/package.json +++ b/packages/@react-aria/form/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/form", - "version": "3.0.12", + "version": "3.0.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/form": "^3.1.1", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/form": "^3.1.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/grid/package.json b/packages/@react-aria/grid/package.json index 47cd3606851..fc844486e21 100644 --- a/packages/@react-aria/grid/package.json +++ b/packages/@react-aria/grid/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/grid", - "version": "3.11.1", + "version": "3.12.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,18 +22,18 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/collections": "^3.12.1", - "@react-stately/grid": "^3.10.1", - "@react-stately/selection": "^3.19.0", - "@react-types/checkbox": "^3.9.1", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/grid": "^3.11.0", + "@react-stately/selection": "^3.20.0", + "@react-types/checkbox": "^3.9.2", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/gridlist/package.json b/packages/@react-aria/gridlist/package.json index d941ccc8aa2..6af03b8ce02 100644 --- a/packages/@react-aria/gridlist/package.json +++ b/packages/@react-aria/gridlist/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/gridlist", - "version": "3.10.1", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,16 +22,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/grid": "^3.11.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/collections": "^3.12.1", - "@react-stately/list": "^3.11.2", - "@react-stately/tree": "^3.8.7", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/grid": "^3.12.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/list": "^3.12.0", + "@react-stately/tree": "^3.8.8", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/i18n/package.json b/packages/@react-aria/i18n/package.json index 323d29466b3..59444486462 100644 --- a/packages/@react-aria/i18n/package.json +++ b/packages/@react-aria/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/i18n", - "version": "3.12.5", + "version": "3.12.6", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -52,8 +52,8 @@ "@internationalized/number": "^3.6.0", "@internationalized/string": "^3.2.5", "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/interactions/package.json b/packages/@react-aria/interactions/package.json index 4525033285c..4ca4d4ad695 100644 --- a/packages/@react-aria/interactions/package.json +++ b/packages/@react-aria/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/interactions", - "version": "3.23.0", + "version": "3.24.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,9 +23,9 @@ }, "dependencies": { "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-stately/flags": "^3.0.5", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/flags": "^3.1.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/interactions/src/useFocusWithin.ts b/packages/@react-aria/interactions/src/useFocusWithin.ts index 50b2d7c6015..8e5c13f50ee 100644 --- a/packages/@react-aria/interactions/src/useFocusWithin.ts +++ b/packages/@react-aria/interactions/src/useFocusWithin.ts @@ -17,8 +17,8 @@ import {DOMAttributes} from '@react-types/shared'; import {FocusEvent, useCallback, useRef} from 'react'; -import {getActiveElement, getEventTarget, getOwnerDocument} from '@react-aria/utils'; -import {useSyntheticBlurEvent} from './utils'; +import {getActiveElement, getEventTarget, getOwnerDocument, nodeContains, useGlobalListeners} from '@react-aria/utils'; +import {SyntheticFocusEvent, useSyntheticBlurEvent} from './utils'; export interface FocusWithinProps { /** Whether the focus within events should be disabled. */ @@ -50,6 +50,8 @@ export function useFocusWithin(props: FocusWithinProps): FocusWithinResult { isFocusWithin: false }); + let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners(); + let onBlur = useCallback((e: FocusEvent) => { // Ignore events bubbling through portals. if (!e.currentTarget.contains(e.target)) { @@ -61,6 +63,7 @@ export function useFocusWithin(props: FocusWithinProps): FocusWithinResult { // include the relatedTarget (where focus is moving). if (state.current.isFocusWithin && !(e.currentTarget as Element).contains(e.relatedTarget as Element)) { state.current.isFocusWithin = false; + removeAllGlobalListeners(); if (onBlurWithin) { onBlurWithin(e); @@ -70,7 +73,7 @@ export function useFocusWithin(props: FocusWithinProps): FocusWithinResult { onFocusWithinChange(false); } } - }, [onBlurWithin, onFocusWithinChange, state]); + }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]); let onSyntheticFocus = useSyntheticBlurEvent(onBlur); let onFocus = useCallback((e: FocusEvent) => { @@ -94,8 +97,21 @@ export function useFocusWithin(props: FocusWithinProps): FocusWithinResult { state.current.isFocusWithin = true; onSyntheticFocus(e); + + // Browsers don't fire blur events when elements are removed from the DOM. + // However, if a focus event occurs outside the element we're tracking, we + // can manually fire onBlur. + let currentTarget = e.currentTarget; + addGlobalListener(ownerDocument, 'focus', e => { + if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) { + let event = new SyntheticFocusEvent('blur', new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target})); + event.target = currentTarget; + event.currentTarget = currentTarget; + onBlur(event); + } + }, {capture: true}); } - }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus]); + }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]); if (isDisabled) { return { diff --git a/packages/@react-aria/interactions/src/useHover.ts b/packages/@react-aria/interactions/src/useHover.ts index 672e13c1729..610ee642a67 100644 --- a/packages/@react-aria/interactions/src/useHover.ts +++ b/packages/@react-aria/interactions/src/useHover.ts @@ -16,6 +16,7 @@ // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions import {DOMAttributes, HoverEvents} from '@react-types/shared'; +import {getOwnerDocument, nodeContains, useGlobalListeners} from '@react-aria/utils'; import {useEffect, useMemo, useRef, useState} from 'react'; export interface HoverProps extends HoverEvents { @@ -100,6 +101,7 @@ export function useHover(props: HoverProps): HoverResult { }).current; useEffect(setupGlobalTouchEvents, []); + let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners(); let {hoverProps, triggerHoverEnd} = useMemo(() => { let triggerHoverStart = (event, pointerType) => { @@ -112,6 +114,16 @@ export function useHover(props: HoverProps): HoverResult { let target = event.currentTarget; state.target = target; + // When an element that is hovered over is removed, no pointerleave event is fired by the browser, + // even though the originally hovered target may have shrunk in size so it is no longer hovered. + // However, a pointerover event will be fired on the new target the mouse is over. + // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel. + addGlobalListener(getOwnerDocument(event.target), 'pointerover', e => { + if (state.isHovered && state.target && !nodeContains(state.target, e.target as Element)) { + triggerHoverEnd(e, e.pointerType); + } + }, {capture: true}); + if (onHoverStart) { onHoverStart({ type: 'hoverstart', @@ -128,15 +140,17 @@ export function useHover(props: HoverProps): HoverResult { }; let triggerHoverEnd = (event, pointerType) => { + let target = state.target; state.pointerType = ''; state.target = null; - if (pointerType === 'touch' || !state.isHovered) { + if (pointerType === 'touch' || !state.isHovered || !target) { return; } state.isHovered = false; - let target = event.currentTarget; + removeAllGlobalListeners(); + if (onHoverEnd) { onHoverEnd({ type: 'hoverend', @@ -188,7 +202,7 @@ export function useHover(props: HoverProps): HoverResult { }; } return {hoverProps, triggerHoverEnd}; - }, [onHoverStart, onHoverChange, onHoverEnd, isDisabled, state]); + }, [onHoverStart, onHoverChange, onHoverEnd, isDisabled, state, addGlobalListener, removeAllGlobalListeners]); useEffect(() => { // Call the triggerHoverEnd as soon as isDisabled changes to true diff --git a/packages/@react-aria/interactions/src/usePress.ts b/packages/@react-aria/interactions/src/usePress.ts index 6c046771ce4..080bfefda61 100644 --- a/packages/@react-aria/interactions/src/usePress.ts +++ b/packages/@react-aria/interactions/src/usePress.ts @@ -526,7 +526,7 @@ export function usePress(props: PressHookProps): PressResult { state.target.click(); } } - }, 40); + }, 80); // Use a capturing listener to track if a click occurred. // If stopPropagation is called it may never reach our handler. addGlobalListener(e.currentTarget as Document, 'click', () => clicked = true, true); diff --git a/packages/@react-aria/interactions/test/useFocusWithin.test.js b/packages/@react-aria/interactions/test/useFocusWithin.test.js index 3aa8e13ed19..a5cd33a45b0 100644 --- a/packages/@react-aria/interactions/test/useFocusWithin.test.js +++ b/packages/@react-aria/interactions/test/useFocusWithin.test.js @@ -11,7 +11,7 @@ */ import {act, render, waitFor} from '@react-spectrum/test-utils-internal'; -import React from 'react'; +import React, {useState} from 'react'; import {useFocusWithin} from '../'; function Example(props) { @@ -156,4 +156,42 @@ describe('useFocusWithin', function () { // MutationObserver is async await waitFor(() => expect(onBlur).toHaveBeenCalled()); }); + + it('should fire onBlur when focus occurs outside', async function () { + function Test(props) { + let {focusWithinProps} = useFocusWithin(props); + return
{props.children}
; + } + + function Inner() { + let [show, setShow] = useState(true); + return show ? : null; + } + + let events = []; + let addEvent = (e) => events.push({type: e.type, target: e.target}); + let tree = render( + <> + events.push({type: 'focuschange', isFocused})}> + + + + + ); + + let el = tree.getByRole('button'); + act(() => el.focus()); + act(() => el.click()); + act(() => tree.getByTestId('outer').focus()); + + expect(events).toEqual([ + {type: 'focus', target: el}, + {type: 'focuschange', isFocused: true}, + {type: 'blur', target: tree.getByTestId('test')}, + {type: 'focuschange', isFocused: false} + ]); + }); }); diff --git a/packages/@react-aria/interactions/test/useHover.test.js b/packages/@react-aria/interactions/test/useHover.test.js index 32542e59770..144610513ca 100644 --- a/packages/@react-aria/interactions/test/useHover.test.js +++ b/packages/@react-aria/interactions/test/useHover.test.js @@ -15,7 +15,7 @@ import {ActionButton} from '@react-spectrum/button'; import {Dialog, DialogTrigger} from '@react-spectrum/dialog'; import MatchMediaMock from 'jest-matchmedia-mock'; import {Provider} from '@react-spectrum/provider'; -import React from 'react'; +import React, {useState} from 'react'; import {theme} from '@react-spectrum/theme-default'; import {useHover} from '../'; @@ -295,6 +295,63 @@ describe('useHover', function () { ]); fireEvent(el, pointerEvent('pointerout', {pointerType: 'mouse'})); }); + + it('should trigger onHoverEnd after an element is removed', async function () { + function Test(props) { + let {hoverProps, isHovered} = useHover(props); + return
{props.children}
; + } + + function Inner() { + let [show, setShow] = useState(true); + return show ? : null; + } + + let events = []; + let addEvent = (e) => events.push(e); + let res = render( + addEvent({type: 'hoverchange', isHovering})}> + + + ); + + let el = res.getByTestId('test'); + fireEvent(el, pointerEvent('pointerover', {pointerType: 'mouse'})); + expect(el).toHaveAttribute('data-hovered', 'true'); + + let button = res.getByRole('button'); + act(() => button.click()); + expect(button).not.toBeInTheDocument(); + + // browser does not fire pointerout/pointerleave here. + // but it does fire pointerover on the new target. + fireEvent(document.body, pointerEvent('pointerover', {pointerType: 'mouse'})); + expect(el).not.toHaveAttribute('data-hovered'); + + expect(events).toEqual([ + { + type: 'hoverstart', + target: el, + pointerType: 'mouse' + }, + { + type: 'hoverchange', + isHovering: true + }, + { + type: 'hoverend', + target: el, + pointerType: 'mouse' + }, + { + type: 'hoverchange', + isHovering: false + } + ]); + }); }); describe('mouse events', function () { diff --git a/packages/@react-aria/interactions/test/usePress.test.js b/packages/@react-aria/interactions/test/usePress.test.js index bcf0c9b72fc..95218f58c84 100644 --- a/packages/@react-aria/interactions/test/usePress.test.js +++ b/packages/@react-aria/interactions/test/usePress.test.js @@ -262,7 +262,7 @@ describe('usePress', function () { expect(shouldFocus).toBe(true); // Mouse events are not fired in this case, and the browser does not focus the element. - act(() => jest.advanceTimersByTime(50)); + act(() => jest.advanceTimersByTime(90)); expect(document.activeElement).toBe(el); expect(events).toEqual([ @@ -353,7 +353,7 @@ describe('usePress', function () { expect(shouldClick).toBe(true); fireEvent(el, pointerEvent('pointerout', {pointerId: 1, pointerType: 'mouse', clientX: 0, clientY: 0})); - act(() => jest.advanceTimersByTime(50)); + act(() => jest.advanceTimersByTime(90)); expect(events).toEqual([ { diff --git a/packages/@react-aria/label/package.json b/packages/@react-aria/label/package.json index 0f225d23fe4..f7af4e7e79f 100644 --- a/packages/@react-aria/label/package.json +++ b/packages/@react-aria/label/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/label", - "version": "3.7.14", + "version": "3.7.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/landmark/package.json b/packages/@react-aria/landmark/package.json index a7fae8fc157..54328065bc8 100644 --- a/packages/@react-aria/landmark/package.json +++ b/packages/@react-aria/landmark/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/landmark", - "version": "3.0.0-beta.18", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, diff --git a/packages/@react-aria/landmark/src/index.ts b/packages/@react-aria/landmark/src/index.ts index 3a98a526f22..3779ad611bf 100644 --- a/packages/@react-aria/landmark/src/index.ts +++ b/packages/@react-aria/landmark/src/index.ts @@ -11,4 +11,4 @@ */ export type {AriaLandmarkRole, AriaLandmarkProps, LandmarkAria, LandmarkController} from './useLandmark'; -export {useLandmark, createLandmarkController} from './useLandmark'; +export {useLandmark, UNSTABLE_createLandmarkController} from './useLandmark'; diff --git a/packages/@react-aria/landmark/src/useLandmark.ts b/packages/@react-aria/landmark/src/useLandmark.ts index e32a14e2226..e2db8be1489 100644 --- a/packages/@react-aria/landmark/src/useLandmark.ts +++ b/packages/@react-aria/landmark/src/useLandmark.ts @@ -436,7 +436,7 @@ class LandmarkManager implements LandmarkManagerApi { } /** Creates a LandmarkController, which allows programmatic navigation of landmarks. */ -export function createLandmarkController(): LandmarkController { +export function UNSTABLE_createLandmarkController(): LandmarkController { // Get the current landmark manager and create a controller using it. let instance: LandmarkManagerApi | null = getLandmarkManager(); let controller = instance?.createLandmarkController(); diff --git a/packages/@react-aria/landmark/stories/Landmark.stories.tsx b/packages/@react-aria/landmark/stories/Landmark.stories.tsx index 543ab5102b6..ca6744ad00f 100644 --- a/packages/@react-aria/landmark/stories/Landmark.stories.tsx +++ b/packages/@react-aria/landmark/stories/Landmark.stories.tsx @@ -14,7 +14,6 @@ import {ActionGroup, Item} from '@react-spectrum/actiongroup'; import {Cell, Column, Row, TableBody, TableHeader, TableView} from '@react-spectrum/table'; import {Checkbox} from '@react-spectrum/checkbox'; import {classNames, useFocusableRef, useStyleProps} from '@react-spectrum/utils'; -import {createLandmarkController, useLandmark} from '../'; import {Flex} from '@react-spectrum/layout'; import {Link} from '@react-spectrum/link'; import {Meta} from '@storybook/react'; @@ -22,6 +21,7 @@ import React, {SyntheticEvent, useEffect, useMemo, useRef} from 'react'; import {SearchField} from '@react-spectrum/searchfield'; import styles from './index.css'; import {TextField} from '@react-spectrum/textfield'; +import {UNSTABLE_createLandmarkController, useLandmark} from '../'; interface StoryProps {} @@ -314,7 +314,7 @@ function ApplicationExample() { } function IframeExample() { - let controller = useMemo(() => createLandmarkController(), []); + let controller = useMemo(() => UNSTABLE_createLandmarkController(), []); useEffect(() => () => controller.dispose(), [controller]); let onLoad = (e: SyntheticEvent) => { let iframe = e.target as HTMLIFrameElement; diff --git a/packages/@react-aria/landmark/test/useLandmark.test.tsx b/packages/@react-aria/landmark/test/useLandmark.test.tsx index 34919310dd4..2aaf60e9b31 100644 --- a/packages/@react-aria/landmark/test/useLandmark.test.tsx +++ b/packages/@react-aria/landmark/test/useLandmark.test.tsx @@ -15,11 +15,11 @@ import {ActionGroup, Item} from '@react-spectrum/actiongroup'; import {Button} from '@react-spectrum/button'; import {Cell, Column, Row, TableBody, TableHeader, TableView} from '@react-spectrum/table'; import {Checkbox} from '@react-spectrum/checkbox'; -import {createLandmarkController, useLandmark} from '../'; import {Provider} from '@react-spectrum/provider'; import React from 'react'; import {TextField} from '@react-spectrum/textfield'; import {theme} from '@react-spectrum/theme-default'; +import {UNSTABLE_createLandmarkController, useLandmark} from '../'; import {useFocusableRef} from '@react-spectrum/utils'; import userEvent from '@testing-library/user-event'; @@ -1214,7 +1214,7 @@ describe('LandmarkManager', function () { await user.keyboard('{F6}'); expect(onLandmarkNavigation).not.toHaveBeenCalled(); - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); await user.keyboard('{F6}'); expect(onLandmarkNavigation).toHaveBeenCalledTimes(1); @@ -1247,7 +1247,7 @@ describe('LandmarkManager', function () { await user.tab(); expect(document.activeElement).toBe(tree.getAllByRole('link')[0]); - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); act(() => {controller.focusNext();}); expect(document.activeElement).toBe(tree.getByRole('main')); @@ -1276,7 +1276,7 @@ describe('LandmarkManager', function () { act(() => tree.getByRole('textbox').focus()); - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); act(() => {controller.focusPrevious();}); expect(document.activeElement).toBe(tree.getByRole('navigation')); @@ -1305,7 +1305,7 @@ describe('LandmarkManager', function () { act(() => tree.getByRole('textbox').focus()); - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); act(() => {controller.focusMain();}); expect(document.activeElement).toBe(tree.getByRole('main')); @@ -1317,7 +1317,7 @@ describe('LandmarkManager', function () { describe('singleton', function () { it('should store the landmark manager on the document', function () { // ensure a manager exists. - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); let manager = document[Symbol.for('react-aria-landmark-manager')]; expect(manager).toBeDefined(); expect(typeof manager.version).toBe('number'); @@ -1335,7 +1335,7 @@ describe('LandmarkManager', function () { ); - let controller = createLandmarkController(); + let controller = UNSTABLE_createLandmarkController(); let newController = { navigate: jest.fn(), focusNext: jest.fn(), diff --git a/packages/@react-aria/link/package.json b/packages/@react-aria/link/package.json index fe2d3471c1e..fe65fbf6f22 100644 --- a/packages/@react-aria/link/package.json +++ b/packages/@react-aria/link/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/link", - "version": "3.7.8", + "version": "3.7.9", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-types/link": "^3.5.10", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-types/link": "^3.5.11", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/listbox/package.json b/packages/@react-aria/listbox/package.json index d5b00aad03a..d340b2f4082 100644 --- a/packages/@react-aria/listbox/package.json +++ b/packages/@react-aria/listbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/listbox", - "version": "3.14.0", + "version": "3.14.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,14 +22,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/collections": "^3.12.1", - "@react-stately/list": "^3.11.2", - "@react-types/listbox": "^3.5.4", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/list": "^3.12.0", + "@react-types/listbox": "^3.5.5", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/menu/package.json b/packages/@react-aria/menu/package.json index a5bc80bc93e..608e2066f2d 100644 --- a/packages/@react-aria/menu/package.json +++ b/packages/@react-aria/menu/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/menu", - "version": "3.17.0", + "version": "3.18.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,19 +22,19 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/collections": "^3.12.1", - "@react-stately/menu": "^3.9.1", - "@react-stately/selection": "^3.19.0", - "@react-stately/tree": "^3.8.7", - "@react-types/button": "^3.10.2", - "@react-types/menu": "^3.9.14", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/menu": "^3.9.2", + "@react-stately/selection": "^3.20.0", + "@react-stately/tree": "^3.8.8", + "@react-types/button": "^3.11.0", + "@react-types/menu": "^3.9.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/menu/src/useSubmenuTrigger.ts b/packages/@react-aria/menu/src/useSubmenuTrigger.ts index e942f9788a6..4d9c5684305 100644 --- a/packages/@react-aria/menu/src/useSubmenuTrigger.ts +++ b/packages/@react-aria/menu/src/useSubmenuTrigger.ts @@ -15,7 +15,6 @@ import {AriaMenuOptions} from './useMenu'; import type {AriaPopoverProps, OverlayProps} from '@react-aria/overlays'; import {FocusableElement, FocusStrategy, KeyboardEvent, Node, PressEvent, RefObject} from '@react-types/shared'; import {focusWithoutScrolling, useEffectEvent, useId, useLayoutEffect} from '@react-aria/utils'; -import {getInteractionModality} from '@react-aria/interactions'; import type {SubmenuTriggerState} from '@react-stately/menu'; import {useCallback, useRef} from 'react'; import {useLocale} from '@react-aria/i18n'; @@ -99,6 +98,12 @@ export function useSubmenuTrigger(props: AriaSubmenuTriggerProps, state: Subm }, [cancelOpenTimeout]); let submenuKeyDown = (e: KeyboardEvent) => { + // If focus is not within the menu, assume virtual focus is being used. + // This means some other input element is also within the popover, so we shouldn't close the menu. + if (!e.currentTarget.contains(document.activeElement)) { + return; + } + switch (e.key) { case 'ArrowLeft': if (direction === 'ltr' && e.currentTarget.contains(e.target as Element)) { @@ -250,10 +255,6 @@ export function useSubmenuTrigger(props: AriaSubmenuTriggerProps, state: Subm submenuProps, popoverProps: { isNonModal: true, - // We will manually coerce focus back to the triggers for mobile screen readers and non virtual focus use cases (aka submenus outside of autocomplete) so turn off - // FocusScope then. For virtual focus use cases (Autocomplete subdialogs/menu) and subdialogs we want to keep FocusScope restoreFocus to automatically - // send focus to parent subdialog input fields and/or tab containment - disableFocusManagement: !shouldUseVirtualFocus && (getInteractionModality() === 'virtual' || type === 'menu'), shouldCloseOnInteractOutside } }; diff --git a/packages/@react-aria/meter/package.json b/packages/@react-aria/meter/package.json index 7b6e9682994..07a1a169f3c 100644 --- a/packages/@react-aria/meter/package.json +++ b/packages/@react-aria/meter/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/meter", - "version": "3.4.19", + "version": "3.4.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/progress": "^3.4.19", - "@react-types/meter": "^3.4.6", - "@react-types/shared": "^3.27.0", + "@react-aria/progress": "^3.4.20", + "@react-types/meter": "^3.4.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/numberfield/package.json b/packages/@react-aria/numberfield/package.json index a53989355fe..8e91220ecb6 100644 --- a/packages/@react-aria/numberfield/package.json +++ b/packages/@react-aria/numberfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/numberfield", - "version": "3.11.10", + "version": "3.11.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,16 +22,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/spinbutton": "^3.6.11", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/form": "^3.1.1", - "@react-stately/numberfield": "^3.9.9", - "@react-types/button": "^3.10.2", - "@react-types/numberfield": "^3.8.8", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/spinbutton": "^3.6.12", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/form": "^3.1.2", + "@react-stately/numberfield": "^3.9.10", + "@react-types/button": "^3.11.0", + "@react-types/numberfield": "^3.8.9", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/overlays/package.json b/packages/@react-aria/overlays/package.json index a91532d0f2c..4e512910b02 100644 --- a/packages/@react-aria/overlays/package.json +++ b/packages/@react-aria/overlays/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/overlays", - "version": "3.25.0", + "version": "3.26.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,16 +22,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-stately/overlays": "^3.6.13", - "@react-types/button": "^3.10.2", - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-stately/overlays": "^3.6.14", + "@react-types/button": "^3.11.0", + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/overlays/src/Overlay.tsx b/packages/@react-aria/overlays/src/Overlay.tsx index 0be457f9f19..a3c9a7fe334 100644 --- a/packages/@react-aria/overlays/src/Overlay.tsx +++ b/packages/@react-aria/overlays/src/Overlay.tsx @@ -32,6 +32,10 @@ export interface OverlayProps { * implement focus containment and restoration to ensure the overlay is keyboard accessible. */ disableFocusManagement?: boolean, + /** + * Whether to contain focus within the overlay. + */ + shouldContainFocus?: boolean, /** * Whether the overlay is currently performing an exit animation. When true, * focus is allowed to move outside. @@ -63,7 +67,7 @@ export function Overlay(props: OverlayProps): ReactElement | null { let contents = props.children; if (!props.disableFocusManagement) { contents = ( - + {contents} ); diff --git a/packages/@react-aria/overlays/src/usePopover.ts b/packages/@react-aria/overlays/src/usePopover.ts index eeeead7b334..00d1721cb1c 100644 --- a/packages/@react-aria/overlays/src/usePopover.ts +++ b/packages/@react-aria/overlays/src/usePopover.ts @@ -87,7 +87,7 @@ export function usePopover(props: AriaPopoverProps, state: OverlayTriggerState): ...otherProps } = props; - let isSubmenu = otherProps['trigger'] === 'SubmenuTrigger' || otherProps['trigger'] === 'SubDialogTrigger'; + let isSubmenu = otherProps['trigger'] === 'SubmenuTrigger'; let {overlayProps, underlayProps} = useOverlay( { diff --git a/packages/@react-aria/progress/package.json b/packages/@react-aria/progress/package.json index 7bb05b8b6b9..02a6d4eccef 100644 --- a/packages/@react-aria/progress/package.json +++ b/packages/@react-aria/progress/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/progress", - "version": "3.4.19", + "version": "3.4.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/index.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/label": "^3.7.14", - "@react-aria/utils": "^3.27.0", - "@react-types/progress": "^3.5.9", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/label": "^3.7.15", + "@react-aria/utils": "^3.28.0", + "@react-types/progress": "^3.5.10", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/radio/package.json b/packages/@react-aria/radio/package.json index ad106e58a4c..90ca69df55e 100644 --- a/packages/@react-aria/radio/package.json +++ b/packages/@react-aria/radio/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/radio", - "version": "3.10.11", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,15 +22,15 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/form": "^3.0.12", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/utils": "^3.27.0", - "@react-stately/radio": "^3.10.10", - "@react-types/radio": "^3.8.6", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/form": "^3.0.13", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/utils": "^3.28.0", + "@react-stately/radio": "^3.10.11", + "@react-types/radio": "^3.8.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/radio/src/useRadio.ts b/packages/@react-aria/radio/src/useRadio.ts index 9e25d7a5a7f..6508113660e 100644 --- a/packages/@react-aria/radio/src/useRadio.ts +++ b/packages/@react-aria/radio/src/useRadio.ts @@ -69,7 +69,11 @@ export function useRadio(props: AriaRadioProps, state: RadioGroupState, ref: Ref // Handle press state on the label. let {pressProps: labelProps, isPressed: isLabelPressed} = usePress({ - isDisabled + isDisabled, + onPress() { + state.setSelectedValue(value); + ref.current?.focus(); + } }); let {focusableProps} = useFocusable(mergeProps(props, { @@ -94,7 +98,7 @@ export function useRadio(props: AriaRadioProps, state: RadioGroupState, ref: Ref useFormValidation({validationBehavior}, state, ref); return { - labelProps, + labelProps: mergeProps(labelProps, {onClick: e => e.preventDefault()}), inputProps: mergeProps(domProps, { ...interactions, type: 'radio', diff --git a/packages/@react-aria/searchfield/package.json b/packages/@react-aria/searchfield/package.json index beb2f7d8d89..eed34af7a3b 100644 --- a/packages/@react-aria/searchfield/package.json +++ b/packages/@react-aria/searchfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/searchfield", - "version": "3.8.0", + "version": "3.8.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/searchfield": "^3.5.9", - "@react-types/button": "^3.10.2", - "@react-types/searchfield": "^3.5.11", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/searchfield": "^3.5.10", + "@react-types/button": "^3.11.0", + "@react-types/searchfield": "^3.6.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/select/package.json b/packages/@react-aria/select/package.json index 7d3b56e3752..61b259e5c8e 100644 --- a/packages/@react-aria/select/package.json +++ b/packages/@react-aria/select/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/select", - "version": "3.15.1", + "version": "3.15.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,19 +22,19 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/form": "^3.0.12", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/listbox": "^3.14.0", - "@react-aria/menu": "^3.17.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-stately/select": "^3.6.10", - "@react-types/button": "^3.10.2", - "@react-types/select": "^3.9.9", - "@react-types/shared": "^3.27.0", + "@react-aria/form": "^3.0.13", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/listbox": "^3.14.1", + "@react-aria/menu": "^3.18.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-stately/select": "^3.6.11", + "@react-types/button": "^3.11.0", + "@react-types/select": "^3.9.10", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/selection/package.json b/packages/@react-aria/selection/package.json index 56ea0d1c6d8..e8f2d1b41ff 100644 --- a/packages/@react-aria/selection/package.json +++ b/packages/@react-aria/selection/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/selection", - "version": "3.22.0", + "version": "3.23.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,12 +22,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/selection": "^3.19.0", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/selection": "^3.20.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/selection/src/useSelectableCollection.ts b/packages/@react-aria/selection/src/useSelectableCollection.ts index 6e271b59e3b..2a4756bf2b1 100644 --- a/packages/@react-aria/selection/src/useSelectableCollection.ts +++ b/packages/@react-aria/selection/src/useSelectableCollection.ts @@ -458,6 +458,7 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions }); const autoFocusRef = useRef(autoFocus); + const didAutoFocusRef = useRef(false); useEffect(() => { if (autoFocusRef.current) { let focusedKey: Key | null = null; @@ -487,14 +488,19 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions if (focusedKey == null && !shouldUseVirtualFocus && ref.current) { focusSafely(ref.current); } + + // Wait until the collection has items to autofocus. + if (manager.collection.size > 0) { + autoFocusRef.current = false; + didAutoFocusRef.current = true; + } } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }); // Scroll the focused element into view when the focusedKey changes. let lastFocusedKey = useRef(manager.focusedKey); useEffect(() => { - if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && scrollRef.current && ref.current) { + if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || didAutoFocusRef.current) && scrollRef.current && ref.current) { let modality = getInteractionModality(); let element = getItemElement(ref, manager.focusedKey); if (!(element instanceof HTMLElement)) { @@ -503,7 +509,7 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions return; } - if (modality === 'keyboard' || autoFocusRef.current) { + if (modality === 'keyboard' || didAutoFocusRef.current) { scrollIntoView(scrollRef.current, element); // Avoid scroll in iOS VO, since it may cause overlay to close (i.e. RAC submenu) @@ -519,7 +525,7 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions } lastFocusedKey.current = manager.focusedKey; - autoFocusRef.current = false; + didAutoFocusRef.current = false; }); // Intercept FocusScope restoration since virtualized collections can reuse DOM nodes. diff --git a/packages/@react-aria/separator/package.json b/packages/@react-aria/separator/package.json index a54628bf536..73e062d26d5 100644 --- a/packages/@react-aria/separator/package.json +++ b/packages/@react-aria/separator/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/separator", - "version": "3.4.5", + "version": "3.4.6", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/slider/package.json b/packages/@react-aria/slider/package.json index 05adfdea48e..1334a6cf74f 100644 --- a/packages/@react-aria/slider/package.json +++ b/packages/@react-aria/slider/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/slider", - "version": "3.7.15", + "version": "3.7.16", "description": "Slider", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/utils": "^3.27.0", - "@react-stately/slider": "^3.6.1", - "@react-types/shared": "^3.27.0", - "@react-types/slider": "^3.7.8", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/utils": "^3.28.0", + "@react-stately/slider": "^3.6.2", + "@react-types/shared": "^3.28.0", + "@react-types/slider": "^3.7.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/spinbutton/package.json b/packages/@react-aria/spinbutton/package.json index d766b5117f2..f1db596f01b 100644 --- a/packages/@react-aria/spinbutton/package.json +++ b/packages/@react-aria/spinbutton/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/spinbutton", - "version": "3.6.11", + "version": "3.6.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", + "@react-aria/i18n": "^3.12.6", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/utils": "^3.27.0", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/steplist/package.json b/packages/@react-aria/steplist/package.json index 5ecca95a963..0a7cab60784 100644 --- a/packages/@react-aria/steplist/package.json +++ b/packages/@react-aria/steplist/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/steplist", - "version": "3.0.0-alpha.13", + "version": "3.0.0-alpha.14", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/steplist": "3.0.0-alpha.11", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/steplist": "3.0.0-alpha.12", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/switch/package.json b/packages/@react-aria/switch/package.json index 6992666286e..72fb1575eb7 100644 --- a/packages/@react-aria/switch/package.json +++ b/packages/@react-aria/switch/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/switch", - "version": "3.6.11", + "version": "3.7.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/toggle": "^3.10.11", - "@react-stately/toggle": "^3.8.1", - "@react-types/shared": "^3.27.0", - "@react-types/switch": "^3.5.8", + "@react-aria/toggle": "^3.11.0", + "@react-stately/toggle": "^3.8.2", + "@react-types/shared": "^3.28.0", + "@react-types/switch": "^3.5.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/table/package.json b/packages/@react-aria/table/package.json index ac9d130c14b..ee627dfed7d 100644 --- a/packages/@react-aria/table/package.json +++ b/packages/@react-aria/table/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/table", - "version": "3.16.1", + "version": "3.17.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,20 +22,20 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/grid": "^3.11.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/grid": "^3.12.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-stately/collections": "^3.12.1", - "@react-stately/flags": "^3.0.5", - "@react-stately/table": "^3.13.1", - "@react-types/checkbox": "^3.9.1", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-stately/collections": "^3.12.2", + "@react-stately/flags": "^3.1.0", + "@react-stately/table": "^3.14.0", + "@react-types/checkbox": "^3.9.2", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/tabs/package.json b/packages/@react-aria/tabs/package.json index a52f9cf93c8..98b423670a1 100644 --- a/packages/@react-aria/tabs/package.json +++ b/packages/@react-aria/tabs/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/tabs", - "version": "3.9.9", + "version": "3.10.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/tabs": "^3.7.1", - "@react-types/shared": "^3.27.0", - "@react-types/tabs": "^3.3.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/tabs": "^3.8.0", + "@react-types/shared": "^3.28.0", + "@react-types/tabs": "^3.3.13", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/tag/package.json b/packages/@react-aria/tag/package.json index 7d0ffd67994..f0419332286 100644 --- a/packages/@react-aria/tag/package.json +++ b/packages/@react-aria/tag/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/tag", - "version": "3.4.9", + "version": "3.5.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,15 +22,15 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/gridlist": "^3.10.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/list": "^3.11.2", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/gridlist": "^3.11.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/list": "^3.12.0", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/test-utils/package.json b/packages/@react-aria/test-utils/package.json index e5a2fbb59e8..0d333c76612 100644 --- a/packages/@react-aria/test-utils/package.json +++ b/packages/@react-aria/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/test-utils", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "description": "Testing utils for react-aria patterns", "license": "Apache-2.0", "main": "dist/main.js", diff --git a/packages/@react-aria/textfield/package.json b/packages/@react-aria/textfield/package.json index f19f2dcb931..1cc115e3c3b 100644 --- a/packages/@react-aria/textfield/package.json +++ b/packages/@react-aria/textfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/textfield", - "version": "3.16.0", + "version": "3.17.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,14 +22,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/form": "^3.0.12", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/utils": "^3.27.0", - "@react-stately/form": "^3.1.1", + "@react-aria/form": "^3.0.13", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/utils": "^3.28.0", + "@react-stately/form": "^3.1.2", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", - "@react-types/textfield": "^3.11.0", + "@react-types/shared": "^3.28.0", + "@react-types/textfield": "^3.12.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/textfield/src/useTextField.ts b/packages/@react-aria/textfield/src/useTextField.ts index 824027d9fac..6958ca3c1ff 100644 --- a/packages/@react-aria/textfield/src/useTextField.ts +++ b/packages/@react-aria/textfield/src/useTextField.ts @@ -81,7 +81,11 @@ export interface AriaTextFieldOptions exte * Controls whether inputted text is automatically capitalized and, if so, in what manner. * See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize). */ - autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' + autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters', + /** + * An enumerated attribute that defines what action label or icon to preset for the enter key on virtual keyboards. See [https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint]. + */ + enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' } /** diff --git a/packages/@react-aria/toast/package.json b/packages/@react-aria/toast/package.json index c7e3a65c58d..9a6ea8fd130 100644 --- a/packages/@react-aria/toast/package.json +++ b/packages/@react-aria/toast/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/toast", - "version": "3.0.0-beta.19", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/landmark": "3.0.0-beta.18", - "@react-aria/utils": "^3.27.0", - "@react-stately/toast": "3.0.0-beta.7", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/landmark": "^3.0.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/toast": "^3.0.0", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/toast/src/useToast.ts b/packages/@react-aria/toast/src/useToast.ts index 4e5d4485621..7372475da18 100644 --- a/packages/@react-aria/toast/src/useToast.ts +++ b/packages/@react-aria/toast/src/useToast.ts @@ -15,7 +15,7 @@ import {AriaLabelingProps, DOMAttributes, FocusableElement, RefObject} from '@re // @ts-ignore import intlMessages from '../intl/*.json'; import {QueuedToast, ToastState} from '@react-stately/toast'; -import {useEffect} from 'react'; +import {useEffect, useState} from 'react'; import {useId, useSlotId} from '@react-aria/utils'; import {useLocalizedStringFormatter} from '@react-aria/i18n'; @@ -64,6 +64,14 @@ export function useToast(props: AriaToastProps, state: ToastState, ref: let descriptionId = useSlotId(); let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-aria/toast'); + // This is required for NVDA announcements, without it NVDA will NOT announce the toast when it appears. + // Originally was tied to animationStart/End via https://github.com/adobe/react-spectrum/pull/6223/commits/e22e319df64958e822ab7cd9685e96818cae9ba5 + // but toasts don't always have animations. + let [isVisible, setIsVisible] = useState(false); + useEffect(() => { + setIsVisible(true); + }, []); + return { toastProps: { role: 'alertdialog', @@ -76,7 +84,8 @@ export function useToast(props: AriaToastProps, state: ToastState, ref: }, contentProps: { role: 'alert', - 'aria-atomic': 'true' + 'aria-atomic': 'true', + 'aria-hidden': isVisible ? undefined : 'true' }, titleProps: { id: titleId diff --git a/packages/@react-aria/toast/src/useToastRegion.ts b/packages/@react-aria/toast/src/useToastRegion.ts index 5e9925bd09b..04d6a8dceed 100644 --- a/packages/@react-aria/toast/src/useToastRegion.ts +++ b/packages/@react-aria/toast/src/useToastRegion.ts @@ -11,7 +11,7 @@ */ import {AriaLabelingProps, DOMAttributes, FocusableElement, RefObject} from '@react-types/shared'; -import {focusWithoutScrolling, mergeProps, useLayoutEffect} from '@react-aria/utils'; +import {focusWithoutScrolling, mergeProps, useEffectEvent, useLayoutEffect} from '@react-aria/utils'; import {getInteractionModality, useFocusWithin, useHover} from '@react-aria/interactions'; // @ts-ignore import intlMessages from '../intl/*.json'; @@ -44,36 +44,26 @@ export function useToastRegion(props: AriaToastRegionProps, state: ToastState 'aria-label': props['aria-label'] || stringFormatter.format('notifications', {count: state.visibleToasts.length}) }, ref); - let {hoverProps} = useHover({ - onHoverStart: state.pauseAll, - onHoverEnd: state.resumeAll + let isHovered = useRef(false); + let isFocused = useRef(false); + let updateTimers = useEffectEvent(() => { + if (isHovered.current || isFocused.current) { + state.pauseAll(); + } else { + state.resumeAll(); + } }); - let prevToastCount = useRef(state.visibleToasts.length); - useEffect(() => { - // Resume timers if the user's pointer left the region due to a toast being removed and the region shrinking. - // Waits until the next pointermove after a toast is removed. - let onPointerMove = (e: PointerEvent) => { - if (!ref.current) { - document.removeEventListener('pointermove', onPointerMove); - return; - } - let regionRect = ref.current.getBoundingClientRect(); - const isPointerOverRegion = e.clientX >= regionRect.left && e.clientX <= regionRect.right && e.clientY >= regionRect.top && e.clientY <= regionRect.bottom; - if (!isPointerOverRegion) { - state.resumeAll(); - } - document.removeEventListener('pointermove', onPointerMove); - }; - - if (state.visibleToasts.length < prevToastCount.current && state.visibleToasts.length > 0) { - document.addEventListener('pointermove', onPointerMove); + let {hoverProps} = useHover({ + onHoverStart: () => { + isHovered.current = true; + updateTimers(); + }, + onHoverEnd: () => { + isHovered.current = false; + updateTimers(); } - prevToastCount.current = state.visibleToasts.length; - return () => { - document.removeEventListener('pointermove', onPointerMove); - }; - }, [state.visibleToasts, ref, state]); + }); // Manage focus within the toast region. // If a focused containing toast is removed, move focus to the next toast, or the previous toast if there is no next toast. @@ -102,52 +92,60 @@ export function useToastRegion(props: AriaToastRegionProps, state: ToastState isRemoved: !state.visibleToasts.some(t2 => t.key === t2.key) })); - let removedFocusedToastIndex = allToasts.findIndex(t => t.i === focusedToast.current); + let removedFocusedToastIndex = allToasts.findIndex(t => t.i === focusedToast.current && t.isRemoved); // If the focused toast was removed, focus the next or previous toast. if (removedFocusedToastIndex > -1) { - let i = 0; - let nextToast; - let prevToast; - while (i <= removedFocusedToastIndex) { - if (!allToasts[i].isRemoved) { - prevToast = Math.max(0, i - 1); + // In pointer modality, move focus out of the toast region. + // Otherwise auto-dismiss timers will appear "stuck". + if (getInteractionModality() === 'pointer' && lastFocused.current?.isConnected) { + focusWithoutScrolling(lastFocused.current); + } else { + let i = 0; + let nextToast; + let prevToast; + while (i <= removedFocusedToastIndex) { + if (!allToasts[i].isRemoved) { + prevToast = Math.max(0, i - 1); + } + i++; } - i++; - } - while (i < allToasts.length) { - if (!allToasts[i].isRemoved) { - nextToast = i - 1; - break; + while (i < allToasts.length) { + if (!allToasts[i].isRemoved) { + nextToast = i - 1; + break; + } + i++; } - i++; - } - // in the case where it's one toast at a time, both will be undefined, but we know the index must be 0 - if (prevToast === undefined && nextToast === undefined) { - prevToast = 0; - } + // in the case where it's one toast at a time, both will be undefined, but we know the index must be 0 + if (prevToast === undefined && nextToast === undefined) { + prevToast = 0; + } - // prioritize going to newer toasts - if (prevToast >= 0 && prevToast < toasts.current.length) { - focusWithoutScrolling(toasts.current[prevToast]); - } else if (nextToast >= 0 && nextToast < toasts.current.length) { - focusWithoutScrolling(toasts.current[nextToast]); + // prioritize going to newer toasts + if (prevToast >= 0 && prevToast < toasts.current.length) { + focusWithoutScrolling(toasts.current[prevToast]); + } else if (nextToast >= 0 && nextToast < toasts.current.length) { + focusWithoutScrolling(toasts.current[nextToast]); + } } } prevVisibleToasts.current = state.visibleToasts; - }, [state.visibleToasts, ref]); + }, [state.visibleToasts, ref, updateTimers]); let lastFocused = useRef(null); let {focusWithinProps} = useFocusWithin({ onFocusWithin: (e) => { - state.pauseAll(); + isFocused.current = true; lastFocused.current = e.relatedTarget as FocusableElement; + updateTimers(); }, onBlurWithin: () => { - state.resumeAll(); + isFocused.current = false; lastFocused.current = null; + updateTimers(); } }); @@ -157,7 +155,7 @@ export function useToastRegion(props: AriaToastRegionProps, state: ToastState // moves in, it only happens once, so we correct it. // Because we're in a hook, we can't control if the user unmounts or not. useEffect(() => { - if (state.visibleToasts.length === 0 && lastFocused.current && document.body.contains(lastFocused.current)) { + if (state.visibleToasts.length === 0 && lastFocused.current?.isConnected) { if (getInteractionModality() === 'pointer') { focusWithoutScrolling(lastFocused.current); } else { @@ -169,7 +167,7 @@ export function useToastRegion(props: AriaToastRegionProps, state: ToastState useEffect(() => { return () => { - if (lastFocused.current && document.body.contains(lastFocused.current)) { + if (lastFocused.current?.isConnected) { if (getInteractionModality() === 'pointer') { focusWithoutScrolling(lastFocused.current); } else { diff --git a/packages/@react-aria/toast/test/useToast.test.js b/packages/@react-aria/toast/test/useToast.test.js index f22f40a1c57..65437ddf82e 100644 --- a/packages/@react-aria/toast/test/useToast.test.js +++ b/packages/@react-aria/toast/test/useToast.test.js @@ -68,20 +68,27 @@ describe('single toast at a time', () => { let tree = render(); let button = tree.getByRole('button'); - await user.click(button); - await user.click(button); - + await user.tab(); + await user.keyboard('{Enter}'); + await user.keyboard('{Enter}'); + let toast = tree.getByRole('alertdialog'); expect(toast.textContent).toContain('Mmmmm toast 2x'); let closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.keyboard('{F6}'); + await user.tab(); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); toast = tree.getByRole('alertdialog'); expect(toast.textContent).toContain('Mmmmm toast 1x'); expect(toast).toHaveFocus(); closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); expect(tree.queryByRole('alertdialog')).toBeNull(); expect(button).toHaveFocus(); diff --git a/packages/@react-aria/toggle/package.json b/packages/@react-aria/toggle/package.json index 260c6507a34..2f1e1f1d595 100644 --- a/packages/@react-aria/toggle/package.json +++ b/packages/@react-aria/toggle/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/toggle", - "version": "3.10.11", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/toggle": "^3.8.1", - "@react-types/checkbox": "^3.9.1", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/toggle": "^3.8.2", + "@react-types/checkbox": "^3.9.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/toggle/src/useToggle.ts b/packages/@react-aria/toggle/src/useToggle.ts index e8bab76dcc0..444984f15ad 100644 --- a/packages/@react-aria/toggle/src/useToggle.ts +++ b/packages/@react-aria/toggle/src/useToggle.ts @@ -70,6 +70,10 @@ export function useToggle(props: AriaToggleProps, state: ToggleState, ref: RefOb // Handle press state on the label. let {pressProps: labelProps, isPressed: isLabelPressed} = usePress({ + onPress() { + state.toggle(); + ref.current?.focus(); + }, isDisabled: isDisabled || isReadOnly }); @@ -80,7 +84,7 @@ export function useToggle(props: AriaToggleProps, state: ToggleState, ref: RefOb useFormReset(ref, state.isSelected, state.setSelected); return { - labelProps, + labelProps: mergeProps(labelProps, {onClick: e => e.preventDefault()}), inputProps: mergeProps(domProps, { 'aria-invalid': isInvalid || validationState === 'invalid' || undefined, 'aria-errormessage': props['aria-errormessage'], diff --git a/packages/@react-aria/toolbar/package.json b/packages/@react-aria/toolbar/package.json index 3027a4ac792..51c04bc3f06 100644 --- a/packages/@react-aria/toolbar/package.json +++ b/packages/@react-aria/toolbar/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/toolbar", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/tooltip/package.json b/packages/@react-aria/tooltip/package.json index fdc84668870..d4668913535 100644 --- a/packages/@react-aria/tooltip/package.json +++ b/packages/@react-aria/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/tooltip", - "version": "3.7.11", + "version": "3.8.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/tooltip": "^3.5.1", - "@react-types/shared": "^3.27.0", - "@react-types/tooltip": "^3.4.14", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/tooltip": "^3.5.2", + "@react-types/shared": "^3.28.0", + "@react-types/tooltip": "^3.4.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/tree/package.json b/packages/@react-aria/tree/package.json index 450f20e10da..b1d7a0cf530 100644 --- a/packages/@react-aria/tree/package.json +++ b/packages/@react-aria/tree/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/tree", - "version": "3.0.0-beta.3", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,13 +22,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/gridlist": "^3.10.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/tree": "^3.8.7", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", + "@react-aria/gridlist": "^3.11.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/tree": "^3.8.8", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/tree/src/useTreeItem.ts b/packages/@react-aria/tree/src/useTreeItem.ts index 54d30199fe7..b94313429c1 100644 --- a/packages/@react-aria/tree/src/useTreeItem.ts +++ b/packages/@react-aria/tree/src/useTreeItem.ts @@ -15,7 +15,7 @@ import {AriaGridListItemOptions, GridListItemAria, useGridListItem} from '@react import {DOMAttributes, FocusableElement, Node, RefObject} from '@react-types/shared'; // @ts-ignore import intlMessages from '../intl/*.json'; -import {isAndroid} from '@react-aria/utils'; +import {isAndroid, useLabels} from '@react-aria/utils'; import {TreeState} from '@react-stately/tree'; import {useLocalizedStringFormatter} from '@react-aria/i18n'; @@ -46,6 +46,10 @@ export function useTreeItem(props: AriaTreeItemOptions, state: TreeState, let gridListAria = useGridListItem(props, state, ref); let isExpanded = gridListAria.rowProps['aria-expanded'] === true; let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-aria/tree'); + let labelProps = useLabels({ + 'aria-label': isExpanded ? stringFormatter.format('collapse') : stringFormatter.format('expand'), + 'aria-labelledby': gridListAria.rowProps.id + }); let expandButtonProps = { onPress: () => { @@ -55,9 +59,9 @@ export function useTreeItem(props: AriaTreeItemOptions, state: TreeState, state.selectionManager.setFocusedKey(node.key); } }, - 'aria-label': isExpanded ? stringFormatter.format('collapse') : stringFormatter.format('expand'), tabIndex: isAndroid() ? -1 : null, - 'data-react-aria-prevent-focus': true + 'data-react-aria-prevent-focus': true, + ...labelProps }; // TODO: should it return a state specifically for isExpanded? Or is aria attribute sufficient? diff --git a/packages/@react-aria/utils/package.json b/packages/@react-aria/utils/package.json index 921b684806a..48c8f4aea7e 100644 --- a/packages/@react-aria/utils/package.json +++ b/packages/@react-aria/utils/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/utils", - "version": "3.27.0", + "version": "3.28.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,9 +23,9 @@ }, "dependencies": { "@react-aria/ssr": "^3.9.7", - "@react-stately/flags": "^3.0.5", + "@react-stately/flags": "^3.1.0", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, diff --git a/packages/@react-aria/utils/src/useUpdateEffect.ts b/packages/@react-aria/utils/src/useUpdateEffect.ts index 17ea4ec01e4..d486e61baa6 100644 --- a/packages/@react-aria/utils/src/useUpdateEffect.ts +++ b/packages/@react-aria/utils/src/useUpdateEffect.ts @@ -13,7 +13,7 @@ import {EffectCallback, useEffect, useRef} from 'react'; // Like useEffect, but only called for updates after the initial render. -export function useUpdateEffect(effect: EffectCallback, dependencies: any[]): (() => void) | void { +export function useUpdateEffect(effect: EffectCallback, dependencies: any[]): void { const isInitialMount = useRef(true); const lastDeps = useRef(null); @@ -25,10 +25,11 @@ export function useUpdateEffect(effect: EffectCallback, dependencies: any[]): (( }, []); useEffect(() => { + let prevDeps = lastDeps.current; if (isInitialMount.current) { isInitialMount.current = false; - } else if (!lastDeps.current || dependencies.some((dep, i) => !Object.is(dep, lastDeps[i]))) { - return effect(); + } else if (!prevDeps || dependencies.some((dep, i) => !Object.is(dep, prevDeps[i]))) { + effect(); } lastDeps.current = dependencies; // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/packages/@react-aria/virtualizer/package.json b/packages/@react-aria/virtualizer/package.json index 8b0c943aabf..19369f2a62f 100644 --- a/packages/@react-aria/virtualizer/package.json +++ b/packages/@react-aria/virtualizer/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/virtualizer", - "version": "4.1.1", + "version": "4.1.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx b/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx index f8663b50001..d2db423568a 100644 --- a/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx +++ b/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx @@ -88,15 +88,6 @@ export function layoutInfoToStyle(layoutInfo: LayoutInfo, dir: Direction, parent ...rectStyles }; - if (layoutInfo.isSticky && !parent?.allowOverflow) { - if (style.top) { - style.marginTop = style.top; - } - if (style[xProperty]) { - style[dir === 'rtl' ? 'marginRight' : 'marginLeft'] = style[xProperty]; - } - } - cache.set(layoutInfo, style); return style; } diff --git a/packages/@react-aria/visually-hidden/package.json b/packages/@react-aria/visually-hidden/package.json index 237700e5cbd..34b38bc742b 100644 --- a/packages/@react-aria/visually-hidden/package.json +++ b/packages/@react-aria/visually-hidden/package.json @@ -1,6 +1,6 @@ { "name": "@react-aria/visually-hidden", - "version": "3.8.19", + "version": "3.8.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,9 +24,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-spectrum/accordion/package.json b/packages/@react-spectrum/accordion/package.json index cab4754f220..d6fd3291c54 100644 --- a/packages/@react-spectrum/accordion/package.json +++ b/packages/@react-spectrum/accordion/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/accordion", - "version": "3.0.2", + "version": "3.0.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,12 +36,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/i18n": "^3.12.6", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1" diff --git a/packages/@react-spectrum/actionbar/package.json b/packages/@react-spectrum/actionbar/package.json index 527b72c67ca..f856e49964d 100644 --- a/packages/@react-spectrum/actionbar/package.json +++ b/packages/@react-spectrum/actionbar/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/actionbar", - "version": "3.6.3", + "version": "3.6.4", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,20 +36,20 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/actiongroup": "^3.10.11", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-types/actionbar": "^3.1.12", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/actiongroup": "^3.10.12", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-types/actionbar": "^3.1.13", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/actiongroup/package.json b/packages/@react-spectrum/actiongroup/package.json index 6e97594c90e..d3bae92e145 100644 --- a/packages/@react-spectrum/actiongroup/package.json +++ b/packages/@react-spectrum/actiongroup/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/actiongroup", - "version": "3.10.11", + "version": "3.10.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,21 +36,21 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/actiongroup": "^3.7.12", - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/menu": "^3.21.1", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/tooltip": "^3.7.1", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/list": "^3.11.2", - "@react-types/actiongroup": "^3.4.14", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", - "@spectrum-icons/workflow": "^4.2.17", + "@react-aria/actiongroup": "^3.7.13", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/menu": "^3.21.2", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/tooltip": "^3.7.2", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/list": "^3.12.0", + "@react-types/actiongroup": "^3.4.15", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", + "@spectrum-icons/workflow": "^4.2.18", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/autocomplete/package.json b/packages/@react-spectrum/autocomplete/package.json index b647dbef94a..260de0aea81 100644 --- a/packages/@react-spectrum/autocomplete/package.json +++ b/packages/@react-spectrum/autocomplete/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/autocomplete", - "version": "3.0.0-alpha.39", + "version": "3.0.0-alpha.40", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,30 +36,30 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/autocomplete": "3.0.0-alpha.37", - "@react-aria/button": "^3.11.1", - "@react-aria/dialog": "^3.5.21", - "@react-aria/focus": "^3.19.1", - "@react-aria/form": "^3.0.12", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/listbox": "^3.14.1", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/combobox": "^3.10.2", - "@react-types/autocomplete": "3.0.0-alpha.28", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/autocomplete": "3.0.0-beta.0", + "@react-aria/button": "^3.12.0", + "@react-aria/dialog": "^3.5.22", + "@react-aria/focus": "^3.20.0", + "@react-aria/form": "^3.0.13", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/listbox": "^3.14.2", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/combobox": "^3.10.3", + "@react-types/autocomplete": "3.0.0-alpha.29", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/avatar/package.json b/packages/@react-spectrum/avatar/package.json index 35a36e1b07e..bb310c8f4c1 100644 --- a/packages/@react-spectrum/avatar/package.json +++ b/packages/@react-spectrum/avatar/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/avatar", - "version": "3.0.18", + "version": "3.0.19", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/avatar": "^3.0.12", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/avatar": "^3.0.13", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/badge/package.json b/packages/@react-spectrum/badge/package.json index 5655c3db3ad..87b6109bd43 100644 --- a/packages/@react-spectrum/badge/package.json +++ b/packages/@react-spectrum/badge/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/badge", - "version": "3.1.19", + "version": "3.1.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,11 +36,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/badge": "^3.1.14", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/badge": "^3.1.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/breadcrumbs/package.json b/packages/@react-spectrum/breadcrumbs/package.json index 939d8e274d4..654f7374092 100644 --- a/packages/@react-spectrum/breadcrumbs/package.json +++ b/packages/@react-spectrum/breadcrumbs/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/breadcrumbs", - "version": "3.9.13", + "version": "3.9.14", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,18 +36,18 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/breadcrumbs": "^3.5.20", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/menu": "^3.21.1", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-types/breadcrumbs": "^3.7.10", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/breadcrumbs": "^3.5.21", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/menu": "^3.21.2", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-types/breadcrumbs": "^3.7.11", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/button/package.json b/packages/@react-spectrum/button/package.json index acd5203d483..d2baaa90cbb 100644 --- a/packages/@react-spectrum/button/package.json +++ b/packages/@react-spectrum/button/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/button", - "version": "3.16.10", + "version": "3.16.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,18 +36,18 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/toggle": "^3.8.1", - "@react-types/button": "^3.10.2", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/button": "^3.12.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/toggle": "^3.8.2", + "@react-types/button": "^3.11.0", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/buttongroup/package.json b/packages/@react-spectrum/buttongroup/package.json index b22a2f53004..01bfebf0571 100644 --- a/packages/@react-spectrum/buttongroup/package.json +++ b/packages/@react-spectrum/buttongroup/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/buttongroup", - "version": "3.6.18", + "version": "3.6.19", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/buttongroup": "^3.3.14", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/buttongroup": "^3.3.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/calendar/package.json b/packages/@react-spectrum/calendar/package.json index 380159301f2..f52bc0a0748 100644 --- a/packages/@react-spectrum/calendar/package.json +++ b/packages/@react-spectrum/calendar/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/calendar", - "version": "3.6.0", + "version": "3.6.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -37,20 +37,20 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-aria/calendar": "^3.7.0", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/calendar": "^3.7.0", - "@react-types/button": "^3.10.2", - "@react-types/calendar": "^3.6.0", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/calendar": "^3.7.1", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/calendar": "^3.7.1", + "@react-types/button": "^3.11.0", + "@react-types/calendar": "^3.6.1", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/card/package.json b/packages/@react-spectrum/card/package.json index 1948b25bc51..f9be16e1b11 100644 --- a/packages/@react-spectrum/card/package.json +++ b/packages/@react-spectrum/card/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/card", - "version": "3.0.0-alpha.39", + "version": "3.0.0-alpha.40", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,22 +36,22 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/grid": "^3.11.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/virtualizer": "^4.1.1", - "@react-spectrum/checkbox": "^3.9.12", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/grid": "^3.10.1", - "@react-stately/list": "^3.11.2", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/card": "3.0.0-alpha.32", - "@react-types/provider": "^3.8.6", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/grid": "^3.12.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/virtualizer": "^4.1.2", + "@react-spectrum/checkbox": "^3.9.13", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/grid": "^3.11.0", + "@react-stately/list": "^3.12.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/card": "3.0.0-alpha.33", + "@react-types/provider": "^3.8.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/checkbox/package.json b/packages/@react-spectrum/checkbox/package.json index 2cb947d0192..9fe79197ade 100644 --- a/packages/@react-spectrum/checkbox/package.json +++ b/packages/@react-spectrum/checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/checkbox", - "version": "3.9.12", + "version": "3.9.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,19 +36,19 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/checkbox": "^3.15.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/checkbox": "^3.6.11", - "@react-stately/toggle": "^3.8.1", - "@react-types/checkbox": "^3.9.1", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/checkbox": "^3.15.2", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/checkbox": "^3.6.12", + "@react-stately/toggle": "^3.8.2", + "@react-types/checkbox": "^3.9.2", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1", diff --git a/packages/@react-spectrum/color/package.json b/packages/@react-spectrum/color/package.json index 66d28b1c879..f125480f726 100644 --- a/packages/@react-spectrum/color/package.json +++ b/packages/@react-spectrum/color/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/color", - "version": "3.0.3", + "version": "3.0.4", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,29 +36,29 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/color": "^3.0.3", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/dialog": "^3.8.17", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/picker": "^3.15.5", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/utils": "^3.12.1", - "@react-spectrum/view": "^3.6.15", - "@react-stately/color": "^3.8.2", - "@react-types/color": "^3.0.2", - "@react-types/shared": "^3.27.0", - "@react-types/textfield": "^3.11.0", + "@react-aria/color": "^3.0.4", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/dialog": "^3.8.18", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/picker": "^3.15.6", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/utils": "^3.12.2", + "@react-spectrum/view": "^3.6.16", + "@react-stately/color": "^3.8.3", + "@react-types/color": "^3.0.3", + "@react-types/shared": "^3.28.0", + "@react-types/textfield": "^3.12.0", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1", - "@react-spectrum/style-macro-s1": "3.0.0-alpha.2" + "@react-spectrum/style-macro-s1": "3.0.0-alpha.3" }, "peerDependencies": { "@react-spectrum/provider": "^3.0.0", diff --git a/packages/@react-spectrum/combobox/package.json b/packages/@react-spectrum/combobox/package.json index 84e00335e0b..364bd2ade36 100644 --- a/packages/@react-spectrum/combobox/package.json +++ b/packages/@react-spectrum/combobox/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/combobox", - "version": "3.14.1", + "version": "3.15.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,30 +36,30 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/combobox": "^3.11.1", - "@react-aria/dialog": "^3.5.21", - "@react-aria/focus": "^3.19.1", - "@react-aria/form": "^3.0.12", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/listbox": "^3.14.1", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/combobox": "^3.10.2", - "@react-types/button": "^3.10.2", - "@react-types/combobox": "^3.13.2", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/button": "^3.12.0", + "@react-aria/combobox": "^3.12.0", + "@react-aria/dialog": "^3.5.22", + "@react-aria/focus": "^3.20.0", + "@react-aria/form": "^3.0.13", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/listbox": "^3.14.2", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/combobox": "^3.10.3", + "@react-types/button": "^3.11.0", + "@react-types/combobox": "^3.13.3", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/contextualhelp/package.json b/packages/@react-spectrum/contextualhelp/package.json index f0408d1459d..6187318e566 100644 --- a/packages/@react-spectrum/contextualhelp/package.json +++ b/packages/@react-spectrum/contextualhelp/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/contextualhelp", - "version": "3.6.17", + "version": "3.6.18", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,14 +36,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/dialog": "^3.8.17", - "@react-spectrum/utils": "^3.12.1", - "@react-types/contextualhelp": "^3.2.15", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/workflow": "^4.2.17", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/dialog": "^3.8.18", + "@react-spectrum/utils": "^3.12.2", + "@react-types/contextualhelp": "^3.2.16", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/workflow": "^4.2.18", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/datepicker/chromatic/DateField.stories.tsx b/packages/@react-spectrum/datepicker/chromatic/DateField.stories.tsx index 363a9c17424..20b28a295dc 100644 --- a/packages/@react-spectrum/datepicker/chromatic/DateField.stories.tsx +++ b/packages/@react-spectrum/datepicker/chromatic/DateField.stories.tsx @@ -15,6 +15,7 @@ import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {DateField} from '../'; import {Heading} from '@react-spectrum/text'; +import {Provider} from '@react-spectrum/provider'; import React from 'react'; export default { @@ -108,3 +109,104 @@ let contextualHelp = ( export const _ContextualHelp = () => ; export const ContextualHelpSideLabel = () => ; + +export const ArabicAlgeriaPreferences = () => ; +ArabicAlgeriaPreferences.parameters = { + chromaticProvider: { + locales: ['ar-DZ-u-ca-gregory', 'ar-DZ-u-ca-islamic', 'ar-DZ-u-ca-islamic-civil', 'ar-DZ-u-ca-islamic-tbla'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const ArabicUAEPreferences = () => ; +ArabicUAEPreferences.parameters = { + chromaticProvider: { + locales: ['ar-AE-u-ca-gregory', 'ar-AE-u-ca-islamic-umalqura', 'ar-AE-u-ca-islamic', 'ar-AE-u-ca-islamic-civil', 'ar-AE-u-ca-islamic-tbla'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const ArabicEgyptPreferences = () => ; +ArabicEgyptPreferences.parameters = { + chromaticProvider: { + locales: ['ar-EG-u-ca-gregory', 'ar-EG-u-ca-coptic', 'ar-EG-u-ca-islamic', 'ar-EG-u-ca-islamic-civil', 'ar-EG-u-ca-islamic-tbla'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const ArabicSaudiPreferences = () => ; +ArabicSaudiPreferences.parameters = { + chromaticProvider: { + locales: ['ar-SA-u-ca-islamic-umalqura', 'ar-SA-u-ca-gregory', 'ar-SA-u-ca-islamic', 'ar-SA-u-ca-islamic-rgsa'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + + +export const HebrewPreferences = () => ; +HebrewPreferences.parameters = { + chromaticProvider: { + locales: ['he-IL-u-ca-gregory', 'he-IL-u-ca-hebrew', 'he-IL-u-ca-islamic-civil', 'he-IL-u-ca-islamic-tbla'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const JapanesePreferences = () => ; +JapanesePreferences.parameters = { + chromaticProvider: { + locales: ['ja-JP-u-ca-gregory', 'ja-JP-u-ca-japanese'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const ThaiPreferences = () => ; +ThaiPreferences.parameters = { + chromaticProvider: { + locales: ['th-TH-u-ca-buddhist', 'th-TH-u-ca-gregory'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const PersianPreferences = () => ; +PersianPreferences.parameters = { + chromaticProvider: { + locales: ['fa-AF-u-ca-persian', 'fa-AF-u-ca-gregory', 'fa-AF-u-ca-islamic-civil', 'fa-AF-u-ca-islamic-tbla'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const IndianPreferences = () => ; +IndianPreferences.parameters = { + chromaticProvider: { + locales: ['hi-IN-u-ca-gregory', 'hi-IN-u-ca-indian'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; + +export const AmharicPreferences = () => ; +AmharicPreferences.parameters = { + chromaticProvider: { + locales: ['am-ET-u-ca-gregory', 'am-ET-u-ca-ethiopic', 'am-ET-u-ca-ethioaa'], + scales: ['medium'], + colorSchemes: ['light'], + express: false + } +}; diff --git a/packages/@react-spectrum/datepicker/package.json b/packages/@react-spectrum/datepicker/package.json index 9aba7ed67b8..e00cb750643 100644 --- a/packages/@react-spectrum/datepicker/package.json +++ b/packages/@react-spectrum/datepicker/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/datepicker", - "version": "3.12.0", + "version": "3.13.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -37,24 +37,24 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-aria/datepicker": "^3.13.0", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/calendar": "^3.6.0", - "@react-spectrum/dialog": "^3.8.17", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/utils": "^3.12.1", - "@react-spectrum/view": "^3.6.15", - "@react-stately/datepicker": "^3.12.0", - "@react-types/datepicker": "^3.10.0", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", - "@spectrum-icons/workflow": "^4.2.17", + "@react-aria/datepicker": "^3.14.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/calendar": "^3.6.1", + "@react-spectrum/dialog": "^3.8.18", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/utils": "^3.12.2", + "@react-spectrum/view": "^3.6.16", + "@react-stately/datepicker": "^3.13.0", + "@react-types/datepicker": "^3.11.0", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", + "@spectrum-icons/workflow": "^4.2.18", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/dialog/package.json b/packages/@react-spectrum/dialog/package.json index d14b1c4147b..1f6e5260f2a 100644 --- a/packages/@react-spectrum/dialog/package.json +++ b/packages/@react-spectrum/dialog/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/dialog", - "version": "3.8.17", + "version": "3.8.18", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,24 +36,24 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/dialog": "^3.5.21", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/buttongroup": "^3.6.18", - "@react-spectrum/divider": "^3.5.19", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-spectrum/view": "^3.6.15", - "@react-stately/overlays": "^3.6.13", - "@react-types/button": "^3.10.2", - "@react-types/dialog": "^3.5.15", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/dialog": "^3.5.22", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/buttongroup": "^3.6.19", + "@react-spectrum/divider": "^3.5.20", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-spectrum/view": "^3.6.16", + "@react-stately/overlays": "^3.6.14", + "@react-types/button": "^3.11.0", + "@react-types/dialog": "^3.5.16", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/divider/package.json b/packages/@react-spectrum/divider/package.json index bd50c19a3d1..bad5d490453 100644 --- a/packages/@react-spectrum/divider/package.json +++ b/packages/@react-spectrum/divider/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/divider", - "version": "3.5.19", + "version": "3.5.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/separator": "^3.4.5", - "@react-spectrum/utils": "^3.12.1", - "@react-types/divider": "^3.3.14", - "@react-types/shared": "^3.27.0", + "@react-aria/separator": "^3.4.6", + "@react-spectrum/utils": "^3.12.2", + "@react-types/divider": "^3.3.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/dnd/package.json b/packages/@react-spectrum/dnd/package.json index 2af56d56ba7..747b4af82a2 100644 --- a/packages/@react-spectrum/dnd/package.json +++ b/packages/@react-spectrum/dnd/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/dnd", - "version": "3.5.1", + "version": "3.5.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,9 +36,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/dnd": "^3.8.1", - "@react-stately/dnd": "^3.5.1", - "@react-types/shared": "^3.27.0", + "@react-aria/dnd": "^3.9.0", + "@react-stately/dnd": "^3.5.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/dropzone/package.json b/packages/@react-spectrum/dropzone/package.json index 4ab50ee2351..e224412f74e 100644 --- a/packages/@react-spectrum/dropzone/package.json +++ b/packages/@react-spectrum/dropzone/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/dropzone", - "version": "3.0.7", + "version": "3.0.8", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,12 +36,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1", diff --git a/packages/@react-spectrum/filetrigger/package.json b/packages/@react-spectrum/filetrigger/package.json index 8d3c0c07775..6840cdb0ffe 100644 --- a/packages/@react-spectrum/filetrigger/package.json +++ b/packages/@react-spectrum/filetrigger/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/filetrigger", - "version": "3.0.7", + "version": "3.0.8", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -37,7 +37,7 @@ }, "dependencies": { "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "peerDependencies": { "@react-spectrum/provider": "^3.0.0", diff --git a/packages/@react-spectrum/form/package.json b/packages/@react-spectrum/form/package.json index f792449a4d8..d96e1e05dc9 100644 --- a/packages/@react-spectrum/form/package.json +++ b/packages/@react-spectrum/form/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/form", - "version": "3.7.11", + "version": "3.7.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,11 +36,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/form": "^3.1.1", - "@react-types/form": "^3.7.9", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/form": "^3.1.2", + "@react-types/form": "^3.7.10", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/icon/package.json b/packages/@react-spectrum/icon/package.json index 573d506d928..82a4d6c32d5 100644 --- a/packages/@react-spectrum/icon/package.json +++ b/packages/@react-spectrum/icon/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/icon", - "version": "3.8.1", + "version": "3.8.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,9 +36,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/illustratedmessage/package.json b/packages/@react-spectrum/illustratedmessage/package.json index 4fb0c7acea4..539e28237fa 100644 --- a/packages/@react-spectrum/illustratedmessage/package.json +++ b/packages/@react-spectrum/illustratedmessage/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/illustratedmessage", - "version": "3.5.6", + "version": "3.5.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,11 +36,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/illustratedmessage": "^3.3.14", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/illustratedmessage": "^3.3.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/image/package.json b/packages/@react-spectrum/image/package.json index 4e18ca224e4..9a7cbabbef4 100644 --- a/packages/@react-spectrum/image/package.json +++ b/packages/@react-spectrum/image/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/image", - "version": "3.5.7", + "version": "3.5.8", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/image": "^3.4.6", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/image": "^3.4.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/inlinealert/package.json b/packages/@react-spectrum/inlinealert/package.json index d5e3083ba1c..9d6ed7f1fd7 100644 --- a/packages/@react-spectrum/inlinealert/package.json +++ b/packages/@react-spectrum/inlinealert/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/inlinealert", - "version": "3.2.11", + "version": "3.2.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,13 +36,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/label/package.json b/packages/@react-spectrum/label/package.json index 6b5e233e23e..f00903bb77f 100644 --- a/packages/@react-spectrum/label/package.json +++ b/packages/@react-spectrum/label/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/label", - "version": "3.16.11", + "version": "3.16.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,14 +36,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/label": "^3.9.8", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/label": "^3.9.9", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/labeledvalue/package.json b/packages/@react-spectrum/labeledvalue/package.json index 77275be9489..0c0f95d5425 100644 --- a/packages/@react-spectrum/labeledvalue/package.json +++ b/packages/@react-spectrum/labeledvalue/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/labeledvalue", - "version": "3.1.19", + "version": "3.2.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -37,11 +37,11 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-aria/i18n": "^3.12.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/layout/package.json b/packages/@react-spectrum/layout/package.json index 7a63caead89..1ae84fe5b99 100644 --- a/packages/@react-spectrum/layout/package.json +++ b/packages/@react-spectrum/layout/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/layout", - "version": "3.6.11", + "version": "3.6.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/layout": "^3.3.20", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/layout": "^3.3.21", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/link/package.json b/packages/@react-spectrum/link/package.json index c83cabd3e62..8afa613b5df 100644 --- a/packages/@react-spectrum/link/package.json +++ b/packages/@react-spectrum/link/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/link", - "version": "3.6.13", + "version": "3.6.14", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,13 +36,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-aria/link": "^3.7.8", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/link": "^3.5.10", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/link": "^3.7.9", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/link": "^3.5.11", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/list/package.json b/packages/@react-spectrum/list/package.json index 4af5a3a9f0b..3dff3673375 100644 --- a/packages/@react-spectrum/list/package.json +++ b/packages/@react-spectrum/list/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/list", - "version": "3.9.1", + "version": "3.9.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,28 +36,28 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/gridlist": "^3.10.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/virtualizer": "^4.1.1", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/checkbox": "^3.9.12", - "@react-spectrum/dnd": "^3.5.1", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/layout": "^4.1.1", - "@react-stately/list": "^3.11.2", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/button": "^3.12.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/gridlist": "^3.11.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/virtualizer": "^4.1.2", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/checkbox": "^3.9.13", + "@react-spectrum/dnd": "^3.5.2", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/layout": "^4.2.0", + "@react-stately/list": "^3.12.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0", "react-transition-group": "^4.4.5" }, diff --git a/packages/@react-spectrum/listbox/package.json b/packages/@react-spectrum/listbox/package.json index ac6ecd882c6..ac3874a576a 100644 --- a/packages/@react-spectrum/listbox/package.json +++ b/packages/@react-spectrum/listbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/listbox", - "version": "3.14.1", + "version": "3.14.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,23 +36,23 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/listbox": "^3.14.0", - "@react-aria/utils": "^3.27.0", - "@react-aria/virtualizer": "^4.1.1", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/layout": "^4.1.1", - "@react-stately/list": "^3.11.2", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/listbox": "^3.5.4", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/listbox": "^3.14.1", + "@react-aria/utils": "^3.28.0", + "@react-aria/virtualizer": "^4.1.2", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/layout": "^4.2.0", + "@react-stately/list": "^3.12.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/listbox": "^3.5.5", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/menu/package.json b/packages/@react-spectrum/menu/package.json index d9453f035bc..134438e826f 100644 --- a/packages/@react-spectrum/menu/package.json +++ b/packages/@react-spectrum/menu/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/menu", - "version": "3.21.1", + "version": "3.21.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,27 +36,27 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/menu": "^3.17.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/separator": "^3.4.5", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/menu": "^3.9.1", - "@react-stately/overlays": "^3.6.13", - "@react-stately/tree": "^3.8.7", - "@react-types/menu": "^3.9.14", - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", - "@spectrum-icons/workflow": "^4.2.17", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/menu": "^3.18.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/separator": "^3.4.6", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/menu": "^3.9.2", + "@react-stately/overlays": "^3.6.14", + "@react-stately/tree": "^3.8.8", + "@react-types/menu": "^3.9.15", + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", + "@spectrum-icons/workflow": "^4.2.18", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/menu/test/MenuTrigger.test.js b/packages/@react-spectrum/menu/test/MenuTrigger.test.js index 2bf317064ce..2e6752da3b0 100644 --- a/packages/@react-spectrum/menu/test/MenuTrigger.test.js +++ b/packages/@react-spectrum/menu/test/MenuTrigger.test.js @@ -784,6 +784,36 @@ describe('MenuTrigger', function () { expect(tree.getByRole('menu').closest('[data-testid="custom-container"]')).toBe(tree.getByTestId('custom-container')); }); }); + + it('closes if menu is tabbed away from', async function () { + let tree = render( + + + + + One + Two + Three + + + + ); + let menuTester = testUtilUser.createTester('Menu', {user, root: tree.container}); + menuTester.setInteractionType('keyboard'); + + await menuTester.open(); + act(() => {jest.runAllTimers();}); + + let menu = menuTester.menu; + + await user.tab(); + act(() => {jest.runAllTimers();}); + act(() => {jest.runAllTimers();}); + expect(menu).not.toBeInTheDocument(); + expect(document.activeElement).toBe(menuTester.trigger); + }); }); function SelectionStatic(props) { diff --git a/packages/@react-spectrum/menu/test/SubMenuTrigger.test.tsx b/packages/@react-spectrum/menu/test/SubMenuTrigger.test.tsx index 0439f285d00..f4dcef74377 100644 --- a/packages/@react-spectrum/menu/test/SubMenuTrigger.test.tsx +++ b/packages/@react-spectrum/menu/test/SubMenuTrigger.test.tsx @@ -443,7 +443,7 @@ describe('Submenu', function () { expect(document.activeElement).toBe(submenuTrigger2); }); - it('should shift focus to the prev/next element adjacent to the menu trigger when pressing Tab', async function () { + it('should contain focus when pressing Tab', async function () { async function openSubMenus() { await user.keyboard('[ArrowDown]'); act(() => {jest.runAllTimers();}); @@ -468,30 +468,18 @@ describe('Submenu', function () { } let tree = render(); - let inputleft = tree.getByTestId('inputleft'); - let inputright = tree.getByTestId('inputright'); - let triggerButton = tree.getByRole('button'); await user.tab(); await user.tab(); await openSubMenus(); - // Tab should close all menus and move focus to the next input relative to the original menu trigger + + // Tab do nothing. await user.tab(); + let activeElement = document.activeElement; act(() => {jest.runAllTimers();}); let menus = tree.queryAllByRole('menu', {hidden: true}); - expect(menus).toHaveLength(0); - expect(document.activeElement).toBe(inputright); - - await user.tab({shift: true}); - expect(document.activeElement).toBe(triggerButton); - await openSubMenus(); - - // Shift + Tab should close all menus and move focus to the prev input relative to the original menu trigger - await user.tab({shift: true}); - act(() => {jest.runAllTimers();}); - menus = tree.queryAllByRole('menu', {hidden: true}); - expect(menus).toHaveLength(0); - expect(document.activeElement).toBe(inputleft); + expect(menus).toHaveLength(3); + expect(document.activeElement).toBe(activeElement); }); }); diff --git a/packages/@react-spectrum/meter/package.json b/packages/@react-spectrum/meter/package.json index 5483609c006..e8879ae0b69 100644 --- a/packages/@react-spectrum/meter/package.json +++ b/packages/@react-spectrum/meter/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/meter", - "version": "3.5.6", + "version": "3.5.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,11 +36,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/meter": "^3.4.19", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/utils": "^3.12.1", - "@react-types/meter": "^3.4.6", - "@react-types/shared": "^3.27.0", + "@react-aria/meter": "^3.4.20", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/utils": "^3.12.2", + "@react-types/meter": "^3.4.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/numberfield/package.json b/packages/@react-spectrum/numberfield/package.json index 77fa66f8044..01456310ce6 100644 --- a/packages/@react-spectrum/numberfield/package.json +++ b/packages/@react-spectrum/numberfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/numberfield", - "version": "3.9.9", + "version": "3.9.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,22 +36,22 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/numberfield": "^3.11.10", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/numberfield": "^3.9.9", - "@react-types/button": "^3.10.2", - "@react-types/numberfield": "^3.8.8", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", - "@spectrum-icons/workflow": "^4.2.17", + "@react-aria/button": "^3.12.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/numberfield": "^3.11.11", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/numberfield": "^3.9.10", + "@react-types/button": "^3.11.0", + "@react-types/numberfield": "^3.8.9", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", + "@spectrum-icons/workflow": "^4.2.18", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/overlays/package.json b/packages/@react-spectrum/overlays/package.json index 5875307ea20..27a4a29ddbc 100644 --- a/packages/@react-spectrum/overlays/package.json +++ b/packages/@react-spectrum/overlays/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/overlays", - "version": "5.7.1", + "version": "5.7.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,13 +36,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/interactions": "^3.23.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/overlays": "^3.6.13", - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/overlays": "^3.6.14", + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "react-transition-group": "^4.4.5" }, diff --git a/packages/@react-spectrum/picker/package.json b/packages/@react-spectrum/picker/package.json index 9c342e19c66..1823fe46c4c 100644 --- a/packages/@react-spectrum/picker/package.json +++ b/packages/@react-spectrum/picker/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/picker", - "version": "3.15.5", + "version": "3.15.6", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,23 +36,23 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/select": "^3.15.1", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/listbox": "^3.14.1", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/select": "^3.6.10", - "@react-types/select": "^3.9.9", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/select": "^3.15.2", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/listbox": "^3.14.2", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/select": "^3.6.11", + "@react-types/select": "^3.9.10", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/progress/package.json b/packages/@react-spectrum/progress/package.json index 0c5830d4443..b3568fae7ae 100644 --- a/packages/@react-spectrum/progress/package.json +++ b/packages/@react-spectrum/progress/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/progress", - "version": "3.7.12", + "version": "3.7.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,11 +36,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/progress": "^3.4.19", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/progress": "^3.5.9", - "@react-types/shared": "^3.27.0", + "@react-aria/progress": "^3.4.20", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/progress": "^3.5.10", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/provider/package.json b/packages/@react-spectrum/provider/package.json index 46d22b6d089..99f3f6bef71 100644 --- a/packages/@react-spectrum/provider/package.json +++ b/packages/@react-spectrum/provider/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/provider", - "version": "3.10.1", + "version": "3.10.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,12 +36,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", - "@react-aria/overlays": "^3.25.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/provider": "^3.8.6", - "@react-types/shared": "^3.27.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/overlays": "^3.26.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/provider": "^3.8.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, diff --git a/packages/@react-spectrum/radio/package.json b/packages/@react-spectrum/radio/package.json index 5d764078fdc..24565374b50 100644 --- a/packages/@react-spectrum/radio/package.json +++ b/packages/@react-spectrum/radio/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/radio", - "version": "3.7.12", + "version": "3.7.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,15 +36,15 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-aria/radio": "^3.10.11", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/radio": "^3.10.10", - "@react-types/radio": "^3.8.6", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/radio": "^3.11.0", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/radio": "^3.10.11", + "@react-types/radio": "^3.8.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/s2/chromatic/TreeView.stories.tsx b/packages/@react-spectrum/s2/chromatic/TreeView.stories.tsx index 5a0edf91c54..31db84a5fe8 100644 --- a/packages/@react-spectrum/s2/chromatic/TreeView.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/TreeView.stories.tsx @@ -224,7 +224,7 @@ const DynamicTreeItem = (props) => { let {childItems, name, icon} = props; return ( <> - + {name} {icon} diff --git a/packages/@react-spectrum/s2/package.json b/packages/@react-spectrum/s2/package.json index 140fc81b153..14f1eee3f94 100644 --- a/packages/@react-spectrum/s2/package.json +++ b/packages/@react-spectrum/s2/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/s2", - "version": "0.6.0", + "version": "0.7.0", "description": "Spectrum 2 UI components in React", "license": "Apache-2.0", "repository": { @@ -125,31 +125,28 @@ "@react-aria/test-utils": "1.0.0-alpha.3", "@testing-library/dom": "^10.1.0", "@testing-library/react": "^15.0.7", - "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch", + "@testing-library/user-event": "^14.0.0", "jest": "^29.5.0" }, "dependencies": { - "@react-aria/collections": "3.0.0-alpha.7", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", + "@react-aria/collections": "3.0.0-beta.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/tree": "3.0.0-beta.3", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/layout": "^4.1.1", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/layout": "^4.2.0", "@react-stately/utils": "^3.10.5", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/color": "^3.0.2", - "@react-types/dialog": "^3.5.15", - "@react-types/grid": "^3.2.11", - "@react-types/provider": "^3.8.6", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", - "@react-types/textfield": "^3.11.0", + "@react-types/dialog": "^3.5.16", + "@react-types/grid": "^3.3.0", + "@react-types/provider": "^3.8.7", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", + "@react-types/textfield": "^3.12.0", "csstype": "^3.0.2", - "react-aria": "^3.37.0", - "react-aria-components": "^1.6.0" + "react-aria": "^3.38.0", + "react-aria-components": "^1.7.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0-rc.1", diff --git a/packages/@react-spectrum/s2/src/CardView.tsx b/packages/@react-spectrum/s2/src/CardView.tsx index 073598091ae..39e6800f4fc 100644 --- a/packages/@react-spectrum/s2/src/CardView.tsx +++ b/packages/@react-spectrum/s2/src/CardView.tsx @@ -16,6 +16,7 @@ import { GridLayout, GridListItem, GridListProps, + Size, Virtualizer, WaterfallLayout } from 'react-aria-components'; @@ -25,7 +26,6 @@ import {DOMRef, DOMRefValue, forwardRefType, Key, LoadingState} from '@react-typ import {focusRing, style} from '../style' with {type: 'macro'}; import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'}; import {ImageCoordinator} from './ImageCoordinator'; -import {Size} from '@react-stately/virtualizer'; import {useActionBarContainer} from './ActionBar'; import {useDOMRef} from '@react-spectrum/utils'; import {useEffectEvent, useLayoutEffect, useLoadMore, useResizeObserver} from '@react-aria/utils'; @@ -179,6 +179,12 @@ const cardViewStyles = style({ outlineOffset: -2 }, getAllowedOverrides({height: true})); +const wrapperStyles = style({ + position: 'relative', + overflow: 'clip', + size: 'fit' +}, getAllowedOverrides({height: true})); + export const CardViewContext = createContext>, DOMRefValue>>(null); export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView(props: CardViewProps, ref: DOMRef) { @@ -242,14 +248,14 @@ export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Ca defaultSelectedKeys={undefined} onSelectionChange={onSelectionChange} style={{ - ...UNSAFE_style, + ...(!props.renderActionBar ? UNSAFE_style : {}), // Add padding at the bottom when the action bar is visible so users can scroll to the last items. // Also add scroll padding so keyboard navigating preserves the padding. paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0, scrollPadding: options.minSpace.height, scrollPaddingBottom: actionBarHeight + options.minSpace.height }} - className={renderProps => UNSAFE_className + cardViewStyles({...renderProps, isLoading: props.loadingState === 'loading'}, styles)}> + className={renderProps => (!props.renderActionBar ? UNSAFE_className : '') + cardViewStyles({...renderProps, isLoading: props.loadingState === 'loading'}, !props.renderActionBar ? styles : undefined)}> {children} @@ -262,7 +268,7 @@ export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Ca // ActionBar cannot be inside the GridList due to ARIA and focus management requirements. if (props.renderActionBar) { return ( -
+
{cardView} {actionBar}
diff --git a/packages/@react-spectrum/s2/src/ColorSwatch.tsx b/packages/@react-spectrum/s2/src/ColorSwatch.tsx index 01d4affbf93..8ba5bdad466 100644 --- a/packages/@react-spectrum/s2/src/ColorSwatch.tsx +++ b/packages/@react-spectrum/s2/src/ColorSwatch.tsx @@ -13,10 +13,10 @@ import { ColorSwatch as AriaColorSwatch, ColorSwatchProps as AriaColorSwatchProps, + Color, ContextValue, parseColor } from 'react-aria-components'; -import {Color} from '@react-types/color'; import {createContext, forwardRef, JSX, ReactElement, useContext, useMemo} from 'react'; import {DOMRef, DOMRefValue} from '@react-types/shared'; import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'}; diff --git a/packages/@react-spectrum/s2/src/ColorSwatchPicker.tsx b/packages/@react-spectrum/s2/src/ColorSwatchPicker.tsx index 4eeaad0fd4c..1b5b9c81680 100644 --- a/packages/@react-spectrum/s2/src/ColorSwatchPicker.tsx +++ b/packages/@react-spectrum/s2/src/ColorSwatchPicker.tsx @@ -10,8 +10,7 @@ * governing permissions and limitations under the License. */ -import {ColorSwatchPicker as AriaColorSwatchPicker, ColorSwatchPickerItem as AriaColorSwatchPickerItem, ContextValue, SlotProps} from 'react-aria-components'; -import {Color} from '@react-types/color'; +import {ColorSwatchPicker as AriaColorSwatchPicker, ColorSwatchPickerItem as AriaColorSwatchPickerItem, Color, ContextValue, SlotProps} from 'react-aria-components'; import {ColorSwatchProps, InternalColorSwatchContext} from './ColorSwatch'; import {createContext, forwardRef, ReactElement, ReactNode} from 'react'; import {DOMRef, DOMRefValue, ValueBase} from '@react-types/shared'; diff --git a/packages/@react-spectrum/s2/src/Menu.tsx b/packages/@react-spectrum/s2/src/Menu.tsx index d933f5716f0..caac551d223 100644 --- a/packages/@react-spectrum/s2/src/Menu.tsx +++ b/packages/@react-spectrum/s2/src/Menu.tsx @@ -72,7 +72,7 @@ export interface MenuTriggerProps extends AriaMenuTriggerProps { shouldFlip?: boolean } -export interface MenuProps extends Omit, 'children' | 'style' | 'className' | 'dependencies'>, StyleProps { +export interface MenuProps extends Omit, 'children' | 'style' | 'className' | 'dependencies' | 'renderEmptyState'>, StyleProps { /** * The size of the Menu. * diff --git a/packages/@react-spectrum/s2/src/StatusLight.tsx b/packages/@react-spectrum/s2/src/StatusLight.tsx index dc0a5f10145..9615175c363 100644 --- a/packages/@react-spectrum/s2/src/StatusLight.tsx +++ b/packages/@react-spectrum/s2/src/StatusLight.tsx @@ -40,7 +40,7 @@ export interface StatusLightProps extends StatusLightStyleProps, DOMProps, AriaL /** * The content to display as the label. */ - children: ReactNode, + children?: ReactNode, /** * An accessibility role for the status light. Should be set when the status * can change at runtime, and no more than one status light will update simultaneously. diff --git a/packages/@react-spectrum/s2/src/TableView.tsx b/packages/@react-spectrum/s2/src/TableView.tsx index cad7a082894..16db0821306 100644 --- a/packages/@react-spectrum/s2/src/TableView.tsx +++ b/packages/@react-spectrum/s2/src/TableView.tsx @@ -32,6 +32,7 @@ import { TableHeader as RACTableHeader, TableHeaderProps as RACTableHeaderProps, TableProps as RACTableProps, + Rect, ResizableTableContainer, RowRenderProps, TableBodyRenderProps, @@ -59,7 +60,6 @@ import Nubbin from '../ui-icons/S2_MoveHorizontalTableWidget.svg'; import {ProgressCircle} from './ProgressCircle'; import {raw} from '../style/style-macro' with {type: 'macro'}; import React, {createContext, forwardRef, ReactElement, ReactNode, useCallback, useContext, useMemo, useRef, useState} from 'react'; -import {Rect} from '@react-stately/virtualizer'; import SortDownArrow from '../s2wf-icons/S2_Icon_SortDown_20_N.svg'; import SortUpArrow from '../s2wf-icons/S2_Icon_SortUp_20_N.svg'; import {useActionBarContainer} from './ActionBar'; @@ -216,6 +216,7 @@ export class S2TableLayout extends TableLayout { return layoutNode; } + // y is the height of the headers protected buildBody(y: number): LayoutNode { let layoutNode = super.buildBody(y); let {children, layoutInfo} = layoutNode; diff --git a/packages/@react-spectrum/s2/src/TreeView.tsx b/packages/@react-spectrum/s2/src/TreeView.tsx index e0f6c579a4c..5f57750e318 100644 --- a/packages/@react-spectrum/s2/src/TreeView.tsx +++ b/packages/@react-spectrum/s2/src/TreeView.tsx @@ -29,7 +29,7 @@ import { import {centerBaseline} from './CenterBaseline'; import {Checkbox} from './Checkbox'; import Chevron from '../ui-icons/Chevron'; -import {colorMix, fontRelative, lightDark, style} from '../style' with {type: 'macro'}; +import {colorMix, focusRing, fontRelative, lightDark, style} from '../style' with {type: 'macro'}; import {DOMRef, Key} from '@react-types/shared'; import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'}; import {IconContext} from './Icon'; @@ -54,11 +54,9 @@ export interface TreeViewProps extends Omit, 'style' | 'classN styles?: StylesPropWithHeight } -export interface TreeViewItemProps extends Omit { +export interface TreeViewItemProps extends Omit { /** Whether this item has children, even if not loaded yet. */ - hasChildItems?: boolean, - /** A list of child tree item objects used when dynamically rendering the tree item children. */ - childItems?: Iterable + hasChildItems?: boolean } interface TreeRendererContextValue { @@ -73,10 +71,13 @@ let InternalTreeContext = createContext<{isDetached?: boolean, isEmphasized?: bo // keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't // scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview const tree = style({ + ...focusRing(), + outlineOffset: -2, // make certain we are visible inside overflow hidden containers userSelect: 'none', minHeight: 0, minWidth: 0, width: 'full', + height: 'full', overflow: 'auto', boxSizing: 'border-box', justifyContent: { @@ -85,9 +86,6 @@ const tree = style({ alignItems: { isEmpty: 'center' }, - height: { - isEmpty: 'full' - }, '--indent': { type: 'width', value: 16 @@ -95,7 +93,7 @@ const tree = style({ }, getAllowedOverrides({height: true})); function TreeView(props: TreeViewProps, ref: DOMRef) { - let {children, isDetached, isEmphasized} = props; + let {children, isDetached, isEmphasized, UNSAFE_className, UNSAFE_style} = props; let scale = useScale(); let renderer; @@ -110,13 +108,14 @@ function TreeView(props: TreeViewProps, ref: DOMRef) { layout={ListLayout} layoutOptions={{ rowHeight: scale === 'large' ? 50 : 40, - gap: isDetached ? 4 : 0 + gap: isDetached ? 2 : 0 }}> tree({isEmpty, isDetached}, props.styles)} + style={UNSAFE_style} + className={renderProps => (UNSAFE_className ?? '') + tree({isDetached, ...renderProps}, props.styles)} selectionBehavior="toggle" ref={domRef}> {props.children} @@ -295,7 +294,7 @@ const treeRowFocusIndicator = raw(` }` ); -export const TreeViewItem = (props: TreeViewItemProps): ReactElement => { +export const TreeViewItem = (props: TreeViewItemProps): ReactElement => { let { href } = props; diff --git a/packages/@react-spectrum/s2/stories/TableView.stories.tsx b/packages/@react-spectrum/s2/stories/TableView.stories.tsx index d07fe013c62..9359daa0615 100644 --- a/packages/@react-spectrum/s2/stories/TableView.stories.tsx +++ b/packages/@react-spectrum/s2/stories/TableView.stories.tsx @@ -65,7 +65,7 @@ const StaticTable = (args: any) => ( Name Type Date Modified - A + Size B @@ -73,21 +73,21 @@ const StaticTable = (args: any) => ( Games File folder 6/7/2020 - Dummy content + 74 GB Long long long long long long long cell Program Files File folder 4/7/2021 - Dummy content + 1.2 GB Long long long long long long long cell bootmgr System file 11/20/2010 - Dummy content + 0.2 GB Long long long long long long long cell @@ -709,3 +709,50 @@ export const FlexWidth = { }, name: 'flex calculated height, flex direction row' }; + + +export const ColSpan = { + render: (args: any) => ( + + + Name + Type + Date Modified + Size + + + + Games + File folder + 6/7/2020 + 74 GB + + + Program Files + File folder + 4/7/2021 + 1.2 GB + + + bootmgr + System file + 11/20/2010 + 0.2 GB + + + Total size: 75.4 GB + + + + ), + parameters: { + docs: { + disable: true + } + }, + argTypes: { + selectionMode: { + control: false + } + } +}; diff --git a/packages/@react-spectrum/s2/stories/TreeView.stories.tsx b/packages/@react-spectrum/s2/stories/TreeView.stories.tsx index f1738c6df58..f514dbd80bd 100644 --- a/packages/@react-spectrum/s2/stories/TreeView.stories.tsx +++ b/packages/@react-spectrum/s2/stories/TreeView.stories.tsx @@ -220,7 +220,7 @@ const DynamicTreeItem = (props) => { let {childItems, name, icon} = props; return ( <> - + {name} {icon} diff --git a/packages/@react-spectrum/searchfield/package.json b/packages/@react-spectrum/searchfield/package.json index 2e335aa1791..7d8761a7849 100644 --- a/packages/@react-spectrum/searchfield/package.json +++ b/packages/@react-spectrum/searchfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/searchfield", - "version": "3.8.12", + "version": "3.8.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,15 +36,15 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/searchfield": "^3.8.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/textfield": "^3.12.8", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/searchfield": "^3.5.9", - "@react-types/searchfield": "^3.5.11", - "@react-types/textfield": "^3.11.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/searchfield": "^3.8.1", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/textfield": "^3.13.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/searchfield": "^3.5.10", + "@react-types/searchfield": "^3.6.0", + "@react-types/textfield": "^3.12.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/slider/package.json b/packages/@react-spectrum/slider/package.json index f5e7a7b9b3f..6d8ed68b754 100644 --- a/packages/@react-spectrum/slider/package.json +++ b/packages/@react-spectrum/slider/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/slider", - "version": "3.7.1", + "version": "3.7.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,16 +36,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/slider": "^3.7.15", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/slider": "^3.6.1", - "@react-types/shared": "^3.27.0", - "@react-types/slider": "^3.7.8", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/slider": "^3.7.16", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/slider": "^3.6.2", + "@react-types/shared": "^3.28.0", + "@react-types/slider": "^3.7.9", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/statuslight/package.json b/packages/@react-spectrum/statuslight/package.json index 21b3a63d328..feecfecbaa9 100644 --- a/packages/@react-spectrum/statuslight/package.json +++ b/packages/@react-spectrum/statuslight/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/statuslight", - "version": "3.5.18", + "version": "3.5.19", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@react-types/statuslight": "^3.3.14", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@react-types/statuslight": "^3.3.15", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/steplist/package.json b/packages/@react-spectrum/steplist/package.json index b86270b8b65..a676b3e77d9 100644 --- a/packages/@react-spectrum/steplist/package.json +++ b/packages/@react-spectrum/steplist/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/steplist", - "version": "3.0.0-alpha.11", + "version": "3.0.0-alpha.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,17 +36,17 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/steplist": "3.0.0-alpha.13", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/steplist": "3.0.0-alpha.11", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/steplist": "3.0.0-alpha.14", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/steplist": "3.0.0-alpha.12", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/style-macro-s1/package.json b/packages/@react-spectrum/style-macro-s1/package.json index a20f81d13fb..8c7a5ce6dc8 100644 --- a/packages/@react-spectrum/style-macro-s1/package.json +++ b/packages/@react-spectrum/style-macro-s1/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/style-macro-s1", - "version": "3.0.0-alpha.2", + "version": "3.0.0-alpha.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "source": "src/index.ts", diff --git a/packages/@react-spectrum/style-macro-s1/src/index.ts b/packages/@react-spectrum/style-macro-s1/src/index.ts index 81e0f274c0e..32f44efa658 100644 --- a/packages/@react-spectrum/style-macro-s1/src/index.ts +++ b/packages/@react-spectrum/style-macro-s1/src/index.ts @@ -10,5 +10,5 @@ * governing permissions and limitations under the License. */ -export {style, baseColor, lightDark} from './spectrum-theme'; +export {style, baseColor, lightDark, focusRing} from './spectrum-theme'; export {raw, keyframes} from './style-macro'; diff --git a/packages/@react-spectrum/style-macro-s1/src/spectrum-theme.ts b/packages/@react-spectrum/style-macro-s1/src/spectrum-theme.ts index e8066b289e7..2617d0ca528 100644 --- a/packages/@react-spectrum/style-macro-s1/src/spectrum-theme.ts +++ b/packages/@react-spectrum/style-macro-s1/src/spectrum-theme.ts @@ -439,6 +439,16 @@ let durationProperty = createArbitraryProperty((value: number | string, property const colorWithAlpha = createColorProperty(color); +export const focusRing = () => ({ + outlineStyle: { + default: 'none', + isFocusVisible: 'solid' + }, + outlineColor: 'focus-ring', + outlineWidth: 2, + outlineOffset: 2 +} as const); + export const style = createTheme({ properties: { // colors diff --git a/packages/@react-spectrum/switch/package.json b/packages/@react-spectrum/switch/package.json index 735cb17064b..f9521e04e6c 100644 --- a/packages/@react-spectrum/switch/package.json +++ b/packages/@react-spectrum/switch/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/switch", - "version": "3.5.11", + "version": "3.5.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,13 +36,13 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-aria/switch": "^3.6.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/toggle": "^3.8.1", - "@react-types/shared": "^3.27.0", - "@react-types/switch": "^3.5.8", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/switch": "^3.7.0", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/toggle": "^3.8.2", + "@react-types/shared": "^3.28.0", + "@react-types/switch": "^3.5.9", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/table/docs/TableView.mdx b/packages/@react-spectrum/table/docs/TableView.mdx index facd9856abd..0cf48832f84 100644 --- a/packages/@react-spectrum/table/docs/TableView.mdx +++ b/packages/@react-spectrum/table/docs/TableView.mdx @@ -675,7 +675,7 @@ The example below illustrates how each of the column width props affects their r + height={210} > {/*- begin highlight -*/} File Name @@ -694,6 +694,9 @@ The example below illustrates how each of the column width props affects their r 120 KB January 27, 2021 at 1:56AM + + Total space: 334 KB + ``` diff --git a/packages/@react-spectrum/table/package.json b/packages/@react-spectrum/table/package.json index 2988c1f1916..43673d1ee25 100644 --- a/packages/@react-spectrum/table/package.json +++ b/packages/@react-spectrum/table/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/table", - "version": "3.15.1", + "version": "3.16.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,31 +36,31 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/overlays": "^3.25.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/table": "^3.16.1", - "@react-aria/utils": "^3.27.0", - "@react-aria/virtualizer": "^4.1.1", - "@react-aria/visually-hidden": "^3.8.19", - "@react-spectrum/checkbox": "^3.9.12", - "@react-spectrum/dnd": "^3.5.1", - "@react-spectrum/layout": "^3.6.11", - "@react-spectrum/menu": "^3.21.1", - "@react-spectrum/progress": "^3.7.12", - "@react-spectrum/tooltip": "^3.7.1", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/flags": "^3.0.5", - "@react-stately/layout": "^4.1.1", - "@react-stately/table": "^3.13.1", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/button": "^3.12.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/table": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/virtualizer": "^4.1.2", + "@react-aria/visually-hidden": "^3.8.20", + "@react-spectrum/checkbox": "^3.9.13", + "@react-spectrum/dnd": "^3.5.2", + "@react-spectrum/layout": "^3.6.12", + "@react-spectrum/menu": "^3.21.2", + "@react-spectrum/progress": "^3.7.13", + "@react-spectrum/tooltip": "^3.7.2", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/flags": "^3.1.0", + "@react-stately/layout": "^4.2.0", + "@react-stately/table": "^3.14.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/tabs/package.json b/packages/@react-spectrum/tabs/package.json index 84cdfa0c1ff..5aeed58fb7c 100644 --- a/packages/@react-spectrum/tabs/package.json +++ b/packages/@react-spectrum/tabs/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/tabs", - "version": "3.8.16", + "version": "3.8.17", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,20 +36,20 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/tabs": "^3.9.9", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/picker": "^3.15.5", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/list": "^3.11.2", - "@react-stately/tabs": "^3.7.1", - "@react-types/select": "^3.9.9", - "@react-types/shared": "^3.27.0", - "@react-types/tabs": "^3.3.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/tabs": "^3.10.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/picker": "^3.15.6", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/list": "^3.12.0", + "@react-stately/tabs": "^3.8.0", + "@react-types/select": "^3.9.10", + "@react-types/shared": "^3.28.0", + "@react-types/tabs": "^3.3.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/tag/package.json b/packages/@react-spectrum/tag/package.json index 15045867244..ea15a9406e6 100644 --- a/packages/@react-spectrum/tag/package.json +++ b/packages/@react-spectrum/tag/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/tag", - "version": "3.2.12", + "version": "3.2.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,20 +36,20 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/selection": "^3.22.0", - "@react-aria/tag": "^3.4.9", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/collections": "^3.12.1", - "@react-stately/list": "^3.11.2", - "@react-types/shared": "^3.27.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/selection": "^3.23.0", + "@react-aria/tag": "^3.5.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/collections": "^3.12.2", + "@react-stately/list": "^3.12.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/test-utils/package.json b/packages/@react-spectrum/test-utils/package.json index 78fbb880433..2e0a4619626 100644 --- a/packages/@react-spectrum/test-utils/package.json +++ b/packages/@react-spectrum/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/test-utils", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,7 +24,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/test-utils": "1.0.0-alpha.4", + "@react-aria/test-utils": "1.0.0-alpha.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-spectrum/text/package.json b/packages/@react-spectrum/text/package.json index 58436853460..ee962fed7f1 100644 --- a/packages/@react-spectrum/text/package.json +++ b/packages/@react-spectrum/text/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/text", - "version": "3.5.11", + "version": "3.5.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,12 +36,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@react-types/text": "^3.3.14", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@react-types/text": "^3.3.15", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1", diff --git a/packages/@react-spectrum/textfield/package.json b/packages/@react-spectrum/textfield/package.json index 4074b6b4ad4..eb18e5c276a 100644 --- a/packages/@react-spectrum/textfield/package.json +++ b/packages/@react-spectrum/textfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/textfield", - "version": "3.12.8", + "version": "3.13.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,17 +36,17 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", - "@react-aria/textfield": "^3.16.0", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/form": "^3.7.11", - "@react-spectrum/label": "^3.16.11", - "@react-spectrum/utils": "^3.12.1", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", + "@react-aria/textfield": "^3.17.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/form": "^3.7.12", + "@react-spectrum/label": "^3.16.12", + "@react-spectrum/utils": "^3.12.2", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", - "@react-types/textfield": "^3.11.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-types/shared": "^3.28.0", + "@react-types/textfield": "^3.12.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/theme-dark/package.json b/packages/@react-spectrum/theme-dark/package.json index 59150030669..0a5666899b6 100644 --- a/packages/@react-spectrum/theme-dark/package.json +++ b/packages/@react-spectrum/theme-dark/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/theme-dark", - "version": "3.5.15", + "version": "3.5.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,7 +36,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/provider": "^3.8.6", + "@react-types/provider": "^3.8.7", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/theme-default/package.json b/packages/@react-spectrum/theme-default/package.json index 92dddd1b447..0d7d33d2567 100644 --- a/packages/@react-spectrum/theme-default/package.json +++ b/packages/@react-spectrum/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/theme-default", - "version": "3.5.15", + "version": "3.5.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,7 +36,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/provider": "^3.8.6", + "@react-types/provider": "^3.8.7", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/theme-express/package.json b/packages/@react-spectrum/theme-express/package.json index 91cf8aac276..f6542b12b7a 100644 --- a/packages/@react-spectrum/theme-express/package.json +++ b/packages/@react-spectrum/theme-express/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/theme-express", - "version": "3.0.0-alpha.17", + "version": "3.0.0-alpha.18", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,8 +36,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-spectrum/theme-default": "^3.5.15", - "@react-types/provider": "^3.8.6", + "@react-spectrum/theme-default": "^3.5.16", + "@react-types/provider": "^3.8.7", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/theme-light/package.json b/packages/@react-spectrum/theme-light/package.json index 2ba43a51e8e..3bad0a25ed7 100644 --- a/packages/@react-spectrum/theme-light/package.json +++ b/packages/@react-spectrum/theme-light/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/theme-light", - "version": "3.4.15", + "version": "3.4.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,7 +36,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/provider": "^3.8.6", + "@react-types/provider": "^3.8.7", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/toast/package.json b/packages/@react-spectrum/toast/package.json index 9ba1cab3773..4e98ae7018d 100644 --- a/packages/@react-spectrum/toast/package.json +++ b/packages/@react-spectrum/toast/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/toast", - "version": "3.0.0-beta.18", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,16 +36,16 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/overlays": "^3.25.0", - "@react-aria/toast": "3.0.0-beta.19", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/button": "^3.16.10", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/toast": "3.0.0-beta.7", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/overlays": "^3.26.0", + "@react-aria/toast": "^3.0.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/button": "^3.16.11", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/toast": "^3.0.0", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, diff --git a/packages/@react-spectrum/toast/stories/Toast.stories.tsx b/packages/@react-spectrum/toast/stories/Toast.stories.tsx index c3cc49a3c96..9e7d0cb26e1 100644 --- a/packages/@react-spectrum/toast/stories/Toast.stories.tsx +++ b/packages/@react-spectrum/toast/stories/Toast.stories.tsx @@ -15,13 +15,13 @@ import {ActionButton, Button} from '@react-spectrum/button'; import {ButtonGroup} from '@react-spectrum/buttongroup'; import {Checkbox} from '@react-spectrum/checkbox'; import {Content} from '@react-spectrum/view'; -import {createLandmarkController, useLandmark} from '@react-aria/landmark'; import {Dialog, DialogTrigger} from '@react-spectrum/dialog'; import {Flex} from '@react-spectrum/layout'; import {Heading} from '@react-spectrum/text'; import React, {SyntheticEvent, useEffect, useMemo, useRef, useState} from 'react'; import {SpectrumToastOptions, ToastPlacement} from '../src/ToastContainer'; import {ToastContainer, ToastQueue} from '../'; +import {UNSTABLE_createLandmarkController, useLandmark} from '@react-aria/landmark'; import {UNSTABLE_PortalProvider} from '@react-aria/overlays'; export default { @@ -260,7 +260,7 @@ function MultipleInner() { } function IframeExample() { - let controller = useMemo(() => createLandmarkController(), []); + let controller = useMemo(() => UNSTABLE_createLandmarkController(), []); useEffect(() => () => controller.dispose(), [controller]); let onLoad = (e: SyntheticEvent) => { let iframe = e.target as HTMLIFrameElement; diff --git a/packages/@react-spectrum/toast/test/ToastContainer.test.js b/packages/@react-spectrum/toast/test/ToastContainer.test.js index bbed317b28e..e9b833c16cf 100644 --- a/packages/@react-spectrum/toast/test/ToastContainer.test.js +++ b/packages/@react-spectrum/toast/test/ToastContainer.test.js @@ -245,7 +245,7 @@ describe('Toast Provider and Container', function () { expect(button).toHaveFocus(); }); - it('should move focus to remaining toast when a toast exits and there are more', async () => { + it('should restore focus when removing with the mouse', async () => { let {getAllByRole, getByRole, queryByRole} = renderComponent(); let button = getByRole('button'); @@ -256,11 +256,39 @@ describe('Toast Provider and Container', function () { let closeButton = within(toast).getByRole('button'); await user.click(closeButton); + expect(document.activeElement).toBe(button); + + toast = getAllByRole('alertdialog')[0]; + closeButton = within(toast).getByRole('button'); + await user.click(closeButton); + + expect(queryByRole('alertdialog')).toBeNull(); + expect(document.activeElement).toBe(button); + }); + + it('should move focus to remaining toast when a toast exits and there are more', async () => { + let {getAllByRole, getByRole, queryByRole} = renderComponent(); + let button = getByRole('button'); + + await user.tab(); + await user.keyboard('{Enter}'); + await user.keyboard('{Enter}'); + + let toast = getAllByRole('alertdialog')[0]; + let closeButton = within(toast).getByRole('button'); + await user.keyboard('{F6}'); + await user.tab(); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); + toast = getByRole('alertdialog'); expect(document.activeElement).toBe(toast); closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); expect(queryByRole('alertdialog')).toBeNull(); expect(document.activeElement).toBe(button); @@ -270,18 +298,25 @@ describe('Toast Provider and Container', function () { let {getAllByRole, getByRole, queryByRole} = renderComponent(); let button = getByRole('button'); - await user.click(button); - await user.click(button); + await user.tab(); + await user.keyboard('{Enter}'); + await user.keyboard('{Enter}'); - let toast = getAllByRole('alertdialog')[1]; + let toast = getAllByRole('alertdialog')[0]; let closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.keyboard('{F6}'); + await user.tab(); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); toast = getByRole('alertdialog'); expect(document.activeElement).toBe(toast); closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); expect(queryByRole('alertdialog')).toBeNull(); expect(document.activeElement).toBe(button); diff --git a/packages/@react-spectrum/tooltip/package.json b/packages/@react-spectrum/tooltip/package.json index 88815322715..d17878b606c 100644 --- a/packages/@react-spectrum/tooltip/package.json +++ b/packages/@react-spectrum/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/tooltip", - "version": "3.7.1", + "version": "3.7.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,17 +36,17 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/focus": "^3.19.1", - "@react-aria/overlays": "^3.25.0", - "@react-aria/tooltip": "^3.7.11", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/overlays": "^5.7.1", - "@react-spectrum/utils": "^3.12.1", - "@react-stately/tooltip": "^3.5.1", - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0", - "@react-types/tooltip": "^3.4.14", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/focus": "^3.20.0", + "@react-aria/overlays": "^3.26.0", + "@react-aria/tooltip": "^3.8.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/overlays": "^5.7.2", + "@react-spectrum/utils": "^3.12.2", + "@react-stately/tooltip": "^3.5.2", + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0", + "@react-types/tooltip": "^3.4.15", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/tree/docs/TreeView.mdx b/packages/@react-spectrum/tree/docs/TreeView.mdx index 273ea9f537f..152ca62ff63 100644 --- a/packages/@react-spectrum/tree/docs/TreeView.mdx +++ b/packages/@react-spectrum/tree/docs/TreeView.mdx @@ -145,7 +145,7 @@ let items: MyItem[] = [ const DynamicTreeItem = (props) => { return ( <> - + {props.name} {props.icon} @@ -419,49 +419,61 @@ The `` component works with frameworks and client side routers lik ```tsx example - {(item: MyItem) => ( - - - {item.name} - {item.icon} - alert(`Item: ${item.id}, Action: ${key}`)}> - - - Edit - - - - Delete - - - - - )} + {function renderItem(item: MyItem) { + return ( + + + {item.name} + {item.icon} + alert(`Item: ${item.id}, Action: ${key}`)}> + + + Edit + + + + Delete + + + + + {renderItem} + + + ) + }} ``` ### With action menus ```tsx example +import {Collection} from '@adobe/react-spectrum'; + - {(item: MyItem) => ( - - - {item.name} - {item.icon} - alert(`Item: ${item.id}, Action: ${key}`)}> - - - Edit - - - - Delete - - - - - )} + {function renderItem(item: MyItem) { + return ( + + + {item.name} + {item.icon} + alert(`Item: ${item.id}, Action: ${key}`)}> + + + Edit + + + + Delete + + + + + {renderItem} + + + ) + }} ``` diff --git a/packages/@react-spectrum/tree/package.json b/packages/@react-spectrum/tree/package.json index b9af5527929..c8fd353fa2b 100644 --- a/packages/@react-spectrum/tree/package.json +++ b/packages/@react-spectrum/tree/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/tree", - "version": "3.0.0-beta.3", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,17 +36,17 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/button": "^3.11.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/tree": "3.0.0-beta.3", - "@react-aria/utils": "^3.27.0", - "@react-spectrum/checkbox": "^3.9.12", - "@react-spectrum/text": "^3.5.11", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@spectrum-icons/ui": "^3.6.12", + "@react-aria/button": "^3.12.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/tree": "^3.0.0", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/checkbox": "^3.9.13", + "@react-spectrum/text": "^3.5.12", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@spectrum-icons/ui": "^3.6.13", "@swc/helpers": "^0.5.0", - "react-aria-components": "^1.6.0" + "react-aria-components": "^1.7.0" }, "peerDependencies": { "@react-spectrum/provider": "^3.0.0", @@ -55,7 +55,7 @@ }, "devDependencies": { "@adobe/spectrum-css-temp": "3.0.0-alpha.1", - "@react-spectrum/style-macro-s1": "3.0.0-alpha.2" + "@react-spectrum/style-macro-s1": "3.0.0-alpha.3" }, "publishConfig": { "access": "public" diff --git a/packages/@react-spectrum/tree/src/TreeView.tsx b/packages/@react-spectrum/tree/src/TreeView.tsx index 2165a0305a0..1d1959e0e07 100644 --- a/packages/@react-spectrum/tree/src/TreeView.tsx +++ b/packages/@react-spectrum/tree/src/TreeView.tsx @@ -27,10 +27,10 @@ import {Checkbox} from '@react-spectrum/checkbox'; import ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium'; import ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium'; import {DOMRef, Expandable, Key, SelectionBehavior, SpectrumSelectionProps, StyleProps} from '@react-types/shared'; +import {focusRing, style} from '@react-spectrum/style-macro-s1' with {type: 'macro'}; import {isAndroid} from '@react-aria/utils'; import React, {createContext, JSX, JSXElementConstructor, ReactElement, ReactNode, useRef} from 'react'; import {SlotProvider, useDOMRef, useStyleProps} from '@react-spectrum/utils'; -import {style} from '@react-spectrum/style-macro-s1' with {type: 'macro'}; import {useButton} from '@react-aria/button'; import {useLocale} from '@react-aria/i18n'; @@ -48,11 +48,9 @@ export interface SpectrumTreeViewProps extends Omit, 'childr children?: ReactNode | ((item: T) => ReactNode) } -export interface SpectrumTreeViewItemProps extends Omit { +export interface SpectrumTreeViewItemProps extends Omit { /** Rendered contents of the tree item or child items. */ - children: ReactNode, - /** A list of child tree item objects used when dynamically rendering the tree item children. */ - childItems?: Iterable + children: ReactNode } interface TreeRendererContextValue { @@ -66,6 +64,10 @@ const TreeRendererContext = createContext({}); // keyboard focus ring. Perhaps find a different way of rendering the outlines since the top of the item doesn't // scroll into view due to how the ring is offset. Alternatively, have the tree render the top/bottom outline like it does in Listview const tree = style>({ + ...focusRing(), + outlineOffset: '[-2px]', // make certain we are visible inside overflow hidden containers + height: 'full', + width: 'full', borderWidth: 2, boxSizing: 'border-box', borderXWidth: 0, @@ -80,22 +82,17 @@ const tree = style>({ alignItems: { isEmpty: 'center' }, - width: { - isEmpty: 'full' - }, - height: { - isEmpty: 'full' - }, display: { isEmpty: 'flex' - } + }, + overflow: 'auto' }); /** * A tree view provides users with a way to navigate nested hierarchical information. */ export const TreeView = React.forwardRef(function TreeView(props: SpectrumTreeViewProps, ref: DOMRef) { - let {children, selectionStyle} = props; + let {children, selectionStyle, UNSAFE_className} = props; let renderer; if (typeof children === 'function') { @@ -108,7 +105,7 @@ export const TreeView = React.forwardRef(function TreeView(pro return ( - tree({isEmpty})} selectionBehavior={selectionBehavior as SelectionBehavior} ref={domRef}> + (UNSAFE_className ?? '') + tree(renderProps)} selectionBehavior={selectionBehavior as SelectionBehavior} ref={domRef}> {props.children} @@ -206,7 +203,8 @@ const treeRowOutline = style({ isSelected: { default: '[-1px]', isFocusVisible: '[-2px]' - } + }, + isFirst: 0 }, bottom: 0, pointerEvents: 'none', @@ -228,7 +226,7 @@ const treeRowOutline = style({ } }); -export const TreeViewItem = (props: SpectrumTreeViewItemProps): ReactElement => { +export const TreeViewItem = (props: SpectrumTreeViewItemProps): ReactElement => { let { href } = props; @@ -256,41 +254,44 @@ export const TreeViewItemContent = (props: SpectrumTreeViewItemContentProps): Re return ( - {({isExpanded, hasChildItems, level, selectionMode, selectionBehavior, isDisabled, isSelected, isFocusVisible}) => ( -
- {selectionMode !== 'none' && selectionBehavior === 'toggle' && ( + {({isExpanded, hasChildItems, level, selectionMode, selectionBehavior, isDisabled, isSelected, isFocusVisible, state, id}) => { + let isFirst = state.collection.getFirstKey() === id; + return ( +
+ {selectionMode !== 'none' && selectionBehavior === 'toggle' && ( // TODO: add transition? - - )} -
- {/* TODO: revisit when we do async loading, at the moment hasChildItems will only cause the chevron to be rendered, no aria/data attributes indicating the row's expandability are added */} - {hasChildItems && } - - {children} - -
-
- )} + + )} +
+ {/* TODO: revisit when we do async loading, at the moment hasChildItems will only cause the chevron to be rendered, no aria/data attributes indicating the row's expandability are added */} + {hasChildItems && } + + {children} + +
+
+ ); + }} ); }; diff --git a/packages/@react-spectrum/tree/stories/TreeView.stories.tsx b/packages/@react-spectrum/tree/stories/TreeView.stories.tsx index 2c99783ec8e..466da584255 100644 --- a/packages/@react-spectrum/tree/stories/TreeView.stories.tsx +++ b/packages/@react-spectrum/tree/stories/TreeView.stories.tsx @@ -208,7 +208,7 @@ const DynamicTreeItem = (props) => { let {childItems, name, icon} = props; return ( <> - + {name} {icon} diff --git a/packages/@react-spectrum/tree/test/TreeView.test.tsx b/packages/@react-spectrum/tree/test/TreeView.test.tsx index 1fe7146a960..5d2fee7c61d 100644 --- a/packages/@react-spectrum/tree/test/TreeView.test.tsx +++ b/packages/@react-spectrum/tree/test/TreeView.test.tsx @@ -165,7 +165,7 @@ const DynamicTreeItem = (props) => { let {childItems, name} = props; return ( <> - + {name} diff --git a/packages/@react-spectrum/utils/package.json b/packages/@react-spectrum/utils/package.json index 66ad7444696..dc0e72bc906 100644 --- a/packages/@react-spectrum/utils/package.json +++ b/packages/@react-spectrum/utils/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/utils", - "version": "3.12.1", + "version": "3.12.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,10 +24,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/i18n": "^3.12.5", + "@react-aria/i18n": "^3.12.6", "@react-aria/ssr": "^3.9.7", - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, diff --git a/packages/@react-spectrum/view/package.json b/packages/@react-spectrum/view/package.json index 888af55a024..ebb968a448f 100644 --- a/packages/@react-spectrum/view/package.json +++ b/packages/@react-spectrum/view/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/view", - "version": "3.6.15", + "version": "3.6.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@react-types/view": "^3.4.14", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@react-types/view": "^3.4.15", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-spectrum/well/package.json b/packages/@react-spectrum/well/package.json index 2b40c40ea7a..92e9d12baea 100644 --- a/packages/@react-spectrum/well/package.json +++ b/packages/@react-spectrum/well/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/well", - "version": "3.4.19", + "version": "3.4.20", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -36,10 +36,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/utils": "^3.12.1", - "@react-types/shared": "^3.27.0", - "@react-types/well": "^3.3.14", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/utils": "^3.12.2", + "@react-types/shared": "^3.28.0", + "@react-types/well": "^3.3.15", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@react-stately/autocomplete/package.json b/packages/@react-stately/autocomplete/package.json index bc5757931be..31953cd6a9e 100644 --- a/packages/@react-stately/autocomplete/package.json +++ b/packages/@react-stately/autocomplete/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/autocomplete", - "version": "3.0.0-alpha.0", + "version": "3.0.0-beta.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", diff --git a/packages/@react-stately/calendar/package.json b/packages/@react-stately/calendar/package.json index e3f757b1b07..72c15d6a968 100644 --- a/packages/@react-stately/calendar/package.json +++ b/packages/@react-stately/calendar/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/calendar", - "version": "3.7.0", + "version": "3.7.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,8 +24,8 @@ "dependencies": { "@internationalized/date": "^3.7.0", "@react-stately/utils": "^3.10.5", - "@react-types/calendar": "^3.6.0", - "@react-types/shared": "^3.27.0", + "@react-types/calendar": "^3.6.1", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/checkbox/package.json b/packages/@react-stately/checkbox/package.json index 87a511ded10..766739bbc46 100644 --- a/packages/@react-stately/checkbox/package.json +++ b/packages/@react-stately/checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/checkbox", - "version": "3.6.11", + "version": "3.6.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/form": "^3.1.1", + "@react-stately/form": "^3.1.2", "@react-stately/utils": "^3.10.5", - "@react-types/checkbox": "^3.9.1", - "@react-types/shared": "^3.27.0", + "@react-types/checkbox": "^3.9.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/collections/docs/collections.mdx b/packages/@react-stately/collections/docs/collections.mdx index 34f79161d00..25214620976 100644 --- a/packages/@react-stately/collections/docs/collections.mdx +++ b/packages/@react-stately/collections/docs/collections.mdx @@ -296,56 +296,6 @@ function addPerson(name) { ``` -{/* - -## Hierarchical data - -Sections only allow a single level of hierarchy. Some components like trees allow arbitrary hierarchical -data of any depth to be displayed. This can be accomplished by nesting -<> components, and using the `title` prop -to specify the contents of items with children. - -```tsx - - - Aardvark - Kangaroo - Snake - - - Danni - Devon - Ross - - -``` - -To support dynamic data, <> supports a -`childItems` prop, which causes your item renderer function to be called recursively for each child. - -```tsx -let [items, setItems] = useState([ - {name: 'Animals', children: [ - {name: 'Aardvark'}, - {name: 'Kangaroo'}, - {name: 'Snake'} - ]}, - {name: 'People', children: [ - {name: 'Danni'}, - {name: 'Devon'}, - {name: 'Ross'} - ]} -]); - - - {item => - {item.name} - } - -``` - -*/} - ## Asynchronous loading Many collection components support loading data asynchronously. This is supported by passing an `isLoading` prop, diff --git a/packages/@react-stately/collections/package.json b/packages/@react-stately/collections/package.json index 14c4e38d690..9eccaa1e9be 100644 --- a/packages/@react-stately/collections/package.json +++ b/packages/@react-stately/collections/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/collections", - "version": "3.12.1", + "version": "3.12.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,7 +22,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/color/package.json b/packages/@react-stately/color/package.json index 7ec483c9852..71d80968a94 100644 --- a/packages/@react-stately/color/package.json +++ b/packages/@react-stately/color/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/color", - "version": "3.8.2", + "version": "3.8.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,12 +24,12 @@ "dependencies": { "@internationalized/number": "^3.6.0", "@internationalized/string": "^3.2.5", - "@react-stately/form": "^3.1.1", - "@react-stately/numberfield": "^3.9.9", - "@react-stately/slider": "^3.6.1", + "@react-stately/form": "^3.1.2", + "@react-stately/numberfield": "^3.9.10", + "@react-stately/slider": "^3.6.2", "@react-stately/utils": "^3.10.5", - "@react-types/color": "^3.0.2", - "@react-types/shared": "^3.27.0", + "@react-types/color": "^3.0.3", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/color/src/index.ts b/packages/@react-stately/color/src/index.ts index 5296aa77182..c07be85011e 100644 --- a/packages/@react-stately/color/src/index.ts +++ b/packages/@react-stately/color/src/index.ts @@ -25,5 +25,5 @@ export {useColorFieldState} from './useColorFieldState'; export {useColorChannelFieldState} from './useColorChannelFieldState'; export {useColorPickerState} from './useColorPickerState'; -export type {Color, ColorAreaProps, ColorFieldProps, ColorWheelProps} from '@react-types/color'; +export type {Color, ColorChannel, ColorFormat, ColorSpace, ColorAreaProps, ColorFieldProps, ColorWheelProps} from '@react-types/color'; export type {ColorSliderStateOptions} from './useColorSliderState'; diff --git a/packages/@react-stately/combobox/package.json b/packages/@react-stately/combobox/package.json index 912e32c983d..1576fc7f23c 100644 --- a/packages/@react-stately/combobox/package.json +++ b/packages/@react-stately/combobox/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/combobox", - "version": "3.10.2", + "version": "3.10.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,14 +22,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/form": "^3.1.1", - "@react-stately/list": "^3.11.2", - "@react-stately/overlays": "^3.6.13", - "@react-stately/select": "^3.6.10", + "@react-stately/collections": "^3.12.2", + "@react-stately/form": "^3.1.2", + "@react-stately/list": "^3.12.0", + "@react-stately/overlays": "^3.6.14", + "@react-stately/select": "^3.6.11", "@react-stately/utils": "^3.10.5", - "@react-types/combobox": "^3.13.2", - "@react-types/shared": "^3.27.0", + "@react-types/combobox": "^3.13.3", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/data/docs/useTreeData.mdx b/packages/@react-stately/data/docs/useTreeData.mdx index 024c9872d7a..9ec0c4c3ceb 100644 --- a/packages/@react-stately/data/docs/useTreeData.mdx +++ b/packages/@react-stately/data/docs/useTreeData.mdx @@ -182,33 +182,6 @@ tree.move('Sam', 'Animals', 1); tree.move('Sam', null, 1); ``` -### Move before -An alias to move - -```tsx -// Move an item within the same parent -tree.moveBefore('Sam', 'People', 0); - -// Move an item to a different parent -tree.moveBefore('Sam', 'Animals', 1); - -// Move an item to the root -tree.moveBefore('Sam', null, 1); -``` - -### Move after - -```tsx -// Move an item within the same parent -tree.moveAfter('Sam', 'People', 0); - -// Move an item to a different parent -tree.moveAfter('Sam', 'Animals', 1); - -// Move an item to the root -tree.moveAfter('Sam', null, 1); -``` - ### Updating items ```tsx diff --git a/packages/@react-stately/data/package.json b/packages/@react-stately/data/package.json index f9b7febe965..6a29d1a131a 100644 --- a/packages/@react-stately/data/package.json +++ b/packages/@react-stately/data/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/data", - "version": "3.12.1", + "version": "3.12.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,7 +22,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/data/src/useTreeData.ts b/packages/@react-stately/data/src/useTreeData.ts index 5bcaa98b9f3..580279b8e4c 100644 --- a/packages/@react-stately/data/src/useTreeData.ts +++ b/packages/@react-stately/data/src/useTreeData.ts @@ -107,22 +107,6 @@ export interface TreeData { */ move(key: Key, toParentKey: Key | null, index: number): void, - /** - * Moves an item before a node within the tree. - * @param key - The key of the item to move. - * @param toParentKey - The key of the new parent to insert into. `null` for the root. - * @param index - The index within the new parent to insert before. - */ - moveBefore(key: Key, toParentKey: Key | null, index: number): void, - - /** - * Moves an item after a node within the tree. - * @param key - The key of the item to move. - * @param toParentKey - The key of the new parent to insert into. `null` for the root. - * @param index - The index within the new parent to insert after. - */ - moveAfter(key: Key, toParentKey: Key | null, index: number): void, - /** * Updates an item in the tree. * @param key - The key of the item to update. @@ -389,50 +373,6 @@ export function useTreeData(options: TreeOptions): TreeData }), newMap); }); }, - moveBefore(key: Key, toParentKey: Key | null, index: number) { - this.move(key, toParentKey, index); - }, - moveAfter(key: Key, toParentKey: Key | null, index: number) { - setItems(({items, nodeMap: originalMap}) => { - let node = originalMap.get(key); - if (!node) { - return {items, nodeMap: originalMap}; - } - - let {items: newItems, nodeMap: newMap} = updateTree(items, key, () => null, originalMap); - - const movedNode = { - ...node, - parentKey: toParentKey - }; - - const afterIndex = items.length === index ? index : index + 1; - // If parentKey is null, insert into the root. - if (toParentKey == null) { - newMap.set(movedNode.key, movedNode); - return {items: [ - ...newItems.slice(0, afterIndex), - movedNode, - ...newItems.slice(afterIndex) - ], nodeMap: newMap}; - } - - // Otherwise, update the parent node and its ancestors. - return updateTree(newItems, toParentKey, parentNode => { - const c = [ - ...parentNode.children!.slice(0, afterIndex), - movedNode, - ...parentNode.children!.slice(afterIndex) - ]; - return { - key: parentNode.key, - parentKey: parentNode.parentKey, - value: parentNode.value, - children: c - }; - }, newMap); - }); - }, update(oldKey: Key, newValue: T) { setItems(({items, nodeMap: originalMap}) => updateTree(items, oldKey, oldNode => { let node: TreeNode = { diff --git a/packages/@react-stately/data/test/useTreeData.test.js b/packages/@react-stately/data/test/useTreeData.test.js index eaffc8ad200..ef3d7d2c071 100644 --- a/packages/@react-stately/data/test/useTreeData.test.js +++ b/packages/@react-stately/data/test/useTreeData.test.js @@ -685,7 +685,7 @@ describe('useTreeData', function () { useTreeData({initialItems, getChildren, getKey}) ); act(() => { - result.current.moveBefore('Eli', null, 0); + result.current.move('Eli', null, 0); }); expect(result.current.items[0].key).toEqual('Eli'); expect(result.current.items[1].key).toEqual('David'); @@ -700,7 +700,7 @@ describe('useTreeData', function () { useTreeData({initialItems, getChildren, getKey}) ); act(() => { - result.current.moveBefore('Eli', 'David', 1); + result.current.move('Eli', 'David', 1); }); expect(result.current.items[0].key).toEqual('David'); expect(result.current.items[0].children[0].key).toEqual('John'); @@ -716,7 +716,7 @@ describe('useTreeData', function () { ); act(() => { - result.current.moveAfter('Eli', 'David', 1); + result.current.move('Eli', 'David', 2); }); expect(result.current.items[0].key).toEqual('David'); @@ -734,7 +734,7 @@ describe('useTreeData', function () { ); act(() => { - result.current.moveAfter('Eli', 'David', 100); + result.current.move('Eli', 'David', 101); }); expect(result.current.items[0].key).toEqual('David'); diff --git a/packages/@react-stately/datepicker/package.json b/packages/@react-stately/datepicker/package.json index c112f43b7e9..cd7ad9fab37 100644 --- a/packages/@react-stately/datepicker/package.json +++ b/packages/@react-stately/datepicker/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/datepicker", - "version": "3.12.0", + "version": "3.13.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,11 +24,11 @@ "dependencies": { "@internationalized/date": "^3.7.0", "@internationalized/string": "^3.2.5", - "@react-stately/form": "^3.1.1", - "@react-stately/overlays": "^3.6.13", + "@react-stately/form": "^3.1.2", + "@react-stately/overlays": "^3.6.14", "@react-stately/utils": "^3.10.5", - "@react-types/datepicker": "^3.10.0", - "@react-types/shared": "^3.27.0", + "@react-types/datepicker": "^3.11.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/disclosure/package.json b/packages/@react-stately/disclosure/package.json index 7071c0734fa..acf72b04887 100644 --- a/packages/@react-stately/disclosure/package.json +++ b/packages/@react-stately/disclosure/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/disclosure", - "version": "3.0.1", + "version": "3.0.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,7 +23,7 @@ }, "dependencies": { "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/dnd/package.json b/packages/@react-stately/dnd/package.json index 1f076abe53f..cfe0b303a6f 100644 --- a/packages/@react-stately/dnd/package.json +++ b/packages/@react-stately/dnd/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/dnd", - "version": "3.5.1", + "version": "3.5.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/selection": "^3.19.0", - "@react-types/shared": "^3.27.0", + "@react-stately/selection": "^3.20.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/flags/package.json b/packages/@react-stately/flags/package.json index 281243ad2b1..dfae49a4fd0 100644 --- a/packages/@react-stately/flags/package.json +++ b/packages/@react-stately/flags/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/flags", - "version": "3.0.5", + "version": "3.1.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", diff --git a/packages/@react-stately/form/package.json b/packages/@react-stately/form/package.json index 658da7c5cef..f78187adbc8 100644 --- a/packages/@react-stately/form/package.json +++ b/packages/@react-stately/form/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/form", - "version": "3.1.1", + "version": "3.1.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,7 +22,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/grid/package.json b/packages/@react-stately/grid/package.json index df1c4d1340c..81aea7c5167 100644 --- a/packages/@react-stately/grid/package.json +++ b/packages/@react-stately/grid/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/grid", - "version": "3.10.1", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/selection": "^3.19.0", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/selection": "^3.20.0", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/layout/package.json b/packages/@react-stately/layout/package.json index 3571795f927..58aa549270d 100644 --- a/packages/@react-stately/layout/package.json +++ b/packages/@react-stately/layout/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/layout", - "version": "4.1.1", + "version": "4.2.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,12 +22,12 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/table": "^3.13.1", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", + "@react-stately/collections": "^3.12.2", + "@react-stately/table": "^3.14.0", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/list/package.json b/packages/@react-stately/list/package.json index e807e5807db..c7a29bf6302 100644 --- a/packages/@react-stately/list/package.json +++ b/packages/@react-stately/list/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/list", - "version": "3.11.2", + "version": "3.12.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/selection": "^3.19.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/selection": "^3.20.0", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/list/src/index.ts b/packages/@react-stately/list/src/index.ts index c70545cd5b9..ddecc9fa2e1 100644 --- a/packages/@react-stately/list/src/index.ts +++ b/packages/@react-stately/list/src/index.ts @@ -12,6 +12,6 @@ export type {ListProps, ListState} from './useListState'; export type {SingleSelectListProps, SingleSelectListState} from './useSingleSelectListState'; -export {useListState, useFilteredListState} from './useListState'; +export {useListState, UNSTABLE_useFilteredListState} from './useListState'; export {useSingleSelectListState} from './useSingleSelectListState'; export {ListCollection} from './ListCollection'; diff --git a/packages/@react-stately/list/src/useListState.ts b/packages/@react-stately/list/src/useListState.ts index 513909369f8..15813f1dee4 100644 --- a/packages/@react-stately/list/src/useListState.ts +++ b/packages/@react-stately/list/src/useListState.ts @@ -73,8 +73,8 @@ export function useListState(props: ListProps): ListState(state: ListState, filterFn: ((nodeValue: string) => boolean) | null | undefined): ListState { - let collection = useMemo(() => filterFn ? state.collection.filter!(filterFn) : state.collection, [state.collection, filterFn]); +export function UNSTABLE_useFilteredListState(state: ListState, filter: ((nodeValue: string) => boolean) | null | undefined): ListState { + let collection = useMemo(() => filter ? state.collection.UNSTABLE_filter!(filter) : state.collection, [state.collection, filter]); let selectionManager = state.selectionManager.withCollection(collection); useFocusedKeyReset(collection, selectionManager); return { diff --git a/packages/@react-stately/menu/package.json b/packages/@react-stately/menu/package.json index 3d304855c87..a0550fd7c58 100644 --- a/packages/@react-stately/menu/package.json +++ b/packages/@react-stately/menu/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/menu", - "version": "3.9.1", + "version": "3.9.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/overlays": "^3.6.13", - "@react-types/menu": "^3.9.14", - "@react-types/shared": "^3.27.0", + "@react-stately/overlays": "^3.6.14", + "@react-types/menu": "^3.9.15", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/numberfield/package.json b/packages/@react-stately/numberfield/package.json index 4d57b435dd8..a028adfbc31 100644 --- a/packages/@react-stately/numberfield/package.json +++ b/packages/@react-stately/numberfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/numberfield", - "version": "3.9.9", + "version": "3.9.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,9 +23,9 @@ }, "dependencies": { "@internationalized/number": "^3.6.0", - "@react-stately/form": "^3.1.1", + "@react-stately/form": "^3.1.2", "@react-stately/utils": "^3.10.5", - "@react-types/numberfield": "^3.8.8", + "@react-types/numberfield": "^3.8.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/overlays/package.json b/packages/@react-stately/overlays/package.json index 5f71578fdac..9c3465a085c 100644 --- a/packages/@react-stately/overlays/package.json +++ b/packages/@react-stately/overlays/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/overlays", - "version": "3.6.13", + "version": "3.6.14", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,7 +23,7 @@ }, "dependencies": { "@react-stately/utils": "^3.10.5", - "@react-types/overlays": "^3.8.12", + "@react-types/overlays": "^3.8.13", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/radio/package.json b/packages/@react-stately/radio/package.json index f716e180e76..a64be6f80eb 100644 --- a/packages/@react-stately/radio/package.json +++ b/packages/@react-stately/radio/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/radio", - "version": "3.10.10", + "version": "3.10.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/form": "^3.1.1", + "@react-stately/form": "^3.1.2", "@react-stately/utils": "^3.10.5", - "@react-types/radio": "^3.8.6", - "@react-types/shared": "^3.27.0", + "@react-types/radio": "^3.8.7", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/searchfield/package.json b/packages/@react-stately/searchfield/package.json index 648c7d69904..b0c7e7a5af4 100644 --- a/packages/@react-stately/searchfield/package.json +++ b/packages/@react-stately/searchfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/searchfield", - "version": "3.5.9", + "version": "3.5.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,7 +23,7 @@ }, "dependencies": { "@react-stately/utils": "^3.10.5", - "@react-types/searchfield": "^3.5.11", + "@react-types/searchfield": "^3.6.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/select/package.json b/packages/@react-stately/select/package.json index 48066b12f74..175b257188f 100644 --- a/packages/@react-stately/select/package.json +++ b/packages/@react-stately/select/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/select", - "version": "3.6.10", + "version": "3.6.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,11 +22,11 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/form": "^3.1.1", - "@react-stately/list": "^3.11.2", - "@react-stately/overlays": "^3.6.13", - "@react-types/select": "^3.9.9", - "@react-types/shared": "^3.27.0", + "@react-stately/form": "^3.1.2", + "@react-stately/list": "^3.12.0", + "@react-stately/overlays": "^3.6.14", + "@react-types/select": "^3.9.10", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/selection/package.json b/packages/@react-stately/selection/package.json index 0fd68b19f5b..d0110f6b9c8 100644 --- a/packages/@react-stately/selection/package.json +++ b/packages/@react-stately/selection/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/selection", - "version": "3.19.0", + "version": "3.20.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", + "@react-stately/collections": "^3.12.2", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/slider/package.json b/packages/@react-stately/slider/package.json index 8df5f8e4e94..aa6ea020187 100644 --- a/packages/@react-stately/slider/package.json +++ b/packages/@react-stately/slider/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/slider", - "version": "3.6.1", + "version": "3.6.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,8 +23,8 @@ }, "dependencies": { "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", - "@react-types/slider": "^3.7.8", + "@react-types/shared": "^3.28.0", + "@react-types/slider": "^3.7.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/steplist/package.json b/packages/@react-stately/steplist/package.json index f22d08605dd..9998edff8e1 100644 --- a/packages/@react-stately/steplist/package.json +++ b/packages/@react-stately/steplist/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/steplist", - "version": "3.0.0-alpha.11", + "version": "3.0.0-alpha.12", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/list": "^3.11.2", + "@react-stately/list": "^3.12.0", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/table/package.json b/packages/@react-stately/table/package.json index 0d63ab248d7..50b06b5299e 100644 --- a/packages/@react-stately/table/package.json +++ b/packages/@react-stately/table/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/table", - "version": "3.13.1", + "version": "3.14.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,14 +22,14 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/flags": "^3.0.5", - "@react-stately/grid": "^3.10.1", - "@react-stately/selection": "^3.19.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/flags": "^3.1.0", + "@react-stately/grid": "^3.11.0", + "@react-stately/selection": "^3.20.0", "@react-stately/utils": "^3.10.5", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/tabs/package.json b/packages/@react-stately/tabs/package.json index 99fca2604e1..0329de8c37f 100644 --- a/packages/@react-stately/tabs/package.json +++ b/packages/@react-stately/tabs/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/tabs", - "version": "3.7.1", + "version": "3.8.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,9 +22,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/list": "^3.11.2", - "@react-types/shared": "^3.27.0", - "@react-types/tabs": "^3.3.12", + "@react-stately/list": "^3.12.0", + "@react-types/shared": "^3.28.0", + "@react-types/tabs": "^3.3.13", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/toast/package.json b/packages/@react-stately/toast/package.json index fdeda381c8e..ced20c40ca9 100644 --- a/packages/@react-stately/toast/package.json +++ b/packages/@react-stately/toast/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/toast", - "version": "3.0.0-beta.7", + "version": "3.0.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", diff --git a/packages/@react-stately/toggle/package.json b/packages/@react-stately/toggle/package.json index 00e71258ec5..5d35fc456c7 100644 --- a/packages/@react-stately/toggle/package.json +++ b/packages/@react-stately/toggle/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/toggle", - "version": "3.8.1", + "version": "3.8.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -23,8 +23,8 @@ }, "dependencies": { "@react-stately/utils": "^3.10.5", - "@react-types/checkbox": "^3.9.1", - "@react-types/shared": "^3.27.0", + "@react-types/checkbox": "^3.9.2", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/tooltip/package.json b/packages/@react-stately/tooltip/package.json index 71bafc183a0..e061260271a 100644 --- a/packages/@react-stately/tooltip/package.json +++ b/packages/@react-stately/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/tooltip", - "version": "3.5.1", + "version": "3.5.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/overlays": "^3.6.13", - "@react-types/tooltip": "^3.4.14", + "@react-stately/overlays": "^3.6.14", + "@react-types/tooltip": "^3.4.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/tree/package.json b/packages/@react-stately/tree/package.json index 23b5ea24a2f..e275f9ad241 100644 --- a/packages/@react-stately/tree/package.json +++ b/packages/@react-stately/tree/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/tree", - "version": "3.8.7", + "version": "3.8.8", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,10 +22,10 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/collections": "^3.12.1", - "@react-stately/selection": "^3.19.0", + "@react-stately/collections": "^3.12.2", + "@react-stately/selection": "^3.20.0", "@react-stately/utils": "^3.10.5", - "@react-types/shared": "^3.27.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-stately/virtualizer/package.json b/packages/@react-stately/virtualizer/package.json index d835bd5a7b0..f93c08afb08 100644 --- a/packages/@react-stately/virtualizer/package.json +++ b/packages/@react-stately/virtualizer/package.json @@ -1,6 +1,6 @@ { "name": "@react-stately/virtualizer", - "version": "4.2.1", + "version": "4.3.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -22,8 +22,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-types/shared": "^3.27.0", + "@react-aria/utils": "^3.28.0", + "@react-types/shared": "^3.28.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { diff --git a/packages/@react-types/accordion/README.md b/packages/@react-types/accordion/README.md deleted file mode 100644 index a9b9abd3f3d..00000000000 --- a/packages/@react-types/accordion/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @react-types/accordion - -This package is part of [react-spectrum](https://github.com/adobe/react-spectrum). See the repo for more details. diff --git a/packages/@react-types/accordion/package.json b/packages/@react-types/accordion/package.json deleted file mode 100644 index 5c9c1001b23..00000000000 --- a/packages/@react-types/accordion/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@react-types/accordion", - "version": "3.0.0-alpha.26", - "description": "Spectrum UI components in React", - "license": "Apache-2.0", - "types": "src/index.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/adobe/react-spectrum" - }, - "dependencies": { - "@react-types/shared": "^3.27.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/@react-types/accordion/src/index.d.ts b/packages/@react-types/accordion/src/index.d.ts deleted file mode 100644 index 0e087c72897..00000000000 --- a/packages/@react-types/accordion/src/index.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 Adobe. All rights reserved. - * This file is licensed to you under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. You may obtain a copy - * of the License at http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS - * OF ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -import {CollectionBase, DOMProps, Expandable, StyleProps} from '@react-types/shared'; - -interface AccordionProps extends CollectionBase, Expandable {} - -export interface AriaAccordionProps extends AccordionProps, DOMProps {} - -export interface SpectrumAccordionProps extends AriaAccordionProps, StyleProps {} diff --git a/packages/@react-types/actionbar/package.json b/packages/@react-types/actionbar/package.json index 0d55b482c20..4402738aa22 100644 --- a/packages/@react-types/actionbar/package.json +++ b/packages/@react-types/actionbar/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/actionbar", - "version": "3.1.12", + "version": "3.1.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/actiongroup/package.json b/packages/@react-types/actiongroup/package.json index 78da60815a9..fe9046e6544 100644 --- a/packages/@react-types/actiongroup/package.json +++ b/packages/@react-types/actiongroup/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/actiongroup", - "version": "3.4.14", + "version": "3.4.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/autocomplete/package.json b/packages/@react-types/autocomplete/package.json index d8041a3563d..9ee8001435e 100644 --- a/packages/@react-types/autocomplete/package.json +++ b/packages/@react-types/autocomplete/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/autocomplete", - "version": "3.0.0-alpha.28", + "version": "3.0.0-alpha.29", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,9 +9,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/combobox": "^3.13.2", - "@react-types/searchfield": "^3.5.11", - "@react-types/shared": "^3.27.0" + "@react-types/combobox": "^3.13.3", + "@react-types/searchfield": "^3.6.0", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/avatar/package.json b/packages/@react-types/avatar/package.json index 8ba3700c0ab..18b2d6e2396 100644 --- a/packages/@react-types/avatar/package.json +++ b/packages/@react-types/avatar/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/avatar", - "version": "3.0.12", + "version": "3.0.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/badge/package.json b/packages/@react-types/badge/package.json index f89c3c53acc..30a7bf1bd17 100644 --- a/packages/@react-types/badge/package.json +++ b/packages/@react-types/badge/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/badge", - "version": "3.1.14", + "version": "3.1.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/breadcrumbs/package.json b/packages/@react-types/breadcrumbs/package.json index 72e6421df27..a92cc622a5b 100644 --- a/packages/@react-types/breadcrumbs/package.json +++ b/packages/@react-types/breadcrumbs/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/breadcrumbs", - "version": "3.7.10", + "version": "3.7.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/link": "^3.5.10", - "@react-types/shared": "^3.27.0" + "@react-types/link": "^3.5.11", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/button/package.json b/packages/@react-types/button/package.json index 9ddd9eb6635..02c15a2ee67 100644 --- a/packages/@react-types/button/package.json +++ b/packages/@react-types/button/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/button", - "version": "3.10.2", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/buttongroup/package.json b/packages/@react-types/buttongroup/package.json index 283c90a4954..f51a8b9e842 100644 --- a/packages/@react-types/buttongroup/package.json +++ b/packages/@react-types/buttongroup/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/buttongroup", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/calendar/package.json b/packages/@react-types/calendar/package.json index 6f0d3101cea..8ce81a73873 100644 --- a/packages/@react-types/calendar/package.json +++ b/packages/@react-types/calendar/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/calendar", - "version": "3.6.0", + "version": "3.6.1", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -10,7 +10,7 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "publishConfig": { "access": "public" diff --git a/packages/@react-types/card/package.json b/packages/@react-types/card/package.json index 8fb616719b3..66b99769671 100644 --- a/packages/@react-types/card/package.json +++ b/packages/@react-types/card/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/card", - "version": "3.0.0-alpha.32", + "version": "3.0.0-alpha.33", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,9 +9,9 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/virtualizer": "^4.2.1", - "@react-types/provider": "^3.8.6", - "@react-types/shared": "^3.27.0" + "@react-stately/virtualizer": "^4.3.0", + "@react-types/provider": "^3.8.7", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/checkbox/package.json b/packages/@react-types/checkbox/package.json index e21ad00464c..90680e2540c 100644 --- a/packages/@react-types/checkbox/package.json +++ b/packages/@react-types/checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/checkbox", - "version": "3.9.1", + "version": "3.9.2", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/color/package.json b/packages/@react-types/color/package.json index 36badabc86c..96810ce6225 100644 --- a/packages/@react-types/color/package.json +++ b/packages/@react-types/color/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/color", - "version": "3.0.2", + "version": "3.0.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0", - "@react-types/slider": "^3.7.8" + "@react-types/shared": "^3.28.0", + "@react-types/slider": "^3.7.9" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/combobox/package.json b/packages/@react-types/combobox/package.json index 0c7f8f6d5e7..05ef14b10ed 100644 --- a/packages/@react-types/combobox/package.json +++ b/packages/@react-types/combobox/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/combobox", - "version": "3.13.2", + "version": "3.13.3", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/contextualhelp/package.json b/packages/@react-types/contextualhelp/package.json index ff293697500..1848c540b8a 100644 --- a/packages/@react-types/contextualhelp/package.json +++ b/packages/@react-types/contextualhelp/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/contextualhelp", - "version": "3.2.15", + "version": "3.2.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0" + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0" }, "publishConfig": { "access": "public" diff --git a/packages/@react-types/datepicker/package.json b/packages/@react-types/datepicker/package.json index 97479af872c..ea42a2d1caf 100644 --- a/packages/@react-types/datepicker/package.json +++ b/packages/@react-types/datepicker/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/datepicker", - "version": "3.10.0", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -10,9 +10,9 @@ }, "dependencies": { "@internationalized/date": "^3.7.0", - "@react-types/calendar": "^3.6.0", - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0" + "@react-types/calendar": "^3.6.1", + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0" }, "publishConfig": { "access": "public" diff --git a/packages/@react-types/datepicker/src/index.d.ts b/packages/@react-types/datepicker/src/index.d.ts index 7149d8096f8..5101ab6c103 100644 --- a/packages/@react-types/datepicker/src/index.d.ts +++ b/packages/@react-types/datepicker/src/index.d.ts @@ -37,7 +37,7 @@ type MappedDateValue = never; export type Granularity = 'day' | 'hour' | 'minute' | 'second'; -interface DateFieldBase extends InputBase, Validation>, FocusableProps, LabelableProps, HelpTextProps, OverlayTriggerProps { +interface DateFieldBase extends InputBase, Validation>, FocusableProps, LabelableProps, HelpTextProps { /** The minimum allowed date that a user may select. */ minValue?: DateValue | null, /** The maximum allowed date that a user may select. */ diff --git a/packages/@react-types/dialog/package.json b/packages/@react-types/dialog/package.json index c8a8a3df1c9..1623f192e0e 100644 --- a/packages/@react-types/dialog/package.json +++ b/packages/@react-types/dialog/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/dialog", - "version": "3.5.15", + "version": "3.5.16", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0" + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/divider/package.json b/packages/@react-types/divider/package.json index 301dbc8d0c8..29c730ecf13 100644 --- a/packages/@react-types/divider/package.json +++ b/packages/@react-types/divider/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/divider", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/form/package.json b/packages/@react-types/form/package.json index 860a1145cf8..8ce62639105 100644 --- a/packages/@react-types/form/package.json +++ b/packages/@react-types/form/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/form", - "version": "3.7.9", + "version": "3.7.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/grid/package.json b/packages/@react-types/grid/package.json index 34339a6b42c..44468ec5fdb 100644 --- a/packages/@react-types/grid/package.json +++ b/packages/@react-types/grid/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/grid", - "version": "3.2.11", + "version": "3.3.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/illustratedmessage/package.json b/packages/@react-types/illustratedmessage/package.json index 8c1d7e69fb9..1d4de297d7c 100644 --- a/packages/@react-types/illustratedmessage/package.json +++ b/packages/@react-types/illustratedmessage/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/illustratedmessage", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/image/package.json b/packages/@react-types/image/package.json index 5d28ed4aeab..119998b2894 100644 --- a/packages/@react-types/image/package.json +++ b/packages/@react-types/image/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/image", - "version": "3.4.6", + "version": "3.4.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/label/package.json b/packages/@react-types/label/package.json index bc14e3bc2d0..dfbe206de80 100644 --- a/packages/@react-types/label/package.json +++ b/packages/@react-types/label/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/label", - "version": "3.9.8", + "version": "3.9.9", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/layout/package.json b/packages/@react-types/layout/package.json index 1b65d1ab1e4..0171f5574ae 100644 --- a/packages/@react-types/layout/package.json +++ b/packages/@react-types/layout/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/layout", - "version": "3.3.20", + "version": "3.3.21", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/link/package.json b/packages/@react-types/link/package.json index bf600b3bc21..57b0ca16776 100644 --- a/packages/@react-types/link/package.json +++ b/packages/@react-types/link/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/link", - "version": "3.5.10", + "version": "3.5.11", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/list/package.json b/packages/@react-types/list/package.json index a2af661df16..74edbce1318 100644 --- a/packages/@react-types/list/package.json +++ b/packages/@react-types/list/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/list", - "version": "3.2.23", + "version": "3.2.24", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-aria/gridlist": "^3.10.1", - "@react-spectrum/list": "^3.9.1" + "@react-aria/gridlist": "^3.11.0", + "@react-spectrum/list": "^3.9.2" }, "peerDependencies": { "@react-spectrum/provider": "^3.0.0", diff --git a/packages/@react-types/listbox/package.json b/packages/@react-types/listbox/package.json index 59377a8bcbe..c53daf337e6 100644 --- a/packages/@react-types/listbox/package.json +++ b/packages/@react-types/listbox/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/listbox", - "version": "3.5.4", + "version": "3.5.5", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/menu/package.json b/packages/@react-types/menu/package.json index 7bf6d414c5f..3ebcb096a48 100644 --- a/packages/@react-types/menu/package.json +++ b/packages/@react-types/menu/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/menu", - "version": "3.9.14", + "version": "3.9.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0" + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/meter/package.json b/packages/@react-types/meter/package.json index 126629f8720..9ddb849bdf6 100644 --- a/packages/@react-types/meter/package.json +++ b/packages/@react-types/meter/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/meter", - "version": "3.4.6", + "version": "3.4.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/progress": "^3.5.9" + "@react-types/progress": "^3.5.10" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/numberfield/package.json b/packages/@react-types/numberfield/package.json index 1d23698013f..f9848782080 100644 --- a/packages/@react-types/numberfield/package.json +++ b/packages/@react-types/numberfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/numberfield", - "version": "3.8.8", + "version": "3.8.9", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/overlays/package.json b/packages/@react-types/overlays/package.json index e10b6d71307..420462df9d7 100644 --- a/packages/@react-types/overlays/package.json +++ b/packages/@react-types/overlays/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/overlays", - "version": "3.8.12", + "version": "3.8.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/progress/package.json b/packages/@react-types/progress/package.json index e8c1497aef2..107c77a32d8 100644 --- a/packages/@react-types/progress/package.json +++ b/packages/@react-types/progress/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/progress", - "version": "3.5.9", + "version": "3.5.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/provider/package.json b/packages/@react-types/provider/package.json index 81945168422..7e593305ef7 100644 --- a/packages/@react-types/provider/package.json +++ b/packages/@react-types/provider/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/provider", - "version": "3.8.6", + "version": "3.8.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/radio/package.json b/packages/@react-types/radio/package.json index 9531d7ec39d..d62d370b4c2 100644 --- a/packages/@react-types/radio/package.json +++ b/packages/@react-types/radio/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/radio", - "version": "3.8.6", + "version": "3.8.7", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/searchfield/package.json b/packages/@react-types/searchfield/package.json index 309d86f467b..9a00cc9f76f 100644 --- a/packages/@react-types/searchfield/package.json +++ b/packages/@react-types/searchfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/searchfield", - "version": "3.5.11", + "version": "3.6.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0", - "@react-types/textfield": "^3.11.0" + "@react-types/shared": "^3.28.0", + "@react-types/textfield": "^3.12.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/searchfield/src/index.d.ts b/packages/@react-types/searchfield/src/index.d.ts index 9aaea1a942e..747f2d884bb 100644 --- a/packages/@react-types/searchfield/src/index.d.ts +++ b/packages/@react-types/searchfield/src/index.d.ts @@ -21,5 +21,10 @@ export interface SearchFieldProps extends TextFieldProps { onClear?: () => void } -export interface AriaSearchFieldProps extends SearchFieldProps, AriaTextFieldProps {} +export interface AriaSearchFieldProps extends SearchFieldProps, AriaTextFieldProps { + /** + * An enumerated attribute that defines what action label or icon to preset for the enter key on virtual keyboards. See [https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint]. + */ + enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' +} export interface SpectrumSearchFieldProps extends SpectrumTextInputBase, Omit, SpectrumTextFieldProps {} diff --git a/packages/@react-types/select/package.json b/packages/@react-types/select/package.json index 922bef5aabc..21a7a2bc795 100644 --- a/packages/@react-types/select/package.json +++ b/packages/@react-types/select/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/select", - "version": "3.9.9", + "version": "3.9.10", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/shared/package.json b/packages/@react-types/shared/package.json index fa8c41564e9..fe6f8d9f56d 100644 --- a/packages/@react-types/shared/package.json +++ b/packages/@react-types/shared/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/shared", - "version": "3.27.0", + "version": "3.28.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", diff --git a/packages/@react-types/shared/src/collections.d.ts b/packages/@react-types/shared/src/collections.d.ts index b5d3dee3f7e..dfdc0f23bff 100644 --- a/packages/@react-types/shared/src/collections.d.ts +++ b/packages/@react-types/shared/src/collections.d.ts @@ -183,7 +183,7 @@ export interface Collection extends Iterable { getTextValue?(key: Key): string, /** Filters the collection using the given function. */ - filter?(filterFn: (nodeValue: string) => boolean): Collection + UNSTABLE_filter?(filterFn: (nodeValue: string) => boolean): Collection } export interface Node { diff --git a/packages/@react-types/shared/src/dom.d.ts b/packages/@react-types/shared/src/dom.d.ts index 327c9b2a41a..d6acd30ba68 100644 --- a/packages/@react-types/shared/src/dom.d.ts +++ b/packages/@react-types/shared/src/dom.d.ts @@ -176,12 +176,7 @@ export interface TextInputDOMProps extends DOMProps, InputDOMProps, TextInputDOM /** * An enumerated attribute that defines whether the element may be checked for spelling errors. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck). */ - spellCheck?: string, - - /** - * An enumerated attribute that defines what action label or icon to preset for the enter key on virtual keyboards. See [https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint]. - */ - enterKeyHint?: string + spellCheck?: string } /** diff --git a/packages/@react-types/slider/package.json b/packages/@react-types/slider/package.json index ebe05d109cb..4a2cad73265 100644 --- a/packages/@react-types/slider/package.json +++ b/packages/@react-types/slider/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/slider", - "version": "3.7.8", + "version": "3.7.9", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/statuslight/package.json b/packages/@react-types/statuslight/package.json index cc4bc9b2399..6560b563d0f 100644 --- a/packages/@react-types/statuslight/package.json +++ b/packages/@react-types/statuslight/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/statuslight", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/switch/package.json b/packages/@react-types/switch/package.json index b22468c9b18..ccd08cc43d3 100644 --- a/packages/@react-types/switch/package.json +++ b/packages/@react-types/switch/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/switch", - "version": "3.5.8", + "version": "3.5.9", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/table/package.json b/packages/@react-types/table/package.json index d4bf7c4cfd4..3b3c9e50f40 100644 --- a/packages/@react-types/table/package.json +++ b/packages/@react-types/table/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/table", - "version": "3.10.4", + "version": "3.11.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0" + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/tabs/package.json b/packages/@react-types/tabs/package.json index e7d61bada0b..453cb57c50c 100644 --- a/packages/@react-types/tabs/package.json +++ b/packages/@react-types/tabs/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/tabs", - "version": "3.3.12", + "version": "3.3.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/text/package.json b/packages/@react-types/text/package.json index 1e63000838e..ef20b112c2d 100644 --- a/packages/@react-types/text/package.json +++ b/packages/@react-types/text/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/text", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/textfield/package.json b/packages/@react-types/textfield/package.json index 587c7c52681..ca3deb7b1fc 100644 --- a/packages/@react-types/textfield/package.json +++ b/packages/@react-types/textfield/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/textfield", - "version": "3.11.0", + "version": "3.12.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/textfield/src/index.d.ts b/packages/@react-types/textfield/src/index.d.ts index 95fcc8021dd..741553f5d59 100644 --- a/packages/@react-types/textfield/src/index.d.ts +++ b/packages/@react-types/textfield/src/index.d.ts @@ -44,7 +44,11 @@ export interface AriaTextFieldProps extends TextFieldProps /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog', /** Identifies the element (or elements) whose contents or presence are controlled by the current element. */ - 'aria-controls'?: string + 'aria-controls'?: string, + /** + * An enumerated attribute that defines what action label or icon to preset for the enter key on virtual keyboards. See [https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint]. + */ + enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' } interface SpectrumTextFieldBaseProps { diff --git a/packages/@react-types/tooltip/package.json b/packages/@react-types/tooltip/package.json index 1d74ed404c2..791bbf36518 100644 --- a/packages/@react-types/tooltip/package.json +++ b/packages/@react-types/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/tooltip", - "version": "3.4.14", + "version": "3.4.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,8 +9,8 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/overlays": "^3.8.12", - "@react-types/shared": "^3.27.0" + "@react-types/overlays": "^3.8.13", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/view/package.json b/packages/@react-types/view/package.json index 1d26614bd9c..0f496ccc8e3 100644 --- a/packages/@react-types/view/package.json +++ b/packages/@react-types/view/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/view", - "version": "3.4.14", + "version": "3.4.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@react-types/well/package.json b/packages/@react-types/well/package.json index e389376d8c4..b1249a20182 100644 --- a/packages/@react-types/well/package.json +++ b/packages/@react-types/well/package.json @@ -1,6 +1,6 @@ { "name": "@react-types/well", - "version": "3.3.14", + "version": "3.3.15", "description": "Spectrum UI components in React", "license": "Apache-2.0", "types": "src/index.d.ts", @@ -9,7 +9,7 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-types/shared": "^3.27.0" + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/@spectrum-icons/color/package.json b/packages/@spectrum-icons/color/package.json index fd49366ca46..45d3edc07df 100644 --- a/packages/@spectrum-icons/color/package.json +++ b/packages/@spectrum-icons/color/package.json @@ -1,6 +1,6 @@ { "name": "@spectrum-icons/color", - "version": "3.5.18", + "version": "3.5.19", "description": "Spectrum UI components in React", "license": "Apache-2.0", "repository": { @@ -23,7 +23,7 @@ }, "dependencies": { "@adobe/react-spectrum-workflow-color": "1.1.1", - "@react-spectrum/icon": "^3.8.1", + "@react-spectrum/icon": "^3.8.2", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@spectrum-icons/express/package.json b/packages/@spectrum-icons/express/package.json index 467df45b568..a8b3a40f6a1 100644 --- a/packages/@spectrum-icons/express/package.json +++ b/packages/@spectrum-icons/express/package.json @@ -1,6 +1,6 @@ { "name": "@spectrum-icons/express", - "version": "3.0.0-alpha.22", + "version": "3.0.0-alpha.23", "description": "Spectrum UI components in React", "license": "Apache-2.0", "repository": { @@ -23,7 +23,7 @@ }, "dependencies": { "@adobe/spectrum-css-ccx-workflow-icons": "1.0.2", - "@react-spectrum/icon": "^3.8.1", + "@react-spectrum/icon": "^3.8.2", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@spectrum-icons/illustrations/package.json b/packages/@spectrum-icons/illustrations/package.json index ce4462a8ac1..725809d41fe 100644 --- a/packages/@spectrum-icons/illustrations/package.json +++ b/packages/@spectrum-icons/illustrations/package.json @@ -1,6 +1,6 @@ { "name": "@spectrum-icons/illustrations", - "version": "3.6.18", + "version": "3.6.19", "description": "Spectrum UI components in React", "license": "Apache-2.0", "repository": { @@ -21,8 +21,8 @@ "build-icons": "yarn build-cjs && yarn build-esm && yarn generate-types" }, "dependencies": { - "@react-aria/utils": "^3.27.0", - "@react-spectrum/icon": "^3.8.1", + "@react-aria/utils": "^3.28.0", + "@react-spectrum/icon": "^3.8.2", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@spectrum-icons/ui/package.json b/packages/@spectrum-icons/ui/package.json index 7adbf015bcd..f9230b82074 100644 --- a/packages/@spectrum-icons/ui/package.json +++ b/packages/@spectrum-icons/ui/package.json @@ -1,6 +1,6 @@ { "name": "@spectrum-icons/ui", - "version": "3.6.12", + "version": "3.6.13", "description": "Spectrum UI components in React", "license": "Apache-2.0", "repository": { @@ -23,7 +23,7 @@ }, "dependencies": { "@adobe/react-spectrum-ui": "1.2.1", - "@react-spectrum/icon": "^3.8.1", + "@react-spectrum/icon": "^3.8.2", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/@spectrum-icons/workflow/package.json b/packages/@spectrum-icons/workflow/package.json index 7b9cd115041..fcfb6acb8c7 100644 --- a/packages/@spectrum-icons/workflow/package.json +++ b/packages/@spectrum-icons/workflow/package.json @@ -1,6 +1,6 @@ { "name": "@spectrum-icons/workflow", - "version": "4.2.17", + "version": "4.2.18", "description": "Spectrum UI components in React", "license": "Apache-2.0", "repository": { @@ -23,7 +23,7 @@ }, "dependencies": { "@adobe/react-spectrum-workflow": "2.3.5", - "@react-spectrum/icon": "^3.8.1", + "@react-spectrum/icon": "^3.8.2", "@swc/helpers": "^0.5.0" }, "devDependencies": { diff --git a/packages/dev/codemods/package.json b/packages/dev/codemods/package.json index 06a6fa57a9c..d645406503f 100644 --- a/packages/dev/codemods/package.json +++ b/packages/dev/codemods/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/codemods", - "version": "0.4.0", + "version": "0.5.0", "main": "dist/index.js", "source": "src/index.ts", "bin": "dist/index.js", @@ -24,8 +24,8 @@ "@babel/parser": "^7.24.5", "@babel/traverse": "^7.24.5", "@babel/types": "^7.24.5", - "@react-spectrum/s2": "^0.6.0", - "@react-types/shared": "^3.27.0", + "@react-spectrum/s2": "^0.7.0", + "@react-types/shared": "^3.28.0", "@types/node": "^20", "boxen": "^5.1.2", "build": "^0.1.4", diff --git a/packages/dev/docs/package.json b/packages/dev/docs/package.json index 3200e2ff217..7c7f0d1f6ad 100644 --- a/packages/dev/docs/package.json +++ b/packages/dev/docs/package.json @@ -9,7 +9,7 @@ "@react-aria/aria-modal-polyfill": "^3.1.0", "@react-aria/interactions": "^3.1.0", "@react-aria/visually-hidden": "^3.1.0", - "@react-spectrum/autocomplete": "3.0.0-alpha.39", + "@react-spectrum/autocomplete": "3.0.0-alpha.40", "@react-spectrum/breadcrumbs": "^3.1.0", "@react-spectrum/button": "^3.1.0", "@react-spectrum/dialog": "^3.1.0", diff --git a/packages/dev/docs/pages/assets/component-illustrations/Toast.svg b/packages/dev/docs/pages/assets/component-illustrations/Toast.svg new file mode 100644 index 00000000000..5251da7415f --- /dev/null +++ b/packages/dev/docs/pages/assets/component-illustrations/Toast.svg @@ -0,0 +1,18 @@ + + + + + + + + + + Analysis complete! + + + + diff --git a/packages/dev/docs/pages/react-aria/components.mdx b/packages/dev/docs/pages/react-aria/components.mdx index 7b9af915e0a..53cfbd2f43a 100644 --- a/packages/dev/docs/pages/react-aria/components.mdx +++ b/packages/dev/docs/pages/react-aria/components.mdx @@ -67,6 +67,7 @@ import ColorSwatchPicker from '../assets/component-illustrations/ColorSwatchPick import ColorPicker from '../assets/component-illustrations/ColorPicker.svg'; import Disclosure from '../assets/component-illustrations/Disclosure.svg'; import DisclosureGroup from '../assets/component-illustrations/DisclosureGroup.svg'; +import Toast from '../assets/component-illustrations/Toast.svg'; --- category: Introduction @@ -437,6 +438,13 @@ order: 5 + + + + ## Drag and drop diff --git a/packages/dev/docs/pages/react-aria/index.mdx b/packages/dev/docs/pages/react-aria/index.mdx index fb8f341ae2e..bfe5abab450 100644 --- a/packages/dev/docs/pages/react-aria/index.mdx +++ b/packages/dev/docs/pages/react-aria/index.mdx @@ -59,7 +59,7 @@ image: ../assets/ReactAriaOpenGraph.webp

Craft world-class accessible components with custom styles.

-

Over 40 components with built-in behavior, adaptive interactions, top-tier accessibility, and internationalization out of the box, ready for your styles.

+

Over 50 components with built-in behavior, adaptive interactions, top-tier accessibility, and internationalization out of the box, ready for your styles.

Get Started diff --git a/packages/dev/docs/pages/react-spectrum/index.mdx b/packages/dev/docs/pages/react-spectrum/index.mdx index 7d33c1e26b9..dfea46df848 100644 --- a/packages/dev/docs/pages/react-spectrum/index.mdx +++ b/packages/dev/docs/pages/react-spectrum/index.mdx @@ -79,6 +79,7 @@ import ColorSwatchPicker from '../assets/component-illustrations/ColorSwatchPick import ColorPicker from '../assets/component-illustrations/ColorPicker.svg'; import Disclosure from '../assets/component-illustrations/Disclosure.svg'; import Accordion from '../assets/component-illustrations/DisclosureGroup.svg'; +import Toast from '../assets/component-illustrations/Toast.svg'; --- category: Libraries @@ -550,6 +551,13 @@ A React implementation of Spectrum, Adobe’s design system. + + + +
### Drag and drop diff --git a/packages/dev/parcel-transformer-s2-icon/package.json b/packages/dev/parcel-transformer-s2-icon/package.json index 95a7750aee5..d2e6cb31318 100644 --- a/packages/dev/parcel-transformer-s2-icon/package.json +++ b/packages/dev/parcel-transformer-s2-icon/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/parcel-transformer-s2-icon", - "version": "0.2.0", + "version": "0.2.1", "main": "IconTransformer.js", "engines": { "parcel": "^2.0.0" diff --git a/packages/dev/s2-icon-builder/package.json b/packages/dev/s2-icon-builder/package.json index 1adedfde060..5799642b72f 100644 --- a/packages/dev/s2-icon-builder/package.json +++ b/packages/dev/s2-icon-builder/package.json @@ -1,6 +1,6 @@ { "name": "@react-spectrum/s2-icon-builder", - "version": "0.2.1", + "version": "0.2.2", "license": "Apache-2.0", "repository": { "type": "git", @@ -18,7 +18,7 @@ "@parcel/reporter-cli": "^2.13.1", "@parcel/resolver-default": "^2.13.1", "@parcel/transformer-raw": "^2.13.1", - "@react-spectrum/parcel-transformer-s2-icon": "^0.2.0" + "@react-spectrum/parcel-transformer-s2-icon": "^0.2.1" }, "files": [ "index.js", diff --git a/packages/dev/test-utils/package.json b/packages/dev/test-utils/package.json index 592fb46cd71..1bf0df3a768 100644 --- a/packages/dev/test-utils/package.json +++ b/packages/dev/test-utils/package.json @@ -21,13 +21,13 @@ }, "dependencies": { "@react-aria/ssr": "^3.0.0", - "@react-spectrum/test-utils": "1.0.0-alpha.4", + "@react-spectrum/test-utils": "1.0.0-alpha.5", "@react-spectrum/theme-default": "^3.5.13", "@swc/helpers": "^0.5.0", "@testing-library/dom": "^10.1.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^15.0.7", - "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch", + "@testing-library/user-event": "^14.0.0", "jest": "^29.5.0", "resolve": "^1.17.0" }, diff --git a/packages/react-aria-components/README.md b/packages/react-aria-components/README.md index bca249304d7..c4165207de8 100644 --- a/packages/react-aria-components/README.md +++ b/packages/react-aria-components/README.md @@ -1,6 +1,6 @@ # [React Aria Components](https://react-spectrum.adobe.com/react-aria/index.html) -Over 40 components with built-in behavior, adaptive interactions, top-tier accessibility, and internationalization out of the box, ready for your styles. +Over 50 components with built-in behavior, adaptive interactions, top-tier accessibility, and internationalization out of the box, ready for your styles. ## Features diff --git a/packages/react-aria-components/docs/Autocomplete.mdx b/packages/react-aria-components/docs/Autocomplete.mdx index 19bde00f013..a3085dbb963 100644 --- a/packages/react-aria-components/docs/Autocomplete.mdx +++ b/packages/react-aria-components/docs/Autocomplete.mdx @@ -114,6 +114,17 @@ function Example() { +## Features + +`Autocomplete` can be used to build UI patterns such as command palettes, searchable menus, and filterable selects. + +* **Flexible** – Support for multiple input types and collection types, controlled and uncontrolled state, and custom filter functions. +* **Keyboard navigation** – Autocomplete can be navigated using the arrow keys, along with page up/down, home/end, etc. The list of options is filtered while typing into the input, and items can be selected with the enter key. +* **Accessible** – Follows the [ARIA autocomplete pattern](https://w3c.github.io/aria/#aria-autocomplete), with support for items and sections, and slots for label and description elements within each item. +* **Styleable** – Items include builtin states for styling, such as hover, press, focus, selected, and disabled. + +**Note**: Autocomplete supports experiences where the text input and suggestion lists are siblings. For an input combined with a separate popover suggestion list, see the [ComboBox](ComboBox.html) component. + ## Anatomy `Autocomplete` is a controller for a child text input, such as a [TextField](TextField.html) or [SearchField](SearchField.html), and a collection component such as a [Menu](Menu.html) or [ListBox](ListBox.html). It enables the user to filter a list of items, and navigate via the arrow keys while keeping focus on the input. @@ -122,20 +133,11 @@ function Example() { import {Autocomplete, SearchField, Menu} from 'react-aria-components'; - {/* or */} - {/* or */} + or + or ``` -## Features - -An autocomplete can be built using the [<datalist>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) HTML element, but this is very limited in functionality and difficult to style. `Autocomplete` helps achieve accessible autocomplete components that can be styled as needed. - -* **Flexible** – Support for multiple input types and collection types, controlled and uncontrolled state, and custom filter functions. -* **Keyboard navigation** – Autocomplete can be navigated using the arrow keys, along with page up/down, home/end, etc. The list of options is filtered while typing into the input, and items can be selected with the enter key. -* **Accessible** – Follows the [ARIA autocomplete pattern](https://w3c.github.io/aria/#aria-autocomplete), with support for items and sections, and slots for label and description elements within each item. -* **Styleable** – Items include builtin states for styling, such as hover, press, focus, selected, and disabled. - ### Concepts `Autocomplete` makes use of the following concepts: @@ -272,6 +274,14 @@ function MyAutocomplete({label,placeholder, items, children, o .react-aria-Label { margin-bottom: .5em; } + +.react-aria-Menu { + &[data-empty] { + align-items: center; + justify-content: center; + font-style: italic; + } +} ``` @@ -322,6 +332,51 @@ function Example() { } ``` +## Async loading + +This example uses the [useAsyncList](../react-stately/useAsyncList.html) hook to handle asynchronous loading +and filtering of data from a server. No `filter` prop is provided to `Autocomplete` since filtering is done on the server. + +```tsx example +import {useAsyncList} from '@react-stately/data'; + +function AsyncLoadingExample() { + let list = useAsyncList<{name: string}>({ + async load({signal, filterText}) { + let res = await fetch( + `https://swapi.py4e.com/api/people/?search=${filterText}`, + {signal} + ); + let json = await res.json(); + + return { + items: json.results + }; + } + }); + + return ( +
+ + + 'No results found.'}> + {(item) => {item.name}} + + +
+ ); +} +``` + +```css hidden +.react-aria-MenuItem[href] { + text-decoration: none; + cursor: pointer; +} +``` + ## Props @@ -353,66 +408,6 @@ All React Aria Components export a corresponding context that can be used to sen Autocomplete provides an object to its children via `AutocompleteStateContext`. This can be used to access and manipulate the autocomplete's state. -This example shows an `AutocompleteClearButton` component that can be placed within an `Autocomplete` to allow the user to clear the input. - -```tsx example -import {AutocompleteStateContext as AutocompleteStateContext, Button} from 'react-aria-components'; - -function Example() { - let {contains} = useFilter({sensitivity: 'base'}); - return ( -
- - - - - Cat - Dog - Kangaroo - - -
- ) -} - -function AutocompleteClearButton() { - /*- begin highlight -*/ - let state = React.useContext(AutocompleteStateContext); - /*- end highlight -*/ - return ( - - ); -} -``` - -
- Show CSS - -```css - -.custom-autocomplete { - display: flex; - flex-direction: column; - gap: 12px; - max-width: 300px; - height: 220px; - border: 1px solid var(--border-color); - padding: 16px; - border-radius: 10px; - background: var(--overlay-background); -} - -.clear-button { - margin-top: 8px; -} -``` - -
- ### Hooks If you need to customize things even further, such as accessing internal state, intercepting events, or customizing the DOM structure, you can drop down to the lower level Hook-based API. See [useAutocomplete](useAutocomplete.html) for more details. diff --git a/packages/react-aria-components/docs/ComboBox.mdx b/packages/react-aria-components/docs/ComboBox.mdx index 8d24a49711a..bb2fa6cfeca 100644 --- a/packages/react-aria-components/docs/ComboBox.mdx +++ b/packages/react-aria-components/docs/ComboBox.mdx @@ -96,9 +96,9 @@ import {ComboBox, Label, Input, Button, Popover, ListBox, ListBoxItem} from 'rea border-radius: 6px; padding: 0.286rem 2rem 0.286rem 0.571rem; vertical-align: middle; + outline: none; &[data-focused] { - outline: none; outline: 2px solid var(--focus-ring-color); outline-offset: -1px; } @@ -140,7 +140,7 @@ import {ComboBox, Label, Input, Button, Popover, ListBox, ListBoxItem} from 'rea } .react-aria-ListBoxItem { - padding: 0.286rem 0.571rem 0.286rem 1.571rem; + padding: 0 0.571rem 0 1.571rem; &[data-focus-visible] { outline: none; @@ -184,6 +184,8 @@ A combo box can be built using the [<datalist>](https://developer.mozilla. Read our [blog post](../blog/building-a-combobox.html) for more details about the interactions and accessibility features implemented by `ComboBox`. +For more flexibility when building patterns such as command palettes, searchable menus, or filterable selects, see the [Autocomplete](Autocomplete.html) component. + ## Anatomy diff --git a/packages/react-aria-components/docs/ListBox.mdx b/packages/react-aria-components/docs/ListBox.mdx index 1c218b4ca55..37e369cd57f 100644 --- a/packages/react-aria-components/docs/ListBox.mdx +++ b/packages/react-aria-components/docs/ListBox.mdx @@ -1981,7 +1981,7 @@ A `ListBoxItem` can be targeted with the `.react-aria-ListBoxItem` CSS selector, -Items also support two slots: a label, and a description. When provided using the `` element, the item will have `aria-labelledby` and `aria-describedby` attributes pointing to these slots, improving screen reader announcement. See [complex items](#complex-items) for an example. +Items also support two slots: a label, and a description. When provided using the `` element, the item will have `aria-labelledby` and `aria-describedby` attributes pointing to these slots, improving screen reader announcement. See [Text slots](#text-slots) for an example. Note that items may not contain interactive children such as buttons, as screen readers will not be able to access them. diff --git a/packages/react-aria-components/docs/Menu.mdx b/packages/react-aria-components/docs/Menu.mdx index b13035f189d..2001d15b9fc 100644 --- a/packages/react-aria-components/docs/Menu.mdx +++ b/packages/react-aria-components/docs/Menu.mdx @@ -68,6 +68,7 @@ import {MenuTrigger, Button, Popover, Menu, MenuItem} from 'react-aria-component ```css hidden @import './Button.mdx' layer(button); @import './Popover.mdx' layer(popover); +@import './SearchField.mdx' layer(searchfield); ``` ```css @@ -842,6 +843,52 @@ let items = [ +### Complex content + +Submenu popovers can also include components other than menus. This example uses an [Autocomplete](Autocomplete.html) to make the submenu searchable. + +```tsx example +import {Menu, Popover, SubmenuTrigger, Autocomplete, useFilter} from 'react-aria-components'; +import {MySearchField} from './SearchField'; + +function Example() { + let {contains} = useFilter({sensitivity: 'base'}); + + return ( + + Cut + Copy + Delete + + Add tag... + + + + + News + Travel + Shopping + Business + Entertainment + Food + Technology + Health + Science + + + + + + ); +} +``` + +```css hidden +.react-aria-Popover[data-trigger=SubmenuTrigger] .react-aria-SearchField { + margin: 4px 8px; +} +``` + ## Custom trigger `MenuTrigger` works out of the box with any pressable React Aria component (e.g. [Button](Button.html), [Link](Link.html), etc.). Custom trigger elements such as third party components and other DOM elements are also supported by wrapping them with the `` component, or using the [usePress](usePress.html) hook. diff --git a/packages/react-aria-components/docs/Select.mdx b/packages/react-aria-components/docs/Select.mdx index 5f6d15a52b2..aaa08ac0f70 100644 --- a/packages/react-aria-components/docs/Select.mdx +++ b/packages/react-aria-components/docs/Select.mdx @@ -137,7 +137,7 @@ import {Select, SelectValue, Label, Button, Popover, ListBox, ListBoxItem} from } .react-aria-ListBoxItem { - padding: 0.286rem 0.571rem 0.286rem 1.571rem; + padding: 0 0.571rem 0 1.571rem; &[data-focus-visible] { outline: none; diff --git a/packages/react-aria-components/docs/Toast.mdx b/packages/react-aria-components/docs/Toast.mdx index d581fd2874c..e5dbb05b375 100644 --- a/packages/react-aria-components/docs/Toast.mdx +++ b/packages/react-aria-components/docs/Toast.mdx @@ -108,7 +108,7 @@ Then, you can trigger a toast from anywhere using the exported `queue`. bottom: 16px; right: 16px; display: flex; - flex-direction: column; + flex-direction: column-reverse; gap: 8px; border-radius: 8px; outline: none; diff --git a/packages/react-aria-components/docs/Tree.mdx b/packages/react-aria-components/docs/Tree.mdx index 074fd803df9..7b7c51b4251 100644 --- a/packages/react-aria-components/docs/Tree.mdx +++ b/packages/react-aria-components/docs/Tree.mdx @@ -149,8 +149,8 @@ import { visibility: hidden; align-items: center; justify-content: center; - width: 1.143rem; - height: 1.143rem; + width: 1.3rem; + height: 100%; padding-left: calc((var(--tree-item-level) - 1) * var(--padding)); svg { @@ -259,6 +259,7 @@ HTML lists are meant for static content, rather than heirarchies with rich inter * **Interactive children** – Tree items may include interactive elements such as buttons, menus, etc. * **Actions** – Items support optional actions such as navigation via click, tap, double click, or Enter key. * **Keyboard navigation** – Tree items and focusable children can be navigated using the arrow keys, along with page up/down, home/end, etc. Typeahead, auto scrolling, and selection modifier keys are supported as well. +* **Virtualized scrolling** – Use [Virtualizer](Virtualizer.html) to improve performance of large lists by rendering only the visible items. * **Touch friendly** – Selection and actions adapt their behavior depending on the device. For example, selection is activated via long press on touch when item actions are present. * **Accessible** – Follows the [ARIA treegrid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/treegrid/), with additional selection announcements via an ARIA live region. Extensively tested across many devices and [assistive technologies](accessibility.html#testing) to ensure announcements and behaviors are consistent. diff --git a/packages/react-aria-components/docs/examples/account-menu.mdx b/packages/react-aria-components/docs/examples/account-menu.mdx index 7bb50c7ef1f..e7fdd950ea8 100644 --- a/packages/react-aria-components/docs/examples/account-menu.mdx +++ b/packages/react-aria-components/docs/examples/account-menu.mdx @@ -39,39 +39,37 @@ import './tailwind.global.css'; ``` ```tsx example standalone -import {DialogTrigger, Button, Popover, Dialog, Menu, MenuItem, Separator, Switch, composeRenderProps} from 'react-aria-components'; +import {MenuTrigger, Button, Popover, Menu, MenuItem, Separator, Switch, composeRenderProps} from 'react-aria-components'; import type {MenuItemProps, SwitchProps} from 'react-aria-components'; function AccountMenuExample() { return (
- + - - -
- -
-
Marissa Whitaker
-
user@example.com
- Dark Mode -
+ +
+ +
+
Marissa Whitaker
+
user@example.com
+ Dark Mode
- - - Account Settings - Support - - Legal notices - About - - Sign out - -
+
+ + + Account Settings + Support + + Legal notices + About + + Sign out + - +
); } diff --git a/packages/react-aria-components/docs/examples/command-palette.mdx b/packages/react-aria-components/docs/examples/command-palette.mdx index 1b6b875fb4e..796882ab3f2 100644 --- a/packages/react-aria-components/docs/examples/command-palette.mdx +++ b/packages/react-aria-components/docs/examples/command-palette.mdx @@ -21,7 +21,7 @@ import ChevronRight from '@spectrum-icons/workflow/ChevronRight'; keywords: [example, autocomplete, menu, aria, accessibility, react, component] type: component image: command-palette.png -description: An command palette with actions, styled with Tailwind CSS. +description: A command palette with actions, styled with Tailwind CSS. --- # Command Palette @@ -84,15 +84,18 @@ function CommandPaletteExample() { }) return ( -
+
- ` - fixed inset-0 z-10 overflow-y-auto bg-black/25 flex min-h-full items-center justify-center p-4 text-center + fixed inset-0 z-10 overflow-y-auto bg-black/25 flex min-h-full items-start sm:items-center justify-center p-4 text-center ${isEntering ? 'animate-in fade-in duration-300 ease-out' : ''} ${isExiting ? 'animate-out fade-out duration-200 ease-in' : ''} `} @@ -104,7 +107,7 @@ function CommandPaletteExample() { `} > -
+
+ + + + + {item => {item.name}} + + + + +
+ ); +} + +function SelectItem(props: ListBoxItemProps & {children: string}) { + return ( + + {({ isSelected }) => ( + <> + {props.children} + + {isSelected && } + + + )} + + ); +} +``` + +### Tailwind config + +This example uses the following plugins: + +* [tailwindcss-react-aria-components](../styling.html#plugin) +* [tailwindcss-animate](https://github.com/jamiebuilds/tailwindcss-animate) + +When using Tailwind v4, add them to your CSS: + +```css render=false +@import "tailwindcss"; +@plugin "tailwindcss-react-aria-components"; +@plugin "tailwindcss-animate"; +``` + +
+ + Tailwind v3 + +When using Tailwind v3, add the plugins to your `tailwind.config.js` instead: + +```tsx +module.exports = { + // ... + plugins: [ + require('tailwindcss-react-aria-components'), + require('tailwindcss-animate') + ] +}; +``` + +**Note**: When using Tailwind v3, install `tailwindcss-react-aria-components` version 1.x instead of 2.x. + +
+ +## Components + +
+ + + + + + + + + + + + + + +
diff --git a/packages/react-aria-components/docs/examples/searchable-select.png b/packages/react-aria-components/docs/examples/searchable-select.png new file mode 100644 index 00000000000..0b51bcf9953 Binary files /dev/null and b/packages/react-aria-components/docs/examples/searchable-select.png differ diff --git a/packages/react-aria-components/package.json b/packages/react-aria-components/package.json index d7b991a460d..5bf57a2a77c 100644 --- a/packages/react-aria-components/package.json +++ b/packages/react-aria-components/package.json @@ -1,6 +1,6 @@ { "name": "react-aria-components", - "version": "1.6.0", + "version": "1.7.0", "description": "A library of styleable components built using React Aria", "license": "Apache-2.0", "main": "dist/main.js", @@ -39,39 +39,29 @@ "dependencies": { "@internationalized/date": "^3.7.0", "@internationalized/string": "^3.2.5", - "@react-aria/autocomplete": "3.0.0-alpha.37", - "@react-aria/collections": "3.0.0-alpha.7", - "@react-aria/color": "^3.0.3", - "@react-aria/disclosure": "^3.0.1", - "@react-aria/dnd": "^3.8.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/interactions": "^3.23.0", + "@react-aria/autocomplete": "3.0.0-beta.0", + "@react-aria/collections": "3.0.0-beta.0", + "@react-aria/dnd": "^3.9.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/interactions": "^3.24.0", "@react-aria/live-announcer": "^3.4.1", - "@react-aria/menu": "^3.17.0", - "@react-aria/toast": "3.0.0-beta.19", - "@react-aria/toolbar": "3.0.0-beta.12", - "@react-aria/tree": "3.0.0-beta.3", - "@react-aria/utils": "^3.27.0", - "@react-aria/virtualizer": "^4.1.1", - "@react-stately/autocomplete": "3.0.0-alpha.0", - "@react-stately/color": "^3.8.2", - "@react-stately/disclosure": "^3.0.1", - "@react-stately/layout": "^4.1.1", - "@react-stately/menu": "^3.9.1", - "@react-stately/selection": "^3.19.0", - "@react-stately/table": "^3.13.1", - "@react-stately/toast": "3.0.0-beta.7", + "@react-aria/toolbar": "3.0.0-beta.13", + "@react-aria/utils": "^3.28.0", + "@react-aria/virtualizer": "^4.1.2", + "@react-stately/autocomplete": "3.0.0-beta.0", + "@react-stately/layout": "^4.2.0", + "@react-stately/selection": "^3.20.0", + "@react-stately/table": "^3.14.0", "@react-stately/utils": "^3.10.5", - "@react-stately/virtualizer": "^4.2.1", - "@react-types/color": "^3.0.2", - "@react-types/form": "^3.7.9", - "@react-types/grid": "^3.2.11", - "@react-types/shared": "^3.27.0", - "@react-types/table": "^3.10.4", + "@react-stately/virtualizer": "^4.3.0", + "@react-types/form": "^3.7.10", + "@react-types/grid": "^3.3.0", + "@react-types/shared": "^3.28.0", + "@react-types/table": "^3.11.0", "@swc/helpers": "^0.5.0", "client-only": "^0.0.1", - "react-aria": "^3.37.0", - "react-stately": "^3.35.0", + "react-aria": "^3.38.0", + "react-stately": "^3.36.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { diff --git a/packages/react-aria-components/src/Autocomplete.tsx b/packages/react-aria-components/src/Autocomplete.tsx index 01a1e518ad0..3c93482d136 100644 --- a/packages/react-aria-components/src/Autocomplete.tsx +++ b/packages/react-aria-components/src/Autocomplete.tsx @@ -22,7 +22,7 @@ import {TextFieldContext} from './TextField'; export interface AutocompleteProps extends AriaAutocompleteProps, SlotProps {} interface InternalAutocompleteContextValue { - filterFn?: (nodeTextValue: string) => boolean, + filter?: (nodeTextValue: string) => boolean, collectionProps: CollectionOptions, collectionRef: RefObject } @@ -34,7 +34,7 @@ export const AutocompleteStateContext = createContext( export const UNSTABLE_InternalAutocompleteContext = createContext(null); /** - * An autocomplete combines a text input with a menu, allowing users to filter a list of options to items matching a query. + * An autocomplete combines a TextField or SearchField with a Menu or ListBox, allowing users to search or filter a list of suggestions. */ export function Autocomplete(props: AutocompleteProps): ReactElement { let ctx = useSlottedContext(AutocompleteContext, props.slot); @@ -47,7 +47,7 @@ export function Autocomplete(props: AutocompleteProps): ReactElement { textFieldProps, collectionProps, collectionRef: mergedCollectionRef, - filterFn + filter: filterFn } = useAutocomplete({ ...removeDataAttributes(props), filter, @@ -64,7 +64,7 @@ export function Autocomplete(props: AutocompleteProps): ReactElement { [TextFieldContext, textFieldProps], [InputContext, {ref: inputRef}], [UNSTABLE_InternalAutocompleteContext, { - filterFn, + filter: filterFn, collectionProps, collectionRef: mergedCollectionRef }] diff --git a/packages/react-aria-components/src/ColorArea.tsx b/packages/react-aria-components/src/ColorArea.tsx index 0e5ecf52318..52b23c85621 100644 --- a/packages/react-aria-components/src/ColorArea.tsx +++ b/packages/react-aria-components/src/ColorArea.tsx @@ -1,11 +1,10 @@ -import {AriaColorAreaProps} from '@react-types/color'; +import {AriaColorAreaProps, useColorArea} from 'react-aria'; import {ColorAreaContext} from './RSPContexts'; -import {ColorAreaState, useColorAreaState} from '@react-stately/color'; +import {ColorAreaState, useColorAreaState} from 'react-stately'; import {filterDOMProps} from '@react-aria/utils'; import {InternalColorThumbContext} from './ColorThumb'; import {Provider, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils'; import React, {createContext, ForwardedRef, forwardRef, useRef} from 'react'; -import {useColorArea} from '@react-aria/color'; export interface ColorAreaRenderProps { /** diff --git a/packages/react-aria-components/src/ColorField.tsx b/packages/react-aria-components/src/ColorField.tsx index 9d304e35715..7ac9326601a 100644 --- a/packages/react-aria-components/src/ColorField.tsx +++ b/packages/react-aria-components/src/ColorField.tsx @@ -10,10 +10,9 @@ * governing permissions and limitations under the License. */ -import {AriaColorFieldProps, useColorChannelField, useColorField} from '@react-aria/color'; -import {ColorChannel, ColorSpace} from '@react-types/color'; +import {AriaColorFieldProps, useColorChannelField, useColorField, useLocale} from 'react-aria'; +import {ColorChannel, ColorFieldState, ColorSpace, useColorChannelFieldState, useColorFieldState} from 'react-stately'; import {ColorFieldContext} from './RSPContexts'; -import {ColorFieldState, useColorChannelFieldState, useColorFieldState} from '@react-stately/color'; import {FieldErrorContext} from './FieldError'; import {filterDOMProps} from '@react-aria/utils'; import {InputContext} from './Input'; @@ -22,7 +21,6 @@ import {LabelContext} from './Label'; import {Provider, RACValidation, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils'; import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, Ref, useRef} from 'react'; import {TextContext} from './Text'; -import {useLocale} from 'react-aria'; export interface ColorFieldRenderProps { /** diff --git a/packages/react-aria-components/src/ColorPicker.tsx b/packages/react-aria-components/src/ColorPicker.tsx index 2c85515d890..cdf1e68e31c 100644 --- a/packages/react-aria-components/src/ColorPicker.tsx +++ b/packages/react-aria-components/src/ColorPicker.tsx @@ -10,9 +10,8 @@ * governing permissions and limitations under the License. */ -import {Color} from '@react-types/color'; +import {Color, ColorPickerState, ColorPickerProps as StatelyColorPickerProps, useColorPickerState} from 'react-stately'; import {ColorAreaContext, ColorFieldContext, ColorSliderContext, ColorWheelContext} from './RSPContexts'; -import {ColorPickerState, ColorPickerProps as StatelyColorPickerProps, useColorPickerState} from '@react-stately/color'; import {ColorSwatchContext} from './ColorSwatch'; import {ColorSwatchPickerContext} from './ColorSwatchPicker'; import {mergeProps} from 'react-aria'; diff --git a/packages/react-aria-components/src/ColorSlider.tsx b/packages/react-aria-components/src/ColorSlider.tsx index 9cd774debf8..9b2924a5c64 100644 --- a/packages/react-aria-components/src/ColorSlider.tsx +++ b/packages/react-aria-components/src/ColorSlider.tsx @@ -1,14 +1,12 @@ -import {AriaColorSliderProps} from '@react-types/color'; +import {AriaColorSliderProps, Orientation, useColorSlider, useLocale} from 'react-aria'; import {ColorSliderContext} from './RSPContexts'; -import {ColorSliderState, useColorSliderState} from '@react-stately/color'; +import {ColorSliderState, useColorSliderState} from 'react-stately'; import {filterDOMProps} from '@react-aria/utils'; import {InternalColorThumbContext} from './ColorThumb'; import {LabelContext} from './Label'; -import {Orientation, useLocale} from 'react-aria'; import {Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils'; import React, {createContext, ForwardedRef, forwardRef} from 'react'; import {SliderOutputContext, SliderStateContext, SliderTrackContext} from './Slider'; -import {useColorSlider} from '@react-aria/color'; export interface ColorSliderRenderProps { /** diff --git a/packages/react-aria-components/src/ColorSwatch.tsx b/packages/react-aria-components/src/ColorSwatch.tsx index 76bd8f80543..a19eb138502 100644 --- a/packages/react-aria-components/src/ColorSwatch.tsx +++ b/packages/react-aria-components/src/ColorSwatch.tsx @@ -1,5 +1,5 @@ -import {AriaColorSwatchProps, useColorSwatch} from '@react-aria/color'; -import {Color} from '@react-types/color'; +import {AriaColorSwatchProps, useColorSwatch} from 'react-aria'; +import {Color} from 'react-stately'; import {ContextValue, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils'; import React, {createContext, ForwardedRef, forwardRef} from 'react'; diff --git a/packages/react-aria-components/src/ColorSwatchPicker.tsx b/packages/react-aria-components/src/ColorSwatchPicker.tsx index f421f84b2ea..3df54e518e6 100644 --- a/packages/react-aria-components/src/ColorSwatchPicker.tsx +++ b/packages/react-aria-components/src/ColorSwatchPicker.tsx @@ -1,5 +1,5 @@ import {AriaLabelingProps, HoverEvents, ValueBase} from '@react-types/shared'; -import {Color, parseColor, useColorPickerState} from '@react-stately/color'; +import {Color, parseColor, useColorPickerState} from 'react-stately'; import {ColorSwatchContext} from './ColorSwatch'; import {composeRenderProps, ContextValue, RenderProps, StyleRenderProps, useContextProps} from './utils'; import {filterDOMProps} from '@react-aria/utils'; diff --git a/packages/react-aria-components/src/ColorThumb.tsx b/packages/react-aria-components/src/ColorThumb.tsx index e5123808be2..b33b07b912b 100644 --- a/packages/react-aria-components/src/ColorThumb.tsx +++ b/packages/react-aria-components/src/ColorThumb.tsx @@ -1,11 +1,9 @@ -import {Color} from '@react-types/color'; +import {Color} from 'react-stately'; import {filterDOMProps} from '@react-aria/utils'; import {HoverEvents, RefObject} from '@react-types/shared'; -import {mergeProps} from 'react-aria'; +import {mergeProps, useFocusRing, useHover} from 'react-aria'; import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, InputHTMLAttributes, useContext} from 'react'; import {RenderProps, useRenderProps} from './utils'; -import {useFocusRing} from '@react-aria/focus'; -import {useHover} from '@react-aria/interactions'; interface ColorState { getDisplayColor(): Color, diff --git a/packages/react-aria-components/src/ColorWheel.tsx b/packages/react-aria-components/src/ColorWheel.tsx index 5dd3e862cd5..993125285f6 100644 --- a/packages/react-aria-components/src/ColorWheel.tsx +++ b/packages/react-aria-components/src/ColorWheel.tsx @@ -1,6 +1,6 @@ -import {AriaColorWheelOptions, useColorWheel} from '@react-aria/color'; +import {AriaColorWheelOptions, useColorWheel} from 'react-aria'; import {ColorWheelContext} from './RSPContexts'; -import {ColorWheelState, useColorWheelState} from '@react-stately/color'; +import {ColorWheelState, useColorWheelState} from 'react-stately'; import {ContextValue, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils'; import {DOMProps} from '@react-types/shared'; import {filterDOMProps} from '@react-aria/utils'; diff --git a/packages/react-aria-components/src/Dialog.tsx b/packages/react-aria-components/src/Dialog.tsx index 4f28f102014..77476e90269 100644 --- a/packages/react-aria-components/src/Dialog.tsx +++ b/packages/react-aria-components/src/Dialog.tsx @@ -61,7 +61,11 @@ export function DialogTrigger(props: DialogTriggerProps): ReactElement { [OverlayTriggerStateContext, state], [RootMenuTriggerStateContext, state], [DialogContext, overlayProps], - [PopoverContext, {trigger: 'DialogTrigger', triggerRef: buttonRef}] + [PopoverContext, { + trigger: 'DialogTrigger', + triggerRef: buttonRef, + 'aria-labelledby': overlayProps['aria-labelledby'] + }] ]}> {props.children} diff --git a/packages/react-aria-components/src/Disclosure.tsx b/packages/react-aria-components/src/Disclosure.tsx index 15bf3bc6453..392bf517d31 100644 --- a/packages/react-aria-components/src/Disclosure.tsx +++ b/packages/react-aria-components/src/Disclosure.tsx @@ -10,14 +10,13 @@ * governing permissions and limitations under the License. */ -import {AriaDisclosureProps, useDisclosure} from '@react-aria/disclosure'; +import {AriaDisclosureProps, useDisclosure, useFocusRing} from 'react-aria'; import {ButtonContext} from './Button'; import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils'; -import {DisclosureGroupState, DisclosureState, DisclosureGroupProps as StatelyDisclosureGroupProps, useDisclosureGroupState, useDisclosureState} from '@react-stately/disclosure'; +import {DisclosureGroupState, DisclosureState, DisclosureGroupProps as StatelyDisclosureGroupProps, useDisclosureGroupState, useDisclosureState} from 'react-stately'; import {DOMProps, forwardRefType, Key} from '@react-types/shared'; import {filterDOMProps, mergeProps, mergeRefs, useId} from '@react-aria/utils'; import React, {createContext, DOMAttributes, ForwardedRef, forwardRef, ReactNode, useContext} from 'react'; -import {useFocusRing} from 'react-aria'; export interface DisclosureGroupProps extends StatelyDisclosureGroupProps, RenderProps, DOMProps {} diff --git a/packages/react-aria-components/src/ListBox.tsx b/packages/react-aria-components/src/ListBox.tsx index b3b02a52c79..9ea4b059cf3 100644 --- a/packages/react-aria-components/src/ListBox.tsx +++ b/packages/react-aria-components/src/ListBox.tsx @@ -16,7 +16,7 @@ import {CollectionProps, CollectionRendererContext, ItemRenderProps, SectionCont import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, ScrollableProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils'; import {DragAndDropContext, DropIndicatorContext, DropIndicatorProps, useDndPersistedKeys, useRenderDropIndicator} from './DragAndDrop'; import {DragAndDropHooks} from './useDragAndDrop'; -import {DraggableCollectionState, DroppableCollectionState, ListState, Node, Orientation, SelectionBehavior, useFilteredListState, useListState} from 'react-stately'; +import {DraggableCollectionState, DroppableCollectionState, ListState, Node, Orientation, SelectionBehavior, UNSTABLE_useFilteredListState, useListState} from 'react-stately'; import {filterDOMProps, mergeRefs, useObjectRef} from '@react-aria/utils'; import {forwardRefType, HoverEvents, Key, LinkDOMProps, RefObject} from '@react-types/shared'; import {HeaderContext} from './Header'; @@ -118,12 +118,12 @@ interface ListBoxInnerProps { } function ListBoxInner({state: inputState, props, listBoxRef}: ListBoxInnerProps) { - let {filterFn, collectionProps, collectionRef} = useContext(UNSTABLE_InternalAutocompleteContext) || {}; + let {filter, collectionProps, collectionRef} = useContext(UNSTABLE_InternalAutocompleteContext) || {}; props = useMemo(() => collectionProps ? ({...props, ...collectionProps}) : props, [props, collectionProps]); let {dragAndDropHooks, layout = 'stack', orientation = 'vertical'} = props; // Memoed so that useAutocomplete callback ref is properly only called once on mount and not everytime a rerender happens listBoxRef = useObjectRef(useMemo(() => mergeRefs(listBoxRef, collectionRef !== undefined ? collectionRef as RefObject : null), [collectionRef, listBoxRef])); - let state = useFilteredListState(inputState, filterFn); + let state = UNSTABLE_useFilteredListState(inputState, filter); let {collection, selectionManager} = state; let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState; let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState; diff --git a/packages/react-aria-components/src/Menu.tsx b/packages/react-aria-components/src/Menu.tsx index d62cd4a153f..7796f6a61b7 100644 --- a/packages/react-aria-components/src/Menu.tsx +++ b/packages/react-aria-components/src/Menu.tsx @@ -10,19 +10,19 @@ * governing permissions and limitations under the License. */ -import {AriaMenuProps, FocusScope, mergeProps, useMenu, useMenuItem, useMenuSection, useMenuTrigger} from 'react-aria'; +import {AriaMenuProps, FocusScope, mergeProps, useHover, useMenu, useMenuItem, useMenuSection, useMenuTrigger, useSubmenuTrigger} from 'react-aria'; import {BaseCollection, Collection, CollectionBuilder, createBranchComponent, createLeafComponent} from '@react-aria/collections'; -import {MenuTriggerProps as BaseMenuTriggerProps, Collection as ICollection, Node, TreeState, useMenuTriggerState, useTreeState} from 'react-stately'; +import {MenuTriggerProps as BaseMenuTriggerProps, Collection as ICollection, Node, RootMenuTriggerState, TreeState, useMenuTriggerState, useSubmenuTriggerState, useTreeState} from 'react-stately'; import {CollectionProps, CollectionRendererContext, ItemRenderProps, SectionContext, SectionProps, usePersistedKeys} from './Collection'; -import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, ScrollableProps, SlotProps, StyleProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils'; -import {DialogContext, OverlayTriggerStateContext} from './Dialog'; +import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, ScrollableProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils'; import {filterDOMProps, mergeRefs, useObjectRef, useResizeObserver} from '@react-aria/utils'; import {FocusStrategy, forwardRefType, HoverEvents, Key, LinkDOMProps, MultipleSelection} from '@react-types/shared'; import {HeaderContext} from './Header'; import {KeyboardContext} from './Keyboard'; import {MultipleSelectionState, SelectionManager, useMultipleSelectionState} from '@react-stately/selection'; +import {OverlayTriggerStateContext} from './Dialog'; import {PopoverContext} from './Popover'; -import {PressResponder, useHover} from '@react-aria/interactions'; +import {PressResponder} from '@react-aria/interactions'; import React, { createContext, ForwardedRef, @@ -36,11 +36,9 @@ import React, { useRef, useState } from 'react'; -import {RootMenuTriggerState, useSubmenuTriggerState} from '@react-stately/menu'; import {SeparatorContext} from './Separator'; import {TextContext} from './Text'; import {UNSTABLE_InternalAutocompleteContext} from './Autocomplete'; -import {useSubmenuTrigger} from '@react-aria/menu'; export const MenuContext = createContext, HTMLDivElement>>(null); export const MenuStateContext = createContext | null>(null); @@ -83,7 +81,8 @@ export function MenuTrigger(props: MenuTriggerProps): ReactElement { triggerRef: ref, scrollRef, placement: 'bottom start', - style: {'--trigger-width': buttonWidth} as React.CSSProperties + style: {'--trigger-width': buttonWidth} as React.CSSProperties, + 'aria-labelledby': menuProps['aria-labelledby'] }] ]}> @@ -138,6 +137,7 @@ export const SubmenuTrigger = /*#__PURE__*/ createBranchComponent('submenutrigg trigger: 'SubmenuTrigger', triggerRef: itemRef, placement: 'end top', + 'aria-labelledby': submenuProps['aria-labelledby'], ...popoverProps }] ]}> @@ -147,63 +147,18 @@ export const SubmenuTrigger = /*#__PURE__*/ createBranchComponent('submenutrigg ); }, props => props.children[0]); -// TODO: make SubdialogTrigger unstable -export interface SubDialogTriggerProps { +export interface MenuRenderProps { /** - * The contents of the SubDialogTrigger. The first child should be an Item (the trigger) and the second child should be the Popover (for the subdialog). + * Whether the menu has no items and should display its empty state. + * @selector [data-empty] */ - children: ReactElement[], - /** - * The delay time in milliseconds for the subdialog to appear after hovering over the trigger. - * @default 200 - */ - delay?: number + isEmpty: boolean } -/** - * A subdialog trigger is used to wrap a subdialog's trigger item and the subdialog itself. - * - * @version alpha - */ -export const SubDialogTrigger = /*#__PURE__*/ createBranchComponent('subdialogtrigger', (props: SubDialogTriggerProps, ref: ForwardedRef, item) => { - let {CollectionBranch} = useContext(CollectionRendererContext); - let state = useContext(MenuStateContext)!; - let rootMenuTriggerState = useContext(RootMenuTriggerStateContext)!; - let submenuTriggerState = useSubmenuTriggerState({triggerKey: item.key}, rootMenuTriggerState); - let subdialogRef = useRef(null); - let itemRef = useObjectRef(ref); - let {parentMenuRef, shouldUseVirtualFocus} = useContext(SubmenuTriggerContext)!; - let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger({ - parentMenuRef, - submenuRef: subdialogRef, - type: 'dialog', - delay: props.delay, - shouldUseVirtualFocus - // TODO: might need to have something like isUnavailable like we do for ContextualHelpTrigger - }, submenuTriggerState, itemRef); - - return ( - - - {props.children[1]} - - ); -}, props => props.children[0]); - -export interface MenuProps extends Omit, 'children'>, CollectionProps, StyleProps, SlotProps, ScrollableProps {} +export interface MenuProps extends Omit, 'children'>, CollectionProps, StyleRenderProps, SlotProps, ScrollableProps { + /** Provides content to display when there are no items in the list. */ + renderEmptyState?: () => ReactNode +} /** * A menu displays a list of actions or options that a user can choose. @@ -214,7 +169,7 @@ export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu}> - {collection => collection.size > 0 && } + {collection => } ); }); @@ -226,10 +181,10 @@ interface MenuInnerProps { } function MenuInner({props, collection, menuRef: ref}: MenuInnerProps) { - let {filterFn, collectionProps: autocompleteMenuProps, collectionRef} = useContext(UNSTABLE_InternalAutocompleteContext) || {}; + let {filter, collectionProps: autocompleteMenuProps, collectionRef} = useContext(UNSTABLE_InternalAutocompleteContext) || {}; // Memoed so that useAutocomplete callback ref is properly only called once on mount and not everytime a rerender happens ref = useObjectRef(useMemo(() => mergeRefs(ref, collectionRef !== undefined ? collectionRef as RefObject : null), [collectionRef, ref])); - let filteredCollection = useMemo(() => filterFn ? collection.filter(filterFn) : collection, [collection, filterFn]); + let filteredCollection = useMemo(() => filter ? collection.UNSTABLE_filter(filter) : collection, [collection, filter]); let state = useTreeState({ ...props, collection: filteredCollection as ICollection>, @@ -242,9 +197,22 @@ function MenuInner({props, collection, menuRef: ref}: MenuInne defaultClassName: 'react-aria-Menu', className: props.className, style: props.style, - values: {} + values: { + isEmpty: state.collection.size === 0 + } }); + let emptyState: ReactElement | null = null; + if (state.collection.size === 0 && props.renderEmptyState) { + emptyState = ( +
+ {props.renderEmptyState()} +
+ ); + } + return (
({props, collection, menuRef: ref}: MenuInne {...renderProps} ref={ref} slot={props.slot || undefined} + data-empty={state.collection.size === 0 || undefined} onScroll={props.onScroll}> ({props, collection, menuRef: ref}: MenuInne persistedKeys={usePersistedKeys(state.selectionManager.focusedKey)} scrollRef={ref} /> + {emptyState}
); diff --git a/packages/react-aria-components/src/NumberField.tsx b/packages/react-aria-components/src/NumberField.tsx index c85aa252758..375b9ff7ab0 100644 --- a/packages/react-aria-components/src/NumberField.tsx +++ b/packages/react-aria-components/src/NumberField.tsx @@ -35,6 +35,11 @@ export interface NumberFieldRenderProps { * @selector [data-invalid] */ isInvalid: boolean, + /** + * Whether the number field is required. + * @selector [data-required] + */ + isRequired: boolean, /** * State of the number field. */ @@ -84,7 +89,8 @@ export const NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(function values: { state, isDisabled: props.isDisabled || false, - isInvalid: validation.isInvalid || false + isInvalid: validation.isInvalid || false, + isRequired: props.isRequired || false }, defaultClassName: 'react-aria-NumberField' }); @@ -119,6 +125,7 @@ export const NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(function ref={ref} slot={props.slot || undefined} data-disabled={props.isDisabled || undefined} + data-required={props.isRequired || undefined} data-invalid={validation.isInvalid || undefined} /> {props.name && } diff --git a/packages/react-aria-components/src/Popover.tsx b/packages/react-aria-components/src/Popover.tsx index d4f39bba74a..d5f10fdf8b4 100644 --- a/packages/react-aria-components/src/Popover.tsx +++ b/packages/react-aria-components/src/Popover.tsx @@ -10,17 +10,18 @@ * governing permissions and limitations under the License. */ +import {AriaLabelingProps, forwardRefType, RefObject} from '@react-types/shared'; import {AriaPopoverProps, DismissButton, Overlay, PlacementAxis, PositionProps, useLocale, usePopover} from 'react-aria'; import {ContextValue, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils'; import {filterDOMProps, mergeProps, useEnterAnimation, useExitAnimation, useLayoutEffect} from '@react-aria/utils'; -import {forwardRefType, RefObject} from '@react-types/shared'; +import {focusSafely} from '@react-aria/interactions'; import {OverlayArrowContext} from './OverlayArrow'; import {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately'; import {OverlayTriggerStateContext} from './Dialog'; -import React, {createContext, ForwardedRef, forwardRef, useContext, useRef, useState} from 'react'; +import React, {createContext, ForwardedRef, forwardRef, useContext, useEffect, useRef, useState} from 'react'; import {useIsHidden} from '@react-aria/collections'; -export interface PopoverProps extends Omit, Omit, OverlayTriggerProps, RenderProps, SlotProps { +export interface PopoverProps extends Omit, Omit, OverlayTriggerProps, RenderProps, SlotProps, AriaLabelingProps { /** * The name of the component that triggered the popover. This is reflected on the element * as the `data-trigger` attribute, and can be used to provide specific @@ -142,7 +143,7 @@ function PopoverInner({state, isExiting, UNSTABLE_portalContainer, ...props}: Po let [arrowWidth, setArrowWidth] = useState(0); let containerRef = useRef(null); let groupCtx = useContext(PopoverGroupContext); - let isSubPopover = groupCtx && (props.trigger === 'SubmenuTrigger' || props.trigger === 'SubDialogTrigger'); + let isSubPopover = groupCtx && props.trigger === 'SubmenuTrigger'; useLayoutEffect(() => { if (arrowRef.current && state.isOpen) { setArrowWidth(arrowRef.current.getBoundingClientRect().width); @@ -171,11 +172,32 @@ function PopoverInner({state, isExiting, UNSTABLE_portalContainer, ...props}: Po } }); + // Automatically render Popover with role=dialog except when isNonModal is true, + // or a dialog is already nested inside the popover. + let shouldBeDialog = !props.isNonModal || props.trigger === 'SubmenuTrigger'; + let [isDialog, setDialog] = useState(false); + useLayoutEffect(() => { + if (ref.current) { + setDialog(shouldBeDialog && !ref.current.querySelector('[role=dialog]')); + } + }, [ref, shouldBeDialog]); + + // Focus the popover itself on mount, unless a child element is already focused. + useEffect(() => { + if (isDialog && ref.current && !ref.current.contains(document.activeElement)) { + focusSafely(ref.current); + } + }, [isDialog, ref]); + let style = {...popoverProps.style, ...renderProps.style}; let overlay = (
+ {!props.isNonModal && state.isOpen &&
}
@@ -208,7 +230,7 @@ function PopoverInner({state, isExiting, UNSTABLE_portalContainer, ...props}: Po // Submenus/subdialogs are mounted into the root popover's container. return ( - + {overlay} ); diff --git a/packages/react-aria-components/src/Select.tsx b/packages/react-aria-components/src/Select.tsx index befbe1af75a..35613d14b5e 100644 --- a/packages/react-aria-components/src/Select.tsx +++ b/packages/react-aria-components/src/Select.tsx @@ -179,7 +179,8 @@ function SelectInner({props, selectRef: ref, collection}: Sele triggerRef: buttonRef, scrollRef, placement: 'bottom start', - style: {'--trigger-width': buttonWidth} as React.CSSProperties + style: {'--trigger-width': buttonWidth} as React.CSSProperties, + 'aria-labelledby': menuProps['aria-labelledby'] }], [ListBoxContext, {...menuProps, ref: scrollRef}], [ListStateContext, state], diff --git a/packages/react-aria-components/src/Table.tsx b/packages/react-aria-components/src/Table.tsx index fc93cb493e8..815d287adf8 100644 --- a/packages/react-aria-components/src/Table.tsx +++ b/packages/react-aria-components/src/Table.tsx @@ -988,12 +988,12 @@ export const TableBody = /*#__PURE__*/ createBranchComponent('tablebody', extends StyleRenderProps, LinkDOMProps, HoverEvents { - /** The unique id of the row. */ - id?: Key, /** A list of columns used when dynamically rendering cells. */ columns?: Iterable, /** The cells within the row. Supports static items or a function for dynamic rendering. */ @@ -1010,7 +1010,9 @@ export interface RowProps extends StyleRenderProps, LinkDOMPr * Handler that is called when a user performs an action on the row. The exact user event depends on * the collection's `selectionBehavior` prop and the interaction modality. */ - onAction?: () => void + onAction?: () => void, + /** The unique id of the row. */ + id?: Key } /** @@ -1087,7 +1089,8 @@ export const Row = /*#__PURE__*/ createBranchComponent( selectionBehavior: state.selectionManager.selectionBehavior, isDragging, isDropTarget: dropIndicator?.isDropTarget, - isFocusVisibleWithin + isFocusVisibleWithin, + id: item.key } }); @@ -1178,12 +1181,14 @@ export interface CellRenderProps { * Whether the cell is currently hovered with a mouse. * @selector [data-hovered] */ - isHovered: boolean + isHovered: boolean, + /** + * The unique id of the cell. + **/ + id?: Key } export interface CellProps extends RenderProps { - /** The unique id of the cell. */ - id?: Key, /** A string representation of the cell's contents, used for features like typeahead. */ textValue?: string, /** Indicates how many columns the data cell spans. */ @@ -1217,7 +1222,8 @@ export const Cell = /*#__PURE__*/ createLeafComponent('cell', (props: CellProps, isFocused, isFocusVisible, isPressed, - isHovered + isHovered, + id: cell.key } }); diff --git a/packages/react-aria-components/src/Toast.tsx b/packages/react-aria-components/src/Toast.tsx index 6f41c63bd29..527de1cb623 100644 --- a/packages/react-aria-components/src/Toast.tsx +++ b/packages/react-aria-components/src/Toast.tsx @@ -10,13 +10,12 @@ * governing permissions and limitations under the License. */ -import {AriaToastProps, AriaToastRegionProps, useToast, useToastRegion} from '@react-aria/toast'; +import {AriaToastProps, AriaToastRegionProps, mergeProps, useFocusRing, useToast, useToastRegion} from 'react-aria'; import {ButtonContext} from './Button'; import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, StyleRenderProps, useContextProps, useRenderProps} from './utils'; import {createPortal} from 'react-dom'; import {forwardRefType} from '@react-types/shared'; -import {mergeProps, useFocusRing} from 'react-aria'; -import {QueuedToast, ToastQueue, ToastState, useToastQueue} from '@react-stately/toast'; +import {QueuedToast, ToastQueue, ToastState, useToastQueue} from 'react-stately'; import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, JSX, ReactElement, useContext} from 'react'; import {TextContext} from './Text'; import {useObjectRef} from '@react-aria/utils'; diff --git a/packages/react-aria-components/src/Tree.tsx b/packages/react-aria-components/src/Tree.tsx index 6835f1f3061..9e5b577cc45 100644 --- a/packages/react-aria-components/src/Tree.tsx +++ b/packages/react-aria-components/src/Tree.tsx @@ -19,7 +19,7 @@ import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, ScrollableProps, Slot import {DisabledBehavior, Expandable, forwardRefType, HoverEvents, Key, LinkDOMProps, MultipleSelection, RefObject} from '@react-types/shared'; import {filterDOMProps, useObjectRef} from '@react-aria/utils'; import {Collection as ICollection, Node, SelectionBehavior, TreeState, useTreeState} from 'react-stately'; -import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, useContext, useEffect, useMemo, useRef} from 'react'; +import React, {createContext, ForwardedRef, forwardRef, ReactNode, useContext, useEffect, useMemo, useRef} from 'react'; import {useControlledState} from '@react-stately/utils'; class TreeCollection implements ICollection> { @@ -210,7 +210,6 @@ function TreeInner({props, collection, treeRef: ref}: TreeInne }); let emptyState: ReactNode = null; - let emptyStatePropOverrides: HTMLAttributes | null = null; if (state.collection.size === 0 && props.renderEmptyState) { // eslint-disable-next-line @typescript-eslint/no-unused-vars let {isEmpty, ...values} = renderValues; @@ -235,7 +234,7 @@ function TreeInner({props, collection, treeRef: ref}: TreeInne
, StyleRenderProps {} +export interface TreeLoaderProps extends RenderProps, StyleRenderProps {} -export const TreeLoadingIndicator = createLeafComponent('loader', function TreeLoader(props: TreeLoaderProps, ref: ForwardedRef, item: Node) { +export const UNSTABLE_TreeLoadingIndicator = createLeafComponent('loader', function TreeLoader(props: TreeLoaderProps, ref: ForwardedRef, item: Node) { let state = useContext(TreeStateContext); // This loader row is is non-interactable, but we want the same aria props calculated as a typical row // @ts-ignore diff --git a/packages/react-aria-components/src/index.ts b/packages/react-aria-components/src/index.ts index 8dff4f8ceed..9dd980b876f 100644 --- a/packages/react-aria-components/src/index.ts +++ b/packages/react-aria-components/src/index.ts @@ -50,7 +50,7 @@ export {Keyboard, KeyboardContext} from './Keyboard'; export {Label, LabelContext} from './Label'; export {Link, LinkContext} from './Link'; export {ListBox, ListBoxItem, ListBoxSection, ListBoxContext, ListStateContext} from './ListBox'; -export {Menu, MenuItem, MenuTrigger, MenuSection, MenuContext, MenuStateContext, RootMenuTriggerStateContext, SubmenuTrigger, SubDialogTrigger as UNSTABLE_SubDialogTrigger} from './Menu'; +export {Menu, MenuItem, MenuTrigger, MenuSection, MenuContext, MenuStateContext, RootMenuTriggerStateContext, SubmenuTrigger} from './Menu'; export {Meter, MeterContext} from './Meter'; export {Modal, ModalOverlay, ModalContext} from './Modal'; export {NumberField, NumberFieldContext, NumberFieldStateContext} from './NumberField'; @@ -75,15 +75,12 @@ export {ToggleButton, ToggleButtonContext} from './ToggleButton'; export {ToggleButtonGroup, ToggleButtonGroupContext, ToggleGroupStateContext} from './ToggleButtonGroup'; export {Toolbar, ToolbarContext} from './Toolbar'; export {TooltipTrigger, Tooltip, TooltipTriggerStateContext, TooltipContext} from './Tooltip'; -export {TreeLoadingIndicator, Tree, TreeItem, TreeContext, TreeItemContent, TreeStateContext} from './Tree'; +export {UNSTABLE_TreeLoadingIndicator, Tree, TreeItem, TreeContext, TreeItemContent, TreeStateContext} from './Tree'; export {useDragAndDrop} from './useDragAndDrop'; export {DropIndicator, DropIndicatorContext, DragAndDropContext} from './DragAndDrop'; export {Virtualizer} from './Virtualizer'; export {DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider, RouterProvider, I18nProvider, useLocale, useFilter, Pressable, Focusable} from 'react-aria'; -export {FormValidationContext} from 'react-stately'; -export {parseColor, getColorChannels} from '@react-stately/color'; -export {ListLayout as UNSTABLE_ListLayout, GridLayout as UNSTABLE_GridLayout} from '@react-stately/layout'; -export {ToastQueue as UNSTABLE_ToastQueue} from '@react-stately/toast'; +export {FormValidationContext, parseColor, getColorChannels, ToastQueue as UNSTABLE_ToastQueue} from 'react-stately'; export {ListLayout, GridLayout, WaterfallLayout} from '@react-stately/layout'; export {Layout, LayoutInfo, Size, Rect, Point} from '@react-stately/virtualizer'; @@ -137,7 +134,6 @@ export type {TextAreaProps} from './TextArea'; export type {TextFieldProps, TextFieldRenderProps} from './TextField'; export type {TextProps} from './Text'; export type {ToastRegionProps, ToastRegionRenderProps, ToastProps, ToastRenderProps} from './Toast'; -export type {ToastOptions} from '@react-stately/toast'; export type {ToggleButtonProps, ToggleButtonRenderProps} from './ToggleButton'; export type {ToggleButtonGroupProps, ToggleButtonGroupRenderProps} from './ToggleButtonGroup'; export type {ToolbarProps, ToolbarRenderProps} from './Toolbar'; @@ -150,7 +146,6 @@ export type {VirtualizerProps} from './Virtualizer'; export type {DateValue, DateRange, TimeValue} from 'react-aria'; export type {DirectoryDropItem, DraggableCollectionEndEvent, DraggableCollectionMoveEvent, DraggableCollectionStartEvent, DragPreviewRenderer, DragTypes, DropItem, DropOperation, DroppableCollectionDropEvent, DroppableCollectionEnterEvent, DroppableCollectionExitEvent, DroppableCollectionInsertDropEvent, DroppableCollectionMoveEvent, DroppableCollectionOnItemDropEvent, DroppableCollectionReorderEvent, DroppableCollectionRootDropEvent, DropPosition, DropTarget, FileDropItem, ItemDropTarget, RootDropTarget, TextDropItem, PressEvent} from 'react-aria'; -export type {Key, Selection, SortDescriptor, SortDirection, SelectionMode} from 'react-stately'; +export type {Color, ColorSpace, ColorFormat, Key, Selection, SortDescriptor, SortDirection, SelectionMode, ToastOptions} from 'react-stately'; export type {ValidationResult, RouterConfig} from '@react-types/shared'; -export type {Color, ColorSpace, ColorFormat} from '@react-types/color'; export type {ListLayoutOptions, GridLayoutOptions, WaterfallLayoutOptions} from '@react-stately/layout'; diff --git a/packages/react-aria-components/stories/Autocomplete.stories.tsx b/packages/react-aria-components/stories/Autocomplete.stories.tsx index d6aa9612b27..7489a98db93 100644 --- a/packages/react-aria-components/stories/Autocomplete.stories.tsx +++ b/packages/react-aria-components/stories/Autocomplete.stories.tsx @@ -11,7 +11,7 @@ */ import {action} from '@storybook/addon-actions'; -import {Autocomplete, Button, Collection, Dialog, DialogTrigger, Header, Input, Keyboard, Label, ListBox, ListBoxSection, ListLayout, Menu, MenuItem, MenuSection, MenuTrigger, Popover, SearchField, Select, SelectValue, Separator, UNSTABLE_SubDialogTrigger as SubDialogTrigger, SubmenuTrigger, Text, TextField, Virtualizer} from 'react-aria-components'; +import {Autocomplete, Button, Collection, DialogTrigger, Header, Input, Keyboard, Label, ListBox, ListBoxSection, ListLayout, Menu, MenuItem, MenuSection, MenuTrigger, Popover, SearchField, Select, SelectValue, Separator, SubmenuTrigger, Text, TextField, Virtualizer} from 'react-aria-components'; import {MyListBoxItem, MyMenuItem} from './utils'; import React from 'react'; import styles from '../example/index.css'; @@ -50,7 +50,7 @@ let StaticMenu = (props) => { Bar Baz Google - + With subdialog { border: '1px solid gray', padding: 5 }}> - - - - - - Please select an option below. - - - Subdialog Foo - Subdialog Bar - Subdialog Baz - - - + + + + + Please select an option below. + + + Subdialog Foo + Subdialog Bar + Subdialog Baz + + - + Option Option with a space @@ -230,7 +228,7 @@ let dynamicRenderTrigger = (item: ItemNode) => { ); } else { return ( - + {item.name} @@ -241,20 +239,18 @@ let dynamicRenderTrigger = (item: ItemNode) => { border: '1px solid gray', padding: 5 }}> - - - - - - Please select an option below. - - - {(item) => dynamicRenderFuncSections(item)} - - - + + + + + Please select an option below. + + + {(item) => dynamicRenderFuncSections(item)} + + - + ); } }; @@ -602,18 +598,16 @@ export const AutocompleteInPopover = { padding: 20, height: 250 }}> - - -
- - - - Please select an option below. - - -
-
-
+ +
+ + + + Please select an option below. + + +
+
); @@ -649,20 +643,18 @@ export const AutocompleteInPopoverDialogTrigger = { padding: 20, height: 250 }}> - - {() => ( - -
- - - - Please select an option below. - - -
-
- )} -
+ {() => ( + +
+ + + + Please select an option below. + + +
+
+ )} ); @@ -686,33 +678,31 @@ const MyMenu = () => { let {contains} = useFilter({sensitivity: 'base'}); return ( - + - - - - - - - - - console.log('open')}>Open - console.log('rename')}> - Rename… - - console.log('duplicate')}> - Duplicate - - console.log('share')}>Share… - console.log('delete')}> - Delete… - - - - + + + + + + + + console.log('open')}>Open + console.log('rename')}> + Rename… + + console.log('duplicate')}> + Duplicate + + console.log('share')}>Share… + console.log('delete')}> + Delete… + + + - + ); }; @@ -720,33 +710,31 @@ const MyMenu2 = () => { let {contains} = useFilter({sensitivity: 'base'}); return ( - + - - - - - - - console.log('open')}>Open - console.log('rename')}> - Rename… - - console.log('duplicate')}> - Duplicate - - console.log('share')}>Share… - console.log('delete')}> - Delete… - - - - - - + + + + + + console.log('open')}>Open + console.log('rename')}> + Rename… + + console.log('duplicate')}> + Duplicate + + console.log('share')}>Share… + console.log('delete')}> + Delete… + + + + + - + ); }; @@ -780,22 +768,18 @@ export const AutocompleteMenuInPopoverDialogTrigger = { padding: 20, height: 250 }}> - - {() => ( - -
- - - - Please select an option below. - - - {item => dynamicRenderFuncSections(item)} - -
-
- )} -
+ +
+ + + + Please select an option below. + + + {item => dynamicRenderFuncSections(item)} + +
+
); @@ -820,16 +804,14 @@ export const AutocompleteSelect = () => ( - - - - - - - {item => {item.name}} - - - + + + + + + {item => {item.name}} + + ); diff --git a/packages/react-aria-components/stories/ColorArea.stories.tsx b/packages/react-aria-components/stories/ColorArea.stories.tsx index e154b5e32a9..905754099d1 100644 --- a/packages/react-aria-components/stories/ColorArea.stories.tsx +++ b/packages/react-aria-components/stories/ColorArea.stories.tsx @@ -12,7 +12,7 @@ import {ColorArea, ColorThumb} from '../src'; import {ColorSliderExample} from './ColorSlider.stories'; -import {parseColor} from '@react-stately/color'; +import {parseColor} from 'react-stately'; import React, {useState} from 'react'; export default { diff --git a/packages/react-aria-components/stories/ColorPicker.stories.tsx b/packages/react-aria-components/stories/ColorPicker.stories.tsx index ba747b73dd4..dba4bcd7767 100644 --- a/packages/react-aria-components/stories/ColorPicker.stories.tsx +++ b/packages/react-aria-components/stories/ColorPicker.stories.tsx @@ -10,14 +10,12 @@ * governing permissions and limitations under the License. */ -import {Button, ColorSwatchPicker, ColorSwatchPickerItem, Dialog, DialogTrigger, Input, Label, Popover} from '../src'; +import {Button, ColorSpace, ColorSwatchPicker, ColorSwatchPickerItem, Dialog, DialogTrigger, getColorChannels, Input, Label, Popover} from '../src'; import {ColorAreaExample} from './ColorArea.stories'; import {ColorField} from '../src/ColorField'; import {ColorPicker} from '../src/ColorPicker'; import {ColorSliderExample} from './ColorSlider.stories'; -import {ColorSpace} from '@react-types/color'; import {ColorSwatchExample} from './ColorSwatch.stories'; -import {getColorChannels} from '@react-stately/color'; import React, {useState} from 'react'; export default { diff --git a/packages/react-aria-components/stories/Menu.stories.tsx b/packages/react-aria-components/stories/Menu.stories.tsx index 3614f05596c..c16209a35c7 100644 --- a/packages/react-aria-components/stories/Menu.stories.tsx +++ b/packages/react-aria-components/stories/Menu.stories.tsx @@ -11,11 +11,10 @@ */ import {action} from '@storybook/addon-actions'; -import {Button, Dialog, Header, Heading, Input, Keyboard, Label, Menu, MenuSection, MenuTrigger, Popover, Separator, SubmenuTrigger, Text, TextField} from 'react-aria-components'; +import {Button, Header, Heading, Input, Keyboard, Label, Menu, MenuSection, MenuTrigger, Popover, Separator, SubmenuTrigger, Text, TextField} from 'react-aria-components'; import {MyMenuItem} from './utils'; import React from 'react'; import styles from '../example/index.css'; -import {SubDialogTrigger} from '../src/Menu'; export default { title: 'React Aria Components' @@ -287,7 +286,7 @@ export const SubdialogExample = (args) => ( Foo - + Bar ( border: '1px solid gray', padding: 5 }}> - - {({close}) => ( -
- Sign up - - - - - - - - - - - SubMenu - - - 1 - 2 - 3 - - - - - SubDialog - - - {({close}) => ( - - Contact - - - - - - - - - - - )} - - - - C -
- - - )} -
+
+ Sign up + + + + + + + + + + + SubMenu + + + 1 + 2 + 3 + + + + + SubDialog + + + Contact + + + + + + + + + + + + + C +
+ +
-
+ Baz Google
diff --git a/packages/react-aria-components/stories/Tree.stories.tsx b/packages/react-aria-components/stories/Tree.stories.tsx index cf87eee09af..4bf2c53a1b0 100644 --- a/packages/react-aria-components/stories/Tree.stories.tsx +++ b/packages/react-aria-components/stories/Tree.stories.tsx @@ -16,7 +16,7 @@ import {classNames} from '@react-spectrum/utils'; import {MyMenuItem} from './utils'; import React, {ReactNode} from 'react'; import styles from '../example/index.css'; -import {TreeLoadingIndicator} from '../src/Tree'; +import {UNSTABLE_TreeLoadingIndicator} from '../src/Tree'; export default { title: 'React Aria Components' @@ -65,7 +65,15 @@ const StaticTreeItem = (props: StaticTreeItemProps) => {
- {hasChildItems && } + {hasChildItems && ( + + )} {props.title || props.children} @@ -194,7 +202,7 @@ let rows = [ const MyTreeLoader = () => { return ( - + {({level}) => { let message = `Level ${level} loading spinner`; if (level === 1) { @@ -206,7 +214,7 @@ const MyTreeLoader = () => { ); }} - + ); }; @@ -236,7 +244,15 @@ const DynamicTreeItem = (props: DynamicTreeItemProps) => { )}
- {hasChildItems && } + {hasChildItems && ( + + )} {props.children} diff --git a/packages/react-aria-components/test/AriaAutocomplete.test-util.tsx b/packages/react-aria-components/test/AriaAutocomplete.test-util.tsx index ebe042293e4..69059c594bc 100644 --- a/packages/react-aria-components/test/AriaAutocomplete.test-util.tsx +++ b/packages/react-aria-components/test/AriaAutocomplete.test-util.tsx @@ -100,6 +100,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' expect(input).toHaveAttribute('aria-autocomplete', 'list'); expect(input).toHaveAttribute('autoCorrect', 'off'); expect(input).toHaveAttribute('spellCheck', 'false'); + expect(input).toHaveAttribute('enterkeyhint', 'go'); let menu = getByRole(collectionNodeRole); expect(menu).toHaveAttribute('id', input.getAttribute('aria-controls')!); @@ -877,7 +878,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' let {getByRole, getAllByRole} = (renderers.subdialogs!)(); let menu = getByRole('menu'); let options = within(menu).getAllByRole('menuitem'); - expect(options[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(options[1]).toHaveAttribute('aria-haspopup', 'menu'); await user.click(options[1]); act(() => {jest.runAllTimers();}); @@ -897,7 +898,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' let {getByRole, getAllByRole} = (renderers.subdialogs!)(); let menu = getByRole('menu'); let options = within(menu).getAllByRole('menuitem'); - expect(options[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(options[1]).toHaveAttribute('aria-haspopup', 'menu'); await user.click(options[1]); act(() => { jest.runAllTimers(); @@ -927,7 +928,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' let input = getByRole('searchbox'); let menu = getByRole('menu'); let options = within(menu).getAllByRole('menuitem'); - expect(options[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(options[1]).toHaveAttribute('aria-haspopup', 'menu'); await user.tab(); expect(document.activeElement).toBe(input); await user.keyboard('{ArrowDown}'); @@ -970,7 +971,6 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' // Open the nested submenu await user.keyboard('{ArrowDown}'); - await user.keyboard('{ArrowDown}'); await user.keyboard('{ArrowRight}'); act(() => jest.runAllTimers()); dialogs = getAllByRole('dialog'); @@ -985,7 +985,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' expect(dialogs).toHaveLength(1); expect(document.activeElement).toBe(subDialogInput); let subDialogMenuItems = within(dialogs[0]).getAllByRole('menuitem'); - expect(subDialogMenuItems[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(subDialogMenuItems[1]).toHaveAttribute('aria-haspopup', 'menu'); expect(subDialogInput).toHaveAttribute('aria-activedescendant', subDialogMenuItems[1].id); await user.keyboard('{Escape}'); @@ -1005,7 +1005,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' fireEvent.click(input, {pointerType: 'mouse', width: 1, height: 1, detail: 0}); expect(document.activeElement).toBe(input); let options = within(menu).getAllByRole('menuitem'); - expect(options[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(options[1]).toHaveAttribute('aria-haspopup', 'menu'); act(() => options[1].focus()); fireEvent.click(options[1], {pointerType: 'mouse', width: 1, height: 1, detail: 0}); @@ -1042,7 +1042,7 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' await user.keyboard('{ArrowDown}'); let options = within(menus[0]).getAllByRole('menuitem'); expect(input).toHaveAttribute('aria-activedescendant', options[1].id); - expect(options[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(options[1]).toHaveAttribute('aria-haspopup', 'menu'); // Open subdialog await user.keyboard('{ArrowRight}'); @@ -1057,7 +1057,6 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' // Open submenu await user.keyboard('{ArrowDown}'); - await user.keyboard('{ArrowDown}'); await user.keyboard('{ArrowRight}'); act(() => {jest.runAllTimers();}); menus = getAllByRole('menu'); @@ -1065,22 +1064,22 @@ export const AriaAutocompleteTests = ({renderers, setup, prefix, ariaPattern = ' expect(menus).toHaveLength(3); expect(menus[2]).toContainElement(document.activeElement as HTMLElement); let submenuItems = within(menus[2]).getAllByRole('menuitem'); - expect(submenuItems[1]).toHaveAttribute('aria-haspopup', 'dialog'); + expect(submenuItems[1]).toHaveAttribute('aria-haspopup', 'menu'); // Open last subdialog await user.keyboard('{ArrowDown}'); await user.keyboard('{ArrowRight}'); act(() => {jest.runAllTimers();}); dialogs = getAllByRole('dialog'); - expect(dialogs).toHaveLength(2); - let subDialogInput2 = within(dialogs[1]).getByRole('searchbox'); + expect(dialogs).toHaveLength(3); + let subDialogInput2 = within(dialogs[2]).getByRole('searchbox'); expect(document.activeElement).toBe(subDialogInput2); // Check focus is restored to the expected places when closing dialogs/menus await user.keyboard('{Escape}'); act(() => jest.runAllTimers()); dialogs = getAllByRole('dialog'); - expect(dialogs).toHaveLength(1); + expect(dialogs).toHaveLength(2); expect(document.activeElement).toBe(submenuItems[1]); await user.keyboard('{ArrowLeft}'); diff --git a/packages/react-aria-components/test/AriaMenu.test-util.tsx b/packages/react-aria-components/test/AriaMenu.test-util.tsx index 17255bf59f0..0c22b6a9ebf 100644 --- a/packages/react-aria-components/test/AriaMenu.test-util.tsx +++ b/packages/react-aria-components/test/AriaMenu.test-util.tsx @@ -291,23 +291,6 @@ export const AriaMenuTests = ({renderers, setup, prefix}: AriaMenuTestProps) => expect(menu).not.toBeInTheDocument(); }); - it('closes if menu is tabbed away from', async function () { - let tree = renderers.standard(); - let menuTester = testUtilUser.createTester('Menu', {user, root: tree.container}); - menuTester.setInteractionType('keyboard'); - - await menuTester.open(); - act(() => {jest.runAllTimers();}); - - let menu = menuTester.menu; - - await user.tab(); - act(() => {jest.runAllTimers();}); - act(() => {jest.runAllTimers();}); - expect(menu).not.toBeInTheDocument(); - expect(document.activeElement).toBe(menuTester.trigger); - }); - it('has hidden dismiss buttons for screen readers', async function () { let tree = renderers.standard(); let menuTester = testUtilUser.createTester('Menu', {user, root: tree.container}); diff --git a/packages/react-aria-components/test/Autocomplete.test.tsx b/packages/react-aria-components/test/Autocomplete.test.tsx index 79a7aa5cebe..7dc1f5476dc 100644 --- a/packages/react-aria-components/test/Autocomplete.test.tsx +++ b/packages/react-aria-components/test/Autocomplete.test.tsx @@ -12,7 +12,7 @@ import {act, pointerMap, render, within} from '@react-spectrum/test-utils-internal'; import {AriaAutocompleteTests} from './AriaAutocomplete.test-util'; -import {Autocomplete, Button, Dialog, DialogTrigger, Header, Input, Label, ListBox, ListBoxItem, ListBoxSection, Menu, MenuItem, MenuSection, Popover, SearchField, Select, SelectValue, Separator, UNSTABLE_SubDialogTrigger as SubDialogTrigger, SubmenuTrigger, Text, TextField} from '..'; +import {Autocomplete, Button, Dialog, DialogTrigger, Header, Input, Label, ListBox, ListBoxItem, ListBoxSection, Menu, MenuItem, MenuSection, Popover, SearchField, Select, SelectValue, Separator, SubmenuTrigger, Text, TextField} from '..'; import React, {ReactNode} from 'react'; import {useAsyncList} from 'react-stately'; import {useFilter} from '@react-aria/i18n'; @@ -97,33 +97,29 @@ let SubMenus = (props) => ( let SubDialogs = (props) => ( Foo - + Bar - - - - Lvl 1 Bar 1 - - Lvl 1 Bar 2 - - - - - Lvl 2 Bar 1 - Lvl 2 Bar 2 - Lvl 2 Bar 3 - - - - - - Lvl 1 Bar 3 - - - + + + Lvl 1 Bar 1 + + Lvl 1 Bar 2 + + + + Lvl 2 Bar 1 + Lvl 2 Bar 2 + Lvl 2 Bar 3 + + + + + Lvl 1 Bar 3 + + - + Baz ); @@ -131,42 +127,38 @@ let SubDialogs = (props) => ( let SubDialogAndMenu = (props) => ( Foo - + Bar - - - - Lvl 1 Bar 1 - - Lvl 1 Bar 2 - - - Lvl 2 Bar 1 - - Lvl 2 Bar 2 - - - - - Lvl 3 Bar 1 - Lvl 3 Bar 2 - Lvl 3 Bar 3 - - - - - - Lvl 2 Bar 3 - - - - Lvl 1 Bar 3 - - - + + + Lvl 1 Bar 1 + + Lvl 1 Bar 2 + + + Lvl 2 Bar 1 + + Lvl 2 Bar 2 + + + + Lvl 3 Bar 1 + Lvl 3 Bar 2 + Lvl 3 Bar 3 + + + + + Lvl 2 Bar 3 + + + + Lvl 1 Bar 3 + + - + Baz ); @@ -443,11 +435,9 @@ describe('Autocomplete', () => { - - - - - + + + ); diff --git a/packages/react-aria-components/test/Menu.test.tsx b/packages/react-aria-components/test/Menu.test.tsx index 11378a65bf4..79b84f8f525 100644 --- a/packages/react-aria-components/test/Menu.test.tsx +++ b/packages/react-aria-components/test/Menu.test.tsx @@ -12,10 +12,9 @@ import {act, fireEvent, mockClickDefault, pointerMap, render, within} from '@react-spectrum/test-utils-internal'; import {AriaMenuTests} from './AriaMenu.test-util'; -import {Button, Collection, Dialog, Header, Heading, Input, Keyboard, Label, Menu, MenuContext, MenuItem, MenuSection, MenuTrigger, Popover, Pressable, Separator, SubmenuTrigger, Text, TextField} from '..'; +import {Button, Collection, Header, Heading, Input, Keyboard, Label, Menu, MenuContext, MenuItem, MenuSection, MenuTrigger, Popover, Pressable, Separator, SubmenuTrigger, Text, TextField} from '..'; import React, {useState} from 'react'; import {Selection, SelectionMode} from '@react-types/shared'; -import {SubDialogTrigger} from '../src/Menu'; import {UNSTABLE_PortalProvider} from '@react-aria/overlays'; import {User} from '@react-aria/test-utils'; import userEvent from '@testing-library/user-event'; @@ -485,6 +484,19 @@ describe('Menu', () => { expect(onScroll).toHaveBeenCalled(); }); + it('should support empty state', () => { + let {getByRole} = render( + 'No results'}> + {[]} + + ); + let menu = getByRole('menu'); + expect(menu).toHaveAttribute('data-empty', 'true'); + + let menuitem = getByRole('menuitem'); + expect(menuitem).toHaveTextContent('No results'); + }); + describe('supports links', function () { describe.each(['mouse', 'keyboard'])('%s', (type) => { it.each(['none', 'single', 'multiple'] as unknown as SelectionMode[])('with selectionMode = %s', async function (selectionMode) { @@ -1107,29 +1119,22 @@ describe('Menu', () => { Open Rename… Duplicate - + Share… - - {({close}) => ( -
- Sign up - - - - - - - - - -
- )} -
+
+ Sign up + + + + + + + + +
-
+ Delete… @@ -1149,9 +1154,8 @@ describe('Menu', () => { let triggerItem = menuTester.submenuTriggers[0]; expect(triggerItem).toHaveTextContent('Share…'); - expect(triggerItem).toHaveAttribute('aria-haspopup', 'dialog'); + expect(triggerItem).toHaveAttribute('aria-haspopup', 'menu'); expect(triggerItem).toHaveAttribute('aria-expanded', 'false'); - // TODO: should this have a different data attribute aka has-subdialog? expect(triggerItem).toHaveAttribute('data-has-submenu', 'true'); expect(triggerItem).not.toHaveAttribute('data-open'); @@ -1161,22 +1165,19 @@ describe('Menu', () => { expect(triggerItem).toHaveAttribute('data-hovered', 'true'); expect(triggerItem).toHaveAttribute('aria-expanded', 'true'); expect(triggerItem).toHaveAttribute('data-open', 'true'); - let subdialog = getAllByRole('dialog')[0]; + let subdialog = getAllByRole('dialog')[1]; expect(subdialog).toBeInTheDocument(); let subdialogPopover = subdialog.closest('.react-aria-Popover') as HTMLElement; expect(subdialogPopover).toBeInTheDocument(); - expect(subdialogPopover).toHaveAttribute('data-trigger', 'SubDialogTrigger'); + expect(subdialogPopover).toHaveAttribute('data-trigger', 'SubmenuTrigger'); let inputs = within(subdialogPopover).getAllByRole('textbox'); - let buttons = within(subdialogPopover).getAllByRole('button'); await user.click(inputs[0]); expect(document.activeElement).toBe(inputs[0]); await user.tab(); expect(document.activeElement).toBe(inputs[1]); await user.tab(); - expect(document.activeElement).toBe(buttons[0]); - await user.tab(); expect(document.activeElement).toBe(inputs[0]); }); @@ -1190,47 +1191,35 @@ describe('Menu', () => { Open Rename… Duplicate - + Share… - - {({close}) => ( - <> - - - Nested Subdialog - - - {({close}) => ( -
- Contact - - - - - - - - - -
- )} -
-
-
- B - C -
- - - )} -
+ + + Nested Subdialog + +
+ Contact + + + + + + + + + +
+
+
+ B + C +
+
-
+ Delete… @@ -1242,7 +1231,7 @@ describe('Menu', () => { let triggerItem = menuTester.submenuTriggers[0]; expect(triggerItem).toHaveTextContent('Share…'); - expect(triggerItem).toHaveAttribute('aria-haspopup', 'dialog'); + expect(triggerItem).toHaveAttribute('aria-haspopup', 'menu'); // Open the subdialog let subDialogTester = await menuTester.openSubmenu({submenuTrigger: triggerItem}); @@ -1251,24 +1240,24 @@ describe('Menu', () => { let subDialogTriggerItem = subDialogTester?.submenuTriggers[0]; expect(subDialogTriggerItem).toHaveTextContent('Nested Subdialog'); - expect(subDialogTriggerItem).toHaveAttribute('aria-haspopup', 'dialog'); + expect(subDialogTriggerItem).toHaveAttribute('aria-haspopup', 'menu'); // Open the nested subdialog await subDialogTester?.openSubmenu({submenuTrigger: subDialogTriggerItem!}); act(() => {jest.runAllTimers();}); let subdialogs = getAllByRole('dialog'); - expect(subdialogs).toHaveLength(2); + expect(subdialogs).toHaveLength(3); await user.keyboard('{Escape}'); act(() => {jest.runAllTimers();}); subdialogs = getAllByRole('dialog'); - expect(subdialogs).toHaveLength(1); + expect(subdialogs).toHaveLength(2); expect(document.activeElement).toBe(subDialogTriggerItem); await user.keyboard('{Escape}'); act(() => {jest.runAllTimers();}); subdialogs = queryAllByRole('dialog'); - expect(subdialogs).toHaveLength(0); + expect(subdialogs).toHaveLength(1); expect(document.activeElement).toBe(triggerItem); }); @@ -1282,47 +1271,35 @@ describe('Menu', () => { Open Rename… Duplicate - + Share… - - {({close}) => ( - <> - - - Nested Subdialog - - - {({close}) => ( -
- Contact - - - - - - - - - -
- )} -
-
-
- B - C -
- - - )} -
+ + + Nested Subdialog + +
+ Contact + + + + + + + + + +
+
+
+ B + C +
+
-
+ Delete… @@ -1344,7 +1321,7 @@ describe('Menu', () => { await subDialogTester?.openSubmenu({submenuTrigger: subDialogTriggerItem!}); act(() => {jest.runAllTimers();}); let subdialogs = getAllByRole('dialog'); - expect(subdialogs).toHaveLength(2); + expect(subdialogs).toHaveLength(3); await user.click(document.body); act(() => {jest.runAllTimers();}); @@ -1419,6 +1396,38 @@ describe('Menu', () => { let menu = getByRole('menu'); expect(menu).toBeInTheDocument(); }); + + it('contains focus within the menu', async function () { + let tree = render( + + + + + +
Heading 1
+ Foo + Bar + Baz +
+
+
+
+ ); + let menuTester = testUtilUser.createTester('Menu', {user, root: tree.container}); + menuTester.setInteractionType('keyboard'); + + await menuTester.open(); + act(() => {jest.runAllTimers();}); + + let menu = menuTester.menu; + let activeElement = document.activeElement; + + await user.tab(); + act(() => {jest.runAllTimers();}); + act(() => {jest.runAllTimers();}); + expect(menu).toBeInTheDocument(); + expect(document.activeElement).toBe(activeElement); + }); }); // better to accept items from the test? or just have the test have a requirement that you render a certain-ish structure? @@ -1524,25 +1533,6 @@ AriaMenuTests({ multipleSelection: () => render( ), - siblingFocusableElement: () => render( - <> - - - - - - -
Heading 1
- Foo - Bar - Baz -
-
-
-
- - - ), multipleMenus: () => render( <> diff --git a/packages/react-aria-components/test/Toast.test.js b/packages/react-aria-components/test/Toast.test.js index 621a7e4ea57..3312fd4c652 100644 --- a/packages/react-aria-components/test/Toast.test.js +++ b/packages/react-aria-components/test/Toast.test.js @@ -171,7 +171,7 @@ describe('Toast', () => { expect(button).toHaveFocus(); }); - it('should move focus to remaining toast when a toast exits and there are more', async () => { + it('should restore focus when removing with the mouse', async () => { let {getAllByRole, getByRole, queryByRole} = render(); let button = getByRole('button'); @@ -182,11 +182,39 @@ describe('Toast', () => { let closeButton = within(toast).getByRole('button'); await user.click(closeButton); + expect(document.activeElement).toBe(button); + + toast = getAllByRole('alertdialog')[0]; + closeButton = within(toast).getByRole('button'); + await user.click(closeButton); + + expect(queryByRole('alertdialog')).toBeNull(); + expect(document.activeElement).toBe(button); + }); + + it('should move focus to remaining toast when a toast exits and there are more', async () => { + let {getAllByRole, getByRole, queryByRole} = render(); + let button = getByRole('button'); + + await user.tab(); + await user.keyboard('{Enter}'); + await user.keyboard('{Enter}'); + + let toast = getAllByRole('alertdialog')[0]; + let closeButton = within(toast).getByRole('button'); + await user.keyboard('{F6}'); + await user.tab(); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); + toast = getByRole('alertdialog'); expect(document.activeElement).toBe(toast); closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); expect(queryByRole('alertdialog')).toBeNull(); expect(document.activeElement).toBe(button); @@ -196,19 +224,26 @@ describe('Toast', () => { let {getAllByRole, getByRole, queryByRole} = render(); let button = getByRole('button'); - await user.click(button); - await user.click(button); + await user.tab(); + await user.keyboard('{Enter}'); + await user.keyboard('{Enter}'); - let toast = getAllByRole('alertdialog')[1]; + let toast = getAllByRole('alertdialog')[0]; let closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.keyboard('{F6}'); + await user.tab(); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); toast = getByRole('alertdialog'); expect(document.activeElement).toBe(toast); expect(toast).toHaveAttribute('data-focused', 'true'); closeButton = within(toast).getByRole('button'); - await user.click(closeButton); + await user.tab(); + expect(document.activeElement).toBe(closeButton); + await user.keyboard('{Enter}'); expect(queryByRole('alertdialog')).toBeNull(); expect(document.activeElement).toBe(button); diff --git a/packages/react-aria-components/test/Tree.test.tsx b/packages/react-aria-components/test/Tree.test.tsx index f189b07fbe7..f22e70f8ff8 100644 --- a/packages/react-aria-components/test/Tree.test.tsx +++ b/packages/react-aria-components/test/Tree.test.tsx @@ -257,6 +257,17 @@ describe('Tree', () => { expect(level2ChildRow3).toHaveAttribute('data-rac'); }); + it('should include the row as part of the expand/collapse button accessible label', () => { + let {getAllByRole} = render(); + let rows = getAllByRole('row'); + for (let row of rows) { + if (row.hasAttribute('data-has-child-items')) { + let expandButton = within(row).getAllByRole('button')[0]; + expect(expandButton).toHaveAttribute('aria-labelledby', `${expandButton.id} ${row.id}`); + } + } + }); + it('should not label an expandable row as having an action if it supports selection', () => { let {getAllByRole} = render(); diff --git a/packages/react-aria/package.json b/packages/react-aria/package.json index e40d1654cff..26f8a64bf30 100644 --- a/packages/react-aria/package.json +++ b/packages/react-aria/package.json @@ -1,6 +1,6 @@ { "name": "react-aria", - "version": "3.37.0", + "version": "3.38.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -38,45 +38,47 @@ }, "dependencies": { "@internationalized/string": "^3.2.5", - "@react-aria/breadcrumbs": "^3.5.20", - "@react-aria/button": "^3.11.1", - "@react-aria/calendar": "^3.7.0", - "@react-aria/checkbox": "^3.15.1", - "@react-aria/color": "^3.0.3", - "@react-aria/combobox": "^3.11.1", - "@react-aria/datepicker": "^3.13.0", - "@react-aria/dialog": "^3.5.21", - "@react-aria/disclosure": "^3.0.1", - "@react-aria/dnd": "^3.8.1", - "@react-aria/focus": "^3.19.1", - "@react-aria/gridlist": "^3.10.1", - "@react-aria/i18n": "^3.12.5", - "@react-aria/interactions": "^3.23.0", - "@react-aria/label": "^3.7.14", - "@react-aria/link": "^3.7.8", - "@react-aria/listbox": "^3.14.0", - "@react-aria/menu": "^3.17.0", - "@react-aria/meter": "^3.4.19", - "@react-aria/numberfield": "^3.11.10", - "@react-aria/overlays": "^3.25.0", - "@react-aria/progress": "^3.4.19", - "@react-aria/radio": "^3.10.11", - "@react-aria/searchfield": "^3.8.0", - "@react-aria/select": "^3.15.1", - "@react-aria/selection": "^3.22.0", - "@react-aria/separator": "^3.4.5", - "@react-aria/slider": "^3.7.15", + "@react-aria/breadcrumbs": "^3.5.21", + "@react-aria/button": "^3.12.0", + "@react-aria/calendar": "^3.7.1", + "@react-aria/checkbox": "^3.15.2", + "@react-aria/color": "^3.0.4", + "@react-aria/combobox": "^3.12.0", + "@react-aria/datepicker": "^3.14.0", + "@react-aria/dialog": "^3.5.22", + "@react-aria/disclosure": "^3.0.2", + "@react-aria/dnd": "^3.9.0", + "@react-aria/focus": "^3.20.0", + "@react-aria/gridlist": "^3.11.0", + "@react-aria/i18n": "^3.12.6", + "@react-aria/interactions": "^3.24.0", + "@react-aria/label": "^3.7.15", + "@react-aria/landmark": "^3.0.0", + "@react-aria/link": "^3.7.9", + "@react-aria/listbox": "^3.14.1", + "@react-aria/menu": "^3.18.0", + "@react-aria/meter": "^3.4.20", + "@react-aria/numberfield": "^3.11.11", + "@react-aria/overlays": "^3.26.0", + "@react-aria/progress": "^3.4.20", + "@react-aria/radio": "^3.11.0", + "@react-aria/searchfield": "^3.8.1", + "@react-aria/select": "^3.15.2", + "@react-aria/selection": "^3.23.0", + "@react-aria/separator": "^3.4.6", + "@react-aria/slider": "^3.7.16", "@react-aria/ssr": "^3.9.7", - "@react-aria/switch": "^3.6.11", - "@react-aria/table": "^3.16.1", - "@react-aria/tabs": "^3.9.9", - "@react-aria/tag": "^3.4.9", - "@react-aria/textfield": "^3.16.0", - "@react-aria/tooltip": "^3.7.11", - "@react-aria/tree": "^3.0.0-beta.3", - "@react-aria/utils": "^3.27.0", - "@react-aria/visually-hidden": "^3.8.19", - "@react-types/shared": "^3.27.0" + "@react-aria/switch": "^3.7.0", + "@react-aria/table": "^3.17.0", + "@react-aria/tabs": "^3.10.0", + "@react-aria/tag": "^3.5.0", + "@react-aria/textfield": "^3.17.0", + "@react-aria/toast": "^3.0.0", + "@react-aria/tooltip": "^3.8.0", + "@react-aria/tree": "^3.0.0", + "@react-aria/utils": "^3.28.0", + "@react-aria/visually-hidden": "^3.8.20", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", diff --git a/packages/react-aria/src/index.ts b/packages/react-aria/src/index.ts index ad1cfd2822c..09f001db48b 100644 --- a/packages/react-aria/src/index.ts +++ b/packages/react-aria/src/index.ts @@ -25,6 +25,7 @@ export {I18nProvider, useCollator, useDateFormatter, useFilter, useLocale, useLo export {useFocus, useFocusVisible, useFocusWithin, useHover, useInteractOutside, useKeyboard, useMove, usePress, useLongPress, useFocusable, Pressable, Focusable} from '@react-aria/interactions'; export {useField, useLabel} from '@react-aria/label'; export {useGridList, useGridListItem, useGridListSelectionCheckbox} from '@react-aria/gridlist'; +export {useLandmark} from '@react-aria/landmark'; export {useLink} from '@react-aria/link'; export {useListBox, useListBoxSection, useOption} from '@react-aria/listbox'; export {useMenu, useMenuItem, useMenuSection, useMenuTrigger, useSubmenuTrigger} from '@react-aria/menu'; @@ -44,6 +45,7 @@ export {useTable, useTableCell, useTableColumnHeader, useTableColumnResize, useT export {useTab, useTabList, useTabPanel} from '@react-aria/tabs'; export {useTag, useTagGroup} from '@react-aria/tag'; export {useTextField} from '@react-aria/textfield'; +export {useToast, useToastRegion} from '@react-aria/toast'; export {useTooltip, useTooltipTrigger} from '@react-aria/tooltip'; export {useTree, useTreeItem} from '@react-aria/tree'; export {chain, mergeProps, useId, useObjectRef, RouterProvider} from '@react-aria/utils'; @@ -53,7 +55,7 @@ export type {AriaBreadcrumbItemProps, AriaBreadcrumbsProps, BreadcrumbItemAria, export type {AriaButtonOptions, AriaButtonProps, AriaToggleButtonProps, ButtonAria, AriaToggleButtonGroupProps, ToggleButtonGroupAria} from '@react-aria/button'; export type {AriaCalendarCellProps, AriaCalendarGridProps, AriaCalendarProps, AriaRangeCalendarProps, CalendarAria, CalendarCellAria, CalendarGridAria, CalendarProps, RangeCalendarProps} from '@react-aria/calendar'; export type {AriaCheckboxGroupItemProps, AriaCheckboxGroupProps, AriaCheckboxProps, CheckboxAria, CheckboxGroupAria} from '@react-aria/checkbox'; -export type {AriaColorAreaOptions, AriaColorChannelFieldProps, AriaColorFieldProps, AriaColorSliderOptions, AriaColorSwatchProps, AriaColorWheelOptions, ColorAreaAria, ColorChannelFieldAria, ColorFieldAria, ColorSliderAria, ColorSwatchAria, ColorWheelAria} from '@react-aria/color'; +export type {AriaColorAreaOptions, AriaColorAreaProps, AriaColorChannelFieldProps, AriaColorFieldProps, AriaColorSliderOptions, AriaColorSliderProps, AriaColorSwatchProps, AriaColorWheelOptions, ColorAreaAria, ColorChannelFieldAria, ColorFieldAria, ColorSliderAria, ColorSwatchAria, ColorWheelAria} from '@react-aria/color'; export type {AriaComboBoxOptions, AriaComboBoxProps, ComboBoxAria} from '@react-aria/combobox'; export type {AriaDateFieldProps, AriaDatePickerProps, AriaDateRangePickerProps, AriaTimeFieldProps, DateFieldAria, DatePickerAria, DateRangePickerAria, DateSegmentAria, DateRange, DateValue, TimeValue} from '@react-aria/datepicker'; export type {AriaDialogProps, DialogAria} from '@react-aria/dialog'; @@ -63,6 +65,7 @@ export type {DateFormatter, DateFormatterOptions, Filter, FormatMessage, I18nPro export type {ClipboardProps, ClipboardResult, DirectoryDropItem, DragEndEvent, DraggableCollectionEndEvent, DraggableCollectionMoveEvent, DraggableCollectionOptions, DraggableCollectionStartEvent, DraggableItemProps, DraggableItemResult, DragItem, DragMoveEvent, DragOptions, DragPreviewProps, DragPreviewRenderer, DragResult, DragStartEvent, DragTypes, DropEnterEvent, DropEvent, DropExitEvent, DropIndicatorAria, DropIndicatorProps, DropItem, DropMoveEvent, DropOperation, DropOptions, DroppableCollectionDropEvent, DroppableCollectionEnterEvent, DroppableCollectionExitEvent, DroppableCollectionInsertDropEvent, DroppableCollectionMoveEvent, DroppableCollectionOnItemDropEvent, DroppableCollectionOptions, DroppableCollectionReorderEvent, DroppableCollectionResult, DroppableCollectionRootDropEvent, DroppableItemOptions, DroppableItemResult, DropPosition, DropResult, DropTarget, DropTargetDelegate, FileDropItem, ItemDropTarget, RootDropTarget, TextDropItem} from '@react-aria/dnd'; export type {FocusProps, FocusResult, FocusVisibleProps, FocusVisibleResult, FocusWithinProps, FocusWithinResult, HoverProps, HoverResult, InteractOutsideProps, KeyboardProps, KeyboardResult, LongPressProps, LongPressResult, MoveEvents, MoveResult, PressHookProps, PressProps, PressResult, ScrollWheelProps, PressEvent, PressEvents, MoveStartEvent, MoveMoveEvent, MoveEndEvent, HoverEvent, HoverEvents, FocusEvents, KeyboardEvents} from '@react-aria/interactions'; export type {AriaFieldProps, FieldAria, LabelAria, LabelAriaProps} from '@react-aria/label'; +export type {AriaLandmarkRole, AriaLandmarkProps, LandmarkAria, LandmarkController} from '@react-aria/landmark'; export type {AriaLinkOptions, LinkAria} from '@react-aria/link'; export type {AriaListBoxOptions, AriaListBoxProps, AriaListBoxSectionProps, AriaOptionProps, ListBoxAria, ListBoxSectionAria, OptionAria} from '@react-aria/listbox'; export type {AriaGridListOptions, AriaGridListProps, GridListAria, AriaGridListItemOptions, GridListItemAria, AriaGridSelectionCheckboxProps, GridSelectionCheckboxAria} from '@react-aria/gridlist'; @@ -82,6 +85,7 @@ export type {AriaTableCellProps, AriaTableColumnHeaderProps, AriaTableColumnResi export type {AriaTabListProps, AriaTabListOptions, AriaTabPanelProps, AriaTabProps, TabAria, TabListAria, TabPanelAria} from '@react-aria/tabs'; export type {AriaTagGroupProps, AriaTagProps, TagAria, TagGroupAria} from '@react-aria/tag'; export type {AriaTextFieldOptions, AriaTextFieldProps, TextFieldAria} from '@react-aria/textfield'; +export type {AriaToastRegionProps, AriaToastProps, ToastAria, ToastRegionAria} from '@react-aria/toast'; export type {AriaTooltipProps, TooltipAria, TooltipTriggerAria, TooltipTriggerProps} from '@react-aria/tooltip'; export type {AriaTreeProps, AriaTreeItemOptions, TreeProps, TreeAria, TreeItemAria} from '@react-aria/tree'; export type {VisuallyHiddenAria, VisuallyHiddenProps} from '@react-aria/visually-hidden'; diff --git a/packages/react-stately/package.json b/packages/react-stately/package.json index 951d7b42556..8b80412c8f4 100644 --- a/packages/react-stately/package.json +++ b/packages/react-stately/package.json @@ -1,6 +1,6 @@ { "name": "react-stately", - "version": "3.35.0", + "version": "3.36.0", "description": "Spectrum UI components in React", "license": "Apache-2.0", "main": "dist/main.js", @@ -24,31 +24,32 @@ "url": "https://github.com/adobe/react-spectrum" }, "dependencies": { - "@react-stately/calendar": "^3.7.0", - "@react-stately/checkbox": "^3.6.11", - "@react-stately/collections": "^3.12.1", - "@react-stately/color": "^3.8.2", - "@react-stately/combobox": "^3.10.2", - "@react-stately/data": "^3.12.1", - "@react-stately/datepicker": "^3.12.0", - "@react-stately/disclosure": "^3.0.1", - "@react-stately/dnd": "^3.5.1", - "@react-stately/form": "^3.1.1", - "@react-stately/list": "^3.11.2", - "@react-stately/menu": "^3.9.1", - "@react-stately/numberfield": "^3.9.9", - "@react-stately/overlays": "^3.6.13", - "@react-stately/radio": "^3.10.10", - "@react-stately/searchfield": "^3.5.9", - "@react-stately/select": "^3.6.10", - "@react-stately/selection": "^3.19.0", - "@react-stately/slider": "^3.6.1", - "@react-stately/table": "^3.13.1", - "@react-stately/tabs": "^3.7.1", - "@react-stately/toggle": "^3.8.1", - "@react-stately/tooltip": "^3.5.1", - "@react-stately/tree": "^3.8.7", - "@react-types/shared": "^3.27.0" + "@react-stately/calendar": "^3.7.1", + "@react-stately/checkbox": "^3.6.12", + "@react-stately/collections": "^3.12.2", + "@react-stately/color": "^3.8.3", + "@react-stately/combobox": "^3.10.3", + "@react-stately/data": "^3.12.2", + "@react-stately/datepicker": "^3.13.0", + "@react-stately/disclosure": "^3.0.2", + "@react-stately/dnd": "^3.5.2", + "@react-stately/form": "^3.1.2", + "@react-stately/list": "^3.12.0", + "@react-stately/menu": "^3.9.2", + "@react-stately/numberfield": "^3.9.10", + "@react-stately/overlays": "^3.6.14", + "@react-stately/radio": "^3.10.11", + "@react-stately/searchfield": "^3.5.10", + "@react-stately/select": "^3.6.11", + "@react-stately/selection": "^3.20.0", + "@react-stately/slider": "^3.6.2", + "@react-stately/table": "^3.14.0", + "@react-stately/tabs": "^3.8.0", + "@react-stately/toast": "^3.0.0", + "@react-stately/toggle": "^3.8.2", + "@react-stately/tooltip": "^3.5.2", + "@react-stately/tree": "^3.8.8", + "@react-types/shared": "^3.28.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/packages/react-stately/src/index.ts b/packages/react-stately/src/index.ts index 96a98f88b58..e732d241e81 100644 --- a/packages/react-stately/src/index.ts +++ b/packages/react-stately/src/index.ts @@ -12,7 +12,7 @@ export type {CalendarState, CalendarStateOptions, RangeCalendarState, RangeCalendarStateOptions} from '@react-stately/calendar'; export type {CheckboxGroupProps, CheckboxGroupState} from '@react-stately/checkbox'; -export type {Color, ColorAreaProps, ColorAreaState, ColorChannelFieldProps, ColorChannelFieldState, ColorChannelFieldStateOptions, ColorFieldProps, ColorFieldState, ColorPickerProps, ColorPickerState, ColorSliderState, ColorSliderStateOptions, ColorWheelProps, ColorWheelState} from '@react-stately/color'; +export type {Color, ColorChannel, ColorFormat, ColorSpace, ColorAreaProps, ColorAreaState, ColorChannelFieldProps, ColorChannelFieldState, ColorChannelFieldStateOptions, ColorFieldProps, ColorFieldState, ColorPickerProps, ColorPickerState, ColorSliderState, ColorSliderStateOptions, ColorWheelProps, ColorWheelState} from '@react-stately/color'; export type {ComboBoxState, ComboBoxStateOptions} from '@react-stately/combobox'; export type {DateFieldState, DateFieldStateOptions, DatePickerState, DatePickerStateOptions, DateRangePickerState, DateRangePickerStateOptions, DateSegment, SegmentType as DateSegmentType, TimeFieldStateOptions, TimeFieldState} from '@react-stately/datepicker'; export type {DisclosureState, DisclosureProps, DisclosureGroupState, DisclosureGroupProps} from '@react-stately/disclosure'; @@ -29,6 +29,7 @@ export type {MultipleSelectionManager, MultipleSelectionState, SingleSelectionSt export type {NumberFieldState, NumberFieldStateOptions} from '@react-stately/numberfield'; export type {TableState, TableStateProps, TableHeaderProps, TableBodyProps, ColumnProps, RowProps, CellProps, TableColumnResizeState, TableColumnResizeStateProps} from '@react-stately/table'; export type {TabListProps, TabListState} from '@react-stately/tabs'; +export type {ToastState, QueuedToast, ToastStateProps, ToastOptions} from '@react-stately/toast'; export type {ToggleProps, ToggleState, ToggleGroupProps, ToggleGroupState} from '@react-stately/toggle'; export type {TooltipTriggerProps, TooltipTriggerState} from '@react-stately/tooltip'; export type {TreeProps, TreeState} from '@react-stately/tree'; @@ -43,7 +44,7 @@ export {useDisclosureState, useDisclosureGroupState} from '@react-stately/disclo export {useDraggableCollectionState, useDroppableCollectionState} from '@react-stately/dnd'; export {Item, Section, useCollection} from '@react-stately/collections'; export {useAsyncList, useListData, useTreeData} from '@react-stately/data'; -export {useListState, useSingleSelectListState, useFilteredListState} from '@react-stately/list'; +export {useListState, useSingleSelectListState, UNSTABLE_useFilteredListState} from '@react-stately/list'; export {useMenuTriggerState, useSubmenuTriggerState} from '@react-stately/menu'; export {useNumberFieldState} from '@react-stately/numberfield'; export {useOverlayTriggerState} from '@react-stately/overlays'; @@ -54,6 +55,7 @@ export {useSliderState} from '@react-stately/slider'; export {useMultipleSelectionState} from '@react-stately/selection'; export {useTableState, TableHeader, TableBody, Column, Row, Cell, useTableColumnResizeState} from '@react-stately/table'; export {useTabListState} from '@react-stately/tabs'; +export {useToastState, ToastQueue, useToastQueue} from '@react-stately/toast'; export {useToggleState, useToggleGroupState} from '@react-stately/toggle'; export {useTooltipTriggerState} from '@react-stately/tooltip'; export {useTreeState} from '@react-stately/tree'; diff --git a/packages/tailwindcss-react-aria-components/fixtures/prefix.html b/packages/tailwindcss-react-aria-components/fixtures/prefix.html index 7964291763a..1727027e2da 100644 --- a/packages/tailwindcss-react-aria-components/fixtures/prefix.html +++ b/packages/tailwindcss-react-aria-components/fixtures/prefix.html @@ -1 +1 @@ -
+
diff --git a/packages/tailwindcss-react-aria-components/fixtures/variants.html b/packages/tailwindcss-react-aria-components/fixtures/variants.html index 96494895c3b..86add4a1089 100644 --- a/packages/tailwindcss-react-aria-components/fixtures/variants.html +++ b/packages/tailwindcss-react-aria-components/fixtures/variants.html @@ -1 +1 @@ -
+
diff --git a/packages/tailwindcss-react-aria-components/package.json b/packages/tailwindcss-react-aria-components/package.json index f4478df42e9..d8c3ace0b35 100644 --- a/packages/tailwindcss-react-aria-components/package.json +++ b/packages/tailwindcss-react-aria-components/package.json @@ -1,6 +1,6 @@ { "name": "tailwindcss-react-aria-components", - "version": "1.2.0", + "version": "2.0.0", "description": "A Tailwind plugin that adds variants for data attributes in React Aria Components", "license": "Apache-2.0", "main": "src/index.js", diff --git a/packages/tailwindcss-react-aria-components/src/index.js b/packages/tailwindcss-react-aria-components/src/index.js index 78115b309d3..a2586671463 100644 --- a/packages/tailwindcss-react-aria-components/src/index.js +++ b/packages/tailwindcss-react-aria-components/src/index.js @@ -10,6 +10,7 @@ const attributes = { 'allows-sorting', 'allows-dragging', 'has-submenu', + 'has-child-items', // States 'open', diff --git a/packages/tailwindcss-react-aria-components/test/__snapshots__/index.test.js.snap b/packages/tailwindcss-react-aria-components/test/__snapshots__/index.test.js.snap index 62fdcfdea28..17d0f304a4e 100644 --- a/packages/tailwindcss-react-aria-components/test/__snapshots__/index.test.js.snap +++ b/packages/tailwindcss-react-aria-components/test/__snapshots__/index.test.js.snap @@ -250,6 +250,11 @@ exports[`variants 1`] = ` background-color: var(--color-red); } } +.has-child-items\\:bg-red { + &[data-has-child-items] { + background-color: var(--color-red); + } +} .expanded\\:bg-red { &:where([data-rac])[data-expanded] { background-color: var(--color-red); @@ -472,6 +477,11 @@ exports[`variants with prefix 1`] = ` background-color: var(--color-red); } } +.rac-has-child-items\\:bg-red { + &[data-has-child-items] { + background-color: var(--color-red); + } +} .rac-open\\:bg-red { &[data-open] { background-color: var(--color-red); diff --git a/yarn.lock b/yarn.lock index b77b3a32bf4..edf8941ec92 100644 --- a/yarn.lock +++ b/yarn.lock @@ -66,66 +66,68 @@ __metadata: "@babel/cli": "npm:^7.12.10" "@babel/core": "npm:^7.24.3" "@internationalized/string": "npm:^3.2.5" - "@react-aria/i18n": "npm:^3.12.5" + "@react-aria/collections": "npm:3.0.0-beta.0" + "@react-aria/i18n": "npm:^3.12.6" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-spectrum/accordion": "npm:^3.0.2" - "@react-spectrum/actionbar": "npm:^3.6.3" - "@react-spectrum/actiongroup": "npm:^3.10.11" - "@react-spectrum/avatar": "npm:^3.0.18" - "@react-spectrum/badge": "npm:^3.1.19" - "@react-spectrum/breadcrumbs": "npm:^3.9.13" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/buttongroup": "npm:^3.6.18" - "@react-spectrum/calendar": "npm:^3.6.0" - "@react-spectrum/checkbox": "npm:^3.9.12" - "@react-spectrum/color": "npm:^3.0.3" - "@react-spectrum/combobox": "npm:^3.14.1" - "@react-spectrum/contextualhelp": "npm:^3.6.17" - "@react-spectrum/datepicker": "npm:^3.12.0" - "@react-spectrum/dialog": "npm:^3.8.17" - "@react-spectrum/divider": "npm:^3.5.19" - "@react-spectrum/dnd": "npm:^3.5.1" - "@react-spectrum/dropzone": "npm:^3.0.7" - "@react-spectrum/filetrigger": "npm:^3.0.7" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/icon": "npm:^3.8.1" - "@react-spectrum/illustratedmessage": "npm:^3.5.6" - "@react-spectrum/image": "npm:^3.5.7" - "@react-spectrum/inlinealert": "npm:^3.2.11" - "@react-spectrum/labeledvalue": "npm:^3.1.19" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/link": "npm:^3.6.13" - "@react-spectrum/list": "npm:^3.9.1" - "@react-spectrum/listbox": "npm:^3.14.1" - "@react-spectrum/menu": "npm:^3.21.1" - "@react-spectrum/meter": "npm:^3.5.6" - "@react-spectrum/numberfield": "npm:^3.9.9" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/picker": "npm:^3.15.5" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/provider": "npm:^3.10.1" - "@react-spectrum/radio": "npm:^3.7.12" - "@react-spectrum/searchfield": "npm:^3.8.12" - "@react-spectrum/slider": "npm:^3.7.1" - "@react-spectrum/statuslight": "npm:^3.5.18" - "@react-spectrum/switch": "npm:^3.5.11" - "@react-spectrum/table": "npm:^3.15.1" - "@react-spectrum/tabs": "npm:^3.8.16" - "@react-spectrum/tag": "npm:^3.2.12" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/theme-dark": "npm:^3.5.15" - "@react-spectrum/theme-default": "npm:^3.5.15" - "@react-spectrum/theme-light": "npm:^3.4.15" - "@react-spectrum/tooltip": "npm:^3.7.1" - "@react-spectrum/tree": "npm:^3.0.0-beta.3" - "@react-spectrum/view": "npm:^3.6.15" - "@react-spectrum/well": "npm:^3.4.19" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/data": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-spectrum/accordion": "npm:^3.0.3" + "@react-spectrum/actionbar": "npm:^3.6.4" + "@react-spectrum/actiongroup": "npm:^3.10.12" + "@react-spectrum/avatar": "npm:^3.0.19" + "@react-spectrum/badge": "npm:^3.1.20" + "@react-spectrum/breadcrumbs": "npm:^3.9.14" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/buttongroup": "npm:^3.6.19" + "@react-spectrum/calendar": "npm:^3.6.1" + "@react-spectrum/checkbox": "npm:^3.9.13" + "@react-spectrum/color": "npm:^3.0.4" + "@react-spectrum/combobox": "npm:^3.15.0" + "@react-spectrum/contextualhelp": "npm:^3.6.18" + "@react-spectrum/datepicker": "npm:^3.13.0" + "@react-spectrum/dialog": "npm:^3.8.18" + "@react-spectrum/divider": "npm:^3.5.20" + "@react-spectrum/dnd": "npm:^3.5.2" + "@react-spectrum/dropzone": "npm:^3.0.8" + "@react-spectrum/filetrigger": "npm:^3.0.8" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/icon": "npm:^3.8.2" + "@react-spectrum/illustratedmessage": "npm:^3.5.7" + "@react-spectrum/image": "npm:^3.5.8" + "@react-spectrum/inlinealert": "npm:^3.2.12" + "@react-spectrum/labeledvalue": "npm:^3.2.0" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/link": "npm:^3.6.14" + "@react-spectrum/list": "npm:^3.9.2" + "@react-spectrum/listbox": "npm:^3.14.2" + "@react-spectrum/menu": "npm:^3.21.2" + "@react-spectrum/meter": "npm:^3.5.7" + "@react-spectrum/numberfield": "npm:^3.9.10" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/picker": "npm:^3.15.6" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/provider": "npm:^3.10.2" + "@react-spectrum/radio": "npm:^3.7.13" + "@react-spectrum/searchfield": "npm:^3.8.13" + "@react-spectrum/slider": "npm:^3.7.2" + "@react-spectrum/statuslight": "npm:^3.5.19" + "@react-spectrum/switch": "npm:^3.5.12" + "@react-spectrum/table": "npm:^3.16.0" + "@react-spectrum/tabs": "npm:^3.8.17" + "@react-spectrum/tag": "npm:^3.2.13" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/theme-dark": "npm:^3.5.16" + "@react-spectrum/theme-default": "npm:^3.5.16" + "@react-spectrum/theme-light": "npm:^3.4.16" + "@react-spectrum/toast": "npm:^3.0.0" + "@react-spectrum/tooltip": "npm:^3.7.2" + "@react-spectrum/tree": "npm:^3.0.0" + "@react-spectrum/view": "npm:^3.6.16" + "@react-spectrum/well": "npm:^3.4.20" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/data": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" client-only: "npm:^0.0.1" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5862,34 +5864,17 @@ __metadata: languageName: node linkType: hard -"@react-aria/accordion@workspace:packages/@react-aria/accordion": - version: 0.0.0-use.local - resolution: "@react-aria/accordion@workspace:packages/@react-aria/accordion" - dependencies: - "@react-aria/button": "npm:^3.11.1" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/accordion": "npm:3.0.0-alpha.26" - "@react-types/shared": "npm:^3.27.0" - "@swc/helpers": "npm:^0.5.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - languageName: unknown - linkType: soft - -"@react-aria/actiongroup@npm:^3.7.12, @react-aria/actiongroup@workspace:packages/@react-aria/actiongroup": +"@react-aria/actiongroup@npm:^3.7.13, @react-aria/actiongroup@workspace:packages/@react-aria/actiongroup": version: 0.0.0-use.local resolution: "@react-aria/actiongroup@workspace:packages/@react-aria/actiongroup" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/list": "npm:^3.11.2" - "@react-types/actiongroup": "npm:^3.4.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/list": "npm:^3.12.0" + "@react-types/actiongroup": "npm:^3.4.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5908,23 +5893,23 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/autocomplete@npm:3.0.0-alpha.37, @react-aria/autocomplete@workspace:packages/@react-aria/autocomplete": +"@react-aria/autocomplete@npm:3.0.0-beta.0, @react-aria/autocomplete@workspace:packages/@react-aria/autocomplete": version: 0.0.0-use.local resolution: "@react-aria/autocomplete@workspace:packages/@react-aria/autocomplete" dependencies: - "@react-aria/combobox": "npm:^3.11.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/listbox": "npm:^3.14.0" - "@react-aria/searchfield": "npm:^3.8.0" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/autocomplete": "npm:3.0.0-alpha.0" - "@react-stately/combobox": "npm:^3.10.2" - "@react-types/autocomplete": "npm:3.0.0-alpha.28" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/combobox": "npm:^3.12.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/listbox": "npm:^3.14.1" + "@react-aria/searchfield": "npm:^3.8.1" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/autocomplete": "npm:3.0.0-beta.0" + "@react-stately/combobox": "npm:^3.10.3" + "@react-types/autocomplete": "npm:3.0.0-alpha.29" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5932,15 +5917,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/breadcrumbs@npm:^3.5.20, @react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs": +"@react-aria/breadcrumbs@npm:^3.5.21, @react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs": version: 0.0.0-use.local resolution: "@react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/link": "npm:^3.7.8" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/breadcrumbs": "npm:^3.7.10" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/link": "npm:^3.7.9" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/breadcrumbs": "npm:^3.7.11" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5948,16 +5933,16 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/button@npm:^3.11.1, @react-aria/button@workspace:packages/@react-aria/button": +"@react-aria/button@npm:^3.12.0, @react-aria/button@workspace:packages/@react-aria/button": version: 0.0.0-use.local resolution: "@react-aria/button@workspace:packages/@react-aria/button" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/toolbar": "npm:3.0.0-beta.12" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/toolbar": "npm:3.0.0-beta.13" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5965,19 +5950,19 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/calendar@npm:^3.7.0, @react-aria/calendar@workspace:packages/@react-aria/calendar": +"@react-aria/calendar@npm:^3.7.1, @react-aria/calendar@workspace:packages/@react-aria/calendar": version: 0.0.0-use.local resolution: "@react-aria/calendar@workspace:packages/@react-aria/calendar" dependencies: "@internationalized/date": "npm:^3.7.0" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/calendar": "npm:^3.7.0" - "@react-types/button": "npm:^3.10.2" - "@react-types/calendar": "npm:^3.6.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/calendar": "npm:^3.7.1" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -5985,20 +5970,20 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/checkbox@npm:^3.15.1, @react-aria/checkbox@workspace:packages/@react-aria/checkbox": +"@react-aria/checkbox@npm:^3.15.2, @react-aria/checkbox@workspace:packages/@react-aria/checkbox": version: 0.0.0-use.local resolution: "@react-aria/checkbox@workspace:packages/@react-aria/checkbox" dependencies: - "@react-aria/form": "npm:^3.0.12" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/toggle": "npm:^3.10.11" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/checkbox": "npm:^3.6.11" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/toggle": "npm:^3.11.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6006,14 +5991,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/collections@npm:3.0.0-alpha.7, @react-aria/collections@workspace:packages/@react-aria/collections": +"@react-aria/collections@npm:3.0.0-beta.0, @react-aria/collections@workspace:packages/@react-aria/collections": version: 0.0.0-use.local resolution: "@react-aria/collections@workspace:packages/@react-aria/collections" dependencies: - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" use-sync-external-store: "npm:^1.4.0" peerDependencies: @@ -6022,22 +6007,22 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/color@npm:^3.0.3, @react-aria/color@workspace:packages/@react-aria/color": +"@react-aria/color@npm:^3.0.4, @react-aria/color@workspace:packages/@react-aria/color": version: 0.0.0-use.local resolution: "@react-aria/color@workspace:packages/@react-aria/color" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/numberfield": "npm:^3.11.10" - "@react-aria/slider": "npm:^3.7.15" - "@react-aria/spinbutton": "npm:^3.6.11" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-stately/color": "npm:^3.8.2" - "@react-stately/form": "npm:^3.1.1" - "@react-types/color": "npm:^3.0.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/numberfield": "npm:^3.11.11" + "@react-aria/slider": "npm:^3.7.16" + "@react-aria/spinbutton": "npm:^3.6.12" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-stately/color": "npm:^3.8.3" + "@react-stately/form": "npm:^3.1.2" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6045,24 +6030,25 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/combobox@npm:^3.11.1, @react-aria/combobox@workspace:packages/@react-aria/combobox": +"@react-aria/combobox@npm:^3.12.0, @react-aria/combobox@workspace:packages/@react-aria/combobox": version: 0.0.0-use.local resolution: "@react-aria/combobox@workspace:packages/@react-aria/combobox" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/listbox": "npm:^3.14.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/listbox": "npm:^3.14.1" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/menu": "npm:^3.17.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/combobox": "npm:^3.10.2" - "@react-stately/form": "npm:^3.1.1" - "@react-types/button": "npm:^3.10.2" - "@react-types/combobox": "npm:^3.13.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/menu": "npm:^3.18.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/combobox": "npm:^3.10.3" + "@react-stately/form": "npm:^3.1.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6070,27 +6056,27 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/datepicker@npm:^3.13.0, @react-aria/datepicker@workspace:packages/@react-aria/datepicker": +"@react-aria/datepicker@npm:^3.14.0, @react-aria/datepicker@workspace:packages/@react-aria/datepicker": version: 0.0.0-use.local resolution: "@react-aria/datepicker@workspace:packages/@react-aria/datepicker" dependencies: "@internationalized/date": "npm:^3.7.0" "@internationalized/number": "npm:^3.6.0" "@internationalized/string": "npm:^3.2.5" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/form": "npm:^3.0.12" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/spinbutton": "npm:^3.6.11" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/datepicker": "npm:^3.12.0" - "@react-stately/form": "npm:^3.1.1" - "@react-types/button": "npm:^3.10.2" - "@react-types/calendar": "npm:^3.6.0" - "@react-types/datepicker": "npm:^3.10.0" - "@react-types/dialog": "npm:^3.5.15" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/spinbutton": "npm:^3.6.12" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-stately/form": "npm:^3.1.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6098,15 +6084,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/dialog@npm:^3.5.21, @react-aria/dialog@workspace:packages/@react-aria/dialog": +"@react-aria/dialog@npm:^3.5.22, @react-aria/dialog@workspace:packages/@react-aria/dialog": version: 0.0.0-use.local resolution: "@react-aria/dialog@workspace:packages/@react-aria/dialog" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/dialog": "npm:^3.5.15" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6114,14 +6100,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/disclosure@npm:^3.0.1, @react-aria/disclosure@workspace:packages/@react-aria/disclosure": +"@react-aria/disclosure@npm:^3.0.2, @react-aria/disclosure@workspace:packages/@react-aria/disclosure": version: 0.0.0-use.local resolution: "@react-aria/disclosure@workspace:packages/@react-aria/disclosure" dependencies: "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/disclosure": "npm:^3.0.1" - "@react-types/button": "npm:^3.10.2" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/disclosure": "npm:^3.0.2" + "@react-types/button": "npm:^3.11.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6129,19 +6115,19 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/dnd@npm:^3.0.0, @react-aria/dnd@npm:^3.1.0, @react-aria/dnd@npm:^3.8.1, @react-aria/dnd@workspace:packages/@react-aria/dnd": +"@react-aria/dnd@npm:^3.0.0, @react-aria/dnd@npm:^3.1.0, @react-aria/dnd@npm:^3.9.0, @react-aria/dnd@workspace:packages/@react-aria/dnd": version: 0.0.0-use.local resolution: "@react-aria/dnd@workspace:packages/@react-aria/dnd" dependencies: "@internationalized/string": "npm:^3.2.5" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/dnd": "npm:^3.5.1" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/dnd": "npm:^3.5.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6155,13 +6141,13 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/focus@npm:^3.19.1, @react-aria/focus@workspace:packages/@react-aria/focus": +"@react-aria/focus@npm:^3.20.0, @react-aria/focus@workspace:packages/@react-aria/focus": version: 0.0.0-use.local resolution: "@react-aria/focus@workspace:packages/@react-aria/focus" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: @@ -6170,14 +6156,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/form@npm:^3.0.12, @react-aria/form@workspace:packages/@react-aria/form": +"@react-aria/form@npm:^3.0.13, @react-aria/form@workspace:packages/@react-aria/form": version: 0.0.0-use.local resolution: "@react-aria/form@workspace:packages/@react-aria/form" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/form": "npm:^3.1.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/form": "npm:^3.1.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6185,22 +6171,22 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/grid@npm:^3.11.1, @react-aria/grid@workspace:packages/@react-aria/grid": +"@react-aria/grid@npm:^3.12.0, @react-aria/grid@workspace:packages/@react-aria/grid": version: 0.0.0-use.local resolution: "@react-aria/grid@workspace:packages/@react-aria/grid" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/grid": "npm:^3.10.1" - "@react-stately/selection": "npm:^3.19.0" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/grid": "npm:^3.11.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6208,20 +6194,20 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/gridlist@npm:^3.10.1, @react-aria/gridlist@workspace:packages/@react-aria/gridlist": +"@react-aria/gridlist@npm:^3.11.0, @react-aria/gridlist@workspace:packages/@react-aria/gridlist": version: 0.0.0-use.local resolution: "@react-aria/gridlist@workspace:packages/@react-aria/gridlist" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/grid": "npm:^3.11.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/grid": "npm:^3.12.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6229,7 +6215,7 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/i18n@npm:^3.12.5, @react-aria/i18n@npm:^3.6.3, @react-aria/i18n@workspace:packages/@react-aria/i18n": +"@react-aria/i18n@npm:^3.12.6, @react-aria/i18n@npm:^3.6.3, @react-aria/i18n@workspace:packages/@react-aria/i18n": version: 0.0.0-use.local resolution: "@react-aria/i18n@workspace:packages/@react-aria/i18n" dependencies: @@ -6238,8 +6224,8 @@ __metadata: "@internationalized/number": "npm:^3.6.0" "@internationalized/string": "npm:^3.2.5" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6247,14 +6233,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/interactions@npm:^3.1.0, @react-aria/interactions@npm:^3.23.0, @react-aria/interactions@workspace:packages/@react-aria/interactions": +"@react-aria/interactions@npm:^3.1.0, @react-aria/interactions@npm:^3.24.0, @react-aria/interactions@workspace:packages/@react-aria/interactions": version: 0.0.0-use.local resolution: "@react-aria/interactions@workspace:packages/@react-aria/interactions" dependencies: "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/flags": "npm:^3.0.5" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/flags": "npm:^3.1.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6262,12 +6248,12 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/label@npm:^3.4.4, @react-aria/label@npm:^3.7.14, @react-aria/label@workspace:packages/@react-aria/label": +"@react-aria/label@npm:^3.4.4, @react-aria/label@npm:^3.7.15, @react-aria/label@workspace:packages/@react-aria/label": version: 0.0.0-use.local resolution: "@react-aria/label@workspace:packages/@react-aria/label" dependencies: - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6275,12 +6261,12 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/landmark@npm:3.0.0-beta.18, @react-aria/landmark@workspace:packages/@react-aria/landmark": +"@react-aria/landmark@npm:^3.0.0, @react-aria/landmark@workspace:packages/@react-aria/landmark": version: 0.0.0-use.local resolution: "@react-aria/landmark@workspace:packages/@react-aria/landmark" dependencies: - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" use-sync-external-store: "npm:^1.4.0" peerDependencies: @@ -6289,14 +6275,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/link@npm:^3.7.8, @react-aria/link@workspace:packages/@react-aria/link": +"@react-aria/link@npm:^3.7.9, @react-aria/link@workspace:packages/@react-aria/link": version: 0.0.0-use.local resolution: "@react-aria/link@workspace:packages/@react-aria/link" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/link": "npm:^3.5.10" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6304,18 +6290,18 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/listbox@npm:^3.14.0, @react-aria/listbox@workspace:packages/@react-aria/listbox": +"@react-aria/listbox@npm:^3.14.1, @react-aria/listbox@workspace:packages/@react-aria/listbox": version: 0.0.0-use.local resolution: "@react-aria/listbox@workspace:packages/@react-aria/listbox" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/list": "npm:^3.11.2" - "@react-types/listbox": "npm:^3.5.4" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/listbox": "npm:^3.5.5" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6331,23 +6317,23 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/menu@npm:^3.17.0, @react-aria/menu@workspace:packages/@react-aria/menu": +"@react-aria/menu@npm:^3.18.0, @react-aria/menu@workspace:packages/@react-aria/menu": version: 0.0.0-use.local resolution: "@react-aria/menu@workspace:packages/@react-aria/menu" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/menu": "npm:^3.9.1" - "@react-stately/selection": "npm:^3.19.0" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/button": "npm:^3.10.2" - "@react-types/menu": "npm:^3.9.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/button": "npm:^3.11.0" + "@react-types/menu": "npm:^3.9.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6355,13 +6341,13 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/meter@npm:^3.4.19, @react-aria/meter@workspace:packages/@react-aria/meter": +"@react-aria/meter@npm:^3.4.20, @react-aria/meter@workspace:packages/@react-aria/meter": version: 0.0.0-use.local resolution: "@react-aria/meter@workspace:packages/@react-aria/meter" dependencies: - "@react-aria/progress": "npm:^3.4.19" - "@react-types/meter": "npm:^3.4.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/progress": "npm:^3.4.20" + "@react-types/meter": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6369,20 +6355,20 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/numberfield@npm:^3.11.10, @react-aria/numberfield@workspace:packages/@react-aria/numberfield": +"@react-aria/numberfield@npm:^3.11.11, @react-aria/numberfield@workspace:packages/@react-aria/numberfield": version: 0.0.0-use.local resolution: "@react-aria/numberfield@workspace:packages/@react-aria/numberfield" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/spinbutton": "npm:^3.6.11" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/numberfield": "npm:^3.9.9" - "@react-types/button": "npm:^3.10.2" - "@react-types/numberfield": "npm:^3.8.8" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/spinbutton": "npm:^3.6.12" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/numberfield": "npm:^3.8.9" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6398,20 +6384,20 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/overlays@npm:^3.25.0, @react-aria/overlays@workspace:packages/@react-aria/overlays": +"@react-aria/overlays@npm:^3.26.0, @react-aria/overlays@workspace:packages/@react-aria/overlays": version: 0.0.0-use.local resolution: "@react-aria/overlays@workspace:packages/@react-aria/overlays" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/button": "npm:^3.10.2" - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/button": "npm:^3.11.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6427,15 +6413,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/progress@npm:^3.4.19, @react-aria/progress@workspace:packages/@react-aria/progress": +"@react-aria/progress@npm:^3.4.20, @react-aria/progress@workspace:packages/@react-aria/progress": version: 0.0.0-use.local resolution: "@react-aria/progress@workspace:packages/@react-aria/progress" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/progress": "npm:^3.5.9" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/progress": "npm:^3.5.10" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6443,19 +6429,19 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/radio@npm:^3.10.11, @react-aria/radio@workspace:packages/@react-aria/radio": +"@react-aria/radio@npm:^3.11.0, @react-aria/radio@workspace:packages/@react-aria/radio": version: 0.0.0-use.local resolution: "@react-aria/radio@workspace:packages/@react-aria/radio" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/form": "npm:^3.0.12" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/radio": "npm:^3.10.10" - "@react-types/radio": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/radio": "npm:^3.10.11" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6463,17 +6449,17 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/searchfield@npm:^3.8.0, @react-aria/searchfield@workspace:packages/@react-aria/searchfield": +"@react-aria/searchfield@npm:^3.8.1, @react-aria/searchfield@workspace:packages/@react-aria/searchfield": version: 0.0.0-use.local resolution: "@react-aria/searchfield@workspace:packages/@react-aria/searchfield" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/searchfield": "npm:^3.5.9" - "@react-types/button": "npm:^3.10.2" - "@react-types/searchfield": "npm:^3.5.11" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6481,23 +6467,23 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/select@npm:^3.15.1, @react-aria/select@workspace:packages/@react-aria/select": +"@react-aria/select@npm:^3.15.2, @react-aria/select@workspace:packages/@react-aria/select": version: 0.0.0-use.local resolution: "@react-aria/select@workspace:packages/@react-aria/select" dependencies: - "@react-aria/form": "npm:^3.0.12" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/listbox": "npm:^3.14.0" - "@react-aria/menu": "npm:^3.17.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-stately/select": "npm:^3.6.10" - "@react-types/button": "npm:^3.10.2" - "@react-types/select": "npm:^3.9.9" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/listbox": "npm:^3.14.1" + "@react-aria/menu": "npm:^3.18.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-stately/select": "npm:^3.6.11" + "@react-types/button": "npm:^3.11.0" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6505,16 +6491,16 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/selection@npm:^3.22.0, @react-aria/selection@workspace:packages/@react-aria/selection": +"@react-aria/selection@npm:^3.23.0, @react-aria/selection@workspace:packages/@react-aria/selection": version: 0.0.0-use.local resolution: "@react-aria/selection@workspace:packages/@react-aria/selection" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/selection": "npm:^3.19.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6522,12 +6508,12 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/separator@npm:^3.4.5, @react-aria/separator@workspace:packages/@react-aria/separator": +"@react-aria/separator@npm:^3.4.6, @react-aria/separator@workspace:packages/@react-aria/separator": version: 0.0.0-use.local resolution: "@react-aria/separator@workspace:packages/@react-aria/separator" dependencies: - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6535,17 +6521,17 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/slider@npm:^3.7.15, @react-aria/slider@workspace:packages/@react-aria/slider": +"@react-aria/slider@npm:^3.7.16, @react-aria/slider@workspace:packages/@react-aria/slider": version: 0.0.0-use.local resolution: "@react-aria/slider@workspace:packages/@react-aria/slider" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/slider": "npm:^3.6.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/slider": "npm:^3.7.8" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/slider": "npm:^3.6.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6553,15 +6539,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/spinbutton@npm:^3.6.11, @react-aria/spinbutton@workspace:packages/@react-aria/spinbutton": +"@react-aria/spinbutton@npm:^3.6.12, @react-aria/spinbutton@workspace:packages/@react-aria/spinbutton": version: 0.0.0-use.local resolution: "@react-aria/spinbutton@workspace:packages/@react-aria/spinbutton" dependencies: - "@react-aria/i18n": "npm:^3.12.5" + "@react-aria/i18n": "npm:^3.12.6" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6579,15 +6565,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/steplist@npm:3.0.0-alpha.13, @react-aria/steplist@workspace:packages/@react-aria/steplist": +"@react-aria/steplist@npm:3.0.0-alpha.14, @react-aria/steplist@workspace:packages/@react-aria/steplist": version: 0.0.0-use.local resolution: "@react-aria/steplist@workspace:packages/@react-aria/steplist" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/steplist": "npm:3.0.0-alpha.11" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/steplist": "npm:3.0.0-alpha.12" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6595,14 +6581,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/switch@npm:^3.6.11, @react-aria/switch@workspace:packages/@react-aria/switch": +"@react-aria/switch@npm:^3.7.0, @react-aria/switch@workspace:packages/@react-aria/switch": version: 0.0.0-use.local resolution: "@react-aria/switch@workspace:packages/@react-aria/switch" dependencies: - "@react-aria/toggle": "npm:^3.10.11" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/switch": "npm:^3.5.8" + "@react-aria/toggle": "npm:^3.11.0" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/switch": "npm:^3.5.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6610,24 +6596,24 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/table@npm:^3.16.1, @react-aria/table@workspace:packages/@react-aria/table": +"@react-aria/table@npm:^3.17.0, @react-aria/table@workspace:packages/@react-aria/table": version: 0.0.0-use.local resolution: "@react-aria/table@workspace:packages/@react-aria/table" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/grid": "npm:^3.11.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/grid": "npm:^3.12.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/flags": "npm:^3.0.5" - "@react-stately/table": "npm:^3.13.1" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/table": "npm:^3.14.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6635,17 +6621,17 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/tabs@npm:^3.9.9, @react-aria/tabs@workspace:packages/@react-aria/tabs": +"@react-aria/tabs@npm:^3.10.0, @react-aria/tabs@workspace:packages/@react-aria/tabs": version: 0.0.0-use.local resolution: "@react-aria/tabs@workspace:packages/@react-aria/tabs" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/tabs": "npm:^3.7.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/tabs": "npm:^3.3.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/tabs": "npm:^3.8.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6653,19 +6639,19 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/tag@npm:^3.4.9, @react-aria/tag@workspace:packages/@react-aria/tag": +"@react-aria/tag@npm:^3.5.0, @react-aria/tag@workspace:packages/@react-aria/tag": version: 0.0.0-use.local resolution: "@react-aria/tag@workspace:packages/@react-aria/tag" dependencies: - "@react-aria/gridlist": "npm:^3.10.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/list": "npm:^3.11.2" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/gridlist": "npm:^3.11.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/list": "npm:^3.12.0" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6687,7 +6673,7 @@ __metadata: languageName: node linkType: hard -"@react-aria/test-utils@npm:1.0.0-alpha.4, @react-aria/test-utils@workspace:packages/@react-aria/test-utils": +"@react-aria/test-utils@npm:1.0.0-alpha.5, @react-aria/test-utils@workspace:packages/@react-aria/test-utils": version: 0.0.0-use.local resolution: "@react-aria/test-utils@workspace:packages/@react-aria/test-utils" dependencies: @@ -6699,18 +6685,18 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/textfield@npm:^3.16.0, @react-aria/textfield@workspace:packages/@react-aria/textfield": +"@react-aria/textfield@npm:^3.17.0, @react-aria/textfield@workspace:packages/@react-aria/textfield": version: 0.0.0-use.local resolution: "@react-aria/textfield@workspace:packages/@react-aria/textfield" dependencies: - "@react-aria/form": "npm:^3.0.12" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/form": "npm:^3.1.1" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/form": "npm:^3.1.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" - "@react-types/textfield": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6718,17 +6704,17 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/toast@npm:3.0.0-beta.19, @react-aria/toast@workspace:packages/@react-aria/toast": +"@react-aria/toast@npm:^3.0.0, @react-aria/toast@workspace:packages/@react-aria/toast": version: 0.0.0-use.local resolution: "@react-aria/toast@workspace:packages/@react-aria/toast" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/landmark": "npm:3.0.0-beta.18" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/toast": "npm:3.0.0-beta.7" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/landmark": "npm:^3.0.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/toast": "npm:^3.0.0" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6736,15 +6722,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/toggle@npm:^3.10.11, @react-aria/toggle@workspace:packages/@react-aria/toggle": +"@react-aria/toggle@npm:^3.11.0, @react-aria/toggle@workspace:packages/@react-aria/toggle": version: 0.0.0-use.local resolution: "@react-aria/toggle@workspace:packages/@react-aria/toggle" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6752,14 +6738,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/toolbar@npm:3.0.0-beta.12, @react-aria/toolbar@workspace:packages/@react-aria/toolbar": +"@react-aria/toolbar@npm:3.0.0-beta.13, @react-aria/toolbar@workspace:packages/@react-aria/toolbar": version: 0.0.0-use.local resolution: "@react-aria/toolbar@workspace:packages/@react-aria/toolbar" dependencies: - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6767,15 +6753,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/tooltip@npm:^3.7.11, @react-aria/tooltip@workspace:packages/@react-aria/tooltip": +"@react-aria/tooltip@npm:^3.8.0, @react-aria/tooltip@workspace:packages/@react-aria/tooltip": version: 0.0.0-use.local resolution: "@react-aria/tooltip@workspace:packages/@react-aria/tooltip" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/tooltip": "npm:^3.5.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/tooltip": "npm:^3.4.14" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tooltip": "npm:^3.4.15" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6783,17 +6769,17 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/tree@npm:3.0.0-beta.3, @react-aria/tree@npm:^3.0.0-beta.3, @react-aria/tree@workspace:packages/@react-aria/tree": +"@react-aria/tree@npm:^3.0.0, @react-aria/tree@workspace:packages/@react-aria/tree": version: 0.0.0-use.local resolution: "@react-aria/tree@workspace:packages/@react-aria/tree" dependencies: - "@react-aria/gridlist": "npm:^3.10.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/gridlist": "npm:^3.11.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6801,14 +6787,14 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/utils@npm:^3.14.2, @react-aria/utils@npm:^3.27.0, @react-aria/utils@npm:^3.8.0, @react-aria/utils@workspace:packages/@react-aria/utils": +"@react-aria/utils@npm:^3.14.2, @react-aria/utils@npm:^3.28.0, @react-aria/utils@npm:^3.8.0, @react-aria/utils@workspace:packages/@react-aria/utils": version: 0.0.0-use.local resolution: "@react-aria/utils@workspace:packages/@react-aria/utils" dependencies: "@react-aria/ssr": "npm:^3.9.7" - "@react-stately/flags": "npm:^3.0.5" + "@react-stately/flags": "npm:^3.1.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: @@ -6817,15 +6803,15 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/virtualizer@npm:^4.1.1, @react-aria/virtualizer@workspace:packages/@react-aria/virtualizer": +"@react-aria/virtualizer@npm:^4.1.2, @react-aria/virtualizer@workspace:packages/@react-aria/virtualizer": version: 0.0.0-use.local resolution: "@react-aria/virtualizer@workspace:packages/@react-aria/virtualizer" dependencies: - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6833,13 +6819,13 @@ __metadata: languageName: unknown linkType: soft -"@react-aria/visually-hidden@npm:^3.1.0, @react-aria/visually-hidden@npm:^3.6.1, @react-aria/visually-hidden@npm:^3.8.19, @react-aria/visually-hidden@workspace:packages/@react-aria/visually-hidden": +"@react-aria/visually-hidden@npm:^3.1.0, @react-aria/visually-hidden@npm:^3.6.1, @react-aria/visually-hidden@npm:^3.8.20, @react-aria/visually-hidden@workspace:packages/@react-aria/visually-hidden": version: 0.0.0-use.local resolution: "@react-aria/visually-hidden@workspace:packages/@react-aria/visually-hidden" dependencies: - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6847,17 +6833,17 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/accordion@npm:^3.0.2, @react-spectrum/accordion@workspace:packages/@react-spectrum/accordion": +"@react-spectrum/accordion@npm:^3.0.3, @react-spectrum/accordion@workspace:packages/@react-spectrum/accordion": version: 0.0.0-use.local resolution: "@react-spectrum/accordion@workspace:packages/@react-spectrum/accordion" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/i18n": "npm:^3.12.6" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -6865,25 +6851,25 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/actionbar@npm:^3.6.3, @react-spectrum/actionbar@workspace:packages/@react-spectrum/actionbar": +"@react-spectrum/actionbar@npm:^3.6.4, @react-spectrum/actionbar@workspace:packages/@react-spectrum/actionbar": version: 0.0.0-use.local resolution: "@react-spectrum/actionbar@workspace:packages/@react-spectrum/actionbar" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/actiongroup": "npm:^3.10.11" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-types/actionbar": "npm:^3.1.12" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/actiongroup": "npm:^3.10.12" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-types/actionbar": "npm:^3.1.13" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -6892,26 +6878,26 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/actiongroup@npm:^3.10.11, @react-spectrum/actiongroup@workspace:packages/@react-spectrum/actiongroup": +"@react-spectrum/actiongroup@npm:^3.10.12, @react-spectrum/actiongroup@workspace:packages/@react-spectrum/actiongroup": version: 0.0.0-use.local resolution: "@react-spectrum/actiongroup@workspace:packages/@react-spectrum/actiongroup" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/actiongroup": "npm:^3.7.12" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/menu": "npm:^3.21.1" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/tooltip": "npm:^3.7.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/list": "npm:^3.11.2" - "@react-types/actiongroup": "npm:^3.4.14" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" - "@spectrum-icons/workflow": "npm:^4.2.17" + "@react-aria/actiongroup": "npm:^3.7.13" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/menu": "npm:^3.21.2" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/tooltip": "npm:^3.7.2" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/actiongroup": "npm:^3.4.15" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" + "@spectrum-icons/workflow": "npm:^4.2.18" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.2.0 @@ -6920,35 +6906,35 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/autocomplete@npm:3.0.0-alpha.39, @react-spectrum/autocomplete@workspace:packages/@react-spectrum/autocomplete": +"@react-spectrum/autocomplete@npm:3.0.0-alpha.40, @react-spectrum/autocomplete@workspace:packages/@react-spectrum/autocomplete": version: 0.0.0-use.local resolution: "@react-spectrum/autocomplete@workspace:packages/@react-spectrum/autocomplete" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/autocomplete": "npm:3.0.0-alpha.37" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/dialog": "npm:^3.5.21" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/form": "npm:^3.0.12" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/listbox": "npm:^3.14.1" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/combobox": "npm:^3.10.2" - "@react-types/autocomplete": "npm:3.0.0-alpha.28" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/autocomplete": "npm:3.0.0-beta.0" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/dialog": "npm:^3.5.22" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/listbox": "npm:^3.14.2" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/combobox": "npm:^3.10.3" + "@react-types/autocomplete": "npm:3.0.0-alpha.29" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -6957,15 +6943,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/avatar@npm:^3.0.18, @react-spectrum/avatar@workspace:packages/@react-spectrum/avatar": +"@react-spectrum/avatar@npm:^3.0.19, @react-spectrum/avatar@workspace:packages/@react-spectrum/avatar": version: 0.0.0-use.local resolution: "@react-spectrum/avatar@workspace:packages/@react-spectrum/avatar" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/avatar": "npm:^3.0.12" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/avatar": "npm:^3.0.13" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.2.1 @@ -6974,16 +6960,16 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/badge@npm:^3.1.19, @react-spectrum/badge@workspace:packages/@react-spectrum/badge": +"@react-spectrum/badge@npm:^3.1.20, @react-spectrum/badge@workspace:packages/@react-spectrum/badge": version: 0.0.0-use.local resolution: "@react-spectrum/badge@workspace:packages/@react-spectrum/badge" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/badge": "npm:^3.1.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/badge": "npm:^3.1.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -6992,23 +6978,23 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/breadcrumbs@npm:^3.1.0, @react-spectrum/breadcrumbs@npm:^3.9.13, @react-spectrum/breadcrumbs@workspace:packages/@react-spectrum/breadcrumbs": +"@react-spectrum/breadcrumbs@npm:^3.1.0, @react-spectrum/breadcrumbs@npm:^3.9.14, @react-spectrum/breadcrumbs@workspace:packages/@react-spectrum/breadcrumbs": version: 0.0.0-use.local resolution: "@react-spectrum/breadcrumbs@workspace:packages/@react-spectrum/breadcrumbs" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/breadcrumbs": "npm:^3.5.20" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/menu": "npm:^3.21.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-types/breadcrumbs": "npm:^3.7.10" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/breadcrumbs": "npm:^3.5.21" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/menu": "npm:^3.21.2" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-types/breadcrumbs": "npm:^3.7.11" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7017,24 +7003,24 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/button@npm:^3.1.0, @react-spectrum/button@npm:^3.16.10, @react-spectrum/button@npm:^3.8.1, @react-spectrum/button@workspace:packages/@react-spectrum/button": +"@react-spectrum/button@npm:^3.1.0, @react-spectrum/button@npm:^3.16.11, @react-spectrum/button@npm:^3.8.1, @react-spectrum/button@workspace:packages/@react-spectrum/button": version: 0.0.0-use.local resolution: "@react-spectrum/button@workspace:packages/@react-spectrum/button" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/progress": "npm:^3.7.12" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/progress": "npm:^3.7.13" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/button": "npm:^3.10.2" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" peerDependencies: @@ -7043,15 +7029,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/buttongroup@npm:^3.6.18, @react-spectrum/buttongroup@workspace:packages/@react-spectrum/buttongroup": +"@react-spectrum/buttongroup@npm:^3.6.19, @react-spectrum/buttongroup@workspace:packages/@react-spectrum/buttongroup": version: 0.0.0-use.local resolution: "@react-spectrum/buttongroup@workspace:packages/@react-spectrum/buttongroup" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/buttongroup": "npm:^3.3.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/buttongroup": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" "@spectrum-icons/workflow": "npm:^4.0.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: @@ -7061,27 +7047,27 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/calendar@npm:^3.6.0, @react-spectrum/calendar@workspace:packages/@react-spectrum/calendar": +"@react-spectrum/calendar@npm:^3.6.1, @react-spectrum/calendar@workspace:packages/@react-spectrum/calendar": version: 0.0.0-use.local resolution: "@react-spectrum/calendar@workspace:packages/@react-spectrum/calendar" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" "@internationalized/date": "npm:^3.7.0" - "@react-aria/calendar": "npm:^3.7.0" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/label": "npm:^3.16.11" + "@react-aria/calendar": "npm:^3.7.1" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/label": "npm:^3.16.12" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/calendar": "npm:^3.7.0" - "@react-types/button": "npm:^3.10.2" - "@react-types/calendar": "npm:^3.6.0" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/calendar": "npm:^3.7.1" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7095,22 +7081,22 @@ __metadata: resolution: "@react-spectrum/card@workspace:packages/@react-spectrum/card" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/grid": "npm:^3.11.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/virtualizer": "npm:^4.1.1" - "@react-spectrum/checkbox": "npm:^3.9.12" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/grid": "npm:^3.10.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/card": "npm:3.0.0-alpha.32" - "@react-types/provider": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/grid": "npm:^3.12.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/virtualizer": "npm:^4.1.2" + "@react-spectrum/checkbox": "npm:^3.9.13" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/grid": "npm:^3.11.0" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/card": "npm:3.0.0-alpha.33" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7119,24 +7105,24 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/checkbox@npm:^3.9.12, @react-spectrum/checkbox@workspace:packages/@react-spectrum/checkbox": +"@react-spectrum/checkbox@npm:^3.9.13, @react-spectrum/checkbox@workspace:packages/@react-spectrum/checkbox": version: 0.0.0-use.local resolution: "@react-spectrum/checkbox@workspace:packages/@react-spectrum/checkbox" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/checkbox": "npm:^3.15.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/checkbox": "npm:^3.6.11" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/checkbox": "npm:^3.15.2" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7151,8 +7137,8 @@ __metadata: "@babel/parser": "npm:^7.24.5" "@babel/traverse": "npm:^7.24.5" "@babel/types": "npm:^7.24.5" - "@react-spectrum/s2": "npm:^0.6.0" - "@react-types/shared": "npm:^3.27.0" + "@react-spectrum/s2": "npm:^0.7.0" + "@react-types/shared": "npm:^3.28.0" "@types/jscodeshift": "npm:^0.11.11" "@types/node": "npm:^20" boxen: "npm:^5.1.2" @@ -7172,31 +7158,31 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/color@npm:^3.0.3, @react-spectrum/color@workspace:packages/@react-spectrum/color": +"@react-spectrum/color@npm:^3.0.4, @react-spectrum/color@workspace:packages/@react-spectrum/color": version: 0.0.0-use.local resolution: "@react-spectrum/color@workspace:packages/@react-spectrum/color" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/color": "npm:^3.0.3" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/dialog": "npm:^3.8.17" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/picker": "npm:^3.15.5" - "@react-spectrum/style-macro-s1": "npm:3.0.0-alpha.2" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-spectrum/view": "npm:^3.6.15" - "@react-stately/color": "npm:^3.8.2" - "@react-types/color": "npm:^3.0.2" - "@react-types/shared": "npm:^3.27.0" - "@react-types/textfield": "npm:^3.11.0" + "@react-aria/color": "npm:^3.0.4" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/dialog": "npm:^3.8.18" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/picker": "npm:^3.15.6" + "@react-spectrum/style-macro-s1": "npm:3.0.0-alpha.3" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-spectrum/view": "npm:^3.6.16" + "@react-stately/color": "npm:^3.8.3" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -7204,35 +7190,35 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/combobox@npm:^3.14.1, @react-spectrum/combobox@workspace:packages/@react-spectrum/combobox": +"@react-spectrum/combobox@npm:^3.15.0, @react-spectrum/combobox@workspace:packages/@react-spectrum/combobox": version: 0.0.0-use.local resolution: "@react-spectrum/combobox@workspace:packages/@react-spectrum/combobox" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/combobox": "npm:^3.11.1" - "@react-aria/dialog": "npm:^3.5.21" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/form": "npm:^3.0.12" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/listbox": "npm:^3.14.1" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/combobox": "npm:^3.10.2" - "@react-types/button": "npm:^3.10.2" - "@react-types/combobox": "npm:^3.13.2" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/combobox": "npm:^3.12.0" + "@react-aria/dialog": "npm:^3.5.22" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/form": "npm:^3.0.13" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/listbox": "npm:^3.14.2" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/combobox": "npm:^3.10.3" + "@react-types/button": "npm:^3.11.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7241,21 +7227,21 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/contextualhelp@npm:^3.6.17, @react-spectrum/contextualhelp@workspace:packages/@react-spectrum/contextualhelp": +"@react-spectrum/contextualhelp@npm:^3.6.18, @react-spectrum/contextualhelp@workspace:packages/@react-spectrum/contextualhelp": version: 0.0.0-use.local resolution: "@react-spectrum/contextualhelp@workspace:packages/@react-spectrum/contextualhelp" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/dialog": "npm:^3.8.17" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/dialog": "npm:^3.8.18" "@react-spectrum/link": "npm:^3.2.0" - "@react-spectrum/utils": "npm:^3.12.1" + "@react-spectrum/utils": "npm:^3.12.2" "@react-spectrum/view": "npm:^3.1.3" - "@react-types/contextualhelp": "npm:^3.2.15" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/workflow": "npm:^4.2.17" + "@react-types/contextualhelp": "npm:^3.2.16" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/workflow": "npm:^4.2.18" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7264,31 +7250,31 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/datepicker@npm:^3.12.0, @react-spectrum/datepicker@workspace:packages/@react-spectrum/datepicker": +"@react-spectrum/datepicker@npm:^3.13.0, @react-spectrum/datepicker@workspace:packages/@react-spectrum/datepicker": version: 0.0.0-use.local resolution: "@react-spectrum/datepicker@workspace:packages/@react-spectrum/datepicker" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" "@internationalized/date": "npm:^3.7.0" - "@react-aria/datepicker": "npm:^3.13.0" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/calendar": "npm:^3.6.0" - "@react-spectrum/dialog": "npm:^3.8.17" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/layout": "npm:^3.6.11" + "@react-aria/datepicker": "npm:^3.14.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/calendar": "npm:^3.6.1" + "@react-spectrum/dialog": "npm:^3.8.18" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/layout": "npm:^3.6.12" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-spectrum/view": "npm:^3.6.15" - "@react-stately/datepicker": "npm:^3.12.0" - "@react-types/datepicker": "npm:^3.10.0" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" - "@spectrum-icons/workflow": "npm:^4.2.17" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-spectrum/view": "npm:^3.6.16" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" + "@spectrum-icons/workflow": "npm:^4.2.18" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7297,30 +7283,30 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/dialog@npm:^3.1.0, @react-spectrum/dialog@npm:^3.8.17, @react-spectrum/dialog@workspace:packages/@react-spectrum/dialog": +"@react-spectrum/dialog@npm:^3.1.0, @react-spectrum/dialog@npm:^3.8.18, @react-spectrum/dialog@workspace:packages/@react-spectrum/dialog": version: 0.0.0-use.local resolution: "@react-spectrum/dialog@workspace:packages/@react-spectrum/dialog" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/dialog": "npm:^3.5.21" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/buttongroup": "npm:^3.6.18" - "@react-spectrum/divider": "npm:^3.5.19" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/overlays": "npm:^5.7.1" + "@react-aria/dialog": "npm:^3.5.22" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/buttongroup": "npm:^3.6.19" + "@react-spectrum/divider": "npm:^3.5.20" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/overlays": "npm:^5.7.2" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-spectrum/view": "npm:^3.6.15" - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/button": "npm:^3.10.2" - "@react-types/dialog": "npm:^3.5.15" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-spectrum/view": "npm:^3.6.16" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/button": "npm:^3.11.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7329,29 +7315,29 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/divider@npm:^3.1.0, @react-spectrum/divider@npm:^3.5.19, @react-spectrum/divider@workspace:packages/@react-spectrum/divider": +"@react-spectrum/divider@npm:^3.1.0, @react-spectrum/divider@npm:^3.5.20, @react-spectrum/divider@workspace:packages/@react-spectrum/divider": version: 0.0.0-use.local resolution: "@react-spectrum/divider@workspace:packages/@react-spectrum/divider" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/separator": "npm:^3.4.5" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/divider": "npm:^3.3.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/separator": "npm:^3.4.6" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/divider": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-spectrum/dnd@npm:^3.5.1, @react-spectrum/dnd@workspace:packages/@react-spectrum/dnd": +"@react-spectrum/dnd@npm:^3.5.2, @react-spectrum/dnd@workspace:packages/@react-spectrum/dnd": version: 0.0.0-use.local resolution: "@react-spectrum/dnd@workspace:packages/@react-spectrum/dnd" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/dnd": "npm:^3.8.1" - "@react-stately/dnd": "npm:^3.5.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/dnd": "npm:^3.9.0" + "@react-stately/dnd": "npm:^3.5.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7369,7 +7355,7 @@ __metadata: "@react-aria/aria-modal-polyfill": "npm:^3.1.0" "@react-aria/interactions": "npm:^3.1.0" "@react-aria/visually-hidden": "npm:^3.1.0" - "@react-spectrum/autocomplete": "npm:3.0.0-alpha.39" + "@react-spectrum/autocomplete": "npm:3.0.0-alpha.40" "@react-spectrum/breadcrumbs": "npm:^3.1.0" "@react-spectrum/button": "npm:^3.1.0" "@react-spectrum/dialog": "npm:^3.1.0" @@ -7398,18 +7384,18 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/dropzone@npm:^3.0.7, @react-spectrum/dropzone@workspace:packages/@react-spectrum/dropzone": +"@react-spectrum/dropzone@npm:^3.0.8, @react-spectrum/dropzone@workspace:packages/@react-spectrum/dropzone": version: 0.0.0-use.local resolution: "@react-spectrum/dropzone@workspace:packages/@react-spectrum/dropzone" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7417,13 +7403,13 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/filetrigger@npm:^3.0.7, @react-spectrum/filetrigger@workspace:packages/@react-spectrum/filetrigger": +"@react-spectrum/filetrigger@npm:^3.0.8, @react-spectrum/filetrigger@workspace:packages/@react-spectrum/filetrigger": version: 0.0.0-use.local resolution: "@react-spectrum/filetrigger@workspace:packages/@react-spectrum/filetrigger" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7431,16 +7417,16 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/form@npm:^3.5.2, @react-spectrum/form@npm:^3.7.11, @react-spectrum/form@workspace:packages/@react-spectrum/form": +"@react-spectrum/form@npm:^3.5.2, @react-spectrum/form@npm:^3.7.12, @react-spectrum/form@workspace:packages/@react-spectrum/form": version: 0.0.0-use.local resolution: "@react-spectrum/form@workspace:packages/@react-spectrum/form" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/form": "npm:^3.1.1" - "@react-types/form": "npm:^3.7.9" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/form": "npm:^3.1.2" + "@react-types/form": "npm:^3.7.10" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7449,14 +7435,14 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/icon@npm:^3.8.1, @react-spectrum/icon@workspace:packages/@react-spectrum/icon": +"@react-spectrum/icon@npm:^3.8.2, @react-spectrum/icon@workspace:packages/@react-spectrum/icon": version: 0.0.0-use.local resolution: "@react-spectrum/icon@workspace:packages/@react-spectrum/icon" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7465,16 +7451,16 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/illustratedmessage@npm:^3.5.0, @react-spectrum/illustratedmessage@npm:^3.5.6, @react-spectrum/illustratedmessage@workspace:packages/@react-spectrum/illustratedmessage": +"@react-spectrum/illustratedmessage@npm:^3.5.0, @react-spectrum/illustratedmessage@npm:^3.5.7, @react-spectrum/illustratedmessage@workspace:packages/@react-spectrum/illustratedmessage": version: 0.0.0-use.local resolution: "@react-spectrum/illustratedmessage@workspace:packages/@react-spectrum/illustratedmessage" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/illustratedmessage": "npm:^3.3.14" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/illustratedmessage": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7483,15 +7469,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/image@npm:^3.5.7, @react-spectrum/image@workspace:packages/@react-spectrum/image": +"@react-spectrum/image@npm:^3.5.8, @react-spectrum/image@workspace:packages/@react-spectrum/image": version: 0.0.0-use.local resolution: "@react-spectrum/image@workspace:packages/@react-spectrum/image" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/image": "npm:^3.4.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/image": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7500,18 +7486,18 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/inlinealert@npm:^3.2.11, @react-spectrum/inlinealert@workspace:packages/@react-spectrum/inlinealert": +"@react-spectrum/inlinealert@npm:^3.2.12, @react-spectrum/inlinealert@workspace:packages/@react-spectrum/inlinealert": version: 0.0.0-use.local resolution: "@react-spectrum/inlinealert@workspace:packages/@react-spectrum/inlinealert" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7520,19 +7506,19 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/label@npm:^3.10.0, @react-spectrum/label@npm:^3.16.11, @react-spectrum/label@workspace:packages/@react-spectrum/label": +"@react-spectrum/label@npm:^3.10.0, @react-spectrum/label@npm:^3.16.12, @react-spectrum/label@workspace:packages/@react-spectrum/label": version: 0.0.0-use.local resolution: "@react-spectrum/label@workspace:packages/@react-spectrum/label" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/label": "npm:^3.9.8" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/label": "npm:^3.9.9" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7541,17 +7527,17 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/labeledvalue@npm:^3.1.19, @react-spectrum/labeledvalue@workspace:packages/@react-spectrum/labeledvalue": +"@react-spectrum/labeledvalue@npm:^3.2.0, @react-spectrum/labeledvalue@workspace:packages/@react-spectrum/labeledvalue": version: 0.0.0-use.local resolution: "@react-spectrum/labeledvalue@workspace:packages/@react-spectrum/labeledvalue" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" "@internationalized/date": "npm:^3.7.0" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7560,15 +7546,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/layout@npm:^3.1.0, @react-spectrum/layout@npm:^3.6.11, @react-spectrum/layout@workspace:packages/@react-spectrum/layout": +"@react-spectrum/layout@npm:^3.1.0, @react-spectrum/layout@npm:^3.6.12, @react-spectrum/layout@workspace:packages/@react-spectrum/layout": version: 0.0.0-use.local resolution: "@react-spectrum/layout@workspace:packages/@react-spectrum/layout" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/layout": "npm:^3.3.20" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/layout": "npm:^3.3.21" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7577,18 +7563,18 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/link@npm:^3.2.0, @react-spectrum/link@npm:^3.6.13, @react-spectrum/link@workspace:packages/@react-spectrum/link": +"@react-spectrum/link@npm:^3.2.0, @react-spectrum/link@npm:^3.6.14, @react-spectrum/link@workspace:packages/@react-spectrum/link": version: 0.0.0-use.local resolution: "@react-spectrum/link@workspace:packages/@react-spectrum/link" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/link": "npm:^3.7.8" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/link": "npm:^3.5.10" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/link": "npm:^3.7.9" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7597,36 +7583,36 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/list@npm:^3.9.1, @react-spectrum/list@workspace:packages/@react-spectrum/list": +"@react-spectrum/list@npm:^3.9.2, @react-spectrum/list@workspace:packages/@react-spectrum/list": version: 0.0.0-use.local resolution: "@react-spectrum/list@workspace:packages/@react-spectrum/list" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" + "@react-aria/button": "npm:^3.12.0" "@react-aria/dnd": "npm:^3.0.0" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/gridlist": "npm:^3.10.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/virtualizer": "npm:^4.1.1" - "@react-aria/visually-hidden": "npm:^3.8.19" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/gridlist": "npm:^3.11.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/virtualizer": "npm:^4.1.2" + "@react-aria/visually-hidden": "npm:^3.8.20" "@react-spectrum/button": "npm:^3.8.1" - "@react-spectrum/checkbox": "npm:^3.9.12" - "@react-spectrum/dnd": "npm:^3.5.1" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" + "@react-spectrum/checkbox": "npm:^3.9.13" + "@react-spectrum/dnd": "npm:^3.5.2" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" "@react-stately/dnd": "npm:^3.0.0" - "@react-stately/layout": "npm:^4.1.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-stately/layout": "npm:^4.2.0" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" react-transition-group: "npm:^4.4.5" peerDependencies: @@ -7636,28 +7622,28 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/listbox@npm:^3.14.1, @react-spectrum/listbox@workspace:packages/@react-spectrum/listbox": +"@react-spectrum/listbox@npm:^3.14.2, @react-spectrum/listbox@workspace:packages/@react-spectrum/listbox": version: 0.0.0-use.local resolution: "@react-spectrum/listbox@workspace:packages/@react-spectrum/listbox" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/listbox": "npm:^3.14.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/virtualizer": "npm:^4.1.1" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/layout": "npm:^4.1.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/listbox": "npm:^3.5.4" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/listbox": "npm:^3.14.1" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/virtualizer": "npm:^4.1.2" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/layout": "npm:^4.2.0" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/listbox": "npm:^3.5.5" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.2.0 @@ -7666,32 +7652,32 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/menu@npm:^3.21.1, @react-spectrum/menu@workspace:packages/@react-spectrum/menu": +"@react-spectrum/menu@npm:^3.21.2, @react-spectrum/menu@workspace:packages/@react-spectrum/menu": version: 0.0.0-use.local resolution: "@react-spectrum/menu@workspace:packages/@react-spectrum/menu" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/menu": "npm:^3.17.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/separator": "npm:^3.4.5" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/menu": "npm:^3.9.1" - "@react-stately/overlays": "npm:^3.6.13" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/menu": "npm:^3.9.14" - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" - "@spectrum-icons/workflow": "npm:^4.2.17" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/menu": "npm:^3.18.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/separator": "npm:^3.4.6" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/menu": "npm:^3.9.15" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" + "@spectrum-icons/workflow": "npm:^4.2.18" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7700,16 +7686,16 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/meter@npm:^3.5.6, @react-spectrum/meter@workspace:packages/@react-spectrum/meter": +"@react-spectrum/meter@npm:^3.5.7, @react-spectrum/meter@workspace:packages/@react-spectrum/meter": version: 0.0.0-use.local resolution: "@react-spectrum/meter@workspace:packages/@react-spectrum/meter" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/meter": "npm:^3.4.19" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/meter": "npm:^3.4.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/meter": "npm:^3.4.20" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/meter": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7718,28 +7704,28 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/numberfield@npm:^3.9.9, @react-spectrum/numberfield@workspace:packages/@react-spectrum/numberfield": +"@react-spectrum/numberfield@npm:^3.9.10, @react-spectrum/numberfield@workspace:packages/@react-spectrum/numberfield": version: 0.0.0-use.local resolution: "@react-spectrum/numberfield@workspace:packages/@react-spectrum/numberfield" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/numberfield": "npm:^3.11.10" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/numberfield": "npm:^3.11.11" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/numberfield": "npm:^3.9.9" - "@react-types/button": "npm:^3.10.2" - "@react-types/numberfield": "npm:^3.8.8" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" - "@spectrum-icons/workflow": "npm:^4.2.17" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/numberfield": "npm:^3.8.9" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" + "@spectrum-icons/workflow": "npm:^4.2.18" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7748,18 +7734,18 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/overlays@npm:^5.7.1, @react-spectrum/overlays@workspace:packages/@react-spectrum/overlays": +"@react-spectrum/overlays@npm:^5.7.2, @react-spectrum/overlays@workspace:packages/@react-spectrum/overlays": version: 0.0.0-use.local resolution: "@react-spectrum/overlays@workspace:packages/@react-spectrum/overlays" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" react-transition-group: "npm:^4.4.5" peerDependencies: @@ -7769,7 +7755,7 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/parcel-transformer-s2-icon@npm:^0.2.0, @react-spectrum/parcel-transformer-s2-icon@workspace:packages/dev/parcel-transformer-s2-icon": +"@react-spectrum/parcel-transformer-s2-icon@npm:^0.2.1, @react-spectrum/parcel-transformer-s2-icon@workspace:packages/dev/parcel-transformer-s2-icon": version: 0.0.0-use.local resolution: "@react-spectrum/parcel-transformer-s2-icon@workspace:packages/dev/parcel-transformer-s2-icon" dependencies: @@ -7781,28 +7767,28 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/picker@npm:^3.1.0, @react-spectrum/picker@npm:^3.15.5, @react-spectrum/picker@workspace:packages/@react-spectrum/picker": +"@react-spectrum/picker@npm:^3.1.0, @react-spectrum/picker@npm:^3.15.6, @react-spectrum/picker@workspace:packages/@react-spectrum/picker": version: 0.0.0-use.local resolution: "@react-spectrum/picker@workspace:packages/@react-spectrum/picker" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/select": "npm:^3.15.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/listbox": "npm:^3.14.1" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/select": "npm:^3.6.10" - "@react-types/select": "npm:^3.9.9" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/select": "npm:^3.15.2" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/listbox": "npm:^3.14.2" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/select": "npm:^3.6.11" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.1.4 @@ -7811,16 +7797,16 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/progress@npm:^3.7.12, @react-spectrum/progress@workspace:packages/@react-spectrum/progress": +"@react-spectrum/progress@npm:^3.7.13, @react-spectrum/progress@workspace:packages/@react-spectrum/progress": version: 0.0.0-use.local resolution: "@react-spectrum/progress@workspace:packages/@react-spectrum/progress" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/progress": "npm:^3.4.19" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/progress": "npm:^3.5.9" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/progress": "npm:^3.4.20" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/progress": "npm:^3.5.10" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7829,17 +7815,17 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/provider@npm:^3.1.0, @react-spectrum/provider@npm:^3.10.1, @react-spectrum/provider@workspace:packages/@react-spectrum/provider": +"@react-spectrum/provider@npm:^3.1.0, @react-spectrum/provider@npm:^3.10.2, @react-spectrum/provider@workspace:packages/@react-spectrum/provider": version: 0.0.0-use.local resolution: "@react-spectrum/provider@workspace:packages/@react-spectrum/provider" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/provider": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: @@ -7848,20 +7834,20 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/radio@npm:^3.7.12, @react-spectrum/radio@workspace:packages/@react-spectrum/radio": +"@react-spectrum/radio@npm:^3.7.13, @react-spectrum/radio@workspace:packages/@react-spectrum/radio": version: 0.0.0-use.local resolution: "@react-spectrum/radio@workspace:packages/@react-spectrum/radio" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/radio": "npm:^3.10.11" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/radio": "npm:^3.10.10" - "@react-types/radio": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/radio": "npm:^3.11.0" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/radio": "npm:^3.10.11" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7882,65 +7868,62 @@ __metadata: "@parcel/reporter-cli": "npm:^2.13.1" "@parcel/resolver-default": "npm:^2.13.1" "@parcel/transformer-raw": "npm:^2.13.1" - "@react-spectrum/parcel-transformer-s2-icon": "npm:^0.2.0" + "@react-spectrum/parcel-transformer-s2-icon": "npm:^0.2.1" bin: transform-icons: index.js languageName: unknown linkType: soft -"@react-spectrum/s2@npm:^0.6.0, @react-spectrum/s2@workspace:packages/@react-spectrum/s2": +"@react-spectrum/s2@npm:^0.7.0, @react-spectrum/s2@workspace:packages/@react-spectrum/s2": version: 0.0.0-use.local resolution: "@react-spectrum/s2@workspace:packages/@react-spectrum/s2" dependencies: "@adobe/spectrum-tokens": "npm:^13.0.0-beta.56" "@parcel/macros": "npm:^2.13.0" - "@react-aria/collections": "npm:3.0.0-alpha.7" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/collections": "npm:3.0.0-beta.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" "@react-aria/test-utils": "npm:1.0.0-alpha.3" - "@react-aria/tree": "npm:3.0.0-beta.3" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/layout": "npm:^4.1.1" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/layout": "npm:^4.2.0" "@react-stately/utils": "npm:^3.10.5" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/color": "npm:^3.0.2" - "@react-types/dialog": "npm:^3.5.15" - "@react-types/grid": "npm:^3.2.11" - "@react-types/provider": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" - "@react-types/textfield": "npm:^3.11.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/grid": "npm:^3.3.0" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@react-types/textfield": "npm:^3.12.0" "@testing-library/dom": "npm:^10.1.0" "@testing-library/react": "npm:^15.0.7" - "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch" + "@testing-library/user-event": "npm:^14.0.0" csstype: "npm:^3.0.2" jest: "npm:^29.5.0" - react-aria: "npm:^3.37.0" - react-aria-components: "npm:^1.6.0" + react-aria: "npm:^3.38.0" + react-aria-components: "npm:^1.7.0" peerDependencies: react: ^18.0.0 || ^19.0.0-rc.1 react-dom: ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-spectrum/searchfield@npm:^3.8.12, @react-spectrum/searchfield@workspace:packages/@react-spectrum/searchfield": +"@react-spectrum/searchfield@npm:^3.8.13, @react-spectrum/searchfield@workspace:packages/@react-spectrum/searchfield": version: 0.0.0-use.local resolution: "@react-spectrum/searchfield@workspace:packages/@react-spectrum/searchfield" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/searchfield": "npm:^3.8.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/form": "npm:^3.7.11" + "@react-aria/searchfield": "npm:^3.8.1" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/form": "npm:^3.7.12" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/textfield": "npm:^3.12.8" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/searchfield": "npm:^3.5.9" - "@react-types/searchfield": "npm:^3.5.11" - "@react-types/textfield": "npm:^3.11.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-spectrum/textfield": "npm:^3.13.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/textfield": "npm:^3.12.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7971,21 +7954,21 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/slider@npm:^3.7.1, @react-spectrum/slider@workspace:packages/@react-spectrum/slider": +"@react-spectrum/slider@npm:^3.7.2, @react-spectrum/slider@workspace:packages/@react-spectrum/slider": version: 0.0.0-use.local resolution: "@react-spectrum/slider@workspace:packages/@react-spectrum/slider" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/slider": "npm:^3.7.15" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/slider": "npm:^3.6.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/slider": "npm:^3.7.8" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/slider": "npm:^3.7.16" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/slider": "npm:^3.6.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -7994,15 +7977,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/statuslight@npm:^3.5.18, @react-spectrum/statuslight@workspace:packages/@react-spectrum/statuslight": +"@react-spectrum/statuslight@npm:^3.5.19, @react-spectrum/statuslight@workspace:packages/@react-spectrum/statuslight": version: 0.0.0-use.local resolution: "@react-spectrum/statuslight@workspace:packages/@react-spectrum/statuslight" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/statuslight": "npm:^3.3.14" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/statuslight": "npm:^3.3.15" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8016,17 +7999,17 @@ __metadata: resolution: "@react-spectrum/steplist@workspace:packages/@react-spectrum/steplist" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/steplist": "npm:3.0.0-alpha.13" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/steplist": "npm:3.0.0-alpha.11" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/steplist": "npm:3.0.0-alpha.14" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/steplist": "npm:3.0.0-alpha.12" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8048,24 +8031,24 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/style-macro-s1@npm:3.0.0-alpha.2, @react-spectrum/style-macro-s1@workspace:packages/@react-spectrum/style-macro-s1": +"@react-spectrum/style-macro-s1@npm:3.0.0-alpha.3, @react-spectrum/style-macro-s1@workspace:packages/@react-spectrum/style-macro-s1": version: 0.0.0-use.local resolution: "@react-spectrum/style-macro-s1@workspace:packages/@react-spectrum/style-macro-s1" languageName: unknown linkType: soft -"@react-spectrum/switch@npm:^3.5.11, @react-spectrum/switch@workspace:packages/@react-spectrum/switch": +"@react-spectrum/switch@npm:^3.5.12, @react-spectrum/switch@workspace:packages/@react-spectrum/switch": version: 0.0.0-use.local resolution: "@react-spectrum/switch@workspace:packages/@react-spectrum/switch" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/switch": "npm:^3.6.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/toggle": "npm:^3.8.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/switch": "npm:^3.5.8" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/switch": "npm:^3.7.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/switch": "npm:^3.5.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8073,38 +8056,38 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/table@npm:^3.15.1, @react-spectrum/table@workspace:packages/@react-spectrum/table": +"@react-spectrum/table@npm:^3.16.0, @react-spectrum/table@workspace:packages/@react-spectrum/table": version: 0.0.0-use.local resolution: "@react-spectrum/table@workspace:packages/@react-spectrum/table" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" + "@react-aria/button": "npm:^3.12.0" "@react-aria/dnd": "npm:^3.1.0" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/table": "npm:^3.16.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/virtualizer": "npm:^4.1.1" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-spectrum/checkbox": "npm:^3.9.12" - "@react-spectrum/dnd": "npm:^3.5.1" - "@react-spectrum/layout": "npm:^3.6.11" - "@react-spectrum/menu": "npm:^3.21.1" - "@react-spectrum/progress": "npm:^3.7.12" - "@react-spectrum/tooltip": "npm:^3.7.1" - "@react-spectrum/utils": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/table": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/virtualizer": "npm:^4.1.2" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-spectrum/checkbox": "npm:^3.9.13" + "@react-spectrum/dnd": "npm:^3.5.2" + "@react-spectrum/layout": "npm:^3.6.12" + "@react-spectrum/menu": "npm:^3.21.2" + "@react-spectrum/progress": "npm:^3.7.13" + "@react-spectrum/tooltip": "npm:^3.7.2" + "@react-spectrum/utils": "npm:^3.12.2" "@react-stately/dnd": "npm:^3.1.0" - "@react-stately/flags": "npm:^3.0.5" - "@react-stately/layout": "npm:^4.1.1" - "@react-stately/table": "npm:^3.13.1" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/layout": "npm:^4.2.0" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8113,25 +8096,25 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/tabs@npm:^3.8.16, @react-spectrum/tabs@workspace:packages/@react-spectrum/tabs": +"@react-spectrum/tabs@npm:^3.8.17, @react-spectrum/tabs@workspace:packages/@react-spectrum/tabs": version: 0.0.0-use.local resolution: "@react-spectrum/tabs@workspace:packages/@react-spectrum/tabs" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/tabs": "npm:^3.9.9" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/picker": "npm:^3.15.5" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/tabs": "npm:^3.7.1" - "@react-types/select": "npm:^3.9.9" - "@react-types/shared": "npm:^3.27.0" - "@react-types/tabs": "npm:^3.3.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/tabs": "npm:^3.10.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/picker": "npm:^3.15.6" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/tabs": "npm:^3.8.0" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8140,25 +8123,25 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/tag@npm:^3.2.12, @react-spectrum/tag@workspace:packages/@react-spectrum/tag": +"@react-spectrum/tag@npm:^3.2.13, @react-spectrum/tag@workspace:packages/@react-spectrum/tag": version: 0.0.0-use.local resolution: "@react-spectrum/tag@workspace:packages/@react-spectrum/tag" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/tag": "npm:^3.4.9" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/list": "npm:^3.11.2" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/tag": "npm:^3.5.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8173,13 +8156,13 @@ __metadata: dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" "@react-aria/ssr": "npm:^3.0.0" - "@react-spectrum/test-utils": "npm:1.0.0-alpha.4" + "@react-spectrum/test-utils": "npm:1.0.0-alpha.5" "@react-spectrum/theme-default": "npm:^3.5.13" "@swc/helpers": "npm:^0.5.0" "@testing-library/dom": "npm:^10.1.0" "@testing-library/jest-dom": "npm:^5.16.4" "@testing-library/react": "npm:^15.0.7" - "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch" + "@testing-library/user-event": "npm:^14.0.0" jest: "npm:^29.5.0" resolve: "npm:^1.17.0" peerDependencies: @@ -8189,12 +8172,12 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/test-utils@npm:1.0.0-alpha.4, @react-spectrum/test-utils@workspace:packages/@react-spectrum/test-utils": +"@react-spectrum/test-utils@npm:1.0.0-alpha.5, @react-spectrum/test-utils@workspace:packages/@react-spectrum/test-utils": version: 0.0.0-use.local resolution: "@react-spectrum/test-utils@workspace:packages/@react-spectrum/test-utils" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/test-utils": "npm:1.0.0-alpha.4" + "@react-aria/test-utils": "npm:1.0.0-alpha.5" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@testing-library/react": ^15.0.7 @@ -8204,17 +8187,17 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/text@npm:^3.1.0, @react-spectrum/text@npm:^3.5.11, @react-spectrum/text@workspace:packages/@react-spectrum/text": +"@react-spectrum/text@npm:^3.1.0, @react-spectrum/text@npm:^3.5.12, @react-spectrum/text@workspace:packages/@react-spectrum/text": version: 0.0.0-use.local resolution: "@react-spectrum/text@workspace:packages/@react-spectrum/text" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/text": "npm:^3.3.14" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/text": "npm:^3.3.15" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8222,22 +8205,22 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/textfield@npm:^3.12.8, @react-spectrum/textfield@workspace:packages/@react-spectrum/textfield": +"@react-spectrum/textfield@npm:^3.13.0, @react-spectrum/textfield@workspace:packages/@react-spectrum/textfield": version: 0.0.0-use.local resolution: "@react-spectrum/textfield@workspace:packages/@react-spectrum/textfield" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/form": "npm:^3.7.11" - "@react-spectrum/label": "npm:^3.16.11" - "@react-spectrum/utils": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/form": "npm:^3.7.12" + "@react-spectrum/label": "npm:^3.16.12" + "@react-spectrum/utils": "npm:^3.12.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" - "@react-types/textfield": "npm:^3.11.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@spectrum-icons/workflow": "npm:^4.0.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: @@ -8247,24 +8230,24 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/theme-dark@npm:^3.5.15, @react-spectrum/theme-dark@workspace:packages/@react-spectrum/theme-dark": +"@react-spectrum/theme-dark@npm:^3.5.16, @react-spectrum/theme-dark@workspace:packages/@react-spectrum/theme-dark": version: 0.0.0-use.local resolution: "@react-spectrum/theme-dark@workspace:packages/@react-spectrum/theme-dark" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-types/provider": "npm:^3.8.6" + "@react-types/provider": "npm:^3.8.7" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-spectrum/theme-default@npm:^3.1.0, @react-spectrum/theme-default@npm:^3.5.13, @react-spectrum/theme-default@npm:^3.5.15, @react-spectrum/theme-default@workspace:packages/@react-spectrum/theme-default": +"@react-spectrum/theme-default@npm:^3.1.0, @react-spectrum/theme-default@npm:^3.5.13, @react-spectrum/theme-default@npm:^3.5.16, @react-spectrum/theme-default@workspace:packages/@react-spectrum/theme-default": version: 0.0.0-use.local resolution: "@react-spectrum/theme-default@workspace:packages/@react-spectrum/theme-default" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-types/provider": "npm:^3.8.6" + "@react-types/provider": "npm:^3.8.7" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8276,42 +8259,42 @@ __metadata: resolution: "@react-spectrum/theme-express@workspace:packages/@react-spectrum/theme-express" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-spectrum/theme-default": "npm:^3.5.15" - "@react-types/provider": "npm:^3.8.6" + "@react-spectrum/theme-default": "npm:^3.5.16" + "@react-types/provider": "npm:^3.8.7" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-spectrum/theme-light@npm:^3.4.15, @react-spectrum/theme-light@workspace:packages/@react-spectrum/theme-light": +"@react-spectrum/theme-light@npm:^3.4.16, @react-spectrum/theme-light@workspace:packages/@react-spectrum/theme-light": version: 0.0.0-use.local resolution: "@react-spectrum/theme-light@workspace:packages/@react-spectrum/theme-light" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-types/provider": "npm:^3.8.6" + "@react-types/provider": "npm:^3.8.7" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-spectrum/toast@workspace:packages/@react-spectrum/toast": +"@react-spectrum/toast@npm:^3.0.0, @react-spectrum/toast@workspace:packages/@react-spectrum/toast": version: 0.0.0-use.local resolution: "@react-spectrum/toast@workspace:packages/@react-spectrum/toast" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/toast": "npm:3.0.0-beta.19" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/button": "npm:^3.16.10" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/toast": "npm:^3.0.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/button": "npm:^3.16.11" "@react-spectrum/test-utils-internal": "npm:3.0.0-alpha.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/toast": "npm:3.0.0-beta.7" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/toast": "npm:^3.0.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" "@types/use-sync-external-store": "npm:^0.0.3" use-sync-external-store: "npm:^1.4.0" @@ -8322,22 +8305,22 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/tooltip@npm:^3.7.1, @react-spectrum/tooltip@workspace:packages/@react-spectrum/tooltip": +"@react-spectrum/tooltip@npm:^3.7.2, @react-spectrum/tooltip@workspace:packages/@react-spectrum/tooltip": version: 0.0.0-use.local resolution: "@react-spectrum/tooltip@workspace:packages/@react-spectrum/tooltip" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/tooltip": "npm:^3.7.11" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/overlays": "npm:^5.7.1" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-stately/tooltip": "npm:^3.5.1" - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" - "@react-types/tooltip": "npm:^3.4.14" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/tooltip": "npm:^3.8.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/overlays": "npm:^5.7.2" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tooltip": "npm:^3.4.15" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8346,23 +8329,23 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/tree@npm:^3.0.0-beta.3, @react-spectrum/tree@workspace:packages/@react-spectrum/tree": +"@react-spectrum/tree@npm:^3.0.0, @react-spectrum/tree@workspace:packages/@react-spectrum/tree": version: 0.0.0-use.local resolution: "@react-spectrum/tree@workspace:packages/@react-spectrum/tree" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/tree": "npm:3.0.0-beta.3" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/checkbox": "npm:^3.9.12" - "@react-spectrum/style-macro-s1": "npm:3.0.0-alpha.2" - "@react-spectrum/text": "npm:^3.5.11" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@spectrum-icons/ui": "npm:^3.6.12" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/tree": "npm:^3.0.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/checkbox": "npm:^3.9.13" + "@react-spectrum/style-macro-s1": "npm:3.0.0-alpha.3" + "@react-spectrum/text": "npm:^3.5.12" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.13" "@swc/helpers": "npm:^0.5.0" - react-aria-components: "npm:^1.6.0" + react-aria-components: "npm:^1.7.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8376,14 +8359,14 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/utils@npm:^3.12.1, @react-spectrum/utils@npm:^3.8.1, @react-spectrum/utils@workspace:packages/@react-spectrum/utils": +"@react-spectrum/utils@npm:^3.12.2, @react-spectrum/utils@npm:^3.8.1, @react-spectrum/utils@workspace:packages/@react-spectrum/utils": version: 0.0.0-use.local resolution: "@react-spectrum/utils@workspace:packages/@react-spectrum/utils" dependencies: - "@react-aria/i18n": "npm:^3.12.5" + "@react-aria/i18n": "npm:^3.12.6" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: @@ -8392,15 +8375,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/view@npm:^3.1.0, @react-spectrum/view@npm:^3.1.3, @react-spectrum/view@npm:^3.6.15, @react-spectrum/view@workspace:packages/@react-spectrum/view": +"@react-spectrum/view@npm:^3.1.0, @react-spectrum/view@npm:^3.1.3, @react-spectrum/view@npm:^3.6.16, @react-spectrum/view@workspace:packages/@react-spectrum/view": version: 0.0.0-use.local resolution: "@react-spectrum/view@workspace:packages/@react-spectrum/view" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/view": "npm:^3.4.14" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/view": "npm:^3.4.15" "@swc/helpers": "npm:^0.5.0" peerDependencies: "@react-spectrum/provider": ^3.0.0 @@ -8409,15 +8392,15 @@ __metadata: languageName: unknown linkType: soft -"@react-spectrum/well@npm:^3.4.19, @react-spectrum/well@workspace:packages/@react-spectrum/well": +"@react-spectrum/well@npm:^3.4.20, @react-spectrum/well@workspace:packages/@react-spectrum/well": version: 0.0.0-use.local resolution: "@react-spectrum/well@workspace:packages/@react-spectrum/well" dependencies: "@adobe/spectrum-css-temp": "npm:3.0.0-alpha.1" - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/utils": "npm:^3.12.1" - "@react-types/shared": "npm:^3.27.0" - "@react-types/well": "npm:^3.3.14" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/utils": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/well": "npm:^3.3.15" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8425,7 +8408,7 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/autocomplete@npm:3.0.0-alpha.0, @react-stately/autocomplete@workspace:packages/@react-stately/autocomplete": +"@react-stately/autocomplete@npm:3.0.0-beta.0, @react-stately/autocomplete@workspace:packages/@react-stately/autocomplete": version: 0.0.0-use.local resolution: "@react-stately/autocomplete@workspace:packages/@react-stately/autocomplete" dependencies: @@ -8436,134 +8419,134 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/calendar@npm:^3.7.0, @react-stately/calendar@workspace:packages/@react-stately/calendar": +"@react-stately/calendar@npm:^3.7.1, @react-stately/calendar@workspace:packages/@react-stately/calendar": version: 0.0.0-use.local resolution: "@react-stately/calendar@workspace:packages/@react-stately/calendar" dependencies: "@internationalized/date": "npm:^3.7.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/calendar": "npm:^3.6.0" - "@react-types/shared": "npm:^3.27.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/checkbox@npm:^3.6.11, @react-stately/checkbox@workspace:packages/@react-stately/checkbox": +"@react-stately/checkbox@npm:^3.6.12, @react-stately/checkbox@workspace:packages/@react-stately/checkbox": version: 0.0.0-use.local resolution: "@react-stately/checkbox@workspace:packages/@react-stately/checkbox" dependencies: - "@react-stately/form": "npm:^3.1.1" + "@react-stately/form": "npm:^3.1.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/shared": "npm:^3.27.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/collections@npm:^3.12.1, @react-stately/collections@workspace:packages/@react-stately/collections": +"@react-stately/collections@npm:^3.12.2, @react-stately/collections@workspace:packages/@react-stately/collections": version: 0.0.0-use.local resolution: "@react-stately/collections@workspace:packages/@react-stately/collections" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/color@npm:^3.8.2, @react-stately/color@workspace:packages/@react-stately/color": +"@react-stately/color@npm:^3.8.3, @react-stately/color@workspace:packages/@react-stately/color": version: 0.0.0-use.local resolution: "@react-stately/color@workspace:packages/@react-stately/color" dependencies: "@internationalized/number": "npm:^3.6.0" "@internationalized/string": "npm:^3.2.5" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/numberfield": "npm:^3.9.9" - "@react-stately/slider": "npm:^3.6.1" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-stately/slider": "npm:^3.6.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/color": "npm:^3.0.2" - "@react-types/shared": "npm:^3.27.0" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/combobox@npm:^3.10.2, @react-stately/combobox@workspace:packages/@react-stately/combobox": +"@react-stately/combobox@npm:^3.10.3, @react-stately/combobox@workspace:packages/@react-stately/combobox": version: 0.0.0-use.local resolution: "@react-stately/combobox@workspace:packages/@react-stately/combobox" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/overlays": "npm:^3.6.13" - "@react-stately/select": "npm:^3.6.10" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/select": "npm:^3.6.11" "@react-stately/utils": "npm:^3.10.5" - "@react-types/combobox": "npm:^3.13.2" - "@react-types/shared": "npm:^3.27.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/data@npm:^3.12.1, @react-stately/data@workspace:packages/@react-stately/data": +"@react-stately/data@npm:^3.12.2, @react-stately/data@workspace:packages/@react-stately/data": version: 0.0.0-use.local resolution: "@react-stately/data@workspace:packages/@react-stately/data" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/datepicker@npm:^3.12.0, @react-stately/datepicker@workspace:packages/@react-stately/datepicker": +"@react-stately/datepicker@npm:^3.13.0, @react-stately/datepicker@workspace:packages/@react-stately/datepicker": version: 0.0.0-use.local resolution: "@react-stately/datepicker@workspace:packages/@react-stately/datepicker" dependencies: "@internationalized/date": "npm:^3.7.0" "@internationalized/string": "npm:^3.2.5" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/overlays": "npm:^3.6.13" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/overlays": "npm:^3.6.14" "@react-stately/utils": "npm:^3.10.5" - "@react-types/datepicker": "npm:^3.10.0" - "@react-types/shared": "npm:^3.27.0" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/disclosure@npm:^3.0.1, @react-stately/disclosure@workspace:packages/@react-stately/disclosure": +"@react-stately/disclosure@npm:^3.0.2, @react-stately/disclosure@workspace:packages/@react-stately/disclosure": version: 0.0.0-use.local resolution: "@react-stately/disclosure@workspace:packages/@react-stately/disclosure" dependencies: "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/dnd@npm:^3.0.0, @react-stately/dnd@npm:^3.1.0, @react-stately/dnd@npm:^3.5.1, @react-stately/dnd@workspace:packages/@react-stately/dnd": +"@react-stately/dnd@npm:^3.0.0, @react-stately/dnd@npm:^3.1.0, @react-stately/dnd@npm:^3.5.2, @react-stately/dnd@workspace:packages/@react-stately/dnd": version: 0.0.0-use.local resolution: "@react-stately/dnd@workspace:packages/@react-stately/dnd" dependencies: - "@react-stately/selection": "npm:^3.19.0" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/flags@npm:^3.0.5, @react-stately/flags@workspace:packages/@react-stately/flags": +"@react-stately/flags@npm:^3.1.0, @react-stately/flags@workspace:packages/@react-stately/flags": version: 0.0.0-use.local resolution: "@react-stately/flags@workspace:packages/@react-stately/flags" dependencies: @@ -8571,41 +8554,41 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/form@npm:^3.1.1, @react-stately/form@workspace:packages/@react-stately/form": +"@react-stately/form@npm:^3.1.2, @react-stately/form@workspace:packages/@react-stately/form": version: 0.0.0-use.local resolution: "@react-stately/form@workspace:packages/@react-stately/form" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/grid@npm:^3.10.1, @react-stately/grid@workspace:packages/@react-stately/grid": +"@react-stately/grid@npm:^3.11.0, @react-stately/grid@workspace:packages/@react-stately/grid": version: 0.0.0-use.local resolution: "@react-stately/grid@workspace:packages/@react-stately/grid" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/selection": "npm:^3.19.0" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/layout@npm:^4.1.1, @react-stately/layout@workspace:packages/@react-stately/layout": +"@react-stately/layout@npm:^4.2.0, @react-stately/layout@workspace:packages/@react-stately/layout": version: 0.0.0-use.local resolution: "@react-stately/layout@workspace:packages/@react-stately/layout" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/table": "npm:^3.13.1" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8613,171 +8596,171 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/list@npm:^3.11.2, @react-stately/list@workspace:packages/@react-stately/list": +"@react-stately/list@npm:^3.12.0, @react-stately/list@workspace:packages/@react-stately/list": version: 0.0.0-use.local resolution: "@react-stately/list@workspace:packages/@react-stately/list" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/selection": "npm:^3.19.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/menu@npm:^3.9.1, @react-stately/menu@workspace:packages/@react-stately/menu": +"@react-stately/menu@npm:^3.9.2, @react-stately/menu@workspace:packages/@react-stately/menu": version: 0.0.0-use.local resolution: "@react-stately/menu@workspace:packages/@react-stately/menu" dependencies: - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/menu": "npm:^3.9.14" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/menu": "npm:^3.9.15" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/numberfield@npm:^3.9.9, @react-stately/numberfield@workspace:packages/@react-stately/numberfield": +"@react-stately/numberfield@npm:^3.9.10, @react-stately/numberfield@workspace:packages/@react-stately/numberfield": version: 0.0.0-use.local resolution: "@react-stately/numberfield@workspace:packages/@react-stately/numberfield" dependencies: "@internationalized/number": "npm:^3.6.0" - "@react-stately/form": "npm:^3.1.1" + "@react-stately/form": "npm:^3.1.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/numberfield": "npm:^3.8.8" + "@react-types/numberfield": "npm:^3.8.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/overlays@npm:^3.6.13, @react-stately/overlays@workspace:packages/@react-stately/overlays": +"@react-stately/overlays@npm:^3.6.14, @react-stately/overlays@workspace:packages/@react-stately/overlays": version: 0.0.0-use.local resolution: "@react-stately/overlays@workspace:packages/@react-stately/overlays" dependencies: "@react-stately/utils": "npm:^3.10.5" - "@react-types/overlays": "npm:^3.8.12" + "@react-types/overlays": "npm:^3.8.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/radio@npm:^3.10.10, @react-stately/radio@workspace:packages/@react-stately/radio": +"@react-stately/radio@npm:^3.10.11, @react-stately/radio@workspace:packages/@react-stately/radio": version: 0.0.0-use.local resolution: "@react-stately/radio@workspace:packages/@react-stately/radio" dependencies: - "@react-stately/form": "npm:^3.1.1" + "@react-stately/form": "npm:^3.1.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/radio": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/searchfield@npm:^3.5.9, @react-stately/searchfield@workspace:packages/@react-stately/searchfield": +"@react-stately/searchfield@npm:^3.5.10, @react-stately/searchfield@workspace:packages/@react-stately/searchfield": version: 0.0.0-use.local resolution: "@react-stately/searchfield@workspace:packages/@react-stately/searchfield" dependencies: "@react-stately/utils": "npm:^3.10.5" - "@react-types/searchfield": "npm:^3.5.11" + "@react-types/searchfield": "npm:^3.6.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/select@npm:^3.6.10, @react-stately/select@workspace:packages/@react-stately/select": +"@react-stately/select@npm:^3.6.11, @react-stately/select@workspace:packages/@react-stately/select": version: 0.0.0-use.local resolution: "@react-stately/select@workspace:packages/@react-stately/select" dependencies: - "@react-stately/form": "npm:^3.1.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/select": "npm:^3.9.9" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/selection@npm:^3.19.0, @react-stately/selection@workspace:packages/@react-stately/selection": +"@react-stately/selection@npm:^3.20.0, @react-stately/selection@workspace:packages/@react-stately/selection": version: 0.0.0-use.local resolution: "@react-stately/selection@workspace:packages/@react-stately/selection" dependencies: - "@react-stately/collections": "npm:^3.12.1" + "@react-stately/collections": "npm:^3.12.2" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/slider@npm:^3.6.1, @react-stately/slider@workspace:packages/@react-stately/slider": +"@react-stately/slider@npm:^3.6.2, @react-stately/slider@workspace:packages/@react-stately/slider": version: 0.0.0-use.local resolution: "@react-stately/slider@workspace:packages/@react-stately/slider" dependencies: "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" - "@react-types/slider": "npm:^3.7.8" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/steplist@npm:3.0.0-alpha.11, @react-stately/steplist@workspace:packages/@react-stately/steplist": +"@react-stately/steplist@npm:3.0.0-alpha.12, @react-stately/steplist@workspace:packages/@react-stately/steplist": version: 0.0.0-use.local resolution: "@react-stately/steplist@workspace:packages/@react-stately/steplist" dependencies: - "@react-stately/list": "npm:^3.11.2" + "@react-stately/list": "npm:^3.12.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/table@npm:^3.13.1, @react-stately/table@workspace:packages/@react-stately/table": +"@react-stately/table@npm:^3.14.0, @react-stately/table@workspace:packages/@react-stately/table": version: 0.0.0-use.local resolution: "@react-stately/table@workspace:packages/@react-stately/table" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/flags": "npm:^3.0.5" - "@react-stately/grid": "npm:^3.10.1" - "@react-stately/selection": "npm:^3.19.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/grid": "npm:^3.11.0" + "@react-stately/selection": "npm:^3.20.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/tabs@npm:^3.7.1, @react-stately/tabs@workspace:packages/@react-stately/tabs": +"@react-stately/tabs@npm:^3.8.0, @react-stately/tabs@workspace:packages/@react-stately/tabs": version: 0.0.0-use.local resolution: "@react-stately/tabs@workspace:packages/@react-stately/tabs" dependencies: - "@react-stately/list": "npm:^3.11.2" - "@react-types/shared": "npm:^3.27.0" - "@react-types/tabs": "npm:^3.3.12" + "@react-stately/list": "npm:^3.12.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/toast@npm:3.0.0-beta.7, @react-stately/toast@workspace:packages/@react-stately/toast": +"@react-stately/toast@npm:^3.0.0, @react-stately/toast@workspace:packages/@react-stately/toast": version: 0.0.0-use.local resolution: "@react-stately/toast@workspace:packages/@react-stately/toast" dependencies: @@ -8789,39 +8772,39 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/toggle@npm:^3.8.1, @react-stately/toggle@workspace:packages/@react-stately/toggle": +"@react-stately/toggle@npm:^3.8.2, @react-stately/toggle@workspace:packages/@react-stately/toggle": version: 0.0.0-use.local resolution: "@react-stately/toggle@workspace:packages/@react-stately/toggle" dependencies: "@react-stately/utils": "npm:^3.10.5" - "@react-types/checkbox": "npm:^3.9.1" - "@react-types/shared": "npm:^3.27.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/tooltip@npm:^3.5.1, @react-stately/tooltip@workspace:packages/@react-stately/tooltip": +"@react-stately/tooltip@npm:^3.5.2, @react-stately/tooltip@workspace:packages/@react-stately/tooltip": version: 0.0.0-use.local resolution: "@react-stately/tooltip@workspace:packages/@react-stately/tooltip" dependencies: - "@react-stately/overlays": "npm:^3.6.13" - "@react-types/tooltip": "npm:^3.4.14" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/tooltip": "npm:^3.4.15" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-stately/tree@npm:^3.8.7, @react-stately/tree@workspace:packages/@react-stately/tree": +"@react-stately/tree@npm:^3.8.8, @react-stately/tree@workspace:packages/@react-stately/tree": version: 0.0.0-use.local resolution: "@react-stately/tree@workspace:packages/@react-stately/tree" dependencies: - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/selection": "npm:^3.19.0" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" "@react-stately/utils": "npm:^3.10.5" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8838,12 +8821,12 @@ __metadata: languageName: unknown linkType: soft -"@react-stately/virtualizer@npm:^4.0.0, @react-stately/virtualizer@npm:^4.2.1, @react-stately/virtualizer@workspace:packages/@react-stately/virtualizer": +"@react-stately/virtualizer@npm:^4.0.0, @react-stately/virtualizer@npm:^4.3.0, @react-stately/virtualizer@workspace:packages/@react-stately/virtualizer": version: 0.0.0-use.local resolution: "@react-stately/virtualizer@workspace:packages/@react-stately/virtualizer" dependencies: - "@react-aria/utils": "npm:^3.27.0" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -8851,263 +8834,253 @@ __metadata: languageName: unknown linkType: soft -"@react-types/accordion@npm:3.0.0-alpha.26, @react-types/accordion@workspace:packages/@react-types/accordion": - version: 0.0.0-use.local - resolution: "@react-types/accordion@workspace:packages/@react-types/accordion" - dependencies: - "@react-types/shared": "npm:^3.27.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - languageName: unknown - linkType: soft - -"@react-types/actionbar@npm:^3.1.12, @react-types/actionbar@workspace:packages/@react-types/actionbar": +"@react-types/actionbar@npm:^3.1.13, @react-types/actionbar@workspace:packages/@react-types/actionbar": version: 0.0.0-use.local resolution: "@react-types/actionbar@workspace:packages/@react-types/actionbar" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/actiongroup@npm:^3.4.14, @react-types/actiongroup@workspace:packages/@react-types/actiongroup": +"@react-types/actiongroup@npm:^3.4.15, @react-types/actiongroup@workspace:packages/@react-types/actiongroup": version: 0.0.0-use.local resolution: "@react-types/actiongroup@workspace:packages/@react-types/actiongroup" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/autocomplete@npm:3.0.0-alpha.28, @react-types/autocomplete@workspace:packages/@react-types/autocomplete": +"@react-types/autocomplete@npm:3.0.0-alpha.29, @react-types/autocomplete@workspace:packages/@react-types/autocomplete": version: 0.0.0-use.local resolution: "@react-types/autocomplete@workspace:packages/@react-types/autocomplete" dependencies: - "@react-types/combobox": "npm:^3.13.2" - "@react-types/searchfield": "npm:^3.5.11" - "@react-types/shared": "npm:^3.27.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/avatar@npm:^3.0.12, @react-types/avatar@workspace:packages/@react-types/avatar": +"@react-types/avatar@npm:^3.0.13, @react-types/avatar@workspace:packages/@react-types/avatar": version: 0.0.0-use.local resolution: "@react-types/avatar@workspace:packages/@react-types/avatar" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/badge@npm:^3.1.14, @react-types/badge@workspace:packages/@react-types/badge": +"@react-types/badge@npm:^3.1.15, @react-types/badge@workspace:packages/@react-types/badge": version: 0.0.0-use.local resolution: "@react-types/badge@workspace:packages/@react-types/badge" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/breadcrumbs@npm:^3.7.10, @react-types/breadcrumbs@workspace:packages/@react-types/breadcrumbs": +"@react-types/breadcrumbs@npm:^3.7.11, @react-types/breadcrumbs@workspace:packages/@react-types/breadcrumbs": version: 0.0.0-use.local resolution: "@react-types/breadcrumbs@workspace:packages/@react-types/breadcrumbs" dependencies: - "@react-types/link": "npm:^3.5.10" - "@react-types/shared": "npm:^3.27.0" + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/button@npm:^3.10.2, @react-types/button@workspace:packages/@react-types/button": +"@react-types/button@npm:^3.11.0, @react-types/button@workspace:packages/@react-types/button": version: 0.0.0-use.local resolution: "@react-types/button@workspace:packages/@react-types/button" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/buttongroup@npm:^3.3.14, @react-types/buttongroup@workspace:packages/@react-types/buttongroup": +"@react-types/buttongroup@npm:^3.3.15, @react-types/buttongroup@workspace:packages/@react-types/buttongroup": version: 0.0.0-use.local resolution: "@react-types/buttongroup@workspace:packages/@react-types/buttongroup" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/calendar@npm:^3.6.0, @react-types/calendar@workspace:packages/@react-types/calendar": +"@react-types/calendar@npm:^3.6.1, @react-types/calendar@workspace:packages/@react-types/calendar": version: 0.0.0-use.local resolution: "@react-types/calendar@workspace:packages/@react-types/calendar" dependencies: "@internationalized/date": "npm:^3.7.0" - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/card@npm:3.0.0-alpha.32, @react-types/card@workspace:packages/@react-types/card": +"@react-types/card@npm:3.0.0-alpha.33, @react-types/card@workspace:packages/@react-types/card": version: 0.0.0-use.local resolution: "@react-types/card@workspace:packages/@react-types/card" dependencies: - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/provider": "npm:^3.8.6" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/checkbox@npm:^3.9.1, @react-types/checkbox@workspace:packages/@react-types/checkbox": +"@react-types/checkbox@npm:^3.9.2, @react-types/checkbox@workspace:packages/@react-types/checkbox": version: 0.0.0-use.local resolution: "@react-types/checkbox@workspace:packages/@react-types/checkbox" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/color@npm:^3.0.2, @react-types/color@workspace:packages/@react-types/color": +"@react-types/color@npm:^3.0.3, @react-types/color@workspace:packages/@react-types/color": version: 0.0.0-use.local resolution: "@react-types/color@workspace:packages/@react-types/color" dependencies: - "@react-types/shared": "npm:^3.27.0" - "@react-types/slider": "npm:^3.7.8" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/combobox@npm:^3.13.2, @react-types/combobox@workspace:packages/@react-types/combobox": +"@react-types/combobox@npm:^3.13.3, @react-types/combobox@workspace:packages/@react-types/combobox": version: 0.0.0-use.local resolution: "@react-types/combobox@workspace:packages/@react-types/combobox" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/contextualhelp@npm:^3.2.15, @react-types/contextualhelp@workspace:packages/@react-types/contextualhelp": +"@react-types/contextualhelp@npm:^3.2.16, @react-types/contextualhelp@workspace:packages/@react-types/contextualhelp": version: 0.0.0-use.local resolution: "@react-types/contextualhelp@workspace:packages/@react-types/contextualhelp" dependencies: - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/datepicker@npm:^3.10.0, @react-types/datepicker@workspace:packages/@react-types/datepicker": +"@react-types/datepicker@npm:^3.11.0, @react-types/datepicker@workspace:packages/@react-types/datepicker": version: 0.0.0-use.local resolution: "@react-types/datepicker@workspace:packages/@react-types/datepicker" dependencies: "@internationalized/date": "npm:^3.7.0" - "@react-types/calendar": "npm:^3.6.0" - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/dialog@npm:^3.5.15, @react-types/dialog@workspace:packages/@react-types/dialog": +"@react-types/dialog@npm:^3.5.16, @react-types/dialog@workspace:packages/@react-types/dialog": version: 0.0.0-use.local resolution: "@react-types/dialog@workspace:packages/@react-types/dialog" dependencies: - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/divider@npm:^3.3.14, @react-types/divider@workspace:packages/@react-types/divider": +"@react-types/divider@npm:^3.3.15, @react-types/divider@workspace:packages/@react-types/divider": version: 0.0.0-use.local resolution: "@react-types/divider@workspace:packages/@react-types/divider" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/form@npm:^3.7.9, @react-types/form@workspace:packages/@react-types/form": +"@react-types/form@npm:^3.7.10, @react-types/form@workspace:packages/@react-types/form": version: 0.0.0-use.local resolution: "@react-types/form@workspace:packages/@react-types/form" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/grid@npm:^3.2.11, @react-types/grid@workspace:packages/@react-types/grid": +"@react-types/grid@npm:^3.3.0, @react-types/grid@workspace:packages/@react-types/grid": version: 0.0.0-use.local resolution: "@react-types/grid@workspace:packages/@react-types/grid" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/illustratedmessage@npm:^3.3.14, @react-types/illustratedmessage@workspace:packages/@react-types/illustratedmessage": +"@react-types/illustratedmessage@npm:^3.3.15, @react-types/illustratedmessage@workspace:packages/@react-types/illustratedmessage": version: 0.0.0-use.local resolution: "@react-types/illustratedmessage@workspace:packages/@react-types/illustratedmessage" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/image@npm:^3.4.6, @react-types/image@workspace:packages/@react-types/image": +"@react-types/image@npm:^3.4.7, @react-types/image@workspace:packages/@react-types/image": version: 0.0.0-use.local resolution: "@react-types/image@workspace:packages/@react-types/image" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/label@npm:^3.9.8, @react-types/label@workspace:packages/@react-types/label": +"@react-types/label@npm:^3.9.9, @react-types/label@workspace:packages/@react-types/label": version: 0.0.0-use.local resolution: "@react-types/label@workspace:packages/@react-types/label" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/layout@npm:^3.3.20, @react-types/layout@workspace:packages/@react-types/layout": +"@react-types/layout@npm:^3.3.21, @react-types/layout@workspace:packages/@react-types/layout": version: 0.0.0-use.local resolution: "@react-types/layout@workspace:packages/@react-types/layout" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/link@npm:^3.5.10, @react-types/link@workspace:packages/@react-types/link": +"@react-types/link@npm:^3.5.11, @react-types/link@workspace:packages/@react-types/link": version: 0.0.0-use.local resolution: "@react-types/link@workspace:packages/@react-types/link" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown @@ -9117,8 +9090,8 @@ __metadata: version: 0.0.0-use.local resolution: "@react-types/list@workspace:packages/@react-types/list" dependencies: - "@react-aria/gridlist": "npm:^3.10.1" - "@react-spectrum/list": "npm:^3.9.1" + "@react-aria/gridlist": "npm:^3.11.0" + "@react-spectrum/list": "npm:^3.9.2" peerDependencies: "@react-spectrum/provider": ^3.0.0 react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -9126,93 +9099,93 @@ __metadata: languageName: unknown linkType: soft -"@react-types/listbox@npm:^3.5.4, @react-types/listbox@workspace:packages/@react-types/listbox": +"@react-types/listbox@npm:^3.5.5, @react-types/listbox@workspace:packages/@react-types/listbox": version: 0.0.0-use.local resolution: "@react-types/listbox@workspace:packages/@react-types/listbox" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/menu@npm:^3.9.14, @react-types/menu@workspace:packages/@react-types/menu": +"@react-types/menu@npm:^3.9.15, @react-types/menu@workspace:packages/@react-types/menu": version: 0.0.0-use.local resolution: "@react-types/menu@workspace:packages/@react-types/menu" dependencies: - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/meter@npm:^3.4.6, @react-types/meter@workspace:packages/@react-types/meter": +"@react-types/meter@npm:^3.4.7, @react-types/meter@workspace:packages/@react-types/meter": version: 0.0.0-use.local resolution: "@react-types/meter@workspace:packages/@react-types/meter" dependencies: - "@react-types/progress": "npm:^3.5.9" + "@react-types/progress": "npm:^3.5.10" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/numberfield@npm:^3.8.8, @react-types/numberfield@workspace:packages/@react-types/numberfield": +"@react-types/numberfield@npm:^3.8.9, @react-types/numberfield@workspace:packages/@react-types/numberfield": version: 0.0.0-use.local resolution: "@react-types/numberfield@workspace:packages/@react-types/numberfield" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/overlays@npm:^3.8.12, @react-types/overlays@workspace:packages/@react-types/overlays": +"@react-types/overlays@npm:^3.8.13, @react-types/overlays@workspace:packages/@react-types/overlays": version: 0.0.0-use.local resolution: "@react-types/overlays@workspace:packages/@react-types/overlays" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/progress@npm:^3.5.9, @react-types/progress@workspace:packages/@react-types/progress": +"@react-types/progress@npm:^3.5.10, @react-types/progress@workspace:packages/@react-types/progress": version: 0.0.0-use.local resolution: "@react-types/progress@workspace:packages/@react-types/progress" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/provider@npm:^3.8.6, @react-types/provider@workspace:packages/@react-types/provider": +"@react-types/provider@npm:^3.8.7, @react-types/provider@workspace:packages/@react-types/provider": version: 0.0.0-use.local resolution: "@react-types/provider@workspace:packages/@react-types/provider" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/radio@npm:^3.8.6, @react-types/radio@workspace:packages/@react-types/radio": +"@react-types/radio@npm:^3.8.7, @react-types/radio@workspace:packages/@react-types/radio": version: 0.0.0-use.local resolution: "@react-types/radio@workspace:packages/@react-types/radio" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/searchfield@npm:^3.5.11, @react-types/searchfield@workspace:packages/@react-types/searchfield": +"@react-types/searchfield@npm:^3.6.0, @react-types/searchfield@workspace:packages/@react-types/searchfield": version: 0.0.0-use.local resolution: "@react-types/searchfield@workspace:packages/@react-types/searchfield" dependencies: - "@react-types/shared": "npm:^3.27.0" - "@react-types/textfield": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown @@ -9228,17 +9201,17 @@ __metadata: languageName: unknown linkType: soft -"@react-types/select@npm:^3.9.9, @react-types/select@workspace:packages/@react-types/select": +"@react-types/select@npm:^3.9.10, @react-types/select@workspace:packages/@react-types/select": version: 0.0.0-use.local resolution: "@react-types/select@workspace:packages/@react-types/select" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/shared@npm:^3.1.0, @react-types/shared@npm:^3.16.0, @react-types/shared@npm:^3.27.0, @react-types/shared@workspace:packages/@react-types/shared": +"@react-types/shared@npm:^3.1.0, @react-types/shared@npm:^3.16.0, @react-types/shared@npm:^3.28.0, @react-types/shared@workspace:packages/@react-types/shared": version: 0.0.0-use.local resolution: "@react-types/shared@workspace:packages/@react-types/shared" peerDependencies: @@ -9257,103 +9230,103 @@ __metadata: languageName: unknown linkType: soft -"@react-types/slider@npm:^3.7.8, @react-types/slider@workspace:packages/@react-types/slider": +"@react-types/slider@npm:^3.7.9, @react-types/slider@workspace:packages/@react-types/slider": version: 0.0.0-use.local resolution: "@react-types/slider@workspace:packages/@react-types/slider" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/statuslight@npm:^3.3.14, @react-types/statuslight@workspace:packages/@react-types/statuslight": +"@react-types/statuslight@npm:^3.3.15, @react-types/statuslight@workspace:packages/@react-types/statuslight": version: 0.0.0-use.local resolution: "@react-types/statuslight@workspace:packages/@react-types/statuslight" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/switch@npm:^3.5.8, @react-types/switch@workspace:packages/@react-types/switch": +"@react-types/switch@npm:^3.5.9, @react-types/switch@workspace:packages/@react-types/switch": version: 0.0.0-use.local resolution: "@react-types/switch@workspace:packages/@react-types/switch" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/table@npm:^3.10.4, @react-types/table@workspace:packages/@react-types/table": +"@react-types/table@npm:^3.11.0, @react-types/table@workspace:packages/@react-types/table": version: 0.0.0-use.local resolution: "@react-types/table@workspace:packages/@react-types/table" dependencies: - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/tabs@npm:^3.3.12, @react-types/tabs@workspace:packages/@react-types/tabs": +"@react-types/tabs@npm:^3.3.13, @react-types/tabs@workspace:packages/@react-types/tabs": version: 0.0.0-use.local resolution: "@react-types/tabs@workspace:packages/@react-types/tabs" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/text@npm:^3.3.14, @react-types/text@workspace:packages/@react-types/text": +"@react-types/text@npm:^3.3.15, @react-types/text@workspace:packages/@react-types/text": version: 0.0.0-use.local resolution: "@react-types/text@workspace:packages/@react-types/text" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/textfield@npm:^3.11.0, @react-types/textfield@workspace:packages/@react-types/textfield": +"@react-types/textfield@npm:^3.12.0, @react-types/textfield@workspace:packages/@react-types/textfield": version: 0.0.0-use.local resolution: "@react-types/textfield@workspace:packages/@react-types/textfield" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/tooltip@npm:^3.4.14, @react-types/tooltip@workspace:packages/@react-types/tooltip": +"@react-types/tooltip@npm:^3.4.15, @react-types/tooltip@workspace:packages/@react-types/tooltip": version: 0.0.0-use.local resolution: "@react-types/tooltip@workspace:packages/@react-types/tooltip" dependencies: - "@react-types/overlays": "npm:^3.8.12" - "@react-types/shared": "npm:^3.27.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/view@npm:^3.4.14, @react-types/view@workspace:packages/@react-types/view": +"@react-types/view@npm:^3.4.15, @react-types/view@workspace:packages/@react-types/view": version: 0.0.0-use.local resolution: "@react-types/view@workspace:packages/@react-types/view" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown linkType: soft -"@react-types/well@npm:^3.3.14, @react-types/well@workspace:packages/@react-types/well": +"@react-types/well@npm:^3.3.15, @react-types/well@workspace:packages/@react-types/well": version: 0.0.0-use.local resolution: "@react-types/well@workspace:packages/@react-types/well" dependencies: - "@react-types/shared": "npm:^3.27.0" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown @@ -9509,7 +9482,7 @@ __metadata: resolution: "@spectrum-icons/color@workspace:packages/@spectrum-icons/color" dependencies: "@adobe/react-spectrum-workflow-color": "npm:1.1.1" - "@react-spectrum/icon": "npm:^3.8.1" + "@react-spectrum/icon": "npm:^3.8.2" "@spectrum-icons/build-tools": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" @@ -9524,7 +9497,7 @@ __metadata: resolution: "@spectrum-icons/express@workspace:packages/@spectrum-icons/express" dependencies: "@adobe/spectrum-css-ccx-workflow-icons": "npm:1.0.2" - "@react-spectrum/icon": "npm:^3.8.1" + "@react-spectrum/icon": "npm:^3.8.2" "@spectrum-icons/build-tools": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" fs-extra: "npm:^10.0.0" @@ -9539,8 +9512,8 @@ __metadata: version: 0.0.0-use.local resolution: "@spectrum-icons/illustrations@workspace:packages/@spectrum-icons/illustrations" dependencies: - "@react-aria/utils": "npm:^3.27.0" - "@react-spectrum/icon": "npm:^3.8.1" + "@react-aria/utils": "npm:^3.28.0" + "@react-spectrum/icon": "npm:^3.8.2" "@spectrum-icons/build-tools": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" peerDependencies: @@ -9550,12 +9523,12 @@ __metadata: languageName: unknown linkType: soft -"@spectrum-icons/ui@npm:^3.1.0, @spectrum-icons/ui@npm:^3.6.12, @spectrum-icons/ui@workspace:packages/@spectrum-icons/ui": +"@spectrum-icons/ui@npm:^3.1.0, @spectrum-icons/ui@npm:^3.6.13, @spectrum-icons/ui@workspace:packages/@spectrum-icons/ui": version: 0.0.0-use.local resolution: "@spectrum-icons/ui@workspace:packages/@spectrum-icons/ui" dependencies: "@adobe/react-spectrum-ui": "npm:1.2.1" - "@react-spectrum/icon": "npm:^3.8.1" + "@react-spectrum/icon": "npm:^3.8.2" "@spectrum-icons/build-tools": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" @@ -9565,12 +9538,12 @@ __metadata: languageName: unknown linkType: soft -"@spectrum-icons/workflow@npm:^4.0.0, @spectrum-icons/workflow@npm:^4.2.17, @spectrum-icons/workflow@workspace:packages/@spectrum-icons/workflow": +"@spectrum-icons/workflow@npm:^4.0.0, @spectrum-icons/workflow@npm:^4.2.18, @spectrum-icons/workflow@workspace:packages/@spectrum-icons/workflow": version: 0.0.0-use.local resolution: "@spectrum-icons/workflow@workspace:packages/@spectrum-icons/workflow" dependencies: "@adobe/react-spectrum-workflow": "npm:2.3.5" - "@react-spectrum/icon": "npm:^3.8.1" + "@react-spectrum/icon": "npm:^3.8.2" "@spectrum-icons/build-tools": "npm:3.0.0-alpha.1" "@swc/helpers": "npm:^0.5.0" react-dom: "npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" @@ -29012,46 +28985,36 @@ __metadata: languageName: node linkType: hard -"react-aria-components@npm:^1.6.0, react-aria-components@workspace:packages/react-aria-components": +"react-aria-components@npm:^1.7.0, react-aria-components@workspace:packages/react-aria-components": version: 0.0.0-use.local resolution: "react-aria-components@workspace:packages/react-aria-components" dependencies: "@internationalized/date": "npm:^3.7.0" "@internationalized/string": "npm:^3.2.5" - "@react-aria/autocomplete": "npm:3.0.0-alpha.37" - "@react-aria/collections": "npm:3.0.0-alpha.7" - "@react-aria/color": "npm:^3.0.3" - "@react-aria/disclosure": "npm:^3.0.1" - "@react-aria/dnd": "npm:^3.8.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/interactions": "npm:^3.23.0" + "@react-aria/autocomplete": "npm:3.0.0-beta.0" + "@react-aria/collections": "npm:3.0.0-beta.0" + "@react-aria/dnd": "npm:^3.9.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/interactions": "npm:^3.24.0" "@react-aria/live-announcer": "npm:^3.4.1" - "@react-aria/menu": "npm:^3.17.0" - "@react-aria/toast": "npm:3.0.0-beta.19" - "@react-aria/toolbar": "npm:3.0.0-beta.12" - "@react-aria/tree": "npm:3.0.0-beta.3" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/virtualizer": "npm:^4.1.1" - "@react-stately/autocomplete": "npm:3.0.0-alpha.0" - "@react-stately/color": "npm:^3.8.2" - "@react-stately/disclosure": "npm:^3.0.1" - "@react-stately/layout": "npm:^4.1.1" - "@react-stately/menu": "npm:^3.9.1" - "@react-stately/selection": "npm:^3.19.0" - "@react-stately/table": "npm:^3.13.1" - "@react-stately/toast": "npm:3.0.0-beta.7" + "@react-aria/toolbar": "npm:3.0.0-beta.13" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/virtualizer": "npm:^4.1.2" + "@react-stately/autocomplete": "npm:3.0.0-beta.0" + "@react-stately/layout": "npm:^4.2.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/table": "npm:^3.14.0" "@react-stately/utils": "npm:^3.10.5" - "@react-stately/virtualizer": "npm:^4.2.1" - "@react-types/color": "npm:^3.0.2" - "@react-types/form": "npm:^3.7.9" - "@react-types/grid": "npm:^3.2.11" - "@react-types/shared": "npm:^3.27.0" - "@react-types/table": "npm:^3.10.4" + "@react-stately/virtualizer": "npm:^4.3.0" + "@react-types/form": "npm:^3.7.10" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" "@swc/helpers": "npm:^0.5.0" "@tailwindcss/postcss": "npm:^4.0.0" client-only: "npm:^0.0.1" - react-aria: "npm:^3.37.0" - react-stately: "npm:^3.35.0" + react-aria: "npm:^3.38.0" + react-stately: "npm:^3.36.0" use-sync-external-store: "npm:^1.4.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -29059,52 +29022,54 @@ __metadata: languageName: unknown linkType: soft -"react-aria@npm:^3.37.0, react-aria@workspace:packages/react-aria": +"react-aria@npm:^3.38.0, react-aria@workspace:packages/react-aria": version: 0.0.0-use.local resolution: "react-aria@workspace:packages/react-aria" dependencies: "@babel/cli": "npm:^7.24.1" "@babel/core": "npm:^7.24.3" "@internationalized/string": "npm:^3.2.5" - "@react-aria/breadcrumbs": "npm:^3.5.20" - "@react-aria/button": "npm:^3.11.1" - "@react-aria/calendar": "npm:^3.7.0" - "@react-aria/checkbox": "npm:^3.15.1" - "@react-aria/color": "npm:^3.0.3" - "@react-aria/combobox": "npm:^3.11.1" - "@react-aria/datepicker": "npm:^3.13.0" - "@react-aria/dialog": "npm:^3.5.21" - "@react-aria/disclosure": "npm:^3.0.1" - "@react-aria/dnd": "npm:^3.8.1" - "@react-aria/focus": "npm:^3.19.1" - "@react-aria/gridlist": "npm:^3.10.1" - "@react-aria/i18n": "npm:^3.12.5" - "@react-aria/interactions": "npm:^3.23.0" - "@react-aria/label": "npm:^3.7.14" - "@react-aria/link": "npm:^3.7.8" - "@react-aria/listbox": "npm:^3.14.0" - "@react-aria/menu": "npm:^3.17.0" - "@react-aria/meter": "npm:^3.4.19" - "@react-aria/numberfield": "npm:^3.11.10" - "@react-aria/overlays": "npm:^3.25.0" - "@react-aria/progress": "npm:^3.4.19" - "@react-aria/radio": "npm:^3.10.11" - "@react-aria/searchfield": "npm:^3.8.0" - "@react-aria/select": "npm:^3.15.1" - "@react-aria/selection": "npm:^3.22.0" - "@react-aria/separator": "npm:^3.4.5" - "@react-aria/slider": "npm:^3.7.15" + "@react-aria/breadcrumbs": "npm:^3.5.21" + "@react-aria/button": "npm:^3.12.0" + "@react-aria/calendar": "npm:^3.7.1" + "@react-aria/checkbox": "npm:^3.15.2" + "@react-aria/color": "npm:^3.0.4" + "@react-aria/combobox": "npm:^3.12.0" + "@react-aria/datepicker": "npm:^3.14.0" + "@react-aria/dialog": "npm:^3.5.22" + "@react-aria/disclosure": "npm:^3.0.2" + "@react-aria/dnd": "npm:^3.9.0" + "@react-aria/focus": "npm:^3.20.0" + "@react-aria/gridlist": "npm:^3.11.0" + "@react-aria/i18n": "npm:^3.12.6" + "@react-aria/interactions": "npm:^3.24.0" + "@react-aria/label": "npm:^3.7.15" + "@react-aria/landmark": "npm:^3.0.0" + "@react-aria/link": "npm:^3.7.9" + "@react-aria/listbox": "npm:^3.14.1" + "@react-aria/menu": "npm:^3.18.0" + "@react-aria/meter": "npm:^3.4.20" + "@react-aria/numberfield": "npm:^3.11.11" + "@react-aria/overlays": "npm:^3.26.0" + "@react-aria/progress": "npm:^3.4.20" + "@react-aria/radio": "npm:^3.11.0" + "@react-aria/searchfield": "npm:^3.8.1" + "@react-aria/select": "npm:^3.15.2" + "@react-aria/selection": "npm:^3.23.0" + "@react-aria/separator": "npm:^3.4.6" + "@react-aria/slider": "npm:^3.7.16" "@react-aria/ssr": "npm:^3.9.7" - "@react-aria/switch": "npm:^3.6.11" - "@react-aria/table": "npm:^3.16.1" - "@react-aria/tabs": "npm:^3.9.9" - "@react-aria/tag": "npm:^3.4.9" - "@react-aria/textfield": "npm:^3.16.0" - "@react-aria/tooltip": "npm:^3.7.11" - "@react-aria/tree": "npm:^3.0.0-beta.3" - "@react-aria/utils": "npm:^3.27.0" - "@react-aria/visually-hidden": "npm:^3.8.19" - "@react-types/shared": "npm:^3.27.0" + "@react-aria/switch": "npm:^3.7.0" + "@react-aria/table": "npm:^3.17.0" + "@react-aria/tabs": "npm:^3.10.0" + "@react-aria/tag": "npm:^3.5.0" + "@react-aria/textfield": "npm:^3.17.0" + "@react-aria/toast": "npm:^3.0.0" + "@react-aria/tooltip": "npm:^3.8.0" + "@react-aria/tree": "npm:^3.0.0" + "@react-aria/utils": "npm:^3.28.0" + "@react-aria/visually-hidden": "npm:^3.8.20" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -29444,37 +29409,38 @@ __metadata: languageName: unknown linkType: soft -"react-stately@npm:^3.35.0, react-stately@workspace:packages/react-stately": +"react-stately@npm:^3.36.0, react-stately@workspace:packages/react-stately": version: 0.0.0-use.local resolution: "react-stately@workspace:packages/react-stately" dependencies: "@babel/cli": "npm:^7.24.1" "@babel/core": "npm:^7.24.3" - "@react-stately/calendar": "npm:^3.7.0" - "@react-stately/checkbox": "npm:^3.6.11" - "@react-stately/collections": "npm:^3.12.1" - "@react-stately/color": "npm:^3.8.2" - "@react-stately/combobox": "npm:^3.10.2" - "@react-stately/data": "npm:^3.12.1" - "@react-stately/datepicker": "npm:^3.12.0" - "@react-stately/disclosure": "npm:^3.0.1" - "@react-stately/dnd": "npm:^3.5.1" - "@react-stately/form": "npm:^3.1.1" - "@react-stately/list": "npm:^3.11.2" - "@react-stately/menu": "npm:^3.9.1" - "@react-stately/numberfield": "npm:^3.9.9" - "@react-stately/overlays": "npm:^3.6.13" - "@react-stately/radio": "npm:^3.10.10" - "@react-stately/searchfield": "npm:^3.5.9" - "@react-stately/select": "npm:^3.6.10" - "@react-stately/selection": "npm:^3.19.0" - "@react-stately/slider": "npm:^3.6.1" - "@react-stately/table": "npm:^3.13.1" - "@react-stately/tabs": "npm:^3.7.1" - "@react-stately/toggle": "npm:^3.8.1" - "@react-stately/tooltip": "npm:^3.5.1" - "@react-stately/tree": "npm:^3.8.7" - "@react-types/shared": "npm:^3.27.0" + "@react-stately/calendar": "npm:^3.7.1" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/color": "npm:^3.8.3" + "@react-stately/combobox": "npm:^3.10.3" + "@react-stately/data": "npm:^3.12.2" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-stately/disclosure": "npm:^3.0.2" + "@react-stately/dnd": "npm:^3.5.2" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/radio": "npm:^3.10.11" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-stately/select": "npm:^3.6.11" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/slider": "npm:^3.6.2" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/tabs": "npm:^3.8.0" + "@react-stately/toast": "npm:^3.0.0" + "@react-stately/toggle": "npm:^3.8.2" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/shared": "npm:^3.28.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 languageName: unknown