@cube-dev/ui-kit 0.99.3 → 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/CollectionItem.js +1 -1
  18. package/es/components/GlobalStyles.js +1 -1
  19. package/es/components/GridProvider.js +1 -1
  20. package/es/components/HiddenInput.js +1 -1
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +1 -1
  23. package/es/components/actions/Action/Action.js +1 -1
  24. package/es/components/actions/Button/Button.js +1 -1
  25. package/es/components/actions/Button/index.js +1 -1
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  27. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/es/components/actions/CommandMenu/index.js +1 -1
  29. package/es/components/actions/CommandMenu/styled.js +1 -1
  30. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  31. package/es/components/actions/ItemAction/index.js +1 -1
  32. package/es/components/actions/ItemActionContext.js +1 -1
  33. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/es/components/actions/ItemButton/index.js +1 -1
  35. package/es/components/actions/Link/Link.js +1 -1
  36. package/es/components/actions/Menu/Menu.js +1 -1
  37. package/es/components/actions/Menu/MenuItem.js +1 -1
  38. package/es/components/actions/Menu/MenuSection.js +1 -1
  39. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/es/components/actions/Menu/context.js +1 -1
  43. package/es/components/actions/Menu/index.js +1 -1
  44. package/es/components/actions/Menu/styled.js +1 -1
  45. package/es/components/actions/index.js +1 -1
  46. package/es/components/actions/use-action.js +1 -1
  47. package/es/components/actions/use-anchored-menu.js +1 -1
  48. package/es/components/actions/use-context-menu.js +1 -1
  49. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  50. package/es/components/content/Alert/Alert.js +1 -1
  51. package/es/components/content/Alert/index.js +1 -1
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +1 -1
  54. package/es/components/content/Avatar/Avatar.js +1 -1
  55. package/es/components/content/Badge/Badge.js +1 -1
  56. package/es/components/content/Card/Card.js +1 -1
  57. package/es/components/content/Content.js +1 -1
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  59. package/es/components/content/CopyPasteBlock/index.js +1 -1
  60. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  61. package/es/components/content/CopySnippet/index.js +1 -1
  62. package/es/components/content/Disclosure/Disclosure.js +1 -1
  63. package/es/components/content/Disclosure/index.js +1 -1
  64. package/es/components/content/Divider.js +1 -1
  65. package/es/components/content/Footer.js +1 -1
  66. package/es/components/content/Header.js +1 -1
  67. package/es/components/content/HotKeys/HotKeys.js +1 -1
  68. package/es/components/content/HotKeys/index.js +1 -1
  69. package/es/components/content/Item/Item.js +11 -7
  70. package/es/components/content/Item/index.js +1 -1
  71. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  72. package/es/components/content/ItemBadge/index.js +1 -1
  73. package/es/components/content/Layout/GridLayout.js +1 -1
  74. package/es/components/content/Layout/Layout.js +1 -1
  75. package/es/components/content/Layout/LayoutBlock.js +1 -1
  76. package/es/components/content/Layout/LayoutCenter.js +1 -1
  77. package/es/components/content/Layout/LayoutContainer.js +1 -1
  78. package/es/components/content/Layout/LayoutContent.js +1 -1
  79. package/es/components/content/Layout/LayoutContext.js +1 -1
  80. package/es/components/content/Layout/LayoutFlex.js +1 -1
  81. package/es/components/content/Layout/LayoutFooter.js +1 -1
  82. package/es/components/content/Layout/LayoutGrid.js +1 -1
  83. package/es/components/content/Layout/LayoutHeader.js +1 -1
  84. package/es/components/content/Layout/LayoutPane.js +1 -1
  85. package/es/components/content/Layout/LayoutPanel.js +1 -1
  86. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  87. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +13 -1
  89. package/es/components/content/Layout/index.js +1 -1
  90. package/es/components/content/Layout/utils.js +1 -1
  91. package/es/components/content/List/SectionHeading.js +1 -1
  92. package/es/components/content/List/index.js +1 -1
  93. package/es/components/content/Paragraph.js +1 -1
  94. package/es/components/content/Placeholder/Placeholder.js +1 -1
  95. package/es/components/content/PrismCode/PrismCode.js +1 -1
  96. package/es/components/content/PrismCode/prismSetup.js +1 -1
  97. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  98. package/es/components/content/Result/Result.js +1 -1
  99. package/es/components/content/Skeleton/Skeleton.js +1 -1
  100. package/es/components/content/Tag/Tag.js +1 -1
  101. package/es/components/content/Text.js +1 -1
  102. package/es/components/content/TextItem/TextItem.js +1 -1
  103. package/es/components/content/TextItem/index.js +1 -1
  104. package/es/components/content/Title.js +1 -1
  105. package/es/components/content/highlightText.js +1 -1
  106. package/es/components/content/use-auto-tooltip.js +1 -1
  107. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  108. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  109. package/es/components/fields/Checkbox/context.js +1 -1
  110. package/es/components/fields/Checkbox/index.js +1 -1
  111. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  112. package/es/components/fields/ComboBox/index.js +1 -1
  113. package/es/components/fields/DatePicker/DateInput.js +1 -1
  114. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  115. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  121. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  122. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  123. package/es/components/fields/DatePicker/index.js +1 -1
  124. package/es/components/fields/DatePicker/intl.js +1 -1
  125. package/es/components/fields/DatePicker/parseDate.js +1 -1
  126. package/es/components/fields/DatePicker/props.js +1 -1
  127. package/es/components/fields/DatePicker/types.js +1 -1
  128. package/es/components/fields/DatePicker/utils.js +1 -1
  129. package/es/components/fields/FileInput/FileInput.js +1 -1
  130. package/es/components/fields/FilterListBox/FilterListBox.js +49 -2
  131. package/es/components/fields/FilterListBox/index.js +1 -1
  132. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  133. package/es/components/fields/FilterPicker/index.js +1 -1
  134. package/es/components/fields/Input/Input.js +1 -1
  135. package/es/components/fields/Input/index.js +1 -1
  136. package/es/components/fields/ListBox/ListBox.js +11 -4
  137. package/es/components/fields/ListBox/index.js +1 -1
  138. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  139. package/es/components/fields/NumberInput/StepButton.js +1 -1
  140. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  141. package/es/components/fields/Picker/Picker.js +1 -1
  142. package/es/components/fields/Picker/index.js +1 -1
  143. package/es/components/fields/RadioGroup/Radio.js +1 -1
  144. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  145. package/es/components/fields/RadioGroup/context.js +1 -1
  146. package/es/components/fields/RadioGroup/index.js +1 -1
  147. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  148. package/es/components/fields/SearchInput/index.js +1 -1
  149. package/es/components/fields/Select/Select.js +1 -1
  150. package/es/components/fields/Select/index.js +1 -1
  151. package/es/components/fields/Slider/Gradation.js +1 -1
  152. package/es/components/fields/Slider/Header.js +1 -1
  153. package/es/components/fields/Slider/RangeSlider.js +1 -1
  154. package/es/components/fields/Slider/Slider.js +1 -1
  155. package/es/components/fields/Slider/SliderBase.js +1 -1
  156. package/es/components/fields/Slider/SliderInput.js +1 -1
  157. package/es/components/fields/Slider/SliderThumb.js +1 -1
  158. package/es/components/fields/Slider/SliderTrack.js +1 -1
  159. package/es/components/fields/Slider/elements.js +1 -1
  160. package/es/components/fields/Slider/index.js +1 -1
  161. package/es/components/fields/Slider/types.js +1 -1
  162. package/es/components/fields/Switch/Switch.js +1 -1
  163. package/es/components/fields/Switch/index.js +1 -1
  164. package/es/components/fields/TextArea/TextArea.js +1 -1
  165. package/es/components/fields/TextArea/index.js +1 -1
  166. package/es/components/fields/TextInput/TextInput.js +1 -1
  167. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  168. package/es/components/fields/TextInput/index.js +1 -1
  169. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  170. package/es/components/fields/TextInputMapper/index.js +1 -1
  171. package/es/components/fields/index.js +1 -1
  172. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  173. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  174. package/es/components/form/FieldWrapper/index.js +1 -1
  175. package/es/components/form/FieldWrapper/types.js +1 -1
  176. package/es/components/form/Form/Field.js +1 -1
  177. package/es/components/form/Form/Form.js +1 -1
  178. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  179. package/es/components/form/Form/ResetButton/index.js +1 -1
  180. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  181. package/es/components/form/Form/SubmitButton/index.js +1 -1
  182. package/es/components/form/Form/SubmitError.js +1 -1
  183. package/es/components/form/Form/index.js +1 -1
  184. package/es/components/form/Form/types.js +1 -1
  185. package/es/components/form/Form/use-field/index.js +1 -1
  186. package/es/components/form/Form/use-field/types.js +1 -1
  187. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  188. package/es/components/form/Form/use-field/use-field.js +1 -1
  189. package/es/components/form/Form/use-form.js +1 -1
  190. package/es/components/form/Form/validation.js +1 -1
  191. package/es/components/form/Label.js +1 -1
  192. package/es/components/form/index.js +1 -1
  193. package/es/components/form/wrapper.js +1 -1
  194. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  195. package/es/components/helpers/DisplayTransition/index.js +1 -1
  196. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  197. package/es/components/helpers/index.js +1 -1
  198. package/es/components/layout/Flex.js +1 -1
  199. package/es/components/layout/Flow.js +1 -1
  200. package/es/components/layout/Grid.js +1 -1
  201. package/es/components/layout/Panel.js +1 -1
  202. package/es/components/layout/Prefix.js +1 -1
  203. package/es/components/layout/ResizablePanel.js +1 -1
  204. package/es/components/layout/Space.js +1 -1
  205. package/es/components/layout/Suffix.js +1 -1
  206. package/es/components/navigation/Tabs/Tabs.js +920 -0
  207. package/es/components/navigation/Tabs/index.js +10 -0
  208. package/es/components/navigation/index.js +10 -0
  209. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  210. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  211. package/es/components/other/Calendar/Calendar.js +1 -1
  212. package/es/components/other/Calendar/CalendarCell.js +1 -1
  213. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  214. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  215. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  217. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  218. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  219. package/es/components/overlays/AlertDialog/index.js +1 -1
  220. package/es/components/overlays/AlertDialog/types.js +1 -1
  221. package/es/components/overlays/Dialog/Dialog.js +1 -1
  222. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  223. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  224. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  225. package/es/components/overlays/Dialog/context.js +1 -1
  226. package/es/components/overlays/Dialog/index.js +1 -1
  227. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  228. package/es/components/overlays/Modal/Modal.js +1 -1
  229. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  230. package/es/components/overlays/Modal/Overlay.js +1 -1
  231. package/es/components/overlays/Modal/Popover.js +1 -1
  232. package/es/components/overlays/Modal/Tray.js +1 -1
  233. package/es/components/overlays/Modal/Underlay.js +1 -1
  234. package/es/components/overlays/Modal/index.js +1 -1
  235. package/es/components/overlays/Modal/types.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  238. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  239. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  241. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  242. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  243. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  260. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  266. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  267. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  268. package/es/components/overlays/NewNotifications/index.js +1 -1
  269. package/es/components/overlays/NewNotifications/types.js +1 -1
  270. package/es/components/overlays/Notification/Notification.js +1 -1
  271. package/es/components/overlays/OverlayWrapper.js +1 -1
  272. package/es/components/overlays/Toasts/Toast.js +1 -1
  273. package/es/components/overlays/Toasts/index.js +1 -1
  274. package/es/components/overlays/Toasts/types.js +1 -1
  275. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  276. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  277. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  278. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  279. package/es/components/overlays/Tooltip/context.js +1 -1
  280. package/es/components/overlays/Tooltip/index.js +1 -1
  281. package/es/components/portal/Portal.js +1 -1
  282. package/es/components/portal/PortalProvider.js +1 -1
  283. package/es/components/portal/index.js +1 -1
  284. package/es/components/portal/types.js +1 -1
  285. package/es/components/portal/usePortal.js +1 -1
  286. package/es/components/shared/InvalidIcon.js +1 -1
  287. package/es/components/shared/ValidIcon.js +1 -1
  288. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  289. package/es/components/status/LoadingAnimation/index.js +1 -1
  290. package/es/components/status/Spin/Cube.js +1 -1
  291. package/es/components/status/Spin/InternalSpinner.js +1 -1
  292. package/es/components/status/Spin/Spin.js +1 -1
  293. package/es/components/status/Spin/SpinsContainer.js +1 -1
  294. package/es/components/status/Spin/index.js +1 -1
  295. package/es/components/status/Spin/types.js +1 -1
  296. package/es/components/status/index.js +1 -1
  297. package/es/data/item-themes.js +1 -1
  298. package/es/data/themes.js +1 -1
  299. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  300. package/es/icons/AdjustmentsIcon.js +1 -1
  301. package/es/icons/AiIcon.js +1 -1
  302. package/es/icons/AreaChartIcon.js +1 -1
  303. package/es/icons/BackwardIcon.js +1 -1
  304. package/es/icons/BarChartIcon.js +1 -1
  305. package/es/icons/BellFilledIcon.js +1 -1
  306. package/es/icons/BellIcon.js +1 -1
  307. package/es/icons/BooleanIcon.js +1 -1
  308. package/es/icons/CalendarEditIcon.js +1 -1
  309. package/es/icons/CalendarIcon.js +1 -1
  310. package/es/icons/CaretDownIcon.js +1 -1
  311. package/es/icons/CaretUpIcon.js +1 -1
  312. package/es/icons/ChartAreaStackedIcon.js +1 -1
  313. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  314. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarGroupedIcon.js +1 -1
  316. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarLineIcon.js +1 -1
  318. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedIcon.js +1 -1
  320. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  321. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  322. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  323. package/es/icons/ChartBoxPlotIcon.js +1 -1
  324. package/es/icons/ChartBubbleIcon.js +1 -1
  325. package/es/icons/ChartDonut2Icon.js +1 -1
  326. package/es/icons/ChartFunnelIcon.js +1 -1
  327. package/es/icons/ChartHeatmapIcon.js +1 -1
  328. package/es/icons/ChartKPIIcon.js +1 -1
  329. package/es/icons/ChartPie2Icon.js +1 -1
  330. package/es/icons/ChartScatterIcon.js +1 -1
  331. package/es/icons/CheckCircleFilledIcon.js +1 -1
  332. package/es/icons/CheckCircleIcon.js +1 -1
  333. package/es/icons/CheckIcon.js +1 -1
  334. package/es/icons/CircleFilledIcon.js +1 -1
  335. package/es/icons/ClearIcon.js +1 -1
  336. package/es/icons/CloseCircleFilledIcon.js +1 -1
  337. package/es/icons/CloseCircleIcon.js +1 -1
  338. package/es/icons/CloseIcon.js +1 -1
  339. package/es/icons/CodeIcon.js +1 -1
  340. package/es/icons/ColumnTotalIcon.js +1 -1
  341. package/es/icons/CopyIcon.js +1 -1
  342. package/es/icons/CountIcon.js +1 -1
  343. package/es/icons/CubeIcon.js +1 -1
  344. package/es/icons/CubePauseIcon.js +1 -1
  345. package/es/icons/CubePlayIcon.js +1 -1
  346. package/es/icons/CurrencyDollarIcon.js +1 -1
  347. package/es/icons/DangerIcon.js +1 -1
  348. package/es/icons/DashboardIcon.js +1 -1
  349. package/es/icons/DatabaseIcon.js +1 -1
  350. package/es/icons/DecimalDecreaseIcon.js +1 -1
  351. package/es/icons/DecimalIncreaseIcon.js +1 -1
  352. package/es/icons/DirectionIcon.js +1 -1
  353. package/es/icons/DonutIcon.js +1 -1
  354. package/es/icons/DownIcon.js +1 -1
  355. package/es/icons/EditIcon.js +1 -1
  356. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  357. package/es/icons/ExclamationCircleIcon.js +1 -1
  358. package/es/icons/ExclamationIcon.js +1 -1
  359. package/es/icons/EyeIcon.js +1 -1
  360. package/es/icons/EyeInvisibleIcon.js +1 -1
  361. package/es/icons/FilterIcon.js +1 -1
  362. package/es/icons/FolderFilledIcon.js +1 -1
  363. package/es/icons/FolderIcon.js +1 -1
  364. package/es/icons/FolderOpenFilledIcon.js +1 -1
  365. package/es/icons/FolderOpenIcon.js +1 -1
  366. package/es/icons/ForwardIcon.js +1 -1
  367. package/es/icons/HierarchyIcon.js +1 -1
  368. package/es/icons/HierarchyOpenIcon.js +1 -1
  369. package/es/icons/Icon.js +1 -1
  370. package/es/icons/InfoCircleIcon.js +1 -1
  371. package/es/icons/InfoIcon.js +1 -1
  372. package/es/icons/KeyIcon.js +1 -1
  373. package/es/icons/LeftIcon.js +1 -1
  374. package/es/icons/LineChartIcon.js +1 -1
  375. package/es/icons/LoadingIcon.js +1 -1
  376. package/es/icons/LockFilledIcon.js +1 -1
  377. package/es/icons/LockIcon.js +1 -1
  378. package/es/icons/MoreIcon.js +1 -1
  379. package/es/icons/NotAllowedIcon.js +1 -1
  380. package/es/icons/Number123Icon.js +1 -1
  381. package/es/icons/NumberIcon.js +1 -1
  382. package/es/icons/PauseCircleFilledIcon.js +1 -1
  383. package/es/icons/PauseCircleIcon.js +1 -1
  384. package/es/icons/PauseIcon.js +1 -1
  385. package/es/icons/PercentageIcon.js +1 -1
  386. package/es/icons/PieChartIcon.js +1 -1
  387. package/es/icons/PlayCircleIcon.js +1 -1
  388. package/es/icons/PlayIcon.js +1 -1
  389. package/es/icons/PlusIcon.js +1 -1
  390. package/es/icons/ProgressBarIcon.js +1 -1
  391. package/es/icons/ReloadIcon.js +1 -1
  392. package/es/icons/ReportIcon.js +1 -1
  393. package/es/icons/ReturnIcon.js +1 -1
  394. package/es/icons/RightIcon.js +1 -1
  395. package/es/icons/RowTotalsIcon.js +1 -1
  396. package/es/icons/SchemeIcon.js +1 -1
  397. package/es/icons/SearchIcon.js +1 -1
  398. package/es/icons/SemanticQueryIcon.js +1 -1
  399. package/es/icons/SettingsIcon.js +1 -1
  400. package/es/icons/ShieldFilledIcon.js +1 -1
  401. package/es/icons/ShieldIcon.js +1 -1
  402. package/es/icons/SlashIcon.js +1 -1
  403. package/es/icons/SparklesIcon.js +1 -1
  404. package/es/icons/SqlIcon.js +1 -1
  405. package/es/icons/StatsIcon.js +1 -1
  406. package/es/icons/StopIcon.js +1 -1
  407. package/es/icons/StringIcon.js +1 -1
  408. package/es/icons/SubtotalsIcon.js +1 -1
  409. package/es/icons/SwitchIcon.js +1 -1
  410. package/es/icons/TableIcon.js +1 -1
  411. package/es/icons/ThumbsDownIcon.js +1 -1
  412. package/es/icons/ThumbsUpIcon.js +1 -1
  413. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  414. package/es/icons/ThunderboltFilledIcon.js +1 -1
  415. package/es/icons/ThunderboltIcon.js +1 -1
  416. package/es/icons/TimeIcon.js +1 -1
  417. package/es/icons/TrashIcon.js +1 -1
  418. package/es/icons/UnlockIcon.js +1 -1
  419. package/es/icons/UpIcon.js +1 -1
  420. package/es/icons/UserGroupIcon.js +1 -1
  421. package/es/icons/UserIcon.js +1 -1
  422. package/es/icons/UserLockIcon.js +1 -1
  423. package/es/icons/ViewIcon.js +1 -1
  424. package/es/icons/WarningFilledIcon.js +1 -1
  425. package/es/icons/WarningIcon.js +1 -1
  426. package/es/icons/index.js +1 -1
  427. package/es/icons/wrap-icon.js +1 -1
  428. package/es/index.js +15 -1
  429. package/es/provider.js +1 -1
  430. package/es/providers/TrackingProvider.js +1 -1
  431. package/es/providers/navigation.types.js +1 -1
  432. package/es/providers/navigationAdapter.default.js +1 -1
  433. package/es/services/notification.js +1 -1
  434. package/es/shared/form.js +1 -1
  435. package/es/shared/index.js +1 -1
  436. package/es/stories/Form.legacy-stories.js +1 -1
  437. package/es/stories/FormFieldArgs.js +1 -1
  438. package/es/stories/SimpleLayout.stories.js +1 -1
  439. package/es/stories/Tasty.stories.js +1 -1
  440. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  441. package/es/stories/components/DialogFormApp.js +1 -1
  442. package/es/stories/components/StyledButton.js +1 -1
  443. package/es/stories/lists/baseProps.js +1 -1
  444. package/es/stories/playground/PlaygroundEditor.js +1 -1
  445. package/es/stories/playground/PlaygroundLayout.js +1 -1
  446. package/es/stories/playground/PlaygroundOutput.js +1 -1
  447. package/es/stories/playground/PlaygroundPreview.js +1 -1
  448. package/es/stories/playground/components/Button.js +1 -1
  449. package/es/stories/playground/components/Card.js +1 -1
  450. package/es/stories/playground/components/ScrollProgress.js +1 -1
  451. package/es/stories/playground/examples.js +1 -1
  452. package/es/tasty/chunks/cacheKey.js +1 -1
  453. package/es/tasty/chunks/definitions.js +97 -45
  454. package/es/tasty/chunks/index.js +2 -2
  455. package/es/tasty/chunks/renderChunk.js +1 -1
  456. package/es/tasty/config.js +88 -4
  457. package/es/tasty/debug.js +5 -5
  458. package/es/tasty/hooks/index.js +3 -1
  459. package/es/tasty/hooks/useGlobalStyles.js +1 -1
  460. package/es/tasty/hooks/useKeyframes.js +82 -0
  461. package/es/tasty/hooks/useProperty.js +100 -0
  462. package/es/tasty/hooks/useRawCSS.js +1 -1
  463. package/es/tasty/hooks/useStyles.js +16 -2
  464. package/es/tasty/index.js +3 -3
  465. package/es/tasty/injector/index.js +39 -1
  466. package/es/tasty/injector/injector.js +67 -16
  467. package/es/tasty/injector/sheet-manager.js +2 -2
  468. package/es/tasty/injector/types.js +1 -1
  469. package/es/tasty/keyframes/index.js +1 -1
  470. package/es/tasty/parser/classify.js +174 -4
  471. package/es/tasty/parser/const.js +3 -1
  472. package/es/tasty/parser/lru.js +1 -1
  473. package/es/tasty/parser/parser.js +51 -22
  474. package/es/tasty/parser/tokenizer.js +31 -12
  475. package/es/tasty/parser/types.js +29 -4
  476. package/es/tasty/pipeline/conditions.js +1 -1
  477. package/es/tasty/pipeline/exclusive.js +1 -1
  478. package/es/tasty/pipeline/index.js +1 -1
  479. package/es/tasty/pipeline/materialize.js +1 -1
  480. package/es/tasty/pipeline/parseStateKey.js +1 -1
  481. package/es/tasty/pipeline/simplify.js +1 -1
  482. package/es/tasty/plugins/index.js +1 -1
  483. package/es/tasty/plugins/okhsl-plugin.js +1 -1
  484. package/es/tasty/plugins/types.js +1 -1
  485. package/es/tasty/properties/index.js +211 -0
  486. package/es/tasty/states/index.js +8 -2
  487. package/es/tasty/static/index.js +1 -1
  488. package/es/tasty/static/tastyStatic.js +1 -1
  489. package/es/tasty/static/types.js +1 -1
  490. package/es/tasty/styles/align.js +1 -1
  491. package/es/tasty/styles/border.js +114 -20
  492. package/es/tasty/styles/boxShadow.combinator.js +2 -2
  493. package/es/tasty/styles/color.js +2 -2
  494. package/es/tasty/styles/createStyle.js +1 -1
  495. package/es/tasty/styles/dimension.js +100 -53
  496. package/es/tasty/styles/display.js +84 -4
  497. package/es/tasty/styles/fade.js +46 -13
  498. package/es/tasty/styles/fill.js +58 -9
  499. package/es/tasty/styles/flow.js +1 -1
  500. package/es/tasty/styles/gap.js +1 -1
  501. package/es/tasty/styles/height.js +4 -4
  502. package/es/tasty/styles/index.js +4 -3
  503. package/es/tasty/styles/inset.js +173 -23
  504. package/es/tasty/styles/justify.js +1 -1
  505. package/es/tasty/styles/list.js +2 -2
  506. package/es/tasty/styles/margin.js +1 -1
  507. package/es/tasty/styles/outline.js +48 -21
  508. package/es/tasty/styles/padding.js +1 -1
  509. package/es/tasty/styles/place.js +1 -1
  510. package/es/tasty/styles/predefined.js +245 -37
  511. package/es/tasty/styles/preset.js +140 -40
  512. package/es/tasty/styles/radius.js +2 -2
  513. package/es/tasty/styles/reset.js +1 -1
  514. package/es/tasty/styles/scrollbar.js +1 -1
  515. package/es/tasty/styles/shadow.js +2 -2
  516. package/es/tasty/styles/styledScrollbar.js +1 -1
  517. package/es/tasty/styles/transition.js +20 -2
  518. package/es/tasty/styles/types.js +1 -1
  519. package/es/tasty/styles/width.js +4 -4
  520. package/es/tasty/tasty.js +94 -113
  521. package/es/tasty/types.js +1 -1
  522. package/es/tasty/utils/cache-wrapper.js +1 -1
  523. package/es/tasty/utils/case-converter.js +1 -1
  524. package/es/tasty/utils/colors.js +1 -1
  525. package/es/tasty/utils/dotize.js +1 -1
  526. package/es/tasty/utils/filterBaseProps.js +1 -1
  527. package/es/tasty/utils/getDisplayName.js +1 -1
  528. package/es/tasty/utils/isDevEnv.js +1 -1
  529. package/es/tasty/utils/mergeStyles.js +1 -1
  530. package/es/tasty/utils/modAttrs.js +1 -1
  531. package/es/tasty/utils/processTokens.js +1 -1
  532. package/es/tasty/utils/string.js +1 -1
  533. package/es/tasty/utils/styles.js +51 -12
  534. package/es/tasty/utils/typography.js +1 -1
  535. package/es/tasty/utils/warnings.js +1 -1
  536. package/es/tasty/zero/babel.js +5 -22
  537. package/es/tasty/zero/css-writer.js +1 -1
  538. package/es/tasty/zero/extractor.js +1 -1
  539. package/es/tasty/zero/index.js +1 -1
  540. package/es/tasty/zero/next.js +1 -1
  541. package/es/tokens/base.js +5 -1
  542. package/es/tokens/colors.js +1 -1
  543. package/es/tokens/index.js +1 -1
  544. package/es/tokens/layout.js +1 -1
  545. package/es/tokens/shadows.js +1 -1
  546. package/es/tokens/sizes.js +1 -1
  547. package/es/tokens/spacing.js +1 -1
  548. package/es/tokens/typography.js +1 -1
  549. package/es/utils/ResizeSensor.js +1 -1
  550. package/es/utils/index.js +1 -1
  551. package/es/utils/modules.js +1 -1
  552. package/es/utils/promise.js +1 -1
  553. package/es/utils/raf.js +1 -1
  554. package/es/utils/random.js +1 -1
  555. package/es/utils/range.js +1 -1
  556. package/es/utils/react/RenderCache.js +1 -1
  557. package/es/utils/react/Slots.js +1 -1
  558. package/es/utils/react/chain.js +1 -1
  559. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  560. package/es/utils/react/index.js +1 -1
  561. package/es/utils/react/interactions.js +1 -1
  562. package/es/utils/react/isTextOnly.js +1 -1
  563. package/es/utils/react/mapProps.js +1 -1
  564. package/es/utils/react/mergeProps.js +1 -1
  565. package/es/utils/react/nullableValue.js +1 -1
  566. package/es/utils/react/resolveIcon.js +1 -1
  567. package/es/utils/react/sharedStore.js +1 -1
  568. package/es/utils/react/useCombinedRefs.js +1 -1
  569. package/es/utils/react/useControlledFocusVisible.js +1 -1
  570. package/es/utils/react/useEventBus.js +1 -1
  571. package/es/utils/react/useId.js +1 -1
  572. package/es/utils/react/useIsDarwin.js +1 -1
  573. package/es/utils/react/useKeySymbols.js +1 -1
  574. package/es/utils/react/useLayoutEffect.js +1 -1
  575. package/es/utils/react/useLocalStorage.js +1 -1
  576. package/es/utils/react/useQaProps.js +1 -1
  577. package/es/utils/react/useViewportSize.js +1 -1
  578. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  579. package/es/utils/tree.js +1 -1
  580. package/es/utils/warnings.js +1 -1
  581. package/es/version.js +2 -2
  582. package/package.json +1 -1
  583. package/types/components/HiddenInput.d.ts +6 -5
  584. package/types/components/actions/Button/Button.d.ts +18 -16
  585. package/types/components/actions/CommandMenu/styled.d.ts +30 -25
  586. package/types/components/actions/Menu/styled.d.ts +549 -541
  587. package/types/components/content/Item/Item.d.ts +7 -0
  588. package/types/components/content/Layout/hooks/useTinyScrollbar.d.ts +6 -0
  589. package/types/components/content/List/SectionHeading.d.ts +173 -172
  590. package/types/components/content/Text.d.ts +1197 -1190
  591. package/types/components/fields/DatePicker/DatePickerElement.d.ts +173 -172
  592. package/types/components/fields/Select/Select.d.ts +6 -5
  593. package/types/components/fields/Slider/elements.d.ts +36 -30
  594. package/types/components/navigation/Tabs/Tabs.d.ts +236 -0
  595. package/types/components/navigation/Tabs/index.d.ts +2 -0
  596. package/types/components/navigation/index.d.ts +2 -0
  597. package/types/index.d.ts +1 -0
  598. package/types/tasty/chunks/definitions.d.ts +63 -18
  599. package/types/tasty/chunks/index.d.ts +1 -1
  600. package/types/tasty/config.d.ts +97 -1
  601. package/types/tasty/hooks/index.d.ts +3 -0
  602. package/types/tasty/hooks/useKeyframes.d.ts +52 -0
  603. package/types/tasty/hooks/useProperty.d.ts +75 -0
  604. package/types/tasty/index.d.ts +3 -2
  605. package/types/tasty/injector/index.d.ts +57 -1
  606. package/types/tasty/injector/injector.d.ts +19 -7
  607. package/types/tasty/injector/types.d.ts +14 -2
  608. package/types/tasty/parser/const.d.ts +1 -0
  609. package/types/tasty/parser/parser.d.ts +6 -0
  610. package/types/tasty/parser/tokenizer.d.ts +1 -1
  611. package/types/tasty/parser/types.d.ts +31 -1
  612. package/types/tasty/plugins/types.d.ts +20 -1
  613. package/types/tasty/properties/index.d.ts +90 -0
  614. package/types/tasty/styles/border.d.ts +11 -3
  615. package/types/tasty/styles/boxShadow.combinator.d.ts +2 -2
  616. package/types/tasty/styles/color.d.ts +2 -2
  617. package/types/tasty/styles/dimension.d.ts +16 -1
  618. package/types/tasty/styles/display.d.ts +24 -6
  619. package/types/tasty/styles/fade.d.ts +3 -3
  620. package/types/tasty/styles/fill.d.ts +16 -6
  621. package/types/tasty/styles/height.d.ts +7 -3
  622. package/types/tasty/styles/index.d.ts +3 -1
  623. package/types/tasty/styles/inset.d.ts +35 -3
  624. package/types/tasty/styles/list.d.ts +3 -3
  625. package/types/tasty/styles/outline.d.ts +17 -11
  626. package/types/tasty/styles/predefined.d.ts +98 -1
  627. package/types/tasty/styles/preset.d.ts +23 -4
  628. package/types/tasty/styles/radius.d.ts +2 -2
  629. package/types/tasty/styles/shadow.d.ts +2 -2
  630. package/types/tasty/styles/types.d.ts +74 -22
  631. package/types/tasty/styles/width.d.ts +7 -3
  632. package/types/tasty/tasty.d.ts +6 -5
  633. package/types/tasty/utils/styles.d.ts +27 -4
  634. package/types/tasty/zero/babel.d.ts +47 -0
  635. package/es/tasty/styles/font.js +0 -23
  636. package/es/tasty/styles/fontStyle.js +0 -19
  637. package/es/tasty/styles/groupRadius.js +0 -61
  638. package/types/tasty/styles/font.d.ts +0 -9
  639. package/types/tasty/styles/fontStyle.d.ts +0 -8
  640. package/types/tasty/styles/groupRadius.d.ts +0 -11
