@cube-dev/ui-kit 0.118.0 → 0.119.1

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 (1012) hide show
  1. package/dist/CHANGELOG.md +24 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.d.ts +1 -2
  12. package/dist/components/Block.js +2 -5
  13. package/dist/components/Block.js.map +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +2 -3
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.d.ts +1 -2
  18. package/dist/components/GridProvider.js +2 -3
  19. package/dist/components/GridProvider.js.map +1 -1
  20. package/dist/components/HiddenInput.js +2 -2
  21. package/dist/components/HiddenInput.js.map +1 -1
  22. package/dist/components/Root.d.ts +1 -2
  23. package/dist/components/Root.js +2 -6
  24. package/dist/components/Root.js.map +1 -1
  25. package/dist/components/actions/Action/Action.d.ts +1 -2
  26. package/dist/components/actions/Action/Action.js +2 -4
  27. package/dist/components/actions/Action/Action.js.map +1 -1
  28. package/dist/components/actions/Banner/Banner.js +2 -2
  29. package/dist/components/actions/Banner/Banner.js.map +1 -1
  30. package/dist/components/actions/Button/Button.d.ts +3 -1769
  31. package/dist/components/actions/Button/Button.js +2 -4
  32. package/dist/components/actions/Button/Button.js.map +1 -1
  33. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -2
  34. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  35. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -3
  36. package/dist/components/actions/CommandMenu/CommandMenu.js +2 -4
  37. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  38. package/dist/components/actions/CommandMenu/styled.js +3 -3
  39. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  40. package/dist/components/actions/ItemAction/ItemAction.d.ts +1 -3
  41. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  42. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  43. package/dist/components/actions/ItemActionContext.js +1 -1
  44. package/dist/components/actions/ItemButton/ItemButton.d.ts +1 -2
  45. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  47. package/dist/components/actions/Link/Link.js +1 -1
  48. package/dist/components/actions/Menu/Menu.d.ts +1 -3
  49. package/dist/components/actions/Menu/Menu.js +2 -4
  50. package/dist/components/actions/Menu/Menu.js.map +1 -1
  51. package/dist/components/actions/Menu/MenuItem.d.ts +1 -2
  52. package/dist/components/actions/Menu/MenuItem.js +1 -1
  53. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  54. package/dist/components/actions/Menu/MenuSection.d.ts +1 -2
  55. package/dist/components/actions/Menu/MenuSection.js +1 -1
  56. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  57. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  58. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  59. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  60. package/dist/components/actions/Menu/context.js +1 -1
  61. package/dist/components/actions/Menu/styled.js +2 -2
  62. package/dist/components/actions/Menu/styled.js.map +1 -1
  63. package/dist/components/actions/index.js +1 -1
  64. package/dist/components/actions/use-action.d.ts +1 -2
  65. package/dist/components/actions/use-action.js +2 -2
  66. package/dist/components/actions/use-action.js.map +1 -1
  67. package/dist/components/actions/use-anchored-menu.js +1 -1
  68. package/dist/components/actions/use-context-menu.js +1 -1
  69. package/dist/components/content/ActiveZone/ActiveZone.d.ts +1 -2
  70. package/dist/components/content/ActiveZone/ActiveZone.js +2 -5
  71. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  72. package/dist/components/content/Alert/Alert.js +2 -2
  73. package/dist/components/content/Alert/Alert.js.map +1 -1
  74. package/dist/components/content/Alert/types.d.ts +1 -2
  75. package/dist/components/content/Alert/use-alert.js +2 -4
  76. package/dist/components/content/Alert/use-alert.js.map +1 -1
  77. package/dist/components/content/Avatar/Avatar.d.ts +1 -3
  78. package/dist/components/content/Avatar/Avatar.js +2 -5
  79. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  80. package/dist/components/content/Badge/Badge.js +2 -2
  81. package/dist/components/content/Badge/Badge.js.map +1 -1
  82. package/dist/components/content/Card/Card.d.ts +1 -2
  83. package/dist/components/content/Card/Card.js +2 -5
  84. package/dist/components/content/Card/Card.js.map +1 -1
  85. package/dist/components/content/Content.d.ts +1 -2
  86. package/dist/components/content/Content.js +2 -5
  87. package/dist/components/content/Content.js.map +1 -1
  88. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -3
  89. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -4
  90. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  91. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  92. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  93. package/dist/components/content/Disclosure/Disclosure.d.ts +1 -3
  94. package/dist/components/content/Disclosure/Disclosure.js +3 -4
  95. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  96. package/dist/components/content/Divider.d.ts +1 -2
  97. package/dist/components/content/Divider.js +2 -4
  98. package/dist/components/content/Divider.js.map +1 -1
  99. package/dist/components/content/Footer.d.ts +1 -2
  100. package/dist/components/content/Footer.js +2 -5
  101. package/dist/components/content/Footer.js.map +1 -1
  102. package/dist/components/content/Header.d.ts +1 -2
  103. package/dist/components/content/Header.js +2 -5
  104. package/dist/components/content/Header.js.map +1 -1
  105. package/dist/components/content/HotKeys/HotKeys.d.ts +1 -2
  106. package/dist/components/content/HotKeys/HotKeys.js +2 -5
  107. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  108. package/dist/components/content/Item/Item.d.ts +1 -3
  109. package/dist/components/content/Item/Item.js +2 -3
  110. package/dist/components/content/Item/Item.js.map +1 -1
  111. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -2
  112. package/dist/components/content/ItemBadge/ItemBadge.js +2 -2
  113. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  114. package/dist/components/content/Layout/GridLayout.d.ts +1 -2
  115. package/dist/components/content/Layout/GridLayout.js +2 -2
  116. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  117. package/dist/components/content/Layout/Layout.d.ts +1 -3
  118. package/dist/components/content/Layout/Layout.js +3 -7
  119. package/dist/components/content/Layout/Layout.js.map +1 -1
  120. package/dist/components/content/Layout/LayoutBlock.js +2 -2
  121. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  122. package/dist/components/content/Layout/LayoutCenter.js +2 -2
  123. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutContainer.d.ts +1 -3
  125. package/dist/components/content/Layout/LayoutContainer.js +2 -6
  126. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  127. package/dist/components/content/Layout/LayoutContent.d.ts +1 -2
  128. package/dist/components/content/Layout/LayoutContent.js +2 -6
  129. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  130. package/dist/components/content/Layout/LayoutContext.js +1 -1
  131. package/dist/components/content/Layout/LayoutFlex.js +2 -2
  132. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutFooter.js +2 -2
  134. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutGrid.d.ts +1 -2
  136. package/dist/components/content/Layout/LayoutGrid.js +2 -2
  137. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  138. package/dist/components/content/Layout/LayoutHeader.js +2 -2
  139. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  140. package/dist/components/content/Layout/LayoutPane.d.ts +1 -3
  141. package/dist/components/content/Layout/LayoutPane.js +2 -6
  142. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  143. package/dist/components/content/Layout/LayoutPanel.d.ts +1 -3
  144. package/dist/components/content/Layout/LayoutPanel.js +2 -6
  145. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  146. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +1 -2
  147. package/dist/components/content/Layout/LayoutPanelHeader.js +2 -4
  148. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  149. package/dist/components/content/Layout/LayoutToolbar.js +2 -2
  150. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  152. package/dist/components/content/Layout/index.js +1 -1
  153. package/dist/components/content/Layout/utils.js +1 -1
  154. package/dist/components/content/Paragraph.d.ts +1 -2
  155. package/dist/components/content/Paragraph.js +2 -3
  156. package/dist/components/content/Paragraph.js.map +1 -1
  157. package/dist/components/content/Placeholder/Placeholder.d.ts +1 -3
  158. package/dist/components/content/Placeholder/Placeholder.js +2 -6
  159. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  160. package/dist/components/content/PrismCode/PrismCode.d.ts +1 -3
  161. package/dist/components/content/PrismCode/PrismCode.js +2 -3
  162. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  164. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +1 -3
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  166. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  167. package/dist/components/content/Result/Result.d.ts +1 -2
  168. package/dist/components/content/Result/Result.js +2 -5
  169. package/dist/components/content/Result/Result.js.map +1 -1
  170. package/dist/components/content/Skeleton/Skeleton.d.ts +1 -2
  171. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  172. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  173. package/dist/components/content/Tag/Tag.d.ts +1 -2
  174. package/dist/components/content/Tag/Tag.js +2 -2
  175. package/dist/components/content/Tag/Tag.js.map +1 -1
  176. package/dist/components/content/Text.d.ts +128 -159
  177. package/dist/components/content/Text.js +2 -5
  178. package/dist/components/content/Text.js.map +1 -1
  179. package/dist/components/content/TextItem/TextItem.d.ts +1 -2
  180. package/dist/components/content/TextItem/TextItem.js +2 -5
  181. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  182. package/dist/components/content/Title.d.ts +1 -2
  183. package/dist/components/content/Title.js +2 -5
  184. package/dist/components/content/Title.js.map +1 -1
  185. package/dist/components/content/highlightText.js +1 -1
  186. package/dist/components/content/highlightText.js.map +1 -1
  187. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  188. package/dist/components/content/use-auto-tooltip.js +1 -1
  189. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  190. package/dist/components/fields/Checkbox/Checkbox.d.ts +1 -3
  191. package/dist/components/fields/Checkbox/Checkbox.js +2 -5
  192. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  193. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -3
  194. package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -4
  195. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  196. package/dist/components/fields/Checkbox/context.js +1 -1
  197. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -3
  198. package/dist/components/fields/ComboBox/ComboBox.js +2 -4
  199. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  200. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -3
  201. package/dist/components/fields/DatePicker/DateInput.js +2 -3
  202. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  203. package/dist/components/fields/DatePicker/DateInputBase.js +2 -4
  204. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  205. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -3
  206. package/dist/components/fields/DatePicker/DatePicker.js +2 -3
  207. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -2
  209. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -2
  211. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  212. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -2
  213. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  214. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -2
  215. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  216. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -3
  217. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -4
  218. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  219. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -3
  220. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -4
  221. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  222. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -3
  223. package/dist/components/fields/DatePicker/TimeInput.js +2 -3
  224. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  225. package/dist/components/fields/DatePicker/intl.js +1 -1
  226. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  227. package/dist/components/fields/DatePicker/props.js +1 -1
  228. package/dist/components/fields/DatePicker/utils.js +1 -1
  229. package/dist/components/fields/FileInput/FileInput.d.ts +1 -3
  230. package/dist/components/fields/FileInput/FileInput.js +2 -4
  231. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  232. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +1 -2
  233. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -7
  234. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  235. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +1 -3
  236. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -5
  237. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  238. package/dist/components/fields/Input/Input.js +1 -1
  239. package/dist/components/fields/ListBox/ListBox.d.ts +1 -3
  240. package/dist/components/fields/ListBox/ListBox.js +2 -5
  241. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  242. package/dist/components/fields/NumberInput/NumberInput.js +2 -2
  243. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  244. package/dist/components/fields/NumberInput/StepButton.js +2 -2
  245. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  246. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  247. package/dist/components/fields/Picker/Picker.d.ts +1 -3
  248. package/dist/components/fields/Picker/Picker.js +2 -5
  249. package/dist/components/fields/Picker/Picker.js.map +1 -1
  250. package/dist/components/fields/RadioGroup/Radio.d.ts +1 -2
  251. package/dist/components/fields/RadioGroup/Radio.js +2 -5
  252. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  253. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -3
  254. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -4
  255. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  256. package/dist/components/fields/RadioGroup/context.js +1 -1
  257. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  258. package/dist/components/fields/Select/Select.d.ts +834 -836
  259. package/dist/components/fields/Select/Select.js +2 -4
  260. package/dist/components/fields/Select/Select.js.map +1 -1
  261. package/dist/components/fields/Slider/Gradation.js +1 -1
  262. package/dist/components/fields/Slider/HueSlider.js +1 -1
  263. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  264. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  265. package/dist/components/fields/Slider/Slider.d.ts +1 -3
  266. package/dist/components/fields/Slider/Slider.js +2 -3
  267. package/dist/components/fields/Slider/Slider.js.map +1 -1
  268. package/dist/components/fields/Slider/SliderBase.js +2 -4
  269. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  270. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  271. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  272. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  273. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  274. package/dist/components/fields/Slider/elements.js +2 -2
  275. package/dist/components/fields/Slider/elements.js.map +1 -1
  276. package/dist/components/fields/Slider/index.js +1 -1
  277. package/dist/components/fields/Slider/types.d.ts +1 -3
  278. package/dist/components/fields/Switch/Switch.d.ts +1 -3
  279. package/dist/components/fields/Switch/Switch.js +2 -4
  280. package/dist/components/fields/Switch/Switch.js.map +1 -1
  281. package/dist/components/fields/TextArea/TextArea.js +1 -1
  282. package/dist/components/fields/TextInput/TextInput.js +1 -1
  283. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -3
  284. package/dist/components/fields/TextInput/TextInputBase.js +3 -5
  285. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  286. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  287. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  288. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  289. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  290. package/dist/components/form/FieldWrapper/types.d.ts +1 -3
  291. package/dist/components/form/Form/Field.d.ts +1 -2
  292. package/dist/components/form/Form/Field.js +1 -1
  293. package/dist/components/form/Form/Field.js.map +1 -1
  294. package/dist/components/form/Form/Form.d.ts +1 -3
  295. package/dist/components/form/Form/Form.js +2 -5
  296. package/dist/components/form/Form/Form.js.map +1 -1
  297. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  298. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  299. package/dist/components/form/Form/SubmitError.js +1 -1
  300. package/dist/components/form/Form/index.js +1 -1
  301. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  302. package/dist/components/form/Form/use-field/use-field.js +1 -1
  303. package/dist/components/form/Form/use-form.js +2 -2
  304. package/dist/components/form/Form/use-form.js.map +1 -1
  305. package/dist/components/form/Form/validation.js +1 -1
  306. package/dist/components/form/Label.d.ts +1 -3
  307. package/dist/components/form/Label.js +2 -5
  308. package/dist/components/form/Label.js.map +1 -1
  309. package/dist/components/form/wrapper.d.ts +1 -2
  310. package/dist/components/form/wrapper.js +1 -1
  311. package/dist/components/form/wrapper.js.map +1 -1
  312. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  313. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -2
  314. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  315. package/dist/components/layout/Flex.d.ts +1 -2
  316. package/dist/components/layout/Flex.js +2 -5
  317. package/dist/components/layout/Flex.js.map +1 -1
  318. package/dist/components/layout/Flow.d.ts +1 -2
  319. package/dist/components/layout/Flow.js +2 -5
  320. package/dist/components/layout/Flow.js.map +1 -1
  321. package/dist/components/layout/Grid.d.ts +1 -2
  322. package/dist/components/layout/Grid.js +2 -5
  323. package/dist/components/layout/Grid.js.map +1 -1
  324. package/dist/components/layout/Panel.d.ts +1 -3
  325. package/dist/components/layout/Panel.js +2 -3
  326. package/dist/components/layout/Panel.js.map +1 -1
  327. package/dist/components/layout/Prefix.d.ts +1 -2
  328. package/dist/components/layout/Prefix.js +2 -5
  329. package/dist/components/layout/Prefix.js.map +1 -1
  330. package/dist/components/layout/ResizablePanel.d.ts +1 -2
  331. package/dist/components/layout/ResizablePanel.js +2 -2
  332. package/dist/components/layout/ResizablePanel.js.map +1 -1
  333. package/dist/components/layout/Space.d.ts +1 -2
  334. package/dist/components/layout/Space.js +2 -5
  335. package/dist/components/layout/Space.js.map +1 -1
  336. package/dist/components/layout/Suffix.d.ts +1 -2
  337. package/dist/components/layout/Suffix.js +2 -5
  338. package/dist/components/layout/Suffix.js.map +1 -1
  339. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  340. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  341. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  342. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  343. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  344. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  345. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  346. package/dist/components/navigation/Tabs/Tabs.js +2 -4
  347. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  348. package/dist/components/navigation/Tabs/TabsAction.js +2 -2
  349. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  350. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  351. package/dist/components/navigation/Tabs/styled.js +2 -2
  352. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  353. package/dist/components/navigation/Tabs/types.d.ts +1 -3
  354. package/dist/components/navigation/Tabs/types.js +1 -1
  355. package/dist/components/navigation/Tabs/types.js.map +1 -1
  356. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  357. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  358. package/dist/components/organisms/FileTabs/FileTabs.d.ts +1 -2
  359. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  360. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  361. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  362. package/dist/components/other/Calendar/Calendar.js +2 -2
  363. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  364. package/dist/components/other/Calendar/CalendarCell.js +2 -2
  365. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  366. package/dist/components/other/Calendar/CalendarGrid.js +2 -2
  367. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  368. package/dist/components/other/Calendar/RangeCalendar.js +2 -2
  369. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  370. package/dist/components/other/CloudLogo/CloudLogo.js +2 -2
  371. package/dist/components/other/CloudLogo/CloudLogo.js.map +1 -1
  372. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  373. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  374. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  375. package/dist/components/overlays/AlertDialog/types.d.ts +1 -1
  376. package/dist/components/overlays/Dialog/Dialog.d.ts +1 -3
  377. package/dist/components/overlays/Dialog/Dialog.js +2 -4
  378. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  379. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  380. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  381. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -2
  382. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  383. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  384. package/dist/components/overlays/Dialog/context.js +1 -1
  385. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  386. package/dist/components/overlays/Modal/Modal.d.ts +3 -2
  387. package/dist/components/overlays/Modal/Modal.js +2 -2
  388. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  389. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  390. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  391. package/dist/components/overlays/Modal/Overlay.js +1 -1
  392. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  393. package/dist/components/overlays/Modal/Popover.d.ts +1 -1
  394. package/dist/components/overlays/Modal/Popover.js +2 -2
  395. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  396. package/dist/components/overlays/Modal/Tray.d.ts +1 -1
  397. package/dist/components/overlays/Modal/Tray.js +2 -2
  398. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  399. package/dist/components/overlays/Modal/Underlay.js +2 -2
  400. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  401. package/dist/components/overlays/Notifications/Notification.js +1 -1
  402. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  403. package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
  404. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  405. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  406. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationItem.js +2 -2
  408. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  409. package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
  410. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  411. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  412. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  413. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  414. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  415. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  416. package/dist/components/overlays/Notifications/index.js +1 -1
  417. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  419. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  420. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  422. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  423. package/dist/components/overlays/Toast/ToastItem.js +2 -2
  424. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +2 -2
  428. package/dist/components/overlays/Tooltip/Tooltip.d.ts +1 -3
  429. package/dist/components/overlays/Tooltip/Tooltip.js +2 -4
  430. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  431. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +1 -2
  432. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  433. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  434. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  435. package/dist/components/overlays/Tooltip/context.js +1 -1
  436. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  437. package/dist/components/portal/Portal.js +1 -1
  438. package/dist/components/portal/PortalProvider.d.ts +2 -0
  439. package/dist/components/portal/PortalProvider.js +1 -1
  440. package/dist/components/portal/index.d.ts +1 -0
  441. package/dist/components/portal/usePortal.js +1 -1
  442. package/dist/components/shared/InvalidIcon.js +1 -1
  443. package/dist/components/shared/ValidIcon.js +1 -1
  444. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -2
  445. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  446. package/dist/components/status/Spin/Cube.js +2 -2
  447. package/dist/components/status/Spin/Cube.js.map +1 -1
  448. package/dist/components/status/Spin/InternalSpinner.js +2 -2
  449. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  450. package/dist/components/status/Spin/Spin.js +2 -2
  451. package/dist/components/status/Spin/Spin.js.map +1 -1
  452. package/dist/components/status/Spin/SpinsContainer.js +2 -2
  453. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  454. package/dist/components/status/Spin/types.d.ts +1 -2
  455. package/dist/data/item-themes.d.ts +1 -1
  456. package/dist/data/item-themes.js +1 -1
  457. package/dist/data/item-themes.js.map +1 -1
  458. package/dist/data/themes.js +1 -1
  459. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  460. package/dist/icons/AdjustmentsIcon.js +1 -1
  461. package/dist/icons/AiIcon.js +1 -1
  462. package/dist/icons/AreaChartIcon.js +1 -1
  463. package/dist/icons/BackwardIcon.js +1 -1
  464. package/dist/icons/BarChartIcon.js +1 -1
  465. package/dist/icons/BellFilledIcon.js +1 -1
  466. package/dist/icons/BellIcon.js +1 -1
  467. package/dist/icons/BooleanIcon.js +1 -1
  468. package/dist/icons/CalendarEditIcon.js +1 -1
  469. package/dist/icons/CalendarIcon.js +1 -1
  470. package/dist/icons/CaretDownIcon.js +1 -1
  471. package/dist/icons/CaretUpIcon.js +1 -1
  472. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  473. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  474. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  475. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  476. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  477. package/dist/icons/ChartBarLineIcon.js +1 -1
  478. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  479. package/dist/icons/ChartBarStackedIcon.js +1 -1
  480. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  481. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  482. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  483. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  484. package/dist/icons/ChartBubbleIcon.js +1 -1
  485. package/dist/icons/ChartDonut2Icon.js +1 -1
  486. package/dist/icons/ChartFunnelIcon.js +1 -1
  487. package/dist/icons/ChartHeatmapIcon.js +1 -1
  488. package/dist/icons/ChartKPIIcon.js +1 -1
  489. package/dist/icons/ChartPie2Icon.js +1 -1
  490. package/dist/icons/ChartScatterIcon.js +1 -1
  491. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  492. package/dist/icons/CheckCircleIcon.js +1 -1
  493. package/dist/icons/CheckIcon.js +1 -1
  494. package/dist/icons/CircleFilledIcon.js +1 -1
  495. package/dist/icons/ClearIcon.js +1 -1
  496. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  497. package/dist/icons/CloseCircleIcon.js +1 -1
  498. package/dist/icons/CloseIcon.js +1 -1
  499. package/dist/icons/CodeIcon.js +1 -1
  500. package/dist/icons/ColumnTotalIcon.js +1 -1
  501. package/dist/icons/CopyIcon.js +1 -1
  502. package/dist/icons/CountIcon.js +1 -1
  503. package/dist/icons/CubeIcon.js +1 -1
  504. package/dist/icons/CubePauseIcon.js +1 -1
  505. package/dist/icons/CubePlayIcon.js +1 -1
  506. package/dist/icons/CurrencyDollarIcon.js +1 -1
  507. package/dist/icons/DangerIcon.js +1 -1
  508. package/dist/icons/DashboardIcon.js +1 -1
  509. package/dist/icons/DatabaseIcon.js +1 -1
  510. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  511. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  512. package/dist/icons/DirectionIcon.js +2 -2
  513. package/dist/icons/DirectionIcon.js.map +1 -1
  514. package/dist/icons/DonutIcon.js +1 -1
  515. package/dist/icons/DownIcon.js +1 -1
  516. package/dist/icons/EditIcon.js +1 -1
  517. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  518. package/dist/icons/ExclamationCircleIcon.js +1 -1
  519. package/dist/icons/ExclamationIcon.js +1 -1
  520. package/dist/icons/EyeIcon.js +1 -1
  521. package/dist/icons/EyeInvisibleIcon.js +1 -1
  522. package/dist/icons/FilterIcon.js +1 -1
  523. package/dist/icons/FolderFilledIcon.js +1 -1
  524. package/dist/icons/FolderIcon.js +1 -1
  525. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  526. package/dist/icons/FolderOpenIcon.js +1 -1
  527. package/dist/icons/ForwardIcon.js +1 -1
  528. package/dist/icons/HierarchyIcon.js +1 -1
  529. package/dist/icons/HierarchyOpenIcon.js +1 -1
  530. package/dist/icons/Icon.d.ts +1 -3
  531. package/dist/icons/Icon.js +2 -3
  532. package/dist/icons/Icon.js.map +1 -1
  533. package/dist/icons/InfoCircleIcon.js +1 -1
  534. package/dist/icons/InfoIcon.js +1 -1
  535. package/dist/icons/KeyIcon.js +1 -1
  536. package/dist/icons/LeftIcon.js +1 -1
  537. package/dist/icons/LineChartIcon.js +1 -1
  538. package/dist/icons/LoadingIcon.js +1 -1
  539. package/dist/icons/LockFilledIcon.js +1 -1
  540. package/dist/icons/LockIcon.js +1 -1
  541. package/dist/icons/MoreIcon.js +1 -1
  542. package/dist/icons/NotAllowedIcon.js +1 -1
  543. package/dist/icons/Number123Icon.js +1 -1
  544. package/dist/icons/NumberIcon.js +1 -1
  545. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  546. package/dist/icons/PauseCircleIcon.js +1 -1
  547. package/dist/icons/PauseIcon.js +1 -1
  548. package/dist/icons/PercentageIcon.js +1 -1
  549. package/dist/icons/PieChartIcon.js +1 -1
  550. package/dist/icons/PlayCircleIcon.js +1 -1
  551. package/dist/icons/PlayIcon.js +1 -1
  552. package/dist/icons/PlusIcon.js +1 -1
  553. package/dist/icons/ProgressBarIcon.js +1 -1
  554. package/dist/icons/ReloadIcon.js +1 -1
  555. package/dist/icons/ReportIcon.js +1 -1
  556. package/dist/icons/ReturnIcon.js +1 -1
  557. package/dist/icons/RightIcon.js +1 -1
  558. package/dist/icons/RowTotalsIcon.js +1 -1
  559. package/dist/icons/SchemeIcon.js +1 -1
  560. package/dist/icons/SearchIcon.js +1 -1
  561. package/dist/icons/SemanticQueryIcon.js +1 -1
  562. package/dist/icons/SettingsIcon.js +1 -1
  563. package/dist/icons/ShieldFilledIcon.js +1 -1
  564. package/dist/icons/ShieldIcon.js +1 -1
  565. package/dist/icons/SlashIcon.js +1 -1
  566. package/dist/icons/SparklesIcon.js +1 -1
  567. package/dist/icons/SqlIcon.js +1 -1
  568. package/dist/icons/StatsIcon.js +1 -1
  569. package/dist/icons/StopIcon.js +1 -1
  570. package/dist/icons/StringIcon.js +1 -1
  571. package/dist/icons/SubtotalsIcon.js +1 -1
  572. package/dist/icons/SwitchIcon.js +1 -1
  573. package/dist/icons/TableIcon.js +1 -1
  574. package/dist/icons/ThumbsDownIcon.js +1 -1
  575. package/dist/icons/ThumbsUpIcon.js +1 -1
  576. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  577. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  578. package/dist/icons/ThunderboltIcon.js +1 -1
  579. package/dist/icons/TimeIcon.js +1 -1
  580. package/dist/icons/TrashIcon.js +1 -1
  581. package/dist/icons/UnlockIcon.js +1 -1
  582. package/dist/icons/UpIcon.js +1 -1
  583. package/dist/icons/UserGroupIcon.js +1 -1
  584. package/dist/icons/UserIcon.js +1 -1
  585. package/dist/icons/UserLockIcon.js +1 -1
  586. package/dist/icons/ViewIcon.js +1 -1
  587. package/dist/icons/WarningFilledIcon.js +1 -1
  588. package/dist/icons/WarningIcon.js +1 -1
  589. package/dist/icons/wrap-icon.js +1 -1
  590. package/dist/index.d.ts +4 -35
  591. package/dist/index.js +5 -31
  592. package/dist/index.js.map +1 -1
  593. package/dist/provider.d.ts +1 -2
  594. package/dist/provider.js +1 -1
  595. package/dist/provider.js.map +1 -1
  596. package/dist/providers/TrackingProvider.js +1 -1
  597. package/dist/providers/navigationAdapter.default.js +1 -1
  598. package/dist/shared/form.d.ts +1 -3
  599. package/dist/tokens/base.d.ts +1 -1
  600. package/dist/tokens/base.js +1 -1
  601. package/dist/tokens/base.js.map +1 -1
  602. package/dist/tokens/colors.d.ts +1 -1
  603. package/dist/tokens/colors.js +1 -1
  604. package/dist/tokens/colors.js.map +1 -1
  605. package/dist/tokens/index.d.ts +1 -2
  606. package/dist/tokens/index.js +2 -3
  607. package/dist/tokens/index.js.map +1 -1
  608. package/dist/tokens/layout.d.ts +1 -1
  609. package/dist/tokens/layout.js +1 -1
  610. package/dist/tokens/layout.js.map +1 -1
  611. package/dist/tokens/shadows.d.ts +1 -1
  612. package/dist/tokens/shadows.js +1 -1
  613. package/dist/tokens/shadows.js.map +1 -1
  614. package/dist/tokens/sizes.d.ts +1 -1
  615. package/dist/tokens/sizes.js +1 -1
  616. package/dist/tokens/sizes.js.map +1 -1
  617. package/dist/tokens/spacing.d.ts +1 -1
  618. package/dist/tokens/spacing.js +1 -1
  619. package/dist/tokens/spacing.js.map +1 -1
  620. package/dist/utils/ResizeSensor.js +1 -1
  621. package/dist/utils/index.d.ts +1 -2
  622. package/dist/utils/is-dev-env.js +5 -10
  623. package/dist/utils/is-dev-env.js.map +1 -1
  624. package/dist/utils/modules.js +1 -1
  625. package/dist/utils/promise.js +1 -1
  626. package/dist/utils/raf.js +1 -1
  627. package/dist/utils/random.js +1 -1
  628. package/dist/utils/range.js +1 -1
  629. package/dist/utils/react/RenderCache.js +1 -1
  630. package/dist/utils/react/Slots.js +1 -1
  631. package/dist/utils/react/chain.js +1 -1
  632. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  633. package/dist/utils/react/index.d.ts +3 -3
  634. package/dist/utils/react/index.js +20 -0
  635. package/dist/utils/react/interactions.js +1 -1
  636. package/dist/utils/react/isTextOnly.js +1 -1
  637. package/dist/utils/react/mapProps.js +1 -1
  638. package/dist/utils/react/mergeProps.d.ts +1 -2
  639. package/dist/utils/react/mergeProps.js +2 -2
  640. package/dist/utils/react/mergeProps.js.map +1 -1
  641. package/dist/utils/react/nullableValue.d.ts +1 -2
  642. package/dist/utils/react/nullableValue.js +1 -1
  643. package/dist/utils/react/nullableValue.js.map +1 -1
  644. package/dist/utils/react/resolveIcon.d.ts +1 -2
  645. package/dist/utils/react/resolveIcon.js +1 -1
  646. package/dist/utils/react/resolveIcon.js.map +1 -1
  647. package/dist/utils/react/sharedStore.js +1 -1
  648. package/dist/utils/react/useCombinedRefs.js +1 -1
  649. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  650. package/dist/utils/react/useEventBus.js +1 -1
  651. package/dist/utils/react/useId.js +1 -1
  652. package/dist/utils/react/useIsDarwin.js +1 -1
  653. package/dist/utils/react/useKeySymbols.js +1 -1
  654. package/dist/utils/react/useLayoutEffect.js +1 -1
  655. package/dist/utils/react/useLocalStorage.js +1 -1
  656. package/dist/utils/react/useMergeStyles.d.ts +1 -2
  657. package/dist/utils/react/useMergeStyles.js +2 -2
  658. package/dist/utils/react/useMergeStyles.js.map +1 -1
  659. package/dist/utils/react/useQaProps.js +1 -1
  660. package/dist/utils/react/useViewportSize.js +1 -1
  661. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  662. package/dist/utils/tree.js +1 -1
  663. package/dist/utils/warnings.js +1 -1
  664. package/dist/version.js +2 -2
  665. package/package.json +4 -21
  666. package/dist/_virtual/_rolldown/runtime.js +0 -8
  667. package/dist/chunks/cacheKey.js +0 -71
  668. package/dist/chunks/cacheKey.js.map +0 -1
  669. package/dist/chunks/definitions.js +0 -261
  670. package/dist/chunks/definitions.js.map +0 -1
  671. package/dist/chunks/renderChunk.js +0 -68
  672. package/dist/chunks/renderChunk.js.map +0 -1
  673. package/dist/config.js +0 -232
  674. package/dist/config.js.map +0 -1
  675. package/dist/css-writer.d.ts +0 -46
  676. package/dist/css-writer.js +0 -75
  677. package/dist/css-writer.js.map +0 -1
  678. package/dist/extractor.d.ts +0 -25
  679. package/dist/extractor.js +0 -151
  680. package/dist/extractor.js.map +0 -1
  681. package/dist/injector/injector.js +0 -401
  682. package/dist/injector/injector.js.map +0 -1
  683. package/dist/injector/sheet-manager.js +0 -715
  684. package/dist/injector/sheet-manager.js.map +0 -1
  685. package/dist/injector/types.d.ts +0 -19
  686. package/dist/keyframes/index.js +0 -157
  687. package/dist/keyframes/index.js.map +0 -1
  688. package/dist/parser/classify.js +0 -320
  689. package/dist/parser/classify.js.map +0 -1
  690. package/dist/parser/const.js +0 -34
  691. package/dist/parser/const.js.map +0 -1
  692. package/dist/parser/lru.js +0 -110
  693. package/dist/parser/lru.js.map +0 -1
  694. package/dist/parser/parser.js +0 -117
  695. package/dist/parser/parser.js.map +0 -1
  696. package/dist/parser/tokenizer.js +0 -70
  697. package/dist/parser/tokenizer.js.map +0 -1
  698. package/dist/parser/types.d.ts +0 -38
  699. package/dist/parser/types.js +0 -47
  700. package/dist/parser/types.js.map +0 -1
  701. package/dist/pipeline/conditions.js +0 -378
  702. package/dist/pipeline/conditions.js.map +0 -1
  703. package/dist/pipeline/exclusive.js +0 -232
  704. package/dist/pipeline/exclusive.js.map +0 -1
  705. package/dist/pipeline/index.js +0 -633
  706. package/dist/pipeline/index.js.map +0 -1
  707. package/dist/pipeline/materialize.js +0 -822
  708. package/dist/pipeline/materialize.js.map +0 -1
  709. package/dist/pipeline/parseStateKey.js +0 -422
  710. package/dist/pipeline/parseStateKey.js.map +0 -1
  711. package/dist/pipeline/simplify.js +0 -558
  712. package/dist/pipeline/simplify.js.map +0 -1
  713. package/dist/plugins/okhsl-plugin.js +0 -346
  714. package/dist/plugins/okhsl-plugin.js.map +0 -1
  715. package/dist/plugins/types.d.ts +0 -52
  716. package/dist/properties/index.js +0 -142
  717. package/dist/properties/index.js.map +0 -1
  718. package/dist/states/index.js +0 -162
  719. package/dist/states/index.js.map +0 -1
  720. package/dist/styles/align.js +0 -15
  721. package/dist/styles/align.js.map +0 -1
  722. package/dist/styles/border.js +0 -115
  723. package/dist/styles/border.js.map +0 -1
  724. package/dist/styles/color.js +0 -24
  725. package/dist/styles/color.js.map +0 -1
  726. package/dist/styles/createStyle.js +0 -78
  727. package/dist/styles/createStyle.js.map +0 -1
  728. package/dist/styles/dimension.js +0 -100
  729. package/dist/styles/dimension.js.map +0 -1
  730. package/dist/styles/display.js +0 -68
  731. package/dist/styles/display.js.map +0 -1
  732. package/dist/styles/fade.js +0 -58
  733. package/dist/styles/fade.js.map +0 -1
  734. package/dist/styles/fill.js +0 -52
  735. package/dist/styles/fill.js.map +0 -1
  736. package/dist/styles/flow.js +0 -13
  737. package/dist/styles/flow.js.map +0 -1
  738. package/dist/styles/gap.js +0 -37
  739. package/dist/styles/gap.js.map +0 -1
  740. package/dist/styles/height.js +0 -21
  741. package/dist/styles/height.js.map +0 -1
  742. package/dist/styles/index.js +0 -10
  743. package/dist/styles/index.js.map +0 -1
  744. package/dist/styles/inset.js +0 -143
  745. package/dist/styles/inset.js.map +0 -1
  746. package/dist/styles/justify.js +0 -15
  747. package/dist/styles/justify.js.map +0 -1
  748. package/dist/styles/margin.js +0 -97
  749. package/dist/styles/margin.js.map +0 -1
  750. package/dist/styles/outline.js +0 -66
  751. package/dist/styles/outline.js.map +0 -1
  752. package/dist/styles/padding.js +0 -97
  753. package/dist/styles/padding.js.map +0 -1
  754. package/dist/styles/predefined.js +0 -233
  755. package/dist/styles/predefined.js.map +0 -1
  756. package/dist/styles/preset.js +0 -126
  757. package/dist/styles/preset.js.map +0 -1
  758. package/dist/styles/radius.js +0 -52
  759. package/dist/styles/radius.js.map +0 -1
  760. package/dist/styles/scrollbar.js +0 -109
  761. package/dist/styles/scrollbar.js.map +0 -1
  762. package/dist/styles/shadow.js +0 -28
  763. package/dist/styles/shadow.js.map +0 -1
  764. package/dist/styles/styledScrollbar.js +0 -39
  765. package/dist/styles/styledScrollbar.js.map +0 -1
  766. package/dist/styles/transition.js +0 -139
  767. package/dist/styles/transition.js.map +0 -1
  768. package/dist/styles/types.d.ts +0 -495
  769. package/dist/styles/width.js +0 -21
  770. package/dist/styles/width.js.map +0 -1
  771. package/dist/tasty/chunks/cacheKey.js +0 -71
  772. package/dist/tasty/chunks/cacheKey.js.map +0 -1
  773. package/dist/tasty/chunks/definitions.d.ts +0 -38
  774. package/dist/tasty/chunks/definitions.js +0 -261
  775. package/dist/tasty/chunks/definitions.js.map +0 -1
  776. package/dist/tasty/chunks/renderChunk.js +0 -68
  777. package/dist/tasty/chunks/renderChunk.js.map +0 -1
  778. package/dist/tasty/config.d.ts +0 -283
  779. package/dist/tasty/config.js +0 -401
  780. package/dist/tasty/config.js.map +0 -1
  781. package/dist/tasty/debug.d.ts +0 -200
  782. package/dist/tasty/debug.js +0 -734
  783. package/dist/tasty/debug.js.map +0 -1
  784. package/dist/tasty/hooks/useGlobalStyles.d.ts +0 -28
  785. package/dist/tasty/hooks/useGlobalStyles.js +0 -57
  786. package/dist/tasty/hooks/useGlobalStyles.js.map +0 -1
  787. package/dist/tasty/hooks/useKeyframes.d.ts +0 -57
  788. package/dist/tasty/hooks/useKeyframes.js +0 -55
  789. package/dist/tasty/hooks/useKeyframes.js.map +0 -1
  790. package/dist/tasty/hooks/useProperty.d.ts +0 -80
  791. package/dist/tasty/hooks/useProperty.js +0 -92
  792. package/dist/tasty/hooks/useProperty.js.map +0 -1
  793. package/dist/tasty/hooks/useRawCSS.d.ts +0 -54
  794. package/dist/tasty/hooks/useRawCSS.js +0 -29
  795. package/dist/tasty/hooks/useRawCSS.js.map +0 -1
  796. package/dist/tasty/hooks/useStyles.d.ts +0 -41
  797. package/dist/tasty/hooks/useStyles.js +0 -170
  798. package/dist/tasty/hooks/useStyles.js.map +0 -1
  799. package/dist/tasty/index.d.ts +0 -35
  800. package/dist/tasty/injector/index.d.ts +0 -158
  801. package/dist/tasty/injector/index.js +0 -155
  802. package/dist/tasty/injector/index.js.map +0 -1
  803. package/dist/tasty/injector/injector.d.ts +0 -137
  804. package/dist/tasty/injector/injector.js +0 -401
  805. package/dist/tasty/injector/injector.js.map +0 -1
  806. package/dist/tasty/injector/sheet-manager.d.ts +0 -128
  807. package/dist/tasty/injector/sheet-manager.js +0 -715
  808. package/dist/tasty/injector/sheet-manager.js.map +0 -1
  809. package/dist/tasty/injector/types.d.ts +0 -136
  810. package/dist/tasty/keyframes/index.js +0 -207
  811. package/dist/tasty/keyframes/index.js.map +0 -1
  812. package/dist/tasty/parser/classify.js +0 -320
  813. package/dist/tasty/parser/classify.js.map +0 -1
  814. package/dist/tasty/parser/const.js +0 -34
  815. package/dist/tasty/parser/const.js.map +0 -1
  816. package/dist/tasty/parser/lru.js +0 -110
  817. package/dist/tasty/parser/lru.js.map +0 -1
  818. package/dist/tasty/parser/parser.d.ts +0 -26
  819. package/dist/tasty/parser/parser.js +0 -117
  820. package/dist/tasty/parser/parser.js.map +0 -1
  821. package/dist/tasty/parser/tokenizer.js +0 -70
  822. package/dist/tasty/parser/tokenizer.js.map +0 -1
  823. package/dist/tasty/parser/types.d.ts +0 -47
  824. package/dist/tasty/parser/types.js +0 -47
  825. package/dist/tasty/parser/types.js.map +0 -1
  826. package/dist/tasty/pipeline/conditions.js +0 -378
  827. package/dist/tasty/pipeline/conditions.js.map +0 -1
  828. package/dist/tasty/pipeline/exclusive.js +0 -232
  829. package/dist/tasty/pipeline/exclusive.js.map +0 -1
  830. package/dist/tasty/pipeline/index.d.ts +0 -52
  831. package/dist/tasty/pipeline/index.js +0 -639
  832. package/dist/tasty/pipeline/index.js.map +0 -1
  833. package/dist/tasty/pipeline/materialize.js +0 -822
  834. package/dist/tasty/pipeline/materialize.js.map +0 -1
  835. package/dist/tasty/pipeline/parseStateKey.js +0 -422
  836. package/dist/tasty/pipeline/parseStateKey.js.map +0 -1
  837. package/dist/tasty/pipeline/simplify.js +0 -558
  838. package/dist/tasty/pipeline/simplify.js.map +0 -1
  839. package/dist/tasty/plugins/okhsl-plugin.d.ts +0 -36
  840. package/dist/tasty/plugins/okhsl-plugin.js +0 -372
  841. package/dist/tasty/plugins/okhsl-plugin.js.map +0 -1
  842. package/dist/tasty/plugins/types.d.ts +0 -72
  843. package/dist/tasty/properties/index.js +0 -159
  844. package/dist/tasty/properties/index.js.map +0 -1
  845. package/dist/tasty/states/index.d.ts +0 -44
  846. package/dist/tasty/states/index.js +0 -390
  847. package/dist/tasty/states/index.js.map +0 -1
  848. package/dist/tasty/static/index.d.ts +0 -6
  849. package/dist/tasty/static/index.js +0 -6
  850. package/dist/tasty/static/tastyStatic.d.ts +0 -47
  851. package/dist/tasty/static/tastyStatic.js +0 -32
  852. package/dist/tasty/static/tastyStatic.js.map +0 -1
  853. package/dist/tasty/static/types.d.ts +0 -50
  854. package/dist/tasty/static/types.js +0 -25
  855. package/dist/tasty/static/types.js.map +0 -1
  856. package/dist/tasty/styles/align.d.ts +0 -16
  857. package/dist/tasty/styles/align.js +0 -15
  858. package/dist/tasty/styles/align.js.map +0 -1
  859. package/dist/tasty/styles/border.d.ts +0 -26
  860. package/dist/tasty/styles/border.js +0 -115
  861. package/dist/tasty/styles/border.js.map +0 -1
  862. package/dist/tasty/styles/color.d.ts +0 -15
  863. package/dist/tasty/styles/color.js +0 -24
  864. package/dist/tasty/styles/color.js.map +0 -1
  865. package/dist/tasty/styles/createStyle.js +0 -78
  866. package/dist/tasty/styles/createStyle.js.map +0 -1
  867. package/dist/tasty/styles/dimension.js +0 -100
  868. package/dist/tasty/styles/dimension.js.map +0 -1
  869. package/dist/tasty/styles/display.d.ts +0 -38
  870. package/dist/tasty/styles/display.js +0 -68
  871. package/dist/tasty/styles/display.js.map +0 -1
  872. package/dist/tasty/styles/fade.d.ts +0 -16
  873. package/dist/tasty/styles/fade.js +0 -58
  874. package/dist/tasty/styles/fade.js.map +0 -1
  875. package/dist/tasty/styles/fill.d.ts +0 -45
  876. package/dist/tasty/styles/fill.js +0 -52
  877. package/dist/tasty/styles/fill.js.map +0 -1
  878. package/dist/tasty/styles/flow.d.ts +0 -17
  879. package/dist/tasty/styles/flow.js +0 -13
  880. package/dist/tasty/styles/flow.js.map +0 -1
  881. package/dist/tasty/styles/gap.d.ts +0 -32
  882. package/dist/tasty/styles/gap.js +0 -37
  883. package/dist/tasty/styles/gap.js.map +0 -1
  884. package/dist/tasty/styles/height.d.ts +0 -18
  885. package/dist/tasty/styles/height.js +0 -21
  886. package/dist/tasty/styles/height.js.map +0 -1
  887. package/dist/tasty/styles/index.d.ts +0 -3
  888. package/dist/tasty/styles/index.js +0 -10
  889. package/dist/tasty/styles/index.js.map +0 -1
  890. package/dist/tasty/styles/inset.d.ts +0 -51
  891. package/dist/tasty/styles/inset.js +0 -143
  892. package/dist/tasty/styles/inset.js.map +0 -1
  893. package/dist/tasty/styles/justify.d.ts +0 -16
  894. package/dist/tasty/styles/justify.js +0 -15
  895. package/dist/tasty/styles/justify.js.map +0 -1
  896. package/dist/tasty/styles/list.d.ts +0 -17
  897. package/dist/tasty/styles/list.js +0 -99
  898. package/dist/tasty/styles/list.js.map +0 -1
  899. package/dist/tasty/styles/margin.d.ts +0 -29
  900. package/dist/tasty/styles/margin.js +0 -97
  901. package/dist/tasty/styles/margin.js.map +0 -1
  902. package/dist/tasty/styles/outline.d.ts +0 -30
  903. package/dist/tasty/styles/outline.js +0 -66
  904. package/dist/tasty/styles/outline.js.map +0 -1
  905. package/dist/tasty/styles/padding.d.ts +0 -29
  906. package/dist/tasty/styles/padding.js +0 -97
  907. package/dist/tasty/styles/padding.js.map +0 -1
  908. package/dist/tasty/styles/predefined.d.ts +0 -74
  909. package/dist/tasty/styles/predefined.js +0 -242
  910. package/dist/tasty/styles/predefined.js.map +0 -1
  911. package/dist/tasty/styles/preset.d.ts +0 -48
  912. package/dist/tasty/styles/preset.js +0 -126
  913. package/dist/tasty/styles/preset.js.map +0 -1
  914. package/dist/tasty/styles/radius.d.ts +0 -15
  915. package/dist/tasty/styles/radius.js +0 -52
  916. package/dist/tasty/styles/radius.js.map +0 -1
  917. package/dist/tasty/styles/scrollbar.d.ts +0 -22
  918. package/dist/tasty/styles/scrollbar.js +0 -109
  919. package/dist/tasty/styles/scrollbar.js.map +0 -1
  920. package/dist/tasty/styles/shadow.d.ts +0 -15
  921. package/dist/tasty/styles/shadow.js +0 -28
  922. package/dist/tasty/styles/shadow.js.map +0 -1
  923. package/dist/tasty/styles/styledScrollbar.d.ts +0 -48
  924. package/dist/tasty/styles/styledScrollbar.js +0 -39
  925. package/dist/tasty/styles/styledScrollbar.js.map +0 -1
  926. package/dist/tasty/styles/transition.d.ts +0 -15
  927. package/dist/tasty/styles/transition.js +0 -139
  928. package/dist/tasty/styles/transition.js.map +0 -1
  929. package/dist/tasty/styles/types.d.ts +0 -499
  930. package/dist/tasty/styles/width.d.ts +0 -18
  931. package/dist/tasty/styles/width.js +0 -21
  932. package/dist/tasty/styles/width.js.map +0 -1
  933. package/dist/tasty/tasty.d.ts +0 -936
  934. package/dist/tasty/tasty.js +0 -191
  935. package/dist/tasty/tasty.js.map +0 -1
  936. package/dist/tasty/types.d.ts +0 -192
  937. package/dist/tasty/utils/cache-wrapper.js +0 -25
  938. package/dist/tasty/utils/cache-wrapper.js.map +0 -1
  939. package/dist/tasty/utils/case-converter.js +0 -9
  940. package/dist/tasty/utils/case-converter.js.map +0 -1
  941. package/dist/tasty/utils/colors.d.ts +0 -6
  942. package/dist/tasty/utils/colors.js +0 -10
  943. package/dist/tasty/utils/colors.js.map +0 -1
  944. package/dist/tasty/utils/dotize.d.ts +0 -27
  945. package/dist/tasty/utils/dotize.js +0 -123
  946. package/dist/tasty/utils/dotize.js.map +0 -1
  947. package/dist/tasty/utils/filter-base-props.d.ts +0 -16
  948. package/dist/tasty/utils/filter-base-props.js +0 -46
  949. package/dist/tasty/utils/filter-base-props.js.map +0 -1
  950. package/dist/tasty/utils/get-display-name.d.ts +0 -8
  951. package/dist/tasty/utils/get-display-name.js +0 -11
  952. package/dist/tasty/utils/get-display-name.js.map +0 -1
  953. package/dist/tasty/utils/hsl-to-rgb.js +0 -39
  954. package/dist/tasty/utils/hsl-to-rgb.js.map +0 -1
  955. package/dist/tasty/utils/is-dev-env.js +0 -20
  956. package/dist/tasty/utils/is-dev-env.js.map +0 -1
  957. package/dist/tasty/utils/merge-styles.d.ts +0 -8
  958. package/dist/tasty/utils/merge-styles.js +0 -147
  959. package/dist/tasty/utils/merge-styles.js.map +0 -1
  960. package/dist/tasty/utils/mod-attrs.d.ts +0 -9
  961. package/dist/tasty/utils/mod-attrs.js +0 -22
  962. package/dist/tasty/utils/mod-attrs.js.map +0 -1
  963. package/dist/tasty/utils/okhsl-to-rgb.js +0 -297
  964. package/dist/tasty/utils/okhsl-to-rgb.js.map +0 -1
  965. package/dist/tasty/utils/process-tokens.d.ts +0 -32
  966. package/dist/tasty/utils/process-tokens.js +0 -172
  967. package/dist/tasty/utils/process-tokens.js.map +0 -1
  968. package/dist/tasty/utils/resolve-recipes.d.ts +0 -18
  969. package/dist/tasty/utils/resolve-recipes.js +0 -144
  970. package/dist/tasty/utils/resolve-recipes.js.map +0 -1
  971. package/dist/tasty/utils/string.js +0 -9
  972. package/dist/tasty/utils/string.js.map +0 -1
  973. package/dist/tasty/utils/styles.d.ts +0 -204
  974. package/dist/tasty/utils/styles.js +0 -577
  975. package/dist/tasty/utils/styles.js.map +0 -1
  976. package/dist/tasty/utils/typography.d.ts +0 -37
  977. package/dist/tasty/utils/typography.js +0 -54
  978. package/dist/tasty/utils/typography.js.map +0 -1
  979. package/dist/tasty/utils/warnings.d.ts +0 -17
  980. package/dist/tasty/utils/warnings.js +0 -17
  981. package/dist/tasty/utils/warnings.js.map +0 -1
  982. package/dist/tasty/zero/babel.d.ts +0 -111
  983. package/dist/tasty/zero/babel.js +0 -283
  984. package/dist/tasty/zero/babel.js.map +0 -1
  985. package/dist/tasty/zero/index.d.ts +0 -4
  986. package/dist/tasty/zero/index.js +0 -5
  987. package/dist/tasty/zero/next.d.ts +0 -61
  988. package/dist/tasty/zero/next.js +0 -79
  989. package/dist/tasty/zero/next.js.map +0 -1
  990. package/dist/tasty.config.ts +0 -311
  991. package/dist/tokens/typography.d.ts +0 -35
  992. package/dist/tokens/typography.js +0 -238
  993. package/dist/tokens/typography.js.map +0 -1
  994. package/dist/utils/cache-wrapper.js +0 -25
  995. package/dist/utils/cache-wrapper.js.map +0 -1
  996. package/dist/utils/case-converter.js +0 -9
  997. package/dist/utils/case-converter.js.map +0 -1
  998. package/dist/utils/hsl-to-rgb.js +0 -39
  999. package/dist/utils/hsl-to-rgb.js.map +0 -1
  1000. package/dist/utils/merge-styles.js +0 -147
  1001. package/dist/utils/merge-styles.js.map +0 -1
  1002. package/dist/utils/okhsl-to-rgb.js +0 -297
  1003. package/dist/utils/okhsl-to-rgb.js.map +0 -1
  1004. package/dist/utils/process-tokens.js +0 -29
  1005. package/dist/utils/process-tokens.js.map +0 -1
  1006. package/dist/utils/resolve-recipes.js +0 -144
  1007. package/dist/utils/resolve-recipes.js.map +0 -1
  1008. package/dist/utils/string.js +0 -9
  1009. package/dist/utils/string.js.map +0 -1
  1010. package/dist/utils/styles.d.ts +0 -23
  1011. package/dist/utils/styles.js +0 -338
  1012. package/dist/utils/styles.js.map +0 -1
