@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,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
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -57,16 +57,16 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
57
57
|
});
|
|
58
58
|
const getItems = useCallback((keys) => {
|
|
59
59
|
dragKeysRef.current = [...keys];
|
|
60
|
-
return [...keys].map((
|
|
61
|
-
const item = state.collection.getItem(
|
|
62
|
-
return { "text/plain": item?.textValue || String(
|
|
60
|
+
return [...keys].map((key_0) => {
|
|
61
|
+
const item = state.collection.getItem(key_0);
|
|
62
|
+
return { "text/plain": item?.textValue || String(key_0) };
|
|
63
63
|
});
|
|
64
64
|
}, [state.collection]);
|
|
65
|
-
const dragSelectionManager = useMemo(() => new Proxy(state.selectionManager, { get(
|
|
65
|
+
const dragSelectionManager = useMemo(() => new Proxy(state.selectionManager, { get(target_0, prop) {
|
|
66
66
|
if (prop === "selectedKeys") return /* @__PURE__ */ new Set();
|
|
67
67
|
if (prop === "isSelected") return () => false;
|
|
68
|
-
const value = Reflect.get(
|
|
69
|
-
return typeof value === "function" ? value.bind(
|
|
68
|
+
const value = Reflect.get(target_0, prop);
|
|
69
|
+
return typeof value === "function" ? value.bind(target_0) : value;
|
|
70
70
|
} }), [state.selectionManager]);
|
|
71
71
|
const previewRef = useRef(null);
|
|
72
72
|
const dragState = useDraggableCollectionState({
|
|
@@ -80,10 +80,10 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
80
80
|
getItems,
|
|
81
81
|
getAllowedDropOperations
|
|
82
82
|
}, dragState, listRef);
|
|
83
|
-
const handleItemDrop = useEvent((
|
|
83
|
+
const handleItemDrop = useEvent((e_0) => {
|
|
84
84
|
if (!onItemDrop) return;
|
|
85
|
-
const
|
|
86
|
-
onItemDrop(
|
|
85
|
+
const keys_0 = [...e_0.dropOperation === "cancel" ? [] : dragKeysRef.current];
|
|
86
|
+
onItemDrop(e_0.target.key, keys_0);
|
|
87
87
|
});
|
|
88
88
|
const dragKeysRef = useRef([]);
|
|
89
89
|
const dropState = useDroppableCollectionState({
|
|
@@ -91,7 +91,7 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
91
91
|
selectionManager: state.selectionManager,
|
|
92
92
|
onReorder: onReorder ? handleReorder : void 0,
|
|
93
93
|
onItemDrop: onItemDrop ? handleItemDrop : void 0,
|
|
94
|
-
shouldAcceptItemDrop: shouldAcceptItemDrop ? (
|
|
94
|
+
shouldAcceptItemDrop: shouldAcceptItemDrop ? (target_1) => shouldAcceptItemDrop(target_1.key) : void 0
|
|
95
95
|
});
|
|
96
96
|
const { collectionProps } = useDroppableCollection({
|
|
97
97
|
keyboardDelegate: useMemo(() => new ListKeyboardDelegate({
|
|
@@ -118,8 +118,8 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
118
118
|
endDragRef.current = dragState.endDrag;
|
|
119
119
|
useEffect(() => {
|
|
120
120
|
if (!isDragActive) return;
|
|
121
|
-
const handleEscape = (
|
|
122
|
-
if (
|
|
121
|
+
const handleEscape = (e_1) => {
|
|
122
|
+
if (e_1.key === "Escape") endDragRef.current({
|
|
123
123
|
type: "cancel",
|
|
124
124
|
x: 0,
|
|
125
125
|
y: 0,
|
|
@@ -130,10 +130,10 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
130
130
|
document.addEventListener("keydown", handleEscape, true);
|
|
131
131
|
return () => document.removeEventListener("keydown", handleEscape, true);
|
|
132
132
|
}, [isDragActive]);
|
|
133
|
-
return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((
|
|
134
|
-
if (!
|
|
135
|
-
const
|
|
136
|
-
if (
|
|
133
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((e_2) => {
|
|
134
|
+
if (!e_2.altKey || !onReorder) return;
|
|
135
|
+
const target_2 = e_2.target;
|
|
136
|
+
if (target_2 instanceof HTMLInputElement || target_2 instanceof HTMLTextAreaElement || target_2.isContentEditable) return;
|
|
137
137
|
const moveKeys = orientation === "vertical" ? {
|
|
138
138
|
backward: "ArrowUp",
|
|
139
139
|
forward: "ArrowDown"
|
|
@@ -141,18 +141,18 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
|
|
|
141
141
|
backward: "ArrowLeft",
|
|
142
142
|
forward: "ArrowRight"
|
|
143
143
|
};
|
|
144
|
-
const direction =
|
|
144
|
+
const direction = e_2.key === moveKeys.backward ? -1 : e_2.key === moveKeys.forward ? 1 : 0;
|
|
145
145
|
if (direction === 0) return;
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
e_2.preventDefault();
|
|
147
|
+
e_2.stopPropagation();
|
|
148
148
|
const focusedKey = String(state.selectionManager.focusedKey);
|
|
149
149
|
const idx = orderedKeys.indexOf(focusedKey);
|
|
150
150
|
if (idx === -1) return;
|
|
151
151
|
const targetIdx = idx + direction;
|
|
152
152
|
if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;
|
|
153
|
-
const
|
|
154
|
-
[
|
|
155
|
-
onReorder(
|
|
153
|
+
const newKeys_0 = [...orderedKeys];
|
|
154
|
+
[newKeys_0[idx], newKeys_0[targetIdx]] = [newKeys_0[targetIdx], newKeys_0[idx]];
|
|
155
|
+
onReorder(newKeys_0);
|
|
156
156
|
}) })), renderPreview ? /* @__PURE__ */ jsx(DragPreview, {
|
|
157
157
|
ref: previewRef,
|
|
158
158
|
children: () => renderPreview(dragKeysRef.current)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DraggableCollection.js","names":[],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'cancel',\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n )}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => renderPreview(dragKeysRef.current)}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DraggableCollection.js","names":["KeyboardEvent","ReactNode","RefObject","useCallback","useEffect","useMemo","useRef","DragItem","DragPreview","DragPreviewRenderer","DroppableCollectionReorderEvent","ListDropTargetDelegate","ListKeyboardDelegate","mergeProps","useDraggableCollection","useDroppableCollection","DraggableCollectionState","DroppableCollectionState","useDraggableCollectionState","useDroppableCollectionState","useEvent","Collection","DropOperation","Key","Node","getAllowedDropOperations","createMockDragState","collection","selectionManager","Record","isDragging","getKeysForDrag","Set","draggedKey","draggingKeys","preview","isDisabled","startDrag","endDrag","DraggableCollectionProps","state","selectedKeys","disabledKeys","listRef","HTMLElement","orderedKeys","orientation","onReorder","newOrder","onItemDrop","targetKey","draggedKeys","shouldAcceptItemDrop","renderPreview","keys","children","dragState","dropState","collectionProps","DraggableCollection","handleReorder","e","target","movableKeys","dropPosition","key","movableKey","movableIndex","indexOf","targetIndex","String","newKeys","reduce","arr","i","push","getItems","dragKeysRef","current","map","item","getItem","textValue","dragSelectionManager","Proxy","get","prop","value","Reflect","bind","previewRef","undefined","handleItemDrop","dropOperation","keyboardDelegate","ref","dropTargetDelegate","isDragActive","size","endDragRef","handleEscape","globalThis","type","x","y","isInternal","document","addEventListener","removeEventListener","handleKeyDownCapture","altKey","HTMLInputElement","HTMLTextAreaElement","isContentEditable","moveKeys","backward","forward","direction","preventDefault","stopPropagation","focusedKey","idx","targetIdx","length","onKeyDownCapture"],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'cancel',\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n )}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => renderPreview(dragKeysRef.current)}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidIcon.js","names":[],"sources":["../../../src/components/shared/InvalidIcon.tsx"],"sourcesContent":["import { WarningIcon } from '../../icons/WarningIcon';\n\nexport const InvalidIcon = (\n <WarningIcon data-element=\"ValidationIcon\" color=\"#danger\" />\n);\n"],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"InvalidIcon.js","names":["WarningIcon","InvalidIcon"],"sources":["../../../src/components/shared/InvalidIcon.tsx"],"sourcesContent":["import { WarningIcon } from '../../icons/WarningIcon';\n\nexport const InvalidIcon = (\n <WarningIcon data-element=\"ValidationIcon\" color=\"#danger\" />\n);\n"],"mappings":";;;;;AAEA,MAAaC,cACX,oBAAC;CAAY,gBAAa;CAAiB,OAAM;EAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidIcon.js","names":[],"sources":["../../../src/components/shared/ValidIcon.tsx"],"sourcesContent":["import { CheckIcon } from '../../icons/CheckIcon';\n\nexport const ValidIcon = (\n <CheckIcon data-element=\"ValidationIcon\" color=\"#success\" />\n);\n"],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"ValidIcon.js","names":["CheckIcon","ValidIcon"],"sources":["../../../src/components/shared/ValidIcon.tsx"],"sourcesContent":["import { CheckIcon } from '../../icons/CheckIcon';\n\nexport const ValidIcon = (\n <CheckIcon data-element=\"ValidationIcon\" color=\"#success\" />\n);\n"],"mappings":";;;;;AAEA,MAAaC,YACX,oBAAC;CAAU,gBAAa;CAAiB,OAAM;EAChD"}
|
|
@@ -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 { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { Block } from "../../Block.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
5
|
+
import { c } from "react-compiler-runtime";
|
|
5
6
|
import { tasty } from "@tenphi/tasty";
|
|
6
7
|
import { useRef } from "react";
|
|
7
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -120,64 +121,171 @@ const CubeElement = tasty({
|
|
|
120
121
|
* the server and the client, i.e. a hydration mismatch on every render.
|
|
121
122
|
*/
|
|
122
123
|
function useTimelineSyncedAnimation(ref, isAnimated) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
const $ = c(5);
|
|
125
|
+
let t0;
|
|
126
|
+
if ($[0] !== isAnimated || $[1] !== ref) {
|
|
127
|
+
t0 = () => {
|
|
128
|
+
const element = ref.current;
|
|
129
|
+
if (!isAnimated || !element?.getAnimations) return;
|
|
130
|
+
for (const animation of element.getAnimations()) if (animation.timeline === element.ownerDocument.timeline) animation.startTime = 0;
|
|
131
|
+
};
|
|
132
|
+
$[0] = isAnimated;
|
|
133
|
+
$[1] = ref;
|
|
134
|
+
$[2] = t0;
|
|
135
|
+
} else t0 = $[2];
|
|
136
|
+
let t1;
|
|
137
|
+
if ($[3] !== isAnimated) {
|
|
138
|
+
t1 = [isAnimated];
|
|
139
|
+
$[3] = isAnimated;
|
|
140
|
+
$[4] = t1;
|
|
141
|
+
} else t1 = $[4];
|
|
142
|
+
useLayoutEffect$1(t0, t1);
|
|
128
143
|
}
|
|
129
|
-
function Cube(
|
|
144
|
+
function Cube(t0) {
|
|
145
|
+
const $ = c(8);
|
|
146
|
+
const { index, style } = t0;
|
|
130
147
|
const ref = useRef(null);
|
|
131
148
|
useTimelineSyncedAnimation(ref, index != null);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
]
|
|
155
|
-
|
|
149
|
+
let t1;
|
|
150
|
+
if ($[0] !== index) {
|
|
151
|
+
t1 = index != null ? { index } : void 0;
|
|
152
|
+
$[0] = index;
|
|
153
|
+
$[1] = t1;
|
|
154
|
+
} else t1 = $[1];
|
|
155
|
+
let t2;
|
|
156
|
+
let t3;
|
|
157
|
+
let t4;
|
|
158
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
159
|
+
t2 = /* @__PURE__ */ jsx("path", {
|
|
160
|
+
fill: "var(--loading-face-1-color)",
|
|
161
|
+
d: "M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z"
|
|
162
|
+
});
|
|
163
|
+
t3 = /* @__PURE__ */ jsx("path", {
|
|
164
|
+
fill: "var(--loading-face-2-color)",
|
|
165
|
+
d: "M18 41L0 30.75l.101-20.5L18 20.5"
|
|
166
|
+
});
|
|
167
|
+
t4 = /* @__PURE__ */ jsx("path", {
|
|
168
|
+
fill: "var(--loading-face-3-color)",
|
|
169
|
+
d: "M36 30.75L18 41V20.6l17.899-10.25L36 30.75z"
|
|
170
|
+
});
|
|
171
|
+
$[2] = t2;
|
|
172
|
+
$[3] = t3;
|
|
173
|
+
$[4] = t4;
|
|
174
|
+
} else {
|
|
175
|
+
t2 = $[2];
|
|
176
|
+
t3 = $[3];
|
|
177
|
+
t4 = $[4];
|
|
178
|
+
}
|
|
179
|
+
let t5;
|
|
180
|
+
if ($[5] !== style || $[6] !== t1) {
|
|
181
|
+
t5 = /* @__PURE__ */ jsxs(CubeElement, {
|
|
182
|
+
ref,
|
|
183
|
+
mods: t1,
|
|
184
|
+
style,
|
|
185
|
+
viewBox: "0 0 36 41",
|
|
186
|
+
fill: "none",
|
|
187
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
188
|
+
role: "presentation",
|
|
189
|
+
"aria-hidden": "true",
|
|
190
|
+
children: [
|
|
191
|
+
t2,
|
|
192
|
+
t3,
|
|
193
|
+
t4
|
|
194
|
+
]
|
|
195
|
+
});
|
|
196
|
+
$[5] = style;
|
|
197
|
+
$[6] = t1;
|
|
198
|
+
$[7] = t5;
|
|
199
|
+
} else t5 = $[7];
|
|
200
|
+
return t5;
|
|
156
201
|
}
|
|
157
202
|
const SIZE_MAP = {
|
|
158
203
|
small: 32,
|
|
159
204
|
medium: 64,
|
|
160
205
|
large: 96
|
|
161
206
|
};
|
|
162
|
-
function LoadingAnimation(
|
|
207
|
+
function LoadingAnimation(t0) {
|
|
208
|
+
const $ = c(17);
|
|
209
|
+
let props;
|
|
210
|
+
let t1;
|
|
211
|
+
if ($[0] !== t0) {
|
|
212
|
+
({size: t1, ...props} = t0);
|
|
213
|
+
$[0] = t0;
|
|
214
|
+
$[1] = props;
|
|
215
|
+
$[2] = t1;
|
|
216
|
+
} else {
|
|
217
|
+
props = $[1];
|
|
218
|
+
t1 = $[2];
|
|
219
|
+
}
|
|
220
|
+
const size = t1 === void 0 ? "medium" : t1;
|
|
163
221
|
const { t } = useI18n();
|
|
164
222
|
const numSize = SIZE_MAP[size] || size || SIZE_MAP.medium;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
223
|
+
let t2;
|
|
224
|
+
if ($[3] !== t) {
|
|
225
|
+
t2 = t("loadingAnimation.ariaLabel", "Loading animation");
|
|
226
|
+
$[3] = t;
|
|
227
|
+
$[4] = t2;
|
|
228
|
+
} else t2 = $[4];
|
|
229
|
+
const t3 = numSize * 1.1388888889;
|
|
230
|
+
let t4;
|
|
231
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
232
|
+
t4 = { position: "relative" };
|
|
233
|
+
$[5] = t4;
|
|
234
|
+
} else t4 = $[5];
|
|
235
|
+
let t5;
|
|
236
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
237
|
+
t5 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(0%, 72.5%)" } });
|
|
238
|
+
$[6] = t5;
|
|
239
|
+
} else t5 = $[6];
|
|
240
|
+
let t6;
|
|
241
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
242
|
+
t6 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(98%, 72.5%)" } });
|
|
243
|
+
$[7] = t6;
|
|
244
|
+
} else t6 = $[7];
|
|
245
|
+
let t10;
|
|
246
|
+
let t7;
|
|
247
|
+
let t8;
|
|
248
|
+
let t9;
|
|
249
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
250
|
+
t7 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(49%, 96.5%)" } });
|
|
251
|
+
t8 = /* @__PURE__ */ jsx(Cube, { index: 0 });
|
|
252
|
+
t9 = /* @__PURE__ */ jsx(Cube, { index: 1 });
|
|
253
|
+
t10 = /* @__PURE__ */ jsx(Cube, { index: 2 });
|
|
254
|
+
$[8] = t10;
|
|
255
|
+
$[9] = t7;
|
|
256
|
+
$[10] = t8;
|
|
257
|
+
$[11] = t9;
|
|
258
|
+
} else {
|
|
259
|
+
t10 = $[8];
|
|
260
|
+
t7 = $[9];
|
|
261
|
+
t8 = $[10];
|
|
262
|
+
t9 = $[11];
|
|
263
|
+
}
|
|
264
|
+
let t11;
|
|
265
|
+
if ($[12] !== numSize || $[13] !== props || $[14] !== t2 || $[15] !== t3) {
|
|
266
|
+
t11 = /* @__PURE__ */ jsxs(Block, {
|
|
267
|
+
role: "img",
|
|
268
|
+
"aria-label": t2,
|
|
269
|
+
width: numSize,
|
|
270
|
+
height: t3,
|
|
271
|
+
style: t4,
|
|
272
|
+
...props,
|
|
273
|
+
children: [
|
|
274
|
+
t5,
|
|
275
|
+
t6,
|
|
276
|
+
t7,
|
|
277
|
+
t8,
|
|
278
|
+
t9,
|
|
279
|
+
t10
|
|
280
|
+
]
|
|
281
|
+
});
|
|
282
|
+
$[12] = numSize;
|
|
283
|
+
$[13] = props;
|
|
284
|
+
$[14] = t2;
|
|
285
|
+
$[15] = t3;
|
|
286
|
+
$[16] = t11;
|
|
287
|
+
} else t11 = $[16];
|
|
288
|
+
return t11;
|
|
181
289
|
}
|
|
182
290
|
|
|
183
291
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingAnimation.js","names":[],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties, RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,OAAO;EACP,QAAQ;EAmBR,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;GACZ;EACD,mBAAmB;GACjB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,QAAQ;GACN,IAAI;GACJ,+BAA+B;GAChC;EAED,cAAc;GACZ,OAAO;IACL,MAAM;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,OAAO;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACrD,OAAO,EAAE,QAAQ,GAAG;IACpB,OAAO,EAAE,QAAQ,GAAG;IACpB,IAAI;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACnD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACpD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,IAAI;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACpD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACrD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,IAAI;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACrD;GACF;EACF;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBF,SAAS,2BACP,KACA,YACA;AACA,yBAAsB;EACpB,MAAM,UAAU,IAAI;AAGpB,MAAI,CAAC,cAAc,CAAC,SAAS,cAAe;AAE5C,OAAK,MAAM,aAAa,QAAQ,eAAe,CAI7C,KAAI,UAAU,aAAa,QAAQ,cAAc,SAC/C,WAAU,YAAY;IAGzB,CAAC,WAAW,CAAC;;AAQlB,SAAS,KAAK,EAAE,OAAO,SAAoB;CACzC,MAAM,MAAM,OAAsB,KAAK;AAEvC,4BAA2B,KAAK,SAAS,KAAK;AAE9C,QACE,qBAAC;EACM;EACL,MAAM,SAAS,OAAO,EAAE,OAAO,GAAG;EAC3B;EACP,SAAQ;EACR,MAAK;EACL,OAAM;EACN,MAAK;EACL,eAAY;;GAEZ,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;;GACU;;AAIlB,MAAM,WAAW;CACf,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAMD,SAAgB,iBAAiB,EAC/B,OAAO,UACP,GAAG,SACyB;CAC5B,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,UAAkB,SAAS,SAAS,QAAQ,SAAS;AAE3D,QACE,qBAAC;EACC,MAAK;EACL,cAAY,EAAE,8BAA8B,oBAAoB;EAChE,OAAO;EACP,QAAQ,UAAU;EAClB,OAAO,EAAE,UAAU,YAAY;EAC/B,GAAI;;GAEJ,oBAAC,QAAK,OAAO,EAAE,WAAW,wBAAwB,GAAI;GACtD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;;GACZ"}
|
|
1
|
+
{"version":3,"file":"LoadingAnimation.js","names":["tasty","CSSProperties","RefObject","useRef","useI18n","useLayoutEffect","Block","CubeBlockProps","CubeElement","as","styles","display","position","width","height","animationName","animationDuration","animationIterationCount","animationTimingFunction","zIndex","dice0","from","transform","to","dice1","dice2","useTimelineSyncedAnimation","ref","isAnimated","$","_c","t0","element","current","getAnimations","animation","timeline","ownerDocument","startTime","t1","CubeProps","index","style","Cube","undefined","t2","t3","t4","Symbol","for","t5","SIZE_MAP","small","medium","large","CubeLoadingAnimationProps","size","LoadingAnimation","props","t","numSize","t6","t10","t7","t8","t9","t11"],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties, RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAMQ,cAAcR,MAAM;CACxBS,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,UAAU;EACVC,OAAO;EACPC,QAAQ;EAmBRC,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;GACZ;EACDC,mBAAmB;GACjB,IAAI;GACJ,+BAA+B;GAChC;EACDC,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACDC,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACDC,QAAQ;GACN,IAAI;GACJ,+BAA+B;GAChC;EAED,cAAc;GACZC,OAAO;IACLC,MAAM;KAAEC,WAAW;KAAwBH,QAAQ;KAAG;IACtD,OAAO;KAAEG,WAAW;KAAwBH,QAAQ;KAAG;IACvD,OAAO;KAAEG,WAAW;KAAsBH,QAAQ;KAAG;IACrD,OAAO,EAAEA,QAAQ,GAAG;IACpB,OAAO,EAAEA,QAAQ,GAAG;IACpBI,IAAI;KAAED,WAAW;KAAsBH,QAAQ;KAAE;IAClD;GACDK,OAAO;IACLH,MAAM;KAAEC,WAAW;KAAsBH,QAAQ;KAAG;IACpD,OAAO;KAAEG,WAAW;KAAuBH,QAAQ;KAAG;IACtD,OAAO;KAAEG,WAAW;KAAuBH,QAAQ;KAAG;IACtDI,IAAI;KAAED,WAAW;KAAuBH,QAAQ;KAAE;IACnD;GACDM,OAAO;IACLJ,MAAM;KAAEC,WAAW;KAAuBH,QAAQ;KAAG;IACrD,OAAO;KAAEG,WAAW;KAAuBH,QAAQ;KAAG;IACtD,OAAO;KAAEG,WAAW;KAAwBH,QAAQ;KAAG;IACvDI,IAAI;KAAED,WAAW;KAAwBH,QAAQ;KAAE;IACrD;GACF;EACF;CACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBF,SAAAO,2BAAAC,KAAAC,YAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAD,cAAAC,EAAA,OAAAF,KAAA;AAIkBI,aAAA;GACd,MAAAC,UAAgBL,IAAGM;AAGnB,OAAI,CAACL,cAAD,CAAgBI,SAAOE,cAAe;AAE1C,QAAK,MAAAC,aAAmBH,QAAOE,eAAgB,CAI7C,KAAIC,UAASC,aAAcJ,QAAOK,cAAcD,SAC9CD,WAASG,YAAa;;AAG3BT,IAAA,KAAAD;AAAAC,IAAA,KAAAF;AAAAE,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,OAAAD,YAAA;AAAEW,OAAA,CAACX,WAAW;AAAAC,IAAA,KAAAD;AAAAC,IAAA,KAAAU;OAAAA,MAAAV,EAAA;AAdfxB,mBAAgB0B,IAcbQ,GAAa;;AAQlB,SAAAI,KAAAZ,IAAA;CAAA,MAAAF,IAAAC,EAAA,EAAA;CAAc,MAAA,EAAAW,OAAAC,UAAAX;CACZ,MAAAJ,MAAYxB,OAAsB,KAAK;AAEvCuB,4BAA2BC,KAAKc,SAAS,KAAK;CAAA,IAAAF;AAAA,KAAAV,EAAA,OAAAY,OAAA;AAKpCF,OAAAE,SAAS,OAAT,EAAAA,OAAqC,GAArCG;AAAqCf,IAAA,KAAAY;AAAAZ,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAgB;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAlB,EAAA,OAAAmB,OAAAC,IAAA,4BAAA,EAAA;AAQ3CJ,OAAA,oBAAA;GACO,MAAA;GACH,GAAA;IACF;AACFC,OAAA,oBAAA;GACO,MAAA;GACH,GAAA;IACF;AACFC,OAAA,oBAAA;GACO,MAAA;GACH,GAAA;IACF;AAAAlB,IAAA,KAAAgB;AAAAhB,IAAA,KAAAiB;AAAAjB,IAAA,KAAAkB;QAAA;AAAAF,OAAAhB,EAAA;AAAAiB,OAAAjB,EAAA;AAAAkB,OAAAlB,EAAA;;CAAA,IAAAqB;AAAA,KAAArB,EAAA,OAAAa,SAAAb,EAAA,OAAAU,IAAA;AArBJW,OAAA,qBAAC;GACMvB;GACC,MAAAY;GACCG;GACC,SAAA;GACH,MAAA;GACC,OAAA;GACD,MAAA;GACO,eAAA;;IAEZG;IAIAC;IAIAC;;IAIY;AAAAlB,IAAA,KAAAa;AAAAb,IAAA,KAAAU;AAAAV,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;AAAA,QAtBdqB;;AA0BJ,MAAMC,WAAW;CACfC,OAAO;CACPC,QAAQ;CACRC,OAAO;CACR;AAMD,SAAOG,iBAAA1B,IAAA;CAAA,MAAAF,IAAAC,EAAA,GAAA;CAAA,IAAA4B;CAAA,IAAAnB;AAAA,KAAAV,EAAA,OAAAE,IAAA;AAA0B,GAAA,CAAAyB,MAAAjB,OAAAmB,SAAA3B;AAGLF,IAAA,KAAAE;AAAAF,IAAA,KAAA6B;AAAA7B,IAAA,KAAAU;QAAA;AAAAmB,UAAA7B,EAAA;AAAAU,OAAAV,EAAA;;CAF1B,MAAA2B,OAAAjB,OAAAK,SAAA,WAAAL;CAGA,MAAA,EAAAoB,MAAcvD,SAAS;CACvB,MAAAwD,UAAwBT,SAASK,SAATA,QAA0BL,SAAQE;CAAQ,IAAAR;AAAA,KAAAhB,EAAA,OAAA8B,GAAA;AAKlDd,OAAAc,EAAE,8BAA8B,oBAAoB;AAAA9B,IAAA,KAAA8B;AAAA9B,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAExD,MAAAiB,KAAAc,UAAU;CAAY,IAAAb;AAAA,KAAAlB,EAAA,OAAAmB,OAAAC,IAAA,4BAAA,EAAA;AACvBF,OAAA,EAAAnC,UAAY,YAAY;AAAAiB,IAAA,KAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,OAAAmB,OAAAC,IAAA,4BAAA,EAAA;AAG/BC,OAAA,oBAAC,QAAY,OAAA,EAAA5B,WAAa,wBAAuB,GAAK;AAAAO,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;CAAA,IAAAgC;AAAA,KAAAhC,EAAA,OAAAmB,OAAAC,IAAA,4BAAA,EAAA;AACtDY,OAAA,oBAAC,QAAY,OAAA,EAAAvC,WAAa,yBAAwB,GAAK;AAAAO,IAAA,KAAAgC;OAAAA,MAAAhC,EAAA;CAAA,IAAAiC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAApC,EAAA,OAAAmB,OAAAC,IAAA,4BAAA,EAAA;AACvDc,OAAA,oBAAC,QAAY,OAAA,EAAAzC,WAAa,yBAAwB,GAAK;AACvD0C,OAAA,oBAAC,QAAY,OAAA,IAAK;AAClBC,OAAA,oBAAC,QAAY,OAAA,IAAK;AAClBH,QAAA,oBAAC,QAAY,OAAA,IAAK;AAAAjC,IAAA,KAAAiC;AAAAjC,IAAA,KAAAkC;AAAAlC,IAAA,MAAAmC;AAAAnC,IAAA,MAAAoC;QAAA;AAAAH,QAAAjC,EAAA;AAAAkC,OAAAlC,EAAA;AAAAmC,OAAAnC,EAAA;AAAAoC,OAAApC,EAAA;;CAAA,IAAAqC;AAAA,KAAArC,EAAA,QAAA+B,WAAA/B,EAAA,QAAA6B,SAAA7B,EAAA,QAAAgB,MAAAhB,EAAA,QAAAiB,IAAA;AAbpBoB,QAAA,qBAAC;GACM,MAAA;GACO,cAAArB;GACLe,OAAAA;GACC,QAAAd;GACD,OAAAC;GAAwB,GAC3BW;;IAEJR;IACAW;IACAE;IACAC;IACAC;IACAH;;IACM;AAAAjC,IAAA,MAAA+B;AAAA/B,IAAA,MAAA6B;AAAA7B,IAAA,MAAAgB;AAAAhB,IAAA,MAAAiB;AAAAjB,IAAA,MAAAqC;OAAAA,OAAArC,EAAA;AAAA,QAdRqC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
|
+
import { c } from "react-compiler-runtime";
|
|
2
3
|
import { tasty } from "@tenphi/tasty";
|
|
3
4
|
import { memo } from "react";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -96,8 +97,16 @@ const CubeElement = tasty({
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
});
|
|
99
|
-
const Cube = memo(function Cube(
|
|
100
|
-
|
|
100
|
+
const Cube = memo(function Cube(t0) {
|
|
101
|
+
const $ = c(2);
|
|
102
|
+
const { $position } = t0;
|
|
103
|
+
let t1;
|
|
104
|
+
if ($[0] !== $position) {
|
|
105
|
+
t1 = /* @__PURE__ */ jsx(CubeElement, { mods: { position: $position } });
|
|
106
|
+
$[0] = $position;
|
|
107
|
+
$[1] = t1;
|
|
108
|
+
} else t1 = $[1];
|
|
109
|
+
return t1;
|
|
101
110
|
});
|
|
102
111
|
|
|
103
112
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cube.js","names":[],"sources":["../../../../src/components/status/Spin/Cube.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { SpinCubeProps } from './types';\n\nconst CubeElement = tasty({\n role: 'presentation',\n styles: {\n '$cube-border-width': '(4 / 100 * $cube-spin-size)',\n '$cube-border-compensation': '(-1 * $cube-border-width)',\n '$cube-size': '((100% - 2 * $cube-border-width) / 2)',\n\n boxSizing: 'content-box',\n position: 'absolute',\n top: '$cube-border-compensation',\n left: '$cube-border-compensation',\n width: '$cube-size',\n height: '$cube-size',\n border: '$cube-border-width solid #clear',\n overflow: 'hidden',\n contain: 'size layout style paint',\n pointerEvents: 'none',\n userSelect: 'none',\n\n animationName: {\n '': 'none',\n 'position=top': 'cube-spin-top',\n 'position=right': 'cube-spin-right',\n 'position=bottom': 'cube-spin-bottom',\n },\n animationDuration: '2.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(0.5, 0.05, 0.3, 0.95)',\n animationPlayState: {\n '': 'running',\n '@media(prefers-reduced-motion)': 'paused',\n },\n\n '&::before': {\n '$cube-round-radius': '(4 / 100 * $cube-spin-size)',\n content: '\"\"',\n display: 'block',\n width: '100%',\n height: '100%',\n radius: '$cube-round-radius',\n fill: {\n 'position=top': '#7a77ff',\n 'position=right': '#727290',\n 'position=bottom': '#ff6492',\n },\n },\n\n '@keyframes': {\n 'cube-spin-top': {\n '0%': { transform: 'translate(0%, 0)' },\n '8%': { transform: 'translate(100%, 0)' },\n '17%': { transform: 'translate(100%, 0)' },\n '25%': { transform: 'translate(100%, 0)' },\n '33%': { transform: 'translate(100%, 100%)' },\n '42%': { transform: 'translate(100%, 100%)' },\n '50%': { transform: 'translate(100%, 100%)' },\n '58%': { transform: 'translate(0, 100%)' },\n '67%': { transform: 'translate(0, 100%)' },\n '75%': { transform: 'translate(0, 100%)' },\n '83%': { transform: 'translate(0, 0)' },\n '92%': { transform: 'translate(0, 0)' },\n '100%': { transform: 'translate(0, 0)' },\n },\n 'cube-spin-right': {\n '0%': { transform: 'translate(100%, 100%)' },\n '8%': { transform: 'translate(100%, 100%)' },\n '17%': { transform: 'translate(100%, 100%)' },\n '25%': { transform: 'translate(0, 100%)' },\n '33%': { transform: 'translate(0, 100%)' },\n '42%': { transform: 'translate(0, 100%)' },\n '50%': { transform: 'translate(0, 0)' },\n '58%': { transform: 'translate(0, 0)' },\n '67%': { transform: 'translate(0, 0)' },\n '75%': { transform: 'translate(100%, 0)' },\n '83%': { transform: 'translate(100%, 0)' },\n '92%': { transform: 'translate(100%, 0)' },\n '100%': { transform: 'translate(100%, 100%)' },\n },\n 'cube-spin-bottom': {\n '0%': { transform: 'translate(0, 100%)' },\n '8%': { transform: 'translate(0, 100%)' },\n '17%': { transform: 'translate(0, 0)' },\n '25%': { transform: 'translate(0, 0)' },\n '33%': { transform: 'translate(0, 0)' },\n '42%': { transform: 'translate(100%, 0)' },\n '50%': { transform: 'translate(100%, 0)' },\n '58%': { transform: 'translate(100%, 0)' },\n '67%': { transform: 'translate(100%, 100%)' },\n '75%': { transform: 'translate(100%, 100%)' },\n '83%': { transform: 'translate(100%, 100%)' },\n '92%': { transform: 'translate(0, 100%)' },\n '100%': { transform: 'translate(0, 100%)' },\n },\n },\n },\n});\n\nexport const Cube = memo(function Cube({ $position }: SpinCubeProps) {\n return <CubeElement mods={{ position: $position }} />;\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cube.js","names":["tasty","memo","SpinCubeProps","CubeElement","role","styles","boxSizing","position","top","left","width","height","border","overflow","contain","pointerEvents","userSelect","animationName","animationDuration","animationIterationCount","animationTimingFunction","animationPlayState","content","display","radius","fill","transform","Cube","t0","$","_c","$position","t1"],"sources":["../../../../src/components/status/Spin/Cube.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { SpinCubeProps } from './types';\n\nconst CubeElement = tasty({\n role: 'presentation',\n styles: {\n '$cube-border-width': '(4 / 100 * $cube-spin-size)',\n '$cube-border-compensation': '(-1 * $cube-border-width)',\n '$cube-size': '((100% - 2 * $cube-border-width) / 2)',\n\n boxSizing: 'content-box',\n position: 'absolute',\n top: '$cube-border-compensation',\n left: '$cube-border-compensation',\n width: '$cube-size',\n height: '$cube-size',\n border: '$cube-border-width solid #clear',\n overflow: 'hidden',\n contain: 'size layout style paint',\n pointerEvents: 'none',\n userSelect: 'none',\n\n animationName: {\n '': 'none',\n 'position=top': 'cube-spin-top',\n 'position=right': 'cube-spin-right',\n 'position=bottom': 'cube-spin-bottom',\n },\n animationDuration: '2.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(0.5, 0.05, 0.3, 0.95)',\n animationPlayState: {\n '': 'running',\n '@media(prefers-reduced-motion)': 'paused',\n },\n\n '&::before': {\n '$cube-round-radius': '(4 / 100 * $cube-spin-size)',\n content: '\"\"',\n display: 'block',\n width: '100%',\n height: '100%',\n radius: '$cube-round-radius',\n fill: {\n 'position=top': '#7a77ff',\n 'position=right': '#727290',\n 'position=bottom': '#ff6492',\n },\n },\n\n '@keyframes': {\n 'cube-spin-top': {\n '0%': { transform: 'translate(0%, 0)' },\n '8%': { transform: 'translate(100%, 0)' },\n '17%': { transform: 'translate(100%, 0)' },\n '25%': { transform: 'translate(100%, 0)' },\n '33%': { transform: 'translate(100%, 100%)' },\n '42%': { transform: 'translate(100%, 100%)' },\n '50%': { transform: 'translate(100%, 100%)' },\n '58%': { transform: 'translate(0, 100%)' },\n '67%': { transform: 'translate(0, 100%)' },\n '75%': { transform: 'translate(0, 100%)' },\n '83%': { transform: 'translate(0, 0)' },\n '92%': { transform: 'translate(0, 0)' },\n '100%': { transform: 'translate(0, 0)' },\n },\n 'cube-spin-right': {\n '0%': { transform: 'translate(100%, 100%)' },\n '8%': { transform: 'translate(100%, 100%)' },\n '17%': { transform: 'translate(100%, 100%)' },\n '25%': { transform: 'translate(0, 100%)' },\n '33%': { transform: 'translate(0, 100%)' },\n '42%': { transform: 'translate(0, 100%)' },\n '50%': { transform: 'translate(0, 0)' },\n '58%': { transform: 'translate(0, 0)' },\n '67%': { transform: 'translate(0, 0)' },\n '75%': { transform: 'translate(100%, 0)' },\n '83%': { transform: 'translate(100%, 0)' },\n '92%': { transform: 'translate(100%, 0)' },\n '100%': { transform: 'translate(100%, 100%)' },\n },\n 'cube-spin-bottom': {\n '0%': { transform: 'translate(0, 100%)' },\n '8%': { transform: 'translate(0, 100%)' },\n '17%': { transform: 'translate(0, 0)' },\n '25%': { transform: 'translate(0, 0)' },\n '33%': { transform: 'translate(0, 0)' },\n '42%': { transform: 'translate(100%, 0)' },\n '50%': { transform: 'translate(100%, 0)' },\n '58%': { transform: 'translate(100%, 0)' },\n '67%': { transform: 'translate(100%, 100%)' },\n '75%': { transform: 'translate(100%, 100%)' },\n '83%': { transform: 'translate(100%, 100%)' },\n '92%': { transform: 'translate(0, 100%)' },\n '100%': { transform: 'translate(0, 100%)' },\n },\n },\n },\n});\n\nexport const Cube = memo(function Cube({ $position }: SpinCubeProps) {\n return <CubeElement mods={{ position: $position }} />;\n});\n"],"mappings":";;;;;;;AAKA,MAAMG,cAAcH,MAAM;CACxBI,MAAM;CACNC,QAAQ;EACN,sBAAsB;EACtB,6BAA6B;EAC7B,cAAc;EAEdC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,YAAY;EAEZC,eAAe;GACb,IAAI;GACJ,gBAAgB;GAChB,kBAAkB;GAClB,mBAAmB;GACpB;EACDC,mBAAmB;EACnBC,yBAAyB;EACzBC,yBAAyB;EACzBC,oBAAoB;GAClB,IAAI;GACJ,kCAAkC;GACnC;EAED,aAAa;GACX,sBAAsB;GACtBC,SAAS;GACTC,SAAS;GACTb,OAAO;GACPC,QAAQ;GACRa,QAAQ;GACRC,MAAM;IACJ,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACrB;GACD;EAED,cAAc;GACZ,iBAAiB;IACf,MAAM,EAAEC,WAAW,oBAAoB;IACvC,MAAM,EAAEA,WAAW,sBAAsB;IACzC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,QAAQ,EAAEA,WAAW,mBAAkB;IACxC;GACD,mBAAmB;IACjB,MAAM,EAAEA,WAAW,yBAAyB;IAC5C,MAAM,EAAEA,WAAW,yBAAyB;IAC5C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,QAAQ,EAAEA,WAAW,yBAAwB;IAC9C;GACD,oBAAoB;IAClB,MAAM,EAAEA,WAAW,sBAAsB;IACzC,MAAM,EAAEA,WAAW,sBAAsB;IACzC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,QAAQ,EAAEA,WAAW,sBAAqB;IAC5C;GACF;EACF;CACD,CAAC;AAEF,MAAaC,OAAO1B,KAAK,SAAA0B,KAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAc,MAAA,EAAAC,cAAAH;CAA4B,IAAAI;AAAA,KAAAH,EAAA,OAAAE,WAAA;AAC1DC,OAAA,oBAAC,eAAkB,MAAA,EAAAzB,UAAYwB,WAAU,GAAK;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;AAAA,QAA9CG;EACP"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
|
|
2
2
|
import { Cube } from "./Cube.js";
|
|
3
3
|
import { SpinsContainer } from "./SpinsContainer.js";
|
|
4
|
+
import { c } from "react-compiler-runtime";
|
|
4
5
|
import { tasty } from "@tenphi/tasty";
|
|
5
6
|
import { memo } from "react";
|
|
6
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -11,15 +12,29 @@ const SpinsBox = tasty({ styles: {
|
|
|
11
12
|
blockSize: "100%"
|
|
12
13
|
} });
|
|
13
14
|
const InternalSpinner = memo(function InternalSpinner(props) {
|
|
15
|
+
const $ = c(4);
|
|
14
16
|
const { size } = props;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const t0 = CUBE_SIZE_MAP[size];
|
|
18
|
+
let t1;
|
|
19
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
20
|
+
t1 = /* @__PURE__ */ jsxs(SpinsBox, { children: [
|
|
18
21
|
/* @__PURE__ */ jsx(Cube, { $position: "top" }),
|
|
19
22
|
/* @__PURE__ */ jsx(Cube, { $position: "right" }),
|
|
20
23
|
/* @__PURE__ */ jsx(Cube, { $position: "bottom" })
|
|
21
|
-
] })
|
|
22
|
-
|
|
24
|
+
] });
|
|
25
|
+
$[0] = t1;
|
|
26
|
+
} else t1 = $[0];
|
|
27
|
+
let t2;
|
|
28
|
+
if ($[1] !== size || $[2] !== t0) {
|
|
29
|
+
t2 = /* @__PURE__ */ jsx(SpinsContainer, {
|
|
30
|
+
ownSize: t0,
|
|
31
|
+
children: t1
|
|
32
|
+
}, size);
|
|
33
|
+
$[1] = size;
|
|
34
|
+
$[2] = t0;
|
|
35
|
+
$[3] = t2;
|
|
36
|
+
} else t2 = $[3];
|
|
37
|
+
return t2;
|
|
23
38
|
});
|
|
24
39
|
const CUBE_SIZE_MAP = {
|
|
25
40
|
small: 24,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSpinner.js","names":[],"sources":["../../../../src/components/status/Spin/InternalSpinner.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { Cube } from './Cube';\nimport { SpinsContainer } from './SpinsContainer';\nimport { InternalSpinnerProps, SpinSize } from './types';\n\nconst SpinsBox = tasty({ styles: { position: 'relative', blockSize: '100%' } });\n\nexport const InternalSpinner = memo(function InternalSpinner(\n props: InternalSpinnerProps,\n) {\n const { size } = props;\n\n return (\n // Even though using size as a key resets the animation, it helps safari to resize the cubes.\n <SpinsContainer key={size} ownSize={CUBE_SIZE_MAP[size]}>\n <SpinsBox>\n <Cube $position=\"top\" />\n <Cube $position=\"right\" />\n <Cube $position=\"bottom\" />\n </SpinsBox>\n </SpinsContainer>\n );\n});\n\nconst CUBE_SIZE_MAP: Record<SpinSize, number> = {\n small: 24,\n default: 32,\n large: 48,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InternalSpinner.js","names":["tasty","memo","Cube","SpinsContainer","InternalSpinnerProps","SpinSize","SpinsBox","styles","position","blockSize","InternalSpinner","props","$","_c","size","t0","CUBE_SIZE_MAP","t1","Symbol","for","t2","Record","small","default","large"],"sources":["../../../../src/components/status/Spin/InternalSpinner.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { Cube } from './Cube';\nimport { SpinsContainer } from './SpinsContainer';\nimport { InternalSpinnerProps, SpinSize } from './types';\n\nconst SpinsBox = tasty({ styles: { position: 'relative', blockSize: '100%' } });\n\nexport const InternalSpinner = memo(function InternalSpinner(\n props: InternalSpinnerProps,\n) {\n const { size } = props;\n\n return (\n // Even though using size as a key resets the animation, it helps safari to resize the cubes.\n <SpinsContainer key={size} ownSize={CUBE_SIZE_MAP[size]}>\n <SpinsBox>\n <Cube $position=\"top\" />\n <Cube $position=\"right\" />\n <Cube $position=\"bottom\" />\n </SpinsBox>\n </SpinsContainer>\n );\n});\n\nconst CUBE_SIZE_MAP: Record<SpinSize, number> = {\n small: 24,\n default: 32,\n large: 48,\n};\n"],"mappings":";;;;;;;;;AAOA,MAAMM,WAAWN,MAAM,EAAEO,QAAQ;CAAEC,UAAU;CAAYC,WAAW;CAAO,EAAG,CAAC;AAE/E,MAAaC,kBAAkBT,KAAK,SAAAS,gBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAGlC,MAAA,EAAAC,SAAiBH;CAIqB,MAAAI,KAAAC,cAAcF;CAAK,IAAAG;AAAA,KAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,EAAA;AACrDF,OAAA,qBAAC;GACC,oBAAC,QAAe,WAAA,QAChB;uBAAC,QAAe,WAAA,UAChB;uBAAC,QAAe,WAAA,WAClB;MAAW;AAAAL,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,OAAAE,QAAAF,EAAA,OAAAG,IAAA;AALbK,OAAA,oBAAC;GAAmC,SAAAL;aAClCE;KADmBH,KAMJ;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;AAAA,QANjBQ;EAQF;AAEF,MAAMJ,gBAA0C;CAC9CM,OAAO;CACPC,SAAS;CACTC,OAAO;CACR"}
|