@cube-dev/ui-kit 0.147.3 → 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 +16 -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 +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.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +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/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/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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { Gradation } from "./Gradation.js";
|
|
3
3
|
import { _SliderBase } from "./SliderBase.js";
|
|
4
4
|
import { SliderThumb } from "./SliderThumb.js";
|
|
@@ -18,7 +18,7 @@ function RangeSlider(props, ref) {
|
|
|
18
18
|
return /* @__PURE__ */ jsx(_SliderBase, {
|
|
19
19
|
ref,
|
|
20
20
|
...otherProps,
|
|
21
|
-
children: ({ trackRef, inputRef, state }) => {
|
|
21
|
+
children: ({ trackRef, inputRef, state, isInvalid, isValid }) => {
|
|
22
22
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
23
23
|
/* @__PURE__ */ jsx(Gradation, {
|
|
24
24
|
state,
|
|
@@ -28,6 +28,8 @@ function RangeSlider(props, ref) {
|
|
|
28
28
|
/* @__PURE__ */ jsx(SliderTrack, {
|
|
29
29
|
state,
|
|
30
30
|
isDisabled,
|
|
31
|
+
isInvalid,
|
|
32
|
+
isValid,
|
|
31
33
|
orientation: props.orientation
|
|
32
34
|
}),
|
|
33
35
|
/* @__PURE__ */ jsx(SliderThumb, {
|
|
@@ -36,7 +38,9 @@ function RangeSlider(props, ref) {
|
|
|
36
38
|
state,
|
|
37
39
|
inputRef: minThumbInputRef,
|
|
38
40
|
trackRef,
|
|
39
|
-
isDisabled
|
|
41
|
+
isDisabled,
|
|
42
|
+
isInvalid,
|
|
43
|
+
isValid
|
|
40
44
|
}),
|
|
41
45
|
/* @__PURE__ */ jsx(SliderThumb, {
|
|
42
46
|
index: 1,
|
|
@@ -44,7 +48,9 @@ function RangeSlider(props, ref) {
|
|
|
44
48
|
state,
|
|
45
49
|
inputRef: maxThumbInputRef,
|
|
46
50
|
trackRef,
|
|
47
|
-
isDisabled
|
|
51
|
+
isDisabled,
|
|
52
|
+
isInvalid,
|
|
53
|
+
isValid
|
|
48
54
|
})
|
|
49
55
|
] });
|
|
50
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeSlider.js","names":["SliderBase"],"sources":["../../../../src/components/fields/Slider/RangeSlider.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react';\n\nimport { Gradation } from './Gradation';\nimport { SliderBase, SliderBaseChildArguments } from './SliderBase';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { RangeValue } from '../../../shared';\nimport type { CubeSliderBaseProps } from './types';\n\nexport interface CubeRangeSliderProps\n extends CubeSliderBaseProps<RangeValue<number>> {\n gradation?: string[];\n}\n\nconst INTL_MESSAGES = {\n minimum: 'Minimum',\n maximum: 'Maximum',\n};\n\nfunction RangeSlider(\n props: CubeRangeSliderProps,\n ref: FocusableRef<HTMLDivElement>,\n) {\n let { isDisabled, styles, gradation, ...otherProps } = props;\n\n // Create separate refs for each thumb to enable proper focus management\n const minThumbInputRef = useRef<HTMLInputElement>(null);\n const maxThumbInputRef = useRef<HTMLInputElement>(null);\n\n return (\n <SliderBase ref={ref} {...(otherProps as CubeSliderBaseProps<number[]>)}>\n {({
|
|
1
|
+
{"version":3,"file":"RangeSlider.js","names":["SliderBase"],"sources":["../../../../src/components/fields/Slider/RangeSlider.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react';\n\nimport { Gradation } from './Gradation';\nimport { SliderBase, SliderBaseChildArguments } from './SliderBase';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { RangeValue } from '../../../shared';\nimport type { CubeSliderBaseProps } from './types';\n\nexport interface CubeRangeSliderProps\n extends CubeSliderBaseProps<RangeValue<number>> {\n gradation?: string[];\n}\n\nconst INTL_MESSAGES = {\n minimum: 'Minimum',\n maximum: 'Maximum',\n};\n\nfunction RangeSlider(\n props: CubeRangeSliderProps,\n ref: FocusableRef<HTMLDivElement>,\n) {\n let { isDisabled, styles, gradation, ...otherProps } = props;\n\n // Create separate refs for each thumb to enable proper focus management\n const minThumbInputRef = useRef<HTMLInputElement>(null);\n const maxThumbInputRef = useRef<HTMLInputElement>(null);\n\n return (\n <SliderBase ref={ref} {...(otherProps as CubeSliderBaseProps<number[]>)}>\n {({\n trackRef,\n inputRef,\n state,\n isInvalid,\n isValid,\n }: SliderBaseChildArguments) => {\n return (\n <>\n <Gradation state={state} ranges={[0, 1]} values={gradation} />\n <SliderTrack\n state={state}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n orientation={props.orientation}\n />\n <SliderThumb\n index={0}\n aria-label={INTL_MESSAGES['minimum']}\n state={state}\n inputRef={minThumbInputRef}\n trackRef={trackRef}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n />\n <SliderThumb\n index={1}\n aria-label={INTL_MESSAGES['maximum']}\n state={state}\n inputRef={maxThumbInputRef}\n trackRef={trackRef}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n />\n </>\n );\n }}\n </SliderBase>\n );\n}\n\nconst _RangeSlider = forwardRef(RangeSlider);\n\nconst __RangeSlider = Object.assign(_RangeSlider as typeof _RangeSlider, {\n cubeInputType: 'Number',\n displayName: 'RangeSlider',\n});\n\nexport { __RangeSlider as RangeSlider };\n"],"mappings":";;;;;;;;;AAgBA,MAAM,gBAAgB;CACpB,SAAS;CACT,SAAS;CACV;AAED,SAAS,YACP,OACA,KACA;CACA,IAAI,EAAE,YAAY,QAAQ,WAAW,GAAG,eAAe;CAGvD,MAAM,mBAAmB,OAAyB,KAAK;CACvD,MAAM,mBAAmB,OAAyB,KAAK;AAEvD,QACE,oBAACA;EAAgB;EAAK,GAAK;aACvB,EACA,UACA,UACA,OACA,WACA,cAC8B;AAC9B,UACE;IACE,oBAAC;KAAiB;KAAO,QAAQ,CAAC,GAAG,EAAE;KAAE,QAAQ;MAAa;IAC9D,oBAAC;KACQ;KACK;KACD;KACF;KACT,aAAa,MAAM;MACnB;IACF,oBAAC;KACC,OAAO;KACP,cAAY,cAAc;KACnB;KACP,UAAU;KACA;KACE;KACD;KACF;MACT;IACF,oBAAC;KACC,OAAO;KACP,cAAY,cAAc;KACnB;KACP,UAAU;KACA;KACE;KACD;KACF;MACT;OACD;;GAGI;;AAIjB,MAAM,eAAe,WAAW,YAAY;AAE5C,MAAM,gBAAgB,OAAO,OAAO,cAAqC;CACvE,eAAe;CACf,aAAa;CACd,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { Gradation } from "./Gradation.js";
|
|
@@ -30,7 +30,7 @@ function Slider(props, ref) {
|
|
|
30
30
|
ref,
|
|
31
31
|
orientation,
|
|
32
32
|
styles: extractedStyles,
|
|
33
|
-
children: ({ trackRef, inputRef, state }) => {
|
|
33
|
+
children: ({ trackRef, inputRef, state, isInvalid, isValid }) => {
|
|
34
34
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
35
35
|
/* @__PURE__ */ jsx(Gradation, {
|
|
36
36
|
state,
|
|
@@ -40,6 +40,8 @@ function Slider(props, ref) {
|
|
|
40
40
|
/* @__PURE__ */ jsx(SliderTrack, {
|
|
41
41
|
state,
|
|
42
42
|
isDisabled,
|
|
43
|
+
isInvalid,
|
|
44
|
+
isValid,
|
|
43
45
|
orientation,
|
|
44
46
|
styles: trackStyles
|
|
45
47
|
}),
|
|
@@ -49,6 +51,8 @@ function Slider(props, ref) {
|
|
|
49
51
|
inputRef,
|
|
50
52
|
trackRef,
|
|
51
53
|
isDisabled,
|
|
54
|
+
isInvalid,
|
|
55
|
+
isValid,
|
|
52
56
|
styles: thumbStyles,
|
|
53
57
|
tokens: thumbTokens
|
|
54
58
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["SliderBase"],"sources":["../../../../src/components/fields/Slider/Slider.tsx"],"sourcesContent":["import { OUTER_STYLES, Styles, Tokens } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { mergeProps } from '../../../utils/react/index';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { Gradation } from './Gradation';\nimport {\n SliderBase,\n SliderBaseChildArguments,\n SliderBaseProps,\n} from './SliderBase';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { CubeSliderBaseProps } from './types';\n\nexport interface CubeSliderProps extends CubeSliderBaseProps<number> {\n gradation?: string[];\n /** Custom styles for the track element */\n trackStyles?: Styles;\n /** Custom styles for the thumb element */\n thumbStyles?: Styles;\n /** Custom tokens for the thumb element (e.g., #slider-thumb for fill color) */\n thumbTokens?: Tokens;\n}\n\nfunction Slider(props: CubeSliderProps, ref: FocusableRef<HTMLDivElement>) {\n const {\n onChange,\n onChangeEnd,\n value,\n defaultValue,\n getValueLabel,\n isDisabled,\n styles,\n gradation,\n orientation,\n trackStyles,\n thumbStyles,\n thumbTokens,\n ...otherProps\n } = props;\n\n let baseProps: Omit<SliderBaseProps, 'children'> = {\n ...otherProps,\n // Normalize `value: number[]` to `value: number`\n value: value != null ? [value] : undefined,\n defaultValue: defaultValue != null ? [defaultValue] : undefined,\n onChange: (v: number[]): void => {\n onChange?.(v[0]);\n },\n onChangeEnd: (v: number[]): void => {\n onChangeEnd?.(v[0]);\n },\n getValueLabel: getValueLabel ? ([v]) => getValueLabel(v) : undefined,\n };\n\n const extractedStyles = extractStyles(otherProps, OUTER_STYLES, styles);\n\n return (\n <SliderBase\n {...mergeProps(otherProps, baseProps)}\n ref={ref}\n orientation={orientation}\n styles={extractedStyles}\n >\n {({
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["SliderBase"],"sources":["../../../../src/components/fields/Slider/Slider.tsx"],"sourcesContent":["import { OUTER_STYLES, Styles, Tokens } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { mergeProps } from '../../../utils/react/index';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { Gradation } from './Gradation';\nimport {\n SliderBase,\n SliderBaseChildArguments,\n SliderBaseProps,\n} from './SliderBase';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { CubeSliderBaseProps } from './types';\n\nexport interface CubeSliderProps extends CubeSliderBaseProps<number> {\n gradation?: string[];\n /** Custom styles for the track element */\n trackStyles?: Styles;\n /** Custom styles for the thumb element */\n thumbStyles?: Styles;\n /** Custom tokens for the thumb element (e.g., #slider-thumb for fill color) */\n thumbTokens?: Tokens;\n}\n\nfunction Slider(props: CubeSliderProps, ref: FocusableRef<HTMLDivElement>) {\n const {\n onChange,\n onChangeEnd,\n value,\n defaultValue,\n getValueLabel,\n isDisabled,\n styles,\n gradation,\n orientation,\n trackStyles,\n thumbStyles,\n thumbTokens,\n ...otherProps\n } = props;\n\n let baseProps: Omit<SliderBaseProps, 'children'> = {\n ...otherProps,\n // Normalize `value: number[]` to `value: number`\n value: value != null ? [value] : undefined,\n defaultValue: defaultValue != null ? [defaultValue] : undefined,\n onChange: (v: number[]): void => {\n onChange?.(v[0]);\n },\n onChangeEnd: (v: number[]): void => {\n onChangeEnd?.(v[0]);\n },\n getValueLabel: getValueLabel ? ([v]) => getValueLabel(v) : undefined,\n };\n\n const extractedStyles = extractStyles(otherProps, OUTER_STYLES, styles);\n\n return (\n <SliderBase\n {...mergeProps(otherProps, baseProps)}\n ref={ref}\n orientation={orientation}\n styles={extractedStyles}\n >\n {({\n trackRef,\n inputRef,\n state,\n isInvalid,\n isValid,\n }: SliderBaseChildArguments) => {\n return (\n <>\n <Gradation state={state} ranges={[0, 1]} values={gradation} />\n <SliderTrack\n state={state}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n orientation={orientation}\n styles={trackStyles}\n />\n <SliderThumb\n index={0}\n state={state}\n inputRef={inputRef}\n trackRef={trackRef}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n styles={thumbStyles}\n tokens={thumbTokens}\n />\n </>\n );\n }}\n </SliderBase>\n );\n}\n\nconst _Slider = forwardRef(Slider);\n\nconst __Slider = Object.assign(_Slider as typeof _Slider, {\n cubeInputType: 'Number',\n displayName: 'Slider',\n});\n\nexport { __Slider as Slider };\n"],"mappings":";;;;;;;;;;;;AA4BA,SAAS,OAAO,OAAwB,KAAmC;CACzE,MAAM,EACJ,UACA,aACA,OACA,cACA,eACA,YACA,QACA,WACA,aACA,aACA,aACA,aACA,GAAG,eACD;CAEJ,IAAI,YAA+C;EACjD,GAAG;EAEH,OAAO,SAAS,OAAO,CAAC,MAAM,GAAG;EACjC,cAAc,gBAAgB,OAAO,CAAC,aAAa,GAAG;EACtD,WAAW,MAAsB;AAC/B,cAAW,EAAE,GAAG;;EAElB,cAAc,MAAsB;AAClC,iBAAc,EAAE,GAAG;;EAErB,eAAe,iBAAiB,CAAC,OAAO,cAAc,EAAE,GAAG;EAC5D;CAED,MAAM,kBAAkB,cAAc,YAAY,cAAc,OAAO;AAEvE,QACE,oBAACA;EACC,GAAI,WAAW,YAAY,UAAU;EAChC;EACQ;EACb,QAAQ;aAEN,EACA,UACA,UACA,OACA,WACA,cAC8B;AAC9B,UACE;IACE,oBAAC;KAAiB;KAAO,QAAQ,CAAC,GAAG,EAAE;KAAE,QAAQ;MAAa;IAC9D,oBAAC;KACQ;KACK;KACD;KACF;KACI;KACb,QAAQ;MACR;IACF,oBAAC;KACC,OAAO;KACA;KACG;KACA;KACE;KACD;KACF;KACT,QAAQ;KACR,QAAQ;MACR;OACD;;GAGI;;AAIjB,MAAM,UAAU,WAAW,OAAO;AAElC,MAAM,WAAW,OAAO,OAAO,SAA2B;CACxD,eAAe;CACf,aAAa;CACd,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { forwardRefWithGenerics } from "../../../utils/react/forwardRefWithGenerics.js";
|
|
4
4
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
5
5
|
import { _Text } from "../../content/Text.js";
|
|
6
|
-
import {
|
|
6
|
+
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
7
7
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
8
8
|
import { wrapWithField } from "../../form/wrapper.js";
|
|
9
9
|
import { SliderControlsElement, SliderElement } from "./elements.js";
|
|
@@ -20,15 +20,14 @@ const LabelValueElement = tasty(_Text, { styles: {
|
|
|
20
20
|
textAlign: "right"
|
|
21
21
|
} });
|
|
22
22
|
function SliderBase(allProps, ref) {
|
|
23
|
-
let props =
|
|
24
|
-
props = useFieldProps(props, {
|
|
23
|
+
let props = useFieldProps(allProps, {
|
|
25
24
|
defaultValidationTrigger: "onChange",
|
|
26
25
|
valuePropsMapper: ({ value, onChange }) => ({
|
|
27
26
|
value: value != null ? value : void 0,
|
|
28
27
|
onChange
|
|
29
28
|
})
|
|
30
29
|
});
|
|
31
|
-
let { labelPosition, label, extra, styles, isRequired,
|
|
30
|
+
let { labelPosition, label, extra, styles, isRequired, message, description, requiredMark, labelSuffix, labelStyles, necessityIndicator, gradation, isDisabled, isInvalid, isValid, inputStyles, minValue = 0, maxValue = 100, inputWidth, formatOptions, getValueLabel, onChange, onChangeEnd, children, showValueLabel = true, orientation: formOrientation, form, labelProps: userLabelProps, ...otherProps } = props;
|
|
32
31
|
let orientation = allProps.orientation || "horizontal";
|
|
33
32
|
if (Math.abs(Math.sign(minValue) - Math.sign(maxValue)) === 2) if (formatOptions != null) {
|
|
34
33
|
if (!("signDisplay" in formatOptions)) formatOptions = {
|
|
@@ -84,8 +83,17 @@ function SliderBase(allProps, ref) {
|
|
|
84
83
|
});
|
|
85
84
|
const mods = useMemo(() => ({
|
|
86
85
|
"side-label": labelPosition === "side",
|
|
87
|
-
horizontal: orientation === "horizontal"
|
|
88
|
-
|
|
86
|
+
horizontal: orientation === "horizontal",
|
|
87
|
+
...getValidationMods({
|
|
88
|
+
isInvalid,
|
|
89
|
+
isValid
|
|
90
|
+
})
|
|
91
|
+
}), [
|
|
92
|
+
labelPosition,
|
|
93
|
+
orientation,
|
|
94
|
+
isInvalid,
|
|
95
|
+
isValid
|
|
96
|
+
]);
|
|
89
97
|
styles = extractStyles(otherProps, OUTER_STYLES, styles);
|
|
90
98
|
return wrapWithField(/* @__PURE__ */ jsx(SliderElement, {
|
|
91
99
|
ref: domRef,
|
|
@@ -101,7 +109,9 @@ function SliderBase(allProps, ref) {
|
|
|
101
109
|
children: children({
|
|
102
110
|
trackRef,
|
|
103
111
|
inputRef,
|
|
104
|
-
state
|
|
112
|
+
state,
|
|
113
|
+
isInvalid,
|
|
114
|
+
isValid
|
|
105
115
|
})
|
|
106
116
|
})
|
|
107
117
|
}), ref, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderBase.js","names":["Text","mergeProps"],"sources":["../../../../src/components/fields/Slider/SliderBase.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport { DOMRef, FocusableRef } from '@react-types/shared';\nimport { OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n RefObject,\n useMemo,\n useRef,\n} from 'react';\nimport { useNumberFormatter, useSlider } from 'react-aria';\nimport { useSliderState } from 'react-stately';\n\nimport { forwardRefWithGenerics, mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport {
|
|
1
|
+
{"version":3,"file":"SliderBase.js","names":["Text","mergeProps"],"sources":["../../../../src/components/fields/Slider/SliderBase.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport { DOMRef, FocusableRef } from '@react-types/shared';\nimport { OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n RefObject,\n useMemo,\n useRef,\n} from 'react';\nimport { useNumberFormatter, useSlider } from 'react-aria';\nimport { useSliderState } from 'react-stately';\n\nimport { forwardRefWithGenerics, mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\n\nimport { SliderControlsElement, SliderElement } from './elements';\n\nimport type { SliderState } from 'react-stately';\nimport type { CubeSliderBaseProps } from './types';\n\nexport interface SliderBaseChildArguments {\n inputRef: RefObject<HTMLInputElement | null>;\n trackRef: RefObject<HTMLElement | null>;\n state: SliderState;\n /** Resolved validation state. It is only known here, after `useFieldProps` merged the form state in. */\n isInvalid?: boolean;\n isValid?: boolean;\n}\n\nexport interface SliderBaseProps<T = number[]> extends CubeSliderBaseProps<T> {\n children: (opts: SliderBaseChildArguments) => ReactNode;\n}\n\nconst LabelValueElement = tasty(Text, {\n styles: {\n display: 'block',\n textAlign: 'right',\n },\n});\n\nfunction SliderBase(allProps: SliderBaseProps, ref: DOMRef<HTMLDivElement>) {\n let props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value != null ? value : undefined,\n onChange: onChange,\n }),\n });\n\n let {\n labelPosition,\n label,\n extra,\n styles,\n isRequired,\n message,\n description,\n requiredMark,\n labelSuffix,\n labelStyles,\n necessityIndicator,\n gradation,\n isDisabled,\n isInvalid,\n isValid,\n inputStyles,\n minValue = 0,\n maxValue = 100,\n inputWidth,\n formatOptions,\n getValueLabel,\n onChange,\n onChangeEnd,\n children,\n showValueLabel = true,\n orientation: formOrientation,\n form,\n labelProps: userLabelProps,\n ...otherProps\n } = props;\n\n let orientation = allProps.orientation || 'horizontal';\n\n // `Math.abs(Math.sign(a) - Math.sign(b)) === 2` is true if the values have a different sign.\n let alwaysDisplaySign =\n Math.abs(Math.sign(minValue) - Math.sign(maxValue)) === 2;\n if (alwaysDisplaySign) {\n if (formatOptions != null) {\n if (!('signDisplay' in formatOptions)) {\n formatOptions = {\n ...formatOptions,\n signDisplay: 'exceptZero',\n };\n }\n } else {\n formatOptions = { signDisplay: 'exceptZero' };\n }\n }\n\n const formatter = useNumberFormatter(formatOptions);\n\n const state = useSliderState({\n ...props,\n orientation,\n numberFormatter: formatter,\n minValue,\n maxValue,\n });\n\n const trackRef = useRef<HTMLElement>(null);\n\n let { groupProps, trackProps, labelProps, outputProps } = useSlider(\n props,\n state,\n trackRef,\n );\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n let domRef = useFocusableRef(ref as any, inputRef);\n\n let displayValue = '';\n let maxLabelLength = 0;\n\n if (typeof getValueLabel === 'function') {\n displayValue = getValueLabel(state.values);\n switch (state.values.length) {\n case 1:\n maxLabelLength = Math.max(\n getValueLabel([minValue]).length,\n getValueLabel([maxValue]).length,\n );\n break;\n case 2:\n // Try all possible combinations of min and max values.\n maxLabelLength = Math.max(\n getValueLabel([minValue, minValue]).length,\n getValueLabel([minValue, maxValue]).length,\n getValueLabel([maxValue, minValue]).length,\n getValueLabel([maxValue, maxValue]).length,\n );\n break;\n default:\n throw new Error('Only sliders with 1 or 2 handles are supported!');\n }\n } else {\n maxLabelLength = Math.max(\n [...formatter.format(minValue)].length,\n [...formatter.format(maxValue)].length,\n );\n switch (state.values.length) {\n case 1:\n displayValue = state.getThumbValueLabel(0);\n break;\n case 2:\n // This should really use the NumberFormat#formatRange proposal...\n // https://github.com/tc39/ecma402/issues/393\n // https://github.com/tc39/proposal-intl-numberformat-v3#formatrange-ecma-402-393\n displayValue = `${state.getThumbValueLabel(\n 0,\n )} – ${state.getThumbValueLabel(1)}`;\n maxLabelLength =\n 3 +\n 2 *\n Math.max(\n maxLabelLength,\n [...formatter.format(minValue)].length,\n [...formatter.format(maxValue)].length,\n );\n break;\n default:\n throw new Error('Only sliders with 1 or 2 handles are supported!');\n }\n }\n\n extra =\n extra != null || !showValueLabel ? (\n extra\n ) : (\n <LabelValueElement\n {...outputProps}\n style={\n maxLabelLength\n ? {\n width: `${maxLabelLength + 1}ch`,\n minWidth: `${maxLabelLength + 1}ch`,\n }\n : undefined\n }\n >\n {displayValue}\n </LabelValueElement>\n );\n\n const mods = useMemo(\n () => ({\n 'side-label': labelPosition === 'side',\n horizontal: orientation === 'horizontal',\n ...getValidationMods({ isInvalid, isValid }),\n }),\n [labelPosition, orientation, isInvalid, isValid],\n );\n\n styles = extractStyles(otherProps, OUTER_STYLES, styles);\n\n const sliderField = (\n <SliderElement\n ref={domRef}\n id={props.id}\n {...groupProps}\n mods={mods}\n styles={styles}\n data-input-type=\"slider\"\n >\n <SliderControlsElement {...trackProps} ref={trackRef} mods={mods}>\n {children({\n trackRef,\n inputRef,\n state,\n isInvalid,\n isValid,\n })}\n </SliderControlsElement>\n </SliderElement>\n );\n\n return wrapWithField(sliderField, ref, {\n ...props,\n extra,\n labelProps: mergeProps(labelProps, userLabelProps),\n });\n}\n\nconst _SliderBase = forwardRefWithGenerics(SliderBase);\n\n(_SliderBase as any).displayName = 'SliderBase';\n\nexport { _SliderBase as SliderBase };\nexport { useSlider };\n"],"mappings":"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"}
|
|
@@ -1,5 +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
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
|
+
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
3
4
|
import { SliderThumbElement } from "./elements.js";
|
|
4
5
|
import { useMemo, useRef } from "react";
|
|
5
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -7,7 +8,7 @@ import { VisuallyHidden, useHover, useSliderThumb } from "react-aria";
|
|
|
7
8
|
|
|
8
9
|
//#region src/components/fields/Slider/SliderThumb.tsx
|
|
9
10
|
function SliderThumb(props) {
|
|
10
|
-
let { state, index, inputRef, isDisabled, styles, tokens } = props;
|
|
11
|
+
let { state, index, inputRef, isDisabled, isInvalid, isValid, styles, tokens } = props;
|
|
11
12
|
const backupRef = useRef(null);
|
|
12
13
|
inputRef = inputRef || backupRef;
|
|
13
14
|
const { thumbProps, inputProps, isDragging, isFocused } = useSliderThumb({
|
|
@@ -25,7 +26,11 @@ function SliderThumb(props) {
|
|
|
25
26
|
focused: !isDragging && isFocused,
|
|
26
27
|
disabled: isDisabled,
|
|
27
28
|
collapsed: isCollapsed,
|
|
28
|
-
stuck: isStuck
|
|
29
|
+
stuck: isStuck,
|
|
30
|
+
...getValidationMods({
|
|
31
|
+
isInvalid,
|
|
32
|
+
isValid
|
|
33
|
+
})
|
|
29
34
|
};
|
|
30
35
|
}, [
|
|
31
36
|
isHovered,
|
|
@@ -33,7 +38,9 @@ function SliderThumb(props) {
|
|
|
33
38
|
isStuck,
|
|
34
39
|
isDragging,
|
|
35
40
|
isFocused,
|
|
36
|
-
isDisabled
|
|
41
|
+
isDisabled,
|
|
42
|
+
isInvalid,
|
|
43
|
+
isValid
|
|
37
44
|
]),
|
|
38
45
|
styles,
|
|
39
46
|
tokens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderThumb.js","names":["mergeProps"],"sources":["../../../../src/components/fields/Slider/SliderThumb.tsx"],"sourcesContent":["import { Styles, Tokens } from '@tenphi/tasty';\nimport { RefObject, useMemo, useRef } from 'react';\nimport {\n AriaSliderThumbOptions,\n useHover,\n useSliderThumb,\n VisuallyHidden,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\n\nimport { SliderThumbElement } from './elements';\n\nimport type { SliderState } from 'react-stately';\n\nexport interface SliderThumbProps extends AriaSliderThumbOptions {\n state: SliderState;\n isDisabled?: boolean;\n trackRef: RefObject<HTMLElement | null>;\n inputRef: RefObject<HTMLInputElement | null>;\n index: number;\n styles?: Styles;\n tokens?: Tokens;\n}\n\nexport function SliderThumb(props: SliderThumbProps) {\n let {
|
|
1
|
+
{"version":3,"file":"SliderThumb.js","names":["mergeProps"],"sources":["../../../../src/components/fields/Slider/SliderThumb.tsx"],"sourcesContent":["import { Styles, Tokens } from '@tenphi/tasty';\nimport { RefObject, useMemo, useRef } from 'react';\nimport {\n AriaSliderThumbOptions,\n useHover,\n useSliderThumb,\n VisuallyHidden,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { getValidationMods } from '../../form';\n\nimport { SliderThumbElement } from './elements';\n\nimport type { SliderState } from 'react-stately';\n\nexport interface SliderThumbProps extends AriaSliderThumbOptions {\n state: SliderState;\n isDisabled?: boolean;\n isInvalid?: boolean;\n isValid?: boolean;\n trackRef: RefObject<HTMLElement | null>;\n inputRef: RefObject<HTMLInputElement | null>;\n index: number;\n styles?: Styles;\n tokens?: Tokens;\n}\n\nexport function SliderThumb(props: SliderThumbProps) {\n let {\n state,\n index,\n inputRef,\n isDisabled,\n isInvalid,\n isValid,\n styles,\n tokens,\n } = props;\n\n const backupRef = useRef<HTMLInputElement>(null);\n\n inputRef = inputRef || backupRef;\n\n const { thumbProps, inputProps, isDragging, isFocused } = useSliderThumb(\n {\n ...props,\n inputRef,\n },\n state,\n );\n\n const { hoverProps, isHovered } = useHover({ isDisabled });\n\n const isCollapsed = state.values[0] === state.values[1];\n const isStuck =\n state.values[index] === state.getThumbMaxValue(index) &&\n state.values[index] === state.getThumbMinValue(index);\n\n const mods = useMemo(() => {\n return {\n hovered: isHovered,\n dragged: isDragging,\n focused: !isDragging && isFocused,\n disabled: isDisabled,\n collapsed: isCollapsed,\n stuck: isStuck,\n ...getValidationMods({ isInvalid, isValid }),\n };\n }, [\n isHovered,\n isCollapsed,\n isStuck,\n isDragging,\n isFocused,\n isDisabled,\n isInvalid,\n isValid,\n ]);\n\n return (\n <SliderThumbElement\n mods={mods}\n styles={styles}\n tokens={tokens}\n {...mergeProps(thumbProps, hoverProps)}\n role=\"presentation\"\n >\n <VisuallyHidden>\n <input ref={inputRef} {...inputProps} />\n </VisuallyHidden>\n </SliderThumbElement>\n );\n}\n"],"mappings":";;;;;;;;;AA4BA,SAAgB,YAAY,OAAyB;CACnD,IAAI,EACF,OACA,OACA,UACA,YACA,WACA,SACA,QACA,WACE;CAEJ,MAAM,YAAY,OAAyB,KAAK;AAEhD,YAAW,YAAY;CAEvB,MAAM,EAAE,YAAY,YAAY,YAAY,cAAc,eACxD;EACE,GAAG;EACH;EACD,EACD,MACD;CAED,MAAM,EAAE,YAAY,cAAc,SAAS,EAAE,YAAY,CAAC;CAE1D,MAAM,cAAc,MAAM,OAAO,OAAO,MAAM,OAAO;CACrD,MAAM,UACJ,MAAM,OAAO,WAAW,MAAM,iBAAiB,MAAM,IACrD,MAAM,OAAO,WAAW,MAAM,iBAAiB,MAAM;AAuBvD,QACE,oBAAC;EACC,MAvBS,cAAc;AACzB,UAAO;IACL,SAAS;IACT,SAAS;IACT,SAAS,CAAC,cAAc;IACxB,UAAU;IACV,WAAW;IACX,OAAO;IACP,GAAG,kBAAkB;KAAE;KAAW;KAAS,CAAC;IAC7C;KACA;GACD;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;EAKU;EACA;EACR,GAAIA,aAAW,YAAY,WAAW;EACtC,MAAK;YAEL,oBAAC,4BACC,oBAAC;GAAM,KAAK;GAAU,GAAI;IAAc,GACzB;GACE"}
|
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
|
+
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
2
3
|
import { SliderTrackContainerElement } from "./elements.js";
|
|
3
4
|
import { useMemo } from "react";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
|
|
6
7
|
//#region src/components/fields/Slider/SliderTrack.tsx
|
|
7
8
|
function SliderTrack(props) {
|
|
8
|
-
const { isDisabled, state, orientation = "horizontal", styles } = props;
|
|
9
|
+
const { isDisabled, isInvalid, isValid, state, orientation = "horizontal", styles } = props;
|
|
9
10
|
const selectedTrack = [state.getThumbPercent(0), state.getThumbPercent(1)];
|
|
10
11
|
const showRangeTrack = !Number.isNaN(selectedTrack[1]);
|
|
11
12
|
return /* @__PURE__ */ jsx(SliderTrackContainerElement, {
|
|
12
13
|
mods: useMemo(() => ({
|
|
13
14
|
disabled: isDisabled,
|
|
14
15
|
horizontal: orientation === "horizontal",
|
|
15
|
-
range: showRangeTrack
|
|
16
|
-
|
|
16
|
+
range: showRangeTrack,
|
|
17
|
+
...getValidationMods({
|
|
18
|
+
isInvalid,
|
|
19
|
+
isValid
|
|
20
|
+
})
|
|
21
|
+
}), [
|
|
22
|
+
isDisabled,
|
|
23
|
+
showRangeTrack,
|
|
24
|
+
orientation,
|
|
25
|
+
isInvalid,
|
|
26
|
+
isValid
|
|
27
|
+
]),
|
|
17
28
|
styles,
|
|
18
29
|
style: showRangeTrack ? {
|
|
19
30
|
"--slider-range-start": `${selectedTrack[0] * 100}%`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderTrack.js","names":[],"sources":["../../../../src/components/fields/Slider/SliderTrack.tsx"],"sourcesContent":["import { Styles } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { SliderTrackContainerElement } from './elements';\n\nimport type { SliderState } from 'react-stately';\n\nexport type SliderTrackProps = {\n state: SliderState;\n orientation?: 'horizontal' | 'vertical';\n isDisabled?: boolean;\n styles?: Styles;\n};\n\nexport function SliderTrack(props: SliderTrackProps) {\n const {
|
|
1
|
+
{"version":3,"file":"SliderTrack.js","names":[],"sources":["../../../../src/components/fields/Slider/SliderTrack.tsx"],"sourcesContent":["import { Styles } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { getValidationMods } from '../../form';\n\nimport { SliderTrackContainerElement } from './elements';\n\nimport type { SliderState } from 'react-stately';\n\nexport type SliderTrackProps = {\n state: SliderState;\n orientation?: 'horizontal' | 'vertical';\n isDisabled?: boolean;\n isInvalid?: boolean;\n isValid?: boolean;\n styles?: Styles;\n};\n\nexport function SliderTrack(props: SliderTrackProps) {\n const {\n isDisabled,\n isInvalid,\n isValid,\n state,\n orientation = 'horizontal',\n styles,\n } = props;\n const selectedTrack = [state.getThumbPercent(0), state.getThumbPercent(1)];\n\n const showRangeTrack = !Number.isNaN(selectedTrack[1]);\n\n const mods = useMemo(\n () => ({\n disabled: isDisabled,\n horizontal: orientation === 'horizontal',\n range: showRangeTrack,\n ...getValidationMods({ isInvalid, isValid }),\n }),\n [isDisabled, showRangeTrack, orientation, isInvalid, isValid],\n );\n\n return (\n <SliderTrackContainerElement\n mods={mods}\n styles={styles}\n style={\n showRangeTrack\n ? {\n '--slider-range-start': `${selectedTrack[0] * 100}%`,\n '--slider-range-end': `${selectedTrack[1] * 100}%`,\n }\n : {\n '--slider-value': `${selectedTrack[0] * 100}%`,\n }\n }\n />\n );\n}\n"],"mappings":";;;;;;;AAkBA,SAAgB,YAAY,OAAyB;CACnD,MAAM,EACJ,YACA,WACA,SACA,OACA,cAAc,cACd,WACE;CACJ,MAAM,gBAAgB,CAAC,MAAM,gBAAgB,EAAE,EAAE,MAAM,gBAAgB,EAAE,CAAC;CAE1E,MAAM,iBAAiB,CAAC,OAAO,MAAM,cAAc,GAAG;AAYtD,QACE,oBAAC;EACC,MAZS,eACJ;GACL,UAAU;GACV,YAAY,gBAAgB;GAC5B,OAAO;GACP,GAAG,kBAAkB;IAAE;IAAW;IAAS,CAAC;GAC7C,GACD;GAAC;GAAY;GAAgB;GAAa;GAAW;GAAQ,CAC9D;EAKW;EACR,OACE,iBACI;GACE,wBAAwB,GAAG,cAAc,KAAK,IAAI;GAClD,sBAAsB,GAAG,cAAc,KAAK,IAAI;GACjD,GACD,EACE,kBAAkB,GAAG,cAAc,KAAK,IAAI,IAC7C;GAEP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { tasty } from "@tenphi/tasty";
|
|
3
3
|
|
|
4
4
|
//#region src/components/fields/Slider/elements.ts
|
|
@@ -13,6 +13,8 @@ const SliderThumbElement = tasty({
|
|
|
13
13
|
"": "(#slider-thumb, #primary)",
|
|
14
14
|
hovered: "(#slider-thumb-hovered, #primary-text)",
|
|
15
15
|
dragged: "(#slider-thumb, #primary)",
|
|
16
|
+
valid: "#success",
|
|
17
|
+
invalid: "#danger",
|
|
16
18
|
disabled: "#disabled-surface-text"
|
|
17
19
|
},
|
|
18
20
|
cursor: "$pointer",
|
|
@@ -64,6 +66,8 @@ const SliderTrackContainerElement = tasty({
|
|
|
64
66
|
},
|
|
65
67
|
fill: {
|
|
66
68
|
"": "#primary",
|
|
69
|
+
valid: "#success",
|
|
70
|
+
invalid: "#danger",
|
|
67
71
|
disabled: "#disabled-surface-text"
|
|
68
72
|
},
|
|
69
73
|
width: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.js","names":[],"sources":["../../../../src/components/fields/Slider/elements.ts"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const SliderThumbElement = tasty({\n qa: 'SliderThumb',\n styles: {\n top: '$slider-thumb-offset-top',\n left: '$slider-thumb-offset-left',\n width: '2x',\n height: '2x',\n fill: {\n '': '(#slider-thumb, #primary)',\n hovered: '(#slider-thumb-hovered, #primary-text)',\n dragged: '(#slider-thumb, #primary)',\n disabled: '#disabled-surface-text',\n },\n cursor: '$pointer',\n outline: {\n '': '1bw #primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n radius: '50%',\n transition: 'theme',\n zIndex: {\n '': 0,\n 'collapsed & !stuck': 1,\n },\n },\n});\n\nexport const SliderTrackContainerElement = tasty({\n qa: 'SliderTrackContainer',\n styles: {\n top: {\n '': '0',\n horizontal: '0.875x',\n },\n left: {\n '': '0.875x',\n horizontal: '0',\n },\n position: 'absolute',\n fill: '#dark-05',\n height: {\n '': 'initial 10x 100%',\n horizontal: '2px',\n },\n width: {\n '': '2px',\n horizontal: '100%',\n },\n radius: true,\n\n Fill: {\n $: '&::before',\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n inset: {\n '': 'auto 0 0 0',\n horizontal: '0 auto 0 0',\n range: 'auto 0 $slider-range-start 0',\n 'range & horizontal': '0 auto 0 $slider-range-start',\n },\n fill: {\n '': '#primary',\n disabled: '#disabled-surface-text',\n },\n width: {\n '': 'auto',\n horizontal: '$slider-value',\n range: 'auto',\n 'range & horizontal': '($slider-range-end - $slider-range-start)',\n },\n height: {\n '': '$slider-value',\n horizontal: 'auto',\n range: '($slider-range-end - $slider-range-start)',\n 'range & horizontal': 'auto',\n },\n },\n },\n});\n\nexport const SliderGradationElement = tasty({\n qa: 'SliderGradation',\n styles: {\n position: 'absolute',\n top: '2x',\n left: 0,\n right: 0,\n\n display: 'flex',\n placeContent: 'space-between',\n },\n});\n\nexport const SliderGradeElement = tasty({\n qa: 'SliderGrade',\n styles: {\n display: 'grid',\n width: 'max 0',\n placeContent: 'center',\n preset: 'c2',\n color: '#dark-03',\n },\n});\n\nexport const SliderControlsElement = tasty({\n qa: 'SliderControls',\n styles: {\n position: 'relative',\n height: {\n '': 'initial 8x 100%',\n horizontal: '2x',\n },\n width: {\n '': '2x',\n horizontal: '(100% - 2x)',\n },\n\n '$slider-thumb-offset-top': {\n '': '0',\n horizontal: '1x',\n },\n '$slider-thumb-offset-left': {\n '': '1x',\n horizontal: '0',\n },\n },\n});\n\nexport const SliderElement = tasty({\n qa: 'RangeSlider',\n as: 'section',\n styles: {\n display: 'inline-flex',\n verticalAlign: {\n '': 'middle',\n 'side-label & !horizontal': 'top',\n },\n position: 'relative',\n height: {\n '': 'initial 10x 100%',\n horizontal: '2x',\n },\n width: {\n '': '2x',\n horizontal: '100%',\n },\n\n alignItems: 'center',\n flow: {\n '': 'column',\n inputs: 'row',\n },\n },\n});\n"],"mappings":";;;;AAEA,MAAa,qBAAqB,MAAM;CACtC,IAAI;CACJ,QAAQ;EACN,KAAK;EACL,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,SAAS;GACT,UAAU;GACX;EACD,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,SAAS;GACV;EACD,eAAe;EACf,QAAQ;EACR,YAAY;EACZ,QAAQ;GACN,IAAI;GACJ,sBAAsB;GACvB;EACF;CACF,CAAC;AAEF,MAAa,8BAA8B,MAAM;CAC/C,IAAI;CACJ,QAAQ;EACN,KAAK;GACH,IAAI;GACJ,YAAY;GACb;EACD,MAAM;GACJ,IAAI;GACJ,YAAY;GACb;EACD,UAAU;EACV,MAAM;EACN,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EACD,QAAQ;EAER,MAAM;GACJ,GAAG;GACH,SAAS;GACT,SAAS;GACT,UAAU;GACV,OAAO;IACL,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACD,MAAM;IACJ,IAAI;IACJ,UAAU;IACX;GACD,OAAO;IACL,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACD,QAAQ;IACN,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACF;EACF;CACF,CAAC;AAEF,MAAa,yBAAyB,MAAM;CAC1C,IAAI;CACJ,QAAQ;EACN,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EAEP,SAAS;EACT,cAAc;EACf;CACF,CAAC;AAEF,MAAa,qBAAqB,MAAM;CACtC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,OAAO;EACP,cAAc;EACd,QAAQ;EACR,OAAO;EACR;CACF,CAAC;AAEF,MAAa,wBAAwB,MAAM;CACzC,IAAI;CACJ,QAAQ;EACN,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EAED,4BAA4B;GAC1B,IAAI;GACJ,YAAY;GACb;EACD,6BAA6B;GAC3B,IAAI;GACJ,YAAY;GACb;EACF;CACF,CAAC;AAEF,MAAa,gBAAgB,MAAM;CACjC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,eAAe;GACb,IAAI;GACJ,4BAA4B;GAC7B;EACD,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EAED,YAAY;EACZ,MAAM;GACJ,IAAI;GACJ,QAAQ;GACT;EACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"elements.js","names":[],"sources":["../../../../src/components/fields/Slider/elements.ts"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const SliderThumbElement = tasty({\n qa: 'SliderThumb',\n styles: {\n top: '$slider-thumb-offset-top',\n left: '$slider-thumb-offset-left',\n width: '2x',\n height: '2x',\n fill: {\n '': '(#slider-thumb, #primary)',\n hovered: '(#slider-thumb-hovered, #primary-text)',\n dragged: '(#slider-thumb, #primary)',\n valid: '#success',\n invalid: '#danger',\n disabled: '#disabled-surface-text',\n },\n cursor: '$pointer',\n outline: {\n '': '1bw #primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n radius: '50%',\n transition: 'theme',\n zIndex: {\n '': 0,\n 'collapsed & !stuck': 1,\n },\n },\n});\n\nexport const SliderTrackContainerElement = tasty({\n qa: 'SliderTrackContainer',\n styles: {\n top: {\n '': '0',\n horizontal: '0.875x',\n },\n left: {\n '': '0.875x',\n horizontal: '0',\n },\n position: 'absolute',\n fill: '#dark-05',\n height: {\n '': 'initial 10x 100%',\n horizontal: '2px',\n },\n width: {\n '': '2px',\n horizontal: '100%',\n },\n radius: true,\n\n Fill: {\n $: '&::before',\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n inset: {\n '': 'auto 0 0 0',\n horizontal: '0 auto 0 0',\n range: 'auto 0 $slider-range-start 0',\n 'range & horizontal': '0 auto 0 $slider-range-start',\n },\n fill: {\n '': '#primary',\n valid: '#success',\n invalid: '#danger',\n disabled: '#disabled-surface-text',\n },\n width: {\n '': 'auto',\n horizontal: '$slider-value',\n range: 'auto',\n 'range & horizontal': '($slider-range-end - $slider-range-start)',\n },\n height: {\n '': '$slider-value',\n horizontal: 'auto',\n range: '($slider-range-end - $slider-range-start)',\n 'range & horizontal': 'auto',\n },\n },\n },\n});\n\nexport const SliderGradationElement = tasty({\n qa: 'SliderGradation',\n styles: {\n position: 'absolute',\n top: '2x',\n left: 0,\n right: 0,\n\n display: 'flex',\n placeContent: 'space-between',\n },\n});\n\nexport const SliderGradeElement = tasty({\n qa: 'SliderGrade',\n styles: {\n display: 'grid',\n width: 'max 0',\n placeContent: 'center',\n preset: 'c2',\n color: '#dark-03',\n },\n});\n\nexport const SliderControlsElement = tasty({\n qa: 'SliderControls',\n styles: {\n position: 'relative',\n height: {\n '': 'initial 8x 100%',\n horizontal: '2x',\n },\n width: {\n '': '2x',\n horizontal: '(100% - 2x)',\n },\n\n '$slider-thumb-offset-top': {\n '': '0',\n horizontal: '1x',\n },\n '$slider-thumb-offset-left': {\n '': '1x',\n horizontal: '0',\n },\n },\n});\n\nexport const SliderElement = tasty({\n qa: 'RangeSlider',\n as: 'section',\n styles: {\n display: 'inline-flex',\n verticalAlign: {\n '': 'middle',\n 'side-label & !horizontal': 'top',\n },\n position: 'relative',\n height: {\n '': 'initial 10x 100%',\n horizontal: '2x',\n },\n width: {\n '': '2x',\n horizontal: '100%',\n },\n\n alignItems: 'center',\n flow: {\n '': 'column',\n inputs: 'row',\n },\n },\n});\n"],"mappings":";;;;AAEA,MAAa,qBAAqB,MAAM;CACtC,IAAI;CACJ,QAAQ;EACN,KAAK;EACL,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,SAAS;GACT,OAAO;GACP,SAAS;GACT,UAAU;GACX;EACD,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,SAAS;GACV;EACD,eAAe;EACf,QAAQ;EACR,YAAY;EACZ,QAAQ;GACN,IAAI;GACJ,sBAAsB;GACvB;EACF;CACF,CAAC;AAEF,MAAa,8BAA8B,MAAM;CAC/C,IAAI;CACJ,QAAQ;EACN,KAAK;GACH,IAAI;GACJ,YAAY;GACb;EACD,MAAM;GACJ,IAAI;GACJ,YAAY;GACb;EACD,UAAU;EACV,MAAM;EACN,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EACD,QAAQ;EAER,MAAM;GACJ,GAAG;GACH,SAAS;GACT,SAAS;GACT,UAAU;GACV,OAAO;IACL,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACD,MAAM;IACJ,IAAI;IACJ,OAAO;IACP,SAAS;IACT,UAAU;IACX;GACD,OAAO;IACL,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACD,QAAQ;IACN,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,sBAAsB;IACvB;GACF;EACF;CACF,CAAC;AAEF,MAAa,yBAAyB,MAAM;CAC1C,IAAI;CACJ,QAAQ;EACN,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EAEP,SAAS;EACT,cAAc;EACf;CACF,CAAC;AAEF,MAAa,qBAAqB,MAAM;CACtC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,OAAO;EACP,cAAc;EACd,QAAQ;EACR,OAAO;EACR;CACF,CAAC;AAEF,MAAa,wBAAwB,MAAM;CACzC,IAAI;CACJ,QAAQ;EACN,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EAED,4BAA4B;GAC1B,IAAI;GACJ,YAAY;GACb;EACD,6BAA6B;GAC3B,IAAI;GACJ,YAAY;GACb;EACF;CACF,CAAC;AAEF,MAAa,gBAAgB,MAAM;CACjC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,eAAe;GACb,IAAI;GACJ,4BAA4B;GAC7B;EACD,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,YAAY;GACb;EACD,OAAO;GACL,IAAI;GACJ,YAAY;GACb;EAED,YAAY;EACZ,MAAM;GACJ,IAAI;GACJ,QAAQ;GACT;EACF;CACF,CAAC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useId as useId$2 } from "../../../utils/react/useId.js";
|
|
4
4
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
5
5
|
import { _Text } from "../../content/Text.js";
|
|
6
6
|
import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
|
|
7
7
|
import { LoadingIcon } from "../../../icons/LoadingIcon.js";
|
|
8
|
-
import {
|
|
9
|
-
import { useFormProps } from "../../form/Form/Form.js";
|
|
8
|
+
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
10
9
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
11
10
|
import { wrapWithField } from "../../form/wrapper.js";
|
|
12
11
|
import { castNullableIsSelected } from "../../../utils/react/nullableValue.js";
|
|
@@ -44,6 +43,8 @@ const SwitchElement = tasty({
|
|
|
44
43
|
fill: {
|
|
45
44
|
"": "#surface",
|
|
46
45
|
checked: "#primary",
|
|
46
|
+
"invalid & checked": "#danger",
|
|
47
|
+
"valid & checked": "#success",
|
|
47
48
|
disabled: "#border.5",
|
|
48
49
|
"disabled & checked": "#border"
|
|
49
50
|
},
|
|
@@ -55,7 +56,8 @@ const SwitchElement = tasty({
|
|
|
55
56
|
"": "#dark-05",
|
|
56
57
|
checked: "#primary-text",
|
|
57
58
|
disabled: "#dark-05.5",
|
|
58
|
-
invalid: "#danger"
|
|
59
|
+
invalid: "#danger",
|
|
60
|
+
valid: "#success"
|
|
59
61
|
},
|
|
60
62
|
width: {
|
|
61
63
|
"": "5x 5x",
|
|
@@ -113,8 +115,6 @@ const SwitchElement = tasty({
|
|
|
113
115
|
const PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];
|
|
114
116
|
function Switch(props, ref) {
|
|
115
117
|
props = castNullableIsSelected(props);
|
|
116
|
-
props = useProviderProps(props);
|
|
117
|
-
props = useFormProps(props);
|
|
118
118
|
props = useFieldProps(props, {
|
|
119
119
|
defaultValidationTrigger: "onChange",
|
|
120
120
|
valuePropsMapper: ({ value, onChange }) => ({
|
|
@@ -123,7 +123,7 @@ function Switch(props, ref) {
|
|
|
123
123
|
onChange
|
|
124
124
|
})
|
|
125
125
|
});
|
|
126
|
-
let { qa, isDisabled = false, children, label, insideForm, isLoading, labelPosition, inputStyles,
|
|
126
|
+
let { qa, isDisabled = false, children, label, insideForm, isLoading, labelPosition, inputStyles, isInvalid, isValid, size = "medium", form } = props;
|
|
127
127
|
const id = useId$2(props.id);
|
|
128
128
|
let styles = extractStyles(props, PROP_STYLES);
|
|
129
129
|
let { isFocused, focusProps } = useFocus$1({ isDisabled }, true);
|
|
@@ -136,8 +136,10 @@ function Switch(props, ref) {
|
|
|
136
136
|
disabled: isDisabled,
|
|
137
137
|
hovered: isHovered,
|
|
138
138
|
focused: isFocused,
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
...getValidationMods({
|
|
140
|
+
isInvalid,
|
|
141
|
+
isValid
|
|
142
|
+
}),
|
|
141
143
|
"inside-form": insideForm,
|
|
142
144
|
"side-label": labelPosition === "side"
|
|
143
145
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons';\nimport {
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { useId } from '../../../utils/react/useId';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\n\nconst SwitchWrapperElement = tasty({\n as: 'label',\n styles: {\n display: 'flex',\n position: 'relative',\n placeItems: {\n '': 'center stretch',\n 'side-label': 'baseline stretch',\n },\n gap: '1x',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst SwitchElement = tasty({\n qa: 'Switch',\n styles: {\n boxSizing: 'border-box',\n position: 'relative',\n verticalAlign: 'baseline',\n placeSelf: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n checked: '#primary',\n 'invalid & checked': '#danger',\n 'valid & checked': '#success',\n disabled: '#border.5',\n 'disabled & checked': '#border',\n },\n color: {\n '': '#dark-03',\n checked: '#white',\n },\n border: {\n '': '#dark-05',\n checked: '#primary-text',\n disabled: '#dark-05.5',\n invalid: '#danger',\n valid: '#success',\n },\n width: {\n '': '5x 5x',\n 'size=medium': '4x 4x',\n 'size=small': '3x 3x',\n },\n height: {\n '': '3x 3x',\n 'size=medium': '2.5x 2.5x',\n 'size=small': '2x 2x',\n },\n outline: {\n '': '#primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n transition: 'theme',\n cursor: '$pointer',\n\n Thumb: {\n position: 'absolute',\n width: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n height: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n radius: 'round',\n fill: {\n '': 'currentColor',\n disabled: '#current.5',\n 'disabled & checked': '#white.8',\n },\n top: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n },\n left: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n checked: '2.25x',\n 'checked & size=medium': '1.75x',\n 'checked & size=small': '1.25x',\n },\n transition: 'left, theme',\n cursor: '$pointer',\n },\n },\n});\n\nconst PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeSwitchProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps,\n AriaSwitchProps {\n inputStyles?: Styles;\n isLoading?: boolean;\n size?: 'large' | 'medium' | 'small';\n}\n\nfunction Switch(props: WithNullableSelected<CubeSwitchProps>, ref) {\n props = castNullableIsSelected(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value != null ? value : false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n });\n\n let {\n qa,\n isDisabled = false,\n children,\n label,\n insideForm,\n isLoading,\n labelPosition,\n inputStyles,\n isInvalid,\n isValid,\n size = 'medium',\n form,\n } = props;\n\n const id = useId(props.id);\n\n let styles = extractStyles(props, PROP_STYLES);\n\n let { isFocused, focusProps } = useFocus({ isDisabled }, true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let { inputProps } = useSwitch(props, useToggleState(props), inputRef);\n\n const mods = {\n checked: inputProps.checked,\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n ...getValidationMods({ isInvalid, isValid }),\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n };\n\n const switchField = (\n <SwitchWrapperElement\n qa=\"SwitchWrapper\"\n mods={mods}\n data-size={size}\n styles={styles}\n {...hoverProps}\n >\n <HiddenInput\n qa={qa || 'Switch'}\n data-input-type=\"switch\"\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n id={id}\n />\n <SwitchElement mods={mods} data-size={size} styles={inputStyles}>\n <div data-element=\"Thumb\" aria-hidden=\"true\" />\n </SwitchElement>\n {children ? <Text nowrap>{children}</Text> : null}\n {isLoading ? (\n <>\n {label ? <> </> : null}\n <LoadingIcon />\n </>\n ) : null}\n </SwitchWrapperElement>\n );\n\n return wrapWithField(switchField, domRef, {\n ...props,\n id,\n labelProps: {\n ...props.labelProps,\n for: id,\n },\n children: null,\n inputStyles,\n });\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = forwardRef(Switch);\n\n(_Switch as any).cubeInputType = 'Checkbox';\n_Switch.displayName = 'Switch';\n\nexport { _Switch as Switch };\nexport type { AriaSwitchProps };\nexport { useSwitch };\n"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { chain } from "../../../utils/react/chain.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
5
|
-
import { useProviderProps } from "../../../provider.js";
|
|
6
5
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
7
6
|
import { castNullableStringValue } from "../../../utils/react/nullableValue.js";
|
|
8
7
|
import { TextInputBase } from "../TextInput/TextInputBase.js";
|
|
@@ -13,7 +12,6 @@ import { useTextField } from "react-aria";
|
|
|
13
12
|
//#region src/components/fields/TextArea/TextArea.tsx
|
|
14
13
|
function TextArea(props, ref) {
|
|
15
14
|
props = castNullableStringValue(props);
|
|
16
|
-
props = useProviderProps(props);
|
|
17
15
|
props = useFieldProps(props, {
|
|
18
16
|
defaultValidationTrigger: "onBlur",
|
|
19
17
|
valuePropsMapper: ({ value, onChange }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","names":["mergeProps"],"sources":["../../../../src/components/fields/TextArea/TextArea.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n useEffect,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { useTextField } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/index';\nimport {
|
|
1
|
+
{"version":3,"file":"TextArea.js","names":["mergeProps"],"sources":["../../../../src/components/fields/TextArea/TextArea.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n useEffect,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { useTextField } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/index';\nimport { chain, mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { useFieldProps } from '../../form';\nimport { CubeTextInputBaseProps, TextInputBase } from '../TextInput';\n\nexport interface CubeTextAreaProps extends CubeTextInputBaseProps {\n /** Whether the textarea should change its size depends on the content */\n autoSize?: boolean;\n /** Max number of visible rows when autoSize is `true`. Defaults to 10 */\n maxRows?: number;\n /** The `rows` attribute in HTML is used to specify the number of visible text lines for the\n * control i.e. the number of rows to display. Defaults to 3 */\n rows?: number;\n}\n\nfunction TextArea(\n props: WithNullableValue<CubeTextAreaProps>,\n ref: ForwardedRef<HTMLElement>,\n) {\n props = castNullableStringValue(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n onChange,\n value: value?.toString() ?? '',\n }),\n });\n let {\n autoSize = false,\n isDisabled = false,\n isReadOnly = false,\n isRequired = false,\n onChange,\n maxRows = 10,\n rows = 3,\n labelProps: userLabelProps,\n inputRef: propsInputRef,\n value,\n ...otherProps\n } = props;\n\n rows = Math.max(rows, 1);\n maxRows = Math.max(maxRows, rows);\n\n let localInputRef = useRef<HTMLTextAreaElement>(null);\n let inputRef = propsInputRef ?? localInputRef;\n\n const adjustHeight = useEvent(() => {\n const textarea = inputRef.current;\n\n if (!textarea || !autoSize) return;\n\n // Reset height to get the correct scrollHeight\n textarea.style.height = 'auto';\n\n // Get computed styles to account for padding\n const computedStyle = getComputedStyle(textarea);\n const paddingTop = parseFloat(computedStyle.paddingTop) || 0;\n const paddingBottom = parseFloat(computedStyle.paddingBottom) || 0;\n const borderTop = parseFloat(computedStyle.borderTopWidth) || 0;\n const borderBottom = parseFloat(computedStyle.borderBottomWidth) || 0;\n\n // Calculate line height (approximately)\n const lineHeight = parseInt(computedStyle.lineHeight) || 20;\n\n // Calculate content height (excluding padding and border)\n const contentHeight = textarea.scrollHeight - paddingTop - paddingBottom;\n\n // Calculate rows based on content height\n const computedRows = Math.ceil(contentHeight / lineHeight);\n\n // Apply min/max constraints\n const targetRows = Math.max(Math.min(computedRows, maxRows), rows);\n\n // Set the height including padding and border\n const totalHeight =\n targetRows * lineHeight +\n paddingTop +\n paddingBottom +\n borderTop +\n borderBottom;\n\n textarea.style.height = `${totalHeight}px`;\n });\n\n let { labelProps, inputProps } = useTextField(\n {\n ...otherProps,\n value,\n isDisabled,\n isReadOnly,\n isRequired,\n onChange: chain(onChange, adjustHeight),\n inputElementType: 'textarea',\n },\n inputRef,\n );\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n const useEnvironmentalEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\n // Also call adjustHeight on element resize as that can affect wrapping\n useEnvironmentalEffect(() => {\n if (!autoSize || !inputRef.current) return;\n\n adjustHeight();\n\n const resizeObserver = new ResizeObserver(adjustHeight);\n\n resizeObserver.observe(inputRef?.current);\n\n return () => resizeObserver.disconnect();\n }, [autoSize, inputRef?.current]);\n\n // Adjust height when value changes programmatically (controlled mode with autoSize)\n useEnvironmentalEffect(() => {\n if (autoSize && inputRef.current) {\n adjustHeight();\n }\n }, [value]);\n\n return (\n <TextInputBase\n ref={ref}\n {...otherProps}\n multiLine\n inputRef={inputRef}\n labelProps={mergedLabelProps}\n inputProps={{ ...inputProps, 'data-input-type': 'textarea' }}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired}\n rows={rows}\n />\n );\n}\n\n/**\n * TextInputs are text inputs that allow users to input custom text entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\nconst _TextArea = forwardRef(TextArea);\n\n(_TextArea as any).cubeInputType = 'Text';\n_TextArea.displayName = 'TextArea';\n\nexport { _TextArea as TextArea };\n"],"mappings":";;;;;;;;;;;;AA4BA,SAAS,SACP,OACA,KACA;AACA,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO;EAC3B,0BAA0B;EAC1B,mBAAmB,EAAE,OAAO,gBAAgB;GAC1C;GACA,OAAO,OAAO,UAAU,IAAI;GAC7B;EACF,CAAC;CACF,IAAI,EACF,WAAW,OACX,aAAa,OACb,aAAa,OACb,aAAa,OACb,UACA,UAAU,IACV,OAAO,GACP,YAAY,gBACZ,UAAU,eACV,OACA,GAAG,eACD;AAEJ,QAAO,KAAK,IAAI,MAAM,EAAE;AACxB,WAAU,KAAK,IAAI,SAAS,KAAK;CAEjC,IAAI,gBAAgB,OAA4B,KAAK;CACrD,IAAI,WAAW,iBAAiB;CAEhC,MAAM,eAAe,eAAe;EAClC,MAAM,WAAW,SAAS;AAE1B,MAAI,CAAC,YAAY,CAAC,SAAU;AAG5B,WAAS,MAAM,SAAS;EAGxB,MAAM,gBAAgB,iBAAiB,SAAS;EAChD,MAAM,aAAa,WAAW,cAAc,WAAW,IAAI;EAC3D,MAAM,gBAAgB,WAAW,cAAc,cAAc,IAAI;EACjE,MAAM,YAAY,WAAW,cAAc,eAAe,IAAI;EAC9D,MAAM,eAAe,WAAW,cAAc,kBAAkB,IAAI;EAGpE,MAAM,aAAa,SAAS,cAAc,WAAW,IAAI;EAGzD,MAAM,gBAAgB,SAAS,eAAe,aAAa;EAG3D,MAAM,eAAe,KAAK,KAAK,gBAAgB,WAAW;EAM1D,MAAM,cAHa,KAAK,IAAI,KAAK,IAAI,cAAc,QAAQ,EAAE,KAAK,GAInD,aACb,aACA,gBACA,YACA;AAEF,WAAS,MAAM,SAAS,GAAG,YAAY;GACvC;CAEF,IAAI,EAAE,YAAY,eAAe,aAC/B;EACE,GAAG;EACH;EACA;EACA;EACA;EACA,UAAU,MAAM,UAAU,aAAa;EACvC,kBAAkB;EACnB,EACD,SACD;CAGD,MAAM,mBAAmBA,aAAW,YAAY,eAAe;CAE/D,MAAM,yBACJ,OAAO,WAAW,cAAc,kBAAkB;AAGpD,8BAA6B;AAC3B,MAAI,CAAC,YAAY,CAAC,SAAS,QAAS;AAEpC,gBAAc;EAEd,MAAM,iBAAiB,IAAI,eAAe,aAAa;AAEvD,iBAAe,QAAQ,UAAU,QAAQ;AAEzC,eAAa,eAAe,YAAY;IACvC,CAAC,UAAU,UAAU,QAAQ,CAAC;AAGjC,8BAA6B;AAC3B,MAAI,YAAY,SAAS,QACvB,eAAc;IAEf,CAAC,MAAM,CAAC;AAEX,QACE,oBAAC;EACM;EACL,GAAI;EACJ;EACU;EACV,YAAY;EACZ,YAAY;GAAE,GAAG;GAAY,mBAAmB;GAAY;EAChD;EACA;EACA;EACN;GACN;;;;;;;AASN,MAAM,YAAY,WAAW,SAAS;AAEtC,AAAC,UAAkB,gBAAgB;AACnC,UAAU,cAAc"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
|
-
import { useProviderProps } from "../../../provider.js";
|
|
4
3
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
5
4
|
import { castNullableStringValue } from "../../../utils/react/nullableValue.js";
|
|
6
5
|
import { TextInputBase } from "./TextInputBase.js";
|
|
@@ -11,7 +10,6 @@ import { useTextField as useTextField$1 } from "react-aria";
|
|
|
11
10
|
//#region src/components/fields/TextInput/TextInput.tsx
|
|
12
11
|
const TextInput = forwardRef(function TextInput(props, ref) {
|
|
13
12
|
props = castNullableStringValue(props);
|
|
14
|
-
props = useProviderProps(props);
|
|
15
13
|
props = useFieldProps(props, {
|
|
16
14
|
defaultValidationTrigger: "onBlur",
|
|
17
15
|
valuePropsMapper: ({ value, onChange }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","names":["useTextField","mergeProps"],"sources":["../../../../src/components/fields/TextInput/TextInput.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, useRef } from 'react';\nimport { useTextField } from 'react-aria';\n\nimport {
|
|
1
|
+
{"version":3,"file":"TextInput.js","names":["useTextField","mergeProps"],"sources":["../../../../src/components/fields/TextInput/TextInput.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, useRef } from 'react';\nimport { useTextField } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { useFieldProps } from '../../form';\n\nimport { CubeTextInputBaseProps, TextInputBase } from './TextInputBase';\n\nexport type CubeTextInputProps = WithNullableValue<CubeTextInputBaseProps>;\n\nexport { useTextField };\n\nexport const TextInput = forwardRef(function TextInput(\n props: CubeTextInputProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n props = castNullableStringValue(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n onChange,\n value: value?.toString() ?? '',\n }),\n });\n\n let {\n labelProps: userLabelProps,\n inputRef: propsInputRef,\n form,\n ...restProps\n } = props;\n let localInputRef = useRef<HTMLTextAreaElement | HTMLInputElement>(null);\n let inputRef = propsInputRef ?? localInputRef;\n\n let { labelProps, inputProps } = useTextField(restProps, inputRef);\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n return (\n <TextInputBase\n {...restProps}\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={inputProps}\n inputRef={inputRef}\n />\n );\n});\n\n/**\n * TextInputs are text inputs that allow users to input custom text entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\n\n(TextInput as any).cubeInputType = 'Text';\n"],"mappings":";;;;;;;;;;AAgBA,MAAa,YAAY,WAAW,SAAS,UAC3C,OACA,KACA;AACA,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO;EAC3B,0BAA0B;EAC1B,mBAAmB,EAAE,OAAO,gBAAgB;GAC1C;GACA,OAAO,OAAO,UAAU,IAAI;GAC7B;EACF,CAAC;CAEF,IAAI,EACF,YAAY,gBACZ,UAAU,eACV,MACA,GAAG,cACD;CACJ,IAAI,gBAAgB,OAA+C,KAAK;CACxE,IAAI,WAAW,iBAAiB;CAEhC,IAAI,EAAE,YAAY,eAAeA,eAAa,WAAW,SAAS;CAGlE,MAAM,mBAAmBC,aAAW,YAAY,eAAe;AAE/D,QACE,oBAAC;EACC,GAAI;EACC;EACL,YAAY;EACA;EACF;GACV;EAEJ;;;;;;AAQF,AAAC,UAAkB,gBAAgB"}
|