@@ -58,6 +58,62 @@ export declare function keyframes(steps: import('./types').KeyframesSteps, nameO
58
58
  root?: Document | ShadowRoot;
59
59
  name?: string;
60
60
  }): import('./types').KeyframesResult;
61
+ export interface PropertyOptions {
62
+ /**
63
+ * CSS syntax string for the property (e.g., '<color>', '<length>', '<angle>')
64
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@property/syntax
65
+ */
66
+ syntax?: string;
67
+ /**
68
+ * Whether the property inherits from parent elements
69
+ * @default true
70
+ */
71
+ inherits?: boolean;
72
+ /**
73
+ * Initial value for the property
74
+ */
75
+ initialValue?: string | number;
76
+ /**
77
+ * Shadow root or document to inject into
78
+ */
79
+ root?: Document | ShadowRoot;
80
+ }
81
+ /**
82
+ * Define a CSS @property custom property.
83
+ * This enables advanced features like animating custom properties.
84
+ *
85
+ * Note: @property rules are global and persistent once defined.
86
+ * Re-registering the same property name is a no-op.
87
+ *
88
+ * @param name - The custom property name (must start with --)
89
+ * @param options - Property configuration
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * // Define a color property that can be animated
94
+ * property('--my-color', {
95
+ * syntax: '<color>',
96
+ * initialValue: 'red',
97
+ * });
98
+ *
99
+ * // Define an angle property
100
+ * property('--rotation', {
101
+ * syntax: '<angle>',
102
+ * inherits: false,
103
+ * initialValue: '0deg',
104
+ * });
105
+ * ```
106
+ */
107
+ export declare function property(name: string, options?: PropertyOptions): void;
108
+ /**
109
+ * Check if a CSS @property has already been defined
110
+ *
111
+ * @param name - The custom property name to check
112
+ * @param options - Options including root
113
+ */
114
+ export declare function isPropertyDefined(name: string, options?: {
115
+ root?: Document | ShadowRoot;
116
+ }): boolean;
61
117
  /**
62
118
  * Get CSS text from all sheets (for SSR)
63
119
  */
