@cube-dev/ui-kit 0.0.0-canary-bef9600 → 0.0.0-canary-e3f8a1a
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/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.js +11 -5
- package/dist/components/actions/Button/Button.js.map +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 +27 -25
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.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/MenuCollectionItem.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 -4
- package/dist/components/actions/Menu/styled.js.map +1 -1
- package/dist/components/actions/actions-run.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.d.ts +4 -4
- 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 +3 -3
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
- package/dist/components/content/ItemBadge/ItemBadge.js.map +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 +28 -15
- package/dist/components/content/Layout/Layout.js.map +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 +20 -10
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +12 -9
- package/dist/components/content/Layout/LayoutFooter.js.map +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/LayoutPanelTransition.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 +3 -3
- package/dist/components/content/use-auto-tooltip.js.map +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/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.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/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.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.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.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.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-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +2 -2
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -5
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +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.d.ts +26 -6
- package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
- package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
- 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.d.ts +2 -2
- package/dist/components/fields/Input/Input.js +2 -2
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
- package/dist/components/fields/ListBox/ListBox.js +293 -143
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +15 -12
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -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.d.ts +0 -1
- package/dist/components/fields/NumberInput/NumberInput.js +136 -128
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +38 -48
- package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +1 -1
- package/dist/components/fields/Picker/Picker.js +8 -3
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +8 -8
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +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.d.ts +8 -3
- package/dist/components/fields/SearchInput/SearchInput.js +22 -29
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +12 -1
- package/dist/components/fields/Select/Select.js +365 -207
- package/dist/components/fields/Select/Select.js.map +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 +3 -4
- package/dist/components/fields/Slider/RangeSlider.js.map +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/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.d.ts +0 -1
- package/dist/components/fields/TextArea/TextArea.js +49 -63
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
- package/dist/components/fields/TextInput/TextInput.js +42 -46
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
- package/dist/components/fields/TextInput/TextInputBase.js +32 -10
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +50 -0
- package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +2 -2
- package/dist/components/fields/TriggerActions.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/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +78 -0
- package/dist/components/fields/option-origin-press.js.map +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/field-description.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/ModernFormRoot.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/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.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/field-chrome.js +1 -1
- package/dist/components/form/legacy-tooltip.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/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/BoardDragActiveProvider.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.d.ts +6 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -2
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +28 -14
- package/dist/components/overlays/Dialog/Dialog.js.map +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.d.ts +7 -3
- package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +83 -0
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +3 -2
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Popover.js.map +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/modal-containment.js +1 -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.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.d.ts +8 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
- 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.d.ts +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -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 +11 -17
- 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 +6 -4
- package/dist/i18n/locales/en-US/uikit.js +6 -4
- package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
- package/dist/i18n/locales/es-ES/uikit.js +6 -4
- package/dist/i18n/locales/es-MX/uikit.js +6 -4
- package/dist/i18n/locales/fr-FR/uikit.js +6 -4
- package/dist/i18n/locales/it-IT/uikit.js +6 -4
- package/dist/i18n/locales/ja-JP/uikit.js +6 -4
- package/dist/i18n/locales/nb-NO/uikit.js +6 -4
- package/dist/i18n/locales/pt-BR/uikit.js +6 -4
- package/dist/i18n/locales/pt-PT/uikit.js +6 -4
- package/dist/i18n/locales/sv-SE/uikit.js +6 -4
- package/dist/i18n/locales/vi-VN/uikit.js +6 -4
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.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.d.ts +1 -1
- package/dist/index.js +2 -2
- 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/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.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/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.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/colors.js +1 -1
- package/dist/utils/dotize.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 +18 -9
- package/dist/utils/react/nullableValue.js.map +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.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/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.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 +2 -2
- package/docs/components/actions/Button.md +8 -2
- package/docs/components/content/InfoBadge.md +2 -0
- package/docs/components/content/ItemBadge.md +4 -0
- package/docs/components/content/Layout.md +2 -1
- package/docs/components/fields/ComboBox.md +25 -18
- package/docs/components/fields/FilterListBox.md +2 -2
- package/docs/components/fields/FilterPicker.md +2 -2
- package/docs/components/fields/ListBox.md +14 -10
- package/docs/components/fields/NumberInput.md +10 -10
- package/docs/components/fields/PasswordInput.md +6 -7
- package/docs/components/fields/Picker.md +6 -5
- package/docs/components/fields/RadioGroup.md +1 -1
- package/docs/components/fields/SearchInput.md +7 -6
- package/docs/components/fields/Select.md +14 -8
- package/docs/components/fields/TextArea.md +4 -3
- package/docs/components/fields/TextInput.md +13 -6
- package/docs/components/overlays/AlertDialog.md +7 -1
- package/docs/components/overlays/Dialog.md +5 -5
- package/docs/components/overlays/DialogTrigger.md +6 -6
- package/docs/components/overlays/Tooltip.md +17 -6
- package/docs/components/overlays/TooltipTrigger.md +2 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e3f8a1a | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -17,12 +17,13 @@ import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
|
17
17
|
import { wrapWithField } from "../../form/wrapper.js";
|
|
18
18
|
import { GripVerticalIcon } from "../../../icons/GripVerticalIcon.js";
|
|
19
19
|
import { createMockDragState } from "../../shared/DraggableCollection.js";
|
|
20
|
+
import { useOptionOriginPress } from "../option-origin-press.js";
|
|
20
21
|
import { DraggableListBox } from "./DraggableListBox.js";
|
|
21
22
|
import { c } from "react/compiler-runtime";
|
|
22
23
|
import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, mergeStyles, tasty } from "@tenphi/tasty";
|
|
23
|
-
import { forwardRef, useEffect, useLayoutEffect, useMemo, useRef
|
|
24
|
+
import { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from "react";
|
|
24
25
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
25
|
-
import { mergeProps, useDraggableItem, useDropIndicator, useKeyboard, useListBox, useListBoxSection, useOption } from "react-aria";
|
|
26
|
+
import { mergeProps, useDraggableItem, useDropIndicator, useFocusRing, useKeyboard, useListBox, useListBoxSection, useOption } from "react-aria";
|
|
26
27
|
import { Section, useListState } from "react-stately";
|
|
27
28
|
import { useHover as useHover$1 } from "@react-aria/interactions";
|
|
28
29
|
import { IconMinus } from "@tabler/icons-react";
|
|
@@ -65,12 +66,15 @@ const ListElement = tasty({
|
|
|
65
66
|
styles: {
|
|
66
67
|
"$list-gap": "1bw",
|
|
67
68
|
display: "block",
|
|
68
|
-
padding:
|
|
69
|
+
padding: {
|
|
70
|
+
"": ".5x bottom",
|
|
71
|
+
empty: 0
|
|
72
|
+
},
|
|
69
73
|
listStyle: "none",
|
|
70
74
|
boxSizing: "content-box",
|
|
71
75
|
margin: {
|
|
72
76
|
"": ".5x .5x 0 .5x",
|
|
73
|
-
"[data-shape=\"plain\"]": "0"
|
|
77
|
+
"[data-shape=\"plain\"] | empty": "0"
|
|
74
78
|
},
|
|
75
79
|
height: "max-content"
|
|
76
80
|
}
|
|
@@ -223,79 +227,217 @@ const PROP_STYLES = [
|
|
|
223
227
|
...OUTER_STYLES,
|
|
224
228
|
...COLOR_STYLES
|
|
225
229
|
];
|
|
226
|
-
|
|
230
|
+
/** A collection with no options, for a list state that isn't needed. */
|
|
231
|
+
const NO_OPTIONS = {
|
|
232
|
+
children: [],
|
|
233
|
+
selectionMode: "none"
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* The "Select All" row: a tri-state checkbox above the list rather than an
|
|
237
|
+
* option in it, since it acts on the options instead of being one. Being
|
|
238
|
+
* outside the listbox keeps the listbox's children to options and groups, and
|
|
239
|
+
* makes it a Tab stop of its own, which a list in virtual focus (searchable
|
|
240
|
+
* lists) could not offer as an option.
|
|
241
|
+
*/
|
|
242
|
+
const SelectAllOption = (t0) => {
|
|
243
|
+
const $ = c(41);
|
|
244
|
+
const { label, isSelected, isIndeterminate, isDisabled, isCheckable, size: t1, onClick, focusProps, allValueProps: t2 } = t0;
|
|
245
|
+
const size = t1 === void 0 ? "medium" : t1;
|
|
246
|
+
const allValueProps = t2 === void 0 ? {} : t2;
|
|
227
247
|
const { t } = useI18n();
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
248
|
+
let t3;
|
|
249
|
+
if ($[0] !== isDisabled) {
|
|
250
|
+
t3 = { isDisabled };
|
|
251
|
+
$[0] = isDisabled;
|
|
252
|
+
$[1] = t3;
|
|
253
|
+
} else t3 = $[1];
|
|
254
|
+
const { hoverProps, isHovered } = useHover$1(t3);
|
|
255
|
+
const { focusProps: focusRingProps, isFocusVisible } = useFocusRing();
|
|
256
|
+
let t4;
|
|
257
|
+
if ($[2] !== label || $[3] !== t) {
|
|
258
|
+
t4 = label === "" || label === void 0 || label === null ? t("listBox.selectAll", "Select All") : label;
|
|
259
|
+
$[2] = label;
|
|
260
|
+
$[3] = t;
|
|
261
|
+
$[4] = t4;
|
|
262
|
+
} else t4 = $[4];
|
|
263
|
+
const resolvedLabel = t4;
|
|
264
|
+
let t5;
|
|
265
|
+
if ($[5] !== isIndeterminate) {
|
|
266
|
+
t5 = isIndeterminate ? /* @__PURE__ */ jsx(Icon, {
|
|
267
|
+
size: 12,
|
|
268
|
+
stroke: 3,
|
|
269
|
+
"aria-hidden": "true",
|
|
270
|
+
children: /* @__PURE__ */ jsx(IconMinus, {})
|
|
271
|
+
}) : /* @__PURE__ */ jsx(CheckIcon, {
|
|
272
|
+
size: 12,
|
|
273
|
+
stroke: 3
|
|
274
|
+
});
|
|
275
|
+
$[5] = isIndeterminate;
|
|
276
|
+
$[6] = t5;
|
|
277
|
+
} else t5 = $[6];
|
|
278
|
+
const markIcon = t5;
|
|
279
|
+
let t6;
|
|
280
|
+
if ($[7] !== isDisabled || $[8] !== isHovered || $[9] !== isIndeterminate || $[10] !== isSelected) {
|
|
281
|
+
t6 = {
|
|
282
|
+
selected: isSelected,
|
|
283
|
+
disabled: isDisabled,
|
|
284
|
+
hovered: isHovered,
|
|
285
|
+
indeterminate: isIndeterminate
|
|
286
|
+
};
|
|
287
|
+
$[7] = isDisabled;
|
|
288
|
+
$[8] = isHovered;
|
|
289
|
+
$[9] = isIndeterminate;
|
|
290
|
+
$[10] = isSelected;
|
|
291
|
+
$[11] = t6;
|
|
292
|
+
} else t6 = $[11];
|
|
293
|
+
const checkboxMods = t6;
|
|
294
|
+
let t7;
|
|
295
|
+
if ($[12] !== checkboxMods || $[13] !== isCheckable || $[14] !== isIndeterminate || $[15] !== isSelected || $[16] !== markIcon) {
|
|
296
|
+
t7 = isCheckable ? /* @__PURE__ */ jsx(ListBoxCheckboxWrapper, {
|
|
243
297
|
"data-element": "CheckboxWrapper",
|
|
244
|
-
mods:
|
|
245
|
-
selected: isSelected,
|
|
246
|
-
disabled: isDisabled,
|
|
247
|
-
hovered: isHovered,
|
|
248
|
-
indeterminate: isIndeterminate
|
|
249
|
-
},
|
|
298
|
+
mods: checkboxMods,
|
|
250
299
|
children: /* @__PURE__ */ jsx(ListBoxCheckbox, {
|
|
251
300
|
"data-element": "Checkbox",
|
|
252
|
-
mods:
|
|
253
|
-
selected: isSelected,
|
|
254
|
-
disabled: isDisabled,
|
|
255
|
-
hovered: isHovered,
|
|
256
|
-
indeterminate: isIndeterminate
|
|
257
|
-
},
|
|
301
|
+
mods: checkboxMods,
|
|
258
302
|
children: (isIndeterminate || isSelected) && markIcon
|
|
259
303
|
})
|
|
260
|
-
});
|
|
261
|
-
|
|
262
|
-
isCheckable
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
304
|
+
}) : null;
|
|
305
|
+
$[12] = checkboxMods;
|
|
306
|
+
$[13] = isCheckable;
|
|
307
|
+
$[14] = isIndeterminate;
|
|
308
|
+
$[15] = isSelected;
|
|
309
|
+
$[16] = markIcon;
|
|
310
|
+
$[17] = t7;
|
|
311
|
+
} else t7 = $[17];
|
|
312
|
+
const checkboxIcon = t7;
|
|
313
|
+
let t8;
|
|
314
|
+
if ($[18] !== onClick) {
|
|
315
|
+
t8 = (e) => {
|
|
316
|
+
onClick(!e.currentTarget.querySelector("[data-element=\"CheckboxWrapper\"]")?.contains(e.target));
|
|
317
|
+
};
|
|
318
|
+
$[18] = onClick;
|
|
319
|
+
$[19] = t8;
|
|
320
|
+
} else t8 = $[19];
|
|
321
|
+
const handleClick = t8;
|
|
322
|
+
let t9;
|
|
323
|
+
if ($[20] !== onClick) {
|
|
324
|
+
t9 = (e_0) => {
|
|
325
|
+
if (e_0.key !== " ") return;
|
|
326
|
+
e_0.preventDefault();
|
|
327
|
+
e_0.stopPropagation();
|
|
328
|
+
onClick(false);
|
|
329
|
+
};
|
|
330
|
+
$[20] = onClick;
|
|
331
|
+
$[21] = t9;
|
|
332
|
+
} else t9 = $[21];
|
|
333
|
+
const handleKeyDown = t9;
|
|
334
|
+
const T0 = ListBoxItem;
|
|
335
|
+
const t10 = "div";
|
|
336
|
+
const t11 = "checkbox";
|
|
337
|
+
const t12 = isIndeterminate ? "mixed" : isSelected;
|
|
338
|
+
let t13;
|
|
339
|
+
if ($[22] !== isCheckable || $[23] !== isDisabled || $[24] !== isFocusVisible || $[25] !== isHovered || $[26] !== isIndeterminate || $[27] !== isSelected) {
|
|
340
|
+
t13 = {
|
|
288
341
|
listboxitem: true,
|
|
342
|
+
selected: isSelected,
|
|
289
343
|
disabled: isDisabled,
|
|
290
344
|
checkable: isCheckable,
|
|
291
345
|
hovered: isHovered,
|
|
346
|
+
focused: isFocusVisible,
|
|
292
347
|
indeterminate: isIndeterminate,
|
|
293
348
|
all: true
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
349
|
+
};
|
|
350
|
+
$[22] = isCheckable;
|
|
351
|
+
$[23] = isDisabled;
|
|
352
|
+
$[24] = isFocusVisible;
|
|
353
|
+
$[25] = isHovered;
|
|
354
|
+
$[26] = isIndeterminate;
|
|
355
|
+
$[27] = isSelected;
|
|
356
|
+
$[28] = t13;
|
|
357
|
+
} else t13 = $[28];
|
|
358
|
+
const t14 = mergeProps$1(hoverProps, focusRingProps, focusProps, allValueProps, {
|
|
359
|
+
tabIndex: isDisabled ? void 0 : 0,
|
|
360
|
+
onClick: handleClick,
|
|
361
|
+
onKeyDown: handleKeyDown
|
|
362
|
+
});
|
|
363
|
+
let t15;
|
|
364
|
+
if ($[29] !== T0 || $[30] !== checkboxIcon || $[31] !== isDisabled || $[32] !== resolvedLabel || $[33] !== size || $[34] !== t12 || $[35] !== t13 || $[36] !== t14) {
|
|
365
|
+
t15 = /* @__PURE__ */ jsx(T0, {
|
|
366
|
+
as: t10,
|
|
367
|
+
role: t11,
|
|
368
|
+
"aria-checked": t12,
|
|
369
|
+
"data-size": size,
|
|
370
|
+
size,
|
|
371
|
+
isDisabled,
|
|
372
|
+
icon: checkboxIcon,
|
|
373
|
+
mods: t13,
|
|
374
|
+
...t14,
|
|
375
|
+
children: resolvedLabel
|
|
376
|
+
});
|
|
377
|
+
$[29] = T0;
|
|
378
|
+
$[30] = checkboxIcon;
|
|
379
|
+
$[31] = isDisabled;
|
|
380
|
+
$[32] = resolvedLabel;
|
|
381
|
+
$[33] = size;
|
|
382
|
+
$[34] = t12;
|
|
383
|
+
$[35] = t13;
|
|
384
|
+
$[36] = t14;
|
|
385
|
+
$[37] = t15;
|
|
386
|
+
} else t15 = $[37];
|
|
387
|
+
let t16;
|
|
388
|
+
if ($[38] === Symbol.for("react.memo_cache_sentinel")) {
|
|
389
|
+
t16 = /* @__PURE__ */ jsx(StyledDivider, {
|
|
390
|
+
as: "div",
|
|
391
|
+
role: "presentation"
|
|
392
|
+
});
|
|
393
|
+
$[38] = t16;
|
|
394
|
+
} else t16 = $[38];
|
|
395
|
+
let t17;
|
|
396
|
+
if ($[39] !== t15) {
|
|
397
|
+
t17 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t15, t16] });
|
|
398
|
+
$[39] = t15;
|
|
399
|
+
$[40] = t17;
|
|
400
|
+
} else t17 = $[40];
|
|
401
|
+
return t17;
|
|
298
402
|
};
|
|
403
|
+
/** The keys of the options a user can select in a collection: not disabled. */
|
|
404
|
+
function getSelectableKeys(collection, disabledKeys) {
|
|
405
|
+
const keys = [];
|
|
406
|
+
for (const key of collection.getKeys()) {
|
|
407
|
+
const node = collection.getItem(key);
|
|
408
|
+
if (node?.type === "item" && !disabledKeys.has(key) && !node.props?.isDisabled) keys.push(key);
|
|
409
|
+
}
|
|
410
|
+
return keys;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* The selection a "Select All" press leaves. While it isn't checked, the press
|
|
414
|
+
* selects all (`'all'`), or under a filter adds the options shown. Once it is,
|
|
415
|
+
* the press takes the options shown out of the selection: selected options
|
|
416
|
+
* the list doesn't show, hidden by a filter or not among its options, stay.
|
|
417
|
+
* `hiddenKeys` are the selectable options a filter hides.
|
|
418
|
+
*/
|
|
419
|
+
function getSelectAllSelection(isAllSelected, selection, shownKeys, hiddenKeys) {
|
|
420
|
+
if (!isAllSelected) return selection === "all" || hiddenKeys.length === 0 ? "all" : new Set([...selection, ...shownKeys]);
|
|
421
|
+
if (selection === "all") return new Set(hiddenKeys);
|
|
422
|
+
const next = new Set(selection);
|
|
423
|
+
for (const key of shownKeys) next.delete(key);
|
|
424
|
+
return next;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Whether every option a user can select is selected, which checks "Select
|
|
428
|
+
* All". Disabled options don't count, and a list with nothing to select is
|
|
429
|
+
* never all selected.
|
|
430
|
+
*/
|
|
431
|
+
function isEverySelectableSelected(collection, selectionManager) {
|
|
432
|
+
if (selectionManager.rawSelection === "all") return true;
|
|
433
|
+
let hasSelectable = false;
|
|
434
|
+
for (const key of collection.getKeys()) {
|
|
435
|
+
if (collection.getItem(key)?.type !== "item" || !selectionManager.canSelectItem(key)) continue;
|
|
436
|
+
if (!selectionManager.isSelected(key)) return false;
|
|
437
|
+
hasSelectable = true;
|
|
438
|
+
}
|
|
439
|
+
return hasSelectable;
|
|
440
|
+
}
|
|
299
441
|
/**
|
|
300
442
|
* A public selection prop as the Set-based value React Stately expects: a key
|
|
301
443
|
* array (or `'all'`, passed through) in multiple mode, a single key (or
|
|
@@ -318,7 +460,6 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
318
460
|
} });
|
|
319
461
|
const { t } = useI18n();
|
|
320
462
|
let { qa, label, extra, id, labelStyles, isRequired, necessityIndicator, isInvalid, isValid, isDisabled, listStyles, optionStyles, optionHighlight, sectionStyles, headingStyles, listGap, listRef, message, description, styles, mods: externalMods, size = "medium", labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, shouldUseVirtualFocus, isFocusWithin, onSelectionChange, disableSelectionToggle = false, allowDuplicateSelectionEvents, stateRef, focusOnHover, header, footer, headerStyles, footerStyles, onEscape, isCheckable, onOptionClick, showSelectAll, selectAllLabel, allValueProps, filter, emptyLabel = t("listBox.noItems", "No items"), shape = "card", isReorderable = false, onReorder, form, ...otherProps } = props;
|
|
321
|
-
const [, forceUpdate] = useState({});
|
|
322
463
|
const lastSelectedKeyRef = useRef(null);
|
|
323
464
|
const externalSelectionHandler = onSelectionChange || props.onChange;
|
|
324
465
|
const wrappedOnSelectionChange = useMemo(() => {
|
|
@@ -327,8 +468,8 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
327
468
|
if (isDisabled) return;
|
|
328
469
|
if (keys === "all") externalSelectionHandler("all");
|
|
329
470
|
else if (keys instanceof Set) if (keys.size === 0) {
|
|
330
|
-
if (disableSelectionToggle && props.selectionMode
|
|
331
|
-
const prevKey = lastSelectedKeyRef.current;
|
|
471
|
+
if (disableSelectionToggle && props.selectionMode !== "multiple") {
|
|
472
|
+
const prevKey = selectedKey ?? lastSelectedKeyRef.current;
|
|
332
473
|
if (prevKey != null) {
|
|
333
474
|
externalSelectionHandler(prevKey);
|
|
334
475
|
return;
|
|
@@ -350,7 +491,8 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
350
491
|
externalSelectionHandler,
|
|
351
492
|
isDisabled,
|
|
352
493
|
props.selectionMode,
|
|
353
|
-
disableSelectionToggle
|
|
494
|
+
disableSelectionToggle,
|
|
495
|
+
selectedKey
|
|
354
496
|
]);
|
|
355
497
|
const listStateProps = {
|
|
356
498
|
...props,
|
|
@@ -366,46 +508,26 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
366
508
|
if (selection !== void 0) listStateProps.selectedKeys = toStatelySelection(selection, isMultiple);
|
|
367
509
|
if (defaultSelection !== void 0) listStateProps.defaultSelectedKeys = toStatelySelection(defaultSelection, isMultiple);
|
|
368
510
|
const listState = getValueSelectionState(useListState(listStateProps));
|
|
511
|
+
const hasSelectAll = !!showSelectAll && props.selectionMode === "multiple";
|
|
512
|
+
const { collection: fullCollection } = useListState(hasSelectAll && filter ? {
|
|
513
|
+
children: props.children,
|
|
514
|
+
items: props.items,
|
|
515
|
+
selectionMode: "none"
|
|
516
|
+
} : NO_OPTIONS);
|
|
369
517
|
useLayoutEffect(() => {
|
|
370
518
|
const selected = listState.selectionManager.selectedKeys;
|
|
371
519
|
if (selected && selected.size > 0) lastSelectedKeyRef.current = Array.from(selected)[0] ?? null;
|
|
372
520
|
}, [listState.selectionManager.selectedKeys]);
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
isSelected: false,
|
|
376
|
-
isIndeterminate: false
|
|
377
|
-
};
|
|
378
|
-
if (listState.selectionManager.rawSelection === "all") return {
|
|
379
|
-
isSelected: true,
|
|
380
|
-
isIndeterminate: false
|
|
381
|
-
};
|
|
382
|
-
if (listState.selectionManager.selectedKeys.size === 0) return {
|
|
383
|
-
isSelected: false,
|
|
384
|
-
isIndeterminate: false
|
|
385
|
-
};
|
|
386
|
-
return {
|
|
387
|
-
isSelected: false,
|
|
388
|
-
isIndeterminate: true
|
|
389
|
-
};
|
|
390
|
-
}, [
|
|
391
|
-
props.selectionMode,
|
|
392
|
-
showSelectAll,
|
|
393
|
-
listState.collection,
|
|
394
|
-
listState.disabledKeys,
|
|
395
|
-
listState.selectionManager.selectedKeys,
|
|
396
|
-
listState.selectionManager.rawSelection
|
|
397
|
-
]);
|
|
521
|
+
const isAllSelected = hasSelectAll && isEverySelectableSelected(listState.collection, listState.selectionManager);
|
|
522
|
+
const isSomeSelected = hasSelectAll && !isAllSelected && !listState.selectionManager.isEmpty;
|
|
398
523
|
const handleSelectAllClick = (propagate) => {
|
|
399
|
-
if (isDisabled ||
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
forceUpdate({});
|
|
407
|
-
}
|
|
408
|
-
if (propagate && !selectAllState.isSelected) onOptionClick?.("__ALL__");
|
|
524
|
+
if (isDisabled || !hasSelectAll) return;
|
|
525
|
+
const { collection, disabledKeys, selectionManager } = listState;
|
|
526
|
+
const next = getSelectAllSelection(isAllSelected, selectionManager.rawSelection, getSelectableKeys(collection, disabledKeys), getSelectableKeys(fullCollection, disabledKeys).filter((key_1) => !collection.getItem(key_1)));
|
|
527
|
+
if (next === "all") selectionManager.selectAll();
|
|
528
|
+
else if (next.size === 0) selectionManager.clearSelection();
|
|
529
|
+
else selectionManager.setSelectedKeys(next);
|
|
530
|
+
if (propagate && !isAllSelected) onOptionClick?.("__ALL__");
|
|
409
531
|
};
|
|
410
532
|
const lastFocusSourceRef = useRef("other");
|
|
411
533
|
if (stateRef) stateRef.current = {
|
|
@@ -436,7 +558,9 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
436
558
|
onSelectionChange: wrappedOnSelectionChange
|
|
437
559
|
}, listState, listRef);
|
|
438
560
|
const { isFocused, focusProps } = useFocus$1();
|
|
439
|
-
const
|
|
561
|
+
const { isFocused: isListElementFocused, focusProps: listElementFocusProps } = useFocus$1();
|
|
562
|
+
const { isFocused: isSelectAllFocused, focusProps: selectAllFocusProps } = useFocus$1();
|
|
563
|
+
const isListFocused = !isSelectAllFocused && (isFocusWithin ?? (shouldUseVirtualFocus || listState.selectionManager.isFocused));
|
|
440
564
|
const scrollRef = useRef(null);
|
|
441
565
|
const rowVirtualizer = useVirtualizer({
|
|
442
566
|
count: shouldVirtualize ? itemsArray.length : 0,
|
|
@@ -456,14 +580,21 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
456
580
|
rowVirtualizer,
|
|
457
581
|
listGap
|
|
458
582
|
]);
|
|
583
|
+
const lastFocusedKeyRef = useRef(null);
|
|
459
584
|
useLayoutEffect(() => {
|
|
460
585
|
const focusedKey = listState.selectionManager.focusedKey;
|
|
586
|
+
const hasFocusMoved = focusedKey !== lastFocusedKeyRef.current;
|
|
587
|
+
lastFocusedKeyRef.current = focusedKey;
|
|
461
588
|
if (focusedKey == null) return;
|
|
462
|
-
if (lastFocusSourceRef.current !== "keyboard") return;
|
|
463
589
|
const scrollElement = scrollRef.current;
|
|
464
590
|
if (!scrollElement) return;
|
|
465
591
|
const itemElement = scrollElement.querySelector(`[data-key="${CSS.escape(String(focusedKey))}"]`);
|
|
466
|
-
if (!itemElement)
|
|
592
|
+
if (!itemElement) {
|
|
593
|
+
const index_1 = shouldVirtualize ? itemsArray.findIndex((item) => item.key === focusedKey) : -1;
|
|
594
|
+
if (index_1 !== -1 && hasFocusMoved) rowVirtualizer.scrollToIndex(index_1, { align: "auto" });
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
if (lastFocusSourceRef.current !== "keyboard") return;
|
|
467
598
|
const scrollTop = scrollElement.scrollTop;
|
|
468
599
|
const viewportBottom = scrollTop + scrollElement.clientHeight;
|
|
469
600
|
const itemRect = itemElement.getBoundingClientRect();
|
|
@@ -474,33 +605,41 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
474
605
|
block: "nearest",
|
|
475
606
|
behavior: "auto"
|
|
476
607
|
});
|
|
477
|
-
}, [
|
|
478
|
-
|
|
608
|
+
}, [
|
|
609
|
+
listState.selectionManager.focusedKey,
|
|
610
|
+
itemsArray,
|
|
611
|
+
shouldVirtualize,
|
|
612
|
+
rowVirtualizer
|
|
613
|
+
]);
|
|
614
|
+
const mergedListBoxProps = mergeProps$1(listBoxProps, keyboardProps, listElementFocusProps, { "aria-invalid": isInvalid || void 0 });
|
|
479
615
|
if (isDisabled) delete mergedListBoxProps.tabIndex;
|
|
616
|
+
const isEmpty = listState.collection.size === 0;
|
|
617
|
+
const emptyLabelId = `${listBoxProps.id}-empty`;
|
|
618
|
+
if (isEmpty) mergedListBoxProps["aria-describedby"] = [mergedListBoxProps["aria-describedby"], emptyLabelId].filter(Boolean).join(" ");
|
|
480
619
|
const orderedKeys = useMemo(() => {
|
|
481
620
|
if (!isReorderable) return [];
|
|
482
621
|
return itemsArray.filter((i_0) => i_0.type === "item").map((i_1) => String(i_1.key));
|
|
483
622
|
}, [isReorderable, itemsArray]);
|
|
623
|
+
const isCardFocused = isFocused || isEmpty && isListElementFocused;
|
|
484
624
|
const mods = useMemo(() => ({
|
|
485
625
|
...getValidationMods({
|
|
486
626
|
isInvalid,
|
|
487
627
|
isValid
|
|
488
628
|
}),
|
|
489
629
|
disabled: isDisabled,
|
|
490
|
-
focused:
|
|
491
|
-
header: !!header ||
|
|
630
|
+
focused: isCardFocused,
|
|
631
|
+
header: !!header || hasSelectAll,
|
|
492
632
|
footer: !!footer,
|
|
493
|
-
selectAll:
|
|
633
|
+
selectAll: hasSelectAll,
|
|
494
634
|
...externalMods
|
|
495
635
|
}), [
|
|
496
636
|
isInvalid,
|
|
497
637
|
isValid,
|
|
498
638
|
isDisabled,
|
|
499
|
-
|
|
639
|
+
isCardFocused,
|
|
500
640
|
header,
|
|
501
641
|
footer,
|
|
502
|
-
|
|
503
|
-
props.selectionMode,
|
|
642
|
+
hasSelectAll,
|
|
504
643
|
externalMods
|
|
505
644
|
]);
|
|
506
645
|
const listGapTokens = listGap == null ? void 0 : { "$list-gap": `${listGap}px` };
|
|
@@ -516,29 +655,30 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
516
655
|
"data-size": size,
|
|
517
656
|
children: header
|
|
518
657
|
}) : /* @__PURE__ */ jsx("div", { role: "presentation" }),
|
|
519
|
-
|
|
658
|
+
hasSelectAll ? /* @__PURE__ */ jsx(SelectAllOption, {
|
|
520
659
|
label: selectAllLabel,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
isSelected: selectAllState.isSelected,
|
|
524
|
-
isIndeterminate: selectAllState.isIndeterminate,
|
|
660
|
+
isSelected: isAllSelected,
|
|
661
|
+
isIndeterminate: isSomeSelected,
|
|
525
662
|
isDisabled,
|
|
526
663
|
isCheckable,
|
|
527
664
|
size,
|
|
528
665
|
allValueProps,
|
|
666
|
+
focusProps: selectAllFocusProps,
|
|
529
667
|
onClick: handleSelectAllClick
|
|
530
668
|
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", { role: "presentation" }), /* @__PURE__ */ jsx("div", { role: "presentation" })] }),
|
|
531
|
-
/* @__PURE__ */
|
|
669
|
+
/* @__PURE__ */ jsxs(ListBoxScrollElement, {
|
|
532
670
|
ref: scrollRef,
|
|
533
671
|
mods,
|
|
534
672
|
...focusProps,
|
|
535
|
-
children:
|
|
673
|
+
children: [isEmpty && /* @__PURE__ */ jsx(_Item, {
|
|
674
|
+
id: emptyLabelId,
|
|
675
|
+
"aria-hidden": "true",
|
|
536
676
|
preset: "t4",
|
|
537
677
|
color: "#dark-03",
|
|
538
678
|
size,
|
|
539
679
|
padding: "(.5x - 1bw)",
|
|
540
680
|
children: emptyLabel
|
|
541
|
-
})
|
|
681
|
+
}), isReorderable && !isEmpty ? /* @__PURE__ */ jsx(DraggableListBox, {
|
|
542
682
|
state: listState,
|
|
543
683
|
listRef,
|
|
544
684
|
orderedKeys,
|
|
@@ -553,9 +693,9 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
553
693
|
mods: { sections: false },
|
|
554
694
|
"data-shape": shape,
|
|
555
695
|
"data-input-type": "listbox",
|
|
556
|
-
children: itemsArray.filter((
|
|
696
|
+
children: itemsArray.filter((item_0) => item_0.type === "item").map((item_1) => /* @__PURE__ */ jsx(Option, {
|
|
557
697
|
size,
|
|
558
|
-
item:
|
|
698
|
+
item: item_1,
|
|
559
699
|
state: listState,
|
|
560
700
|
styles: optionStyles,
|
|
561
701
|
highlight: optionHighlight,
|
|
@@ -569,7 +709,7 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
569
709
|
dragState,
|
|
570
710
|
dropState,
|
|
571
711
|
onClick: onOptionClick
|
|
572
|
-
},
|
|
712
|
+
}, item_1.key))
|
|
573
713
|
})
|
|
574
714
|
}) : /* @__PURE__ */ jsx(ListElement, {
|
|
575
715
|
qa: qa || "ListBox",
|
|
@@ -578,7 +718,10 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
578
718
|
styles: listStyles,
|
|
579
719
|
tokens: listGapTokens,
|
|
580
720
|
"aria-disabled": isDisabled || void 0,
|
|
581
|
-
mods: {
|
|
721
|
+
mods: {
|
|
722
|
+
sections: hasSections,
|
|
723
|
+
empty: isEmpty
|
|
724
|
+
},
|
|
582
725
|
"data-shape": shape,
|
|
583
726
|
"data-input-type": "listbox",
|
|
584
727
|
style: shouldVirtualize ? {
|
|
@@ -586,10 +729,10 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
586
729
|
height: `${rowVirtualizer.getTotalSize()}px`
|
|
587
730
|
} : void 0,
|
|
588
731
|
children: shouldVirtualize ? rowVirtualizer.getVirtualItems().map((virtualItem) => {
|
|
589
|
-
const
|
|
732
|
+
const item_2 = itemsArray[virtualItem.index];
|
|
590
733
|
return /* @__PURE__ */ jsx(Option, {
|
|
591
734
|
size,
|
|
592
|
-
item:
|
|
735
|
+
item: item_2,
|
|
593
736
|
state: listState,
|
|
594
737
|
styles: optionStyles,
|
|
595
738
|
highlight: optionHighlight,
|
|
@@ -610,17 +753,14 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
610
753
|
virtualIndex: virtualItem.index,
|
|
611
754
|
lastFocusSourceRef,
|
|
612
755
|
onClick: onOptionClick
|
|
613
|
-
},
|
|
756
|
+
}, item_2.key);
|
|
614
757
|
}) : (() => {
|
|
615
758
|
const renderedItems = [];
|
|
616
759
|
let isFirstSection = true;
|
|
617
|
-
for (const
|
|
618
|
-
if (!isFirstSection) renderedItems.push(/* @__PURE__ */ jsx(StyledDivider, {
|
|
619
|
-
role: "separator",
|
|
620
|
-
"aria-orientation": "horizontal"
|
|
621
|
-
}, `divider-${String(item_2.key)}`));
|
|
760
|
+
for (const item_3 of listState.collection) if (item_3.type === "section") {
|
|
761
|
+
if (!isFirstSection) renderedItems.push(/* @__PURE__ */ jsx(StyledDivider, { role: "presentation" }, `divider-${String(item_3.key)}`));
|
|
622
762
|
renderedItems.push(/* @__PURE__ */ jsx(ListBoxSection, {
|
|
623
|
-
item:
|
|
763
|
+
item: item_3,
|
|
624
764
|
state: listState,
|
|
625
765
|
optionStyles,
|
|
626
766
|
optionHighlight,
|
|
@@ -635,11 +775,11 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
635
775
|
size,
|
|
636
776
|
lastFocusSourceRef,
|
|
637
777
|
onClick: onOptionClick
|
|
638
|
-
},
|
|
778
|
+
}, item_3.key));
|
|
639
779
|
isFirstSection = false;
|
|
640
780
|
} else renderedItems.push(/* @__PURE__ */ jsx(Option, {
|
|
641
781
|
size,
|
|
642
|
-
item:
|
|
782
|
+
item: item_3,
|
|
643
783
|
state: listState,
|
|
644
784
|
styles: optionStyles,
|
|
645
785
|
highlight: optionHighlight,
|
|
@@ -651,10 +791,10 @@ const ListBox = forwardRef(function ListBox(props, ref) {
|
|
|
651
791
|
isCheckable,
|
|
652
792
|
lastFocusSourceRef,
|
|
653
793
|
onClick: onOptionClick
|
|
654
|
-
},
|
|
794
|
+
}, item_3.key));
|
|
655
795
|
return renderedItems;
|
|
656
796
|
})()
|
|
657
|
-
})
|
|
797
|
+
})]
|
|
658
798
|
}),
|
|
659
799
|
footer ? /* @__PURE__ */ jsx(StyledFooter, {
|
|
660
800
|
styles: footerStyles,
|
|
@@ -714,18 +854,26 @@ function Option({ size = "medium", item, state, styles, highlight, isParentDisab
|
|
|
714
854
|
isValid,
|
|
715
855
|
filteredItemProps.icon
|
|
716
856
|
]);
|
|
717
|
-
const
|
|
857
|
+
const runOptionExtras = (target) => {
|
|
718
858
|
if (lastFocusSourceRef) lastFocusSourceRef.current = "mouse";
|
|
719
859
|
state.selectionManager.setFocusedKey(item.key);
|
|
720
860
|
if (!onOptionClick) return;
|
|
721
861
|
if (isCheckable && state.selectionManager.selectionMode === "multiple") {
|
|
722
|
-
const clickTarget =
|
|
862
|
+
const clickTarget = target;
|
|
723
863
|
const checkboxElement = localRef.current?.querySelector("[data-element=\"CheckboxWrapper\"]");
|
|
724
864
|
if (checkboxElement && (checkboxElement === clickTarget || checkboxElement.contains(clickTarget))) return;
|
|
725
865
|
}
|
|
726
866
|
onOptionClick(item.key);
|
|
727
867
|
};
|
|
728
|
-
const
|
|
868
|
+
const handleOptionExtras = (e) => runOptionExtras(e.target);
|
|
869
|
+
const originPress = useOptionOriginPress({
|
|
870
|
+
key: item.key,
|
|
871
|
+
ref: localRef,
|
|
872
|
+
manager: state.selectionManager,
|
|
873
|
+
isDisabled,
|
|
874
|
+
onSettle: runOptionExtras
|
|
875
|
+
});
|
|
876
|
+
const { onKeyDown, onKeyUp, onPointerUp, tabIndex, "aria-selected": ariaSelected, "aria-disabled": ariaDisabled, role, ...filteredOptionProps } = filterSelectionItemProps(optionProps);
|
|
729
877
|
const theme = getValidationTheme("default", {
|
|
730
878
|
isInvalid,
|
|
731
879
|
isValid
|
|
@@ -737,6 +885,8 @@ function Option({ size = "medium", item, state, styles, highlight, isParentDisab
|
|
|
737
885
|
onClick: handleOptionExtras,
|
|
738
886
|
onKeyDown,
|
|
739
887
|
onKeyUp,
|
|
888
|
+
onPointerDown: originPress.onPointerDown,
|
|
889
|
+
onPointerUp: originPress.wrapPointerUp(onPointerUp),
|
|
740
890
|
tabIndex,
|
|
741
891
|
"aria-selected": ariaSelected,
|
|
742
892
|
"aria-disabled": ariaDisabled,
|