@cube-dev/ui-kit 0.153.0 → 0.154.1
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 +35 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.d.ts +12 -0
- package/dist/components/fields/DatePicker/MonthPicker.js +19 -0
- package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -0
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +28 -0
- package/dist/components/fields/DatePicker/PeriodPicker.js +131 -0
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -0
- package/dist/components/fields/DatePicker/QuarterPicker.d.ts +12 -0
- package/dist/components/fields/DatePicker/QuarterPicker.js +19 -0
- package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -0
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.d.ts +12 -0
- package/dist/components/fields/DatePicker/WeekPicker.js +19 -0
- package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -0
- package/dist/components/fields/DatePicker/YearPicker.d.ts +12 -0
- package/dist/components/fields/DatePicker/YearPicker.js +19 -0
- package/dist/components/fields/DatePicker/YearPicker.js.map +1 -0
- package/dist/components/fields/DatePicker/index.d.ts +7 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.d.ts +35 -0
- package/dist/components/fields/DatePicker/period.js +58 -0
- package/dist/components/fields/DatePicker/period.js.map +1 -0
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/index.d.ts +6 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +12 -3
- package/dist/components/other/Calendar/Calendar.js.map +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +4 -2
- package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +35 -13
- package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +229 -0
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -0
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.d.ts +12 -5
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.js +21 -7
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/Theming.md +34 -30
- package/docs/components/fields/PeriodPicker.md +75 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -186,6 +186,12 @@ import { CubeDatePickerProps, _DatePicker } from "./components/fields/DatePicker
|
|
|
186
186
|
import { CubeDateRangePickerProps, _DateRangePicker } from "./components/fields/DatePicker/DateRangePicker.js";
|
|
187
187
|
import { parseAbsoluteDate } from "./components/fields/DatePicker/parseDate.js";
|
|
188
188
|
import { CubeDateRangeSeparatedPickerProps, _DateRangeSeparatedPicker } from "./components/fields/DatePicker/DateRangeSeparatedPicker.js";
|
|
189
|
+
import { PickerType, formatPeriod, getQuarter, getWeekNumber, snapToPeriod } from "./components/fields/DatePicker/period.js";
|
|
190
|
+
import { CubePeriodPickerProps, _PeriodPicker } from "./components/fields/DatePicker/PeriodPicker.js";
|
|
191
|
+
import { CubeMonthPickerProps, _MonthPicker } from "./components/fields/DatePicker/MonthPicker.js";
|
|
192
|
+
import { CubeQuarterPickerProps, _QuarterPicker } from "./components/fields/DatePicker/QuarterPicker.js";
|
|
193
|
+
import { CubeYearPickerProps, _YearPicker } from "./components/fields/DatePicker/YearPicker.js";
|
|
194
|
+
import { CubeWeekPickerProps, _WeekPicker } from "./components/fields/DatePicker/WeekPicker.js";
|
|
189
195
|
import { CubeRadioGroupProps, _RadioGroup } from "./components/fields/RadioGroup/RadioGroup.js";
|
|
190
196
|
import { AriaRadioProps, CubeRadioProps, __Radio, useRadio } from "./components/fields/RadioGroup/Radio.js";
|
|
191
197
|
import { AriaSliderProps, CubeSliderBaseProps } from "./components/fields/Slider/types.js";
|
|
@@ -393,5 +399,5 @@ declare const Typography: {
|
|
|
393
399
|
Paragraph: react.ForwardRefExoticComponent<CubeParagraphProps & react.RefAttributes<HTMLElement>>;
|
|
394
400
|
};
|
|
395
401
|
//#endregion
|
|
396
|
-
export { Action, ActiveToken, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, type AllBaseProps, AreaChartIcon, AriaCheckboxProps, AriaMenuTriggerProps, AriaNumberFieldProps, AriaRadioProps, AriaSelectProps, AriaSliderProps, AriaSwitchProps, AriaTextFieldProps, Avatar, Axis, BASE_TOKENS, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerActionProps, BannerLink, BannerLinkProps, BannerProps, BannerTheme, BarChartIcon, type BaseProps, type BasePropsWithoutChildren, type BaseStyleProps, BellFilledIcon, BellIcon, Block, type BlockStyleProps, Board, type BreakpointCols as BoardBreakpointCols, type Breakpoints as BoardBreakpoints, type BoardCompactType, type Compactor as BoardCompactor, type BoardGridLines, type BoardInteractionInfo, type Layout as BoardLayout, type LayoutConstraint as BoardLayoutConstraint, type LayoutItem as BoardLayoutItem, BoardProvider, type ResizeHandleAxis as BoardResizeHandleAxis, BoardResponsive, type ResponsiveLayouts as BoardResponsiveLayouts, Widget as BoardWidget, type WidgetTransferInfo as BoardWidgetTransferInfo, BooleanIcon, Button, ButtonGroup, ButtonMods, ButtonSplit, ButtonSplitAction, ButtonSplitContext, ButtonSplitContextValue, ButtonVariant, type BytesOptions, COLOR_TOKENS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, type ColorStyleProps, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, type CommandMenuItem, _CommandTextArea as CommandTextArea, CommandTextAreaFilterFn, CommandTrigger, type ContainerStyleProps, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeActionProps, type CubeActiveZoneProps, type CubeAlertDialogProps, CubeAlertProps, type CubeAvatarProps, type CubeBadgeProps, type CubeBlockProps, type CubeBoardProps, type CubeBoardProviderProps, type CubeBoardResponsiveProps, type CubeBoardWidgetProps, CubeButtonProps, CubeButtonSplitProps, type CubeCardProps, CubeCheckboxGroupProps, CubeCheckboxProps, CubeComboBoxProps, type CubeCommandMenuProps, CubeCommandTextAreaProps, type CubeContentProps, CubeCopyPasteBlockProps, CubeCopySnippetProps, CubeDateInputProps, CubeDatePickerProps, CubeDateRangePickerProps, CubeDateRangeSeparatedPickerProps, type CubeDialogContainerProps, type CubeDialogFormProps, type CubeDialogFormRef, type CubeDialogProps, type CubeDialogTriggerProps, type CubeDisclosureContentProps, type CubeDisclosureGroupProps, type CubeDisclosureItemProps, type CubeDisclosureProps, type CubeDisclosureTriggerProps, type CubeDividerProps, CubeFieldWrapperProps, CubeFileInputProps, type CubeFileTabProps, CubeFilterListBoxProps, CubeFilterPickerProps, type CubeFlexProps, type CubeFlowProps, type CubeFooterProps, CubeFormInstance, CubeFormProps, CubeFullLogo, type CubeGridLayoutProps, type CubeGridProps, type CubeGridProviderProps, type CubeHeaderProps, CubeHotKeysProps, CubeHueSliderProps, CubeIcon, CubeIconProps, type CubeInfoBadgeProps, type CubeInfoBadgeTooltipConfig, type CubeInlineInputEditTrigger, type CubeInlineInputProps, type CubeInlineInputRef, CubeItemActionProps, type CubeItemBadgeProps, type CubeItemProps as CubeItemBaseProps, CubeItemButtonProps, CubeItemButtonProps as ItemButtonProps, type CubeItemCardProps, type CubeItemProps, CubeLabelProps, type CubeLayoutContentProps, type CubeLayoutFooterProps, type CubeLayoutHeaderProps, type CubeLayoutPaneProps, type CubeLayoutPanelHeaderProps, type CubeLayoutPanelProps, type CubeLayoutProps, type CubeLayoutToolbarProps, type CubeListBoxProps, CubeLoadingAnimationProps, CubeLogo, type CubeLogoProps, type CubeMenuProps, CubeMenuSectionProps, type CubeMenuTriggerProps, CubeNumberInputProps, type CubePanelProps, type CubeParagraphProps, CubePasswordInputProps, CubePauseIcon, CubePickerProps, type CubePlaceholderProps, CubePlayIcon, type CubePrefixProps, type CubePrismCodeProps, type CubePrismDiffCodeProps, CubeRadioGroupProps, CubeRadioProps, CubeRangeSliderProps, CubeResetButtonProps, type CubeResizablePanelProps, type CubeResultProps, type CubeResultStatus, type CubeRootProps, CubeSearchComboBoxProps, type CubeSearchInputProps, type CubeSelectBaseProps, type CubeSelectProps, type CubeSkeletonProps, CubeSliderBaseProps, CubeSliderProps, type CubeSpaceProps, CubeSpinProps, type CubeStatsCard, CubeSubMenuTriggerProps, CubeSubmitButtonProps, CubeAlertProps as CubeSubmitErrorProps, type CubeSuffixProps, CubeSwitchProps, CubeTabListProps, CubeTabPanelProps, CubeTabProps, CubeTabsActionProps, CubeTabsProps, type CubeTagProps, CubeTextAreaProps, CubeTextInputBaseProps, CubeTextInputMapperInputProps, CubeTextInputMapperProps, CubeTextInputProps, type CubeTextItemProps, type CubeTextProps, CubeTimeInputProps, type CubeTitleProps, type CubeTooltipProps, type CubeTooltipProviderProps, type CubeTooltipTriggerProps, type CubeTreeNodeData, type CubeTreeProps, CubeUseActionProps, CurrencyDollarIcon, type CurrencyOptions, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, DatabaseIcon, DateFieldBase, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, type DimensionStyleProps, DirectionIcon, DirectionIconProps, _Disclosure as Disclosure, type DisclosureStateContext, DismissReason, DisplayTransition, type DisplayTransitionProps, Divider, DonutIcon, DownIcon, DynamicIcon, EditIcon, EventBusContextValue, EventBusListener, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldBaseProps, FieldCoreProps, FieldReturnValue, FieldTypes, FieldWrapper, Fields, _FileInput as FileInput, FileTabs, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, type FlowStyleProps, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormBaseProps, FormContext, type FormatDateInput, type Formatter, ForwardIcon, Granularity, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, type I18n, I18nProvider, type I18nProviderProps, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, IconRenderFn, InfoBadge, InfoCircleIcon, InfoIcon, type InitOptions, InlineInput, Input, _Item as Item, ItemAction, CubeItemActionProps as ItemActionProps, ItemActionProvider, ItemActionProviderProps, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, LabelPosition, Layout$1 as Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuContextValue, MenuItem, MenuItemProps, MenuSection, MenuSelectionType, _MenuTrigger as MenuTrigger, type MenuTriggerState, MoreIcon, type NavigateArg, type NavigateLike, type NavigateOptions, type NavigationAdapter, NecessityIndicator, NotAllowedIcon, Notification, NotificationAction, NotificationActionProps, NotificationBaseOptions, NotificationCard, NotificationCardProps, NotificationComponent, NotificationHandle, NotificationItem, NotificationItemProps, NotificationOptions, NotificationProps, NotificationType, NotificationsApi, Number123Icon, NumberIcon, _NumberInput as NumberInput, type OuterStyleProps, OverlayNotificationOptions, OverlayProvider, OverlayProviderProps, PALETTE_TOKENS, PaletteCodeSeed, PaletteConfig, PaletteThemeName, PaletteThemeSeed, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, type Path, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, PersistentNotificationItem, PersistentNotificationsList, PersistentNotificationsListProps, Picker, PieChartIcon, Placeholder, PlacementAxis, PlayCircleIcon, PlayIcon, PlusIcon, Portal, type PortalProps, type PositionStyleProps, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, ProgressToastEmpty, ProgressToastOptions, type Props, Provider, type ProviderProps, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, RangeValue, type RelativeRoutingType, type RelativeTimeOptions, ReloadIcon, RenderCache, RenderCacheProps, RenderPaletteOptions, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, ResolvableValidationProps, ResolvedIcon, ResolvedPaletteConfig, ResolvedValidationProps, type Resource, type ResourceKey, type ResourceLanguage, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, type ScrollbarType, SearchComboBox, SearchFieldProps, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, type ShortGridStyles, SizeKey, SizeName, Skeleton, SlashIcon, __Slider as Slider, SliderState, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StoredNotificationOptions, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, type SupportedLocale, _Switch as Switch, SwitchIcon, type TFunction, TOKENS, TYPOGRAPHY_PRESETS, Tab, TabContextMenu, TabSize, TabType, TableIcon, Tabs, TabsAction, TabsActionPosition, _Tag as Tag, type TagName, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, type TextStyleProps, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, type To, Toast, ToastApi, ToastComponent, ToastData, ToastItem, ToastItemProps, ToastProgressProps, ToastProps, ToastType, ToggleSelectionProps, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, type TransProps, Translation, TrashIcon, Tree, type TreeContextMenu, type TreeLoadDataNode, type TreeNodeState, type TreeOnCheckInfo, type TreeOnExpandInfo, type TreeOnSelectInfo, type TreeSelectionMode, Typography, UIKIT_I18N_NAMESPACE, type UIKitResources, UnlockIcon, UpIcon, UseAnchoredMenuReturn, UseContextMenuReturn, UseControlledFocusVisibleResult, UseFieldParams, UseFieldProps, UseFieldPropsParams, UsePopoverSyncOptions, type UseTranslationOptions, type UseTranslationResponse, UserGroupIcon, UserIcon, UserLockIcon, ValidateTrigger, ValidationIndicator, ValidationIndicatorProps, ValidationProps, ValidationResult, ValidationRule, ValidationRuleBase, ValidationState, ViewIcon, WarningFilledIcon, WarningIcon, type WithTranslation, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTokens, getCompactor, getI18n, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useButtonSplitContext, useCheckbox, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
402
|
+
export { Action, ActiveToken, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, type AllBaseProps, AreaChartIcon, AriaCheckboxProps, AriaMenuTriggerProps, AriaNumberFieldProps, AriaRadioProps, AriaSelectProps, AriaSliderProps, AriaSwitchProps, AriaTextFieldProps, Avatar, Axis, BASE_TOKENS, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerActionProps, BannerLink, BannerLinkProps, BannerProps, BannerTheme, BarChartIcon, type BaseProps, type BasePropsWithoutChildren, type BaseStyleProps, BellFilledIcon, BellIcon, Block, type BlockStyleProps, Board, type BreakpointCols as BoardBreakpointCols, type Breakpoints as BoardBreakpoints, type BoardCompactType, type Compactor as BoardCompactor, type BoardGridLines, type BoardInteractionInfo, type Layout as BoardLayout, type LayoutConstraint as BoardLayoutConstraint, type LayoutItem as BoardLayoutItem, BoardProvider, type ResizeHandleAxis as BoardResizeHandleAxis, BoardResponsive, type ResponsiveLayouts as BoardResponsiveLayouts, Widget as BoardWidget, type WidgetTransferInfo as BoardWidgetTransferInfo, BooleanIcon, Button, ButtonGroup, ButtonMods, ButtonSplit, ButtonSplitAction, ButtonSplitContext, ButtonSplitContextValue, ButtonVariant, type BytesOptions, COLOR_TOKENS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, type ColorStyleProps, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, type CommandMenuItem, _CommandTextArea as CommandTextArea, CommandTextAreaFilterFn, CommandTrigger, type ContainerStyleProps, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeActionProps, type CubeActiveZoneProps, type CubeAlertDialogProps, CubeAlertProps, type CubeAvatarProps, type CubeBadgeProps, type CubeBlockProps, type CubeBoardProps, type CubeBoardProviderProps, type CubeBoardResponsiveProps, type CubeBoardWidgetProps, CubeButtonProps, CubeButtonSplitProps, type CubeCardProps, CubeCheckboxGroupProps, CubeCheckboxProps, CubeComboBoxProps, type CubeCommandMenuProps, CubeCommandTextAreaProps, type CubeContentProps, CubeCopyPasteBlockProps, CubeCopySnippetProps, CubeDateInputProps, CubeDatePickerProps, CubeDateRangePickerProps, CubeDateRangeSeparatedPickerProps, type CubeDialogContainerProps, type CubeDialogFormProps, type CubeDialogFormRef, type CubeDialogProps, type CubeDialogTriggerProps, type CubeDisclosureContentProps, type CubeDisclosureGroupProps, type CubeDisclosureItemProps, type CubeDisclosureProps, type CubeDisclosureTriggerProps, type CubeDividerProps, CubeFieldWrapperProps, CubeFileInputProps, type CubeFileTabProps, CubeFilterListBoxProps, CubeFilterPickerProps, type CubeFlexProps, type CubeFlowProps, type CubeFooterProps, CubeFormInstance, CubeFormProps, CubeFullLogo, type CubeGridLayoutProps, type CubeGridProps, type CubeGridProviderProps, type CubeHeaderProps, CubeHotKeysProps, CubeHueSliderProps, CubeIcon, CubeIconProps, type CubeInfoBadgeProps, type CubeInfoBadgeTooltipConfig, type CubeInlineInputEditTrigger, type CubeInlineInputProps, type CubeInlineInputRef, CubeItemActionProps, type CubeItemBadgeProps, type CubeItemProps as CubeItemBaseProps, CubeItemButtonProps, CubeItemButtonProps as ItemButtonProps, type CubeItemCardProps, type CubeItemProps, CubeLabelProps, type CubeLayoutContentProps, type CubeLayoutFooterProps, type CubeLayoutHeaderProps, type CubeLayoutPaneProps, type CubeLayoutPanelHeaderProps, type CubeLayoutPanelProps, type CubeLayoutProps, type CubeLayoutToolbarProps, type CubeListBoxProps, CubeLoadingAnimationProps, CubeLogo, type CubeLogoProps, type CubeMenuProps, CubeMenuSectionProps, type CubeMenuTriggerProps, CubeMonthPickerProps, CubeNumberInputProps, type CubePanelProps, type CubeParagraphProps, CubePasswordInputProps, CubePauseIcon, CubePeriodPickerProps, CubePickerProps, type CubePlaceholderProps, CubePlayIcon, type CubePrefixProps, type CubePrismCodeProps, type CubePrismDiffCodeProps, CubeQuarterPickerProps, CubeRadioGroupProps, CubeRadioProps, CubeRangeSliderProps, CubeResetButtonProps, type CubeResizablePanelProps, type CubeResultProps, type CubeResultStatus, type CubeRootProps, CubeSearchComboBoxProps, type CubeSearchInputProps, type CubeSelectBaseProps, type CubeSelectProps, type CubeSkeletonProps, CubeSliderBaseProps, CubeSliderProps, type CubeSpaceProps, CubeSpinProps, type CubeStatsCard, CubeSubMenuTriggerProps, CubeSubmitButtonProps, CubeAlertProps as CubeSubmitErrorProps, type CubeSuffixProps, CubeSwitchProps, CubeTabListProps, CubeTabPanelProps, CubeTabProps, CubeTabsActionProps, CubeTabsProps, type CubeTagProps, CubeTextAreaProps, CubeTextInputBaseProps, CubeTextInputMapperInputProps, CubeTextInputMapperProps, CubeTextInputProps, type CubeTextItemProps, type CubeTextProps, CubeTimeInputProps, type CubeTitleProps, type CubeTooltipProps, type CubeTooltipProviderProps, type CubeTooltipTriggerProps, type CubeTreeNodeData, type CubeTreeProps, CubeUseActionProps, CubeWeekPickerProps, CubeYearPickerProps, CurrencyDollarIcon, type CurrencyOptions, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, DatabaseIcon, DateFieldBase, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, type DimensionStyleProps, DirectionIcon, DirectionIconProps, _Disclosure as Disclosure, type DisclosureStateContext, DismissReason, DisplayTransition, type DisplayTransitionProps, Divider, DonutIcon, DownIcon, DynamicIcon, EditIcon, EventBusContextValue, EventBusListener, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldBaseProps, FieldCoreProps, FieldReturnValue, FieldTypes, FieldWrapper, Fields, _FileInput as FileInput, FileTabs, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, type FlowStyleProps, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormBaseProps, FormContext, type FormatDateInput, type Formatter, ForwardIcon, Granularity, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, type I18n, I18nProvider, type I18nProviderProps, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, IconRenderFn, InfoBadge, InfoCircleIcon, InfoIcon, type InitOptions, InlineInput, Input, _Item as Item, ItemAction, CubeItemActionProps as ItemActionProps, ItemActionProvider, ItemActionProviderProps, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, LabelPosition, Layout$1 as Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuContextValue, MenuItem, MenuItemProps, MenuSection, MenuSelectionType, _MenuTrigger as MenuTrigger, type MenuTriggerState, _MonthPicker as MonthPicker, MoreIcon, type NavigateArg, type NavigateLike, type NavigateOptions, type NavigationAdapter, NecessityIndicator, NotAllowedIcon, Notification, NotificationAction, NotificationActionProps, NotificationBaseOptions, NotificationCard, NotificationCardProps, NotificationComponent, NotificationHandle, NotificationItem, NotificationItemProps, NotificationOptions, NotificationProps, NotificationType, NotificationsApi, Number123Icon, NumberIcon, _NumberInput as NumberInput, type OuterStyleProps, OverlayNotificationOptions, OverlayProvider, OverlayProviderProps, PALETTE_TOKENS, PaletteCodeSeed, PaletteConfig, PaletteThemeName, PaletteThemeSeed, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, type Path, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, _PeriodPicker as PeriodPicker, PersistentNotificationItem, PersistentNotificationsList, PersistentNotificationsListProps, Picker, PickerType, PieChartIcon, Placeholder, PlacementAxis, PlayCircleIcon, PlayIcon, PlusIcon, Portal, type PortalProps, type PositionStyleProps, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, ProgressToastEmpty, ProgressToastOptions, type Props, Provider, type ProviderProps, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, RangeValue, type RelativeRoutingType, type RelativeTimeOptions, ReloadIcon, RenderCache, RenderCacheProps, RenderPaletteOptions, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, ResolvableValidationProps, ResolvedIcon, ResolvedPaletteConfig, ResolvedValidationProps, type Resource, type ResourceKey, type ResourceLanguage, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, type ScrollbarType, SearchComboBox, SearchFieldProps, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, type ShortGridStyles, SizeKey, SizeName, Skeleton, SlashIcon, __Slider as Slider, SliderState, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StoredNotificationOptions, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, type SupportedLocale, _Switch as Switch, SwitchIcon, type TFunction, TOKENS, TYPOGRAPHY_PRESETS, Tab, TabContextMenu, TabSize, TabType, TableIcon, Tabs, TabsAction, TabsActionPosition, _Tag as Tag, type TagName, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, type TextStyleProps, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, type To, Toast, ToastApi, ToastComponent, ToastData, ToastItem, ToastItemProps, ToastProgressProps, ToastProps, ToastType, ToggleSelectionProps, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, type TransProps, Translation, TrashIcon, Tree, type TreeContextMenu, type TreeLoadDataNode, type TreeNodeState, type TreeOnCheckInfo, type TreeOnExpandInfo, type TreeOnSelectInfo, type TreeSelectionMode, Typography, UIKIT_I18N_NAMESPACE, type UIKitResources, UnlockIcon, UpIcon, UseAnchoredMenuReturn, UseContextMenuReturn, UseControlledFocusVisibleResult, UseFieldParams, UseFieldProps, UseFieldPropsParams, UsePopoverSyncOptions, type UseTranslationOptions, type UseTranslationResponse, UserGroupIcon, UserIcon, UserLockIcon, ValidateTrigger, ValidationIndicator, ValidationIndicatorProps, ValidationProps, ValidationResult, ValidationRule, ValidationRuleBase, ValidationState, ViewIcon, WarningFilledIcon, WarningIcon, _WeekPicker as WeekPicker, type WithTranslation, _YearPicker as YearPicker, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatPeriod, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTokens, getCompactor, getI18n, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getQuarter, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, getWeekNumber, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, snapToPeriod, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useButtonSplitContext, useCheckbox, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
397
403
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.1 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "./utils/styles.js";
|
|
3
3
|
import { chain } from "./utils/react/chain.js";
|
|
4
4
|
import { forwardRefWithGenerics } from "./utils/react/forwardRefWithGenerics.js";
|
|
@@ -300,9 +300,15 @@ import { _CommandTextArea } from "./components/fields/CommandTextArea/CommandTex
|
|
|
300
300
|
import { _TimeInput } from "./components/fields/DatePicker/TimeInput.js";
|
|
301
301
|
import { parseAbsoluteDate } from "./components/fields/DatePicker/parseDate.js";
|
|
302
302
|
import { _DateInput } from "./components/fields/DatePicker/DateInput.js";
|
|
303
|
+
import { formatPeriod, getQuarter, getWeekNumber, snapToPeriod } from "./components/fields/DatePicker/period.js";
|
|
303
304
|
import { _DatePicker } from "./components/fields/DatePicker/DatePicker.js";
|
|
304
305
|
import { _DateRangePicker } from "./components/fields/DatePicker/DateRangePicker.js";
|
|
305
306
|
import { _DateRangeSeparatedPicker } from "./components/fields/DatePicker/DateRangeSeparatedPicker.js";
|
|
307
|
+
import { _PeriodPicker } from "./components/fields/DatePicker/PeriodPicker.js";
|
|
308
|
+
import { _MonthPicker } from "./components/fields/DatePicker/MonthPicker.js";
|
|
309
|
+
import { _QuarterPicker } from "./components/fields/DatePicker/QuarterPicker.js";
|
|
310
|
+
import { _YearPicker } from "./components/fields/DatePicker/YearPicker.js";
|
|
311
|
+
import { _WeekPicker } from "./components/fields/DatePicker/WeekPicker.js";
|
|
306
312
|
import { _RadioGroup } from "./components/fields/RadioGroup/RadioGroup.js";
|
|
307
313
|
import { __Radio, useRadio } from "./components/fields/RadioGroup/Radio.js";
|
|
308
314
|
import { SearchInput, useSearchField, useSearchFieldState } from "./components/fields/SearchInput/SearchInput.js";
|
|
@@ -346,5 +352,5 @@ const Typography = {
|
|
|
346
352
|
};
|
|
347
353
|
|
|
348
354
|
//#endregion
|
|
349
|
-
export { Action, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, AreaChartIcon, Avatar, BASE_TOKENS, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerLink, BarChartIcon, BellFilledIcon, BellIcon, Block, Board, BoardProvider, BoardResponsive, Widget as BoardWidget, BooleanIcon, Button, ButtonGroup, ButtonSplit, ButtonSplitContext, COLOR_TOKENS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, _CommandTextArea as CommandTextArea, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeFullLogo, CubeIcon, CubeLogo, CubePauseIcon, CubePlayIcon, CurrencyDollarIcon, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, DatabaseIcon, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, DirectionIcon, _Disclosure as Disclosure, DisplayTransition, Divider, DonutIcon, DownIcon, EditIcon, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldWrapper, _FileInput as FileInput, FileTabs, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormContext, ForwardIcon, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, I18nProvider, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, InfoBadge, InfoCircleIcon, InfoIcon, InlineInput, Input, _Item as Item, ItemAction, ItemActionProvider, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuItem, MenuSection, _MenuTrigger as MenuTrigger, MoreIcon, NotAllowedIcon, Notification, NotificationAction, NotificationCard, NotificationItem, Number123Icon, NumberIcon, _NumberInput as NumberInput, OverlayProvider, PALETTE_TOKENS, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, PersistentNotificationsList, Picker, PieChartIcon, Placeholder, PlayCircleIcon, PlayIcon, PlusIcon, Portal, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, Provider, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, ReloadIcon, RenderCache, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, SearchComboBox, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, Skeleton, SlashIcon, __Slider as Slider, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, _Switch as Switch, SwitchIcon, TOKENS, TYPOGRAPHY_PRESETS, Tab, TableIcon, Tabs, TabsAction, _Tag as Tag, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, Toast, ToastItem, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, Translation, TrashIcon, Tree, Typography, UIKIT_I18N_NAMESPACE, UnlockIcon, UpIcon, UserGroupIcon, UserIcon, UserLockIcon, ValidationIndicator, ViewIcon, WarningFilledIcon, WarningIcon, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTokens, getCompactor, getI18n, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useButtonSplitContext, useCheckbox, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
355
|
+
export { Action, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, AreaChartIcon, Avatar, BASE_TOKENS, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerLink, BarChartIcon, BellFilledIcon, BellIcon, Block, Board, BoardProvider, BoardResponsive, Widget as BoardWidget, BooleanIcon, Button, ButtonGroup, ButtonSplit, ButtonSplitContext, COLOR_TOKENS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, _CommandTextArea as CommandTextArea, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeFullLogo, CubeIcon, CubeLogo, CubePauseIcon, CubePlayIcon, CurrencyDollarIcon, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, DatabaseIcon, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, DirectionIcon, _Disclosure as Disclosure, DisplayTransition, Divider, DonutIcon, DownIcon, EditIcon, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldWrapper, _FileInput as FileInput, FileTabs, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormContext, ForwardIcon, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, I18nProvider, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, InfoBadge, InfoCircleIcon, InfoIcon, InlineInput, Input, _Item as Item, ItemAction, ItemActionProvider, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuItem, MenuSection, _MenuTrigger as MenuTrigger, _MonthPicker as MonthPicker, MoreIcon, NotAllowedIcon, Notification, NotificationAction, NotificationCard, NotificationItem, Number123Icon, NumberIcon, _NumberInput as NumberInput, OverlayProvider, PALETTE_TOKENS, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, _PeriodPicker as PeriodPicker, PersistentNotificationsList, Picker, PieChartIcon, Placeholder, PlayCircleIcon, PlayIcon, PlusIcon, Portal, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, Provider, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, ReloadIcon, RenderCache, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, SearchComboBox, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, Skeleton, SlashIcon, __Slider as Slider, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, _Switch as Switch, SwitchIcon, TOKENS, TYPOGRAPHY_PRESETS, Tab, TableIcon, Tabs, TabsAction, _Tag as Tag, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, Toast, ToastItem, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, Translation, TrashIcon, Tree, Typography, UIKIT_I18N_NAMESPACE, UnlockIcon, UpIcon, UserGroupIcon, UserIcon, UserLockIcon, ValidationIndicator, ViewIcon, WarningFilledIcon, WarningIcon, _WeekPicker as WeekPicker, _YearPicker as YearPicker, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatPeriod, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTokens, getCompactor, getI18n, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getQuarter, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, getWeekNumber, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, snapToPeriod, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useButtonSplitContext, useCheckbox, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
350
356
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Text"],"sources":["../src/index.ts"],"sourcesContent":["import { CubeParagraphProps, Paragraph } from './components/content/Paragraph';\nimport { CubeTextProps, Text } from './components/content/Text';\nimport { CubeTextItemProps, TextItem } from './components/content/TextItem';\nimport { CubeTitleProps, Title } from './components/content/Title';\n\nimport './version';\n\nexport { Section } from 'react-stately';\nexport type { MenuTriggerState } from 'react-stately';\n\nexport * from '@internationalized/date';\n\n// generic components\nexport { CollectionItem } from './components/CollectionItem';\nexport { Block } from './components/Block';\nexport type { CubeBlockProps } from './components/Block';\nexport { Item } from './components/content/Item/Item';\nexport type { CubeItemProps } from './components/content/Item/Item';\n// @deprecated Use `Item` instead\nexport { ItemBase } from './components/content/Item/Item';\n// @deprecated Use `CubeItemProps` instead\nexport type { CubeItemBaseProps } from './components/content/Item/Item';\nexport { ItemCard } from './components/content/ItemCard/ItemCard';\nexport type { CubeItemCardProps } from './components/content/ItemCard/ItemCard';\nexport { ItemBadge } from './components/content/ItemBadge/ItemBadge';\nexport type { CubeItemBadgeProps } from './components/content/ItemBadge/ItemBadge';\nexport { InfoBadge } from './components/content/InfoBadge/InfoBadge';\nexport type {\n CubeInfoBadgeProps,\n CubeInfoBadgeTooltipConfig,\n} from './components/content/InfoBadge/InfoBadge';\nexport { ActiveZone } from './components/content/ActiveZone/ActiveZone';\nexport type { CubeActiveZoneProps } from './components/content/ActiveZone/ActiveZone';\nexport { InlineInput } from './components/content/InlineInput';\nexport type {\n CubeInlineInputProps,\n CubeInlineInputRef,\n CubeInlineInputEditTrigger,\n} from './components/content/InlineInput';\nexport * from './components/content/CopySnippet';\nexport * from './components/content/CopyPasteBlock';\nexport { Grid } from './components/layout/Grid';\nexport type { CubeGridProps } from './components/layout/Grid';\nexport { Flex } from './components/layout/Flex';\nexport type { CubeFlexProps } from './components/layout/Flex';\nexport { Link } from './components/actions/Link/Link';\nexport { Space } from './components/layout/Space';\nexport type { CubeSpaceProps } from './components/layout/Space';\nexport { Flow } from './components/layout/Flow';\nexport type { CubeFlowProps } from './components/layout/Flow';\nexport { Panel } from './components/layout/Panel';\nexport type { CubePanelProps } from './components/layout/Panel';\nexport { ResizablePanel } from './components/layout/ResizablePanel';\nexport type { CubeResizablePanelProps } from './components/layout/ResizablePanel';\nexport {\n Board,\n BoardProvider,\n BoardResponsive,\n BoardWidget,\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n} from './components/layout/Board';\nexport type {\n CubeBoardProps,\n CubeBoardWidgetProps,\n CubeBoardProviderProps,\n CubeBoardResponsiveProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n BoardBreakpoints,\n BoardBreakpointCols,\n BoardResponsiveLayouts,\n Layout as BoardLayout,\n LayoutItem as BoardLayoutItem,\n ResizeHandleAxis as BoardResizeHandleAxis,\n Compactor as BoardCompactor,\n LayoutConstraint as BoardLayoutConstraint,\n WidgetTransferInfo as BoardWidgetTransferInfo,\n} from './components/layout/Board';\nexport { Root } from './components/Root';\nexport type { CubeRootProps } from './components/Root';\nexport { DisplayTransition } from './components/helpers/DisplayTransition/DisplayTransition';\nexport type { DisplayTransitionProps } from './components/helpers/DisplayTransition/DisplayTransition';\n\n// Navigation types and helpers\nexport type {\n NavigationAdapter,\n NavigateLike,\n Path,\n To,\n NavigateArg,\n NavigateOptions,\n RelativeRoutingType,\n} from './providers/navigation.types';\nexport { defaultNavigationAdapter } from './providers/navigationAdapter.default';\nexport { PrismCode } from './components/content/PrismCode/PrismCode';\nexport type { CubePrismCodeProps } from './components/content/PrismCode/PrismCode';\nexport { PrismDiffCode } from './components/content/PrismDiffCode/PrismDiffCode';\nexport type { CubePrismDiffCodeProps } from './components/content/PrismDiffCode/PrismDiffCode';\nexport { Prefix } from './components/layout/Prefix';\nexport type { CubePrefixProps } from './components/layout/Prefix';\nexport { Suffix } from './components/layout/Suffix';\nexport type { CubeSuffixProps } from './components/layout/Suffix';\nexport { Divider } from './components/content/Divider';\nexport type { CubeDividerProps } from './components/content/Divider';\nexport { Disclosure } from './components/content/Disclosure';\nexport type {\n CubeDisclosureProps,\n CubeDisclosureTriggerProps,\n CubeDisclosureContentProps,\n CubeDisclosureGroupProps,\n CubeDisclosureItemProps,\n DisclosureStateContext,\n} from './components/content/Disclosure';\nexport { Tree } from './components/content/Tree';\nexport type {\n CubeTreeProps,\n CubeTreeNodeData,\n TreeOnCheckInfo,\n TreeOnExpandInfo,\n TreeOnSelectInfo,\n TreeLoadDataNode,\n TreeSelectionMode,\n TreeContextMenu,\n TreeNodeState,\n} from './components/content/Tree';\nexport { GridProvider } from './components/GridProvider';\nexport type { CubeGridProviderProps } from './components/GridProvider';\nexport { Content } from './components/content/Content';\nexport type { CubeContentProps } from './components/content/Content';\nexport { Header } from './components/content/Header';\nexport type { CubeHeaderProps } from './components/content/Header';\nexport { Footer } from './components/content/Footer';\nexport type { CubeFooterProps } from './components/content/Footer';\nexport { Result } from './components/content/Result/Result';\nexport type {\n CubeResultProps,\n CubeResultStatus,\n} from './components/content/Result/Result';\nexport { Layout, GridLayout } from './components/content/Layout';\nexport type {\n CubeLayoutProps,\n CubeGridLayoutProps,\n CubeLayoutToolbarProps,\n CubeLayoutHeaderProps,\n CubeLayoutFooterProps,\n CubeLayoutContentProps,\n CubeLayoutPaneProps,\n CubeLayoutPanelProps,\n CubeLayoutPanelHeaderProps,\n ScrollbarType,\n} from './components/content/Layout';\n\n// atoms\nexport * from './components/status';\nexport { Card } from './components/content/Card/Card';\nexport type { CubeCardProps } from './components/content/Card/Card';\nexport * from './components/actions';\nexport { Placeholder } from './components/content/Placeholder/Placeholder';\nexport type { CubePlaceholderProps } from './components/content/Placeholder/Placeholder';\nexport { Skeleton } from './components/content/Skeleton/Skeleton';\nexport type { CubeSkeletonProps } from './components/content/Skeleton/Skeleton';\nexport { CubeLogo, CubeFullLogo } from './components/other/CubeLogo/CubeLogo';\nexport type { CubeLogoProps } from './components/other/CubeLogo/CubeLogo';\nexport { Badge } from './components/content/Badge/Badge';\nexport type { CubeBadgeProps } from './components/content/Badge/Badge';\nexport { Tag } from './components/content/Tag/Tag';\nexport type { CubeTagProps } from './components/content/Tag/Tag';\nexport * from './components/content/HotKeys';\nexport type { CubeSearchInputProps } from './components/fields/SearchInput/SearchInput';\nexport type { CubeListBoxProps } from './components/fields/ListBox';\nexport { ListBox } from './components/fields/ListBox';\nexport { Menu } from './components/actions/Menu/Menu';\nexport type { CubeMenuProps } from './components/actions/Menu/Menu';\nexport { MenuTrigger } from './components/actions/Menu/MenuTrigger';\nexport { SubMenuTrigger } from './components/actions/Menu/SubMenuTrigger';\nexport type { CubeMenuTriggerProps } from './components/actions/Menu/MenuTrigger';\nexport { CommandMenu } from './components/actions/CommandMenu';\nexport type {\n CubeCommandMenuProps,\n CommandMenuItem,\n} from './components/actions/CommandMenu';\nexport { Select, ListBoxPopup } from './components/fields/Select/Select';\nexport type {\n CubeSelectProps,\n CubeSelectBaseProps,\n} from './components/fields/Select/Select';\n\nexport { Avatar } from './components/content/Avatar/Avatar';\nexport type { CubeAvatarProps } from './components/content/Avatar/Avatar';\nexport {\n Dialog,\n DialogTrigger,\n DialogContainer,\n DialogForm,\n useDialogContainer,\n} from './components/overlays/Dialog';\nexport type {\n CubeDialogTriggerProps,\n CubeDialogContainerProps,\n CubeDialogProps,\n CubeDialogFormRef,\n CubeDialogFormProps,\n} from './components/overlays/Dialog';\nexport { Tooltip } from './components/overlays/Tooltip/Tooltip';\nexport type { CubeTooltipProps } from './components/overlays/Tooltip/Tooltip';\nexport { TooltipTrigger } from './components/overlays/Tooltip/TooltipTrigger';\nexport type { CubeTooltipTriggerProps } from './components/overlays/Tooltip/TooltipTrigger';\nexport { TooltipProvider } from './components/overlays/Tooltip/TooltipProvider';\nexport type { CubeTooltipProviderProps } from './components/overlays/Tooltip/TooltipProvider';\n\nexport * from './components/content/Alert';\n\n// navigation\nexport * from './components/navigation';\n\n// molecules\nexport { FileTabs } from './components/organisms/FileTabs/FileTabs';\nexport type { CubeFileTabProps } from './components/organisms/FileTabs/FileTabs';\nexport { StatsCard } from './components/organisms/StatsCard/StatsCard';\nexport type { CubeStatsCard } from './components/organisms/StatsCard/StatsCard';\nexport {\n AlertDialog,\n useAlertDialogAPI,\n} from './components/overlays/AlertDialog';\nexport type { CubeAlertDialogProps } from './components/overlays/AlertDialog';\n\nexport * from '@tenphi/tasty';\nexport * from '@tenphi/glaze';\n\nexport const Typography = {\n Text: Text,\n Title,\n Paragraph,\n};\n\nexport { Text, TextItem, Title, Paragraph };\nexport type {\n CubeTextProps,\n CubeTextItemProps,\n CubeTitleProps,\n CubeParagraphProps,\n};\n\nexport { Provider, useProviderProps } from './provider';\nexport type { ProviderProps } from './provider';\nexport { Portal } from './components/portal';\nexport type { PortalProps } from './components/portal';\nexport * from './components/fields';\n\nexport type {\n TagName,\n AllBaseProps,\n BaseProps,\n BaseStyleProps,\n DimensionStyleProps,\n ColorStyleProps,\n OuterStyleProps,\n PositionStyleProps,\n TextStyleProps,\n BlockStyleProps,\n ContainerStyleProps,\n BasePropsWithoutChildren,\n Props,\n FlowStyleProps,\n ShortGridStyles,\n} from '@tenphi/tasty';\n\n// i18n — the UI Kit owns the i18next + react-i18next libraries and the single\n// shared instance. Consumers (e.g. Cube Cloud) import ALL i18n symbols from\n// here so there is exactly one physical copy / one version / one instance.\nexport {\n useTranslation,\n Trans,\n Translation,\n I18nextProvider,\n initReactI18next,\n withTranslation,\n useSSR as useI18nSSR,\n} from 'react-i18next';\nexport type {\n TransProps,\n UseTranslationOptions,\n UseTranslationResponse,\n WithTranslation,\n} from 'react-i18next';\nexport { default as i18next, createInstance } from 'i18next';\nexport type {\n i18n as I18n,\n TFunction,\n Resource,\n ResourceKey,\n ResourceLanguage,\n InitOptions,\n} from 'i18next';\nexport {\n createUIKitI18n,\n getI18n,\n UIKIT_I18N_NAMESPACE,\n addUIKitLocale,\n I18nProvider,\n createFormatter,\n useFormatter,\n SUPPORTED_LOCALES,\n LOCALE_LABELS,\n isSupportedLocale,\n} from './i18n';\nexport type {\n SupportedLocale,\n UIKitResources,\n I18nProviderProps,\n Formatter,\n FormatDateInput,\n RelativeTimeOptions,\n CurrencyOptions,\n BytesOptions,\n} from './i18n';\n// React Aria's `useLocale`, re-exported so consumers read the same locale\n// context the UI Kit's `I18nProvider` populates from i18next.\nexport { useLocale } from 'react-aria';\n\nexport * from './utils';\nexport { default as copy } from 'clipboard-copy';\nexport * from '@react-aria/ssr';\nexport * from './components/overlays/Toast';\nexport * from './components/overlays/Notifications';\nexport * from './shared';\nexport * from './icons';\nexport * from './components/form';\nexport * from './tokens';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPA,MAAa,aAAa;CACxB,MAAMA;CACN;CACA;CACD"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Text"],"sources":["../src/index.ts"],"sourcesContent":["import { CubeParagraphProps, Paragraph } from './components/content/Paragraph';\nimport { CubeTextProps, Text } from './components/content/Text';\nimport { CubeTextItemProps, TextItem } from './components/content/TextItem';\nimport { CubeTitleProps, Title } from './components/content/Title';\n\nimport './version';\n\nexport { Section } from 'react-stately';\nexport type { MenuTriggerState } from 'react-stately';\n\nexport * from '@internationalized/date';\n\n// generic components\nexport { CollectionItem } from './components/CollectionItem';\nexport { Block } from './components/Block';\nexport type { CubeBlockProps } from './components/Block';\nexport { Item } from './components/content/Item/Item';\nexport type { CubeItemProps } from './components/content/Item/Item';\n// @deprecated Use `Item` instead\nexport { ItemBase } from './components/content/Item/Item';\n// @deprecated Use `CubeItemProps` instead\nexport type { CubeItemBaseProps } from './components/content/Item/Item';\nexport { ItemCard } from './components/content/ItemCard/ItemCard';\nexport type { CubeItemCardProps } from './components/content/ItemCard/ItemCard';\nexport { ItemBadge } from './components/content/ItemBadge/ItemBadge';\nexport type { CubeItemBadgeProps } from './components/content/ItemBadge/ItemBadge';\nexport { InfoBadge } from './components/content/InfoBadge/InfoBadge';\nexport type {\n CubeInfoBadgeProps,\n CubeInfoBadgeTooltipConfig,\n} from './components/content/InfoBadge/InfoBadge';\nexport { ActiveZone } from './components/content/ActiveZone/ActiveZone';\nexport type { CubeActiveZoneProps } from './components/content/ActiveZone/ActiveZone';\nexport { InlineInput } from './components/content/InlineInput';\nexport type {\n CubeInlineInputProps,\n CubeInlineInputRef,\n CubeInlineInputEditTrigger,\n} from './components/content/InlineInput';\nexport * from './components/content/CopySnippet';\nexport * from './components/content/CopyPasteBlock';\nexport { Grid } from './components/layout/Grid';\nexport type { CubeGridProps } from './components/layout/Grid';\nexport { Flex } from './components/layout/Flex';\nexport type { CubeFlexProps } from './components/layout/Flex';\nexport { Link } from './components/actions/Link/Link';\nexport { Space } from './components/layout/Space';\nexport type { CubeSpaceProps } from './components/layout/Space';\nexport { Flow } from './components/layout/Flow';\nexport type { CubeFlowProps } from './components/layout/Flow';\nexport { Panel } from './components/layout/Panel';\nexport type { CubePanelProps } from './components/layout/Panel';\nexport { ResizablePanel } from './components/layout/ResizablePanel';\nexport type { CubeResizablePanelProps } from './components/layout/ResizablePanel';\nexport {\n Board,\n BoardProvider,\n BoardResponsive,\n BoardWidget,\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n} from './components/layout/Board';\nexport type {\n CubeBoardProps,\n CubeBoardWidgetProps,\n CubeBoardProviderProps,\n CubeBoardResponsiveProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n BoardBreakpoints,\n BoardBreakpointCols,\n BoardResponsiveLayouts,\n Layout as BoardLayout,\n LayoutItem as BoardLayoutItem,\n ResizeHandleAxis as BoardResizeHandleAxis,\n Compactor as BoardCompactor,\n LayoutConstraint as BoardLayoutConstraint,\n WidgetTransferInfo as BoardWidgetTransferInfo,\n} from './components/layout/Board';\nexport { Root } from './components/Root';\nexport type { CubeRootProps } from './components/Root';\nexport { DisplayTransition } from './components/helpers/DisplayTransition/DisplayTransition';\nexport type { DisplayTransitionProps } from './components/helpers/DisplayTransition/DisplayTransition';\n\n// Navigation types and helpers\nexport type {\n NavigationAdapter,\n NavigateLike,\n Path,\n To,\n NavigateArg,\n NavigateOptions,\n RelativeRoutingType,\n} from './providers/navigation.types';\nexport { defaultNavigationAdapter } from './providers/navigationAdapter.default';\nexport { PrismCode } from './components/content/PrismCode/PrismCode';\nexport type { CubePrismCodeProps } from './components/content/PrismCode/PrismCode';\nexport { PrismDiffCode } from './components/content/PrismDiffCode/PrismDiffCode';\nexport type { CubePrismDiffCodeProps } from './components/content/PrismDiffCode/PrismDiffCode';\nexport { Prefix } from './components/layout/Prefix';\nexport type { CubePrefixProps } from './components/layout/Prefix';\nexport { Suffix } from './components/layout/Suffix';\nexport type { CubeSuffixProps } from './components/layout/Suffix';\nexport { Divider } from './components/content/Divider';\nexport type { CubeDividerProps } from './components/content/Divider';\nexport { Disclosure } from './components/content/Disclosure';\nexport type {\n CubeDisclosureProps,\n CubeDisclosureTriggerProps,\n CubeDisclosureContentProps,\n CubeDisclosureGroupProps,\n CubeDisclosureItemProps,\n DisclosureStateContext,\n} from './components/content/Disclosure';\nexport { Tree } from './components/content/Tree';\nexport type {\n CubeTreeProps,\n CubeTreeNodeData,\n TreeOnCheckInfo,\n TreeOnExpandInfo,\n TreeOnSelectInfo,\n TreeLoadDataNode,\n TreeSelectionMode,\n TreeContextMenu,\n TreeNodeState,\n} from './components/content/Tree';\nexport { GridProvider } from './components/GridProvider';\nexport type { CubeGridProviderProps } from './components/GridProvider';\nexport { Content } from './components/content/Content';\nexport type { CubeContentProps } from './components/content/Content';\nexport { Header } from './components/content/Header';\nexport type { CubeHeaderProps } from './components/content/Header';\nexport { Footer } from './components/content/Footer';\nexport type { CubeFooterProps } from './components/content/Footer';\nexport { Result } from './components/content/Result/Result';\nexport type {\n CubeResultProps,\n CubeResultStatus,\n} from './components/content/Result/Result';\nexport { Layout, GridLayout } from './components/content/Layout';\nexport type {\n CubeLayoutProps,\n CubeGridLayoutProps,\n CubeLayoutToolbarProps,\n CubeLayoutHeaderProps,\n CubeLayoutFooterProps,\n CubeLayoutContentProps,\n CubeLayoutPaneProps,\n CubeLayoutPanelProps,\n CubeLayoutPanelHeaderProps,\n ScrollbarType,\n} from './components/content/Layout';\n\n// atoms\nexport * from './components/status';\nexport { Card } from './components/content/Card/Card';\nexport type { CubeCardProps } from './components/content/Card/Card';\nexport * from './components/actions';\nexport { Placeholder } from './components/content/Placeholder/Placeholder';\nexport type { CubePlaceholderProps } from './components/content/Placeholder/Placeholder';\nexport { Skeleton } from './components/content/Skeleton/Skeleton';\nexport type { CubeSkeletonProps } from './components/content/Skeleton/Skeleton';\nexport { CubeLogo, CubeFullLogo } from './components/other/CubeLogo/CubeLogo';\nexport type { CubeLogoProps } from './components/other/CubeLogo/CubeLogo';\nexport { Badge } from './components/content/Badge/Badge';\nexport type { CubeBadgeProps } from './components/content/Badge/Badge';\nexport { Tag } from './components/content/Tag/Tag';\nexport type { CubeTagProps } from './components/content/Tag/Tag';\nexport * from './components/content/HotKeys';\nexport type { CubeSearchInputProps } from './components/fields/SearchInput/SearchInput';\nexport type { CubeListBoxProps } from './components/fields/ListBox';\nexport { ListBox } from './components/fields/ListBox';\nexport { Menu } from './components/actions/Menu/Menu';\nexport type { CubeMenuProps } from './components/actions/Menu/Menu';\nexport { MenuTrigger } from './components/actions/Menu/MenuTrigger';\nexport { SubMenuTrigger } from './components/actions/Menu/SubMenuTrigger';\nexport type { CubeMenuTriggerProps } from './components/actions/Menu/MenuTrigger';\nexport { CommandMenu } from './components/actions/CommandMenu';\nexport type {\n CubeCommandMenuProps,\n CommandMenuItem,\n} from './components/actions/CommandMenu';\nexport { Select, ListBoxPopup } from './components/fields/Select/Select';\nexport type {\n CubeSelectProps,\n CubeSelectBaseProps,\n} from './components/fields/Select/Select';\n\nexport { Avatar } from './components/content/Avatar/Avatar';\nexport type { CubeAvatarProps } from './components/content/Avatar/Avatar';\nexport {\n Dialog,\n DialogTrigger,\n DialogContainer,\n DialogForm,\n useDialogContainer,\n} from './components/overlays/Dialog';\nexport type {\n CubeDialogTriggerProps,\n CubeDialogContainerProps,\n CubeDialogProps,\n CubeDialogFormRef,\n CubeDialogFormProps,\n} from './components/overlays/Dialog';\nexport { Tooltip } from './components/overlays/Tooltip/Tooltip';\nexport type { CubeTooltipProps } from './components/overlays/Tooltip/Tooltip';\nexport { TooltipTrigger } from './components/overlays/Tooltip/TooltipTrigger';\nexport type { CubeTooltipTriggerProps } from './components/overlays/Tooltip/TooltipTrigger';\nexport { TooltipProvider } from './components/overlays/Tooltip/TooltipProvider';\nexport type { CubeTooltipProviderProps } from './components/overlays/Tooltip/TooltipProvider';\n\nexport * from './components/content/Alert';\n\n// navigation\nexport * from './components/navigation';\n\n// molecules\nexport { FileTabs } from './components/organisms/FileTabs/FileTabs';\nexport type { CubeFileTabProps } from './components/organisms/FileTabs/FileTabs';\nexport { StatsCard } from './components/organisms/StatsCard/StatsCard';\nexport type { CubeStatsCard } from './components/organisms/StatsCard/StatsCard';\nexport {\n AlertDialog,\n useAlertDialogAPI,\n} from './components/overlays/AlertDialog';\nexport type { CubeAlertDialogProps } from './components/overlays/AlertDialog';\n\nexport * from '@tenphi/tasty';\nexport * from '@tenphi/glaze';\n\nexport const Typography = {\n Text: Text,\n Title,\n Paragraph,\n};\n\nexport { Text, TextItem, Title, Paragraph };\nexport type {\n CubeTextProps,\n CubeTextItemProps,\n CubeTitleProps,\n CubeParagraphProps,\n};\n\nexport { Provider, useProviderProps } from './provider';\nexport type { ProviderProps } from './provider';\nexport { Portal } from './components/portal';\nexport type { PortalProps } from './components/portal';\nexport * from './components/fields';\n\nexport type {\n TagName,\n AllBaseProps,\n BaseProps,\n BaseStyleProps,\n DimensionStyleProps,\n ColorStyleProps,\n OuterStyleProps,\n PositionStyleProps,\n TextStyleProps,\n BlockStyleProps,\n ContainerStyleProps,\n BasePropsWithoutChildren,\n Props,\n FlowStyleProps,\n ShortGridStyles,\n} from '@tenphi/tasty';\n\n// i18n — the UI Kit owns the i18next + react-i18next libraries and the single\n// shared instance. Consumers (e.g. Cube Cloud) import ALL i18n symbols from\n// here so there is exactly one physical copy / one version / one instance.\nexport {\n useTranslation,\n Trans,\n Translation,\n I18nextProvider,\n initReactI18next,\n withTranslation,\n useSSR as useI18nSSR,\n} from 'react-i18next';\nexport type {\n TransProps,\n UseTranslationOptions,\n UseTranslationResponse,\n WithTranslation,\n} from 'react-i18next';\nexport { default as i18next, createInstance } from 'i18next';\nexport type {\n i18n as I18n,\n TFunction,\n Resource,\n ResourceKey,\n ResourceLanguage,\n InitOptions,\n} from 'i18next';\nexport {\n createUIKitI18n,\n getI18n,\n UIKIT_I18N_NAMESPACE,\n addUIKitLocale,\n I18nProvider,\n createFormatter,\n useFormatter,\n SUPPORTED_LOCALES,\n LOCALE_LABELS,\n isSupportedLocale,\n} from './i18n';\nexport type {\n SupportedLocale,\n UIKitResources,\n I18nProviderProps,\n Formatter,\n FormatDateInput,\n RelativeTimeOptions,\n CurrencyOptions,\n BytesOptions,\n} from './i18n';\n// React Aria's `useLocale`, re-exported so consumers read the same locale\n// context the UI Kit's `I18nProvider` populates from i18next.\nexport { useLocale } from 'react-aria';\n\nexport * from './utils';\nexport { default as copy } from 'clipboard-copy';\nexport * from '@react-aria/ssr';\nexport * from './components/overlays/Toast';\nexport * from './components/overlays/Notifications';\nexport * from './shared';\nexport * from './icons';\nexport * from './components/form';\nexport * from './tokens';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPA,MAAa,aAAa;CACxB,MAAMA;CACN;CACA;CACD"}
|
package/dist/provider.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.1 | Cube Dev Team */
|
|
2
2
|
import { EventBusProvider } from "./utils/react/useEventBus.js";
|
|
3
3
|
import { defaultNavigationAdapter } from "./providers/navigationAdapter.default.js";
|
|
4
4
|
import { createContext, useContext, useMemo } from "react";
|
package/dist/tokens/base.js
CHANGED
package/dist/tokens/colors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.1 | Cube Dev Team */
|
|
2
2
|
import { getPaletteVersion } from "./palette-config.js";
|
|
3
3
|
import { BASE_TOKENS } from "./base.js";
|
|
4
4
|
import { lazyStyles } from "./lazy-styles.js";
|
package/dist/tokens/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.1 | Cube Dev Team */
|
|
2
2
|
import { DEFAULT_PALETTE_CONFIG, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion } from "./palette-config.js";
|
|
3
3
|
import { BASE_TOKENS } from "./base.js";
|
|
4
4
|
import { lazyStyles } from "./lazy-styles.js";
|
package/dist/tokens/layout.js
CHANGED
|
@@ -8,13 +8,15 @@ interface PaletteThemeSeed {
|
|
|
8
8
|
saturation?: number;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* The `code-*` syntax family takes a saturation and nothing else
|
|
11
|
+
* The `code-*` syntax family takes a saturation and nothing else — and answers to
|
|
12
|
+
* nothing else either. This is the one knob that moves it.
|
|
12
13
|
*
|
|
13
14
|
* Its hues are absolute literals by design, so syntax colors never rotate with the
|
|
14
|
-
* brand — strings would collide with numbers the moment the brand went green.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* brand — strings would collide with numbers the moment the brand went green. Unlike
|
|
16
|
+
* every other theme, its saturation does **not** inherit the palette-level one: the
|
|
17
|
+
* code palette is calibrated once and stays there, so re-seeding the app cannot
|
|
18
|
+
* quietly wash out a code block. {@link PaletteConfig.pastel} skips it for the same
|
|
19
|
+
* reason.
|
|
18
20
|
*/
|
|
19
21
|
interface PaletteCodeSeed {
|
|
20
22
|
/** Saturation (0–100). Defaults to {@link DEFAULT_SATURATION}, not to `saturation`. */
|
|
@@ -63,6 +65,11 @@ interface PaletteConfig {
|
|
|
63
65
|
* Global. Widens the usable chroma range by relaxing the sRGB-safe limit,
|
|
64
66
|
* producing a softer, more even palette across hues. Glaze treats `pastel` as
|
|
65
67
|
* instance-level, so it is threaded into every theme.
|
|
68
|
+
*
|
|
69
|
+
* Every theme except `code`. The syntax family is calibrated on its own
|
|
70
|
+
* saturation and is deliberately left out — softening it collapses the chroma
|
|
71
|
+
* spread the syntax hues rely on to stay apart. To soften a code block, lower
|
|
72
|
+
* {@link PaletteCodeSeed.saturation} instead.
|
|
66
73
|
*/
|
|
67
74
|
pastel?: boolean;
|
|
68
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palette-config.js","names":[],"sources":["../../src/tokens/palette-config.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\n/**\n * Runtime configuration for the Glaze-generated color palette.\n *\n * The palette recipe itself lives in `./palette.ts`; this module owns only the\n * *seeds* it is built from, plus a version counter the token caches watch. It\n * deliberately imports nothing else — not the token modules, not `glaze` — so\n * there is no import cycle and no ordering hazard.\n *\n * Reading is free; writing rebuilds the palette on the next token read. See\n * `Getting Started/Theming` in Storybook for the full contract.\n */\n\n// ============================================================================\n// Default seeds\n// ============================================================================\n\n/** Brand hue. Drives the `default`, `primary`, `purple` and `special` themes. */\nexport const DEFAULT_HUE = 280.3;\nexport const DEFAULT_SUCCESS_HUE = 156.9;\nexport const DEFAULT_DANGER_HUE = 23.1;\nexport const DEFAULT_WARNING_HUE = 84.3;\nexport const DEFAULT_NOTE_HUE = 302.3;\n\n/** Seed saturation. Per-color `saturation` in the recipe is a 0–1 factor of it. */\nexport const DEFAULT_SATURATION = 80;\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/** Hue / saturation seed override for one colored theme. */\nexport interface PaletteThemeSeed {\n /** Hue in degrees (0–360). */\n hue?: number;\n /** Saturation (0–100). Defaults to the palette-level `saturation`. */\n saturation?: number;\n}\n\n/**\n * The `code-*` syntax family takes a saturation and nothing else.\n *\n * Its hues are absolute literals by design, so syntax colors never rotate with the\n * brand — strings would collide with numbers the moment the brand went green. And\n * unlike every other theme, its saturation does **not** inherit the palette-level\n * one: the code palette is calibrated once and stays there, so re-seeding the app\n * cannot quietly wash out a code block.\n */\nexport interface PaletteCodeSeed {\n /** Saturation (0–100). Defaults to {@link DEFAULT_SATURATION}, not to `saturation`. */\n saturation?: number;\n}\n\n/** Names of the themes whose seeds can be overridden individually. */\nexport type PaletteThemeName =\n | 'success'\n | 'danger'\n | 'warning'\n | 'note'\n | 'code';\n\n/**\n * Palette tuning. Every field is optional; omitted fields keep their default,\n * and per-theme fields left unset inherit the palette-level value.\n */\nexport interface PaletteConfig {\n /**\n * Accent hue in degrees (0–360) — the brand.\n *\n * Drives the `accent-*` family on every theme, `primary` / `purple` / `special`,\n * and the brand-tinted odds and ends (`focus`, the loading faces, the disabled\n * chip). Also the default for {@link PaletteConfig.baseHue}.\n */\n hue?: number;\n /**\n * Hue of the **base** zone in degrees (0–360): the neutral chrome — `surface`\n * and its ladder, the `surface-text*` ramp, `border`, `placeholder`. Defaults to\n * `hue`, so the chrome carries a faint tint of the brand unless you say otherwise.\n *\n * Splitting it lets the chrome sit on a different hue from the accent — a warm\n * grey UI with a cool blue brand, say. Only the `default` theme is affected: a\n * colored theme's tinted `surface` deliberately follows *its own* hue, because a\n * danger banner should read as red.\n */\n baseHue?: number;\n /**\n * Seed saturation (0–100), and the fallback for every theme that does not set\n * its own.\n *\n * One scale for the whole theme, by design. Every color's own `saturation` is a\n * 0–1 factor of this seed — `surface` at 0.12, `border` at 0.175, the text ramp\n * at 0.2, the accent family at ~1.0 — so moving it rescales the palette while\n * keeping those proportions. Unlike hue, which is configured separately for the\n * brand and for each status theme, saturation is deliberately not split: the\n * ratio between a subtle surface tint and a saturated accent is part of the\n * design.\n */\n saturation?: number;\n /**\n * Global. Widens the usable chroma range by relaxing the sRGB-safe limit,\n * producing a softer, more even palette across hues. Glaze treats `pastel` as\n * instance-level, so it is threaded into every theme.\n */\n pastel?: boolean;\n /**\n * Global. `'auto'` (the default) keeps the two-tier model: normal colors plus\n * a separate high-contrast tier driven by `<html data-contrast=\"high\">` /\n * `prefers-contrast: more`.\n *\n * A number (0–100) replaces that switch with a slider — and, because a manual\n * level already carries the contrast preference, **drops the high-contrast\n * tier entirely**. `0` reproduces the normal output and `100` the\n * high-contrast output, bit for bit.\n */\n contrastLevel?: number | 'auto';\n /** Per-theme seed overrides. */\n themes?: {\n success?: PaletteThemeSeed;\n danger?: PaletteThemeSeed;\n warning?: PaletteThemeSeed;\n note?: PaletteThemeSeed;\n code?: PaletteCodeSeed;\n };\n}\n\n/** {@link PaletteConfig} with every field resolved to a concrete value. */\nexport interface ResolvedPaletteConfig {\n hue: number;\n baseHue: number;\n saturation: number;\n pastel: boolean;\n contrastLevel: number | 'auto';\n themes: {\n success: { hue: number; saturation: number };\n danger: { hue: number; saturation: number };\n warning: { hue: number; saturation: number };\n note: { hue: number; saturation: number };\n code: { saturation: number };\n };\n}\n\n// ============================================================================\n// Resolution\n// ============================================================================\n\nconst DEFAULT_THEME_HUES = {\n success: DEFAULT_SUCCESS_HUE,\n danger: DEFAULT_DANGER_HUE,\n warning: DEFAULT_WARNING_HUE,\n note: DEFAULT_NOTE_HUE,\n} as const;\n\nfunction resolveConfig(input: PaletteConfig): ResolvedPaletteConfig {\n const saturation = input.saturation ?? DEFAULT_SATURATION;\n const themes = input.themes ?? {};\n\n const hue = input.hue ?? DEFAULT_HUE;\n\n return {\n hue,\n baseHue: input.baseHue ?? hue,\n saturation,\n pastel: input.pastel ?? false,\n contrastLevel: input.contrastLevel ?? 'auto',\n themes: {\n success: {\n hue: themes.success?.hue ?? DEFAULT_THEME_HUES.success,\n saturation: themes.success?.saturation ?? saturation,\n },\n danger: {\n hue: themes.danger?.hue ?? DEFAULT_THEME_HUES.danger,\n saturation: themes.danger?.saturation ?? saturation,\n },\n warning: {\n hue: themes.warning?.hue ?? DEFAULT_THEME_HUES.warning,\n saturation: themes.warning?.saturation ?? saturation,\n },\n note: {\n hue: themes.note?.hue ?? DEFAULT_THEME_HUES.note,\n saturation: themes.note?.saturation ?? saturation,\n },\n // Deliberately NOT `?? saturation`: the code palette is calibrated once and\n // does not follow the palette-level seed. See `PaletteCodeSeed`.\n code: { saturation: themes.code?.saturation ?? DEFAULT_SATURATION },\n },\n };\n}\n\n/**\n * The palette as it ships, with no tuning applied. Frozen — it is the baseline\n * every resolution falls back to, so a stray write to it would move the defaults\n * for the whole process.\n */\nexport const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig = freezeConfig(\n resolveConfig({}),\n);\n\n// ============================================================================\n// Store\n// ============================================================================\n\n/**\n * The last config *as written*, sparse — not the resolved one. Keeping the sparse\n * form is what makes inheritance live: a `saturation` with no `themes.danger.\n * saturation` beside it means danger genuinely follows the palette, rather than\n * having been frozen at whatever the palette read when it was set.\n */\nlet input: PaletteConfig = {};\nlet resolved: ResolvedPaletteConfig = DEFAULT_PALETTE_CONFIG;\nlet version = 0;\n\nconst listeners = new Set<() => void>();\n\nfunction mergeSeed<T extends PaletteThemeSeed | PaletteCodeSeed>(\n base: T | undefined,\n patch: T | undefined,\n): T | undefined {\n if (!base) return patch;\n // A patch that omits the theme entirely says nothing about it, so the base\n // survives. Clearing one of its fields is `{ theme: { hue: undefined } }`.\n if (!patch) return base;\n\n return { ...base, ...patch };\n}\n\n/**\n * Layer a patch over a base config. Used by {@link resolvePaletteConfig} for\n * previews — *not* by {@link setPaletteConfig}, which replaces.\n */\nfunction mergeInput(base: PaletteConfig, patch: PaletteConfig): PaletteConfig {\n const next: PaletteConfig = { ...base, ...patch };\n\n if (base.themes || patch.themes) {\n next.themes = {\n success: mergeSeed(base.themes?.success, patch.themes?.success),\n danger: mergeSeed(base.themes?.danger, patch.themes?.danger),\n warning: mergeSeed(base.themes?.warning, patch.themes?.warning),\n note: mergeSeed(base.themes?.note, patch.themes?.note),\n code: mergeSeed(base.themes?.code, patch.themes?.code),\n };\n }\n\n return next;\n}\n\nfunction isSameConfig(a: ResolvedPaletteConfig, b: ResolvedPaletteConfig) {\n return (\n a.hue === b.hue &&\n a.baseHue === b.baseHue &&\n a.saturation === b.saturation &&\n a.pastel === b.pastel &&\n a.contrastLevel === b.contrastLevel &&\n a.themes.code.saturation === b.themes.code.saturation &&\n (['success', 'danger', 'warning', 'note'] as const).every(\n (name) =>\n a.themes[name].hue === b.themes[name].hue &&\n a.themes[name].saturation === b.themes[name].saturation,\n )\n );\n}\n\n/**\n * Which fields are *explicitly set*, as an order-independent signature.\n *\n * Two configs can resolve to identical values yet differ in which of those values\n * are pinned rather than inherited — pinning `primary.saturation` to the number it\n * already inherited is the obvious case. That difference is invisible to\n * {@link isSameConfig} but visible through {@link getPaletteConfigInput}, so it has\n * to count as a change or a settings UI reading it would never re-render.\n */\nfunction pinSignature(config: PaletteConfig): string {\n const set = (value: unknown) => (value === undefined ? '0' : '1');\n\n return [\n set(config.hue),\n set(config.baseHue),\n set(config.saturation),\n set(config.pastel),\n set(config.contrastLevel),\n set(config.themes?.code?.saturation),\n ...(['success', 'danger', 'warning', 'note'] as const).flatMap((name) => [\n set(config.themes?.[name]?.hue),\n set(config.themes?.[name]?.saturation),\n ]),\n ].join('');\n}\n\n/**\n * Snapshot a config so the store owns it outright.\n *\n * Two hazards this closes. The caller's object stays theirs, so mutating it after\n * the call cannot desync `input` from `resolved`. And what we hand back from\n * {@link getPaletteConfig} / {@link getPaletteConfigInput} is frozen, so a caller\n * who writes to it gets a clear failure rather than silently corrupting the store\n * — the version would not bump, and every token cache would go on serving values\n * that no longer match the config.\n */\nfunction freezeConfig<T extends PaletteConfig | ResolvedPaletteConfig>(\n config: T,\n): T {\n const themes = config.themes;\n\n if (themes) {\n for (const seed of Object.values(themes)) {\n if (seed) Object.freeze(seed);\n }\n Object.freeze(themes);\n }\n\n return Object.freeze(config);\n}\n\n/** {@link freezeConfig} on a copy, for a config we did not create ourselves. */\nfunction snapshotConfig(config: PaletteConfig): PaletteConfig {\n const themes = config.themes;\n\n return freezeConfig({\n ...config,\n ...(themes\n ? {\n themes: {\n ...(themes.success ? { success: { ...themes.success } } : null),\n ...(themes.danger ? { danger: { ...themes.danger } } : null),\n ...(themes.warning ? { warning: { ...themes.warning } } : null),\n ...(themes.note ? { note: { ...themes.note } } : null),\n ...(themes.code ? { code: { ...themes.code } } : null),\n },\n }\n : null),\n });\n}\n\nfunction commit(nextInput: PaletteConfig) {\n const nextResolved = resolveConfig(nextInput);\n\n // Bail before bumping the version when nothing observable moved, so re-applying\n // the same config — an inline `<Root palette={{ … }}>` literal on every\n // render, a StrictMode double render — costs nothing.\n if (\n isSameConfig(resolved, nextResolved) &&\n pinSignature(input) === pinSignature(nextInput)\n ) {\n return;\n }\n\n input = snapshotConfig(nextInput);\n resolved = freezeConfig(nextResolved);\n version++;\n\n listeners.forEach((listener) => listener());\n}\n\n/**\n * Set the palette config.\n *\n * **Replaces**, like `useState` — the config you pass *is* the config, resolved\n * against the shipped defaults. Nothing accumulates, so a field you leave out is a\n * field you do not have: dropping a customization means dropping it from the\n * object, and re-applying the same object twice is the same as applying it once.\n *\n * ```ts\n * setPaletteConfig({ hue: 200, baseHue: 60 });\n * setPaletteConfig({ hue: 200 }); // baseHue is gone — back to inheriting `hue`\n * ```\n *\n * To adjust one field of the config already in place — a slider in a settings UI —\n * pass an updater. It receives the config as written, sparse, so spreading it\n * preserves which fields are pinned and which still inherit:\n *\n * ```ts\n * setPaletteConfig((config) => ({ ...config, hue: 200 }));\n * ```\n *\n * The palette is rebuilt lazily on the next token read, and any mounted `<Root>`\n * re-injects the token block — no component re-render is involved, because every\n * color in the kit resolves through a CSS custom property.\n */\nexport function setPaletteConfig(\n config: PaletteConfig | ((previous: PaletteConfig) => PaletteConfig),\n): void {\n commit(typeof config === 'function' ? config(input) : config);\n}\n\n/**\n * Drop all tuning and restore the palette the kit ships with. Identical to\n * `setPaletteConfig({})`; it exists to be readable at a call site.\n */\nexport function resetPaletteConfig(): void {\n commit({});\n}\n\n/**\n * Force every token to re-resolve without changing the palette config.\n *\n * Only needed if you drive Glaze directly — `glaze.configure({ darkTone })` and\n * the like. Glaze invalidates its own caches, but the kit's token maps are\n * memoized against *this* module's version, so they need telling. Calling it\n * before the first paint is unnecessary; nothing has been resolved yet.\n */\nexport function invalidatePaletteTokens(): void {\n version++;\n listeners.forEach((listener) => listener());\n}\n\n/** The current config, with every field resolved to a concrete value. */\nexport function getPaletteConfig(): ResolvedPaletteConfig {\n return resolved;\n}\n\n/**\n * The config **as set**, sparse — omitted fields are the ones still inheriting.\n *\n * {@link getPaletteConfig} resolves everything to concrete values, which loses the\n * distinction between \"explicitly 80\" and \"80 because it follows the brand\". A\n * settings UI needs that distinction to show an inherited value as inherited, and\n * to offer a way back:\n *\n * ```ts\n * const pinned = getPaletteConfigInput().baseHue !== undefined;\n *\n * // Re-link it to the brand by dropping the field.\n * setPaletteConfig(({ baseHue, ...config }) => config);\n * ```\n *\n * It is also the value handed to a {@link setPaletteConfig} updater.\n */\nexport function getPaletteConfigInput(): PaletteConfig {\n return input;\n}\n\n/**\n * Resolve a patch **over** the current config, without applying it.\n *\n * This one layers, unlike {@link setPaletteConfig}: a preview wants \"the theme in\n * use, but in dark\", so the fields it does not mention have to come from the live\n * config rather than from the defaults. The store is not touched and no listener\n * fires.\n */\nexport function resolvePaletteConfig(\n config?: PaletteConfig,\n): ResolvedPaletteConfig {\n if (!config) return resolved;\n\n return resolveConfig(mergeInput(input, config));\n}\n\n/**\n * Increments whenever the resolved config changes. The token caches in\n * `./palette.ts`, `./colors.ts` and `./index.ts` compare against it instead of\n * memoizing forever — the same idiom Glaze uses for its own config version.\n */\nexport function getPaletteVersion(): number {\n return version;\n}\n\n/** Subscribe to palette config changes. Returns an unsubscribe function. */\nexport function subscribePaletteConfig(listener: () => void): () => void {\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n };\n}\n\n// ============================================================================\n// React bindings\n// ============================================================================\n\n/**\n * Re-render on palette config changes. Returns the version, not the config, so\n * the snapshot is a primitive and React never warns about an uncached snapshot.\n */\nexport function usePaletteVersion(): number {\n return useSyncExternalStore(\n subscribePaletteConfig,\n getPaletteVersion,\n getPaletteVersion,\n );\n}\n\n/**\n * Read and tune the palette from React, `useState`-style — including the part\n * where the setter *replaces*. A control that changes one field wants the updater\n * form, or it will drop every other field:\n *\n * ```tsx\n * const [palette, setPalette] = usePaletteConfig();\n *\n * <HueSlider\n * value={palette.hue}\n * onChange={(hue) => setPalette((config) => ({ ...config, hue }))}\n * />\n * ```\n *\n * The first element is the *resolved* config, so `palette.hue` is always a number.\n * The updater's argument is the sparse one — see {@link getPaletteConfigInput}.\n *\n * The config is global process state, so every consumer of this hook — and every\n * mounted `<Root>` — sees the same palette.\n */\nexport function usePaletteConfig(): readonly [\n ResolvedPaletteConfig,\n typeof setPaletteConfig,\n] {\n usePaletteVersion();\n\n return [getPaletteConfig(), setPaletteConfig];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"palette-config.js","names":[],"sources":["../../src/tokens/palette-config.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\n/**\n * Runtime configuration for the Glaze-generated color palette.\n *\n * The palette recipe itself lives in `./palette.ts`; this module owns only the\n * *seeds* it is built from, plus a version counter the token caches watch. It\n * deliberately imports nothing else — not the token modules, not `glaze` — so\n * there is no import cycle and no ordering hazard.\n *\n * Reading is free; writing rebuilds the palette on the next token read. See\n * `Getting Started/Theming` in Storybook for the full contract.\n */\n\n// ============================================================================\n// Default seeds\n// ============================================================================\n\n/** Brand hue. Drives the `default`, `primary`, `purple` and `special` themes. */\nexport const DEFAULT_HUE = 280.3;\nexport const DEFAULT_SUCCESS_HUE = 156.9;\nexport const DEFAULT_DANGER_HUE = 23.1;\nexport const DEFAULT_WARNING_HUE = 84.3;\nexport const DEFAULT_NOTE_HUE = 302.3;\n\n/** Seed saturation. Per-color `saturation` in the recipe is a 0–1 factor of it. */\nexport const DEFAULT_SATURATION = 80;\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/** Hue / saturation seed override for one colored theme. */\nexport interface PaletteThemeSeed {\n /** Hue in degrees (0–360). */\n hue?: number;\n /** Saturation (0–100). Defaults to the palette-level `saturation`. */\n saturation?: number;\n}\n\n/**\n * The `code-*` syntax family takes a saturation and nothing else — and answers to\n * nothing else either. This is the one knob that moves it.\n *\n * Its hues are absolute literals by design, so syntax colors never rotate with the\n * brand — strings would collide with numbers the moment the brand went green. Unlike\n * every other theme, its saturation does **not** inherit the palette-level one: the\n * code palette is calibrated once and stays there, so re-seeding the app cannot\n * quietly wash out a code block. {@link PaletteConfig.pastel} skips it for the same\n * reason.\n */\nexport interface PaletteCodeSeed {\n /** Saturation (0–100). Defaults to {@link DEFAULT_SATURATION}, not to `saturation`. */\n saturation?: number;\n}\n\n/** Names of the themes whose seeds can be overridden individually. */\nexport type PaletteThemeName =\n | 'success'\n | 'danger'\n | 'warning'\n | 'note'\n | 'code';\n\n/**\n * Palette tuning. Every field is optional; omitted fields keep their default,\n * and per-theme fields left unset inherit the palette-level value.\n */\nexport interface PaletteConfig {\n /**\n * Accent hue in degrees (0–360) — the brand.\n *\n * Drives the `accent-*` family on every theme, `primary` / `purple` / `special`,\n * and the brand-tinted odds and ends (`focus`, the loading faces, the disabled\n * chip). Also the default for {@link PaletteConfig.baseHue}.\n */\n hue?: number;\n /**\n * Hue of the **base** zone in degrees (0–360): the neutral chrome — `surface`\n * and its ladder, the `surface-text*` ramp, `border`, `placeholder`. Defaults to\n * `hue`, so the chrome carries a faint tint of the brand unless you say otherwise.\n *\n * Splitting it lets the chrome sit on a different hue from the accent — a warm\n * grey UI with a cool blue brand, say. Only the `default` theme is affected: a\n * colored theme's tinted `surface` deliberately follows *its own* hue, because a\n * danger banner should read as red.\n */\n baseHue?: number;\n /**\n * Seed saturation (0–100), and the fallback for every theme that does not set\n * its own.\n *\n * One scale for the whole theme, by design. Every color's own `saturation` is a\n * 0–1 factor of this seed — `surface` at 0.12, `border` at 0.175, the text ramp\n * at 0.2, the accent family at ~1.0 — so moving it rescales the palette while\n * keeping those proportions. Unlike hue, which is configured separately for the\n * brand and for each status theme, saturation is deliberately not split: the\n * ratio between a subtle surface tint and a saturated accent is part of the\n * design.\n */\n saturation?: number;\n /**\n * Global. Widens the usable chroma range by relaxing the sRGB-safe limit,\n * producing a softer, more even palette across hues. Glaze treats `pastel` as\n * instance-level, so it is threaded into every theme.\n *\n * Every theme except `code`. The syntax family is calibrated on its own\n * saturation and is deliberately left out — softening it collapses the chroma\n * spread the syntax hues rely on to stay apart. To soften a code block, lower\n * {@link PaletteCodeSeed.saturation} instead.\n */\n pastel?: boolean;\n /**\n * Global. `'auto'` (the default) keeps the two-tier model: normal colors plus\n * a separate high-contrast tier driven by `<html data-contrast=\"high\">` /\n * `prefers-contrast: more`.\n *\n * A number (0–100) replaces that switch with a slider — and, because a manual\n * level already carries the contrast preference, **drops the high-contrast\n * tier entirely**. `0` reproduces the normal output and `100` the\n * high-contrast output, bit for bit.\n */\n contrastLevel?: number | 'auto';\n /** Per-theme seed overrides. */\n themes?: {\n success?: PaletteThemeSeed;\n danger?: PaletteThemeSeed;\n warning?: PaletteThemeSeed;\n note?: PaletteThemeSeed;\n code?: PaletteCodeSeed;\n };\n}\n\n/** {@link PaletteConfig} with every field resolved to a concrete value. */\nexport interface ResolvedPaletteConfig {\n hue: number;\n baseHue: number;\n saturation: number;\n pastel: boolean;\n contrastLevel: number | 'auto';\n themes: {\n success: { hue: number; saturation: number };\n danger: { hue: number; saturation: number };\n warning: { hue: number; saturation: number };\n note: { hue: number; saturation: number };\n code: { saturation: number };\n };\n}\n\n// ============================================================================\n// Resolution\n// ============================================================================\n\nconst DEFAULT_THEME_HUES = {\n success: DEFAULT_SUCCESS_HUE,\n danger: DEFAULT_DANGER_HUE,\n warning: DEFAULT_WARNING_HUE,\n note: DEFAULT_NOTE_HUE,\n} as const;\n\nfunction resolveConfig(input: PaletteConfig): ResolvedPaletteConfig {\n const saturation = input.saturation ?? DEFAULT_SATURATION;\n const themes = input.themes ?? {};\n\n const hue = input.hue ?? DEFAULT_HUE;\n\n return {\n hue,\n baseHue: input.baseHue ?? hue,\n saturation,\n pastel: input.pastel ?? false,\n contrastLevel: input.contrastLevel ?? 'auto',\n themes: {\n success: {\n hue: themes.success?.hue ?? DEFAULT_THEME_HUES.success,\n saturation: themes.success?.saturation ?? saturation,\n },\n danger: {\n hue: themes.danger?.hue ?? DEFAULT_THEME_HUES.danger,\n saturation: themes.danger?.saturation ?? saturation,\n },\n warning: {\n hue: themes.warning?.hue ?? DEFAULT_THEME_HUES.warning,\n saturation: themes.warning?.saturation ?? saturation,\n },\n note: {\n hue: themes.note?.hue ?? DEFAULT_THEME_HUES.note,\n saturation: themes.note?.saturation ?? saturation,\n },\n // Deliberately NOT `?? saturation`: the code palette is calibrated once and\n // does not follow the palette-level seed. See `PaletteCodeSeed`.\n code: { saturation: themes.code?.saturation ?? DEFAULT_SATURATION },\n },\n };\n}\n\n/**\n * The palette as it ships, with no tuning applied. Frozen — it is the baseline\n * every resolution falls back to, so a stray write to it would move the defaults\n * for the whole process.\n */\nexport const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig = freezeConfig(\n resolveConfig({}),\n);\n\n// ============================================================================\n// Store\n// ============================================================================\n\n/**\n * The last config *as written*, sparse — not the resolved one. Keeping the sparse\n * form is what makes inheritance live: a `saturation` with no `themes.danger.\n * saturation` beside it means danger genuinely follows the palette, rather than\n * having been frozen at whatever the palette read when it was set.\n */\nlet input: PaletteConfig = {};\nlet resolved: ResolvedPaletteConfig = DEFAULT_PALETTE_CONFIG;\nlet version = 0;\n\nconst listeners = new Set<() => void>();\n\nfunction mergeSeed<T extends PaletteThemeSeed | PaletteCodeSeed>(\n base: T | undefined,\n patch: T | undefined,\n): T | undefined {\n if (!base) return patch;\n // A patch that omits the theme entirely says nothing about it, so the base\n // survives. Clearing one of its fields is `{ theme: { hue: undefined } }`.\n if (!patch) return base;\n\n return { ...base, ...patch };\n}\n\n/**\n * Layer a patch over a base config. Used by {@link resolvePaletteConfig} for\n * previews — *not* by {@link setPaletteConfig}, which replaces.\n */\nfunction mergeInput(base: PaletteConfig, patch: PaletteConfig): PaletteConfig {\n const next: PaletteConfig = { ...base, ...patch };\n\n if (base.themes || patch.themes) {\n next.themes = {\n success: mergeSeed(base.themes?.success, patch.themes?.success),\n danger: mergeSeed(base.themes?.danger, patch.themes?.danger),\n warning: mergeSeed(base.themes?.warning, patch.themes?.warning),\n note: mergeSeed(base.themes?.note, patch.themes?.note),\n code: mergeSeed(base.themes?.code, patch.themes?.code),\n };\n }\n\n return next;\n}\n\nfunction isSameConfig(a: ResolvedPaletteConfig, b: ResolvedPaletteConfig) {\n return (\n a.hue === b.hue &&\n a.baseHue === b.baseHue &&\n a.saturation === b.saturation &&\n a.pastel === b.pastel &&\n a.contrastLevel === b.contrastLevel &&\n a.themes.code.saturation === b.themes.code.saturation &&\n (['success', 'danger', 'warning', 'note'] as const).every(\n (name) =>\n a.themes[name].hue === b.themes[name].hue &&\n a.themes[name].saturation === b.themes[name].saturation,\n )\n );\n}\n\n/**\n * Which fields are *explicitly set*, as an order-independent signature.\n *\n * Two configs can resolve to identical values yet differ in which of those values\n * are pinned rather than inherited — pinning `primary.saturation` to the number it\n * already inherited is the obvious case. That difference is invisible to\n * {@link isSameConfig} but visible through {@link getPaletteConfigInput}, so it has\n * to count as a change or a settings UI reading it would never re-render.\n */\nfunction pinSignature(config: PaletteConfig): string {\n const set = (value: unknown) => (value === undefined ? '0' : '1');\n\n return [\n set(config.hue),\n set(config.baseHue),\n set(config.saturation),\n set(config.pastel),\n set(config.contrastLevel),\n set(config.themes?.code?.saturation),\n ...(['success', 'danger', 'warning', 'note'] as const).flatMap((name) => [\n set(config.themes?.[name]?.hue),\n set(config.themes?.[name]?.saturation),\n ]),\n ].join('');\n}\n\n/**\n * Snapshot a config so the store owns it outright.\n *\n * Two hazards this closes. The caller's object stays theirs, so mutating it after\n * the call cannot desync `input` from `resolved`. And what we hand back from\n * {@link getPaletteConfig} / {@link getPaletteConfigInput} is frozen, so a caller\n * who writes to it gets a clear failure rather than silently corrupting the store\n * — the version would not bump, and every token cache would go on serving values\n * that no longer match the config.\n */\nfunction freezeConfig<T extends PaletteConfig | ResolvedPaletteConfig>(\n config: T,\n): T {\n const themes = config.themes;\n\n if (themes) {\n for (const seed of Object.values(themes)) {\n if (seed) Object.freeze(seed);\n }\n Object.freeze(themes);\n }\n\n return Object.freeze(config);\n}\n\n/** {@link freezeConfig} on a copy, for a config we did not create ourselves. */\nfunction snapshotConfig(config: PaletteConfig): PaletteConfig {\n const themes = config.themes;\n\n return freezeConfig({\n ...config,\n ...(themes\n ? {\n themes: {\n ...(themes.success ? { success: { ...themes.success } } : null),\n ...(themes.danger ? { danger: { ...themes.danger } } : null),\n ...(themes.warning ? { warning: { ...themes.warning } } : null),\n ...(themes.note ? { note: { ...themes.note } } : null),\n ...(themes.code ? { code: { ...themes.code } } : null),\n },\n }\n : null),\n });\n}\n\nfunction commit(nextInput: PaletteConfig) {\n const nextResolved = resolveConfig(nextInput);\n\n // Bail before bumping the version when nothing observable moved, so re-applying\n // the same config — an inline `<Root palette={{ … }}>` literal on every\n // render, a StrictMode double render — costs nothing.\n if (\n isSameConfig(resolved, nextResolved) &&\n pinSignature(input) === pinSignature(nextInput)\n ) {\n return;\n }\n\n input = snapshotConfig(nextInput);\n resolved = freezeConfig(nextResolved);\n version++;\n\n listeners.forEach((listener) => listener());\n}\n\n/**\n * Set the palette config.\n *\n * **Replaces**, like `useState` — the config you pass *is* the config, resolved\n * against the shipped defaults. Nothing accumulates, so a field you leave out is a\n * field you do not have: dropping a customization means dropping it from the\n * object, and re-applying the same object twice is the same as applying it once.\n *\n * ```ts\n * setPaletteConfig({ hue: 200, baseHue: 60 });\n * setPaletteConfig({ hue: 200 }); // baseHue is gone — back to inheriting `hue`\n * ```\n *\n * To adjust one field of the config already in place — a slider in a settings UI —\n * pass an updater. It receives the config as written, sparse, so spreading it\n * preserves which fields are pinned and which still inherit:\n *\n * ```ts\n * setPaletteConfig((config) => ({ ...config, hue: 200 }));\n * ```\n *\n * The palette is rebuilt lazily on the next token read, and any mounted `<Root>`\n * re-injects the token block — no component re-render is involved, because every\n * color in the kit resolves through a CSS custom property.\n */\nexport function setPaletteConfig(\n config: PaletteConfig | ((previous: PaletteConfig) => PaletteConfig),\n): void {\n commit(typeof config === 'function' ? config(input) : config);\n}\n\n/**\n * Drop all tuning and restore the palette the kit ships with. Identical to\n * `setPaletteConfig({})`; it exists to be readable at a call site.\n */\nexport function resetPaletteConfig(): void {\n commit({});\n}\n\n/**\n * Force every token to re-resolve without changing the palette config.\n *\n * Only needed if you drive Glaze directly — `glaze.configure({ darkTone })` and\n * the like. Glaze invalidates its own caches, but the kit's token maps are\n * memoized against *this* module's version, so they need telling. Calling it\n * before the first paint is unnecessary; nothing has been resolved yet.\n */\nexport function invalidatePaletteTokens(): void {\n version++;\n listeners.forEach((listener) => listener());\n}\n\n/** The current config, with every field resolved to a concrete value. */\nexport function getPaletteConfig(): ResolvedPaletteConfig {\n return resolved;\n}\n\n/**\n * The config **as set**, sparse — omitted fields are the ones still inheriting.\n *\n * {@link getPaletteConfig} resolves everything to concrete values, which loses the\n * distinction between \"explicitly 80\" and \"80 because it follows the brand\". A\n * settings UI needs that distinction to show an inherited value as inherited, and\n * to offer a way back:\n *\n * ```ts\n * const pinned = getPaletteConfigInput().baseHue !== undefined;\n *\n * // Re-link it to the brand by dropping the field.\n * setPaletteConfig(({ baseHue, ...config }) => config);\n * ```\n *\n * It is also the value handed to a {@link setPaletteConfig} updater.\n */\nexport function getPaletteConfigInput(): PaletteConfig {\n return input;\n}\n\n/**\n * Resolve a patch **over** the current config, without applying it.\n *\n * This one layers, unlike {@link setPaletteConfig}: a preview wants \"the theme in\n * use, but in dark\", so the fields it does not mention have to come from the live\n * config rather than from the defaults. The store is not touched and no listener\n * fires.\n */\nexport function resolvePaletteConfig(\n config?: PaletteConfig,\n): ResolvedPaletteConfig {\n if (!config) return resolved;\n\n return resolveConfig(mergeInput(input, config));\n}\n\n/**\n * Increments whenever the resolved config changes. The token caches in\n * `./palette.ts`, `./colors.ts` and `./index.ts` compare against it instead of\n * memoizing forever — the same idiom Glaze uses for its own config version.\n */\nexport function getPaletteVersion(): number {\n return version;\n}\n\n/** Subscribe to palette config changes. Returns an unsubscribe function. */\nexport function subscribePaletteConfig(listener: () => void): () => void {\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n };\n}\n\n// ============================================================================\n// React bindings\n// ============================================================================\n\n/**\n * Re-render on palette config changes. Returns the version, not the config, so\n * the snapshot is a primitive and React never warns about an uncached snapshot.\n */\nexport function usePaletteVersion(): number {\n return useSyncExternalStore(\n subscribePaletteConfig,\n getPaletteVersion,\n getPaletteVersion,\n );\n}\n\n/**\n * Read and tune the palette from React, `useState`-style — including the part\n * where the setter *replaces*. A control that changes one field wants the updater\n * form, or it will drop every other field:\n *\n * ```tsx\n * const [palette, setPalette] = usePaletteConfig();\n *\n * <HueSlider\n * value={palette.hue}\n * onChange={(hue) => setPalette((config) => ({ ...config, hue }))}\n * />\n * ```\n *\n * The first element is the *resolved* config, so `palette.hue` is always a number.\n * The updater's argument is the sparse one — see {@link getPaletteConfigInput}.\n *\n * The config is global process state, so every consumer of this hook — and every\n * mounted `<Root>` — sees the same palette.\n */\nexport function usePaletteConfig(): readonly [\n ResolvedPaletteConfig,\n typeof setPaletteConfig,\n] {\n usePaletteVersion();\n\n return [getPaletteConfig(), setPaletteConfig];\n}\n"],"mappings":"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"}
|
package/dist/tokens/palette.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.1 | Cube Dev Team */
|
|
2
2
|
import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
|
|
3
3
|
import { lazyStyles } from "./lazy-styles.js";
|
|
4
4
|
import { glaze } from "@tenphi/glaze";
|
|
@@ -46,11 +46,15 @@ const TINTED_SURFACE_TONE_OFFSET = 2;
|
|
|
46
46
|
* and selectors, while HTML/XML tag names reuse `code-keyword`. Diff insertion and
|
|
47
47
|
* deletion reuse the `success-*` / `danger-*` ramps instead.
|
|
48
48
|
*
|
|
49
|
-
*
|
|
49
|
+
* Three things are deliberately static here. Every hue is an absolute literal, so a
|
|
50
50
|
* re-seeded brand cannot rotate the syntax palette — a green brand would otherwise
|
|
51
|
-
* collide `code-string` with `code-number` (156°).
|
|
51
|
+
* collide `code-string` with `code-number` (156°). These factors are relative to
|
|
52
52
|
* the *code* theme's own seed (`themes.code.saturation`), not the palette-level one,
|
|
53
|
-
* so tuning the app's saturation cannot wash out a code block.
|
|
53
|
+
* so tuning the app's saturation cannot wash out a code block. And `pastel` is held
|
|
54
|
+
* off here whatever the palette does, for the same reason: it lowers the chroma
|
|
55
|
+
* ceiling hard enough to take `code-keyword` from ~0.19 to ~0.07, which is the
|
|
56
|
+
* difference between distinguishable syntax and mud. Between them, these mean the
|
|
57
|
+
* emitted `code-*` values are a function of the code saturation alone.
|
|
54
58
|
*
|
|
55
59
|
* That separate seed is the only reason these live outside the default theme: a
|
|
56
60
|
* theme colour can never exceed its own seed, and four of these sit at factor `1.0`,
|
|
@@ -114,6 +118,11 @@ const CODE_COLORS = {
|
|
|
114
118
|
* verbatim and resolves identically at any palette saturation. The mirrored `surface`
|
|
115
119
|
* is an implementation detail — it exists only as the contrast base, and is filtered
|
|
116
120
|
* out of the emitted tokens by {@link pickCodeTokens}.
|
|
121
|
+
*
|
|
122
|
+
* `instanceConfig` arrives with `pastel` pinned off, so the mirror is non-pastel too
|
|
123
|
+
* even when the app is. Harmless: at saturation factor 0.12 the pastel ceiling moves
|
|
124
|
+
* the mirror's chroma and leaves its tone — the axis every `code-*` contrast floor is
|
|
125
|
+
* solved against — bit-identical.
|
|
117
126
|
*/
|
|
118
127
|
function buildCodeTheme(config, instanceConfig) {
|
|
119
128
|
const codeSaturation = config.themes.code.saturation;
|
|
@@ -198,11 +207,16 @@ const TINTED_SURFACE_OVERRIDE = {
|
|
|
198
207
|
*/
|
|
199
208
|
function buildPalette(config, options = {}) {
|
|
200
209
|
const { hue, baseHue, saturation, pastel, themes, contrastLevel } = config;
|
|
210
|
+
const sharedOverrides = options.isolateContrastLevel ? { contrastLevel } : {};
|
|
201
211
|
const overrides = {
|
|
202
|
-
...
|
|
203
|
-
...
|
|
212
|
+
...sharedOverrides,
|
|
213
|
+
...pastel ? { pastel: true } : null
|
|
204
214
|
};
|
|
205
215
|
const instanceConfig = Object.keys(overrides).length ? overrides : void 0;
|
|
216
|
+
const codeInstanceConfig = {
|
|
217
|
+
...sharedOverrides,
|
|
218
|
+
pastel: false
|
|
219
|
+
};
|
|
206
220
|
const defaultTheme = glaze(hue, saturation, instanceConfig);
|
|
207
221
|
defaultTheme.colors({
|
|
208
222
|
surface: {
|
|
@@ -536,7 +550,7 @@ function buildPalette(config, options = {}) {
|
|
|
536
550
|
note: noteTheme,
|
|
537
551
|
special: specialTheme
|
|
538
552
|
}),
|
|
539
|
-
codeTheme: buildCodeTheme(config,
|
|
553
|
+
codeTheme: buildCodeTheme(config, codeInstanceConfig)
|
|
540
554
|
};
|
|
541
555
|
}
|
|
542
556
|
const TOKEN_PREFIXES = {
|