@cube-dev/ui-kit 0.152.0 → 0.154.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/CHANGELOG.md +111 -0
- package/dist/README.md +17 -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 +3 -2
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.d.ts +16 -0
- package/dist/components/Root.js +7 -3
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/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/TreeNode.js.map +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.d.ts +2 -2
- package/dist/components/fields/Checkbox/Checkbox.js +2 -2
- package/dist/components/fields/Checkbox/Checkbox.js.map +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 +2 -2
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.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.d.ts +2 -2
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/Switch/Switch.js.map +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.d.ts +10 -3
- package/dist/components/other/CubeLogo/CubeLogo.js +31 -4
- package/dist/components/other/CubeLogo/CubeLogo.js.map +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.d.ts +5 -5
- package/dist/data/themes.js +6 -6
- package/dist/data/themes.js.map +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 +12 -5
- package/dist/index.js +12 -5
- 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/shared/form.d.ts +27 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.d.ts +41 -2
- package/dist/tokens/colors.js +77 -9
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/index.d.ts +3 -2
- package/dist/tokens/index.js +23 -16
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +10 -6
- package/dist/tokens/lazy-styles.js.map +1 -1
- package/dist/tokens/palette-config.d.ts +222 -0
- package/dist/tokens/palette-config.js +309 -0
- package/dist/tokens/palette-config.js.map +1 -0
- package/dist/tokens/palette.d.ts +45 -5
- package/dist/tokens/palette.js +578 -405
- 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 +3 -3
- package/docs/Colors.md +4 -0
- package/docs/Theming.md +375 -0
- package/docs/Usage.md +30 -3
- package/docs/components/Root.md +1 -0
- package/docs/components/fields/PeriodPicker.md +75 -0
- package/docs/components/other/CubeLogo.md +27 -1
- package/docs/glaze/api.md +156 -8
- package/docs/glaze/methodology.md +21 -1
- package/docs/glaze/okhst.md +13 -0
- package/docs/tasty/README.md +1 -0
- package/docs/tasty/ai-agents.md +206 -0
- package/docs/tasty/injector.md +15 -0
- package/docs/tasty/react-api.md +21 -2
- package/package.json +3 -3
package/dist/tokens/colors.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
|
|
2
|
+
import { getPaletteVersion } from "./palette-config.js";
|
|
3
|
+
import { BASE_TOKENS } from "./base.js";
|
|
2
4
|
import { lazyStyles } from "./lazy-styles.js";
|
|
3
|
-
import { getPaletteTokens } from "./palette.js";
|
|
5
|
+
import { getPaletteTokens, renderPaletteTokens } from "./palette.js";
|
|
6
|
+
import { SHADOW_TOKENS } from "./shadows.js";
|
|
4
7
|
|
|
5
8
|
//#region src/tokens/colors.ts
|
|
6
9
|
/**
|
|
@@ -91,22 +94,87 @@ const LEGACY_ALIASES = {
|
|
|
91
94
|
/**
|
|
92
95
|
* Combined color token map: Glaze-generated palette + legacy aliases.
|
|
93
96
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
97
|
+
* Memoized against the palette config version, so a runtime `setPaletteConfig()`
|
|
98
|
+
* invalidates it while repeated reads stay free. Prefer {@link getColorTokens}
|
|
99
|
+
* in new code.
|
|
96
100
|
*
|
|
97
101
|
* `#white` and `#black` are intentionally omitted — they are built-in
|
|
98
102
|
* tasty named colors and resolve automatically.
|
|
99
103
|
*/
|
|
100
104
|
let colorTokensCache = null;
|
|
105
|
+
let cachedVersion = -1;
|
|
101
106
|
function getColorTokens() {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
107
|
+
const version = getPaletteVersion();
|
|
108
|
+
if (!colorTokensCache || cachedVersion !== version) {
|
|
109
|
+
colorTokensCache = {
|
|
110
|
+
...getPaletteTokens(),
|
|
111
|
+
...LEGACY_ALIASES
|
|
112
|
+
};
|
|
113
|
+
cachedVersion = version;
|
|
114
|
+
}
|
|
106
115
|
return colorTokensCache;
|
|
107
116
|
}
|
|
108
117
|
const COLOR_TOKENS = lazyStyles(getColorTokens);
|
|
118
|
+
/**
|
|
119
|
+
* Tokens that live outside the palette but whose *values* reference a palette
|
|
120
|
+
* color, so a region preview has to re-declare them. Kept by reference, exactly
|
|
121
|
+
* as `<Root>` declares them — see {@link renderColorTokens}.
|
|
122
|
+
*
|
|
123
|
+
* Sourced from `./shadows` and the scrollbar block of `./base`; if either grows a
|
|
124
|
+
* new colour-referencing token, add it here too.
|
|
125
|
+
*/
|
|
126
|
+
const COLOR_DEPENDENT_TOKENS = {
|
|
127
|
+
...SHADOW_TOKENS,
|
|
128
|
+
"#scrollbar-thumb": BASE_TOKENS["#scrollbar-thumb"],
|
|
129
|
+
"#scrollbar-outline": BASE_TOKENS["#scrollbar-outline"],
|
|
130
|
+
"#scrollbar-bg": BASE_TOKENS["#scrollbar-bg"],
|
|
131
|
+
"#scrollbar-corner": BASE_TOKENS["#scrollbar-corner"]
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Render every UI Kit color for one config and one scheme, as flat literal
|
|
135
|
+
* values ready to apply to a **region** via a tasty `tokens` prop.
|
|
136
|
+
*
|
|
137
|
+
* ```tsx
|
|
138
|
+
* const preview = useMemo(
|
|
139
|
+
* () => renderColorTokens({ hue: 210, scheme: 'dark' }),
|
|
140
|
+
* [],
|
|
141
|
+
* );
|
|
142
|
+
*
|
|
143
|
+
* <Block tokens={preview} fill="#surface" color="#surface-text">
|
|
144
|
+
* …renders in the previewed theme, inside a light page…
|
|
145
|
+
* </Block>
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* Config fields merge over the *current* palette config, so
|
|
149
|
+
* `renderColorTokens({ scheme: 'dark' })` previews the active theme in dark
|
|
150
|
+
* without restating it. Nothing is applied globally — the live palette is
|
|
151
|
+
* untouched.
|
|
152
|
+
*
|
|
153
|
+
* The legacy aliases are included **by reference** (`'#dark': '#surface-text'`),
|
|
154
|
+
* not resolved: tasty re-declares them on the region, so each `var()` resolves
|
|
155
|
+
* against that region's own overridden value. Resolving them here would instead
|
|
156
|
+
* freeze them to the outer theme's colors.
|
|
157
|
+
*
|
|
158
|
+
* The shadow tokens and the scrollbar colors come along for the same reason: their
|
|
159
|
+
* values embed a palette color (`$card-shadow` → `#shadow-md`, `#scrollbar-thumb`
|
|
160
|
+
* → `#text.5`). They are declared on `<Root>`, so CSS has already substituted the
|
|
161
|
+
* outer theme's colors into them by the time a region inherits — re-declaring them
|
|
162
|
+
* here is what lets them re-resolve.
|
|
163
|
+
*
|
|
164
|
+
* Not included: typography, spacing, sizes and layout. Nothing in their values
|
|
165
|
+
* references a color, so a region inherits them from `<Root>` unchanged.
|
|
166
|
+
*
|
|
167
|
+
* The result is memoized for the last config rendered, but callers driving this
|
|
168
|
+
* from state should still `useMemo` — a rebuild resolves the whole palette.
|
|
169
|
+
*/
|
|
170
|
+
function renderColorTokens(options) {
|
|
171
|
+
return {
|
|
172
|
+
...renderPaletteTokens(options),
|
|
173
|
+
...LEGACY_ALIASES,
|
|
174
|
+
...COLOR_DEPENDENT_TOKENS
|
|
175
|
+
};
|
|
176
|
+
}
|
|
109
177
|
|
|
110
178
|
//#endregion
|
|
111
|
-
export { COLOR_TOKENS, getColorTokens };
|
|
179
|
+
export { COLOR_TOKENS, getColorTokens, renderColorTokens };
|
|
112
180
|
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","names":[],"sources":["../../src/tokens/colors.ts"],"sourcesContent":["import { lazyStyles } from './lazy-styles';\nimport { getPaletteTokens } from './palette';\n\nimport type { Styles } from '@tenphi/tasty';\n\n/**\n * Color tokens with `#` prefix for tasty color definitions.\n *\n * The base values come from the Glaze-generated palette (`palette.ts`):\n * `#surface`, `#surface-text*`, `#border`, `#focus`, `#disabled`, `#pink`,\n * `#shadow-*`, `#overlay`, the unprefixed `#accent-*` family, and the per-theme\n * `#primary-*` / `#purple-*` / `#success-*` / `#danger-*` / `#warning-*` /\n * `#note-*` families.\n *\n * Each Glaze token is a state map (`{ '': '...', '@dark': '...', '@hc': '...' }`),\n * giving us light, dark, and high-contrast variants for free. The `@dark` /\n * `@hc` predefined states are wired up globally in `src/components/Root.tsx`.\n *\n * The aliases below preserve backward compatibility with every legacy\n * `#name` used across components, stories, and tests. Each alias resolves\n * to a current Glaze token via tasty's `#token` reference syntax.\n */\n\nconst LEGACY_ALIASES: Styles = {\n // ---- Neutral text scale (legacy `#dark*`) ----\n '#text': '#surface-text-soft',\n '#dark': '#surface-text',\n '#dark-01': '#surface-text',\n '#dark-02': '#surface-text-soft',\n '#dark-03': '#surface-text-soft-2',\n '#dark-04': '#placeholder',\n '#dark-05': '#border',\n\n // Fixed-mode counterpart to `#dark`. Resolves to the same L≈12 surface\n // but uses Glaze `mode: 'fixed'` so it does NOT invert in dark schemes.\n // Use this whenever the design intentionally pins a dark color regardless\n // of scheme. Points at `#special-surface` (`mode: 'fixed'`, L=12),\n // emitted by the standalone `specialTheme` in `palette.ts` — the canonical\n // source of fixed-mode color tokens for `special`-variant components.\n '#fixed-dark': '#special-surface',\n\n // Fixed-mode counterpart to `#primary-text`. `#primary-text` is anchored\n // to `surface` with `mode: 'auto'`, so it flips to a *light* purple in\n // dark schemes (correct on body content, which also inverts). When the\n // local fill is a fixed color instead (an always-white pill, etc.), the\n // adaptive text loses contrast (light purple on white) in dark mode.\n // Points at `#special-accent-text` (`mode: 'fixed'`, cr 6–8.5 vs fixed\n // white) — a dark purple readable on a white surface that stays put\n // across schemes.\n '#fixed-primary-text': '#special-accent-text',\n\n // ---- Misc neutral ----\n '#minor': '#surface-text-soft.65',\n '#shadow': '#shadow-md',\n '#light': '#surface-3',\n '#dark-bg': '#surface-2',\n '#clear': 'transparent',\n\n // Pink: independent hue, scheme-static (no Glaze adaptation). Kept as a raw\n // literal rather than folded into a theme — nothing in the palette emits this\n // hue as a standalone token, and it is a documented public alias (see\n // `Usage.docs.mdx`, `tasty.config.ts`, and the `pink` key in\n // `tasty-augment.d.ts`), so dropping it would silently break consumer styles\n // while the types still advertised it.\n '#pink': 'okhsl(5 100% 67%)',\n\n // ---- Disabled state aliases ----\n // `#disabled-surface` and `#disabled-surface-text` are emitted directly by\n // the Glaze palette (`palette.ts`) as scheme-symmetric, contrast-driven\n // tokens — no alias needed here. `#disabled` stays as a brand-tinted\n // backwards-compat anchor for the per-theme `#<theme>-disabled` aliases below.\n\n // ---- Primary / Purple legacy ----\n '#primary': '#primary-accent-surface',\n '#primary-text': '#primary-accent-text',\n '#primary-text-soft': '#primary-accent-text-soft',\n '#primary-bg': '#primary-surface',\n '#primary-icon': '#primary-accent-icon',\n '#primary-hover': '#primary-accent-surface-hover',\n '#primary-desaturated': '#primary-accent-surface-2',\n '#primary-disabled': '#disabled',\n\n '#purple': '#purple-accent-surface',\n '#purple-text': '#purple-accent-text',\n '#purple-text-soft': '#purple-accent-text-soft',\n '#purple-bg': '#purple-surface',\n '#purple-icon': '#purple-accent-icon',\n '#purple-hover': '#purple-accent-surface-hover',\n '#purple-disabled': '#disabled',\n\n // Purple scale (gradient/accent shades) — mapped to the accent-surface ramp.\n '#purple-01': '#purple-accent-surface',\n '#purple-02': '#purple-accent-surface-2',\n '#purple-03': '#purple-accent-surface-3',\n '#purple-04': '#purple-surface',\n\n // ---- Danger ----\n '#danger': '#danger-accent-surface',\n '#danger-text': '#danger-accent-text',\n '#danger-text-soft': '#danger-accent-text-soft',\n '#danger-bg': '#danger-surface',\n '#danger-icon': '#danger-accent-icon',\n '#danger-hover': '#danger-accent-surface-hover',\n '#danger-desaturated': '#danger-accent-surface-2',\n '#danger-disabled': '#disabled',\n\n // ---- Success ----\n '#success': '#success-accent-surface',\n '#success-text': '#success-accent-text',\n '#success-text-soft': '#success-accent-text-soft',\n '#success-bg': '#success-surface',\n '#success-icon': '#success-accent-icon',\n '#success-hover': '#success-accent-surface-hover',\n '#success-desaturated': '#success-accent-surface-2',\n '#success-disabled': '#disabled',\n\n // ---- Warning ----\n '#warning': '#warning-accent-surface',\n '#warning-text': '#warning-accent-text',\n '#warning-text-soft': '#warning-accent-text-soft',\n '#warning-bg': '#warning-surface',\n '#warning-icon': '#warning-accent-icon',\n '#warning-hover': '#warning-accent-surface-hover',\n '#warning-desaturated': '#warning-accent-surface-2',\n '#warning-disabled': '#disabled',\n\n // ---- Note ----\n '#note': '#note-accent-surface',\n '#note-text': '#note-accent-text',\n '#note-text-soft': '#note-accent-text-soft',\n '#note-bg': '#note-surface',\n '#note-icon': '#note-accent-icon',\n '#note-hover': '#note-accent-surface-hover',\n '#note-desaturated': '#note-accent-surface-2',\n '#note-disabled': '#disabled',\n};\n\n/**\n * Combined color token map: Glaze-generated palette + legacy aliases.\n *\n * Deferred until first access so host apps can `glaze.configure(...)` after\n * importing the kit. Prefer {@link getColorTokens} in new code.\n *\n * `#white` and `#black` are intentionally omitted — they are built-in\n * tasty named colors and resolve automatically.\n */\nlet colorTokensCache: Styles | null = null;\n\nexport function getColorTokens(): Styles {\n if (!colorTokensCache) {\n colorTokensCache = {\n ...getPaletteTokens(),\n ...LEGACY_ALIASES,\n };\n }\n return colorTokensCache;\n}\n\nexport const COLOR_TOKENS: Styles = lazyStyles(getColorTokens);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,iBAAyB;CAE7B,SAAS;CACT,SAAS;CACT,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CAQZ,eAAe;CAUf,uBAAuB;CAGvB,UAAU;CACV,WAAW;CACX,UAAU;CACV,YAAY;CACZ,UAAU;CAQV,SAAS;CAST,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAErB,WAAW;CACX,gBAAgB;CAChB,qBAAqB;CACrB,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,oBAAoB;CAGpB,cAAc;CACd,cAAc;CACd,cAAc;CACd,cAAc;CAGd,WAAW;CACX,gBAAgB;CAChB,qBAAqB;CACrB,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB,oBAAoB;CAGpB,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAGrB,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAGrB,SAAS;CACT,cAAc;CACd,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,eAAe;CACf,qBAAqB;CACrB,kBAAkB;CACnB;;;;;;;;;;AAWD,IAAI,mBAAkC;AAEtC,SAAgB,iBAAyB;AACvC,KAAI,CAAC,iBACH,oBAAmB;EACjB,GAAG,kBAAkB;EACrB,GAAG;EACJ;AAEH,QAAO;;AAGT,MAAa,eAAuB,WAAW,eAAe"}
|
|
1
|
+
{"version":3,"file":"colors.js","names":[],"sources":["../../src/tokens/colors.ts"],"sourcesContent":["import { BASE_TOKENS } from './base';\nimport { lazyStyles } from './lazy-styles';\nimport { getPaletteTokens, renderPaletteTokens } from './palette';\nimport { getPaletteVersion } from './palette-config';\nimport { SHADOW_TOKENS } from './shadows';\n\nimport type { Styles, Tokens } from '@tenphi/tasty';\nimport type { RenderPaletteOptions } from './palette';\n\n/**\n * Color tokens with `#` prefix for tasty color definitions.\n *\n * The base values come from the Glaze-generated palette (`palette.ts`):\n * `#surface`, `#surface-text*`, `#border`, `#focus`, `#disabled`, `#pink`,\n * `#shadow-*`, `#overlay`, the unprefixed `#accent-*` family, and the per-theme\n * `#primary-*` / `#purple-*` / `#success-*` / `#danger-*` / `#warning-*` /\n * `#note-*` families.\n *\n * Each Glaze token is a state map (`{ '': '...', '@dark': '...', '@hc': '...' }`),\n * giving us light, dark, and high-contrast variants for free. The `@dark` /\n * `@hc` predefined states are wired up globally in `src/components/Root.tsx`.\n *\n * The aliases below preserve backward compatibility with every legacy\n * `#name` used across components, stories, and tests. Each alias resolves\n * to a current Glaze token via tasty's `#token` reference syntax.\n */\n\nconst LEGACY_ALIASES: Styles = {\n // ---- Neutral text scale (legacy `#dark*`) ----\n '#text': '#surface-text-soft',\n '#dark': '#surface-text',\n '#dark-01': '#surface-text',\n '#dark-02': '#surface-text-soft',\n '#dark-03': '#surface-text-soft-2',\n '#dark-04': '#placeholder',\n '#dark-05': '#border',\n\n // Fixed-mode counterpart to `#dark`. Resolves to the same L≈12 surface\n // but uses Glaze `mode: 'fixed'` so it does NOT invert in dark schemes.\n // Use this whenever the design intentionally pins a dark color regardless\n // of scheme. Points at `#special-surface` (`mode: 'fixed'`, L=12),\n // emitted by the standalone `specialTheme` in `palette.ts` — the canonical\n // source of fixed-mode color tokens for `special`-variant components.\n '#fixed-dark': '#special-surface',\n\n // Fixed-mode counterpart to `#primary-text`. `#primary-text` is anchored\n // to `surface` with `mode: 'auto'`, so it flips to a *light* purple in\n // dark schemes (correct on body content, which also inverts). When the\n // local fill is a fixed color instead (an always-white pill, etc.), the\n // adaptive text loses contrast (light purple on white) in dark mode.\n // Points at `#special-accent-text` (`mode: 'fixed'`, cr 6–8.5 vs fixed\n // white) — a dark purple readable on a white surface that stays put\n // across schemes.\n '#fixed-primary-text': '#special-accent-text',\n\n // ---- Misc neutral ----\n '#minor': '#surface-text-soft.65',\n '#shadow': '#shadow-md',\n '#light': '#surface-3',\n '#dark-bg': '#surface-2',\n '#clear': 'transparent',\n\n // Pink: independent hue, scheme-static (no Glaze adaptation). Kept as a raw\n // literal rather than folded into a theme — nothing in the palette emits this\n // hue as a standalone token, and it is a documented public alias (see\n // `Usage.docs.mdx`, `tasty.config.ts`, and the `pink` key in\n // `tasty-augment.d.ts`), so dropping it would silently break consumer styles\n // while the types still advertised it.\n '#pink': 'okhsl(5 100% 67%)',\n\n // ---- Disabled state aliases ----\n // `#disabled-surface` and `#disabled-surface-text` are emitted directly by\n // the Glaze palette (`palette.ts`) as scheme-symmetric, contrast-driven\n // tokens — no alias needed here. `#disabled` stays as a brand-tinted\n // backwards-compat anchor for the per-theme `#<theme>-disabled` aliases below.\n\n // ---- Primary / Purple legacy ----\n '#primary': '#primary-accent-surface',\n '#primary-text': '#primary-accent-text',\n '#primary-text-soft': '#primary-accent-text-soft',\n '#primary-bg': '#primary-surface',\n '#primary-icon': '#primary-accent-icon',\n '#primary-hover': '#primary-accent-surface-hover',\n '#primary-desaturated': '#primary-accent-surface-2',\n '#primary-disabled': '#disabled',\n\n '#purple': '#purple-accent-surface',\n '#purple-text': '#purple-accent-text',\n '#purple-text-soft': '#purple-accent-text-soft',\n '#purple-bg': '#purple-surface',\n '#purple-icon': '#purple-accent-icon',\n '#purple-hover': '#purple-accent-surface-hover',\n '#purple-disabled': '#disabled',\n\n // Purple scale (gradient/accent shades) — mapped to the accent-surface ramp.\n '#purple-01': '#purple-accent-surface',\n '#purple-02': '#purple-accent-surface-2',\n '#purple-03': '#purple-accent-surface-3',\n '#purple-04': '#purple-surface',\n\n // ---- Danger ----\n '#danger': '#danger-accent-surface',\n '#danger-text': '#danger-accent-text',\n '#danger-text-soft': '#danger-accent-text-soft',\n '#danger-bg': '#danger-surface',\n '#danger-icon': '#danger-accent-icon',\n '#danger-hover': '#danger-accent-surface-hover',\n '#danger-desaturated': '#danger-accent-surface-2',\n '#danger-disabled': '#disabled',\n\n // ---- Success ----\n '#success': '#success-accent-surface',\n '#success-text': '#success-accent-text',\n '#success-text-soft': '#success-accent-text-soft',\n '#success-bg': '#success-surface',\n '#success-icon': '#success-accent-icon',\n '#success-hover': '#success-accent-surface-hover',\n '#success-desaturated': '#success-accent-surface-2',\n '#success-disabled': '#disabled',\n\n // ---- Warning ----\n '#warning': '#warning-accent-surface',\n '#warning-text': '#warning-accent-text',\n '#warning-text-soft': '#warning-accent-text-soft',\n '#warning-bg': '#warning-surface',\n '#warning-icon': '#warning-accent-icon',\n '#warning-hover': '#warning-accent-surface-hover',\n '#warning-desaturated': '#warning-accent-surface-2',\n '#warning-disabled': '#disabled',\n\n // ---- Note ----\n '#note': '#note-accent-surface',\n '#note-text': '#note-accent-text',\n '#note-text-soft': '#note-accent-text-soft',\n '#note-bg': '#note-surface',\n '#note-icon': '#note-accent-icon',\n '#note-hover': '#note-accent-surface-hover',\n '#note-desaturated': '#note-accent-surface-2',\n '#note-disabled': '#disabled',\n};\n\n/**\n * Combined color token map: Glaze-generated palette + legacy aliases.\n *\n * Memoized against the palette config version, so a runtime `setPaletteConfig()`\n * invalidates it while repeated reads stay free. Prefer {@link getColorTokens}\n * in new code.\n *\n * `#white` and `#black` are intentionally omitted — they are built-in\n * tasty named colors and resolve automatically.\n */\nlet colorTokensCache: Styles | null = null;\nlet cachedVersion = -1;\n\nexport function getColorTokens(): Styles {\n const version = getPaletteVersion();\n\n if (!colorTokensCache || cachedVersion !== version) {\n colorTokensCache = {\n ...getPaletteTokens(),\n ...LEGACY_ALIASES,\n };\n cachedVersion = version;\n }\n return colorTokensCache;\n}\n\nexport const COLOR_TOKENS: Styles = lazyStyles(getColorTokens);\n\n/**\n * Tokens that live outside the palette but whose *values* reference a palette\n * color, so a region preview has to re-declare them. Kept by reference, exactly\n * as `<Root>` declares them — see {@link renderColorTokens}.\n *\n * Sourced from `./shadows` and the scrollbar block of `./base`; if either grows a\n * new colour-referencing token, add it here too.\n */\nconst COLOR_DEPENDENT_TOKENS: Styles = {\n ...SHADOW_TOKENS,\n '#scrollbar-thumb': BASE_TOKENS['#scrollbar-thumb'],\n '#scrollbar-outline': BASE_TOKENS['#scrollbar-outline'],\n '#scrollbar-bg': BASE_TOKENS['#scrollbar-bg'],\n '#scrollbar-corner': BASE_TOKENS['#scrollbar-corner'],\n};\n\n/**\n * Render every UI Kit color for one config and one scheme, as flat literal\n * values ready to apply to a **region** via a tasty `tokens` prop.\n *\n * ```tsx\n * const preview = useMemo(\n * () => renderColorTokens({ hue: 210, scheme: 'dark' }),\n * [],\n * );\n *\n * <Block tokens={preview} fill=\"#surface\" color=\"#surface-text\">\n * …renders in the previewed theme, inside a light page…\n * </Block>\n * ```\n *\n * Config fields merge over the *current* palette config, so\n * `renderColorTokens({ scheme: 'dark' })` previews the active theme in dark\n * without restating it. Nothing is applied globally — the live palette is\n * untouched.\n *\n * The legacy aliases are included **by reference** (`'#dark': '#surface-text'`),\n * not resolved: tasty re-declares them on the region, so each `var()` resolves\n * against that region's own overridden value. Resolving them here would instead\n * freeze them to the outer theme's colors.\n *\n * The shadow tokens and the scrollbar colors come along for the same reason: their\n * values embed a palette color (`$card-shadow` → `#shadow-md`, `#scrollbar-thumb`\n * → `#text.5`). They are declared on `<Root>`, so CSS has already substituted the\n * outer theme's colors into them by the time a region inherits — re-declaring them\n * here is what lets them re-resolve.\n *\n * Not included: typography, spacing, sizes and layout. Nothing in their values\n * references a color, so a region inherits them from `<Root>` unchanged.\n *\n * The result is memoized for the last config rendered, but callers driving this\n * from state should still `useMemo` — a rebuild resolves the whole palette.\n */\nexport function renderColorTokens(options?: RenderPaletteOptions): Tokens {\n return {\n ...renderPaletteTokens(options),\n ...(LEGACY_ALIASES as Tokens),\n ...(COLOR_DEPENDENT_TOKENS as Tokens),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,iBAAyB;CAE7B,SAAS;CACT,SAAS;CACT,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CAQZ,eAAe;CAUf,uBAAuB;CAGvB,UAAU;CACV,WAAW;CACX,UAAU;CACV,YAAY;CACZ,UAAU;CAQV,SAAS;CAST,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAErB,WAAW;CACX,gBAAgB;CAChB,qBAAqB;CACrB,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,oBAAoB;CAGpB,cAAc;CACd,cAAc;CACd,cAAc;CACd,cAAc;CAGd,WAAW;CACX,gBAAgB;CAChB,qBAAqB;CACrB,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB,oBAAoB;CAGpB,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAGrB,YAAY;CACZ,iBAAiB;CACjB,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CAGrB,SAAS;CACT,cAAc;CACd,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,eAAe;CACf,qBAAqB;CACrB,kBAAkB;CACnB;;;;;;;;;;;AAYD,IAAI,mBAAkC;AACtC,IAAI,gBAAgB;AAEpB,SAAgB,iBAAyB;CACvC,MAAM,UAAU,mBAAmB;AAEnC,KAAI,CAAC,oBAAoB,kBAAkB,SAAS;AAClD,qBAAmB;GACjB,GAAG,kBAAkB;GACrB,GAAG;GACJ;AACD,kBAAgB;;AAElB,QAAO;;AAGT,MAAa,eAAuB,WAAW,eAAe;;;;;;;;;AAU9D,MAAM,yBAAiC;CACrC,GAAG;CACH,oBAAoB,YAAY;CAChC,sBAAsB,YAAY;CAClC,iBAAiB,YAAY;CAC7B,qBAAqB,YAAY;CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCD,SAAgB,kBAAkB,SAAwC;AACxE,QAAO;EACL,GAAG,oBAAoB,QAAQ;EAC/B,GAAI;EACJ,GAAI;EACL"}
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
|
|
2
|
+
import { DEFAULT_PALETTE_CONFIG, PaletteCodeSeed, PaletteConfig, PaletteThemeName, PaletteThemeSeed, ResolvedPaletteConfig, getPaletteConfig, getPaletteConfigInput, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion } from "./palette-config.js";
|
|
2
3
|
import { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SizeKey, SizeName } from "./sizes.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
4
|
+
import { PALETTE_TOKENS, RenderPaletteOptions, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens } from "./palette.js";
|
|
5
|
+
import { COLOR_TOKENS, getColorTokens, renderColorTokens } from "./colors.js";
|
|
5
6
|
import { SPACE_TOKENS } from "./spacing.js";
|
|
6
7
|
import { SHADOW_TOKENS } from "./shadows.js";
|
|
7
8
|
import { LAYOUT_TOKENS } from "./layout.js";
|
package/dist/tokens/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
|
|
2
|
+
import { DEFAULT_PALETTE_CONFIG, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion } from "./palette-config.js";
|
|
2
3
|
import { BASE_TOKENS } from "./base.js";
|
|
3
4
|
import { lazyStyles } from "./lazy-styles.js";
|
|
4
|
-
import { PALETTE_TOKENS, getPaletteTokens } from "./palette.js";
|
|
5
|
-
import { COLOR_TOKENS, getColorTokens } from "./colors.js";
|
|
6
|
-
import { LAYOUT_TOKENS } from "./layout.js";
|
|
5
|
+
import { PALETTE_TOKENS, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens } from "./palette.js";
|
|
7
6
|
import { SHADOW_TOKENS } from "./shadows.js";
|
|
7
|
+
import { COLOR_TOKENS, getColorTokens, renderColorTokens } from "./colors.js";
|
|
8
|
+
import { LAYOUT_TOKENS } from "./layout.js";
|
|
8
9
|
import { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from "./sizes.js";
|
|
9
10
|
import { SPACE_TOKENS } from "./spacing.js";
|
|
10
11
|
import { TYPOGRAPHY_PRESETS } from "./typography.js";
|
|
@@ -30,9 +31,10 @@ import { generateTypographyTokens } from "@tenphi/tasty";
|
|
|
30
31
|
* All design tokens combined into a single Styles object.
|
|
31
32
|
* Keys use $ prefix for CSS custom properties.
|
|
32
33
|
*
|
|
33
|
-
* Color tokens resolve against the
|
|
34
|
-
* {@link getColorTokens})
|
|
35
|
-
*
|
|
34
|
+
* Color tokens resolve against the current palette config (see
|
|
35
|
+
* {@link getColorTokens}), and this map is memoized against that config's
|
|
36
|
+
* version so `setPaletteConfig()` invalidates it. Prefer this over the lazy
|
|
37
|
+
* {@link TOKENS} proxy when applying styles from React (`GlobalStyles`).
|
|
36
38
|
*
|
|
37
39
|
* Includes:
|
|
38
40
|
* - Base tokens ($gap, $radius, etc.)
|
|
@@ -44,16 +46,21 @@ import { generateTypographyTokens } from "@tenphi/tasty";
|
|
|
44
46
|
* - Color tokens ($purple-color, $purple-color-rgb, etc.)
|
|
45
47
|
*/
|
|
46
48
|
let tokensCache = null;
|
|
49
|
+
let cachedVersion = -1;
|
|
47
50
|
function getTokens() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
const version = getPaletteVersion();
|
|
52
|
+
if (!tokensCache || cachedVersion !== version) {
|
|
53
|
+
tokensCache = {
|
|
54
|
+
...BASE_TOKENS,
|
|
55
|
+
...SPACE_TOKENS,
|
|
56
|
+
...SIZE_TOKENS,
|
|
57
|
+
...SHADOW_TOKENS,
|
|
58
|
+
...LAYOUT_TOKENS,
|
|
59
|
+
...generateTypographyTokens(TYPOGRAPHY_PRESETS),
|
|
60
|
+
...getColorTokens()
|
|
61
|
+
};
|
|
62
|
+
cachedVersion = version;
|
|
63
|
+
}
|
|
57
64
|
return tokensCache;
|
|
58
65
|
}
|
|
59
66
|
/** Lazy proxy of {@link getTokens}. Prefer `getTokens()` in new code. */
|
package/dist/tokens/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/index.ts"],"sourcesContent":["/**\n * Design tokens for the Cube UI Kit.\n *\n * This module exports all design tokens used throughout the design system.\n * All token keys use $ prefix for CSS custom properties.\n *\n * Categories:\n * - Colors: Base color palette with -color and -color-rgb variants\n * - Typography: Font presets for headings, text, paragraphs, etc.\n * - Sizes: Component size values (XS, SM, MD, LG, XL)\n * - Spacing: Space tokens using gap multipliers\n * - Shadows: Shadow definitions for elevation\n * - Layout: Common layout dimensions\n * - Base: Core design system values\n */\n\nimport { generateTypographyTokens } from '@tenphi/tasty';\n\nimport { BASE_TOKENS } from './base';\nimport { getColorTokens } from './colors';\nimport { LAYOUT_TOKENS } from './layout';\nimport { lazyStyles } from './lazy-styles';\nimport { SHADOW_TOKENS } from './shadows';\nimport { SIZE_TOKENS } from './sizes';\nimport { SPACE_TOKENS } from './spacing';\nimport { TYPOGRAPHY_PRESETS } from './typography';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { SizeKey, SizeName } from './sizes';\n\n/**\n * All design tokens combined into a single Styles object.\n * Keys use $ prefix for CSS custom properties.\n *\n * Color tokens resolve against the
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/index.ts"],"sourcesContent":["/**\n * Design tokens for the Cube UI Kit.\n *\n * This module exports all design tokens used throughout the design system.\n * All token keys use $ prefix for CSS custom properties.\n *\n * Categories:\n * - Colors: Base color palette with -color and -color-rgb variants\n * - Typography: Font presets for headings, text, paragraphs, etc.\n * - Sizes: Component size values (XS, SM, MD, LG, XL)\n * - Spacing: Space tokens using gap multipliers\n * - Shadows: Shadow definitions for elevation\n * - Layout: Common layout dimensions\n * - Base: Core design system values\n */\n\nimport { generateTypographyTokens } from '@tenphi/tasty';\n\nimport { BASE_TOKENS } from './base';\nimport { getColorTokens } from './colors';\nimport { LAYOUT_TOKENS } from './layout';\nimport { lazyStyles } from './lazy-styles';\nimport { getPaletteVersion } from './palette-config';\nimport { SHADOW_TOKENS } from './shadows';\nimport { SIZE_TOKENS } from './sizes';\nimport { SPACE_TOKENS } from './spacing';\nimport { TYPOGRAPHY_PRESETS } from './typography';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { SizeKey, SizeName } from './sizes';\n\n/**\n * All design tokens combined into a single Styles object.\n * Keys use $ prefix for CSS custom properties.\n *\n * Color tokens resolve against the current palette config (see\n * {@link getColorTokens}), and this map is memoized against that config's\n * version so `setPaletteConfig()` invalidates it. Prefer this over the lazy\n * {@link TOKENS} proxy when applying styles from React (`GlobalStyles`).\n *\n * Includes:\n * - Base tokens ($gap, $radius, etc.)\n * - Space tokens ($space-xs, $space-sm, etc.)\n * - Size tokens ($size-xs, $size-sm, etc.)\n * - Shadow tokens ($shadow, $item-shadow, etc.)\n * - Layout tokens ($max-content-width, $topbar-height, etc.)\n * - Typography tokens ($h1-font-size, $t3-line-height, etc.)\n * - Color tokens ($purple-color, $purple-color-rgb, etc.)\n */\nlet tokensCache: Styles | null = null;\nlet cachedVersion = -1;\n\nexport function getTokens(): Styles {\n const version = getPaletteVersion();\n\n if (!tokensCache || cachedVersion !== version) {\n tokensCache = {\n ...BASE_TOKENS,\n ...SPACE_TOKENS,\n ...SIZE_TOKENS,\n ...SHADOW_TOKENS,\n ...LAYOUT_TOKENS,\n ...generateTypographyTokens(TYPOGRAPHY_PRESETS),\n ...getColorTokens(),\n };\n cachedVersion = version;\n }\n return tokensCache;\n}\n\n/** Lazy proxy of {@link getTokens}. Prefer `getTokens()` in new code. */\nexport const TOKENS: Styles = lazyStyles(getTokens);\n\n// Re-export category modules for direct access\nexport { COLOR_TOKENS, getColorTokens, renderColorTokens } from './colors';\nexport {\n getCodeTheme,\n getPalette,\n getPaletteTokens,\n PALETTE_TOKENS,\n renderPaletteTokens,\n} from './palette';\nexport type { RenderPaletteOptions } from './palette';\nexport {\n DEFAULT_PALETTE_CONFIG,\n getPaletteConfig,\n getPaletteConfigInput,\n invalidatePaletteTokens,\n resetPaletteConfig,\n resolvePaletteConfig,\n setPaletteConfig,\n subscribePaletteConfig,\n usePaletteConfig,\n usePaletteVersion,\n} from './palette-config';\nexport type {\n PaletteCodeSeed,\n PaletteConfig,\n PaletteThemeName,\n PaletteThemeSeed,\n ResolvedPaletteConfig,\n} from './palette-config';\nexport { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from './sizes';\nexport type { SizeKey, SizeName } from './sizes';\nexport { SPACE_TOKENS } from './spacing';\nexport { SHADOW_TOKENS } from './shadows';\nexport { LAYOUT_TOKENS } from './layout';\nexport { BASE_TOKENS } from './base';\nexport { TYPOGRAPHY_PRESETS } from './typography';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAI,cAA6B;AACjC,IAAI,gBAAgB;AAEpB,SAAgB,YAAoB;CAClC,MAAM,UAAU,mBAAmB;AAEnC,KAAI,CAAC,eAAe,kBAAkB,SAAS;AAC7C,gBAAc;GACZ,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG,yBAAyB,mBAAmB;GAC/C,GAAG,gBAAgB;GACpB;AACD,kBAAgB;;AAElB,QAAO;;;AAIT,MAAa,SAAiB,WAAW,UAAU"}
|
package/dist/tokens/layout.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
|
|
2
2
|
//#region src/tokens/lazy-styles.ts
|
|
3
3
|
/**
|
|
4
|
-
* Proxy that
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Proxy that defers to `factory()` on every property / enumeration access.
|
|
5
|
+
* Used so token exports stay import-safe while resolution waits until after a
|
|
6
|
+
* host app calls `setPaletteConfig(...)` / `glaze.configure(...)`.
|
|
7
|
+
*
|
|
8
|
+
* The proxy holds no cache of its own — that is deliberate. Every factory here
|
|
9
|
+
* memoizes against the palette config version, so delegating on each access is
|
|
10
|
+
* what keeps these exports live when the palette is re-seeded at runtime. A
|
|
11
|
+
* factory passed in must memoize.
|
|
7
12
|
*/
|
|
8
13
|
function lazyStyles(factory) {
|
|
9
|
-
|
|
10
|
-
const resolve = () => cache ??= factory();
|
|
14
|
+
const resolve = () => factory();
|
|
11
15
|
return new Proxy({}, {
|
|
12
16
|
get(_target, prop) {
|
|
13
17
|
if (prop === Symbol.toStringTag) return "Object";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-styles.js","names":[],"sources":["../../src/tokens/lazy-styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Proxy that
|
|
1
|
+
{"version":3,"file":"lazy-styles.js","names":[],"sources":["../../src/tokens/lazy-styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Proxy that defers to `factory()` on every property / enumeration access.\n * Used so token exports stay import-safe while resolution waits until after a\n * host app calls `setPaletteConfig(...)` / `glaze.configure(...)`.\n *\n * The proxy holds no cache of its own — that is deliberate. Every factory here\n * memoizes against the palette config version, so delegating on each access is\n * what keeps these exports live when the palette is re-seeded at runtime. A\n * factory passed in must memoize.\n */\nexport function lazyStyles(factory: () => Styles): Styles {\n const resolve = () => factory();\n return new Proxy({} as Styles, {\n get(_target, prop) {\n if (prop === Symbol.toStringTag) return 'Object';\n return Reflect.get(resolve(), prop);\n },\n ownKeys() {\n return Reflect.ownKeys(resolve());\n },\n getOwnPropertyDescriptor(_target, prop) {\n return Object.getOwnPropertyDescriptor(resolve(), prop);\n },\n has(_target, prop) {\n return Reflect.has(resolve(), prop);\n },\n getPrototypeOf() {\n return Object.prototype;\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;AAYA,SAAgB,WAAW,SAA+B;CACxD,MAAM,gBAAgB,SAAS;AAC/B,QAAO,IAAI,MAAM,EAAE,EAAY;EAC7B,IAAI,SAAS,MAAM;AACjB,OAAI,SAAS,OAAO,YAAa,QAAO;AACxC,UAAO,QAAQ,IAAI,SAAS,EAAE,KAAK;;EAErC,UAAU;AACR,UAAO,QAAQ,QAAQ,SAAS,CAAC;;EAEnC,yBAAyB,SAAS,MAAM;AACtC,UAAO,OAAO,yBAAyB,SAAS,EAAE,KAAK;;EAEzD,IAAI,SAAS,MAAM;AACjB,UAAO,QAAQ,IAAI,SAAS,EAAE,KAAK;;EAErC,iBAAiB;AACf,UAAO,OAAO;;EAEjB,CAAC"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/tokens/palette-config.d.ts
|
|
3
|
+
/** Hue / saturation seed override for one colored theme. */
|
|
4
|
+
interface PaletteThemeSeed {
|
|
5
|
+
/** Hue in degrees (0–360). */
|
|
6
|
+
hue?: number;
|
|
7
|
+
/** Saturation (0–100). Defaults to the palette-level `saturation`. */
|
|
8
|
+
saturation?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The `code-*` syntax family takes a saturation and nothing else.
|
|
12
|
+
*
|
|
13
|
+
* 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. And
|
|
15
|
+
* unlike every other theme, its saturation does **not** inherit the palette-level
|
|
16
|
+
* one: the code palette is calibrated once and stays there, so re-seeding the app
|
|
17
|
+
* cannot quietly wash out a code block.
|
|
18
|
+
*/
|
|
19
|
+
interface PaletteCodeSeed {
|
|
20
|
+
/** Saturation (0–100). Defaults to {@link DEFAULT_SATURATION}, not to `saturation`. */
|
|
21
|
+
saturation?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Names of the themes whose seeds can be overridden individually. */
|
|
24
|
+
type PaletteThemeName = 'success' | 'danger' | 'warning' | 'note' | 'code';
|
|
25
|
+
/**
|
|
26
|
+
* Palette tuning. Every field is optional; omitted fields keep their default,
|
|
27
|
+
* and per-theme fields left unset inherit the palette-level value.
|
|
28
|
+
*/
|
|
29
|
+
interface PaletteConfig {
|
|
30
|
+
/**
|
|
31
|
+
* Accent hue in degrees (0–360) — the brand.
|
|
32
|
+
*
|
|
33
|
+
* Drives the `accent-*` family on every theme, `primary` / `purple` / `special`,
|
|
34
|
+
* and the brand-tinted odds and ends (`focus`, the loading faces, the disabled
|
|
35
|
+
* chip). Also the default for {@link PaletteConfig.baseHue}.
|
|
36
|
+
*/
|
|
37
|
+
hue?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Hue of the **base** zone in degrees (0–360): the neutral chrome — `surface`
|
|
40
|
+
* and its ladder, the `surface-text*` ramp, `border`, `placeholder`. Defaults to
|
|
41
|
+
* `hue`, so the chrome carries a faint tint of the brand unless you say otherwise.
|
|
42
|
+
*
|
|
43
|
+
* Splitting it lets the chrome sit on a different hue from the accent — a warm
|
|
44
|
+
* grey UI with a cool blue brand, say. Only the `default` theme is affected: a
|
|
45
|
+
* colored theme's tinted `surface` deliberately follows *its own* hue, because a
|
|
46
|
+
* danger banner should read as red.
|
|
47
|
+
*/
|
|
48
|
+
baseHue?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Seed saturation (0–100), and the fallback for every theme that does not set
|
|
51
|
+
* its own.
|
|
52
|
+
*
|
|
53
|
+
* One scale for the whole theme, by design. Every color's own `saturation` is a
|
|
54
|
+
* 0–1 factor of this seed — `surface` at 0.12, `border` at 0.175, the text ramp
|
|
55
|
+
* at 0.2, the accent family at ~1.0 — so moving it rescales the palette while
|
|
56
|
+
* keeping those proportions. Unlike hue, which is configured separately for the
|
|
57
|
+
* brand and for each status theme, saturation is deliberately not split: the
|
|
58
|
+
* ratio between a subtle surface tint and a saturated accent is part of the
|
|
59
|
+
* design.
|
|
60
|
+
*/
|
|
61
|
+
saturation?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Global. Widens the usable chroma range by relaxing the sRGB-safe limit,
|
|
64
|
+
* producing a softer, more even palette across hues. Glaze treats `pastel` as
|
|
65
|
+
* instance-level, so it is threaded into every theme.
|
|
66
|
+
*/
|
|
67
|
+
pastel?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Global. `'auto'` (the default) keeps the two-tier model: normal colors plus
|
|
70
|
+
* a separate high-contrast tier driven by `<html data-contrast="high">` /
|
|
71
|
+
* `prefers-contrast: more`.
|
|
72
|
+
*
|
|
73
|
+
* A number (0–100) replaces that switch with a slider — and, because a manual
|
|
74
|
+
* level already carries the contrast preference, **drops the high-contrast
|
|
75
|
+
* tier entirely**. `0` reproduces the normal output and `100` the
|
|
76
|
+
* high-contrast output, bit for bit.
|
|
77
|
+
*/
|
|
78
|
+
contrastLevel?: number | 'auto';
|
|
79
|
+
/** Per-theme seed overrides. */
|
|
80
|
+
themes?: {
|
|
81
|
+
success?: PaletteThemeSeed;
|
|
82
|
+
danger?: PaletteThemeSeed;
|
|
83
|
+
warning?: PaletteThemeSeed;
|
|
84
|
+
note?: PaletteThemeSeed;
|
|
85
|
+
code?: PaletteCodeSeed;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** {@link PaletteConfig} with every field resolved to a concrete value. */
|
|
89
|
+
interface ResolvedPaletteConfig {
|
|
90
|
+
hue: number;
|
|
91
|
+
baseHue: number;
|
|
92
|
+
saturation: number;
|
|
93
|
+
pastel: boolean;
|
|
94
|
+
contrastLevel: number | 'auto';
|
|
95
|
+
themes: {
|
|
96
|
+
success: {
|
|
97
|
+
hue: number;
|
|
98
|
+
saturation: number;
|
|
99
|
+
};
|
|
100
|
+
danger: {
|
|
101
|
+
hue: number;
|
|
102
|
+
saturation: number;
|
|
103
|
+
};
|
|
104
|
+
warning: {
|
|
105
|
+
hue: number;
|
|
106
|
+
saturation: number;
|
|
107
|
+
};
|
|
108
|
+
note: {
|
|
109
|
+
hue: number;
|
|
110
|
+
saturation: number;
|
|
111
|
+
};
|
|
112
|
+
code: {
|
|
113
|
+
saturation: number;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The palette as it ships, with no tuning applied. Frozen — it is the baseline
|
|
119
|
+
* every resolution falls back to, so a stray write to it would move the defaults
|
|
120
|
+
* for the whole process.
|
|
121
|
+
*/
|
|
122
|
+
declare const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig;
|
|
123
|
+
/**
|
|
124
|
+
* Set the palette config.
|
|
125
|
+
*
|
|
126
|
+
* **Replaces**, like `useState` — the config you pass *is* the config, resolved
|
|
127
|
+
* against the shipped defaults. Nothing accumulates, so a field you leave out is a
|
|
128
|
+
* field you do not have: dropping a customization means dropping it from the
|
|
129
|
+
* object, and re-applying the same object twice is the same as applying it once.
|
|
130
|
+
*
|
|
131
|
+
* ```ts
|
|
132
|
+
* setPaletteConfig({ hue: 200, baseHue: 60 });
|
|
133
|
+
* setPaletteConfig({ hue: 200 }); // baseHue is gone — back to inheriting `hue`
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* To adjust one field of the config already in place — a slider in a settings UI —
|
|
137
|
+
* pass an updater. It receives the config as written, sparse, so spreading it
|
|
138
|
+
* preserves which fields are pinned and which still inherit:
|
|
139
|
+
*
|
|
140
|
+
* ```ts
|
|
141
|
+
* setPaletteConfig((config) => ({ ...config, hue: 200 }));
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* The palette is rebuilt lazily on the next token read, and any mounted `<Root>`
|
|
145
|
+
* re-injects the token block — no component re-render is involved, because every
|
|
146
|
+
* color in the kit resolves through a CSS custom property.
|
|
147
|
+
*/
|
|
148
|
+
declare function setPaletteConfig(config: PaletteConfig | ((previous: PaletteConfig) => PaletteConfig)): void;
|
|
149
|
+
/**
|
|
150
|
+
* Drop all tuning and restore the palette the kit ships with. Identical to
|
|
151
|
+
* `setPaletteConfig({})`; it exists to be readable at a call site.
|
|
152
|
+
*/
|
|
153
|
+
declare function resetPaletteConfig(): void;
|
|
154
|
+
/**
|
|
155
|
+
* Force every token to re-resolve without changing the palette config.
|
|
156
|
+
*
|
|
157
|
+
* Only needed if you drive Glaze directly — `glaze.configure({ darkTone })` and
|
|
158
|
+
* the like. Glaze invalidates its own caches, but the kit's token maps are
|
|
159
|
+
* memoized against *this* module's version, so they need telling. Calling it
|
|
160
|
+
* before the first paint is unnecessary; nothing has been resolved yet.
|
|
161
|
+
*/
|
|
162
|
+
declare function invalidatePaletteTokens(): void;
|
|
163
|
+
/** The current config, with every field resolved to a concrete value. */
|
|
164
|
+
declare function getPaletteConfig(): ResolvedPaletteConfig;
|
|
165
|
+
/**
|
|
166
|
+
* The config **as set**, sparse — omitted fields are the ones still inheriting.
|
|
167
|
+
*
|
|
168
|
+
* {@link getPaletteConfig} resolves everything to concrete values, which loses the
|
|
169
|
+
* distinction between "explicitly 80" and "80 because it follows the brand". A
|
|
170
|
+
* settings UI needs that distinction to show an inherited value as inherited, and
|
|
171
|
+
* to offer a way back:
|
|
172
|
+
*
|
|
173
|
+
* ```ts
|
|
174
|
+
* const pinned = getPaletteConfigInput().baseHue !== undefined;
|
|
175
|
+
*
|
|
176
|
+
* // Re-link it to the brand by dropping the field.
|
|
177
|
+
* setPaletteConfig(({ baseHue, ...config }) => config);
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
180
|
+
* It is also the value handed to a {@link setPaletteConfig} updater.
|
|
181
|
+
*/
|
|
182
|
+
declare function getPaletteConfigInput(): PaletteConfig;
|
|
183
|
+
/**
|
|
184
|
+
* Resolve a patch **over** the current config, without applying it.
|
|
185
|
+
*
|
|
186
|
+
* This one layers, unlike {@link setPaletteConfig}: a preview wants "the theme in
|
|
187
|
+
* use, but in dark", so the fields it does not mention have to come from the live
|
|
188
|
+
* config rather than from the defaults. The store is not touched and no listener
|
|
189
|
+
* fires.
|
|
190
|
+
*/
|
|
191
|
+
declare function resolvePaletteConfig(config?: PaletteConfig): ResolvedPaletteConfig;
|
|
192
|
+
/** Subscribe to palette config changes. Returns an unsubscribe function. */
|
|
193
|
+
declare function subscribePaletteConfig(listener: () => void): () => void;
|
|
194
|
+
/**
|
|
195
|
+
* Re-render on palette config changes. Returns the version, not the config, so
|
|
196
|
+
* the snapshot is a primitive and React never warns about an uncached snapshot.
|
|
197
|
+
*/
|
|
198
|
+
declare function usePaletteVersion(): number;
|
|
199
|
+
/**
|
|
200
|
+
* Read and tune the palette from React, `useState`-style — including the part
|
|
201
|
+
* where the setter *replaces*. A control that changes one field wants the updater
|
|
202
|
+
* form, or it will drop every other field:
|
|
203
|
+
*
|
|
204
|
+
* ```tsx
|
|
205
|
+
* const [palette, setPalette] = usePaletteConfig();
|
|
206
|
+
*
|
|
207
|
+
* <HueSlider
|
|
208
|
+
* value={palette.hue}
|
|
209
|
+
* onChange={(hue) => setPalette((config) => ({ ...config, hue }))}
|
|
210
|
+
* />
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* The first element is the *resolved* config, so `palette.hue` is always a number.
|
|
214
|
+
* The updater's argument is the sparse one — see {@link getPaletteConfigInput}.
|
|
215
|
+
*
|
|
216
|
+
* The config is global process state, so every consumer of this hook — and every
|
|
217
|
+
* mounted `<Root>` — sees the same palette.
|
|
218
|
+
*/
|
|
219
|
+
declare function usePaletteConfig(): readonly [ResolvedPaletteConfig, typeof setPaletteConfig];
|
|
220
|
+
//#endregion
|
|
221
|
+
export { DEFAULT_PALETTE_CONFIG, PaletteCodeSeed, PaletteConfig, PaletteThemeName, PaletteThemeSeed, ResolvedPaletteConfig, getPaletteConfig, getPaletteConfigInput, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
|
|
222
|
+
//# sourceMappingURL=palette-config.d.ts.map
|