@@ -93,6 +149,6 @@ export declare function destroy(root?: Document | ShadowRoot): void;
93
149
  * Create a new isolated injector instance
94
150
  */
95
151
  export declare function createInjector(config?: Partial<StyleInjectorConfig>): StyleInjector;
96
- export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, CacheMetrics, RawCSSResult, } from './types';
152
+ export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, CacheMetrics, RawCSSResult, PropertyDefinition, } from './types';
97
153
  export { StyleInjector } from './injector';
98
154
  export { SheetManager } from './sheet-manager';
@@ -3,7 +3,7 @@
3
3
  * Eliminates CSS string parsing for better performance
4
4
  */
5
5
  import { StyleResult } from '../pipeline';
6
- import { GlobalInjectResult, InjectResult, KeyframesResult, KeyframesSteps, RawCSSResult, StyleInjectorConfig } from './types';
6
+ import { GlobalInjectResult, InjectResult, KeyframesResult, KeyframesSteps, PropertyDefinition, RawCSSResult, StyleInjectorConfig } from './types';
7
7
  export declare class StyleInjector {
8
8
  private sheetManager;
9
9
  private config;
@@ -82,19 +82,31 @@ export declare class StyleInjector {
82
82
  root?: Document | ShadowRoot;
83
83
  }): void;
