@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,54 +1,56 @@
|
|
|
1
1
|
# Form
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Form provides field binding, validation, submission, and shared layout. UI Kit ships **two implementations behind the same component**:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
| Implementation | How to select it | When to use it |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| **Modern (recommended)** | `const form = Form.useController<Model>()`, then `<Form form={form}>` | New forms and incremental migrations; typed models, narrow subscriptions, cancellable validation/submission, and React Compiler verification |
|
|
8
|
+
| Legacy | `Form.useForm()` or a root without a modern controller | Existing forms that have not been migrated |
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
All examples on this page use the modern API. Existing legacy forms continue to work. [FormInstance (legacy)](./FormInstance.md) and [Field (legacy)](./Field.md) document compatibility APIs. Follow the [migration checklist](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) when converting a form; changing the creation hook alone is not sufficient.
|
|
11
|
+
|
|
12
|
+
## Component
|
|
13
|
+
|
|
14
|
+
## Start here
|
|
8
15
|
|
|
9
16
|
```tsx
|
|
10
|
-
|
|
17
|
+
import { Form, TextInput } from '@cube-dev/ui-kit';
|
|
18
|
+
|
|
19
|
+
function EmailForm({ initialEmail, save }) {
|
|
11
20
|
const form = Form.useController<{ email: string | null }>({
|
|
12
|
-
defaultValues: { email:
|
|
21
|
+
defaultValues: { email: initialEmail },
|
|
13
22
|
});
|
|
14
|
-
|
|
15
23
|
return (
|
|
16
24
|
<Form form={form} onSubmit={(values, { signal }) => save(values, signal)}>
|
|
17
|
-
<TextInput name="email" label="Email" isRequired />
|
|
25
|
+
<TextInput name="email" label="Email" isRequired rules={[{ type: 'email' }]} />
|
|
18
26
|
<Form.SubmitError />
|
|
19
27
|
<Form.Submit>Save</Form.Submit>
|
|
28
|
+
<Form.Reset>Reset</Form.Reset>
|
|
20
29
|
</Form>
|
|
21
30
|
);
|
|
22
31
|
}
|
|
23
32
|
```
|
|
24
33
|
|
|
25
|
-
`name`
|
|
26
|
-
|
|
27
|
-
`Form.useForm()` and roots without a modern controller keep the legacy backend. Existing forms need no API changes when upgrading. Use the [migration checklist](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) before converting one; `DialogForm` and `Form.Item` still require legacy forms.
|
|
34
|
+
Use `name` for ordinary bindings, including `name={['user', 'email']}` for nested data. Use an optional `field={form.field(path, options)}` descriptor for model-checked paths and inferred validator types. Modern strings are literal keys; dotted strings do not select nested data.
|
|
28
35
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## When to Use
|
|
32
|
-
|
|
33
|
-
- When collecting user information or input data
|
|
34
|
-
- When you need structured validation and error handling
|
|
35
|
-
- When building login forms, registration forms, or data entry interfaces
|
|
36
|
-
- When you need programmatic control over form state and submission
|
|
37
|
-
|
|
38
|
-
## Component
|
|
36
|
+
The [Modern Form guide](./ModernForm.md) is the implementation reference. It covers [API choices](./ModernForm.md#pick-one-binding-and-one-owner-for-each-concern), [reactive reads](./ModernForm.md#read-a-value-show-status-or-reveal-a-section), [server defaults](./ModernForm.md#load-server-data-refresh-defaults-or-discard-edits), [validation](./ModernForm.md#validate-simple-rules-sibling-fields-or-an-api-response), [conditional fields](./ModernForm.md#hide-fields-use-nested-data-or-build-a-wizard), [submission](./ModernForm.md#submit-display-server-errors-and-reset), and [custom controls](./ModernForm.md#implement-a-reusable-custom-control).
|
|
39
37
|
|
|
40
38
|
## Properties
|
|
41
39
|
|
|
42
40
|
### Form-specific Properties
|
|
43
41
|
|
|
44
|
-
- **`
|
|
45
|
-
- **`
|
|
46
|
-
- **`
|
|
47
|
-
- **`
|
|
48
|
-
- **`
|
|
49
|
-
- **`
|
|
50
|
-
- **`
|
|
51
|
-
- **`
|
|
42
|
+
- **`form`** `FormController<T> | CubeFormInstance<T>` — Controller created by `Form.useController()` (recommended), or a legacy instance. Omitting it selects legacy behavior.
|
|
43
|
+
- **`name`** `string` — Form name and prefix for generated field ids
|
|
44
|
+
- **`onSubmit`** `(values: FormValues<T>, context: ModernSubmitContext) => void | Promise<void>` — Modern save callback after successful validation; context includes an `AbortSignal`
|
|
45
|
+
- **`onSubmitFailed`** `(failure: ModernSubmitFailure) => void | Promise<void>` — Modern failure callback; inspect `status` for `'invalid'` or `'failed'`
|
|
46
|
+
- **`onValuesChange`** `(values: FormValues<T>, change: FormChange) => void | Promise<void>` — Modern change callback with source, kind, and affected names
|
|
47
|
+
- **`submitValues`** `'active' | 'all'` (default: `'active'`) — Modern native submission payload. Both modes validate active fields only.
|
|
48
|
+
- **`onReset`** `(event: FormEvent<HTMLFormElement>) => void` — Modern native reset interception; `preventDefault()` cancels the reset
|
|
49
|
+
- **`defaultValues`** `Partial<T>` — Legacy only. Modern defaults belong in the controller creation options; use explicit commands for later data.
|
|
50
|
+
- **`labelWidth`** `Styles['width']` — Label-area width with side-positioned labels
|
|
51
|
+
- **`orientation`** `'vertical' | 'horizontal'` (default: `'vertical'`) — Form layout
|
|
52
|
+
|
|
53
|
+
Root callbacks override controller callbacks; omitted callbacks fall back to the latest committed hook callbacks. Keep each callback in one place. Values passed to modern callbacks are readonly and potentially incomplete; map them to your API request type where necessary.
|
|
52
54
|
|
|
53
55
|
### Inherited Form Properties
|
|
54
56
|
|
|
@@ -104,580 +106,59 @@ The `mods` property accepts the following modifiers:
|
|
|
104
106
|
- **`has-split`** `boolean` — Applied when `labelPosition="split"`
|
|
105
107
|
- **`horizontal`** `boolean` — Applied when `orientation="horizontal"`
|
|
106
108
|
|
|
107
|
-
## Static Methods
|
|
108
|
-
|
|
109
|
-
### Form.useForm
|
|
110
|
-
|
|
111
|
-
```jsx
|
|
112
|
-
const [form] = Form.useForm();
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Creates a form instance for programmatic control. See [FormInstance documentation](./FormInstance.md) for detailed API.
|
|
116
|
-
|
|
117
|
-
You can also pass options:
|
|
118
|
-
|
|
119
|
-
```jsx
|
|
120
|
-
const [form] = Form.useForm(undefined, undefined, {
|
|
121
|
-
onSubmit: async (data) => {
|
|
122
|
-
await apiCall(data);
|
|
123
|
-
},
|
|
124
|
-
onValuesChange: (data) => {
|
|
125
|
-
console.log('Changed:', data);
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Form.Submit (SubmitButton)
|
|
131
|
-
|
|
132
|
-
```jsx
|
|
133
|
-
<Form.Submit>Submit</Form.Submit>
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Specialized button that automatically handles form submission and loading states. When `onSubmit` returns a promise, the button shows a loading spinner until the promise resolves.
|
|
137
|
-
|
|
138
|
-
### Form.Reset (ResetButton)
|
|
139
|
-
|
|
140
|
-
```jsx
|
|
141
|
-
<Form.Reset>Reset</Form.Reset>
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Button that resets all form fields to their initial values.
|
|
145
|
-
|
|
146
|
-
### Form.SubmitError
|
|
147
|
-
|
|
148
|
-
```jsx
|
|
149
|
-
<Form.SubmitError />
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
Component that displays submission errors returned from the `onSubmit` handler.
|
|
153
|
-
|
|
154
|
-
### Form.Item (Field) - Deprecated
|
|
155
|
-
|
|
156
|
-
```jsx
|
|
157
|
-
<Form.Item name="email" label="Email">
|
|
158
|
-
<Input.Text />
|
|
159
|
-
</Form.Item>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
**Deprecated**: The Field wrapper is not recommended for regular use. Input components now have built-in field support, so you can pass field properties directly to them.
|
|
163
|
-
|
|
164
|
-
The Field component should only be used when wrapping read-only content or custom components without built-in field support.
|
|
165
|
-
|
|
166
|
-
## Built-in Field Support
|
|
167
|
-
|
|
168
|
-
**All input components have built-in field support**, meaning you can pass field properties directly to them without needing a wrapper:
|
|
169
|
-
|
|
170
|
-
```jsx
|
|
171
|
-
// Recommended — direct field properties
|
|
172
|
-
<Input.Text
|
|
173
|
-
name="email"
|
|
174
|
-
label="Email"
|
|
175
|
-
rules={[{ required: true, type: 'email' }]}
|
|
176
|
-
placeholder="Enter your email"
|
|
177
|
-
/>
|
|
178
|
-
|
|
179
|
-
// Deprecated — Field wrapper (still works but not recommended)
|
|
180
|
-
<Field name="email" label="Email" rules={[{ required: true, type: 'email' }]}>
|
|
181
|
-
<Input.Text placeholder="Enter your email" />
|
|
182
|
-
</Field>
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### Field Properties for Input Components
|
|
186
|
-
|
|
187
|
-
All input components within a Form accept these field-related properties:
|
|
188
|
-
|
|
189
|
-
- **`name`** `string` — Field name for form data. Supports dot notation for nested objects (e.g. `"user.email"`)
|
|
190
|
-
- **`label`** `ReactNode` — Field label text
|
|
191
|
-
- **`description`** `ReactNode` — Help text displayed below the field
|
|
192
|
-
- **`errorMessage`** `ReactNode` — Error message displayed when validation fails
|
|
193
|
-
- **`rules`** `ValidationRule[]` — Validation rules array (see [Validation Rules](#validation-rules))
|
|
194
|
-
- **`isRequired`** `boolean` — Whether the field is required. Marks the label, unlike a bare `required` rule — see [Necessity Indicators](../../FieldProperties.md#necessity-indicators)
|
|
195
|
-
- **`isOptional`** `boolean` — Marks the label with an `(optional)` note. Presentational only
|
|
196
|
-
- **`extra`** `ReactNode` — Additional content displayed next to the label
|
|
197
|
-
- **`tooltip`** `ReactNode` — Tooltip content for the field label
|
|
198
|
-
- **`labelSuffix`** `ReactNode` — Content appended after the label
|
|
199
|
-
- **`isHidden`** `boolean` — Hides the field
|
|
200
|
-
- **`validateTrigger`** `'onBlur' | 'onChange' | 'onSubmit'` — When to validate (overrides form-level setting)
|
|
201
|
-
|
|
202
|
-
## Validation Rules
|
|
203
|
-
|
|
204
|
-
The form uses an async rule-based validation system. Each rule is an object with one or more validators:
|
|
205
|
-
|
|
206
|
-
### Built-in Validators
|
|
207
|
-
|
|
208
|
-
- **`required`** `boolean` — Field must have a non-empty value
|
|
209
|
-
- **`type`** `string` — Validates data type: `'string'`, `'number'`, `'boolean'`, `'email'`, `'url'`, `'integer'`, `'array'`, `'object'`, `'date'`, `'hex'`, `'regexp'`
|
|
210
|
-
- **`pattern`** `RegExp` — Value must match the regex pattern
|
|
211
|
-
- **`min`** `number` — Minimum length (for strings/arrays) or minimum value (for numbers)
|
|
212
|
-
- **`max`** `number` — Maximum length (for strings/arrays) or maximum value (for numbers)
|
|
213
|
-
- **`len`** `number` — Exact length (for strings/arrays) or exact value (for numbers)
|
|
214
|
-
- **`enum`** `any[]` — Value must be one of the allowed values
|
|
215
|
-
- **`whitespace`** `boolean` — String must not be only whitespace
|
|
216
|
-
- **`validator`** `(rule, value) => Promise<void>` — Custom async validation function. Throw an `Error` to fail validation
|
|
217
|
-
- **`transform`** `(value) => value` — Transform the value before validation
|
|
218
|
-
- **`message`** `string` — Error message displayed when the rule fails
|
|
219
|
-
|
|
220
|
-
### Rules Example
|
|
221
|
-
|
|
222
|
-
```jsx
|
|
223
|
-
<Input.Text
|
|
224
|
-
name="email"
|
|
225
|
-
label="Email"
|
|
226
|
-
rules={[
|
|
227
|
-
{ required: true, message: 'Email is required' },
|
|
228
|
-
{ type: 'email', message: 'Please enter a valid email' },
|
|
229
|
-
]}
|
|
230
|
-
/>
|
|
231
|
-
|
|
232
|
-
<Input.Text
|
|
233
|
-
name="username"
|
|
234
|
-
label="Username"
|
|
235
|
-
rules={[
|
|
236
|
-
{ required: true, message: 'Username is required' },
|
|
237
|
-
{ min: 3, message: 'Must be at least 3 characters' },
|
|
238
|
-
{ max: 20, message: 'Must be at most 20 characters' },
|
|
239
|
-
{ pattern: /^[a-zA-Z0-9_]+$/, message: 'Only letters, numbers, and underscores' },
|
|
240
|
-
]}
|
|
241
|
-
/>
|
|
242
|
-
|
|
243
|
-
<Input.Text
|
|
244
|
-
name="invite"
|
|
245
|
-
label="Invite Code"
|
|
246
|
-
rules={[
|
|
247
|
-
{
|
|
248
|
-
async validator(rule, value) {
|
|
249
|
-
const isValid = await checkInviteCode(value);
|
|
250
|
-
if (!isValid) {
|
|
251
|
-
throw new Error('Invalid invite code');
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
|
-
},
|
|
255
|
-
]}
|
|
256
|
-
/>
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
Rules can also be functions that receive the form instance, useful for cross-field validation:
|
|
260
|
-
|
|
261
|
-
```jsx
|
|
262
|
-
<Input.Password
|
|
263
|
-
name="confirmPassword"
|
|
264
|
-
label="Confirm Password"
|
|
265
|
-
rules={[
|
|
266
|
-
(form) => ({
|
|
267
|
-
async validator(rule, value) {
|
|
268
|
-
if (value !== form.getFieldValue('password')) {
|
|
269
|
-
throw new Error('Passwords do not match');
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
}),
|
|
273
|
-
]}
|
|
274
|
-
/>
|
|
275
|
-
```
|
|
276
|
-
|
|
277
109
|
## Examples
|
|
278
110
|
|
|
279
|
-
###
|
|
280
|
-
|
|
281
|
-
```jsx
|
|
282
|
-
import { Form, Input, SubmitButton } from '@cube-dev/ui-kit';
|
|
283
|
-
|
|
284
|
-
function BasicForm() {
|
|
285
|
-
function handleSubmit(data) {
|
|
286
|
-
console.log('Submitted:', data);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
return (
|
|
290
|
-
<Form onSubmit={handleSubmit}>
|
|
291
|
-
<Input.Text
|
|
292
|
-
name="email"
|
|
293
|
-
label="Email"
|
|
294
|
-
type="email"
|
|
295
|
-
rules={[
|
|
296
|
-
{ required: true, message: 'Email is required' },
|
|
297
|
-
{ type: 'email', message: 'Please enter a valid email' },
|
|
298
|
-
]}
|
|
299
|
-
placeholder="Enter your email"
|
|
300
|
-
/>
|
|
301
|
-
|
|
302
|
-
<Input.Password
|
|
303
|
-
name="password"
|
|
304
|
-
label="Password"
|
|
305
|
-
rules={[
|
|
306
|
-
{ required: true, message: 'Password is required' },
|
|
307
|
-
{ min: 6, message: 'Password must be at least 6 characters' },
|
|
308
|
-
]}
|
|
309
|
-
placeholder="Enter your password"
|
|
310
|
-
/>
|
|
311
|
-
|
|
312
|
-
<Form.SubmitError />
|
|
313
|
-
<SubmitButton>Submit</SubmitButton>
|
|
314
|
-
</Form>
|
|
315
|
-
);
|
|
316
|
-
}
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### Login Form
|
|
320
|
-
|
|
321
|
-
An example with async submission that shows loading state:
|
|
322
|
-
|
|
323
|
-
```jsx
|
|
324
|
-
import { Form, Field, SubmitButton, Input, SubmitError } from '@cube-dev/ui-kit';
|
|
325
|
-
|
|
326
|
-
export function LoginForm() {
|
|
327
|
-
async function onSubmit(data) {
|
|
328
|
-
await Auth.login(data); // { email, password }
|
|
329
|
-
}
|
|
111
|
+
### Layout
|
|
330
112
|
|
|
113
|
+
```tsx
|
|
114
|
+
function SearchForm() {
|
|
115
|
+
const form = Form.useController({ defaultValues: { query: '' } });
|
|
331
116
|
return (
|
|
332
|
-
<Form
|
|
333
|
-
<
|
|
334
|
-
|
|
335
|
-
label="Email"
|
|
336
|
-
description="Your email"
|
|
337
|
-
type="email"
|
|
338
|
-
autoFocus
|
|
339
|
-
rules={[
|
|
340
|
-
{ required: true, message: 'E-mail required' },
|
|
341
|
-
{ type: 'email', message: 'Please enter a valid e-mail' },
|
|
342
|
-
]}
|
|
343
|
-
/>
|
|
344
|
-
|
|
345
|
-
<Input.Password
|
|
346
|
-
name="password"
|
|
347
|
-
label="Password"
|
|
348
|
-
rules={[{ required: true, message: 'Password required' }]}
|
|
349
|
-
/>
|
|
350
|
-
|
|
351
|
-
<Form.SubmitError />
|
|
352
|
-
<SubmitButton>Submit</SubmitButton>
|
|
117
|
+
<Form form={form} orientation="horizontal" labelPosition="side">
|
|
118
|
+
<TextInput name="query" label="Query" />
|
|
119
|
+
<Form.Submit>Search</Form.Submit>
|
|
353
120
|
</Form>
|
|
354
121
|
);
|
|
355
122
|
}
|
|
356
123
|
```
|
|
357
124
|
|
|
358
|
-
###
|
|
359
|
-
|
|
360
|
-
```jsx
|
|
361
|
-
<Form orientation="horizontal" labelPosition="side">
|
|
362
|
-
<Input.Text
|
|
363
|
-
name="email"
|
|
364
|
-
label="Email"
|
|
365
|
-
type="email"
|
|
366
|
-
size="small"
|
|
367
|
-
rules={[{ required: true, type: 'email' }]}
|
|
368
|
-
placeholder="Enter your email"
|
|
369
|
-
/>
|
|
370
|
-
<Input.Password
|
|
371
|
-
name="password"
|
|
372
|
-
label="Password"
|
|
373
|
-
size="small"
|
|
374
|
-
rules={[{ required: true }]}
|
|
375
|
-
placeholder="Enter your password"
|
|
376
|
-
/>
|
|
377
|
-
<SubmitButton size="small">Submit</SubmitButton>
|
|
378
|
-
</Form>
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
### With Default Values
|
|
382
|
-
|
|
383
|
-
```jsx
|
|
384
|
-
<Form
|
|
385
|
-
defaultValues={{
|
|
386
|
-
email: 'user@example.com',
|
|
387
|
-
name: 'John Doe',
|
|
388
|
-
}}
|
|
389
|
-
onSubmit={handleSubmit}
|
|
390
|
-
>
|
|
391
|
-
<Input.Text name="email" label="Email" type="email" />
|
|
392
|
-
<Input.Text name="name" label="Name" />
|
|
393
|
-
<SubmitButton>Submit</SubmitButton>
|
|
394
|
-
</Form>
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
### Form with Validation
|
|
398
|
-
|
|
399
|
-
### Complex Form with Different Input Types
|
|
400
|
-
|
|
401
|
-
```jsx
|
|
402
|
-
<Form onSubmit={handleSubmit}>
|
|
403
|
-
<Input.Text
|
|
404
|
-
name="username"
|
|
405
|
-
label="Username"
|
|
406
|
-
rules={[{ required: true, min: 3 }]}
|
|
407
|
-
placeholder="Enter username"
|
|
408
|
-
/>
|
|
409
|
-
|
|
410
|
-
<Input.Password
|
|
411
|
-
name="password"
|
|
412
|
-
label="Password"
|
|
413
|
-
rules={[{ required: true, min: 8 }]}
|
|
414
|
-
/>
|
|
415
|
-
|
|
416
|
-
<Select
|
|
417
|
-
name="country"
|
|
418
|
-
label="Country"
|
|
419
|
-
rules={[{ required: true }]}
|
|
420
|
-
options={[
|
|
421
|
-
{ value: 'us', label: 'United States' },
|
|
422
|
-
{ value: 'uk', label: 'United Kingdom' },
|
|
423
|
-
{ value: 'ca', label: 'Canada' },
|
|
424
|
-
]}
|
|
425
|
-
/>
|
|
426
|
-
|
|
427
|
-
<Checkbox
|
|
428
|
-
name="agree"
|
|
429
|
-
label="I agree to the terms and conditions"
|
|
430
|
-
rules={[{ required: true, message: 'You must agree to continue' }]}
|
|
431
|
-
/>
|
|
432
|
-
|
|
433
|
-
<SubmitButton>Register</SubmitButton>
|
|
434
|
-
</Form>
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### Nested Field Names
|
|
438
|
-
|
|
439
|
-
Use dot notation in field names to create nested data structures:
|
|
440
|
-
|
|
441
|
-
```jsx
|
|
442
|
-
<Form onSubmit={(data) => console.log(data)}>
|
|
443
|
-
<Input.Text name="user.firstName" label="First Name" />
|
|
444
|
-
<Input.Text name="user.lastName" label="Last Name" />
|
|
445
|
-
<Input.Text name="user.address.city" label="City" />
|
|
446
|
-
|
|
447
|
-
{/* Submits: { user: { firstName: '...', lastName: '...', address: { city: '...' } } } */}
|
|
448
|
-
<SubmitButton>Submit</SubmitButton>
|
|
449
|
-
</Form>
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
### Programmatic Form Control
|
|
453
|
-
|
|
454
|
-
```jsx
|
|
455
|
-
function ControlledForm() {
|
|
456
|
-
const [form] = Form.useForm();
|
|
125
|
+
### Defaults and reset
|
|
457
126
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
const handleFillDemo = () => {
|
|
463
|
-
form.setFieldsValue({
|
|
464
|
-
email: 'demo@example.com',
|
|
465
|
-
name: 'Demo User',
|
|
466
|
-
});
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
return (
|
|
470
|
-
<Form form={form} onSubmit={handleSubmit}>
|
|
471
|
-
<Input.Text name="email" label="Email" type="email" />
|
|
472
|
-
<Input.Text name="name" label="Name" />
|
|
473
|
-
|
|
474
|
-
<Space>
|
|
475
|
-
<SubmitButton>Submit</SubmitButton>
|
|
476
|
-
<Button onPress={handleReset}>Reset</Button>
|
|
477
|
-
<Button onPress={handleFillDemo}>Fill Demo Data</Button>
|
|
478
|
-
</Space>
|
|
479
|
-
</Form>
|
|
480
|
-
);
|
|
481
|
-
}
|
|
127
|
+
```tsx
|
|
128
|
+
const form = Form.useController({ defaultValues: { email: 'user@example.com' } });
|
|
129
|
+
// In an event handler, begin a new editing session with fetched values:
|
|
130
|
+
form.reset({ values: { email: fetchedEmail } });
|
|
482
131
|
```
|
|
483
132
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
The Field component should **only** be used when wrapping read-only content or custom components that don't have built-in field support:
|
|
487
|
-
|
|
488
|
-
```jsx
|
|
489
|
-
<Form onSubmit={handleSubmit}>
|
|
490
|
-
{/* Regular inputs — use built-in field support */}
|
|
491
|
-
<Input.Text name="name" label="Name" rules={[{ required: true }]} />
|
|
133
|
+
Defaults initialize once. `adoptDefaultValues` can apply later API data while retaining user edits; `reset({ values })` replaces the baseline and current values. See the modern guide before choosing between them.
|
|
492
134
|
|
|
493
|
-
|
|
494
|
-
<Field name="readonly" label="Read-only Information">
|
|
495
|
-
<div>This is some read-only content that should look like a field</div>
|
|
496
|
-
</Field>
|
|
135
|
+
### Validation and save errors
|
|
497
136
|
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
137
|
+
```tsx
|
|
138
|
+
<Form form={form} onSubmit={save}>
|
|
139
|
+
<TextInput name="email" label="Email" isRequired />
|
|
140
|
+
<Form.SubmitError />
|
|
141
|
+
<Form.Submit>Save</Form.Submit>
|
|
502
142
|
</Form>
|
|
503
143
|
```
|
|
504
144
|
|
|
505
|
-
|
|
145
|
+
A thrown/rejected save error appears through `Form.SubmitError`. Validation errors appear on their fields. Modern Submit remains enabled after validation errors by default; pass `disableOnInvalid` to opt into disabling it. Double submission is guarded while work is pending.
|
|
506
146
|
|
|
507
|
-
|
|
147
|
+
### Dialog forms
|
|
508
148
|
|
|
509
|
-
|
|
510
|
-
import {
|
|
511
|
-
DialogForm,
|
|
512
|
-
Field,
|
|
513
|
-
Paragraph,
|
|
514
|
-
Input,
|
|
515
|
-
Text,
|
|
516
|
-
} from '@cube-dev/ui-kit';
|
|
149
|
+
[DialogForm](../overlays/DialogForm.md) accepts the same modern controller and handles closing after success. It also supports existing legacy callers.
|
|
517
150
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
onDismiss={onDismiss}
|
|
524
|
-
submitProps={{
|
|
525
|
-
label: 'Delete',
|
|
526
|
-
theme: 'danger',
|
|
527
|
-
}}
|
|
528
|
-
cancelProps={{
|
|
529
|
-
label: 'I changed my mind',
|
|
530
|
-
}}
|
|
531
|
-
>
|
|
532
|
-
<Paragraph>
|
|
533
|
-
To delete the instance, please enter its full name:{' '}
|
|
534
|
-
<Text.Strong>{name}</Text.Strong>
|
|
535
|
-
</Paragraph>
|
|
536
|
-
|
|
537
|
-
<Input.Text
|
|
538
|
-
name="name"
|
|
539
|
-
rules={[
|
|
540
|
-
{ required: true, message: 'This field is required' },
|
|
541
|
-
{
|
|
542
|
-
async validator(rule, value) {
|
|
543
|
-
if (value !== name) {
|
|
544
|
-
throw new Error('Incorrect name');
|
|
545
|
-
}
|
|
546
|
-
},
|
|
547
|
-
},
|
|
548
|
-
]}
|
|
549
|
-
placeholder="Enter the name of the instance"
|
|
550
|
-
/>
|
|
551
|
-
</DialogForm>
|
|
552
|
-
);
|
|
553
|
-
}
|
|
151
|
+
```tsx
|
|
152
|
+
<DialogForm form={form} title="Edit profile" onSubmit={save}>
|
|
153
|
+
<TextInput name="email" label="Email" />
|
|
154
|
+
<Form.SubmitError />
|
|
155
|
+
</DialogForm>
|
|
554
156
|
```
|
|
555
157
|
|
|
556
|
-
##
|
|
158
|
+
## React Compiler
|
|
557
159
|
|
|
558
|
-
|
|
559
|
-
- `onSubmitFailed` instead of `onFailed`
|
|
560
|
-
- `defaultValues` instead of `initialValues`
|
|
561
|
-
- `onSubmit` can return a promise — the form and submit button show loading state until the promise resolves
|
|
562
|
-
- Arrays inside form data are not supported
|
|
563
|
-
- `preserve` is supported by modern controllers; it remains unimplemented in the legacy backend
|
|
564
|
-
- The `Field` component is a virtual wrapper (does not render a DOM element)
|
|
565
|
-
- Nested properties are handled via field names with `.` dot notation
|
|
566
|
-
- Does not support `validating` state (but validation rules can be async)
|
|
160
|
+
The modern controller, subscriptions, input binding, and dialog workflows are tested with React Compiler on React 18 and 19. The published library remains uncompiled. Consumer render code must use `Form.useValue`, `Form.useFieldState`, or selectors to subscribe; imperative getters do not subscribe. This does not make legacy mutable instance reads Compiler-safe.
|
|
567
161
|
|
|
568
162
|
## Accessibility
|
|
569
163
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
- `Tab` - Moves focus through form fields in sequence
|
|
573
|
-
- `Shift + Tab` - Moves focus backwards through form fields
|
|
574
|
-
- `Enter` - Submits the form when focus is on a submit button
|
|
575
|
-
- Form fields inherit their specific keyboard navigation patterns
|
|
576
|
-
|
|
577
|
-
### Screen Reader Support
|
|
578
|
-
|
|
579
|
-
- Form is announced as "form" to screen readers
|
|
580
|
-
- Field labels are properly associated with their inputs
|
|
581
|
-
- Validation errors are announced when they appear
|
|
582
|
-
- Required fields are indicated to screen readers
|
|
583
|
-
- Form submission status is communicated
|
|
584
|
-
|
|
585
|
-
### ARIA Properties
|
|
586
|
-
|
|
587
|
-
- Form uses proper semantic HTML (`<form>` element)
|
|
588
|
-
- Fields are associated with labels via `htmlFor` and `id` attributes
|
|
589
|
-
- Validation errors use `aria-describedby` to associate with fields
|
|
590
|
-
- Required fields use `aria-required` attribute
|
|
591
|
-
- Form submission state is indicated via loading states
|
|
592
|
-
|
|
593
|
-
## Best Practices
|
|
594
|
-
|
|
595
|
-
1. **Use direct field properties**: Pass field properties directly to input components instead of using Field wrapper
|
|
596
|
-
|
|
597
|
-
```jsx
|
|
598
|
-
// Recommended
|
|
599
|
-
<Input.Text name="email" label="Email" type="email" rules={[{ required: true }]} />
|
|
600
|
-
|
|
601
|
-
// Deprecated
|
|
602
|
-
<Field name="email" label="Email" rules={[{ required: true }]}>
|
|
603
|
-
<Input.Text type="email" />
|
|
604
|
-
</Field>
|
|
605
|
-
```
|
|
606
|
-
|
|
607
|
-
2. **Provide clear labels**: Always include descriptive labels for form fields
|
|
608
|
-
|
|
609
|
-
```jsx
|
|
610
|
-
<Input.Text name="email" label="Email Address" type="email" />
|
|
611
|
-
```
|
|
612
|
-
|
|
613
|
-
3. **Use appropriate validation**: Combine built-in validators for common cases and custom validators for complex logic
|
|
614
|
-
|
|
615
|
-
```jsx
|
|
616
|
-
<Input.Text
|
|
617
|
-
name="email"
|
|
618
|
-
label="Email"
|
|
619
|
-
type="email"
|
|
620
|
-
rules={[
|
|
621
|
-
{ required: true, message: 'Email is required' },
|
|
622
|
-
{ type: 'email', message: 'Please enter a valid email' },
|
|
623
|
-
]}
|
|
624
|
-
/>
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
4. **Handle errors gracefully**: Always provide feedback for validation and submission errors
|
|
628
|
-
|
|
629
|
-
```jsx
|
|
630
|
-
<Form onSubmit={handleSubmit} onSubmitFailed={handleError}>
|
|
631
|
-
{/* fields */}
|
|
632
|
-
<Form.SubmitError />
|
|
633
|
-
</Form>
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
5. **Use proper field types**: Choose appropriate input types for better UX and validation
|
|
637
|
-
|
|
638
|
-
```jsx
|
|
639
|
-
<Input.Text type="email" /> {/* for email addresses */}
|
|
640
|
-
<Input.Password /> {/* for passwords */}
|
|
641
|
-
<Input.Number /> {/* for numeric input */}
|
|
642
|
-
```
|
|
643
|
-
|
|
644
|
-
6. **Group related fields**: Use logical grouping and layout for complex forms
|
|
645
|
-
```jsx
|
|
646
|
-
<Form orientation="horizontal"> {/* for compact forms */}
|
|
647
|
-
<Form labelPosition="side"> {/* for wide layouts */}
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
## Integration with Input Components
|
|
651
|
-
|
|
652
|
-
All input components automatically register with the parent Form and inherit form-level properties:
|
|
653
|
-
|
|
654
|
-
- Validation triggers (`validateTrigger`)
|
|
655
|
-
- Label positioning (`labelPosition`)
|
|
656
|
-
- Required indicators (`requiredMark`)
|
|
657
|
-
- Read-only state (`isReadOnly`)
|
|
658
|
-
- Disabled state (`isDisabled`)
|
|
659
|
-
|
|
660
|
-
Field properties can be passed directly to any input component:
|
|
661
|
-
|
|
662
|
-
```jsx
|
|
663
|
-
<Form>
|
|
664
|
-
<Input.Text name="text" label="Text Input" />
|
|
665
|
-
<Input.Password name="password" label="Password" />
|
|
666
|
-
<Select name="select" label="Select" options={[]} />
|
|
667
|
-
<Checkbox name="checkbox" label="Checkbox" />
|
|
668
|
-
<RadioGroup name="radio" label="Radio Group" options={[]} />
|
|
669
|
-
<DatePicker name="date" label="Date Picker" />
|
|
670
|
-
<Slider name="slider" label="Slider" />
|
|
671
|
-
<Switch name="switch" label="Switch" />
|
|
672
|
-
</Form>
|
|
673
|
-
```
|
|
674
|
-
|
|
675
|
-
## Related Components
|
|
676
|
-
|
|
677
|
-
- [FormInstance](./FormInstance.md) - Programmatic form control API
|
|
678
|
-
- [Field](./Field.md) - Field wrapper (deprecated for regular use)
|
|
679
|
-
- [Input.Text](../fields/TextInput.md) - Text input field
|
|
680
|
-
- [Input.Password](../fields/PasswordInput.md) - Password input field
|
|
681
|
-
- [Select](../fields/Select.md) - Dropdown selection field
|
|
682
|
-
- [Checkbox](../fields/Checkbox.md) - Checkbox input field
|
|
683
|
-
- [DialogForm](../overlays/DialogForm.md) - Form within a dialog
|
|
164
|
+
Use visible labels, clear validation messages, and native submit/reset buttons. Named inputs connect their labels and error messages automatically. Enter submits through the form; Tab and Shift+Tab navigate controls. Configure `isRequired` when a field needs both validation and a visible required indicator.
|