@cube-dev/ui-kit 0.0.0-canary-1d46daa → 0.0.0-canary-736d057
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/CHANGELOG.md +6 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/Item.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +2 -2
- package/es/components/actions/Action/Action.js +14 -18
- package/es/components/actions/Button/Button.js +2 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +3 -8
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/ItemBase/ItemBase.js +8 -2
- package/es/components/content/ItemBase/index.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +3 -3
- package/es/components/content/Title.js +3 -3
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +3 -2
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/Layout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -2
- package/es/tasty/debug.js +431 -0
- package/es/tasty/index.js +3 -1
- package/es/tasty/injector/flatten.js +350 -0
- package/es/tasty/injector/index.js +165 -0
- package/es/tasty/injector/injector.js +293 -0
- package/es/tasty/injector/sheet-manager.js +492 -0
- package/es/tasty/injector/types.js +10 -0
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +38 -2
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +8 -12
- package/es/tasty/styles/createStyle.js +3 -3
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +6 -8
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.js +1 -1
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -3
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +40 -44
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +92 -19
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/getModCombinations.js +26 -30
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +846 -57
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +2 -218
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +1 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/components/actions/Button/Button.d.ts +1 -0
- package/types/components/actions/Menu/styled.d.ts +699 -702
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +233 -234
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +233 -234
- package/types/tasty/debug.d.ts +108 -0
- package/types/tasty/index.d.ts +2 -0
- package/types/tasty/injector/flatten.d.ts +16 -0
- package/types/tasty/injector/index.d.ts +64 -0
- package/types/tasty/injector/injector.d.ts +82 -0
- package/types/tasty/injector/sheet-manager.d.ts +78 -0
- package/types/tasty/injector/types.d.ts +68 -0
- package/types/tasty/parser/lru.d.ts +5 -1
- package/types/tasty/styles/color.d.ts +3 -1
- package/types/tasty/styles/reset.d.ts +1 -2
- package/types/tasty/types.d.ts +0 -2
- package/types/tasty/utils/getModCombinations.d.ts +9 -1
- package/types/tasty/utils/renderStyles.d.ts +25 -7
- package/types/tasty/utils/styles.d.ts +2 -87
package/es/icons/UserIcon.js
CHANGED
package/es/icons/UserLockIcon.js
CHANGED
package/es/icons/ViewIcon.js
CHANGED
package/es/icons/WarningIcon.js
CHANGED
package/es/icons/add-new-icon.js
CHANGED
package/es/icons/index.js
CHANGED
package/es/icons/wrap-icon.js
CHANGED
package/es/index.js
CHANGED
package/es/provider.js
CHANGED
package/es/shared/form.js
CHANGED
package/es/shared/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-736d057
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -26,7 +26,6 @@ export const baseProps = [
|
|
|
26
26
|
'style',
|
|
27
27
|
'styles',
|
|
28
28
|
'css',
|
|
29
|
-
'styleName',
|
|
30
29
|
'hidden',
|
|
31
30
|
'disabled',
|
|
32
31
|
'mods',
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* author: Cube Dev Team
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-736d057
|
|
5
|
+
* Released under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Debug utilities for inspecting tasty-generated CSS at runtime
|
|
10
|
+
*/
|
|
11
|
+
import { getCssText, getCssTextForNode, injector } from './injector';
|
|
12
|
+
/**
|
|
13
|
+
* Pretty-print CSS with proper indentation and formatting
|
|
14
|
+
*/
|
|
15
|
+
function prettifyCSS(css) {
|
|
16
|
+
if (!css || css.trim() === '') {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
// First, normalize whitespace but preserve structure
|
|
20
|
+
let formatted = css.replace(/\s+/g, ' ').trim();
|
|
21
|
+
// Add newlines after opening braces
|
|
22
|
+
formatted = formatted.replace(/\s*\{\s*/g, ' {\n');
|
|
23
|
+
// Add newlines after semicolons (but not inside strings or functions)
|
|
24
|
+
formatted = formatted.replace(/;(?![^"']*["'][^"']*$)(?![^()]*\))/g, ';\n');
|
|
25
|
+
// Add newlines before closing braces
|
|
26
|
+
formatted = formatted.replace(/\s*\}\s*/g, '\n}\n');
|
|
27
|
+
// Handle comma-separated selectors (only outside of property values)
|
|
28
|
+
// This regex looks for commas that are:
|
|
29
|
+
// 1. Not inside quotes
|
|
30
|
+
// 2. Not inside parentheses (CSS functions)
|
|
31
|
+
// 3. Not followed by a colon (not in a property value)
|
|
32
|
+
formatted = formatted.replace(/,(?![^"']*["'][^"']*$)(?![^()]*\))(?=.*:.*\{|.*\{)/g, ',\n');
|
|
33
|
+
// Process line by line for proper indentation
|
|
34
|
+
const lines = formatted.split('\n');
|
|
35
|
+
let indentLevel = 0;
|
|
36
|
+
const indentSize = 2;
|
|
37
|
+
const formattedLines = lines.map((line) => {
|
|
38
|
+
const trimmed = line.trim();
|
|
39
|
+
if (!trimmed)
|
|
40
|
+
return '';
|
|
41
|
+
// Handle closing braces - decrease indent first
|
|
42
|
+
if (trimmed === '}') {
|
|
43
|
+
indentLevel = Math.max(0, indentLevel - 1);
|
|
44
|
+
return ' '.repeat(indentLevel * indentSize) + trimmed;
|
|
45
|
+
}
|
|
46
|
+
// Current line with proper indentation
|
|
47
|
+
const indent = ' '.repeat(indentLevel * indentSize);
|
|
48
|
+
let result = indent + trimmed;
|
|
49
|
+
// Handle opening braces - increase indent for next line
|
|
50
|
+
if (trimmed.endsWith('{')) {
|
|
51
|
+
indentLevel++;
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
});
|
|
55
|
+
// Clean up the result and ensure proper spacing
|
|
56
|
+
let result = formattedLines
|
|
57
|
+
.filter((line) => line.trim()) // Remove empty lines
|
|
58
|
+
.join('\n')
|
|
59
|
+
.replace(/\n{3,}/g, '\n\n') // Max 2 consecutive newlines
|
|
60
|
+
.trim();
|
|
61
|
+
// Final cleanup: ensure single spaces in function calls
|
|
62
|
+
result = result.replace(/,\s+/g, ', ');
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Debug utilities for inspecting tasty styles in runtime applications
|
|
67
|
+
*/
|
|
68
|
+
export const tastyDebug = {
|
|
69
|
+
/**
|
|
70
|
+
* Get CSS for a specific tasty class (e.g., 't24')
|
|
71
|
+
*/
|
|
72
|
+
getCSSForClass(className) {
|
|
73
|
+
if (!className.match(/^t\d+$/)) {
|
|
74
|
+
console.warn(`"${className}" doesn't look like a tasty class. Expected format: t{number}`);
|
|
75
|
+
}
|
|
76
|
+
const css = injector.instance.getCssTextForClasses([className]);
|
|
77
|
+
return prettifyCSS(css);
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* Get CSS for multiple tasty classes
|
|
81
|
+
*/
|
|
82
|
+
getCSSForClasses(classNames) {
|
|
83
|
+
const css = injector.instance.getCssTextForClasses(classNames);
|
|
84
|
+
return prettifyCSS(css);
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Log CSS for a specific tasty class (e.g., 't24') to console
|
|
88
|
+
*/
|
|
89
|
+
logCSSForClass(className) {
|
|
90
|
+
if (!className.match(/^t\d+$/)) {
|
|
91
|
+
console.warn(`"${className}" doesn't look like a tasty class. Expected format: t{number}`);
|
|
92
|
+
}
|
|
93
|
+
const css = this.getCSSForClass(className);
|
|
94
|
+
this.logCSS(css, `CSS for class "${className}"`);
|
|
95
|
+
},
|
|
96
|
+
/**
|
|
97
|
+
* Log CSS for multiple tasty classes to console
|
|
98
|
+
*/
|
|
99
|
+
logCSSForClasses(classNames) {
|
|
100
|
+
const css = this.getCSSForClasses(classNames);
|
|
101
|
+
const title = `CSS for classes [${classNames.join(', ')}]`;
|
|
102
|
+
this.logCSS(css, title);
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* Inspect an element by CSS selector and get its tasty CSS
|
|
106
|
+
*/
|
|
107
|
+
inspectElement(selector) {
|
|
108
|
+
const element = document.querySelector(selector);
|
|
109
|
+
if (!element) {
|
|
110
|
+
return `Element not found: ${selector}`;
|
|
111
|
+
}
|
|
112
|
+
console.group(`🎨 Tasty CSS for "${selector}"`);
|
|
113
|
+
console.log('Element:', element);
|
|
114
|
+
const css = getCssTextForNode(element);
|
|
115
|
+
if (css) {
|
|
116
|
+
const prettified = prettifyCSS(css);
|
|
117
|
+
console.log('Generated CSS:\n' + prettified);
|
|
118
|
+
console.groupEnd();
|
|
119
|
+
return prettified;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.log('No tasty CSS found for this element');
|
|
123
|
+
console.groupEnd();
|
|
124
|
+
return 'No tasty CSS found';
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
/**
|
|
128
|
+
* Inspect a DOM element directly and get its tasty CSS
|
|
129
|
+
*/
|
|
130
|
+
inspectDOMElement(element) {
|
|
131
|
+
if (!element) {
|
|
132
|
+
return 'Element is null or undefined';
|
|
133
|
+
}
|
|
134
|
+
console.group('🎨 Tasty CSS for element');
|
|
135
|
+
console.log('Element:', element);
|
|
136
|
+
const css = getCssTextForNode(element);
|
|
137
|
+
if (css) {
|
|
138
|
+
const prettified = prettifyCSS(css);
|
|
139
|
+
console.log('Generated CSS:\n' + prettified);
|
|
140
|
+
console.groupEnd();
|
|
141
|
+
return prettified;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
console.log('No tasty CSS found for this element');
|
|
145
|
+
console.groupEnd();
|
|
146
|
+
return 'No tasty CSS found';
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
/**
|
|
150
|
+
* Get all tasty CSS currently injected into the page
|
|
151
|
+
*/
|
|
152
|
+
getAllCSS() {
|
|
153
|
+
return getCssText();
|
|
154
|
+
},
|
|
155
|
+
/**
|
|
156
|
+
* Find all tasty classes used in the page (in DOM)
|
|
157
|
+
*/
|
|
158
|
+
findAllTastyClasses() {
|
|
159
|
+
const classes = new Set();
|
|
160
|
+
// Find all elements with class attributes
|
|
161
|
+
const elements = document.querySelectorAll('[class]');
|
|
162
|
+
elements.forEach((element) => {
|
|
163
|
+
const classList = element.getAttribute('class');
|
|
164
|
+
if (classList) {
|
|
165
|
+
// Extract tasty classes (t + digits)
|
|
166
|
+
const tastyClasses = classList
|
|
167
|
+
.split(/\s+/)
|
|
168
|
+
.filter((cls) => /^t\d+$/.test(cls));
|
|
169
|
+
tastyClasses.forEach((cls) => classes.add(cls));
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return Array.from(classes).sort((a, b) => {
|
|
173
|
+
// Sort numerically by the number part
|
|
174
|
+
const aNum = parseInt(a.slice(1));
|
|
175
|
+
const bNum = parseInt(b.slice(1));
|
|
176
|
+
return aNum - bNum;
|
|
177
|
+
});
|
|
178
|
+
},
|
|
179
|
+
/**
|
|
180
|
+
* Find all tasty classes that have styles in the stylesheet (used + unused)
|
|
181
|
+
*/
|
|
182
|
+
findAllStyledClasses() {
|
|
183
|
+
const registry = injector.instance['sheetManager'].getRegistry(document);
|
|
184
|
+
const classes = new Set();
|
|
185
|
+
// Add all classes from rules map (active + unused)
|
|
186
|
+
if (registry?.rules) {
|
|
187
|
+
for (const className of registry.rules.keys()) {
|
|
188
|
+
if (/^t\d+$/.test(className)) {
|
|
189
|
+
classes.add(className);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return Array.from(classes).sort((a, b) => {
|
|
194
|
+
// Sort numerically by the number part
|
|
195
|
+
const aNum = parseInt(a.slice(1));
|
|
196
|
+
const bNum = parseInt(b.slice(1));
|
|
197
|
+
return aNum - bNum;
|
|
198
|
+
});
|
|
199
|
+
},
|
|
200
|
+
/**
|
|
201
|
+
* Get active vs cached class breakdown
|
|
202
|
+
*/
|
|
203
|
+
getClassUsage() {
|
|
204
|
+
const domClasses = this.findAllTastyClasses();
|
|
205
|
+
const styledClasses = this.findAllStyledClasses();
|
|
206
|
+
const registry = injector.instance['sheetManager'].getRegistry(document);
|
|
207
|
+
const activeClasses = domClasses;
|
|
208
|
+
const cachedClasses = styledClasses.filter((cls) => !domClasses.includes(cls));
|
|
209
|
+
// Also check unusedRules registry for classes that are marked as cached (unused but kept for performance)
|
|
210
|
+
if (registry?.unusedRules) {
|
|
211
|
+
for (const className of registry.unusedRules.keys()) {
|
|
212
|
+
if (/^t\d+$/.test(className) && !cachedClasses.includes(className)) {
|
|
213
|
+
cachedClasses.push(className);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
activeClasses: activeClasses.sort((a, b) => {
|
|
219
|
+
const aNum = parseInt(a.slice(1));
|
|
220
|
+
const bNum = parseInt(b.slice(1));
|
|
221
|
+
return aNum - bNum;
|
|
222
|
+
}),
|
|
223
|
+
cachedClasses: cachedClasses.sort((a, b) => {
|
|
224
|
+
const aNum = parseInt(a.slice(1));
|
|
225
|
+
const bNum = parseInt(b.slice(1));
|
|
226
|
+
return aNum - bNum;
|
|
227
|
+
}),
|
|
228
|
+
totalStyledClasses: styledClasses,
|
|
229
|
+
};
|
|
230
|
+
},
|
|
231
|
+
/**
|
|
232
|
+
* Get a comprehensive summary of all tasty styles
|
|
233
|
+
*/
|
|
234
|
+
getSummary() {
|
|
235
|
+
const usage = this.getClassUsage();
|
|
236
|
+
const allCSS = this.getAllCSS();
|
|
237
|
+
const activeCSS = this.getCSSForClasses(usage.activeClasses);
|
|
238
|
+
const cachedCSS = this.getCSSForClasses(usage.cachedClasses);
|
|
239
|
+
const metrics = injector.instance.getMetrics();
|
|
240
|
+
const summary = {
|
|
241
|
+
activeClasses: usage.activeClasses,
|
|
242
|
+
cachedClasses: usage.cachedClasses,
|
|
243
|
+
totalStyledClasses: usage.totalStyledClasses,
|
|
244
|
+
activeCSSSize: activeCSS.length,
|
|
245
|
+
cachedCSSSize: cachedCSS.length,
|
|
246
|
+
totalCSSSize: allCSS.length,
|
|
247
|
+
activeCSS,
|
|
248
|
+
cachedCSS,
|
|
249
|
+
allCSS,
|
|
250
|
+
metrics,
|
|
251
|
+
};
|
|
252
|
+
console.group('🎨 Comprehensive Tasty Debug Summary');
|
|
253
|
+
console.log(`📊 Style Cache Status:`);
|
|
254
|
+
console.log(` • Active classes (in DOM): ${summary.activeClasses.length}`);
|
|
255
|
+
console.log(` • Cached classes (performance cache): ${summary.cachedClasses.length}`);
|
|
256
|
+
console.log(` • Total styled classes: ${summary.totalStyledClasses.length}`);
|
|
257
|
+
console.log(`💾 CSS Size:`);
|
|
258
|
+
console.log(` • Active CSS: ${summary.activeCSSSize} characters`);
|
|
259
|
+
console.log(` • Cached CSS: ${summary.cachedCSSSize} characters`);
|
|
260
|
+
console.log(` • Total CSS: ${summary.totalCSSSize} characters`);
|
|
261
|
+
console.log(`⚡ Performance Metrics:`);
|
|
262
|
+
if (metrics) {
|
|
263
|
+
console.log(` • Cache hits: ${metrics.hits}`);
|
|
264
|
+
console.log(` • Cache misses: ${metrics.misses}`);
|
|
265
|
+
console.log(` • Cached style reuses: ${metrics.unusedHits}`);
|
|
266
|
+
console.log(` • Total insertions: ${metrics.totalInsertions}`);
|
|
267
|
+
console.log(` • Styles cleaned up: ${metrics.stylesCleanedUp}`);
|
|
268
|
+
const hitRate = metrics.hits + metrics.misses > 0
|
|
269
|
+
? (((metrics.hits + metrics.unusedHits) /
|
|
270
|
+
(metrics.hits + metrics.misses)) *
|
|
271
|
+
100).toFixed(1)
|
|
272
|
+
: 0;
|
|
273
|
+
console.log(` • Overall cache hit rate: ${hitRate}%`);
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
console.log(` • Metrics not available (enable with collectMetrics: true)`);
|
|
277
|
+
}
|
|
278
|
+
console.log('🔍 Details:');
|
|
279
|
+
console.log(' • Active classes:', summary.activeClasses);
|
|
280
|
+
console.log(' • Cached classes:', summary.cachedClasses);
|
|
281
|
+
console.log('ℹ️ Note: Cached styles are kept for performance - avoiding expensive DOM operations');
|
|
282
|
+
console.groupEnd();
|
|
283
|
+
return summary;
|
|
284
|
+
},
|
|
285
|
+
/**
|
|
286
|
+
* Helper to log CSS in a readable format
|
|
287
|
+
*/
|
|
288
|
+
logCSS(css, title = 'CSS') {
|
|
289
|
+
if (!css || css.trim() === '') {
|
|
290
|
+
console.log(`${title}: (empty)`);
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
console.group(`🎨 ${title}`);
|
|
294
|
+
const prettified = prettifyCSS(css);
|
|
295
|
+
console.log(prettified);
|
|
296
|
+
console.groupEnd();
|
|
297
|
+
},
|
|
298
|
+
/**
|
|
299
|
+
* Advanced inspection with detailed breakdown and statistics
|
|
300
|
+
*/
|
|
301
|
+
inspect(target) {
|
|
302
|
+
const element = typeof target === 'string' ? document.querySelector(target) : target;
|
|
303
|
+
if (!element) {
|
|
304
|
+
console.error(`Element not found: ${target}`);
|
|
305
|
+
return {
|
|
306
|
+
element: null,
|
|
307
|
+
tastyClasses: [],
|
|
308
|
+
css: '',
|
|
309
|
+
cssSize: 0,
|
|
310
|
+
ruleCount: 0,
|
|
311
|
+
breakdown: {},
|
|
312
|
+
stats: {
|
|
313
|
+
totalClasses: 0,
|
|
314
|
+
totalRules: 0,
|
|
315
|
+
totalCSSSize: 0,
|
|
316
|
+
averageRulesPerClass: 0,
|
|
317
|
+
averageCSSPerClass: 0,
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
// Find tasty classes on this element
|
|
322
|
+
const classList = element.getAttribute('class') || '';
|
|
323
|
+
const tastyClasses = classList
|
|
324
|
+
.split(/\s+/)
|
|
325
|
+
.filter((cls) => /^t\d+$/.test(cls));
|
|
326
|
+
// Get CSS for the entire subtree
|
|
327
|
+
const fullCSS = getCssTextForNode(element);
|
|
328
|
+
const prettifiedCSS = prettifyCSS(fullCSS);
|
|
329
|
+
// Count CSS rules in the full CSS
|
|
330
|
+
const ruleCount = (fullCSS.match(/\{[^}]*\}/g) || []).length;
|
|
331
|
+
// Get CSS breakdown per class with detailed stats
|
|
332
|
+
const breakdown = {};
|
|
333
|
+
let totalClassRules = 0;
|
|
334
|
+
let totalClassCSSSize = 0;
|
|
335
|
+
tastyClasses.forEach((className) => {
|
|
336
|
+
const classCSS = this.getCSSForClass(className);
|
|
337
|
+
const classRuleCount = (classCSS.match(/\{[^}]*\}/g) || []).length;
|
|
338
|
+
breakdown[className] = {
|
|
339
|
+
css: classCSS,
|
|
340
|
+
cssSize: classCSS.length,
|
|
341
|
+
ruleCount: classRuleCount,
|
|
342
|
+
};
|
|
343
|
+
totalClassRules += classRuleCount;
|
|
344
|
+
totalClassCSSSize += classCSS.length;
|
|
345
|
+
});
|
|
346
|
+
// Calculate statistics
|
|
347
|
+
const stats = {
|
|
348
|
+
totalClasses: tastyClasses.length,
|
|
349
|
+
totalRules: totalClassRules,
|
|
350
|
+
totalCSSSize: totalClassCSSSize,
|
|
351
|
+
averageRulesPerClass: tastyClasses.length > 0 ? totalClassRules / tastyClasses.length : 0,
|
|
352
|
+
averageCSSPerClass: tastyClasses.length > 0 ? totalClassCSSSize / tastyClasses.length : 0,
|
|
353
|
+
};
|
|
354
|
+
const result = {
|
|
355
|
+
element,
|
|
356
|
+
tastyClasses,
|
|
357
|
+
css: prettifiedCSS,
|
|
358
|
+
cssSize: fullCSS.length,
|
|
359
|
+
ruleCount,
|
|
360
|
+
breakdown,
|
|
361
|
+
stats,
|
|
362
|
+
};
|
|
363
|
+
console.group(`🔍 Detailed Tasty Inspection`);
|
|
364
|
+
console.log('Element:', element);
|
|
365
|
+
console.log('📊 Overview:');
|
|
366
|
+
console.log(` • Tasty classes: ${stats.totalClasses}`);
|
|
367
|
+
console.log(` • Total rules applied: ${ruleCount}`);
|
|
368
|
+
console.log(` • Total CSS size: ${fullCSS.length} characters`);
|
|
369
|
+
console.log('🏷️ Classes:', tastyClasses);
|
|
370
|
+
console.log('📈 Statistics:');
|
|
371
|
+
console.log(` • Rules per class (avg): ${stats.averageRulesPerClass.toFixed(1)}`);
|
|
372
|
+
console.log(` • CSS per class (avg): ${stats.averageCSSPerClass.toFixed(0)} chars`);
|
|
373
|
+
console.log('🎨 Element CSS:\n' + prettifiedCSS);
|
|
374
|
+
console.log('🔨 CSS breakdown by class:');
|
|
375
|
+
Object.entries(breakdown).forEach(([className, data]) => {
|
|
376
|
+
console.log(` ${className}: ${data.ruleCount} rules, ${data.cssSize} chars`);
|
|
377
|
+
});
|
|
378
|
+
console.groupEnd();
|
|
379
|
+
return result;
|
|
380
|
+
},
|
|
381
|
+
/**
|
|
382
|
+
* Get CSS for active classes only
|
|
383
|
+
*/
|
|
384
|
+
getActiveCSS() {
|
|
385
|
+
const usage = this.getClassUsage();
|
|
386
|
+
return this.getCSSForClasses(usage.activeClasses);
|
|
387
|
+
},
|
|
388
|
+
/**
|
|
389
|
+
* Get CSS for cached classes only
|
|
390
|
+
*/
|
|
391
|
+
getCachedCSS() {
|
|
392
|
+
const usage = this.getClassUsage();
|
|
393
|
+
return this.getCSSForClasses(usage.cachedClasses);
|
|
394
|
+
},
|
|
395
|
+
};
|
|
396
|
+
/**
|
|
397
|
+
* Check if we're in a development environment at runtime
|
|
398
|
+
* Uses bracket notation to avoid bundler compilation
|
|
399
|
+
*/
|
|
400
|
+
function isDevelopmentEnvironment() {
|
|
401
|
+
if (typeof process === 'undefined')
|
|
402
|
+
return false;
|
|
403
|
+
// Use bracket notation to avoid bundler replacement
|
|
404
|
+
const nodeEnv = process.env?.['NODE_ENV'];
|
|
405
|
+
return nodeEnv === 'development' || nodeEnv !== 'production';
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Install tastyDebug on window object for easy access in browser console
|
|
409
|
+
* Only in non-production environments
|
|
410
|
+
*/
|
|
411
|
+
export function installGlobalDebug() {
|
|
412
|
+
if (typeof window !== 'undefined' &&
|
|
413
|
+
isDevelopmentEnvironment() &&
|
|
414
|
+
window.tastyDebug !== tastyDebug) {
|
|
415
|
+
window.tastyDebug = tastyDebug;
|
|
416
|
+
console.log('🎨 tastyDebug installed on window.\n' +
|
|
417
|
+
'💡 Quick start:\n' +
|
|
418
|
+
' • tastyDebug.getSummary() - comprehensive overview\n' +
|
|
419
|
+
' • tastyDebug.inspect(".my-element") - detailed element inspection\n' +
|
|
420
|
+
' • tastyDebug.findClassGaps() - find missing class numbers\n' +
|
|
421
|
+
' • tastyDebug.getActiveCSS() / getCachedCSS() - get specific CSS');
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Auto-install in development
|
|
426
|
+
*/
|
|
427
|
+
if (typeof window !== 'undefined' && isDevelopmentEnvironment()) {
|
|
428
|
+
installGlobalDebug();
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
|
package/es/tasty/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-736d057
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -18,5 +18,7 @@ export * from './providers/BreakpointsProvider';
|
|
|
18
18
|
export * from './utils/mergeStyles';
|
|
19
19
|
export * from './utils/warnings';
|
|
20
20
|
export * from './utils/getDisplayName';
|
|
21
|
+
export * from './injector';
|
|
22
|
+
export * from './debug';
|
|
21
23
|
|
|
22
24
|
|