@cube-dev/ui-kit 0.193.1 → 0.194.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +28 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +25 -12
- package/dist/components/CollectionItem.js +59 -4
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +2 -2
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.d.ts +1 -1
- package/dist/components/actions/Banner/Banner.js +6 -6
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +28 -25
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +7 -7
- package/dist/components/actions/CommandMenu/CommandMenu.js +232 -239
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +26 -22
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.d.ts +3 -0
- package/dist/components/actions/ItemActionContext.js +15 -13
- package/dist/components/actions/ItemActionContext.js.map +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +9 -9
- package/dist/components/actions/Menu/Menu.js +88 -64
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.d.ts +18 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js +36 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -0
- package/dist/components/actions/Menu/MenuItem.d.ts +5 -0
- package/dist/components/actions/Menu/MenuItem.js +402 -116
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.d.ts +3 -1
- package/dist/components/actions/Menu/MenuSection.js +31 -33
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.d.ts +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -0
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +3 -2
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +60 -36
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +19 -19
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +44 -33
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.d.ts +7 -7
- package/dist/components/content/Item/Item.js +205 -67
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +314 -0
- package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -0
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +18 -15
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +41 -46
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +77 -70
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +5 -5
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +18 -19
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.js +2 -2
- package/dist/components/content/Text.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 +66 -48
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +6 -3
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +2 -2
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +39 -19
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -1
- package/dist/components/data/TableBase/styled.js +14 -1
- package/dist/components/data/TableBase/styled.js.map +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 +219 -0
- package/dist/components/data/TableBase/use-column-window.js.map +1 -0
- 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 +32 -19
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -1
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +13 -13
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +32 -29
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +2 -0
- package/dist/components/fields/ColorPicker/ColorPicker.js +8 -5
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +6 -3
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +41 -30
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +246 -238
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +22 -2
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +5 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +4 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +8 -7
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +36 -32
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +4 -2
- package/dist/components/fields/Picker/Picker.js +3 -2
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +24 -24
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +4 -4
- package/dist/components/fields/Select/Select.js +35 -32
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +62 -53
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.js +133 -109
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +102 -0
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -0
- package/dist/components/form/FieldWrapper/types.d.ts +6 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +17 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +27 -24
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +2 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +3 -3
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +44 -24
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +34 -24
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +45 -25
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +145 -0
- package/dist/components/overlays/Modal/modal-containment.js.map +1 -0
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +50 -47
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +2 -2
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +3 -2
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.d.ts +2 -1
- package/dist/i18n/index.js +3 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/instance.d.ts +2 -3
- package/dist/i18n/instance.js +3 -4
- package/dist/i18n/instance.js.map +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -4
- package/dist/i18n/locales/es-ES/uikit.js +36 -5
- package/dist/i18n/locales/es-MX/uikit.js +36 -5
- package/dist/i18n/locales/fr-FR/uikit.js +36 -5
- package/dist/i18n/locales/it-IT/uikit.js +36 -5
- package/dist/i18n/locales/ja-JP/uikit.js +36 -5
- package/dist/i18n/locales/nb-NO/uikit.js +36 -5
- package/dist/i18n/locales/pt-BR/uikit.js +36 -5
- package/dist/i18n/locales/pt-PT/uikit.js +36 -5
- package/dist/i18n/locales/sv-SE/uikit.js +36 -5
- package/dist/i18n/locales/vi-VN/uikit.js +36 -5
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.d.ts +11 -0
- package/dist/i18n/namespace.js +12 -0
- package/dist/i18n/namespace.js.map +1 -0
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +5 -3
- package/dist/i18n/useI18n.js.map +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +11 -0
- package/dist/providers/navigation-url.js.map +1 -0
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +19 -0
- package/dist/providers/use-navigation.js.map +1 -0
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/Usage.md +4 -0
- package/docs/components/CollectionItem.md +5 -1
- package/docs/components/actions/CommandMenu.md +46 -18
- package/docs/components/actions/Menu.md +124 -19
- package/docs/components/content/Placeholder.md +2 -0
- package/docs/components/content/Skeleton.md +2 -0
- package/docs/components/data/DataTable.md +3 -0
- package/docs/components/data/ItemTable.md +11 -1
- package/docs/components/overlays/Dialog.md +1 -1
- package/docs/components/overlays/DialogContainer.md +1 -2
- package/docs/components/overlays/DialogTrigger.md +1 -0
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeSeparatedPicker.js","names":["FocusableRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","ReactElement","RefObject","useRef","AriaDateRangePickerProps","DateValue","Placement","useDatePicker","useDateRangePicker","useFocusRing","useDatePickerState","useDateRangePickerState","useI18n","FieldBaseProps","mergeProps","extractStyles","mergeStyleLayers","useFieldProps","wrapWithField","Calendar","Dialog","DialogTrigger","DateInputBase","DatePickerButton","DatePickerElement","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","DateRangeDash","children","styles","padding","color","CubeDateRangeSeparatedPickerProps","Omit","T","start","end","wrapperStyles","inputStyles","size","maxVisibleMonths","shouldFlip","targetRef","HTMLElement","placement","useLocale","DateRangeSeparatedPicker","rawProps","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","props","t1","Object","assign","qa","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","t2","state","t3","value","t4","defaultValue","t5","onChange","undefined","validate","startDateProps","t6","t7","t8","endDateProps","startState","endState","t9","within","isTextInput","startFocusRingProps","t10","startFocusProps","t11","endFocusRingProps","t12","endFocusProps","domRef","groupProps","labelProps","startFieldProps","endFieldProps","startProps","endProps","placeholder","timePlaceholder","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","t13","calendarProps","type","newRange","compare","setValue","setDateTime","setOpen","newRange_0","t14","t15","isFocused","t16","focusProps","t17","t18","t19","isOpen","t20","t21","t22","buttonProps","t23","t24","t25","t26","value_0","t27","t28","hideTimeZone","hourCycle","setTimeValue","timeValue","t29","dialogProps","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","t41","t42","t43","t44","t45","t46","value_1","t47","t48","t49","t50","t51","t52","t53","component","t54","_DateRangeSeparatedPicker","displayName"],"sources":["../../../../src/components/fields/DatePicker/DateRangeSeparatedPicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, ReactElement, RefObject, useRef } from 'react';\nimport {\n AriaDateRangePickerProps,\n DateValue,\n Placement,\n useDatePicker,\n useDateRangePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDatePickerState, useDateRangePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport { Calendar } from '../../other/Calendar/Calendar';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\n\nimport { DateInputBase } from './DateInputBase';\nimport { DatePickerButton } from './DatePickerButton';\nimport { DatePickerElement } from './DatePickerElement';\nimport { DatePickerInput } from './DatePickerInput';\nimport { DEFAULT_DATE_PROPS } from './props';\nimport { TimeInput } from './TimeInput';\nimport { DateFieldBase } from './types';\nimport { useFocusManagerRef } from './utils';\n\nconst DateRangeDash = tasty({\n 'aria-hidden': 'true',\n 'data-qa': 'DateRangeDash',\n children: '–',\n styles: {\n padding: '0 .5x',\n color: '#dark-03',\n },\n});\n\nexport interface CubeDateRangeSeparatedPickerProps<\n T extends DateValue = DateValue,\n> extends Omit<\n AriaDateRangePickerProps<T>,\n 'errorMessage' | 'form' | 'name' | keyof DateFieldBase<T>\n >,\n BaseProps,\n ContainerStyleProps,\n DateFieldBase<T>,\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 DateRangeSeparatedPicker<T extends DateValue>(\n rawProps: CubeDateRangeSeparatedPickerProps<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 // 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 = mergeStyleLayers(\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\n let state = useDateRangePickerState({\n ...props,\n });\n\n let startDateProps = {\n ...props,\n onChange: undefined,\n validate: undefined,\n value: state.value?.start,\n defaultValue: props.defaultValue?.start,\n };\n let endDateProps = {\n ...props,\n onChange: undefined,\n validate: undefined,\n value: state.value?.end,\n defaultValue: props.defaultValue?.end,\n };\n let startState = useDatePickerState(startDateProps);\n let endState = useDatePickerState(endDateProps);\n\n let startFocusRingProps = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n let startFocusProps = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n let endFocusRingProps = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n let endFocusProps = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n\n let domRef = useFocusManagerRef(ref);\n\n let { groupProps, labelProps, startFieldProps, endFieldProps } =\n useDateRangePicker(props, state, targetRef);\n\n let startProps = useDatePicker(startDateProps, startState, targetRef);\n let endProps = useDatePicker(endDateProps, endState, 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 : undefined;\n let showTimeField = !!timeGranularity;\n\n // let visibleMonths = useVisibleMonths(maxVisibleMonths);\n\n function onChange(value: DateValue, type: 'start' | 'end') {\n if (type === 'start') {\n const newRange = { ...state.value, start: value };\n\n if (\n newRange.start &&\n newRange.end &&\n newRange.end.compare(newRange.start) < 0\n ) {\n newRange.end = newRange.start;\n }\n\n if (newRange.end) {\n state.setValue({ start: newRange.start, end: newRange.end });\n } else {\n state.setDateTime('start', newRange.start);\n }\n startProps.calendarProps.onChange?.(value);\n startState.setOpen(false);\n } else {\n const newRange = { ...state.value, end: value };\n\n if (\n newRange.start &&\n newRange.end &&\n newRange.end.compare(newRange.start) < 0\n ) {\n newRange.start = newRange.end;\n }\n\n if (newRange.start) {\n state.setValue({ start: newRange.start, end: newRange.end });\n } else {\n state.setDateTime('end', newRange.end);\n }\n endProps.calendarProps.onChange?.(value);\n endState.setOpen(false);\n }\n }\n\n const component = (\n <DatePickerElement\n ref={targetRef}\n {...groupProps}\n styles={styles}\n qa={qa || 'DateRangeSeparatedPicker'}\n data-input-type=\"daterangeseparatedpicker\"\n >\n <DateInputBase\n disableFocusRing={startFocusProps.isFocused}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n {...startFocusRingProps.focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={props.placement ?? 'bottom right'}\n targetRef={props.targetRef ?? targetRef}\n isOpen={startState.isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={startState.setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(\n startProps.buttonProps,\n startFocusProps.focusProps,\n )}\n isDisabled={isDisabled}\n />\n <Dialog\n {...startProps.dialogProps}\n width=\"max-content\"\n overflow=\"auto\"\n >\n <Calendar\n {...startProps.calendarProps}\n defaultFocusedValue={\n state.value?.start || state.value?.end || undefined\n }\n selectedRange={\n state.value?.start && state.value?.end\n ? { start: state.value.start, end: state.value.end }\n : undefined\n }\n onChange={(value: DateValue) => onChange(value, 'start')}\n />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={startState.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={startState.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...startFieldProps} />\n </DateInputBase>\n <DateRangeDash />\n <DateInputBase\n disableFocusRing={endFocusProps.isFocused}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n {...endFocusRingProps.focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={props.placement ?? 'bottom right'}\n targetRef={props.targetRef ?? targetRef}\n isOpen={endState.isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={endState.setOpen}\n >\n <DatePickerButton\n aria-label={t(\n 'datePicker.showEndCalendar',\n 'Show calendar for the end date',\n )}\n size={size}\n {...mergeProps(endFocusProps.focusProps, endProps.buttonProps)}\n isDisabled={isDisabled}\n />\n <Dialog\n {...endProps.dialogProps}\n width=\"max-content\"\n overflow=\"auto\"\n >\n <Calendar\n {...endProps.calendarProps}\n defaultFocusedValue={\n state.value?.end || state.value?.start || undefined\n }\n selectedRange={\n state.value?.start && state.value?.end\n ? { start: state.value.start, end: state.value.end }\n : undefined\n }\n onChange={(value: DateValue) => {\n onChange(value, 'end');\n }}\n />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={endState.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={endState.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...endFieldProps} />\n </DateInputBase>\n </DatePickerElement>\n );\n\n return wrapWithField(component, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DateRangeSeparatedPicker = forwardRef(DateRangeSeparatedPicker) as <\n T extends DateValue,\n>(\n props: CubeDateRangeSeparatedPickerProps<T> & {\n ref?: FocusableRef<HTMLElement>;\n },\n) => ReactElement;\n\n(_DateRangeSeparatedPicker as any).displayName = 'DateRangeSeparatedPicker';\n\nexport { _DateRangeSeparatedPicker as DateRangeSeparatedPicker };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateRangeSeparatedPicker.js","names":["FocusableRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","ReactElement","RefObject","useRef","AriaDateRangePickerProps","DateValue","Placement","useDatePicker","useDateRangePicker","useFocusRing","useDatePickerState","useDateRangePickerState","useI18n","FieldBaseProps","mergeProps","extractStyles","mergeStyleLayers","useFieldProps","wrapWithField","Calendar","Dialog","DialogTrigger","DateInputBase","DatePickerButton","DatePickerElement","DatePickerInput","DEFAULT_DATE_PROPS","TimeInput","DateFieldBase","useFocusManagerRef","DateRangeDash","children","styles","padding","color","CubeDateRangeSeparatedPickerProps","Omit","T","start","end","wrapperStyles","inputStyles","size","maxVisibleMonths","shouldFlip","targetRef","HTMLElement","placement","useLocale","DateRangeSeparatedPicker","rawProps","ref","$","_c","t","t0","Symbol","for","defaultValidationTrigger","props","t1","Object","assign","qa","placeholderValue","isDisabled","isInvalid","isValid","useLocaleProp","autoFocus","t2","state","t3","value","t4","defaultValue","t5","onChange","undefined","validate","startDateProps","t6","t7","t8","endDateProps","startState","endState","t9","within","isTextInput","startFocusRingProps","t10","startFocusProps","t11","endFocusRingProps","t12","endFocusProps","domRef","groupProps","labelProps","startFieldProps","endFieldProps","startProps","endProps","placeholder","timePlaceholder","timeMinValue","minValue","timeMaxValue","maxValue","timeGranularity","granularity","showTimeField","t13","calendarProps","type","newRange","compare","setValue","setDateTime","setOpen","newRange_0","t14","t15","isFocused","t16","focusProps","t17","t18","t19","isOpen","t20","t21","t22","buttonProps","t23","t24","t25","t26","t27","value_0","t28","t29","hideTimeZone","hourCycle","setTimeValue","timeValue","t30","dialogProps","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","t41","t42","t43","t44","t45","t46","t47","value_1","t48","t49","t50","t51","t52","t53","t54","component","t55","_DateRangeSeparatedPicker","displayName"],"sources":["../../../../src/components/fields/DatePicker/DateRangeSeparatedPicker.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, ReactElement, RefObject, useRef } from 'react';\nimport {\n AriaDateRangePickerProps,\n DateValue,\n Placement,\n useDatePicker,\n useDateRangePicker,\n useFocusRing,\n} from 'react-aria';\nimport { useDatePickerState, useDateRangePickerState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport { useFieldProps, wrapWithField } from '../../form';\nimport { Calendar } from '../../other/Calendar/Calendar';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\n\nimport { DateInputBase } from './DateInputBase';\nimport { DatePickerButton } from './DatePickerButton';\nimport { DatePickerElement } from './DatePickerElement';\nimport { DatePickerInput } from './DatePickerInput';\nimport { DEFAULT_DATE_PROPS } from './props';\nimport { TimeInput } from './TimeInput';\nimport { DateFieldBase } from './types';\nimport { useFocusManagerRef } from './utils';\n\nconst DateRangeDash = tasty({\n 'aria-hidden': 'true',\n 'data-qa': 'DateRangeDash',\n children: '–',\n styles: {\n padding: '0 .5x',\n color: '#dark-03',\n },\n});\n\nexport interface CubeDateRangeSeparatedPickerProps<\n T extends DateValue = DateValue,\n> extends Omit<\n AriaDateRangePickerProps<T>,\n 'errorMessage' | 'form' | 'name' | keyof DateFieldBase<T>\n >,\n BaseProps,\n ContainerStyleProps,\n DateFieldBase<T>,\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 DateRangeSeparatedPicker<T extends DateValue>(\n rawProps: CubeDateRangeSeparatedPickerProps<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 // 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 = mergeStyleLayers(\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\n let state = useDateRangePickerState({\n ...props,\n });\n\n let startDateProps = {\n ...props,\n onChange: undefined,\n validate: undefined,\n value: state.value?.start,\n defaultValue: props.defaultValue?.start,\n };\n let endDateProps = {\n ...props,\n onChange: undefined,\n validate: undefined,\n value: state.value?.end,\n defaultValue: props.defaultValue?.end,\n };\n let startState = useDatePickerState(startDateProps);\n let endState = useDatePickerState(endDateProps);\n\n let startFocusRingProps = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n let startFocusProps = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n let endFocusRingProps = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus,\n });\n let endFocusProps = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus,\n });\n\n let domRef = useFocusManagerRef(ref);\n\n let { groupProps, labelProps, startFieldProps, endFieldProps } =\n useDateRangePicker(props, state, targetRef);\n\n let startProps = useDatePicker(startDateProps, startState, targetRef);\n let endProps = useDatePicker(endDateProps, endState, 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 : undefined;\n let showTimeField = !!timeGranularity;\n\n // let visibleMonths = useVisibleMonths(maxVisibleMonths);\n\n function onChange(value: DateValue, type: 'start' | 'end') {\n if (type === 'start') {\n const newRange = { ...state.value, start: value };\n\n if (\n newRange.start &&\n newRange.end &&\n newRange.end.compare(newRange.start) < 0\n ) {\n newRange.end = newRange.start;\n }\n\n if (newRange.end) {\n state.setValue({ start: newRange.start, end: newRange.end });\n } else {\n state.setDateTime('start', newRange.start);\n }\n startProps.calendarProps.onChange?.(value);\n startState.setOpen(false);\n } else {\n const newRange = { ...state.value, end: value };\n\n if (\n newRange.start &&\n newRange.end &&\n newRange.end.compare(newRange.start) < 0\n ) {\n newRange.start = newRange.end;\n }\n\n if (newRange.start) {\n state.setValue({ start: newRange.start, end: newRange.end });\n } else {\n state.setDateTime('end', newRange.end);\n }\n endProps.calendarProps.onChange?.(value);\n endState.setOpen(false);\n }\n }\n\n const component = (\n <DatePickerElement\n ref={targetRef}\n {...groupProps}\n styles={styles}\n qa={qa || 'DateRangeSeparatedPicker'}\n data-input-type=\"daterangeseparatedpicker\"\n >\n <DateInputBase\n disableFocusRing={startFocusProps.isFocused}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n {...startFocusRingProps.focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={props.placement ?? 'bottom right'}\n targetRef={props.targetRef ?? targetRef}\n isOpen={startState.isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={startState.setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(\n startProps.buttonProps,\n startFocusProps.focusProps,\n )}\n // After React Aria's props, whose \"Calendar\" would replace it:\n // the two buttons need different names.\n aria-label={t(\n 'datePicker.showStartCalendar',\n 'Show calendar for the start date',\n )}\n isDisabled={isDisabled}\n />\n <Dialog\n {...startProps.dialogProps}\n width=\"max-content\"\n overflow=\"auto\"\n >\n <Calendar\n {...startProps.calendarProps}\n defaultFocusedValue={\n state.value?.start || state.value?.end || undefined\n }\n selectedRange={\n state.value?.start && state.value?.end\n ? { start: state.value.start, end: state.value.end }\n : undefined\n }\n onChange={(value: DateValue) => onChange(value, 'start')}\n />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={startState.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={startState.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...startFieldProps} />\n </DateInputBase>\n <DateRangeDash />\n <DateInputBase\n disableFocusRing={endFocusProps.isFocused}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isValid={isValid}\n size={size}\n {...endFocusRingProps.focusProps}\n suffix={\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={props.placement ?? 'bottom right'}\n targetRef={props.targetRef ?? targetRef}\n isOpen={endState.isOpen}\n shouldFlip={props.shouldFlip}\n onOpenChange={endState.setOpen}\n >\n <DatePickerButton\n size={size}\n {...mergeProps(endFocusProps.focusProps, endProps.buttonProps)}\n aria-label={t(\n 'datePicker.showEndCalendar',\n 'Show calendar for the end date',\n )}\n isDisabled={isDisabled}\n />\n <Dialog\n {...endProps.dialogProps}\n width=\"max-content\"\n overflow=\"auto\"\n >\n <Calendar\n {...endProps.calendarProps}\n defaultFocusedValue={\n state.value?.end || state.value?.start || undefined\n }\n selectedRange={\n state.value?.start && state.value?.end\n ? { start: state.value.start, end: state.value.end }\n : undefined\n }\n onChange={(value: DateValue) => {\n onChange(value, 'end');\n }}\n />\n {showTimeField && (\n <TimeInput\n padding=\"1x\"\n label={t('datePicker.time', 'Time')}\n value={endState.timeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n onChange={endState.setTimeValue}\n />\n )}\n </Dialog>\n </DialogTrigger>\n }\n >\n <DatePickerInput useLocale={useLocaleProp} {...endFieldProps} />\n </DateInputBase>\n </DatePickerElement>\n );\n\n return wrapWithField(component, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n}\n\nconst _DateRangeSeparatedPicker = forwardRef(DateRangeSeparatedPicker) as <\n T extends DateValue,\n>(\n props: CubeDateRangeSeparatedPickerProps<T> & {\n ref?: FocusableRef<HTMLElement>;\n },\n) => ReactElement;\n\n(_DateRangeSeparatedPicker as any).displayName = 'DateRangeSeparatedPicker';\n\nexport { _DateRangeSeparatedPicker as DateRangeSeparatedPicker };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { 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.194.0 | Cube Dev Team */
|
|
2
2
|
import { CalendarDate, startOfMonth, startOfWeek, startOfYear, toCalendarDate } from "@internationalized/date";
|
|
3
3
|
|
|
4
4
|
//#region src/components/fields/DatePicker/period.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { useImperativeHandle, useRef } from "react";
|
|
4
4
|
import { createDOMRef } from "@react-spectrum/utils";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
|
+
import { mergeProps } from "../../../utils/react/mergeProps.js";
|
|
3
4
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
5
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
5
6
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -135,6 +136,12 @@ function FileInput(allProps, ref) {
|
|
|
135
136
|
} else commit("");
|
|
136
137
|
});
|
|
137
138
|
extractStyles(otherProps, CONTAINER_STYLES);
|
|
139
|
+
const { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy } = props;
|
|
140
|
+
const labelId = props.labelProps?.id ?? `${id}-label`;
|
|
141
|
+
const triggerId = `${id}-trigger`;
|
|
142
|
+
const chooseFileId = `${id}-choose-file`;
|
|
143
|
+
const fileNameId = `${id}-file-name`;
|
|
144
|
+
const nameSource = ariaLabelledBy ?? (props.label ? labelId : ariaLabel ? triggerId : null);
|
|
138
145
|
useImperativeHandle(ref, () => ({
|
|
139
146
|
...createFocusableRef(domRef, inputRef),
|
|
140
147
|
select() {
|
|
@@ -146,6 +153,14 @@ function FileInput(allProps, ref) {
|
|
|
146
153
|
}));
|
|
147
154
|
return wrapWithField(/* @__PURE__ */ jsxs(FileInputElement, {
|
|
148
155
|
ref: domRef,
|
|
156
|
+
id: triggerId,
|
|
157
|
+
"aria-label": ariaLabel,
|
|
158
|
+
"aria-labelledby": [
|
|
159
|
+
nameSource,
|
|
160
|
+
chooseFileId,
|
|
161
|
+
fileNameId
|
|
162
|
+
].filter(Boolean).join(" "),
|
|
163
|
+
"aria-describedby": ariaDescribedBy,
|
|
149
164
|
styles: inputStyles,
|
|
150
165
|
isDisabled,
|
|
151
166
|
mods: {
|
|
@@ -185,10 +200,12 @@ function FileInput(allProps, ref) {
|
|
|
185
200
|
...inputProps
|
|
186
201
|
}),
|
|
187
202
|
/* @__PURE__ */ jsx("div", {
|
|
203
|
+
id: chooseFileId,
|
|
188
204
|
"data-element": "Button",
|
|
189
205
|
children: t("fileInput.chooseFile", "Choose file")
|
|
190
206
|
}),
|
|
191
207
|
/* @__PURE__ */ jsx("div", {
|
|
208
|
+
id: fileNameId,
|
|
192
209
|
"data-element": fileName ? "Value" : "Placeholder",
|
|
193
210
|
children: fileName || placeholder || t("fileInput.noFileSelected", "No file selected")
|
|
194
211
|
}),
|
|
@@ -197,7 +214,10 @@ function FileInput(allProps, ref) {
|
|
|
197
214
|
isValid
|
|
198
215
|
})
|
|
199
216
|
]
|
|
200
|
-
}), domRef, {
|
|
217
|
+
}), domRef, {
|
|
218
|
+
...props,
|
|
219
|
+
labelProps: mergeProps(props.labelProps, { id: labelId })
|
|
220
|
+
});
|
|
201
221
|
}
|
|
202
222
|
/**
|
|
203
223
|
* FileInputs are file inputs that allow users to select local files to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInput.js","names":["createFocusableRef","useControlledState","BaseProps","BlockStyleProps","CONTAINER_STYLES","ContainerStyleProps","PositionStyleProps","Styles","tasty","forwardRef","RefObject","useEffect","useImperativeHandle","useRef","useState","useEvent","useI18n","FieldBaseProps","useCombinedRefs","extractStyles","Action","getValidationMods","useFieldProps","ValidationIndicator","wrapWithField","ChangeEvent","AriaTextFieldProps","Props","FileInputElement","qa","styles","display","position","preset","padding","gap","flow","placeItems","fill","disabled","border","valid","invalid","radius","cursor","overflow","whiteSpace","Button","pressed","color","transition","Placeholder","textOverflow","width","Value","State","ValidationIcon","$","fontSize","Input","top","right","bottom","left","opacity","zIndex","CubeFileInputProps","Omit","size","inputRef","HTMLInputElement","inputStyles","type","inputProps","accept","value","defaultValue","onChange","placeholder","extractFileNameFromValue","split","pop","undefined","FileInput","allProps","ref","t","props","defaultValidationTrigger","id","name","isDisabled","isInvalid","isValid","form","otherProps","dragHover","setDragHover","currentValue","setValue","selection","setSelection","fileName","reader","FileReader","domRef","current","abort","onLocalChange","event","file","target","files","commit","next","nextReader","onload","String","result","readAsText","select","getInputElement","fileInput","selected","e","key","click","_FileInput","displayName"],"sources":["../../../../src/components/fields/FileInput/FileInput.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n RefObject,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Action } from '../../actions';\nimport {\n getValidationMods,\n useFieldProps,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\n\nimport type { ChangeEvent } from 'react';\nimport type { AriaTextFieldProps } from 'react-aria';\nimport type { Props } from '../../../props';\n\nconst FileInputElement = tasty(Action, {\n qa: 'FileInputWrapper',\n styles: {\n display: 'inline-flex',\n position: 'relative',\n preset: 't3',\n padding: '.5x 1x',\n gap: '1x',\n flow: 'row',\n placeItems: 'center start',\n fill: {\n '': '#surface',\n 'drag-hover': '#primary.16',\n ':hover': '#primary.08',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n ':focus-within & :focus-visible': '#primary-text',\n },\n radius: true,\n cursor: '$pointer',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n\n Button: {\n radius: true,\n border: {\n '': '#clear',\n pressed: '#primary.30',\n },\n fill: '#primary.12',\n color: {\n '': '#primary',\n disabled: '#dark.30',\n },\n padding: '.5x (1.5x - 1px)',\n transition: 'theme',\n },\n\n Placeholder: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n Value: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n State: {\n display: 'flex',\n placeItems: 'center',\n },\n\n ValidationIcon: {\n $: '> State >',\n display: 'grid',\n placeItems: 'center',\n width: 'min 2x',\n fontSize: '$icon-size',\n },\n\n Input: {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n radius: '$content-radius',\n opacity: 0.01,\n cursor: '$pointer',\n zIndex: 10,\n },\n },\n});\n\nexport interface CubeFileInputProps\n extends BaseProps,\n PositionStyleProps,\n ContainerStyleProps,\n BlockStyleProps,\n Omit<AriaTextFieldProps, 'form' | 'name' | 'errorMessage'>,\n FieldBaseProps<string | null | undefined> {\n /**\n * The size of the input\n * @default default\n */\n size?: 'small' | 'default' | 'large' | string;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | null>;\n /** Style map for the input */\n inputStyles?: Styles;\n /**\n * The type of the input\n * @default file\n */\n type?: 'file' | 'text';\n /** Direct input props */\n inputProps?: Props;\n /** The file types that the input should accept */\n accept?: string;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n placeholder?: string;\n}\n\nfunction extractFileNameFromValue(value?: string) {\n return typeof value === 'string'\n ? (value as string).split('\\\\')?.pop()\n : undefined;\n}\n\nfunction FileInput(allProps: CubeFileInputProps, ref) {\n const { t } = useI18n();\n\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n });\n\n let {\n id,\n name,\n qa,\n value,\n onChange,\n placeholder,\n inputRef,\n isDisabled,\n isInvalid,\n isValid,\n inputStyles,\n type = 'file',\n inputProps,\n accept,\n form,\n ...otherProps\n } = props;\n\n const [dragHover, setDragHover] = useState(false);\n const [currentValue, setValue] = useControlledState(\n value,\n props.defaultValue ?? '',\n onChange,\n );\n const [selection, setSelection] = useState<{\n value: string;\n name: string;\n }>();\n const fileName =\n type === 'file'\n ? extractFileNameFromValue(currentValue)\n : currentValue === selection?.value\n ? selection?.name\n : undefined;\n const reader = useRef<FileReader | null>(null);\n\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n useEffect(() => {\n // Browsers only allow clearing a file input programmatically. A reset or\n // external value replacement must also release the old native selection.\n if (inputRef.current && currentValue !== selection?.value) {\n inputRef.current.value = '';\n }\n }, [currentValue, selection, inputRef]);\n useEffect(() => () => reader.current?.abort(), [type]);\n\n const onLocalChange = useEvent((event: ChangeEvent<HTMLInputElement>) => {\n reader.current?.abort();\n const file = event.target.files?.[0];\n const name = file?.name ?? '';\n const commit = (next: string) => {\n setSelection({ value: next, name });\n setValue(next);\n };\n if (type === 'file') {\n commit(event.target.value);\n } else if (file) {\n const nextReader = new FileReader();\n reader.current = nextReader;\n nextReader.onload = () => commit(String(nextReader.result ?? ''));\n nextReader.readAsText(file);\n } else {\n commit('');\n }\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const fileInput = (\n <FileInputElement\n ref={domRef}\n styles={inputStyles}\n isDisabled={isDisabled}\n mods={{\n selected: !!fileName,\n 'drag-hover': dragHover,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === 'Space') {\n inputRef?.current?.click();\n }\n }}\n >\n <input\n ref={inputRef}\n id={id}\n name={name}\n accept={accept}\n data-qa={qa || 'FileInput'}\n data-input-type=\"fileinput\"\n data-element=\"Input\"\n disabled={isDisabled}\n type=\"file\"\n multiple={false}\n tabIndex={-1}\n onChange={onLocalChange}\n onDragEnter={() => {\n setDragHover(true);\n }}\n onDragLeave={() => {\n setDragHover(false);\n }}\n onDrop={() => {\n setDragHover(false);\n }}\n {...inputProps}\n />\n <div data-element=\"Button\">\n {t('fileInput.chooseFile', 'Choose file')}\n </div>\n <div data-element={fileName ? 'Value' : 'Placeholder'}>\n {fileName ||\n placeholder ||\n t('fileInput.noFileSelected', 'No file selected')}\n </div>\n <ValidationIndicator isInvalid={isInvalid} isValid={isValid} />\n </FileInputElement>\n );\n\n return wrapWithField(fileInput, domRef, {\n ...props,\n });\n}\n\n/**\n * FileInputs are file inputs that allow users to select local files to\n * upload them to the server.\n */\nconst _FileInput = forwardRef(FileInput);\n\n_FileInput.displayName = 'FileInput';\n\nexport { _FileInput as FileInput };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileInput.js","names":["createFocusableRef","useControlledState","BaseProps","BlockStyleProps","CONTAINER_STYLES","ContainerStyleProps","PositionStyleProps","Styles","tasty","forwardRef","RefObject","useEffect","useImperativeHandle","useRef","useState","useEvent","useI18n","FieldBaseProps","mergeProps","useCombinedRefs","extractStyles","Action","getValidationMods","useFieldProps","ValidationIndicator","wrapWithField","AriaLabelingProps","ChangeEvent","AriaTextFieldProps","Props","FileInputElement","qa","styles","display","position","preset","padding","gap","flow","placeItems","fill","disabled","border","valid","invalid","radius","cursor","overflow","whiteSpace","Button","pressed","color","transition","Placeholder","textOverflow","width","Value","State","ValidationIcon","$","fontSize","Input","top","right","bottom","left","opacity","zIndex","CubeFileInputProps","Omit","size","inputRef","HTMLInputElement","inputStyles","type","inputProps","accept","value","defaultValue","onChange","placeholder","extractFileNameFromValue","split","pop","undefined","FileInput","allProps","ref","t","props","defaultValidationTrigger","id","name","isDisabled","isInvalid","isValid","form","otherProps","dragHover","setDragHover","currentValue","setValue","selection","setSelection","fileName","reader","FileReader","domRef","current","abort","onLocalChange","event","file","target","files","commit","next","nextReader","onload","String","result","readAsText","ariaLabel","ariaLabelledBy","ariaDescribedBy","labelId","labelProps","triggerId","chooseFileId","fileNameId","nameSource","label","select","getInputElement","fileInput","filter","Boolean","join","selected","e","key","click","_FileInput","displayName"],"sources":["../../../../src/components/fields/FileInput/FileInput.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n RefObject,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Action } from '../../actions';\nimport {\n getValidationMods,\n useFieldProps,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\n\nimport type { AriaLabelingProps } from '@react-types/shared';\nimport type { ChangeEvent } from 'react';\nimport type { AriaTextFieldProps } from 'react-aria';\nimport type { Props } from '../../../props';\n\nconst FileInputElement = tasty(Action, {\n qa: 'FileInputWrapper',\n styles: {\n display: 'inline-flex',\n position: 'relative',\n preset: 't3',\n padding: '.5x 1x',\n gap: '1x',\n flow: 'row',\n placeItems: 'center start',\n fill: {\n '': '#surface',\n 'drag-hover': '#primary.16',\n ':hover': '#primary.08',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n ':focus-within & :focus-visible': '#primary-text',\n },\n radius: true,\n cursor: '$pointer',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n\n Button: {\n radius: true,\n border: {\n '': '#clear',\n pressed: '#primary.30',\n },\n fill: '#primary.12',\n color: {\n '': '#primary',\n disabled: '#dark.30',\n },\n padding: '.5x (1.5x - 1px)',\n transition: 'theme',\n },\n\n Placeholder: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n Value: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n State: {\n display: 'flex',\n placeItems: 'center',\n },\n\n ValidationIcon: {\n $: '> State >',\n display: 'grid',\n placeItems: 'center',\n width: 'min 2x',\n fontSize: '$icon-size',\n },\n\n Input: {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n radius: '$content-radius',\n opacity: 0.01,\n cursor: '$pointer',\n zIndex: 10,\n },\n },\n});\n\nexport interface CubeFileInputProps\n extends BaseProps,\n PositionStyleProps,\n ContainerStyleProps,\n BlockStyleProps,\n Omit<AriaTextFieldProps, 'form' | 'name' | 'errorMessage'>,\n FieldBaseProps<string | null | undefined> {\n /**\n * The size of the input\n * @default default\n */\n size?: 'small' | 'default' | 'large' | string;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | null>;\n /** Style map for the input */\n inputStyles?: Styles;\n /**\n * The type of the input\n * @default file\n */\n type?: 'file' | 'text';\n /** Direct input props */\n inputProps?: Props;\n /** The file types that the input should accept */\n accept?: string;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n placeholder?: string;\n}\n\nfunction extractFileNameFromValue(value?: string) {\n return typeof value === 'string'\n ? (value as string).split('\\\\')?.pop()\n : undefined;\n}\n\nfunction FileInput(allProps: CubeFileInputProps, ref) {\n const { t } = useI18n();\n\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n });\n\n let {\n id,\n name,\n qa,\n value,\n onChange,\n placeholder,\n inputRef,\n isDisabled,\n isInvalid,\n isValid,\n inputStyles,\n type = 'file',\n inputProps,\n accept,\n form,\n ...otherProps\n } = props;\n\n const [dragHover, setDragHover] = useState(false);\n const [currentValue, setValue] = useControlledState(\n value,\n props.defaultValue ?? '',\n onChange,\n );\n const [selection, setSelection] = useState<{\n value: string;\n name: string;\n }>();\n const fileName =\n type === 'file'\n ? extractFileNameFromValue(currentValue)\n : currentValue === selection?.value\n ? selection?.name\n : undefined;\n const reader = useRef<FileReader | null>(null);\n\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n useEffect(() => {\n // Browsers only allow clearing a file input programmatically. A reset or\n // external value replacement must also release the old native selection.\n if (inputRef.current && currentValue !== selection?.value) {\n inputRef.current.value = '';\n }\n }, [currentValue, selection, inputRef]);\n useEffect(() => () => reader.current?.abort(), [type]);\n\n const onLocalChange = useEvent((event: ChangeEvent<HTMLInputElement>) => {\n reader.current?.abort();\n const file = event.target.files?.[0];\n const name = file?.name ?? '';\n const commit = (next: string) => {\n setSelection({ value: next, name });\n setValue(next);\n };\n if (type === 'file') {\n commit(event.target.value);\n } else if (file) {\n const nextReader = new FileReader();\n reader.current = nextReader;\n nextReader.onload = () => commit(String(nextReader.result ?? ''));\n nextReader.readAsText(file);\n } else {\n commit('');\n }\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n // The button is the control: the label points at the hidden native input so\n // that clicking it opens the file dialog, but the button is what takes focus.\n // So it names itself — the label, or its own `aria-label`, then what it says\n // — and takes the field's description and message.\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n } = props as AriaLabelingProps;\n // A caller's own label id is kept: the trigger refers to whichever it is.\n const labelId = props.labelProps?.id ?? `${id}-label`;\n const triggerId = `${id}-trigger`;\n const chooseFileId = `${id}-choose-file`;\n const fileNameId = `${id}-file-name`;\n const nameSource =\n ariaLabelledBy ?? (props.label ? labelId : ariaLabel ? triggerId : null);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const fileInput = (\n <FileInputElement\n ref={domRef}\n id={triggerId}\n aria-label={ariaLabel}\n aria-labelledby={[nameSource, chooseFileId, fileNameId]\n .filter(Boolean)\n .join(' ')}\n aria-describedby={ariaDescribedBy}\n styles={inputStyles}\n isDisabled={isDisabled}\n mods={{\n selected: !!fileName,\n 'drag-hover': dragHover,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === 'Space') {\n inputRef?.current?.click();\n }\n }}\n >\n <input\n ref={inputRef}\n id={id}\n name={name}\n accept={accept}\n data-qa={qa || 'FileInput'}\n data-input-type=\"fileinput\"\n data-element=\"Input\"\n disabled={isDisabled}\n type=\"file\"\n multiple={false}\n tabIndex={-1}\n onChange={onLocalChange}\n onDragEnter={() => {\n setDragHover(true);\n }}\n onDragLeave={() => {\n setDragHover(false);\n }}\n onDrop={() => {\n setDragHover(false);\n }}\n {...inputProps}\n />\n <div id={chooseFileId} data-element=\"Button\">\n {t('fileInput.chooseFile', 'Choose file')}\n </div>\n <div id={fileNameId} data-element={fileName ? 'Value' : 'Placeholder'}>\n {fileName ||\n placeholder ||\n t('fileInput.noFileSelected', 'No file selected')}\n </div>\n <ValidationIndicator isInvalid={isInvalid} isValid={isValid} />\n </FileInputElement>\n );\n\n return wrapWithField(fileInput, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, { id: labelId }),\n });\n}\n\n/**\n * FileInputs are file inputs that allow users to select local files to\n * upload them to the server.\n */\nconst _FileInput = forwardRef(FileInput);\n\n_FileInput.displayName = 'FileInput';\n\nexport { _FileInput as FileInput };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAsCA,MAAM8B,mBAAmBtB,MAAMa,QAAQ;CACrCU,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,MAAM;EACNC,YAAY;EACZC,MAAM;GACJ,IAAI;GACJ,cAAc;GACd,UAAU;GACVC,UAAU;GACX;EACDC,QAAQ;GACN,IAAI;GACJC,OAAO;GACPC,SAAS;GACT,kCAAkC;GACnC;EACDC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,YAAY;EAEZC,QAAQ;GACNJ,QAAQ;GACRH,QAAQ;IACN,IAAI;IACJQ,SAAS;IACV;GACDV,MAAM;GACNW,OAAO;IACL,IAAI;IACJV,UAAU;IACX;GACDL,SAAS;GACTgB,YAAY;GACb;EAEDC,aAAa;GACXF,OAAO;GACPH,YAAY;GACZM,cAAc;GACdC,OAAO;GACPR,UAAU;GACX;EAEDS,OAAO;GACLL,OAAO;GACPH,YAAY;GACZM,cAAc;GACdC,OAAO;GACPR,UAAU;GACX;EAEDU,OAAO;GACLxB,SAAS;GACTM,YAAY;GACb;EAEDmB,gBAAgB;GACdC,GAAG;GACH1B,SAAS;GACTM,YAAY;GACZgB,OAAO;GACPK,UAAU;GACX;EAEDC,OAAO;GACL3B,UAAU;GACV4B,KAAK;GACLC,OAAO;GACPC,QAAQ;GACRC,MAAM;GACNpB,QAAQ;GACRqB,SAAS;GACTpB,QAAQ;GACRqB,QAAQ;GACV;EACF;CACD,CAAC;AAiCF,SAASc,yBAAyBJ,OAAgB;AAChD,QAAO,OAAOA,UAAU,WACnBA,MAAiBK,MAAM,KAAK,EAAEC,KAAK,GACpCC;;AAGN,SAASC,UAAUC,UAA8BC,KAAK;CACpD,MAAM,EAAEC,MAAMxE,SAAS;CAEvB,MAAMyE,QAAQlE,cAAc+D,UAAU,EACpCI,0BAA0B,YAC3B,CAAC;CAEF,IAAI,EACFC,IACAC,MACA7D,IACA8C,OACAE,UACAC,aACAT,UACAsB,YACAC,WACAC,SACAtB,aACAC,OAAO,QACPC,YACAC,QACAoB,MACA,GAAGC,eACDR;CAEJ,MAAM,CAACS,WAAWC,gBAAgBrF,SAAS,MAAM;CACjD,MAAM,CAACsF,cAAcC,YAAYpG,mBAC/B4E,OACAY,MAAMX,gBAAgB,IACtBC,SACD;CACD,MAAM,CAACuB,WAAWC,gBAAgBzF,UAG9B;CACJ,MAAM0F,WACJ9B,SAAS,SACLO,yBAAyBmB,aAAa,GACtCA,iBAAiBE,WAAWzB,QAC1ByB,WAAWV,OACXR;CACR,MAAMqB,SAAS5F,OAA0B,KAAK;CAE9C,IAAI8F,SAAS9F,OAAO,KAAK;AAEzB0D,YAAWpD,gBAAgBoD,SAAS;AAEpC5D,iBAAgB;AAGd,MAAI4D,SAASqC,WAAWR,iBAAiBE,WAAWzB,MAClDN,UAASqC,QAAQ/B,QAAQ;IAE1B;EAACuB;EAAcE;EAAW/B;EAAS,CAAC;AACvC5D,uBAAsB8F,OAAOG,SAASC,OAAO,EAAE,CAACnC,KAAK,CAAC;CAEtD,MAAMoC,gBAAgB/F,UAAUgG,UAAyC;AACvEN,SAAOG,SAASC,OAAO;EACvB,MAAMG,OAAOD,MAAME,OAAOC,QAAQ;EAClC,MAAMtB,SAAOoB,MAAMpB,QAAQ;EAC3B,MAAMuB,UAAUC,SAAiB;AAC/Bb,gBAAa;IAAE1B,OAAOuC;IAAMxB,MAAAA;IAAM,CAAC;AACnCS,YAASe,KAAK;;AAEhB,MAAI1C,SAAS,OACXyC,QAAOJ,MAAME,OAAOpC,MAAM;WACjBmC,MAAM;GACf,MAAMK,aAAa,IAAIX,YAAY;AACnCD,UAAOG,UAAUS;AACjBA,cAAWC,eAAeH,OAAOI,OAAOF,WAAWG,UAAU,GAAG,CAAC;AACjEH,cAAWI,WAAWT,KAAK;QAE3BG,QAAO,GAAG;GAEZ;AAEW/F,eAAc6E,YAAY7F,iBAAiB;CAMxD,MAAM,EACJ,cAAcsH,WACd,mBAAmBC,gBACnB,oBAAoBC,oBAClBnC;CAEJ,MAAMoC,UAAUpC,MAAMqC,YAAYnC,MAAM,GAAGA,GAAE;CAC7C,MAAMoC,YAAY,GAAGpC,GAAE;CACvB,MAAMqC,eAAe,GAAGrC,GAAE;CAC1B,MAAMsC,aAAa,GAAGtC,GAAE;CACxB,MAAMuC,aACJP,mBAAmBlC,MAAM0C,QAAQN,UAAUH,YAAYK,YAAY;AAGrEnH,qBAAoB2E,YAAY;EAC9B,GAAGvF,mBAAmB2G,QAAQpC,SAAS;EACvC6D,SAAS;AACP,OAAI7D,UAAUqC,QACZrC,UAASqC,QAAQwB,QAAQ;;EAG7BC,kBAAkB;AAChB,UAAO9D,UAAUqC;;EAEpB,EAAE;AA4DH,QAAOnF,cAzDL,qBAAC;EACC,KAAKkF;EACL,IAAIoB;EACJ,cAAYL;EACZ,mBAAiB;GAACQ;GAAYF;GAAcC;GAAW,CACpDM,OAAOC,QAAQ,CACfC,KAAK,IAAI;EACZ,oBAAkBb;EAClB,QAAQnD;EACIoB;EACZ,MAAM;GACJ6C,UAAU,CAAC,CAAClC;GACZ,cAAcN;GACd,GAAG5E,kBAAkB;IAAEwE;IAAWC;IAAS,CAAA;GAC5C;EACD,YAAY4C,MAAM;AAChB,OAAIA,EAAEC,QAAQ,WAAWD,EAAEC,QAAQ,QACjCrE,WAAUqC,SAASiC,OAAO;;;GAI9B,oBAAC;IACC,KAAKtE;IACDoB;IACEC;IACEhB;IACR,WAAS7C,MAAM;IACf,mBAAgB;IAChB,gBAAa;IACb,UAAU8D;IACV,MAAK;IACL,UAAU;IACV,UAAU;IACV,UAAUiB;IACV,mBAAmB;AACjBX,kBAAa,KAAK;;IAEpB,mBAAmB;AACjBA,kBAAa,MAAM;;IAErB,cAAc;AACZA,kBAAa,MAAM;;IAErB,GAAIxB;KAAW;GAEjB,oBAAC;IAAI,IAAIqD;IAAc,gBAAa;cACjCxC,EAAE,wBAAwB,cAAc;KACtC;GACL,oBAAC;IAAI,IAAIyC;IAAY,gBAAczB,WAAW,UAAU;cACrDA,YACCxB,eACAQ,EAAE,4BAA4B,mBAAmB;KAChD;GACL,oBAAC;IAA+BM;IAAoBC;KAAQ;;GAE/D,EAE+BY,QAAQ;EACtC,GAAGlB;EACHqC,YAAY5G,WAAWuE,MAAMqC,YAAY,EAAEnC,IAAIkC,SAAS,CAAA;EACzD,CAAC;;;;;;AAOJ,MAAMiB,aAAarI,WAAW4E,UAAU;AAExCyD,WAAWC,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -459,6 +459,10 @@ const FilterListBox = forwardRef(function FilterListBox(props, ref) {
|
|
|
459
459
|
"aria-haspopup": "listbox",
|
|
460
460
|
"aria-controls": listBoxId,
|
|
461
461
|
"aria-activedescendant": activeOptionKey != null ? getListBoxOptionId(listBoxId, activeOptionKey) : void 0,
|
|
462
|
+
"aria-label": props["aria-label"],
|
|
463
|
+
"aria-labelledby": props["aria-labelledby"],
|
|
464
|
+
"aria-describedby": props["aria-describedby"],
|
|
465
|
+
"aria-invalid": isInvalid || void 0,
|
|
462
466
|
onChange: (e_0) => {
|
|
463
467
|
handleSearchChange(e_0.target.value);
|
|
464
468
|
},
|