@cube-dev/ui-kit 0.147.2 → 0.148.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-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +24 -3
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.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 +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.d.ts +1 -0
- package/dist/components/content/PrismCode/PrismCode.js +2 -1
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +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/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/fields/Checkbox/Checkbox.js +17 -17
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -8
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -2
- package/dist/components/fields/ComboBox/ComboBox.js +26 -23
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -5
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +1 -2
- package/dist/components/fields/DatePicker/DateInput.js +4 -7
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +21 -14
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -2
- package/dist/components/fields/DatePicker/DatePicker.js +4 -7
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js +4 -7
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +6 -8
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -2
- package/dist/components/fields/DatePicker/TimeInput.js +4 -7
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/parseDate.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 +26 -7
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +11 -11
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +20 -10
- 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 +35 -27
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -3
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -3
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.js +20 -10
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +14 -8
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +4 -7
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -2
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +21 -12
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.d.ts +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +11 -4
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.js +22 -22
- 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 +10 -4
- package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
- package/dist/components/fields/Slider/Slider.js +6 -2
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +18 -8
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +11 -4
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +15 -4
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +5 -1
- package/dist/components/fields/Slider/elements.js.map +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +11 -9
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -3
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -3
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +29 -33
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +2 -0
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +29 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js +11 -7
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/index.d.ts +1 -2
- package/dist/components/form/FieldWrapper/types.d.ts +2 -3
- package/dist/components/form/Form/Field.js +8 -5
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.js +6 -4
- package/dist/components/form/Form/Form.js.map +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/index.js +1 -1
- package/dist/components/form/Form/use-field/types.d.ts +7 -5
- package/dist/components/form/Form/use-field/use-field-props.js +7 -1
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.js +8 -6
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.d.ts +2 -3
- package/dist/components/form/Label.js +7 -4
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/index.d.ts +6 -3
- package/dist/components/form/validation/ValidationIndicator.d.ts +28 -0
- package/dist/components/form/validation/ValidationIndicator.js +37 -0
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -0
- package/dist/components/form/validation/index.d.ts +4 -0
- package/dist/components/form/validation/resolve-validation-props.d.ts +51 -0
- package/dist/components/form/validation/resolve-validation-props.js +49 -0
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -0
- package/dist/components/form/validation/use-validation-props.d.ts +16 -0
- package/dist/components/form/validation/use-validation-props.js +29 -0
- package/dist/components/form/validation/use-validation-props.js.map +1 -0
- package/dist/components/form/wrapper.d.ts +5 -1
- package/dist/components/form/wrapper.js +8 -3
- 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/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.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/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.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/FileTabs/FileTabs.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/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.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 +4 -3
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/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/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/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/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 +6 -4
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +2 -1
- package/dist/provider.js +6 -4
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/shared/form.d.ts +17 -4
- package/dist/shared/index.d.ts +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/palette.js.map +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/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/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/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.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/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.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/FieldProperties.md +4 -2
- package/docs/Introduction.md +1 -1
- package/docs/components/content/CopySnippet.md +5 -0
- package/docs/components/content/PrismCode.md +2 -2
- package/docs/components/fields/Checkbox.md +1 -1
- package/docs/components/fields/CommandTextArea.md +1 -1
- package/docs/components/fields/DatePicker.md +1 -1
- package/docs/components/fields/FileInput.md +3 -1
- package/docs/components/fields/FilterListBox.md +2 -2
- package/docs/components/fields/ListBox.md +2 -2
- package/docs/components/fields/NumberInput.md +3 -3
- package/docs/components/fields/PasswordInput.md +3 -2
- package/docs/components/fields/Picker.md +5 -5
- package/docs/components/fields/SearchInput.md +5 -4
- package/docs/components/fields/Select.md +3 -3
- package/docs/components/fields/Slider.md +4 -0
- package/docs/components/fields/TextInput.md +3 -3
- package/docs/components/fields/TextInputMapper.md +5 -0
- package/docs/components/form/Field.md +10 -9
- package/docs/components/form/Form.md +3 -1
- package/docs/components/overlays/DialogForm.md +3 -1
- package/package.json +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.d.ts +0 -12
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +0 -41
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js.map +0 -1
package/dist/utils/selection.js
CHANGED
package/dist/utils/styles.js
CHANGED
package/dist/utils/tree.js
CHANGED
package/dist/utils/warnings.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
//#region src/version.ts
|
|
3
|
-
const VERSION = "0.
|
|
3
|
+
const VERSION = "0.148.0";
|
|
4
4
|
const TASTY_VERSION = "2.8.0";
|
|
5
5
|
if (typeof window !== "undefined") {
|
|
6
6
|
const version = VERSION;
|
package/docs/FieldProperties.md
CHANGED
|
@@ -7,7 +7,7 @@ When used inside a [Form](./components/form/Form.md), these properties are autom
|
|
|
7
7
|
## Identity & Form Integration
|
|
8
8
|
|
|
9
9
|
- **`name`** `string` — Field name for form data binding. Required when used within a Form.
|
|
10
|
-
- **`form`** `CubeFormInstance` — Form instance. Automatically provided when inside a Form context.
|
|
10
|
+
- **`form`** `CubeFormInstance` — Form instance. Automatically provided when inside a Form context. Pass it explicitly to link an input to a form it is not nested in, or to override the surrounding form.
|
|
11
11
|
- **`defaultValue`** `any` — Default value for the field in uncontrolled mode.
|
|
12
12
|
- **`id`** `string` — Unique ID for the field element.
|
|
13
13
|
- **`idPrefix`** `string` — ID prefix to avoid collisions between multiple forms.
|
|
@@ -35,7 +35,9 @@ When used inside a [Form](./components/form/Form.md), these properties are autom
|
|
|
35
35
|
- **`isReadOnly`** `boolean` (default: `false`) — Whether the field can be focused but not changed.
|
|
36
36
|
- **`isLoading`** `boolean` (default: `false`) — Whether to show a loading spinner and disable interactions.
|
|
37
37
|
- **`isHidden`** `boolean` (default: `false`) — Whether the field is hidden.
|
|
38
|
-
- **`
|
|
38
|
+
- **`isInvalid`** `boolean` (default: `false`) — Whether the field displays its invalid visual styling. Takes precedence over `isValid`.
|
|
39
|
+
- **`isValid`** `boolean` (default: `false`) — Whether the field displays its valid visual styling.
|
|
40
|
+
- **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead.
|
|
39
41
|
- **`autoFocus`** `boolean` (default: `false`) — Whether the field should receive focus on render.
|
|
40
42
|
|
|
41
43
|
## Validation
|
package/docs/Introduction.md
CHANGED
|
@@ -93,7 +93,7 @@ All input components work seamlessly with the Form component:
|
|
|
93
93
|
|
|
94
94
|
- **Built-in Field Support** - No wrapper components needed
|
|
95
95
|
- **Automatic Validation** - Validation rules and error display
|
|
96
|
-
- **Form-level Configuration** - Inherit settings like `labelPosition` and `
|
|
96
|
+
- **Form-level Configuration** - Inherit settings like `labelPosition` and `isReadOnly`
|
|
97
97
|
- **Programmatic Control** - Use `Form.useForm()` for advanced form management
|
|
98
98
|
|
|
99
99
|
### Component Architecture
|
|
@@ -35,11 +35,11 @@ against `#surface` in light, dark, and high-contrast schemes (AAA in HC).
|
|
|
35
35
|
| -------------------- | -------------- | -------------------------------------------------------------- |
|
|
36
36
|
| `#code-comment` | gray | comments, prolog, doctype, cdata |
|
|
37
37
|
| `#code-punctuation` | muted pink | operators, punctuation |
|
|
38
|
-
| `#code-keyword` | pink | keywords, booleans, constants, atrules (`font-weight: 500`)
|
|
38
|
+
| `#code-keyword` | pink | keywords, booleans, constants, atrules, HTML/XML tag names (`font-weight: 500` on language keywords) |
|
|
39
39
|
| `#code-string` | primary purple | strings, characters, attribute values, URLs |
|
|
40
40
|
| `#code-number` | green | numbers, numeric entities |
|
|
41
41
|
| `#code-function` | pink | functions, class names, regex, variables |
|
|
42
|
-
| `#code-attribute` | cyan |
|
|
42
|
+
| `#code-attribute` | cyan | attribute names, properties, selectors, built-ins, keys |
|
|
43
43
|
|
|
44
44
|
Diff insertion (`+`) and deletion (`-`) intentionally re-use the existing
|
|
45
45
|
`#success-*` / `#danger-*` ramps — both the line background tint and the
|
|
@@ -75,7 +75,7 @@ Supports [Base properties](../../BaseProperties.md).
|
|
|
75
75
|
### Field Properties
|
|
76
76
|
|
|
77
77
|
Supports all [Field properties](../../FieldProperties.md)
|
|
78
|
-
(`label`, `name`, `isRequired`, `isDisabled`, `isReadOnly`, `
|
|
78
|
+
(`label`, `name`, `isRequired`, `isDisabled`, `isReadOnly`, `isInvalid`,
|
|
79
79
|
`description`, `rules`, etc.).
|
|
80
80
|
|
|
81
81
|
### Styling Properties
|
|
@@ -88,11 +88,13 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
88
88
|
|
|
89
89
|
### With Validation
|
|
90
90
|
|
|
91
|
+
Pass `isValid` or `isInvalid` to tint the border and show the matching state icon.
|
|
92
|
+
|
|
91
93
|
```jsx
|
|
92
94
|
<FileInput
|
|
93
95
|
label="Required document"
|
|
94
96
|
isRequired
|
|
95
|
-
|
|
97
|
+
isInvalid
|
|
96
98
|
errorMessage="Please select a file"
|
|
97
99
|
/>
|
|
98
100
|
```
|
|
@@ -138,8 +138,8 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
138
138
|
|
|
139
139
|
The `mods` property accepts the following modifiers you can override:
|
|
140
140
|
|
|
141
|
-
- `invalid` `boolean` — Applied when `
|
|
142
|
-
- `valid` `boolean` — Applied when `
|
|
141
|
+
- `invalid` `boolean` — Applied when `isInvalid` is set
|
|
142
|
+
- `valid` `boolean` — Applied when `isValid` is set
|
|
143
143
|
- `disabled` `boolean` — Applied when `isDisabled={true}`
|
|
144
144
|
- `focused` `boolean` — Applied when the FilterListBox has focus
|
|
145
145
|
- `loading` `boolean` — Applied when `isLoading={true}`
|
|
@@ -111,8 +111,8 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
111
111
|
|
|
112
112
|
The `mods` property accepts the following modifiers you can override:
|
|
113
113
|
|
|
114
|
-
- **`invalid`** `boolean` — Applied when `
|
|
115
|
-
- **`valid`** `boolean` — Applied when `
|
|
114
|
+
- **`invalid`** `boolean` — Applied when `isInvalid` is set
|
|
115
|
+
- **`valid`** `boolean` — Applied when `isValid` is set
|
|
116
116
|
- **`disabled`** `boolean` — Applied when `isDisabled={true}`
|
|
117
117
|
- **`focused`** `boolean` — Applied when the ListBox has focus
|
|
118
118
|
- **`header`** `boolean` — Applied when header prop is provided or `showSelectAll={true}`
|
|
@@ -123,7 +123,7 @@ The `mods` prop accepts the following modifiers you can override:
|
|
|
123
123
|
```jsx
|
|
124
124
|
<NumberInput
|
|
125
125
|
label="Price"
|
|
126
|
-
|
|
126
|
+
isInvalid
|
|
127
127
|
errorMessage="Price must be positive"
|
|
128
128
|
/>
|
|
129
129
|
```
|
|
@@ -150,7 +150,7 @@ The `mods` prop accepts the following modifiers you can override:
|
|
|
150
150
|
|
|
151
151
|
- `aria-label`, `aria-labelledby` – Accessible name for the input
|
|
152
152
|
- `aria-describedby` – Links to description and error messages
|
|
153
|
-
- `aria-invalid` – Managed automatically based on `
|
|
153
|
+
- `aria-invalid` – Managed automatically based on `isInvalid`
|
|
154
154
|
- `aria-required` – Set when `isRequired` is true
|
|
155
155
|
- Additional ARIA attributes supported by React Aria's `useNumberField`
|
|
156
156
|
|
|
@@ -168,7 +168,7 @@ The `mods` prop accepts the following modifiers you can override:
|
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
3. **Accessibility**: Always provide proper labels for screen readers
|
|
171
|
-
4. **Validation**: Use `
|
|
171
|
+
4. **Validation**: Use `isInvalid` / `isValid` and `errorMessage` for user feedback
|
|
172
172
|
5. **Performance**: Use `defaultValue` for uncontrolled inputs when possible
|
|
173
173
|
|
|
174
174
|
## Integration with Forms
|
|
@@ -112,7 +112,7 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
112
112
|
<PasswordInput
|
|
113
113
|
label="New Password"
|
|
114
114
|
isRequired
|
|
115
|
-
|
|
115
|
+
isInvalid
|
|
116
116
|
errorMessage="Password must be at least 8 characters"
|
|
117
117
|
/>
|
|
118
118
|
```
|
|
@@ -189,7 +189,8 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
189
189
|
<PasswordInput
|
|
190
190
|
label="New Password"
|
|
191
191
|
description="8+ characters, including numbers and symbols"
|
|
192
|
-
|
|
192
|
+
isValid={isValid}
|
|
193
|
+
isInvalid={!isValid}
|
|
193
194
|
/>
|
|
194
195
|
```
|
|
195
196
|
|
|
@@ -305,7 +305,7 @@ The trigger button supports various visual styles via the `type` prop:
|
|
|
305
305
|
Control the color scheme with the `theme` prop:
|
|
306
306
|
|
|
307
307
|
- **`default`** — Standard theme (default)
|
|
308
|
-
- **`danger`** — Red/destructive color (also applied automatically when `
|
|
308
|
+
- **`danger`** — Red/destructive color (also applied automatically when `isInvalid` is set)
|
|
309
309
|
|
|
310
310
|
### Sizes
|
|
311
311
|
|
|
@@ -515,7 +515,7 @@ Display validation states and error messages.
|
|
|
515
515
|
placeholder="Select a fruit"
|
|
516
516
|
selectionMode="single"
|
|
517
517
|
isRequired
|
|
518
|
-
|
|
518
|
+
isInvalid
|
|
519
519
|
message="Please select a fruit"
|
|
520
520
|
>
|
|
521
521
|
<Picker.Item key="apple">Apple</Picker.Item>
|
|
@@ -598,10 +598,10 @@ The following ARIA attributes are automatically managed by React Aria and do not
|
|
|
598
598
|
>...</Picker>
|
|
599
599
|
```
|
|
600
600
|
|
|
601
|
-
4. **Handle validation properly**: Use `
|
|
601
|
+
4. **Handle validation properly**: Use the `isInvalid` / `isValid` and `errorMessage` props
|
|
602
602
|
```jsx
|
|
603
603
|
<Picker
|
|
604
|
-
|
|
604
|
+
isInvalid
|
|
605
605
|
message="Please select an option"
|
|
606
606
|
>...</Picker>
|
|
607
607
|
```
|
|
@@ -767,7 +767,7 @@ function MyForm() {
|
|
|
767
767
|
- **`defaultValue`** — Initial value (use with uncontrolled forms)
|
|
768
768
|
- **`value`** — Controlled value (use with controlled forms)
|
|
769
769
|
- **`isRequired`** — Marks field as required and adds visual indicator
|
|
770
|
-
- **`
|
|
770
|
+
- **`isInvalid`** / **`isValid`** — Manual validation state control
|
|
771
771
|
- **`message`** — Error or help message
|
|
772
772
|
|
|
773
773
|
## Advanced Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SearchInput
|
|
2
2
|
|
|
3
|
-
A search input provides a specialized text field for search functionality, featuring a search icon and optional clear button. It's optimized for search queries and includes built-in state management for search field behavior.
|
|
3
|
+
A search input provides a specialized text field for search functionality, featuring a search icon and optional clear button. It's optimized for search queries and includes built-in state management for search field behavior. SearchInput does not represent a persistent value and cannot be connected to a form.
|
|
4
4
|
|
|
5
5
|
## When to Use
|
|
6
6
|
|
|
@@ -40,7 +40,7 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
40
40
|
|
|
41
41
|
### Field Properties
|
|
42
42
|
|
|
43
|
-
Supports
|
|
43
|
+
Supports the layout-related [Field properties](../../FieldProperties.md) (`label`, `description`, `message`, `labelPosition`, etc.). Note that SearchInput is not form-connected: it does not accept `name`/`rules` and does not participate in form state or validation.
|
|
44
44
|
|
|
45
45
|
### Styling Properties
|
|
46
46
|
|
|
@@ -147,7 +147,7 @@ const [searchValue, setSearchValue] = useState('');
|
|
|
147
147
|
```jsx
|
|
148
148
|
<SearchInput
|
|
149
149
|
label="Search Query"
|
|
150
|
-
|
|
150
|
+
isInvalid
|
|
151
151
|
errorMessage="Search query too short"
|
|
152
152
|
placeholder="Enter at least 3 characters"
|
|
153
153
|
/>
|
|
@@ -217,7 +217,8 @@ const [searchValue, setSearchValue] = useState('');
|
|
|
217
217
|
|
|
218
218
|
## Integration with Forms
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
SearchInput is not a form field. Use [TextInput](./TextInput.md) when the typed text has to be
|
|
221
|
+
captured as a form value.
|
|
221
222
|
|
|
222
223
|
## Suggested Improvements
|
|
223
224
|
|
|
@@ -290,7 +290,7 @@ Groups related options together with an optional heading.
|
|
|
290
290
|
<Select
|
|
291
291
|
label="Validated field"
|
|
292
292
|
selectedKey="yes"
|
|
293
|
-
|
|
293
|
+
isValid
|
|
294
294
|
>
|
|
295
295
|
<Select.Item key="yes">Yes</Select.Item>
|
|
296
296
|
<Select.Item key="no">No</Select.Item>
|
|
@@ -299,7 +299,7 @@ Groups related options together with an optional heading.
|
|
|
299
299
|
{/* Invalid state */}
|
|
300
300
|
<Select
|
|
301
301
|
label="Required field"
|
|
302
|
-
|
|
302
|
+
isInvalid
|
|
303
303
|
errorMessage="Please select an option"
|
|
304
304
|
>
|
|
305
305
|
<Select.Item key="yes">Yes</Select.Item>
|
|
@@ -521,7 +521,7 @@ const groups = [
|
|
|
521
521
|
```jsx
|
|
522
522
|
<Select
|
|
523
523
|
isRequired
|
|
524
|
-
|
|
524
|
+
isInvalid
|
|
525
525
|
errorMessage="Please select a shipping method"
|
|
526
526
|
label="Shipping"
|
|
527
527
|
>
|
|
@@ -22,6 +22,10 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
22
22
|
|
|
23
23
|
### Vertical Orientation
|
|
24
24
|
|
|
25
|
+
### Validation States
|
|
26
|
+
|
|
27
|
+
Pass `isValid` or `isInvalid` to tint the track fill and the thumb.
|
|
28
|
+
|
|
25
29
|
### Disabled State
|
|
26
30
|
|
|
27
31
|
## Properties
|
|
@@ -150,7 +150,7 @@ import { IconMail } from '@tabler/icons-react';
|
|
|
150
150
|
<TextInput
|
|
151
151
|
label="Username"
|
|
152
152
|
isRequired
|
|
153
|
-
|
|
153
|
+
isInvalid
|
|
154
154
|
message="Username must be at least 3 characters"
|
|
155
155
|
/>
|
|
156
156
|
```
|
|
@@ -174,7 +174,7 @@ import { IconMail } from '@tabler/icons-react';
|
|
|
174
174
|
|
|
175
175
|
- `aria-label`, `aria-labelledby` – Accessible name for the input
|
|
176
176
|
- `aria-describedby` – Links to description and error messages
|
|
177
|
-
- `aria-invalid` – Managed automatically based on `
|
|
177
|
+
- `aria-invalid` – Managed automatically based on `isInvalid`
|
|
178
178
|
- `aria-required` – Set when `isRequired` is true
|
|
179
179
|
- Additional ARIA attributes supported by React Aria's `useTextField`
|
|
180
180
|
|
|
@@ -192,7 +192,7 @@ import { IconMail } from '@tabler/icons-react';
|
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
3. **Accessibility**: Always provide proper labels for screen readers
|
|
195
|
-
4. **Validation**: Use `
|
|
195
|
+
4. **Validation**: Use `isInvalid` / `isValid` and `errorMessage` for user feedback
|
|
196
196
|
5. **Performance**: Use `defaultValue` for uncontrolled inputs when possible
|
|
197
197
|
|
|
198
198
|
## Integration with Forms
|
|
@@ -22,6 +22,11 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
22
22
|
|
|
23
23
|
Supports all [Field properties](../../FieldProperties.md)
|
|
24
24
|
|
|
25
|
+
## Validation States
|
|
26
|
+
|
|
27
|
+
`isValid` and `isInvalid` are forwarded to every key and value input, so the whole mapping list picks up
|
|
28
|
+
the state.
|
|
29
|
+
|
|
25
30
|
## Sub-elements
|
|
26
31
|
|
|
27
32
|
The TextInputMapper component is a complex compound component that doesn't expose styled sub-elements via the `styles` prop. Instead, it uses internal layout components and delegates styling to its key and value input components.
|
|
@@ -29,7 +29,9 @@ The Field component is a **legacy wrapper** for form inputs that provides field-
|
|
|
29
29
|
- **`isDisabled`** `boolean` (default: `false`) — Whether the field is disabled
|
|
30
30
|
- **`isLoading`** `boolean` (default: `false`) — Whether the field is in loading state
|
|
31
31
|
- **`isHidden`** `boolean` (default: `false`) — Whether the field is hidden
|
|
32
|
-
- **`
|
|
32
|
+
- **`isInvalid`** `boolean` — Whether the field is invalid
|
|
33
|
+
- **`isValid`** `boolean` — Whether the field is valid
|
|
34
|
+
- **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
|
|
33
35
|
- **`styles`** — Style map for the field wrapper
|
|
34
36
|
- **`labelStyles`** — Style map for the field label
|
|
35
37
|
- **`labelProps`** — Additional props for the label element
|
|
@@ -94,7 +96,8 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
94
96
|
- **`isLoading`** `boolean` — Whether the field is in loading state
|
|
95
97
|
- **`isReadOnly`** `boolean` — Whether the field is read-only
|
|
96
98
|
- **`isHidden`** `boolean` — Whether the field is hidden
|
|
97
|
-
- **`
|
|
99
|
+
- **`isInvalid`** `boolean` — Whether the field is invalid
|
|
100
|
+
- **`isValid`** `boolean` — Whether the field is valid
|
|
98
101
|
|
|
99
102
|
### Advanced Properties
|
|
100
103
|
|
|
@@ -181,12 +184,13 @@ function ModernForm() {
|
|
|
181
184
|
|
|
182
185
|
## Creating Custom Input Components
|
|
183
186
|
|
|
184
|
-
To create your own input component with built-in field support, use `useFieldProps
|
|
187
|
+
To create your own input component with built-in field support, use `useFieldProps`. It applies the provider
|
|
188
|
+
and form context for you, so it is the only hook you need:
|
|
185
189
|
|
|
186
190
|
```jsx
|
|
187
191
|
import { forwardRef, useRef } from 'react';
|
|
188
192
|
import { tasty } from '@tenphi/tasty';
|
|
189
|
-
import { useFieldProps
|
|
193
|
+
import { useFieldProps } from '@cube-dev/ui-kit';
|
|
190
194
|
|
|
191
195
|
// Simple styled input wrapper
|
|
192
196
|
const InputElement = tasty({
|
|
@@ -213,10 +217,7 @@ const InputElement = tasty({
|
|
|
213
217
|
});
|
|
214
218
|
|
|
215
219
|
const CustomTextInput = forwardRef(function CustomTextInput(props, ref) {
|
|
216
|
-
// Apply form context
|
|
217
|
-
props = useFormProps(props);
|
|
218
|
-
|
|
219
|
-
// Apply field behavior (validation, form integration, etc.)
|
|
220
|
+
// Apply field behavior (provider + form context, validation, form integration)
|
|
220
221
|
props = useFieldProps(props, {
|
|
221
222
|
defaultValidationTrigger: 'onBlur',
|
|
222
223
|
valuePropsMapper: ({ value, onChange }) => ({
|
|
@@ -233,7 +234,7 @@ const CustomTextInput = forwardRef(function CustomTextInput(props, ref) {
|
|
|
233
234
|
ref={ref}
|
|
234
235
|
type="text"
|
|
235
236
|
// Add ARIA attributes for accessibility
|
|
236
|
-
aria-invalid={props.
|
|
237
|
+
aria-invalid={props.isInvalid}
|
|
237
238
|
aria-describedby={props.message ? `${props.id}-message` : undefined}
|
|
238
239
|
/>
|
|
239
240
|
);
|
|
@@ -36,7 +36,9 @@ These properties are inherited by all input components within the form:
|
|
|
36
36
|
- **`necessityIndicator`** `'icon' | 'label'` (default: `icon`) — Type of necessity indicator
|
|
37
37
|
- **`necessityLabel`** `ReactNode` — Custom label to replace the default necessity indicator text
|
|
38
38
|
- **`isReadOnly`** `boolean` (default: `false`) — Whether fields are read-only by default
|
|
39
|
-
- **`
|
|
39
|
+
- **`isInvalid`** `boolean` — Invalid state for all fields
|
|
40
|
+
- **`isValid`** `boolean` — Valid state for all fields
|
|
41
|
+
- **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
|
|
40
42
|
- **`validateTrigger`** `'onBlur' | 'onChange' | 'onSubmit'` (default: `onBlur`) — When to trigger validation
|
|
41
43
|
- **`showValid`** `boolean` (default: `false`) — Whether to show valid state indicators
|
|
42
44
|
|
|
@@ -41,7 +41,9 @@ DialogForm combines [Dialog](./Dialog.md) and [Form](../form/Form.md) functional
|
|
|
41
41
|
- **`necessityIndicator`** `NecessityIndicator` — The type of necessity indicator
|
|
42
42
|
- **`necessityLabel`** `ReactNode` — Custom necessity label
|
|
43
43
|
- **`isReadOnly`** `boolean` — Whether the form is read only
|
|
44
|
-
- **`
|
|
44
|
+
- **`isInvalid`** `boolean` — Invalid state for all fields in the form
|
|
45
|
+
- **`isValid`** `boolean` — Valid state for all fields in the form
|
|
46
|
+
- **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
|
|
45
47
|
- **`validateTrigger`** `ValidateTrigger` — On which event to perform validation
|
|
46
48
|
- **`showValid`** `boolean` — Whether to show valid state
|
|
47
49
|
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeFieldWrapperProps } from "./types.js";
|
|
3
|
-
|
|
4
|
-
//#region src/components/form/FieldWrapper/extract-field-wrapper-props.d.ts
|
|
5
|
-
type WrapperProps<Props extends CubeFieldWrapperProps> = { [K in keyof Pick<Props, keyof CubeFieldWrapperProps>]: CubeFieldWrapperProps[K] };
|
|
6
|
-
declare function extractFieldWrapperProps<Props extends CubeFieldWrapperProps, FieldWrapperKeys extends keyof CubeFieldWrapperProps = keyof CubeFieldWrapperProps, ActualWrapperProps extends WrapperProps<Props> = WrapperProps<Props>, RestProps extends Omit<Props, FieldWrapperKeys> = Omit<Props, FieldWrapperKeys>>(props: Props): Readonly<{
|
|
7
|
-
fieldWrapperProps: ActualWrapperProps;
|
|
8
|
-
rest: RestProps;
|
|
9
|
-
}>;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { extractFieldWrapperProps };
|
|
12
|
-
//# sourceMappingURL=extract-field-wrapper-props.d.ts.map
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
|
|
2
|
-
//#region src/components/form/FieldWrapper/extract-field-wrapper-props.ts
|
|
3
|
-
const createFieldWrapperPropsKeys = (arr) => new Set(arr);
|
|
4
|
-
const fieldWrapperPropsKeys = createFieldWrapperPropsKeys([
|
|
5
|
-
"as",
|
|
6
|
-
"validationState",
|
|
7
|
-
"styles",
|
|
8
|
-
"isRequired",
|
|
9
|
-
"isDisabled",
|
|
10
|
-
"fieldProps",
|
|
11
|
-
"isHidden",
|
|
12
|
-
"label",
|
|
13
|
-
"labelPosition",
|
|
14
|
-
"labelSuffix",
|
|
15
|
-
"labelStyles",
|
|
16
|
-
"labelProps",
|
|
17
|
-
"description",
|
|
18
|
-
"requiredMark",
|
|
19
|
-
"tooltip",
|
|
20
|
-
"extra",
|
|
21
|
-
"necessityLabel",
|
|
22
|
-
"necessityIndicator",
|
|
23
|
-
"message",
|
|
24
|
-
"messageStyles",
|
|
25
|
-
"errorMessage",
|
|
26
|
-
"Component"
|
|
27
|
-
]);
|
|
28
|
-
function extractFieldWrapperProps(props) {
|
|
29
|
-
const fieldWrapperProps = {};
|
|
30
|
-
const rest = {};
|
|
31
|
-
for (const [key, prop] of Object.entries(props)) if (fieldWrapperPropsKeys.has(key)) fieldWrapperProps[key] = prop;
|
|
32
|
-
else rest[key] = prop;
|
|
33
|
-
return {
|
|
34
|
-
fieldWrapperProps,
|
|
35
|
-
rest
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
export { extractFieldWrapperProps };
|
|
41
|
-
//# sourceMappingURL=extract-field-wrapper-props.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-field-wrapper-props.js","names":[],"sources":["../../../../src/components/form/FieldWrapper/extract-field-wrapper-props.ts"],"sourcesContent":["import { CubeFieldWrapperProps } from './types';\n\nconst createFieldWrapperPropsKeys = <\n PropKeys = (keyof CubeFieldWrapperProps)[],\n>(\n arr: PropKeys,\n): Set<string> => new Set(arr as unknown as string[]);\n\nconst fieldWrapperPropsKeys = createFieldWrapperPropsKeys([\n 'as',\n 'validationState',\n 'styles',\n 'isRequired',\n 'isDisabled',\n 'fieldProps',\n 'isHidden',\n 'label',\n 'labelPosition',\n 'labelSuffix',\n 'labelStyles',\n 'labelProps',\n 'description',\n 'requiredMark',\n 'tooltip',\n 'extra',\n 'necessityLabel',\n 'necessityIndicator',\n 'message',\n 'messageStyles',\n 'errorMessage',\n 'Component',\n]);\n\ntype WrapperProps<Props extends CubeFieldWrapperProps> = {\n [K in keyof Pick<\n Props,\n keyof CubeFieldWrapperProps\n >]: CubeFieldWrapperProps[K];\n};\n\nexport function extractFieldWrapperProps<\n Props extends CubeFieldWrapperProps,\n FieldWrapperKeys extends\n keyof CubeFieldWrapperProps = keyof CubeFieldWrapperProps,\n ActualWrapperProps extends WrapperProps<Props> = WrapperProps<Props>,\n RestProps extends Omit<Props, FieldWrapperKeys> = Omit<\n Props,\n FieldWrapperKeys\n >,\n>(\n props: Props,\n): Readonly<{ fieldWrapperProps: ActualWrapperProps; rest: RestProps }> {\n const fieldWrapperProps = {} as ActualWrapperProps;\n const rest = {} as RestProps;\n\n for (const [key, prop] of Object.entries(props)) {\n if (fieldWrapperPropsKeys.has(key)) {\n fieldWrapperProps[key] = prop;\n } else {\n rest[key] = prop;\n }\n }\n\n return { fieldWrapperProps, rest } as const;\n}\n"],"mappings":";;AAEA,MAAM,+BAGJ,QACgB,IAAI,IAAI,IAA2B;AAErD,MAAM,wBAAwB,4BAA4B;CACxD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AASF,SAAgB,yBAUd,OACsE;CACtE,MAAM,oBAAoB,EAAE;CAC5B,MAAM,OAAO,EAAE;AAEf,MAAK,MAAM,CAAC,KAAK,SAAS,OAAO,QAAQ,MAAM,CAC7C,KAAI,sBAAsB,IAAI,IAAI,CAChC,mBAAkB,OAAO;KAEzB,MAAK,OAAO;AAIhB,QAAO;EAAE;EAAmB;EAAM"}
|