@cube-dev/ui-kit 0.200.1 → 0.202.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/README.md +1 -1
- package/dist/CHANGELOG.md +50 -0
- package/dist/README.md +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +2 -1
- package/dist/components/HiddenInput.js.map +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider/Divider.d.ts +22 -0
- package/dist/components/content/Divider/Divider.js +159 -0
- package/dist/components/content/Divider/Divider.js.map +1 -0
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +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/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.d.ts +2 -1
- package/dist/components/content/TextItem/TextItem.js +134 -69
- package/dist/components/content/TextItem/TextItem.js.map +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +39 -14
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +8 -7
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/checked-keys.js +158 -0
- package/dist/components/content/Tree/checked-keys.js.map +1 -0
- package/dist/components/content/Tree/rowId.js +16 -0
- package/dist/components/content/Tree/rowId.js.map +1 -0
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +10 -2
- package/dist/components/content/Tree/tree-index.js.map +1 -1
- package/dist/components/content/Tree/types.d.ts +21 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +17 -123
- 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/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/ItemTable/ItemTable.js +94 -66
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +88 -0
- package/dist/components/data/TableBase/TableRowLink.js.map +1 -0
- package/dist/components/data/TableBase/TableView.js +317 -69
- 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-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 +33 -22
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.d.ts +2 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/types.js.map +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
- package/dist/components/fields/Checkbox/Checkbox.js +21 -10
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
- package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
- 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 +3 -2
- package/dist/components/fields/ColorInput/ColorInput.js +5 -3
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
- 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 +3 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +6 -4
- package/dist/components/fields/ComboBox/ComboBox.js +601 -574
- 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.js +5 -4
- 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/DateInput.d.ts +3 -2
- package/dist/components/fields/DatePicker/DateInput.js +7 -5
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
- package/dist/components/fields/DatePicker/DatePicker.js +85 -173
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js +117 -204
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +289 -434
- 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 +3 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
- 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 +3 -2
- package/dist/components/fields/DatePicker/TimeInput.js +7 -5
- 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 +3 -2
- package/dist/components/fields/FileInput/FileInput.js +114 -141
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +66 -0
- package/dist/components/fields/FilterListBox/styled.js.map +1 -0
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
- package/dist/components/fields/ListBox/ListBox.js +7 -10
- 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 +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +5 -3
- 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 +5 -3
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +9 -3
- package/dist/components/fields/Picker/Picker.js +12 -11
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +152 -154
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
- package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/RadioGroup/context.js.map +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +52 -48
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +3 -2
- package/dist/components/fields/Select/Select.js +8 -10
- 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 +19 -26
- package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
- package/dist/components/fields/Slider/Slider.js +51 -58
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +61 -60
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Slider/types.d.ts +3 -2
- package/dist/components/fields/Switch/Switch.d.ts +12 -2
- package/dist/components/fields/Switch/Switch.js +97 -165
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
- package/dist/components/fields/TagInput/TagInput.js +18 -13
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +5 -3
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +5 -3
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +15 -4
- package/dist/components/fields/TextInput/TextInputBase.js +200 -104
- 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/index.d.ts +2 -2
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-chrome.js.map +1 -1
- package/dist/components/form/field-layout.d.ts +10 -0
- package/dist/components/form/field-layout.js +96 -0
- package/dist/components/form/field-layout.js.map +1 -0
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +15 -2
- package/dist/components/form/legacy-tooltip.js.map +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +6 -2
- 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/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +2 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
- 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-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +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/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 +116 -116
- 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 +1 -1
- package/dist/i18n/instance.js +1 -1
- 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 +4 -3
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.d.ts +5 -0
- package/dist/provider.js +19 -7
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/shared/form.d.ts +3 -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 +4 -4
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +29 -2
- package/dist/utils/react/disabledProps.js.map +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +44 -7
- package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/CreateComponent.md +1 -1
- package/docs/FieldProperties.md +17 -7
- package/docs/Usage.md +3 -0
- package/docs/components/content/Divider.md +103 -21
- package/docs/components/content/Tree.md +5 -4
- package/docs/components/data/ItemTable.md +9 -1
- package/docs/components/fields/Checkbox.md +7 -8
- package/docs/components/fields/ColorInput.md +11 -13
- package/docs/components/fields/ColorPicker.md +2 -2
- package/docs/components/fields/ColorSwatchGroup.md +2 -3
- package/docs/components/fields/ComboBox.md +2 -4
- package/docs/components/fields/CommandTextArea.md +3 -5
- package/docs/components/fields/DatePicker.md +1 -4
- package/docs/components/fields/FileInput.md +1 -5
- package/docs/components/fields/FilterListBox.md +0 -3
- package/docs/components/fields/FilterPicker.md +68 -5
- package/docs/components/fields/HueSlider.md +1 -2
- package/docs/components/fields/ListBox.md +0 -3
- package/docs/components/fields/NumberInput.md +5 -6
- package/docs/components/fields/PasswordInput.md +7 -8
- package/docs/components/fields/PeriodPicker.md +0 -4
- package/docs/components/fields/Picker.md +2 -4
- package/docs/components/fields/RadioGroup.md +4 -5
- package/docs/components/fields/SearchComboBox.md +2 -4
- package/docs/components/fields/SearchInput.md +3 -4
- package/docs/components/fields/Select.md +0 -3
- package/docs/components/fields/Slider.md +0 -1
- package/docs/components/fields/Switch.md +16 -3
- package/docs/components/fields/TagInput.md +3 -6
- package/docs/components/fields/TextArea.md +9 -8
- package/docs/components/fields/TextInput.md +39 -10
- package/docs/components/overlays/Tooltip.md +1 -1
- package/docs/tasty/ai-agents.md +1 -1
- package/docs/tasty/react-api.md +1 -1
- package/docs/tasty/styles.md +37 -3
- package/package.json +6 -4
- package/dist/components/content/Divider.d.ts +0 -7
- package/dist/components/content/Divider.js +0 -105
- package/dist/components/content/Divider.js.map +0 -1
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
2
|
-
import { extractStyles } from "../../../utils/styles.js";
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
|
|
3
2
|
import { useId as useId$2 } from "../../../utils/react/useId.js";
|
|
4
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
5
4
|
import { Text as _Text } from "../../content/Text.js";
|
|
5
|
+
import { getDisabledElementProps, getInertInputProps } from "../../../utils/react/disabledProps.js";
|
|
6
|
+
import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
6
7
|
import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
|
|
8
|
+
import { useAutoTooltip } from "../../content/use-auto-tooltip.js";
|
|
7
9
|
import { LoadingIcon } from "../../../icons/LoadingIcon.js";
|
|
10
|
+
import { mergeTooltipFocusProps, splitTooltipTriggerProps } from "../../overlays/Tooltip/split-trigger-props.js";
|
|
8
11
|
import { castNullableIsSelected } from "../../../utils/react/nullableValue.js";
|
|
9
12
|
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
10
13
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
11
14
|
import { wrapWithField } from "../../form/wrapper.js";
|
|
15
|
+
import { splitFieldLayout } from "../../form/field-layout.js";
|
|
12
16
|
import { HiddenInput } from "../../HiddenInput.js";
|
|
13
17
|
import { c } from "react/compiler-runtime";
|
|
14
|
-
import {
|
|
18
|
+
import { tasty } from "@tenphi/tasty";
|
|
15
19
|
import { forwardRef, useRef } from "react";
|
|
16
20
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
17
21
|
import { useHover, useSwitch } from "react-aria";
|
|
@@ -43,16 +47,19 @@ const SwitchElement = tasty({ styles: {
|
|
|
43
47
|
checked: "#primary",
|
|
44
48
|
"invalid & checked": "#danger",
|
|
45
49
|
"valid & checked": "#success",
|
|
50
|
+
readonly: "#surface-2",
|
|
46
51
|
disabled: "#border.5",
|
|
47
52
|
"disabled & checked": "#border"
|
|
48
53
|
},
|
|
49
54
|
color: {
|
|
50
55
|
"": "#dark-03",
|
|
51
|
-
checked: "#white"
|
|
56
|
+
checked: "#white",
|
|
57
|
+
"readonly & checked": "#dark-02"
|
|
52
58
|
},
|
|
53
59
|
border: {
|
|
54
60
|
"": "#dark-05",
|
|
55
61
|
checked: "#primary-text",
|
|
62
|
+
readonly: "#dark-05",
|
|
56
63
|
disabled: "#dark-05.5",
|
|
57
64
|
invalid: "#danger",
|
|
58
65
|
valid: "#success"
|
|
@@ -109,9 +116,8 @@ const SwitchElement = tasty({ styles: {
|
|
|
109
116
|
cursor: "$pointer"
|
|
110
117
|
}
|
|
111
118
|
} });
|
|
112
|
-
const PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];
|
|
113
119
|
function Switch(rawProps, ref) {
|
|
114
|
-
const $ = c(
|
|
120
|
+
const $ = c(10);
|
|
115
121
|
let t0;
|
|
116
122
|
if ($[0] !== rawProps) {
|
|
117
123
|
t0 = castNullableIsSelected(rawProps);
|
|
@@ -128,185 +134,111 @@ function Switch(rawProps, ref) {
|
|
|
128
134
|
$[2] = t1;
|
|
129
135
|
} else t1 = $[2];
|
|
130
136
|
const props = useFieldProps(rawProps, t1);
|
|
131
|
-
const { qa, isDisabled: t2, children, label, insideForm, isLoading, labelPosition, inputStyles, isInvalid, isValid, size:
|
|
137
|
+
const { qa, isDisabled: t2, isReadOnly: t3, children, label, insideForm, isLoading, labelPosition, inputStyles, isInvalid, isValid, size: t4, tooltip } = props;
|
|
132
138
|
const isDisabled = t2 === void 0 ? false : t2;
|
|
133
|
-
const
|
|
139
|
+
const isReadOnly = t3 === void 0 ? false : t3;
|
|
140
|
+
const size = t4 === void 0 ? "medium" : t4;
|
|
134
141
|
const id = useId$2(props.id);
|
|
135
|
-
|
|
136
|
-
if ($[3] !== props) {
|
|
137
|
-
t4 = extractStyles(props, PROP_STYLES);
|
|
138
|
-
$[3] = props;
|
|
139
|
-
$[4] = t4;
|
|
140
|
-
} else t4 = $[4];
|
|
141
|
-
const styles = t4;
|
|
142
|
+
const { styles, field } = splitFieldLayout(props);
|
|
142
143
|
const { isFocused, focusProps } = useFocus$1(true);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
$[
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
const t5 = isDisabled || isReadOnly;
|
|
145
|
+
let t6;
|
|
146
|
+
if ($[3] !== t5) {
|
|
147
|
+
t6 = { isDisabled: t5 };
|
|
148
|
+
$[3] = t5;
|
|
149
|
+
$[4] = t6;
|
|
150
|
+
} else t6 = $[4];
|
|
151
|
+
const { hoverProps, isHovered } = useHover(t6);
|
|
150
152
|
const inputRef = useRef(null);
|
|
151
153
|
const domRef = useFocusableRef(ref, inputRef);
|
|
152
|
-
const t6 = children ?? label;
|
|
153
154
|
let t7;
|
|
154
|
-
if ($[
|
|
155
|
+
if ($[5] !== tooltip) {
|
|
155
156
|
t7 = {
|
|
157
|
+
tooltip,
|
|
158
|
+
children: null
|
|
159
|
+
};
|
|
160
|
+
$[5] = tooltip;
|
|
161
|
+
$[6] = t7;
|
|
162
|
+
} else t7 = $[6];
|
|
163
|
+
const { renderWithTooltip, isTooltipActive } = useAutoTooltip(t7);
|
|
164
|
+
const t8 = children ?? label;
|
|
165
|
+
let t9;
|
|
166
|
+
if ($[7] !== props || $[8] !== t8) {
|
|
167
|
+
t9 = {
|
|
156
168
|
...props,
|
|
157
169
|
form: void 0,
|
|
158
|
-
children:
|
|
170
|
+
children: t8
|
|
159
171
|
};
|
|
160
172
|
$[7] = props;
|
|
161
|
-
$[8] =
|
|
162
|
-
$[9] =
|
|
163
|
-
} else
|
|
164
|
-
const { inputProps } = useSwitch(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
173
|
+
$[8] = t8;
|
|
174
|
+
$[9] = t9;
|
|
175
|
+
} else t9 = $[9];
|
|
176
|
+
const { inputProps: t10, isDisabled: isInputDisabled } = useSwitch(t9, useToggleState(props), inputRef);
|
|
177
|
+
let inputProps = t10;
|
|
178
|
+
if (getDisabledElementProps({
|
|
179
|
+
isDisabled: isInputDisabled,
|
|
180
|
+
keepEvents: isTooltipActive,
|
|
181
|
+
as: "input"
|
|
182
|
+
}).isInert) inputProps = getInertInputProps(inputProps, { excludeFromTabOrder: props.excludeFromTabOrder });
|
|
183
|
+
const mods = {
|
|
184
|
+
checked: inputProps.checked,
|
|
185
|
+
disabled: isDisabled,
|
|
186
|
+
readonly: isReadOnly,
|
|
187
|
+
hovered: isHovered,
|
|
188
|
+
focused: isFocused,
|
|
189
|
+
...getValidationMods({
|
|
169
190
|
isInvalid,
|
|
170
191
|
isValid
|
|
171
|
-
})
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
t11 = {
|
|
180
|
-
checked: t8,
|
|
181
|
-
disabled: isDisabled,
|
|
182
|
-
hovered: isHovered,
|
|
183
|
-
focused: isFocused,
|
|
184
|
-
...t9,
|
|
185
|
-
"inside-form": insideForm,
|
|
186
|
-
"side-label": t10
|
|
187
|
-
};
|
|
188
|
-
$[13] = inputProps.checked;
|
|
189
|
-
$[14] = insideForm;
|
|
190
|
-
$[15] = isDisabled;
|
|
191
|
-
$[16] = isFocused;
|
|
192
|
-
$[17] = isHovered;
|
|
193
|
-
$[18] = t10;
|
|
194
|
-
$[19] = t9;
|
|
195
|
-
$[20] = t11;
|
|
196
|
-
} else t11 = $[20];
|
|
197
|
-
const mods = t11;
|
|
198
|
-
const t12 = qa || "Switch";
|
|
199
|
-
let t13;
|
|
200
|
-
if ($[21] !== props.autoFocus) {
|
|
201
|
-
t13 = props.autoFocus ? { "data-autofocus": "" } : void 0;
|
|
202
|
-
$[21] = props.autoFocus;
|
|
203
|
-
$[22] = t13;
|
|
204
|
-
} else t13 = $[22];
|
|
205
|
-
let t14;
|
|
206
|
-
if ($[23] !== focusProps || $[24] !== inputProps) {
|
|
207
|
-
t14 = mergeProps$1(inputProps, focusProps);
|
|
208
|
-
$[23] = focusProps;
|
|
209
|
-
$[24] = inputProps;
|
|
210
|
-
$[25] = t14;
|
|
211
|
-
} else t14 = $[25];
|
|
212
|
-
let t15;
|
|
213
|
-
if ($[26] !== id || $[27] !== t12 || $[28] !== t13 || $[29] !== t14) {
|
|
214
|
-
t15 = /* @__PURE__ */ jsx(HiddenInput, {
|
|
215
|
-
qa: t12,
|
|
216
|
-
"data-input-type": "switch",
|
|
217
|
-
...t13,
|
|
218
|
-
...t14,
|
|
219
|
-
ref: inputRef,
|
|
220
|
-
id
|
|
221
|
-
});
|
|
222
|
-
$[26] = id;
|
|
223
|
-
$[27] = t12;
|
|
224
|
-
$[28] = t13;
|
|
225
|
-
$[29] = t14;
|
|
226
|
-
$[30] = t15;
|
|
227
|
-
} else t15 = $[30];
|
|
228
|
-
let t16;
|
|
229
|
-
if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
|
|
230
|
-
t16 = /* @__PURE__ */ jsx("div", {
|
|
231
|
-
"data-element": "Thumb",
|
|
232
|
-
"aria-hidden": "true"
|
|
233
|
-
});
|
|
234
|
-
$[31] = t16;
|
|
235
|
-
} else t16 = $[31];
|
|
236
|
-
let t17;
|
|
237
|
-
if ($[32] !== inputStyles || $[33] !== mods || $[34] !== size) {
|
|
238
|
-
t17 = /* @__PURE__ */ jsx(SwitchElement, {
|
|
239
|
-
"data-element": "Input",
|
|
240
|
-
mods,
|
|
241
|
-
"data-size": size,
|
|
242
|
-
styles: inputStyles,
|
|
243
|
-
children: t16
|
|
244
|
-
});
|
|
245
|
-
$[32] = inputStyles;
|
|
246
|
-
$[33] = mods;
|
|
247
|
-
$[34] = size;
|
|
248
|
-
$[35] = t17;
|
|
249
|
-
} else t17 = $[35];
|
|
250
|
-
let t18;
|
|
251
|
-
if ($[36] !== children) {
|
|
252
|
-
t18 = children ? /* @__PURE__ */ jsx(_Text, { children }) : null;
|
|
253
|
-
$[36] = children;
|
|
254
|
-
$[37] = t18;
|
|
255
|
-
} else t18 = $[37];
|
|
256
|
-
let t19;
|
|
257
|
-
if ($[38] !== isLoading || $[39] !== label) {
|
|
258
|
-
t19 = isLoading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [label ? /* @__PURE__ */ jsx(Fragment$1, { children: "\xA0" }) : null, /* @__PURE__ */ jsx(LoadingIcon, {})] }) : null;
|
|
259
|
-
$[38] = isLoading;
|
|
260
|
-
$[39] = label;
|
|
261
|
-
$[40] = t19;
|
|
262
|
-
} else t19 = $[40];
|
|
263
|
-
let t20;
|
|
264
|
-
if ($[41] !== domRef || $[42] !== hoverProps || $[43] !== mods || $[44] !== size || $[45] !== styles || $[46] !== t15 || $[47] !== t17 || $[48] !== t18 || $[49] !== t19) {
|
|
265
|
-
t20 = /* @__PURE__ */ jsxs(SwitchWrapperElement, {
|
|
266
|
-
ref: domRef,
|
|
192
|
+
}),
|
|
193
|
+
"inside-form": insideForm,
|
|
194
|
+
"side-label": labelPosition === "side"
|
|
195
|
+
};
|
|
196
|
+
const switchField = renderWithTooltip((tooltipTriggerProps, tooltipRef) => {
|
|
197
|
+
const { pointerProps, focusProps: tooltipFocusProps } = splitTooltipTriggerProps(tooltipTriggerProps);
|
|
198
|
+
return /* @__PURE__ */ jsxs(SwitchWrapperElement, {
|
|
199
|
+
ref: tooltipRef ? mergeRefs(domRef, tooltipRef) : domRef,
|
|
267
200
|
qa: "SwitchWrapper",
|
|
268
201
|
mods,
|
|
269
202
|
"data-size": size,
|
|
270
203
|
styles,
|
|
271
|
-
...hoverProps,
|
|
204
|
+
...mergeProps$1(hoverProps, pointerProps),
|
|
272
205
|
children: [
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
206
|
+
/* @__PURE__ */ jsx(HiddenInput, {
|
|
207
|
+
qa: qa || "Switch",
|
|
208
|
+
"data-input-type": "switch",
|
|
209
|
+
...props.autoFocus ? { "data-autofocus": "" } : void 0,
|
|
210
|
+
...mergeTooltipFocusProps(mergeProps$1(inputProps, focusProps), tooltipFocusProps),
|
|
211
|
+
ref: inputRef,
|
|
212
|
+
id,
|
|
213
|
+
mods: { disabled: isInputDisabled }
|
|
214
|
+
}),
|
|
215
|
+
/* @__PURE__ */ jsx(SwitchElement, {
|
|
216
|
+
"data-element": "Input",
|
|
217
|
+
mods,
|
|
218
|
+
"data-size": size,
|
|
219
|
+
styles: inputStyles,
|
|
220
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
221
|
+
"data-element": "Thumb",
|
|
222
|
+
"aria-hidden": "true"
|
|
223
|
+
})
|
|
224
|
+
}),
|
|
225
|
+
children ? /* @__PURE__ */ jsx(_Text, { children }) : null,
|
|
226
|
+
isLoading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [label ? /* @__PURE__ */ jsx(Fragment$1, { children: "\xA0" }) : null, /* @__PURE__ */ jsx(LoadingIcon, {})] }) : null
|
|
277
227
|
]
|
|
278
228
|
});
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
if ($[51] !== id || $[52] !== inputStyles || $[53] !== props || $[54] !== switchField) {
|
|
293
|
-
t21 = wrapWithField(switchField, {
|
|
294
|
-
...props,
|
|
295
|
-
id,
|
|
296
|
-
labelProps: {
|
|
297
|
-
...props.labelProps,
|
|
298
|
-
for: id
|
|
299
|
-
},
|
|
300
|
-
children: null,
|
|
301
|
-
inputStyles
|
|
302
|
-
});
|
|
303
|
-
$[51] = id;
|
|
304
|
-
$[52] = inputStyles;
|
|
305
|
-
$[53] = props;
|
|
306
|
-
$[54] = switchField;
|
|
307
|
-
$[55] = t21;
|
|
308
|
-
} else t21 = $[55];
|
|
309
|
-
return t21;
|
|
229
|
+
}, "top");
|
|
230
|
+
return wrapWithField(switchField, {
|
|
231
|
+
...props,
|
|
232
|
+
...field,
|
|
233
|
+
tooltip: void 0,
|
|
234
|
+
id,
|
|
235
|
+
labelProps: {
|
|
236
|
+
...props.labelProps,
|
|
237
|
+
for: id
|
|
238
|
+
},
|
|
239
|
+
children: null,
|
|
240
|
+
inputStyles
|
|
241
|
+
});
|
|
310
242
|
}
|
|
311
243
|
/**
|
|
312
244
|
* Switches allow users to turn an individual option on or off.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["useFocusableRef","BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","forwardRef","useRef","AriaSwitchProps","useHover","useSwitch","useToggleState","LoadingIcon","FieldBaseProps","ToggleSelectionProps","mergeProps","useFocus","castNullableIsSelected","WithNullableSelected","useId","extractStyles","Text","getValidationMods","useFieldProps","wrapWithField","HiddenInput","SwitchWrapperElement","as","styles","display","position","placeItems","gap","width","color","SwitchElement","boxSizing","verticalAlign","placeSelf","radius","fill","checked","disabled","border","invalid","valid","height","outline","focused","outlineOffset","transition","cursor","Thumb","top","left","PROP_STYLES","CubeSwitchProps","Omit","inputStyles","isLoading","size","Switch","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","qa","isDisabled","t2","children","label","insideForm","labelPosition","isInvalid","isValid","t3","undefined","id","t4","isFocused","focusProps","t5","hoverProps","isHovered","inputRef","domRef","t6","t7","form","inputProps","t8","t9","t10","t11","hovered","mods","t12","t13","autoFocus","t14","t15","t16","t17","t18","t19","t20","switchField","t21","labelProps","value","onChange","isSelected","isIndeterminate","_Switch","cubeInputType","displayName","_c","useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { useId } from '../../../utils/react/useId';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\n\nconst SwitchWrapperElement = tasty({\n as: 'label',\n styles: {\n display: 'flex',\n position: 'relative',\n placeItems: {\n '': 'center stretch',\n 'side-label': 'baseline stretch',\n },\n gap: '1x',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst SwitchElement = tasty({\n styles: {\n boxSizing: 'border-box',\n position: 'relative',\n verticalAlign: 'baseline',\n placeSelf: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n checked: '#primary',\n 'invalid & checked': '#danger',\n 'valid & checked': '#success',\n disabled: '#border.5',\n 'disabled & checked': '#border',\n },\n color: {\n '': '#dark-03',\n checked: '#white',\n },\n border: {\n '': '#dark-05',\n checked: '#primary-text',\n disabled: '#dark-05.5',\n invalid: '#danger',\n valid: '#success',\n },\n width: {\n '': '5x 5x',\n 'size=medium': '4x 4x',\n 'size=small': '3x 3x',\n },\n height: {\n '': '3x 3x',\n 'size=medium': '2.5x 2.5x',\n 'size=small': '2x 2x',\n },\n outline: {\n '': '#primary-text.0',\n focused: '$ring-width #primary-text',\n },\n outlineOffset: '$outline-offset',\n transition: 'theme',\n cursor: '$pointer',\n\n Thumb: {\n position: 'absolute',\n width: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n height: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n radius: 'round',\n fill: {\n '': '#current',\n disabled: '#current.5',\n 'disabled & checked': '#white.8',\n },\n top: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n },\n left: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n checked: '2.25x',\n 'checked & size=medium': '1.75x',\n 'checked & size=small': '1.25x',\n },\n transition: 'left, theme',\n cursor: '$pointer',\n },\n },\n});\n\nconst PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeSwitchProps\n extends\n BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<boolean | null | undefined>,\n ToggleSelectionProps,\n Omit<AriaSwitchProps, 'form' | 'name'> {\n inputStyles?: Styles;\n isLoading?: boolean;\n size?: 'large' | 'medium' | 'small';\n}\n\nfunction Switch(rawProps: WithNullableSelected<CubeSwitchProps>, ref) {\n rawProps = castNullableIsSelected(rawProps);\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value != null ? value : false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n });\n\n let {\n qa,\n isDisabled = false,\n children,\n label,\n insideForm,\n isLoading,\n labelPosition,\n inputStyles,\n isInvalid,\n isValid,\n size = 'medium',\n form,\n } = props;\n\n const id = useId(props.id);\n\n let styles = extractStyles(props, PROP_STYLES);\n\n let { isFocused, focusProps } = useFocus(true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n // React Aria writes `form` onto the input as the id of its `<form>`, so the\n // form instance would render as `form=\"[object Object]\"` and detach it. It\n // reads `children` only to warn about a switch with no visible label; a\n // field `label` is one, named through its `<label for>`.\n let { inputProps } = useSwitch(\n { ...props, form: undefined, children: children ?? label },\n useToggleState(props),\n inputRef,\n );\n\n const mods = {\n checked: inputProps.checked,\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n ...getValidationMods({ isInvalid, isValid }),\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n };\n\n const switchField = (\n <SwitchWrapperElement\n ref={domRef}\n qa=\"SwitchWrapper\"\n mods={mods}\n data-size={size}\n styles={styles}\n {...hoverProps}\n >\n <HiddenInput\n qa={qa || 'Switch'}\n data-input-type=\"switch\"\n // For a dialog kept mounted while closed, as on `Button`.\n {...(props.autoFocus ? { 'data-autofocus': '' } : undefined)}\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n id={id}\n />\n <SwitchElement\n data-element=\"Input\"\n mods={mods}\n data-size={size}\n styles={inputStyles}\n >\n <div data-element=\"Thumb\" aria-hidden=\"true\" />\n </SwitchElement>\n {/*\n Not `nowrap`: it inherits, so no label could wrap and a long one ran out\n of its container. The label inherits the wrapper's font and color, so\n a caller's `styles` reach it.\n */}\n {children ? <Text>{children}</Text> : null}\n {isLoading ? (\n <>\n {label ? <> </> : null}\n <LoadingIcon />\n </>\n ) : null}\n </SwitchWrapperElement>\n );\n\n return wrapWithField(switchField, {\n ...props,\n id,\n labelProps: {\n ...props.labelProps,\n for: id,\n },\n children: null,\n inputStyles,\n });\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = forwardRef(Switch);\n\n(_Switch as any).cubeInputType = 'Checkbox';\n_Switch.displayName = 'Switch';\n\nexport { _Switch as Switch };\nexport type { AriaSwitchProps };\nexport { useSwitch };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["useFocusableRef","BaseProps","Styles","tasty","forwardRef","ReactElement","useRef","AriaSwitchProps","useHover","useSwitch","useToggleState","LoadingIcon","FieldBaseProps","ToggleSelectionProps","mergeProps","mergeRefs","getDisabledElementProps","getInertInputProps","useFocus","castNullableIsSelected","WithNullableSelected","useId","Text","useAutoTooltip","getValidationMods","useFieldProps","wrapWithField","FieldLayoutStyleProps","splitFieldLayout","HiddenInput","mergeTooltipFocusProps","splitTooltipTriggerProps","CubeTooltipProviderProps","SwitchWrapperElement","as","styles","display","position","placeItems","gap","width","color","SwitchElement","boxSizing","verticalAlign","placeSelf","radius","fill","checked","readonly","disabled","border","invalid","valid","height","outline","focused","outlineOffset","transition","cursor","Thumb","top","left","CubeSwitchProps","Omit","inputStyles","isLoading","size","tooltip","Switch","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","qa","isDisabled","t2","isReadOnly","t3","children","label","insideForm","labelPosition","isInvalid","isValid","t4","undefined","id","field","isFocused","focusProps","t5","t6","hoverProps","isHovered","inputRef","domRef","t7","renderWithTooltip","isTooltipActive","t8","t9","form","inputProps","t10","isInputDisabled","keepEvents","isInert","excludeFromTabOrder","mods","hovered","switchField","tooltipTriggerProps","tooltipRef","pointerProps","tooltipFocusProps","autoFocus","labelProps","value","onChange","isSelected","isIndeterminate","_Switch","cubeInputType","displayName","_c","useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactElement, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps, mergeRefs } from '../../../utils/react';\nimport {\n getDisabledElementProps,\n getInertInputProps,\n} from '../../../utils/react/disabledProps';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { useId } from '../../../utils/react/useId';\nimport { Text } from '../../content/Text';\nimport { useAutoTooltip } from '../../content/use-auto-tooltip';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport {\n FieldLayoutStyleProps,\n splitFieldLayout,\n} from '../../form/field-layout';\nimport { HiddenInput } from '../../HiddenInput';\nimport {\n mergeTooltipFocusProps,\n splitTooltipTriggerProps,\n} from '../../overlays/Tooltip/split-trigger-props';\n\nimport type { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\n\nconst SwitchWrapperElement = tasty({\n as: 'label',\n styles: {\n display: 'flex',\n position: 'relative',\n placeItems: {\n '': 'center stretch',\n 'side-label': 'baseline stretch',\n },\n gap: '1x',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst SwitchElement = tasty({\n styles: {\n boxSizing: 'border-box',\n position: 'relative',\n verticalAlign: 'baseline',\n placeSelf: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n checked: '#primary',\n 'invalid & checked': '#danger',\n 'valid & checked': '#success',\n readonly: '#surface-2',\n disabled: '#border.5',\n 'disabled & checked': '#border',\n },\n color: {\n '': '#dark-03',\n checked: '#white',\n 'readonly & checked': '#dark-02',\n },\n border: {\n '': '#dark-05',\n checked: '#primary-text',\n readonly: '#dark-05',\n disabled: '#dark-05.5',\n invalid: '#danger',\n valid: '#success',\n },\n width: {\n '': '5x 5x',\n 'size=medium': '4x 4x',\n 'size=small': '3x 3x',\n },\n height: {\n '': '3x 3x',\n 'size=medium': '2.5x 2.5x',\n 'size=small': '2x 2x',\n },\n outline: {\n '': '#primary-text.0',\n focused: '$ring-width #primary-text',\n },\n outlineOffset: '$outline-offset',\n transition: 'theme',\n cursor: '$pointer',\n\n Thumb: {\n position: 'absolute',\n width: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n height: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n radius: 'round',\n fill: {\n '': '#current',\n disabled: '#current.5',\n 'disabled & checked': '#white.8',\n },\n top: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n },\n left: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n checked: '2.25x',\n 'checked & size=medium': '1.75x',\n 'checked & size=small': '1.25x',\n },\n transition: 'left, theme',\n cursor: '$pointer',\n },\n },\n});\n\nexport interface CubeSwitchProps\n extends\n BaseProps,\n FieldLayoutStyleProps,\n FieldBaseProps<boolean | null | undefined>,\n ToggleSelectionProps,\n Omit<AriaSwitchProps, 'form' | 'name'> {\n inputStyles?: Styles;\n isLoading?: boolean;\n size?: 'large' | 'medium' | 'small';\n /**\n * The switch's own tooltip, shown on hover over the switch and its inline\n * label and on keyboard focus, also while the switch is disabled: a disabled\n * switch with a tooltip stays focusable. A string, or `TooltipProvider` props\n * (`title`, `placement`, …). The info badge next to a field label is\n * `labelTooltip`.\n */\n tooltip?: string | Omit<CubeTooltipProviderProps, 'children'>;\n}\n\nfunction Switch(rawProps: WithNullableSelected<CubeSwitchProps>, ref) {\n rawProps = castNullableIsSelected(rawProps);\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value != null ? value : false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n });\n\n let {\n qa,\n isDisabled = false,\n isReadOnly = false,\n children,\n label,\n insideForm,\n isLoading,\n labelPosition,\n inputStyles,\n isInvalid,\n isValid,\n size = 'medium',\n form,\n tooltip,\n } = props;\n\n const id = useId(props.id);\n\n const { styles, field } = splitFieldLayout(props);\n\n let { isFocused, focusProps } = useFocus(true);\n // A read-only switch takes no hover state: a press would change nothing.\n let { hoverProps, isHovered } = useHover({\n isDisabled: isDisabled || isReadOnly,\n });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let { renderWithTooltip, isTooltipActive } = useAutoTooltip({\n tooltip,\n children: null,\n });\n\n // React Aria writes `form` onto the input as the id of its `<form>`, so the\n // form instance would render as `form=\"[object Object]\"` and detach it. It\n // reads `children` only to warn about a switch with no visible label; a\n // field `label` is one, named through its `<label for>`.\n let { inputProps, isDisabled: isInputDisabled } = useSwitch(\n { ...props, form: undefined, children: children ?? label },\n useToggleState(props),\n inputRef,\n );\n\n // A disabled switch with a tooltip keeps its focus, as `Checkbox` does: the\n // tooltip is usually the reason it is disabled, and focus is how the keyboard\n // opens it. It is `aria-disabled` and inert instead.\n if (\n getDisabledElementProps({\n isDisabled: isInputDisabled,\n keepEvents: isTooltipActive,\n as: 'input',\n }).isInert\n ) {\n inputProps = getInertInputProps(inputProps, {\n excludeFromTabOrder: props.excludeFromTabOrder,\n });\n }\n\n const mods = {\n checked: inputProps.checked,\n disabled: isDisabled,\n readonly: isReadOnly,\n hovered: isHovered,\n focused: isFocused,\n ...getValidationMods({ isInvalid, isValid }),\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n };\n\n // The input, where keyboard focus lands, takes the tooltip's focus-side\n // trigger props; the wrapper keeps the hover side and positions the tooltip.\n // It shares the field's ref, which is the wrapper with or without chrome.\n const switchField = renderWithTooltip((tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n <SwitchWrapperElement\n ref={tooltipRef ? mergeRefs(domRef, tooltipRef) : domRef}\n qa=\"SwitchWrapper\"\n mods={mods}\n data-size={size}\n styles={styles}\n {...mergeProps(hoverProps, pointerProps)}\n >\n <HiddenInput\n qa={qa || 'Switch'}\n data-input-type=\"switch\"\n // For a dialog kept mounted while closed, as on `Button`.\n {...(props.autoFocus ? { 'data-autofocus': '' } : undefined)}\n {...mergeTooltipFocusProps(\n mergeProps(inputProps, focusProps),\n tooltipFocusProps,\n )}\n ref={inputRef}\n id={id}\n // Not left to the native `disabled`, which an inert input drops.\n mods={{ disabled: isInputDisabled }}\n />\n <SwitchElement\n data-element=\"Input\"\n mods={mods}\n data-size={size}\n styles={inputStyles}\n >\n <div data-element=\"Thumb\" aria-hidden=\"true\" />\n </SwitchElement>\n {/*\n Not `nowrap`: it inherits, so no label could wrap and a long one ran out\n of its container. The label inherits the wrapper's font and color, so\n a caller's `styles` reach it.\n */}\n {children ? <Text>{children}</Text> : null}\n {isLoading ? (\n <>\n {label ? <> </> : null}\n <LoadingIcon />\n </>\n ) : null}\n </SwitchWrapperElement>\n );\n }, 'top');\n\n // `renderWithTooltip` is typed for any node; here it returns an element.\n return wrapWithField(switchField as ReactElement, {\n ...props,\n ...field,\n // The switch's own, not the legacy spelling of `labelTooltip`.\n tooltip: undefined,\n id,\n labelProps: {\n ...props.labelProps,\n for: id,\n },\n children: null,\n inputStyles,\n });\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = forwardRef(Switch);\n\n(_Switch as any).cubeInputType = 'Checkbox';\n_Switch.displayName = 'Switch';\n\nexport { _Switch as Switch };\nexport type { AriaSwitchProps };\nexport { useSwitch };\n"],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import { FieldBaseProps } from "../../../shared/form.js";
|
|
|
3
3
|
import "../../../shared/index.js";
|
|
4
4
|
import { CollectionItem as _CollectionItem } from "../../CollectionItem.js";
|
|
5
5
|
import { CubeTagProps } from "../../content/Tag/Tag.js";
|
|
6
|
+
import { FieldLayoutStyleProps } from "../../form/field-layout.js";
|
|
6
7
|
import { WithNullableValue } from "../../../utils/react/nullableValue.js";
|
|
7
|
-
import { BasePropsWithoutChildren,
|
|
8
|
+
import { BasePropsWithoutChildren, Styles } from "@tenphi/tasty";
|
|
8
9
|
import { ForwardedRef, KeyboardEvent, ReactElement, ReactNode, RefObject } from "react";
|
|
9
10
|
import { Section } from "react-stately";
|
|
10
11
|
import { Key as Key$1 } from "@react-types/shared";
|
|
@@ -17,7 +18,7 @@ export type TagInputPopoverTrigger = 'focus' | 'input' | 'manual';
|
|
|
17
18
|
* message.
|
|
18
19
|
*/
|
|
19
20
|
export type TagValidationResult = boolean | string | null | undefined;
|
|
20
|
-
export interface CubeTagInputProps<T = object> extends BasePropsWithoutChildren,
|
|
21
|
+
export interface CubeTagInputProps<T = object> extends BasePropsWithoutChildren, FieldLayoutStyleProps, FieldBaseProps<readonly string[] | null | undefined> {
|
|
21
22
|
/** The values in controlled mode. */
|
|
22
23
|
value?: readonly string[];
|
|
23
24
|
/** The initial values in uncontrolled mode. */
|
|
@@ -53,6 +54,8 @@ export interface CubeTagInputProps<T = object> extends BasePropsWithoutChildren,
|
|
|
53
54
|
/**
|
|
54
55
|
* Called when a key is pressed in the input, before the component handles it.
|
|
55
56
|
* Call `e.preventDefault()` to stop the component from handling the key.
|
|
57
|
+
* `Escape` and `Tab` go on to a surrounding dialog unless TagInput acts on
|
|
58
|
+
* them or the handler prevents them.
|
|
56
59
|
*/
|
|
57
60
|
onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
|
|
58
61
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
2
|
-
import { extractStyles } from "../../../utils/styles.js";
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
|
|
3
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
5
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -10,20 +9,22 @@ import { useFormatter } from "../../../i18n/useFormatter.js";
|
|
|
10
9
|
import { DirectionIcon } from "../../../icons/DirectionIcon.js";
|
|
11
10
|
import { generateRandomId } from "../../../utils/random.js";
|
|
12
11
|
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
12
|
+
import { settleOverlayKey } from "../../../utils/react/overlayKeyPropagation.js";
|
|
13
13
|
import { castNullableArrayValue } from "../../../utils/react/nullableValue.js";
|
|
14
14
|
import { withFieldChrome } from "../../form/field-chrome.js";
|
|
15
15
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
16
16
|
import { rendersFieldChrome, wrapWithField } from "../../form/wrapper.js";
|
|
17
|
+
import { splitFieldLayout } from "../../form/field-layout.js";
|
|
17
18
|
import { getListBoxOptionId } from "../ListBox/optionId.js";
|
|
18
19
|
import { collectVisibleKeys, filterCollectionNodes, getEdgeVisibleKey, getNextVisibleKey } from "../ListBoxPopover/listNavigation.js";
|
|
19
|
-
import { TextInputBase } from "../TextInput/TextInputBase.js";
|
|
20
|
+
import { TextInputBase as _TextInputBase } from "../TextInput/TextInputBase.js";
|
|
20
21
|
import { ListBoxPopover } from "../ListBoxPopover/ListBoxPopover.js";
|
|
21
22
|
import { useCompositeFocus } from "../ListBoxPopover/useCompositeFocus.js";
|
|
22
23
|
import { TagList } from "./TagList.js";
|
|
23
24
|
import { useActiveOption } from "./useActiveOption.js";
|
|
24
25
|
import { useTagError } from "./useTagError.js";
|
|
25
26
|
import { c } from "react/compiler-runtime";
|
|
26
|
-
import {
|
|
27
|
+
import { tasty } from "@tenphi/tasty";
|
|
27
28
|
import { cloneElement, forwardRef, isValidElement, useEffect, useRef, useState } from "react";
|
|
28
29
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
29
30
|
import { VisuallyHidden, useFilter, useId as useId$1, useTextField } from "react-aria";
|
|
@@ -332,7 +333,7 @@ function TagInput(props, ref) {
|
|
|
332
333
|
const overlayOffset = t8 === void 0 ? 8 : t8;
|
|
333
334
|
const containerPadding = t9 === void 0 ? 8 : t9;
|
|
334
335
|
const size = t10 === void 0 ? "medium" : t10;
|
|
335
|
-
const styles =
|
|
336
|
+
const { styles, field } = splitFieldLayout(props);
|
|
336
337
|
const rootRef = useCombinedRefs(ref);
|
|
337
338
|
const inputRef = useCombinedRefs(inputRefProp);
|
|
338
339
|
const wrapperRef = useCombinedRefs(wrapperRefProp);
|
|
@@ -723,14 +724,16 @@ function TagInput(props, ref) {
|
|
|
723
724
|
const handleEscapeKey = useEvent(t23);
|
|
724
725
|
const handleKeyDown = useEvent((e_5) => {
|
|
725
726
|
onKeyDown?.(e_5);
|
|
727
|
+
if (!e_5.defaultPrevented && isInteractive) {
|
|
728
|
+
if (e_5.key === "ArrowDown" || e_5.key === "ArrowUp") handleArrowKey(e_5);
|
|
729
|
+
else if ((e_5.key === "Home" || e_5.key === "End") && shouldShowPopover) handleEdgeKey(e_5);
|
|
730
|
+
else if (e_5.key === "Backspace" && !draft && uniqueValues.some((value_4) => !isTagLocked(value_4))) handleBackspaceKey(e_5);
|
|
731
|
+
else if (e_5.key === "Enter") handleEnterKey(e_5);
|
|
732
|
+
else if (delimiters.includes(e_5.key)) handleDelimiterKey(e_5);
|
|
733
|
+
else if (e_5.key === "Escape") handleEscapeKey(e_5);
|
|
734
|
+
}
|
|
726
735
|
isTabbingRef.current = e_5.key === "Tab" && !e_5.defaultPrevented;
|
|
727
|
-
|
|
728
|
-
if (e_5.key === "ArrowDown" || e_5.key === "ArrowUp") handleArrowKey(e_5);
|
|
729
|
-
else if ((e_5.key === "Home" || e_5.key === "End") && shouldShowPopover) handleEdgeKey(e_5);
|
|
730
|
-
else if (e_5.key === "Backspace" && !draft && uniqueValues.some((value_4) => !isTagLocked(value_4))) handleBackspaceKey(e_5);
|
|
731
|
-
else if (e_5.key === "Enter") handleEnterKey(e_5);
|
|
732
|
-
else if (delimiters.includes(e_5.key)) handleDelimiterKey(e_5);
|
|
733
|
-
else if (e_5.key === "Escape") handleEscapeKey(e_5);
|
|
736
|
+
settleOverlayKey(e_5);
|
|
734
737
|
});
|
|
735
738
|
const handleInputChange = useEvent((next_3) => {
|
|
736
739
|
setTagError(null);
|
|
@@ -949,7 +952,7 @@ function TagInput(props, ref) {
|
|
|
949
952
|
styles,
|
|
950
953
|
...compositeFocusProps,
|
|
951
954
|
children: [
|
|
952
|
-
/* @__PURE__ */ jsx(
|
|
955
|
+
/* @__PURE__ */ jsx(_TextInputBase, {
|
|
953
956
|
isBare: true,
|
|
954
957
|
qa: qa || "TagInput",
|
|
955
958
|
inputRef,
|
|
@@ -964,6 +967,7 @@ function TagInput(props, ref) {
|
|
|
964
967
|
size,
|
|
965
968
|
autoFocus,
|
|
966
969
|
isDisabled,
|
|
970
|
+
isReadOnly,
|
|
967
971
|
isLoading,
|
|
968
972
|
isInvalid: effectiveIsInvalid,
|
|
969
973
|
isValid,
|
|
@@ -1026,6 +1030,7 @@ function TagInput(props, ref) {
|
|
|
1026
1030
|
const { children: _children, ...fieldProps } = props;
|
|
1027
1031
|
return wrapWithField(tagInputField, {
|
|
1028
1032
|
...fieldProps,
|
|
1033
|
+
...field,
|
|
1029
1034
|
labelProps: mergeProps$1(labelProps, userLabelProps),
|
|
1030
1035
|
isInvalid: effectiveIsInvalid,
|
|
1031
1036
|
message: tagError ? /* @__PURE__ */ jsx("span", { children: tagError.text }, tagError.id) : message,
|