@cube-dev/ui-kit 0.0.0-canary-1f0dd2c → 0.0.0-canary-1d27aa0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -4
- package/dist/README.md +7 -4
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.d.ts +0 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -2
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/types.d.ts +0 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +2 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/index.d.ts +0 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -13
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/Colors.md +40 -16
- package/docs/ComplexLayout.md +0 -8
- package/docs/CreateComponent.md +8 -15
- package/docs/Introduction.md +36 -15
- package/docs/RenderCache.md +6 -8
- package/docs/Theming.md +497 -164
- package/docs/Usage.md +138 -108
- package/docs/Utilities.md +2 -2
- package/docs/components/CollectionItem.md +0 -1
- package/docs/components/actions/Banner.md +0 -1
- package/docs/components/actions/Button.md +36 -8
- package/docs/components/actions/ButtonSplit.md +0 -2
- package/docs/components/actions/CommandMenu.md +8 -8
- package/docs/components/actions/ItemButton.md +20 -6
- package/docs/components/actions/Link.md +5 -10
- package/docs/components/actions/Menu.md +11 -24
- package/docs/components/actions/MenuTrigger.md +12 -3
- package/docs/components/actions/use-anchored-menu.md +2 -2
- package/docs/components/actions/use-context-menu.md +2 -5
- package/docs/components/content/Badge.md +0 -3
- package/docs/components/content/HotKeys.md +14 -21
- package/docs/components/content/InlineInput.md +14 -14
- package/docs/components/content/Item.md +17 -25
- package/docs/components/content/ItemCard.md +0 -1
- package/docs/components/content/Layout.md +1 -12
- package/docs/components/content/PrismCode.md +18 -13
- package/docs/components/content/Tag.md +1 -1
- package/docs/components/content/TextItem.md +3 -5
- package/docs/components/content/Tree.md +154 -69
- package/docs/components/data/DataTable.md +168 -56
- package/docs/components/data/ItemTable.md +485 -182
- package/docs/components/fields/Checkbox.md +0 -2
- package/docs/components/fields/ColorInput.md +79 -38
- package/docs/components/fields/ColorPicker.md +39 -17
- package/docs/components/fields/ColorSwatch.md +30 -11
- package/docs/components/fields/ColorSwatchGroup.md +42 -18
- package/docs/components/fields/ComboBox.md +1 -13
- package/docs/components/fields/CommandTextArea.md +37 -10
- package/docs/components/fields/DatePicker.md +0 -3
- package/docs/components/fields/FileInput.md +0 -3
- package/docs/components/fields/FilterListBox.md +14 -34
- package/docs/components/fields/FilterPicker.md +16 -33
- package/docs/components/fields/HueSlider.md +5 -5
- package/docs/components/fields/ListBox.md +9 -35
- package/docs/components/fields/NumberInput.md +0 -3
- package/docs/components/fields/PasswordInput.md +0 -3
- package/docs/components/fields/PeriodPicker.md +17 -7
- package/docs/components/fields/Picker.md +29 -54
- package/docs/components/fields/RadioGroup.md +5 -13
- package/docs/components/fields/SearchComboBox.md +0 -3
- package/docs/components/fields/SearchInput.md +2 -4
- package/docs/components/fields/Select.md +13 -23
- package/docs/components/fields/Switch.md +0 -3
- package/docs/components/fields/TextInput.md +0 -3
- package/docs/components/fields/TextInputMapper.md +2 -1
- package/docs/components/form/Field.md +2 -5
- package/docs/components/form/Form.md +0 -5
- package/docs/components/form/FormInstance.md +1 -1
- package/docs/components/helpers/DisplayTransition.md +6 -10
- package/docs/components/helpers/IconSwitch.md +0 -1
- package/docs/components/layout/Board.md +190 -50
- package/docs/components/navigation/Pagination.md +75 -36
- package/docs/components/navigation/Tabs.md +15 -3
- package/docs/components/other/Calendar.md +39 -22
- package/docs/components/other/CubeLogo.md +1 -1
- package/docs/components/overlays/Dialog.md +0 -3
- package/docs/components/overlays/DialogContainer.md +0 -2
- package/docs/components/overlays/DialogForm.md +2 -6
- package/docs/components/overlays/DialogTrigger.md +2 -4
- package/docs/components/overlays/Notifications.md +0 -7
- package/docs/components/overlays/Toast.md +8 -12
- package/docs/components/overlays/Tooltip.md +12 -6
- package/docs/components/overlays/UseDialogContainer.md +10 -16
- package/docs/components/status/LoadingAnimation.md +9 -3
- package/docs/tasty/configuration.md +0 -127
- package/docs/tasty/injector.md +0 -11
- package/package.json +4 -4
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/portal/PortalProvider.d.ts +0 -2
|
@@ -64,7 +64,6 @@ Supports all [Field properties](../../FieldProperties.md)
|
|
|
64
64
|
Customizes the root wrapper element of the component.
|
|
65
65
|
|
|
66
66
|
**Sub-elements:**
|
|
67
|
-
|
|
68
67
|
- `ValidationState` - Container for validation and loading indicators
|
|
69
68
|
|
|
70
69
|
#### listStyles
|
|
@@ -76,7 +75,6 @@ Customizes the list container element.
|
|
|
76
75
|
Customizes individual option elements.
|
|
77
76
|
|
|
78
77
|
**Sub-elements:**
|
|
79
|
-
|
|
80
78
|
- `Label` - The main text of each option
|
|
81
79
|
- `Description` - Secondary descriptive text for options
|
|
82
80
|
- `Content` - Container for label and description
|
|
@@ -128,51 +126,42 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
128
126
|
### Selection Behavior
|
|
129
127
|
|
|
130
128
|
**isCheckable** (`boolean`, default: `false`)
|
|
131
|
-
|
|
132
129
|
- When `true` in multiple selection mode, displays checkboxes on the left of each option
|
|
133
130
|
- Checkboxes are visible when the item is hovered, focused, or selected
|
|
134
131
|
- Improves clarity of multiple selection interactions
|
|
135
132
|
|
|
136
133
|
**showSelectAll** (`boolean`, default: `false`)
|
|
137
|
-
|
|
138
134
|
- When `true` in multiple selection mode, displays a "Select All" option in the header
|
|
139
135
|
- The checkbox shows three states: unchecked (none selected), indeterminate (some selected), checked (all selected)
|
|
140
136
|
- Only works with `selectionMode="multiple"`
|
|
141
137
|
|
|
142
138
|
**selectAllLabel** (`ReactNode`, default: `'Select All'`)
|
|
143
|
-
|
|
144
139
|
- Custom label for the "Select All" option
|
|
145
140
|
- Only used when `showSelectAll={true}`
|
|
146
141
|
|
|
147
142
|
**allValueProps** (`Partial<CubeItemProps>`)
|
|
148
|
-
|
|
149
143
|
- Props to customize the styling and behavior of the "Select All" option
|
|
150
144
|
- Accepts any Item props like `styles`, `icon`, etc.
|
|
151
145
|
|
|
152
146
|
**disallowEmptySelection** (`boolean`, default: `false`)
|
|
153
|
-
|
|
154
147
|
- When `true`, prevents the user from deselecting the last selected item
|
|
155
148
|
- Ensures at least one item is always selected in single selection mode
|
|
156
149
|
|
|
157
150
|
**allowDuplicateSelectionEvents** (`boolean`, default: `false`)
|
|
158
|
-
|
|
159
151
|
- When `true`, `onSelectionChange` fires even when the new selection equals the current one (React Stately suppresses such duplicate events by default)
|
|
160
152
|
- Used by popover-based wrappers (Picker, FilterPicker) together with `disallowEmptySelection` to close the popover when the user re-selects the current item
|
|
161
153
|
|
|
162
154
|
**disableSelectionToggle** (`boolean`, default: `false`)
|
|
163
|
-
|
|
164
155
|
- When `true`, clicking an already-selected item keeps it selected instead of toggling it off
|
|
165
156
|
- Useful when embedding ListBox inside components like ComboBox
|
|
166
157
|
|
|
167
158
|
**disabledKeys** (`Key[]`)
|
|
168
|
-
|
|
169
159
|
- Array of keys for items that should be disabled
|
|
170
160
|
- Disabled items cannot be selected and are visually distinguished
|
|
171
161
|
|
|
172
162
|
### Visual Styling
|
|
173
163
|
|
|
174
164
|
**shape** (`'card' | 'plain' | 'popover'`, default: `'card'`)
|
|
175
|
-
|
|
176
165
|
- Controls the visual styling of the ListBox container
|
|
177
166
|
- `card`: Standard card styling with border and margin (default)
|
|
178
167
|
- `plain`: No border, no margin, no radius - suitable for embedded use
|
|
@@ -183,47 +172,39 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
183
172
|
### Focus and Interaction
|
|
184
173
|
|
|
185
174
|
**focusOnHover** (`boolean`, default: `true`)
|
|
186
|
-
|
|
187
175
|
- When `true`, moving the pointer over an option will move DOM focus to that option
|
|
188
176
|
- Set to `false` for components that keep DOM focus outside (e.g., searchable FilterListBox)
|
|
189
177
|
|
|
190
178
|
**shouldUseVirtualFocus** (`boolean`, default: `false`)
|
|
191
|
-
|
|
192
179
|
- When `true`, uses virtual focus for keyboard navigation
|
|
193
180
|
- DOM focus stays outside individual option elements (useful for searchable lists)
|
|
194
181
|
|
|
195
182
|
**shouldFocusWrap** (`boolean`, default: `false`)
|
|
196
|
-
|
|
197
183
|
- When `true`, keyboard navigation wraps around when reaching the end of the list
|
|
198
184
|
|
|
199
185
|
### Event Handlers
|
|
200
186
|
|
|
201
187
|
**onSelectionChange** (`(key: Key | null | 'all' | Key[]) => void`)
|
|
202
|
-
|
|
203
188
|
- Callback fired when selection changes
|
|
204
189
|
- In single mode: receives a single key or `null`
|
|
205
190
|
- In multiple mode: receives an array of keys or `'all'` for select all
|
|
206
191
|
|
|
207
192
|
**onEscape** (`() => void`)
|
|
208
|
-
|
|
209
193
|
- Callback fired when the user presses Escape key
|
|
210
194
|
- When provided, prevents React Aria's default Escape behavior (selection reset)
|
|
211
195
|
- Useful for closing parent overlays
|
|
212
196
|
|
|
213
197
|
**onOptionClick** (`(key: Key) => void`)
|
|
214
|
-
|
|
215
198
|
- Callback fired when an option is clicked (not on the checkbox area in checkable mode)
|
|
216
199
|
- Used by FilterPicker to close the popover on non-checkbox clicks
|
|
217
200
|
|
|
218
201
|
### Advanced
|
|
219
202
|
|
|
220
203
|
**stateRef** (`RefObject<any>`)
|
|
221
|
-
|
|
222
204
|
- Ref to access the internal ListState instance
|
|
223
205
|
- Allows parent components to access selection state and other list functionality
|
|
224
206
|
|
|
225
207
|
**listRef** (`RefObject<HTMLUListElement>`)
|
|
226
|
-
|
|
227
208
|
- Ref for accessing the list DOM element
|
|
228
209
|
|
|
229
210
|
## Sub-components
|
|
@@ -254,16 +235,16 @@ ListBox.Item is built using [Item](../content/Item.md), which provides rich layo
|
|
|
254
235
|
|
|
255
236
|
```jsx
|
|
256
237
|
<ListBox label="Team Members" selectionMode="multiple">
|
|
257
|
-
<ListBox.Item
|
|
258
|
-
key="user1"
|
|
238
|
+
<ListBox.Item
|
|
239
|
+
key="user1"
|
|
259
240
|
icon={<IconUser />}
|
|
260
241
|
description="Product Manager"
|
|
261
242
|
suffix="Online"
|
|
262
243
|
>
|
|
263
244
|
Alice Johnson
|
|
264
245
|
</ListBox.Item>
|
|
265
|
-
<ListBox.Item
|
|
266
|
-
key="user2"
|
|
246
|
+
<ListBox.Item
|
|
247
|
+
key="user2"
|
|
267
248
|
icon={<IconUser />}
|
|
268
249
|
description="Senior Developer"
|
|
269
250
|
rightIcon={<IconBadge />}
|
|
@@ -310,14 +291,14 @@ Groups related items together with an optional heading.
|
|
|
310
291
|
|
|
311
292
|
```jsx
|
|
312
293
|
<ListBox label="Choose a framework" selectionMode="single">
|
|
313
|
-
<ListBox.Item
|
|
314
|
-
key="react"
|
|
294
|
+
<ListBox.Item
|
|
295
|
+
key="react"
|
|
315
296
|
description="A JavaScript library for building user interfaces"
|
|
316
297
|
>
|
|
317
298
|
React
|
|
318
299
|
</ListBox.Item>
|
|
319
|
-
<ListBox.Item
|
|
320
|
-
key="vue"
|
|
300
|
+
<ListBox.Item
|
|
301
|
+
key="vue"
|
|
321
302
|
description="The Progressive JavaScript Framework"
|
|
322
303
|
>
|
|
323
304
|
Vue.js
|
|
@@ -690,7 +671,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
690
671
|
## Best Practices
|
|
691
672
|
|
|
692
673
|
1. **Do**: Provide clear, descriptive labels for options
|
|
693
|
-
|
|
694
674
|
```jsx
|
|
695
675
|
<ListBox.Item key="react" description="JavaScript library for UIs">
|
|
696
676
|
React
|
|
@@ -698,7 +678,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
698
678
|
```
|
|
699
679
|
|
|
700
680
|
2. **Don't**: Use ListBox for very large datasets without considering virtualization
|
|
701
|
-
|
|
702
681
|
```jsx
|
|
703
682
|
// ✅ Virtualization is automatic for lists without sections
|
|
704
683
|
<ListBox height="300px">
|
|
@@ -707,7 +686,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
707
686
|
```
|
|
708
687
|
|
|
709
688
|
3. **Do**: Use sections to organize related options
|
|
710
|
-
|
|
711
689
|
```jsx
|
|
712
690
|
<ListBox.Section title="Frontend Frameworks">
|
|
713
691
|
<ListBox.Item key="react">React</ListBox.Item>
|
|
@@ -715,7 +693,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
715
693
|
```
|
|
716
694
|
|
|
717
695
|
4. **Do**: Use `isCheckable` for clearer multiple selection UI
|
|
718
|
-
|
|
719
696
|
```jsx
|
|
720
697
|
<ListBox selectionMode="multiple" isCheckable={true}>
|
|
721
698
|
{/* Checkboxes make the selection state obvious */}
|
|
@@ -723,7 +700,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
723
700
|
```
|
|
724
701
|
|
|
725
702
|
5. **Do**: Use `showSelectAll` for efficient multiple selection from lists
|
|
726
|
-
|
|
727
703
|
```jsx
|
|
728
704
|
<ListBox selectionMode="multiple" isCheckable={true} showSelectAll selectAllLabel="Select All">
|
|
729
705
|
{/* Easy bulk selection with visual feedback */}
|
|
@@ -731,7 +707,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
731
707
|
```
|
|
732
708
|
|
|
733
709
|
6. **Do**: Use `textValue` for complex option content
|
|
734
|
-
|
|
735
710
|
```jsx
|
|
736
711
|
<ListBox.Item key="item" textValue="Basic Plan - Free">
|
|
737
712
|
<Space gap="1x" flow="column">
|
|
@@ -742,7 +717,6 @@ const [keyOrder, setKeyOrder] = useState([
|
|
|
742
717
|
```
|
|
743
718
|
|
|
744
719
|
7. **Do**: Leverage Item features for rich content
|
|
745
|
-
|
|
746
720
|
```jsx
|
|
747
721
|
<ListBox.Item
|
|
748
722
|
key="admin"
|
|
@@ -812,4 +786,4 @@ const items = Array.from({ length: 1000 }, (_, i) => ({
|
|
|
812
786
|
- [Select](./Select.md) - Dropdown selection without persistent visibility
|
|
813
787
|
- [ComboBox](./ComboBox.md) - Dropdown with text input and search
|
|
814
788
|
- [RadioGroup](./RadioGroup.md) - Single selection with radio buttons
|
|
815
|
-
- [CheckboxGroup](./Checkbox.md) - Multiple selection with checkboxes
|
|
789
|
+
- [CheckboxGroup](./Checkbox.md) - Multiple selection with checkboxes
|
|
@@ -53,7 +53,6 @@ Supports all [Field properties](../../FieldProperties.md)
|
|
|
53
53
|
Customizes the root element of the component.
|
|
54
54
|
|
|
55
55
|
**Sub-elements:**
|
|
56
|
-
|
|
57
56
|
- `InputWrapper` – container around the input field
|
|
58
57
|
- `Prefix` – wrapper around prefix content
|
|
59
58
|
- `Suffix` – wrapper around suffix content
|
|
@@ -158,13 +157,11 @@ The `mods` prop accepts the following modifiers you can override:
|
|
|
158
157
|
## Best Practices
|
|
159
158
|
|
|
160
159
|
1. **Do**: Provide clear labels and helpful placeholder text
|
|
161
|
-
|
|
162
160
|
```jsx
|
|
163
161
|
<NumberInput label="Quantity" placeholder="0" />
|
|
164
162
|
```
|
|
165
163
|
|
|
166
164
|
2. **Don't**: Use placeholder text as the only label
|
|
167
|
-
|
|
168
165
|
```jsx
|
|
169
166
|
{/* Avoid this */}
|
|
170
167
|
<NumberInput placeholder="Enter a number" />
|
|
@@ -47,7 +47,6 @@ Supports all [Field properties](../../FieldProperties.md)
|
|
|
47
47
|
Customizes the root wrapper element of the component.
|
|
48
48
|
|
|
49
49
|
**Sub-elements:**
|
|
50
|
-
|
|
51
50
|
- `Prefix` - Element displayed before the input
|
|
52
51
|
- `Suffix` - Element displayed after the input (contains toggle button)
|
|
53
52
|
- `State` - Container for validation state indicators
|
|
@@ -187,7 +186,6 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
187
186
|
## Best Practices
|
|
188
187
|
|
|
189
188
|
1. **Do**: Provide clear password requirements and feedback
|
|
190
|
-
|
|
191
189
|
```jsx
|
|
192
190
|
<PasswordInput
|
|
193
191
|
label="New Password"
|
|
@@ -198,7 +196,6 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
198
196
|
```
|
|
199
197
|
|
|
200
198
|
2. **Don't**: Use password input for non-sensitive data
|
|
201
|
-
|
|
202
199
|
```jsx
|
|
203
200
|
<PasswordInput label="Username" /> {/* Use TextInput instead */}
|
|
204
201
|
```
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
# Period Pickers
|
|
2
2
|
|
|
3
|
-
`WeekPicker`, `MonthPicker`, `QuarterPicker`, and `YearPicker` let users select a
|
|
3
|
+
`WeekPicker`, `MonthPicker`, `QuarterPicker`, and `YearPicker` let users select a
|
|
4
|
+
whole calendar period instead of a specific day. They mirror Ant Design's
|
|
5
|
+
`DatePicker picker="week|month|quarter|year"` feature, but are exposed as four
|
|
6
|
+
dedicated components that share a single implementation.
|
|
4
7
|
|
|
5
|
-
The value is always a single `CalendarDate` (from `@internationalized/date`)
|
|
8
|
+
The value is always a single `CalendarDate` (from `@internationalized/date`)
|
|
9
|
+
**snapped to the start of the chosen period**:
|
|
6
10
|
|
|
7
11
|
- **Week** → the first day of the week (locale-aware)
|
|
8
12
|
- **Month** → the 1st of the month
|
|
9
13
|
- **Quarter** → the 1st of the first month of the quarter
|
|
10
14
|
- **Year** → January 1st
|
|
11
15
|
|
|
12
|
-
The field renders a compact label for the selected period (`2026-W33`, `2026-08`,
|
|
16
|
+
The field renders a compact label for the selected period (`2026-W33`, `2026-08`,
|
|
17
|
+
`2026-Q3`, `2026`). Use `formatValue` to override it.
|
|
13
18
|
|
|
14
|
-
In the month and quarter panels the year in the header is a button that opens a
|
|
19
|
+
In the month and quarter panels the year in the header is a button that opens a
|
|
20
|
+
year list, so picking a period several years away takes two clicks instead of
|
|
21
|
+
paging through the arrows.
|
|
15
22
|
|
|
16
23
|
## When to Use
|
|
17
24
|
|
|
@@ -40,7 +47,8 @@ In the month and quarter panels the year in the header is a button that opens a
|
|
|
40
47
|
- **`onChange`** `(value: DateValue | null) => void` — Fired when the selected period changes
|
|
41
48
|
- **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
|
|
42
49
|
|
|
43
|
-
`WeekPicker`, `MonthPicker`, `QuarterPicker` and `YearPicker` are thin wrappers
|
|
50
|
+
`WeekPicker`, `MonthPicker`, `QuarterPicker` and `YearPicker` are thin wrappers
|
|
51
|
+
that pin `picker`; everything else is identical.
|
|
44
52
|
|
|
45
53
|
### Base Properties
|
|
46
54
|
|
|
@@ -80,7 +88,8 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
80
88
|
|
|
81
89
|
### Limited range
|
|
82
90
|
|
|
83
|
-
Periods that fall entirely outside `minValue` / `maxValue` are disabled, and the
|
|
91
|
+
Periods that fall entirely outside `minValue` / `maxValue` are disabled, and the
|
|
92
|
+
navigation arrows stop at the edge of the range.
|
|
84
93
|
|
|
85
94
|
## Accessibility
|
|
86
95
|
|
|
@@ -96,7 +105,8 @@ Periods that fall entirely outside `minValue` / `maxValue` are disabled, and the
|
|
|
96
105
|
### Screen Reader Support
|
|
97
106
|
|
|
98
107
|
- The panel is a `grid` labelled `Months`, `Quarters` or `Years`
|
|
99
|
-
- The trigger is described by the field's current value, so the selection is
|
|
108
|
+
- The trigger is described by the field's current value, so the selection is
|
|
109
|
+
announced along with the button
|
|
100
110
|
|
|
101
111
|
## Related Components
|
|
102
112
|
|
|
@@ -80,7 +80,6 @@ Supports all [Field properties](../../FieldProperties.md)
|
|
|
80
80
|
Customizes the root wrapper element and the trigger button of the Picker component.
|
|
81
81
|
|
|
82
82
|
**Sub-elements:**
|
|
83
|
-
|
|
84
83
|
- None
|
|
85
84
|
|
|
86
85
|
#### triggerStyles
|
|
@@ -88,7 +87,6 @@ Customizes the root wrapper element and the trigger button of the Picker compone
|
|
|
88
87
|
Customizes the DialogTrigger wrapper that contains the trigger button and manages the popover.
|
|
89
88
|
|
|
90
89
|
**Sub-elements:**
|
|
91
|
-
|
|
92
90
|
- None
|
|
93
91
|
|
|
94
92
|
#### listBoxStyles
|
|
@@ -96,9 +94,8 @@ Customizes the DialogTrigger wrapper that contains the trigger button and manage
|
|
|
96
94
|
Customizes the ListBox component styles within the popover. See [ListBox documentation](./ListBox.md) for available sub-elements.
|
|
97
95
|
|
|
98
96
|
**Sub-elements:**
|
|
99
|
-
|
|
100
97
|
- `Label` - Item label text
|
|
101
|
-
- `Description` - Item description text
|
|
98
|
+
- `Description` - Item description text
|
|
102
99
|
- `Content` - Item content wrapper
|
|
103
100
|
- `Checkbox` - Checkbox element in multiple selection mode
|
|
104
101
|
- `CheckboxWrapper` - Wrapper around checkbox
|
|
@@ -108,7 +105,6 @@ Customizes the ListBox component styles within the popover. See [ListBox documen
|
|
|
108
105
|
Customizes the popover Dialog that contains the ListBox. See [Dialog documentation](../overlays/Dialog.md) for available sub-elements.
|
|
109
106
|
|
|
110
107
|
**Sub-elements:**
|
|
111
|
-
|
|
112
108
|
- None for Dialog in popover mode
|
|
113
109
|
|
|
114
110
|
#### listStyles
|
|
@@ -179,18 +175,17 @@ See [Item documentation](../content/Item.md) for the complete API. Common proper
|
|
|
179
175
|
#### Examples with Rich Items
|
|
180
176
|
|
|
181
177
|
**With Icons and Descriptions:**
|
|
182
|
-
|
|
183
178
|
```jsx
|
|
184
179
|
<Picker label="Team Selection" selectionMode="single">
|
|
185
|
-
<Picker.Item
|
|
186
|
-
key="active"
|
|
180
|
+
<Picker.Item
|
|
181
|
+
key="active"
|
|
187
182
|
icon={<IconUsers />}
|
|
188
183
|
description="All active team members"
|
|
189
184
|
>
|
|
190
185
|
Active Users
|
|
191
186
|
</Picker.Item>
|
|
192
|
-
<Picker.Item
|
|
193
|
-
key="admins"
|
|
187
|
+
<Picker.Item
|
|
188
|
+
key="admins"
|
|
194
189
|
icon={<IconShield />}
|
|
195
190
|
description="Admin users only"
|
|
196
191
|
>
|
|
@@ -200,17 +195,16 @@ See [Item documentation](../content/Item.md) for the complete API. Common proper
|
|
|
200
195
|
```
|
|
201
196
|
|
|
202
197
|
**With Prefix and Suffix:**
|
|
203
|
-
|
|
204
198
|
```jsx
|
|
205
199
|
<Picker label="Select Plan" selectionMode="single">
|
|
206
|
-
<Picker.Item
|
|
200
|
+
<Picker.Item
|
|
207
201
|
key="free"
|
|
208
202
|
prefix={<Badge>Free</Badge>}
|
|
209
203
|
suffix="$0/mo"
|
|
210
204
|
>
|
|
211
205
|
Basic Plan
|
|
212
206
|
</Picker.Item>
|
|
213
|
-
<Picker.Item
|
|
207
|
+
<Picker.Item
|
|
214
208
|
key="pro"
|
|
215
209
|
prefix={<Badge type="primary">Pro</Badge>}
|
|
216
210
|
suffix="$29/mo"
|
|
@@ -280,14 +274,12 @@ For large datasets or dynamic content, use the `items` prop with a render functi
|
|
|
280
274
|
```
|
|
281
275
|
|
|
282
276
|
**Key Benefits:**
|
|
283
|
-
|
|
284
277
|
- **Virtualization**: Automatically enabled for large lists without sections
|
|
285
278
|
- **Performance**: Only renders visible items in the DOM
|
|
286
279
|
- **Dynamic Content**: Perfect for data fetched from APIs or changing datasets
|
|
287
280
|
- **Memory Efficient**: Handles thousands of items smoothly
|
|
288
281
|
|
|
289
282
|
**When to Use:**
|
|
290
|
-
|
|
291
283
|
- Lists with 50+ items
|
|
292
284
|
- Dynamic data from APIs
|
|
293
285
|
- Content that changes frequently
|
|
@@ -328,8 +320,8 @@ Control the color scheme with the `theme` prop:
|
|
|
328
320
|
Standard single-selection picker with a placeholder and label.
|
|
329
321
|
|
|
330
322
|
```jsx
|
|
331
|
-
<Picker
|
|
332
|
-
label="Favorite Fruit"
|
|
323
|
+
<Picker
|
|
324
|
+
label="Favorite Fruit"
|
|
333
325
|
placeholder="Select a fruit"
|
|
334
326
|
selectionMode="single"
|
|
335
327
|
>
|
|
@@ -468,7 +460,7 @@ const categories = [
|
|
|
468
460
|
Picker supports three sizes: small, medium (default), and large.
|
|
469
461
|
|
|
470
462
|
```jsx
|
|
471
|
-
<Picker
|
|
463
|
+
<Picker
|
|
472
464
|
size="small"
|
|
473
465
|
label="Small Picker"
|
|
474
466
|
placeholder="Select a fruit"
|
|
@@ -477,7 +469,7 @@ Picker supports three sizes: small, medium (default), and large.
|
|
|
477
469
|
<Picker.Item key="banana">Banana</Picker.Item>
|
|
478
470
|
</Picker>
|
|
479
471
|
|
|
480
|
-
<Picker
|
|
472
|
+
<Picker
|
|
481
473
|
size="medium"
|
|
482
474
|
label="Medium Picker"
|
|
483
475
|
placeholder="Select a fruit"
|
|
@@ -486,7 +478,7 @@ Picker supports three sizes: small, medium (default), and large.
|
|
|
486
478
|
<Picker.Item key="banana">Banana</Picker.Item>
|
|
487
479
|
</Picker>
|
|
488
480
|
|
|
489
|
-
<Picker
|
|
481
|
+
<Picker
|
|
490
482
|
size="large"
|
|
491
483
|
label="Large Picker"
|
|
492
484
|
placeholder="Select a fruit"
|
|
@@ -560,7 +552,6 @@ The Picker component is built with React Aria hooks and provides comprehensive a
|
|
|
560
552
|
- **`Space`** or **`Enter`** — Selects the focused item (single mode closes popover automatically)
|
|
561
553
|
|
|
562
554
|
**In the popover:**
|
|
563
|
-
|
|
564
555
|
- Arrow keys navigate through items
|
|
565
556
|
- Home/End keys jump to first/last item
|
|
566
557
|
- Type-ahead: typing characters focuses matching items
|
|
@@ -590,30 +581,26 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
590
581
|
### Best Practices for Accessibility
|
|
591
582
|
|
|
592
583
|
1. **Always provide a label**: Use the `label` prop or `aria-label` for screen reader users
|
|
593
|
-
|
|
594
584
|
```jsx
|
|
595
585
|
<Picker label="Select Category">...</Picker>
|
|
596
586
|
```
|
|
597
587
|
|
|
598
588
|
2. **Use meaningful placeholders**: Placeholders should describe the expected selection
|
|
599
|
-
|
|
600
589
|
```jsx
|
|
601
590
|
<Picker placeholder="Choose a category" label="Category">...</Picker>
|
|
602
591
|
```
|
|
603
592
|
|
|
604
593
|
3. **Provide help text**: Use `description` for additional context
|
|
605
|
-
|
|
606
594
|
```jsx
|
|
607
|
-
<Picker
|
|
595
|
+
<Picker
|
|
608
596
|
label="Priority"
|
|
609
597
|
description="Select the task priority level"
|
|
610
598
|
>...</Picker>
|
|
611
599
|
```
|
|
612
600
|
|
|
613
601
|
4. **Handle validation properly**: Use the `isInvalid` / `isValid` and `errorMessage` props
|
|
614
|
-
|
|
615
602
|
```jsx
|
|
616
|
-
<Picker
|
|
603
|
+
<Picker
|
|
617
604
|
isInvalid
|
|
618
605
|
message="Please select an option"
|
|
619
606
|
>...</Picker>
|
|
@@ -629,10 +616,9 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
629
616
|
## Best Practices
|
|
630
617
|
|
|
631
618
|
1. **Do**: Provide clear, descriptive labels and placeholders
|
|
632
|
-
|
|
633
619
|
```jsx
|
|
634
|
-
<Picker
|
|
635
|
-
label="Product Category"
|
|
620
|
+
<Picker
|
|
621
|
+
label="Product Category"
|
|
636
622
|
placeholder="Choose a category..."
|
|
637
623
|
selectionMode="single"
|
|
638
624
|
>
|
|
@@ -642,13 +628,12 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
642
628
|
```
|
|
643
629
|
|
|
644
630
|
2. **Don't**: Use overly long option texts that will be truncated
|
|
645
|
-
|
|
646
631
|
```jsx
|
|
647
632
|
// Avoid
|
|
648
633
|
<Picker.Item key="long">
|
|
649
634
|
This is an extremely long option text that will be truncated and hard to read
|
|
650
635
|
</Picker.Item>
|
|
651
|
-
|
|
636
|
+
|
|
652
637
|
// Instead, use description
|
|
653
638
|
<Picker.Item key="short" description="Additional details here">
|
|
654
639
|
Short Label
|
|
@@ -656,7 +641,6 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
656
641
|
```
|
|
657
642
|
|
|
658
643
|
3. **Do**: Use sections for logical grouping
|
|
659
|
-
|
|
660
644
|
```jsx
|
|
661
645
|
<Picker label="Select Food" selectionMode="single">
|
|
662
646
|
<Picker.Section title="Fruits">
|
|
@@ -669,7 +653,6 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
669
653
|
```
|
|
670
654
|
|
|
671
655
|
4. **Do**: Use the `items` prop for large datasets to enable virtualization
|
|
672
|
-
|
|
673
656
|
```jsx
|
|
674
657
|
<Picker items={largeDataset} label="Select Item">
|
|
675
658
|
{(item) => <Picker.Item key={item.id}>{item.name}</Picker.Item>}
|
|
@@ -677,11 +660,10 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
677
660
|
```
|
|
678
661
|
|
|
679
662
|
5. **Do**: Use `isClearable` for optional single selections
|
|
680
|
-
|
|
681
663
|
```jsx
|
|
682
|
-
<Picker
|
|
664
|
+
<Picker
|
|
683
665
|
label="Optional Filter"
|
|
684
|
-
selectionMode="single"
|
|
666
|
+
selectionMode="single"
|
|
685
667
|
isClearable
|
|
686
668
|
placeholder="Choose an option..."
|
|
687
669
|
>
|
|
@@ -690,12 +672,11 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
690
672
|
```
|
|
691
673
|
|
|
692
674
|
6. **Do**: Use `showSelectAll` for efficient multiple selection
|
|
693
|
-
|
|
694
675
|
```jsx
|
|
695
|
-
<Picker
|
|
676
|
+
<Picker
|
|
696
677
|
label="Permissions"
|
|
697
|
-
selectionMode="multiple"
|
|
698
|
-
showSelectAll
|
|
678
|
+
selectionMode="multiple"
|
|
679
|
+
showSelectAll
|
|
699
680
|
selectAllLabel="All Permissions"
|
|
700
681
|
isCheckable
|
|
701
682
|
>
|
|
@@ -705,11 +686,10 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
705
686
|
```
|
|
706
687
|
|
|
707
688
|
7. **Do**: Use `isCheckable` in multiple selection mode for clarity
|
|
708
|
-
|
|
709
689
|
```jsx
|
|
710
|
-
<Picker
|
|
690
|
+
<Picker
|
|
711
691
|
label="Select Options"
|
|
712
|
-
selectionMode="multiple"
|
|
692
|
+
selectionMode="multiple"
|
|
713
693
|
isCheckable
|
|
714
694
|
>
|
|
715
695
|
<Picker.Item key="option1">Option 1</Picker.Item>
|
|
@@ -801,7 +781,7 @@ const renderSummary = ({ selectedLabels, selectedKeys, selectionMode }) => {
|
|
|
801
781
|
if (selectionMode === 'single') {
|
|
802
782
|
return selectedLabels?.[0] ? `Selected: ${selectedLabels[0]}` : null;
|
|
803
783
|
}
|
|
804
|
-
|
|
784
|
+
|
|
805
785
|
if (!selectedKeys || selectedKeys.length === 0) return null;
|
|
806
786
|
if (selectedKeys === 'all') return 'All items selected';
|
|
807
787
|
if (selectedKeys.length === 1) return selectedLabels[0];
|
|
@@ -809,7 +789,7 @@ const renderSummary = ({ selectedLabels, selectedKeys, selectionMode }) => {
|
|
|
809
789
|
return `${selectedKeys.length} items selected`;
|
|
810
790
|
};
|
|
811
791
|
|
|
812
|
-
<Picker
|
|
792
|
+
<Picker
|
|
813
793
|
label="Custom Summary"
|
|
814
794
|
selectionMode="multiple"
|
|
815
795
|
renderSummary={renderSummary}
|
|
@@ -842,7 +822,6 @@ For space-constrained interfaces, hide the summary text and show only an icon:
|
|
|
842
822
|
Full control over selection state for integration with external state management:
|
|
843
823
|
|
|
844
824
|
**Single Selection:**
|
|
845
|
-
|
|
846
825
|
```jsx
|
|
847
826
|
const [selectedKey, setSelectedKey] = useState(null);
|
|
848
827
|
|
|
@@ -858,7 +837,6 @@ const [selectedKey, setSelectedKey] = useState(null);
|
|
|
858
837
|
```
|
|
859
838
|
|
|
860
839
|
**Multiple Selection:**
|
|
861
|
-
|
|
862
840
|
```jsx
|
|
863
841
|
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
864
842
|
|
|
@@ -910,18 +888,15 @@ const fruits = [
|
|
|
910
888
|
### Optimization Tips
|
|
911
889
|
|
|
912
890
|
1. **Use Dynamic Content Pattern for Large Lists**
|
|
913
|
-
|
|
914
891
|
- For lists with 50+ items, use the `items` prop with a render function
|
|
915
892
|
- This enables automatic virtualization for better performance
|
|
916
893
|
- Only visible items are rendered in the DOM
|
|
917
894
|
|
|
918
895
|
2. **Avoid Sections with Large Datasets**
|
|
919
|
-
|
|
920
896
|
- Virtualization is disabled when sections are present
|
|
921
897
|
- For large lists, prefer flat structure or use filtering instead
|
|
922
898
|
|
|
923
899
|
3. **Provide `textValue` for Complex Content**
|
|
924
|
-
|
|
925
900
|
- When items contain complex JSX, provide a `textValue` prop
|
|
926
901
|
- This helps with accessibility and potential search functionality
|
|
927
902
|
|
|
@@ -935,7 +910,7 @@ Virtualization is automatically enabled when using the `items` prop without sect
|
|
|
935
910
|
|
|
936
911
|
```jsx
|
|
937
912
|
// ✅ Virtualized - excellent performance with thousands of items
|
|
938
|
-
<Picker
|
|
913
|
+
<Picker
|
|
939
914
|
items={thousandsOfItems}
|
|
940
915
|
label="Large Dataset"
|
|
941
916
|
>
|
|
@@ -959,8 +934,8 @@ Optimize complex item content with the `textValue` prop for better accessibility
|
|
|
959
934
|
```jsx
|
|
960
935
|
<Picker label="Select User" items={users}>
|
|
961
936
|
{(user) => (
|
|
962
|
-
<Picker.Item
|
|
963
|
-
key={user.id}
|
|
937
|
+
<Picker.Item
|
|
938
|
+
key={user.id}
|
|
964
939
|
textValue={`${user.name} - ${user.role}`}
|
|
965
940
|
>
|
|
966
941
|
<UserCard user={user} />
|