84
84
  /**
85
- * Define a CSS @property custom property
85
+ * Define a CSS @property custom property.
86
+ *
87
+ * Accepts tasty token syntax for the property name:
88
+ * - `$name` → defines `--name`
89
+ * - `#name` → defines `--name-color` (auto-sets syntax: '<color>', defaults initialValue: 'transparent')
90
+ * - `--name` → defines `--name` (legacy format)
91
+ *
86
92
  * Example:
87
93
  * @property --rotation { syntax: "<angle>"; inherits: false; initial-value: 45deg; }
94
+ *
88
95
  * Note: No caching or dispose — this defines a global property.
96
+ *
97
+ * If the same property is registered with different options, a warning is emitted
98
+ * but the original definition is preserved (CSS @property cannot be redefined).
89
99
  */
90
- property(name: string, options?: {
91
- syntax?: string;
92
- inherits?: boolean;
93
- initialValue?: string | number;
100
+ property(name: string, options?: PropertyDefinition & {
94
101
  root?: Document | ShadowRoot;
95
102
  }): void;
96
103
  /**
97
- * Check whether a given @property name was already injected by this injector
104
+ * Check whether a given @property name was already injected by this injector.
105
+ *
106
+ * Accepts tasty token syntax:
107
+ * - `$name` → checks `--name`
108
+ * - `#name` → checks `--name-color`
109
+ * - `--name` → checks `--name` (legacy format)
98
110
  */
99
111
  isPropertyDefined(name: string, options?: {
100
112
  root?: Document | ShadowRoot;
@@ -88,8 +88,8 @@ export interface RootRegistry {
88
88
  keyframesNameToContent: Map<string, string>;
89
89
  /** Counter for generating keyframes names like k0, k1, k2... */
90
90
  keyframesCounter: number;
91
- /** Set of injected @property names for tracking */
92
- injectedProperties: Set<string>;
91
+ /** Map of injected @property names to their normalized declarations for tracking */
92
+ injectedProperties: Map<string, string>;
93
93
  /** Global rules tracking for index adjustment */
94
94
  globalRules: Map<string, RuleInfo>;
95
95
  }
@@ -112,6 +112,18 @@ export interface KeyframesCacheEntry {
112
112
  refCount: number;
113
113
  info: KeyframesInfo;
114
114
  }
115
+ /**
116
+ * Definition for a CSS @property at-rule.
117
+ * Used to define custom property syntax, inheritance, and initial value.
118
+ */
119
+ export interface PropertyDefinition {
120
+ /** CSS syntax string (e.g., '<color>', '<angle>', '<number>') */
121
+ syntax?: string;
122
+ /** Whether the property inherits (default: true) */
123
+ inherits?: boolean;
124
+ /** Initial value for the property */
125
+ initialValue?: string | number;
126
+ }
115
127
  export interface RawCSSInfo {
116
128
  /** Unique identifier for this raw CSS block */
117
129
  id: string;
@@ -3,3 +3,4 @@ export declare const COLOR_FUNCS: Set<string>;
3
3
  export declare const RE_UNIT_NUM: RegExp;
4
4
  export declare const RE_NUMBER: RegExp;
5
5
  export declare const RE_HEX: RegExp;
6
+ export declare const RE_RAW_UNIT: RegExp;
@@ -7,6 +7,12 @@ export declare class StyleParser {
7
7
  setFuncs(funcs: Required<ParserOptions>['funcs']): void;
8
8
  setUnits(units: Required<ParserOptions>['units']): void;
9
9
  updateOptions(patch: Partial<ParserOptions>): void;
10
+ /**
11
+ * Clear the parser cache.
12
+ * Call this when external state that affects parsing results has changed
13
+ * (e.g., predefined tokens).
14
+ */
15
+ clearCache(): void;
10
16
  /**
11
17
  * Get the current units configuration.
12
18
  */
@@ -1,2 +1,2 @@
1
- export type TokenCallback = (token: string, isComma: boolean, precedingChar: string | null) => void;
1
+ export type TokenCallback = (token: string, isComma: boolean, isSlash: boolean, precedingChar: string | null) => void;
2
2
  export declare function scan(src: string, cb: TokenCallback): void;
@@ -3,13 +3,37 @@ export declare enum Bucket {
3
3
  Value = 1,
4
4
  Mod = 2
5
5
  }
6
+ /**
7
+ * A part within a group, representing a slash-separated segment.
8
+ * For example, in `'2px solid #red / 4px'`, there are two parts:
9
+ * - Part 0: `2px solid #red`
10
+ * - Part 1: `4px`
11
+ */
12
+ export interface StyleDetailsPart {
13
+ mods: string[];
14
+ values: string[];
15
+ colors: string[];
16
+ all: string[];
17
+ output: string;
18
+ }
19
+ /**
20
+ * A group of style details, representing a comma-separated segment.
21
+ * Contains aggregated values from all parts for backward compatibility,
22
+ * plus the structured `parts` array for handlers that need slash separation.
23
+ */
6
24
  export interface StyleDetails {
7
25
  input: string;
8
26
  output: string;
27
+ /** Aggregated mods from all parts (backward compatible) */
9
28
  mods: string[];
29
+ /** Aggregated values from all parts (backward compatible) */
10
30
  values: string[];
31
+ /** Aggregated colors from all parts (backward compatible) */
11
32
  colors: string[];
33
+ /** Aggregated all tokens from all parts (backward compatible) */
12
34
  all: string[];
35
+ /** Slash-separated parts within this group */
36
+ parts: StyleDetailsPart[];
13
37
  }
14
38
  export interface ProcessedStyle {
15
39
  output: string;
@@ -21,5 +45,11 @@ export interface ParserOptions {
21
45
  units?: Record<string, string | UnitHandler>;
22
46
  cacheSize?: number;
23
47
  }
48
+ export declare const makeEmptyPart: () => StyleDetailsPart;
24
49
  export declare const makeEmptyDetails: () => StyleDetails;
25
- export declare const finalizeGroup: (d: StyleDetails) => StyleDetails;
50
+ export declare const finalizePart: (p: StyleDetailsPart) => StyleDetailsPart;
51
+ /**
52
+ * Aggregate parts into a StyleDetails group.
53
+ * Combines all parts' arrays into group-level arrays for backward compatibility.
54
+ */
55
+ export declare const finalizeGroup: (d: StyleDetails, parts: StyleDetailsPart[]) => StyleDetails;
@@ -1,6 +1,7 @@
1
1
  import type { StyleDetails, UnitHandler } from '../parser/types';
2
+ import type { StyleHandlerDefinition } from '../utils/styles';
2
3
  /**
3
- * A tasty plugin that extends the style system with custom functions, units, or states.
4
+ * A tasty plugin that extends the style system with custom functions, units, states, or handlers.
4
5
  */
5
6
  export interface TastyPlugin {
6
7
  /** Unique name for the plugin (used for debugging and conflict detection) */
@@ -11,6 +12,24 @@ export interface TastyPlugin {
11
12
  units?: Record<string, string | UnitHandler>;
12
13
  /** Custom state aliases (e.g., `'@mobile': '@media(w < 768px)'`) */
13
14
  states?: Record<string, string>;
15
+ /**
16
+ * Custom style handlers that transform style properties into CSS declarations.
17
+ * Handlers replace built-in handlers for the same style name.
18
+ * @example
19
+ * ```ts
20
+ * handlers: {
21
+ * // Simple handler - lookup style inferred from key
22
+ * fill: ({ fill }) => fill ? { 'background-color': fill } : undefined,
23
+ * // Multi-property handler
24
+ * spacing: [['gap', 'padding'], ({ gap, padding }) => ({ ... })],
25
+ * }
26
+ * ```
27
+ */
28
+ handlers?: Record<string, StyleHandlerDefinition>;
29
+ /** Predefined tokens replaced during style parsing (`$name` or `#name`) */
30
+ tokens?: {
31
+ [key: `$${string}` | `#${string}`]: string | number;
32
+ };
14
33
  }
15
34
  /**
16
35
  * A factory function that creates a TastyPlugin.
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Properties Utilities
3
+ *
4
+ * Utilities for extracting and processing CSS @property definitions in styles.
5
+ * Unlike keyframes, properties are permanent once registered and don't need cleanup.
6
+ *
7
+ * Property names use tasty token syntax:
8
+ * - `$name` for regular properties → `--name`
9
+ * - `#name` for color properties → `--name-color` (auto-sets syntax: '<color>')
10
+ */
11
+ import { PropertyDefinition } from '../injector/types';
12
+ import { Styles } from '../styles/types';
13
+ /**
14
+ * Validate a CSS custom property name (the part after --).
15
+ * Returns true if the name is valid for use as a CSS custom property.
16
+ */
17
+ export declare function isValidPropertyName(name: string): boolean;
18
+ /**
19
+ * Result of parsing a property token.
20
+ */
21
+ export interface ParsedPropertyToken {
22
+ /** The CSS custom property name (e.g., '--my-prop') */
23
+ cssName: string;
24
+ /** Whether this is a color property */
25
+ isColor: boolean;
26
+ /** Whether the token was valid */
27
+ isValid: boolean;
28
+ /** Error message if invalid */
29
+ error?: string;
30
+ }
31
+ /**
32
+ * Check if styles object has local @properties definition.
33
+ * Fast path: single property lookup.
34
+ */
35
+ export declare function hasLocalProperties(styles: Styles): boolean;
36
+ /**
37
+ * Extract local @properties from styles object.
38
+ * Returns null if no local properties (fast path).
39
+ */
40
+ export declare function extractLocalProperties(styles: Styles): Record<string, PropertyDefinition> | null;
41
+ /**
42
+ * Parse a property token name and return the CSS property name and whether it's a color.
43
+ * Supports tasty token syntax and validates the property name.
44
+ *
45
+ * Token formats:
46
+ * - `$name` → { cssName: '--name', isColor: false }
47
+ * - `#name` → { cssName: '--name-color', isColor: true }
48
+ * - `--name` → { cssName: '--name', isColor: false } (legacy, auto-detect color by suffix)
49
+ * - `name` → { cssName: '--name', isColor: false } (legacy)
50
+ *
51
+ * @param token - The property token to parse
52
+ * @returns Parsed result with cssName, isColor, isValid, and optional error
53
+ */
54
+ export declare function parsePropertyToken(token: string): ParsedPropertyToken;
55
+ /**
56
+ * Normalize a property name to the CSS custom property format.
57
+ *
58
+ * @deprecated Use parsePropertyToken instead for proper token handling
59
+ */
60
+ export declare function normalizePropertyName(name: string): string;
61
+ /**
62
+ * Normalize a property definition to a consistent string representation.
63
+ * Used for comparing definitions to detect changes/conflicts.
64
+ *
65
+ * Keys are sorted alphabetically to ensure consistent comparison:
66
+ * { inherits: true, syntax: '<color>' } === { syntax: '<color>', inherits: true }
67
+ */
68
+ export declare function normalizePropertyDefinition(def: PropertyDefinition): string;
69
+ /**
70
+ * Result of getEffectiveDefinition.
71
+ */
72
+ export interface EffectiveDefinitionResult {
73
+ /** The CSS custom property name */
74
+ cssName: string;
75
+ /** The effective property definition */
76
+ definition: PropertyDefinition;
77
+ /** Whether the token was valid */
78
+ isValid: boolean;
79
+ /** Error message if invalid */
80
+ error?: string;
81
+ }
82
+ /**
83
+ * Get the effective property definition for a token.
84
+ * For color tokens (#name), auto-sets syntax to '<color>' and defaults initialValue to 'transparent'.
85
+ *
86
+ * @param token - Property token ($name, #name, --name, or plain name)
87
+ * @param userDefinition - User-provided definition options
88
+ * @returns Effective definition with cssName, definition, isValid, and optional error
89
+ */
90
+ export declare function getEffectiveDefinition(token: string, userDefinition: PropertyDefinition): EffectiveDefinitionResult;
@@ -1,11 +1,19 @@
1
1
  /**
2
+ * Border style handler with multi-group support.
2
3
  *
3
- * @param border
4
- * @return {{border: string}|*}
4
+ * Single group (backward compatible):
5
+ * - `border="1bw solid #red"` - all sides
6
+ * - `border="1bw solid #red top left"` - only top and left
7
+ *
8
+ * Multi-group (new):
9
+ * - `border="1bw #red, 2bw #blue top"` - all sides red 1bw, then top overridden to blue 2bw
10
+ * - `border="1bw, dashed top bottom, #purple left right"` - base 1bw, dashed on top/bottom, purple on left/right
11
+ *
12
+ * Later groups override earlier groups for conflicting directions.
5
13
  */
6
14
  export declare function borderStyle({ border }: {
7
15
  border: any;
8
- }): {} | undefined;
16
+ }): Record<string, string> | undefined;
9
17
  export declare namespace borderStyle {
10
18
  var __lookupStyles: string[];
11
19
  }
@@ -1,6 +1,6 @@
1
- export declare function boxShadowCombinator(styles: any): "" | {
1
+ export declare function boxShadowCombinator(styles: any): {
2
2
  'box-shadow': string;
3
- };
3
+ } | undefined;
4
4
  export declare namespace boxShadowCombinator {
5
5
  var __lookupStyles: string[];
6
6
  }
@@ -1,8 +1,8 @@
1
1
  export declare function colorStyle({ color }: {
2
2
  color: any;
3
- }): "" | {
3
+ }): {
4
4
  color: any;
5
- };
5
+ } | undefined;
6
6
  export declare namespace colorStyle {
7
7
  var __lookupStyles: string[];
8
8
  }
@@ -1 +1,16 @@
1
- export declare function dimensionStyle(name: any): (val: any) => "" | Record<string, string | string[]>;
1
+ interface DimensionProps {
2
+ value?: string | number | boolean;
3
+ min?: string | number | boolean;
4
+ max?: string | number | boolean;
5
+ }
6
+ /**
7
+ * Creates a dimension style handler for width or height.
8
+ *
9
+ * Supports:
10
+ * - Main dimension prop (width/height) with syntax for min/max
11
+ * - Separate min/max props (minWidth/maxWidth or minHeight/maxHeight)
12
+ *
13
+ * Priority: Individual min/max props override values from main prop syntax
14
+ */
15
+ export declare function dimensionStyle(name: 'width' | 'height'): ({ value, min, max }: DimensionProps) => Record<string, string | string[]> | undefined;
16
+ export {};
@@ -1,9 +1,27 @@
1
- export declare function displayStyle({ display, hide }: {
2
- display: any;
3
- hide: any;
4
- }): {
5
- display: any;
6
- };
1
+ interface DisplayStyleProps {
2
+ display?: string;
3
+ hide?: boolean;
4
+ textOverflow?: string | boolean;
5
+ overflow?: string;
6
+ whiteSpace?: string;
7
+ }
8
+ /**
9
+ * Handles display, hide, textOverflow, overflow, and whiteSpace styles.
10
+ *
11
+ * textOverflow syntax:
12
+ * - `textOverflow="ellipsis"` - single-line truncation with ellipsis
13
+ * - `textOverflow="ellipsis / 3"` - multi-line clamping (3 lines) with ellipsis
14
+ * - `textOverflow="clip"` - single-line truncation with clip (no ellipsis)
15
+ * - `textOverflow="clip / 2"` - multi-line clip (2 lines)
16
+ * - `textOverflow={true}` or `textOverflow="initial"` - reset to initial
17
+ *
18
+ * Priority:
19
+ * 1. `hide` takes precedence (display: none)
20
+ * 2. Multi-line `textOverflow` forces display: -webkit-box
21
+ * 3. Single-line `textOverflow` forces white-space: nowrap and overflow: hidden
22
+ */
23
+ export declare function displayStyle({ display, hide, textOverflow, overflow, whiteSpace, }: DisplayStyleProps): Record<string, string | number> | undefined;
7
24
  export declare namespace displayStyle {
8
25
  var __lookupStyles: string[];
9
26
  }
27
+ export {};
@@ -1,9 +1,9 @@
1
1
  export declare function fadeStyle({ fade }: {
2
2
  fade: any;
3
- }): "" | {
4
- mask: any;
3
+ }): {
4
+ mask: string;
5
5
  'mask-composite': string;
6
- };
6
+ } | undefined;
7
7
  export declare namespace fadeStyle {
8
8
  var __lookupStyles: string[];
9
9
  }
@@ -1,16 +1,26 @@
1
- export declare function fillStyle({ fill }: {
1
+ export declare function fillStyle({ fill, backgroundColor, image, backgroundImage, backgroundPosition, backgroundSize, backgroundRepeat, backgroundAttachment, backgroundOrigin, backgroundClip, background, }: {
2
2
  fill: any;
3
- }): "" | {
4
- 'background-color': any;
5
- };
3
+ backgroundColor: any;
4
+ image: any;
5
+ backgroundImage: any;
6
+ backgroundPosition: any;
7
+ backgroundSize: any;
8
+ backgroundRepeat: any;
9
+ backgroundAttachment: any;
10
+ backgroundOrigin: any;
11
+ backgroundClip: any;
12
+ background: any;
13
+ }): Record<string, string> | {
14
+ background: any;
15
+ } | undefined;
6
16
  export declare namespace fillStyle {
7
17
  var __lookupStyles: string[];
8
18
  }
9
19
  export declare function svgFillStyle({ svgFill }: {
10
20
  svgFill: any;
11
- }): "" | {
21
+ }): {
12
22
  fill: any;
13
- };
23
+ } | undefined;
14
24
  export declare namespace svgFillStyle {
15
25
  var __lookupStyles: string[];
16
26
  }
