@cube-dev/ui-kit 0.0.0-canary-62e2450 → 0.0.0-canary-bacd3ad
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 +0 -64
- package/dist/README.md +0 -64
- 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.d.ts +0 -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 +7 -7
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +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.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +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 +2 -1
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -2
- package/dist/components/data/TableBase/styled.js +7 -7
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/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.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/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/index.d.ts +0 -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/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/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 +6 -3
- package/dist/components/layout/Board/Board.js.map +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 +175 -17
- package/dist/components/layout/Board/WidgetHost.js.map +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-context.js.map +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-modes.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/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/placement.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/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/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/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/types.d.ts +0 -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.d.ts +0 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +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/index.d.ts +0 -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/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/components/layout/Board.md +7 -1
- package/docs/tasty/README.md +1 -3
- package/docs/tasty/debug.md +6 -17
- package/docs/tasty/runtime-benchmarks.md +1 -10
- package/docs/tasty/ssr.md +31 -151
- package/package.json +5 -35
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/portal/PortalProvider.d.ts +0 -2
- package/dist/precompile/index.d.ts +0 -45
- package/dist/precompile/index.js +0 -52
- package/dist/precompile/index.js.map +0 -1
- package/dist/precompiled/index.d.ts +0 -1
- package/dist/precompiled/index.js +0 -2
- package/dist/precompiled/manifest.d.ts +0 -4
- package/dist/precompiled/manifest.js +0 -2921
- package/dist/precompiled/manifest.json +0 -2919
- package/dist/precompiled/register.d.ts +0 -1
- package/dist/precompiled/register.js +0 -4
- package/dist/precompiled/report.json +0 -1548
- package/dist/precompiled/styles.css +0 -3416
- package/dist/precompiled/styles.d.ts +0 -1
- package/docs/tasty/precompile.md +0 -186
- package/scripts/precompile-tasty-catalog.mjs +0 -727
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bacd3ad | Cube Dev Team */
|
|
2
2
|
import { EventBusContext, useEventBus } from "./useEventBus.js";
|
|
3
3
|
import { useCallback, useContext, useEffect, useRef } from "react";
|
|
4
4
|
|
package/dist/utils/selection.js
CHANGED
package/dist/utils/styles.js
CHANGED
package/dist/utils/tree.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bacd3ad | Cube Dev Team */
|
|
2
2
|
//#region src/utils/tree.ts
|
|
3
3
|
function toFlatTree(tree, includingFolders) {
|
|
4
4
|
return tree.reduce((result, node) => {
|
package/dist/utils/warnings.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bacd3ad | Cube Dev Team */
|
|
2
2
|
//#region src/version.ts
|
|
3
|
-
const VERSION = "0.0.0-canary-
|
|
4
|
-
const TASTY_VERSION = "
|
|
3
|
+
const VERSION = "0.0.0-canary-bacd3ad";
|
|
4
|
+
const TASTY_VERSION = "3.5.0";
|
|
5
5
|
if (typeof window !== "undefined") {
|
|
6
6
|
const version = VERSION;
|
|
7
7
|
const tastyVersion = TASTY_VERSION;
|
|
@@ -146,11 +146,17 @@ An aligned board never shrinks its rows, so pair it with `isAutoHeight` on the c
|
|
|
146
146
|
- **`isResizable`** `boolean` (default: `true`) — Enable resizing for all widgets. Same ceiling semantics as `isDraggable`.
|
|
147
147
|
- **`isDroppable`** `boolean` (default: `true`) — Whether the board accepts widgets dropped from _other_ boards. `false` does not affect dragging within the board.
|
|
148
148
|
- **`resizeHandles`** `ResizeHandleAxis[]` (default: `['se']`) — Which resize handles to show. Corner handles (`ne`/`nw`/`se`/`sw`) show an angle grip; edge handles (`n`/`s`/`e`/`w`) show a dotted grip. Both are revealed on hover/focus/resize. A single edge (e.g. `['e']` or `['s']`) gives a horizontally- or vertically-only resizable widget.
|
|
149
|
-
- **`resizeGripPlacement`** `'inside' | 'corner'` (default: `'inside'`) — Where the corner grips sit. `'inside'` tucks each one into the widget box; `'corner'` centres it on the widget's corner, so it lines up with a control centred on the opposite corner. Only affects corner handles — a dotted edge grip always stays inside. A corner-placed grip is drawn _outside_ the widget (a widget clips its own content, which would otherwise cut the grip in half),
|
|
149
|
+
- **`resizeGripPlacement`** `'inside' | 'corner'` (default: `'inside'`) — Where the corner grips sit. `'inside'` tucks each one into the widget box; `'corner'` centres it on the widget's corner, so it lines up with a control centred on the opposite corner. Only affects corner handles — a dotted edge grip always stays inside. A corner-placed grip is drawn _outside_ the widget (a widget clips its own content, which would otherwise cut the grip in half), and nothing clips it in turn, so it shows in full even on a widget flush against the board's edge. Its hit-zone is kept to what you can see: half a grip inward, matching the half of the dot painted there, plus as much outward as half the grid gutter allows — so it never covers a neighbour's content, and never covers its own widget's content beyond the dot. The trade is a small band just outside each corner where a press starts a resize rather than a marquee. Can be overridden per widget.
|
|
150
|
+
|
|
151
|
+
**In a nested board, two widgets can want the same corner.** An inner board with no `containerPadding` — which `isAligned` sets — puts its last child's corner exactly on its host widget's corner, so both have a resize hit-zone on the same point. The innermost one takes the press: the child stays resizable, and the container cannot be resized from that corner. Give a container widget an edge axis to fall back on (`resizeHandles={['se', 'e', 's']}`), or give the inner board some `containerPadding` so the corners stop coinciding. A container left with only corner axes warns in development the first time it yields.
|
|
152
|
+
|
|
150
153
|
- **`dragCancel`** `string` (default: `BOARD_SELECTION_CANCEL`) — CSS selector for elements that must not start a pointer drag. Defaults to the same set `selectionCancel` uses, because a control inside a widget has to keep its own press whether or not the board supports selection — a board hosting interactive content needs no configuration for buttons, inputs, links and the common ARIA widget roles to stay usable. Pass your own selector to narrow or widen it, or `''` to let a drag start from anywhere. Does not affect keyboard moves. Can be overridden per widget.
|
|
151
154
|
- **`dragHandle`** `string` — CSS selector for the only elements from which a pointer drag may start. Combines with `dragCancel` rather than replacing it: a drag needs a target inside `dragHandle` _and_ outside `dragCancel`. Can be overridden per widget.
|
|
152
155
|
- **`showGridLines`** `boolean | 'drag' | 'any-drag'` (default: `false`) — Show grid lines behind the widgets. `true` always; `false` never; `'drag'` only while _this_ board is part of the active gesture — it owns the drag (as its source, or as the board the widget is currently over) or one of its own widgets is being resized; `'any-drag'` while any drag is in flight anywhere under a shared `Board.Provider`, so every board advertises itself as somewhere the widget could land. Under one `Board.Provider`, `'drag'` keeps boards a widget cannot land in quiet, and `'any-drag'` is the opt-in for the noisier, more informative version. A nested board that does not set this inherits an enabled ancestor's setting in drag-scoped form: an ancestor's `true` arrives as `'drag'` (a nested board shows lines during a drag, not permanently), while `'any-drag'` is inherited verbatim. An explicit `false` opts out of the inheritance.
|
|
153
156
|
- **`isAligned`** `boolean` (default: `false`) — Align a nested board with its ancestor `Board`'s layout. Only takes effect when the board is nested inside another `Board`'s widget. When set, every cell matches the parent's cell size exactly, which means it takes over three of the board's own metrics: `rowHeight` and `margin` are ignored in favour of the parent's, and `cols` is ignored once the board has been measured (the column count is derived from the measured width at the parent's column pitch, so cells stay parent-sized as the container is resized) — `cols` only serves as the pre-measurement fallback. It never shrinks rows to fit, so pair it with an `isAutoHeight` container so the widget grows to fit its rows at that height.
|
|
157
|
+
|
|
158
|
+
Widgets already on the board keep their cells. Narrowing the container lowers the column count, but a widget whose columns now fall outside it is **not** re-flowed into the narrower grid — it holds its position and is clipped by the container's edge, and widening the container brings it back exactly as it was. This is deliberate: resizing a container is not a request to rearrange the widgets inside it, and a layout that reshuffled on the way down could not be restored on the way back up.
|
|
159
|
+
|
|
154
160
|
- **`selectionMode`** `'none' | 'single' | 'multiple'` (default: `'none'`) — Whether widgets can be selected, and how many at a time. `'multiple'` also enables the marquee and rigid group movement.
|
|
155
161
|
- **`selectedKeys`** `string[]` — Controlled selection. Keys are layout item ids (`LayoutItem.i`); keys with no matching layout item are silently ignored. Requires `selectionMode` other than `'none'`.
|
|
156
162
|
- **`defaultSelectedKeys`** `string[]` — Initial selection for uncontrolled usage. Ignored when `selectedKeys` is set. An uncontrolled board also prunes keys of removed widgets and reports that through `onSelectionChange`; a controlled board leaves that to you.
|
package/docs/tasty/README.md
CHANGED
|
@@ -16,14 +16,13 @@ Use this hub to move from the core idea to a working component, then into design
|
|
|
16
16
|
|
|
17
17
|
- **Application developer using an existing design system**: [Getting Started](getting-started.md), then [React API](react-api.md).
|
|
18
18
|
- **Design-system author**: [Methodology](methodology.md), [Building a Design System](design-system.md), [Configuration](configuration.md), and [Adoption Guide](adoption.md).
|
|
19
|
-
- **Platform or tooling engineer**: [Configuration](configuration.md), [Build-Time Extraction (`tastyStatic`)](tasty-static.md), [
|
|
19
|
+
- **Platform or tooling engineer**: [Configuration](configuration.md), [Build-Time Extraction (`tastyStatic`)](tasty-static.md), [Server-Side Rendering](ssr.md), and [Debug Utilities](debug.md).
|
|
20
20
|
|
|
21
21
|
## By Styling Approach
|
|
22
22
|
|
|
23
23
|
- **React components**: [React API](react-api.md)
|
|
24
24
|
- **Zero-client-runtime React with `tasty()`**: [Server-Side Rendering](ssr.md), especially the static Astro integration
|
|
25
25
|
- **Build-time extraction with `tastyStatic()`**: [Build-Time Extraction](tasty-static.md)
|
|
26
|
-
- **Shared UI-kit CSS with runtime fallback**: [Precompiled Component Catalogs](precompile.md)
|
|
27
26
|
- **Hydrated `tasty()` with server collection**: [Server-Side Rendering](ssr.md)
|
|
28
27
|
- **Upgrading from v2**: [Migration Guide (v2 → v3)](migration-v3.md)
|
|
29
28
|
|
|
@@ -38,4 +37,3 @@ Use this hub to move from the core idea to a working component, then into design
|
|
|
38
37
|
- **Understand how selector generation works internally**: [Style rendering pipeline](pipeline.md)
|
|
39
38
|
- **Understand runtime injection internals**: [Style Injector](injector.md)
|
|
40
39
|
- **Reproduce and interpret performance measurements**: [Runtime Benchmarks](runtime-benchmarks.md)
|
|
41
|
-
- **Precompile a UI-kit component catalog**: [Precompiled Component Catalogs](precompile.md)
|
package/docs/tasty/debug.md
CHANGED
|
@@ -144,14 +144,8 @@ One-shot overview of the entire Tasty CSS state. Logs a compact report.
|
|
|
144
144
|
```typescript
|
|
145
145
|
interface Summary {
|
|
146
146
|
activeClasses: string[];
|
|
147
|
-
runtimeActiveClasses: string[];
|
|
148
|
-
precompiledActiveClasses: string[];
|
|
149
|
-
precompiledInactiveClasses: string[];
|
|
150
|
-
precompiledUsedClasses: string[];
|
|
151
147
|
unusedClasses: string[];
|
|
152
148
|
totalStyledClasses: string[];
|
|
153
|
-
precompiledClasses: string[];
|
|
154
|
-
precompiledManifestCount: number;
|
|
155
149
|
|
|
156
150
|
activeCSSSize: number;
|
|
157
151
|
unusedCSSSize: number;
|
|
@@ -159,7 +153,6 @@ interface Summary {
|
|
|
159
153
|
rawCSSSize: number;
|
|
160
154
|
keyframesCSSSize: number;
|
|
161
155
|
propertyCSSSize: number;
|
|
162
|
-
precompiledCSSSize: number;
|
|
163
156
|
totalCSSSize: number;
|
|
164
157
|
|
|
165
158
|
activeRuleCount: number;
|
|
@@ -168,7 +161,6 @@ interface Summary {
|
|
|
168
161
|
rawRuleCount: number;
|
|
169
162
|
keyframesRuleCount: number;
|
|
170
163
|
propertyRuleCount: number;
|
|
171
|
-
precompiledRuleCount: number;
|
|
172
164
|
totalRuleCount: number;
|
|
173
165
|
|
|
174
166
|
metrics: CacheMetrics | null;
|
|
@@ -182,20 +174,17 @@ interface Summary {
|
|
|
182
174
|
// Logged automatically
|
|
183
175
|
tastyDebug.summary();
|
|
184
176
|
// Output:
|
|
185
|
-
// Active: 42 classes
|
|
186
|
-
// Unused: 3
|
|
177
|
+
// Active: 42 classes, 186 rules, 12.4KB
|
|
178
|
+
// Unused: 3 classes, 8 rules, 0.5KB
|
|
187
179
|
// Global: 12 rules, 1.1KB
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
// Lookups: 312 (280 precompiled across 31 classes, 14 runtime cache hits, 18 generated; 94.2% reused)
|
|
180
|
+
// Total: 45 classes, 206 rules, 14.0KB
|
|
181
|
+
// Cache: 94.2% hit rate (312 lookups)
|
|
191
182
|
|
|
192
183
|
// Silent
|
|
193
184
|
const s = tastyDebug.summary({ raw: true });
|
|
194
|
-
console.log(s.totalRuleCount); //
|
|
185
|
+
console.log(s.totalRuleCount); // 206
|
|
195
186
|
```
|
|
196
187
|
|
|
197
|
-
Registered precompiled stylesheets are immutable external assets, so `summary()` uses their manifest metadata for class, rule, and size totals without reading or parsing CSSOM. `precompiledActiveClasses` is the subset currently present in the DOM, `precompiledInactiveClasses` is the rest of the registered asset, and `precompiledUsedClasses` records distinct classes served since metrics were reset. The last measure distinguishes broad catalog coverage from repeated renders of a small class set. Precompiled hits are included in `metrics.hits`; `metrics.precompiledHits` reports render-frequency hits and `metrics.precompiledUniqueHits` reports distinct served classes. CSS text methods continue to return injector-owned CSS; a linked external stylesheet may not be readable from JavaScript at all.
|
|
198
|
-
|
|
199
188
|
---
|
|
200
189
|
|
|
201
190
|
### `chunks(opts?): ChunkBreakdown`
|
|
@@ -245,7 +234,7 @@ interface CacheStatus {
|
|
|
245
234
|
tastyDebug.cache();
|
|
246
235
|
// Output:
|
|
247
236
|
// Active: 42, Unused: 3
|
|
248
|
-
// Hits: 294
|
|
237
|
+
// Hits: 294, Misses: 18, Rate: 94.2%
|
|
249
238
|
```
|
|
250
239
|
|
|
251
240
|
---
|
|
@@ -7,7 +7,7 @@ different costs:
|
|
|
7
7
|
1. Style parsing and generation in Node.
|
|
8
8
|
2. The React overhead of an empty `tasty({})` wrapper.
|
|
9
9
|
3. Cold browser generation and injection compared with equivalent CSS that is
|
|
10
|
-
already on the page
|
|
10
|
+
already on the page.
|
|
11
11
|
|
|
12
12
|
These are focused microbenchmarks, not page-load or interaction scores. Run
|
|
13
13
|
them several times on an otherwise idle machine and use a production profile
|
|
@@ -122,13 +122,6 @@ rules. Both paths perform the same class assignment, DOM commit, and
|
|
|
122
122
|
computed-style reads. Only the runtime path calls `computeStyles()` and inserts
|
|
123
123
|
the new rules.
|
|
124
124
|
|
|
125
|
-
The 1,000-rule workload also includes a precompiled Tasty case. Its catalog is
|
|
126
|
-
generated and registered, and its CSS is parsed in an isolated document,
|
|
127
|
-
before the timer starts. The timed work is the chunk-key lookup, class
|
|
128
|
-
assignment, DOM commit, and the same computed-style reads. This keeps CSS
|
|
129
|
-
delivery and registration out of render latency while preserving the real
|
|
130
|
-
runtime lookup path.
|
|
131
|
-
|
|
132
125
|
Preparation and cleanup happen outside the sample timer. Every runtime style
|
|
133
126
|
value is unique within a cycle, the relevant caches are cleared between cycles,
|
|
134
127
|
and a guard verifies that both paths resolve to the same color. React and the
|
|
@@ -177,8 +170,6 @@ They describe different paths:
|
|
|
177
170
|
rule.
|
|
178
171
|
- A genuinely new style pays generation and injection once, then becomes
|
|
179
172
|
reusable.
|
|
180
|
-
- A registered precompiled chunk skips declaration rendering and rule
|
|
181
|
-
insertion, while uncovered chunks in the same component remain dynamic.
|
|
182
173
|
- Browser style resolution, layout, and paint depend on the actual document and
|
|
183
174
|
need application-level profiling.
|
|
184
175
|
|
package/docs/tasty/ssr.md
CHANGED
|
@@ -86,92 +86,6 @@ export default function RootLayout({
|
|
|
86
86
|
|
|
87
87
|
That's it. All `tasty()` components inside the tree automatically get SSR support. No per-component changes needed.
|
|
88
88
|
|
|
89
|
-
### Optional shared globals stylesheet
|
|
90
|
-
|
|
91
|
-
By default, configured global CSS is included in the streamed Tasty style tag
|
|
92
|
-
for every route. `withTastyNext()` can move that stable CSS into one
|
|
93
|
-
content-hashed stylesheet shared by all routes while leaving component and hook
|
|
94
|
-
styles in the normal streaming path.
|
|
95
|
-
|
|
96
|
-
Keep the Tasty config in a side-effect-free module:
|
|
97
|
-
|
|
98
|
-
```ts
|
|
99
|
-
// app/tasty.config.ts
|
|
100
|
-
import type { TastyConfig } from '@tenphi/tasty';
|
|
101
|
-
|
|
102
|
-
const config: TastyConfig = {
|
|
103
|
-
tokens: { $gap: '8px', '#brand': 'rebeccapurple' },
|
|
104
|
-
globalStyles: { body: { margin: '0', color: '#brand' } },
|
|
105
|
-
fontFaces: {
|
|
106
|
-
Brand: { src: 'url("/fonts/brand.woff2") format("woff2")' },
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export default config;
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Use it from the Next config:
|
|
114
|
-
|
|
115
|
-
```ts
|
|
116
|
-
// next.config.ts
|
|
117
|
-
import { withTastyNext } from '@tenphi/tasty/ssr/next-config';
|
|
118
|
-
import config from './app/tasty.config';
|
|
119
|
-
|
|
120
|
-
export default withTastyNext({
|
|
121
|
-
config,
|
|
122
|
-
})({
|
|
123
|
-
// your Next.js config
|
|
124
|
-
});
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
The runtime must receive the same config. Import and configure it before the
|
|
128
|
-
registry renders:
|
|
129
|
-
|
|
130
|
-
```tsx
|
|
131
|
-
// app/tasty-registry.tsx
|
|
132
|
-
'use client';
|
|
133
|
-
|
|
134
|
-
import { configure } from '@tenphi/tasty';
|
|
135
|
-
import { TastyRegistry } from '@tenphi/tasty/ssr/next';
|
|
136
|
-
import config from './tasty.config';
|
|
137
|
-
|
|
138
|
-
configure(config);
|
|
139
|
-
|
|
140
|
-
export default function TastyStyleRegistry({ children }) {
|
|
141
|
-
return <TastyRegistry>{children}</TastyRegistry>;
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
The generated file contains eager configuration artifacts: built-in and custom
|
|
146
|
-
`@property` rules, tokens and presets, `@font-face`, `@counter-style`, native
|
|
147
|
-
CSS `@function` definitions, and `globalStyles`. Route-dependent component
|
|
148
|
-
rules and calls to `useGlobalStyles`, `useRawCSS`, `useKeyframes`,
|
|
149
|
-
`useProperty`, `useFontFace`, `useCounterStyle`, and `useFunction` remain
|
|
150
|
-
route-specific. Configured keyframes also remain lazy and are streamed only
|
|
151
|
-
when a route references them.
|
|
152
|
-
|
|
153
|
-
The default output directory is `public/_tasty`. The wrapper adds the generated
|
|
154
|
-
URL to `TastyRegistry`, respects `basePath`, preserves existing `env` and
|
|
155
|
-
`headers` config, and serves the content-hashed file with an immutable one-year
|
|
156
|
-
cache header on Next server deployments. Static exports keep the content-hashed
|
|
157
|
-
URL and leave cache headers to the hosting provider. Older hashes are not
|
|
158
|
-
deleted automatically, so rolling deployments cannot break pages from the
|
|
159
|
-
previous build; clean the generated directory as part of a clean deployment if
|
|
160
|
-
needed. Page-relative CSS resources such as
|
|
161
|
-
`url(../fonts/brand.woff2)` are rejected because moving them would change their
|
|
162
|
-
meaning; use root-relative, absolute, or data URLs.
|
|
163
|
-
|
|
164
|
-
`withTastyNext()` options:
|
|
165
|
-
|
|
166
|
-
| Option | Type | Default | Description |
|
|
167
|
-
| ------------ | ------------- | ------------------------- | ---------------------------------------------------------------------- |
|
|
168
|
-
| `config` | `TastyConfig` | — | Config object; takes precedence over `configFile` |
|
|
169
|
-
| `configFile` | `string` | — | Project-relative config module path; requires the optional `jiti` peer |
|
|
170
|
-
| `rootDir` | `string` | current directory | Next app root when the build runs from a monorepo root |
|
|
171
|
-
| `outputDir` | `string` | `public/_tasty` | Filesystem output directory |
|
|
172
|
-
| `publicPath` | `string` | inferred from `outputDir` | Root-relative URL; required when output is outside `public` |
|
|
173
|
-
| `enabled` | `boolean` | `true` | Disable generation without changing wrapper composition |
|
|
174
|
-
|
|
175
89
|
### How it works
|
|
176
90
|
|
|
177
91
|
- `TastyRegistry` is a `'use client'` component, but Next.js still server-renders it on initial page load. The `'use client'` boundary is required solely to access `useServerInsertedHTML` — **not** because `tasty()` components need the client.
|
|
@@ -216,13 +130,13 @@ The nonce is automatically applied to all `<style>` and `<script>` tags injected
|
|
|
216
130
|
|
|
217
131
|
Tasty offers several levels of Astro integration. Choose the one that matches your needs:
|
|
218
132
|
|
|
219
|
-
| Setup
|
|
220
|
-
|
|
|
221
|
-
| Zero setup
|
|
222
|
-
| `tastyIntegration({ islands: false })`
|
|
223
|
-
| `tastyIntegration()`
|
|
224
|
-
| `tastyIntegration({ css: { mode: 'extract' } })`
|
|
225
|
-
| `tastyIntegration({ islands: false, css: { mode: 'extract' } })` | One line
|
|
133
|
+
| Setup | Config needed | Deduplication | Hooks work | Client JS |
|
|
134
|
+
| --------------------------------------------------------- | ------------- | ----------------------------- | ---------------------- | -------------- |
|
|
135
|
+
| Zero setup | None | Per render tree | Yes (within each tree) | None |
|
|
136
|
+
| `tastyIntegration({ islands: false })` | One line | Cross-tree | Yes | None |
|
|
137
|
+
| `tastyIntegration()` | One line | Cross-tree | Yes | Auto-hydration |
|
|
138
|
+
| `tastyIntegration({ css: { mode: 'extract' } })` | One line | Cross-tree and cross-page | Yes | Auto-hydration |
|
|
139
|
+
| `tastyIntegration({ islands: false, css: { mode: 'extract' } })` | One line | Cross-tree and cross-page | Yes | None |
|
|
226
140
|
|
|
227
141
|
### Zero setup (static pages)
|
|
228
142
|
|
|
@@ -321,8 +235,8 @@ This gives the same middleware deduplication and hook support, but ships zero cl
|
|
|
321
235
|
|
|
322
236
|
#### Build-wide CSS extraction
|
|
323
237
|
|
|
324
|
-
Static Astro builds can move Tasty CSS into content-hashed,
|
|
325
|
-
|
|
238
|
+
Static Astro builds can move repeated Tasty CSS into a content-hashed,
|
|
239
|
+
browser-cacheable asset:
|
|
326
240
|
|
|
327
241
|
```ts
|
|
328
242
|
export default defineConfig({
|
|
@@ -343,38 +257,14 @@ output. Extraction requires Astro 5 or newer and only applies to prerendered
|
|
|
343
257
|
production pages. Development, preview-time SSR, and on-demand routes continue
|
|
344
258
|
to receive the normal inline `<style data-tasty-ssr>` output.
|
|
345
259
|
|
|
346
|
-
Extraction
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
It does not preserve an inline artifact order where a page-only rule originally
|
|
355
|
-
appeared before a shared rule. Use shared styles for defaults and page-only
|
|
356
|
-
styles for overrides.
|
|
357
|
-
|
|
358
|
-
Extracted CSS preserves resource URLs verbatim. Relative URLs in an inline
|
|
359
|
-
style resolve from the page, but in an extracted stylesheet they resolve from
|
|
360
|
-
the asset directory. Use absolute URLs or data URLs when extraction is enabled.
|
|
361
|
-
Root-relative URLs such as `url(/fonts/brand.woff2)` are also safe while the
|
|
362
|
-
stylesheet stays on the page's origin. The build fails with a clear error if an
|
|
363
|
-
artifact contains a page-relative or fragment-only URL, including URL strings
|
|
364
|
-
in `image-set()`, `image()`, `src()`, and `@import`.
|
|
365
|
-
|
|
366
|
-
Assets are written under Astro's configured `build.assets` directory (for
|
|
367
|
-
example, `/_astro/tasty.shared.a1b2c3.css` and
|
|
368
|
-
`/_astro/tasty.page.d4e5f6.css`). Links include the configured Astro `base`, so
|
|
369
|
-
nested routes do not need relative-path handling. Content hashes and output are
|
|
370
|
-
deterministic for identical builds. If `build.assetsPrefix` is configured,
|
|
371
|
-
Tasty uses its CSS-specific prefix (or `fallback`) just like Astro-generated
|
|
372
|
-
stylesheets. When that prefix points to a different origin, root-relative
|
|
373
|
-
resources would resolve against the asset origin rather than the page's origin,
|
|
374
|
-
so the build rejects them as well. Tasty compares the prefix with Astro's `site`
|
|
375
|
-
when it is configured; without `site`, an absolute or protocol-relative prefix
|
|
376
|
-
is treated conservatively as cross-origin. Use a fully absolute resource URL in
|
|
377
|
-
that configuration.
|
|
260
|
+
Extraction moves the largest common block whose position can be preserved on
|
|
261
|
+
every generated page into one stylesheet. Page-only component, global, and raw
|
|
262
|
+
CSS stays inline, so unvisited routes do not receive unrelated styles.
|
|
263
|
+
|
|
264
|
+
The asset is written under Astro's configured `build.assets` directory (for
|
|
265
|
+
example, `/_astro/tasty.a1b2c3.css`). Links include the configured Astro
|
|
266
|
+
`base`, so nested routes do not need relative-path handling. The content hash
|
|
267
|
+
and output are deterministic for identical builds.
|
|
378
268
|
|
|
379
269
|
### Manual middleware (advanced)
|
|
380
270
|
|
|
@@ -410,13 +300,12 @@ Astro's `@astrojs/react` renderer calls `renderToString()` for each React compon
|
|
|
410
300
|
- The middleware reads the full response body, then injects the collected CSS into `</head>` before sending the final HTML.
|
|
411
301
|
- In extraction mode, prerendered responses also carry temporary structured
|
|
412
302
|
artifact metadata. `astro:build:done` uses those collector-provided
|
|
413
|
-
boundaries to write shared
|
|
414
|
-
|
|
415
|
-
reparsing the generated CSS.
|
|
303
|
+
boundaries to write the shared asset and rewrite generated HTML, then removes
|
|
304
|
+
the metadata. CSS is never split on newlines or parsed heuristically.
|
|
416
305
|
|
|
417
306
|
### CSP nonce
|
|
418
307
|
|
|
419
|
-
Call `configure({ nonce: '...' })` before any rendering happens. The middleware reads the nonce and applies it to injected `<style>` and `<script>` tags. In extraction mode, the external stylesheet
|
|
308
|
+
Call `configure({ nonce: '...' })` before any rendering happens. The middleware reads the nonce and applies it to injected `<style>` and `<script>` tags. In extraction mode, page-local inline style tags and the external stylesheet link retain the nonce.
|
|
420
309
|
|
|
421
310
|
---
|
|
422
311
|
|
|
@@ -499,13 +388,12 @@ const stream = await runWithCollector(collector, () =>
|
|
|
499
388
|
|
|
500
389
|
### Entry points
|
|
501
390
|
|
|
502
|
-
| Import path
|
|
503
|
-
|
|
|
504
|
-
| `@tenphi/tasty/ssr`
|
|
505
|
-
| `@tenphi/tasty/ssr/next`
|
|
506
|
-
| `@tenphi/tasty/ssr/
|
|
507
|
-
| `@tenphi/tasty/ssr/astro`
|
|
508
|
-
| `@tenphi/tasty/ssr/astro-client` | Astro: client-side cache hydration (auto-injected by integration, or import manually) |
|
|
391
|
+
| Import path | Description |
|
|
392
|
+
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
393
|
+
| `@tenphi/tasty/ssr` | Core SSR API: `ServerStyleCollector`, `createServerStyleCollector`, `runWithCollector`, `hydrateTastyClasses` |
|
|
394
|
+
| `@tenphi/tasty/ssr/next` | Next.js App Router: `TastyRegistry` component |
|
|
395
|
+
| `@tenphi/tasty/ssr/astro` | Astro: `tastyIntegration`, `tastyMiddleware` |
|
|
396
|
+
| `@tenphi/tasty/ssr/astro-client` | Astro: client-side cache hydration (auto-injected by integration, or import manually) |
|
|
509
397
|
| `@tenphi/tasty/ssr/astro-middleware`<br>`@tenphi/tasty/ssr/astro-middleware-static`<br>`@tenphi/tasty/ssr/astro-middleware-extract`<br>`@tenphi/tasty/ssr/astro-middleware-extract-static` | Astro: the middleware entrypoints `tastyIntegration()` registers via `addMiddleware()`. Exported so Astro can resolve them by specifier; you should not import them. For manual setups use `tastyMiddleware()`. |
|
|
510
398
|
|
|
511
399
|
### `ServerStyleCollector`
|
|
@@ -526,7 +414,7 @@ Constructor: `new ServerStyleCollector(namePrefix?)`, or use the `createServerSt
|
|
|
526
414
|
| `allocateCounterStyleName(providedName?)` | Allocate a counter-style name. Returns `providedName` if given, otherwise generates one using `${namePrefix}c${counter}` (e.g. `tc0`, `tc1`, ...). |
|
|
527
415
|
| `collectGlobalStyles(key, css)` | Record global styles (from `useGlobalStyles`). Deduplicated by key. |
|
|
528
416
|
| `collectRawCSS(key, css)` | Record raw CSS text (from `useRawCSS`). Deduplicated by key. |
|
|
529
|
-
| `collectInternals()` | Collect
|
|
417
|
+
| `collectInternals()` | Collect internal `@property` rules, `:root` token defaults, `@font-face`, and `@counter-style` rules from the global config. Called automatically on first chunk collection; idempotent. |
|
|
530
418
|
| `getCSS()` | Get all collected CSS as a single string. For non-streaming SSR. |
|
|
531
419
|
| `flushCSS()` | Get only CSS collected since the last flush. For streaming SSR. |
|
|
532
420
|
| `getRenderedClassNames()` | Get the list of class names rendered so far. Serialized to `window.__TASTY__` for client hydration via `hydrateTastyClasses()`. |
|
|
@@ -535,18 +423,10 @@ Constructor: `new ServerStyleCollector(namePrefix?)`, or use the `createServerSt
|
|
|
535
423
|
|
|
536
424
|
Next.js App Router component. Props:
|
|
537
425
|
|
|
538
|
-
| Prop
|
|
539
|
-
|
|
|
540
|
-
| `children`
|
|
541
|
-
| `transferCache`
|
|
542
|
-
| `sharedStylesheet` | `string \| false` | generated | Override the shared URL, or disable generated shared CSS for the registry |
|
|
543
|
-
|
|
544
|
-
### `withTastyNext(options)`
|
|
545
|
-
|
|
546
|
-
Next.js configuration wrapper exported from
|
|
547
|
-
`@tenphi/tasty/ssr/next-config`. It generates a shared stylesheet from eager
|
|
548
|
-
Tasty configuration artifacts and wires its URL and immutable cache header
|
|
549
|
-
into the Next config. Route-specific CSS continues through `TastyRegistry`.
|
|
426
|
+
| Prop | Type | Default | Description |
|
|
427
|
+
| --------------- | ----------- | -------- | ------------------------------------------------ |
|
|
428
|
+
| `children` | `ReactNode` | required | Application tree |
|
|
429
|
+
| `transferCache` | `boolean` | `true` | Embed cache state script for zero-cost hydration |
|
|
550
430
|
|
|
551
431
|
### `tastyIntegration(options?)`
|
|
552
432
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cube-dev/ui-kit",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-bacd3ad",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "UIKit for Cube Projects",
|
|
6
6
|
"repository": {
|
|
@@ -9,11 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"module": "./dist/index.js",
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
|
-
"sideEffects":
|
|
13
|
-
"./dist/precompiled/index.js",
|
|
14
|
-
"./dist/precompiled/register.js",
|
|
15
|
-
"./dist/precompiled/styles.css"
|
|
16
|
-
],
|
|
12
|
+
"sideEffects": false,
|
|
17
13
|
"packageManager": "pnpm@10.34.5",
|
|
18
14
|
"exports": {
|
|
19
15
|
".": {
|
|
@@ -27,32 +23,10 @@
|
|
|
27
23
|
"./probe": {
|
|
28
24
|
"import": "./dist/probe/index.js",
|
|
29
25
|
"types": "./dist/probe/index.d.ts"
|
|
30
|
-
},
|
|
31
|
-
"./precompile": {
|
|
32
|
-
"import": "./dist/precompile/index.js",
|
|
33
|
-
"types": "./dist/precompile/index.d.ts"
|
|
34
|
-
},
|
|
35
|
-
"./precompiled-styles": {
|
|
36
|
-
"import": "./dist/precompiled/index.js",
|
|
37
|
-
"types": "./dist/precompiled/index.d.ts"
|
|
38
|
-
},
|
|
39
|
-
"./precompiled-styles/register": {
|
|
40
|
-
"import": "./dist/precompiled/register.js",
|
|
41
|
-
"types": "./dist/precompiled/register.d.ts"
|
|
42
|
-
},
|
|
43
|
-
"./precompiled-styles.css": {
|
|
44
|
-
"types": "./dist/precompiled/styles.d.ts",
|
|
45
|
-
"default": "./dist/precompiled/styles.css"
|
|
46
|
-
},
|
|
47
|
-
"./precompiled-styles/manifest": {
|
|
48
|
-
"import": "./dist/precompiled/manifest.js",
|
|
49
|
-
"types": "./dist/precompiled/manifest.d.ts"
|
|
50
26
|
}
|
|
51
27
|
},
|
|
52
28
|
"files": [
|
|
53
29
|
"dist/**/*.js",
|
|
54
|
-
"dist/**/*.css",
|
|
55
|
-
"dist/**/*.json",
|
|
56
30
|
"dist/**/*.d.ts",
|
|
57
31
|
"dist/**/*.map",
|
|
58
32
|
"dist/README.md",
|
|
@@ -61,20 +35,16 @@
|
|
|
61
35
|
"docs/tasty",
|
|
62
36
|
"docs/glaze",
|
|
63
37
|
"docs/*.md",
|
|
64
|
-
"tasty.config.ts"
|
|
65
|
-
"scripts/precompile-tasty-catalog.mjs"
|
|
38
|
+
"tasty.config.ts"
|
|
66
39
|
],
|
|
67
40
|
"scripts": {
|
|
68
41
|
"start": "pnpm storybook",
|
|
69
|
-
"build": "tsdown
|
|
42
|
+
"build": "tsdown",
|
|
70
43
|
"watch": "tsdown --watch",
|
|
71
44
|
"test": "vitest run",
|
|
72
45
|
"test:browser": "vitest run --config vitest.browser.config.ts",
|
|
73
|
-
"test:precompiled": "pnpm build && vitest run --config vitest.precompiled.config.ts",
|
|
74
46
|
"probe": "node scripts/probe.mjs",
|
|
75
47
|
"probe:browser": "PROBE_TIER=browser node scripts/probe.mjs",
|
|
76
|
-
"precompile:tasty": "node scripts/precompile-tasty.mjs",
|
|
77
|
-
"bench:precompiled": "pnpm build && vitest bench --config vitest.browser.config.ts scripts/precompile-startup.bench.js",
|
|
78
48
|
"test-cover": "vitest run --coverage",
|
|
79
49
|
"test-watch": "vitest",
|
|
80
50
|
"prettier": "prettier --check \"src/**/*.{js,jsx,ts,tsx}\" \"**/*.{md,mdx}\"",
|
|
@@ -126,7 +96,7 @@
|
|
|
126
96
|
"@tabler/icons-react": "^3.31.0",
|
|
127
97
|
"@tanstack/react-virtual": "^3.13.12",
|
|
128
98
|
"@tenphi/glaze": "2.0.0",
|
|
129
|
-
"@tenphi/tasty": "
|
|
99
|
+
"@tenphi/tasty": "^3.5.0",
|
|
130
100
|
"clipboard-copy": "^4.0.1",
|
|
131
101
|
"clsx": "^1.1.1",
|
|
132
102
|
"diff": "^8.0.3",
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeRootProps } from "../components/Root.js";
|
|
3
|
-
import { TastyPrecompileCase, TastyPrecompileResult } from "@tenphi/tasty/precompile";
|
|
4
|
-
|
|
5
|
-
//#region src/precompile/index.d.ts
|
|
6
|
-
type PrecompileCase = TastyPrecompileCase;
|
|
7
|
-
interface PrecompileStylesOptions {
|
|
8
|
-
id: string;
|
|
9
|
-
cases: readonly PrecompileCase[];
|
|
10
|
-
/**
|
|
11
|
-
* Props for the UI Kit Root wrapped around every case. Pass false when each
|
|
12
|
-
* case already returns the application's complete Root tree.
|
|
13
|
-
*/
|
|
14
|
-
root?: false | Omit<CubeRootProps, 'children'>;
|
|
15
|
-
/**
|
|
16
|
-
* Re-render UI Kit's own component catalog under this application's Tasty
|
|
17
|
-
* configuration and fold it into the artifact. Defaults to `true`.
|
|
18
|
-
*
|
|
19
|
-
* A chunk's lookup key hashes the style source, not the CSS it produced, so a
|
|
20
|
-
* kit chunk compiled under UI Kit's configuration keeps the same key under an
|
|
21
|
-
* application that redefines a unit, recipe or handler the chunk relies on —
|
|
22
|
-
* while the CSS behind that key no longer matches. Recompiling here removes
|
|
23
|
-
* the divergence instead of leaving Tasty to detect it and fall back.
|
|
24
|
-
*
|
|
25
|
-
* Set to `false` only when this application makes no compilation-affecting
|
|
26
|
-
* configuration change, and pair it with the shipped artifact:
|
|
27
|
-
*
|
|
28
|
-
* ```ts
|
|
29
|
-
* import '@cube-dev/ui-kit/precompiled-styles';
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* The two register side by side — catalogs stack, and identical chunks
|
|
33
|
-
* compile to identical class names, so the overlap is free. Skipping the
|
|
34
|
-
* recompilation is a build-time saving, not a way to drop kit coverage.
|
|
35
|
-
*/
|
|
36
|
-
recompileKitCatalog?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Compile application-owned catalog cases under UI Kit's exact Tasty
|
|
40
|
-
* configuration and normal Root providers.
|
|
41
|
-
*/
|
|
42
|
-
declare function precompileStyles(options: PrecompileStylesOptions): Promise<TastyPrecompileResult>;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { PrecompileCase, PrecompileStylesOptions, precompileStyles };
|
|
45
|
-
//# sourceMappingURL=index.d.ts.map
|