@cube-dev/ui-kit 0.183.0 → 0.184.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 +30 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.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 +2 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -8
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.js +19 -15
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -8
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -7
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +2 -1
- package/dist/components/content/Content.js.map +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/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.d.ts +27 -2
- package/dist/components/content/Item/Item.js +240 -231
- package/dist/components/content/Item/Item.js.map +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 +123 -118
- package/dist/components/content/Layout/LayoutHeader.js.map +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.d.ts +6 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.d.ts +14 -14
- 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.d.ts +1 -1
- package/dist/components/content/use-auto-tooltip.js +231 -125
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -0
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +8 -0
- package/dist/components/fields/Checkbox/Checkbox.js +58 -39
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -2
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +17 -1
- package/dist/components/fields/ColorInput/ColorInput.js +137 -134
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +18 -2
- package/dist/components/fields/ColorPicker/ColorPicker.js +4 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +17 -1
- package/dist/components/fields/DatePicker/DatePicker.js +81 -77
- 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 +17 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js +109 -105
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +17 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +228 -220
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +17 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +89 -85
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +11 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +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 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +20 -3
- package/dist/components/fields/Picker/Picker.js +4 -3
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +10 -2
- package/dist/components/fields/RadioGroup/Radio.js +215 -213
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +24 -3
- package/dist/components/fields/Select/Select.js +8 -5
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +2 -2
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +11 -9
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +1 -1
- package/dist/components/form/Form/Field.js +6 -4
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.js +20 -5
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/legacy-tooltip.js +28 -0
- package/dist/components/form/legacy-tooltip.js.map +1 -0
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +5 -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-modes.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/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/placement.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/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +131 -110
- package/dist/components/navigation/Tabs/TabButton.js.map +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 +2 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +2 -2
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +18 -9
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +6 -5
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +71 -64
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +68 -0
- package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -0
- 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 +72 -69
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +16 -0
- package/dist/components/overlays/Tooltip/split-trigger-props.js +54 -0
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -0
- 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.d.ts +1 -1
- package/dist/data/item-themes.js +7 -1
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/shared/form.d.ts +9 -2
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/escapePropagation.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/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/FieldProperties.md +2 -2
- package/docs/components/actions/ButtonSplit.md +2 -0
- package/docs/components/content/InfoBadge.md +1 -1
- package/docs/components/content/Layout.md +1 -1
- package/docs/components/content/Tag.md +10 -2
- package/docs/components/fields/Checkbox.md +11 -0
- package/docs/components/fields/ColorInput.md +2 -0
- package/docs/components/fields/ColorPicker.md +3 -1
- package/docs/components/fields/DatePicker.md +2 -0
- package/docs/components/fields/FilterPicker.md +3 -1
- package/docs/components/fields/PeriodPicker.md +2 -0
- package/docs/components/fields/Picker.md +3 -1
- package/docs/components/fields/RadioGroup.md +2 -2
- package/docs/components/fields/Select.md +5 -0
- package/docs/components/form/Field.md +2 -2
- package/docs/components/form/Form.md +2 -0
- package/docs/components/navigation/Tabs.md +3 -3
- package/docs/components/overlays/Dialog.md +30 -3
- package/docs/components/overlays/DialogForm.md +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","names":["BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","useEffect","useRef","useState","useEvent","FieldBaseProps","extractStyles","ItemButton","CubeItemProps","Text","getValidationIcon","getValidationTheme","useFieldProps","wrapWithField","Dialog","DialogTrigger","ColorSpace","ColorFormat","ColorValue","formatColor","parseColor","ColorPanel","ColorPopoverContext","ColorInput","ColorSwatch","ColorSwatchGroup","CubeColorSwatchItem","POPOVER_STYLES","overflow","PALETTE_STYLES","border","padding","width","FALLBACK_COLOR","h","s","l","ColorPickerWrapper","qa","styles","display","flow","gridRows","placeContent","placeItems","CubeColorPickerProps","value","defaultValue","onChange","format","defaultSpace","isOpen","defaultOpen","onOpenChange","shouldFlip","children","placeholder","size","type","theme","triggerTooltip","swatches","swatchColumns","triggerStyles","swatchStyles","ColorPicker","allProps","ref","HTMLElement","props","defaultValidationTrigger","valuePropsMapper","id","controlledOpen","isDisabled","isReadOnly","isLoading","isInvalid","isValid","autoFocus","ariaLabel","isEditingDisabled","color","setColor","toString","space","setSpace","setOpen","emitted","undefined","current","handleColorChange","next","text","colorText","handleValueChange","handleOpenChange","label","pickerField","length","cubeInputType"],"sources":["../../../../src/components/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { FieldBaseProps } from '../../../shared';\nimport { extractStyles } from '../../../utils/styles';\nimport { ItemButton } from '../../actions';\nimport { CubeItemProps } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport {\n getValidationIcon,\n getValidationTheme,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { Dialog, DialogTrigger } from '../../overlays/Dialog';\nimport { ColorSpace } from '../color/channels';\nimport {\n ColorFormat,\n ColorValue,\n formatColor,\n parseColor,\n} from '../color/color';\nimport { ColorPanel } from '../color/ColorPanel';\nimport { ColorPopoverContext } from '../color/context';\nimport { ColorInput } from '../ColorInput';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorSwatchGroup, CubeColorSwatchItem } from '../ColorSwatchGroup';\n\n/**\n * A popover caps its height at half the viewport. The panel can exceed that on\n * a short screen, and would otherwise spill outside the popover's own border.\n */\nconst POPOVER_STYLES: Styles = { overflow: 'auto' };\n\n/**\n * The rule separating the palette from the editor. `Divider` is not used: it\n * places itself on named grid lines meant for menu layouts, which this panel\n * does not define, so it lands in the wrong row and spawns a stray column.\n */\nconst PALETTE_STYLES: Styles = {\n border: 'top',\n padding: '1x top',\n width: '100%',\n};\n\n/** What the popover starts from when there is no color to edit yet. */\nconst FALLBACK_COLOR: ColorValue = { h: 264, s: 0.8, l: 0.6 };\n\nconst ColorPickerWrapper = tasty({\n qa: 'ColorPickerWrapper',\n styles: {\n display: 'inline-grid',\n flow: 'column',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n },\n});\n\nexport interface CubeColorPickerProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected color, as a color string. */\n value?: string | null;\n /** The initial color of an uncontrolled picker. */\n defaultValue?: string | null;\n /** Called with the color string, or `null` when there is no color. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** Color concept the popover opens with. */\n defaultSpace?: ColorSpace;\n /** Whether the popover is open. Makes the disclosure controlled. */\n isOpen?: boolean;\n /** Whether the popover is open initially. */\n defaultOpen?: boolean;\n /** Called when the popover opens or closes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** Whether the popover may flip to the other side of the trigger. */\n shouldFlip?: boolean;\n /** Replaces the color shown on the trigger. Pass `null` for a swatch on its own. */\n children?: ReactNode;\n /** Shown on the trigger while there is no color. */\n placeholder?: ReactNode;\n /** The size of the trigger. */\n size?: CubeItemProps['size'];\n /** The visual type of the trigger. */\n type?: CubeItemProps['type'];\n theme?: CubeItemProps['theme'];\n /** Tooltip for the trigger, separate from the field tooltip. */\n triggerTooltip?: CubeItemProps['tooltip'];\n /** Colors to offer under the editor, for picking without dialing one in. */\n swatches?: CubeColorSwatchItem[];\n /** How many swatches per row. Defaults to a single row. */\n swatchColumns?: number;\n styles?: Styles;\n /** Styles of the trigger button. */\n triggerStyles?: Styles;\n /** Styles of the color swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\n/**\n * A color swatch that opens the color popover — the same one `ColorInput`\n * uses, without the text field. Reach for it when a color is chosen but never\n * typed: a toolbar, a chart legend, a cell in a dense table.\n */\nexport const ColorPicker = forwardRef(function ColorPicker(\n allProps: CubeColorPickerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n id,\n value,\n defaultValue,\n onChange,\n format = 'hex',\n defaultSpace = 'hst',\n isOpen: controlledOpen,\n defaultOpen,\n onOpenChange,\n shouldFlip,\n children,\n placeholder = 'Pick a color',\n size,\n type = 'outline',\n theme = 'default',\n triggerTooltip,\n swatches,\n swatchColumns,\n triggerStyles,\n swatchStyles,\n isDisabled,\n isReadOnly,\n isLoading,\n isInvalid,\n isValid,\n autoFocus,\n 'aria-label': ariaLabel,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n\n /**\n * Loading locks the trigger, but the popover can outlive that — it may be\n * controlled, or opened before the load began — so the editor inside has to\n * refuse edits on the same terms.\n */\n const isEditingDisabled = isDisabled || isLoading;\n\n const [color, setColor] = useState(() =>\n parseColor((value ?? defaultValue ?? '').toString()),\n );\n const [space, setSpace] = useState<ColorSpace>(defaultSpace);\n const [isOpen, setOpen] = useState(defaultOpen ?? false);\n\n /** What was last published, to tell our own updates from outside ones. */\n const emitted = useRef<string | null | undefined>(value);\n\n // Adopt values that did not come from here — a form reset, or a parent that\n // overrides what the user picked.\n useEffect(() => {\n if (value === undefined || value === emitted.current) return;\n\n emitted.current = value;\n setColor(parseColor((value ?? '').toString()));\n }, [value]);\n\n const handleColorChange = useEvent((next: ColorValue) => {\n const text = formatColor(next, format);\n\n emitted.current = text;\n setColor(next);\n onChange?.(text);\n });\n\n const colorText = color ? formatColor(color, format) : null;\n\n /**\n * The palette and the value field both speak in strings, and the field can\n * hand back `null` when it is cleared — which has to reach the picker, or the\n * text empties while the preview and trigger keep the old color.\n */\n const handleValueChange = useEvent((next: string | null) => {\n emitted.current = next;\n setColor(next ? parseColor(next) : null);\n onChange?.(next);\n });\n\n const handleOpenChange = useEvent((next: boolean) => {\n setOpen(next);\n onOpenChange?.(next);\n });\n\n // The swatch carries the color and the label spells it out. `children`\n // replaces that label, and `null` leaves the swatch on its own.\n const label =\n children !== undefined ? (\n children\n ) : color ? (\n formatColor(color, format)\n ) : (\n // Muted, so an unset picker never reads like one holding a value —\n // the same treatment `Picker` and `Select` give their placeholders.\n <Text.Placeholder>{placeholder}</Text.Placeholder>\n );\n\n const pickerField = (\n <ColorPickerWrapper styles={styles}>\n <DialogTrigger\n hideArrow\n type=\"popover\"\n mobileType=\"tray\"\n placement=\"bottom start\"\n isOpen={controlledOpen ?? isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={handleOpenChange}\n >\n <ItemButton\n data-popover-trigger\n id={id}\n qa={qa || 'ColorPickerTrigger'}\n data-input-type=\"colorpicker\"\n type={type}\n theme={getValidationTheme(theme, { isInvalid, isValid })}\n size={size}\n // Fixed 20px rather than tracking the trigger, same as `ColorInput`\n // and same as this has always rendered.\n icon={\n <ColorSwatch size=\"small\" color={color} styles={swatchStyles} />\n }\n rightIcon={getValidationIcon({ isInvalid, isValid })}\n tooltip={triggerTooltip}\n isDisabled={isEditingDisabled || isReadOnly}\n autoFocus={autoFocus}\n aria-label={ariaLabel}\n mods={{ placeholder: !color }}\n styles={triggerStyles}\n >\n {label}\n </ItemButton>\n <Dialog\n aria-label=\"Color picker\"\n width=\"max-content\"\n styles={POPOVER_STYLES}\n >\n {/* Marks the subtree so a nested swatch group drops its custom-color\n escape hatch, which is a picker and would recurse forever. */}\n <ColorPopoverContext.Provider value={true}>\n <ColorPanel\n color={color ?? FALLBACK_COLOR}\n space={space}\n isDisabled={isEditingDisabled || isReadOnly}\n previewFormat={format}\n input={\n <ColorInput\n aria-label=\"Color value\"\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled}\n isReadOnly={isReadOnly}\n onChange={handleValueChange}\n />\n }\n swatches={\n swatches?.length ? (\n <ColorSwatchGroup\n aria-label=\"Palette\"\n styles={PALETTE_STYLES}\n colors={swatches}\n columns={swatchColumns}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled || isReadOnly}\n onChange={handleValueChange}\n />\n ) : null\n }\n onChange={handleColorChange}\n onSpaceChange={setSpace}\n />\n </ColorPopoverContext.Provider>\n </Dialog>\n </DialogTrigger>\n </ColorPickerWrapper>\n );\n\n return wrapWithField(pickerField, ref as any, props);\n});\n\n/**\n * Drives the legacy `<Field>` wiring: `Picker` validates on change and passes\n * the value through untouched, where `Text` would default to `onBlur` and\n * coerce `null` into an empty string.\n */\n(ColorPicker as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","names":["BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","RefObject","useEffect","useRef","useState","Placement","useEvent","FieldBaseProps","extractStyles","ItemButton","CubeItemProps","Text","getValidationIcon","getValidationTheme","useFieldProps","wrapWithField","Dialog","DialogTrigger","ColorSpace","ColorFormat","ColorValue","formatColor","parseColor","ColorPanel","ColorPopoverContext","ColorInput","ColorSwatch","ColorSwatchGroup","CubeColorSwatchItem","POPOVER_STYLES","overflow","PALETTE_STYLES","border","padding","width","FALLBACK_COLOR","h","s","l","ColorPickerWrapper","qa","styles","display","flow","gridRows","placeContent","placeItems","CubeColorPickerProps","value","defaultValue","onChange","format","defaultSpace","isOpen","defaultOpen","onOpenChange","shouldFlip","targetRef","HTMLElement","placement","children","placeholder","size","type","theme","triggerTooltip","swatches","swatchColumns","triggerStyles","swatchStyles","ColorPicker","allProps","ref","props","defaultValidationTrigger","valuePropsMapper","id","controlledOpen","isDisabled","isReadOnly","isLoading","isInvalid","isValid","autoFocus","ariaLabel","isEditingDisabled","color","setColor","toString","space","setSpace","setOpen","emitted","undefined","current","handleColorChange","next","text","colorText","handleValueChange","handleOpenChange","label","pickerField","length","cubeInputType"],"sources":["../../../../src/components/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Placement } from 'react-aria';\n\nimport { useEvent } from '../../../_internal';\nimport { FieldBaseProps } from '../../../shared';\nimport { extractStyles } from '../../../utils/styles';\nimport { ItemButton } from '../../actions';\nimport { CubeItemProps } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport {\n getValidationIcon,\n getValidationTheme,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { Dialog, DialogTrigger } from '../../overlays/Dialog';\nimport { ColorSpace } from '../color/channels';\nimport {\n ColorFormat,\n ColorValue,\n formatColor,\n parseColor,\n} from '../color/color';\nimport { ColorPanel } from '../color/ColorPanel';\nimport { ColorPopoverContext } from '../color/context';\nimport { ColorInput } from '../ColorInput';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorSwatchGroup, CubeColorSwatchItem } from '../ColorSwatchGroup';\n\n/**\n * A popover caps its height at half the viewport. The panel can exceed that on\n * a short screen, and would otherwise spill outside the popover's own border.\n */\nconst POPOVER_STYLES: Styles = { overflow: 'auto' };\n\n/**\n * The rule separating the palette from the editor. `Divider` is not used: it\n * places itself on named grid lines meant for menu layouts, which this panel\n * does not define, so it lands in the wrong row and spawns a stray column.\n */\nconst PALETTE_STYLES: Styles = {\n border: 'top',\n padding: '1x top',\n width: '100%',\n};\n\n/** What the popover starts from when there is no color to edit yet. */\nconst FALLBACK_COLOR: ColorValue = { h: 264, s: 0.8, l: 0.6 };\n\nconst ColorPickerWrapper = tasty({\n qa: 'ColorPickerWrapper',\n styles: {\n display: 'inline-grid',\n flow: 'column',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n },\n});\n\nexport interface CubeColorPickerProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected color, as a color string. */\n value?: string | null;\n /** The initial color of an uncontrolled picker. */\n defaultValue?: string | null;\n /** Called with the color string, or `null` when there is no color. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** Color concept the popover opens with. */\n defaultSpace?: ColorSpace;\n /** Whether the popover is open. Makes the disclosure controlled. */\n isOpen?: boolean;\n /** Whether the popover is open initially. */\n defaultOpen?: boolean;\n /** Called when the popover opens or closes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** Whether the popover may flip to the other side of the trigger. */\n shouldFlip?: boolean;\n /**\n * The ref of the element the popover should visually attach itself to.\n * Defaults to the trigger button.\n *\n * Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click\n * dismissal treats as the trigger.\n */\n targetRef?: RefObject<HTMLElement | null>;\n /**\n * Placement of the popover relative to the anchor.\n * Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,\n * `'top start'`, `'right top'`, `'left top'`).\n * @default 'bottom start'\n */\n placement?: Placement;\n /** Replaces the color shown on the trigger. Pass `null` for a swatch on its own. */\n children?: ReactNode;\n /** Shown on the trigger while there is no color. */\n placeholder?: ReactNode;\n /** The size of the trigger. */\n size?: CubeItemProps['size'];\n /** The visual type of the trigger. */\n type?: CubeItemProps['type'];\n theme?: CubeItemProps['theme'];\n /** Tooltip for the trigger, separate from `labelTooltip`. */\n triggerTooltip?: CubeItemProps['tooltip'];\n /** Colors to offer under the editor, for picking without dialing one in. */\n swatches?: CubeColorSwatchItem[];\n /** How many swatches per row. Defaults to a single row. */\n swatchColumns?: number;\n styles?: Styles;\n /** Styles of the trigger button. */\n triggerStyles?: Styles;\n /** Styles of the color swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\n/**\n * A color swatch that opens the color popover — the same one `ColorInput`\n * uses, without the text field. Reach for it when a color is chosen but never\n * typed: a toolbar, a chart legend, a cell in a dense table.\n */\nexport const ColorPicker = forwardRef(function ColorPicker(\n allProps: CubeColorPickerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n id,\n value,\n defaultValue,\n onChange,\n format = 'hex',\n defaultSpace = 'hst',\n isOpen: controlledOpen,\n defaultOpen,\n onOpenChange,\n shouldFlip,\n targetRef,\n placement = 'bottom start',\n children,\n placeholder = 'Pick a color',\n size,\n type = 'outline',\n theme = 'default',\n triggerTooltip,\n swatches,\n swatchColumns,\n triggerStyles,\n swatchStyles,\n isDisabled,\n isReadOnly,\n isLoading,\n isInvalid,\n isValid,\n autoFocus,\n 'aria-label': ariaLabel,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n\n /**\n * Loading locks the trigger, but the popover can outlive that — it may be\n * controlled, or opened before the load began — so the editor inside has to\n * refuse edits on the same terms.\n */\n const isEditingDisabled = isDisabled || isLoading;\n\n const [color, setColor] = useState(() =>\n parseColor((value ?? defaultValue ?? '').toString()),\n );\n const [space, setSpace] = useState<ColorSpace>(defaultSpace);\n const [isOpen, setOpen] = useState(defaultOpen ?? false);\n\n /** What was last published, to tell our own updates from outside ones. */\n const emitted = useRef<string | null | undefined>(value);\n\n // Adopt values that did not come from here — a form reset, or a parent that\n // overrides what the user picked.\n useEffect(() => {\n if (value === undefined || value === emitted.current) return;\n\n emitted.current = value;\n setColor(parseColor((value ?? '').toString()));\n }, [value]);\n\n const handleColorChange = useEvent((next: ColorValue) => {\n const text = formatColor(next, format);\n\n emitted.current = text;\n setColor(next);\n onChange?.(text);\n });\n\n const colorText = color ? formatColor(color, format) : null;\n\n /**\n * The palette and the value field both speak in strings, and the field can\n * hand back `null` when it is cleared — which has to reach the picker, or the\n * text empties while the preview and trigger keep the old color.\n */\n const handleValueChange = useEvent((next: string | null) => {\n emitted.current = next;\n setColor(next ? parseColor(next) : null);\n onChange?.(next);\n });\n\n const handleOpenChange = useEvent((next: boolean) => {\n setOpen(next);\n onOpenChange?.(next);\n });\n\n // The swatch carries the color and the label spells it out. `children`\n // replaces that label, and `null` leaves the swatch on its own.\n const label =\n children !== undefined ? (\n children\n ) : color ? (\n formatColor(color, format)\n ) : (\n // Muted, so an unset picker never reads like one holding a value —\n // the same treatment `Picker` and `Select` give their placeholders.\n <Text.Placeholder>{placeholder}</Text.Placeholder>\n );\n\n const pickerField = (\n <ColorPickerWrapper styles={styles}>\n <DialogTrigger\n hideArrow\n type=\"popover\"\n mobileType=\"tray\"\n placement={placement}\n targetRef={targetRef}\n isOpen={controlledOpen ?? isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={handleOpenChange}\n >\n <ItemButton\n data-popover-trigger\n id={id}\n qa={qa || 'ColorPickerTrigger'}\n data-input-type=\"colorpicker\"\n type={type}\n theme={getValidationTheme(theme, { isInvalid, isValid })}\n size={size}\n // Fixed 20px rather than tracking the trigger, same as `ColorInput`\n // and same as this has always rendered.\n icon={\n <ColorSwatch size=\"small\" color={color} styles={swatchStyles} />\n }\n rightIcon={getValidationIcon({ isInvalid, isValid })}\n tooltip={triggerTooltip}\n isDisabled={isEditingDisabled || isReadOnly}\n autoFocus={autoFocus}\n aria-label={ariaLabel}\n mods={{ placeholder: !color }}\n styles={triggerStyles}\n >\n {label}\n </ItemButton>\n <Dialog\n aria-label=\"Color picker\"\n width=\"max-content\"\n styles={POPOVER_STYLES}\n >\n {/* Marks the subtree so a nested swatch group drops its custom-color\n escape hatch, which is a picker and would recurse forever. */}\n <ColorPopoverContext.Provider value={true}>\n <ColorPanel\n color={color ?? FALLBACK_COLOR}\n space={space}\n isDisabled={isEditingDisabled || isReadOnly}\n previewFormat={format}\n input={\n <ColorInput\n aria-label=\"Color value\"\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled}\n isReadOnly={isReadOnly}\n onChange={handleValueChange}\n />\n }\n swatches={\n swatches?.length ? (\n <ColorSwatchGroup\n aria-label=\"Palette\"\n styles={PALETTE_STYLES}\n colors={swatches}\n columns={swatchColumns}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled || isReadOnly}\n onChange={handleValueChange}\n />\n ) : null\n }\n onChange={handleColorChange}\n onSpaceChange={setSpace}\n />\n </ColorPopoverContext.Provider>\n </Dialog>\n </DialogTrigger>\n </ColorPickerWrapper>\n );\n\n return wrapWithField(pickerField, ref as any, props);\n});\n\n/**\n * Drives the legacy `<Field>` wiring: `Picker` validates on change and passes\n * the value through untouched, where `Text` would default to `onBlur` and\n * coerce `null` into an empty string.\n */\n(ColorPicker as any).cubeInputType = 'Picker';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,MAAMsC,iBAAyB,EAAEC,UAAU,QAAQ;;;;;;AAOnD,MAAMC,iBAAyB;CAC7BC,QAAQ;CACRC,SAAS;CACTC,OAAO;CACR;;AAGD,MAAMC,iBAA6B;CAAEC,GAAG;CAAKC,GAAG;CAAKC,GAAG;CAAK;AAE7D,MAAMC,qBAAqB1C,MAAM;CAC/B2C,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACNC,UAAU;EACVC,cAAc;EACdC,YAAY;EACd;CACD,CAAC;;;;;;AAoEF,MAAawB,cAAcvE,WAAW,SAASuE,YAC7CC,UACAC,KACA;CACA,MAAMC,QAAQ3D,cAAcyD,UAAU;EACpCG,0BAA0B;EAC1BC,mBAAmB,EAAE3B,OAAOE,gBAAgB;GACnCF;GACPE;GACD;EACF,CAAC;CAEF,MAAM,EACJV,IACAoC,IACA5B,OAAAA,SACAC,cACAC,UAAAA,YACAC,SAAS,OACTC,eAAe,OACfC,QAAQwB,gBACRvB,aACAC,cACAC,YACAC,WACAE,YAAY,gBACZC,UACAC,cAAc,gBACdC,MACAC,OAAO,WACPC,QAAQ,WACRC,gBACAC,UACAC,eACAC,eACAC,cACAS,YACAC,YACAC,WACAC,WACAC,SACAC,WACA,cAAcC,cACZX;CAEJ,MAAMhC,SAASjC,cAAciE,OAAO,CAAC,GAAG/E,cAAc,GAAGF,aAAa,CAAC;;;;;;CAOvE,MAAM6F,oBAAoBP,cAAcE;CAExC,MAAM,CAACM,OAAOC,YAAYnF,eACxBkB,YAAY0B,WAASC,gBAAgB,IAAIuC,UAAU,CACrD,CAAC;CACD,MAAM,CAACC,OAAOC,YAAYtF,SAAqBgD,aAAa;CAC5D,MAAM,CAACC,QAAQsC,WAAWvF,SAASkD,eAAe,MAAM;;CAGxD,MAAMsC,UAAUzF,OAAkC6C,QAAM;AAIxD9C,iBAAgB;AACd,MAAI8C,YAAU6C,UAAa7C,YAAU4C,QAAQE,QAAS;AAEtDF,UAAQE,UAAU9C;AAClBuC,WAASjE,YAAY0B,WAAS,IAAIwC,UAAU,CAAC,CAAC;IAC7C,CAACxC,QAAM,CAAC;CAEX,MAAM+C,oBAAoBzF,UAAU0F,SAAqB;EACvD,MAAMC,OAAO5E,YAAY2E,MAAM7C,OAAO;AAEtCyC,UAAQE,UAAUG;AAClBV,WAASS,KAAK;AACd9C,eAAW+C,KAAK;GAChB;CAEF,MAAMC,YAAYZ,QAAQjE,YAAYiE,OAAOnC,OAAO,GAAG;;;;;;CAOvD,MAAMgD,oBAAoB7F,UAAU0F,WAAwB;AAC1DJ,UAAQE,UAAUE;AAClBT,WAASS,SAAO1E,WAAW0E,OAAK,GAAG,KAAK;AACxC9C,eAAW8C,OAAK;GAChB;CAEF,MAAMI,mBAAmB9F,UAAU0F,WAAkB;AACnDL,UAAQK,OAAK;AACbzC,iBAAeyC,OAAK;GACpB;CAIF,MAAMK,QACJzC,aAAaiC,SACXjC,WACE0B,QACFjE,YAAYiE,OAAOnC,OAAO,GAI1B,oBAAC,MAAK,yBAAaU,cACpB;AAmFH,QAAO9C,cAhFL,oBAAC;EAA2B0B;YAC1B,qBAAC;GACC;GACA,MAAK;GACL,YAAW;GACAkB;GACAF;GACX,QAAQoB,kBAAkBxB;GACdG;GACZ,cAAc4C;cAEd,oBAAC;IACC;IACIxB;IACJ,IAAIpC,MAAM;IACV,mBAAgB;IACVuB;IACN,OAAOlD,mBAAmBmD,OAAO;KAAEiB;KAAWC;KAAS,CAAC;IAClDpB;IAGN,MACE,oBAAC;KAAY,MAAK;KAAewB;KAAO,QAAQjB;MAClD;IACA,WAAWzD,kBAAkB;KAAEqE;KAAWC;KAAS,CAAC;IACpD,SAASjB;IACT,YAAYoB,qBAAqBN;IACtBI;IACX,cAAYC;IACZ,MAAM,EAAEvB,aAAa,CAACyB,OAAO;IAC7B,QAAQlB;cAEPiC;KACS,EACZ,oBAAC;IACC,cAAW;IACX,OAAM;IACN,QAAQxE;cAIR,oBAAC,oBAAoB;KAAS,OAAO;eACnC,oBAAC;MACC,OAAOyD,SAASnD;MACTsD;MACP,YAAYJ,qBAAqBN;MACjC,eAAe5B;MACf,OACE,oBAAC;OACC,cAAW;OACHA;OACR,OAAO+C;OACP,YAAYb;OACAN;OACZ,UAAUoB;QAEd;MACA,UACEjC,UAAUqC,SACR,oBAAC;OACC,cAAW;OACX,QAAQxE;OACR,QAAQmC;OACR,SAASC;OACDhB;OACR,OAAO+C;OACP,YAAYb,qBAAqBN;OACjC,UAAUoB;QACV,GACA;MAEN,UAAUJ;MACV,eAAeL;OAAS;MAEE;KACxB;IACK;GAElB,EAEiClB,KAAYC,MAAM;EACpD;;;;;;AAOF,AAACH,YAAoBkC,gBAAgB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { parseColor, toHex } from "../color/color.js";
|
|
4
4
|
import { c } from "react-compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
4
4
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { getCaretRect } from "./caretPosition.js";
|
|
3
3
|
import { c } from "react-compiler-runtime";
|
|
4
4
|
import { useEffect, useLayoutEffect, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
|
|
@@ -4,7 +4,8 @@ import "../../../shared/index.js";
|
|
|
4
4
|
import { DateFieldBase } from "./types.js";
|
|
5
5
|
import { BaseProps, ContainerStyleProps, Styles } from "@tenphi/tasty";
|
|
6
6
|
import * as react from "react";
|
|
7
|
-
import {
|
|
7
|
+
import { RefObject } from "react";
|
|
8
|
+
import { AriaDatePickerProps, DateValue, Placement } from "react-aria";
|
|
8
9
|
import * as _react_types_shared0 from "@react-types/shared";
|
|
9
10
|
|
|
10
11
|
//#region src/components/fields/DatePicker/DatePicker.d.ts
|
|
@@ -16,6 +17,21 @@ interface CubeDatePickerProps<T extends DateValue = DateValue> extends Omit<Aria
|
|
|
16
17
|
size?: 'small' | 'medium' | 'large' | (string & {});
|
|
17
18
|
maxVisibleMonths?: number;
|
|
18
19
|
shouldFlip?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The ref of the element the popover should visually attach itself to.
|
|
22
|
+
* Defaults to the field wrapper.
|
|
23
|
+
*
|
|
24
|
+
* Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click
|
|
25
|
+
* dismissal treats as the trigger.
|
|
26
|
+
*/
|
|
27
|
+
targetRef?: RefObject<HTMLElement | null>;
|
|
28
|
+
/**
|
|
29
|
+
* Placement of the popover relative to the anchor.
|
|
30
|
+
* Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,
|
|
31
|
+
* `'top start'`, `'right top'`, `'left top'`).
|
|
32
|
+
* @default 'bottom right'
|
|
33
|
+
*/
|
|
34
|
+
placement?: Placement;
|
|
19
35
|
useLocale?: boolean;
|
|
20
36
|
}
|
|
21
37
|
declare const _DatePicker: react.ForwardRefExoticComponent<Omit<CubeDatePickerProps<DateValue>, "ref"> & react.RefAttributes<_react_types_shared0.FocusableRefValue<HTMLElement, HTMLElement>>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -22,7 +22,7 @@ import { useDatePickerState } from "react-stately";
|
|
|
22
22
|
|
|
23
23
|
//#region src/components/fields/DatePicker/DatePicker.tsx
|
|
24
24
|
function DatePicker(props, ref) {
|
|
25
|
-
const $ = c(
|
|
25
|
+
const $ = c(63);
|
|
26
26
|
const { t } = useI18n();
|
|
27
27
|
let t0;
|
|
28
28
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -90,35 +90,37 @@ function DatePicker(props, ref) {
|
|
|
90
90
|
const timeGranularity = state.granularity === "hour" || state.granularity === "minute" || state.granularity === "second" ? state.granularity : null;
|
|
91
91
|
const showTimeField = !!timeGranularity;
|
|
92
92
|
const t5 = qa || "DatePicker";
|
|
93
|
-
const t6 = props.
|
|
94
|
-
|
|
93
|
+
const t6 = props.placement ?? "bottom right";
|
|
94
|
+
const t7 = props.targetRef ?? targetRef;
|
|
95
|
+
const t8 = props.shouldFlip;
|
|
96
|
+
let t9;
|
|
95
97
|
if ($[11] !== buttonProps || $[12] !== focusPropsButton) {
|
|
96
|
-
|
|
98
|
+
t9 = mergeProps$1(buttonProps, focusPropsButton);
|
|
97
99
|
$[11] = buttonProps;
|
|
98
100
|
$[12] = focusPropsButton;
|
|
99
|
-
$[13] =
|
|
100
|
-
} else
|
|
101
|
-
let
|
|
102
|
-
if ($[14] !== isDisabled || $[15] !== size || $[16] !==
|
|
103
|
-
|
|
101
|
+
$[13] = t9;
|
|
102
|
+
} else t9 = $[13];
|
|
103
|
+
let t10;
|
|
104
|
+
if ($[14] !== isDisabled || $[15] !== size || $[16] !== t9) {
|
|
105
|
+
t10 = /* @__PURE__ */ jsx(DatePickerButton, {
|
|
104
106
|
size,
|
|
105
|
-
...
|
|
107
|
+
...t9,
|
|
106
108
|
isDisabled
|
|
107
109
|
});
|
|
108
110
|
$[14] = isDisabled;
|
|
109
111
|
$[15] = size;
|
|
110
|
-
$[16] =
|
|
111
|
-
$[17] =
|
|
112
|
-
} else
|
|
113
|
-
let
|
|
112
|
+
$[16] = t9;
|
|
113
|
+
$[17] = t10;
|
|
114
|
+
} else t10 = $[17];
|
|
115
|
+
let t11;
|
|
114
116
|
if ($[18] !== calendarProps) {
|
|
115
|
-
|
|
117
|
+
t11 = /* @__PURE__ */ jsx(_Calendar, { ...calendarProps });
|
|
116
118
|
$[18] = calendarProps;
|
|
117
|
-
$[19] =
|
|
118
|
-
} else
|
|
119
|
-
let
|
|
119
|
+
$[19] = t11;
|
|
120
|
+
} else t11 = $[19];
|
|
121
|
+
let t12;
|
|
120
122
|
if ($[20] !== props.hideTimeZone || $[21] !== props.hourCycle || $[22] !== showTimeField || $[23] !== state.setTimeValue || $[24] !== state.timeValue || $[25] !== t || $[26] !== timeGranularity || $[27] !== timeMaxValue || $[28] !== timeMinValue || $[29] !== timePlaceholder) {
|
|
121
|
-
|
|
123
|
+
t12 = showTimeField && /* @__PURE__ */ jsx(_TimeInput, {
|
|
122
124
|
padding: "1x",
|
|
123
125
|
label: t("datePicker.time", "Time"),
|
|
124
126
|
value: state.timeValue,
|
|
@@ -140,53 +142,55 @@ function DatePicker(props, ref) {
|
|
|
140
142
|
$[27] = timeMaxValue;
|
|
141
143
|
$[28] = timeMinValue;
|
|
142
144
|
$[29] = timePlaceholder;
|
|
143
|
-
$[30] =
|
|
144
|
-
} else
|
|
145
|
-
let
|
|
146
|
-
if ($[31] !== dialogProps || $[32] !==
|
|
147
|
-
|
|
145
|
+
$[30] = t12;
|
|
146
|
+
} else t12 = $[30];
|
|
147
|
+
let t13;
|
|
148
|
+
if ($[31] !== dialogProps || $[32] !== t11 || $[33] !== t12) {
|
|
149
|
+
t13 = /* @__PURE__ */ jsxs(Dialog, {
|
|
148
150
|
...dialogProps,
|
|
149
151
|
width: "max-content",
|
|
150
|
-
children: [
|
|
152
|
+
children: [t11, t12]
|
|
151
153
|
});
|
|
152
154
|
$[31] = dialogProps;
|
|
153
|
-
$[32] =
|
|
154
|
-
$[33] =
|
|
155
|
-
$[34] =
|
|
156
|
-
} else
|
|
157
|
-
let
|
|
158
|
-
if ($[35] !== isOpen || $[36] !== props.shouldFlip || $[37] !== setOpen || $[38] !==
|
|
159
|
-
|
|
155
|
+
$[32] = t11;
|
|
156
|
+
$[33] = t12;
|
|
157
|
+
$[34] = t13;
|
|
158
|
+
} else t13 = $[34];
|
|
159
|
+
let t14;
|
|
160
|
+
if ($[35] !== isOpen || $[36] !== props.shouldFlip || $[37] !== setOpen || $[38] !== t10 || $[39] !== t13 || $[40] !== t6 || $[41] !== t7) {
|
|
161
|
+
t14 = /* @__PURE__ */ jsxs(DialogTrigger, {
|
|
160
162
|
hideArrow: true,
|
|
161
163
|
type: "popover",
|
|
162
164
|
mobileType: "tray",
|
|
163
|
-
placement:
|
|
164
|
-
targetRef,
|
|
165
|
+
placement: t6,
|
|
166
|
+
targetRef: t7,
|
|
165
167
|
isOpen,
|
|
166
|
-
shouldFlip:
|
|
168
|
+
shouldFlip: t8,
|
|
167
169
|
onOpenChange: setOpen,
|
|
168
|
-
children: [
|
|
170
|
+
children: [t10, t13]
|
|
169
171
|
});
|
|
170
172
|
$[35] = isOpen;
|
|
171
173
|
$[36] = props.shouldFlip;
|
|
172
174
|
$[37] = setOpen;
|
|
173
|
-
$[38] =
|
|
174
|
-
$[39] =
|
|
175
|
-
$[40] =
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
175
|
+
$[38] = t10;
|
|
176
|
+
$[39] = t13;
|
|
177
|
+
$[40] = t6;
|
|
178
|
+
$[41] = t7;
|
|
179
|
+
$[42] = t14;
|
|
180
|
+
} else t14 = $[42];
|
|
181
|
+
let t15;
|
|
182
|
+
if ($[43] !== fieldProps || $[44] !== useLocaleProp) {
|
|
183
|
+
t15 = /* @__PURE__ */ jsx(DatePickerInput, {
|
|
180
184
|
useLocale: useLocaleProp,
|
|
181
185
|
...fieldProps
|
|
182
186
|
});
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
185
|
-
$[
|
|
186
|
-
} else
|
|
187
|
-
let
|
|
188
|
-
if ($[
|
|
189
|
-
|
|
187
|
+
$[43] = fieldProps;
|
|
188
|
+
$[44] = useLocaleProp;
|
|
189
|
+
$[45] = t15;
|
|
190
|
+
} else t15 = $[45];
|
|
191
|
+
let t16;
|
|
192
|
+
if ($[46] !== focusProps || $[47] !== groupProps || $[48] !== isDisabled || $[49] !== isFocusedButton || $[50] !== isInvalid || $[51] !== isValid || $[52] !== size || $[53] !== styles || $[54] !== t14 || $[55] !== t15 || $[56] !== t5) {
|
|
193
|
+
t16 = /* @__PURE__ */ jsx(_DateInputBase, {
|
|
190
194
|
ref: targetRef,
|
|
191
195
|
qa: t5,
|
|
192
196
|
inputType: "datepicker",
|
|
@@ -198,36 +202,36 @@ function DatePicker(props, ref) {
|
|
|
198
202
|
size,
|
|
199
203
|
fieldProps: groupProps,
|
|
200
204
|
...focusProps,
|
|
201
|
-
suffix:
|
|
202
|
-
children:
|
|
205
|
+
suffix: t14,
|
|
206
|
+
children: t15
|
|
203
207
|
});
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
213
|
-
$[
|
|
214
|
-
$[
|
|
215
|
-
$[
|
|
216
|
-
} else
|
|
217
|
-
const component =
|
|
218
|
-
let
|
|
219
|
-
if ($[
|
|
220
|
-
|
|
208
|
+
$[46] = focusProps;
|
|
209
|
+
$[47] = groupProps;
|
|
210
|
+
$[48] = isDisabled;
|
|
211
|
+
$[49] = isFocusedButton;
|
|
212
|
+
$[50] = isInvalid;
|
|
213
|
+
$[51] = isValid;
|
|
214
|
+
$[52] = size;
|
|
215
|
+
$[53] = styles;
|
|
216
|
+
$[54] = t14;
|
|
217
|
+
$[55] = t15;
|
|
218
|
+
$[56] = t5;
|
|
219
|
+
$[57] = t16;
|
|
220
|
+
} else t16 = $[57];
|
|
221
|
+
const component = t16;
|
|
222
|
+
let t17;
|
|
223
|
+
if ($[58] !== component || $[59] !== domRef || $[60] !== labelProps || $[61] !== props) {
|
|
224
|
+
t17 = wrapWithField(component, domRef, {
|
|
221
225
|
...props,
|
|
222
226
|
labelProps: mergeProps$1(props.labelProps, labelProps)
|
|
223
227
|
});
|
|
224
|
-
$[
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
} else
|
|
230
|
-
return
|
|
228
|
+
$[58] = component;
|
|
229
|
+
$[59] = domRef;
|
|
230
|
+
$[60] = labelProps;
|
|
231
|
+
$[61] = props;
|
|
232
|
+
$[62] = t17;
|
|
233
|
+
} else t17 = $[62];
|
|
234
|
+
return t17;
|
|
231
235
|
}
|
|
232
236
|
const _DatePicker = forwardRef(DatePicker);
|
|
233
237
|
_DatePicker.displayName = "DatePicker";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["FocusableRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","forwardRef","useRef","AriaDatePickerProps","DateValue","useDatePicker","useFocusRing","useDatePickerState","useI18n","FieldBaseProps","mergeProps","extractStyles","useFieldProps","wrapWithField","Calendar","Dialog","DialogTrigger","DateInputBase","DatePickerButton","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","CubeDatePickerProps","Omit","T","wrapperStyles","inputStyles","triggerStyles","styles","size","maxVisibleMonths","shouldFlip","useLocale","DatePicker","props","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","t1","Object","assign","t2","qa","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","targetRef","state","shouldCloseOnSelect","hasTime","isOpen","setOpen","domRef","t3","within","isTextInput","focusProps","t4","isFocused","isFocusedButton","focusPropsButton","groupProps","labelProps","fieldProps","buttonProps","dialogProps","calendarProps","placeholder","timePlaceholder","undefined","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","t5","t6","t7","t8","t9","t10","hideTimeZone","hourCycle","setTimeValue","timeValue","t11","t12","t13","t14","component","t15","_DatePicker","displayName"],"sources":["../../../../src/components/fields/DatePicker/DatePicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport {\n AriaDatePickerProps,\n DateValue,\n useDatePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDatePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport { Calendar } from '../../other/Calendar/Calendar';\nimport { Dialog, DialogTrigger } from '../../overlays/Dialog';\n\nimport { DateInputBase } from './DateInputBase';\nimport { DatePickerButton } from './DatePickerButton';\nimport { DatePickerInput } from './DatePickerInput';\nimport { DEFAULT_DATE_PROPS } from './props';\nimport { TimeInput } from './TimeInput';\nimport { DateFieldBase } from './types';\nimport { useFocusManagerRef } from './utils';\n\nexport interface CubeDatePickerProps<T extends DateValue = DateValue>\n extends Omit<AriaDatePickerProps<T>, 'errorMessage' | 'form' | 'name'>,\n DateFieldBase<T>,\n BaseProps,\n ContainerStyleProps,\n FieldBaseProps<T | null | undefined> {\n wrapperStyles?: Styles;\n inputStyles?: Styles;\n triggerStyles?: Styles;\n styles?: Styles;\n size?: 'small' | 'medium' | 'large' | (string & {});\n maxVisibleMonths?: number;\n shouldFlip?: boolean;\n useLocale?: boolean;\n}\n\nfunction DatePicker<T extends DateValue>(\n props: CubeDatePickerProps<T>,\n ref: FocusableRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n });\n props = Object.assign({}, DEFAULT_DATE_PROPS, props);\n\n // The public type declares `ContainerStyleProps` and `styles`, so both have to\n // reach the root — before this they were extracted and dropped, which made\n // `width=\"100%\"` type-check and do nothing. `extractStyles` already folds in\n // `props.styles` and lets the individual style props override it, which is the\n // precedence every other component uses; re-spreading `props.styles` here\n // would invert it. `wrapperStyles` stays the most specific and keeps winning.\n let styles: Styles = {\n ...extractStyles(props, CONTAINER_STYLES),\n ...props.wrapperStyles,\n };\n\n let {\n qa,\n size,\n placeholderValue,\n isDisabled,\n isInvalid,\n isValid,\n useLocale: useLocaleProp,\n autoFocus,\n } = props;\n let targetRef = useRef<HTMLDivElement>(null);\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime,\n });\n let { isOpen, setOpen } = state;\n\n let domRef = useFocusManagerRef(ref);\n\n let { isFocused, focusProps } = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n\n let { isFocused: isFocusedButton, focusProps: focusPropsButton } =\n useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n\n let {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDatePicker(props, state, targetRef);\n\n let placeholder: DateValue | undefined = placeholderValue;\n let timePlaceholder =\n placeholder && 'hour' in placeholder ? placeholder : undefined;\n let timeMinValue =\n props.minValue && 'hour' in props.minValue ? props.minValue : undefined;\n let timeMaxValue =\n props.maxValue && 'hour' in props.maxValue ? props.maxValue : undefined;\n let timeGranularity =\n state.granularity === 'hour' ||\n state.granularity === 'minute' ||\n state.granularity === 'second'\n ? state.granularity\n : null;\n let showTimeField = !!timeGranularity;\n // let visibleMonths = useVisibleMonths(maxVisibleMonths);\n\n const component = (\n <DateInputBase\n ref={targetRef}\n qa={qa || 'DatePicker'}\n inputType=\"datepicker\"\n styles={styles}\n disableFocusRing={isFocusedButton}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n fieldProps={groupProps}\n {...focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n mobileType=\"tray\"\n placement=\"bottom right\"\n targetRef={targetRef}\n isOpen={isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(buttonProps, focusPropsButton)}\n isDisabled={isDisabled}\n />\n <Dialog {...dialogProps} width=\"max-content\">\n <Calendar {...calendarProps} />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={state.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={state.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...fieldProps} />\n </DateInputBase>\n );\n\n return wrapWithField(component, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DatePicker = forwardRef(DatePicker);\n\n_DatePicker.displayName = 'DatePicker';\n\nexport { _DatePicker as DatePicker };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["FocusableRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","forwardRef","RefObject","useRef","AriaDatePickerProps","DateValue","Placement","useDatePicker","useFocusRing","useDatePickerState","useI18n","FieldBaseProps","mergeProps","extractStyles","useFieldProps","wrapWithField","Calendar","Dialog","DialogTrigger","DateInputBase","DatePickerButton","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","CubeDatePickerProps","Omit","T","wrapperStyles","inputStyles","triggerStyles","styles","size","maxVisibleMonths","shouldFlip","targetRef","HTMLElement","placement","useLocale","DatePicker","props","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","t1","Object","assign","t2","qa","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","state","shouldCloseOnSelect","hasTime","isOpen","setOpen","domRef","t3","within","isTextInput","focusProps","t4","isFocused","isFocusedButton","focusPropsButton","groupProps","labelProps","fieldProps","buttonProps","dialogProps","calendarProps","placeholder","timePlaceholder","undefined","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","t5","t6","t7","t8","t9","t10","t11","t12","hideTimeZone","hourCycle","setTimeValue","timeValue","t13","t14","t15","t16","component","t17","_DatePicker","displayName"],"sources":["../../../../src/components/fields/DatePicker/DatePicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n} from '@tenphi/tasty';\nimport { forwardRef, RefObject, useRef } from 'react';\nimport {\n AriaDatePickerProps,\n DateValue,\n Placement,\n useDatePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDatePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport { Calendar } from '../../other/Calendar/Calendar';\nimport { Dialog, DialogTrigger } from '../../overlays/Dialog';\n\nimport { DateInputBase } from './DateInputBase';\nimport { DatePickerButton } from './DatePickerButton';\nimport { DatePickerInput } from './DatePickerInput';\nimport { DEFAULT_DATE_PROPS } from './props';\nimport { TimeInput } from './TimeInput';\nimport { DateFieldBase } from './types';\nimport { useFocusManagerRef } from './utils';\n\nexport interface CubeDatePickerProps<T extends DateValue = DateValue>\n extends Omit<AriaDatePickerProps<T>, 'errorMessage' | 'form' | 'name'>,\n DateFieldBase<T>,\n BaseProps,\n ContainerStyleProps,\n FieldBaseProps<T | null | undefined> {\n wrapperStyles?: Styles;\n inputStyles?: Styles;\n triggerStyles?: Styles;\n styles?: Styles;\n size?: 'small' | 'medium' | 'large' | (string & {});\n maxVisibleMonths?: number;\n shouldFlip?: boolean;\n /**\n * The ref of the element the popover should visually attach itself to.\n * Defaults to the field wrapper.\n *\n * Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click\n * dismissal treats as the trigger.\n */\n targetRef?: RefObject<HTMLElement | null>;\n /**\n * Placement of the popover relative to the anchor.\n * Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,\n * `'top start'`, `'right top'`, `'left top'`).\n * @default 'bottom right'\n */\n placement?: Placement;\n useLocale?: boolean;\n}\n\nfunction DatePicker<T extends DateValue>(\n props: CubeDatePickerProps<T>,\n ref: FocusableRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n });\n props = Object.assign({}, DEFAULT_DATE_PROPS, props);\n\n // The public type declares `ContainerStyleProps` and `styles`, so both have to\n // reach the root — before this they were extracted and dropped, which made\n // `width=\"100%\"` type-check and do nothing. `extractStyles` already folds in\n // `props.styles` and lets the individual style props override it, which is the\n // precedence every other component uses; re-spreading `props.styles` here\n // would invert it. `wrapperStyles` stays the most specific and keeps winning.\n let styles: Styles = {\n ...extractStyles(props, CONTAINER_STYLES),\n ...props.wrapperStyles,\n };\n\n let {\n qa,\n size,\n placeholderValue,\n isDisabled,\n isInvalid,\n isValid,\n useLocale: useLocaleProp,\n autoFocus,\n } = props;\n let targetRef = useRef<HTMLDivElement>(null);\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime,\n });\n let { isOpen, setOpen } = state;\n\n let domRef = useFocusManagerRef(ref);\n\n let { isFocused, focusProps } = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n\n let { isFocused: isFocusedButton, focusProps: focusPropsButton } =\n useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n\n let {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDatePicker(props, state, targetRef);\n\n let placeholder: DateValue | undefined = placeholderValue;\n let timePlaceholder =\n placeholder && 'hour' in placeholder ? placeholder : undefined;\n let timeMinValue =\n props.minValue && 'hour' in props.minValue ? props.minValue : undefined;\n let timeMaxValue =\n props.maxValue && 'hour' in props.maxValue ? props.maxValue : undefined;\n let timeGranularity =\n state.granularity === 'hour' ||\n state.granularity === 'minute' ||\n state.granularity === 'second'\n ? state.granularity\n : null;\n let showTimeField = !!timeGranularity;\n // let visibleMonths = useVisibleMonths(maxVisibleMonths);\n\n const component = (\n <DateInputBase\n ref={targetRef}\n qa={qa || 'DatePicker'}\n inputType=\"datepicker\"\n styles={styles}\n disableFocusRing={isFocusedButton}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n fieldProps={groupProps}\n {...focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n mobileType=\"tray\"\n placement={props.placement ?? 'bottom right'}\n targetRef={props.targetRef ?? targetRef}\n isOpen={isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(buttonProps, focusPropsButton)}\n isDisabled={isDisabled}\n />\n <Dialog {...dialogProps} width=\"max-content\">\n <Calendar {...calendarProps} />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={state.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={state.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...fieldProps} />\n </DateInputBase>\n );\n\n return wrapWithField(component, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DatePicker = forwardRef(DatePicker);\n\n_DatePicker.displayName = 'DatePicker';\n\nexport { _DatePicker as DatePicker };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { ItemActionProvider } from "../../actions/ItemActionContext.js";
|
|
3
3
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
4
4
|
import { CalendarIcon } from "../../../icons/CalendarIcon.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { DatePickerSegment } from "./DatePickerSegment.js";
|
|
4
4
|
import { formatSegments } from "./utils.js";
|
|
@@ -3,8 +3,8 @@ import { FieldBaseProps } from "../../../shared/form.js";
|
|
|
3
3
|
import "../../../shared/index.js";
|
|
4
4
|
import { DateFieldBase } from "./types.js";
|
|
5
5
|
import { BaseProps, ContainerStyleProps, Styles } from "@tenphi/tasty";
|
|
6
|
-
import { ReactElement, Ref } from "react";
|
|
7
|
-
import { AriaDateRangePickerProps, DateValue } from "react-aria";
|
|
6
|
+
import { ReactElement, Ref, RefObject } from "react";
|
|
7
|
+
import { AriaDateRangePickerProps, DateValue, Placement } from "react-aria";
|
|
8
8
|
|
|
9
9
|
//#region src/components/fields/DatePicker/DateRangePicker.d.ts
|
|
10
10
|
interface CubeDateRangePickerProps<T extends DateValue = DateValue> extends Omit<AriaDateRangePickerProps<T>, 'errorMessage' | 'form' | 'name'>, BaseProps, DateFieldBase<T>, ContainerStyleProps, FieldBaseProps<{
|
|
@@ -17,6 +17,21 @@ interface CubeDateRangePickerProps<T extends DateValue = DateValue> extends Omit
|
|
|
17
17
|
size?: 'small' | 'medium' | 'large' | (string & {});
|
|
18
18
|
maxVisibleMonths?: number;
|
|
19
19
|
shouldFlip?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The ref of the element the popover should visually attach itself to.
|
|
22
|
+
* Defaults to the field wrapper.
|
|
23
|
+
*
|
|
24
|
+
* Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click
|
|
25
|
+
* dismissal treats as the trigger.
|
|
26
|
+
*/
|
|
27
|
+
targetRef?: RefObject<HTMLElement | null>;
|
|
28
|
+
/**
|
|
29
|
+
* Placement of the popover relative to the anchor.
|
|
30
|
+
* Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,
|
|
31
|
+
* `'top start'`, `'right top'`, `'left top'`).
|
|
32
|
+
* @default 'bottom right'
|
|
33
|
+
*/
|
|
34
|
+
placement?: Placement;
|
|
20
35
|
useLocale?: boolean;
|
|
21
36
|
}
|
|
22
37
|
declare const _DateRangePicker: <T extends DateValue = DateValue>(props: CubeDateRangePickerProps<T> & {
|