@@ -1,6 +1,10 @@
1
- export declare function heightStyle({ height }: {
2
- height: any;
3
- }): "" | Record<string, string | string[]>;
1
+ interface HeightStyleProps {
2
+ height?: string | number | boolean;
3
+ minHeight?: string | number | boolean;
4
+ maxHeight?: string | number | boolean;
5
+ }
6
+ export declare function heightStyle({ height, minHeight, maxHeight, }: HeightStyleProps): Record<string, string | string[]> | undefined;
4
7
  export declare namespace heightStyle {
5
8
  var __lookupStyles: string[];
6
9
  }
10
+ export {};
@@ -1,5 +1,7 @@
1
+ import { styleHandlers } from './predefined';
1
2
  declare const STYLE_HANDLER_MAP: {
2
3
  [x: string]: import("..").StyleHandler[];
3
4
  }, defineCustomStyle: typeof import("./predefined").defineCustomStyle, defineStyleAlias: typeof import("./predefined").defineStyleAlias;
4
- export { STYLE_HANDLER_MAP, defineCustomStyle, defineStyleAlias };
5
+ export { STYLE_HANDLER_MAP, defineCustomStyle, defineStyleAlias, styleHandlers, };
5
6
  export * from './createStyle';
7
+ export { normalizeHandlerDefinition, registerHandler, resetHandlers, validateHandlerResult, } from './predefined';
@@ -1,6 +1,38 @@
1
- export declare function insetStyle({ inset }: {
2
- inset: any;
3
- }): any;
1
+ /**
2
+ * Inset style handler.
3
+ *
4
+ * IMPORTANT: This handler uses individual CSS properties (top, right, bottom, left)
5
+ * when only individual direction props are specified. This allows CSS cascade to work
6
+ * correctly when modifiers override only some directions.
7
+ *
8
+ * Example problem with using `inset` shorthand everywhere:
9
+ * styles: {
10
+ * top: { '': 0, 'side=bottom': 'initial' },
11
+ * right: { '': 0, 'side=left': 'initial' },
12
+ * bottom: { '': 0, 'side=top': 'initial' },
13
+ * left: { '': 0, 'side=right': 'initial' },
14
+ * }
15
+ *
16
+ * If we output `inset` for both cases:
17
+ * - Default: inset: 0 0 0 0
18
+ * - side=bottom: inset: initial auto auto auto ← WRONG! Overrides all 4 directions
19
+ *
20
+ * With individual properties:
21
+ * - Default: top: 0; right: 0; bottom: 0; left: 0
22
+ * - side=bottom: top: initial ← CORRECT! Only overrides top
23
+ *
24
+ * The `inset` shorthand is only used when the base `inset` prop is specified
25
+ * OR when `insetBlock`/`insetInline` are used (which imply setting pairs).
26
+ */
27
+ export declare function insetStyle({ inset, insetBlock, insetInline, top, right, bottom, left, }: {
28
+ inset?: string | number | boolean;
29
+ insetBlock?: string | number | boolean;
30
+ insetInline?: string | number | boolean;
31
+ top?: string | number | boolean;
32
+ right?: string | number | boolean;
33
+ bottom?: string | number | boolean;
34
+ left?: string | number | boolean;
35
+ }): Record<string, string>;
4
36
  export declare namespace insetStyle {
5
37
  var __lookupStyles: string[];
6
38
  }
