@cube-dev/ui-kit 0.201.0 → 0.203.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 +56 -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.js +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 +233 -178
- 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/index.d.ts +2 -2
- package/dist/components/data/ItemTable/item-table-sections.js +68 -0
- package/dist/components/data/ItemTable/item-table-sections.js.map +1 -0
- package/dist/components/data/ItemTable/types.d.ts +12 -0
- 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 +31 -27
- package/dist/components/data/ItemTable/use-item-table-selection.js.map +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 +1 -1
- package/dist/components/data/TableBase/TableView.d.ts +1 -0
- package/dist/components/data/TableBase/TableView.js +86 -21
- 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 +25 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.d.ts +3 -0
- package/dist/components/data/TableBase/table-body-sections.js +30 -0
- package/dist/components/data/TableBase/table-body-sections.js.map +1 -0
- 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-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/data/index.d.ts +2 -2
- 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 +7 -5
- package/dist/components/fields/ComboBox/ComboBox.js +704 -639
- 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 +6 -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 +84 -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 +116 -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 +288 -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 -6
- 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 +71 -100
- 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 +40 -21
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +52 -37
- package/dist/components/fields/NumberInput/StepButton.js.map +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 -3
- 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 +25 -4
- package/dist/components/fields/TextInput/TextInputBase.js +214 -106
- 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 +20 -0
- package/dist/components/form/field-layout.js +114 -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 +7 -3
- 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/styled.js +18 -18
- 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 +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +25 -1
- package/dist/eslint-plugin/defaults.generated.js.map +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 +5 -4
- 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 +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 +2 -2
- package/docs/CreateComponent.md +1 -1
- package/docs/FieldProperties.md +29 -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 +25 -0
- 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 +9 -7
- package/docs/components/fields/CommandTextArea.md +4 -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 -3
- package/docs/components/fields/ListBox.md +0 -3
- package/docs/components/fields/NumberInput.md +9 -6
- package/docs/components/fields/PasswordInput.md +9 -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 +16 -4
- package/docs/components/fields/Select.md +0 -3
- package/docs/components/fields/Slider.md +0 -2
- package/docs/components/fields/Switch.md +16 -3
- package/docs/components/fields/TagInput.md +3 -6
- package/docs/components/fields/TextArea.md +10 -8
- package/docs/components/fields/TextInput.md +52 -10
- package/docs/components/navigation/Tabs.md +47 -0
- package/docs/components/overlays/Tooltip.md +1 -1
- package/package.json +4 -2
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInputBase.js","names":["useObjectRef","createFocusableRef","BASE_STYLES","BaseProps","BaseStyleProps","BLOCK_STYLES","BlockStyleProps","COLOR_STYLES","ColorStyleProps","mergeStyles","OUTER_STYLES","OuterStyleProps","Styles","tasty","FocusEventHandler","forwardRef","MouseEvent","ReactElement","ReactNode","RefObject","useImperativeHandle","useMemo","AriaNumberFieldProps","AriaTextFieldProps","useHover","FieldBaseProps","TextFieldKeyboardProps","mergeProps","useCombinedRefs","useFocus","extractStyles","getValidationMods","hasValidationIndicator","ValidationIndicator","wrapWithField","Props","ADD_STYLES","$","display","placeContent","placeItems","gridRows","flow","gap","cursor","opacity","disabled","INPUT_WRAPPER_STYLES","position","gridColumns","prefix","suffix","fill","border","valid","invalid","focused","preset","radius","color","zIndex","boxSizing","transition","backgroundClip","height","multiline","$size","Prefix","Suffix","State","InputIcon","width","fontSize","ValidationIcon","InputWrapperElement","qa","styles","PROP_STYLES","DEFAULT_INPUT_STYLES","recipe","placeSelf","padding","textAlign","flexGrow","margin","resize","userSelect","Placeholder","InputElement","INTERACTIVE_ELEMENTS","focusInputOnBoxPress","event","HTMLElement","input","HTMLInputElement","HTMLTextAreaElement","button","defaultPrevented","box","currentTarget","target","Element","contains","interactive","closest","preventDefault","focus","CubeTextInputBaseProps","Omit","validate","onFocus","onBlur","icon","suffixPosition","actions","multiLine","autoFocus","inputProps","wrapperProps","inputRef","wrapperRef","HTMLDivElement","isLoading","loadingIndicator","inputStyles","rows","size","autoComplete","autocomplete","CubeBufferedValueProps","isBuffered","_TextInputBase","props","ref","mods","isInvalid","isValid","isDisabled","value","maxLength","minLength","form","otherProps","type","ElementType","isFocused","focusProps","hoverProps","isHovered","domRef","select","current","getInputElement","showValidationIndicator","placeholder","modifiers","loadable","hovered","resolvedAutoComplete","resolvedAutoFocus","hasTextSecurity","textSecurityStyles","length","fontFamily","textField","onMouseDown","undefined","TextInputBase","useFocus","mergeProps"],"sources":["../../../../src/components/fields/TextInput/TextInputBase.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { createFocusableRef } from '@react-spectrum/utils';\nimport {\n BASE_STYLES,\n BaseProps,\n BaseStyleProps,\n BLOCK_STYLES,\n BlockStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n FocusEventHandler,\n forwardRef,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefObject,\n useImperativeHandle,\n useMemo,\n} from 'react';\nimport { AriaNumberFieldProps, AriaTextFieldProps, useHover } from 'react-aria';\n\nimport { FieldBaseProps, TextFieldKeyboardProps } from '../../../shared';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport {\n getValidationMods,\n hasValidationIndicator,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\n\nimport type { Props } from '../../../props';\n\nconst ADD_STYLES = {\n $: '>',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n gridRows: '1sf',\n flow: 'column',\n gap: 0,\n cursor: 'inherit',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n};\n\nexport const INPUT_WRAPPER_STYLES: Styles = {\n display: 'grid',\n flow: 'row',\n position: 'relative',\n gridColumns: {\n '': '1sf',\n prefix: 'max-content 1sf',\n suffix: '1sf max-content',\n 'prefix & suffix': 'max-content 1sf max-content',\n },\n gridRows: '1sf',\n placeItems: 'stretch',\n fill: {\n '': '#surface',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n focused: '#primary-text',\n 'valid & focused': '#success-text',\n 'invalid & focused': '#danger-text',\n disabled: true,\n },\n preset: 't3',\n radius: true,\n cursor: 'text',\n color: {\n '': '#dark-02',\n focused: '#dark-02',\n invalid: '#danger-text',\n disabled: '#dark.30',\n },\n zIndex: {\n '': 'initial',\n focused: 1,\n },\n boxSizing: 'border-box',\n transition: 'theme',\n backgroundClip: 'content-box',\n height: {\n '': '$size $size',\n multiline: 'min $size',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Prefix: ADD_STYLES,\n\n Suffix: ADD_STYLES,\n\n State: {\n $: '> Suffix >',\n display: 'flex',\n },\n\n InputIcon: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $size-sm',\n color: 'inherit',\n fontSize: '$icon-size',\n },\n\n ValidationIcon: {\n $: '> Suffix > State >',\n display: 'grid',\n placeItems: 'center',\n width: {\n '': 'min $size-sm',\n suffix: 'min $size-xs',\n },\n fontSize: '$icon-size',\n },\n};\n\nconst InputWrapperElement = tasty({\n qa: 'InputWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nconst PROP_STYLES = [\n ...BASE_STYLES,\n ...OUTER_STYLES,\n ...BLOCK_STYLES,\n ...COLOR_STYLES,\n];\n\nexport const DEFAULT_INPUT_STYLES: Styles = {\n recipe: 'reset input / input-autofill',\n placeSelf: 'stretch',\n width: 'initial 100% 100%',\n transition: 'theme',\n radius: true,\n padding: '$vertical-padding $right-padding $vertical-padding $left-padding',\n textAlign: 'left',\n preset: 't3',\n flexGrow: 1,\n margin: {\n '': 0,\n multiline: '((($size-md - 1lh) / 2) - 1bw) 0',\n 'multiline & size=small': '((($size-sm - 1lh) / 2) - 1bw) 0',\n 'multiline & size=large': '((($size-lg - 1lh) / 2) - 1bw) 0',\n },\n resize: 'none',\n userSelect: 'auto',\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n\n '$vertical-padding': 0,\n '$left-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n prefix: '0',\n },\n '$right-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n suffix: '0',\n },\n};\n\nconst InputElement = tasty({ qa: 'Input', styles: DEFAULT_INPUT_STYLES });\n\nconst INTERACTIVE_ELEMENTS =\n 'a[href], button, input, select, textarea, [tabindex], [contenteditable]';\n\n/**\n * A press inside the field box but outside the input — the prefix or suffix area, an icon, a\n * textarea's margins — focuses the input, as a press anywhere in a native field does. Presses on\n * the input itself and on interactive children, such as a clear button or the steppers, stay\n * theirs.\n */\nfunction focusInputOnBoxPress(\n event: MouseEvent<HTMLElement>,\n input: HTMLInputElement | HTMLTextAreaElement | null | undefined,\n) {\n if (event.button !== 0 || event.defaultPrevented) return;\n if (!input || input.disabled) return;\n\n const box = event.currentTarget;\n const target = event.target as Element;\n\n // React bubbles presses from a portal (a popover opened from a field action)\n // through the box; those belong to the portal.\n if (!box.contains(target)) return;\n\n const interactive = target.closest(INTERACTIVE_ELEMENTS);\n\n if (interactive && box.contains(interactive)) return;\n\n // The default action would move focus to the press target first, blurring the input.\n event.preventDefault();\n input.focus();\n}\n\nexport interface CubeTextInputBaseProps\n extends\n BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n BaseStyleProps,\n ColorStyleProps,\n Omit<\n AriaTextFieldProps<HTMLInputElement | HTMLTextAreaElement>,\n | 'validate'\n | 'form'\n | 'name'\n | 'errorMessage'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onFocus'\n | 'onBlur'\n >,\n TextFieldKeyboardProps,\n FieldBaseProps {\n validate?: AriaTextFieldProps['validate'] | AriaNumberFieldProps['validate'];\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /** Left input icon */\n icon?: ReactElement | null;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /**\n * Controls placed last in the suffix, after the validation and loading\n * statuses and after `suffix` whatever its position, such as a popover\n * trigger.\n */\n actions?: ReactNode;\n /** Whether the input is multiline */\n multiLine?: boolean;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /**\n * Direct input props. The explicit props above (`isDisabled`, `maxLength`, `minLength`,\n * `autoFocus`, `rows`, `autoComplete`) win over the same attributes here when they are set; an\n * unset one leaves the value given here in place.\n */\n inputProps?: Props;\n /** Direct input wrapper props */\n wrapperProps?: Props;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;\n /** The wrapper ref */\n wrapperRef?: RefObject<HTMLDivElement | null>;\n /** Whether the input has the loading status */\n isLoading?: boolean;\n /** Rendered in place of the default loading icon while `isLoading` is set */\n loadingIndicator?: ReactNode;\n /** Style map for the input */\n inputStyles?: Styles;\n /** The number of rows for the input. Only applies to textarea. */\n rows?: number;\n /** The resize CSS property sets whether an element is resizable, and if so, in which directions. */\n resize?: Styles['resize'];\n /** The size of the input */\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * What kind of autofill the browser may offer for the input, as the HTML `autocomplete` token\n * (`email`, `current-password`, `off`, …). See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).\n */\n autoComplete?: string;\n /**\n * @deprecated Use `autoComplete` instead. Kept as an alias so existing callers keep working;\n * `autoComplete` wins when both are set.\n */\n autocomplete?: string;\n}\n\n/**\n * Mixed into the fields that actually buffer their value — `TextInput`, `TextArea`,\n * `PasswordInput`, `SearchInput` — rather than declared on `CubeTextInputBaseProps`. Every field\n * built on that base would otherwise inherit the prop, including `NumberInput` and\n * `CommandTextArea`, which keep their own text and ignore it: a public API that accepts a flag and\n * does nothing with it.\n */\nexport interface CubeBufferedValueProps {\n /**\n * Whether the typed text is held locally until the controlled `value` catches up. On by default,\n * which is what keeps the caret in place when the value round-trips through a store that\n * re-renders a pass late. Set to `false` for a caller that must see the value snap back to its\n * own `value` prop the instant it declines a keystroke. See `useBufferedValue`.\n */\n isBuffered?: boolean;\n}\n\n/**\n * The presentational base for text-like inputs. It renders the input chrome and the field wrapper, but\n * never wires form state — that is the job of the component rendering it (`TextInput`, `TextArea`,\n * `PasswordInput`, `NumberInput`, `SearchInput`, `CommandTextArea`).\n */\nfunction _TextInputBase(props: CubeTextInputBaseProps, ref) {\n let {\n qa,\n mods,\n isInvalid,\n isValid,\n prefix,\n isDisabled,\n multiLine,\n autoFocus,\n inputProps,\n wrapperProps,\n inputRef,\n isLoading,\n loadingIndicator,\n value,\n inputStyles = {},\n suffix,\n suffixPosition = 'before',\n actions,\n wrapperRef,\n rows,\n size = 'medium',\n autoComplete,\n autocomplete,\n icon,\n maxLength,\n minLength,\n form,\n resize,\n ...otherProps\n } = props;\n\n let styles = extractStyles(otherProps, PROP_STYLES);\n let type = otherProps.type;\n\n if (resize) {\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `resize` prop\n inputStyles = mergeStyles(inputStyles, { resize });\n }\n\n let ElementType: 'textarea' | 'input' = multiLine ? 'textarea' : 'input';\n let { isFocused, focusProps } = useFocus();\n let { hoverProps, isHovered } = useHover({ isDisabled });\n // The input box, with or without the field chrome, so the field's ref never\n // resolves to `null`; `wrapperRef` reaches the same element.\n let domRef = useObjectRef(wrapperRef);\n\n inputRef = useCombinedRefs(inputRef);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const showValidationIndicator = hasValidationIndicator({\n isInvalid,\n isValid,\n isLoading,\n });\n\n // Fix safari bug: https://github.com/philipwalton/flexbugs/issues/270\n if (!inputProps?.placeholder) {\n if (!inputProps) {\n inputProps = {};\n }\n\n inputProps.placeholder = ' ';\n }\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n const modifiers = useMemo(\n () => ({\n ...getValidationMods({ isInvalid, isValid }),\n loadable: !!loadingIndicator,\n focused: isFocused,\n hovered: isHovered,\n disabled: isDisabled,\n multiline: multiLine,\n prefix: !!prefix,\n suffix: showValidationIndicator || !!suffix || !!actions,\n ...mods,\n }),\n [\n mods,\n isInvalid,\n isValid,\n showValidationIndicator,\n loadingIndicator,\n isFocused,\n isDisabled,\n isHovered,\n multiLine,\n prefix,\n suffix,\n actions,\n ],\n );\n\n // The explicit props win when they are set; an unset one falls back to the merged `inputProps`\n // instead of overwriting it with `undefined`. For `autoComplete` that keeps both a caller's\n // `inputProps={{ autoComplete }}` and `useNumberField`'s own `off`. `autocomplete` is the\n // deprecated alias.\n const resolvedAutoComplete =\n autoComplete ?? autocomplete ?? inputProps.autoComplete;\n const resolvedAutoFocus = autoFocus ?? inputProps.autoFocus;\n\n const hasTextSecurity = multiLine && type === 'password';\n const textSecurityStyles =\n hasTextSecurity && inputProps.value?.length\n ? {\n fontFamily: 'text-security-disc',\n }\n : {};\n\n const textField = (\n <InputWrapperElement\n ref={domRef}\n mods={modifiers}\n data-size={size}\n styles={styles}\n {...mergeProps(wrapperProps, {\n onMouseDown: (event: MouseEvent<HTMLElement>) =>\n focusInputOnBoxPress(event, inputRef?.current),\n })}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <InputElement\n qa={qa || 'Input'}\n as={ElementType}\n data-input-type=\"textinput\"\n {...mergeProps(inputProps, focusProps, hoverProps)}\n ref={inputRef}\n rows={multiLine ? (rows ?? inputProps.rows ?? 1) : inputProps.rows}\n mods={modifiers}\n // oxlint-disable-next-line tasty/no-style-prop -- `preset` owns font-family, and a `fontFamily` state map would replace the preset's in every state\n style={textSecurityStyles}\n {...(resolvedAutoFocus ? { 'data-autofocus': '' } : undefined)}\n autoFocus={resolvedAutoFocus}\n data-size={size}\n autoComplete={resolvedAutoComplete}\n styles={inputStyles}\n disabled={!!(isDisabled ?? inputProps.disabled)}\n maxLength={maxLength ?? inputProps.maxLength}\n minLength={minLength ?? inputProps.minLength}\n />\n {showValidationIndicator || suffix || actions ? (\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {isLoading && loadingIndicator ? (\n <div data-element=\"State\">{loadingIndicator}</div>\n ) : (\n <ValidationIndicator\n isInvalid={isInvalid}\n isValid={isValid}\n isLoading={isLoading}\n />\n )}\n {suffixPosition === 'after' ? suffix : null}\n {actions}\n </div>\n ) : null}\n </InputWrapperElement>\n );\n\n return wrapWithField(textField, props);\n}\n\nconst TextInputBase = forwardRef(_TextInputBase);\n\nexport { TextInputBase };\nexport type { AriaTextFieldProps };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextInputBase.js","names":["useObjectRef","createFocusableRef","BaseProps","mergeStyles","Styles","tasty","FocusEventHandler","forwardRef","MouseEvent","ReactElement","ReactNode","RefObject","useImperativeHandle","AriaNumberFieldProps","AriaTextFieldProps","useHover","FieldBaseProps","TextFieldKeyboardProps","mergeProps","mergeRefs","useCombinedRefs","getDisabledElementProps","getInertInputProps","useFocus","useAutoTooltip","getValidationMods","hasValidationIndicator","ValidationIndicator","wrapWithField","FieldLayoutStyleProps","splitFieldLayout","mergeTooltipFocusProps","splitTooltipTriggerProps","Props","CubeTooltipProviderProps","ADD_STYLES","$","display","placeContent","placeItems","gridRows","flow","gap","cursor","opacity","disabled","INPUT_RADIUS","INPUT_WRAPPER_STYLES","position","gridColumns","prefix","suffix","fill","readonly","border","valid","invalid","focused","preset","radius","color","zIndex","boxSizing","transition","backgroundClip","height","multiline","$size","Prefix","Suffix","State","InputIcon","width","fontSize","ValidationIcon","InputWrapperElement","qa","styles","DEFAULT_INPUT_STYLES","recipe","placeSelf","padding","textAlign","flexGrow","margin","resize","userSelect","Placeholder","InputElement","INTERACTIVE_ELEMENTS","focusInputOnBoxPress","event","HTMLElement","input","HTMLInputElement","HTMLTextAreaElement","button","defaultPrevented","getAttribute","box","currentTarget","target","Element","contains","interactive","closest","preventDefault","focus","preventPointerFocus","CubeTextInputBaseProps","Omit","validate","onFocus","onBlur","icon","suffixPosition","actions","multiLine","autoFocus","inputProps","wrapperProps","inputRef","wrapperRef","HTMLDivElement","isLoading","loadingIndicator","inputStyles","rows","size","shape","autoComplete","autocomplete","tooltip","CubeBufferedValueProps","isBuffered","TextInputBase","props","ref","_c","mods","isInvalid","isValid","t0","isDisabled","isReadOnly","t1","t2","value","t3","t4","t5","t6","maxLength","minLength","form","children","otherProps","undefined","field","fillHeightOnFlex","type","ElementType","isFocused","focusProps","t7","t8","hoverProps","isHovered","domRef","t9","renderWithTooltip","isTooltipActive","select","current","getInputElement","t10","showValidationIndicator","placeholder","t11","t12","t13","t14","t15","t16","loadable","hovered","modifiers","resolvedAutoComplete","resolvedAutoFocus","hasTextSecurity","textSecurityStyles","length","fontFamily","isInputDisabled","t17","keepEvents","as","isInert","ownInputProps","excludeFromTabOrder","readOnly","onMouseDown","textField","tooltipTriggerProps","tooltipRef","pointerProps","tooltipFocusProps","labelProps","htmlFor","for","_TextInputBase","_c","useFocus","mergeProps","mergeRefs"],"sources":["../../../../src/components/fields/TextInput/TextInputBase.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { createFocusableRef } from '@react-spectrum/utils';\nimport { BaseProps, mergeStyles, Styles, tasty } from '@tenphi/tasty';\nimport {\n FocusEventHandler,\n forwardRef,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefObject,\n useImperativeHandle,\n} from 'react';\nimport { AriaNumberFieldProps, AriaTextFieldProps, useHover } from 'react-aria';\n\nimport { FieldBaseProps, TextFieldKeyboardProps } from '../../../shared';\nimport { mergeProps, mergeRefs, useCombinedRefs } from '../../../utils/react';\nimport {\n getDisabledElementProps,\n getInertInputProps,\n} from '../../../utils/react/disabledProps';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { useAutoTooltip } from '../../content/use-auto-tooltip';\nimport {\n getValidationMods,\n hasValidationIndicator,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\nimport {\n FieldLayoutStyleProps,\n splitFieldLayout,\n} from '../../form/field-layout';\nimport {\n mergeTooltipFocusProps,\n splitTooltipTriggerProps,\n} from '../../overlays/Tooltip/split-trigger-props';\n\nimport type { Props } from '../../../props';\nimport type { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\n\nconst ADD_STYLES = {\n $: '>',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n gridRows: '1sf',\n flow: 'column',\n gap: 0,\n cursor: 'inherit',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n};\n\n// The field box and its input share the corners: a plain box is square.\nconst INPUT_RADIUS = {\n '': true,\n 'shape=plain': 0,\n};\n\nexport const INPUT_WRAPPER_STYLES: Styles = {\n display: 'grid',\n flow: 'row',\n position: 'relative',\n gridColumns: {\n '': '1sf',\n prefix: 'max-content 1sf',\n suffix: '1sf max-content',\n 'prefix & suffix': 'max-content 1sf max-content',\n },\n gridRows: '1sf',\n placeItems: 'stretch',\n fill: {\n '': '#surface',\n readonly: '#surface-2',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n readonly: '#border.5',\n // High contrast keeps the full outline it raises for every field.\n 'readonly & @hc': true,\n // A plain field sits flush in a container that draws its edges. Its border\n // keeps its width, so nothing shifts, and shows only to mark focus or\n // validity, and in high contrast.\n 'shape=plain': '#clear',\n 'shape=plain & @hc': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n focused: '#primary-text',\n 'valid & focused': '#success-text',\n 'invalid & focused': '#danger-text',\n disabled: true,\n 'disabled & shape=plain': '#clear',\n 'disabled & shape=plain & @hc': true,\n // Only an input kept focusable for its tooltip is focused while disabled,\n // and only from the keyboard: the pointer can't focus it.\n 'disabled & focused': '#primary-text',\n },\n preset: 't3',\n radius: INPUT_RADIUS,\n cursor: 'text',\n color: {\n '': '#dark-02',\n focused: '#dark-02',\n invalid: '#danger-text',\n disabled: '#dark.30',\n },\n zIndex: {\n '': 'initial',\n focused: 1,\n },\n boxSizing: 'border-box',\n transition: 'theme',\n backgroundClip: 'content-box',\n height: {\n '': '$size $size',\n multiline: 'min $size',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Prefix: ADD_STYLES,\n\n Suffix: ADD_STYLES,\n\n State: {\n $: '> Suffix >',\n display: 'flex',\n },\n\n InputIcon: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $size-sm',\n color: 'inherit',\n fontSize: '$icon-size',\n },\n\n ValidationIcon: {\n $: '> Suffix > State >',\n display: 'grid',\n placeItems: 'center',\n width: {\n '': 'min $size-sm',\n suffix: 'min $size-xs',\n },\n fontSize: '$icon-size',\n },\n};\n\nconst InputWrapperElement = tasty({\n qa: 'InputWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nexport const DEFAULT_INPUT_STYLES: Styles = {\n recipe: 'reset input / input-autofill',\n placeSelf: 'stretch',\n width: 'initial 100% 100%',\n transition: 'theme',\n radius: INPUT_RADIUS,\n padding: '$vertical-padding $right-padding $vertical-padding $left-padding',\n textAlign: 'left',\n preset: 't3',\n flexGrow: 1,\n margin: {\n '': 0,\n multiline: '((($size-md - 1lh) / 2) - 1bw) 0',\n 'multiline & size=small': '((($size-sm - 1lh) / 2) - 1bw) 0',\n 'multiline & size=large': '((($size-lg - 1lh) / 2) - 1bw) 0',\n },\n resize: 'none',\n userSelect: 'auto',\n // The browser's own for a disabled input, which an input kept focusable for\n // its tooltip doesn't get: it is read-only, not natively disabled.\n cursor: {\n '': 'text',\n disabled: 'default',\n },\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n\n '$vertical-padding': 0,\n '$left-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n prefix: '0',\n },\n '$right-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n suffix: '0',\n },\n};\n\nconst InputElement = tasty({ qa: 'Input', styles: DEFAULT_INPUT_STYLES });\n\nconst INTERACTIVE_ELEMENTS =\n 'a[href], button, input, select, textarea, [tabindex], [contenteditable]';\n\n/**\n * A press inside the field box but outside the input — the prefix or suffix area, an icon, a\n * textarea's margins — focuses the input, as a press anywhere in a native field does. Presses on\n * the input itself and on interactive children, such as a clear button or the steppers, stay\n * theirs.\n */\nfunction focusInputOnBoxPress(\n event: MouseEvent<HTMLElement>,\n input: HTMLInputElement | HTMLTextAreaElement | null | undefined,\n) {\n if (event.button !== 0 || event.defaultPrevented) return;\n // An input kept focusable for its tooltip is still disabled to the pointer.\n if (\n !input ||\n input.disabled ||\n input.getAttribute('aria-disabled') === 'true'\n ) {\n return;\n }\n\n const box = event.currentTarget;\n const target = event.target as Element;\n\n // React bubbles presses from a portal (a popover opened from a field action)\n // through the box; those belong to the portal.\n if (!box.contains(target)) return;\n\n const interactive = target.closest(INTERACTIVE_ELEMENTS);\n\n if (interactive && box.contains(interactive)) return;\n\n // The default action would move focus to the press target first, blurring the input.\n event.preventDefault();\n input.focus();\n}\n\n/** A press doesn't focus a natively disabled input, so it doesn't focus an inert one either. */\nfunction preventPointerFocus(event: MouseEvent<HTMLElement>) {\n event.preventDefault();\n}\n\nexport interface CubeTextInputBaseProps\n extends\n BaseProps,\n FieldLayoutStyleProps,\n Omit<\n AriaTextFieldProps<HTMLInputElement | HTMLTextAreaElement>,\n | 'validate'\n | 'form'\n | 'name'\n | 'errorMessage'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onFocus'\n | 'onBlur'\n >,\n TextFieldKeyboardProps,\n FieldBaseProps {\n validate?: AriaTextFieldProps['validate'] | AriaNumberFieldProps['validate'];\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /** Left input icon */\n icon?: ReactElement | null;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /**\n * Controls placed last in the suffix, after the validation and loading\n * statuses and after `suffix` whatever its position, such as a popover\n * trigger.\n */\n actions?: ReactNode;\n /** Whether the input is multiline */\n multiLine?: boolean;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /**\n * Direct input props. The explicit props above (`isDisabled`, `maxLength`, `minLength`,\n * `autoFocus`, `rows`, `autoComplete`) win over the same attributes here when they are set; an\n * unset one leaves the value given here in place.\n */\n inputProps?: Props;\n /** Direct input wrapper props */\n wrapperProps?: Props;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;\n /** The wrapper ref */\n wrapperRef?: RefObject<HTMLDivElement | null>;\n /** Whether the input has the loading status */\n isLoading?: boolean;\n /** Rendered in place of the default loading icon while `isLoading` is set */\n loadingIndicator?: ReactNode;\n /** Style map for the input */\n inputStyles?: Styles;\n /** The number of rows for the input. Only applies to textarea. */\n rows?: number;\n /** The resize CSS property sets whether an element is resizable, and if so, in which directions. */\n resize?: Styles['resize'];\n /** The size of the input */\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * The shape of the field box.\n * - `default` - rounded, with a border.\n * - `plain` - square, with no border at rest, for a field set flush in a\n * container that draws its edges, such as a toolbar or a panel header. The\n * border keeps its width, and shows on focus and in a valid or invalid\n * state.\n * @default \"default\"\n */\n shape?: 'default' | 'plain';\n /**\n * What kind of autofill the browser may offer for the input, as the HTML `autocomplete` token\n * (`email`, `current-password`, `off`, …). See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).\n */\n autoComplete?: string;\n /**\n * @deprecated Use `autoComplete` instead. Kept as an alias so existing callers keep working;\n * `autoComplete` wins when both are set.\n */\n autocomplete?: string;\n /**\n * The input's own tooltip: a short hint, such as what the value means or defaults to, or why the\n * field is disabled. It opens on hover over the field box and on keyboard focus, and describes\n * the input. A disabled input with a tooltip stays focusable, so the keyboard reaches it too. A\n * string, or `TooltipProvider` props (`title`, `placement`, …). Never the field's name, an error\n * or anything needed to fill the field in: touch users don't see it. The info badge next to a\n * field label is `labelTooltip`.\n */\n tooltip?: string | Omit<CubeTooltipProviderProps, 'children'>;\n}\n\n/**\n * Mixed into the fields that actually buffer their value — `TextInput`, `TextArea`,\n * `PasswordInput`, `SearchInput` — rather than declared on `CubeTextInputBaseProps`. Every field\n * built on that base would otherwise inherit the prop, including `NumberInput` and\n * `CommandTextArea`, which keep their own text and ignore it: a public API that accepts a flag and\n * does nothing with it.\n */\nexport interface CubeBufferedValueProps {\n /**\n * Whether the typed text is held locally until the controlled `value` catches up. On by default,\n * which is what keeps the caret in place when the value round-trips through a store that\n * re-renders a pass late. Set to `false` for a caller that must see the value snap back to its\n * own `value` prop the instant it declines a keystroke. See `useBufferedValue`.\n */\n isBuffered?: boolean;\n}\n\n/**\n * The presentational base for text-like inputs. It renders the input chrome and the field wrapper, but\n * never wires form state — that is the job of the component rendering it (`TextInput`, `TextArea`,\n * `PasswordInput`, `NumberInput`, `SearchInput`, `CommandTextArea`).\n */\nfunction TextInputBase(props: CubeTextInputBaseProps, ref) {\n let {\n qa,\n mods,\n isInvalid,\n isValid,\n prefix,\n isDisabled,\n isReadOnly,\n multiLine,\n autoFocus,\n inputProps,\n wrapperProps,\n inputRef,\n isLoading,\n loadingIndicator,\n value,\n inputStyles = {},\n suffix,\n suffixPosition = 'before',\n actions,\n wrapperRef,\n rows,\n size = 'medium',\n shape = 'default',\n autoComplete,\n autocomplete,\n icon,\n maxLength,\n minLength,\n form,\n resize,\n tooltip,\n children,\n ...otherProps\n } = props;\n\n // A text area grows with its flex line when bare, so it fills a field\n // sized by flex props too.\n const { styles, field } = splitFieldLayout(props, {\n fillHeightOnFlex: !!multiLine,\n });\n let type = otherProps.type;\n\n if (resize) {\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `resize` prop\n inputStyles = mergeStyles(inputStyles, { resize });\n }\n\n let ElementType: 'textarea' | 'input' = multiLine ? 'textarea' : 'input';\n let { isFocused, focusProps } = useFocus();\n // A read-only field takes no hover state: nothing it could change would follow.\n let { hoverProps, isHovered } = useHover({\n isDisabled: isDisabled || isReadOnly,\n });\n // The input box, with or without the field chrome, so the field's ref never\n // resolves to `null`; `wrapperRef` reaches the same element.\n let domRef = useObjectRef(wrapperRef);\n\n inputRef = useCombinedRefs(inputRef);\n\n let { renderWithTooltip, isTooltipActive } = useAutoTooltip({\n tooltip,\n children: null,\n });\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const showValidationIndicator = hasValidationIndicator({\n isInvalid,\n isValid,\n isLoading,\n });\n\n // Fix safari bug: https://github.com/philipwalton/flexbugs/issues/270\n if (!inputProps?.placeholder) {\n if (!inputProps) {\n inputProps = {};\n }\n\n inputProps.placeholder = ' ';\n }\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n const modifiers = {\n ...getValidationMods({ isInvalid, isValid }),\n loadable: !!loadingIndicator,\n focused: isFocused,\n hovered: isHovered,\n disabled: isDisabled,\n readonly: !!isReadOnly,\n multiline: multiLine,\n prefix: !!prefix,\n suffix: showValidationIndicator || !!suffix || !!actions,\n shape,\n ...mods,\n };\n\n // The explicit props win when they are set; an unset one falls back to the merged `inputProps`\n // instead of overwriting it with `undefined`. For `autoComplete` that keeps both a caller's\n // `inputProps={{ autoComplete }}` and `useNumberField`'s own `off`. `autocomplete` is the\n // deprecated alias.\n const resolvedAutoComplete =\n autoComplete ?? autocomplete ?? inputProps.autoComplete;\n const resolvedAutoFocus = autoFocus ?? inputProps.autoFocus;\n\n const hasTextSecurity = multiLine && type === 'password';\n const textSecurityStyles =\n hasTextSecurity && inputProps.value?.length\n ? {\n fontFamily: 'text-security-disc',\n }\n : {};\n\n const isInputDisabled = !!(isDisabled ?? inputProps.disabled);\n\n // A disabled input with a tooltip keeps its focus, as `Checkbox` and `Switch` do: the tooltip is\n // usually the reason it is disabled, and focus is how the keyboard opens it. It is\n // `aria-disabled` and read-only instead, and the pointer still can't focus it.\n const { isInert } = getDisabledElementProps({\n isDisabled: isInputDisabled,\n keepEvents: isTooltipActive,\n as: 'input',\n });\n\n let ownInputProps = mergeProps(inputProps, focusProps, hoverProps);\n\n if (isInert) {\n ownInputProps = mergeProps(\n getInertInputProps(\n mergeProps(\n // The field's own focus handlers never run on a natively disabled input, and\n // `useNumberField` commits on blur: it would round a value the user can't edit.\n { ...inputProps, onFocus: undefined, onBlur: undefined },\n focusProps,\n hoverProps,\n ),\n { excludeFromTabOrder: props.excludeFromTabOrder },\n ),\n { readOnly: true, onMouseDown: preventPointerFocus },\n );\n }\n\n // The field box takes the tooltip's hover side and positions it, so it\n // covers the prefix, suffix and steppers and never the text being typed. The\n // input, where keyboard focus lands, takes the focus side. The box keeps the\n // field's ref, which `wrapperRef` also reaches.\n const textField = renderWithTooltip((tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n <InputWrapperElement\n ref={tooltipRef ? mergeRefs(domRef, tooltipRef) : domRef}\n mods={modifiers}\n data-size={size}\n styles={styles}\n {...mergeProps(wrapperProps, pointerProps, {\n onMouseDown: (event: MouseEvent<HTMLElement>) =>\n focusInputOnBoxPress(event, inputRef?.current),\n })}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <InputElement\n qa={qa || 'Input'}\n as={ElementType}\n data-input-type=\"textinput\"\n {...mergeTooltipFocusProps(ownInputProps, tooltipFocusProps)}\n ref={inputRef}\n rows={multiLine ? (rows ?? inputProps.rows ?? 1) : inputProps.rows}\n mods={modifiers}\n // oxlint-disable-next-line tasty/no-style-prop -- `preset` owns font-family, and a `fontFamily` state map would replace the preset's in every state\n style={textSecurityStyles}\n {...(resolvedAutoFocus ? { 'data-autofocus': '' } : undefined)}\n autoFocus={resolvedAutoFocus}\n data-size={size}\n autoComplete={resolvedAutoComplete}\n styles={inputStyles}\n disabled={isInputDisabled && !isInert}\n maxLength={maxLength ?? inputProps.maxLength}\n minLength={minLength ?? inputProps.minLength}\n />\n {/* Inside the box, so a parent's `:last-child` rules still see the field: `NumberInput`'s hidden form value goes here. */}\n {children}\n {showValidationIndicator || suffix || actions ? (\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {isLoading && loadingIndicator ? (\n <div data-element=\"State\">{loadingIndicator}</div>\n ) : (\n <ValidationIndicator\n isInvalid={isInvalid}\n isValid={isValid}\n isLoading={isLoading}\n />\n )}\n {suffixPosition === 'after' ? suffix : null}\n {actions}\n </div>\n ) : null}\n </InputWrapperElement>\n );\n }, 'top');\n\n // `renderWithTooltip` is typed for any node; here it returns an element.\n // `tooltip` is the input's own, not the legacy spelling of `labelTooltip`.\n return wrapWithField(textField as ReactElement, {\n ...props,\n ...field,\n tooltip: undefined,\n // A click on its label doesn't focus a natively disabled input either. The input keeps its\n // name through `aria-labelledby`.\n ...(isInert\n ? {\n labelProps: {\n ...props.labelProps,\n htmlFor: undefined,\n for: undefined,\n },\n }\n : null),\n });\n}\n\nconst _TextInputBase = forwardRef(TextInputBase);\n\nexport { _TextInputBase as TextInputBase };\nexport type { AriaTextFieldProps };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import { AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInputBase } from "./TextInputBase.js";
|
|
2
|
+
import { AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInputBase as _TextInputBase } from "./TextInputBase.js";
|
|
3
3
|
import { CubeTextInputProps, TextInput, useTextField } from "./TextInput.js";
|
|
4
|
-
export { type AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, CubeTextInputProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInput, TextInputBase, useTextField };
|
|
4
|
+
export { type AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, CubeTextInputProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInput, _TextInputBase as TextInputBase, useTextField };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { useEffect, useLayoutEffect, useRef } from "react";
|
|
4
4
|
//#region src/components/fields/TextInput/useAutoSizeTextArea.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.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 { Block } from "../../Block.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { ItemActionIcon } from "../actions/ItemActionsWrapper.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { Fragment, jsxs } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { formatColor, getContrastingColor, toHex } from "./color.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { maxChroma, normalizeHue, oklchToOkhsl } from "../../../utils/colors.js";
|
|
3
3
|
import { fromOkhst, fromRgb, isAchromatic, toHex, toOkhst, toOklch, toRgb } from "./color.js";
|
|
4
4
|
//#region src/components/fields/color/channels.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { anyNaN, clamp, maxChroma, normalizeHue, oklchToOkhsl, parseColorFunction, readComponent, readHue, rgbFromSrgb } from "../../../utils/colors.js";
|
|
3
3
|
import { contrastRatioFromLuminance, formatHsl, formatOkhsl, formatOkhst, formatOklch, formatRgb, hslToSrgb, okhslToLinearSrgb, okhslToOkhst, okhslToOklch, okhslToSrgb, okhstToOkhsl, parseHexAlpha, relativeLuminanceFromLinearRgb, srgbToHex, srgbToOkhsl } from "@tenphi/glaze";
|
|
4
4
|
//#region src/components/fields/color/color.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInputBase } from "./TextInput/TextInputBase.js";
|
|
2
|
+
import { AriaTextFieldProps, CubeBufferedValueProps, CubeTextInputBaseProps, DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, TextInputBase as _TextInputBase } from "./TextInput/TextInputBase.js";
|
|
3
3
|
import { CubeSearchInputProps, SearchFieldProps, SearchInput, useSearchField, useSearchFieldState } from "./SearchInput/SearchInput.js";
|
|
4
4
|
import { CubeListBoxProps, ListBox } from "./ListBox/ListBox.js";
|
|
5
5
|
import "./ListBox/index.js";
|
|
@@ -68,4 +68,4 @@ import { CubePickerProps, Picker } from "./Picker/Picker.js";
|
|
|
68
68
|
import "./Picker/index.js";
|
|
69
69
|
import { CubeTextInputMapperInputProps, CubeTextInputMapperProps, TextInputMapper as _TextInputMapper } from "./TextInputMapper/TextInputMapper.js";
|
|
70
70
|
import "./TextInputMapper/index.js";
|
|
71
|
-
export { type ActiveToken, type AriaCheckboxProps, type AriaNumberFieldProps, type AriaRadioProps, type AriaSelectProps, type AriaSliderProps, type AriaSwitchProps, type AriaTextFieldProps, COLOR_FORMATS, COLOR_SPACES, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, ColorInput, type ColorInputFormatMode, ColorPicker, type ColorFormat as ColorPickerFormat, type ColorSpace as ColorPickerSpace, ColorSwatch, ColorSwatchGroup, ComboBox, _CommandTextArea as CommandTextArea, type CommandTextAreaFilterFn, type CommandTrigger, CubeBufferedValueProps, CubeCheckboxGroupProps, CubeCheckboxProps, type CubeColorInputProps, type CubeColorPickerProps, type CubeColorSwatchGroupProps, type CubeColorSwatchItem, type CubeColorSwatchProps, type CubeComboBoxProps, type CubeCommandTextAreaProps, CubeDateInputProps, CubeDatePickerProps, CubeDateRangePickerProps, CubeDateRangeSeparatedPickerProps, CubeFileInputProps, CubeFilterListBoxProps, CubeFilterPickerProps, CubeHueSliderProps, CubeListBoxProps, CubeMonthPickerProps, CubeNumberInputProps, CubePasswordInputProps, CubePeriodPickerProps, type CubePickerProps, CubeQuarterPickerProps, CubeRadioGroupProps, CubeRadioProps, CubeRangeSliderProps, type CubeSearchComboBoxProps, CubeSearchInputProps, CubeSelectBaseProps, CubeSelectProps, CubeSliderBaseProps, CubeSliderProps, CubeSwitchProps, type CubeTagInputProps, CubeTextAreaProps, CubeTextInputBaseProps, CubeTextInputMapperInputProps, CubeTextInputMapperProps, CubeTextInputProps, CubeTimeInputProps, CubeWeekPickerProps, CubeYearPickerProps, DEFAULT_INPUT_STYLES, DateFieldBase, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, _FileInput as FileInput, FilterListBox, FilterPicker, Granularity, __HueSlider as HueSlider, INPUT_WRAPPER_STYLES, Input, ListBox, ListBoxElement, ListBoxPopup, _MonthPicker as MonthPicker, _NumberInput as NumberInput, _PasswordInput as PasswordInput, PeriodPicker, Picker, PickerType, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, SearchComboBox, type SearchFieldProps, SearchInput, __Select as Select, __Slider as Slider, type SliderState, _Switch as Switch, _TagInput as TagInput, type TagInputPopoverTrigger, type TagValidationResult, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, _TimeInput as TimeInput, _WeekPicker as WeekPicker, _YearPicker as YearPicker, formatPeriod, getQuarter, getWeekNumber, parseAbsoluteDate, snapToPeriod, useCheckbox, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSwitch, useTextField };
|
|
71
|
+
export { type ActiveToken, type AriaCheckboxProps, type AriaNumberFieldProps, type AriaRadioProps, type AriaSelectProps, type AriaSliderProps, type AriaSwitchProps, type AriaTextFieldProps, COLOR_FORMATS, COLOR_SPACES, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, ColorInput, type ColorInputFormatMode, ColorPicker, type ColorFormat as ColorPickerFormat, type ColorSpace as ColorPickerSpace, ColorSwatch, ColorSwatchGroup, ComboBox, _CommandTextArea as CommandTextArea, type CommandTextAreaFilterFn, type CommandTrigger, CubeBufferedValueProps, CubeCheckboxGroupProps, CubeCheckboxProps, type CubeColorInputProps, type CubeColorPickerProps, type CubeColorSwatchGroupProps, type CubeColorSwatchItem, type CubeColorSwatchProps, type CubeComboBoxProps, type CubeCommandTextAreaProps, CubeDateInputProps, CubeDatePickerProps, CubeDateRangePickerProps, CubeDateRangeSeparatedPickerProps, CubeFileInputProps, CubeFilterListBoxProps, CubeFilterPickerProps, CubeHueSliderProps, CubeListBoxProps, CubeMonthPickerProps, CubeNumberInputProps, CubePasswordInputProps, CubePeriodPickerProps, type CubePickerProps, CubeQuarterPickerProps, CubeRadioGroupProps, CubeRadioProps, CubeRangeSliderProps, type CubeSearchComboBoxProps, CubeSearchInputProps, CubeSelectBaseProps, CubeSelectProps, CubeSliderBaseProps, CubeSliderProps, CubeSwitchProps, type CubeTagInputProps, CubeTextAreaProps, CubeTextInputBaseProps, CubeTextInputMapperInputProps, CubeTextInputMapperProps, CubeTextInputProps, CubeTimeInputProps, CubeWeekPickerProps, CubeYearPickerProps, DEFAULT_INPUT_STYLES, DateFieldBase, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, _FileInput as FileInput, FilterListBox, FilterPicker, Granularity, __HueSlider as HueSlider, INPUT_WRAPPER_STYLES, Input, ListBox, ListBoxElement, ListBoxPopup, _MonthPicker as MonthPicker, _NumberInput as NumberInput, _PasswordInput as PasswordInput, PeriodPicker, Picker, PickerType, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, SearchComboBox, type SearchFieldProps, SearchInput, __Select as Select, __Slider as Slider, type SliderState, _Switch as Switch, _TagInput as TagInput, type TagInputPopoverTrigger, type TagValidationResult, _TextArea as TextArea, TextInput, _TextInputBase as TextInputBase, _TextInputMapper as TextInputMapper, _TimeInput as TimeInput, _WeekPicker as WeekPicker, _YearPicker as YearPicker, formatPeriod, getQuarter, getWeekNumber, parseAbsoluteDate, snapToPeriod, useCheckbox, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSwitch, useTextField };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { Text as _Text } from "../../content/Text.js";
|
|
4
4
|
import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
|
|
@@ -35,8 +35,18 @@ const FieldElement = tasty({
|
|
|
35
35
|
},
|
|
36
36
|
placeContent: {
|
|
37
37
|
"": "initial",
|
|
38
|
+
"fill-width | fill-height": "start normal",
|
|
38
39
|
"has-split": "space-between"
|
|
39
40
|
},
|
|
41
|
+
gridRows: {
|
|
42
|
+
"": false,
|
|
43
|
+
"fill-height": "max-content 1sf",
|
|
44
|
+
"fill-height & (has-sider | has-split)": "1sf"
|
|
45
|
+
},
|
|
46
|
+
height: {
|
|
47
|
+
"": false,
|
|
48
|
+
"fill-height": "min 0"
|
|
49
|
+
},
|
|
40
50
|
"$full-label-width": "($label-width + 1x)",
|
|
41
51
|
LabelArea: {
|
|
42
52
|
display: "block",
|
|
@@ -52,13 +62,39 @@ const FieldElement = tasty({
|
|
|
52
62
|
}
|
|
53
63
|
},
|
|
54
64
|
InputArea: {
|
|
55
|
-
display:
|
|
56
|
-
|
|
65
|
+
display: {
|
|
66
|
+
"": "block",
|
|
67
|
+
"fill-width | fill-height": "grid"
|
|
68
|
+
},
|
|
69
|
+
flow: {
|
|
70
|
+
"": "column",
|
|
71
|
+
"fill-width | fill-height": "row"
|
|
72
|
+
},
|
|
57
73
|
gap: ".5x",
|
|
74
|
+
gridColumns: {
|
|
75
|
+
"": false,
|
|
76
|
+
"fill-width | fill-height": "1sf"
|
|
77
|
+
},
|
|
78
|
+
gridRows: {
|
|
79
|
+
"": false,
|
|
80
|
+
"fill-height": "1sf"
|
|
81
|
+
},
|
|
82
|
+
gridAutoRows: {
|
|
83
|
+
"": false,
|
|
84
|
+
"fill-height": "max-content"
|
|
85
|
+
},
|
|
58
86
|
gridColumn: {
|
|
59
87
|
"": "initial",
|
|
60
88
|
"has-sider": 2,
|
|
61
89
|
"has-split": 2
|
|
90
|
+
},
|
|
91
|
+
gridRow: {
|
|
92
|
+
"": false,
|
|
93
|
+
"fill-height": -2
|
|
94
|
+
},
|
|
95
|
+
height: {
|
|
96
|
+
"": false,
|
|
97
|
+
"fill-height": "100%"
|
|
62
98
|
}
|
|
63
99
|
}
|
|
64
100
|
}
|
|
@@ -103,7 +139,7 @@ const LabelSuffixElement = tasty({ styles: {
|
|
|
103
139
|
* @internal Do not use this component directly.
|
|
104
140
|
*/
|
|
105
141
|
const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
|
|
106
|
-
const $ = c(
|
|
142
|
+
const $ = c(100);
|
|
107
143
|
const { as, labelPosition: t0, label, isBare: t1, extra, styles, isRequired, isOptional, isDisabled, labelStyles, necessityIndicator, labelProps, labelRef, fieldProps, message, messageStyles, description, errorMessage, Component, controlId, isInvalid, isValid, requiredMark: t2, labelTooltip, isHidden, labelSuffix, children } = props;
|
|
108
144
|
const labelPosition = t0 === void 0 ? "top" : t0;
|
|
109
145
|
const isBare = t1 === void 0 ? false : t1;
|
|
@@ -315,20 +351,47 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
|
|
|
315
351
|
$[65] = t17;
|
|
316
352
|
} else t17 = $[65];
|
|
317
353
|
const mergedFieldProps = t17;
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
354
|
+
let t18;
|
|
355
|
+
if ($[66] !== mergedFieldProps) {
|
|
356
|
+
t18 = mergedFieldProps ?? {};
|
|
357
|
+
$[66] = mergedFieldProps;
|
|
358
|
+
$[67] = t18;
|
|
359
|
+
} else t18 = $[67];
|
|
360
|
+
let fieldMods;
|
|
361
|
+
let otherFieldProps;
|
|
362
|
+
if ($[68] !== t18) {
|
|
363
|
+
({mods: fieldMods, ...otherFieldProps} = t18);
|
|
364
|
+
$[68] = t18;
|
|
365
|
+
$[69] = fieldMods;
|
|
366
|
+
$[70] = otherFieldProps;
|
|
367
|
+
} else {
|
|
368
|
+
fieldMods = $[69];
|
|
369
|
+
otherFieldProps = $[70];
|
|
370
|
+
}
|
|
371
|
+
const t19 = as ?? "div";
|
|
372
|
+
let t20;
|
|
373
|
+
if ($[71] !== fieldMods || $[72] !== mods) {
|
|
374
|
+
t20 = fieldMods ? {
|
|
375
|
+
...mods,
|
|
376
|
+
...fieldMods
|
|
377
|
+
} : mods;
|
|
378
|
+
$[71] = fieldMods;
|
|
379
|
+
$[72] = mods;
|
|
380
|
+
$[73] = t20;
|
|
381
|
+
} else t20 = $[73];
|
|
382
|
+
let t21;
|
|
383
|
+
if ($[74] !== descriptionForLabel || $[75] !== labelComponent) {
|
|
384
|
+
t21 = labelComponent ? /* @__PURE__ */ jsxs("div", {
|
|
322
385
|
"data-element": "LabelArea",
|
|
323
386
|
children: [labelComponent, descriptionForLabel]
|
|
324
387
|
}) : null;
|
|
325
|
-
$[
|
|
326
|
-
$[
|
|
327
|
-
$[
|
|
328
|
-
} else
|
|
329
|
-
let
|
|
330
|
-
if ($[
|
|
331
|
-
|
|
388
|
+
$[74] = descriptionForLabel;
|
|
389
|
+
$[75] = labelComponent;
|
|
390
|
+
$[76] = t21;
|
|
391
|
+
} else t21 = $[76];
|
|
392
|
+
let t22;
|
|
393
|
+
if ($[77] !== displayMessage || $[78] !== isErrorMessage || $[79] !== isInvalid || $[80] !== isMessageShown || $[81] !== messageId || $[82] !== messageStyles || $[83] !== mods) {
|
|
394
|
+
t22 = isMessageShown && /* @__PURE__ */ jsx(MessageElement, {
|
|
332
395
|
id: messageId,
|
|
333
396
|
mods: {
|
|
334
397
|
...mods,
|
|
@@ -338,57 +401,57 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
|
|
|
338
401
|
role: isErrorMessage || isInvalid ? "alert" : void 0,
|
|
339
402
|
children: displayMessage
|
|
340
403
|
});
|
|
341
|
-
$[
|
|
342
|
-
$[
|
|
343
|
-
$[
|
|
344
|
-
$[
|
|
345
|
-
$[
|
|
346
|
-
$[
|
|
347
|
-
$[
|
|
348
|
-
$[
|
|
349
|
-
} else
|
|
350
|
-
let
|
|
351
|
-
if ($[
|
|
352
|
-
|
|
404
|
+
$[77] = displayMessage;
|
|
405
|
+
$[78] = isErrorMessage;
|
|
406
|
+
$[79] = isInvalid;
|
|
407
|
+
$[80] = isMessageShown;
|
|
408
|
+
$[81] = messageId;
|
|
409
|
+
$[82] = messageStyles;
|
|
410
|
+
$[83] = mods;
|
|
411
|
+
$[84] = t22;
|
|
412
|
+
} else t22 = $[84];
|
|
413
|
+
let t23;
|
|
414
|
+
if ($[85] !== Component || $[86] !== descriptionForInput || $[87] !== t22) {
|
|
415
|
+
t23 = /* @__PURE__ */ jsxs("div", {
|
|
353
416
|
"data-element": "InputArea",
|
|
354
417
|
children: [
|
|
355
418
|
Component,
|
|
356
419
|
descriptionForInput,
|
|
357
|
-
|
|
420
|
+
t22
|
|
358
421
|
]
|
|
359
422
|
});
|
|
360
|
-
$[
|
|
361
|
-
$[
|
|
362
|
-
$[
|
|
363
|
-
$[
|
|
364
|
-
} else
|
|
365
|
-
let
|
|
366
|
-
if ($[
|
|
367
|
-
|
|
423
|
+
$[85] = Component;
|
|
424
|
+
$[86] = descriptionForInput;
|
|
425
|
+
$[87] = t22;
|
|
426
|
+
$[88] = t23;
|
|
427
|
+
} else t23 = $[88];
|
|
428
|
+
let t24;
|
|
429
|
+
if ($[89] !== isHidden || $[90] !== otherFieldProps || $[91] !== ref || $[92] !== t19 || $[93] !== t20 || $[94] !== t21 || $[95] !== t23) {
|
|
430
|
+
t24 = /* @__PURE__ */ jsxs(FieldElement, {
|
|
368
431
|
ref,
|
|
369
|
-
as:
|
|
370
|
-
mods,
|
|
432
|
+
as: t19,
|
|
371
433
|
isHidden,
|
|
372
|
-
...
|
|
373
|
-
|
|
434
|
+
...otherFieldProps,
|
|
435
|
+
mods: t20,
|
|
436
|
+
children: [t21, t23]
|
|
374
437
|
});
|
|
375
|
-
$[
|
|
376
|
-
$[
|
|
377
|
-
$[
|
|
378
|
-
$[
|
|
379
|
-
$[
|
|
380
|
-
$[
|
|
381
|
-
$[
|
|
382
|
-
$[
|
|
383
|
-
} else
|
|
384
|
-
let
|
|
385
|
-
if ($[
|
|
386
|
-
|
|
387
|
-
$[
|
|
388
|
-
$[
|
|
389
|
-
$[
|
|
390
|
-
} else
|
|
391
|
-
return
|
|
438
|
+
$[89] = isHidden;
|
|
439
|
+
$[90] = otherFieldProps;
|
|
440
|
+
$[91] = ref;
|
|
441
|
+
$[92] = t19;
|
|
442
|
+
$[93] = t20;
|
|
443
|
+
$[94] = t21;
|
|
444
|
+
$[95] = t23;
|
|
445
|
+
$[96] = t24;
|
|
446
|
+
} else t24 = $[96];
|
|
447
|
+
let t25;
|
|
448
|
+
if ($[97] !== children || $[98] !== t24) {
|
|
449
|
+
t25 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t24, children] });
|
|
450
|
+
$[97] = children;
|
|
451
|
+
$[98] = t24;
|
|
452
|
+
$[99] = t25;
|
|
453
|
+
} else t25 = $[99];
|
|
454
|
+
return t25;
|
|
392
455
|
});
|
|
393
456
|
//#endregion
|
|
394
457
|
export { FieldWrapper };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldWrapper.js","names":["tasty","forwardRef","VisuallyHidden","useI18n","isDevEnv","mergeProps","wrapNodeIfPlain","InfoBadge","Text","Flex","Space","hasFieldContent","Label","NecessityIndicatorMark","warnAboutLegacyTooltip","getValidationMods","getFieldDescriptionId","getFieldMessageId","useFieldTextId","CubeFieldWrapperProps","FieldElement","qa","styles","display","width","gridColumns","gap","placeItems","placeContent","LabelArea","margin","InputArea","flow","gridColumn","displayName","MessageElement","preset","color","invalid","valid","disabled","textAlign","userSelect","DescriptionElement","LabelSuffixElement","FieldWrapper","props","ref","$","_c","as","labelPosition","t0","label","isBare","t1","extra","isRequired","isOptional","isDisabled","labelStyles","necessityIndicator","labelProps","labelRef","fieldProps","message","messageStyles","description","errorMessage","Component","controlId","isInvalid","isValid","requiredMark","t2","labelTooltip","isHidden","labelSuffix","children","undefined","t","showRequiredMark","showOptionalNote","t3","optionalNote","t4","hasLabel","t5","labelComponent","displayMessage","isErrorMessage","t6","isMessageShown","t7","descriptionId","t8","messageId","t9","t10","createDescriptionComponent","isDescriptionBesideInput","descriptionForLabel","t11","descriptionForInput","t12","t13","t14","t15","t16","mods","t17","mergedFieldProps","t18","t19","t20","t21","t22","t23","_c","Label","Text","mergeProps"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { VisuallyHidden } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { InfoBadge } from '../../content/InfoBadge';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { hasFieldContent } from '../field-chrome';\nimport { Label, NecessityIndicatorMark } from '../Label';\nimport { warnAboutLegacyTooltip } from '../legacy-tooltip';\nimport { getValidationMods } from '../validation/index';\n\nimport {\n getFieldDescriptionId,\n getFieldMessageId,\n useFieldTextId,\n} from './field-description';\nimport { CubeFieldWrapperProps } from './types';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n placeContent: {\n '': 'initial',\n 'has-split': 'space-between',\n },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n InputArea: {\n display: 'block',\n flow: 'column',\n gap: '.5x',\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n },\n },\n});\n\nif (isDevEnv()) {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'FieldMessage',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'FieldDescription',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A flex box, not a block: in a block an inline-level suffix such as a `Badge`\n * or a `Tag` sits in a line box whose strut adds a pixel under it, so the label\n * row grew from 20px to 21px and its field stepped down out of line. Only a\n * single element is a direct flex item; mixed content is wrapped in a `<span>`,\n * because a flex box drops the whitespace between its items.\n */\nconst LabelSuffixElement = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n isBare = false,\n extra,\n styles,\n isRequired,\n isOptional,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n labelRef,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n controlId,\n isInvalid,\n isValid,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const { t } = useI18n();\n\n warnAboutLegacyTooltip(props);\n\n // `requiredMark={false}` drops the required marker, but the field is still\n // required — so the optional note has to keep losing to it rather than\n // stepping into the gap and labelling a required field optional.\n const showRequiredMark = !!requiredMark && !!isRequired;\n const showOptionalNote = !isRequired && !!isOptional;\n\n // The `aria-label` below is what the input is named by, so it shadows the\n // label's own content — including the `(optional)` note, which is the only\n // thing saying the field is optional. A required field needs no such help:\n // `aria-required` on the input already announces it.\n const optionalNote = showOptionalNote\n ? t('form.optional', '(optional)')\n : null;\n\n const hasLabel = hasFieldContent(label);\n const labelComponent = hasLabel ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isInvalid={isInvalid}\n isValid={isValid}\n aria-label={\n typeof label === 'string'\n ? optionalNote\n ? `${label} ${optionalNote}`\n : label\n : undefined\n }\n // Before `labelProps`, so a `ref` passed there still wins.\n ref={labelRef}\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>\n {label}\n {/*\n `Label` can only append the marker itself when its child is plain\n text, and the tree below is not — so it is placed here, against\n the label text, rather than after the full-width `Flex`.\n */}\n <NecessityIndicatorMark\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n necessityIndicator={necessityIndicator}\n />\n </div>\n\n {labelTooltip ? <InfoBadge tooltip={labelTooltip} /> : null}\n\n {labelSuffix ? (\n <LabelSuffixElement>\n {wrapNodeIfPlain(labelSuffix, () => (\n <span>{labelSuffix}</span>\n ))}\n </LabelSuffixElement>\n ) : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n const displayMessage = errorMessage !== undefined ? errorMessage : message;\n const isErrorMessage = errorMessage !== undefined;\n const isMessageShown =\n !isBare && !isDisabled && hasFieldContent(displayMessage);\n\n // An id only on what is actually rendered, registered for the control's\n // `aria-describedby` — see `useFieldDescribedBy`.\n const descriptionId =\n controlId && !isBare && hasFieldContent(description)\n ? getFieldDescriptionId(controlId)\n : undefined;\n const messageId =\n controlId && isMessageShown ? getFieldMessageId(controlId) : undefined;\n\n useFieldTextId(descriptionId);\n useFieldTextId(messageId);\n\n if (isBare) {\n return (\n <>\n {hasLabel ? (\n <VisuallyHidden>\n <Label ref={labelRef} {...labelProps}>\n {label}\n {optionalNote ? <> {optionalNote}</> : null}\n </Label>\n </VisuallyHidden>\n ) : null}\n {Component}\n {children}\n </>\n );\n }\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!hasFieldContent(description)) return null;\n\n return (\n <DescriptionElement id={descriptionId} data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // A side or split label carries the description in its column. Without a\n // label, that column is empty and the description would read as the label,\n // so it goes under the input.\n const isDescriptionBesideInput =\n hasLabel && (labelPosition === 'side' || labelPosition === 'split');\n const descriptionForLabel = isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n const descriptionForInput = !isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n\n const mods = {\n 'has-sider': hasLabel && labelPosition === 'side',\n 'has-split': hasLabel && labelPosition === 'split',\n 'has-description': hasFieldContent(description),\n ...getValidationMods({ isInvalid, isValid }),\n };\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n mods={mods}\n isHidden={isHidden}\n {...mergedFieldProps}\n >\n {labelComponent ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {isMessageShown && (\n <MessageElement\n id={messageId}\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of the validation state\n invalid: isErrorMessage || !!isInvalid,\n }}\n styles={messageStyles}\n role={isErrorMessage || isInvalid ? 'alert' : undefined}\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldWrapper.js","names":["tasty","forwardRef","VisuallyHidden","useI18n","isDevEnv","mergeProps","wrapNodeIfPlain","InfoBadge","Text","Flex","Space","hasFieldContent","Label","NecessityIndicatorMark","warnAboutLegacyTooltip","getValidationMods","getFieldDescriptionId","getFieldMessageId","useFieldTextId","CubeFieldWrapperProps","Props","FieldElement","qa","styles","display","width","gridColumns","gap","placeItems","placeContent","gridRows","height","LabelArea","margin","InputArea","flow","gridAutoRows","gridColumn","gridRow","displayName","MessageElement","preset","color","invalid","valid","disabled","textAlign","userSelect","DescriptionElement","LabelSuffixElement","FieldWrapper","props","ref","$","_c","as","labelPosition","t0","label","isBare","t1","extra","isRequired","isOptional","isDisabled","labelStyles","necessityIndicator","labelProps","labelRef","fieldProps","message","messageStyles","description","errorMessage","Component","controlId","isInvalid","isValid","requiredMark","t2","labelTooltip","isHidden","labelSuffix","children","undefined","t","showRequiredMark","showOptionalNote","t3","optionalNote","t4","hasLabel","t5","labelComponent","displayMessage","isErrorMessage","t6","isMessageShown","t7","descriptionId","t8","messageId","t9","t10","createDescriptionComponent","isDescriptionBesideInput","descriptionForLabel","t11","descriptionForInput","t12","t13","t14","t15","t16","mods","t17","mergedFieldProps","t18","fieldMods","otherFieldProps","t19","t20","t21","t22","t23","t24","t25","_c","Label","Text","mergeProps"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { VisuallyHidden } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { InfoBadge } from '../../content/InfoBadge';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { hasFieldContent } from '../field-chrome';\nimport { Label, NecessityIndicatorMark } from '../Label';\nimport { warnAboutLegacyTooltip } from '../legacy-tooltip';\nimport { getValidationMods } from '../validation/index';\n\nimport {\n getFieldDescriptionId,\n getFieldMessageId,\n useFieldTextId,\n} from './field-description';\nimport { CubeFieldWrapperProps } from './types';\n\nimport type { Props } from '../../../props';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n // A sized field that its row stretches keeps its rows packed at the top,\n // so its input stays under its label, level with its neighbours'. Under\n // `fill-height` the input's `1sf` row takes the height anyway. A split\n // field has one row, which `space-between` never stretches.\n placeContent: {\n '': 'initial',\n 'fill-width | fill-height': 'start normal',\n 'has-split': 'space-between',\n },\n // An input's style props that size the field set `fill-width` /\n // `fill-height` (`splitFieldLayout`). Under `fill-height` the input's row\n // takes what the label and texts leave; the last explicit row is the\n // input's, beside a side or split label and under a top one.\n gridRows: {\n '': false,\n 'fill-height': 'max-content 1sf',\n 'fill-height & (has-sider | has-split)': '1sf',\n },\n // A field that grows in a flex column can shrink below its content. A\n // caller's `height` replaces the whole value, minimum included; the style\n // props pass `blockSize` as `height`.\n height: { '': false, 'fill-height': 'min 0' },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n // Sized, the input area is a one-column grid, so the input is a grid item\n // and its own CSS decides: an `auto` size stretches to the field, a fixed\n // or capped one stays. Unsized, it is a block and the input keeps its\n // natural size, as before.\n InputArea: {\n display: {\n '': 'block',\n 'fill-width | fill-height': 'grid',\n },\n flow: {\n '': 'column',\n 'fill-width | fill-height': 'row',\n },\n gap: '.5x',\n gridColumns: { '': false, 'fill-width | fill-height': '1sf' },\n gridRows: { '': false, 'fill-height': '1sf' },\n gridAutoRows: { '': false, 'fill-height': 'max-content' },\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n gridRow: { '': false, 'fill-height': -2 },\n // Not `alignSelf: stretch`: the area stays in the baseline group, so a\n // side label keeps its baseline and a split label stays centred.\n height: { '': false, 'fill-height': '100%' },\n },\n },\n});\n\nif (isDevEnv()) {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'FieldMessage',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'FieldDescription',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A flex box, not a block: in a block an inline-level suffix such as a `Badge`\n * or a `Tag` sits in a line box whose strut adds a pixel under it, so the label\n * row grew from 20px to 21px and its field stepped down out of line. Only a\n * single element is a direct flex item; mixed content is wrapped in a `<span>`,\n * because a flex box drops the whitespace between its items.\n */\nconst LabelSuffixElement = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n isBare = false,\n extra,\n styles,\n isRequired,\n isOptional,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n labelRef,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n controlId,\n isInvalid,\n isValid,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const { t } = useI18n();\n\n warnAboutLegacyTooltip(props);\n\n // `requiredMark={false}` drops the required marker, but the field is still\n // required — so the optional note has to keep losing to it rather than\n // stepping into the gap and labelling a required field optional.\n const showRequiredMark = !!requiredMark && !!isRequired;\n const showOptionalNote = !isRequired && !!isOptional;\n\n // The `aria-label` below is what the input is named by, so it shadows the\n // label's own content — including the `(optional)` note, which is the only\n // thing saying the field is optional. A required field needs no such help:\n // `aria-required` on the input already announces it.\n const optionalNote = showOptionalNote\n ? t('form.optional', '(optional)')\n : null;\n\n const hasLabel = hasFieldContent(label);\n const labelComponent = hasLabel ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isInvalid={isInvalid}\n isValid={isValid}\n aria-label={\n typeof label === 'string'\n ? optionalNote\n ? `${label} ${optionalNote}`\n : label\n : undefined\n }\n // Before `labelProps`, so a `ref` passed there still wins.\n ref={labelRef}\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>\n {label}\n {/*\n `Label` can only append the marker itself when its child is plain\n text, and the tree below is not — so it is placed here, against\n the label text, rather than after the full-width `Flex`.\n */}\n <NecessityIndicatorMark\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n necessityIndicator={necessityIndicator}\n />\n </div>\n\n {labelTooltip ? <InfoBadge tooltip={labelTooltip} /> : null}\n\n {labelSuffix ? (\n <LabelSuffixElement>\n {wrapNodeIfPlain(labelSuffix, () => (\n <span>{labelSuffix}</span>\n ))}\n </LabelSuffixElement>\n ) : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n const displayMessage = errorMessage !== undefined ? errorMessage : message;\n const isErrorMessage = errorMessage !== undefined;\n const isMessageShown =\n !isBare && !isDisabled && hasFieldContent(displayMessage);\n\n // An id only on what is actually rendered, registered for the control's\n // `aria-describedby` — see `useFieldDescribedBy`.\n const descriptionId =\n controlId && !isBare && hasFieldContent(description)\n ? getFieldDescriptionId(controlId)\n : undefined;\n const messageId =\n controlId && isMessageShown ? getFieldMessageId(controlId) : undefined;\n\n useFieldTextId(descriptionId);\n useFieldTextId(messageId);\n\n if (isBare) {\n return (\n <>\n {hasLabel ? (\n <VisuallyHidden>\n <Label ref={labelRef} {...labelProps}>\n {label}\n {optionalNote ? <> {optionalNote}</> : null}\n </Label>\n </VisuallyHidden>\n ) : null}\n {Component}\n {children}\n </>\n );\n }\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!hasFieldContent(description)) return null;\n\n return (\n <DescriptionElement id={descriptionId} data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // A side or split label carries the description in its column. Without a\n // label, that column is empty and the description would read as the label,\n // so it goes under the input.\n const isDescriptionBesideInput =\n hasLabel && (labelPosition === 'side' || labelPosition === 'split');\n const descriptionForLabel = isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n const descriptionForInput = !isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n\n const mods = {\n 'has-sider': hasLabel && labelPosition === 'side',\n 'has-split': hasLabel && labelPosition === 'split',\n 'has-description': hasFieldContent(description),\n ...getValidationMods({ isInvalid, isValid }),\n };\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps: Props | undefined = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n // Mods merge key by key: a caller's `fieldProps.mods` (or the fill mods an\n // input's style props set) adds to the computed ones instead of replacing\n // `has-sider` and the validation state.\n const { mods: fieldMods, ...otherFieldProps } = mergedFieldProps ?? {};\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n isHidden={isHidden}\n {...otherFieldProps}\n mods={fieldMods ? { ...mods, ...fieldMods } : mods}\n >\n {labelComponent ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {isMessageShown && (\n <MessageElement\n id={messageId}\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of the validation state\n invalid: isErrorMessage || !!isInvalid,\n }}\n styles={messageStyles}\n role={isErrorMessage || isInvalid ? 'alert' : undefined}\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useSyncExternalStore } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { warn } from "../../../utils/warnings.js";
|
|
4
4
|
import { useValidationProps } from "../validation/use-validation-props.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.203.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";
|