@cube-dev/ui-kit 0.193.2 → 0.194.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +22 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +25 -12
- package/dist/components/CollectionItem.js +59 -4
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +2 -2
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.d.ts +1 -1
- package/dist/components/actions/Banner/Banner.js +6 -6
- package/dist/components/actions/Banner/Banner.js.map +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 +28 -25
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +7 -7
- package/dist/components/actions/CommandMenu/CommandMenu.js +232 -239
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +26 -22
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.d.ts +3 -0
- package/dist/components/actions/ItemActionContext.js +15 -13
- package/dist/components/actions/ItemActionContext.js.map +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +9 -9
- package/dist/components/actions/Menu/Menu.js +88 -64
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.d.ts +18 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js +36 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -0
- package/dist/components/actions/Menu/MenuItem.d.ts +5 -0
- package/dist/components/actions/Menu/MenuItem.js +402 -116
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.d.ts +3 -1
- package/dist/components/actions/Menu/MenuSection.js +31 -33
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.d.ts +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -0
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +3 -2
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +60 -36
- package/dist/components/actions/use-action.js.map +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.d.ts +5 -5
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +44 -33
- package/dist/components/content/HotKeys/HotKeys.js.map +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.d.ts +7 -7
- package/dist/components/content/Item/Item.js +205 -67
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +314 -0
- package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -0
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.d.ts +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 +18 -15
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +41 -46
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
- 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 +77 -70
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +5 -5
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +18 -19
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.js +2 -2
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +66 -48
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +6 -3
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +2 -2
- package/dist/components/content/Tree/use-checkbox-tree.js +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 +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +8 -5
- 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.d.ts +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-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 +119 -57
- package/dist/components/data/TableBase/use-column-window.js.map +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 +19 -17
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -1
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +13 -13
- 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.js +32 -29
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +2 -0
- package/dist/components/fields/ColorPicker/ColorPicker.js +8 -5
- 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.js +6 -3
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +41 -30
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +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.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +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.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +246 -238
- 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.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +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.js +22 -2
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +5 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +4 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +8 -7
- 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 +36 -32
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +4 -2
- package/dist/components/fields/Picker/Picker.js +3 -2
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +4 -4
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +4 -4
- package/dist/components/fields/Select/Select.js +35 -32
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +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/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +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 +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +62 -53
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.js +133 -109
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +102 -0
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -0
- package/dist/components/form/FieldWrapper/types.d.ts +6 -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 +17 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +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 +27 -24
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/legacy-tooltip.js +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 +2 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +3 -3
- 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/Modal/Modal.js +44 -24
- package/dist/components/overlays/Modal/Modal.js.map +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 +34 -24
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +45 -25
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +145 -0
- package/dist/components/overlays/Modal/modal-containment.js.map +1 -0
- 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 +2 -2
- 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 +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 +50 -47
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +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 +2 -2
- 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 +3 -2
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.d.ts +2 -1
- package/dist/i18n/index.js +3 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/instance.d.ts +2 -3
- package/dist/i18n/instance.js +3 -4
- package/dist/i18n/instance.js.map +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -4
- package/dist/i18n/locales/es-ES/uikit.js +36 -5
- package/dist/i18n/locales/es-MX/uikit.js +36 -5
- package/dist/i18n/locales/fr-FR/uikit.js +36 -5
- package/dist/i18n/locales/it-IT/uikit.js +36 -5
- package/dist/i18n/locales/ja-JP/uikit.js +36 -5
- package/dist/i18n/locales/nb-NO/uikit.js +36 -5
- package/dist/i18n/locales/pt-BR/uikit.js +36 -5
- package/dist/i18n/locales/pt-PT/uikit.js +36 -5
- package/dist/i18n/locales/sv-SE/uikit.js +36 -5
- package/dist/i18n/locales/vi-VN/uikit.js +36 -5
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.d.ts +11 -0
- package/dist/i18n/namespace.js +12 -0
- package/dist/i18n/namespace.js.map +1 -0
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +5 -3
- package/dist/i18n/useI18n.js.map +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 +9 -7
- package/dist/index.js +7 -6
- 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.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +11 -0
- package/dist/providers/navigation-url.js.map +1 -0
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +19 -0
- package/dist/providers/use-navigation.js.map +1 -0
- 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 +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 +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/Usage.md +4 -0
- package/docs/components/CollectionItem.md +5 -1
- package/docs/components/actions/CommandMenu.md +46 -18
- package/docs/components/actions/Menu.md +124 -19
- package/docs/components/content/Placeholder.md +2 -0
- package/docs/components/content/Skeleton.md +2 -0
- package/docs/components/data/ItemTable.md +2 -0
- package/docs/components/overlays/Dialog.md +1 -1
- package/docs/components/overlays/DialogContainer.md +1 -2
- package/docs/components/overlays/DialogTrigger.md +1 -0
- package/package.json +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/form/Form/modern/values.ts
|
|
3
3
|
const ownedContainers = /* @__PURE__ */ new WeakSet();
|
|
4
4
|
function freezeContainer(value) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/form/Form/reset-unbound-controls.ts
|
|
3
3
|
/**
|
|
4
4
|
* Both form roots cancel a native reset, because the browser would put a bound
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { useEvent } from "../../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { isModernFormController } from "../backend.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.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 { warn } from "../../../../utils/warnings.js";
|
|
5
5
|
import { useProviderProps } from "../../../../provider.js";
|
|
6
6
|
import { useValidationProps } from "../../validation/use-validation-props.js";
|
|
7
|
+
import { useFieldDescribedBy } from "../../FieldWrapper/field-description.js";
|
|
7
8
|
import { isModernFormController } from "../backend.js";
|
|
8
9
|
import { getFieldKey } from "../modern/values.js";
|
|
9
10
|
import { useFormProps } from "../Form.js";
|
|
@@ -29,7 +30,7 @@ const defaultValuePropsMapper = ({ value, onChange }) => ({
|
|
|
29
30
|
* legacy backend's adapter and is inert when the field is not bound to it.
|
|
30
31
|
*/
|
|
31
32
|
function useFieldProps(inputProps, t0) {
|
|
32
|
-
const $ = c(
|
|
33
|
+
const $ = c(24);
|
|
33
34
|
let t1;
|
|
34
35
|
if ($[0] !== t0) {
|
|
35
36
|
t1 = t0 === void 0 ? {} : t0;
|
|
@@ -139,8 +140,20 @@ function useFieldProps(inputProps, t0) {
|
|
|
139
140
|
$[20] = t8;
|
|
140
141
|
} else t8 = $[20];
|
|
141
142
|
const namedProps = t8;
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
const describedBy = useFieldDescribedBy(namedProps.id, namedProps["aria-describedby"]);
|
|
144
|
+
let t9;
|
|
145
|
+
if ($[21] !== describedBy || $[22] !== namedProps) {
|
|
146
|
+
t9 = describedBy === namedProps["aria-describedby"] ? namedProps : {
|
|
147
|
+
...namedProps,
|
|
148
|
+
"aria-describedby": describedBy
|
|
149
|
+
};
|
|
150
|
+
$[21] = describedBy;
|
|
151
|
+
$[22] = namedProps;
|
|
152
|
+
$[23] = t9;
|
|
153
|
+
} else t9 = $[23];
|
|
154
|
+
const describedProps = t9;
|
|
155
|
+
useDebugValue(describedProps);
|
|
156
|
+
return describedProps;
|
|
144
157
|
}
|
|
145
158
|
|
|
146
159
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-field-props.js","names":["useDebugValue","useId","useState","useEvent","useProviderProps","mergeProps","warn","useValidationProps","isModernFormController","useInsideLegacyField","useFormProps","getFieldKey","useFieldBinding","ValidateTrigger","ModernFormBrand","FieldTypes","UseFieldProps","UseFieldPropsParams","valuePropsMapper","value","onChange","defaultValidationTrigger","unsafe__isDisabled","defaultValuePropsMapper","StrippedFieldKey","ResolvedFieldForm","Form","ResolvedFieldProps","Props","Key","useFieldProps","inputProps","t0","$","_c","t1","undefined","params","provided","t2","field","options","form","name","path","props","isDisabled","t3","t4","isInsideLegacyField","rules","hasName","generatedId","isBound","t5","t6","unbound","isOutsideOfForm","t7","dontTouch","validateTrigger","onChangeEvent","t8","resolveResult","id","result","labelProps","for","valueProps","_form","_fieldOnChange","onBlur","_fieldOnBlur","fieldRest","result_0","resolved","result_1","_descriptor","dependsOn","_dependsOn","deps","_deps","domProps","namedProps"],"sources":["../../../../../src/components/form/Form/use-field/use-field-props.tsx"],"sourcesContent":["import { useDebugValue, useId, useState } from 'react';\n\nimport { useEvent } from '../../../../_internal/index';\nimport { useProviderProps } from '../../../../provider';\nimport { mergeProps } from '../../../../utils/react/index';\nimport { warn } from '../../../../utils/warnings';\nimport { useValidationProps } from '../../validation/index';\nimport { isModernFormController } from '../backend';\nimport { useInsideLegacyField } from '../Field';\nimport { useFormProps } from '../Form';\nimport { getFieldKey } from '../modern/values';\n\nimport { useFieldBinding } from './use-field-binding';\n\nimport type { ValidateTrigger } from '../../../../shared/index';\nimport type { ModernFormBrand } from '../backend';\nimport type { FieldTypes } from '../types';\nimport type { UseFieldProps } from './types';\n\nexport type UseFieldPropsParams = {\n valuePropsMapper?: ({ value, onChange }) => any;\n /**\n * @default 'onBlur'\n */\n defaultValidationTrigger?: ValidateTrigger;\n /**\n * prop helps to prevent calling hook conditionally, but changing this prop during render is unsafe and forbidden\n * If you want to change this prop after mount, remount the component with a new value.\n */\n unsafe__isDisabled?: boolean;\n};\n\nconst defaultValuePropsMapper = ({ value, onChange }) => ({\n value: value ?? null,\n onChange,\n});\n\n/** Binding inputs `useFieldProps` always strips before it returns. */\ntype StrippedFieldKey = 'field' | 'dependsOn' | 'deps';\n\n/**\n * A modern controller is stripped at runtime, so each member of `form` that is\n * one becomes `undefined`; a legacy instance survives, and `any` stays `any`.\n * Distributive, so it still applies when `Props` is a type parameter.\n */\ntype ResolvedFieldForm<Form> = Form extends ModernFormBrand ? undefined : Form;\n\n/**\n * The input's declared prop shape minus what the hook always strips: a DOM-safe\n * name, no binding inputs, and no modern controller in `form`.\n */\ntype ResolvedFieldProps<Props> = {\n [Key in keyof Props as Key extends StrippedFieldKey\n ? never\n : Key]: Key extends 'name'\n ? string | undefined\n : Key extends 'form'\n ? ResolvedFieldForm<Props[Key]>\n : Props[Key];\n};\n\n/**\n * The single entry point for input components (see\n * `docs/rules/input-components.md`).\n *\n * Every hook below runs on every render, whatever the mode: standalone (no\n * `name`), inside the deprecated `<Field>`, disabled through\n * `unsafe__isDisabled`, or bound to a form. The mode only decides which props\n * come back, so an input can gain or lose a `name`, or move between forms,\n * without changing its hook order. The legacy binding (`useField`) is the\n * legacy backend's adapter and is inert when the field is not bound to it.\n */\nexport function useFieldProps<\n T extends FieldTypes,\n Props extends UseFieldProps<T>,\n>(\n inputProps: Props,\n params: UseFieldPropsParams = {},\n): ResolvedFieldProps<Props> {\n // Provider defaults, then form context, then the normalization of the\n // deprecated `validationState` prop into `isInvalid`/`isValid`.\n const provided = useProviderProps(inputProps);\n const props: Props = useValidationProps(\n useFormProps(\n provided.field\n ? {\n ...provided,\n ...provided.field.options,\n form: provided.field.form,\n name:\n typeof provided.field.path === 'string'\n ? provided.field.path\n : getFieldKey(provided.field.path),\n }\n : provided,\n ),\n );\n\n // The initial value is what counts: changing it after mount is unsupported.\n const [isDisabled] = useState(params.unsafe__isDisabled ?? false);\n\n const {\n valuePropsMapper = defaultValuePropsMapper,\n defaultValidationTrigger = 'onBlur',\n } = params;\n\n const isInsideLegacyField = useInsideLegacyField();\n\n if (props.rules && !props.name) {\n warn(\n `The \"rules\" prop is not suitable for fields that are not part of a form. Use \"name\" prop to link the field to a form.`,\n );\n }\n\n const hasName = props.name != null;\n const generatedId = useId();\n const isBound = hasName && !isInsideLegacyField && !isDisabled;\n\n const field = useFieldBinding<T, Props>(\n props,\n {\n defaultValidationTrigger: params.defaultValidationTrigger,\n unbound: !isBound,\n },\n generatedId,\n );\n\n const isOutsideOfForm = field?.form == null;\n\n const onChangeEvent = useEvent((value, dontTouch: boolean) => {\n field?.onChange?.(\n value,\n dontTouch,\n field?.validateTrigger ?? defaultValidationTrigger,\n );\n });\n\n function resolveResult(): Props {\n if (isInsideLegacyField || isDisabled) {\n return props;\n }\n\n if (!hasName) {\n // Standalone field - just add generated ID if not provided\n if (!props.id) {\n const result = { ...props, id: generatedId };\n\n if (result.id && !result.labelProps) {\n result.labelProps = { for: result.id };\n } else if (result.id && result.labelProps && !result.labelProps.for) {\n result.labelProps = { ...result.labelProps, for: result.id };\n }\n\n return result as Props;\n }\n return props;\n }\n\n if (props.rules && isOutsideOfForm) {\n warn(\n `The \"rules\" prop is not supported for fields that are not part of a form. The \"${props.name}\" field is placed outside the form.`,\n );\n }\n\n const valueProps = !isOutsideOfForm\n ? valuePropsMapper({\n value: field.value,\n onChange: onChangeEvent,\n })\n : {};\n\n // Exclude `form` (it must never reach a DOM node) and the field's own\n // handlers: `valueProps` already routes the component's change event into\n // `field.onChange` under the name the component listens to, and `onBlur` is\n // added once below. `mergeProps` chains same-named handlers, so merging them\n // here as well made every user change and every blur run the field handler\n // twice — and onChange/onBlur-triggered validation validate twice.\n const {\n form: _form,\n onChange: _fieldOnChange,\n onBlur: _fieldOnBlur,\n ...fieldRest\n } = field ?? {};\n\n const result: Props = isOutsideOfForm\n ? props\n : mergeProps(props, fieldRest, valueProps, {\n validateTrigger: field.validateTrigger ?? defaultValidationTrigger,\n // Chained after the caller's own `onBlur` by `mergeProps`.\n onBlur: field.onBlur,\n });\n\n return result.id\n ? { ...result, labelProps: { ...result.labelProps, for: result.id } }\n : result;\n }\n\n const resolved = resolveResult();\n // React Aria forwards `form` to native inputs. A modern controller is a\n // binding source, never an HTML form id, including in standalone/group mode.\n const result = isModernFormController(resolved.form)\n ? { ...resolved, form: undefined }\n : resolved;\n\n const {\n field: _descriptor,\n dependsOn: _dependsOn,\n deps: _deps,\n ...domProps\n } = result;\n // Standalone and group-scoped inputs do not merge a bound field's props.\n // Their tuple must still become a string before React Aria or DOM forwarding.\n const namedProps =\n domProps.name != null && typeof domProps.name !== 'string'\n ? { ...domProps, name: getFieldKey(domProps.name) }\n : domProps;\n useDebugValue(namedProps);\n\n return namedProps as unknown as ResolvedFieldProps<Props>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-field-props.js","names":["useDebugValue","useId","useState","useEvent","useProviderProps","mergeProps","warn","useFieldDescribedBy","useValidationProps","isModernFormController","useInsideLegacyField","useFormProps","getFieldKey","useFieldBinding","ValidateTrigger","ModernFormBrand","FieldTypes","UseFieldProps","UseFieldPropsParams","valuePropsMapper","value","onChange","defaultValidationTrigger","unsafe__isDisabled","defaultValuePropsMapper","StrippedFieldKey","ResolvedFieldForm","Form","ResolvedFieldProps","Props","Key","useFieldProps","inputProps","t0","$","_c","t1","undefined","params","provided","t2","field","options","form","name","path","props","isDisabled","t3","t4","isInsideLegacyField","rules","hasName","generatedId","isBound","t5","t6","unbound","isOutsideOfForm","t7","dontTouch","validateTrigger","onChangeEvent","t8","resolveResult","id","result","labelProps","for","valueProps","_form","_fieldOnChange","onBlur","_fieldOnBlur","fieldRest","result_0","resolved","result_1","_descriptor","dependsOn","_dependsOn","deps","_deps","domProps","namedProps","describedBy","t9","describedProps"],"sources":["../../../../../src/components/form/Form/use-field/use-field-props.tsx"],"sourcesContent":["import { useDebugValue, useId, useState } from 'react';\n\nimport { useEvent } from '../../../../_internal/index';\nimport { useProviderProps } from '../../../../provider';\nimport { mergeProps } from '../../../../utils/react/index';\nimport { warn } from '../../../../utils/warnings';\nimport { useFieldDescribedBy } from '../../FieldWrapper/field-description';\nimport { useValidationProps } from '../../validation/index';\nimport { isModernFormController } from '../backend';\nimport { useInsideLegacyField } from '../Field';\nimport { useFormProps } from '../Form';\nimport { getFieldKey } from '../modern/values';\n\nimport { useFieldBinding } from './use-field-binding';\n\nimport type { ValidateTrigger } from '../../../../shared/index';\nimport type { ModernFormBrand } from '../backend';\nimport type { FieldTypes } from '../types';\nimport type { UseFieldProps } from './types';\n\nexport type UseFieldPropsParams = {\n valuePropsMapper?: ({ value, onChange }) => any;\n /**\n * @default 'onBlur'\n */\n defaultValidationTrigger?: ValidateTrigger;\n /**\n * prop helps to prevent calling hook conditionally, but changing this prop during render is unsafe and forbidden\n * If you want to change this prop after mount, remount the component with a new value.\n */\n unsafe__isDisabled?: boolean;\n};\n\nconst defaultValuePropsMapper = ({ value, onChange }) => ({\n value: value ?? null,\n onChange,\n});\n\n/** Binding inputs `useFieldProps` always strips before it returns. */\ntype StrippedFieldKey = 'field' | 'dependsOn' | 'deps';\n\n/**\n * A modern controller is stripped at runtime, so each member of `form` that is\n * one becomes `undefined`; a legacy instance survives, and `any` stays `any`.\n * Distributive, so it still applies when `Props` is a type parameter.\n */\ntype ResolvedFieldForm<Form> = Form extends ModernFormBrand ? undefined : Form;\n\n/**\n * The input's declared prop shape minus what the hook always strips: a DOM-safe\n * name, no binding inputs, and no modern controller in `form`.\n */\ntype ResolvedFieldProps<Props> = {\n [Key in keyof Props as Key extends StrippedFieldKey\n ? never\n : Key]: Key extends 'name'\n ? string | undefined\n : Key extends 'form'\n ? ResolvedFieldForm<Props[Key]>\n : Props[Key];\n};\n\n/**\n * The single entry point for input components (see\n * `docs/rules/input-components.md`).\n *\n * Every hook below runs on every render, whatever the mode: standalone (no\n * `name`), inside the deprecated `<Field>`, disabled through\n * `unsafe__isDisabled`, or bound to a form. The mode only decides which props\n * come back, so an input can gain or lose a `name`, or move between forms,\n * without changing its hook order. The legacy binding (`useField`) is the\n * legacy backend's adapter and is inert when the field is not bound to it.\n */\nexport function useFieldProps<\n T extends FieldTypes,\n Props extends UseFieldProps<T>,\n>(\n inputProps: Props,\n params: UseFieldPropsParams = {},\n): ResolvedFieldProps<Props> {\n // Provider defaults, then form context, then the normalization of the\n // deprecated `validationState` prop into `isInvalid`/`isValid`.\n const provided = useProviderProps(inputProps);\n const props: Props = useValidationProps(\n useFormProps(\n provided.field\n ? {\n ...provided,\n ...provided.field.options,\n form: provided.field.form,\n name:\n typeof provided.field.path === 'string'\n ? provided.field.path\n : getFieldKey(provided.field.path),\n }\n : provided,\n ),\n );\n\n // The initial value is what counts: changing it after mount is unsupported.\n const [isDisabled] = useState(params.unsafe__isDisabled ?? false);\n\n const {\n valuePropsMapper = defaultValuePropsMapper,\n defaultValidationTrigger = 'onBlur',\n } = params;\n\n const isInsideLegacyField = useInsideLegacyField();\n\n if (props.rules && !props.name) {\n warn(\n `The \"rules\" prop is not suitable for fields that are not part of a form. Use \"name\" prop to link the field to a form.`,\n );\n }\n\n const hasName = props.name != null;\n const generatedId = useId();\n const isBound = hasName && !isInsideLegacyField && !isDisabled;\n\n const field = useFieldBinding<T, Props>(\n props,\n {\n defaultValidationTrigger: params.defaultValidationTrigger,\n unbound: !isBound,\n },\n generatedId,\n );\n\n const isOutsideOfForm = field?.form == null;\n\n const onChangeEvent = useEvent((value, dontTouch: boolean) => {\n field?.onChange?.(\n value,\n dontTouch,\n field?.validateTrigger ?? defaultValidationTrigger,\n );\n });\n\n function resolveResult(): Props {\n if (isInsideLegacyField || isDisabled) {\n return props;\n }\n\n if (!hasName) {\n // Standalone field - just add generated ID if not provided\n if (!props.id) {\n const result = { ...props, id: generatedId };\n\n if (result.id && !result.labelProps) {\n result.labelProps = { for: result.id };\n } else if (result.id && result.labelProps && !result.labelProps.for) {\n result.labelProps = { ...result.labelProps, for: result.id };\n }\n\n return result as Props;\n }\n return props;\n }\n\n if (props.rules && isOutsideOfForm) {\n warn(\n `The \"rules\" prop is not supported for fields that are not part of a form. The \"${props.name}\" field is placed outside the form.`,\n );\n }\n\n const valueProps = !isOutsideOfForm\n ? valuePropsMapper({\n value: field.value,\n onChange: onChangeEvent,\n })\n : {};\n\n // Exclude `form` (it must never reach a DOM node) and the field's own\n // handlers: `valueProps` already routes the component's change event into\n // `field.onChange` under the name the component listens to, and `onBlur` is\n // added once below. `mergeProps` chains same-named handlers, so merging them\n // here as well made every user change and every blur run the field handler\n // twice — and onChange/onBlur-triggered validation validate twice.\n const {\n form: _form,\n onChange: _fieldOnChange,\n onBlur: _fieldOnBlur,\n ...fieldRest\n } = field ?? {};\n\n const result: Props = isOutsideOfForm\n ? props\n : mergeProps(props, fieldRest, valueProps, {\n validateTrigger: field.validateTrigger ?? defaultValidationTrigger,\n // Chained after the caller's own `onBlur` by `mergeProps`.\n onBlur: field.onBlur,\n });\n\n return result.id\n ? { ...result, labelProps: { ...result.labelProps, for: result.id } }\n : result;\n }\n\n const resolved = resolveResult();\n // React Aria forwards `form` to native inputs. A modern controller is a\n // binding source, never an HTML form id, including in standalone/group mode.\n const result = isModernFormController(resolved.form)\n ? { ...resolved, form: undefined }\n : resolved;\n\n const {\n field: _descriptor,\n dependsOn: _dependsOn,\n deps: _deps,\n ...domProps\n } = result;\n // Standalone and group-scoped inputs do not merge a bound field's props.\n // Their tuple must still become a string before React Aria or DOM forwarding.\n const namedProps =\n domProps.name != null && typeof domProps.name !== 'string'\n ? { ...domProps, name: getFieldKey(domProps.name) }\n : domProps;\n // Every input forwards `aria-describedby` to its control, so pointing it at\n // the field's description and message here reaches all of them.\n const describedBy = useFieldDescribedBy(\n namedProps.id,\n namedProps['aria-describedby'],\n );\n const describedProps =\n describedBy === namedProps['aria-describedby']\n ? namedProps\n : { ...namedProps, 'aria-describedby': describedBy };\n useDebugValue(describedProps);\n\n return describedProps as unknown as ResolvedFieldProps<Props>;\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.194.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { useEvent } from "../../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useIsFirstRender } from "../../../../_internal/hooks/use-is-first-render.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { FORM_BACKEND, isModernFormController, modernBackendUnavailableError } from "./backend.js";
|
|
3
3
|
import { applyRules } from "./validation.js";
|
|
4
4
|
import { dotizeConvert } from "../../../utils/dotize.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useProviderProps } from "../../provider.js";
|
|
4
4
|
import { useI18n } from "../../i18n/useI18n.js";
|
|
@@ -58,7 +58,7 @@ const NecessityLabelElement = tasty({
|
|
|
58
58
|
* `isRequired` or `isOptional`.
|
|
59
59
|
*/
|
|
60
60
|
function NecessityIndicatorMark(props) {
|
|
61
|
-
const $ = c(
|
|
61
|
+
const $ = c(12);
|
|
62
62
|
const { isRequired, isOptional, necessityIndicator: t0, includeNecessityIndicatorInAccessibilityName: t1 } = props;
|
|
63
63
|
const necessityIndicator = t0 === void 0 ? "icon" : t0;
|
|
64
64
|
const includeNecessityIndicatorInAccessibilityName = t1 === void 0 ? false : t1;
|
|
@@ -73,44 +73,47 @@ function NecessityIndicatorMark(props) {
|
|
|
73
73
|
if (necessityIndicator !== "icon" && necessityIndicator !== "label") return null;
|
|
74
74
|
if (isRequired) {
|
|
75
75
|
if (necessityIndicator === "icon") {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
let t3;
|
|
77
|
+
if ($[2] !== includeNecessityIndicatorInAccessibilityName || $[3] !== requiredLabel) {
|
|
78
|
+
t3 = /* @__PURE__ */ jsxs(Fragment$1, { children: [" ", /* @__PURE__ */ jsx("span", {
|
|
79
|
+
...includeNecessityIndicatorInAccessibilityName ? {
|
|
80
|
+
role: "img",
|
|
81
|
+
"aria-label": requiredLabel
|
|
82
|
+
} : { "aria-hidden": true },
|
|
81
83
|
children: REQUIRED_ICON
|
|
82
84
|
})] });
|
|
83
|
-
$[2] =
|
|
84
|
-
$[3] =
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
$[2] = includeNecessityIndicatorInAccessibilityName;
|
|
86
|
+
$[3] = requiredLabel;
|
|
87
|
+
$[4] = t3;
|
|
88
|
+
} else t3 = $[4];
|
|
89
|
+
return t3;
|
|
87
90
|
}
|
|
88
91
|
const t3 = !includeNecessityIndicatorInAccessibilityName ? true : void 0;
|
|
89
92
|
let t4;
|
|
90
|
-
if ($[
|
|
93
|
+
if ($[5] !== requiredLabel || $[6] !== t3) {
|
|
91
94
|
t4 = /* @__PURE__ */ jsxs(Fragment$1, { children: [" ", /* @__PURE__ */ jsx(NecessityLabelElement, {
|
|
92
95
|
"aria-hidden": t3,
|
|
93
96
|
children: requiredLabel
|
|
94
97
|
})] });
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
} else t4 = $[
|
|
98
|
+
$[5] = requiredLabel;
|
|
99
|
+
$[6] = t3;
|
|
100
|
+
$[7] = t4;
|
|
101
|
+
} else t4 = $[7];
|
|
99
102
|
return t4;
|
|
100
103
|
}
|
|
101
104
|
if (!isOptional) return null;
|
|
102
105
|
let t3;
|
|
103
|
-
if ($[
|
|
106
|
+
if ($[8] !== t) {
|
|
104
107
|
t3 = t("form.optional", "(optional)");
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
} else t3 = $[
|
|
108
|
+
$[8] = t;
|
|
109
|
+
$[9] = t3;
|
|
110
|
+
} else t3 = $[9];
|
|
108
111
|
let t4;
|
|
109
|
-
if ($[
|
|
112
|
+
if ($[10] !== t3) {
|
|
110
113
|
t4 = /* @__PURE__ */ jsxs(Fragment$1, { children: [" ", /* @__PURE__ */ jsx(NecessityLabelElement, { children: t3 })] });
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
113
|
-
} else t4 = $[
|
|
114
|
+
$[10] = t3;
|
|
115
|
+
$[11] = t4;
|
|
116
|
+
} else t4 = $[11];
|
|
114
117
|
return t4;
|
|
115
118
|
}
|
|
116
119
|
const INLINE_LABEL_STYLES = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","Styles","tasty","forwardRef","useI18n","useProviderProps","LabelPosition","NecessityIndicator","ValidationProps","extractStyles","getValidationMods","REQUIRED_ICON","enableBackground","width","height","transform","NecessityLabelElement","as","qa","styles","preset","color","fontWeight","CubeNecessityIndicatorProps","necessityIndicator","isRequired","isOptional","includeNecessityIndicatorInAccessibilityName","NecessityIndicatorMark","props","$","_c","t0","t1","undefined","t","t2","requiredLabel","t3","t4","separator","INLINE_LABEL_STYLES","invalid","const","LABEL_STYLES","display","side","split","LabelElement","CubeLabelProps","labelPosition","htmlFor","for","size","Label","ref","children","isDisabled","isInvalid","isValid","labelFor","otherProps","domRef","mark","T0","t5","t6","t7","t8","disabled","t9","t10","_Label","displayName"],"sources":["../../../src/components/form/Label.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useI18n } from '../../i18n';\nimport { useProviderProps } from '../../provider';\nimport {\n LabelPosition,\n NecessityIndicator,\n ValidationProps,\n} from '../../shared/index';\nimport { extractStyles } from '../../utils/styles';\n\nimport { getValidationMods } from './validation/index';\n\nconst REQUIRED_ICON = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 100 125\"\n style={{\n // @ts-ignore\n enableBackground: 'new 0 0 100 100',\n width: '.8em',\n height: '.8em',\n transform: 'rotate(-5deg)',\n }}\n >\n <switch>\n <g>\n <polygon\n fill=\"currentColor\"\n points=\"97.5,47.5 90.5,26.1 61.3,35.6 61.3,4.8 38.7,4.8 38.7,35.6 9.5,26.1 2.5,47.5 31.8,57 13.7,82 31.9,95.2 50,70.3 68.1,95.2 86.3,82 68.2,57\"\n />\n </g>\n </switch>\n </svg>\n);\n\n/**\n * The `(required)` / `(optional)` note. Deliberately quieter than the label it\n * follows: it is an aside about the field, not part of its name.\n *\n * `t4` / `#dark-03` is the same tier `FieldWrapper` already gives `description`\n * and `message`, so the note joins the established secondary text rather than\n * inventing a size of its own. The weight is dropped back to 400 — `t4` carries\n * 500, the same weight as the label — because that contrast is what makes the\n * note read as an aside at a glance.\n */\nconst NecessityLabelElement = tasty({\n as: 'span',\n qa: 'NecessityLabel',\n styles: {\n preset: 't4',\n color: '#dark-03',\n fontWeight: 400,\n },\n});\n\nexport interface CubeNecessityIndicatorProps {\n /**\n * `'icon'` renders the asterisk, `'label'` the `(required)` / `(optional)`\n * text. Defaults to `'icon'`, which has no optional form and so only ever\n * marks a required field. `null` suppresses the indicator entirely.\n */\n necessityIndicator?: NecessityIndicator | null;\n /**\n * Marks the label as required. Only an `isRequired` authored on the input,\n * the label or the `Form` reaches this — a `required` validation rule drives\n * validation and `aria-required` without decorating the label.\n */\n isRequired?: boolean;\n /**\n * Marks the label as optional. Purely presentational, and ignored when the\n * field is required.\n */\n isOptional?: boolean;\n /**\n * Whether the indicator contributes to the field's accessible name. Off by\n * default because a required field already announces `aria-required`, and\n * repeating it in the name is noise.\n */\n includeNecessityIndicatorInAccessibilityName?: boolean;\n}\n\n/**\n * The `*` or `(required)` / `(optional)` marker that follows a field label.\n *\n * Its own component because two places render it and both need the same\n * strings: `Label` when it is given plain text, and `FieldWrapper`, which\n * builds a element tree around the label and therefore has to place the marker\n * beside the label text itself rather than after the whole tree.\n *\n * Both marks are opt-in: nothing renders unless the call site passed\n * `isRequired` or `isOptional`.\n */\nexport function NecessityIndicatorMark(props: CubeNecessityIndicatorProps) {\n const {\n isRequired,\n isOptional,\n necessityIndicator = 'icon',\n includeNecessityIndicatorInAccessibilityName = false,\n } = props;\n const { t } = useI18n();\n\n const requiredLabel = t('form.required', '(required)');\n\n // A plain space would collapse against the label text in a flex container,\n // and the zero-width space keeps the pair from being split across lines.\n const separator = ' ';\n\n // Anything that is not one of the two shapes means \"no indicator\" — `null`,\n // and also any stray falsy value a caller might still be passing.\n if (necessityIndicator !== 'icon' && necessityIndicator !== 'label') {\n return null;\n }\n\n if (isRequired) {\n if (necessityIndicator === 'icon') {\n return (\n <>\n {separator}\n <span\n aria-label={\n includeNecessityIndicatorInAccessibilityName\n ? requiredLabel\n : undefined\n }\n >\n {REQUIRED_ICON}\n </span>\n </>\n );\n }\n\n // Hidden from screen readers by default, because `aria-required` on the\n // input already announces it and repeating it in the name is noise.\n return (\n <>\n {separator}\n <NecessityLabelElement\n aria-hidden={\n !includeNecessityIndicatorInAccessibilityName ? true : undefined\n }\n >\n {requiredLabel}\n </NecessityLabelElement>\n </>\n );\n }\n\n // There is no icon form of \"optional\", so the note is rendered whichever\n // indicator was asked for. Nothing else tells a screen reader the field is\n // optional, so this one stays in the accessible name.\n if (!isOptional) return null;\n\n return (\n <>\n {separator}\n <NecessityLabelElement>\n {t('form.optional', '(optional)')}\n </NecessityLabelElement>\n </>\n );\n}\n\nexport const INLINE_LABEL_STYLES: Styles = {\n preset: 't3',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n },\n} as const;\n\nexport const LABEL_STYLES: Styles = {\n display: 'block',\n preset: {\n '': 't3m',\n 'size=small': 't4',\n },\n color: {\n '': '#dark',\n invalid: '#danger-text',\n },\n width: {\n '': 'initial',\n side: '($label-width, initial)',\n split: 'initial',\n },\n};\n\nconst LabelElement = tasty({\n as: 'label',\n qa: 'Label',\n styles: LABEL_STYLES,\n});\n\nexport interface CubeLabelProps\n extends BaseProps,\n ContainerStyleProps,\n ValidationProps {\n labelPosition?: LabelPosition;\n necessityIndicator?: NecessityIndicator | null;\n isRequired?: boolean;\n isOptional?: boolean;\n includeNecessityIndicatorInAccessibilityName?: boolean;\n htmlFor?: string;\n for?: string;\n size?: 'medium' | 'small';\n}\n\nfunction Label(props: CubeLabelProps, ref) {\n props = useProviderProps<CubeLabelProps>(props);\n\n const { t } = useI18n();\n\n let {\n as,\n qa,\n children,\n labelPosition = 'top',\n isRequired,\n isOptional,\n necessityIndicator,\n includeNecessityIndicatorInAccessibilityName = false,\n htmlFor,\n isDisabled,\n isInvalid,\n isValid,\n size = 'medium',\n for: labelFor,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n const mark = (\n <NecessityIndicatorMark\n isRequired={isRequired}\n isOptional={isOptional}\n necessityIndicator={necessityIndicator}\n includeNecessityIndicatorInAccessibilityName={\n includeNecessityIndicatorInAccessibilityName\n }\n />\n );\n\n return (\n <LabelElement\n {...filterBaseProps(otherProps)}\n ref={domRef}\n styles={styles}\n htmlFor={labelFor || htmlFor}\n data-size={size}\n mods={{\n side: labelPosition === 'side',\n disabled: isDisabled,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n >\n {/*\n A non-string child is a tree the caller laid out \\u2014 `FieldWrapper`'s\n full-width `Flex`, for one \\u2014 and appending the marker after it would put\n it at the far end of that layout rather than next to the label text. So\n the marker is only appended here for plain-text labels; callers that\n build their own tree place `NecessityIndicatorMark` where it belongs.\n */}\n {typeof children !== 'string' ? (\n children\n ) : (\n <>\n {children}\n {mark}\n </>\n )}\n </LabelElement>\n );\n}\n\nlet _Label = forwardRef(Label);\n\n_Label.displayName = 'Label';\n\nexport { _Label as Label };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Label.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","Styles","tasty","forwardRef","useI18n","useProviderProps","LabelPosition","NecessityIndicator","ValidationProps","extractStyles","getValidationMods","REQUIRED_ICON","enableBackground","width","height","transform","NecessityLabelElement","as","qa","styles","preset","color","fontWeight","CubeNecessityIndicatorProps","necessityIndicator","isRequired","isOptional","includeNecessityIndicatorInAccessibilityName","NecessityIndicatorMark","props","$","_c","t0","t1","undefined","t","t2","requiredLabel","t3","separator","role","t4","INLINE_LABEL_STYLES","invalid","const","LABEL_STYLES","display","side","split","LabelElement","CubeLabelProps","labelPosition","htmlFor","for","size","Label","ref","children","isDisabled","isInvalid","isValid","labelFor","otherProps","domRef","mark","T0","t5","t6","t7","t8","disabled","t9","t10","_Label","displayName"],"sources":["../../../src/components/form/Label.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useI18n } from '../../i18n';\nimport { useProviderProps } from '../../provider';\nimport {\n LabelPosition,\n NecessityIndicator,\n ValidationProps,\n} from '../../shared/index';\nimport { extractStyles } from '../../utils/styles';\n\nimport { getValidationMods } from './validation/index';\n\nconst REQUIRED_ICON = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 100 125\"\n style={{\n // @ts-ignore\n enableBackground: 'new 0 0 100 100',\n width: '.8em',\n height: '.8em',\n transform: 'rotate(-5deg)',\n }}\n >\n <switch>\n <g>\n <polygon\n fill=\"currentColor\"\n points=\"97.5,47.5 90.5,26.1 61.3,35.6 61.3,4.8 38.7,4.8 38.7,35.6 9.5,26.1 2.5,47.5 31.8,57 13.7,82 31.9,95.2 50,70.3 68.1,95.2 86.3,82 68.2,57\"\n />\n </g>\n </switch>\n </svg>\n);\n\n/**\n * The `(required)` / `(optional)` note. Deliberately quieter than the label it\n * follows: it is an aside about the field, not part of its name.\n *\n * `t4` / `#dark-03` is the same tier `FieldWrapper` already gives `description`\n * and `message`, so the note joins the established secondary text rather than\n * inventing a size of its own. The weight is dropped back to 400 — `t4` carries\n * 500, the same weight as the label — because that contrast is what makes the\n * note read as an aside at a glance.\n */\nconst NecessityLabelElement = tasty({\n as: 'span',\n qa: 'NecessityLabel',\n styles: {\n preset: 't4',\n color: '#dark-03',\n fontWeight: 400,\n },\n});\n\nexport interface CubeNecessityIndicatorProps {\n /**\n * `'icon'` renders the asterisk, `'label'` the `(required)` / `(optional)`\n * text. Defaults to `'icon'`, which has no optional form and so only ever\n * marks a required field. `null` suppresses the indicator entirely.\n */\n necessityIndicator?: NecessityIndicator | null;\n /**\n * Marks the label as required. Only an `isRequired` authored on the input,\n * the label or the `Form` reaches this — a `required` validation rule drives\n * validation and `aria-required` without decorating the label.\n */\n isRequired?: boolean;\n /**\n * Marks the label as optional. Purely presentational, and ignored when the\n * field is required.\n */\n isOptional?: boolean;\n /**\n * Whether the indicator contributes to the field's accessible name. Off by\n * default because a required field already announces `aria-required`, and\n * repeating it in the name is noise.\n */\n includeNecessityIndicatorInAccessibilityName?: boolean;\n}\n\n/**\n * The `*` or `(required)` / `(optional)` marker that follows a field label.\n *\n * Its own component because two places render it and both need the same\n * strings: `Label` when it is given plain text, and `FieldWrapper`, which\n * builds a element tree around the label and therefore has to place the marker\n * beside the label text itself rather than after the whole tree.\n *\n * Both marks are opt-in: nothing renders unless the call site passed\n * `isRequired` or `isOptional`.\n */\nexport function NecessityIndicatorMark(props: CubeNecessityIndicatorProps) {\n const {\n isRequired,\n isOptional,\n necessityIndicator = 'icon',\n includeNecessityIndicatorInAccessibilityName = false,\n } = props;\n const { t } = useI18n();\n\n const requiredLabel = t('form.required', '(required)');\n\n // A plain space would collapse against the label text in a flex container,\n // and the zero-width space keeps the pair from being split across lines.\n const separator = ' ';\n\n // Anything that is not one of the two shapes means \"no indicator\" — `null`,\n // and also any stray falsy value a caller might still be passing.\n if (necessityIndicator !== 'icon' && necessityIndicator !== 'label') {\n return null;\n }\n\n if (isRequired) {\n if (necessityIndicator === 'icon') {\n return (\n <>\n {separator}\n {/*\n An image named \"(required)\" when it belongs in the name, hidden\n otherwise — never a bare `<svg>`, which a screen reader announces\n as an unnamed graphic.\n */}\n <span\n {...(includeNecessityIndicatorInAccessibilityName\n ? { role: 'img', 'aria-label': requiredLabel }\n : { 'aria-hidden': true })}\n >\n {REQUIRED_ICON}\n </span>\n </>\n );\n }\n\n // Hidden from screen readers by default, because `aria-required` on the\n // input already announces it and repeating it in the name is noise.\n return (\n <>\n {separator}\n <NecessityLabelElement\n aria-hidden={\n !includeNecessityIndicatorInAccessibilityName ? true : undefined\n }\n >\n {requiredLabel}\n </NecessityLabelElement>\n </>\n );\n }\n\n // There is no icon form of \"optional\", so the note is rendered whichever\n // indicator was asked for. Nothing else tells a screen reader the field is\n // optional, so this one stays in the accessible name.\n if (!isOptional) return null;\n\n return (\n <>\n {separator}\n <NecessityLabelElement>\n {t('form.optional', '(optional)')}\n </NecessityLabelElement>\n </>\n );\n}\n\nexport const INLINE_LABEL_STYLES: Styles = {\n preset: 't3',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n },\n} as const;\n\nexport const LABEL_STYLES: Styles = {\n display: 'block',\n preset: {\n '': 't3m',\n 'size=small': 't4',\n },\n color: {\n '': '#dark',\n invalid: '#danger-text',\n },\n width: {\n '': 'initial',\n side: '($label-width, initial)',\n split: 'initial',\n },\n};\n\nconst LabelElement = tasty({\n as: 'label',\n qa: 'Label',\n styles: LABEL_STYLES,\n});\n\nexport interface CubeLabelProps\n extends BaseProps,\n ContainerStyleProps,\n ValidationProps {\n labelPosition?: LabelPosition;\n necessityIndicator?: NecessityIndicator | null;\n isRequired?: boolean;\n isOptional?: boolean;\n includeNecessityIndicatorInAccessibilityName?: boolean;\n htmlFor?: string;\n for?: string;\n size?: 'medium' | 'small';\n}\n\nfunction Label(props: CubeLabelProps, ref) {\n props = useProviderProps<CubeLabelProps>(props);\n\n const { t } = useI18n();\n\n let {\n as,\n qa,\n children,\n labelPosition = 'top',\n isRequired,\n isOptional,\n necessityIndicator,\n includeNecessityIndicatorInAccessibilityName = false,\n htmlFor,\n isDisabled,\n isInvalid,\n isValid,\n size = 'medium',\n for: labelFor,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n const mark = (\n <NecessityIndicatorMark\n isRequired={isRequired}\n isOptional={isOptional}\n necessityIndicator={necessityIndicator}\n includeNecessityIndicatorInAccessibilityName={\n includeNecessityIndicatorInAccessibilityName\n }\n />\n );\n\n return (\n <LabelElement\n {...filterBaseProps(otherProps)}\n ref={domRef}\n styles={styles}\n htmlFor={labelFor || htmlFor}\n data-size={size}\n mods={{\n side: labelPosition === 'side',\n disabled: isDisabled,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n >\n {/*\n A non-string child is a tree the caller laid out \\u2014 `FieldWrapper`'s\n full-width `Flex`, for one \\u2014 and appending the marker after it would put\n it at the far end of that layout rather than next to the label text. So\n the marker is only appended here for plain-text labels; callers that\n build their own tree place `NecessityIndicatorMark` where it belongs.\n */}\n {typeof children !== 'string' ? (\n children\n ) : (\n <>\n {children}\n {mark}\n </>\n )}\n </LabelElement>\n );\n}\n\nlet _Label = forwardRef(Label);\n\n_Label.displayName = 'Label';\n\nexport { _Label as Label };\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.194.0 | Cube Dev Team */
|
|
2
2
|
import { LoadingIcon } from "../../../icons/LoadingIcon.js";
|
|
3
3
|
import { hasValidationState } from "./resolve-validation-props.js";
|
|
4
4
|
import { InvalidIcon } from "../../shared/InvalidIcon.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/form/validation/resolve-validation-props.ts
|
|
3
3
|
/**
|
|
4
4
|
* Normalizes the validation props of a field into a pair of booleans.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { useWarn } from "../../../_internal/hooks/use-warn.js";
|
|
3
3
|
import { resolveValidationProps } from "./resolve-validation-props.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { warnAboutLegacyTooltip } from "./legacy-tooltip.js";
|
|
4
4
|
import { FieldWrapper } from "./FieldWrapper/FieldWrapper.js";
|
|
@@ -37,6 +37,7 @@ function wrapWithField(component, ref, props) {
|
|
|
37
37
|
isHidden,
|
|
38
38
|
labelSuffix,
|
|
39
39
|
Component: component,
|
|
40
|
+
controlId: props.id,
|
|
40
41
|
ref
|
|
41
42
|
});
|
|
42
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","wrapWithField","component","ref","HTMLElement","props","T","forceField","label","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/index';\nimport { mergeProps } from '../../utils/react/index';\n\nimport { FieldWrapper } from './FieldWrapper/index';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// `children` is intentionally omitted: the input is passed as `component`, never through props.\ninterface WrapWithFieldProps\n extends FieldBaseProps,\n Omit<BaseProps, 'children'>,\n FormBaseProps {}\n\n/**\n * Wraps an input with the field chrome (label, description, message) when it has a `label` or `forceField`.\n * Only the field wrapper props are forwarded, so callers can pass their whole props object as is.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: RefObject<unknown> | FocusableRef<HTMLElement> | DOMRef<HTMLElement>,\n props: T,\n) {\n let {\n forceField,\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n if (!label && !forceField) {\n return component;\n }\n\n warnAboutLegacyTooltip(props);\n\n // Merge fieldStyles as shorthand for fieldProps.styles (fieldStyles takes priority)\n const mergedFieldProps = fieldStyles\n ? mergeProps(fieldProps, { styles: fieldStyles })\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n ref,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAgBY,cACdC,WACAC,KACAE,OACA;CACA,IAAI,EACFE,YACAC,OACAC,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACEvB;AAEJ,KAAI,CAACG,SAAS,CAACD,WACb,QAAOL;AAGTJ,wBAAuBO,MAAM;CAG7B,MAAMwB,mBAAmBL,cACrB5B,WAAW2B,YAAY,EAAEO,QAAQN,aAAa,CAAC,GAC/CD;CAGJ,MAAMQ,mBAAmBpB,cACrBf,WAAW0B,YAAY,EAAEQ,QAAQnB,aAAa,CAAC,GAC/CW;CAGJ,MAAM,EAAEU,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,EAAE;AAE3E,QACE,oBAAC;EAEGrB;EACAC;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYS;EACZR,YAAYW;EACZlB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAI;EACAC;EACAC;EACAC;EACAO,WAAWjC;
|
|
1
|
+
{"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","wrapWithField","component","ref","HTMLElement","props","T","forceField","label","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/index';\nimport { mergeProps } from '../../utils/react/index';\n\nimport { FieldWrapper } from './FieldWrapper/index';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// `children` is intentionally omitted: the input is passed as `component`, never through props.\ninterface WrapWithFieldProps\n extends FieldBaseProps,\n Omit<BaseProps, 'children'>,\n FormBaseProps {}\n\n/**\n * Wraps an input with the field chrome (label, description, message) when it has a `label` or `forceField`.\n * Only the field wrapper props are forwarded, so callers can pass their whole props object as is.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: RefObject<unknown> | FocusableRef<HTMLElement> | DOMRef<HTMLElement>,\n props: T,\n) {\n let {\n forceField,\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n if (!label && !forceField) {\n return component;\n }\n\n warnAboutLegacyTooltip(props);\n\n // Merge fieldStyles as shorthand for fieldProps.styles (fieldStyles takes priority)\n const mergedFieldProps = fieldStyles\n ? mergeProps(fieldProps, { styles: fieldStyles })\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n ref,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAgBY,cACdC,WACAC,KACAE,OACA;CACA,IAAI,EACFE,YACAC,OACAC,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACEvB;AAEJ,KAAI,CAACG,SAAS,CAACD,WACb,QAAOL;AAGTJ,wBAAuBO,MAAM;CAG7B,MAAMwB,mBAAmBL,cACrB5B,WAAW2B,YAAY,EAAEO,QAAQN,aAAa,CAAC,GAC/CD;CAGJ,MAAMQ,mBAAmBpB,cACrBf,WAAW0B,YAAY,EAAEQ,QAAQnB,aAAa,CAAC,GAC/CW;CAGJ,MAAM,EAAEU,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,EAAE;AAE3E,QACE,oBAAC;EAEGrB;EACAC;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYS;EACZR,YAAYW;EACZlB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAI;EACAC;EACAC;EACAC;EACAO,WAAWjC;EAGXkC,WAAW/B,MAAM2B;EACjB7B;GAEF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { DisplayTransition } from "../DisplayTransition/DisplayTransition.js";
|
|
3
3
|
import { tasty } from "@tenphi/tasty";
|
|
4
4
|
import { isValidElement, useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { BASE_STYLES, BLOCK_STYLES, COLOR_STYLES, DIMENSION_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
|
|
4
4
|
import { forwardRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
|
|
4
4
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useControlledState } from "@react-stately/utils";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { DraggableCollection } from "../../shared/DraggableCollection.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { DropIndicatorElement } from "./styled.js";
|
|
3
3
|
import { useTabsContext } from "./TabsContext.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { TabPanelElement } from "./styled.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useMemo, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { _ItemButton } from "../../actions/ItemButton/ItemButton.js";
|
|
3
3
|
import { useOptionalTabsContext } from "./TabsContext.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/navigation/Tabs/popover-placement.ts
|
|
3
3
|
/**
|
|
4
4
|
* Maps the parent Tabs `placement` to the popover placement for menus and
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
import { CubeMenuProps } from "../../actions/Menu/Menu.js";
|
|
3
|
-
import "../../content/Item/index.js";
|
|
4
|
-
import { CubeItemProps } from "../../content/Item/Item.js";
|
|
5
2
|
import { CubeItemActionProps } from "../../actions/ItemAction/ItemAction.js";
|
|
6
3
|
import "../../actions/ItemAction/index.js";
|
|
4
|
+
import { CubeMenuProps } from "../../actions/Menu/Menu.js";
|
|
5
|
+
import "../../content/Item/index.js";
|
|
7
6
|
import "../../actions/Menu/index.js";
|
|
7
|
+
import { CubeItemProps } from "../../content/Item/Item.js";
|
|
8
8
|
import { BaseProps, OuterStyleProps, Styles } from "@tenphi/tasty";
|
|
9
9
|
import { ReactNode } from "react";
|
|
10
10
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { chainRaf } from "../../../utils/raf.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|