@@ -3,10 +3,10 @@ export declare const POSITION_STYLES: readonly ["gridArea", "order", "gridColumn
3
3
  export declare const BLOCK_INNER_STYLES: readonly ["reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign"];
4
4
  export declare const BLOCK_OUTER_STYLES: readonly ["border", "radius", "shadow", "outline"];
5
5
  export declare const BLOCK_STYLES: readonly ["reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline"];
6
- export declare const COLOR_STYLES: readonly ["color", "fill", "fade"];
6
+ export declare const COLOR_STYLES: readonly ["color", "fill", "fade", "image"];
7
7
  export declare const TEXT_STYLES: readonly ["textTransform", "fontWeight", "fontStyle"];
8
8
  export declare const DIMENSION_STYLES: readonly ["width", "height", "flexBasis", "flexGrow", "flexShrink", "flex"];
9
9
  export declare const FLOW_STYLES: readonly ["flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
10
- export declare const CONTAINER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
10
+ export declare const CONTAINER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
11
11
  export declare const OUTER_STYLES: readonly ["gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "border", "radius", "shadow", "outline"];
12
- export declare const INNER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
12
+ export declare const INNER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "reset", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
@@ -1,17 +1,23 @@
1
+ interface OutlineStyleProps {
2
+ outline?: string | boolean | number;
3
+ outlineOffset?: string | number;
4
+ }
1
5
  /**
6
+ * Generates CSS for outline property with optional offset.
7
+ *
8
+ * Syntax:
9
+ * - `outline="2px solid #red"` - outline only
10
+ * - `outline="2px solid #red / 4px"` - outline with offset (slash separator)
11
+ * - `outline="2px / 4px"` - width with offset (simpler form)
12
+ * - `outline={true}` - default 1ow solid outline
13
+ * - `outlineOffset="4px"` - offset as separate prop (can be combined with outline)
14
+ *
15
+ * Priority: slash syntax in outline takes precedence over outlineOffset prop
2
16
  *
3
- * @param outline
4
- * @return {{outline: string}|*}
17
+ * @return CSS properties for outline and optionally outline-offset
5
18
  */
6
- export declare function outlineStyle({ outline }: {
7
- outline: any;
8
- }): {
9
- outline: string;
10
- 'outline-offset': string;
11
- } | {
12
- outline: string;
13
- 'outline-offset'?: undefined;
14
- } | undefined;
19
+ export declare function outlineStyle({ outline, outlineOffset }: OutlineStyleProps): Record<string, string> | undefined;
15
20
  export declare namespace outlineStyle {
16
21
  var __lookupStyles: string[];
17
22
  }
23
+ export {};