@cube-dev/ui-kit 0.204.0 → 0.206.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 +36 -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/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +221 -132
- package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider/Divider.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 +2 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +3 -2
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +8 -2
- package/dist/components/content/PrismCode/prismSetup.js.map +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.d.ts +5 -2
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/TextItem/TextItem.js.map +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/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.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 +114 -72
- 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/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +21 -20
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +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/ComboBox/comboBoxOptions.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/CalendarPopover.js +281 -0
- package/dist/components/fields/DatePicker/CalendarPopover.js.map +1 -0
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +26 -24
- 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 +4 -2
- package/dist/components/fields/DatePicker/DatePickerElement.js.map +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 +10 -0
- package/dist/components/fields/DatePicker/DateRangePicker.js +143 -65
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +172 -165
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +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/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +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.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +108 -118
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +10 -12
- 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.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +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/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +198 -174
- package/dist/components/form/Form/ModernFormRoot.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/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 +18 -3
- package/dist/components/form/Form/modern/store.js.map +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +190 -187
- 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 +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -1
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/segmented-styles.js +53 -0
- package/dist/components/navigation/Tabs/segmented-styles.js.map +1 -0
- package/dist/components/navigation/Tabs/styled.js +15 -28
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +4 -4
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/types.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.d.ts +3 -3
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +4 -4
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +101 -123
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/context.js.map +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +60 -51
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +6 -3
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +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/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +2 -2
- package/dist/components/status/Spin/Cube.js.map +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 +70 -70
- 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 +3 -2
- package/dist/i18n/locales/en-US/uikit.js +3 -2
- package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
- package/dist/i18n/locales/es-ES/uikit.js +3 -2
- package/dist/i18n/locales/es-MX/uikit.js +3 -2
- package/dist/i18n/locales/fr-FR/uikit.js +3 -2
- package/dist/i18n/locales/it-IT/uikit.js +3 -2
- package/dist/i18n/locales/ja-JP/uikit.js +3 -2
- package/dist/i18n/locales/nb-NO/uikit.js +3 -2
- package/dist/i18n/locales/pt-BR/uikit.js +3 -2
- package/dist/i18n/locales/pt-PT/uikit.js +3 -2
- package/dist/i18n/locales/sv-SE/uikit.js +3 -2
- package/dist/i18n/locales/vi-VN/uikit.js +3 -2
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.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/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +7 -5
- package/dist/utils/react/useScheme.js.map +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 +3 -3
- package/docs/Theming.md +1 -1
- package/docs/Usage.md +26 -0
- package/docs/components/content/Item.md +1 -1
- package/docs/components/content/TextItem.md +13 -1
- package/docs/components/data/ItemTable.md +1 -1
- package/docs/components/fields/RadioGroup.md +5 -4
- package/docs/components/form/Form.md +2 -0
- package/docs/components/form/ModernForm.md +5 -1
- package/docs/components/navigation/Tabs.md +5 -3
- package/docs/components/overlays/DialogContainer.md +1 -1
- package/docs/components/overlays/DialogTrigger.md +2 -2
- package/docs/components/overlays/Notifications.md +17 -0
- package/docs/components/overlays/Toast.md +1 -1
- package/docs/modern-form-guide.md +5 -1
- package/docs/tasty/ai-agents.md +3 -2
- package/docs/tasty/dsl.md +52 -0
- package/docs/tasty/styles.md +27 -15
- package/package.json +5 -3
- package/tasty.config.generated.ts +526 -0
- package/tasty.config.ts +29 -422
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
|
+
import { mergeStyleLayers } from "../../../utils/styles.js";
|
|
2
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
5
|
import { Space } from "../../layout/Space.js";
|
|
@@ -14,10 +15,11 @@ import { TimeInput as _TimeInput } from "./TimeInput.js";
|
|
|
14
15
|
import { DatePickerButton } from "./DatePickerButton.js";
|
|
15
16
|
import { DatePickerInput } from "./DatePickerInput.js";
|
|
16
17
|
import { RangeCalendar as _RangeCalendar } from "../../other/Calendar/RangeCalendar.js";
|
|
18
|
+
import { CalendarPopover, useFieldCalendar } from "./CalendarPopover.js";
|
|
17
19
|
import { c } from "react/compiler-runtime";
|
|
18
20
|
import { tasty } from "@tenphi/tasty";
|
|
19
|
-
import { forwardRef, useRef } from "react";
|
|
20
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
+
import { forwardRef, useId, useRef, useState } from "react";
|
|
22
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
21
23
|
import { useDateRangePicker, useFocusRing } from "react-aria";
|
|
22
24
|
import { useDateRangePickerState } from "react-stately";
|
|
23
25
|
//#region src/components/fields/DatePicker/DateRangePicker.tsx
|
|
@@ -27,8 +29,25 @@ const DateRangeDash = tasty({
|
|
|
27
29
|
children: "–",
|
|
28
30
|
styles: { padding: "0 .5x" }
|
|
29
31
|
});
|
|
32
|
+
const DateRangeRow = tasty({
|
|
33
|
+
role: "presentation",
|
|
34
|
+
styles: {
|
|
35
|
+
display: "flex",
|
|
36
|
+
placeItems: "center start",
|
|
37
|
+
height: "($size - 2bw)"
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const WRAPPER_STYLES = {
|
|
41
|
+
minWidth: "min-content",
|
|
42
|
+
height: "min $size",
|
|
43
|
+
Suffix: { height: "($size - 2bw)" }
|
|
44
|
+
};
|
|
45
|
+
const INPUT_STYLES = {
|
|
46
|
+
flow: "row wrap",
|
|
47
|
+
height: "auto"
|
|
48
|
+
};
|
|
30
49
|
function DateRangePicker(rawProps, ref) {
|
|
31
|
-
const $ = c(
|
|
50
|
+
const $ = c(11);
|
|
32
51
|
const { t } = useI18n();
|
|
33
52
|
let t0;
|
|
34
53
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -37,13 +56,21 @@ function DateRangePicker(rawProps, ref) {
|
|
|
37
56
|
} else t0 = $[0];
|
|
38
57
|
let props = useFieldProps(rawProps, t0);
|
|
39
58
|
props = Object.assign({}, DEFAULT_DATE_PROPS, props);
|
|
40
|
-
const fieldLayout = splitFieldLayout(props, {
|
|
59
|
+
const fieldLayout = splitFieldLayout(props, {
|
|
60
|
+
defaultStyles: WRAPPER_STYLES,
|
|
61
|
+
overStyles: props.wrapperStyles
|
|
62
|
+
});
|
|
41
63
|
const styles = fieldLayout.styles;
|
|
42
|
-
const { qa, size, shouldFlip, targetRef: targetRefProp, placement: t1, placeholderValue, isDisabled, isInvalid, isValid, useLocale: useLocaleProp, autoFocus } = props;
|
|
64
|
+
const { qa, size, shouldFlip, targetRef: targetRefProp, placement: t1, placeholderValue, isDisabled, isInvalid, isValid, useLocale: useLocaleProp, autoFocus, hideTrigger } = props;
|
|
43
65
|
const placement = t1 === void 0 ? "bottom right" : t1;
|
|
44
66
|
const targetRef = useRef(null);
|
|
45
67
|
let state = useDateRangePickerState({
|
|
46
68
|
...props,
|
|
69
|
+
...hideTrigger && {
|
|
70
|
+
isOpen: false,
|
|
71
|
+
defaultOpen: false,
|
|
72
|
+
onOpenChange: void 0
|
|
73
|
+
},
|
|
47
74
|
shouldCloseOnSelect: () => !state.hasTime
|
|
48
75
|
});
|
|
49
76
|
const { isOpen, setOpen } = state;
|
|
@@ -59,32 +86,37 @@ function DateRangePicker(rawProps, ref) {
|
|
|
59
86
|
});
|
|
60
87
|
const domRef = useRef(null);
|
|
61
88
|
useFocusManagerRef(ref, domRef);
|
|
62
|
-
const { groupProps, labelProps, startFieldProps, endFieldProps, buttonProps, dialogProps, calendarProps } = useDateRangePicker(props, state, targetRef);
|
|
89
|
+
const { groupProps, labelProps, startFieldProps, endFieldProps, buttonProps, dialogProps, calendarProps } = useDateRangePicker(props, state, hideTrigger ? domRef : targetRef);
|
|
90
|
+
const [typedDate, setTypedDate] = useState(null);
|
|
91
|
+
const hintId = useId();
|
|
92
|
+
const { isOpen: isCalendarOpen, shouldFocusCalendar, close: closeCalendar, fieldProps: calendarFieldProps, popoverRef, calendarRef } = useFieldCalendar({
|
|
93
|
+
fieldRef: domRef,
|
|
94
|
+
isDisabled,
|
|
95
|
+
isReadOnly: props.isReadOnly,
|
|
96
|
+
isOpen: props.isOpen,
|
|
97
|
+
defaultOpen: props.defaultOpen,
|
|
98
|
+
onOpenChange(open) {
|
|
99
|
+
if (!open) {
|
|
100
|
+
setTypedDate(null);
|
|
101
|
+
setOpen(false);
|
|
102
|
+
}
|
|
103
|
+
props.onOpenChange?.(open);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const withCalendarFromField = (fieldProps) => hideTrigger ? {
|
|
107
|
+
...fieldProps,
|
|
108
|
+
"aria-describedby": [fieldProps["aria-describedby"], hintId].filter(Boolean).join(" "),
|
|
109
|
+
onChange(value) {
|
|
110
|
+
fieldProps.onChange?.(value);
|
|
111
|
+
if (value) setTypedDate(value);
|
|
112
|
+
}
|
|
113
|
+
} : fieldProps;
|
|
63
114
|
const placeholder = placeholderValue ?? void 0;
|
|
64
115
|
const timePlaceholder = placeholder && "hour" in placeholder ? placeholder : void 0;
|
|
65
116
|
const timeMinValue = props.minValue && "hour" in props.minValue ? props.minValue : void 0;
|
|
66
117
|
const timeMaxValue = props.maxValue && "hour" in props.maxValue ? props.maxValue : void 0;
|
|
67
118
|
const timeGranularity = state.granularity === "hour" || state.granularity === "minute" || state.granularity === "second" ? state.granularity : null;
|
|
68
|
-
const
|
|
69
|
-
const t2 = props.isReadOnly;
|
|
70
|
-
let t3;
|
|
71
|
-
if ($[1] !== buttonProps || $[2] !== focusPropsButton) {
|
|
72
|
-
t3 = mergeProps$1(buttonProps, focusPropsButton);
|
|
73
|
-
$[1] = buttonProps;
|
|
74
|
-
$[2] = focusPropsButton;
|
|
75
|
-
$[3] = t3;
|
|
76
|
-
} else t3 = $[3];
|
|
77
|
-
let t4;
|
|
78
|
-
if ($[4] !== calendarProps || $[5] !== props) {
|
|
79
|
-
t4 = /* @__PURE__ */ jsx(_RangeCalendar, {
|
|
80
|
-
...calendarProps,
|
|
81
|
-
isDateUnavailable: props.isDateUnavailable
|
|
82
|
-
});
|
|
83
|
-
$[4] = calendarProps;
|
|
84
|
-
$[5] = props;
|
|
85
|
-
$[6] = t4;
|
|
86
|
-
} else t4 = $[6];
|
|
87
|
-
const t5 = showTimeField && /* @__PURE__ */ jsxs(Space, { children: [/* @__PURE__ */ jsx(_TimeInput, {
|
|
119
|
+
const timeFields = !!timeGranularity && /* @__PURE__ */ jsxs(Space, { children: [/* @__PURE__ */ jsx(_TimeInput, {
|
|
88
120
|
label: t("datePicker.startTime", "Start time"),
|
|
89
121
|
value: state.timeRange?.start || null,
|
|
90
122
|
placeholderValue: timePlaceholder,
|
|
@@ -105,50 +137,57 @@ function DateRangePicker(rawProps, ref) {
|
|
|
105
137
|
hideTimeZone: props.hideTimeZone,
|
|
106
138
|
onChange: (v_0) => state.setTime("end", v_0)
|
|
107
139
|
})] });
|
|
140
|
+
const t2 = mergeStyleLayers(INPUT_STYLES, props.inputStyles);
|
|
141
|
+
const t3 = props.isReadOnly;
|
|
142
|
+
let t4;
|
|
143
|
+
if ($[1] !== startFieldProps || $[2] !== withCalendarFromField) {
|
|
144
|
+
t4 = withCalendarFromField(startFieldProps);
|
|
145
|
+
$[1] = startFieldProps;
|
|
146
|
+
$[2] = withCalendarFromField;
|
|
147
|
+
$[3] = t4;
|
|
148
|
+
} else t4 = $[3];
|
|
149
|
+
let t5;
|
|
150
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
151
|
+
t5 = /* @__PURE__ */ jsx(DateRangeDash, {});
|
|
152
|
+
$[4] = t5;
|
|
153
|
+
} else t5 = $[4];
|
|
108
154
|
let t6;
|
|
109
|
-
if ($[
|
|
110
|
-
t6 =
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
});
|
|
116
|
-
$[7] = dialogProps;
|
|
117
|
-
$[8] = t4;
|
|
118
|
-
$[9] = t5;
|
|
119
|
-
$[10] = t6;
|
|
120
|
-
} else t6 = $[10];
|
|
155
|
+
if ($[5] !== endFieldProps || $[6] !== withCalendarFromField) {
|
|
156
|
+
t6 = withCalendarFromField(endFieldProps);
|
|
157
|
+
$[5] = endFieldProps;
|
|
158
|
+
$[6] = withCalendarFromField;
|
|
159
|
+
$[7] = t6;
|
|
160
|
+
} else t6 = $[7];
|
|
121
161
|
let t7;
|
|
122
|
-
if ($[
|
|
123
|
-
t7 = /* @__PURE__ */ jsx(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
useLocale: useLocaleProp,
|
|
130
|
-
...endFieldProps
|
|
162
|
+
if ($[8] !== t6 || $[9] !== useLocaleProp) {
|
|
163
|
+
t7 = /* @__PURE__ */ jsx(DateRangeRow, {
|
|
164
|
+
qa: "DateRangeEnd",
|
|
165
|
+
children: /* @__PURE__ */ jsx(DatePickerInput, {
|
|
166
|
+
useLocale: useLocaleProp,
|
|
167
|
+
...t6
|
|
168
|
+
})
|
|
131
169
|
});
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
} else
|
|
136
|
-
const
|
|
170
|
+
$[8] = t6;
|
|
171
|
+
$[9] = useLocaleProp;
|
|
172
|
+
$[10] = t7;
|
|
173
|
+
} else t7 = $[10];
|
|
174
|
+
const field = /* @__PURE__ */ jsxs(_DateInputBase, {
|
|
137
175
|
ref: targetRef,
|
|
138
176
|
wrapperRef: domRef,
|
|
139
177
|
qa: qa || "DateRangePicker",
|
|
140
178
|
inputType: "daterangepicker",
|
|
141
179
|
autoFocus,
|
|
142
180
|
styles,
|
|
181
|
+
inputStyles: t2,
|
|
143
182
|
disableFocusRing: isFocusedButton,
|
|
144
183
|
isDisabled,
|
|
145
|
-
isReadOnly:
|
|
184
|
+
isReadOnly: t3,
|
|
146
185
|
isInvalid,
|
|
147
186
|
isValid,
|
|
148
187
|
size,
|
|
149
|
-
fieldProps: groupProps,
|
|
188
|
+
fieldProps: hideTrigger ? mergeProps$1(groupProps, calendarFieldProps) : groupProps,
|
|
150
189
|
...focusProps,
|
|
151
|
-
suffix: /* @__PURE__ */ jsxs(DialogTrigger, {
|
|
190
|
+
suffix: hideTrigger ? null : /* @__PURE__ */ jsxs(DialogTrigger, {
|
|
152
191
|
hideArrow: true,
|
|
153
192
|
type: "popover",
|
|
154
193
|
placement,
|
|
@@ -158,19 +197,58 @@ function DateRangePicker(rawProps, ref) {
|
|
|
158
197
|
onOpenChange: setOpen,
|
|
159
198
|
children: [/* @__PURE__ */ jsx(DatePickerButton, {
|
|
160
199
|
size,
|
|
161
|
-
...
|
|
200
|
+
...mergeProps$1(buttonProps, focusPropsButton),
|
|
162
201
|
isDisabled
|
|
163
|
-
}),
|
|
202
|
+
}), /* @__PURE__ */ jsxs(Dialog, {
|
|
203
|
+
...dialogProps,
|
|
204
|
+
width: "max-content",
|
|
205
|
+
overflow: "auto",
|
|
206
|
+
children: [/* @__PURE__ */ jsx(_RangeCalendar, {
|
|
207
|
+
...calendarProps,
|
|
208
|
+
isDateUnavailable: props.isDateUnavailable
|
|
209
|
+
}), timeFields]
|
|
210
|
+
})]
|
|
164
211
|
}),
|
|
165
|
-
children: [
|
|
166
|
-
|
|
212
|
+
children: [/* @__PURE__ */ jsxs(DateRangeRow, {
|
|
213
|
+
qa: "DateRangeStart",
|
|
214
|
+
children: [/* @__PURE__ */ jsx(DatePickerInput, {
|
|
167
215
|
useLocale: useLocaleProp,
|
|
168
|
-
...
|
|
169
|
-
}),
|
|
170
|
-
|
|
171
|
-
t8
|
|
172
|
-
]
|
|
216
|
+
...t4
|
|
217
|
+
}), t5]
|
|
218
|
+
}), t7]
|
|
173
219
|
});
|
|
220
|
+
const component = hideTrigger ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
221
|
+
field,
|
|
222
|
+
/* @__PURE__ */ jsx("span", {
|
|
223
|
+
hidden: true,
|
|
224
|
+
id: hintId,
|
|
225
|
+
children: t("datePicker.calendarHint", "Press Alt+Down Arrow to open the calendar.")
|
|
226
|
+
}),
|
|
227
|
+
/* @__PURE__ */ jsxs(CalendarPopover, {
|
|
228
|
+
isOpen: isCalendarOpen,
|
|
229
|
+
fieldRef: domRef,
|
|
230
|
+
popoverRef,
|
|
231
|
+
anchorRef: targetRefProp ?? targetRef,
|
|
232
|
+
placement,
|
|
233
|
+
shouldFlip,
|
|
234
|
+
dialogProps: {
|
|
235
|
+
...dialogProps,
|
|
236
|
+
"aria-labelledby": dialogProps["aria-labelledby"]?.replace(`${buttonProps.id} `, "")
|
|
237
|
+
},
|
|
238
|
+
onClose: closeCalendar,
|
|
239
|
+
children: [/* @__PURE__ */ jsx(_RangeCalendar, {
|
|
240
|
+
ref: calendarRef,
|
|
241
|
+
...calendarProps,
|
|
242
|
+
autoFocus: shouldFocusCalendar,
|
|
243
|
+
defaultFocusedValue: typedDate ?? calendarProps.defaultFocusedValue,
|
|
244
|
+
isDateUnavailable: props.isDateUnavailable,
|
|
245
|
+
onChange: (range) => {
|
|
246
|
+
calendarProps.onChange?.(range);
|
|
247
|
+
if (!state.hasTime) closeCalendar();
|
|
248
|
+
}
|
|
249
|
+
}, typedDate?.toString()), timeFields]
|
|
250
|
+
})
|
|
251
|
+
] }) : field;
|
|
174
252
|
return wrapWithField(component, {
|
|
175
253
|
...props,
|
|
176
254
|
...fieldLayout.field,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.js","names":["FocusableRef","BaseProps","Styles","tasty","forwardRef","RefObject","useRef","AriaDateRangePickerProps","DateValue","Placement","useDateRangePicker","useFocusRing","useDateRangePickerState","useI18n","FieldBaseProps","mergeProps","useFieldProps","wrapWithField","FieldLayoutStyleProps","splitFieldLayout","Space","RangeCalendar","Dialog","DialogTrigger","DateInputBase","DatePickerButton","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","ReactElement","Ref","DateRangeDash","children","styles","padding","CubeDateRangePickerProps","Omit","T","start","end","wrapperStyles","inputStyles","size","maxVisibleMonths","shouldFlip","targetRef","HTMLElement","placement","useLocale","DateRangePicker","rawProps","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","props","Object","assign","fieldLayout","overStyles","qa","targetRefProp","t1","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","undefined","state","shouldCloseOnSelect","hasTime","isOpen","setOpen","focusProps","within","isTextInput","isFocused","isFocusedButton","focusPropsButton","domRef","groupProps","labelProps","startFieldProps","endFieldProps","buttonProps","dialogProps","calendarProps","placeholder","timePlaceholder","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","t2","isReadOnly","t3","t4","isDateUnavailable","t5","timeRange","hourCycle","hideTimeZone","v","setTime","v_0","t6","t7","t8","component","field","_DateRangePicker","displayName","_c","mergeProps","RangeCalendar","TimeInput","DateInputBase"],"sources":["../../../../src/components/fields/DatePicker/DateRangePicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, RefObject, useRef } from 'react';\nimport {\n AriaDateRangePickerProps,\n DateValue,\n Placement,\n useDateRangePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDateRangePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport {\n FieldLayoutStyleProps,\n splitFieldLayout,\n} from '../../form/field-layout';\nimport { Space } from '../../layout/Space';\nimport { RangeCalendar } from '../../other/Calendar/RangeCalendar';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\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\nimport type { ReactElement, Ref } from 'react';\n\nconst DateRangeDash = tasty({\n 'aria-hidden': 'true',\n 'data-qa': 'DateRangeDash',\n children: '–',\n styles: {\n padding: '0 .5x',\n },\n});\n\nexport interface CubeDateRangePickerProps<T extends DateValue = DateValue>\n extends\n Omit<\n AriaDateRangePickerProps<T>,\n 'errorMessage' | 'form' | 'name' | keyof DateFieldBase<T>\n >,\n BaseProps,\n DateFieldBase<T>,\n FieldLayoutStyleProps,\n FieldBaseProps<{ start: T; end: T } | null | undefined> {\n wrapperStyles?: Styles;\n inputStyles?: 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 DateRangePicker<T extends DateValue>(\n rawProps: CubeDateRangePickerProps<T>,\n ref: FocusableRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onBlur',\n });\n props = Object.assign({}, DEFAULT_DATE_PROPS, props);\n\n // `wrapperStyles` styles the same box as `styles` and wins over it.\n const fieldLayout = splitFieldLayout(props, {\n overStyles: props.wrapperStyles,\n });\n const styles = fieldLayout.styles;\n\n let {\n qa,\n size,\n shouldFlip,\n targetRef: targetRefProp,\n placement = 'bottom right',\n placeholderValue,\n isDisabled,\n isInvalid,\n isValid,\n useLocale: useLocaleProp,\n autoFocus,\n } = props;\n let targetRef = useRef<HTMLDivElement>(null);\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime,\n });\n let { isOpen, setOpen } = state;\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 domRef = useRef<HTMLDivElement>(null);\n\n useFocusManagerRef(ref, domRef);\n\n let {\n groupProps,\n labelProps,\n startFieldProps,\n endFieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDateRangePicker(props, state, targetRef);\n\n let placeholder: DateValue | undefined = placeholderValue ?? undefined;\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 wrapperRef={domRef}\n qa={qa || 'DateRangePicker'}\n inputType=\"daterangepicker\"\n autoFocus={autoFocus}\n styles={styles}\n disableFocusRing={isFocusedButton}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n fieldProps={groupProps}\n {...focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={placement}\n targetRef={targetRefProp ?? targetRef}\n isOpen={isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(buttonProps, focusPropsButton)}\n isDisabled={isDisabled}\n />\n <Dialog {...dialogProps} width=\"max-content\" overflow=\"auto\">\n <RangeCalendar\n {...calendarProps}\n isDateUnavailable={props.isDateUnavailable}\n />\n {showTimeField && (\n <Space>\n <TimeInput\n label={t('datePicker.startTime', 'Start time')}\n value={state.timeRange?.start || null}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={(v) => state.setTime('start', v)}\n />\n <TimeInput\n label={t('datePicker.endTime', 'End time')}\n value={state.timeRange?.end || null}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={(v) => state.setTime('end', v)}\n />\n </Space>\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...startFieldProps} />\n <DateRangeDash />\n <DatePickerInput useLocale={useLocaleProp} {...endFieldProps} />\n </DateInputBase>\n );\n\n return wrapWithField(component, {\n ...props,\n ...fieldLayout.field,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DateRangePicker = forwardRef(DateRangePicker) as <\n T extends DateValue = DateValue,\n>(\n props: CubeDateRangePickerProps<T> & { ref?: Ref<HTMLElement> },\n) => ReactElement | null;\n\n(_DateRangePicker as any).displayName = 'DateRangePicker';\n\nexport { _DateRangePicker as DateRangePicker };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateRangePicker.js","names":["FocusableRef","BaseProps","Styles","tasty","forwardRef","RefObject","useId","useRef","useState","AriaDateRangePickerProps","DateValue","Placement","useDateRangePicker","useFocusRing","useDateRangePickerState","useI18n","FieldBaseProps","mergeProps","mergeStyleLayers","useFieldProps","wrapWithField","FieldLayoutStyleProps","splitFieldLayout","Space","RangeCalendar","Dialog","DialogTrigger","CalendarPopover","useFieldCalendar","DateInputBase","DatePickerButton","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","ReactElement","Ref","DateRangeDash","children","styles","padding","DateRangeRow","role","display","placeItems","height","WRAPPER_STYLES","minWidth","Suffix","INPUT_STYLES","flow","CubeDateRangePickerProps","Omit","T","start","end","wrapperStyles","inputStyles","size","maxVisibleMonths","shouldFlip","targetRef","HTMLElement","placement","useLocale","hideTrigger","DateRangePicker","rawProps","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","props","Object","assign","fieldLayout","defaultStyles","overStyles","qa","targetRefProp","t1","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","undefined","state","isOpen","defaultOpen","onOpenChange","shouldCloseOnSelect","hasTime","setOpen","focusProps","within","isTextInput","isFocused","isFocusedButton","focusPropsButton","domRef","groupProps","labelProps","startFieldProps","endFieldProps","buttonProps","dialogProps","calendarProps","typedDate","setTypedDate","hintId","isCalendarOpen","shouldFocusCalendar","close","closeCalendar","fieldProps","calendarFieldProps","popoverRef","calendarRef","fieldRef","isReadOnly","open","withCalendarFromField","filter","Boolean","join","onChange","value","placeholder","timePlaceholder","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","timeFields","timeRange","hourCycle","hideTimeZone","v","setTime","v_0","t2","t3","t4","t5","t6","t7","field","isDateUnavailable","component","replace","id","toString","defaultFocusedValue","range","_DateRangePicker","displayName","_c","TimeInput","DateInputBase","mergeProps","RangeCalendar"],"sources":["../../../../src/components/fields/DatePicker/DateRangePicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, RefObject, useId, useRef, useState } from 'react';\nimport {\n AriaDateRangePickerProps,\n DateValue,\n Placement,\n useDateRangePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDateRangePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { mergeStyleLayers } from '../../../utils/styles';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport {\n FieldLayoutStyleProps,\n splitFieldLayout,\n} from '../../form/field-layout';\nimport { Space } from '../../layout/Space';\nimport { RangeCalendar } from '../../other/Calendar/RangeCalendar';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\n\nimport { CalendarPopover, useFieldCalendar } from './CalendarPopover';\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\nimport type { ReactElement, Ref } from 'react';\n\nconst DateRangeDash = tasty({\n 'aria-hidden': 'true',\n 'data-qa': 'DateRangeDash',\n children: '–',\n styles: {\n padding: '0 .5x',\n },\n});\n\n// One row of the box: the start date with its dash, or the end date. Too narrow\n// for one row, the end date's row wraps under the start date's.\nconst DateRangeRow = tasty({\n role: 'presentation',\n styles: {\n display: 'flex',\n placeItems: 'center start',\n height: '($size - 2bw)',\n },\n});\n\n// The box grows by a row for a wrapped end date, its suffix stays on the first\n// row, and it is never narrower than its widest row.\nconst WRAPPER_STYLES: Styles = {\n minWidth: 'min-content',\n height: 'min $size',\n Suffix: {\n height: '($size - 2bw)',\n },\n};\n\nconst INPUT_STYLES: Styles = {\n flow: 'row wrap',\n height: 'auto',\n};\n\nexport interface CubeDateRangePickerProps<T extends DateValue = DateValue>\n extends\n Omit<\n AriaDateRangePickerProps<T>,\n 'errorMessage' | 'form' | 'name' | keyof DateFieldBase<T>\n >,\n BaseProps,\n DateFieldBase<T>,\n FieldLayoutStyleProps,\n FieldBaseProps<{ start: T; end: T } | null | undefined> {\n wrapperStyles?: Styles;\n inputStyles?: 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 * Renders no calendar button, so the field fits a narrower row. The calendar\n * opens from the field instead: a press in it, an edit of a date (typing,\n * or Up and Down Arrow), or Alt+Down or Alt+Up, which also move focus into\n * the calendar. Tabbing into the field doesn't open it, and while the dates\n * are typed focus stays in the field. Escape, a press outside, picking a\n * range without times, or focus moving on to another element closes it.\n * @default false\n */\n hideTrigger?: boolean;\n}\n\nfunction DateRangePicker<T extends DateValue>(\n rawProps: CubeDateRangePickerProps<T>,\n ref: FocusableRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onBlur',\n });\n props = Object.assign({}, DEFAULT_DATE_PROPS, props);\n\n // `wrapperStyles` styles the same box as `styles` and wins over it.\n const fieldLayout = splitFieldLayout(props, {\n defaultStyles: WRAPPER_STYLES,\n overStyles: props.wrapperStyles,\n });\n const styles = fieldLayout.styles;\n\n let {\n qa,\n size,\n shouldFlip,\n targetRef: targetRefProp,\n placement = 'bottom right',\n placeholderValue,\n isDisabled,\n isInvalid,\n isValid,\n useLocale: useLocaleProp,\n autoFocus,\n hideTrigger,\n } = props;\n let targetRef = useRef<HTMLDivElement>(null);\n let state = useDateRangePickerState({\n ...props,\n // Without the button, the field owns the calendar's open state. React\n // Aria's stays closed: open, it would stop the field reporting focus and\n // blur while the dates are typed.\n ...(hideTrigger && {\n isOpen: false,\n defaultOpen: false,\n onOpenChange: undefined,\n }),\n shouldCloseOnSelect: () => !state.hasTime,\n });\n let { isOpen, setOpen } = state;\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 domRef = useRef<HTMLDivElement>(null);\n\n useFocusManagerRef(ref, domRef);\n\n let {\n groupProps,\n labelProps,\n startFieldProps,\n endFieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDateRangePicker(\n props,\n state,\n // Without the button, React Aria's group is the whole field, so a press\n // on its padding focuses its last date rather than whatever precedes it.\n hideTrigger ? domRef : targetRef,\n );\n\n // The date typed last, which the open calendar turns to.\n let [typedDate, setTypedDate] = useState<DateValue | null>(null);\n let hintId = useId();\n\n let {\n isOpen: isCalendarOpen,\n shouldFocusCalendar,\n close: closeCalendar,\n fieldProps: calendarFieldProps,\n popoverRef,\n calendarRef,\n } = useFieldCalendar({\n fieldRef: domRef,\n isDisabled,\n isReadOnly: props.isReadOnly,\n isOpen: props.isOpen,\n defaultOpen: props.defaultOpen,\n onOpenChange(open) {\n if (!open) {\n setTypedDate(null);\n // Commits a range picked without its times, as closing does.\n setOpen(false);\n }\n\n props.onOpenChange?.(open);\n },\n });\n\n // Without the button, each date names the key that opens the calendar, and\n // a typed date turns the calendar to it.\n let withCalendarFromField = (fieldProps: typeof startFieldProps) =>\n hideTrigger\n ? {\n ...fieldProps,\n 'aria-describedby': [fieldProps['aria-describedby'], hintId]\n .filter(Boolean)\n .join(' '),\n onChange(value: DateValue | null) {\n fieldProps.onChange?.(value);\n\n if (value) setTypedDate(value);\n },\n }\n : fieldProps;\n\n let placeholder: DateValue | undefined = placeholderValue ?? undefined;\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 timeFields = showTimeField && (\n <Space>\n <TimeInput\n label={t('datePicker.startTime', 'Start time')}\n value={state.timeRange?.start || null}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={(v) => state.setTime('start', v)}\n />\n <TimeInput\n label={t('datePicker.endTime', 'End time')}\n value={state.timeRange?.end || null}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={(v) => state.setTime('end', v)}\n />\n </Space>\n );\n\n const field = (\n <DateInputBase\n ref={targetRef}\n wrapperRef={domRef}\n qa={qa || 'DateRangePicker'}\n inputType=\"daterangepicker\"\n autoFocus={autoFocus}\n styles={styles}\n inputStyles={mergeStyleLayers(INPUT_STYLES, props.inputStyles)}\n disableFocusRing={isFocusedButton}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n fieldProps={\n hideTrigger ? mergeProps(groupProps, calendarFieldProps) : groupProps\n }\n {...focusProps}\n suffix={\n hideTrigger ? null : (\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={placement}\n targetRef={targetRefProp ?? targetRef}\n isOpen={isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(buttonProps, focusPropsButton)}\n isDisabled={isDisabled}\n />\n <Dialog {...dialogProps} width=\"max-content\" overflow=\"auto\">\n <RangeCalendar\n {...calendarProps}\n isDateUnavailable={props.isDateUnavailable}\n />\n {timeFields}\n </Dialog>\n </DialogTrigger>\n )\n }\n >\n <DateRangeRow qa=\"DateRangeStart\">\n <DatePickerInput\n useLocale={useLocaleProp}\n {...withCalendarFromField(startFieldProps)}\n />\n <DateRangeDash />\n </DateRangeRow>\n <DateRangeRow qa=\"DateRangeEnd\">\n <DatePickerInput\n useLocale={useLocaleProp}\n {...withCalendarFromField(endFieldProps)}\n />\n </DateRangeRow>\n </DateInputBase>\n );\n\n // The popover is the field's sibling, so its keys and presses never reach\n // the field's handlers.\n const component = hideTrigger ? (\n <>\n {field}\n <span hidden id={hintId}>\n {t(\n 'datePicker.calendarHint',\n 'Press Alt+Down Arrow to open the calendar.',\n )}\n </span>\n <CalendarPopover\n isOpen={isCalendarOpen}\n fieldRef={domRef}\n popoverRef={popoverRef}\n anchorRef={targetRefProp ?? targetRef}\n placement={placement}\n shouldFlip={shouldFlip}\n dialogProps={{\n ...dialogProps,\n // No button here, so the field alone names the calendar.\n 'aria-labelledby': dialogProps['aria-labelledby']?.replace(\n `${buttonProps.id} `,\n '',\n ),\n }}\n onClose={closeCalendar}\n >\n <RangeCalendar\n // Remounted on a typed date, so it turns to that date's month.\n key={typedDate?.toString()}\n ref={calendarRef}\n {...calendarProps}\n autoFocus={shouldFocusCalendar}\n defaultFocusedValue={typedDate ?? calendarProps.defaultFocusedValue}\n isDateUnavailable={props.isDateUnavailable}\n onChange={(range) => {\n calendarProps.onChange?.(range);\n\n if (!state.hasTime) closeCalendar();\n }}\n />\n {timeFields}\n </CalendarPopover>\n </>\n ) : (\n field\n );\n\n return wrapWithField(component, {\n ...props,\n ...fieldLayout.field,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DateRangePicker = forwardRef(DateRangePicker) as <\n T extends DateValue = DateValue,\n>(\n props: CubeDateRangePickerProps<T> & { ref?: Ref<HTMLElement> },\n) => ReactElement | null;\n\n(_DateRangePicker as any).displayName = 'DateRangePicker';\n\nexport { _DateRangePicker as DateRangePicker };\n"],"mappings":"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"}
|