@cube-dev/ui-kit 0.207.0 → 0.208.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 +12 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +0 -2
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +3 -3
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.d.ts +0 -1
- package/dist/components/actions/Button/Button.js +8 -7
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +16 -1
- package/dist/components/actions/Button/index.js +13 -0
- package/dist/components/actions/Button/index.js.map +1 -0
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
- 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 +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +2 -2
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +3 -3
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +6 -18
- package/dist/components/actions/use-action.js +2 -2
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +0 -1
- package/dist/components/actions/use-anchored-menu.js +2 -2
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +0 -1
- package/dist/components/actions/use-context-menu.js +2 -2
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.d.ts +0 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
- package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
- package/dist/components/content/Disclosure/Disclosure.js +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Divider/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.d.ts +1 -2
- package/dist/components/content/Item/Item.js +4 -4
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
- package/dist/components/content/Item/index.d.ts +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +1 -2
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/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 +1 -1
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +3 -3
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +2 -2
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +0 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -5
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.js +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/types.d.ts +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +6 -6
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-menu.js +2 -2
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
- package/dist/components/fields/ComboBox/ComboBox.js +6 -6
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateInput.js +2 -2
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DatePicker.js +2 -2
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/TimeInput.js +2 -2
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.d.ts +0 -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 +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +0 -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 +1 -1
- package/dist/components/fields/ListBox/ListBox.js +4 -4
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +0 -2
- package/dist/components/fields/Picker/Picker.js +8 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +2 -2
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -2
- package/dist/components/fields/Select/Select.js +7 -7
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- 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 +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +2 -2
- package/dist/components/fields/Slider/types.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +5 -5
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +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.d.ts +0 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +0 -1
- package/dist/components/form/Form/Field.d.ts +0 -1
- package/dist/components/form/Form/Field.js +3 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +1 -26
- package/dist/components/form/Form/Form.js +7 -116
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/FormContext.d.ts +30 -0
- package/dist/components/form/Form/FormContext.js +79 -0
- package/dist/components/form/Form/FormContext.js.map +1 -0
- package/dist/components/form/Form/FormElement.js +49 -0
- package/dist/components/form/Form/FormElement.js.map +1 -0
- package/dist/components/form/Form/ModernFormRoot.js +3 -2
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.d.ts +0 -1
- package/dist/components/form/Form/SubmitError.js +3 -3
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.d.ts +2 -1
- package/dist/components/form/Form/index.js +6 -5
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/types.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
- package/dist/components/form/Form/use-field/use-field-props.js +4 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field.js +2 -2
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.d.ts +0 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/field-layout.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +0 -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 +1 -1
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +0 -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 +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +2 -2
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +4 -4
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/segmented-styles.js +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.d.ts +2 -2
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +2 -2
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
- package/dist/components/overlays/Dialog/Dialog.js +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +2 -2
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +2 -2
- 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 +1 -1
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +2 -2
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -2
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +2 -2
- 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 +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +8 -32
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +4 -4
- package/dist/i18n/instance.js +3 -3
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +29 -27
- package/dist/index.js +69 -69
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +2 -2
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +23 -11
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +2 -2
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +3 -3
- package/dist/utils/react/index.js +13 -13
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/components/actions/ButtonSplit.md +1 -1
- package/docs/glaze/contrast.mdx +751 -0
- package/docs/glaze/exporting.mdx +635 -0
- package/docs/glaze/getting-started.mdx +487 -0
- package/docs/glaze/hdr.mdx +523 -0
- package/docs/glaze/methodology.mdx +979 -0
- package/docs/glaze/migration.md +476 -285
- package/docs/glaze/mixes.mdx +348 -0
- package/docs/glaze/okhst.mdx +692 -0
- package/docs/glaze/reference/color-definitions.md +552 -0
- package/docs/glaze/reference/color-tokens.md +421 -0
- package/docs/glaze/reference/configuration.md +532 -0
- package/docs/glaze/reference/contrast.md +279 -0
- package/docs/glaze/reference/index.md +225 -0
- package/docs/glaze/reference/output.md +714 -0
- package/docs/glaze/reference/palette.md +435 -0
- package/docs/glaze/reference/theme.md +332 -0
- package/docs/glaze/reference/utilities.md +646 -0
- package/docs/glaze/schemes.mdx +644 -0
- package/docs/glaze/shadows-and-glows.mdx +550 -0
- package/package.json +4 -4
- package/dist/components/actions/index.js +0 -29
- package/dist/components/actions/index.js.map +0 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
- package/dist/components/overlays/Modal/Modal.d.ts +0 -3
- package/dist/components/overlays/Modal/Popover.d.ts +0 -7
- package/dist/components/overlays/Modal/Tray.d.ts +0 -5
- package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
- package/dist/components/overlays/Modal/index.d.ts +0 -8
- package/docs/glaze/api.md +0 -2021
- package/docs/glaze/methodology.md +0 -686
- package/docs/glaze/okhst.md +0 -207
|
@@ -1,133 +1,24 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
5
5
|
import { Provider, useProviderProps } from "../../../provider.js";
|
|
6
6
|
import { useValidationProps } from "../validation/use-validation-props.js";
|
|
7
|
-
import { timeout } from "../../../utils/promise.js";
|
|
8
7
|
import { isModernFormController } from "./backend.js";
|
|
9
8
|
import { ModernControllerContext } from "./modern/context.js";
|
|
9
|
+
import { FormContext, FormPresentationContext } from "./FormContext.js";
|
|
10
|
+
import { timeout } from "../../../utils/promise.js";
|
|
11
|
+
import { FormElement, formPropNames } from "./FormElement.js";
|
|
10
12
|
import { resetUnboundControls } from "./reset-unbound-controls.js";
|
|
11
13
|
import { ModernFormRoot as _ModernFormRoot } from "./ModernFormRoot.js";
|
|
12
14
|
import { useForm } from "./use-form.js";
|
|
13
15
|
import { c } from "react/compiler-runtime";
|
|
14
|
-
import { CONTAINER_STYLES, filterBaseProps
|
|
15
|
-
import {
|
|
16
|
+
import { CONTAINER_STYLES, filterBaseProps } from "@tenphi/tasty";
|
|
17
|
+
import { forwardRef, useRef } from "react";
|
|
16
18
|
import { jsx } from "react/jsx-runtime";
|
|
17
19
|
import { useObjectRef } from "@react-aria/utils";
|
|
18
20
|
//#region src/components/form/Form/Form.tsx
|
|
19
21
|
/**
|
|
20
|
-
* Public legacy context. Its value is the full legacy scope (presentation
|
|
21
|
-
* props, the instance, `submitError`, `idPrefix`) and is part of the exported
|
|
22
|
-
* contract: wrappers outside the kit read it and Radio/Checkbox groups mask it.
|
|
23
|
-
*/
|
|
24
|
-
const FormContext = createContext({});
|
|
25
|
-
const EMPTY_PRESENTATION = {};
|
|
26
|
-
const FormPresentationContext = createContext(EMPTY_PRESENTATION);
|
|
27
|
-
/**
|
|
28
|
-
* Scope the inputs below to a new form context. Radio/Checkbox groups use it
|
|
29
|
-
* for their options: they see the group's validation state, but neither the
|
|
30
|
-
* surrounding form's presentation props nor its instance, so a nested `name`
|
|
31
|
-
* never registers as an independent field. Wrappers that used to override
|
|
32
|
-
* `FormContext` directly for the same purpose should render this instead — a
|
|
33
|
-
* bare `FormContext.Provider` no longer masks the presentation context.
|
|
34
|
-
*/
|
|
35
|
-
function FormScopeMask(t0) {
|
|
36
|
-
const $ = c(3);
|
|
37
|
-
const { value, children } = t0;
|
|
38
|
-
let t1;
|
|
39
|
-
if ($[0] !== children || $[1] !== value) {
|
|
40
|
-
t1 = /* @__PURE__ */ jsx(ModernControllerContext.Provider, {
|
|
41
|
-
value: null,
|
|
42
|
-
children: /* @__PURE__ */ jsx(FormPresentationContext.Provider, {
|
|
43
|
-
value: EMPTY_PRESENTATION,
|
|
44
|
-
children: /* @__PURE__ */ jsx(FormContext.Provider, {
|
|
45
|
-
value,
|
|
46
|
-
children
|
|
47
|
-
})
|
|
48
|
-
})
|
|
49
|
-
});
|
|
50
|
-
$[0] = children;
|
|
51
|
-
$[1] = value;
|
|
52
|
-
$[2] = t1;
|
|
53
|
-
} else t1 = $[2];
|
|
54
|
-
return t1;
|
|
55
|
-
}
|
|
56
|
-
const FormElement = tasty({
|
|
57
|
-
as: "form",
|
|
58
|
-
qa: "Form",
|
|
59
|
-
styles: {
|
|
60
|
-
"@in-dialog": "@parent(id=Dialog, >)",
|
|
61
|
-
display: {
|
|
62
|
-
"": "block",
|
|
63
|
-
horizontal: "flex",
|
|
64
|
-
"@in-dialog": "flex"
|
|
65
|
-
},
|
|
66
|
-
flow: {
|
|
67
|
-
"": "column",
|
|
68
|
-
horizontal: "row",
|
|
69
|
-
"@in-dialog": "column"
|
|
70
|
-
},
|
|
71
|
-
placeItems: {
|
|
72
|
-
"": "initial",
|
|
73
|
-
horizontal: "center",
|
|
74
|
-
"@in-dialog": "initial"
|
|
75
|
-
},
|
|
76
|
-
gap: {
|
|
77
|
-
"": "2x",
|
|
78
|
-
"@in-dialog": 0
|
|
79
|
-
},
|
|
80
|
-
flexGrow: {
|
|
81
|
-
"": false,
|
|
82
|
-
"@in-dialog": 1
|
|
83
|
-
},
|
|
84
|
-
height: {
|
|
85
|
-
"": false,
|
|
86
|
-
"@in-dialog": "min 0"
|
|
87
|
-
},
|
|
88
|
-
"$label-width": "25x"
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
/**
|
|
92
|
-
* Merge order: presentation context, then the legacy `FormContext`, then the
|
|
93
|
-
* props. Under a legacy root the two contexts carry the same presentation
|
|
94
|
-
* values, so the result is exactly `{ ...FormContext, ...props }` as before.
|
|
95
|
-
*/
|
|
96
|
-
function useFormProps(props) {
|
|
97
|
-
const $ = c(7);
|
|
98
|
-
const presentation = useContext(FormPresentationContext);
|
|
99
|
-
const ctx = useContext(FormContext);
|
|
100
|
-
const modern = useContext(ModernControllerContext);
|
|
101
|
-
let t0;
|
|
102
|
-
if ($[0] !== modern) {
|
|
103
|
-
t0 = modern ? { form: modern } : {};
|
|
104
|
-
$[0] = modern;
|
|
105
|
-
$[1] = t0;
|
|
106
|
-
} else t0 = $[1];
|
|
107
|
-
let t1;
|
|
108
|
-
if ($[2] !== ctx || $[3] !== presentation || $[4] !== props || $[5] !== t0) {
|
|
109
|
-
t1 = {
|
|
110
|
-
...presentation,
|
|
111
|
-
...t0,
|
|
112
|
-
...ctx,
|
|
113
|
-
...props
|
|
114
|
-
};
|
|
115
|
-
$[2] = ctx;
|
|
116
|
-
$[3] = presentation;
|
|
117
|
-
$[4] = props;
|
|
118
|
-
$[5] = t0;
|
|
119
|
-
$[6] = t1;
|
|
120
|
-
} else t1 = $[6];
|
|
121
|
-
return t1;
|
|
122
|
-
}
|
|
123
|
-
const formPropNames = /* @__PURE__ */ new Set([
|
|
124
|
-
"action",
|
|
125
|
-
"autoComplete",
|
|
126
|
-
"encType",
|
|
127
|
-
"method",
|
|
128
|
-
"target"
|
|
129
|
-
]);
|
|
130
|
-
/**
|
|
131
22
|
* The legacy backend's root: the current engine under an internal name. Its
|
|
132
23
|
* role is compatibility; see `legacy-contract/README.md` for what is frozen.
|
|
133
24
|
*/
|
|
@@ -287,6 +178,6 @@ function Form(props, ref) {
|
|
|
287
178
|
const _Form = forwardRef(Form);
|
|
288
179
|
_Form.displayName = "Form";
|
|
289
180
|
//#endregion
|
|
290
|
-
export { _Form as Form,
|
|
181
|
+
export { _Form as Form, _LegacyFormRoot as LegacyFormRoot };
|
|
291
182
|
|
|
292
183
|
//# sourceMappingURL=Form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","Styles","tasty","ContextType","createContext","FormEvent","FormHTMLAttributes","forwardRef","ReactElement","ReactNode","Ref","useContext","useRef","useEvent","Provider","useProviderProps","FormBaseProps","timeout","useCombinedRefs","extractStyles","useValidationProps","isModernFormController","ModernControllerContext","ModernFormRoot","resetUnboundControls","FieldTypes","CubeFormData","CubeFormInstance","useForm","ModernFormProps","FormContext","FormPresentationContextValue","labelPosition","labelStyles","orientation","necessityIndicator","validateTrigger","requiredMark","showValid","idPrefix","EMPTY_PRESENTATION","FormPresentationContext","FormScopeMask","t0","$","_c","value","children","t1","FormRootComponent","props","CubeFormProps","T","ref","HTMLFormElement","FormElement","as","qa","styles","display","horizontal","flow","placeItems","gap","flexGrow","height","useFormProps","presentation","ctx","modern","form","formPropNames","Set","const","Pick","name","defaultValues","Partial","onValuesChange","onSubmit","onSubmitFailed","any","Promise","labelWidth","LegacyFormRoot","isDisabled","isReadOnly","isInvalid","isValid","otherProps","defaultValuesRef","firstRunRef","isHorizontal","undefined","onSubmitCallback","action","e","preventDefault","stopPropagation","nativeEvent","evt","submitter","getAttribute","isSubmitting","submitError","setSubmitting","validateFields","getFormData","Error","current","handleReset","event","currentTarget","getFieldInstance","resetFields","domRef","setInitialFieldsValue","propNames","_LegacyFormRoot","displayName","Form","_Form","_c","ModernFormRoot"],"sources":["../../../../src/components/form/Form/Form.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ContextType,\n createContext,\n FormEvent,\n FormHTMLAttributes,\n forwardRef,\n ReactElement,\n ReactNode,\n Ref,\n useContext,\n useRef,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { Provider, useProviderProps } from '../../../provider';\nimport { FormBaseProps } from '../../../shared/index';\nimport { timeout } from '../../../utils/promise';\nimport { useCombinedRefs } from '../../../utils/react/index';\nimport { extractStyles } from '../../../utils/styles';\nimport { useValidationProps } from '../validation/index';\n\nimport { isModernFormController } from './backend';\nimport { ModernControllerContext } from './modern/context';\nimport { ModernFormRoot } from './ModernFormRoot';\nimport { resetUnboundControls } from './reset-unbound-controls';\nimport { FieldTypes } from './types';\nimport { CubeFormData, CubeFormInstance, useForm } from './use-form';\n\nimport type { ModernFormProps } from './ModernFormRoot';\n\n/**\n * Public legacy context. Its value is the full legacy scope (presentation\n * props, the instance, `submitError`, `idPrefix`) and is part of the exported\n * contract: wrappers outside the kit read it and Radio/Checkbox groups mask it.\n */\nexport const FormContext = createContext({});\n\n/**\n * Presentation and configuration that any root — legacy or modern — hands to\n * the fields below it. Backend-neutral by construction: no instance in here.\n */\nexport interface FormPresentationContextValue {\n labelPosition?: FormBaseProps['labelPosition'];\n labelStyles?: FormBaseProps['labelStyles'];\n orientation?: 'vertical' | 'horizontal';\n necessityIndicator?: FormBaseProps['necessityIndicator'];\n validateTrigger?: FormBaseProps['validateTrigger'];\n requiredMark?: boolean;\n showValid?: boolean;\n idPrefix?: string;\n}\n\nconst EMPTY_PRESENTATION: FormPresentationContextValue = {};\n\nexport const FormPresentationContext =\n createContext<FormPresentationContextValue>(EMPTY_PRESENTATION);\n\n/**\n * Scope the inputs below to a new form context. Radio/Checkbox groups use it\n * for their options: they see the group's validation state, but neither the\n * surrounding form's presentation props nor its instance, so a nested `name`\n * never registers as an independent field. Wrappers that used to override\n * `FormContext` directly for the same purpose should render this instead — a\n * bare `FormContext.Provider` no longer masks the presentation context.\n */\nexport function FormScopeMask({\n value,\n children,\n}: {\n value: ContextType<typeof FormContext>;\n children?: ReactNode;\n}) {\n return (\n <ModernControllerContext.Provider value={null}>\n <FormPresentationContext.Provider value={EMPTY_PRESENTATION}>\n <FormContext.Provider value={value}>{children}</FormContext.Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n );\n}\n\n/** Separate overloads retain contextual callback typing for each backend. */\nexport interface FormRootComponent {\n <T extends FieldTypes = FieldTypes>(\n props: CubeFormProps<T> & { ref?: Ref<HTMLFormElement> },\n ): ReactElement;\n <T extends FieldTypes = FieldTypes>(\n props: ModernFormProps<T> & { ref?: Ref<HTMLFormElement> },\n ): ReactElement;\n}\n\nexport const FormElement = tasty({\n as: 'form',\n qa: 'Form',\n styles: {\n // A form placed directly in a `Dialog` sits between the dialog and its\n // slots (`Dialog > Form > Content + Footer`), so it takes over the dialog's\n // own slot layout: a flex column that grows into the dialog, lets `Content`\n // shrink and scroll (`min-height: 0` — a flex item's default `auto` refuses\n // to shrink below its content), and adds no space between the slots, whose\n // padding already spaces them. Direct child only: a form nested inside\n // `Content` is an ordinary form.\n //\n // It lives here, in the form's own styles, so a consumer's `styles` on the\n // form replace it key by key, inside a dialog as anywhere else — and can\n // name `@in-dialog` themselves. Last in each map, so\n // `orientation=\"horizontal\"` cannot turn the slots into a row.\n '@in-dialog': '@parent(id=Dialog, >)',\n\n display: {\n '': 'block',\n horizontal: 'flex',\n '@in-dialog': 'flex',\n },\n flow: {\n '': 'column',\n horizontal: 'row',\n '@in-dialog': 'column',\n },\n placeItems: {\n '': 'initial',\n horizontal: 'center',\n '@in-dialog': 'initial',\n },\n gap: {\n '': '2x',\n '@in-dialog': 0,\n },\n flexGrow: {\n '': false,\n '@in-dialog': 1,\n },\n height: {\n '': false,\n '@in-dialog': 'min 0',\n },\n '$label-width': '25x',\n },\n});\n\n/**\n * Merge order: presentation context, then the legacy `FormContext`, then the\n * props. Under a legacy root the two contexts carry the same presentation\n * values, so the result is exactly `{ ...FormContext, ...props }` as before.\n */\nexport function useFormProps(props) {\n const presentation = useContext(FormPresentationContext);\n const ctx = useContext(FormContext);\n const modern = useContext(ModernControllerContext);\n\n return {\n ...presentation,\n ...(modern ? { form: modern } : {}),\n ...ctx,\n ...props,\n };\n}\n\nexport const formPropNames = new Set([\n 'action',\n 'autoComplete',\n 'encType',\n 'method',\n 'target',\n] as const);\n\nexport interface CubeFormProps<T extends FieldTypes = FieldTypes>\n extends\n FormBaseProps,\n BaseProps,\n ContainerStyleProps,\n Pick<\n FormHTMLAttributes<HTMLFormElement>,\n 'action' | 'autoComplete' | 'encType' | 'method' | 'target'\n > {\n /** Form name */\n name?: string;\n /** Default field values */\n defaultValues?: Partial<T>;\n /** Trigger when any value of the Field is changed */\n onValuesChange?: CubeFormInstance<T>['onValuesChange'];\n /** Trigger on form submit and success */\n onSubmit?: CubeFormInstance<T>['onSubmit'];\n /** Trigger on form submit and failed */\n onSubmitFailed?: (any?) => void | Promise<any>;\n /** Set form instance created by useForm */\n form?: CubeFormInstance<T, CubeFormData<T>>;\n /** The size of the side area with labels. Only for `labelPosition=\"side\"` */\n labelWidth?: Styles['width'];\n orientation?: 'vertical' | 'horizontal';\n}\n\n/**\n * The legacy backend's root: the current engine under an internal name. Its\n * role is compatibility; see `legacy-contract/README.md` for what is frozen.\n */\nfunction LegacyFormRoot<T extends FieldTypes>(\n props: CubeFormProps<T>,\n ref: Ref<HTMLFormElement>,\n) {\n 'use no memo';\n // Legacy form state is mutable; preserve its render-time reads until migration.\n\n props = useValidationProps(useProviderProps(props));\n let {\n qa,\n name,\n children,\n labelPosition,\n orientation,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n labelStyles,\n validateTrigger,\n showValid,\n defaultValues,\n onValuesChange,\n requiredMark = true,\n form,\n labelWidth,\n onSubmit,\n onSubmitFailed,\n ...otherProps\n } = props;\n const defaultValuesRef = useRef(defaultValues);\n const firstRunRef = useRef(true);\n const isHorizontal = orientation === 'horizontal';\n\n if (!orientation) {\n orientation = 'vertical';\n }\n\n if (!labelPosition) {\n labelPosition = isHorizontal ? 'side' : 'top';\n }\n\n if (!labelWidth) {\n labelWidth = isHorizontal ? 'auto' : undefined;\n }\n\n ref = useCombinedRefs(ref);\n\n let onSubmitCallback;\n\n if ((onSubmit || onSubmitFailed) && !otherProps.action) {\n onSubmitCallback = async (e) => {\n if (e && e?.preventDefault) {\n e && e?.preventDefault && e?.preventDefault();\n e && e?.stopPropagation && e?.stopPropagation();\n\n if (e.nativeEvent) {\n const evt = e.nativeEvent;\n\n if (\n evt.submitter &&\n evt.submitter.getAttribute('type') !== 'submit'\n ) {\n return;\n }\n }\n }\n\n if (!form || form.isSubmitting) return;\n\n form.submitError = null;\n form.setSubmitting(true);\n\n try {\n try {\n await form.validateFields();\n } catch (e) {\n form?.setSubmitting(false);\n\n return;\n }\n\n await timeout();\n await onSubmit?.(form.getFormData());\n } catch (e) {\n await timeout();\n\n // errors are shown\n form.submitError = e as ReactNode;\n // transfer errors to the callback\n onSubmitFailed?.(e);\n\n if (e instanceof Error) {\n throw e;\n }\n } finally {\n form?.setSubmitting(false);\n }\n\n // output data from form directly\n // onSubmit(Object.fromEntries(new FormData(e.target).entries()));\n };\n }\n\n [form] = useForm<T>(form, ref && ref.current, {\n onSubmit: onSubmitCallback,\n onValuesChange,\n });\n\n // A native reset (`ResetButton` is `type=\"reset\"`) reaches React Aria's\n // `useFormReset` listener on every input, which writes the value the input\n // started with through `onChange` and ignores `preventDefault`; a\n // `CheckboxGroup` even lands on `[]`. Reset the form once instead, in\n // capture, before those listeners run, as `ModernFormRoot` does, and report\n // the result to `onValuesChange`. Also with `action`: it hands only the submit\n // to the browser, and the form still owns every bound value. Controls it does\n // not own get the browser's reset from `resetUnboundControls`.\n const handleReset = useEvent((event: FormEvent<HTMLFormElement>) => {\n event.stopPropagation();\n event.preventDefault();\n resetUnboundControls(\n event.currentTarget,\n (name) => form.getFieldInstance(name) != null,\n );\n form.resetFields();\n form.onValuesChange?.(form.getFormData());\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n if (labelWidth) {\n styles['$label-width'] = labelWidth;\n }\n\n let domRef = useObjectRef(ref);\n\n const presentation: FormPresentationContextValue = {\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n idPrefix: name,\n };\n\n let ctx = {\n ...presentation,\n form,\n submitError: form.submitError,\n };\n\n if (firstRunRef.current && form) {\n if (defaultValues) {\n form.setInitialFieldsValue(defaultValues);\n form.resetFields(undefined, true);\n firstRunRef.current = false;\n }\n }\n\n if (defaultValuesRef.current !== defaultValues) {\n form?.setInitialFieldsValue(defaultValues ?? {});\n defaultValuesRef.current = defaultValues;\n }\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={domRef}\n noValidate\n qa={qa}\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: isHorizontal,\n }}\n onSubmit={onSubmitCallback}\n onResetCapture={handleReset}\n >\n <ModernControllerContext.Provider value={null}>\n <FormPresentationContext.Provider value={presentation}>\n <FormContext.Provider value={ctx}>\n <Provider\n insideForm={true}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n </FormElement>\n );\n}\n\nconst _LegacyFormRoot = forwardRef(LegacyFormRoot) as unknown as <\n T extends FieldTypes,\n>(\n props: CubeFormProps<T> & { ref?: Ref<HTMLFormElement> },\n) => ReactElement;\n\n(_LegacyFormRoot as any).displayName = 'LegacyFormRoot';\n\n/**\n * The `<Form>` facade. It chooses the root by the brand of the `form` prop\n * before any backend hook runs. Without an explicit modern controller it is\n * the legacy root, so existing `<Form>` and `Form.useForm()` keep their behavior.\n */\nfunction Form<T extends FieldTypes>(\n props: CubeFormProps<T> | ModernFormProps<T>,\n ref: Ref<HTMLFormElement>,\n) {\n if (isModernFormController(props.form)) {\n return <ModernFormRoot {...(props as ModernFormProps<T>)} ref={ref} />;\n }\n\n return <_LegacyFormRoot {...(props as CubeFormProps<T>)} ref={ref} />;\n}\n\n/**\n * Forms allow users to enter data that can be submitted while providing alignment and styling for form fields.\n */\nconst _Form = forwardRef(Form) as unknown as FormRootComponent;\n\n(_Form as any).displayName = 'Form';\n\nexport { _Form as Form, _LegacyFormRoot as LegacyFormRoot };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAakC,cAAc1B,cAAc,CAAC,CAAC;AAiB3C,MAAMoC,qBAAmD,CAAC;AAE1D,MAAaC,0BACXrC,cAA4CoC,kBAAkB;;;;;;;;;AAUhE,SAAOE,cAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAuB,MAAA,EAAAC,OAAAC,aAAAJ;CAM7B,IAAAK;CAAA,IAAAJ,EAAA,OAAAG,YAAAH,EAAA,OAAAE,OAAA;EAEGE,KAAA,oBAAA,wBAAA,UAAA;GAAyC,OAAA;GACvC,UAAA,oBAAA,wBAAA,UAAA;IAAyCR,OAAAA;IACvC,UAAA,oBAAA,YAAA,UAAA;KAA6BM;KAAQC;IAAS,CAAA;GAChD,CAAA;EACF,CAAA;EAAmCH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAJnCI;AAImC;AAcvC,MAAaO,cAAcrD,MAAM;CAC/BsD,IAAI;CACJC,IAAI;CACJC,QAAQ;EAaN,cAAc;EAEdC,SAAS;GACP,IAAI;GACJC,YAAY;GACZ,cAAc;EAChB;EACAC,MAAM;GACJ,IAAI;GACJD,YAAY;GACZ,cAAc;EAChB;EACAE,YAAY;GACV,IAAI;GACJF,YAAY;GACZ,cAAc;EAChB;EACAG,KAAK;GACH,IAAI;GACJ,cAAc;EAChB;EACAC,UAAU;GACR,IAAI;GACJ,cAAc;EAChB;EACAC,QAAQ;GACN,IAAI;GACJ,cAAc;EAChB;EACA,gBAAgB;CAClB;AACF,CAAC;;;;;;AAOD,SAAOC,aAAAhB,OAAA;CAAA,MAAAN,IAAAC,EAAA,CAAA;CACL,MAAAsB,eAAqBxD,WAAW8B,uBAAuB;CACvD,MAAA2B,MAAYzD,WAAWmB,WAAW;CAClC,MAAAuC,SAAe1D,WAAWW,uBAAuB;CAAE,IAAAqB;CAAA,IAAAC,EAAA,OAAAyB,QAAA;EAI7C1B,KAAA0B,SAAA,EAAAC,MAAiBD,OAAY,IAA7B,CAA6B;EAACzB,EAAA,KAAAyB;EAAAzB,EAAA,KAAAD;CAAA,OAAAA,KAAAC,EAAA;CAAA,IAAAI;CAAA,IAAAJ,EAAA,OAAAwB,OAAAxB,EAAA,OAAAuB,gBAAAvB,EAAA,OAAAM,SAAAN,EAAA,OAAAD,IAAA;EAF7BK,KAAA;GAAA,GACFmB;GAAY,GACXxB;GAA8B,GAC/ByB;GAAG,GACHlB;EACL;EAACN,EAAA,KAAAwB;EAAAxB,EAAA,KAAAuB;EAAAvB,EAAA,KAAAM;EAAAN,EAAA,KAAAD;EAAAC,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OALMI;AAKN;AAGH,MAAauB,gCAAgB,IAAIC,IAAI;CACnC;CACA;CACA;CACA;CACA;AAAQ,CACA;;;;;AAgCV,SAASY,eACPlC,OACAG,KACA;CACA;CAGAH,QAAQ9B,mBAAmBL,iBAAiBmC,KAAK,CAAC;CAClD,IAAI,EACFO,IACAkB,MACA5B,UACAf,eACAE,aACAC,oBACAkD,YACAC,YACAC,WACAC,SACAvD,aACAG,iBACAE,WACAsC,eACAE,gBACAzC,eAAe,MACfiC,MACAa,YACAJ,UACAC,gBACA,GAAGS,eACDvC;CACJ,MAAMwC,mBAAmB9E,OAAOgE,aAAa;CAC7C,MAAMe,cAAc/E,OAAO,IAAI;CAC/B,MAAMgF,eAAe1D,gBAAgB;CAErC,IAAI,CAACA,aACHA,cAAc;CAGhB,IAAI,CAACF,eACHA,gBAAgB4D,eAAe,SAAS;CAG1C,IAAI,CAACT,YACHA,aAAaS,eAAe,SAASC,KAAAA;CAGvCxC,MAAMnC,gBAAgBmC,GAAG;CAEzB,IAAIyC;CAEJ,KAAKf,YAAYC,mBAAmB,CAACS,WAAWM,QAC9CD,mBAAmB,OAAOE,MAAM;EAC9B,IAAIA,KAAKA,GAAGC,gBAAgB;GAC1BD,KAAKA,GAAGC,kBAAkBD,GAAGC,eAAe;GAC5CD,KAAKA,GAAGE,mBAAmBF,GAAGE,gBAAgB;GAE9C,IAAIF,EAAEG,aAAa;IACjB,MAAMC,MAAMJ,EAAEG;IAEd,IACEC,IAAIC,aACJD,IAAIC,UAAUC,aAAa,MAAM,MAAM,UAEvC;GAEJ;EACF;EAEA,IAAI,CAAChC,QAAQA,KAAKiC,cAAc;EAEhCjC,KAAKkC,cAAc;EACnBlC,KAAKmC,cAAc,IAAI;EAEvB,IAAI;GACF,IAAI;IACF,MAAMnC,KAAKoC,eAAe;GAC5B,SAASV,KAAG;IACV1B,MAAMmC,cAAc,KAAK;IAEzB;GACF;GAEA,MAAMxF,QAAQ;GACd,MAAM8D,WAAWT,KAAKqC,YAAY,CAAC;EACrC,SAASX,KAAG;GACV,MAAM/E,QAAQ;GAGdqD,KAAKkC,cAAcR;GAEnBhB,iBAAiBgB,GAAC;GAElB,IAAIA,eAAaY,OACf,MAAMZ;EAEV,UAAU;GACR1B,MAAMmC,cAAc,KAAK;EAC3B;CAIF;CAGF,CAACnC,QAAQ1C,QAAW0C,MAAMjB,OAAOA,IAAIwD,SAAS;EAC5C9B,UAAUe;EACVhB;CACF,CAAC;CAUD,MAAMgC,cAAcjG,UAAUkG,UAAsC;EAClEA,MAAMb,gBAAgB;EACtBa,MAAMd,eAAe;EACrBzE,qBACEuF,MAAMC,gBACLrC,WAASL,KAAK2C,iBAAiBtC,MAAI,KAAK,IAC3C;EACAL,KAAK4C,YAAY;EACjB5C,KAAKQ,iBAAiBR,KAAKqC,YAAY,CAAC;CAC1C,CAAC;CAED,IAAIjD,SAASvC,cAAcsE,YAAY3F,gBAAgB;CAEvD,IAAIqF,YACFzB,OAAO,kBAAkByB;CAG3B,IAAIgC,SAASvH,aAAayD,GAAG;CAE7B,MAAMc,eAA6C;EACjDnC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC,UAAUoC;CACZ;CAEA,IAAIP,MAAM;EACR,GAAGD;EACHG;EACAkC,aAAalC,KAAKkC;CACpB;CAEA,IAAIb,YAAYkB,WAAWvC,MACrBM;MAAAA,eAAe;GACjBN,KAAK8C,sBAAsBxC,aAAa;GACxCN,KAAK4C,YAAYrB,KAAAA,GAAW,IAAI;GAChCF,YAAYkB,UAAU;EACxB;;CAGF,IAAInB,iBAAiBmB,YAAYjC,eAAe;EAC9CN,MAAM8C,sBAAsBxC,iBAAiB,CAAC,CAAC;EAC/Cc,iBAAiBmB,UAAUjC;CAC7B;CAEA,OACE,oBAAC,aAAD;EACE,GAAI5E,gBAAgByF,YAAY,EAAE4B,WAAW9C,cAAc,CAAC;EAC5D,KAAK4C;EACL,YAAA;EACI1D;EACIC;EACR,MAAM;GACJ,aAAa1B,kBAAkB;GAC/B,aAAaA,kBAAkB;GAC/B4B,YAAYgC;EACd;EACA,UAAUE;EACV,gBAAgBgB;EAEhB,UAAA,oBAAC,wBAAwB,UAAzB;GAAkC,OAAO;GACvC,UAAA,oBAAC,wBAAwB,UAAzB;IAAkC,OAAO3C;IACvC,UAAA,oBAAC,YAAY,UAAb;KAAsB,OAAOC;KAC3B,UAAA,oBAAC,UAAD;MACE,YAAY;MACAiB;MACAC;MACDC;MACFC;MAERzC;KACO,CAAA;IACU,CAAA;GACU,CAAA;EACF,CAAA;CACvB,CAAA;AAEjB;AAEA,MAAMuE,kBAAkB/G,WAAW6E,cAAc;AAMjD,gBAAyBmC,cAAc;;;;;;AAOvC,SAAAC,KAAAtE,OAAAG,KAAA;CAAA,MAAAT,IAAAC,EAAA,CAAA;CAIE,IAAIxB,uBAAuB6B,MAAKoB,IAAK,GAAC;EACR,MAAA3B,KAAAO;EAA2B,IAAAF;EAAA,IAAAJ,EAAA,OAAAS,OAAAT,EAAA,OAAAD,IAAA;GAAhDK,KAAA,oBAAC2E,iBAAD;IAAe,GAAMhF;IAAmCU;GAAG,CAAA;GAAIT,EAAA,KAAAS;GAAAT,EAAA,KAAAD;GAAAC,EAAA,KAAAI;EAAA,OAAAA,KAAAJ,EAAA;EAAA,OAA/DI;CAA+D;CAG3C,MAAAL,KAAAO;CAAyB,IAAAF;CAAA,IAAAJ,EAAA,OAAAS,OAAAT,EAAA,OAAAD,IAAA;EAA/CK,KAAA,oBAAA,iBAAA;GAA8D,GAAxCL;GAAiCU;EAAG,CAAA;EAAIT,EAAA,KAAAS;EAAAT,EAAA,KAAAD;EAAAC,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAA9DI;AAA8D;;;;AAMvE,MAAMyE,QAAQlH,WAAWiH,IAAI;AAE7B,MAAeD,cAAc"}
|
|
1
|
+
{"version":3,"file":"Form.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","Styles","FormEvent","FormHTMLAttributes","forwardRef","ReactElement","ReactNode","Ref","useRef","useEvent","Provider","useProviderProps","FormBaseProps","timeout","useCombinedRefs","extractStyles","useValidationProps","isModernFormController","FormContext","FormPresentationContext","FormPresentationContextValue","FormElement","formPropNames","ModernControllerContext","ModernFormRoot","resetUnboundControls","FieldTypes","CubeFormData","CubeFormInstance","useForm","ModernFormProps","FormRootComponent","props","CubeFormProps","T","ref","HTMLFormElement","Pick","name","defaultValues","Partial","onValuesChange","onSubmit","onSubmitFailed","any","Promise","form","labelWidth","orientation","LegacyFormRoot","qa","children","labelPosition","necessityIndicator","isDisabled","isReadOnly","isInvalid","isValid","labelStyles","validateTrigger","showValid","requiredMark","otherProps","defaultValuesRef","firstRunRef","isHorizontal","undefined","onSubmitCallback","action","e","preventDefault","stopPropagation","nativeEvent","evt","submitter","getAttribute","isSubmitting","submitError","setSubmitting","validateFields","getFormData","Error","current","handleReset","event","currentTarget","getFieldInstance","resetFields","styles","domRef","presentation","idPrefix","ctx","setInitialFieldsValue","propNames","horizontal","_LegacyFormRoot","displayName","Form","$","_c","t0","t1","_Form","_c","ModernFormRoot"],"sources":["../../../../src/components/form/Form/Form.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n} from '@tenphi/tasty';\nimport {\n FormEvent,\n FormHTMLAttributes,\n forwardRef,\n ReactElement,\n ReactNode,\n Ref,\n useRef,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { Provider, useProviderProps } from '../../../provider';\nimport { FormBaseProps } from '../../../shared/form';\nimport { timeout } from '../../../utils/promise';\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../../utils/styles';\nimport { useValidationProps } from '../validation/use-validation-props';\n\nimport { isModernFormController } from './backend';\nimport {\n FormContext,\n FormPresentationContext,\n FormPresentationContextValue,\n} from './FormContext';\nimport { FormElement, formPropNames } from './FormElement';\nimport { ModernControllerContext } from './modern/context';\nimport { ModernFormRoot } from './ModernFormRoot';\nimport { resetUnboundControls } from './reset-unbound-controls';\nimport { FieldTypes } from './types';\nimport { CubeFormData, CubeFormInstance, useForm } from './use-form';\n\nimport type { ModernFormProps } from './ModernFormRoot';\n\n/** Separate overloads retain contextual callback typing for each backend. */\nexport interface FormRootComponent {\n <T extends FieldTypes = FieldTypes>(\n props: CubeFormProps<T> & { ref?: Ref<HTMLFormElement> },\n ): ReactElement;\n <T extends FieldTypes = FieldTypes>(\n props: ModernFormProps<T> & { ref?: Ref<HTMLFormElement> },\n ): ReactElement;\n}\n\nexport interface CubeFormProps<T extends FieldTypes = FieldTypes>\n extends\n FormBaseProps,\n BaseProps,\n ContainerStyleProps,\n Pick<\n FormHTMLAttributes<HTMLFormElement>,\n 'action' | 'autoComplete' | 'encType' | 'method' | 'target'\n > {\n /** Form name */\n name?: string;\n /** Default field values */\n defaultValues?: Partial<T>;\n /** Trigger when any value of the Field is changed */\n onValuesChange?: CubeFormInstance<T>['onValuesChange'];\n /** Trigger on form submit and success */\n onSubmit?: CubeFormInstance<T>['onSubmit'];\n /** Trigger on form submit and failed */\n onSubmitFailed?: (any?) => void | Promise<any>;\n /** Set form instance created by useForm */\n form?: CubeFormInstance<T, CubeFormData<T>>;\n /** The size of the side area with labels. Only for `labelPosition=\"side\"` */\n labelWidth?: Styles['width'];\n orientation?: 'vertical' | 'horizontal';\n}\n\n/**\n * The legacy backend's root: the current engine under an internal name. Its\n * role is compatibility; see `legacy-contract/README.md` for what is frozen.\n */\nfunction LegacyFormRoot<T extends FieldTypes>(\n props: CubeFormProps<T>,\n ref: Ref<HTMLFormElement>,\n) {\n 'use no memo';\n // Legacy form state is mutable; preserve its render-time reads until migration.\n\n props = useValidationProps(useProviderProps(props));\n let {\n qa,\n name,\n children,\n labelPosition,\n orientation,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n labelStyles,\n validateTrigger,\n showValid,\n defaultValues,\n onValuesChange,\n requiredMark = true,\n form,\n labelWidth,\n onSubmit,\n onSubmitFailed,\n ...otherProps\n } = props;\n const defaultValuesRef = useRef(defaultValues);\n const firstRunRef = useRef(true);\n const isHorizontal = orientation === 'horizontal';\n\n if (!orientation) {\n orientation = 'vertical';\n }\n\n if (!labelPosition) {\n labelPosition = isHorizontal ? 'side' : 'top';\n }\n\n if (!labelWidth) {\n labelWidth = isHorizontal ? 'auto' : undefined;\n }\n\n ref = useCombinedRefs(ref);\n\n let onSubmitCallback;\n\n if ((onSubmit || onSubmitFailed) && !otherProps.action) {\n onSubmitCallback = async (e) => {\n if (e && e?.preventDefault) {\n e && e?.preventDefault && e?.preventDefault();\n e && e?.stopPropagation && e?.stopPropagation();\n\n if (e.nativeEvent) {\n const evt = e.nativeEvent;\n\n if (\n evt.submitter &&\n evt.submitter.getAttribute('type') !== 'submit'\n ) {\n return;\n }\n }\n }\n\n if (!form || form.isSubmitting) return;\n\n form.submitError = null;\n form.setSubmitting(true);\n\n try {\n try {\n await form.validateFields();\n } catch (e) {\n form?.setSubmitting(false);\n\n return;\n }\n\n await timeout();\n await onSubmit?.(form.getFormData());\n } catch (e) {\n await timeout();\n\n // errors are shown\n form.submitError = e as ReactNode;\n // transfer errors to the callback\n onSubmitFailed?.(e);\n\n if (e instanceof Error) {\n throw e;\n }\n } finally {\n form?.setSubmitting(false);\n }\n\n // output data from form directly\n // onSubmit(Object.fromEntries(new FormData(e.target).entries()));\n };\n }\n\n [form] = useForm<T>(form, ref && ref.current, {\n onSubmit: onSubmitCallback,\n onValuesChange,\n });\n\n // A native reset (`ResetButton` is `type=\"reset\"`) reaches React Aria's\n // `useFormReset` listener on every input, which writes the value the input\n // started with through `onChange` and ignores `preventDefault`; a\n // `CheckboxGroup` even lands on `[]`. Reset the form once instead, in\n // capture, before those listeners run, as `ModernFormRoot` does, and report\n // the result to `onValuesChange`. Also with `action`: it hands only the submit\n // to the browser, and the form still owns every bound value. Controls it does\n // not own get the browser's reset from `resetUnboundControls`.\n const handleReset = useEvent((event: FormEvent<HTMLFormElement>) => {\n event.stopPropagation();\n event.preventDefault();\n resetUnboundControls(\n event.currentTarget,\n (name) => form.getFieldInstance(name) != null,\n );\n form.resetFields();\n form.onValuesChange?.(form.getFormData());\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n if (labelWidth) {\n styles['$label-width'] = labelWidth;\n }\n\n let domRef = useObjectRef(ref);\n\n const presentation: FormPresentationContextValue = {\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n idPrefix: name,\n };\n\n let ctx = {\n ...presentation,\n form,\n submitError: form.submitError,\n };\n\n if (firstRunRef.current && form) {\n if (defaultValues) {\n form.setInitialFieldsValue(defaultValues);\n form.resetFields(undefined, true);\n firstRunRef.current = false;\n }\n }\n\n if (defaultValuesRef.current !== defaultValues) {\n form?.setInitialFieldsValue(defaultValues ?? {});\n defaultValuesRef.current = defaultValues;\n }\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={domRef}\n noValidate\n qa={qa}\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: isHorizontal,\n }}\n onSubmit={onSubmitCallback}\n onResetCapture={handleReset}\n >\n <ModernControllerContext.Provider value={null}>\n <FormPresentationContext.Provider value={presentation}>\n <FormContext.Provider value={ctx}>\n <Provider\n insideForm={true}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n </FormElement>\n );\n}\n\nconst _LegacyFormRoot = forwardRef(LegacyFormRoot) as unknown as <\n T extends FieldTypes,\n>(\n props: CubeFormProps<T> & { ref?: Ref<HTMLFormElement> },\n) => ReactElement;\n\n(_LegacyFormRoot as any).displayName = 'LegacyFormRoot';\n\n/**\n * The `<Form>` facade. It chooses the root by the brand of the `form` prop\n * before any backend hook runs. Without an explicit modern controller it is\n * the legacy root, so existing `<Form>` and `Form.useForm()` keep their behavior.\n */\nfunction Form<T extends FieldTypes>(\n props: CubeFormProps<T> | ModernFormProps<T>,\n ref: Ref<HTMLFormElement>,\n) {\n if (isModernFormController(props.form)) {\n return <ModernFormRoot {...(props as ModernFormProps<T>)} ref={ref} />;\n }\n\n return <_LegacyFormRoot {...(props as CubeFormProps<T>)} ref={ref} />;\n}\n\n/**\n * Forms allow users to enter data that can be submitted while providing alignment and styling for form fields.\n */\nconst _Form = forwardRef(Form) as unknown as FormRootComponent;\n\n(_Form as any).displayName = 'Form';\n\nexport { _Form as Form, _LegacyFormRoot as LegacyFormRoot };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
import "../../../shared/form.js";
|
|
3
|
+
import { ContextType, ReactNode } from "react";
|
|
4
|
+
//#region src/components/form/Form/FormContext.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Public legacy context. Its value is the full legacy scope (presentation
|
|
7
|
+
* props, the instance, `submitError`, `idPrefix`) and is part of the exported
|
|
8
|
+
* contract: wrappers outside the kit read it and Radio/Checkbox groups mask it.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FormContext: import("react").Context<{}>;
|
|
11
|
+
/**
|
|
12
|
+
* Scope the inputs below to a new form context. Radio/Checkbox groups use it
|
|
13
|
+
* for their options: they see the group's validation state, but neither the
|
|
14
|
+
* surrounding form's presentation props nor its instance, so a nested `name`
|
|
15
|
+
* never registers as an independent field. Wrappers that used to override
|
|
16
|
+
* `FormContext` directly for the same purpose should render this instead — a
|
|
17
|
+
* bare `FormContext.Provider` no longer masks the presentation context.
|
|
18
|
+
*/
|
|
19
|
+
export declare function FormScopeMask({ value, children }: {
|
|
20
|
+
value: ContextType<typeof FormContext>;
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* Merge order: presentation context, then the legacy `FormContext`, then the
|
|
25
|
+
* props. Under a legacy root the two contexts carry the same presentation
|
|
26
|
+
* values, so the result is exactly `{ ...FormContext, ...props }` as before.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useFormProps(props: any): any;
|
|
29
|
+
//#endregion
|
|
30
|
+
//# sourceMappingURL=FormContext.d.ts.map
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
|
+
import { ModernControllerContext } from "./modern/context.js";
|
|
3
|
+
import { c } from "react/compiler-runtime";
|
|
4
|
+
import { createContext, useContext } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/form/Form/FormContext.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Public legacy context. Its value is the full legacy scope (presentation
|
|
9
|
+
* props, the instance, `submitError`, `idPrefix`) and is part of the exported
|
|
10
|
+
* contract: wrappers outside the kit read it and Radio/Checkbox groups mask it.
|
|
11
|
+
*/
|
|
12
|
+
const FormContext = createContext({});
|
|
13
|
+
const EMPTY_PRESENTATION = {};
|
|
14
|
+
const FormPresentationContext = createContext(EMPTY_PRESENTATION);
|
|
15
|
+
/**
|
|
16
|
+
* Scope the inputs below to a new form context. Radio/Checkbox groups use it
|
|
17
|
+
* for their options: they see the group's validation state, but neither the
|
|
18
|
+
* surrounding form's presentation props nor its instance, so a nested `name`
|
|
19
|
+
* never registers as an independent field. Wrappers that used to override
|
|
20
|
+
* `FormContext` directly for the same purpose should render this instead — a
|
|
21
|
+
* bare `FormContext.Provider` no longer masks the presentation context.
|
|
22
|
+
*/
|
|
23
|
+
function FormScopeMask(t0) {
|
|
24
|
+
const $ = c(3);
|
|
25
|
+
const { value, children } = t0;
|
|
26
|
+
let t1;
|
|
27
|
+
if ($[0] !== children || $[1] !== value) {
|
|
28
|
+
t1 = /* @__PURE__ */ jsx(ModernControllerContext.Provider, {
|
|
29
|
+
value: null,
|
|
30
|
+
children: /* @__PURE__ */ jsx(FormPresentationContext.Provider, {
|
|
31
|
+
value: EMPTY_PRESENTATION,
|
|
32
|
+
children: /* @__PURE__ */ jsx(FormContext.Provider, {
|
|
33
|
+
value,
|
|
34
|
+
children
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
$[0] = children;
|
|
39
|
+
$[1] = value;
|
|
40
|
+
$[2] = t1;
|
|
41
|
+
} else t1 = $[2];
|
|
42
|
+
return t1;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Merge order: presentation context, then the legacy `FormContext`, then the
|
|
46
|
+
* props. Under a legacy root the two contexts carry the same presentation
|
|
47
|
+
* values, so the result is exactly `{ ...FormContext, ...props }` as before.
|
|
48
|
+
*/
|
|
49
|
+
function useFormProps(props) {
|
|
50
|
+
const $ = c(7);
|
|
51
|
+
const presentation = useContext(FormPresentationContext);
|
|
52
|
+
const ctx = useContext(FormContext);
|
|
53
|
+
const modern = useContext(ModernControllerContext);
|
|
54
|
+
let t0;
|
|
55
|
+
if ($[0] !== modern) {
|
|
56
|
+
t0 = modern ? { form: modern } : {};
|
|
57
|
+
$[0] = modern;
|
|
58
|
+
$[1] = t0;
|
|
59
|
+
} else t0 = $[1];
|
|
60
|
+
let t1;
|
|
61
|
+
if ($[2] !== ctx || $[3] !== presentation || $[4] !== props || $[5] !== t0) {
|
|
62
|
+
t1 = {
|
|
63
|
+
...presentation,
|
|
64
|
+
...t0,
|
|
65
|
+
...ctx,
|
|
66
|
+
...props
|
|
67
|
+
};
|
|
68
|
+
$[2] = ctx;
|
|
69
|
+
$[3] = presentation;
|
|
70
|
+
$[4] = props;
|
|
71
|
+
$[5] = t0;
|
|
72
|
+
$[6] = t1;
|
|
73
|
+
} else t1 = $[6];
|
|
74
|
+
return t1;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { FormContext, FormPresentationContext, FormScopeMask, useFormProps };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=FormContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormContext.js","names":["ContextType","createContext","ReactNode","useContext","FormBaseProps","ModernControllerContext","FormContext","FormPresentationContextValue","labelPosition","labelStyles","orientation","necessityIndicator","validateTrigger","requiredMark","showValid","idPrefix","EMPTY_PRESENTATION","FormPresentationContext","FormScopeMask","t0","$","_c","value","children","t1","useFormProps","props","presentation","ctx","modern","form","_c"],"sources":["../../../../src/components/form/Form/FormContext.tsx"],"sourcesContent":["import { ContextType, createContext, ReactNode, useContext } from 'react';\n\nimport { FormBaseProps } from '../../../shared/form';\n\nimport { ModernControllerContext } from './modern/context';\n\n/**\n * Public legacy context. Its value is the full legacy scope (presentation\n * props, the instance, `submitError`, `idPrefix`) and is part of the exported\n * contract: wrappers outside the kit read it and Radio/Checkbox groups mask it.\n */\nexport const FormContext = createContext({});\n\n/**\n * Presentation and configuration that any root — legacy or modern — hands to\n * the fields below it. Backend-neutral by construction: no instance in here.\n */\nexport interface FormPresentationContextValue {\n labelPosition?: FormBaseProps['labelPosition'];\n labelStyles?: FormBaseProps['labelStyles'];\n orientation?: 'vertical' | 'horizontal';\n necessityIndicator?: FormBaseProps['necessityIndicator'];\n validateTrigger?: FormBaseProps['validateTrigger'];\n requiredMark?: boolean;\n showValid?: boolean;\n idPrefix?: string;\n}\n\nconst EMPTY_PRESENTATION: FormPresentationContextValue = {};\n\nexport const FormPresentationContext =\n createContext<FormPresentationContextValue>(EMPTY_PRESENTATION);\n\n/**\n * Scope the inputs below to a new form context. Radio/Checkbox groups use it\n * for their options: they see the group's validation state, but neither the\n * surrounding form's presentation props nor its instance, so a nested `name`\n * never registers as an independent field. Wrappers that used to override\n * `FormContext` directly for the same purpose should render this instead — a\n * bare `FormContext.Provider` no longer masks the presentation context.\n */\nexport function FormScopeMask({\n value,\n children,\n}: {\n value: ContextType<typeof FormContext>;\n children?: ReactNode;\n}) {\n return (\n <ModernControllerContext.Provider value={null}>\n <FormPresentationContext.Provider value={EMPTY_PRESENTATION}>\n <FormContext.Provider value={value}>{children}</FormContext.Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n );\n}\n\n/**\n * Merge order: presentation context, then the legacy `FormContext`, then the\n * props. Under a legacy root the two contexts carry the same presentation\n * values, so the result is exactly `{ ...FormContext, ...props }` as before.\n */\nexport function useFormProps(props) {\n const presentation = useContext(FormPresentationContext);\n const ctx = useContext(FormContext);\n const modern = useContext(ModernControllerContext);\n\n return {\n ...presentation,\n ...(modern ? { form: modern } : {}),\n ...ctx,\n ...props,\n };\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAaM,cAAcL,cAAc,CAAC,CAAC;AAiB3C,MAAMe,qBAAmD,CAAC;AAE1D,MAAaC,0BACXhB,cAA4Ce,kBAAkB;;;;;;;;;AAUhE,SAAOE,cAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAuB,MAAA,EAAAC,OAAAC,aAAAJ;CAM7B,IAAAK;CAAA,IAAAJ,EAAA,OAAAG,YAAAH,EAAA,OAAAE,OAAA;EAEGE,KAAA,oBAAA,wBAAA,UAAA;GAAyC,OAAA;GACvC,UAAA,oBAAA,wBAAA,UAAA;IAAyCR,OAAAA;IACvC,UAAA,oBAAA,YAAA,UAAA;KAA6BM;KAAQC;IAAS,CAAA;GAChD,CAAA;EACF,CAAA;EAAmCH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAJnCI;AAImC;;;;;;AASvC,SAAOC,aAAAC,OAAA;CAAA,MAAAN,IAAAC,EAAA,CAAA;CACL,MAAAM,eAAqBxB,WAAWc,uBAAuB;CACvD,MAAAW,MAAYzB,WAAWG,WAAW;CAClC,MAAAuB,SAAe1B,WAAWE,uBAAuB;CAAE,IAAAc;CAAA,IAAAC,EAAA,OAAAS,QAAA;EAI7CV,KAAAU,SAAA,EAAAC,MAAiBD,OAAY,IAA7B,CAA6B;EAACT,EAAA,KAAAS;EAAAT,EAAA,KAAAD;CAAA,OAAAA,KAAAC,EAAA;CAAA,IAAAI;CAAA,IAAAJ,EAAA,OAAAQ,OAAAR,EAAA,OAAAO,gBAAAP,EAAA,OAAAM,SAAAN,EAAA,OAAAD,IAAA;EAF7BK,KAAA;GAAA,GACFG;GAAY,GACXR;GAA8B,GAC/BS;GAAG,GACHF;EACL;EAACN,EAAA,KAAAQ;EAAAR,EAAA,KAAAO;EAAAP,EAAA,KAAAM;EAAAN,EAAA,KAAAD;EAAAC,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OALMI;AAKN"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
|
+
import { tasty } from "@tenphi/tasty";
|
|
3
|
+
//#region src/components/form/Form/FormElement.tsx
|
|
4
|
+
const FormElement = tasty({
|
|
5
|
+
as: "form",
|
|
6
|
+
qa: "Form",
|
|
7
|
+
styles: {
|
|
8
|
+
"@in-dialog": "@parent(id=Dialog, >)",
|
|
9
|
+
display: {
|
|
10
|
+
"": "block",
|
|
11
|
+
horizontal: "flex",
|
|
12
|
+
"@in-dialog": "flex"
|
|
13
|
+
},
|
|
14
|
+
flow: {
|
|
15
|
+
"": "column",
|
|
16
|
+
horizontal: "row",
|
|
17
|
+
"@in-dialog": "column"
|
|
18
|
+
},
|
|
19
|
+
placeItems: {
|
|
20
|
+
"": "initial",
|
|
21
|
+
horizontal: "center",
|
|
22
|
+
"@in-dialog": "initial"
|
|
23
|
+
},
|
|
24
|
+
gap: {
|
|
25
|
+
"": "2x",
|
|
26
|
+
"@in-dialog": 0
|
|
27
|
+
},
|
|
28
|
+
flexGrow: {
|
|
29
|
+
"": false,
|
|
30
|
+
"@in-dialog": 1
|
|
31
|
+
},
|
|
32
|
+
height: {
|
|
33
|
+
"": false,
|
|
34
|
+
"@in-dialog": "min 0"
|
|
35
|
+
},
|
|
36
|
+
"$label-width": "25x"
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const formPropNames = /* @__PURE__ */ new Set([
|
|
40
|
+
"action",
|
|
41
|
+
"autoComplete",
|
|
42
|
+
"encType",
|
|
43
|
+
"method",
|
|
44
|
+
"target"
|
|
45
|
+
]);
|
|
46
|
+
//#endregion
|
|
47
|
+
export { FormElement, formPropNames };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=FormElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormElement.js","names":["tasty","FormElement","as","qa","styles","display","horizontal","flow","placeItems","gap","flexGrow","height","formPropNames","Set","const"],"sources":["../../../../src/components/form/Form/FormElement.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const FormElement = tasty({\n as: 'form',\n qa: 'Form',\n styles: {\n // A form placed directly in a `Dialog` sits between the dialog and its\n // slots (`Dialog > Form > Content + Footer`), so it takes over the dialog's\n // own slot layout: a flex column that grows into the dialog, lets `Content`\n // shrink and scroll (`min-height: 0` — a flex item's default `auto` refuses\n // to shrink below its content), and adds no space between the slots, whose\n // padding already spaces them. Direct child only: a form nested inside\n // `Content` is an ordinary form.\n //\n // It lives here, in the form's own styles, so a consumer's `styles` on the\n // form replace it key by key, inside a dialog as anywhere else — and can\n // name `@in-dialog` themselves. Last in each map, so\n // `orientation=\"horizontal\"` cannot turn the slots into a row.\n '@in-dialog': '@parent(id=Dialog, >)',\n\n display: {\n '': 'block',\n horizontal: 'flex',\n '@in-dialog': 'flex',\n },\n flow: {\n '': 'column',\n horizontal: 'row',\n '@in-dialog': 'column',\n },\n placeItems: {\n '': 'initial',\n horizontal: 'center',\n '@in-dialog': 'initial',\n },\n gap: {\n '': '2x',\n '@in-dialog': 0,\n },\n flexGrow: {\n '': false,\n '@in-dialog': 1,\n },\n height: {\n '': false,\n '@in-dialog': 'min 0',\n },\n '$label-width': '25x',\n },\n});\n\nexport const formPropNames = new Set([\n 'action',\n 'autoComplete',\n 'encType',\n 'method',\n 'target',\n] as const);\n"],"mappings":";;;AAEA,MAAaC,cAAcD,MAAM;CAC/BE,IAAI;CACJC,IAAI;CACJC,QAAQ;EAaN,cAAc;EAEdC,SAAS;GACP,IAAI;GACJC,YAAY;GACZ,cAAc;EAChB;EACAC,MAAM;GACJ,IAAI;GACJD,YAAY;GACZ,cAAc;EAChB;EACAE,YAAY;GACV,IAAI;GACJF,YAAY;GACZ,cAAc;EAChB;EACAG,KAAK;GACH,IAAI;GACJ,cAAc;EAChB;EACAC,UAAU;GACR,IAAI;GACJ,cAAc;EAChB;EACAC,QAAQ;GACN,IAAI;GACJ,cAAc;EAChB;EACA,gBAAgB;CAClB;AACF,CAAC;AAED,MAAaC,gCAAgB,IAAIC,IAAI;CACnC;CACA;CACA;CACA;CACA;AAAQ,CACA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
4
4
|
import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -7,9 +7,10 @@ import { Provider, useProviderProps } from "../../../provider.js";
|
|
|
7
7
|
import { useDialogContext } from "../../overlays/Dialog/context.js";
|
|
8
8
|
import { useValidationProps } from "../validation/use-validation-props.js";
|
|
9
9
|
import { ModernControllerContext } from "./modern/context.js";
|
|
10
|
+
import { FormContext, FormPresentationContext } from "./FormContext.js";
|
|
10
11
|
import { getControllerInternals } from "./modern/controller.js";
|
|
12
|
+
import { FormElement, formPropNames } from "./FormElement.js";
|
|
11
13
|
import { resetUnboundControls } from "./reset-unbound-controls.js";
|
|
12
|
-
import { FormContext, FormElement, FormPresentationContext, formPropNames } from "./Form.js";
|
|
13
14
|
import { c } from "react/compiler-runtime";
|
|
14
15
|
import { CONTAINER_STYLES, filterBaseProps } from "@tenphi/tasty";
|
|
15
16
|
import { forwardRef, useEffect, useRef } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModernFormRoot.js","names":["CONTAINER_STYLES","filterBaseProps","forwardRef","useEffect","useMemo","useRef","useEvent","Provider","useProviderProps","mergeRefs","useLayoutEffect","extractStyles","useDialogContext","useValidationProps","FormContext","FormElement","FormPresentationContext","formPropNames","ModernControllerContext","getControllerInternals","resetUnboundControls","FormEvent","ReactElement","ReactNode","Ref","CubeFormProps","FormPresentationContextValue","FormController","CallbackBinding","FormCallbacks","ModernFormProps","Record","Omit","T","form","defaultValues","onReset","event","HTMLFormElement","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","submitValues","EMPTY_LEGACY_CONTEXT","InternalModernFormProps","onSubmitted","confirmDismiss","ModernFormRoot","props","ref","$","_c","resolved","authoredLabelPosition","authoredLabelWidth","children","isDisabled","isInvalid","isReadOnly","isValid","labelStyles","name","necessityIndicator","otherProps","qa","showValid","t0","t1","t2","validateTrigger","orientation","labelPosition","labelWidth","requiredMark","undefined","t3","internals","store","rootRef","t4","mergedRef","t5","t6","bindRootElement","current","Error","binding","t7","handleSubmitted","t8","t9","token","bindCallbacks","release","t10","update","registerUnsavedChanges","t11","t12","hasUserEdits","t13","preventDefault","stopPropagation","submit","include","handleSubmit","t14","event_0","defaultPrevented","fields","getSnapshot","currentTarget","name_0","active","reset","handleReset","t15","idPrefix","presentation","styles","t16","propNames","t17","t18","t19","t20","horizontal","t21","action","t22","t23","t24","t25","_ModernFormRoot","displayName","_c"],"sources":["../../../../src/components/form/Form/ModernFormRoot.tsx"],"sourcesContent":["import { CONTAINER_STYLES, filterBaseProps } from '@tenphi/tasty';\nimport { forwardRef, useEffect, useMemo, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { Provider, useProviderProps } from '../../../provider';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { extractStyles } from '../../../utils/styles';\nimport { useDialogContext } from '../../overlays/Dialog/context';\nimport { useValidationProps } from '../validation/use-validation-props';\n\nimport {\n FormContext,\n FormElement,\n FormPresentationContext,\n formPropNames,\n} from './Form';\nimport { ModernControllerContext } from './modern/context';\nimport { getControllerInternals } from './modern/controller';\nimport { resetUnboundControls } from './reset-unbound-controls';\n\nimport type { FormEvent, ReactElement, ReactNode, Ref } from 'react';\nimport type { CubeFormProps, FormPresentationContextValue } from './Form';\nimport type { FormController } from './modern/controller';\nimport type { CallbackBinding, FormCallbacks } from './modern/types';\n\n/** Modern root owns callback bindings; subscriptions stay in descendants. */\nexport interface ModernFormProps<\n T extends object = Record<string, unknown>,\n> extends Omit<\n CubeFormProps<T>,\n 'form' | 'defaultValues' | 'onSubmit' | 'onSubmitFailed' | 'onValuesChange'\n> {\n form: FormController<T>;\n defaultValues?: never;\n /** Runs before a controller reset; preventDefault cancels the reset, including nested controls. */\n onReset?: (event: FormEvent<HTMLFormElement>) => void;\n /** Reserved for controller reset interception. Use onReset to cancel. */\n onResetCapture?: never;\n onSubmit?: FormCallbacks<T, ReactNode>['onSubmit'];\n onSubmitFailed?: FormCallbacks<T, ReactNode>['onSubmitFailed'];\n onValuesChange?: FormCallbacks<T, ReactNode>['onValuesChange'];\n /** Payload selection for native submission, including Enter and external buttons. */\n submitValues?: 'active' | 'all';\n}\n\nconst EMPTY_LEGACY_CONTEXT = {};\n\n/** Wrapper hooks, intentionally absent from the public Form props. */\ninterface InternalModernFormProps<T extends object> extends ModernFormProps<T> {\n onSubmitted?: () => void;\n /**\n * What the form reports to its dialog instead of its own unsaved edits:\n * `DialogForm`'s `confirmDismiss`, or `false` for its `preserve`.\n */\n confirmDismiss?: boolean;\n}\n\nfunction ModernFormRoot<T extends object>(\n props: InternalModernFormProps<T>,\n ref: Ref<HTMLFormElement>,\n): ReactElement {\n const resolved = useValidationProps(useProviderProps(props));\n const {\n form,\n qa,\n name,\n children,\n orientation = 'vertical',\n labelPosition: authoredLabelPosition,\n labelWidth: authoredLabelWidth,\n labelStyles,\n necessityIndicator,\n validateTrigger,\n requiredMark = true,\n showValid,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n defaultValues,\n onSubmit,\n onSubmitted,\n onSubmitFailed,\n onValuesChange,\n submitValues = 'active',\n confirmDismiss,\n ...otherProps\n } = resolved;\n const labelPosition =\n authoredLabelPosition ?? (orientation === 'horizontal' ? 'side' : 'top');\n const labelWidth =\n authoredLabelWidth ?? (orientation === 'horizontal' ? 'auto' : undefined);\n const internals = getControllerInternals(form, '<Form>');\n const { store } = internals;\n const rootRef = useRef<HTMLFormElement>(null);\n const mergedRef = useMemo(() => mergeRefs(ref, rootRef), [ref]);\n useLayoutEffect(\n () => internals.bindRootElement(rootRef.current),\n [internals],\n );\n if (defaultValues !== undefined) {\n throw new Error(\n 'A modern <Form> does not accept defaultValues. Seed Form.useController() or use an explicit defaults command.',\n );\n }\n const binding = useRef<CallbackBinding<T, ReactNode> | undefined>(undefined);\n const handleSubmitted = useEvent(() => onSubmitted?.());\n useLayoutEffect(() => {\n const token = store.bindCallbacks({}, handleSubmitted);\n binding.current = token;\n return () => {\n token.release();\n if (binding.current === token) binding.current = undefined;\n };\n }, [store, handleSubmitted]);\n useLayoutEffect(() => {\n binding.current?.update({\n ...(onSubmit === undefined ? {} : { onSubmit }),\n ...(onSubmitFailed === undefined ? {} : { onSubmitFailed }),\n ...(onValuesChange === undefined ? {} : { onValuesChange }),\n });\n });\n // Inside a dialog, Escape, an outside click and the close button ask before\n // they discard what the user typed: fields they edited away from their\n // defaults. A value set from code is not an edit, and a successful submit\n // saves what it carried. The dialog's owner decides whether to ask at all.\n const { registerUnsavedChanges } = useDialogContext();\n useEffect(\n () =>\n registerUnsavedChanges?.(\n () =>\n confirmDismiss ??\n // A controller from an older copy of the kit can't tell; it never asks.\n store.hasUserEdits?.() ??\n false,\n ),\n [registerUnsavedChanges, store, confirmDismiss],\n );\n const handleSubmit = useEvent((event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n event.stopPropagation();\n void form.submit({ include: submitValues });\n });\n const handleReset = useEvent((event: FormEvent<HTMLFormElement>) => {\n // React Aria's native reset listeners do not honor preventDefault. Handle\n // controller resets in capture, before they can write mount-time defaults.\n // Also with `action`: it hands only the submit to the browser, and\n // `Form.Reset` resets through this event.\n event.stopPropagation();\n otherProps.onReset?.(event);\n if (!event.defaultPrevented) {\n event.preventDefault();\n const { fields } = form.getSnapshot();\n resetUnboundControls(\n event.currentTarget,\n (name) => !!fields[name]?.active,\n );\n form.reset();\n }\n });\n const presentation = useMemo<FormPresentationContextValue>(\n () => ({\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n idPrefix: name,\n }),\n [\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n name,\n ],\n );\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n if (labelWidth) styles['$label-width'] = labelWidth;\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={mergedRef}\n qa={qa}\n noValidate\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: orientation === 'horizontal',\n }}\n onSubmit={otherProps.action == null ? handleSubmit : undefined}\n onResetCapture={handleReset}\n >\n <FormContext.Provider value={EMPTY_LEGACY_CONTEXT}>\n <ModernControllerContext.Provider value={form}>\n <FormPresentationContext.Provider value={presentation}>\n <Provider\n insideForm\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n {children}\n </Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n </FormContext.Provider>\n </FormElement>\n );\n}\n\nconst _ModernFormRoot = forwardRef(ModernFormRoot) as unknown as <\n T extends object,\n>(\n props: InternalModernFormProps<T> & { ref?: Ref<HTMLFormElement> },\n) => ReactElement;\n\n(_ModernFormRoot as any).displayName = 'ModernFormRoot';\n\nexport { _ModernFormRoot as ModernFormRoot };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModernFormRoot.js","names":["CONTAINER_STYLES","filterBaseProps","forwardRef","useEffect","useMemo","useRef","useEvent","Provider","useProviderProps","mergeRefs","useLayoutEffect","extractStyles","useDialogContext","useValidationProps","FormContext","FormPresentationContext","FormElement","formPropNames","ModernControllerContext","getControllerInternals","resetUnboundControls","FormEvent","ReactElement","ReactNode","Ref","CubeFormProps","FormPresentationContextValue","FormController","CallbackBinding","FormCallbacks","ModernFormProps","Record","Omit","T","form","defaultValues","onReset","event","HTMLFormElement","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","submitValues","EMPTY_LEGACY_CONTEXT","InternalModernFormProps","onSubmitted","confirmDismiss","ModernFormRoot","props","ref","$","_c","resolved","authoredLabelPosition","authoredLabelWidth","children","isDisabled","isInvalid","isReadOnly","isValid","labelStyles","name","necessityIndicator","otherProps","qa","showValid","t0","t1","t2","validateTrigger","orientation","labelPosition","labelWidth","requiredMark","undefined","t3","internals","store","rootRef","t4","mergedRef","t5","t6","bindRootElement","current","Error","binding","t7","handleSubmitted","t8","t9","token","bindCallbacks","release","t10","update","registerUnsavedChanges","t11","t12","hasUserEdits","t13","preventDefault","stopPropagation","submit","include","handleSubmit","t14","event_0","defaultPrevented","fields","getSnapshot","currentTarget","name_0","active","reset","handleReset","t15","idPrefix","presentation","styles","t16","propNames","t17","t18","t19","t20","horizontal","t21","action","t22","t23","t24","t25","_ModernFormRoot","displayName","_c"],"sources":["../../../../src/components/form/Form/ModernFormRoot.tsx"],"sourcesContent":["import { CONTAINER_STYLES, filterBaseProps } from '@tenphi/tasty';\nimport { forwardRef, useEffect, useMemo, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { Provider, useProviderProps } from '../../../provider';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { extractStyles } from '../../../utils/styles';\nimport { useDialogContext } from '../../overlays/Dialog/context';\nimport { useValidationProps } from '../validation/use-validation-props';\n\nimport { FormContext, FormPresentationContext } from './FormContext';\nimport { FormElement, formPropNames } from './FormElement';\nimport { ModernControllerContext } from './modern/context';\nimport { getControllerInternals } from './modern/controller';\nimport { resetUnboundControls } from './reset-unbound-controls';\n\nimport type { FormEvent, ReactElement, ReactNode, Ref } from 'react';\nimport type { CubeFormProps } from './Form';\nimport type { FormPresentationContextValue } from './FormContext';\nimport type { FormController } from './modern/controller';\nimport type { CallbackBinding, FormCallbacks } from './modern/types';\n\n/** Modern root owns callback bindings; subscriptions stay in descendants. */\nexport interface ModernFormProps<\n T extends object = Record<string, unknown>,\n> extends Omit<\n CubeFormProps<T>,\n 'form' | 'defaultValues' | 'onSubmit' | 'onSubmitFailed' | 'onValuesChange'\n> {\n form: FormController<T>;\n defaultValues?: never;\n /** Runs before a controller reset; preventDefault cancels the reset, including nested controls. */\n onReset?: (event: FormEvent<HTMLFormElement>) => void;\n /** Reserved for controller reset interception. Use onReset to cancel. */\n onResetCapture?: never;\n onSubmit?: FormCallbacks<T, ReactNode>['onSubmit'];\n onSubmitFailed?: FormCallbacks<T, ReactNode>['onSubmitFailed'];\n onValuesChange?: FormCallbacks<T, ReactNode>['onValuesChange'];\n /** Payload selection for native submission, including Enter and external buttons. */\n submitValues?: 'active' | 'all';\n}\n\nconst EMPTY_LEGACY_CONTEXT = {};\n\n/** Wrapper hooks, intentionally absent from the public Form props. */\ninterface InternalModernFormProps<T extends object> extends ModernFormProps<T> {\n onSubmitted?: () => void;\n /**\n * What the form reports to its dialog instead of its own unsaved edits:\n * `DialogForm`'s `confirmDismiss`, or `false` for its `preserve`.\n */\n confirmDismiss?: boolean;\n}\n\nfunction ModernFormRoot<T extends object>(\n props: InternalModernFormProps<T>,\n ref: Ref<HTMLFormElement>,\n): ReactElement {\n const resolved = useValidationProps(useProviderProps(props));\n const {\n form,\n qa,\n name,\n children,\n orientation = 'vertical',\n labelPosition: authoredLabelPosition,\n labelWidth: authoredLabelWidth,\n labelStyles,\n necessityIndicator,\n validateTrigger,\n requiredMark = true,\n showValid,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n defaultValues,\n onSubmit,\n onSubmitted,\n onSubmitFailed,\n onValuesChange,\n submitValues = 'active',\n confirmDismiss,\n ...otherProps\n } = resolved;\n const labelPosition =\n authoredLabelPosition ?? (orientation === 'horizontal' ? 'side' : 'top');\n const labelWidth =\n authoredLabelWidth ?? (orientation === 'horizontal' ? 'auto' : undefined);\n const internals = getControllerInternals(form, '<Form>');\n const { store } = internals;\n const rootRef = useRef<HTMLFormElement>(null);\n const mergedRef = useMemo(() => mergeRefs(ref, rootRef), [ref]);\n useLayoutEffect(\n () => internals.bindRootElement(rootRef.current),\n [internals],\n );\n if (defaultValues !== undefined) {\n throw new Error(\n 'A modern <Form> does not accept defaultValues. Seed Form.useController() or use an explicit defaults command.',\n );\n }\n const binding = useRef<CallbackBinding<T, ReactNode> | undefined>(undefined);\n const handleSubmitted = useEvent(() => onSubmitted?.());\n useLayoutEffect(() => {\n const token = store.bindCallbacks({}, handleSubmitted);\n binding.current = token;\n return () => {\n token.release();\n if (binding.current === token) binding.current = undefined;\n };\n }, [store, handleSubmitted]);\n useLayoutEffect(() => {\n binding.current?.update({\n ...(onSubmit === undefined ? {} : { onSubmit }),\n ...(onSubmitFailed === undefined ? {} : { onSubmitFailed }),\n ...(onValuesChange === undefined ? {} : { onValuesChange }),\n });\n });\n // Inside a dialog, Escape, an outside click and the close button ask before\n // they discard what the user typed: fields they edited away from their\n // defaults. A value set from code is not an edit, and a successful submit\n // saves what it carried. The dialog's owner decides whether to ask at all.\n const { registerUnsavedChanges } = useDialogContext();\n useEffect(\n () =>\n registerUnsavedChanges?.(\n () =>\n confirmDismiss ??\n // A controller from an older copy of the kit can't tell; it never asks.\n store.hasUserEdits?.() ??\n false,\n ),\n [registerUnsavedChanges, store, confirmDismiss],\n );\n const handleSubmit = useEvent((event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n event.stopPropagation();\n void form.submit({ include: submitValues });\n });\n const handleReset = useEvent((event: FormEvent<HTMLFormElement>) => {\n // React Aria's native reset listeners do not honor preventDefault. Handle\n // controller resets in capture, before they can write mount-time defaults.\n // Also with `action`: it hands only the submit to the browser, and\n // `Form.Reset` resets through this event.\n event.stopPropagation();\n otherProps.onReset?.(event);\n if (!event.defaultPrevented) {\n event.preventDefault();\n const { fields } = form.getSnapshot();\n resetUnboundControls(\n event.currentTarget,\n (name) => !!fields[name]?.active,\n );\n form.reset();\n }\n });\n const presentation = useMemo<FormPresentationContextValue>(\n () => ({\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n idPrefix: name,\n }),\n [\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n name,\n ],\n );\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n if (labelWidth) styles['$label-width'] = labelWidth;\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={mergedRef}\n qa={qa}\n noValidate\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: orientation === 'horizontal',\n }}\n onSubmit={otherProps.action == null ? handleSubmit : undefined}\n onResetCapture={handleReset}\n >\n <FormContext.Provider value={EMPTY_LEGACY_CONTEXT}>\n <ModernControllerContext.Provider value={form}>\n <FormPresentationContext.Provider value={presentation}>\n <Provider\n insideForm\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n {children}\n </Provider>\n </FormPresentationContext.Provider>\n </ModernControllerContext.Provider>\n </FormContext.Provider>\n </FormElement>\n );\n}\n\nconst _ModernFormRoot = forwardRef(ModernFormRoot) as unknown as <\n T extends object,\n>(\n props: InternalModernFormProps<T> & { ref?: Ref<HTMLFormElement> },\n) => ReactElement;\n\n(_ModernFormRoot as any).displayName = 'ModernFormRoot';\n\nexport { _ModernFormRoot as ModernFormRoot };\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "../../../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useProviderProps } from "../../../../provider.js";
|
|
5
5
|
import { Button } from "../../../actions/Button/Button.js";
|
|
6
6
|
import { isModernFormController } from "../backend.js";
|
|
7
|
-
import { useFormProps } from "../
|
|
7
|
+
import { useFormProps } from "../FormContext.js";
|
|
8
8
|
import { ModernResetButton } from "../modern/actions.js";
|
|
9
9
|
import { c } from "react/compiler-runtime";
|
|
10
10
|
import { forwardRef } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetButton.js","names":["FocusableRef","forwardRef","useEvent","useProviderProps","mergeProps","Button","CubeButtonProps","isModernFormController","useFormProps","ModernResetButton","FieldTypes","CubeFormInstance","FormController","CubeResetButtonProps","Omit","form","T","LegacyResetButton","props","ref","HTMLElement","providerProps","isDisabled","isContextDisabled","otherProps","onPress","setTimeout","resetFields","isSomethingDisabled","isSubmitting","isTouched","ResetButton","$","_c","resolved","t0","t1","LegacyResetButtonWithRef","_ResetButton","displayName","_c"],"sources":["../../../../../src/components/form/Form/ResetButton/ResetButton.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../../_internal/
|
|
1
|
+
{"version":3,"file":"ResetButton.js","names":["FocusableRef","forwardRef","useEvent","useProviderProps","mergeProps","Button","CubeButtonProps","isModernFormController","useFormProps","ModernResetButton","FieldTypes","CubeFormInstance","FormController","CubeResetButtonProps","Omit","form","T","LegacyResetButton","props","ref","HTMLElement","providerProps","isDisabled","isContextDisabled","otherProps","onPress","setTimeout","resetFields","isSomethingDisabled","isSubmitting","isTouched","ResetButton","$","_c","resolved","t0","t1","LegacyResetButtonWithRef","_ResetButton","displayName","_c"],"sources":["../../../../../src/components/form/Form/ResetButton/ResetButton.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../../_internal/hooks/use-event';\nimport { useProviderProps } from '../../../../provider';\nimport { mergeProps } from '../../../../utils/react/mergeProps';\nimport { Button, CubeButtonProps } from '../../../actions/Button/Button';\nimport { isModernFormController } from '../backend';\nimport { useFormProps } from '../FormContext';\nimport { ModernResetButton } from '../modern/actions';\nimport { FieldTypes } from '../types';\nimport { CubeFormInstance } from '../use-form';\n\nimport type { FormController } from '../modern/controller';\n\nexport interface CubeResetButtonProps<\n T extends FieldTypes = FieldTypes,\n> extends Omit<CubeButtonProps, 'form'> {\n form?: CubeFormInstance<T> | FormController<T>;\n}\n\nfunction LegacyResetButton(\n props: Omit<CubeResetButtonProps, 'form'> & {\n form?: CubeFormInstance<FieldTypes>;\n },\n ref: FocusableRef<HTMLElement>,\n) {\n 'use no memo';\n // Legacy form state is mutable; preserve its render-time reads until migration.\n\n const providerProps = useProviderProps({} as CubeButtonProps);\n\n props = useFormProps(props);\n\n const { isDisabled: isContextDisabled } = providerProps;\n const { form, isDisabled, ...otherProps } = props;\n\n const onPress = useEvent(() => {\n // Use setTimeout to avoid conflict with onBlur handlers\n setTimeout(() => {\n form?.resetFields();\n });\n });\n\n const isSomethingDisabled = isDisabled || isContextDisabled;\n\n return (\n <Button\n ref={ref}\n type=\"primary\"\n htmlType=\"reset\"\n isDisabled={form?.isSubmitting || !form?.isTouched}\n {...mergeProps(\n {\n onPress,\n isDisabled: isSomethingDisabled\n ? true\n : form?.isSubmitting || !form?.isTouched,\n },\n otherProps,\n )}\n />\n );\n}\n\nfunction ResetButton(\n props: CubeResetButtonProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const resolved = useFormProps(props);\n if (isModernFormController(resolved.form)) {\n return (\n <ModernResetButton\n {...resolved}\n form={resolved.form as FormController}\n buttonRef={ref}\n />\n );\n }\n return (\n <LegacyResetButtonWithRef\n {...(props as Omit<CubeResetButtonProps, 'form'> & {\n form?: CubeFormInstance<FieldTypes>;\n })}\n ref={ref}\n />\n );\n}\n\nconst LegacyResetButtonWithRef = forwardRef(LegacyResetButton);\nconst _ResetButton = forwardRef(ResetButton);\n\n_ResetButton.displayName = 'ResetButton';\n\nexport { _ResetButton as ResetButton };\n"],"mappings":";;;;;;;;;;;;AAqBA,SAASiB,kBACPC,OAGAC,KACA;CACA;CAGA,MAAME,gBAAgBlB,iBAAiB,CAAC,CAAoB;CAE5De,QAAQV,aAAaU,KAAK;CAE1B,MAAM,EAAEI,YAAYC,sBAAsBF;CAC1C,MAAM,EAAEN,MAAMO,YAAY,GAAGE,eAAeN;CAE5C,MAAMO,UAAUvB,eAAe;EAE7BwB,iBAAiB;GACfX,MAAMY,YAAY;EACpB,CAAC;CACH,CAAC;CAED,MAAMC,sBAAsBN,cAAcC;CAE1C,OACE,oBAAC,QAAD;EACOJ;EACL,MAAK;EACL,UAAS;EACT,YAAYJ,MAAMc,gBAAgB,CAACd,MAAMe;EACzC,GAAI1B,WACF;GACEqB;GACAH,YAAYM,sBACR,OACAb,MAAMc,gBAAgB,CAACd,MAAMe;EACnC,GACAN,UACF;CAAE,CAAA;AAGR;AAEA,SAAAO,YAAAb,OAAAC,KAAA;CAAA,MAAAa,IAAAC,EAAA,CAAA;CAIE,MAAAC,WAAiB1B,aAAaU,KAAK;CACnC,IAAIX,uBAAuB2B,SAAQnB,IAAK,GAAC;EAI7B,MAAAoB,KAAAD,SAAQnB;EAAuB,IAAAqB;EAAA,IAAAJ,EAAA,OAAAb,OAAAa,EAAA,OAAAE,YAAAF,EAAA,OAAAG,IAAA;GAFvCC,KAAA,oBAAC,mBAAD;IAAkB,GACZF;IACE,MAAAC;IACKhB,WAAAA;GAAG,CAAA;GACda,EAAA,KAAAb;GAAAa,EAAA,KAAAE;GAAAF,EAAA,KAAAG;GAAAH,EAAA,KAAAI;EAAA,OAAAA,KAAAJ,EAAA;EAAA,OAJFI;CAIE;CAKG,MAAAD,KAAAjB;CAEJ,IAAAkB;CAAA,IAAAJ,EAAA,OAAAb,OAAAa,EAAA,OAAAG,IAAA;EAHHC,KAAA,oBAAC,0BAAD;GAAyB,GAClBD;GAGAhB;EAAG,CAAA;EACRa,EAAA,KAAAb;EAAAa,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OALFI;AAKE;AAIN,MAAMC,2BAA2BpC,WAAWgB,iBAAiB;AAC7D,MAAMqB,eAAerC,WAAW8B,WAAW;AAE3CO,aAAaC,cAAc"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { useProviderProps } from "../../../../provider.js";
|
|
3
3
|
import { Button } from "../../../actions/Button/Button.js";
|
|
4
4
|
import { isModernFormController } from "../backend.js";
|
|
5
|
-
import { useFormProps } from "../
|
|
5
|
+
import { useFormProps } from "../FormContext.js";
|
|
6
6
|
import { ModernSubmitButton } from "../modern/actions.js";
|
|
7
7
|
import { c } from "react/compiler-runtime";
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitButton.js","names":["FocusableRef","forwardRef","useProviderProps","Button","CubeButtonProps","isModernFormController","useFormProps","ModernSubmitButton","FieldTypes","CubeFormInstance","FormController","CubeSubmitButtonProps","Omit","form","T","disableOnInvalid","LegacySubmitButton","props","ref","HTMLElement","providerProps","isDisabled","isContextDisabled","_disableOnInvalid","otherProps","isSomethingDisabled","isSubmitting","isInvalid","SubmitButton","$","_c","resolved","t0","t1","LegacySubmitButtonWithRef","_SubmitButton","displayName","_c"],"sources":["../../../../../src/components/form/Form/SubmitButton/SubmitButton.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { forwardRef } from 'react';\n\nimport { useProviderProps } from '../../../../provider';\nimport { Button, CubeButtonProps } from '../../../actions/Button/Button';\nimport { isModernFormController } from '../backend';\nimport { useFormProps } from '../
|
|
1
|
+
{"version":3,"file":"SubmitButton.js","names":["FocusableRef","forwardRef","useProviderProps","Button","CubeButtonProps","isModernFormController","useFormProps","ModernSubmitButton","FieldTypes","CubeFormInstance","FormController","CubeSubmitButtonProps","Omit","form","T","disableOnInvalid","LegacySubmitButton","props","ref","HTMLElement","providerProps","isDisabled","isContextDisabled","_disableOnInvalid","otherProps","isSomethingDisabled","isSubmitting","isInvalid","SubmitButton","$","_c","resolved","t0","t1","LegacySubmitButtonWithRef","_SubmitButton","displayName","_c"],"sources":["../../../../../src/components/form/Form/SubmitButton/SubmitButton.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { forwardRef } from 'react';\n\nimport { useProviderProps } from '../../../../provider';\nimport { Button, CubeButtonProps } from '../../../actions/Button/Button';\nimport { isModernFormController } from '../backend';\nimport { useFormProps } from '../FormContext';\nimport { ModernSubmitButton } from '../modern/actions';\nimport { FieldTypes } from '../types';\nimport { CubeFormInstance } from '../use-form';\n\nimport type { FormController } from '../modern/controller';\n\nexport interface CubeSubmitButtonProps<\n T extends FieldTypes = FieldTypes,\n> extends Omit<CubeButtonProps, 'form'> {\n form?: CubeFormInstance<T> | FormController<T>;\n /** Modern forms: disable after validation fails. Defaults to false so submit can show errors. */\n disableOnInvalid?: boolean;\n}\n\nfunction LegacySubmitButton(\n props: Omit<CubeSubmitButtonProps, 'form'> & {\n form?: CubeFormInstance<FieldTypes>;\n },\n ref: FocusableRef<HTMLElement>,\n) {\n 'use no memo';\n // Legacy form state is mutable; preserve its render-time reads until migration.\n\n const providerProps = useProviderProps({} as CubeButtonProps);\n\n props = useFormProps(props);\n\n const { isDisabled: isContextDisabled } = providerProps;\n\n props = useFormProps(props);\n\n const {\n form,\n isDisabled,\n disableOnInvalid: _disableOnInvalid,\n ...otherProps\n } = props;\n const isSomethingDisabled = isDisabled || isContextDisabled;\n\n return (\n <Button\n ref={ref}\n type=\"primary\"\n htmlType=\"submit\"\n isLoading={form?.isSubmitting}\n isDisabled={\n isSomethingDisabled || form?.isSubmitting ? true : form?.isInvalid\n }\n {...otherProps}\n />\n );\n}\n\nfunction SubmitButton(\n props: CubeSubmitButtonProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const resolved = useFormProps(props);\n if (isModernFormController(resolved.form)) {\n return (\n <ModernSubmitButton\n {...resolved}\n form={resolved.form as FormController}\n buttonRef={ref}\n />\n );\n }\n return (\n <LegacySubmitButtonWithRef\n {...(props as Omit<CubeSubmitButtonProps, 'form'> & {\n form?: CubeFormInstance<FieldTypes>;\n })}\n ref={ref}\n />\n );\n}\n\nconst LegacySubmitButtonWithRef = forwardRef(LegacySubmitButton);\nconst _SubmitButton = forwardRef(SubmitButton);\n\n_SubmitButton.displayName = 'SubmitButton';\n\nexport { _SubmitButton as SubmitButton };\n"],"mappings":";;;;;;;;;;AAqBA,SAASgB,mBACPC,OAGAC,KACA;CACA;CAGA,MAAME,gBAAgBlB,iBAAiB,CAAC,CAAoB;CAE5De,QAAQX,aAAaW,KAAK;CAE1B,MAAM,EAAEI,YAAYC,sBAAsBF;CAE1CH,QAAQX,aAAaW,KAAK;CAE1B,MAAM,EACJJ,MACAQ,YACAN,kBAAkBQ,mBAClB,GAAGC,eACDP;CACJ,MAAMQ,sBAAsBJ,cAAcC;CAE1C,OACE,oBAAC,QAAD;EACOJ;EACL,MAAK;EACL,UAAS;EACT,WAAWL,MAAMa;EACjB,YACED,uBAAuBZ,MAAMa,eAAe,OAAOb,MAAMc;EAE3D,GAAIH;CAAW,CAAA;AAGrB;AAEA,SAAAI,aAAAX,OAAAC,KAAA;CAAA,MAAAW,IAAAC,EAAA,CAAA;CAIE,MAAAC,WAAiBzB,aAAaW,KAAK;CACnC,IAAIZ,uBAAuB0B,SAAQlB,IAAK,GAAC;EAI7B,MAAAmB,KAAAD,SAAQlB;EAAuB,IAAAoB;EAAA,IAAAJ,EAAA,OAAAX,OAAAW,EAAA,OAAAE,YAAAF,EAAA,OAAAG,IAAA;GAFvCC,KAAA,oBAAC,oBAAD;IAAmB,GACbF;IACE,MAAAC;IACKd,WAAAA;GAAG,CAAA;GACdW,EAAA,KAAAX;GAAAW,EAAA,KAAAE;GAAAF,EAAA,KAAAG;GAAAH,EAAA,KAAAI;EAAA,OAAAA,KAAAJ,EAAA;EAAA,OAJFI;CAIE;CAKG,MAAAD,KAAAf;CAEJ,IAAAgB;CAAA,IAAAJ,EAAA,OAAAX,OAAAW,EAAA,OAAAG,IAAA;EAHHC,KAAA,oBAAC,2BAAD;GAA0B,GACnBD;GAGAd;EAAG,CAAA;EACRW,EAAA,KAAAX;EAAAW,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OALFI;AAKE;AAIN,MAAMC,4BAA4BjC,WAAWe,kBAAkB;AAC/D,MAAMmB,gBAAgBlC,WAAW2B,YAAY;AAE7CO,cAAcC,cAAc"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { FormController } from "./modern/controller.js";
|
|
3
3
|
import { CubeAlertProps } from "../../content/Alert/types.js";
|
|
4
|
-
import "../../content/Alert/index.js";
|
|
5
4
|
import { ReactNode } from "react";
|
|
6
5
|
//#region src/components/form/Form/SubmitError.d.ts
|
|
7
6
|
export interface CubeSubmitErrorProps extends CubeAlertProps {
|