@cube-dev/ui-kit 0.181.0 → 0.183.0
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/CHANGELOG.md +34 -0
- package/dist/_internal/hooks/use-debounced-value.js +48 -31
- package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +22 -7
- package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-event.js.map +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +12 -4
- package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +90 -20
- package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
- package/dist/_internal/hooks/use-warn.js +4 -4
- package/dist/_internal/hooks/use-warn.js.map +1 -1
- package/dist/components/Block.js +29 -7
- package/dist/components/Block.js.map +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +33 -9
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +4 -4
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/HiddenInput.js.map +1 -1
- package/dist/components/Root.js +137 -42
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +20 -8
- package/dist/components/actions/Action/Action.js.map +1 -1
- package/dist/components/actions/Banner/Banner.js +91 -22
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.js +7 -5
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +15 -5
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +6 -4
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js.map +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +76 -76
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js.map +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +205 -68
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +26 -7
- package/dist/components/actions/ItemActionContext.js.map +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +215 -84
- package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +16 -7
- package/dist/components/actions/Link/Link.js.map +1 -1
- package/dist/components/actions/Menu/Menu.js +127 -72
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.js +116 -43
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +85 -30
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +316 -112
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +6 -6
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/context.js.map +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/Menu/styled.js.map +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/actions-run.js.map +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/index.js.map +1 -1
- package/dist/components/actions/use-action.js +3 -3
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.js +6 -6
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.js +12 -12
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +84 -18
- package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
- package/dist/components/content/Alert/Alert.js +18 -7
- package/dist/components/content/Alert/Alert.js.map +1 -1
- package/dist/components/content/Alert/use-alert.js +53 -15
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +51 -13
- package/dist/components/content/Avatar/Avatar.js.map +1 -1
- package/dist/components/content/Badge/Badge.js +43 -10
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +29 -7
- package/dist/components/content/Card/Card.js.map +1 -1
- package/dist/components/content/Content.js +29 -7
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +220 -60
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +453 -194
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider.js +52 -14
- package/dist/components/content/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +29 -7
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +29 -7
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +55 -27
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +8 -8
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +429 -188
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.js +414 -155
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
- package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +34 -9
- package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
- package/dist/components/content/Layout/GridLayout.js +38 -10
- package/dist/components/content/Layout/GridLayout.js.map +1 -1
- package/dist/components/content/Layout/Layout.js +30 -13
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +33 -8
- package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +48 -11
- package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +30 -21
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +33 -8
- package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +53 -14
- package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +48 -11
- package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +211 -57
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +60 -14
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +59 -17
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +33 -8
- package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/index.js.map +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Layout/utils.js.map +1 -1
- package/dist/components/content/Paragraph.js +25 -9
- package/dist/components/content/Paragraph.js.map +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +52 -14
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
- package/dist/components/content/Result/Result.js +117 -38
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +26 -17
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.js +68 -13
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.d.ts +14 -14
- package/dist/components/content/Text.js +61 -14
- package/dist/components/content/Text.js.map +1 -1
- package/dist/components/content/TextItem/TextItem.js +37 -16
- package/dist/components/content/TextItem/TextItem.js.map +1 -1
- package/dist/components/content/Title.js +98 -23
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +32 -32
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +10 -10
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/tree-index.js.map +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +52 -21
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/highlightText.js.map +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +31 -31
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +41 -41
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +90 -41
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js.map +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +211 -69
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableView.js +119 -80
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/column-tint.js.map +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/row-menu.js.map +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/table-tree.js.map +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/types.js.map +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-order.js +56 -12
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-container-width.js +24 -10
- package/dist/components/data/TableBase/use-container-width.js.map +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
- package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +32 -18
- package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +130 -60
- package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js.map +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +39 -39
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +132 -68
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +168 -101
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +2 -2
- package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +13 -6
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/Checkbox/context.js.map +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +329 -150
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +16 -16
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
- package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +216 -134
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +21 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +26 -7
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +194 -66
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
- package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +224 -85
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +473 -177
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
- package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +288 -91
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
- package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +15 -7
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
- package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +15 -6
- package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/period.js.map +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/props.js.map +1 -1
- package/dist/components/fields/DatePicker/utils.js +15 -8
- package/dist/components/fields/DatePicker/utils.js.map +1 -1
- package/dist/components/fields/FileInput/FileInput.js +3 -3
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -0
- package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
- package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
- package/dist/components/fields/ListBox/ListBox.js +138 -53
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +123 -33
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +53 -15
- package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +2 -0
- package/dist/components/fields/Picker/Picker.js +10 -9
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +273 -104
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/RadioGroup/context.js.map +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +91 -28
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +2 -0
- package/dist/components/fields/Select/Select.js +373 -118
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +45 -10
- package/dist/components/fields/Slider/Gradation.js.map +1 -1
- package/dist/components/fields/Slider/HueSlider.js +121 -32
- package/dist/components/fields/Slider/HueSlider.js.map +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +46 -10
- package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
- package/dist/components/fields/Slider/Slider.js +108 -23
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +2 -2
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +96 -37
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +64 -23
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/elements.js.map +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +190 -66
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TextArea/TextArea.js +137 -47
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +80 -27
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +11 -2
- package/dist/components/fields/TriggerActions.js.map +1 -1
- package/dist/components/fields/color/ColorPanel.js +237 -59
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/channels.js.map +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/color.js.map +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/color/context.js.map +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +195 -72
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/Form/Field.js +23 -9
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.js +76 -30
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +294 -81
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.js +130 -32
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/backend.js.map +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +140 -45
- package/dist/components/form/Form/modern/actions.js.map +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/context.js.map +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/controller.js.map +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js.map +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/field.js.map +1 -1
- package/dist/components/form/Form/modern/react.js +102 -19
- package/dist/components/form/Form/modern/react.js.map +1 -1
- package/dist/components/form/Form/modern/store.js +13 -3
- package/dist/components/form/Form/modern/store.js.map +1 -1
- package/dist/components/form/Form/modern/types.d.ts +3 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/validation.js.map +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/modern/values.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
- package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +106 -61
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.js +5 -4
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +2 -1
- package/dist/components/form/Form/use-form.js.map +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Form/validation.js.map +1 -1
- package/dist/components/form/Label.js +127 -37
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +20 -5
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.js +36 -10
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
- package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
- package/dist/components/layout/Board/Board.js +27 -9
- package/dist/components/layout/Board/Board.js.map +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js.map +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/Widget.js.map +1 -1
- package/dist/components/layout/Board/WidgetHost.js +159 -121
- package/dist/components/layout/Board/WidgetHost.js.map +1 -1
- package/dist/components/layout/Board/board-context.js +14 -5
- package/dist/components/layout/Board/board-context.js.map +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/board-store.js.map +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
- package/dist/components/layout/Board/grid-core/placement.js +1 -1
- package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/index.js.map +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js.map +1 -1
- package/dist/components/layout/Board/use-board-layout.js +8 -8
- package/dist/components/layout/Board/use-board-layout.js.map +1 -1
- package/dist/components/layout/Board/use-board-registry.js +257 -257
- package/dist/components/layout/Board/use-board-registry.js.map +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
- package/dist/components/layout/Board/use-board-selection.js +16 -16
- package/dist/components/layout/Board/use-board-selection.js.map +1 -1
- package/dist/components/layout/Flex.js +29 -7
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flow.js +29 -7
- package/dist/components/layout/Flow.js.map +1 -1
- package/dist/components/layout/Grid.js +30 -7
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Panel.js +9 -9
- package/dist/components/layout/Panel.js.map +1 -1
- package/dist/components/layout/Prefix.js +59 -16
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +62 -32
- package/dist/components/layout/ResizablePanel.js.map +1 -1
- package/dist/components/layout/Space.js +55 -11
- package/dist/components/layout/Space.js.map +1 -1
- package/dist/components/layout/Suffix.js +59 -16
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +394 -164
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +69 -26
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
- package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +604 -235
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
- package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +47 -19
- package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +105 -33
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +45 -45
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +53 -19
- package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +16 -6
- package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/types.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
- package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
- package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
- package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
- package/dist/components/other/Calendar/Calendar.js +79 -31
- package/dist/components/other/Calendar/Calendar.js.map +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +66 -20
- package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +90 -40
- package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +80 -17
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +568 -144
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +6 -6
- package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +50 -24
- package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/Calendar/styled.js.map +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
- package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +26 -10
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
- package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
- package/dist/components/overlays/Dialog/DialogForm.js +18 -7
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +350 -0
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/context.js.map +1 -1
- package/dist/components/overlays/Dialog/index.d.ts +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Modal/Modal.js +140 -27
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +4 -4
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +131 -29
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +142 -30
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +36 -7
- package/dist/components/overlays/Modal/Underlay.js.map +1 -1
- package/dist/components/overlays/Notifications/Notification.js +69 -32
- package/dist/components/overlays/Notifications/Notification.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
- package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
- package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
- package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
- package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/index.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
- package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +12 -12
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
- package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
- package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +68 -15
- package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
- package/dist/components/overlays/Toast/index.js +100 -34
- package/dist/components/overlays/Toast/index.js.map +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.js +9 -9
- package/dist/components/overlays/Toast/useToast.js.map +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
- package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +186 -77
- 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/portal/Portal.js +18 -3
- package/dist/components/portal/Portal.js.map +1 -1
- package/dist/components/portal/PortalProvider.js +11 -2
- package/dist/components/portal/PortalProvider.js.map +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/portal/usePortal.js.map +1 -1
- package/dist/components/shared/DraggableCollection.js +23 -23
- package/dist/components/shared/DraggableCollection.js.map +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/InvalidIcon.js.map +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js.map +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +12 -3
- package/dist/components/status/Spin/Cube.js.map +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +21 -6
- package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
- package/dist/components/status/Spin/Spin.js +31 -7
- package/dist/components/status/Spin/Spin.js.map +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +23 -6
- package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/data/themes.js.map +1 -1
- package/dist/eslint-plugin/defaults.generated.js +18 -7
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/index.js.map +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
- package/dist/i18n/I18nProvider.js +54 -13
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/createFormatter.js.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/instance.js.map +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +5 -2
- package/dist/i18n/locales/en-US/uikit.js +5 -2
- package/dist/i18n/locales/en-US/uikit.json.d.ts +15 -5
- package/dist/i18n/locales/es-ES/uikit.js +5 -2
- package/dist/i18n/locales/es-MX/uikit.js +5 -2
- package/dist/i18n/locales/fr-FR/uikit.js +5 -2
- package/dist/i18n/locales/it-IT/uikit.js +5 -2
- package/dist/i18n/locales/ja-JP/uikit.js +5 -2
- package/dist/i18n/locales/nb-NO/uikit.js +5 -2
- package/dist/i18n/locales/pt-BR/uikit.js +5 -2
- package/dist/i18n/locales/pt-PT/uikit.js +5 -2
- package/dist/i18n/locales/sv-SE/uikit.js +5 -2
- package/dist/i18n/locales/vi-VN/uikit.js +5 -2
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/locales.js.map +1 -1
- package/dist/i18n/useFormatter.js +10 -3
- package/dist/i18n/useFormatter.js.map +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/i18n/useI18n.js.map +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js.map +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AiIcon.js.map +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js.map +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BackwardIcon.js.map +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BarChartIcon.js.map +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js.map +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BellIcon.js.map +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/BooleanIcon.js.map +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js.map +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CalendarIcon.js.map +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js.map +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js.map +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js.map +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js.map +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js.map +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js.map +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js.map +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartPie2Icon.js.map +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/ChartScatterIcon.js.map +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js.map +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CheckIcon.js.map +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js.map +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/ClearIcon.js.map +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js.map +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CloseIcon.js.map +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/CodeIcon.js.map +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js.map +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CopyIcon.js.map +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CountIcon.js.map +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubeIcon.js.map +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js.map +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js.map +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js.map +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DangerIcon.js.map +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DashboardIcon.js.map +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js.map +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
- package/dist/icons/DirectionIcon.js +67 -22
- package/dist/icons/DirectionIcon.js.map +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DonutIcon.js.map +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/DownIcon.js.map +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/EditIcon.js.map +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js.map +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js.map +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeIcon.js.map +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js.map +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FilterIcon.js.map +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js.map +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderIcon.js.map +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js.map +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/ForwardIcon.js.map +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js.map +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js.map +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js.map +1 -1
- package/dist/icons/Icon.js +60 -16
- package/dist/icons/Icon.js.map +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoCircleIcon.js.map +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/InfoIcon.js.map +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/KeyIcon.js.map +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LeftIcon.js.map +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LineChartIcon.js.map +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LoadingIcon.js.map +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js.map +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/LockIcon.js.map +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/MoreIcon.js.map +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js.map +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/Number123Icon.js.map +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/NumberIcon.js.map +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js.map +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PauseIcon.js.map +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PercentageIcon.js.map +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PieChartIcon.js.map +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PipetteIcon.js.map +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js.map +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlayIcon.js.map +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/PlusIcon.js.map +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js.map +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReloadIcon.js.map +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReportIcon.js.map +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/ReturnIcon.js.map +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RightIcon.js.map +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js.map +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SchemeIcon.js.map +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SearchIcon.js.map +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js.map +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/SettingsIcon.js.map +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js.map +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/ShieldIcon.js.map +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SlashIcon.js.map +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SparklesIcon.js.map +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/SqlIcon.js.map +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StatsIcon.js.map +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StopIcon.js.map +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/StringIcon.js.map +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js.map +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/SwitchIcon.js.map +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/TableIcon.js.map +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js.map +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js.map +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js.map +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TimeIcon.js.map +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/TrashIcon.js.map +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UnlockIcon.js.map +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UpIcon.js.map +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js.map +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserIcon.js.map +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/UserLockIcon.js.map +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/ViewIcon.js.map +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js.map +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/WarningIcon.js.map +1 -1
- package/dist/icons/wrap-icon.js +15 -7
- package/dist/icons/wrap-icon.js.map +1 -1
- package/dist/index.d.ts +22 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/probe/canonicalize.js +2 -2
- package/dist/probe/canonicalize.js.map +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/css.js.map +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +17 -7
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +33 -9
- package/dist/providers/TrackingProvider.js.map +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/navigationAdapter.default.js.map +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/all-tokens.js.map +1 -1
- package/dist/tokens/base.js +2 -2
- package/dist/tokens/base.js.map +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-seed.js.map +1 -1
- package/dist/tokens/color-theme.js +18 -3
- package/dist/tokens/color-theme.js.map +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/layout.js.map +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/lazy-styles.js.map +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/legacy-color.js.map +1 -1
- package/dist/tokens/palette-config.js +9 -2
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +85 -21
- package/dist/tokens/resolve.js.map +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/shadows.js.map +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/sizes.js.map +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/spacing.js.map +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/tokens/typography.js.map +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/ResizeSensor.js.map +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/colors.js.map +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/dotize.js.map +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/is-dev-env.js.map +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/modules.js.map +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/raf.js.map +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/random.js.map +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/range.js.map +1 -1
- package/dist/utils/react/RenderCache.js +2 -2
- package/dist/utils/react/RenderCache.js.map +1 -1
- package/dist/utils/react/Slots.js +67 -24
- package/dist/utils/react/Slots.js.map +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/chain.js.map +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/disabledProps.js.map +1 -1
- package/dist/utils/react/escapePropagation.js +1 -1
- package/dist/utils/react/escapePropagation.js.map +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +35 -12
- package/dist/utils/react/interactions.js.map +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/isTextOnly.js.map +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mapProps.js.map +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/mergeProps.js.map +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/nullableValue.js.map +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/programmaticFocus.js.map +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/resolveIcon.js.map +1 -1
- package/dist/utils/react/sharedStore.js +13 -2
- package/dist/utils/react/sharedStore.js.map +1 -1
- package/dist/utils/react/useBufferedValue.js +5 -5
- package/dist/utils/react/useBufferedValue.js.map +1 -1
- package/dist/utils/react/useCombinedRefs.js +20 -5
- package/dist/utils/react/useCombinedRefs.js.map +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +53 -17
- package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
- package/dist/utils/react/useEventBus.js +43 -18
- package/dist/utils/react/useEventBus.js.map +1 -1
- package/dist/utils/react/useId.js +2 -1
- package/dist/utils/react/useId.js.map +1 -1
- package/dist/utils/react/useIsDarwin.js +29 -16
- package/dist/utils/react/useIsDarwin.js.map +1 -1
- package/dist/utils/react/useKeySymbols.js +23 -9
- package/dist/utils/react/useKeySymbols.js.map +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLayoutEffect.js.map +1 -1
- package/dist/utils/react/useLocalStorage.js +75 -30
- package/dist/utils/react/useLocalStorage.js.map +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useMergeStyles.js.map +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.js +175 -73
- package/dist/utils/react/usePopoverSync.js.map +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useQaProps.js.map +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useScheme.js.map +1 -1
- package/dist/utils/react/useViewportSize.js +43 -19
- package/dist/utils/react/useViewportSize.js.map +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/selection.js.map +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/styles.js.map +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/tree.js.map +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/utils/warnings.js.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/docs/Usage.md +9 -1
- package/docs/components/actions/Button.md +1 -1
- package/docs/components/content/InlineInput.md +1 -1
- package/docs/components/content/Item.md +19 -0
- package/docs/components/fields/ColorInput.md +13 -8
- package/docs/components/fields/ColorPicker.md +13 -8
- package/docs/components/fields/ComboBox.md +16 -12
- package/docs/components/fields/CommandTextArea.md +3 -1
- package/docs/components/fields/FilterListBox.md +24 -19
- package/docs/components/fields/FilterPicker.md +25 -19
- package/docs/components/fields/ListBox.md +36 -26
- package/docs/components/fields/Picker.md +28 -21
- package/docs/components/fields/Select.md +17 -12
- package/docs/components/form/Field.md +2 -2
- package/docs/components/form/Form.md +60 -579
- package/docs/components/form/ModernForm.md +22 -1
- package/docs/components/overlays/Dialog.md +26 -0
- package/docs/components/overlays/DialogForm.md +121 -263
- package/docs/components/overlays/DialogTrigger.md +1 -1
- package/docs/components/overlays/UseDialogContainer.md +11 -13
- package/docs/modern-form-guide.md +22 -1
- package/docs/modern-form-migration.md +1 -1
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListBoxPopover.js","names":["mergeProps"],"sources":["../../../../src/components/fields/ListBoxPopover/ListBoxPopover.tsx"],"sourcesContent":["import { Key } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport { useOverlay, useOverlayPosition } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { mergeProps } from '../../../utils/react';\nimport { DisplayTransition } from '../../helpers';\nimport { Portal } from '../../portal';\nimport { ListBox } from '../ListBox/ListBox';\n\nexport interface ListBoxPopoverProps {\n isOpen: boolean;\n triggerRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLDivElement>;\n listBoxRef: RefObject<HTMLDivElement>;\n direction: 'bottom' | 'top';\n shouldFlip: boolean;\n overlayOffset: number;\n containerPadding: number;\n /** Min width (px) for the overlay; usually the trigger's width. */\n comboBoxWidth?: number;\n /** Stable id used for the ListBox element and aria-controls wiring. */\n listBoxId: string;\n overlayStyles?: Styles;\n listBoxStyles?: Styles;\n optionStyles?: Styles;\n /** Substring to highlight within each option's (text) children. */\n optionHighlight?: string;\n sectionStyles?: Styles;\n headingStyles?: Styles;\n selectedKey?: Key | null;\n isDisabled?: boolean;\n disabledKeys?: Iterable<Key>;\n items?: Iterable<any>;\n children: ReactNode;\n /** Ref through which the ListBox exposes its internal list state. */\n listStateRef: RefObject<any>;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClose: () => void;\n label?: ReactNode;\n ariaLabel?: string;\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n /** Collection node filter applied to the ListBox. */\n filter?: (nodes: Iterable<any>) => Iterable<any>;\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * Label shown when the list is empty (no items / no filter results).\n * Forwarded to the inner ListBox.\n */\n emptyLabel?: ReactNode;\n /**\n * Element to anchor the overlay to geometrically. Defaults to `triggerRef`.\n * Use this to anchor to something other than the trigger (e.g. the caret in\n * a textarea) while keeping `triggerRef` for outside-click/dismiss logic.\n */\n positionTargetRef?: RefObject<Element | null>;\n /**\n * Receives an imperative handle exposing `updatePosition()` so the caller can\n * force the overlay to re-anchor (e.g. when the caret moves).\n */\n positionApiRef?: RefObject<{ updatePosition: () => void } | null>;\n}\n\nconst ListBoxPopoverWrapper = tasty({\n qa: 'ComboBoxOverlayWrapper',\n styles: {\n position: 'absolute',\n zIndex: 1000,\n },\n});\n\nconst ListBoxPopoverElement = tasty({\n qa: 'ComboBoxOverlay',\n styles: {\n display: 'grid',\n gridRows: '1sf',\n gridColumns: '1sf',\n width: '$overlay-min-width max-content 50vw',\n height: 'initial max-content (50vh - 5x)',\n overflow: 'auto',\n fill: '#surface',\n radius: '1cr',\n shadow: true,\n padding: '0',\n border: '#border',\n hide: {\n '': false,\n hidden: true,\n },\n boxSizing: 'border-box',\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & ([data-placement=\"bottom\"] | ![data-placement])': '0 0',\n '!open & ([data-placement=\"bottom\"] | ![data-placement])': '0 -1x',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .9',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n '$overlay-min-width': 'min 30x',\n },\n});\n\nexport const ListBoxPopover = function ListBoxPopover(\n props: ListBoxPopoverProps,\n) {\n const { t } = useI18n();\n const {\n isOpen,\n triggerRef,\n popoverRef,\n listBoxRef,\n direction,\n shouldFlip,\n overlayOffset,\n containerPadding,\n comboBoxWidth,\n listBoxId,\n overlayStyles,\n listBoxStyles,\n optionStyles,\n optionHighlight,\n sectionStyles,\n headingStyles,\n selectedKey,\n isDisabled,\n disabledKeys,\n items,\n children,\n listStateRef,\n onSelectionChange,\n onClose,\n label,\n ariaLabel,\n compositeFocusProps,\n filter,\n size = 'medium',\n emptyLabel,\n positionTargetRef,\n positionApiRef,\n } = props;\n\n const mergedPopoverRef = popoverRef;\n\n // Ref to the inner scrollable element (the visible popover). react-aria\n // measures this for its flip/shrink math and writes maxHeight onto the\n // overlay (positioning wrapper); we forward that maxHeight to this element\n // below so the scroll container actually shrinks instead of overflowing.\n const overlayScrollRef = useRef<HTMLDivElement | null>(null);\n\n // Overlay positioning — anchor to the explicit position target when given\n // (e.g. a caret anchor), otherwise to the trigger. `triggerRef` is still\n // used below for outside-click/dismiss behavior.\n const {\n overlayProps: overlayPositionProps,\n placement,\n updatePosition,\n } = useOverlayPosition({\n targetRef: (positionTargetRef ?? triggerRef) as any,\n overlayRef: mergedPopoverRef as any,\n scrollRef: overlayScrollRef as any,\n placement: `${direction} start` as any,\n shouldFlip,\n isOpen,\n offset: overlayOffset,\n containerPadding: containerPadding,\n });\n\n // Keep positioning (top/left/zIndex) on the wrapper, but split out the\n // available-space cap so it can be applied to the inner scroll element.\n const { maxHeight, maxWidth, ...positionStyle } =\n (overlayPositionProps.style ?? {}) as CSSProperties;\n\n // Expose updatePosition so callers can re-anchor on demand (e.g. caret move).\n useEffect(() => {\n if (positionApiRef) {\n positionApiRef.current = { updatePosition };\n }\n return () => {\n if (positionApiRef) {\n positionApiRef.current = null;\n }\n };\n }, [positionApiRef, updatePosition]);\n\n // Overlay behavior (dismiss on outside click, escape)\n const { overlayProps: overlayBehaviorProps } = useOverlay(\n {\n onClose,\n shouldCloseOnBlur: true,\n isOpen,\n isDismissable: true,\n shouldCloseOnInteractOutside: (el) => {\n const menuTriggerEl = el.closest('[data-popover-trigger]');\n if (!menuTriggerEl) {\n if (el.closest('[data-popover-keep]')) return false;\n // Plain interactive controls (Button, ItemButton) opt in via\n // `data-popover-dismiss` to dismiss us without losing their click\n // to useOverlay's stopPropagation. Schedule the close after the\n // click finishes so the button's onPress runs first.\n if (el.closest('[data-popover-dismiss]')) {\n setTimeout(onClose, 0);\n return false;\n }\n return true;\n }\n if (menuTriggerEl === triggerRef?.current) return true;\n return false;\n },\n },\n mergedPopoverRef as any,\n );\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || direction;\n\n // Hold the DisplayTransition ref so we can bind the same node to both the\n // transition listener and our scroll ref via a single stable callback.\n const transitionRefHolder = useRef<\n ((node: HTMLElement | null) => void) | null\n >(null);\n const setScrollRef = useCallback((node: HTMLElement | null) => {\n overlayScrollRef.current = node as HTMLDivElement | null;\n transitionRefHolder.current?.(node);\n }, []);\n\n const overlayContent = (\n <DisplayTransition isShown={isOpen}>\n {({ phase, isShown, ref: transitionRef }) => {\n transitionRefHolder.current = transitionRef;\n return (\n <ListBoxPopoverWrapper\n {...mergeProps(\n { ...overlayPositionProps, style: positionStyle },\n overlayBehaviorProps,\n compositeFocusProps,\n )}\n ref={mergedPopoverRef}\n style={positionStyle}\n >\n <ListBoxPopoverElement\n ref={setScrollRef}\n data-placement={placementDirection}\n data-phase={phase}\n mods={{\n open: isShown,\n hidden: phase === 'unmounted',\n }}\n styles={overlayStyles}\n style={{\n '--overlay-min-width': comboBoxWidth\n ? `${comboBoxWidth}px`\n : undefined,\n maxHeight,\n maxWidth,\n }}\n >\n <ListBox\n ref={listBoxRef}\n disableSelectionToggle\n id={listBoxId}\n aria-label={\n ariaLabel ||\n (typeof label === 'string'\n ? label\n : t('listBoxPopover.options', 'Options'))\n }\n selectedKey={selectedKey}\n isDisabled={isDisabled}\n disabledKeys={disabledKeys}\n shouldUseVirtualFocus={true}\n items={items as any}\n filter={filter}\n styles={listBoxStyles}\n optionStyles={optionStyles}\n optionHighlight={optionHighlight}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n stateRef={listStateRef}\n shape=\"popover\"\n emptyLabel={emptyLabel}\n onSelectionChange={onSelectionChange}\n >\n {children as any}\n </ListBox>\n </ListBoxPopoverElement>\n </ListBoxPopoverWrapper>\n );\n }}\n </DisplayTransition>\n );\n\n return <Portal>{overlayContent}</Portal>;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListBoxPopover.js","names":["Key","Styles","tasty","React","CSSProperties","ReactNode","RefObject","useCallback","useEffect","useRef","useOverlay","useOverlayPosition","useI18n","mergeProps","DisplayTransition","Portal","ListBox","ListBoxPopoverProps","isOpen","triggerRef","HTMLElement","popoverRef","HTMLDivElement","listBoxRef","direction","shouldFlip","overlayOffset","containerPadding","comboBoxWidth","listBoxId","overlayStyles","listBoxStyles","optionStyles","optionHighlight","sectionStyles","headingStyles","selectedKey","isDisabled","disabledKeys","Iterable","items","children","listStateRef","onSelectionChange","selection","onClose","label","ariaLabel","compositeFocusProps","onFocus","e","FocusEvent","onBlur","filter","nodes","size","emptyLabel","positionTargetRef","Element","positionApiRef","updatePosition","ListBoxPopoverWrapper","qa","styles","position","zIndex","ListBoxPopoverElement","display","gridRows","gridColumns","width","height","overflow","fill","radius","shadow","padding","border","hide","hidden","boxSizing","transition","translate","transformOrigin","scale","opacity","ListBoxPopover","props","$","_c","t","t0","undefined","mergedPopoverRef","overlayScrollRef","t1","t2","t3","t4","targetRef","overlayRef","scrollRef","placement","offset","overlayProps","overlayPositionProps","t5","style","t6","maxHeight","maxWidth","positionStyle","t7","t8","current","t9","el","menuTriggerEl","closest","setTimeout","t10","shouldCloseOnBlur","isDismissable","shouldCloseOnInteractOutside","overlayBehaviorProps","t11","split","placementDirection","transitionRefHolder","t12","Symbol","for","node","setScrollRef","t13","t14","phase","isShown","ref","transitionRef","open","overlayContent"],"sources":["../../../../src/components/fields/ListBoxPopover/ListBoxPopover.tsx"],"sourcesContent":["import { Key } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport { useOverlay, useOverlayPosition } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { mergeProps } from '../../../utils/react';\nimport { DisplayTransition } from '../../helpers';\nimport { Portal } from '../../portal';\nimport { ListBox } from '../ListBox/ListBox';\n\nexport interface ListBoxPopoverProps {\n isOpen: boolean;\n triggerRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLDivElement>;\n listBoxRef: RefObject<HTMLDivElement>;\n direction: 'bottom' | 'top';\n shouldFlip: boolean;\n overlayOffset: number;\n containerPadding: number;\n /** Min width (px) for the overlay; usually the trigger's width. */\n comboBoxWidth?: number;\n /** Stable id used for the ListBox element and aria-controls wiring. */\n listBoxId: string;\n overlayStyles?: Styles;\n listBoxStyles?: Styles;\n optionStyles?: Styles;\n /** Substring to highlight within each option's (text) children. */\n optionHighlight?: string;\n sectionStyles?: Styles;\n headingStyles?: Styles;\n selectedKey?: Key | null;\n isDisabled?: boolean;\n disabledKeys?: Iterable<Key>;\n items?: Iterable<any>;\n children: ReactNode;\n /** Ref through which the ListBox exposes its internal list state. */\n listStateRef: RefObject<any>;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClose: () => void;\n label?: ReactNode;\n ariaLabel?: string;\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n /** Collection node filter applied to the ListBox. */\n filter?: (nodes: Iterable<any>) => Iterable<any>;\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * Label shown when the list is empty (no items / no filter results).\n * Forwarded to the inner ListBox.\n */\n emptyLabel?: ReactNode;\n /**\n * Element to anchor the overlay to geometrically. Defaults to `triggerRef`.\n * Use this to anchor to something other than the trigger (e.g. the caret in\n * a textarea) while keeping `triggerRef` for outside-click/dismiss logic.\n */\n positionTargetRef?: RefObject<Element | null>;\n /**\n * Receives an imperative handle exposing `updatePosition()` so the caller can\n * force the overlay to re-anchor (e.g. when the caret moves).\n */\n positionApiRef?: RefObject<{ updatePosition: () => void } | null>;\n}\n\nconst ListBoxPopoverWrapper = tasty({\n qa: 'ComboBoxOverlayWrapper',\n styles: {\n position: 'absolute',\n zIndex: 1000,\n },\n});\n\nconst ListBoxPopoverElement = tasty({\n qa: 'ComboBoxOverlay',\n styles: {\n display: 'grid',\n gridRows: '1sf',\n gridColumns: '1sf',\n width: '$overlay-min-width max-content 50vw',\n height: 'initial max-content (50vh - 5x)',\n overflow: 'auto',\n fill: '#surface',\n radius: '1cr',\n shadow: true,\n padding: '0',\n border: '#border',\n hide: {\n '': false,\n hidden: true,\n },\n boxSizing: 'border-box',\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & ([data-placement=\"bottom\"] | ![data-placement])': '0 0',\n '!open & ([data-placement=\"bottom\"] | ![data-placement])': '0 -1x',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .9',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n '$overlay-min-width': 'min 30x',\n },\n});\n\nexport const ListBoxPopover = function ListBoxPopover(\n props: ListBoxPopoverProps,\n) {\n const { t } = useI18n();\n const {\n isOpen,\n triggerRef,\n popoverRef,\n listBoxRef,\n direction,\n shouldFlip,\n overlayOffset,\n containerPadding,\n comboBoxWidth,\n listBoxId,\n overlayStyles,\n listBoxStyles,\n optionStyles,\n optionHighlight,\n sectionStyles,\n headingStyles,\n selectedKey,\n isDisabled,\n disabledKeys,\n items,\n children,\n listStateRef,\n onSelectionChange,\n onClose,\n label,\n ariaLabel,\n compositeFocusProps,\n filter,\n size = 'medium',\n emptyLabel,\n positionTargetRef,\n positionApiRef,\n } = props;\n\n const mergedPopoverRef = popoverRef;\n\n // Ref to the inner scrollable element (the visible popover). react-aria\n // measures this for its flip/shrink math and writes maxHeight onto the\n // overlay (positioning wrapper); we forward that maxHeight to this element\n // below so the scroll container actually shrinks instead of overflowing.\n const overlayScrollRef = useRef<HTMLDivElement | null>(null);\n\n // Overlay positioning — anchor to the explicit position target when given\n // (e.g. a caret anchor), otherwise to the trigger. `triggerRef` is still\n // used below for outside-click/dismiss behavior.\n const {\n overlayProps: overlayPositionProps,\n placement,\n updatePosition,\n } = useOverlayPosition({\n targetRef: (positionTargetRef ?? triggerRef) as any,\n overlayRef: mergedPopoverRef as any,\n scrollRef: overlayScrollRef as any,\n placement: `${direction} start` as any,\n shouldFlip,\n isOpen,\n offset: overlayOffset,\n containerPadding: containerPadding,\n });\n\n // Keep positioning (top/left/zIndex) on the wrapper, but split out the\n // available-space cap so it can be applied to the inner scroll element.\n const { maxHeight, maxWidth, ...positionStyle } =\n (overlayPositionProps.style ?? {}) as CSSProperties;\n\n // Expose updatePosition so callers can re-anchor on demand (e.g. caret move).\n useEffect(() => {\n if (positionApiRef) {\n positionApiRef.current = { updatePosition };\n }\n return () => {\n if (positionApiRef) {\n positionApiRef.current = null;\n }\n };\n }, [positionApiRef, updatePosition]);\n\n // Overlay behavior (dismiss on outside click, escape)\n const { overlayProps: overlayBehaviorProps } = useOverlay(\n {\n onClose,\n shouldCloseOnBlur: true,\n isOpen,\n isDismissable: true,\n shouldCloseOnInteractOutside: (el) => {\n const menuTriggerEl = el.closest('[data-popover-trigger]');\n if (!menuTriggerEl) {\n if (el.closest('[data-popover-keep]')) return false;\n // Plain interactive controls (Button, ItemButton) opt in via\n // `data-popover-dismiss` to dismiss us without losing their click\n // to useOverlay's stopPropagation. Schedule the close after the\n // click finishes so the button's onPress runs first.\n if (el.closest('[data-popover-dismiss]')) {\n setTimeout(onClose, 0);\n return false;\n }\n return true;\n }\n if (menuTriggerEl === triggerRef?.current) return true;\n return false;\n },\n },\n mergedPopoverRef as any,\n );\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || direction;\n\n // Hold the DisplayTransition ref so we can bind the same node to both the\n // transition listener and our scroll ref via a single stable callback.\n const transitionRefHolder = useRef<\n ((node: HTMLElement | null) => void) | null\n >(null);\n const setScrollRef = useCallback((node: HTMLElement | null) => {\n overlayScrollRef.current = node as HTMLDivElement | null;\n transitionRefHolder.current?.(node);\n }, []);\n\n const overlayContent = (\n <DisplayTransition isShown={isOpen}>\n {({ phase, isShown, ref: transitionRef }) => {\n transitionRefHolder.current = transitionRef;\n return (\n <ListBoxPopoverWrapper\n {...mergeProps(\n { ...overlayPositionProps, style: positionStyle },\n overlayBehaviorProps,\n compositeFocusProps,\n )}\n ref={mergedPopoverRef}\n style={positionStyle}\n >\n <ListBoxPopoverElement\n ref={setScrollRef}\n data-placement={placementDirection}\n data-phase={phase}\n mods={{\n open: isShown,\n hidden: phase === 'unmounted',\n }}\n styles={overlayStyles}\n style={{\n '--overlay-min-width': comboBoxWidth\n ? `${comboBoxWidth}px`\n : undefined,\n maxHeight,\n maxWidth,\n }}\n >\n <ListBox\n ref={listBoxRef}\n disableSelectionToggle\n id={listBoxId}\n aria-label={\n ariaLabel ||\n (typeof label === 'string'\n ? label\n : t('listBoxPopover.options', 'Options'))\n }\n selectedKey={selectedKey}\n isDisabled={isDisabled}\n disabledKeys={disabledKeys}\n shouldUseVirtualFocus={true}\n items={items as any}\n filter={filter}\n styles={listBoxStyles}\n optionStyles={optionStyles}\n optionHighlight={optionHighlight}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n stateRef={listStateRef}\n shape=\"popover\"\n emptyLabel={emptyLabel}\n onSelectionChange={onSelectionChange}\n >\n {children as any}\n </ListBox>\n </ListBoxPopoverElement>\n </ListBoxPopoverWrapper>\n );\n }}\n </DisplayTransition>\n );\n\n return <Portal>{overlayContent}</Portal>;\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/fields/ListBoxPopover/listNavigation.ts
|
|
3
3
|
/**
|
|
4
4
|
* Walks a collection (possibly nested under sections) and collects the keys of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listNavigation.js","names":[],"sources":["../../../../src/components/fields/ListBoxPopover/listNavigation.ts"],"sourcesContent":["import { Key } from '@react-types/shared';\n\n/**\n * Minimal view of a React Stately list state. Kept structural (no imports from\n * `react-stately`) so the helpers can be used from any collection-backed\n * component without dragging extra types in.\n */\nexport interface ListStateLike {\n selectionManager: {\n focusedKey: Key | null;\n setFocusedKey: (key: Key | null) => void;\n };\n collection: Iterable<any>;\n disabledKeys?: Set<Key>;\n lastFocusSourceRef?: { current: 'keyboard' | 'mouse' | 'other' };\n}\n\nexport type NavigationDirection = 1 | -1;\nexport type NavigationEdge = 'first' | 'last';\n\n/**\n * Walks a collection (possibly nested under sections) and collects the keys of\n * selectable items, skipping disabled ones. Mirrors the inline walker that\n * used to live in `useComboBoxKeyboard`.\n */\nexport function collectVisibleKeys(\n nodes: Iterable<any>,\n out: Key[],\n disabledKeys?: Set<Key>,\n): void {\n for (const node of nodes) {\n if (node.type === 'item') {\n if (!disabledKeys?.has(node.key)) {\n out.push(node.key);\n }\n } else if (node.childNodes) {\n collectVisibleKeys(node.childNodes, out, disabledKeys);\n }\n }\n}\n\n/** Convenience: returns the flat list of selectable keys for a list state. */\nexport function getVisibleKeys(listState: ListStateLike): Key[] {\n const keys: Key[] = [];\n collectVisibleKeys(\n listState.collection,\n keys,\n listState.disabledKeys as Set<Key> | undefined,\n );\n return keys;\n}\n\n/**\n * Computes the next key to focus when navigating with ArrowUp/ArrowDown.\n *\n * - If `fromKey` is omitted, reads `selectionManager.focusedKey`.\n * - When nothing is focused (or the focused key is no longer visible), falls\n * back to the first/last visible key depending on `direction`.\n * - When the current key is the boundary, either returns `null` (default) or\n * wraps to the opposite edge when `opts.wrap` is true.\n */\nexport function getNextVisibleKey(\n listState: ListStateLike,\n direction: NavigationDirection,\n opts?: { wrap?: boolean; fromKey?: Key | null },\n): Key | null {\n const visibleKeys = getVisibleKeys(listState);\n if (visibleKeys.length === 0) return null;\n\n const isForward = direction === 1;\n const currentKey = opts?.fromKey ?? listState.selectionManager.focusedKey;\n\n if (currentKey == null) {\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n const currentIndex = visibleKeys.indexOf(currentKey);\n\n if (currentIndex === -1) {\n // Focused item was filtered out — restart from the matching edge.\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n const newIndex = currentIndex + direction;\n if (newIndex >= 0 && newIndex < visibleKeys.length) {\n return visibleKeys[newIndex];\n }\n\n if (opts?.wrap) {\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n return null;\n}\n\n/** Returns the first or last selectable key. */\nexport function getEdgeVisibleKey(\n listState: ListStateLike,\n edge: NavigationEdge,\n): Key | null {\n const visibleKeys = getVisibleKeys(listState);\n if (visibleKeys.length === 0) return null;\n return edge === 'first'\n ? visibleKeys[0]\n : visibleKeys[visibleKeys.length - 1];\n}\n\n/**\n * Marks a focus change as keyboard-driven so the underlying ListBox scrolls the\n * highlighted option into view. No-op when the list state doesn't expose a\n * `lastFocusSourceRef`.\n */\nexport function markKeyboardFocus(listState: ListStateLike): void {\n if (listState.lastFocusSourceRef) {\n listState.lastFocusSourceRef.current = 'keyboard';\n }\n}\n\nexport type TextFilterFn = (textValue: string, inputValue: string) => boolean;\n\n/** Options controlling how {@link filterCollectionNodes} matches nodes. */\nexport interface FilterCollectionOptions {\n /**\n * Also match against a node's plain-text `children` and `description` props\n * in addition to its `textValue`. Defaults to `false` so the search stays\n * consistent with the visible `textValue` (which is what components like\n * ComboBox document). Components that surface `children`/`description` in the\n * option list (e.g. CommandTextArea) can opt in.\n */\n matchExtraFields?: boolean;\n}\n\n/**\n * Collects the strings a node can be matched against. Always includes the\n * node's `textValue`; when `matchExtraFields` is set, also includes any\n * plain-text `children` and `description` props. Non-string children/description\n * (e.g. React elements) are ignored since we can't reliably read their text.\n */\nfunction getSearchableStrings(node: any, matchExtraFields: boolean): string[] {\n const strings: string[] = [];\n\n if (node.textValue) {\n strings.push(node.textValue);\n }\n\n if (matchExtraFields) {\n const props = node.props;\n if (props) {\n if (typeof props.children === 'string') {\n strings.push(props.children);\n }\n if (typeof props.description === 'string') {\n strings.push(props.description);\n }\n }\n }\n\n return strings.length > 0 ? strings : [node.textValue || ''];\n}\n\n/** True when the term matches any of the node's searchable strings. */\nfunction nodeMatchesTerm(\n node: any,\n term: string,\n textFilterFn: TextFilterFn,\n matchExtraFields: boolean,\n): boolean {\n return getSearchableStrings(node, matchExtraFields).some((text) =>\n textFilterFn(text, term),\n );\n}\n\n/**\n * Filters collection nodes by a search term while preserving section structure.\n * By default a node matches only when the term matches its `textValue`; pass\n * `{ matchExtraFields: true }` to also match its plain-text `children` and\n * `description`. Sections whose children all fail the filter are dropped.\n */\nexport function filterCollectionNodes(\n nodes: Iterable<any>,\n term: string,\n textFilterFn: TextFilterFn,\n options: FilterCollectionOptions = {},\n): Iterable<any> {\n if (!term) {\n return nodes;\n }\n\n const matchExtraFields = options.matchExtraFields ?? false;\n\n return [...nodes]\n .map((node: any) => {\n if (node.type === 'section' && node.childNodes) {\n const filteredChildren = [...node.childNodes].filter((child: any) =>\n nodeMatchesTerm(child, term, textFilterFn, matchExtraFields),\n );\n\n if (filteredChildren.length === 0) {\n return null;\n }\n\n return {\n ...node,\n childNodes: filteredChildren,\n hasChildNodes: true,\n };\n }\n\n return nodeMatchesTerm(node, term, textFilterFn, matchExtraFields)\n ? node\n : null;\n })\n .filter(Boolean);\n}\n"],"mappings":";;;;;;;AAyBA,
|
|
1
|
+
{"version":3,"file":"listNavigation.js","names":["Key","ListStateLike","selectionManager","focusedKey","setFocusedKey","key","collection","Iterable","disabledKeys","Set","lastFocusSourceRef","current","NavigationDirection","NavigationEdge","collectVisibleKeys","nodes","out","node","type","has","push","childNodes","getVisibleKeys","listState","keys","getNextVisibleKey","direction","opts","wrap","fromKey","visibleKeys","length","isForward","currentKey","currentIndex","indexOf","newIndex","getEdgeVisibleKey","edge","markKeyboardFocus","TextFilterFn","textValue","inputValue","FilterCollectionOptions","matchExtraFields","getSearchableStrings","strings","props","children","description","nodeMatchesTerm","term","textFilterFn","some","text","filterCollectionNodes","options","map","filteredChildren","filter","child","hasChildNodes","Boolean"],"sources":["../../../../src/components/fields/ListBoxPopover/listNavigation.ts"],"sourcesContent":["import { Key } from '@react-types/shared';\n\n/**\n * Minimal view of a React Stately list state. Kept structural (no imports from\n * `react-stately`) so the helpers can be used from any collection-backed\n * component without dragging extra types in.\n */\nexport interface ListStateLike {\n selectionManager: {\n focusedKey: Key | null;\n setFocusedKey: (key: Key | null) => void;\n };\n collection: Iterable<any>;\n disabledKeys?: Set<Key>;\n lastFocusSourceRef?: { current: 'keyboard' | 'mouse' | 'other' };\n}\n\nexport type NavigationDirection = 1 | -1;\nexport type NavigationEdge = 'first' | 'last';\n\n/**\n * Walks a collection (possibly nested under sections) and collects the keys of\n * selectable items, skipping disabled ones. Mirrors the inline walker that\n * used to live in `useComboBoxKeyboard`.\n */\nexport function collectVisibleKeys(\n nodes: Iterable<any>,\n out: Key[],\n disabledKeys?: Set<Key>,\n): void {\n for (const node of nodes) {\n if (node.type === 'item') {\n if (!disabledKeys?.has(node.key)) {\n out.push(node.key);\n }\n } else if (node.childNodes) {\n collectVisibleKeys(node.childNodes, out, disabledKeys);\n }\n }\n}\n\n/** Convenience: returns the flat list of selectable keys for a list state. */\nexport function getVisibleKeys(listState: ListStateLike): Key[] {\n const keys: Key[] = [];\n collectVisibleKeys(\n listState.collection,\n keys,\n listState.disabledKeys as Set<Key> | undefined,\n );\n return keys;\n}\n\n/**\n * Computes the next key to focus when navigating with ArrowUp/ArrowDown.\n *\n * - If `fromKey` is omitted, reads `selectionManager.focusedKey`.\n * - When nothing is focused (or the focused key is no longer visible), falls\n * back to the first/last visible key depending on `direction`.\n * - When the current key is the boundary, either returns `null` (default) or\n * wraps to the opposite edge when `opts.wrap` is true.\n */\nexport function getNextVisibleKey(\n listState: ListStateLike,\n direction: NavigationDirection,\n opts?: { wrap?: boolean; fromKey?: Key | null },\n): Key | null {\n const visibleKeys = getVisibleKeys(listState);\n if (visibleKeys.length === 0) return null;\n\n const isForward = direction === 1;\n const currentKey = opts?.fromKey ?? listState.selectionManager.focusedKey;\n\n if (currentKey == null) {\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n const currentIndex = visibleKeys.indexOf(currentKey);\n\n if (currentIndex === -1) {\n // Focused item was filtered out — restart from the matching edge.\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n const newIndex = currentIndex + direction;\n if (newIndex >= 0 && newIndex < visibleKeys.length) {\n return visibleKeys[newIndex];\n }\n\n if (opts?.wrap) {\n return isForward ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];\n }\n\n return null;\n}\n\n/** Returns the first or last selectable key. */\nexport function getEdgeVisibleKey(\n listState: ListStateLike,\n edge: NavigationEdge,\n): Key | null {\n const visibleKeys = getVisibleKeys(listState);\n if (visibleKeys.length === 0) return null;\n return edge === 'first'\n ? visibleKeys[0]\n : visibleKeys[visibleKeys.length - 1];\n}\n\n/**\n * Marks a focus change as keyboard-driven so the underlying ListBox scrolls the\n * highlighted option into view. No-op when the list state doesn't expose a\n * `lastFocusSourceRef`.\n */\nexport function markKeyboardFocus(listState: ListStateLike): void {\n if (listState.lastFocusSourceRef) {\n listState.lastFocusSourceRef.current = 'keyboard';\n }\n}\n\nexport type TextFilterFn = (textValue: string, inputValue: string) => boolean;\n\n/** Options controlling how {@link filterCollectionNodes} matches nodes. */\nexport interface FilterCollectionOptions {\n /**\n * Also match against a node's plain-text `children` and `description` props\n * in addition to its `textValue`. Defaults to `false` so the search stays\n * consistent with the visible `textValue` (which is what components like\n * ComboBox document). Components that surface `children`/`description` in the\n * option list (e.g. CommandTextArea) can opt in.\n */\n matchExtraFields?: boolean;\n}\n\n/**\n * Collects the strings a node can be matched against. Always includes the\n * node's `textValue`; when `matchExtraFields` is set, also includes any\n * plain-text `children` and `description` props. Non-string children/description\n * (e.g. React elements) are ignored since we can't reliably read their text.\n */\nfunction getSearchableStrings(node: any, matchExtraFields: boolean): string[] {\n const strings: string[] = [];\n\n if (node.textValue) {\n strings.push(node.textValue);\n }\n\n if (matchExtraFields) {\n const props = node.props;\n if (props) {\n if (typeof props.children === 'string') {\n strings.push(props.children);\n }\n if (typeof props.description === 'string') {\n strings.push(props.description);\n }\n }\n }\n\n return strings.length > 0 ? strings : [node.textValue || ''];\n}\n\n/** True when the term matches any of the node's searchable strings. */\nfunction nodeMatchesTerm(\n node: any,\n term: string,\n textFilterFn: TextFilterFn,\n matchExtraFields: boolean,\n): boolean {\n return getSearchableStrings(node, matchExtraFields).some((text) =>\n textFilterFn(text, term),\n );\n}\n\n/**\n * Filters collection nodes by a search term while preserving section structure.\n * By default a node matches only when the term matches its `textValue`; pass\n * `{ matchExtraFields: true }` to also match its plain-text `children` and\n * `description`. Sections whose children all fail the filter are dropped.\n */\nexport function filterCollectionNodes(\n nodes: Iterable<any>,\n term: string,\n textFilterFn: TextFilterFn,\n options: FilterCollectionOptions = {},\n): Iterable<any> {\n if (!term) {\n return nodes;\n }\n\n const matchExtraFields = options.matchExtraFields ?? false;\n\n return [...nodes]\n .map((node: any) => {\n if (node.type === 'section' && node.childNodes) {\n const filteredChildren = [...node.childNodes].filter((child: any) =>\n nodeMatchesTerm(child, term, textFilterFn, matchExtraFields),\n );\n\n if (filteredChildren.length === 0) {\n return null;\n }\n\n return {\n ...node,\n childNodes: filteredChildren,\n hasChildNodes: true,\n };\n }\n\n return nodeMatchesTerm(node, term, textFilterFn, matchExtraFields)\n ? node\n : null;\n })\n .filter(Boolean);\n}\n"],"mappings":";;;;;;;AAyBA,SAAgBc,mBACdC,OACAC,KACAR,cACM;AACN,MAAK,MAAMS,QAAQF,MACjB,KAAIE,KAAKC,SAAS,QAChB;MAAI,CAACV,cAAcW,IAAIF,KAAKZ,IAAI,CAC9BW,KAAII,KAAKH,KAAKZ,IAAI;YAEXY,KAAKI,WACdP,oBAAmBG,KAAKI,YAAYL,KAAKR,aAAa;;;AAM5D,SAAgBc,eAAeC,WAAiC;CAC9D,MAAMC,OAAc,EAAE;AACtBV,oBACES,UAAUjB,YACVkB,MACAD,UAAUf,aACX;AACD,QAAOgB;;;;;;;;;;;AAYT,SAAgBC,kBACdF,WACAG,WACAC,MACY;CACZ,MAAMG,cAAcR,eAAeC,UAAU;AAC7C,KAAIO,YAAYC,WAAW,EAAG,QAAO;CAErC,MAAMC,YAAYN,cAAc;CAChC,MAAMO,aAAaN,MAAME,WAAWN,UAAUrB,iBAAiBC;AAE/D,KAAI8B,cAAc,KAChB,QAAOD,YAAYF,YAAY,KAAKA,YAAYA,YAAYC,SAAS;CAGvE,MAAMG,eAAeJ,YAAYK,QAAQF,WAAW;AAEpD,KAAIC,iBAAiB,GAEnB,QAAOF,YAAYF,YAAY,KAAKA,YAAYA,YAAYC,SAAS;CAGvE,MAAMK,WAAWF,eAAeR;AAChC,KAAIU,YAAY,KAAKA,WAAWN,YAAYC,OAC1C,QAAOD,YAAYM;AAGrB,KAAIT,MAAMC,KACR,QAAOI,YAAYF,YAAY,KAAKA,YAAYA,YAAYC,SAAS;AAGvE,QAAO;;;AAIT,SAAgBM,kBACdd,WACAe,MACY;CACZ,MAAMR,cAAcR,eAAeC,UAAU;AAC7C,KAAIO,YAAYC,WAAW,EAAG,QAAO;AACrC,QAAOO,SAAS,UACZR,YAAY,KACZA,YAAYA,YAAYC,SAAS;;;;;;;AAQvC,SAAgBQ,kBAAkBhB,WAAgC;AAChE,KAAIA,UAAUb,mBACZa,WAAUb,mBAAmBC,UAAU;;;;;;;;AAwB3C,SAASkC,qBAAqB5B,MAAW2B,kBAAqC;CAC5E,MAAME,UAAoB,EAAE;AAE5B,KAAI7B,KAAKwB,UACPK,SAAQ1B,KAAKH,KAAKwB,UAAU;AAG9B,KAAIG,kBAAkB;EACpB,MAAMG,QAAQ9B,KAAK8B;AACnB,MAAIA,OAAO;AACT,OAAI,OAAOA,MAAMC,aAAa,SAC5BF,SAAQ1B,KAAK2B,MAAMC,SAAS;AAE9B,OAAI,OAAOD,MAAME,gBAAgB,SAC/BH,SAAQ1B,KAAK2B,MAAME,YAAY;;;AAKrC,QAAOH,QAAQf,SAAS,IAAIe,UAAU,CAAC7B,KAAKwB,aAAa,GAAG;;;AAI9D,SAASS,gBACPjC,MACAkC,MACAC,cACAR,kBACS;AACT,QAAOC,qBAAqB5B,MAAM2B,iBAAiB,CAACS,MAAMC,SACxDF,aAAaE,MAAMH,KACrB,CAAC;;;;;;;;AASH,SAAgBI,sBACdxC,OACAoC,MACAC,cACAI,UAAmC,EAAE,EACtB;AACf,KAAI,CAACL,KACH,QAAOpC;CAGT,MAAM6B,mBAAmBY,QAAQZ,oBAAoB;AAErD,QAAO,CAAC,GAAG7B,MAAM,CACd0C,KAAKxC,SAAc;AAClB,MAAIA,KAAKC,SAAS,aAAaD,KAAKI,YAAY;GAC9C,MAAMqC,mBAAmB,CAAC,GAAGzC,KAAKI,WAAW,CAACsC,QAAQC,UACpDV,gBAAgBU,OAAOT,MAAMC,cAAcR,iBAC7C,CAAC;AAED,OAAIc,iBAAiB3B,WAAW,EAC9B,QAAO;AAGT,UAAO;IACL,GAAGd;IACHI,YAAYqC;IACZG,eAAe;IAChB;;AAGH,SAAOX,gBAAgBjC,MAAMkC,MAAMC,cAAcR,iBAAiB,GAC9D3B,OACA;GACJ,CACD0C,OAAOG,QAAQ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
2
|
-
import {
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
|
+
import { c } from "react-compiler-runtime";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
3
4
|
|
|
4
5
|
//#region src/components/fields/ListBoxPopover/useCompositeFocus.ts
|
|
5
6
|
/**
|
|
@@ -11,41 +12,68 @@ import { useCallback, useEffect, useRef } from "react";
|
|
|
11
12
|
* Focus checks are deferred to the next animation frame to tolerate the
|
|
12
13
|
* synchronous focus shuffles React Aria and portals perform on selection.
|
|
13
14
|
*/
|
|
14
|
-
function useCompositeFocus(
|
|
15
|
+
function useCompositeFocus(t0) {
|
|
16
|
+
const $ = c(12);
|
|
17
|
+
const { wrapperRef, popoverRef, onFocus, onBlur, isDisabled } = t0;
|
|
15
18
|
const wasInsideRef = useRef(false);
|
|
16
19
|
const rafRef = useRef(null);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (isInside)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
onBlur
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
20
|
+
let t1;
|
|
21
|
+
if ($[0] !== isDisabled || $[1] !== onBlur || $[2] !== onFocus || $[3] !== popoverRef || $[4] !== wrapperRef) {
|
|
22
|
+
t1 = () => {
|
|
23
|
+
if (isDisabled) return;
|
|
24
|
+
const activeElement = document.activeElement;
|
|
25
|
+
const isInside = (wrapperRef.current?.contains(activeElement) ?? false) || (popoverRef.current?.contains(activeElement) ?? false);
|
|
26
|
+
if (isInside !== wasInsideRef.current) {
|
|
27
|
+
wasInsideRef.current = isInside;
|
|
28
|
+
if (isInside) onFocus?.();
|
|
29
|
+
else onBlur?.();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
$[0] = isDisabled;
|
|
33
|
+
$[1] = onBlur;
|
|
34
|
+
$[2] = onFocus;
|
|
35
|
+
$[3] = popoverRef;
|
|
36
|
+
$[4] = wrapperRef;
|
|
37
|
+
$[5] = t1;
|
|
38
|
+
} else t1 = $[5];
|
|
39
|
+
const checkFocus = t1;
|
|
40
|
+
let t2;
|
|
41
|
+
if ($[6] !== checkFocus) {
|
|
42
|
+
t2 = (e) => {
|
|
43
|
+
if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
|
|
44
|
+
rafRef.current = requestAnimationFrame(() => {
|
|
45
|
+
rafRef.current = null;
|
|
46
|
+
checkFocus();
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
$[6] = checkFocus;
|
|
50
|
+
$[7] = t2;
|
|
51
|
+
} else t2 = $[7];
|
|
52
|
+
const handleFocusOrBlur = t2;
|
|
53
|
+
let t3;
|
|
54
|
+
let t4;
|
|
55
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
56
|
+
t3 = () => () => {
|
|
42
57
|
if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
|
|
43
58
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
59
|
+
t4 = [];
|
|
60
|
+
$[8] = t3;
|
|
61
|
+
$[9] = t4;
|
|
62
|
+
} else {
|
|
63
|
+
t3 = $[8];
|
|
64
|
+
t4 = $[9];
|
|
65
|
+
}
|
|
66
|
+
useEffect(t3, t4);
|
|
67
|
+
let t5;
|
|
68
|
+
if ($[10] !== handleFocusOrBlur) {
|
|
69
|
+
t5 = { compositeFocusProps: {
|
|
70
|
+
onFocus: handleFocusOrBlur,
|
|
71
|
+
onBlur: handleFocusOrBlur
|
|
72
|
+
} };
|
|
73
|
+
$[10] = handleFocusOrBlur;
|
|
74
|
+
$[11] = t5;
|
|
75
|
+
} else t5 = $[11];
|
|
76
|
+
return t5;
|
|
49
77
|
}
|
|
50
78
|
|
|
51
79
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCompositeFocus.js","names":[],"sources":["../../../../src/components/fields/ListBoxPopover/useCompositeFocus.ts"],"sourcesContent":["import React, { RefObject, useCallback, useEffect, useRef } from 'react';\n\nexport interface UseCompositeFocusProps {\n wrapperRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLElement>;\n onFocus?: () => void;\n onBlur?: () => void;\n isDisabled?: boolean;\n}\n\nexport interface UseCompositeFocusReturn {\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n}\n\n/**\n * Tracks focus across a wrapper element and its (portaled) popover as a single\n * logical focus scope. Fires `onFocus` when focus enters either and `onBlur`\n * when it leaves both — essential for components whose overlay is portaled, so\n * that clicking an option does not look like a blur of the whole component.\n *\n * Focus checks are deferred to the next animation frame to tolerate the\n * synchronous focus shuffles React Aria and portals perform on selection.\n */\nexport function useCompositeFocus({\n wrapperRef,\n popoverRef,\n onFocus,\n onBlur,\n isDisabled,\n}: UseCompositeFocusProps): UseCompositeFocusReturn {\n const wasInsideRef = useRef(false);\n const rafRef = useRef<number | null>(null);\n\n const checkFocus = useCallback(() => {\n if (isDisabled) return;\n\n const activeElement = document.activeElement;\n const isInside =\n (wrapperRef.current?.contains(activeElement) ?? false) ||\n (popoverRef.current?.contains(activeElement) ?? false);\n\n if (isInside !== wasInsideRef.current) {\n wasInsideRef.current = isInside;\n if (isInside) {\n onFocus?.();\n } else {\n onBlur?.();\n }\n }\n }, [wrapperRef, popoverRef, onFocus, onBlur, isDisabled]);\n\n const handleFocusOrBlur = useCallback(\n (e: React.FocusEvent) => {\n // Cancel any pending check\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n }\n\n // Schedule focus check for next frame\n rafRef.current = requestAnimationFrame(() => {\n rafRef.current = null;\n checkFocus();\n });\n },\n [checkFocus],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return {\n compositeFocusProps: {\n onFocus: handleFocusOrBlur,\n onBlur: handleFocusOrBlur,\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCompositeFocus.js","names":["React","RefObject","useCallback","useEffect","useRef","UseCompositeFocusProps","wrapperRef","HTMLElement","popoverRef","onFocus","onBlur","isDisabled","UseCompositeFocusReturn","compositeFocusProps","e","FocusEvent","useCompositeFocus","t0","$","_c","wasInsideRef","rafRef","t1","activeElement","document","isInside","current","contains","checkFocus","t2","cancelAnimationFrame","requestAnimationFrame","handleFocusOrBlur","t3","t4","Symbol","for","t5"],"sources":["../../../../src/components/fields/ListBoxPopover/useCompositeFocus.ts"],"sourcesContent":["import React, { RefObject, useCallback, useEffect, useRef } from 'react';\n\nexport interface UseCompositeFocusProps {\n wrapperRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLElement>;\n onFocus?: () => void;\n onBlur?: () => void;\n isDisabled?: boolean;\n}\n\nexport interface UseCompositeFocusReturn {\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n}\n\n/**\n * Tracks focus across a wrapper element and its (portaled) popover as a single\n * logical focus scope. Fires `onFocus` when focus enters either and `onBlur`\n * when it leaves both — essential for components whose overlay is portaled, so\n * that clicking an option does not look like a blur of the whole component.\n *\n * Focus checks are deferred to the next animation frame to tolerate the\n * synchronous focus shuffles React Aria and portals perform on selection.\n */\nexport function useCompositeFocus({\n wrapperRef,\n popoverRef,\n onFocus,\n onBlur,\n isDisabled,\n}: UseCompositeFocusProps): UseCompositeFocusReturn {\n const wasInsideRef = useRef(false);\n const rafRef = useRef<number | null>(null);\n\n const checkFocus = useCallback(() => {\n if (isDisabled) return;\n\n const activeElement = document.activeElement;\n const isInside =\n (wrapperRef.current?.contains(activeElement) ?? false) ||\n (popoverRef.current?.contains(activeElement) ?? false);\n\n if (isInside !== wasInsideRef.current) {\n wasInsideRef.current = isInside;\n if (isInside) {\n onFocus?.();\n } else {\n onBlur?.();\n }\n }\n }, [wrapperRef, popoverRef, onFocus, onBlur, isDisabled]);\n\n const handleFocusOrBlur = useCallback(\n (e: React.FocusEvent) => {\n // Cancel any pending check\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n }\n\n // Schedule focus check for next frame\n rafRef.current = requestAnimationFrame(() => {\n rafRef.current = null;\n checkFocus();\n });\n },\n [checkFocus],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return {\n compositeFocusProps: {\n onFocus: handleFocusOrBlur,\n onBlur: handleFocusOrBlur,\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AA0BA,SAAOgB,kBAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAA2B,MAAA,EAAAb,YAAAE,YAAAC,SAAAC,QAAAC,eAAAM;CAOhC,MAAAG,eAAqBhB,OAAO,MAAM;CAClC,MAAAiB,SAAejB,OAAsB,KAAK;CAAC,IAAAkB;AAAA,KAAAJ,EAAA,OAAAP,cAAAO,EAAA,OAAAR,UAAAQ,EAAA,OAAAT,WAAAS,EAAA,OAAAV,cAAAU,EAAA,OAAAZ,YAAA;AAEZgB,aAAA;AAC7B,OAAIX,WAAU;GAEd,MAAAY,gBAAsBC,SAAQD;GAC9B,MAAAE,YACGnB,WAAUoB,SAAkBC,SAACJ,cAAuB,IAApD,WACAf,WAAUkB,SAAkBC,SAACJ,cAAuB,IAApD;AAEH,OAAIE,aAAaL,aAAYM,SAAQ;AACnCN,iBAAYM,UAAWD;AACvB,QAAIA,SACFhB,YAAW;QAEXC,WAAU;;;AAGfQ,IAAA,KAAAP;AAAAO,IAAA,KAAAR;AAAAQ,IAAA,KAAAT;AAAAS,IAAA,KAAAV;AAAAU,IAAA,KAAAZ;AAAAY,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAhBD,MAAAU,aAAmBN;CAgBuC,IAAAO;AAAA,KAAAX,EAAA,OAAAU,YAAA;AAGxDC,QAAAf,MAAA;AAEE,OAAIO,OAAMK,YAAa,KACrBI,sBAAqBT,OAAMK,QAAS;AAItCL,UAAMK,UAAWK,4BAAsB;AACrCV,WAAMK,UAAW;AACjBE,gBAAY;KAFA;;AAIfV,IAAA,KAAAU;AAAAV,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAZH,MAAAc,oBAA0BH;CAcxB,IAAAI;CAAA,IAAAC;AAAA,KAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAGQH,mBACD;AACL,OAAIZ,OAAMK,YAAa,KACrBI,sBAAqBT,OAAMK,QAAS;;AAGvCQ,OAAA,EAAE;AAAAhB,IAAA,KAAAe;AAAAf,IAAA,KAAAgB;QAAA;AAAAD,OAAAf,EAAA;AAAAgB,OAAAhB,EAAA;;AANLf,WAAU8B,IAMPC,GAAG;CAAA,IAAAG;AAAA,KAAAnB,EAAA,QAAAc,mBAAA;AAECK,OAAA,EAAAxB,qBACgB;GAAAJ,SACVuB;GAAiBtB,QAClBsB;GACV,EACD;AAAAd,IAAA,MAAAc;AAAAd,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;AAAA,QALMmB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { castNullableNumberValue } from "../../../utils/react/nullableValue.js";
|
|
4
4
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
5
5
|
import { TextInputBase } from "../TextInput/TextInputBase.js";
|
|
6
6
|
import { StepButton } from "./StepButton.js";
|
|
7
|
+
import { c } from "react-compiler-runtime";
|
|
7
8
|
import { tasty } from "@tenphi/tasty";
|
|
8
9
|
import { forwardRef, useRef } from "react";
|
|
9
10
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -21,40 +22,129 @@ const StepperContainer = tasty({ styles: {
|
|
|
21
22
|
margin: "(.5x - 1bw) left"
|
|
22
23
|
} });
|
|
23
24
|
function NumberInput(props, ref) {
|
|
24
|
-
|
|
25
|
+
const $ = c(38);
|
|
26
|
+
let t0;
|
|
27
|
+
if ($[0] !== props) {
|
|
28
|
+
t0 = castNullableNumberValue(props);
|
|
29
|
+
$[0] = props;
|
|
30
|
+
$[1] = t0;
|
|
31
|
+
} else t0 = $[1];
|
|
32
|
+
props = t0;
|
|
25
33
|
props = useFieldProps(props);
|
|
26
|
-
let
|
|
27
|
-
let
|
|
28
|
-
let
|
|
29
|
-
let
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
let hideStepper;
|
|
35
|
+
let inputRef;
|
|
36
|
+
let otherProps;
|
|
37
|
+
let suffix;
|
|
38
|
+
let userInputProps;
|
|
39
|
+
let userLabelProps;
|
|
40
|
+
if ($[2] !== props) {
|
|
41
|
+
let { hideStepper: t1, suffix: t2, value, defaultValue, onChange, inputRef: t3, labelProps: t4, inputProps: t5, ...t6 } = props;
|
|
42
|
+
hideStepper = t1;
|
|
43
|
+
suffix = t2;
|
|
44
|
+
inputRef = t3;
|
|
45
|
+
userLabelProps = t4;
|
|
46
|
+
userInputProps = t5;
|
|
47
|
+
otherProps = t6;
|
|
48
|
+
$[2] = props;
|
|
49
|
+
$[3] = hideStepper;
|
|
50
|
+
$[4] = inputRef;
|
|
51
|
+
$[5] = otherProps;
|
|
52
|
+
$[6] = suffix;
|
|
53
|
+
$[7] = userInputProps;
|
|
54
|
+
$[8] = userLabelProps;
|
|
55
|
+
} else {
|
|
56
|
+
hideStepper = $[3];
|
|
57
|
+
inputRef = $[4];
|
|
58
|
+
otherProps = $[5];
|
|
59
|
+
suffix = $[6];
|
|
60
|
+
userInputProps = $[7];
|
|
61
|
+
userLabelProps = $[8];
|
|
62
|
+
}
|
|
63
|
+
const showStepper = !hideStepper;
|
|
64
|
+
const { locale } = useLocale();
|
|
65
|
+
let t1;
|
|
66
|
+
if ($[9] !== locale || $[10] !== props) {
|
|
67
|
+
t1 = {
|
|
68
|
+
...props,
|
|
69
|
+
locale
|
|
70
|
+
};
|
|
71
|
+
$[9] = locale;
|
|
72
|
+
$[10] = props;
|
|
73
|
+
$[11] = t1;
|
|
74
|
+
} else t1 = $[11];
|
|
75
|
+
const state = useNumberFieldState(t1);
|
|
76
|
+
const localInputRef = useRef(null);
|
|
34
77
|
inputRef = inputRef ?? localInputRef;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
78
|
+
const { groupProps, labelProps, inputProps, incrementButtonProps, decrementButtonProps } = useNumberField(props, state, inputRef);
|
|
79
|
+
let t2;
|
|
80
|
+
if ($[12] !== labelProps || $[13] !== userLabelProps) {
|
|
81
|
+
t2 = mergeProps$1(labelProps, userLabelProps);
|
|
82
|
+
$[12] = labelProps;
|
|
83
|
+
$[13] = userLabelProps;
|
|
84
|
+
$[14] = t2;
|
|
85
|
+
} else t2 = $[14];
|
|
86
|
+
const mergedLabelProps = t2;
|
|
87
|
+
let t3;
|
|
88
|
+
if ($[15] !== decrementButtonProps || $[16] !== incrementButtonProps || $[17] !== otherProps || $[18] !== props.isDisabled || $[19] !== showStepper) {
|
|
89
|
+
t3 = showStepper ? /* @__PURE__ */ jsxs(StepperContainer, { children: [/* @__PURE__ */ jsx(StepButton, {
|
|
90
|
+
isDisabled: props.isDisabled,
|
|
91
|
+
direction: "up",
|
|
92
|
+
...incrementButtonProps,
|
|
93
|
+
size: otherProps.size
|
|
94
|
+
}), /* @__PURE__ */ jsx(StepButton, {
|
|
95
|
+
isDisabled: props.isDisabled,
|
|
96
|
+
direction: "down",
|
|
97
|
+
...decrementButtonProps,
|
|
98
|
+
size: otherProps.size
|
|
99
|
+
})] }) : void 0;
|
|
100
|
+
$[15] = decrementButtonProps;
|
|
101
|
+
$[16] = incrementButtonProps;
|
|
102
|
+
$[17] = otherProps;
|
|
103
|
+
$[18] = props.isDisabled;
|
|
104
|
+
$[19] = showStepper;
|
|
105
|
+
$[20] = t3;
|
|
106
|
+
} else t3 = $[20];
|
|
107
|
+
const steppers = t3;
|
|
108
|
+
const t4 = otherProps;
|
|
109
|
+
let t5;
|
|
110
|
+
if ($[21] !== inputProps || $[22] !== props.id || $[23] !== userInputProps) {
|
|
111
|
+
t5 = mergeProps$1(mergeProps(inputProps, { id: props.id }), { "data-input-type": "numberinput" }, userInputProps);
|
|
112
|
+
$[21] = inputProps;
|
|
113
|
+
$[22] = props.id;
|
|
114
|
+
$[23] = userInputProps;
|
|
115
|
+
$[24] = t5;
|
|
116
|
+
} else t5 = $[24];
|
|
117
|
+
let t6;
|
|
118
|
+
if ($[25] !== props.suffixPosition || $[26] !== showStepper || $[27] !== steppers || $[28] !== suffix) {
|
|
119
|
+
t6 = showStepper ? props.suffixPosition === "before" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [suffix, steppers] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [steppers, suffix] }) : suffix;
|
|
120
|
+
$[25] = props.suffixPosition;
|
|
121
|
+
$[26] = showStepper;
|
|
122
|
+
$[27] = steppers;
|
|
123
|
+
$[28] = suffix;
|
|
124
|
+
$[29] = t6;
|
|
125
|
+
} else t6 = $[29];
|
|
126
|
+
let t7;
|
|
127
|
+
if ($[30] !== groupProps || $[31] !== inputRef || $[32] !== mergedLabelProps || $[33] !== otherProps || $[34] !== ref || $[35] !== t5 || $[36] !== t6) {
|
|
128
|
+
t7 = /* @__PURE__ */ jsx(StyledTextInputBase, {
|
|
129
|
+
...t4,
|
|
130
|
+
ref,
|
|
131
|
+
labelProps: mergedLabelProps,
|
|
132
|
+
inputProps: t5,
|
|
133
|
+
inputRef,
|
|
134
|
+
wrapperProps: groupProps,
|
|
135
|
+
suffixPosition: "after",
|
|
136
|
+
suffix: t6
|
|
137
|
+
});
|
|
138
|
+
$[30] = groupProps;
|
|
139
|
+
$[31] = inputRef;
|
|
140
|
+
$[32] = mergedLabelProps;
|
|
141
|
+
$[33] = otherProps;
|
|
142
|
+
$[34] = ref;
|
|
143
|
+
$[35] = t5;
|
|
144
|
+
$[36] = t6;
|
|
145
|
+
$[37] = t7;
|
|
146
|
+
} else t7 = $[37];
|
|
147
|
+
return t7;
|
|
58
148
|
}
|
|
59
149
|
/**
|
|
60
150
|
* NumberFields allow users to enter a number and increment or decrement the value using stepper buttons.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInput.js","names":["mergeProps","mergeAriaProps"],"sources":["../../../../src/components/fields/NumberInput/NumberInput.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, RefObject, useRef } from 'react';\nimport {\n AriaNumberFieldProps,\n mergeProps as mergeAriaProps,\n useLocale,\n useNumberField,\n} from 'react-aria';\nimport { useNumberFieldState } from 'react-stately';\n\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableNumberValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { useFieldProps } from '../../form';\nimport { CubeTextInputBaseProps, TextInputBase } from '../TextInput';\n\nimport { StepButton } from './StepButton';\n\nimport type { FieldBaseProps } from '../../../shared/form';\n\nexport interface CubeNumberInputProps\n extends Omit<\n CubeTextInputBaseProps,\n 'defaultValue' | 'value' | 'onChange' | 'field'\n >,\n Omit<AriaNumberFieldProps, 'validate' | 'form' | 'name'> {\n field?: FieldBaseProps<number | null | undefined>['field'];\n /** Whether or to hide stepper */\n hideStepper?: boolean;\n}\n\nconst StyledTextInputBase = tasty(TextInputBase, {\n inputStyles: {\n textAlign: 'right',\n },\n});\n\nconst StepperContainer = tasty({\n styles: {\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf 1sf',\n flow: 'column',\n placeSelf: 'stretch',\n margin: '(.5x - 1bw) left',\n },\n});\n\nfunction NumberInput(\n props: WithNullableValue<CubeNumberInputProps>,\n ref: ForwardedRef<HTMLElement>,\n) {\n props = castNullableNumberValue(props);\n props = useFieldProps(props);\n\n let {\n hideStepper,\n suffix,\n value,\n defaultValue,\n onChange,\n inputRef,\n labelProps: userLabelProps,\n inputProps: userInputProps,\n ...otherProps\n } = props;\n let showStepper = !hideStepper;\n let { locale } = useLocale();\n let state = useNumberFieldState({ ...props, locale });\n let localInputRef = useRef<HTMLInputElement>(null);\n\n inputRef = inputRef ?? localInputRef;\n\n let {\n groupProps,\n labelProps,\n inputProps,\n incrementButtonProps,\n decrementButtonProps,\n } = useNumberField(props, state, inputRef as RefObject<HTMLInputElement>);\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n const steppers = showStepper ? (\n <StepperContainer>\n <StepButton\n isDisabled={props.isDisabled}\n direction=\"up\"\n {...incrementButtonProps}\n size={otherProps.size}\n />\n <StepButton\n isDisabled={props.isDisabled}\n direction=\"down\"\n {...decrementButtonProps}\n size={otherProps.size}\n />\n </StepperContainer>\n ) : undefined;\n\n return (\n <StyledTextInputBase\n {...otherProps}\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={mergeProps(\n // `useNumberField` seeds its input id once. Merging the current id\n // through react-aria's own `mergeProps` updates that seed, so the\n // input, its label and the steppers' `aria-controls` follow the id\n // when the form binding changes after mount.\n mergeAriaProps(inputProps, { id: props.id }),\n { 'data-input-type': 'numberinput' },\n userInputProps,\n )}\n inputRef={inputRef}\n wrapperProps={groupProps}\n suffixPosition=\"after\"\n suffix={\n showStepper ? (\n props.suffixPosition === 'before' ? (\n <>\n {suffix}\n {steppers}\n </>\n ) : (\n <>\n {steppers}\n {suffix}\n </>\n )\n ) : (\n suffix\n )\n }\n />\n );\n}\n\n/**\n * NumberFields allow users to enter a number and increment or decrement the value using stepper buttons.\n */\nconst _NumberInput = forwardRef(NumberInput);\n\n(_NumberInput as any).cubeInputType = 'Number';\n\n_NumberInput.displayName = 'NumberInput';\n\nexport { _NumberInput as NumberInput };\nexport type { AriaNumberFieldProps };\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"NumberInput.js","names":["tasty","ForwardedRef","forwardRef","RefObject","useRef","AriaNumberFieldProps","mergeProps","mergeAriaProps","useLocale","useNumberField","useNumberFieldState","castNullableNumberValue","WithNullableValue","useFieldProps","CubeTextInputBaseProps","TextInputBase","StepButton","FieldBaseProps","CubeNumberInputProps","Omit","field","hideStepper","StyledTextInputBase","inputStyles","textAlign","StepperContainer","styles","display","gridColumns","gridRows","flow","placeSelf","margin","NumberInput","props","ref","$","_c","t0","inputRef","otherProps","suffix","userInputProps","userLabelProps","t1","t2","value","defaultValue","onChange","t3","labelProps","t4","inputProps","t5","t6","showStepper","locale","state","localInputRef","groupProps","incrementButtonProps","decrementButtonProps","HTMLInputElement","mergedLabelProps","isDisabled","size","undefined","steppers","id","suffixPosition","t7","_NumberInput","cubeInputType","displayName"],"sources":["../../../../src/components/fields/NumberInput/NumberInput.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, RefObject, useRef } from 'react';\nimport {\n AriaNumberFieldProps,\n mergeProps as mergeAriaProps,\n useLocale,\n useNumberField,\n} from 'react-aria';\nimport { useNumberFieldState } from 'react-stately';\n\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableNumberValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { useFieldProps } from '../../form';\nimport { CubeTextInputBaseProps, TextInputBase } from '../TextInput';\n\nimport { StepButton } from './StepButton';\n\nimport type { FieldBaseProps } from '../../../shared/form';\n\nexport interface CubeNumberInputProps\n extends Omit<\n CubeTextInputBaseProps,\n 'defaultValue' | 'value' | 'onChange' | 'field'\n >,\n Omit<AriaNumberFieldProps, 'validate' | 'form' | 'name'> {\n field?: FieldBaseProps<number | null | undefined>['field'];\n /** Whether or to hide stepper */\n hideStepper?: boolean;\n}\n\nconst StyledTextInputBase = tasty(TextInputBase, {\n inputStyles: {\n textAlign: 'right',\n },\n});\n\nconst StepperContainer = tasty({\n styles: {\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf 1sf',\n flow: 'column',\n placeSelf: 'stretch',\n margin: '(.5x - 1bw) left',\n },\n});\n\nfunction NumberInput(\n props: WithNullableValue<CubeNumberInputProps>,\n ref: ForwardedRef<HTMLElement>,\n) {\n props = castNullableNumberValue(props);\n props = useFieldProps(props);\n\n let {\n hideStepper,\n suffix,\n value,\n defaultValue,\n onChange,\n inputRef,\n labelProps: userLabelProps,\n inputProps: userInputProps,\n ...otherProps\n } = props;\n let showStepper = !hideStepper;\n let { locale } = useLocale();\n let state = useNumberFieldState({ ...props, locale });\n let localInputRef = useRef<HTMLInputElement>(null);\n\n inputRef = inputRef ?? localInputRef;\n\n let {\n groupProps,\n labelProps,\n inputProps,\n incrementButtonProps,\n decrementButtonProps,\n } = useNumberField(props, state, inputRef as RefObject<HTMLInputElement>);\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n const steppers = showStepper ? (\n <StepperContainer>\n <StepButton\n isDisabled={props.isDisabled}\n direction=\"up\"\n {...incrementButtonProps}\n size={otherProps.size}\n />\n <StepButton\n isDisabled={props.isDisabled}\n direction=\"down\"\n {...decrementButtonProps}\n size={otherProps.size}\n />\n </StepperContainer>\n ) : undefined;\n\n return (\n <StyledTextInputBase\n {...otherProps}\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={mergeProps(\n // `useNumberField` seeds its input id once. Merging the current id\n // through react-aria's own `mergeProps` updates that seed, so the\n // input, its label and the steppers' `aria-controls` follow the id\n // when the form binding changes after mount.\n mergeAriaProps(inputProps, { id: props.id }),\n { 'data-input-type': 'numberinput' },\n userInputProps,\n )}\n inputRef={inputRef}\n wrapperProps={groupProps}\n suffixPosition=\"after\"\n suffix={\n showStepper ? (\n props.suffixPosition === 'before' ? (\n <>\n {suffix}\n {steppers}\n </>\n ) : (\n <>\n {steppers}\n {suffix}\n </>\n )\n ) : (\n suffix\n )\n }\n />\n );\n}\n\n/**\n * NumberFields allow users to enter a number and increment or decrement the value using stepper buttons.\n */\nconst _NumberInput = forwardRef(NumberInput);\n\n(_NumberInput as any).cubeInputType = 'Number';\n\n_NumberInput.displayName = 'NumberInput';\n\nexport { _NumberInput as NumberInput };\nexport type { AriaNumberFieldProps };\n"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
2
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
3
3
|
import { DirectionIcon } from "../../../icons/DirectionIcon.js";
|
|
4
4
|
import { Button } from "../../actions/index.js";
|
|
5
|
+
import { c } from "react-compiler-runtime";
|
|
5
6
|
import { tasty } from "@tenphi/tasty";
|
|
6
7
|
import { jsx } from "react/jsx-runtime";
|
|
7
8
|
|
|
@@ -29,22 +30,59 @@ const StepButtonElement = tasty(Button, {
|
|
|
29
30
|
* Buttons for NumberField.
|
|
30
31
|
*/
|
|
31
32
|
function StepButton(props) {
|
|
33
|
+
const $ = c(14);
|
|
32
34
|
const { t } = useI18n();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
let t0;
|
|
36
|
+
if ($[0] !== props.direction || $[1] !== t) {
|
|
37
|
+
t0 = props.direction === "up" ? t("numberInput.stepUp", "Step up") : t("numberInput.stepDown", "Step down");
|
|
38
|
+
$[0] = props.direction;
|
|
39
|
+
$[1] = t;
|
|
40
|
+
$[2] = t0;
|
|
41
|
+
} else t0 = $[2];
|
|
42
|
+
const label = t0;
|
|
43
|
+
const t1 = props.direction === "up";
|
|
44
|
+
const t2 = props.direction === "down";
|
|
45
|
+
let t3;
|
|
46
|
+
if ($[3] !== t1 || $[4] !== t2) {
|
|
47
|
+
t3 = {
|
|
48
|
+
up: t1,
|
|
49
|
+
down: t2
|
|
50
|
+
};
|
|
51
|
+
$[3] = t1;
|
|
52
|
+
$[4] = t2;
|
|
53
|
+
$[5] = t3;
|
|
54
|
+
} else t3 = $[5];
|
|
55
|
+
let t4;
|
|
56
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
57
|
+
t4 = { fontSize: "$local-size" };
|
|
58
|
+
$[6] = t4;
|
|
59
|
+
} else t4 = $[6];
|
|
60
|
+
let t5;
|
|
61
|
+
if ($[7] !== props.direction) {
|
|
62
|
+
t5 = /* @__PURE__ */ jsx(DirectionIcon, {
|
|
44
63
|
to: props.direction,
|
|
45
|
-
styles:
|
|
46
|
-
})
|
|
47
|
-
|
|
64
|
+
styles: t4
|
|
65
|
+
});
|
|
66
|
+
$[7] = props.direction;
|
|
67
|
+
$[8] = t5;
|
|
68
|
+
} else t5 = $[8];
|
|
69
|
+
let t6;
|
|
70
|
+
if ($[9] !== label || $[10] !== props || $[11] !== t3 || $[12] !== t5) {
|
|
71
|
+
t6 = /* @__PURE__ */ jsx(StepButtonElement, {
|
|
72
|
+
preventDefault: true,
|
|
73
|
+
type: "clear",
|
|
74
|
+
mods: t3,
|
|
75
|
+
label,
|
|
76
|
+
...props,
|
|
77
|
+
children: t5
|
|
78
|
+
});
|
|
79
|
+
$[9] = label;
|
|
80
|
+
$[10] = props;
|
|
81
|
+
$[11] = t3;
|
|
82
|
+
$[12] = t5;
|
|
83
|
+
$[13] = t6;
|
|
84
|
+
} else t6 = $[13];
|
|
85
|
+
return t6;
|
|
48
86
|
}
|
|
49
87
|
|
|
50
88
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepButton.js","names":[],"sources":["../../../../src/components/fields/NumberInput/StepButton.tsx"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { useI18n } from '../../../i18n';\nimport { CaretDownIcon } from '../../../icons/CaretDownIcon';\nimport { CaretUpIcon } from '../../../icons/CaretUpIcon';\nimport { DirectionIcon } from '../../../icons/DirectionIcon';\nimport { Button } from '../../actions';\n\nconst StepButtonElement = tasty(Button, {\n preventDefault: true,\n type: 'clear',\n styles: {\n width: '($local-size * 1.25)',\n height: 'auto',\n radius: {\n '': '0 (1r - 1bw) 0 0',\n down: '0 0 (1r - 1bw) 0',\n },\n padding: 0,\n\n $size: 'inherit',\n '$local-size': '(($size - 2bw) / 2)',\n\n Icon: {\n width: 'auto',\n height: 'auto',\n },\n },\n});\n\n/**\n * Buttons for NumberField.\n */\nexport function StepButton(props) {\n const { t } = useI18n();\n\n const label =\n props.direction === 'up'\n ? t('numberInput.stepUp', 'Step up')\n : t('numberInput.stepDown', 'Step down');\n\n return (\n <StepButtonElement\n preventDefault\n type=\"clear\"\n mods={{\n up: props.direction === 'up',\n down: props.direction === 'down',\n }}\n label={label}\n {...props}\n >\n <DirectionIcon\n to={props.direction}\n styles={{ fontSize: '$local-size' }}\n />\n </StepButtonElement>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StepButton.js","names":["Styles","tasty","useI18n","CaretDownIcon","CaretUpIcon","DirectionIcon","Button","StepButtonElement","preventDefault","type","styles","width","height","radius","down","padding","$size","Icon","StepButton","props","$","_c","t","t0","direction","label","t1","t2","t3","up","t4","Symbol","for","fontSize","t5","t6"],"sources":["../../../../src/components/fields/NumberInput/StepButton.tsx"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { useI18n } from '../../../i18n';\nimport { CaretDownIcon } from '../../../icons/CaretDownIcon';\nimport { CaretUpIcon } from '../../../icons/CaretUpIcon';\nimport { DirectionIcon } from '../../../icons/DirectionIcon';\nimport { Button } from '../../actions';\n\nconst StepButtonElement = tasty(Button, {\n preventDefault: true,\n type: 'clear',\n styles: {\n width: '($local-size * 1.25)',\n height: 'auto',\n radius: {\n '': '0 (1r - 1bw) 0 0',\n down: '0 0 (1r - 1bw) 0',\n },\n padding: 0,\n\n $size: 'inherit',\n '$local-size': '(($size - 2bw) / 2)',\n\n Icon: {\n width: 'auto',\n height: 'auto',\n },\n },\n});\n\n/**\n * Buttons for NumberField.\n */\nexport function StepButton(props) {\n const { t } = useI18n();\n\n const label =\n props.direction === 'up'\n ? t('numberInput.stepUp', 'Step up')\n : t('numberInput.stepDown', 'Step down');\n\n return (\n <StepButtonElement\n preventDefault\n type=\"clear\"\n mods={{\n up: props.direction === 'up',\n down: props.direction === 'down',\n }}\n label={label}\n {...props}\n >\n <DirectionIcon\n to={props.direction}\n styles={{ fontSize: '$local-size' }}\n />\n </StepButtonElement>\n );\n}\n"],"mappings":";;;;;;;;;AAQA,MAAMO,oBAAoBN,MAAMK,QAAQ;CACtCE,gBAAgB;CAChBC,MAAM;CACNC,QAAQ;EACNC,OAAO;EACPC,QAAQ;EACRC,QAAQ;GACN,IAAI;GACJC,MAAM;GACP;EACDC,SAAS;EAETC,OAAO;EACP,eAAe;EAEfC,MAAM;GACJN,OAAO;GACPC,QAAQ;GACV;EACF;CACD,CAAC;;;;AAKF,SAAOM,WAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACL,MAAA,EAAAC,MAAcpB,SAAS;CAAC,IAAAqB;AAAA,KAAAH,EAAA,OAAAD,MAAAK,aAAAJ,EAAA,OAAAE,GAAA;AAGtBC,OAAAJ,MAAKK,cAAe,OAChBF,EAAE,sBAAsB,UACc,GAAtCA,EAAE,wBAAwB,YAAY;AAAAF,IAAA,KAAAD,MAAAK;AAAAJ,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CAH5C,MAAAK,QACEF;CASQ,MAAAG,KAAAP,MAAKK,cAAe;CAClB,MAAAG,KAAAR,MAAKK,cAAe;CAAM,IAAAI;AAAA,KAAAR,EAAA,OAAAM,MAAAN,EAAA,OAAAO,IAAA;AAF5BC,OAAA;GAAAC,IACAH;GAAwBZ,MACtBa;GACP;AAAAP,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,OAAAW,OAAAC,IAAA,4BAAA,EAAA;AAMSF,OAAA,EAAAG,UAAY,eAAe;AAAAb,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAc;AAAA,KAAAd,EAAA,OAAAD,MAAAK,WAAA;AAFrCU,OAAA,oBAAC;GACK,IAAAf,MAAKK;GACD,QAAAM;IACR;AAAAV,IAAA,KAAAD,MAAAK;AAAAJ,IAAA,KAAAc;OAAAA,MAAAd,EAAA;CAAA,IAAAe;AAAA,KAAAf,EAAA,OAAAK,SAAAL,EAAA,QAAAD,SAAAC,EAAA,QAAAQ,MAAAR,EAAA,QAAAc,IAAA;AAbJC,OAAA,oBAAC;GACC,gBAAA;GACK,MAAA;GACC,MAAAP;GAICH;GAAK,GACRN;aAEJe;IAIkB;AAAAd,IAAA,KAAAK;AAAAL,IAAA,MAAAD;AAAAC,IAAA,MAAAQ;AAAAR,IAAA,MAAAc;AAAAd,IAAA,MAAAe;OAAAA,MAAAf,EAAA;AAAA,QAdpBe"}
|