@cube-dev/ui-kit 0.207.0 → 0.209.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 +26 -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-sync-ref.js.map +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 +0 -2
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +7 -4
- 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/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/AutoCollapseObserver.js +215 -0
- package/dist/components/actions/Button/AutoCollapseObserver.js.map +1 -0
- package/dist/components/actions/Button/Button.d.ts +38 -1
- package/dist/components/actions/Button/Button.js +80 -19
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +16 -1
- package/dist/components/actions/Button/index.js +13 -0
- package/dist/components/actions/Button/index.js.map +1 -0
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- 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 +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
- package/dist/components/actions/ItemButton/ItemButton.js +2 -2
- 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.d.ts +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +2 -2
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +3 -3
- package/dist/components/actions/Menu/MenuTrigger.js.map +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 -1
- 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 +6 -18
- package/dist/components/actions/use-action.js +2 -2
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +0 -1
- package/dist/components/actions/use-anchored-menu.js +2 -2
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +0 -1
- package/dist/components/actions/use-context-menu.js +3 -3
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js.map +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/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.d.ts +0 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
- package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
- package/dist/components/content/Disclosure/Disclosure.js +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Divider/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.d.ts +1 -11
- package/dist/components/content/Item/Item.js +111 -115
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
- package/dist/components/content/Item/index.d.ts +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +1 -2
- 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/Layout.js.map +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/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js.map +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/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +4 -4
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +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/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 +2 -2
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +0 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -5
- package/dist/components/content/Tree/TreeNode.js.map +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/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +233 -111
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +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/ColumnResizer.js.map +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/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +6 -6
- 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-menu.js.map +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 +1 -1
- 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-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-menu.js +2 -2
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js.map +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-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +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/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
- package/dist/components/fields/ComboBox/ComboBox.js +6 -6
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateInput.js +2 -2
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DatePicker.js +2 -2
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +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/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/TimeInput.js +2 -2
- package/dist/components/fields/DatePicker/TimeInput.js.map +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.d.ts +0 -1
- package/dist/components/fields/FileInput/FileInput.js +207 -185
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +0 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +4 -4
- 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 +2 -2
- 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/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +0 -2
- package/dist/components/fields/Picker/Picker.js +8 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +3 -5
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -2
- package/dist/components/fields/Select/Select.js +7 -7
- 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/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +2 -2
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +2 -2
- package/dist/components/fields/Slider/types.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +5 -5
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/TagList.js.map +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 +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +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/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
- 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 +1 -1
- 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/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +0 -1
- package/dist/components/form/Form/Field.d.ts +0 -1
- package/dist/components/form/Form/Field.js +3 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +1 -26
- package/dist/components/form/Form/Form.js +7 -116
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/FormContext.d.ts +30 -0
- package/dist/components/form/Form/FormContext.js +79 -0
- package/dist/components/form/Form/FormContext.js.map +1 -0
- package/dist/components/form/Form/FormElement.js +49 -0
- package/dist/components/form/Form/FormElement.js.map +1 -0
- package/dist/components/form/Form/ModernFormRoot.js +3 -2
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.d.ts +0 -1
- package/dist/components/form/Form/SubmitError.js +3 -3
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.d.ts +2 -1
- package/dist/components/form/Form/index.js +6 -5
- package/dist/components/form/Form/index.js.map +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/types.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
- package/dist/components/form/Form/use-field/use-field-props.js +4 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field.js +2 -2
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.d.ts +0 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/field-layout.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +0 -1
- package/dist/components/form/wrapper.js +1 -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/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +2 -2
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +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 +4 -4
- 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/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- 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 +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +2 -2
- 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 +2 -2
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +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 +2 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
- package/dist/components/overlays/Dialog/Dialog.js +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +2 -2
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +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/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- 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 +2 -2
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +2 -2
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -2
- 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 +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/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js.map +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/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
- 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/PersistentNotificationsList.js.map +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-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +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-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +2 -2
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.js +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +20 -7
- package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -0
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +225 -103
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +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/LoadingAnimation/LoadingAnimation.js.map +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 +8 -32
- 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 +4 -4
- package/dist/i18n/instance.js +3 -3
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/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.d.ts +29 -27
- package/dist/index.js +69 -69
- 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/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 +23 -11
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +2 -2
- 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/index.d.ts +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.d.ts +3 -3
- package/dist/utils/react/index.js +13 -13
- 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/useOverlayEscapeGuard.js.map +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 +3 -3
- package/docs/Usage.md +15 -1
- package/docs/components/actions/Button.md +45 -0
- package/docs/components/actions/ButtonSplit.md +1 -1
- package/docs/components/fields/FileInput.md +18 -5
- package/docs/glaze/contrast.mdx +751 -0
- package/docs/glaze/exporting.mdx +635 -0
- package/docs/glaze/getting-started.mdx +487 -0
- package/docs/glaze/hdr.mdx +523 -0
- package/docs/glaze/methodology.mdx +979 -0
- package/docs/glaze/migration.md +476 -285
- package/docs/glaze/mixes.mdx +348 -0
- package/docs/glaze/okhst.mdx +692 -0
- package/docs/glaze/reference/color-definitions.md +552 -0
- package/docs/glaze/reference/color-tokens.md +421 -0
- package/docs/glaze/reference/configuration.md +532 -0
- package/docs/glaze/reference/contrast.md +279 -0
- package/docs/glaze/reference/index.md +225 -0
- package/docs/glaze/reference/output.md +714 -0
- package/docs/glaze/reference/palette.md +435 -0
- package/docs/glaze/reference/theme.md +332 -0
- package/docs/glaze/reference/utilities.md +646 -0
- package/docs/glaze/schemes.mdx +644 -0
- package/docs/glaze/shadows-and-glows.mdx +550 -0
- package/docs/tasty/ai-agents.md +1 -1
- package/docs/tasty/design-system.md +12 -0
- package/docs/tasty/dsl.md +20 -0
- package/docs/tasty/pipeline.md +1 -1
- package/package.json +5 -5
- package/tasty.config.generated.ts +1 -1
- package/dist/components/actions/index.js +0 -29
- package/dist/components/actions/index.js.map +0 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
- package/dist/components/overlays/Modal/Modal.d.ts +0 -3
- package/dist/components/overlays/Modal/Popover.d.ts +0 -7
- package/dist/components/overlays/Modal/Tray.d.ts +0 -5
- package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
- package/dist/components/overlays/Modal/index.d.ts +0 -8
- package/docs/glaze/api.md +0 -2021
- package/docs/glaze/methodology.md +0 -686
- package/docs/glaze/okhst.md +0 -207
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/navigation/Tabs/popover-placement.ts
|
|
3
3
|
/**
|
|
4
4
|
* Maps the parent Tabs `placement` to the popover placement for menus and
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/navigation/Tabs/segmented-styles.ts
|
|
3
3
|
/**
|
|
4
4
|
* The track: the pill the segments sit on. Applied to `Tabs`' Bar and to the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { Item as _Item } from "../../content/Item/Item.js";
|
|
3
3
|
import { SEGMENTED_LIST_STYLES, SEGMENTED_SEGMENT_STYLES, SEGMENTED_TRACK_STYLES } from "./segmented-styles.js";
|
|
4
4
|
import { mergeStyles, tasty } from "@tenphi/tasty";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","names":["mergeStyles","tasty","Item","SEGMENTED_LIST_STYLES","SEGMENTED_SEGMENT_STYLES","SEGMENTED_TRACK_STYLES","TabsElement","styles","display","flow","flexShrink","flexGrow","width","height","overflow","Bar","$","placeItems","border","boxSizing","padding","radius","fill","$transition","Prefix","placeContent","placeSelf","gap","Suffix","ScrollWrapper","position","Scroll","scrollbar","margin","fade","transition","TabList","gridAutoColumns","gridAutoRows","$size","Scrollbar","bottom","top","left","right","opacity","pointerEvents","TabElement","as","color","disabled","preset","shadow","editing","outline","gridTemplate","Label","Actions","TabContainer","cursor","draggable","dragging","DropIndicatorElement","zIndex","TabIndicatorElement","TabPanelElement","hide","active","Item"],"sources":["../../../../src/components/navigation/Tabs/styled.ts"],"sourcesContent":["import { mergeStyles, tasty } from '@tenphi/tasty';\n\nimport { Item } from '../../content/Item';\n\nimport {\n SEGMENTED_LIST_STYLES,\n SEGMENTED_SEGMENT_STYLES,\n SEGMENTED_TRACK_STYLES,\n} from './segmented-styles';\n\n// =============================================================================\n// Main Tabs Container — flex wrapper holding the tab Bar and the panels.\n// `placement` mod drives `flex-direction` so DOM order stays \"bar then panels\"\n// and visual order is controlled with `column / column-reverse / row / row-reverse`.\n// =============================================================================\n\nexport const TabsElement = tasty({\n styles: {\n display: 'flex',\n flow: {\n '': 'column',\n 'placement=bottom': 'column-reverse',\n 'placement=left': 'row',\n 'placement=right': 'row-reverse',\n },\n // Participate in parent flex layouts; allow shrinking on both axes so we\n // never force the parent into overflow. The Bar keeps `flex-shrink: 0`,\n // which makes the practical minimum of the wrapper along the main axis\n // equal to the tablist's intrinsic size. When there are no panels the\n // wrapper has only the Bar inside it, so we lock its sizing to the Bar's\n // intrinsic size — matching the pre-wrapper behavior of a panel-less Tabs.\n flexShrink: { '': 0, 'has-panels': 1 },\n flexGrow: { '': 0, 'has-panels': 1 },\n width: 'min 0',\n height: 'min 0',\n overflow: 'visible',\n\n // ============================================\n // Bar — the tab strip (Prefix + ScrollWrapper + Suffix). For the radio\n // type it is the segmented control's track (`segmented-styles.ts`).\n // ============================================\n Bar: mergeStyles(\n {\n $: '>',\n display: 'flex',\n flow: {\n '': 'row',\n 'placement=left | placement=right': 'column',\n },\n placeItems: {\n '': 'end stretch',\n 'placement=bottom': 'start stretch',\n 'placement=left': 'stretch end',\n 'placement=right': 'stretch start',\n 'type=radio | type=file': 'stretch',\n },\n overflow: 'visible',\n border: {\n '': 0,\n '(type=default | type=file | type=narrow) & has-panels': 'bottom',\n '(type=default | type=file | type=narrow) & has-panels & placement=bottom':\n 'top',\n '(type=default | type=file | type=narrow) & has-panels & placement=left':\n 'right',\n '(type=default | type=file | type=narrow) & has-panels & placement=right':\n 'left',\n },\n // Bar sizing — always follow the outer wrapper along the main axis so\n // `width` / `height` props on `<Tabs>` apply to the strip as they did\n // before the wrapper was introduced.\n // - horizontal placements: main-axis = wrapper width (100%), cross-axis intrinsic (auto)\n // - vertical placements: main-axis = wrapper height (100%), cross-axis intrinsic (auto / max-content for radio)\n // `border-box` keeps the radio padding inside that 100%. Without a global\n // border-box reset in the app, the pill would otherwise paint `1x` past\n // the wrapper and into the gap before its sibling.\n boxSizing: 'border-box',\n width: {\n '': '100%',\n 'placement=left | placement=right': 'auto',\n 'type=radio & (placement=left | placement=right)': 'max-content',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': '100%',\n 'type=radio & (placement=left | placement=right)': 'max-content',\n },\n padding: 0,\n radius: 0,\n fill: '#clear',\n // Never let the Bar shrink/grow within the outer wrapper — this is what\n // gives the wrapper its effective \"tablist-size minimum\" on the main axis.\n flexShrink: 0,\n flexGrow: 0,\n\n $transition: '$tab-transition',\n // The indicator line's thickness, in device pixels.\n '$tab-indicator-size': {\n '': '2px',\n 'size=large': '1ow',\n },\n },\n SEGMENTED_TRACK_STYLES,\n ),\n\n // ============================================\n // Prefix — slot before the scroll area.\n // ============================================\n Prefix: {\n $: '> Bar >',\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n flexShrink: 0,\n placeSelf: 'stretch',\n padding: {\n '': 0,\n 'type=default': '.5x 0 .5x 1x',\n 'type=default & (placement=left | placement=right)': '1x .5x 0 .5x',\n },\n gap: {\n '': 0,\n 'type=default': '.5x',\n },\n border: {\n '': 0,\n 'type=file': 'right',\n 'type=file & (placement=left | placement=right)': 'bottom',\n },\n },\n\n // ============================================\n // Suffix — slot after the scroll area.\n // ============================================\n Suffix: {\n $: '> Bar >',\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n flexShrink: 0,\n placeSelf: 'stretch',\n padding: {\n '': 0,\n 'type=default': '.5x 1x .5x 0',\n 'type=default & (placement=left | placement=right)': '0 .5x 1x .5x',\n },\n gap: {\n '': 0,\n 'type=default': '.5x',\n },\n border: {\n '': 0,\n 'type=file': 'left',\n 'type=file & (placement=left | placement=right)': 'top',\n },\n },\n\n // Wrapper for scroll area and scrollbar (scrollbar is positioned relative to this)\n ScrollWrapper: {\n $: '> Bar >',\n position: 'relative',\n display: 'flex',\n flexGrow: 1,\n flexShrink: 1,\n width: {\n '': 'min 0',\n 'placement=left | placement=right': 'auto',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': 'min 0',\n },\n overflow: {\n '': 'hidden',\n 'type=radio': 'visible',\n },\n },\n\n Scroll: {\n $: '> Bar > ScrollWrapper >',\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'auto hidden',\n 'placement=left | placement=right': 'hidden auto',\n 'type=radio': 'visible',\n },\n scrollbar: 'none',\n flexGrow: 1,\n width: '100%',\n // Add padding/margin for radio type to allow shadow to render outside\n padding: {\n '': 0,\n 'type=radio': '.5x',\n },\n margin: {\n '': 0,\n 'type=radio': '-.5x',\n },\n // Multi-group fade with axis-neutral color tokens for smooth transitions.\n // Direction flips based on placement.\n fade: {\n '': '2x left #tabs-fade-start #black, 2x right #tabs-fade-end #black',\n 'placement=left | placement=right':\n '2x top #tabs-fade-start #black, 2x bottom #tabs-fade-end #black',\n },\n // ##name outputs --name-color (literal CSS property name)\n transition:\n '##tabs-fade-start $tab-transition ease-in, ##tabs-fade-end $tab-transition ease-in',\n\n // Transition transparent color: opaque (no fade) -> transparent (fade visible)\n '#tabs-fade-start': {\n '': '#black',\n 'fade-start': '#black.0',\n },\n '#tabs-fade-end': {\n '': '#black',\n 'fade-end': '#black.0',\n },\n },\n\n TabList: mergeStyles(\n {\n $: '> Bar > ScrollWrapper > Scroll >',\n position: 'relative',\n display: 'grid',\n // `border-box` is required because we set `width: 100%` for vertical\n // placements AND apply padding. With the default `content-box`, the\n // TabList's outer box would be `100% + padding × 2` and overflow Scroll\n // horizontally — and the side selection indicator (positioned at\n // `right: 0` / `left: 0` of TabList) would land in that overflow region\n // and get clipped by Scroll's `overflow-x: hidden`.\n boxSizing: 'border-box',\n flow: {\n '': 'column',\n 'placement=left | placement=right': 'row',\n },\n gridAutoColumns: {\n '': 'auto',\n 'type=radio': '1fr',\n },\n gridAutoRows: {\n '': 'auto',\n 'type=radio & (placement=left | placement=right)': '1fr',\n },\n gap: {\n '': 0,\n 'type=default': '1x',\n 'type=narrow': '2x',\n // Tabs stack vertically — collapse the gap so the strip reads as a\n // single column. `narrow` is coerced to `default` in vertical, but we\n // keep the rule defensive in case the styled element is consumed\n // directly with a `type=narrow` mod set.\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '$item-gap',\n },\n placeContent: 'start',\n overflow: 'visible',\n width: {\n '': 'max-content',\n 'type=radio': '100%',\n 'placement=left | placement=right': '100%',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': 'max-content',\n },\n // For vertical default/narrow we apply `$tablist-padding` on ALL sides\n // (instead of only the parallel axis) so the breathing room around the\n // tabs and the selection indicator can be tuned via the `tabListPadding`\n // prop — the same prop that controls horizontal start/end padding.\n padding: {\n '': '0 $tablist-padding',\n 'placement=left | placement=right': '$tablist-padding 0',\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '$tablist-padding',\n },\n\n // Default `$tablist-padding` per type. Vertical default/narrow gets the\n // smaller `.5x` default since it applies to all four sides; the\n // `tabListPadding` prop overrides this via inline CSS variable.\n '$tablist-padding': {\n '': '0',\n 'type=default | type=narrow': '1x',\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '.5x',\n },\n },\n SEGMENTED_LIST_STYLES,\n ),\n\n // Size variable for actions (if ItemAction is used instead of TabsAction)\n $size: {\n '': '$size-md',\n 'size=xsmall': '$size-xs',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n 'size=xlarge': '$size-xl',\n },\n\n // Custom tiny scrollbar — positioned relative to ScrollWrapper. Switches\n // edges and dimensions based on placement; the driving CSS custom\n // properties come from `useTinyScrollbar.handleHTokens` / `handleVTokens`.\n Scrollbar: {\n $: '> Bar > ScrollWrapper >',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: {\n '': '$scrollbar-inset',\n 'placement=left | placement=right': 'auto',\n },\n top: {\n '': 'auto',\n 'placement=left | placement=right': '$scrollbar-v-top',\n },\n left: {\n '': '$scrollbar-h-left',\n 'placement=left | placement=right': 'auto',\n },\n right: {\n '': 'auto',\n 'placement=left | placement=right': '$scrollbar-inset',\n },\n height: {\n '': '1ow',\n 'placement=left | placement=right': '$scrollbar-v-height',\n },\n width: {\n '': '$scrollbar-h-width',\n 'placement=left | placement=right': '1ow',\n },\n radius: 'round',\n fill: '#surface-text.35',\n opacity: {\n '': 0,\n 'focused | scrolling': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n },\n});\n\n// =============================================================================\n// Tab Button (extends Item)\n// =============================================================================\n\n// A radio tab is a segment of the control `Radio.Tabs` shares: its look comes\n// from `segmented-styles.ts`, merged in after the tab's own styles.\nexport const TabElement = tasty(Item, {\n as: 'button',\n styles: mergeStyles(\n {\n radius: {\n '': false,\n 'type=default': true,\n 'type=narrow': 'top',\n 'type=narrow & placement=bottom': 'bottom',\n 'type=narrow & placement=left': 'left',\n 'type=narrow & placement=right': 'right',\n },\n // Tab colors read current tokens, not the legacy aliases that point at them\n // (`#dark-02`, `#primary-text`, `#primary`). Root resolves an alias once, on\n // the page root, so a caller re-declaring the current token on `Tabs` would\n // never reach it. The contract is under \"Theming\" in `Tabs.docs.mdx`.\n color: {\n '': '#surface-text-soft',\n 'type=narrow & (hovered & !selected)': '#primary-accent-text',\n '(type=default | type=narrow) & selected': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n },\n fill: {\n '': '#clear',\n 'hovered & !type=narrow': '#surface-text.03',\n 'type=file': '#surface-3',\n 'type=file & hovered': '#surface-3.5',\n 'type=file & selected': '#surface',\n // Spring-load hint: a widget is hovering this tab and it is about to open.\n 'drop-pending': '#primary-accent-surface.10',\n },\n border: {\n '': '#clear',\n 'type=file': '0 #clear',\n },\n preset: {\n '': 't3m',\n 'size=xsmall': 't4',\n },\n shadow: {\n '': '$selection-shadow',\n 'focused & focus-visible':\n 'inset 0 0 0 $ring-width #primary-accent-text, $selection-shadow',\n editing:\n 'inset 0 0 0 $ring-width #primary-accent-text, $selection-shadow',\n },\n outline: 'none',\n // oxlint-disable-next-line tasty/require-default-state -- extends Item's own gridTemplate map\n gridTemplate: {\n // Sized by content like a radio button, but the label column keeps a\n // zero minimum (as `Item`'s `1sf` does), so a tab given less room than\n // its title truncates it — and gets the auto tooltip — instead of\n // spilling the title out of the tab.\n 'type=radio':\n '\"icon prefix label suffix rightIcon actions\" auto / max-content max-content minmax(0, max-content) max-content max-content max-content',\n },\n // File-type selection indicator: an inset shadow on the edge that faces\n // the panel area. Flips with placement so the highlight always sits on\n // the edge adjacent to the content.\n '$selection-shadow': {\n '': 'inset 0 0 0 0 #primary-accent-surface',\n 'type=file & selected':\n 'inset 0 (-1 * $tab-indicator-size) 0 0 #primary-accent-surface',\n 'type=file & selected & placement=bottom':\n 'inset 0 $tab-indicator-size 0 0 #primary-accent-surface',\n 'type=file & selected & placement=left':\n 'inset (-1 * $tab-indicator-size) 0 0 0 #primary-accent-surface',\n 'type=file & selected & placement=right':\n 'inset $tab-indicator-size 0 0 0 #primary-accent-surface',\n '!type=file': 'inset 0 0 0 0 #primary-accent-surface.0',\n },\n // Collapse horizontal padding for narrow type\n '$label-padding-left': {\n '': '$inline-padding',\n 'has-start-content': 0,\n 'type=narrow': 0,\n },\n '$label-padding-right': {\n '': '$inline-padding',\n 'has-end-content': 0,\n 'type=narrow': 0,\n },\n Label: {\n placeSelf: {\n '': 'center start',\n 'type=radio': 'center start',\n 'type=radio & !has-prefix & !has-suffix & !has-icon & !has-right-icon':\n 'center',\n },\n },\n Actions: {\n transition: false,\n },\n },\n SEGMENTED_SEGMENT_STYLES,\n // The spring-load hint stays above the segment's own fill.\n { fill: { 'drop-pending': '@inherit' } },\n ),\n});\n\n// =============================================================================\n// Tab Container (wrapper for tab + actions)\n// =============================================================================\n\nexport const TabContainer = tasty({\n styles: {\n position: 'relative',\n display: 'grid',\n margin: {\n '': 0,\n // Horizontal strip: .5x top/bottom creates space between the tab and the\n // bottom-edge indicator (which sits at `bottom: 0` of TabList).\n 'type=default': '.5x 0',\n // Vertical strip: the breathing room around the tabs and the gap from\n // the side indicator is provided by the TabList's own `.5x` padding —\n // don't add per-tab horizontal margin on top of it.\n 'type=default & (placement=left | placement=right)': 0,\n },\n border: {\n '': 0,\n 'type=file': 'right',\n 'type=file & (placement=left | placement=right)': 'bottom',\n },\n cursor: {\n '': 'default',\n draggable: 'grab',\n dragging: 'grabbing',\n },\n },\n});\n\n// =============================================================================\n// Drop Indicator for Drag-and-Drop\n// Geometry flips based on placement: a vertical bar between horizontal tabs,\n// a horizontal bar between vertical tabs. `before`/`after` mods come from\n// `TabDropIndicator` and decide which edge inset is applied.\n// =============================================================================\n\nexport const DropIndicatorElement = tasty({\n styles: {\n zIndex: 10,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: {\n '': 0,\n 'drop-target': 1,\n },\n fill: '#primary-accent-surface',\n width: {\n '': '.5x',\n 'placement=left | placement=right': 'auto',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': '.5x',\n },\n top: {\n '': 0,\n 'placement=left | placement=right': 'auto',\n '(placement=left | placement=right) & before': '-.25x',\n },\n bottom: {\n '': 0,\n 'placement=left | placement=right': 'auto',\n '(placement=left | placement=right) & after': '-.25x',\n },\n left: {\n '': 'auto',\n 'before & !(placement=left | placement=right)': '-.25x',\n 'placement=left | placement=right': 0,\n },\n right: {\n '': 'auto',\n 'after & !(placement=left | placement=right)': '-.25x',\n 'placement=left | placement=right': 0,\n },\n },\n});\n\n// =============================================================================\n// Tab Selection Indicator (for default/narrow type)\n// Position flips with placement; the measured offset and length along the tab\n// axis arrive as `$indicator-start` / `$indicator-size` tokens from\n// `useTabIndicator` in `Tabs.tsx` (left/width for horizontal, top/height for\n// vertical).\n// =============================================================================\n\nexport const TabIndicatorElement = tasty({\n styles: {\n position: 'absolute',\n bottom: {\n '': '0',\n 'placement=bottom | placement=left | placement=right': 'auto',\n },\n top: {\n '': 'auto',\n 'placement=bottom': '0',\n 'placement=left | placement=right': '$indicator-start',\n },\n left: {\n '': '$indicator-start',\n 'placement=left': 'auto',\n 'placement=right': '0',\n },\n right: {\n '': 'auto',\n 'placement=left': '0',\n },\n height: {\n '': '$tab-indicator-size',\n 'placement=left | placement=right': '$indicator-size',\n },\n width: {\n '': '$indicator-size',\n 'placement=left | placement=right': '$tab-indicator-size',\n },\n fill: '#primary-accent-surface',\n // Transition all four properties unconditionally — only the two relevant\n // ones change per render, the others stay constant.\n transition:\n 'left $tab-transition ease-in-out, width $tab-transition ease-in-out, top $tab-transition ease-in-out, height $tab-transition ease-in-out',\n pointerEvents: 'none',\n },\n});\n\n// =============================================================================\n// Tab Panel\n// =============================================================================\n\nexport const TabPanelElement = tasty({\n as: 'section',\n styles: {\n display: 'contents',\n hide: {\n '': true,\n active: false,\n },\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styled.js","names":["mergeStyles","tasty","Item","SEGMENTED_LIST_STYLES","SEGMENTED_SEGMENT_STYLES","SEGMENTED_TRACK_STYLES","TabsElement","styles","display","flow","flexShrink","flexGrow","width","height","overflow","Bar","$","placeItems","border","boxSizing","padding","radius","fill","$transition","Prefix","placeContent","placeSelf","gap","Suffix","ScrollWrapper","position","Scroll","scrollbar","margin","fade","transition","TabList","gridAutoColumns","gridAutoRows","$size","Scrollbar","bottom","top","left","right","opacity","pointerEvents","TabElement","as","color","disabled","preset","shadow","editing","outline","gridTemplate","Label","Actions","TabContainer","cursor","draggable","dragging","DropIndicatorElement","zIndex","TabIndicatorElement","TabPanelElement","hide","active","Item"],"sources":["../../../../src/components/navigation/Tabs/styled.ts"],"sourcesContent":["import { mergeStyles, tasty } from '@tenphi/tasty';\n\nimport { Item } from '../../content/Item/Item';\n\nimport {\n SEGMENTED_LIST_STYLES,\n SEGMENTED_SEGMENT_STYLES,\n SEGMENTED_TRACK_STYLES,\n} from './segmented-styles';\n\n// =============================================================================\n// Main Tabs Container — flex wrapper holding the tab Bar and the panels.\n// `placement` mod drives `flex-direction` so DOM order stays \"bar then panels\"\n// and visual order is controlled with `column / column-reverse / row / row-reverse`.\n// =============================================================================\n\nexport const TabsElement = tasty({\n styles: {\n display: 'flex',\n flow: {\n '': 'column',\n 'placement=bottom': 'column-reverse',\n 'placement=left': 'row',\n 'placement=right': 'row-reverse',\n },\n // Participate in parent flex layouts; allow shrinking on both axes so we\n // never force the parent into overflow. The Bar keeps `flex-shrink: 0`,\n // which makes the practical minimum of the wrapper along the main axis\n // equal to the tablist's intrinsic size. When there are no panels the\n // wrapper has only the Bar inside it, so we lock its sizing to the Bar's\n // intrinsic size — matching the pre-wrapper behavior of a panel-less Tabs.\n flexShrink: { '': 0, 'has-panels': 1 },\n flexGrow: { '': 0, 'has-panels': 1 },\n width: 'min 0',\n height: 'min 0',\n overflow: 'visible',\n\n // ============================================\n // Bar — the tab strip (Prefix + ScrollWrapper + Suffix). For the radio\n // type it is the segmented control's track (`segmented-styles.ts`).\n // ============================================\n Bar: mergeStyles(\n {\n $: '>',\n display: 'flex',\n flow: {\n '': 'row',\n 'placement=left | placement=right': 'column',\n },\n placeItems: {\n '': 'end stretch',\n 'placement=bottom': 'start stretch',\n 'placement=left': 'stretch end',\n 'placement=right': 'stretch start',\n 'type=radio | type=file': 'stretch',\n },\n overflow: 'visible',\n border: {\n '': 0,\n '(type=default | type=file | type=narrow) & has-panels': 'bottom',\n '(type=default | type=file | type=narrow) & has-panels & placement=bottom':\n 'top',\n '(type=default | type=file | type=narrow) & has-panels & placement=left':\n 'right',\n '(type=default | type=file | type=narrow) & has-panels & placement=right':\n 'left',\n },\n // Bar sizing — always follow the outer wrapper along the main axis so\n // `width` / `height` props on `<Tabs>` apply to the strip as they did\n // before the wrapper was introduced.\n // - horizontal placements: main-axis = wrapper width (100%), cross-axis intrinsic (auto)\n // - vertical placements: main-axis = wrapper height (100%), cross-axis intrinsic (auto / max-content for radio)\n // `border-box` keeps the radio padding inside that 100%. Without a global\n // border-box reset in the app, the pill would otherwise paint `1x` past\n // the wrapper and into the gap before its sibling.\n boxSizing: 'border-box',\n width: {\n '': '100%',\n 'placement=left | placement=right': 'auto',\n 'type=radio & (placement=left | placement=right)': 'max-content',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': '100%',\n 'type=radio & (placement=left | placement=right)': 'max-content',\n },\n padding: 0,\n radius: 0,\n fill: '#clear',\n // Never let the Bar shrink/grow within the outer wrapper — this is what\n // gives the wrapper its effective \"tablist-size minimum\" on the main axis.\n flexShrink: 0,\n flexGrow: 0,\n\n $transition: '$tab-transition',\n // The indicator line's thickness, in device pixels.\n '$tab-indicator-size': {\n '': '2px',\n 'size=large': '1ow',\n },\n },\n SEGMENTED_TRACK_STYLES,\n ),\n\n // ============================================\n // Prefix — slot before the scroll area.\n // ============================================\n Prefix: {\n $: '> Bar >',\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n flexShrink: 0,\n placeSelf: 'stretch',\n padding: {\n '': 0,\n 'type=default': '.5x 0 .5x 1x',\n 'type=default & (placement=left | placement=right)': '1x .5x 0 .5x',\n },\n gap: {\n '': 0,\n 'type=default': '.5x',\n },\n border: {\n '': 0,\n 'type=file': 'right',\n 'type=file & (placement=left | placement=right)': 'bottom',\n },\n },\n\n // ============================================\n // Suffix — slot after the scroll area.\n // ============================================\n Suffix: {\n $: '> Bar >',\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n flexShrink: 0,\n placeSelf: 'stretch',\n padding: {\n '': 0,\n 'type=default': '.5x 1x .5x 0',\n 'type=default & (placement=left | placement=right)': '0 .5x 1x .5x',\n },\n gap: {\n '': 0,\n 'type=default': '.5x',\n },\n border: {\n '': 0,\n 'type=file': 'left',\n 'type=file & (placement=left | placement=right)': 'top',\n },\n },\n\n // Wrapper for scroll area and scrollbar (scrollbar is positioned relative to this)\n ScrollWrapper: {\n $: '> Bar >',\n position: 'relative',\n display: 'flex',\n flexGrow: 1,\n flexShrink: 1,\n width: {\n '': 'min 0',\n 'placement=left | placement=right': 'auto',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': 'min 0',\n },\n overflow: {\n '': 'hidden',\n 'type=radio': 'visible',\n },\n },\n\n Scroll: {\n $: '> Bar > ScrollWrapper >',\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'auto hidden',\n 'placement=left | placement=right': 'hidden auto',\n 'type=radio': 'visible',\n },\n scrollbar: 'none',\n flexGrow: 1,\n width: '100%',\n // Add padding/margin for radio type to allow shadow to render outside\n padding: {\n '': 0,\n 'type=radio': '.5x',\n },\n margin: {\n '': 0,\n 'type=radio': '-.5x',\n },\n // Multi-group fade with axis-neutral color tokens for smooth transitions.\n // Direction flips based on placement.\n fade: {\n '': '2x left #tabs-fade-start #black, 2x right #tabs-fade-end #black',\n 'placement=left | placement=right':\n '2x top #tabs-fade-start #black, 2x bottom #tabs-fade-end #black',\n },\n // ##name outputs --name-color (literal CSS property name)\n transition:\n '##tabs-fade-start $tab-transition ease-in, ##tabs-fade-end $tab-transition ease-in',\n\n // Transition transparent color: opaque (no fade) -> transparent (fade visible)\n '#tabs-fade-start': {\n '': '#black',\n 'fade-start': '#black.0',\n },\n '#tabs-fade-end': {\n '': '#black',\n 'fade-end': '#black.0',\n },\n },\n\n TabList: mergeStyles(\n {\n $: '> Bar > ScrollWrapper > Scroll >',\n position: 'relative',\n display: 'grid',\n // `border-box` is required because we set `width: 100%` for vertical\n // placements AND apply padding. With the default `content-box`, the\n // TabList's outer box would be `100% + padding × 2` and overflow Scroll\n // horizontally — and the side selection indicator (positioned at\n // `right: 0` / `left: 0` of TabList) would land in that overflow region\n // and get clipped by Scroll's `overflow-x: hidden`.\n boxSizing: 'border-box',\n flow: {\n '': 'column',\n 'placement=left | placement=right': 'row',\n },\n gridAutoColumns: {\n '': 'auto',\n 'type=radio': '1fr',\n },\n gridAutoRows: {\n '': 'auto',\n 'type=radio & (placement=left | placement=right)': '1fr',\n },\n gap: {\n '': 0,\n 'type=default': '1x',\n 'type=narrow': '2x',\n // Tabs stack vertically — collapse the gap so the strip reads as a\n // single column. `narrow` is coerced to `default` in vertical, but we\n // keep the rule defensive in case the styled element is consumed\n // directly with a `type=narrow` mod set.\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '$item-gap',\n },\n placeContent: 'start',\n overflow: 'visible',\n width: {\n '': 'max-content',\n 'type=radio': '100%',\n 'placement=left | placement=right': '100%',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': 'max-content',\n },\n // For vertical default/narrow we apply `$tablist-padding` on ALL sides\n // (instead of only the parallel axis) so the breathing room around the\n // tabs and the selection indicator can be tuned via the `tabListPadding`\n // prop — the same prop that controls horizontal start/end padding.\n padding: {\n '': '0 $tablist-padding',\n 'placement=left | placement=right': '$tablist-padding 0',\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '$tablist-padding',\n },\n\n // Default `$tablist-padding` per type. Vertical default/narrow gets the\n // smaller `.5x` default since it applies to all four sides; the\n // `tabListPadding` prop overrides this via inline CSS variable.\n '$tablist-padding': {\n '': '0',\n 'type=default | type=narrow': '1x',\n '(type=default | type=narrow) & (placement=left | placement=right)':\n '.5x',\n },\n },\n SEGMENTED_LIST_STYLES,\n ),\n\n // Size variable for actions (if ItemAction is used instead of TabsAction)\n $size: {\n '': '$size-md',\n 'size=xsmall': '$size-xs',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n 'size=xlarge': '$size-xl',\n },\n\n // Custom tiny scrollbar — positioned relative to ScrollWrapper. Switches\n // edges and dimensions based on placement; the driving CSS custom\n // properties come from `useTinyScrollbar.handleHTokens` / `handleVTokens`.\n Scrollbar: {\n $: '> Bar > ScrollWrapper >',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: {\n '': '$scrollbar-inset',\n 'placement=left | placement=right': 'auto',\n },\n top: {\n '': 'auto',\n 'placement=left | placement=right': '$scrollbar-v-top',\n },\n left: {\n '': '$scrollbar-h-left',\n 'placement=left | placement=right': 'auto',\n },\n right: {\n '': 'auto',\n 'placement=left | placement=right': '$scrollbar-inset',\n },\n height: {\n '': '1ow',\n 'placement=left | placement=right': '$scrollbar-v-height',\n },\n width: {\n '': '$scrollbar-h-width',\n 'placement=left | placement=right': '1ow',\n },\n radius: 'round',\n fill: '#surface-text.35',\n opacity: {\n '': 0,\n 'focused | scrolling': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n },\n});\n\n// =============================================================================\n// Tab Button (extends Item)\n// =============================================================================\n\n// A radio tab is a segment of the control `Radio.Tabs` shares: its look comes\n// from `segmented-styles.ts`, merged in after the tab's own styles.\nexport const TabElement = tasty(Item, {\n as: 'button',\n styles: mergeStyles(\n {\n radius: {\n '': false,\n 'type=default': true,\n 'type=narrow': 'top',\n 'type=narrow & placement=bottom': 'bottom',\n 'type=narrow & placement=left': 'left',\n 'type=narrow & placement=right': 'right',\n },\n // Tab colors read current tokens, not the legacy aliases that point at them\n // (`#dark-02`, `#primary-text`, `#primary`). Root resolves an alias once, on\n // the page root, so a caller re-declaring the current token on `Tabs` would\n // never reach it. The contract is under \"Theming\" in `Tabs.docs.mdx`.\n color: {\n '': '#surface-text-soft',\n 'type=narrow & (hovered & !selected)': '#primary-accent-text',\n '(type=default | type=narrow) & selected': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n },\n fill: {\n '': '#clear',\n 'hovered & !type=narrow': '#surface-text.03',\n 'type=file': '#surface-3',\n 'type=file & hovered': '#surface-3.5',\n 'type=file & selected': '#surface',\n // Spring-load hint: a widget is hovering this tab and it is about to open.\n 'drop-pending': '#primary-accent-surface.10',\n },\n border: {\n '': '#clear',\n 'type=file': '0 #clear',\n },\n preset: {\n '': 't3m',\n 'size=xsmall': 't4',\n },\n shadow: {\n '': '$selection-shadow',\n 'focused & focus-visible':\n 'inset 0 0 0 $ring-width #primary-accent-text, $selection-shadow',\n editing:\n 'inset 0 0 0 $ring-width #primary-accent-text, $selection-shadow',\n },\n outline: 'none',\n // oxlint-disable-next-line tasty/require-default-state -- extends Item's own gridTemplate map\n gridTemplate: {\n // Sized by content like a radio button, but the label column keeps a\n // zero minimum (as `Item`'s `1sf` does), so a tab given less room than\n // its title truncates it — and gets the auto tooltip — instead of\n // spilling the title out of the tab.\n 'type=radio':\n '\"icon prefix label suffix rightIcon actions\" auto / max-content max-content minmax(0, max-content) max-content max-content max-content',\n },\n // File-type selection indicator: an inset shadow on the edge that faces\n // the panel area. Flips with placement so the highlight always sits on\n // the edge adjacent to the content.\n '$selection-shadow': {\n '': 'inset 0 0 0 0 #primary-accent-surface',\n 'type=file & selected':\n 'inset 0 (-1 * $tab-indicator-size) 0 0 #primary-accent-surface',\n 'type=file & selected & placement=bottom':\n 'inset 0 $tab-indicator-size 0 0 #primary-accent-surface',\n 'type=file & selected & placement=left':\n 'inset (-1 * $tab-indicator-size) 0 0 0 #primary-accent-surface',\n 'type=file & selected & placement=right':\n 'inset $tab-indicator-size 0 0 0 #primary-accent-surface',\n '!type=file': 'inset 0 0 0 0 #primary-accent-surface.0',\n },\n // Collapse horizontal padding for narrow type\n '$label-padding-left': {\n '': '$inline-padding',\n 'has-start-content': 0,\n 'type=narrow': 0,\n },\n '$label-padding-right': {\n '': '$inline-padding',\n 'has-end-content': 0,\n 'type=narrow': 0,\n },\n Label: {\n placeSelf: {\n '': 'center start',\n 'type=radio': 'center start',\n 'type=radio & !has-prefix & !has-suffix & !has-icon & !has-right-icon':\n 'center',\n },\n },\n Actions: {\n transition: false,\n },\n },\n SEGMENTED_SEGMENT_STYLES,\n // The spring-load hint stays above the segment's own fill.\n { fill: { 'drop-pending': '@inherit' } },\n ),\n});\n\n// =============================================================================\n// Tab Container (wrapper for tab + actions)\n// =============================================================================\n\nexport const TabContainer = tasty({\n styles: {\n position: 'relative',\n display: 'grid',\n margin: {\n '': 0,\n // Horizontal strip: .5x top/bottom creates space between the tab and the\n // bottom-edge indicator (which sits at `bottom: 0` of TabList).\n 'type=default': '.5x 0',\n // Vertical strip: the breathing room around the tabs and the gap from\n // the side indicator is provided by the TabList's own `.5x` padding —\n // don't add per-tab horizontal margin on top of it.\n 'type=default & (placement=left | placement=right)': 0,\n },\n border: {\n '': 0,\n 'type=file': 'right',\n 'type=file & (placement=left | placement=right)': 'bottom',\n },\n cursor: {\n '': 'default',\n draggable: 'grab',\n dragging: 'grabbing',\n },\n },\n});\n\n// =============================================================================\n// Drop Indicator for Drag-and-Drop\n// Geometry flips based on placement: a vertical bar between horizontal tabs,\n// a horizontal bar between vertical tabs. `before`/`after` mods come from\n// `TabDropIndicator` and decide which edge inset is applied.\n// =============================================================================\n\nexport const DropIndicatorElement = tasty({\n styles: {\n zIndex: 10,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: {\n '': 0,\n 'drop-target': 1,\n },\n fill: '#primary-accent-surface',\n width: {\n '': '.5x',\n 'placement=left | placement=right': 'auto',\n },\n height: {\n '': 'auto',\n 'placement=left | placement=right': '.5x',\n },\n top: {\n '': 0,\n 'placement=left | placement=right': 'auto',\n '(placement=left | placement=right) & before': '-.25x',\n },\n bottom: {\n '': 0,\n 'placement=left | placement=right': 'auto',\n '(placement=left | placement=right) & after': '-.25x',\n },\n left: {\n '': 'auto',\n 'before & !(placement=left | placement=right)': '-.25x',\n 'placement=left | placement=right': 0,\n },\n right: {\n '': 'auto',\n 'after & !(placement=left | placement=right)': '-.25x',\n 'placement=left | placement=right': 0,\n },\n },\n});\n\n// =============================================================================\n// Tab Selection Indicator (for default/narrow type)\n// Position flips with placement; the measured offset and length along the tab\n// axis arrive as `$indicator-start` / `$indicator-size` tokens from\n// `useTabIndicator` in `Tabs.tsx` (left/width for horizontal, top/height for\n// vertical).\n// =============================================================================\n\nexport const TabIndicatorElement = tasty({\n styles: {\n position: 'absolute',\n bottom: {\n '': '0',\n 'placement=bottom | placement=left | placement=right': 'auto',\n },\n top: {\n '': 'auto',\n 'placement=bottom': '0',\n 'placement=left | placement=right': '$indicator-start',\n },\n left: {\n '': '$indicator-start',\n 'placement=left': 'auto',\n 'placement=right': '0',\n },\n right: {\n '': 'auto',\n 'placement=left': '0',\n },\n height: {\n '': '$tab-indicator-size',\n 'placement=left | placement=right': '$indicator-size',\n },\n width: {\n '': '$indicator-size',\n 'placement=left | placement=right': '$tab-indicator-size',\n },\n fill: '#primary-accent-surface',\n // Transition all four properties unconditionally — only the two relevant\n // ones change per render, the others stay constant.\n transition:\n 'left $tab-transition ease-in-out, width $tab-transition ease-in-out, top $tab-transition ease-in-out, height $tab-transition ease-in-out',\n pointerEvents: 'none',\n },\n});\n\n// =============================================================================\n// Tab Panel\n// =============================================================================\n\nexport const TabPanelElement = tasty({\n as: 'section',\n styles: {\n display: 'contents',\n hide: {\n '': true,\n active: false,\n },\n },\n});\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
import { CubeItemActionProps } from "../../actions/ItemAction/ItemAction.js";
|
|
3
|
-
import "../../actions/ItemAction/index.js";
|
|
4
3
|
import { CubeMenuProps } from "../../actions/Menu/Menu.js";
|
|
5
|
-
import "../../
|
|
4
|
+
import "../../actions/ItemAction/index.js";
|
|
6
5
|
import "../../actions/Menu/index.js";
|
|
6
|
+
import "../../content/Item/index.js";
|
|
7
7
|
import { CubeItemBaseProps as CubeItemProps } from "../../content/Item/Item.js";
|
|
8
8
|
import { BaseProps, OuterStyleProps, Styles } from "@tenphi/tasty";
|
|
9
9
|
import { ReactNode } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
//#region src/components/navigation/Tabs/use-tab-editing.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { chainRaf } from "../../../utils/raf.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { Text as _Text } from "../../content/Text.js";
|
|
3
3
|
import { Title as _Title } from "../../content/Title.js";
|
|
4
4
|
import { Card } from "../../content/Card/Card.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useProviderProps } from "../../../provider.js";
|
|
3
3
|
import { CalendarPanel } from "./CalendarPanel.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { CALENDAR_CELL_STYLES } from "./styled.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { mergeStyles, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { getWeekNumber } from "../../fields/DatePicker/period.js";
|
|
3
3
|
import { CalendarCell } from "./CalendarCell.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { Title as _Title } from "../../content/Title.js";
|
|
3
3
|
import { Space } from "../../layout/Space.js";
|
|
4
|
+
import { Button } from "../../actions/Button/Button.js";
|
|
4
5
|
import { RightIcon } from "../../../icons/RightIcon.js";
|
|
5
|
-
import { Button } from "../../actions/index.js";
|
|
6
6
|
import { LeftIcon } from "../../../icons/LeftIcon.js";
|
|
7
7
|
import { CalendarHeaderElement } from "./styled.js";
|
|
8
8
|
import { c } from "react/compiler-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeader.js","names":["tasty","ReactNode","LeftIcon","RightIcon","Button","Title","Space","CalendarHeaderElement","Props","CalendarTitleElement","level","preset","styles","display","placeItems","gap","padding","interactive","CalendarTitleButton","type","size","CubeCalendarHeaderSegment","key","label","onPress","isDisabled","CubeCalendarHeaderProps","segments","title","prevButtonProps","nextButtonProps","CalendarHeader","props","$","_c","t0","length","t1","t2","map","_temp","t3","t4","Symbol","for","t5","t6","t7","t8","t9","Title","_c"],"sources":["../../../../src/components/other/Calendar/CalendarHeader.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ReactNode } from 'react';\n\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { Button } from '../../actions';\nimport { Title } from '../../content/Title';\nimport { Space } from '../../layout/Space';\n\nimport { CalendarHeaderElement } from './styled';\n\nimport type { Props } from '../../../props';\n\n/**\n * A heading that holds the view switcher. Its own preset matches the type scale\n * of an `xsmall` button so the plain-title fallback (a decade range, or a\n * calendar with navigation turned off) doesn't outweigh the interactive one.\n */\nconst CalendarTitleElement = tasty(Title, {\n level: 6,\n preset: 't4',\n styles: {\n display: 'flex',\n placeItems: 'center',\n gap: '.25x',\n // Line the plain title up with the label inside a button.\n padding: {\n '': '0 (1x - 1bw)',\n interactive: 0,\n },\n },\n});\n\nconst CalendarTitleButton = tasty(Button, {\n type: 'clear',\n size: 'xsmall',\n});\n\nexport interface CubeCalendarHeaderSegment {\n key: string;\n label: string;\n onPress: () => void;\n isDisabled?: boolean;\n}\n\nexport interface CubeCalendarHeaderProps {\n /**\n * Interactive title segments (month / year). When omitted the header falls\n * back to a plain `title` — e.g. for a multi-month range.\n */\n segments?: CubeCalendarHeaderSegment[];\n title?: ReactNode;\n prevButtonProps?: Props;\n nextButtonProps?: Props;\n}\n\nexport function CalendarHeader(props: CubeCalendarHeaderProps) {\n let { segments, title, prevButtonProps, nextButtonProps } = props;\n\n return (\n <CalendarHeaderElement>\n <CalendarTitleElement mods={{ interactive: !!segments?.length }}>\n {segments?.length\n ? segments.map(({ key, label, onPress, isDisabled }) => (\n <CalendarTitleButton\n data-popover-keep\n key={key}\n isDisabled={isDisabled}\n onPress={onPress}\n >\n {label}\n </CalendarTitleButton>\n ))\n : title}\n </CalendarTitleElement>\n <Space gap=\".5x\">\n <Button\n data-popover-keep\n size=\"xsmall\"\n {...prevButtonProps}\n icon={<LeftIcon />}\n />\n <Button\n data-popover-keep\n size=\"xsmall\"\n {...nextButtonProps}\n icon={<RightIcon />}\n />\n </Space>\n </CalendarHeaderElement>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAMS,uBAAuBT,MAAMK,QAAO;CACxCK,OAAO;CACPC,QAAQ;CACRC,QAAQ;EACNC,SAAS;EACTC,YAAY;EACZC,KAAK;EAELC,SAAS;GACP,IAAI;GACJC,aAAa;EACf;CACF;AACF,CAAC;AAED,MAAMC,sBAAsBlB,MAAMI,QAAQ;CACxCe,MAAM;CACNC,MAAM;AACR,CAAC;AAoBD,SAAOW,eAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACL,MAAA,EAAAP,UAAAC,OAAAC,iBAAAC,oBAA4DE;CAIb,MAAAG,KAAA,CAAC,CAACR,UAAQS;CAAQ,IAAAC;CAAA,IAAAJ,EAAA,OAAAE,IAAA;EAAjCE,KAAA,EAAApB,aAAekB,GAAmB;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAN,YAAAM,EAAA,OAAAL,OAAA;EAC5DU,KAAAX,UAAQS,SACLT,SAAQY,IAAKC,KAUT,IAXPZ;EAWQK,EAAA,KAAAN;EAAAM,EAAA,KAAAL;EAAAK,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,IAAA;EAZXG,KAAA,oBAAC,sBAAD;GAA4B,MAAAJ;GACzBC,UAAAA;EADkB,CAAA;EAaEL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAU,OAAAC,IAAA,2BAAA,GAAA;EAMbF,KAAA,oBAAC,UAAD,CAAS,CAAA;EAAGT,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAJ,iBAAA;EAJpBgB,KAAA,oBAAC,QAAD;GACE,qBAAA;GACK,MAAA;GAAQ,GACThB;GACE,MAAAa;EAAY,CAAA;EAClBT,EAAA,KAAAJ;EAAAI,EAAA,MAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,QAAAU,OAAAC,IAAA,2BAAA,GAAA;EAKME,KAAA,oBAAC,WAAD,CAAU,CAAA;EAAGb,EAAA,MAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,QAAAH,iBAAA;EAJrBiB,KAAA,oBAAC,QAAD;GACE,qBAAA;GACK,MAAA;GAAQ,GACTjB;GACE,MAAAgB;EAAa,CAAA;EACnBb,EAAA,MAAAH;EAAAG,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAZJC,KAAA,qBAAC,OAAD;GAAW,KAAA;GAAX,UAAA,CACEH,IAMAE,EAPI;;EAaEd,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAgB;CAAA,IAAAhB,EAAA,QAAAQ,MAAAR,EAAA,QAAAe,IAAA;EA5BVC,KAAA,qBAAC,uBAAD,EAAA,UAAA,CACER,IAcAO,EAfoB,EAAA,CAAA;EA6BEf,EAAA,MAAAQ;EAAAR,EAAA,MAAAe;EAAAf,EAAA,MAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OA7BxBgB;AA6BwB;AAjCrB,SAAAT,MAAAL,IAAA;CAOmB,MAAA,EAAAb,KAAAC,OAAAC,SAAAC,eAAAU;CAAmC,OAC/C,oBAAC,qBAAD;EACE,qBAAA;EAEYV;EACHD;EAERD,UAAAA;CANiB,GAEbD,GAFa;AAOE"}
|
|
1
|
+
{"version":3,"file":"CalendarHeader.js","names":["tasty","ReactNode","LeftIcon","RightIcon","Button","Title","Space","CalendarHeaderElement","Props","CalendarTitleElement","level","preset","styles","display","placeItems","gap","padding","interactive","CalendarTitleButton","type","size","CubeCalendarHeaderSegment","key","label","onPress","isDisabled","CubeCalendarHeaderProps","segments","title","prevButtonProps","nextButtonProps","CalendarHeader","props","$","_c","t0","length","t1","t2","map","_temp","t3","t4","Symbol","for","t5","t6","t7","t8","t9","Title","_c"],"sources":["../../../../src/components/other/Calendar/CalendarHeader.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ReactNode } from 'react';\n\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { Button } from '../../actions/Button/Button';\nimport { Title } from '../../content/Title';\nimport { Space } from '../../layout/Space';\n\nimport { CalendarHeaderElement } from './styled';\n\nimport type { Props } from '../../../props';\n\n/**\n * A heading that holds the view switcher. Its own preset matches the type scale\n * of an `xsmall` button so the plain-title fallback (a decade range, or a\n * calendar with navigation turned off) doesn't outweigh the interactive one.\n */\nconst CalendarTitleElement = tasty(Title, {\n level: 6,\n preset: 't4',\n styles: {\n display: 'flex',\n placeItems: 'center',\n gap: '.25x',\n // Line the plain title up with the label inside a button.\n padding: {\n '': '0 (1x - 1bw)',\n interactive: 0,\n },\n },\n});\n\nconst CalendarTitleButton = tasty(Button, {\n type: 'clear',\n size: 'xsmall',\n});\n\nexport interface CubeCalendarHeaderSegment {\n key: string;\n label: string;\n onPress: () => void;\n isDisabled?: boolean;\n}\n\nexport interface CubeCalendarHeaderProps {\n /**\n * Interactive title segments (month / year). When omitted the header falls\n * back to a plain `title` — e.g. for a multi-month range.\n */\n segments?: CubeCalendarHeaderSegment[];\n title?: ReactNode;\n prevButtonProps?: Props;\n nextButtonProps?: Props;\n}\n\nexport function CalendarHeader(props: CubeCalendarHeaderProps) {\n let { segments, title, prevButtonProps, nextButtonProps } = props;\n\n return (\n <CalendarHeaderElement>\n <CalendarTitleElement mods={{ interactive: !!segments?.length }}>\n {segments?.length\n ? segments.map(({ key, label, onPress, isDisabled }) => (\n <CalendarTitleButton\n data-popover-keep\n key={key}\n isDisabled={isDisabled}\n onPress={onPress}\n >\n {label}\n </CalendarTitleButton>\n ))\n : title}\n </CalendarTitleElement>\n <Space gap=\".5x\">\n <Button\n data-popover-keep\n size=\"xsmall\"\n {...prevButtonProps}\n icon={<LeftIcon />}\n />\n <Button\n data-popover-keep\n size=\"xsmall\"\n {...nextButtonProps}\n icon={<RightIcon />}\n />\n </Space>\n </CalendarHeaderElement>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAMS,uBAAuBT,MAAMK,QAAO;CACxCK,OAAO;CACPC,QAAQ;CACRC,QAAQ;EACNC,SAAS;EACTC,YAAY;EACZC,KAAK;EAELC,SAAS;GACP,IAAI;GACJC,aAAa;EACf;CACF;AACF,CAAC;AAED,MAAMC,sBAAsBlB,MAAMI,QAAQ;CACxCe,MAAM;CACNC,MAAM;AACR,CAAC;AAoBD,SAAOW,eAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACL,MAAA,EAAAP,UAAAC,OAAAC,iBAAAC,oBAA4DE;CAIb,MAAAG,KAAA,CAAC,CAACR,UAAQS;CAAQ,IAAAC;CAAA,IAAAJ,EAAA,OAAAE,IAAA;EAAjCE,KAAA,EAAApB,aAAekB,GAAmB;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAN,YAAAM,EAAA,OAAAL,OAAA;EAC5DU,KAAAX,UAAQS,SACLT,SAAQY,IAAKC,KAUT,IAXPZ;EAWQK,EAAA,KAAAN;EAAAM,EAAA,KAAAL;EAAAK,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,IAAA;EAZXG,KAAA,oBAAC,sBAAD;GAA4B,MAAAJ;GACzBC,UAAAA;EADkB,CAAA;EAaEL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAU,OAAAC,IAAA,2BAAA,GAAA;EAMbF,KAAA,oBAAC,UAAD,CAAS,CAAA;EAAGT,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAJ,iBAAA;EAJpBgB,KAAA,oBAAC,QAAD;GACE,qBAAA;GACK,MAAA;GAAQ,GACThB;GACE,MAAAa;EAAY,CAAA;EAClBT,EAAA,KAAAJ;EAAAI,EAAA,MAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,QAAAU,OAAAC,IAAA,2BAAA,GAAA;EAKME,KAAA,oBAAC,WAAD,CAAU,CAAA;EAAGb,EAAA,MAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,QAAAH,iBAAA;EAJrBiB,KAAA,oBAAC,QAAD;GACE,qBAAA;GACK,MAAA;GAAQ,GACTjB;GACE,MAAAgB;EAAa,CAAA;EACnBb,EAAA,MAAAH;EAAAG,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAZJC,KAAA,qBAAC,OAAD;GAAW,KAAA;GAAX,UAAA,CACEH,IAMAE,EAPI;;EAaEd,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAgB;CAAA,IAAAhB,EAAA,QAAAQ,MAAAR,EAAA,QAAAe,IAAA;EA5BVC,KAAA,qBAAC,uBAAD,EAAA,UAAA,CACER,IAcAO,EAfoB,EAAA,CAAA;EA6BEf,EAAA,MAAAQ;EAAAR,EAAA,MAAAe;EAAAf,EAAA,MAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OA7BxBgB;AA6BwB;AAjCrB,SAAAT,MAAAL,IAAA;CAOmB,MAAA,EAAAb,KAAAC,OAAAC,SAAAC,eAAAU;CAAmC,OAC/C,oBAAC,qBAAD;EACE,qBAAA;EAEYV;EACHD;EAERD,UAAAA;CANiB,GAEbD,GAFa;AAOE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { CalendarElement } from "./styled.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarPanel.js","names":["CalendarDate","endOfMonth","endOfYear","isSameMonth","startOfMonth","startOfYear","toCalendar","today","KeyboardEvent","ReactElement","Ref","useState","DateValue","useDateFormatter","CalendarState","RangeCalendarState","useI18n","mergeProps","CalendarGrid","CalendarHeader","CubePeriodGridCell","PeriodGrid","CalendarElement","Props","CubeCalendarView","YEAR_CELLS","MONTH_COLUMNS","YEAR_COLUMNS","PERIOD_GRID_STYLES","width","const","Formatter","format","date","Date","CubeCalendarPanelProps","state","title","calendarProps","prevButtonProps","nextButtonProps","hasMonthYearNavigation","selectedRange","start","end","pickerMode","elementRef","HTMLElement","CalendarPanel","props","$","_c","t","t0","undefined","view","setView","anchor","setAnchor","focusedDate","visibleStart","visibleRange","calendar","timeZone","calendarId","identifier","t1","month","monthFormatter","t2","shortMonthFormatter","t3","year","yearFormatter","body","header","onKeyDown","todayDate","t4","formatter","toDate","t5","isDisabled","maxValue","minValue","compare","isPeriodDisabled","t6","hasNavigation","t7","next","openView","t8","e","key","preventDefault","stopPropagation","setFocused","t9","set","monthDate","monthCount","getMonthsInYear","cells","Array","from","length","_","index","date_0","label","isSelected","isCurrent","T0","nextYear","t10","t11","t12","t13","prevYear","subtract","years","add","t14","t15","Symbol","for","onPress","t16","t17","t18","t19","index_0","setFocusedDate","t20","t21","t22","index_1","delta","months","delta_0","t23","yearDate","decadeStart","Math","floor","firstYear","cells_0","__0","index_2","year_0","date_1","isOutside","t24","t25","index_3","index_4","t26","t27","delta_1","delta_2","t28","_c","mergeProps"],"sources":["../../../../src/components/other/Calendar/CalendarPanel.tsx"],"sourcesContent":["import {\n CalendarDate,\n endOfMonth,\n endOfYear,\n isSameMonth,\n startOfMonth,\n startOfYear,\n toCalendar,\n today,\n} from '@internationalized/date';\nimport { KeyboardEvent, ReactElement, Ref, useState } from 'react';\nimport { DateValue, useDateFormatter } from 'react-aria';\nimport { CalendarState, RangeCalendarState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { mergeProps } from '../../../utils/react';\n\nimport { CalendarGrid } from './CalendarGrid';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CubePeriodGridCell, PeriodGrid } from './PeriodGrid';\nimport { CalendarElement } from './styled';\n\nimport type { Props } from '../../../props';\n\n/** Which panel the calendar currently shows. */\nexport type CubeCalendarView = 'day' | 'month' | 'year';\n\n/** The year grid shows a decade plus one adjacent year on either side. */\nconst YEAR_CELLS = 12;\nconst MONTH_COLUMNS = 3;\nconst YEAR_COLUMNS = 3;\n\n/**\n * Exactly as wide as seven day cells (`3x` cell + a `$cell-gap` gutter), so switching\n * between the day, month and year panels keeps the popover roughly in place.\n */\nconst PERIOD_GRID_STYLES = { width: '(7 * (3x + $cell-gap))' } as const;\n\ninterface Formatter {\n format(date: Date): string;\n}\n\nexport interface CubeCalendarPanelProps {\n state: CalendarState | RangeCalendarState;\n /** The visible range title provided by React Aria. */\n title: string;\n calendarProps: Props;\n prevButtonProps: Props;\n nextButtonProps: Props;\n /**\n * Whether the header lets the user jump straight to a month or a year.\n * @default true\n */\n hasMonthYearNavigation?: boolean;\n selectedRange?: { start: DateValue; end: DateValue };\n pickerMode?: 'day' | 'week';\n elementRef?: Ref<HTMLElement>;\n}\n\n/**\n * The body shared by `Calendar` and `RangeCalendar`: a header plus one of three\n * panels. The month and year panels only *navigate* — they move the focused\n * date and never select a value, so a range selection in progress survives a\n * jump to another month.\n */\nexport function CalendarPanel(props: CubeCalendarPanelProps) {\n const { t } = useI18n();\n\n let {\n state,\n title,\n calendarProps,\n prevButtonProps,\n nextButtonProps,\n hasMonthYearNavigation = true,\n selectedRange,\n pickerMode,\n elementRef,\n } = props;\n\n let [view, setView] = useState<CubeCalendarView>('day');\n // The period the month / year panels navigate around. Seeded from the\n // focused date every time the user leaves the day panel.\n let [anchor, setAnchor] = useState<CalendarDate>(state.focusedDate);\n\n let visibleStart = state.visibleRange.start;\n let calendar = visibleStart.calendar;\n let timeZone = state.timeZone;\n let calendarId = calendar.identifier;\n\n let monthFormatter = useDateFormatter({\n month: 'long',\n timeZone,\n calendar: calendarId,\n });\n let shortMonthFormatter = useDateFormatter({\n month: 'short',\n timeZone,\n calendar: calendarId,\n });\n let yearFormatter = useDateFormatter({\n year: 'numeric',\n timeZone,\n calendar: calendarId,\n });\n\n let todayDate = toCalendar(today(timeZone), calendar);\n\n let format = (formatter: Formatter, date: CalendarDate) =>\n formatter.format(date.toDate(timeZone));\n\n /** Whether a whole period lies outside the calendar's allowed range. */\n let isPeriodDisabled = (start: CalendarDate, end: CalendarDate) =>\n state.isDisabled ||\n (state.minValue != null && end.compare(state.minValue) < 0) ||\n (state.maxValue != null && start.compare(state.maxValue) > 0);\n\n // A multi-month view has no single month or year to drill into.\n let hasNavigation =\n hasMonthYearNavigation && isSameMonth(visibleStart, state.visibleRange.end);\n\n let openView = (next: CubeCalendarView) => {\n setAnchor(state.focusedDate);\n setView(next);\n };\n\n let onKeyDown = (e: KeyboardEvent) => {\n // Step back to the day panel rather than closing the surrounding popover.\n if (view !== 'day' && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n setView('day');\n // The grid the user was in is about to unmount. Claim focus for the day\n // cell, or it falls out of the popover and the next `Escape` is lost.\n state.setFocused(true);\n }\n };\n\n let header: ReactElement;\n let body: ReactElement;\n\n if (view === 'month') {\n let monthDate = (month: number) => startOfMonth(anchor.set({ month }));\n let monthCount = calendar.getMonthsInYear(anchor);\n\n let cells: CubePeriodGridCell[] = Array.from(\n { length: monthCount },\n (_, index) => {\n let date = monthDate(index + 1);\n\n return {\n key: `month-${index + 1}`,\n label: format(shortMonthFormatter, date),\n isSelected: isSameMonth(date, visibleStart),\n isCurrent: isSameMonth(date, todayDate),\n isDisabled: isPeriodDisabled(date, endOfMonth(date)),\n };\n },\n );\n\n let prevYear = anchor.subtract({ years: 1 });\n let nextYear = anchor.add({ years: 1 });\n\n header = (\n <CalendarHeader\n segments={[\n {\n key: 'year',\n label: format(yearFormatter, anchor),\n isDisabled: state.isDisabled,\n onPress: () => setView('year'),\n },\n ]}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYear', 'Previous year'),\n isDisabled: isPeriodDisabled(\n startOfYear(prevYear),\n endOfYear(prevYear),\n ),\n onPress: () => setAnchor(prevYear),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYear', 'Next year'),\n isDisabled: isPeriodDisabled(\n startOfYear(nextYear),\n endOfYear(nextYear),\n ),\n onPress: () => setAnchor(nextYear),\n }}\n />\n );\n\n body = (\n <PeriodGrid\n // Remount per view so focus follows the user into the new grid.\n key=\"month\"\n autoFocus\n aria-label={t('calendar.months', 'Months')}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={MONTH_COLUMNS}\n focusedIndex={anchor.month - 1}\n onCellPress={(index) => {\n state.setFocusedDate(anchor.set({ month: index + 1 }));\n setView('day');\n }}\n onCellFocus={(index) => setAnchor(anchor.set({ month: index + 1 }))}\n onMoveFocus={(delta) => setAnchor(anchor.add({ months: delta }))}\n onMovePage={(delta) => setAnchor(anchor.add({ years: delta }))}\n />\n );\n } else if (view === 'year') {\n let yearDate = (year: number) => startOfYear(anchor.set({ year }));\n let decadeStart = Math.floor(anchor.year / 10) * 10;\n let firstYear = decadeStart - 1;\n\n let cells: CubePeriodGridCell[] = Array.from(\n { length: YEAR_CELLS },\n (_, index) => {\n let year = firstYear + index;\n let date = yearDate(year);\n\n return {\n key: `year-${year}`,\n label: format(yearFormatter, date),\n isSelected: year === visibleStart.year,\n isCurrent: year === todayDate.year,\n isOutside: year < decadeStart || year > decadeStart + 9,\n isDisabled: isPeriodDisabled(date, endOfYear(date)),\n };\n },\n );\n\n header = (\n <CalendarHeader\n title={`${format(yearFormatter, yearDate(decadeStart))} – ${format(\n yearFormatter,\n yearDate(decadeStart + 9),\n )}`}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYears', 'Previous years'),\n isDisabled: isPeriodDisabled(\n yearDate(decadeStart - 10),\n endOfYear(yearDate(decadeStart - 1)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 10 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYears', 'Next years'),\n isDisabled: isPeriodDisabled(\n yearDate(decadeStart + 10),\n endOfYear(yearDate(decadeStart + 19)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 10 })),\n }}\n />\n );\n\n body = (\n <PeriodGrid\n key=\"year\"\n autoFocus\n aria-label={t('calendar.years', 'Years')}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={YEAR_COLUMNS}\n focusedIndex={anchor.year - firstYear}\n onCellPress={(index) => {\n setAnchor(anchor.set({ year: firstYear + index }));\n setView('month');\n }}\n onCellFocus={(index) =>\n setAnchor(anchor.set({ year: firstYear + index }))\n }\n onMoveFocus={(delta) => setAnchor(anchor.add({ years: delta }))}\n onMovePage={(delta) => setAnchor(anchor.add({ years: delta * 10 }))}\n />\n );\n } else {\n header = (\n <CalendarHeader\n title={title}\n segments={\n hasNavigation\n ? [\n {\n key: 'month',\n label: format(monthFormatter, visibleStart),\n isDisabled: state.isDisabled,\n onPress: () => openView('month'),\n },\n {\n key: 'year',\n label: format(yearFormatter, visibleStart),\n isDisabled: state.isDisabled,\n onPress: () => openView('year'),\n },\n ]\n : undefined\n }\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n />\n );\n\n body = (\n <CalendarGrid\n state={state}\n selectedRange={selectedRange}\n pickerMode={pickerMode}\n />\n );\n }\n\n return (\n <CalendarElement\n ref={elementRef}\n {...mergeProps(calendarProps, { onKeyDown })}\n >\n {header}\n {body}\n </CalendarElement>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarPanel.js","names":["CalendarDate","endOfMonth","endOfYear","isSameMonth","startOfMonth","startOfYear","toCalendar","today","KeyboardEvent","ReactElement","Ref","useState","DateValue","useDateFormatter","CalendarState","RangeCalendarState","useI18n","mergeProps","CalendarGrid","CalendarHeader","CubePeriodGridCell","PeriodGrid","CalendarElement","Props","CubeCalendarView","YEAR_CELLS","MONTH_COLUMNS","YEAR_COLUMNS","PERIOD_GRID_STYLES","width","const","Formatter","format","date","Date","CubeCalendarPanelProps","state","title","calendarProps","prevButtonProps","nextButtonProps","hasMonthYearNavigation","selectedRange","start","end","pickerMode","elementRef","HTMLElement","CalendarPanel","props","$","_c","t","t0","undefined","view","setView","anchor","setAnchor","focusedDate","visibleStart","visibleRange","calendar","timeZone","calendarId","identifier","t1","month","monthFormatter","t2","shortMonthFormatter","t3","year","yearFormatter","body","header","onKeyDown","todayDate","t4","formatter","toDate","t5","isDisabled","maxValue","minValue","compare","isPeriodDisabled","t6","hasNavigation","t7","next","openView","t8","e","key","preventDefault","stopPropagation","setFocused","t9","set","monthDate","monthCount","getMonthsInYear","cells","Array","from","length","_","index","date_0","label","isSelected","isCurrent","T0","nextYear","t10","t11","t12","t13","prevYear","subtract","years","add","t14","t15","Symbol","for","onPress","t16","t17","t18","t19","index_0","setFocusedDate","t20","t21","t22","index_1","delta","months","delta_0","t23","yearDate","decadeStart","Math","floor","firstYear","cells_0","__0","index_2","year_0","date_1","isOutside","t24","t25","index_3","index_4","t26","t27","delta_1","delta_2","t28","_c","mergeProps"],"sources":["../../../../src/components/other/Calendar/CalendarPanel.tsx"],"sourcesContent":["import {\n CalendarDate,\n endOfMonth,\n endOfYear,\n isSameMonth,\n startOfMonth,\n startOfYear,\n toCalendar,\n today,\n} from '@internationalized/date';\nimport { KeyboardEvent, ReactElement, Ref, useState } from 'react';\nimport { DateValue, useDateFormatter } from 'react-aria';\nimport { CalendarState, RangeCalendarState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n/useI18n';\nimport { mergeProps } from '../../../utils/react/mergeProps';\n\nimport { CalendarGrid } from './CalendarGrid';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CubePeriodGridCell, PeriodGrid } from './PeriodGrid';\nimport { CalendarElement } from './styled';\n\nimport type { Props } from '../../../props';\n\n/** Which panel the calendar currently shows. */\nexport type CubeCalendarView = 'day' | 'month' | 'year';\n\n/** The year grid shows a decade plus one adjacent year on either side. */\nconst YEAR_CELLS = 12;\nconst MONTH_COLUMNS = 3;\nconst YEAR_COLUMNS = 3;\n\n/**\n * Exactly as wide as seven day cells (`3x` cell + a `$cell-gap` gutter), so switching\n * between the day, month and year panels keeps the popover roughly in place.\n */\nconst PERIOD_GRID_STYLES = { width: '(7 * (3x + $cell-gap))' } as const;\n\ninterface Formatter {\n format(date: Date): string;\n}\n\nexport interface CubeCalendarPanelProps {\n state: CalendarState | RangeCalendarState;\n /** The visible range title provided by React Aria. */\n title: string;\n calendarProps: Props;\n prevButtonProps: Props;\n nextButtonProps: Props;\n /**\n * Whether the header lets the user jump straight to a month or a year.\n * @default true\n */\n hasMonthYearNavigation?: boolean;\n selectedRange?: { start: DateValue; end: DateValue };\n pickerMode?: 'day' | 'week';\n elementRef?: Ref<HTMLElement>;\n}\n\n/**\n * The body shared by `Calendar` and `RangeCalendar`: a header plus one of three\n * panels. The month and year panels only *navigate* — they move the focused\n * date and never select a value, so a range selection in progress survives a\n * jump to another month.\n */\nexport function CalendarPanel(props: CubeCalendarPanelProps) {\n const { t } = useI18n();\n\n let {\n state,\n title,\n calendarProps,\n prevButtonProps,\n nextButtonProps,\n hasMonthYearNavigation = true,\n selectedRange,\n pickerMode,\n elementRef,\n } = props;\n\n let [view, setView] = useState<CubeCalendarView>('day');\n // The period the month / year panels navigate around. Seeded from the\n // focused date every time the user leaves the day panel.\n let [anchor, setAnchor] = useState<CalendarDate>(state.focusedDate);\n\n let visibleStart = state.visibleRange.start;\n let calendar = visibleStart.calendar;\n let timeZone = state.timeZone;\n let calendarId = calendar.identifier;\n\n let monthFormatter = useDateFormatter({\n month: 'long',\n timeZone,\n calendar: calendarId,\n });\n let shortMonthFormatter = useDateFormatter({\n month: 'short',\n timeZone,\n calendar: calendarId,\n });\n let yearFormatter = useDateFormatter({\n year: 'numeric',\n timeZone,\n calendar: calendarId,\n });\n\n let todayDate = toCalendar(today(timeZone), calendar);\n\n let format = (formatter: Formatter, date: CalendarDate) =>\n formatter.format(date.toDate(timeZone));\n\n /** Whether a whole period lies outside the calendar's allowed range. */\n let isPeriodDisabled = (start: CalendarDate, end: CalendarDate) =>\n state.isDisabled ||\n (state.minValue != null && end.compare(state.minValue) < 0) ||\n (state.maxValue != null && start.compare(state.maxValue) > 0);\n\n // A multi-month view has no single month or year to drill into.\n let hasNavigation =\n hasMonthYearNavigation && isSameMonth(visibleStart, state.visibleRange.end);\n\n let openView = (next: CubeCalendarView) => {\n setAnchor(state.focusedDate);\n setView(next);\n };\n\n let onKeyDown = (e: KeyboardEvent) => {\n // Step back to the day panel rather than closing the surrounding popover.\n if (view !== 'day' && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n setView('day');\n // The grid the user was in is about to unmount. Claim focus for the day\n // cell, or it falls out of the popover and the next `Escape` is lost.\n state.setFocused(true);\n }\n };\n\n let header: ReactElement;\n let body: ReactElement;\n\n if (view === 'month') {\n let monthDate = (month: number) => startOfMonth(anchor.set({ month }));\n let monthCount = calendar.getMonthsInYear(anchor);\n\n let cells: CubePeriodGridCell[] = Array.from(\n { length: monthCount },\n (_, index) => {\n let date = monthDate(index + 1);\n\n return {\n key: `month-${index + 1}`,\n label: format(shortMonthFormatter, date),\n isSelected: isSameMonth(date, visibleStart),\n isCurrent: isSameMonth(date, todayDate),\n isDisabled: isPeriodDisabled(date, endOfMonth(date)),\n };\n },\n );\n\n let prevYear = anchor.subtract({ years: 1 });\n let nextYear = anchor.add({ years: 1 });\n\n header = (\n <CalendarHeader\n segments={[\n {\n key: 'year',\n label: format(yearFormatter, anchor),\n isDisabled: state.isDisabled,\n onPress: () => setView('year'),\n },\n ]}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYear', 'Previous year'),\n isDisabled: isPeriodDisabled(\n startOfYear(prevYear),\n endOfYear(prevYear),\n ),\n onPress: () => setAnchor(prevYear),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYear', 'Next year'),\n isDisabled: isPeriodDisabled(\n startOfYear(nextYear),\n endOfYear(nextYear),\n ),\n onPress: () => setAnchor(nextYear),\n }}\n />\n );\n\n body = (\n <PeriodGrid\n // Remount per view so focus follows the user into the new grid.\n key=\"month\"\n autoFocus\n aria-label={t('calendar.months', 'Months')}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={MONTH_COLUMNS}\n focusedIndex={anchor.month - 1}\n onCellPress={(index) => {\n state.setFocusedDate(anchor.set({ month: index + 1 }));\n setView('day');\n }}\n onCellFocus={(index) => setAnchor(anchor.set({ month: index + 1 }))}\n onMoveFocus={(delta) => setAnchor(anchor.add({ months: delta }))}\n onMovePage={(delta) => setAnchor(anchor.add({ years: delta }))}\n />\n );\n } else if (view === 'year') {\n let yearDate = (year: number) => startOfYear(anchor.set({ year }));\n let decadeStart = Math.floor(anchor.year / 10) * 10;\n let firstYear = decadeStart - 1;\n\n let cells: CubePeriodGridCell[] = Array.from(\n { length: YEAR_CELLS },\n (_, index) => {\n let year = firstYear + index;\n let date = yearDate(year);\n\n return {\n key: `year-${year}`,\n label: format(yearFormatter, date),\n isSelected: year === visibleStart.year,\n isCurrent: year === todayDate.year,\n isOutside: year < decadeStart || year > decadeStart + 9,\n isDisabled: isPeriodDisabled(date, endOfYear(date)),\n };\n },\n );\n\n header = (\n <CalendarHeader\n title={`${format(yearFormatter, yearDate(decadeStart))} – ${format(\n yearFormatter,\n yearDate(decadeStart + 9),\n )}`}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYears', 'Previous years'),\n isDisabled: isPeriodDisabled(\n yearDate(decadeStart - 10),\n endOfYear(yearDate(decadeStart - 1)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 10 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYears', 'Next years'),\n isDisabled: isPeriodDisabled(\n yearDate(decadeStart + 10),\n endOfYear(yearDate(decadeStart + 19)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 10 })),\n }}\n />\n );\n\n body = (\n <PeriodGrid\n key=\"year\"\n autoFocus\n aria-label={t('calendar.years', 'Years')}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={YEAR_COLUMNS}\n focusedIndex={anchor.year - firstYear}\n onCellPress={(index) => {\n setAnchor(anchor.set({ year: firstYear + index }));\n setView('month');\n }}\n onCellFocus={(index) =>\n setAnchor(anchor.set({ year: firstYear + index }))\n }\n onMoveFocus={(delta) => setAnchor(anchor.add({ years: delta }))}\n onMovePage={(delta) => setAnchor(anchor.add({ years: delta * 10 }))}\n />\n );\n } else {\n header = (\n <CalendarHeader\n title={title}\n segments={\n hasNavigation\n ? [\n {\n key: 'month',\n label: format(monthFormatter, visibleStart),\n isDisabled: state.isDisabled,\n onPress: () => openView('month'),\n },\n {\n key: 'year',\n label: format(yearFormatter, visibleStart),\n isDisabled: state.isDisabled,\n onPress: () => openView('year'),\n },\n ]\n : undefined\n }\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n />\n );\n\n body = (\n <CalendarGrid\n state={state}\n selectedRange={selectedRange}\n pickerMode={pickerMode}\n />\n );\n }\n\n return (\n <CalendarElement\n ref={elementRef}\n {...mergeProps(calendarProps, { onKeyDown })}\n >\n {header}\n {body}\n </CalendarElement>\n );\n}\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.209.0 | Cube Dev Team */
|
|
2
2
|
import { useProviderProps } from "../../../provider.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { getQuarter } from "../../fields/DatePicker/period.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodCalendar.js","names":["CalendarDate","endOfMonth","endOfYear","getLocalTimeZone","toCalendarDate","today","KeyboardEvent","ReactElement","useState","DateValue","useDateFormatter","useI18n","useProviderProps","getQuarter","CalendarHeader","CubePeriodGridCell","PeriodGrid","CalendarElement","YEAR_CELLS","PERIOD_GRID_STYLES","width","const","CubePeriodCalendarPicker","COLUMNS","Record","month","quarter","year","CubePeriodCalendarProps","picker","value","onChange","date","minValue","maxValue","isDateUnavailable","isDisabled","autoFocus","PeriodCalendar","props","$","_c","t","t0","Symbol","for","timeZone","monthFormatter","t1","selected","t2","todayDate","t3","anchor","setAnchor","isYearView","setIsYearView","autoFocusGrid","setAutoFocusGrid","t4","next","showYearView","view","yearStart","_temp","t5","start","end","compare","isPeriodDisabled","t6","prevYear","nextYear","key","label","String","onPress","subtract","years","add","renderYearHeader","t7","e","preventDefault","stopPropagation","onKeyDown","cells","focusedIndex","gridLabel","header","onCellPress","onCellFocus","onMoveFocus","onMovePage","decadeStart","Math","floor","firstYear","t8","Array","from","length","_","index","year_0","isSelected","isCurrent","isOutside","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","index_0","year_1","set","t21","index_1","t22","delta","t23","delta_0","quarterDate","__0","index_2","quarter_0","date_0","months","index_3","index_4","delta_1","delta_2","monthDate","__1","index_5","month_0","date_1","format","toDate","index_6","index_7","delta_3","delta_4","_c"],"sources":["../../../../src/components/other/Calendar/PeriodCalendar.tsx"],"sourcesContent":["import {\n CalendarDate,\n endOfMonth,\n endOfYear,\n getLocalTimeZone,\n toCalendarDate,\n today,\n} from '@internationalized/date';\nimport { KeyboardEvent, ReactElement, useState } from 'react';\nimport { DateValue, useDateFormatter } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { useProviderProps } from '../../../provider';\nimport { getQuarter } from '../../fields/DatePicker/period';\n\nimport { CalendarHeader } from './CalendarHeader';\nimport { CubePeriodGridCell, PeriodGrid } from './PeriodGrid';\nimport { CalendarElement } from './styled';\n\n/** The year grid shows a decade plus one adjacent year on either side. */\nconst YEAR_CELLS = 12;\n\n/** Explicit so the panel keeps one width across all three period views. */\nconst PERIOD_GRID_STYLES = { width: '28x' } as const;\n\nexport type CubePeriodCalendarPicker = 'month' | 'quarter' | 'year';\n\n/** picker → grid columns */\nconst COLUMNS: Record<CubePeriodCalendarPicker, number> = {\n month: 3,\n quarter: 4,\n year: 3,\n};\n\nexport interface CubePeriodCalendarProps {\n /** Which non-day period this panel selects. */\n picker: CubePeriodCalendarPicker;\n value?: DateValue | null;\n onChange?: (date: CalendarDate) => void;\n minValue?: DateValue | null;\n maxValue?: DateValue | null;\n isDateUnavailable?: (date: DateValue) => boolean;\n isDisabled?: boolean;\n autoFocus?: boolean;\n}\n\n/**\n * The panel behind `MonthPicker`, `QuarterPicker` and `YearPicker`. The month\n * and quarter panels drill up into a year list, so reaching a distant year\n * never means clicking the arrow a dozen times.\n */\nexport function PeriodCalendar(props: CubePeriodCalendarProps) {\n const { t } = useI18n();\n\n props = useProviderProps(props);\n\n let {\n picker,\n value,\n onChange,\n minValue,\n maxValue,\n isDateUnavailable,\n isDisabled,\n autoFocus,\n } = props;\n\n let monthFormatter = useDateFormatter({ month: 'short', timeZone: 'UTC' });\n\n let selected = value ? toCalendarDate(value) : null;\n let todayDate = today(getLocalTimeZone());\n\n // A date inside the period the keyboard currently focuses. Drives both the\n // roving tab stop and which year / decade the panel shows.\n let [anchor, setAnchor] = useState<CalendarDate>(() => selected ?? todayDate);\n let [isYearView, setIsYearView] = useState(false);\n // Switching panels always moves focus into the new grid — the button the\n // user just pressed is gone by then.\n let [autoFocusGrid, setAutoFocusGrid] = useState(!!autoFocus);\n\n let showYearView = (next: boolean) => {\n setAutoFocusGrid(true);\n setIsYearView(next);\n };\n\n let view: CubePeriodCalendarPicker =\n picker === 'year' || isYearView ? 'year' : picker;\n\n let yearStart = (year: number) => new CalendarDate(year, 1, 1);\n\n let isPeriodDisabled = (start: CalendarDate, end: CalendarDate) => {\n if (isDisabled) return true;\n if (minValue && end.compare(minValue) < 0) return true;\n if (maxValue && start.compare(maxValue) > 0) return true;\n\n return isDateUnavailable?.(start) ?? false;\n };\n\n /** Header for the month and quarter panels — the year drills up to a list. */\n let renderYearHeader = () => {\n let prevYear = anchor.year - 1;\n let nextYear = anchor.year + 1;\n\n return (\n <CalendarHeader\n segments={[\n {\n key: 'year',\n label: String(anchor.year),\n isDisabled,\n onPress: () => showYearView(true),\n },\n ]}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYear', 'Previous year'),\n isDisabled: isPeriodDisabled(\n yearStart(prevYear),\n endOfYear(yearStart(prevYear)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 1 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYear', 'Next year'),\n isDisabled: isPeriodDisabled(\n yearStart(nextYear),\n endOfYear(yearStart(nextYear)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 1 })),\n }}\n />\n );\n };\n\n let onKeyDown = (e: KeyboardEvent) => {\n // The year list is a detour, so `Escape` returns to the period list rather\n // than closing the surrounding popover.\n if (isYearView && picker !== 'year' && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n showYearView(false);\n }\n };\n\n let cells: CubePeriodGridCell[];\n let focusedIndex: number;\n let gridLabel: string;\n let header: ReactElement;\n let onCellPress: (index: number) => void;\n let onCellFocus: (index: number) => void;\n let onMoveFocus: (delta: number) => void;\n let onMovePage: (delta: -1 | 1) => void;\n\n if (view === 'year') {\n let decadeStart = Math.floor(anchor.year / 10) * 10;\n let firstYear = decadeStart - 1;\n\n cells = Array.from({ length: YEAR_CELLS }, (_, index) => {\n let year = firstYear + index;\n let date = yearStart(year);\n\n return {\n key: `year-${year}`,\n label: String(year),\n isSelected: selected?.year === year,\n isCurrent: todayDate.year === year,\n isOutside: year < decadeStart || year > decadeStart + 9,\n isDisabled: isPeriodDisabled(date, endOfYear(date)),\n };\n });\n\n focusedIndex = anchor.year - firstYear;\n gridLabel = t('calendar.years', 'Years');\n\n header = (\n <CalendarHeader\n title={`${decadeStart} – ${decadeStart + 9}`}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYears', 'Previous years'),\n isDisabled: isPeriodDisabled(\n yearStart(decadeStart - 10),\n endOfYear(yearStart(decadeStart - 1)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 10 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYears', 'Next years'),\n isDisabled: isPeriodDisabled(\n yearStart(decadeStart + 10),\n endOfYear(yearStart(decadeStart + 19)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 10 })),\n }}\n />\n );\n\n onCellPress = (index) => {\n let year = firstYear + index;\n\n if (picker === 'year') {\n onChange?.(yearStart(year));\n } else {\n setAnchor(anchor.set({ year }));\n showYearView(false);\n }\n };\n onCellFocus = (index) => setAnchor(anchor.set({ year: firstYear + index }));\n onMoveFocus = (delta) => setAnchor(anchor.add({ years: delta }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta * 10 }));\n } else if (view === 'quarter') {\n let quarterDate = (quarter: number) =>\n new CalendarDate(anchor.year, (quarter - 1) * 3 + 1, 1);\n\n cells = Array.from({ length: 4 }, (_, index) => {\n let quarter = index + 1;\n let date = quarterDate(quarter);\n\n return {\n key: `quarter-${quarter}`,\n label: `Q${quarter}`,\n isSelected:\n selected != null &&\n selected.year === anchor.year &&\n getQuarter(selected.month) === quarter,\n isCurrent:\n todayDate.year === anchor.year &&\n getQuarter(todayDate.month) === quarter,\n isDisabled: isPeriodDisabled(date, endOfMonth(date.add({ months: 2 }))),\n };\n });\n\n focusedIndex = getQuarter(anchor.month) - 1;\n gridLabel = t('calendar.quarters', 'Quarters');\n header = renderYearHeader();\n\n onCellPress = (index) => onChange?.(quarterDate(index + 1));\n onCellFocus = (index) => setAnchor(quarterDate(index + 1));\n onMoveFocus = (delta) => setAnchor(anchor.add({ months: delta * 3 }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta }));\n } else {\n let monthDate = (month: number) => new CalendarDate(anchor.year, month, 1);\n\n cells = Array.from({ length: 12 }, (_, index) => {\n let month = index + 1;\n let date = monthDate(month);\n\n return {\n key: `month-${month}`,\n label: monthFormatter.format(date.toDate('UTC')),\n isSelected:\n selected != null &&\n selected.year === anchor.year &&\n selected.month === month,\n isCurrent: todayDate.year === anchor.year && todayDate.month === month,\n isDisabled: isPeriodDisabled(date, endOfMonth(date)),\n };\n });\n\n focusedIndex = anchor.month - 1;\n gridLabel = t('calendar.months', 'Months');\n header = renderYearHeader();\n\n onCellPress = (index) => onChange?.(monthDate(index + 1));\n onCellFocus = (index) => setAnchor(monthDate(index + 1));\n onMoveFocus = (delta) => setAnchor(anchor.add({ months: delta }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta }));\n }\n\n return (\n <CalendarElement onKeyDown={onKeyDown}>\n {header}\n <PeriodGrid\n // Remount per view so focus follows the user into the new grid.\n key={view}\n autoFocus={autoFocusGrid}\n aria-label={gridLabel}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={COLUMNS[view]}\n focusedIndex={focusedIndex}\n onCellPress={onCellPress}\n onCellFocus={onCellFocus}\n onMoveFocus={onMoveFocus}\n onMovePage={onMovePage}\n />\n </CalendarElement>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAoBA,MAAMkB,aAAa;;AAGnB,MAAMC,qBAAqB,EAAEC,OAAO,MAAM;;AAK1C,MAAMG,UAAoD;CACxDE,OAAO;CACPC,SAAS;CACTC,MAAM;AACR;;;;;;AAmBA,SAAOW,eAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACL,MAAA,EAAAC,MAAc/B,QAAQ;CAEtB4B,QAAQ3B,iBAAiB2B,KAAK;CAE9B,MAAA,EAAAV,QAAAC,OAAAC,UAAAE,UAAAC,UAAAC,mBAAAC,YAAAC,cASIE;CAAM,IAAAI;CAAA,IAAAH,EAAA,OAAAI,OAAAC,IAAA,2BAAA,GAAA;EAE4BF,KAAA;GAAAlB,OAAS;GAAOqB,UAAY;EAAM;EAACN,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAzE,MAAAO,iBAAqBrC,iBAAiBiC,EAAmC;CAAE,IAAAK;CAAA,IAAAR,EAAA,OAAAV,OAAA;EAE5DkB,KAAAlB,QAAQ1B,eAAe0B,KAAY,IAAnC;EAAoCU,EAAA,KAAAV;EAAAU,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAnD,MAAAS,WAAeD;CAAqC,IAAAE;CAAA,IAAAV,EAAA,OAAAI,OAAAC,IAAA,2BAAA,GAAA;EACpCK,KAAA7C,MAAMF,iBAAiB,CAAC;EAACqC,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAzC,MAAAW,YAAgBD;CAA0B,IAAAE;CAAA,IAAAZ,EAAA,OAAAS,UAAA;EAIOG,WAAMH,YAAAE;EAAqBX,EAAA,KAAAS;EAAAT,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAA5E,MAAA,CAAAa,QAAAC,aAA0B9C,SAAuB4C,EAA2B;CAC5E,MAAA,CAAAG,YAAAC,iBAAkChD,SAAS,KAAK;CAGhD,MAAA,CAAAiD,eAAAC,oBAAwClD,SAAS,CAAC,CAAC6B,SAAS;CAAE,IAAAsB;CAAA,IAAAnB,EAAA,OAAAI,OAAAC,IAAA,2BAAA,GAAA;EAE3Cc,MAAAC,SAAA;GACjBF,iBAAiB,IAAI;GACrBF,cAAcI,IAAI;EAAC;EACpBpB,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAHD,MAAAqB,eAAmBF;CAKnB,MAAAG,OACEjC,WAAW,UAAX0B,aAAA,SAAA1B;CAEF,MAAAkC,YAAgBC;CAA+C,IAAAC;CAAA,IAAAzB,EAAA,OAAAL,qBAAAK,EAAA,OAAAJ,cAAAI,EAAA,OAAAN,YAAAM,EAAA,QAAAP,UAAA;EAExCgC,MAAAC,OAAAC,QAAA;GACrB,IAAI/B,YAAU,OAAS;GACvB,IAAIH,YAAYkC,IAAGC,QAASnC,QAAQ,IAAI,GAAC,OAAS;GAClD,IAAIC,YAAYgC,MAAKE,QAASlC,QAAQ,IAAI,GAAC,OAAS;GAAK,OAElDC,oBAAoB+B,KAAc,KAAlC;EAAmC;EAC3C1B,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,KAAAN;EAAAM,EAAA,MAAAP;EAAAO,EAAA,MAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAND,MAAA6B,mBAAuBJ;CAMrB,IAAAK;CAAA,IAAA9B,EAAA,QAAAa,UAAAb,EAAA,QAAAJ,cAAAI,EAAA,QAAA6B,oBAAA7B,EAAA,QAAAE,GAAA;EAGqB4B,WAAA;GACrB,MAAAC,WAAelB,OAAM1B,OAAQ;GAC7B,MAAA6C,WAAenB,OAAM1B,OAAQ;GAAE,OAG7B,oBAAC,gBAAD;IACY,UAAA,CACR;KAAA8C,KACO;KAAMC,OACJC,OAAOtB,OAAM1B,IAAK;KAACS;KAAAwC,eAEXf,aAAa,IAAI;IAClC,CAAC;IAEc,iBAAA;KAAA,cACDnB,EAAE,yBAAyB,eAAe;KAACN,YAC7CiC,iBACVN,UAAUQ,QAAQ,GAClBrE,UAAU6D,UAAUQ,QAAQ,CAAC,CAC/B;KAACK,eACctB,UAAUD,OAAMwB,SAAU,EAAAC,OAAS,EAAE,CAAC,CAAC;IACxD;IACiB,iBAAA;KAAA,cACDpC,EAAE,qBAAqB,WAAW;KAACN,YACrCiC,iBACVN,UAAUS,QAAQ,GAClBtE,UAAU6D,UAAUS,QAAQ,CAAC,CAC/B;KAACI,eACctB,UAAUD,OAAM0B,IAAK,EAAAD,OAAS,EAAE,CAAC,CAAC;IACnD;GAAC,CAAA;EACD;EAELtC,EAAA,MAAAa;EAAAb,EAAA,MAAAJ;EAAAI,EAAA,MAAA6B;EAAA7B,EAAA,MAAAE;EAAAF,EAAA,MAAA8B;CAAA,OAAAA,KAAA9B,EAAA;CAhCD,MAAAwC,mBAAuBV;CAgCrB,IAAAW;CAAA,IAAAzC,EAAA,QAAAe,cAAAf,EAAA,QAAAX,QAAA;EAEcoD,MAAAC,MAAA;GAGd,IAAI3B,cAAc1B,WAAW,UAAUqD,EAACT,QAAS,UAAQ;IACvDS,EAACC,eAAgB;IACjBD,EAACE,gBAAiB;IAClBvB,aAAa,KAAK;GAAC;EACpB;EACFrB,EAAA,MAAAe;EAAAf,EAAA,MAAAX;EAAAW,EAAA,MAAAyC;CAAA,OAAAA,KAAAzC,EAAA;CARD,MAAA6C,YAAgBJ;CAUZK,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CACAC,IAAAA;CAEJ,IAAI/B,SAAS,QAAM;EACjB,MAAAgC,cAAkBC,KAAIC,MAAO3C,OAAM1B,OAAQ,EAAE,IAAI;EACjD,MAAAsE,YAAgBH,cAAc;EAAE,IAAAI;EAAA,IAAA1D,EAAA,QAAAsD,eAAAtD,EAAA,QAAAyD,aAAAzD,EAAA,QAAA6B,oBAAA7B,EAAA,QAAAS,UAAAtB,MAAA;GAExBuE,KAAAC,MAAKC,KAAM,EAAAC,QAAUnF,WAAW,IAAGoF,GAAAC,UAAA;IACzC,MAAAC,SAAWP,YAAYM;IACvB,MAAAvE,OAAW+B,UAAUpC,MAAI;IAAE,OAEpB;KAAA8C,KACA,QAAQ9C;KAAM+C,OACZC,OAAOhD,MAAI;KAAC8E,YACPxD,UAAQtB,SAAWA;KAAI+E,WACxBvD,UAASxB,SAAUA;KAAIgF,WACvBhF,SAAOmE,eAAenE,SAAOmE,cAAc;KAAC1D,YAC3CiC,iBAAiBrC,MAAM9B,UAAU8B,IAAI,CAAC;IACpD;GAAC,CACF;GAACQ,EAAA,MAAAsD;GAAAtD,EAAA,MAAAyD;GAAAzD,EAAA,MAAA6B;GAAA7B,EAAA,MAAAS,UAAAtB;GAAAa,EAAA,MAAA0D;EAAA,OAAAA,KAAA1D,EAAA;EAZF8C,QAAQA;EAcRC,eAAelC,OAAM1B,OAAQsE;EAAjB,IAAAW;EAAA,IAAApE,EAAA,QAAAE,GAAA;GACAkE,KAAAlE,EAAE,kBAAkB,OAAO;GAACF,EAAA,MAAAE;GAAAF,EAAA,MAAAoE;EAAA,OAAAA,KAAApE,EAAA;EAAxCgD,YAAYA;EAID,MAAAqB,MAAA,GAAGf,YAAW,KAAMA,cAAc;EAAG,IAAAgB;EAAA,IAAAtE,EAAA,QAAAE,GAAA;GAE5BoE,MAAApE,EAAE,0BAA0B,gBAAgB;GAACF,EAAA,MAAAE;GAAAF,EAAA,MAAAsE;EAAA,OAAAA,MAAAtE,EAAA;EAAA,IAAAuE;EAAA,IAAAvE,EAAA,QAAAsD,eAAAtD,EAAA,QAAA6B,kBAAA;GAC/C0C,MAAA1C,iBACVN,UAAU+B,cAAc,EAAE,GAC1B5F,UAAU6D,UAAU+B,cAAc,CAAC,CAAC,CACtC;GAACtD,EAAA,MAAAsD;GAAAtD,EAAA,MAAA6B;GAAA7B,EAAA,MAAAuE;EAAA,OAAAA,MAAAvE,EAAA;EAAA,IAAAwE;EAAA,IAAAxE,EAAA,QAAAa,QAAA;GACQ2D,YAAM1D,UAAUD,OAAMwB,SAAU,EAAAC,OAAS,GAAG,CAAC,CAAC;GAACtC,EAAA,MAAAa;GAAAb,EAAA,MAAAwE;EAAA,OAAAA,MAAAxE,EAAA;EAAA,IAAAyE;EAAA,IAAAzE,EAAA,QAAAsE,OAAAtE,EAAA,QAAAuE,OAAAvE,EAAA,QAAAwE,KAAA;GANzCC,MAAA;IAAA,cACDH;IAA6C1E,YAC/C2E;IAGXnC,SACQoC;GACX;GAACxE,EAAA,MAAAsE;GAAAtE,EAAA,MAAAuE;GAAAvE,EAAA,MAAAwE;GAAAxE,EAAA,MAAAyE;EAAA,OAAAA,MAAAzE,EAAA;EAAA,IAAA0E;EAAA,IAAA1E,EAAA,QAAAE,GAAA;GAEewE,MAAAxE,EAAE,sBAAsB,YAAY;GAACF,EAAA,MAAAE;GAAAF,EAAA,MAAA0E;EAAA,OAAAA,MAAA1E,EAAA;EAAA,IAAA2E;EAAA,IAAA3E,EAAA,QAAAsD,eAAAtD,EAAA,QAAA6B,kBAAA;GACvC8C,MAAA9C,iBACVN,UAAU+B,cAAc,EAAE,GAC1B5F,UAAU6D,UAAU+B,cAAc,EAAE,CAAC,CACvC;GAACtD,EAAA,MAAAsD;GAAAtD,EAAA,MAAA6B;GAAA7B,EAAA,MAAA2E;EAAA,OAAAA,MAAA3E,EAAA;EAAA,IAAA4E;EAAA,IAAA5E,EAAA,QAAAa,QAAA;GACQ+D,YAAM9D,UAAUD,OAAM0B,IAAK,EAAAD,OAAS,GAAG,CAAC,CAAC;GAACtC,EAAA,MAAAa;GAAAb,EAAA,MAAA4E;EAAA,OAAAA,MAAA5E,EAAA;EAAA,IAAA6E;EAAA,IAAA7E,EAAA,QAAA0E,OAAA1E,EAAA,QAAA2E,OAAA3E,EAAA,QAAA4E,KAAA;GANpCC,MAAA;IAAA,cACDH;IAAqC9E,YACvC+E;IAGXvC,SACQwC;GACX;GAAC5E,EAAA,MAAA0E;GAAA1E,EAAA,MAAA2E;GAAA3E,EAAA,MAAA4E;GAAA5E,EAAA,MAAA6E;EAAA,OAAAA,MAAA7E,EAAA;EAAA,IAAA8E;EAAA,IAAA9E,EAAA,QAAAqE,OAAArE,EAAA,QAAAyE,OAAAzE,EAAA,QAAA6E,KAAA;GAjBHC,MAAA,oBAAC,gBAAD;IACS,OAAAT;IACU,iBAAAI;IAQA,iBAAAI;GAOhB,CAAA;GACD7E,EAAA,MAAAqE;GAAArE,EAAA,MAAAyE;GAAAzE,EAAA,MAAA6E;GAAA7E,EAAA,MAAA8E;EAAA,OAAAA,MAAA9E,EAAA;EAnBJiD,SACEA;EADI,IAAA8B;EAAA,IAAA/E,EAAA,QAAAa,UAAAb,EAAA,QAAAyD,aAAAzD,EAAA,QAAAT,YAAAS,EAAA,QAAAX,QAAA;GAsBQ0F,OAAAC,YAAA;IACZ,MAAAC,SAAWxB,YAAYM;IAEvB,IAAI1E,WAAW,QACbE,WAAWgC,UAAUpC,MAAI,CAAC;SAAC;KAE3B2B,UAAUD,OAAMqE,IAAK,EAAA/F,MAAEA,OAAK,CAAC,CAAC;KAC9BkC,aAAa,KAAK;IAAC;GACpB;GACFrB,EAAA,MAAAa;GAAAb,EAAA,MAAAyD;GAAAzD,EAAA,MAAAT;GAAAS,EAAA,MAAAX;GAAAW,EAAA,MAAA+E;EAAA,OAAAA,MAAA/E,EAAA;EATDkD,cAAcA;EAAH,IAAAiC;EAAA,IAAAnF,EAAA,QAAAa,UAAAb,EAAA,QAAAyD,WAAA;GAUG0B,OAAAC,YAAWtE,UAAUD,OAAMqE,IAAK,EAAA/F,MAAQsE,YAAYM,QAAM,CAAC,CAAC;GAAC/D,EAAA,MAAAa;GAAAb,EAAA,MAAAyD;GAAAzD,EAAA,MAAAmF;EAAA,OAAAA,MAAAnF,EAAA;EAA3EmD,cAAcA;EAAH,IAAAkC;EAAA,IAAArF,EAAA,QAAAa,QAAA;GACGwE,OAAAC,UAAWxE,UAAUD,OAAM0B,IAAK,EAAAD,OAASgD,MAAM,CAAC,CAAC;GAACtF,EAAA,MAAAa;GAAAb,EAAA,MAAAqF;EAAA,OAAAA,MAAArF,EAAA;EAAhEoD,cAAcA;EAAH,IAAAmC;EAAA,IAAAvF,EAAA,QAAAa,QAAA;GACE0E,OAAAC,YAAW1E,UAAUD,OAAM0B,IAAK,EAAAD,OAASgD,UAAQ,GAAG,CAAC,CAAC;GAACtF,EAAA,MAAAa;GAAAb,EAAA,MAAAuF;EAAA,OAAAA,MAAAvF,EAAA;EAApEqD,aAAaA;CAAH,OACL,IAAI/B,SAAS,WAAS;EAAA,IAAAoC;EAAA,IAAA1D,EAAA,QAAAa,OAAA1B,MAAA;GACTuE,MAAAxE,YAChB,IAAI1B,aAAaqD,OAAM1B,OAAQD,UAAU,KAAK,IAAI,GAAG,CAAC;GAACc,EAAA,MAAAa,OAAA1B;GAAAa,EAAA,MAAA0D;EAAA,OAAAA,KAAA1D,EAAA;EADzD,MAAAyF,cAAkB/B;EACwC,IAAAU;EAAA,IAAApE,EAAA,QAAAa,OAAA1B,QAAAa,EAAA,QAAA6B,oBAAA7B,EAAA,QAAAyF,eAAAzF,EAAA,QAAAS,UAAA;GAElD2D,KAAAT,MAAKC,KAAM,EAAAC,QAAU,EAAE,IAAG6B,KAAAC,YAAA;IAChC,MAAAC,YAAc7B,UAAQ;IACtB,MAAA8B,SAAWJ,YAAYvG,SAAO;IAAE,OAEzB;KAAA+C,KACA,WAAW/C;KAASgD,OAClB,IAAIhD;KAAS+E,YAElBxD,YAAY,QACZA,SAAQtB,SAAU0B,OAAM1B,QACxBd,WAAWoC,SAAQxB,KAAM,MAAMC;KAAOgF,WAEtCvD,UAASxB,SAAU0B,OAAM1B,QACzBd,WAAWsC,UAAS1B,KAAM,MAAMC;KAAOU,YAC7BiC,iBAAiBrC,QAAM/B,WAAW+B,OAAI+C,IAAK,EAAAuD,QAAU,EAAE,CAAC,CAAC,CAAC;IACxE;GAAC,CACF;GAAC9F,EAAA,MAAAa,OAAA1B;GAAAa,EAAA,MAAA6B;GAAA7B,EAAA,MAAAyF;GAAAzF,EAAA,MAAAS;GAAAT,EAAA,MAAAoE;EAAA,OAAAA,KAAApE,EAAA;EAhBF8C,QAAQA;EAkBRC,eAAe1E,WAAWwC,OAAM5B,KAAM,IAAI;EAA9B,IAAAoF;EAAA,IAAArE,EAAA,QAAAE,GAAA;GACAmE,MAAAnE,EAAE,qBAAqB,UAAU;GAACF,EAAA,MAAAE;GAAAF,EAAA,MAAAqE;EAAA,OAAAA,MAAArE,EAAA;EAA9CgD,YAAYA;EAAH,IAAAsB;EAAA,IAAAtE,EAAA,QAAAwC,kBAAA;GACA8B,MAAA9B,iBAAiB;GAACxC,EAAA,MAAAwC;GAAAxC,EAAA,MAAAsE;EAAA,OAAAA,MAAAtE,EAAA;EAA3BiD,SAASA;EAAH,IAAAsB;EAAA,IAAAvE,EAAA,QAAAT,YAAAS,EAAA,QAAAyF,aAAA;GAEQlB,OAAAwB,YAAWxG,WAAWkG,YAAY1B,UAAQ,CAAC,CAAC;GAAC/D,EAAA,MAAAT;GAAAS,EAAA,MAAAyF;GAAAzF,EAAA,MAAAuE;EAAA,OAAAA,MAAAvE,EAAA;EAA3DkD,cAAcA;EAAH,IAAAsB;EAAA,IAAAxE,EAAA,QAAAyF,aAAA;GACGjB,OAAAwB,YAAWlF,UAAU2E,YAAY1B,UAAQ,CAAC,CAAC;GAAC/D,EAAA,MAAAyF;GAAAzF,EAAA,MAAAwE;EAAA,OAAAA,MAAAxE,EAAA;EAA1DmD,cAAcA;EAAH,IAAAsB;EAAA,IAAAzE,EAAA,QAAAa,QAAA;GACG4D,OAAAwB,YAAWnF,UAAUD,OAAM0B,IAAK,EAAAuD,QAAUR,UAAQ,EAAE,CAAC,CAAC;GAACtF,EAAA,MAAAa;GAAAb,EAAA,MAAAyE;EAAA,OAAAA,MAAAzE,EAAA;EAArEoD,cAAcA;EAAH,IAAAsB;EAAA,IAAA1E,EAAA,QAAAa,QAAA;GACE6D,OAAAwB,YAAWpF,UAAUD,OAAM0B,IAAK,EAAAD,OAASgD,QAAM,CAAC,CAAC;GAACtF,EAAA,MAAAa;GAAAb,EAAA,MAAA0E;EAAA,OAAAA,MAAA1E,EAAA;EAA/DqD,aAAaA;CAAH,OAAA;EAAA,IAAAK;EAAA,IAAA1D,EAAA,QAAAa,OAAA1B,MAAA;GAEMuE,MAAAzE,UAAmB,IAAIzB,aAAaqD,OAAM1B,MAAOF,OAAO,CAAC;GAACe,EAAA,MAAAa,OAAA1B;GAAAa,EAAA,MAAA0D;EAAA,OAAAA,KAAA1D,EAAA;EAA1E,MAAAmG,YAAgBzC;EAA2D,IAAAU;EAAA,IAAApE,EAAA,QAAAa,OAAA1B,QAAAa,EAAA,QAAA6B,oBAAA7B,EAAA,QAAAmG,aAAAnG,EAAA,QAAAO,kBAAAP,EAAA,QAAAS,UAAA;GAEnE2D,KAAAT,MAAKC,KAAM,EAAAC,QAAU,GAAG,IAAGuC,KAAAC,YAAA;IACjC,MAAAC,UAAYvC,UAAQ;IACpB,MAAAwC,SAAWJ,UAAUlH,OAAK;IAAE,OAErB;KAAAgD,KACA,SAAShD;KAAOiD,OACd3B,eAAciG,OAAQhH,OAAIiH,OAAQ,KAAK,CAAC;KAACxC,YAE9CxD,YAAY,QACZA,SAAQtB,SAAU0B,OAAM1B,QACxBsB,SAAQxB,UAAWA;KAAKiF,WACfvD,UAASxB,SAAU0B,OAAM1B,QAASwB,UAAS1B,UAAWA;KAAKW,YAC1DiC,iBAAiBrC,QAAM/B,WAAW+B,MAAI,CAAC;IACrD;GAAC,CACF;GAACQ,EAAA,MAAAa,OAAA1B;GAAAa,EAAA,MAAA6B;GAAA7B,EAAA,MAAAmG;GAAAnG,EAAA,MAAAO;GAAAP,EAAA,MAAAS;GAAAT,EAAA,MAAAoE;EAAA,OAAAA,KAAApE,EAAA;EAdF8C,QAAQA;EAgBRC,eAAelC,OAAM5B,QAAS;EAAlB,IAAAoF;EAAA,IAAArE,EAAA,QAAAE,GAAA;GACAmE,MAAAnE,EAAE,mBAAmB,QAAQ;GAACF,EAAA,MAAAE;GAAAF,EAAA,MAAAqE;EAAA,OAAAA,MAAArE,EAAA;EAA1CgD,YAAYA;EAAH,IAAAsB;EAAA,IAAAtE,EAAA,QAAAwC,kBAAA;GACA8B,MAAA9B,iBAAiB;GAACxC,EAAA,MAAAwC;GAAAxC,EAAA,MAAAsE;EAAA,OAAAA,MAAAtE,EAAA;EAA3BiD,SAASA;EAAH,IAAAsB;EAAA,IAAAvE,EAAA,QAAAmG,aAAAnG,EAAA,QAAAT,UAAA;GAEQgF,OAAAmC,YAAWnH,WAAW4G,UAAUpC,UAAQ,CAAC,CAAC;GAAC/D,EAAA,MAAAmG;GAAAnG,EAAA,MAAAT;GAAAS,EAAA,MAAAuE;EAAA,OAAAA,MAAAvE,EAAA;EAAzDkD,cAAcA;EAAH,IAAAsB;EAAA,IAAAxE,EAAA,SAAAmG,WAAA;GACG3B,OAAAmC,YAAW7F,UAAUqF,UAAUpC,UAAQ,CAAC,CAAC;GAAC/D,EAAA,OAAAmG;GAAAnG,EAAA,OAAAwE;EAAA,OAAAA,MAAAxE,EAAA;EAAxDmD,cAAcA;EAAH,IAAAsB;EAAA,IAAAzE,EAAA,SAAAa,QAAA;GACG4D,OAAAmC,YAAW9F,UAAUD,OAAM0B,IAAK,EAAAuD,QAAUR,QAAM,CAAC,CAAC;GAACtF,EAAA,OAAAa;GAAAb,EAAA,OAAAyE;EAAA,OAAAA,MAAAzE,EAAA;EAAjEoD,cAAcA;EAAH,IAAAsB;EAAA,IAAA1E,EAAA,SAAAa,QAAA;GACE6D,OAAAmC,YAAW/F,UAAUD,OAAM0B,IAAK,EAAAD,OAASgD,QAAM,CAAC,CAAC;GAACtF,EAAA,OAAAa;GAAAb,EAAA,OAAA0E;EAAA,OAAAA,MAAA1E,EAAA;EAA/DqD,aAAaA;CAAH;CAaG,MAAAK,KAAA3E,QAAQuC;CAAK,IAAA8C;CAAA,IAAApE,EAAA,SAAAiB,iBAAAjB,EAAA,SAAA8C,SAAA9C,EAAA,SAAA+C,gBAAA/C,EAAA,SAAAgD,aAAAhD,EAAA,SAAAmD,eAAAnD,EAAA,SAAAkD,eAAAlD,EAAA,SAAAoD,eAAApD,EAAA,SAAAqD,cAAArD,EAAA,SAAA0D,MAAA1D,EAAA,SAAAsB,MAAA;EAPxB8C,KAAA,oBAAC,YAAD;GAGanD,WAAAA;GACC+B,cAAAA;GACLF;GACCnE,QAAAA;GACC,SAAA+E;GACKX;GACDG;GACAC;GACAC;GACDC;EAAU,GAVjB/B,IAUiB;EACtBtB,EAAA,OAAAiB;EAAAjB,EAAA,OAAA8C;EAAA9C,EAAA,OAAA+C;EAAA/C,EAAA,OAAAgD;EAAAhD,EAAA,OAAAmD;EAAAnD,EAAA,OAAAkD;EAAAlD,EAAA,OAAAoD;EAAApD,EAAA,OAAAqD;EAAArD,EAAA,OAAA0D;EAAA1D,EAAA,OAAAsB;EAAAtB,EAAA,OAAAoE;CAAA,OAAAA,KAAApE,EAAA;CAAA,IAAAqE;CAAA,IAAArE,EAAA,SAAAiD,UAAAjD,EAAA,SAAA6C,aAAA7C,EAAA,SAAAoE,IAAA;EAfJC,MAAA,qBAAC,iBAAD;GAA4BxB;GAA5B,UAAA,CACGI,QACDmB,EAFc;;EAgBEpE,EAAA,OAAAiD;EAAAjD,EAAA,OAAA6C;EAAA7C,EAAA,OAAAoE;EAAApE,EAAA,OAAAqE;CAAA,OAAAA,MAAArE,EAAA;CAAA,OAhBlBqE;AAgBkB;AAzOf,SAAA7C,MAAArC,MAAA;CAAA,OAqC6B,IAAI3B,aAAa2B,MAAM,GAAG,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"file":"PeriodCalendar.js","names":["CalendarDate","endOfMonth","endOfYear","getLocalTimeZone","toCalendarDate","today","KeyboardEvent","ReactElement","useState","DateValue","useDateFormatter","useI18n","useProviderProps","getQuarter","CalendarHeader","CubePeriodGridCell","PeriodGrid","CalendarElement","YEAR_CELLS","PERIOD_GRID_STYLES","width","const","CubePeriodCalendarPicker","COLUMNS","Record","month","quarter","year","CubePeriodCalendarProps","picker","value","onChange","date","minValue","maxValue","isDateUnavailable","isDisabled","autoFocus","PeriodCalendar","props","$","_c","t","t0","Symbol","for","timeZone","monthFormatter","t1","selected","t2","todayDate","t3","anchor","setAnchor","isYearView","setIsYearView","autoFocusGrid","setAutoFocusGrid","t4","next","showYearView","view","yearStart","_temp","t5","start","end","compare","isPeriodDisabled","t6","prevYear","nextYear","key","label","String","onPress","subtract","years","add","renderYearHeader","t7","e","preventDefault","stopPropagation","onKeyDown","cells","focusedIndex","gridLabel","header","onCellPress","onCellFocus","onMoveFocus","onMovePage","decadeStart","Math","floor","firstYear","t8","Array","from","length","_","index","year_0","isSelected","isCurrent","isOutside","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","index_0","year_1","set","t21","index_1","t22","delta","t23","delta_0","quarterDate","__0","index_2","quarter_0","date_0","months","index_3","index_4","delta_1","delta_2","monthDate","__1","index_5","month_0","date_1","format","toDate","index_6","index_7","delta_3","delta_4","_c"],"sources":["../../../../src/components/other/Calendar/PeriodCalendar.tsx"],"sourcesContent":["import {\n CalendarDate,\n endOfMonth,\n endOfYear,\n getLocalTimeZone,\n toCalendarDate,\n today,\n} from '@internationalized/date';\nimport { KeyboardEvent, ReactElement, useState } from 'react';\nimport { DateValue, useDateFormatter } from 'react-aria';\n\nimport { useI18n } from '../../../i18n/useI18n';\nimport { useProviderProps } from '../../../provider';\nimport { getQuarter } from '../../fields/DatePicker/period';\n\nimport { CalendarHeader } from './CalendarHeader';\nimport { CubePeriodGridCell, PeriodGrid } from './PeriodGrid';\nimport { CalendarElement } from './styled';\n\n/** The year grid shows a decade plus one adjacent year on either side. */\nconst YEAR_CELLS = 12;\n\n/** Explicit so the panel keeps one width across all three period views. */\nconst PERIOD_GRID_STYLES = { width: '28x' } as const;\n\nexport type CubePeriodCalendarPicker = 'month' | 'quarter' | 'year';\n\n/** picker → grid columns */\nconst COLUMNS: Record<CubePeriodCalendarPicker, number> = {\n month: 3,\n quarter: 4,\n year: 3,\n};\n\nexport interface CubePeriodCalendarProps {\n /** Which non-day period this panel selects. */\n picker: CubePeriodCalendarPicker;\n value?: DateValue | null;\n onChange?: (date: CalendarDate) => void;\n minValue?: DateValue | null;\n maxValue?: DateValue | null;\n isDateUnavailable?: (date: DateValue) => boolean;\n isDisabled?: boolean;\n autoFocus?: boolean;\n}\n\n/**\n * The panel behind `MonthPicker`, `QuarterPicker` and `YearPicker`. The month\n * and quarter panels drill up into a year list, so reaching a distant year\n * never means clicking the arrow a dozen times.\n */\nexport function PeriodCalendar(props: CubePeriodCalendarProps) {\n const { t } = useI18n();\n\n props = useProviderProps(props);\n\n let {\n picker,\n value,\n onChange,\n minValue,\n maxValue,\n isDateUnavailable,\n isDisabled,\n autoFocus,\n } = props;\n\n let monthFormatter = useDateFormatter({ month: 'short', timeZone: 'UTC' });\n\n let selected = value ? toCalendarDate(value) : null;\n let todayDate = today(getLocalTimeZone());\n\n // A date inside the period the keyboard currently focuses. Drives both the\n // roving tab stop and which year / decade the panel shows.\n let [anchor, setAnchor] = useState<CalendarDate>(() => selected ?? todayDate);\n let [isYearView, setIsYearView] = useState(false);\n // Switching panels always moves focus into the new grid — the button the\n // user just pressed is gone by then.\n let [autoFocusGrid, setAutoFocusGrid] = useState(!!autoFocus);\n\n let showYearView = (next: boolean) => {\n setAutoFocusGrid(true);\n setIsYearView(next);\n };\n\n let view: CubePeriodCalendarPicker =\n picker === 'year' || isYearView ? 'year' : picker;\n\n let yearStart = (year: number) => new CalendarDate(year, 1, 1);\n\n let isPeriodDisabled = (start: CalendarDate, end: CalendarDate) => {\n if (isDisabled) return true;\n if (minValue && end.compare(minValue) < 0) return true;\n if (maxValue && start.compare(maxValue) > 0) return true;\n\n return isDateUnavailable?.(start) ?? false;\n };\n\n /** Header for the month and quarter panels — the year drills up to a list. */\n let renderYearHeader = () => {\n let prevYear = anchor.year - 1;\n let nextYear = anchor.year + 1;\n\n return (\n <CalendarHeader\n segments={[\n {\n key: 'year',\n label: String(anchor.year),\n isDisabled,\n onPress: () => showYearView(true),\n },\n ]}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYear', 'Previous year'),\n isDisabled: isPeriodDisabled(\n yearStart(prevYear),\n endOfYear(yearStart(prevYear)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 1 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYear', 'Next year'),\n isDisabled: isPeriodDisabled(\n yearStart(nextYear),\n endOfYear(yearStart(nextYear)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 1 })),\n }}\n />\n );\n };\n\n let onKeyDown = (e: KeyboardEvent) => {\n // The year list is a detour, so `Escape` returns to the period list rather\n // than closing the surrounding popover.\n if (isYearView && picker !== 'year' && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n showYearView(false);\n }\n };\n\n let cells: CubePeriodGridCell[];\n let focusedIndex: number;\n let gridLabel: string;\n let header: ReactElement;\n let onCellPress: (index: number) => void;\n let onCellFocus: (index: number) => void;\n let onMoveFocus: (delta: number) => void;\n let onMovePage: (delta: -1 | 1) => void;\n\n if (view === 'year') {\n let decadeStart = Math.floor(anchor.year / 10) * 10;\n let firstYear = decadeStart - 1;\n\n cells = Array.from({ length: YEAR_CELLS }, (_, index) => {\n let year = firstYear + index;\n let date = yearStart(year);\n\n return {\n key: `year-${year}`,\n label: String(year),\n isSelected: selected?.year === year,\n isCurrent: todayDate.year === year,\n isOutside: year < decadeStart || year > decadeStart + 9,\n isDisabled: isPeriodDisabled(date, endOfYear(date)),\n };\n });\n\n focusedIndex = anchor.year - firstYear;\n gridLabel = t('calendar.years', 'Years');\n\n header = (\n <CalendarHeader\n title={`${decadeStart} – ${decadeStart + 9}`}\n prevButtonProps={{\n 'aria-label': t('calendar.previousYears', 'Previous years'),\n isDisabled: isPeriodDisabled(\n yearStart(decadeStart - 10),\n endOfYear(yearStart(decadeStart - 1)),\n ),\n onPress: () => setAnchor(anchor.subtract({ years: 10 })),\n }}\n nextButtonProps={{\n 'aria-label': t('calendar.nextYears', 'Next years'),\n isDisabled: isPeriodDisabled(\n yearStart(decadeStart + 10),\n endOfYear(yearStart(decadeStart + 19)),\n ),\n onPress: () => setAnchor(anchor.add({ years: 10 })),\n }}\n />\n );\n\n onCellPress = (index) => {\n let year = firstYear + index;\n\n if (picker === 'year') {\n onChange?.(yearStart(year));\n } else {\n setAnchor(anchor.set({ year }));\n showYearView(false);\n }\n };\n onCellFocus = (index) => setAnchor(anchor.set({ year: firstYear + index }));\n onMoveFocus = (delta) => setAnchor(anchor.add({ years: delta }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta * 10 }));\n } else if (view === 'quarter') {\n let quarterDate = (quarter: number) =>\n new CalendarDate(anchor.year, (quarter - 1) * 3 + 1, 1);\n\n cells = Array.from({ length: 4 }, (_, index) => {\n let quarter = index + 1;\n let date = quarterDate(quarter);\n\n return {\n key: `quarter-${quarter}`,\n label: `Q${quarter}`,\n isSelected:\n selected != null &&\n selected.year === anchor.year &&\n getQuarter(selected.month) === quarter,\n isCurrent:\n todayDate.year === anchor.year &&\n getQuarter(todayDate.month) === quarter,\n isDisabled: isPeriodDisabled(date, endOfMonth(date.add({ months: 2 }))),\n };\n });\n\n focusedIndex = getQuarter(anchor.month) - 1;\n gridLabel = t('calendar.quarters', 'Quarters');\n header = renderYearHeader();\n\n onCellPress = (index) => onChange?.(quarterDate(index + 1));\n onCellFocus = (index) => setAnchor(quarterDate(index + 1));\n onMoveFocus = (delta) => setAnchor(anchor.add({ months: delta * 3 }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta }));\n } else {\n let monthDate = (month: number) => new CalendarDate(anchor.year, month, 1);\n\n cells = Array.from({ length: 12 }, (_, index) => {\n let month = index + 1;\n let date = monthDate(month);\n\n return {\n key: `month-${month}`,\n label: monthFormatter.format(date.toDate('UTC')),\n isSelected:\n selected != null &&\n selected.year === anchor.year &&\n selected.month === month,\n isCurrent: todayDate.year === anchor.year && todayDate.month === month,\n isDisabled: isPeriodDisabled(date, endOfMonth(date)),\n };\n });\n\n focusedIndex = anchor.month - 1;\n gridLabel = t('calendar.months', 'Months');\n header = renderYearHeader();\n\n onCellPress = (index) => onChange?.(monthDate(index + 1));\n onCellFocus = (index) => setAnchor(monthDate(index + 1));\n onMoveFocus = (delta) => setAnchor(anchor.add({ months: delta }));\n onMovePage = (delta) => setAnchor(anchor.add({ years: delta }));\n }\n\n return (\n <CalendarElement onKeyDown={onKeyDown}>\n {header}\n <PeriodGrid\n // Remount per view so focus follows the user into the new grid.\n key={view}\n autoFocus={autoFocusGrid}\n aria-label={gridLabel}\n cells={cells}\n styles={PERIOD_GRID_STYLES}\n columns={COLUMNS[view]}\n focusedIndex={focusedIndex}\n onCellPress={onCellPress}\n onCellFocus={onCellFocus}\n onMoveFocus={onMoveFocus}\n onMovePage={onMovePage}\n />\n </CalendarElement>\n );\n}\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.209.0 | Cube Dev Team */
|
|
2
2
|
import { CALENDAR_CELL_STYLES } from "./styled.js";
|
|
3
3
|
import { mergeStyles, tasty } from "@tenphi/tasty";
|
|
4
4
|
import { useLayoutEffect, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useProviderProps } from "../../../provider.js";
|
|
3
3
|
import { CalendarPanel } from "./CalendarPanel.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { Icon } from "../../../icons/Icon.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { mergeStyles, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { wrapIcon } from "../../../icons/wrap-icon.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/other/NoDataIcon/NoDataIcon.tsx
|