@@ -1,36 +0,0 @@
1
-
2
- import { StyleDetails } from "../parser/types.js";
3
- import { TastyPluginFactory } from "./types.js";
4
-
5
- //#region src/tasty/plugins/okhsl-plugin.d.ts
6
- /**
7
- * The okhsl function handler for tasty parser.
8
- * Receives parsed style groups and returns an RGB color string.
9
- */
10
- declare const okhslFunc: (groups: StyleDetails[]) => string;
11
- /**
12
- * OKHSL Plugin for Tasty.
13
- *
14
- * Adds support for the `okhsl()` color function in tasty styles.
15
- *
16
- * @example
17
- * ```ts
18
- * import { configure } from '@cube-dev/ui-kit';
19
- * import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';
20
- *
21
- * configure({
22
- * plugins: [okhslPlugin()],
23
- * });
24
- *
25
- * // Now you can use okhsl in styles:
26
- * const Box = tasty({
27
- * styles: {
28
- * fill: 'okhsl(240 50% 50%)',
29
- * },
30
- * });
31
- * ```
32
- */
33
- declare const okhslPlugin: TastyPluginFactory;
34
- //#endregion
35
- export { okhslFunc, okhslPlugin };
36
- //# sourceMappingURL=okhsl-plugin.d.ts.map
@@ -1,372 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { Lru } from "../parser/lru.js";
3
-
4
- //#region src/tasty/plugins/okhsl-plugin.ts
5
- /**
6
- * OKHSL Plugin for Tasty
7
- *
8
- * Converts OKHSL color syntax to RGB notation.
9
- * Supports angle units: deg, turn, rad, or unitless (degrees).
10
- *
11
- * Examples:
12
- * okhsl(240.5 50% 50%)
13
- * okhsl(240.5deg 50% 50%)
14
- * okhsl(0.25turn 50% 50%)
15
- * okhsl(1.57rad 50% 50%)
16
- *
17
- * Conversion math inlined from @texel/color to avoid external dependencies.
18
- */
19
- const conversionCache = new Lru(500);
20
- const OKLab_to_LMS_M = [
21
- [
22
- 1,
23
- .3963377773761749,
24
- .2158037573099136
25
- ],
26
- [
27
- 1,
28
- -.1055613458156586,
29
- -.0638541728258133
30
- ],
31
- [
32
- 1,
33
- -.0894841775298119,
34
- -1.2914855480194092
35
- ]
36
- ];
37
- const LMS_to_linear_sRGB_M = [
38
- [
39
- 4.076741636075959,
40
- -3.307711539258062,
41
- .2309699031821041
42
- ],
43
- [
44
- -1.2684379732850313,
45
- 2.6097573492876878,
46
- -.3413193760026569
47
- ],
48
- [
49
- -.004196076138675526,
50
- -.703418617935936,
51
- 1.7076146940746113
52
- ]
53
- ];
54
- const OKLab_to_linear_sRGB_coefficients = [
55
- [[-1.8817030993265873, -.8093650129914302], [
56
- 1.19086277,
57
- 1.76576728,
58
- .59662641,
59
- .75515197,
60
- .56771245
61
- ]],
62
- [[1.8144407988010998, -1.194452667805235], [
63
- .73956515,
64
- -.45954404,
65
- .08285427,
66
- .12541073,
67
- -.14503204
68
- ]],
69
- [[.13110757611180954, 1.813339709266608], [
70
- 1.35733652,
71
- -.00915799,
72
- -1.1513021,
73
- -.50559606,
74
- .00692167
75
- ]]
76
- ];
77
- const TAU = 2 * Math.PI;
78
- const clamp = (value, min, max) => Math.max(Math.min(value, max), min);
79
- const constrainAngle = (angle) => (angle % 360 + 360) % 360;
80
- const sRGBLinearToGamma = (val) => {
81
- const sign = val < 0 ? -1 : 1;
82
- const abs = Math.abs(val);
83
- return abs > .0031308 ? sign * (1.055 * Math.pow(abs, 1 / 2.4) - .055) : 12.92 * val;
84
- };
85
- const dot3 = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
86
- const transform = (input, matrix) => [
87
- dot3(input, matrix[0]),
88
- dot3(input, matrix[1]),
89
- dot3(input, matrix[2])
90
- ];
91
- const cubed3 = (lms) => [
92
- lms[0] * lms[0] * lms[0],
93
- lms[1] * lms[1] * lms[1],
94
- lms[2] * lms[2] * lms[2]
95
- ];
96
- const OKLabToLinearSRGB = (lab) => {
97
- return transform(cubed3(transform(lab, OKLab_to_LMS_M)), LMS_to_linear_sRGB_M);
98
- };
99
- const K1 = .206;
100
- const K2 = .03;
101
- const K3 = (1 + K1) / (1 + K2);
102
- const toeInv = (x) => (x ** 2 + K1 * x) / (K3 * (x + K2));
103
- const dotXY = (a, b) => a[0] * b[0] + a[1] * b[1];
104
- const computeMaxSaturationOKLC = (a, b) => {
105
- const okCoeff = OKLab_to_linear_sRGB_coefficients;
106
- const lmsToRgb = LMS_to_linear_sRGB_M;
107
- const tmp2 = [a, b];
108
- const tmp3 = [
109
- 0,
110
- a,
111
- b
112
- ];
113
- let chnlCoeff;
114
- let chnlLMS;
115
- if (dotXY(okCoeff[0][0], tmp2) > 1) {
116
- chnlCoeff = okCoeff[0][1];
117
- chnlLMS = lmsToRgb[0];
118
- } else if (dotXY(okCoeff[1][0], tmp2) > 1) {
119
- chnlCoeff = okCoeff[1][1];
120
- chnlLMS = lmsToRgb[1];
121
- } else {
122
- chnlCoeff = okCoeff[2][1];
123
- chnlLMS = lmsToRgb[2];
124
- }
125
- const [k0, k1, k2, k3, k4] = chnlCoeff;
126
- const [wl, wm, ws] = chnlLMS;
127
- let sat = k0 + k1 * a + k2 * b + k3 * (a * a) + k4 * a * b;
128
- const dotYZ = (mat, vec) => mat[1] * vec[1] + mat[2] * vec[2];
129
- const kl = dotYZ(OKLab_to_LMS_M[0], tmp3);
130
- const km = dotYZ(OKLab_to_LMS_M[1], tmp3);
131
- const ks = dotYZ(OKLab_to_LMS_M[2], tmp3);
132
- let l_ = 1 + sat * kl;
133
- let m_ = 1 + sat * km;
134
- let s_ = 1 + sat * ks;
135
- const l = l_ * l_ * l_;
136
- const m = m_ * m_ * m_;
137
- const s = s_ * s_ * s_;
138
- const lds = 3 * kl * (l_ * l_);
139
- const mds = 3 * km * (m_ * m_);
140
- const sds = 3 * ks * (s_ * s_);
141
- const lds2 = 6 * (kl * kl) * l_;
142
- const mds2 = 6 * (km * km) * m_;
143
- const sds2 = 6 * (ks * ks) * s_;
144
- const f = wl * l + wm * m + ws * s;
145
- const f1 = wl * lds + wm * mds + ws * sds;
146
- const f2 = wl * lds2 + wm * mds2 + ws * sds2;
147
- sat = sat - f * f1 / (f1 * f1 - .5 * f * f2);
148
- return sat;
149
- };
150
- const findCuspOKLCH = (a, b) => {
151
- const S_cusp = computeMaxSaturationOKLC(a, b);
152
- const rgb_at_max = OKLabToLinearSRGB([
153
- 1,
154
- S_cusp * a,
155
- S_cusp * b
156
- ]);
157
- const L_cusp = Math.cbrt(1 / Math.max(Math.max(rgb_at_max[0], rgb_at_max[1]), Math.max(rgb_at_max[2], 0)));
158
- return [L_cusp, L_cusp * S_cusp];
159
- };
160
- const findGamutIntersectionOKLCH = (a, b, l1, c1, l0, cusp) => {
161
- const lmsToRgb = LMS_to_linear_sRGB_M;
162
- const tmp3 = [
163
- 0,
164
- a,
165
- b
166
- ];
167
- const floatMax = Number.MAX_VALUE;
168
- let t;
169
- const dotYZ = (mat, vec) => mat[1] * vec[1] + mat[2] * vec[2];
170
- const dotXYZ = (vec, x, y, z) => vec[0] * x + vec[1] * y + vec[2] * z;
171
- if ((l1 - l0) * cusp[1] - (cusp[0] - l0) * c1 <= 0) {
172
- const denom = c1 * cusp[0] + cusp[1] * (l0 - l1);
173
- t = denom === 0 ? 0 : cusp[1] * l0 / denom;
174
- } else {
175
- const denom = c1 * (cusp[0] - 1) + cusp[1] * (l0 - l1);
176
- t = denom === 0 ? 0 : cusp[1] * (l0 - 1) / denom;
177
- const dl = l1 - l0;
178
- const dc = c1;
179
- const kl = dotYZ(OKLab_to_LMS_M[0], tmp3);
180
- const km = dotYZ(OKLab_to_LMS_M[1], tmp3);
181
- const ks = dotYZ(OKLab_to_LMS_M[2], tmp3);
182
- const ldt_ = dl + dc * kl;
183
- const mdt_ = dl + dc * km;
184
- const sdt_ = dl + dc * ks;
185
- const L = l0 * (1 - t) + t * l1;
186
- const C = t * c1;
187
- const l_ = L + C * kl;
188
- const m_ = L + C * km;
189
- const s_ = L + C * ks;
190
- const l = l_ * l_ * l_;
191
- const m = m_ * m_ * m_;
192
- const s = s_ * s_ * s_;
193
- const ldt = 3 * ldt_ * l_ * l_;
194
- const mdt = 3 * mdt_ * m_ * m_;
195
- const sdt = 3 * sdt_ * s_ * s_;
196
- const ldt2 = 6 * ldt_ * ldt_ * l_;
197
- const mdt2 = 6 * mdt_ * mdt_ * m_;
198
- const sdt2 = 6 * sdt_ * sdt_ * s_;
199
- const r_ = dotXYZ(lmsToRgb[0], l, m, s) - 1;
200
- const r1 = dotXYZ(lmsToRgb[0], ldt, mdt, sdt);
201
- const r2 = dotXYZ(lmsToRgb[0], ldt2, mdt2, sdt2);
202
- const ur = r1 / (r1 * r1 - .5 * r_ * r2);
203
- let tr = -r_ * ur;
204
- const g_ = dotXYZ(lmsToRgb[1], l, m, s) - 1;
205
- const g1 = dotXYZ(lmsToRgb[1], ldt, mdt, sdt);
206
- const g2 = dotXYZ(lmsToRgb[1], ldt2, mdt2, sdt2);
207
- const ug = g1 / (g1 * g1 - .5 * g_ * g2);
208
- let tg = -g_ * ug;
209
- const b_ = dotXYZ(lmsToRgb[2], l, m, s) - 1;
210
- const b1 = dotXYZ(lmsToRgb[2], ldt, mdt, sdt);
211
- const b2 = dotXYZ(lmsToRgb[2], ldt2, mdt2, sdt2);
212
- const ub = b1 / (b1 * b1 - .5 * b_ * b2);
213
- let tb = -b_ * ub;
214
- tr = ur >= 0 ? tr : floatMax;
215
- tg = ug >= 0 ? tg : floatMax;
216
- tb = ub >= 0 ? tb : floatMax;
217
- t += Math.min(tr, Math.min(tg, tb));
218
- }
219
- return t;
220
- };
221
- const computeSt = (cusp) => {
222
- const l = cusp[0];
223
- const c = cusp[1];
224
- return [c / l, c / (1 - l)];
225
- };
226
- const computeStMid = (a, b) => {
227
- return [.11516993 + 1 / (7.4477897 + 4.1590124 * b + a * (-2.19557347 + 1.75198401 * b + a * (-2.13704948 - 10.02301043 * b + a * (-4.24894561 + 5.38770819 * b + 4.69891013 * a)))), .11239642 + 1 / (1.6132032 - .68124379 * b + a * (.40370612 + .90148123 * b + a * (-.27087943 + .6122399 * b + a * (.00299215 - .45399568 * b - .14661872 * a))))];
228
- };
229
- const getCs = (L, a, b, cusp) => {
230
- const cMax = findGamutIntersectionOKLCH(a, b, L, 1, L, cusp);
231
- const stMax = computeSt(cusp);
232
- const k = cMax / Math.min(L * stMax[0], (1 - L) * stMax[1]);
233
- const stMid = computeStMid(a, b);
234
- let ca = L * stMid[0];
235
- let cb = (1 - L) * stMid[1];
236
- const cMid = .9 * k * Math.sqrt(Math.sqrt(1 / (1 / ca ** 4 + 1 / cb ** 4)));
237
- ca = L * .4;
238
- cb = (1 - L) * .8;
239
- return [
240
- Math.sqrt(1 / (1 / ca ** 2 + 1 / cb ** 2)),
241
- cMid,
242
- cMax
243
- ];
244
- };
245
- const OKHSLToOKLab = (hsl) => {
246
- let h = hsl[0];
247
- const s = hsl[1];
248
- const l = hsl[2];
249
- let L = toeInv(l);
250
- let a = 0;
251
- let b = 0;
252
- h = constrainAngle(h) / 360;
253
- if (L !== 0 && L !== 1 && s !== 0) {
254
- const a_ = Math.cos(TAU * h);
255
- const b_ = Math.sin(TAU * h);
256
- const [c0, cMid, cMax] = getCs(L, a_, b_, findCuspOKLCH(a_, b_));
257
- const mid = .8;
258
- const midInv = 1.25;
259
- let t, k0, k1, k2;
260
- if (s < mid) {
261
- t = midInv * s;
262
- k0 = 0;
263
- k1 = mid * c0;
264
- k2 = 1 - k1 / cMid;
265
- } else {
266
- t = 5 * (s - .8);
267
- k0 = cMid;
268
- k1 = .2 * cMid ** 2 * 1.25 ** 2 / c0;
269
- k2 = 1 - k1 / (cMax - cMid);
270
- }
271
- const c = k0 + t * k1 / (1 - k2 * t);
272
- a = c * a_;
273
- b = c * b_;
274
- }
275
- return [
276
- L,
277
- a,
278
- b
279
- ];
280
- };
281
- const okhslToSRGB = (h, s, l) => {
282
- const linearRGB = OKLabToLinearSRGB(OKHSLToOKLab([
283
- h,
284
- s,
285
- l
286
- ]));
287
- return [
288
- clamp(sRGBLinearToGamma(linearRGB[0]), 0, 1),
289
- clamp(sRGBLinearToGamma(linearRGB[1]), 0, 1),
290
- clamp(sRGBLinearToGamma(linearRGB[2]), 0, 1)
291
- ];
292
- };
293
- /**
294
- * Parse an angle value with optional unit.
295
- * Supports: deg, turn, rad, or unitless (treated as degrees).
296
- */
297
- const parseAngle = (value) => {
298
- const match = value.match(/^([+-]?\d*\.?\d+)(deg|turn|rad)?$/);
299
- if (!match) return 0;
300
- const num = parseFloat(match[1]);
301
- switch (match[2]) {
302
- case "turn": return num * 360;
303
- case "rad": return num * 180 / Math.PI;
304
- default: return num;
305
- }
306
- };
307
- /**
308
- * Parse a percentage value (e.g., "50%") to a 0-1 range.
309
- */
310
- const parsePercentage = (value) => {
311
- const match = value.match(/^([+-]?\d*\.?\d+)%?$/);
312
- if (!match) return 0;
313
- const num = parseFloat(match[1]);
314
- return value.includes("%") ? num / 100 : num;
315
- };
316
- /**
317
- * The okhsl function handler for tasty parser.
318
- * Receives parsed style groups and returns an RGB color string.
319
- */
320
- const okhslFunc = (groups) => {
321
- if (groups.length === 0 || groups[0].all.length < 3) {
322
- console.warn("[okhsl] Expected 3 values (H S L), got:", groups);
323
- return "rgb(0% 0% 0%)";
324
- }
325
- const group = groups[0];
326
- const tokens = group.all;
327
- const alpha = group.parts.length > 1 && group.parts[1].all.length > 0 ? group.parts[1].output : void 0;
328
- const cacheKey = tokens.slice(0, 3).join(" ") + (alpha ? ` / ${alpha}` : "");
329
- const cached = conversionCache.get(cacheKey);
330
- if (cached) return cached;
331
- const h = parseAngle(tokens[0]);
332
- const s = parsePercentage(tokens[1]);
333
- const l = parsePercentage(tokens[2]);
334
- const [r, g, b] = okhslToSRGB(h, clamp(s, 0, 1), clamp(l, 0, 1));
335
- const format = (n) => {
336
- const pct = n * 100;
337
- return parseFloat(pct.toFixed(1)).toString() + "%";
338
- };
339
- const result = alpha ? `rgb(${format(r)} ${format(g)} ${format(b)} / ${alpha})` : `rgb(${format(r)} ${format(g)} ${format(b)})`;
340
- conversionCache.set(cacheKey, result);
341
- return result;
342
- };
343
- /**
344
- * OKHSL Plugin for Tasty.
345
- *
346
- * Adds support for the `okhsl()` color function in tasty styles.
347
- *
348
- * @example
349
- * ```ts
350
- * import { configure } from '@cube-dev/ui-kit';
351
- * import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';
352
- *
353
- * configure({
354
- * plugins: [okhslPlugin()],
355
- * });
356
- *
357
- * // Now you can use okhsl in styles:
358
- * const Box = tasty({
359
- * styles: {
360
- * fill: 'okhsl(240 50% 50%)',
361
- * },
362
- * });
363
- * ```
364
- */
365
- const okhslPlugin = () => ({
366
- name: "okhsl",
367
- funcs: { okhsl: okhslFunc }
368
- });
369
-
370
- //#endregion
371
- export { okhslFunc, okhslPlugin };
372
- //# sourceMappingURL=okhsl-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"okhsl-plugin.js","names":[],"sources":["../../../src/tasty/plugins/okhsl-plugin.ts"],"sourcesContent":["/**\n * OKHSL Plugin for Tasty\n *\n * Converts OKHSL color syntax to RGB notation.\n * Supports angle units: deg, turn, rad, or unitless (degrees).\n *\n * Examples:\n * okhsl(240.5 50% 50%)\n * okhsl(240.5deg 50% 50%)\n * okhsl(0.25turn 50% 50%)\n * okhsl(1.57rad 50% 50%)\n *\n * Conversion math inlined from @texel/color to avoid external dependencies.\n */\n\nimport { Lru } from '../parser/lru';\n\nimport type { StyleDetails } from '../parser/types';\nimport type { TastyPlugin, TastyPluginFactory } from './types';\n\n// Cache for OKHSL to RGB conversions\nconst conversionCache = new Lru<string, string>(500);\n\n// ============================================================================\n// Conversion Matrices (from texel-color)\n// ============================================================================\n\nconst OKLab_to_LMS_M: [number, number, number][] = [\n [1.0, 0.3963377773761749, 0.2158037573099136],\n [1.0, -0.1055613458156586, -0.0638541728258133],\n [1.0, -0.0894841775298119, -1.2914855480194092],\n];\n\nconst LMS_to_linear_sRGB_M: [number, number, number][] = [\n [4.076741636075959, -3.307711539258062, 0.2309699031821041],\n [-1.2684379732850313, 2.6097573492876878, -0.3413193760026569],\n [-0.004196076138675526, -0.703418617935936, 1.7076146940746113],\n];\n\nconst OKLab_to_linear_sRGB_coefficients: [\n [[number, number], number[]],\n [[number, number], number[]],\n [[number, number], number[]],\n] = [\n [\n [-1.8817030993265873, -0.8093650129914302],\n [1.19086277, 1.76576728, 0.59662641, 0.75515197, 0.56771245],\n ],\n [\n [1.8144407988010998, -1.194452667805235],\n [0.73956515, -0.45954404, 0.08285427, 0.12541073, -0.14503204],\n ],\n [\n [0.13110757611180954, 1.813339709266608],\n [1.35733652, -0.00915799, -1.1513021, -0.50559606, 0.00692167],\n ],\n];\n\n// ============================================================================\n// Math Utilities\n// ============================================================================\n\nconst TAU = 2 * Math.PI;\n\nconst clamp = (value: number, min: number, max: number): number =>\n Math.max(Math.min(value, max), min);\n\nconst constrainAngle = (angle: number): number => ((angle % 360) + 360) % 360;\n\nconst copySign = (to: number, from: number): number =>\n Math.sign(to) === Math.sign(from) ? to : -to;\n\nconst spow = (base: number, exp: number): number =>\n copySign(Math.abs(base) ** exp, base);\n\n// ============================================================================\n// sRGB Gamma Conversion\n// ============================================================================\n\nconst sRGBLinearToGamma = (val: number): number => {\n const sign = val < 0 ? -1 : 1;\n const abs = Math.abs(val);\n return abs > 0.0031308\n ? sign * (1.055 * Math.pow(abs, 1 / 2.4) - 0.055)\n : 12.92 * val;\n};\n\n// ============================================================================\n// Matrix Operations\n// ============================================================================\n\ntype Vec3 = [number, number, number];\n\nconst dot3 = (a: Vec3, b: Vec3): number =>\n a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n\nconst transform = (input: Vec3, matrix: Vec3[]): Vec3 => [\n dot3(input, matrix[0]),\n dot3(input, matrix[1]),\n dot3(input, matrix[2]),\n];\n\nconst cubed3 = (lms: Vec3): Vec3 => [\n lms[0] * lms[0] * lms[0],\n lms[1] * lms[1] * lms[1],\n lms[2] * lms[2] * lms[2],\n];\n\n// ============================================================================\n// OKLab Conversion\n// ============================================================================\n\nconst OKLabToLinearSRGB = (lab: Vec3): Vec3 => {\n const lms = transform(lab, OKLab_to_LMS_M);\n const cubedLms = cubed3(lms);\n return transform(cubedLms, LMS_to_linear_sRGB_M);\n};\n\n// ============================================================================\n// OKHSL to OKLab Conversion (from texel-color)\n// ============================================================================\n\nconst K1 = 0.206;\nconst K2 = 0.03;\nconst K3 = (1.0 + K1) / (1.0 + K2);\n\nconst toe = (x: number): number =>\n 0.5 *\n (K3 * x - K1 + Math.sqrt((K3 * x - K1) * (K3 * x - K1) + 4 * K2 * K3 * x));\n\nconst toeInv = (x: number): number => (x ** 2 + K1 * x) / (K3 * (x + K2));\n\nconst dotXY = (a: [number, number], b: [number, number]): number =>\n a[0] * b[0] + a[1] * b[1];\n\nconst computeMaxSaturationOKLC = (a: number, b: number): number => {\n const okCoeff = OKLab_to_linear_sRGB_coefficients;\n const lmsToRgb = LMS_to_linear_sRGB_M;\n const tmp2: [number, number] = [a, b];\n const tmp3: Vec3 = [0, a, b];\n\n let chnlCoeff: number[];\n let chnlLMS: Vec3;\n\n if (dotXY(okCoeff[0][0], tmp2) > 1) {\n chnlCoeff = okCoeff[0][1];\n chnlLMS = lmsToRgb[0];\n } else if (dotXY(okCoeff[1][0], tmp2) > 1) {\n chnlCoeff = okCoeff[1][1];\n chnlLMS = lmsToRgb[1];\n } else {\n chnlCoeff = okCoeff[2][1];\n chnlLMS = lmsToRgb[2];\n }\n\n const [k0, k1, k2, k3, k4] = chnlCoeff;\n const [wl, wm, ws] = chnlLMS;\n\n let sat = k0 + k1 * a + k2 * b + k3 * (a * a) + k4 * a * b;\n\n const dotYZ = (mat: Vec3, vec: Vec3): number =>\n mat[1] * vec[1] + mat[2] * vec[2];\n\n const kl = dotYZ(OKLab_to_LMS_M[0], tmp3);\n const km = dotYZ(OKLab_to_LMS_M[1], tmp3);\n const ks = dotYZ(OKLab_to_LMS_M[2], tmp3);\n\n let l_ = 1.0 + sat * kl;\n let m_ = 1.0 + sat * km;\n let s_ = 1.0 + sat * ks;\n\n const l = l_ * l_ * l_;\n const m = m_ * m_ * m_;\n const s = s_ * s_ * s_;\n\n const lds = 3.0 * kl * (l_ * l_);\n const mds = 3.0 * km * (m_ * m_);\n const sds = 3.0 * ks * (s_ * s_);\n\n const lds2 = 6.0 * (kl * kl) * l_;\n const mds2 = 6.0 * (km * km) * m_;\n const sds2 = 6.0 * (ks * ks) * s_;\n\n const f = wl * l + wm * m + ws * s;\n const f1 = wl * lds + wm * mds + ws * sds;\n const f2 = wl * lds2 + wm * mds2 + ws * sds2;\n\n sat = sat - (f * f1) / (f1 * f1 - 0.5 * f * f2);\n\n return sat;\n};\n\nconst findCuspOKLCH = (a: number, b: number): [number, number] => {\n const lmsToRgb = LMS_to_linear_sRGB_M;\n const S_cusp = computeMaxSaturationOKLC(a, b);\n\n const lab: Vec3 = [1, S_cusp * a, S_cusp * b];\n const rgb_at_max = OKLabToLinearSRGB(lab);\n\n const L_cusp = Math.cbrt(\n 1 /\n Math.max(\n Math.max(rgb_at_max[0], rgb_at_max[1]),\n Math.max(rgb_at_max[2], 0.0),\n ),\n );\n const C_cusp = L_cusp * S_cusp;\n\n return [L_cusp, C_cusp];\n};\n\nconst findGamutIntersectionOKLCH = (\n a: number,\n b: number,\n l1: number,\n c1: number,\n l0: number,\n cusp: [number, number],\n): number => {\n const lmsToRgb = LMS_to_linear_sRGB_M;\n const tmp3: Vec3 = [0, a, b];\n const floatMax = Number.MAX_VALUE;\n\n let t: number;\n\n const dotYZ = (mat: Vec3, vec: Vec3): number =>\n mat[1] * vec[1] + mat[2] * vec[2];\n const dotXYZ = (vec: Vec3, x: number, y: number, z: number): number =>\n vec[0] * x + vec[1] * y + vec[2] * z;\n\n if ((l1 - l0) * cusp[1] - (cusp[0] - l0) * c1 <= 0.0) {\n const denom = c1 * cusp[0] + cusp[1] * (l0 - l1);\n t = denom === 0 ? 0 : (cusp[1] * l0) / denom;\n } else {\n const denom = c1 * (cusp[0] - 1.0) + cusp[1] * (l0 - l1);\n t = denom === 0 ? 0 : (cusp[1] * (l0 - 1.0)) / denom;\n\n const dl = l1 - l0;\n const dc = c1;\n\n const kl = dotYZ(OKLab_to_LMS_M[0], tmp3);\n const km = dotYZ(OKLab_to_LMS_M[1], tmp3);\n const ks = dotYZ(OKLab_to_LMS_M[2], tmp3);\n\n const ldt_ = dl + dc * kl;\n const mdt_ = dl + dc * km;\n const sdt_ = dl + dc * ks;\n\n const L = l0 * (1.0 - t) + t * l1;\n const C = t * c1;\n\n const l_ = L + C * kl;\n const m_ = L + C * km;\n const s_ = L + C * ks;\n\n const l = l_ * l_ * l_;\n const m = m_ * m_ * m_;\n const s = s_ * s_ * s_;\n\n const ldt = 3 * ldt_ * l_ * l_;\n const mdt = 3 * mdt_ * m_ * m_;\n const sdt = 3 * sdt_ * s_ * s_;\n\n const ldt2 = 6 * ldt_ * ldt_ * l_;\n const mdt2 = 6 * mdt_ * mdt_ * m_;\n const sdt2 = 6 * sdt_ * sdt_ * s_;\n\n const r_ = dotXYZ(lmsToRgb[0], l, m, s) - 1;\n const r1 = dotXYZ(lmsToRgb[0], ldt, mdt, sdt);\n const r2 = dotXYZ(lmsToRgb[0], ldt2, mdt2, sdt2);\n\n const ur = r1 / (r1 * r1 - 0.5 * r_ * r2);\n let tr = -r_ * ur;\n\n const g_ = dotXYZ(lmsToRgb[1], l, m, s) - 1;\n const g1 = dotXYZ(lmsToRgb[1], ldt, mdt, sdt);\n const g2 = dotXYZ(lmsToRgb[1], ldt2, mdt2, sdt2);\n\n const ug = g1 / (g1 * g1 - 0.5 * g_ * g2);\n let tg = -g_ * ug;\n\n const b_ = dotXYZ(lmsToRgb[2], l, m, s) - 1;\n const b1 = dotXYZ(lmsToRgb[2], ldt, mdt, sdt);\n const b2 = dotXYZ(lmsToRgb[2], ldt2, mdt2, sdt2);\n\n const ub = b1 / (b1 * b1 - 0.5 * b_ * b2);\n let tb = -b_ * ub;\n\n tr = ur >= 0.0 ? tr : floatMax;\n tg = ug >= 0.0 ? tg : floatMax;\n tb = ub >= 0.0 ? tb : floatMax;\n\n t += Math.min(tr, Math.min(tg, tb));\n }\n\n return t;\n};\n\nconst computeSt = (cusp: [number, number]): [number, number] => {\n const l = cusp[0];\n const c = cusp[1];\n return [c / l, c / (1 - l)];\n};\n\nconst computeStMid = (a: number, b: number): [number, number] => {\n const s =\n 0.11516993 +\n 1.0 /\n (7.4477897 +\n 4.1590124 * b +\n a *\n (-2.19557347 +\n 1.75198401 * b +\n a *\n (-2.13704948 -\n 10.02301043 * b +\n a * (-4.24894561 + 5.38770819 * b + 4.69891013 * a))));\n\n const t =\n 0.11239642 +\n 1.0 /\n (1.6132032 -\n 0.68124379 * b +\n a *\n (0.40370612 +\n 0.90148123 * b +\n a *\n (-0.27087943 +\n 0.6122399 * b +\n a * (0.00299215 - 0.45399568 * b - 0.14661872 * a))));\n\n return [s, t];\n};\n\nconst getCs = (\n L: number,\n a: number,\n b: number,\n cusp: [number, number],\n): [number, number, number] => {\n const cMax = findGamutIntersectionOKLCH(a, b, L, 1, L, cusp);\n const stMax = computeSt(cusp);\n\n const k = cMax / Math.min(L * stMax[0], (1 - L) * stMax[1]);\n\n const stMid = computeStMid(a, b);\n\n let ca = L * stMid[0];\n let cb = (1.0 - L) * stMid[1];\n const cMid =\n 0.9 * k * Math.sqrt(Math.sqrt(1.0 / (1.0 / ca ** 4 + 1.0 / cb ** 4)));\n\n ca = L * 0.4;\n cb = (1.0 - L) * 0.8;\n const c0 = Math.sqrt(1.0 / (1.0 / ca ** 2 + 1.0 / cb ** 2));\n\n return [c0, cMid, cMax];\n};\n\nconst OKHSLToOKLab = (hsl: Vec3): Vec3 => {\n let h = hsl[0];\n const s = hsl[1];\n const l = hsl[2];\n\n let L = toeInv(l);\n let a = 0;\n let b = 0;\n\n h = constrainAngle(h) / 360.0;\n\n if (L !== 0.0 && L !== 1.0 && s !== 0) {\n const a_ = Math.cos(TAU * h);\n const b_ = Math.sin(TAU * h);\n\n const cusp = findCuspOKLCH(a_, b_);\n const Cs = getCs(L, a_, b_, cusp);\n const [c0, cMid, cMax] = Cs;\n\n const mid = 0.8;\n const midInv = 1.25;\n let t: number, k0: number, k1: number, k2: number;\n\n if (s < mid) {\n t = midInv * s;\n k0 = 0.0;\n k1 = mid * c0;\n k2 = 1.0 - k1 / cMid;\n } else {\n t = 5 * (s - 0.8);\n k0 = cMid;\n k1 = (0.2 * cMid ** 2 * 1.25 ** 2) / c0;\n k2 = 1.0 - k1 / (cMax - cMid);\n }\n\n const c = k0 + (t * k1) / (1.0 - k2 * t);\n\n a = c * a_;\n b = c * b_;\n }\n\n return [L, a, b];\n};\n\n// ============================================================================\n// OKHSL to sRGB Conversion\n// ============================================================================\n\nconst okhslToSRGB = (h: number, s: number, l: number): Vec3 => {\n // h: 0-360, s: 0-1, l: 0-1\n const oklab = OKHSLToOKLab([h, s, l]);\n const linearRGB = OKLabToLinearSRGB(oklab);\n\n // Apply gamma correction and clamp\n return [\n clamp(sRGBLinearToGamma(linearRGB[0]), 0, 1),\n clamp(sRGBLinearToGamma(linearRGB[1]), 0, 1),\n clamp(sRGBLinearToGamma(linearRGB[2]), 0, 1),\n ];\n};\n\n// ============================================================================\n// Parsing Utilities\n// ============================================================================\n\n/**\n * Parse an angle value with optional unit.\n * Supports: deg, turn, rad, or unitless (treated as degrees).\n */\nconst parseAngle = (value: string): number => {\n const match = value.match(/^([+-]?\\d*\\.?\\d+)(deg|turn|rad)?$/);\n if (!match) return 0;\n\n const num = parseFloat(match[1]);\n const unit = match[2];\n\n switch (unit) {\n case 'turn':\n return num * 360;\n case 'rad':\n return (num * 180) / Math.PI;\n case 'deg':\n default:\n return num;\n }\n};\n\n/**\n * Parse a percentage value (e.g., \"50%\") to a 0-1 range.\n */\nconst parsePercentage = (value: string): number => {\n const match = value.match(/^([+-]?\\d*\\.?\\d+)%?$/);\n if (!match) return 0;\n\n const num = parseFloat(match[1]);\n // If the value includes %, divide by 100, otherwise assume 0-1 range\n return value.includes('%') ? num / 100 : num;\n};\n\n// ============================================================================\n// Plugin Implementation\n// ============================================================================\n\n/**\n * The okhsl function handler for tasty parser.\n * Receives parsed style groups and returns an RGB color string.\n */\nconst okhslFunc = (groups: StyleDetails[]): string => {\n // We expect a single group with 3 values: H, S, L\n // and an optional slash-separated alpha part\n if (groups.length === 0 || groups[0].all.length < 3) {\n console.warn('[okhsl] Expected 3 values (H S L), got:', groups);\n return 'rgb(0% 0% 0%)';\n }\n\n const group = groups[0];\n const tokens = group.all;\n\n // Alpha is in the second slash-separated part (e.g., okhsl(240 50% 50% / .5))\n const alpha =\n group.parts.length > 1 && group.parts[1].all.length > 0\n ? group.parts[1].output\n : undefined;\n\n // Create cache key from input tokens\n const cacheKey = tokens.slice(0, 3).join(' ') + (alpha ? ` / ${alpha}` : '');\n const cached = conversionCache.get(cacheKey);\n if (cached) return cached;\n\n const h = parseAngle(tokens[0]);\n const s = parsePercentage(tokens[1]);\n const l = parsePercentage(tokens[2]);\n\n const [r, g, b] = okhslToSRGB(h, clamp(s, 0, 1), clamp(l, 0, 1));\n\n const format = (n: number): string => {\n const pct = n * 100;\n return parseFloat(pct.toFixed(1)).toString() + '%';\n };\n\n const result = alpha\n ? `rgb(${format(r)} ${format(g)} ${format(b)} / ${alpha})`\n : `rgb(${format(r)} ${format(g)} ${format(b)})`;\n\n conversionCache.set(cacheKey, result);\n return result;\n};\n\n/**\n * OKHSL Plugin for Tasty.\n *\n * Adds support for the `okhsl()` color function in tasty styles.\n *\n * @example\n * ```ts\n * import { configure } from '@cube-dev/ui-kit';\n * import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';\n *\n * configure({\n * plugins: [okhslPlugin()],\n * });\n *\n * // Now you can use okhsl in styles:\n * const Box = tasty({\n * styles: {\n * fill: 'okhsl(240 50% 50%)',\n * },\n * });\n * ```\n */\nexport const okhslPlugin: TastyPluginFactory = (): TastyPlugin => ({\n name: 'okhsl',\n funcs: {\n okhsl: okhslFunc,\n },\n});\n\n// Export the raw function for direct use if needed\nexport { okhslFunc };\n"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
-
2
- import { StyleDetails, UnitHandler } from "../parser/types.js";
3
- import { StyleHandlerDefinition } from "../utils/styles.js";
4
- import { RecipeStyles } from "../styles/types.js";
5
-
6
- //#region src/tasty/plugins/types.d.ts
7
- /**
8
- * A tasty plugin that extends the style system with custom functions, units, states, or handlers.
9
- */
10
- interface TastyPlugin {
11
- /** Unique name for the plugin (used for debugging and conflict detection) */
12
- name: string;
13
- /** Custom functions that transform parsed style groups into CSS values */
14
- funcs?: Record<string, (groups: StyleDetails[]) => string>;
15
- /** Custom units that transform numeric values (e.g., `2x` → `calc(2 * var(--gap))`) */
16
- units?: Record<string, string | UnitHandler>;
17
- /** Custom state aliases (e.g., `'@mobile': '@media(w < 768px)'`) */
18
- states?: Record<string, string>;
19
- /**
20
- * Custom style handlers that transform style properties into CSS declarations.
21
- * Handlers replace built-in handlers for the same style name.
22
- * @example
23
- * ```ts
24
- * handlers: {
25
- * // Simple handler - lookup style inferred from key
26
- * fill: ({ fill }) => fill ? { 'background-color': fill } : undefined,
27
- * // Multi-property handler
28
- * spacing: [['gap', 'padding'], ({ gap, padding }) => ({ ... })],
29
- * }
30
- * ```
31
- */
32
- handlers?: Record<string, StyleHandlerDefinition>;
33
- /** Predefined tokens replaced during style parsing (`$name` or `#name`) */
34
- tokens?: {
35
- [key: `$${string}` | `#${string}`]: string | number;
36
- };
37
- /**
38
- * Predefined style recipes -- named style bundles that can be applied via `recipe` style property.
39
- * Recipe values are flat tasty styles (no sub-element keys).
40
- * @example
41
- * ```ts
42
- * recipes: {
43
- * card: { padding: '4x', fill: '#surface', radius: '1r', border: true },
44
- * elevated: { shadow: '2x 2x 4x #shadow' },
45
- * }
46
- * ```
47
- */
48
- recipes?: Record<string, RecipeStyles>;
49
- }
50
- /**
51
- * A factory function that creates a TastyPlugin.
52
- * Can optionally accept configuration options.
53
- *
54
- * @example
55
- * ```ts
56
- * // Plugin without options
57
- * const okhslPlugin: TastyPluginFactory = () => ({
58
- * name: 'okhsl',
59
- * funcs: { okhsl: okhslFunc },
60
- * });
61
- *
62
- * // Plugin with options
63
- * const debugPlugin: TastyPluginFactory<{ verbose: boolean }> = (options) => ({
64
- * name: 'debug',
65
- * funcs: { debug: createDebugFunc(options.verbose) },
66
- * });
67
- * ```
68
- */
69
- type TastyPluginFactory<TOptions = void> = TOptions extends void ? () => TastyPlugin : (options: TOptions) => TastyPlugin;
70
- //#endregion
71
- export { TastyPlugin, TastyPluginFactory };
72
- //# sourceMappingURL=types.d.ts.map
@@ -1,159 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { getRgbValuesFromRgbaString, strToRgb } from "../utils/styles.js";
3
-
4
- //#region src/tasty/properties/index.ts
5
- const PROPERTIES_KEY = "@properties";
6
- /**
7
- * Valid CSS custom property name pattern (after the -- prefix).
8
- * Must start with a letter or underscore, followed by letters, digits, hyphens, or underscores.
9
- */
10
- const VALID_PROPERTY_NAME_PATTERN = /^[a-z_][a-z0-9-_]*$/i;
11
- /**
12
- * Validate a CSS custom property name (the part after --).
13
- * Returns true if the name is valid for use as a CSS custom property.
14
- */
15
- function isValidPropertyName(name) {
16
- return VALID_PROPERTY_NAME_PATTERN.test(name);
17
- }
18
- /**
19
- * Check if styles object has local @properties definition.
20
- * Fast path: single property lookup.
21
- */
22
- function hasLocalProperties(styles) {
23
- return PROPERTIES_KEY in styles;
24
- }
25
- /**
26
- * Extract local @properties from styles object.
27
- * Returns null if no local properties (fast path).
28
- */
29
- function extractLocalProperties(styles) {
30
- const properties = styles[PROPERTIES_KEY];
31
- if (!properties || typeof properties !== "object") return null;
32
- return properties;
33
- }
34
- /**
35
- * Parse a property token name and return the CSS property name and whether it's a color.
36
- * Supports tasty token syntax and validates the property name.
37
- *
38
- * Token formats:
39
- * - `$name` → { cssName: '--name', isColor: false }
40
- * - `#name` → { cssName: '--name-color', isColor: true }
41
- * - `--name` → { cssName: '--name', isColor: false } (legacy, auto-detect color by suffix)
42
- * - `name` → { cssName: '--name', isColor: false } (legacy)
43
- *
44
- * @param token - The property token to parse
45
- * @returns Parsed result with cssName, isColor, isValid, and optional error
46
- */
47
- function parsePropertyToken(token) {
48
- if (!token || typeof token !== "string") return {
49
- cssName: "",
50
- isColor: false,
51
- isValid: false,
52
- error: "Property token must be a non-empty string"
53
- };
54
- let name;
55
- let isColor;
56
- if (token.startsWith("$")) {
57
- name = token.slice(1);
58
- isColor = false;
59
- } else if (token.startsWith("#")) {
60
- name = token.slice(1);
61
- isColor = true;
62
- } else if (token.startsWith("--")) {
63
- name = token.slice(2);
64
- isColor = token.endsWith("-color");
65
- } else {
66
- name = token;
67
- isColor = token.endsWith("-color");
68
- }
69
- if (!name) return {
70
- cssName: "",
71
- isColor,
72
- isValid: false,
73
- error: "Property name cannot be empty"
74
- };
75
- if (!isValidPropertyName(name)) return {
76
- cssName: "",
77
- isColor,
78
- isValid: false,
79
- error: `Invalid property name "${name}". Must start with a letter or underscore, followed by letters, digits, hyphens, or underscores.`
80
- };
81
- let cssName;
82
- if (token.startsWith("#")) cssName = `--${name}-color`;
83
- else cssName = `--${name}`;
84
- return {
85
- cssName,
86
- isColor,
87
- isValid: true
88
- };
89
- }
90
- /**
91
- * Normalize a property definition to a consistent string representation.
92
- * Used for comparing definitions to detect changes/conflicts.
93
- *
94
- * Keys are sorted alphabetically to ensure consistent comparison:
95
- * { inherits: true, syntax: '<color>' } === { syntax: '<color>', inherits: true }
96
- */
97
- function normalizePropertyDefinition(def) {
98
- const normalized = {};
99
- if (def.inherits !== void 0) normalized.inherits = def.inherits;
100
- if (def.initialValue !== void 0) normalized.initialValue = String(def.initialValue);
101
- if (def.syntax !== void 0) normalized.syntax = def.syntax;
102
- return JSON.stringify(normalized);
103
- }
104
- /**
105
- * Get the effective property definition for a token.
106
- * For color tokens (#name), auto-sets syntax to '<color>' and defaults initialValue to 'transparent'.
107
- *
108
- * @param token - Property token ($name, #name, --name, or plain name)
109
- * @param userDefinition - User-provided definition options
110
- * @returns Effective definition with cssName, definition, isValid, and optional error
111
- */
112
- function getEffectiveDefinition(token, userDefinition) {
113
- const parsed = parsePropertyToken(token);
114
- if (!parsed.isValid) return {
115
- cssName: "",
116
- definition: userDefinition,
117
- isColor: false,
118
- isValid: false,
119
- error: parsed.error
120
- };
121
- if (parsed.isColor) return {
122
- cssName: parsed.cssName,
123
- definition: {
124
- syntax: "<color>",
125
- inherits: userDefinition.inherits,
126
- initialValue: userDefinition.initialValue ?? "transparent"
127
- },
128
- isColor: true,
129
- isValid: true
130
- };
131
- return {
132
- cssName: parsed.cssName,
133
- definition: userDefinition,
134
- isColor: false,
135
- isValid: true
136
- };
137
- }
138
- /**
139
- * Extract RGB triplet string from a color initial value.
140
- * Used when auto-creating the companion `-rgb` property for color @property definitions.
141
- *
142
- * @param initialValue - The color property's initial value (e.g., 'rgb(255 255 255)', 'transparent', '#fff')
143
- * @returns Space-separated RGB triplet (e.g., '255 255 255'), defaults to '0 0 0'
144
- */
145
- function colorInitialValueToRgb(initialValue) {
146
- if (initialValue == null) return "0 0 0";
147
- const str = String(initialValue).trim();
148
- if (!str || str === "transparent") return "0 0 0";
149
- const rgba = strToRgb(str);
150
- if (rgba) {
151
- const values = getRgbValuesFromRgbaString(rgba);
152
- if (values.length >= 3) return values.slice(0, 3).join(" ");
153
- }
154
- return "0 0 0";
155
- }
156
-
157
- //#endregion
158
- export { colorInitialValueToRgb, extractLocalProperties, getEffectiveDefinition, hasLocalProperties, normalizePropertyDefinition };
159
- //# sourceMappingURL=index.js.map