@cube-dev/ui-kit 0.124.0 → 0.124.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +14 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -16
- package/dist/components/actions/Menu/styled.js.map +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 +8 -5
- package/dist/components/content/CopySnippet/CopySnippet.js.map +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/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.d.ts +42 -42
- 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/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/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/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/intl.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.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/ListBox.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/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -830
- 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 +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +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/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.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/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/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/EditableTitle.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/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 +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/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransition.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/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/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/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +3 -2
- package/dist/icons/Icon.js.map +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.js +1 -1
- package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/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/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/components/actions/Menu.md +0 -2
- package/docs/tasty/README.md +5 -4
- package/docs/tasty/adoption.md +6 -4
- package/docs/tasty/comparison.md +9 -7
- package/docs/tasty/design-system.md +9 -3
- package/docs/tasty/dsl.md +42 -0
- package/docs/tasty/getting-started.md +11 -9
- package/docs/tasty/methodology.md +71 -5
- package/docs/tasty/runtime.md +81 -25
- package/docs/tasty/ssr.md +2 -2
- package/docs/tasty/styles.md +19 -17
- package/package.json +2 -2
package/docs/tasty/dsl.md
CHANGED
|
@@ -36,6 +36,46 @@ styles: { Title: { preset: 'h3' } }
|
|
|
36
36
|
// Targets: <div data-element="Title">
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
#### Selector Affix (`$`)
|
|
40
|
+
|
|
41
|
+
Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles:
|
|
42
|
+
|
|
43
|
+
| Pattern | Result | Description |
|
|
44
|
+
|---------|--------|-------------|
|
|
45
|
+
| *(none)* | ` [el]` | Descendant (default) |
|
|
46
|
+
| `>` | `> [el]` | Direct child |
|
|
47
|
+
| `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
|
|
48
|
+
| `h1` | ` h1` | Tag selector (no key injection) |
|
|
49
|
+
| `h1 >` | ` h1 > [el]` | Key is direct child of tag |
|
|
50
|
+
| `h1 *` | ` h1 *` | Any descendant of tag |
|
|
51
|
+
| `*` | ` *` | All descendants |
|
|
52
|
+
| `::before` | `::before` | Root pseudo (no key) |
|
|
53
|
+
| `@::before` | `[el]::before` | Pseudo on the sub-element |
|
|
54
|
+
| `>@:hover` | `> [el]:hover` | Pseudo-class on the sub-element |
|
|
55
|
+
| `>@.active` | `> [el].active` | Class on the sub-element |
|
|
56
|
+
|
|
57
|
+
Rules for key injection (`[data-element="..."]`):
|
|
58
|
+
|
|
59
|
+
- **Trailing combinator** (`>`, `+`, `~`) — key is injected after it
|
|
60
|
+
- **Uppercase element name** (`Body`, `Row`) — key is injected as descendant
|
|
61
|
+
- **HTML tag** (`h1`, `a`, `span`) — no key injection; the tag IS the selector
|
|
62
|
+
- **Universal selector** (`*`) — no key injection
|
|
63
|
+
- **Pseudo / class / attribute** — no key injection
|
|
64
|
+
|
|
65
|
+
The `@` placeholder marks exactly where `[data-element="..."]` is injected, allowing you to attach pseudo-classes, pseudo-elements, or class selectors directly to the sub-element instead of the root:
|
|
66
|
+
|
|
67
|
+
```jsx
|
|
68
|
+
const List = tasty({
|
|
69
|
+
styles: {
|
|
70
|
+
Item: {
|
|
71
|
+
$: '>@:last-child',
|
|
72
|
+
border: 'none',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
// → .t0 > [data-element="Item"]:last-child { border: none }
|
|
77
|
+
```
|
|
78
|
+
|
|
39
79
|
### Color Token
|
|
40
80
|
|
|
41
81
|
Named color prefixed with `#` that maps to CSS custom properties. Supports opacity with `.N` suffix:
|
|
@@ -53,6 +93,8 @@ mods={{ hovered: true, theme: 'danger' }}
|
|
|
53
93
|
// → data-hovered="" data-theme="danger"
|
|
54
94
|
```
|
|
55
95
|
|
|
96
|
+
Modifiers can also be exposed as top-level component props via `modProps` — see [Runtime — Mod Props](runtime.md#mod-props).
|
|
97
|
+
|
|
56
98
|
---
|
|
57
99
|
|
|
58
100
|
## Color Tokens & Opacity
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Getting Started
|
|
2
2
|
|
|
3
|
-
This guide walks you from zero to a working Tasty component, then through the optional shared configuration and tooling layers. For a feature overview, see the [README](../README.md). For the full style language reference, see the [Style DSL](dsl.md). For the React API, see the [Runtime API](runtime.md). For the rest of the docs by role or task, see the [Docs Hub](README.md).
|
|
3
|
+
This guide walks you from zero to a working Tasty component, then through the optional shared configuration and tooling layers. It is the right starting point when you already want to try Tasty in code. If you are still deciding whether Tasty fits your team, start with [Comparison](comparison.md) and [Adoption Guide](adoption.md) first. For a feature overview, see the [README](../README.md). For the full style language reference, see the [Style DSL](dsl.md). For the React API, see the [Runtime API](runtime.md). For the rest of the docs by role or task, see the [Docs Hub](README.md).
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,6 +10,8 @@ This guide walks you from zero to a working Tasty component, then through the op
|
|
|
10
10
|
- **React** >= 18 (peer dependency)
|
|
11
11
|
- **Package manager**: pnpm, npm, or yarn
|
|
12
12
|
|
|
13
|
+
Tasty can be used immediately in a React app, but it is most compelling for teams building reusable components with intersecting states, variants, tokens, and design-system conventions.
|
|
14
|
+
|
|
13
15
|
---
|
|
14
16
|
|
|
15
17
|
## Install
|
|
@@ -177,25 +179,25 @@ export default [
|
|
|
177
179
|
|
|
178
180
|
## Choosing a rendering mode
|
|
179
181
|
|
|
180
|
-
Tasty
|
|
182
|
+
Tasty has two styling approaches. Pick the one that fits your use case, then decide whether your runtime setup also needs server rendering support:
|
|
181
183
|
|
|
182
|
-
|
|
|
184
|
+
| Approach | Entry point | Best for | Trade-off |
|
|
183
185
|
|------|-------------|----------|-----------|
|
|
184
|
-
| **Runtime** | `tasty()` from `@tenphi/tasty` | Interactive apps, design systems | CSS generated at runtime; full feature set (styleProps, sub-elements, variants) |
|
|
186
|
+
| **Runtime** | `tasty()` from `@tenphi/tasty` | Interactive apps with reusable stateful components, design systems | CSS generated at runtime; full feature set (styleProps, sub-elements, variants) |
|
|
185
187
|
| **Zero-runtime** | `tastyStatic()` from `@tenphi/tasty/static` | Static sites, landing pages, SSG | Zero JS overhead; requires Babel plugin; no dynamic props |
|
|
186
|
-
| **SSR** | `@tenphi/tasty/ssr/next` or `@tenphi/tasty/ssr/astro` | Next.js, Astro, streaming SSR | Runtime `tasty()` with server-rendered CSS and zero-cost hydration |
|
|
187
188
|
|
|
188
|
-
|
|
189
|
+
Both share the same DSL, tokens, units, and state mappings.
|
|
189
190
|
|
|
190
191
|
- Runtime is the default and requires no extra setup beyond `@tenphi/tasty`.
|
|
192
|
+
- If your framework can execute runtime code during server rendering, add SSR support on top of runtime with `@tenphi/tasty/ssr/next`, `@tenphi/tasty/ssr/astro`, or the core SSR API. This still uses `tasty()`; it just collects CSS on the server and hydrates the cache on the client.
|
|
191
193
|
- Zero-runtime requires the Babel plugin and additional peer dependencies. See [Zero Runtime (tastyStatic)](tasty-static.md).
|
|
192
|
-
- SSR works with existing `tasty()` components — wrap your app with a registry or
|
|
194
|
+
- SSR works with existing `tasty()` components — wrap your app with a registry, middleware, or collector. See [Server-Side Rendering](ssr.md).
|
|
193
195
|
|
|
194
196
|
---
|
|
195
197
|
|
|
196
198
|
## Next steps
|
|
197
199
|
|
|
198
|
-
- **[Docs Hub](README.md)** — Pick the next guide by role,
|
|
200
|
+
- **[Docs Hub](README.md)** — Pick the next guide by role, styling approach, or task
|
|
199
201
|
- **[Methodology](methodology.md)** — The recommended patterns for structuring Tasty components: sub-elements, styleProps, tokens, extension
|
|
200
202
|
- **[Style DSL](dsl.md)** — State maps, tokens, units, extending semantics, keyframes, @property
|
|
201
203
|
- **[Runtime API](runtime.md)** — `tasty()` factory, component props, variants, sub-elements, hooks
|
|
@@ -212,4 +214,4 @@ All three share the same DSL, tokens, units, and state mappings.
|
|
|
212
214
|
|
|
213
215
|
- Styles are missing on first render: make sure the file that calls `configure()` is imported before any `tasty()` component renders.
|
|
214
216
|
- Token or unit values are not what you expect: check your `configure({ tokens, units })` setup, then inspect the generated CSS variables with [Debug Utilities](debug.md).
|
|
215
|
-
- You need
|
|
217
|
+
- You need build-time extraction or server-rendered CSS delivery: use [Zero Runtime (tastyStatic)](tasty-static.md) for extraction, or add [Server-Side Rendering](ssr.md) on top of runtime `tasty()` when your framework renders on the server.
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Methodology
|
|
2
2
|
|
|
3
|
-
Tasty has opinions about how components should be structured. The patterns described here are not mandatory — Tasty works without them — but following them gets the most out of the engine:
|
|
3
|
+
Tasty has opinions about how components should be structured. The patterns described here are not mandatory — Tasty works without them — but following them gets the most out of the engine: deterministic state resolution, cleaner component APIs, simpler overrides, and fewer surprises as the system grows.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
## Component architecture: root + sub-elements
|
|
8
8
|
|
|
9
|
+
This model matters most for design-system authors and platform teams building reusable, stateful components. It turns Tasty's selector guarantees into a component architecture that stays predictable as states, variants, and compound parts accumulate.
|
|
10
|
+
|
|
9
11
|
### The model
|
|
10
12
|
|
|
11
13
|
Every Tasty component has a **root element** and zero or more **sub-elements**. The root owns the state context. Sub-elements participate in the same context by default.
|
|
@@ -161,6 +163,61 @@ Exposing every CSS property as a prop defeats the purpose of a design system. Th
|
|
|
161
163
|
|
|
162
164
|
---
|
|
163
165
|
|
|
166
|
+
## modProps and mods
|
|
167
|
+
|
|
168
|
+
`modProps` expose modifier keys as top-level component props — the modifier equivalent of `styleProps`. Use them when a component has a fixed set of known state modifiers.
|
|
169
|
+
|
|
170
|
+
```tsx
|
|
171
|
+
const Card = tasty({
|
|
172
|
+
modProps: {
|
|
173
|
+
isLoading: Boolean,
|
|
174
|
+
isSelected: Boolean,
|
|
175
|
+
},
|
|
176
|
+
styles: {
|
|
177
|
+
fill: { '': '#surface', isLoading: '#surface.5' },
|
|
178
|
+
border: { '': '1bw solid #outline', isSelected: '2bw solid #primary' },
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// Clean prop API — no mods object needed
|
|
183
|
+
<Card isLoading isSelected>Content</Card>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### When to use which
|
|
187
|
+
|
|
188
|
+
| Pattern | Use when |
|
|
189
|
+
|---|---|
|
|
190
|
+
| `modProps` | The component has a fixed set of known boolean/string states that drive styles. Provides TypeScript autocomplete and a cleaner JSX API. |
|
|
191
|
+
| `mods` prop | The component needs arbitrary or dynamic modifiers that aren't known at definition time. |
|
|
192
|
+
| Both | Combine `modProps` for the known states and `mods` for ad-hoc overrides. Mod props take precedence. |
|
|
193
|
+
| `styleProps` | Exposing CSS properties (layout, sizing) for customization — different from modifiers. |
|
|
194
|
+
|
|
195
|
+
### Typed modProps vs array form
|
|
196
|
+
|
|
197
|
+
The object form gives precise TypeScript types using JS constructors (`Boolean`, `String`, `Number`) or enum arrays:
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
const Button = tasty({
|
|
201
|
+
modProps: {
|
|
202
|
+
isLoading: Boolean,
|
|
203
|
+
size: ['small', 'medium', 'large'] as const,
|
|
204
|
+
},
|
|
205
|
+
// ...
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// TypeScript knows: isLoading?: boolean, size?: 'small' | 'medium' | 'large'
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The array form is simpler but types all values as `ModValue`:
|
|
212
|
+
|
|
213
|
+
```tsx
|
|
214
|
+
modProps: ['isLoading', 'isSelected'] as const,
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
For the full API reference, see [Runtime — Mod Props](runtime.md#mod-props).
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
164
221
|
## tokens prop for dynamic values
|
|
165
222
|
|
|
166
223
|
Every Tasty component accepts a `tokens` prop that renders as inline CSS custom properties on the element. This is the mechanism for per-instance dynamic values.
|
|
@@ -400,8 +457,9 @@ See [Configuration](configuration.md) for the full `configure()` API.
|
|
|
400
457
|
- **Use semantic transition names** (`transition: 'theme 0.3s'`) instead of listing CSS properties
|
|
401
458
|
- **Use `elements` prop** to declare typed sub-components for compound components
|
|
402
459
|
- **Use `styleProps`** to define what product engineers can customize
|
|
460
|
+
- **Use `modProps`** to expose known modifier states as clean component props
|
|
403
461
|
- **Use `tokens` prop** for per-instance dynamic values (progress, user color)
|
|
404
|
-
- **Use modifiers** (`mods`) for state-driven style changes instead of runtime `styles` prop changes
|
|
462
|
+
- **Use modifiers** (`mods` or `modProps`) for state-driven style changes instead of runtime `styles` prop changes
|
|
405
463
|
|
|
406
464
|
### Avoid
|
|
407
465
|
|
|
@@ -439,11 +497,19 @@ Tasty's enhanced properties provide concise syntax, better composability, and si
|
|
|
439
497
|
// Bad: styles object changes every render
|
|
440
498
|
<Card styles={{ padding: isCompact ? '2x' : '4x' }} />
|
|
441
499
|
|
|
442
|
-
// Good: use modifiers
|
|
443
|
-
<Card
|
|
500
|
+
// Good: use modifiers via modProps
|
|
501
|
+
<Card isCompact={isCompact} />
|
|
502
|
+
|
|
503
|
+
// Or via mods object
|
|
504
|
+
<Card mods={{ isCompact }} />
|
|
444
505
|
|
|
445
506
|
// In the component definition:
|
|
446
|
-
|
|
507
|
+
const Card = tasty({
|
|
508
|
+
modProps: ['isCompact'] as const,
|
|
509
|
+
styles: {
|
|
510
|
+
padding: { '': '4x', isCompact: '2x' },
|
|
511
|
+
},
|
|
512
|
+
});
|
|
447
513
|
```
|
|
448
514
|
|
|
449
515
|
Modifiers are compiled into exclusive selectors once. Changing `styles` at runtime forces Tasty to regenerate and re-inject CSS.
|
package/docs/tasty/runtime.md
CHANGED
|
@@ -74,6 +74,86 @@ For predefined style prop lists (`FLOW_STYLES`, `POSITION_STYLES`, `DIMENSION_ST
|
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
77
|
+
## Mod Props
|
|
78
|
+
|
|
79
|
+
Use `modProps` to expose modifier keys as direct component props instead of requiring the `mods` object:
|
|
80
|
+
|
|
81
|
+
```jsx
|
|
82
|
+
// Before: mods object
|
|
83
|
+
<Button mods={{ isLoading: true, size: 'large' }}>Submit</Button>
|
|
84
|
+
|
|
85
|
+
// After: mod props
|
|
86
|
+
<Button isLoading size="large">Submit</Button>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Array form
|
|
90
|
+
|
|
91
|
+
List modifier key names. Types default to `ModValue` (`boolean | string | number | undefined | null`):
|
|
92
|
+
|
|
93
|
+
```jsx
|
|
94
|
+
const Button = tasty({
|
|
95
|
+
modProps: ['isLoading', 'isSelected'] as const,
|
|
96
|
+
styles: {
|
|
97
|
+
fill: { '': '#surface', isLoading: '#surface.5' },
|
|
98
|
+
border: { '': '1bw solid #outline', isSelected: '2bw solid #primary' },
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
<Button isLoading isSelected>Submit</Button>
|
|
103
|
+
// Renders: <button data-is-loading="" data-is-selected="">Submit</button>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Object form (typed)
|
|
107
|
+
|
|
108
|
+
Map modifier names to type descriptors for precise TypeScript types:
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
const Button = tasty({
|
|
112
|
+
modProps: {
|
|
113
|
+
isLoading: Boolean, // isLoading?: boolean
|
|
114
|
+
isSelected: Boolean, // isSelected?: boolean
|
|
115
|
+
size: ['small', 'medium', 'large'] as const, // size?: 'small' | 'medium' | 'large'
|
|
116
|
+
},
|
|
117
|
+
styles: {
|
|
118
|
+
padding: { '': '2x 4x', 'size=small': '1x 2x', 'size=large': '3x 6x' },
|
|
119
|
+
fill: { '': '#surface', isLoading: '#surface.5' },
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
<Button isLoading size="large">Submit</Button>
|
|
124
|
+
// Renders: <button data-is-loading="" data-size="large">Submit</button>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Available type descriptors:
|
|
128
|
+
|
|
129
|
+
| Descriptor | TypeScript type | Example |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| `Boolean` | `boolean` | `isLoading: Boolean` |
|
|
132
|
+
| `String` | `string` | `label: String` |
|
|
133
|
+
| `Number` | `number` | `count: Number` |
|
|
134
|
+
| `['a', 'b'] as const` | `'a' \| 'b'` | `size: ['sm', 'md', 'lg'] as const` |
|
|
135
|
+
|
|
136
|
+
### Merge with `mods`
|
|
137
|
+
|
|
138
|
+
Mod props and the `mods` object can be used together. Mod props take precedence:
|
|
139
|
+
|
|
140
|
+
```jsx
|
|
141
|
+
<Button mods={{ isLoading: false, extra: true }} isLoading>
|
|
142
|
+
// isLoading=true wins (from mod prop), extra=true preserved from mods
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### When to use `modProps` vs `mods`
|
|
146
|
+
|
|
147
|
+
| Use case | Recommendation |
|
|
148
|
+
|---|---|
|
|
149
|
+
| Component has a fixed set of known modifiers | `modProps` — cleaner API, better TypeScript autocomplete |
|
|
150
|
+
| Component needs arbitrary/dynamic modifiers | `mods` — open-ended `Record<string, ModValue>` |
|
|
151
|
+
| Both fixed and dynamic | Combine: `modProps` for known keys, `mods` for ad-hoc |
|
|
152
|
+
|
|
153
|
+
For architecture guidance on when to use modifiers vs `styleProps`, see [Methodology — modProps and mods](methodology.md#modprops-and-mods).
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
77
157
|
## Variants
|
|
78
158
|
|
|
79
159
|
Define named style variations. Only CSS for variants actually used at runtime is injected:
|
|
@@ -178,31 +258,7 @@ const Card = tasty({
|
|
|
178
258
|
|
|
179
259
|
### Selector Affix (`$`)
|
|
180
260
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
| Pattern | Result | Description |
|
|
184
|
-
|---------|--------|-------------|
|
|
185
|
-
| *(none)* | ` [el]` | Descendant (default) |
|
|
186
|
-
| `>` | `> [el]` | Direct child |
|
|
187
|
-
| `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
|
|
188
|
-
| `::before` | `::before` | Root pseudo (no key) |
|
|
189
|
-
| `@::before` | `[el]::before` | Pseudo on the sub-element |
|
|
190
|
-
| `>@:hover` | `> [el]:hover` | Pseudo-class on the sub-element |
|
|
191
|
-
| `>@.active` | `> [el].active` | Class on the sub-element |
|
|
192
|
-
|
|
193
|
-
The `@` placeholder marks exactly where the `[data-element="..."]` selector is injected, allowing you to attach pseudo-classes, pseudo-elements, or class selectors directly to the sub-element instead of the root:
|
|
194
|
-
|
|
195
|
-
```jsx
|
|
196
|
-
const List = tasty({
|
|
197
|
-
styles: {
|
|
198
|
-
Item: {
|
|
199
|
-
$: '>@:last-child',
|
|
200
|
-
border: 'none',
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
// → .t0 > [data-element="Item"]:last-child { border: none }
|
|
205
|
-
```
|
|
261
|
+
The `$` property inside a sub-element's styles controls how its selector attaches to the root selector — combinators, HTML tags, pseudo-elements, the `@` placeholder, and more. For the full reference table and injection rules, see [DSL — Selector Affix](dsl.md#selector-affix-).
|
|
206
262
|
|
|
207
263
|
For the mental model behind sub-elements — how they share root state context and how this differs from BEM — see [Methodology — Component architecture](methodology.md#component-architecture-root--sub-elements).
|
|
208
264
|
|
package/docs/tasty/ssr.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Server-Side Rendering (SSR)
|
|
2
2
|
|
|
3
|
-
Tasty supports server-side rendering with zero-cost client hydration. Your existing `tasty()` components work unchanged
|
|
3
|
+
Tasty supports server-side rendering with zero-cost client hydration. This does **not** introduce a separate styling engine: SSR uses the same runtime `tasty()` pipeline you already use on the client, then adds server-side CSS collection and client-side cache hydration. Your existing `tasty()` components work unchanged, and SSR remains opt-in with no per-component modifications. For the broader docs map, see the [Docs Hub](README.md).
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -18,7 +18,7 @@ The Astro integration (`@tenphi/tasty/ssr/astro`) has no additional dependencies
|
|
|
18
18
|
|
|
19
19
|
## How It Works
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
When the environment can execute runtime React code during server rendering, the same `tasty()` and `useStyles()` calls can run there too. In Next.js, generic React SSR, and Astro islands, Tasty simply changes where that runtime-generated CSS goes: `useStyles()` detects a `ServerStyleCollector` and collects CSS into it instead of trying to access the DOM. The collector accumulates all styles, serializes them as `<style>` tags and a cache state script in the HTML. On the client, `hydrateTastyCache()` pre-populates the injector cache so that `useStyles()` skips the rendering pipeline entirely during hydration.
|
|
22
22
|
|
|
23
23
|
```
|
|
24
24
|
Server Client
|
package/docs/tasty/styles.md
CHANGED
|
@@ -146,37 +146,39 @@ Individual props `marginTop`, `marginRight`, `marginBottom`, `marginLeft`, `marg
|
|
|
146
146
|
|
|
147
147
|
### `width`
|
|
148
148
|
|
|
149
|
-
Element width with min/max control.
|
|
149
|
+
Element width with min/max control. One, two, or three values set `min-width`, `width`, and `max-width` together.
|
|
150
150
|
|
|
151
|
-
**
|
|
151
|
+
**Positional syntax:**
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
| Value | min-width | width | max-width |
|
|
154
|
+
|-------|-----------|-------|-----------|
|
|
155
|
+
| `"10x"` | initial | `10x` | initial |
|
|
156
|
+
| `"1x 10x"` | `1x` | auto | `10x` |
|
|
157
|
+
| `"1x 5x 10x"` | `1x` | `5x` | `10x` |
|
|
158
|
+
| `"0 100% 800px"` | `0` | `100%` | `800px` |
|
|
159
|
+
| `"initial 100% 1400px"` | initial | `100%` | `1400px` |
|
|
160
|
+
|
|
161
|
+
**Modifier syntax:**
|
|
162
|
+
|
|
163
|
+
| Value | min-width | width | max-width |
|
|
164
|
+
|-------|-----------|-------|-----------|
|
|
165
|
+
| `"min 2x"` | `2x` | auto | initial |
|
|
166
|
+
| `"max 100%"` | initial | auto | `100%` |
|
|
167
|
+
| `"fixed 200px"` | `200px` | `200px` | `200px` |
|
|
154
168
|
|
|
155
169
|
**Keywords:** `stretch`, `max-content`, `min-content`, `fit-content`
|
|
156
170
|
|
|
157
171
|
| Value | Effect |
|
|
158
172
|
|-------|--------|
|
|
159
|
-
| `"10x"` | Width `10x`, min `initial`, max `initial` |
|
|
160
|
-
| `"1x 10x"` | Width `auto`, min `1x`, max `10x` |
|
|
161
|
-
| `"1x 5x 10x"` | Min `1x`, width `5x`, max `10x` |
|
|
162
|
-
| `"min 2x"` | Min-width `2x`, width `auto`, max `initial` |
|
|
163
|
-
| `"max 100%"` | Max-width `100%`, width `auto`, min `initial` |
|
|
164
|
-
| `"fixed 200px"` | Min, width, and max all set to `200px` |
|
|
165
173
|
| `"stretch"` | Fill available space (cross-browser) |
|
|
166
|
-
| `true` |
|
|
174
|
+
| `true` | Reset to `auto` / `initial` / `initial` |
|
|
167
175
|
| Number | Converted to `px` |
|
|
168
176
|
|
|
169
177
|
Separate `minWidth` and `maxWidth` props are supported and override values from the `width` syntax.
|
|
170
178
|
|
|
171
179
|
### `height`
|
|
172
180
|
|
|
173
|
-
Element height. Same syntax and
|
|
174
|
-
|
|
175
|
-
**Syntax:** `[value]` | `[min max]` | `[min value max]` | `[modifier value]`
|
|
176
|
-
|
|
177
|
-
**Modifiers:** `min`, `max`, `fixed`
|
|
178
|
-
|
|
179
|
-
**Keywords:** `max-content`, `min-content`, `fit-content`
|
|
181
|
+
Element height. Same syntax, modifiers, and positional patterns as `width`.
|
|
180
182
|
|
|
181
183
|
Separate `minHeight` and `maxHeight` props are supported and override values from the `height` syntax.
|
|
182
184
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cube-dev/ui-kit",
|
|
3
|
-
"version": "0.124.
|
|
3
|
+
"version": "0.124.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "UIKit for Cube Projects",
|
|
6
6
|
"repository": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@react-types/shared": "^3.32.1",
|
|
46
46
|
"@tabler/icons-react": "^3.31.0",
|
|
47
47
|
"@tanstack/react-virtual": "^3.13.12",
|
|
48
|
-
"@tenphi/tasty": "0.
|
|
48
|
+
"@tenphi/tasty": "0.15.2",
|
|
49
49
|
"clipboard-copy": "^4.0.1",
|
|
50
50
|
"clsx": "^1.1.1",
|
|
51
51
|
"diff": "^8.0.3",
|