@cube-dev/ui-kit 0.117.0 → 0.119.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1026) hide show
  1. package/dist/CHANGELOG.md +32 -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 -57
  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.d.ts +1 -1
  29. package/dist/components/actions/Banner/Banner.js +5 -5
  30. package/dist/components/actions/Banner/Banner.js.map +1 -1
  31. package/dist/components/actions/Button/Button.d.ts +2 -1769
  32. package/dist/components/actions/Button/Button.js +2 -4
  33. package/dist/components/actions/Button/Button.js.map +1 -1
  34. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -2
  35. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  36. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -3
  37. package/dist/components/actions/CommandMenu/CommandMenu.js +2 -4
  38. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  39. package/dist/components/actions/CommandMenu/styled.js +3 -3
  40. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  41. package/dist/components/actions/ItemAction/ItemAction.d.ts +1 -3
  42. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  43. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  44. package/dist/components/actions/ItemActionContext.js +1 -1
  45. package/dist/components/actions/ItemButton/ItemButton.d.ts +1 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  47. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  48. package/dist/components/actions/Link/Link.js +1 -1
  49. package/dist/components/actions/Menu/Menu.d.ts +1 -3
  50. package/dist/components/actions/Menu/Menu.js +2 -4
  51. package/dist/components/actions/Menu/Menu.js.map +1 -1
  52. package/dist/components/actions/Menu/MenuItem.d.ts +1 -2
  53. package/dist/components/actions/Menu/MenuItem.js +1 -1
  54. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  55. package/dist/components/actions/Menu/MenuSection.d.ts +1 -2
  56. package/dist/components/actions/Menu/MenuSection.js +1 -1
  57. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  58. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  59. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  60. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  61. package/dist/components/actions/Menu/context.js +1 -1
  62. package/dist/components/actions/Menu/styled.js +2 -2
  63. package/dist/components/actions/Menu/styled.js.map +1 -1
  64. package/dist/components/actions/index.js +1 -1
  65. package/dist/components/actions/use-action.d.ts +1 -2
  66. package/dist/components/actions/use-action.js +2 -2
  67. package/dist/components/actions/use-action.js.map +1 -1
  68. package/dist/components/actions/use-anchored-menu.js +1 -1
  69. package/dist/components/actions/use-context-menu.js +1 -1
  70. package/dist/components/content/ActiveZone/ActiveZone.d.ts +1 -2
  71. package/dist/components/content/ActiveZone/ActiveZone.js +2 -5
  72. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  73. package/dist/components/content/Alert/Alert.js +2 -2
  74. package/dist/components/content/Alert/Alert.js.map +1 -1
  75. package/dist/components/content/Alert/types.d.ts +1 -2
  76. package/dist/components/content/Alert/use-alert.js +2 -4
  77. package/dist/components/content/Alert/use-alert.js.map +1 -1
  78. package/dist/components/content/Avatar/Avatar.d.ts +1 -3
  79. package/dist/components/content/Avatar/Avatar.js +2 -5
  80. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  81. package/dist/components/content/Badge/Badge.js +2 -2
  82. package/dist/components/content/Badge/Badge.js.map +1 -1
  83. package/dist/components/content/Card/Card.d.ts +1 -2
  84. package/dist/components/content/Card/Card.js +2 -5
  85. package/dist/components/content/Card/Card.js.map +1 -1
  86. package/dist/components/content/Content.d.ts +1 -2
  87. package/dist/components/content/Content.js +2 -5
  88. package/dist/components/content/Content.js.map +1 -1
  89. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -3
  90. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -4
  91. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  92. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  93. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  94. package/dist/components/content/Disclosure/Disclosure.d.ts +1 -3
  95. package/dist/components/content/Disclosure/Disclosure.js +2 -4
  96. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  97. package/dist/components/content/Divider.d.ts +1 -2
  98. package/dist/components/content/Divider.js +2 -4
  99. package/dist/components/content/Divider.js.map +1 -1
  100. package/dist/components/content/Footer.d.ts +1 -2
  101. package/dist/components/content/Footer.js +2 -5
  102. package/dist/components/content/Footer.js.map +1 -1
  103. package/dist/components/content/Header.d.ts +1 -2
  104. package/dist/components/content/Header.js +2 -5
  105. package/dist/components/content/Header.js.map +1 -1
  106. package/dist/components/content/HotKeys/HotKeys.d.ts +1 -2
  107. package/dist/components/content/HotKeys/HotKeys.js +2 -5
  108. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  109. package/dist/components/content/Item/Item.d.ts +1 -3
  110. package/dist/components/content/Item/Item.js +2 -3
  111. package/dist/components/content/Item/Item.js.map +1 -1
  112. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -2
  113. package/dist/components/content/ItemBadge/ItemBadge.js +2 -2
  114. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  115. package/dist/components/content/Layout/GridLayout.d.ts +1 -2
  116. package/dist/components/content/Layout/GridLayout.js +2 -2
  117. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  118. package/dist/components/content/Layout/Layout.d.ts +1 -3
  119. package/dist/components/content/Layout/Layout.js +3 -7
  120. package/dist/components/content/Layout/Layout.js.map +1 -1
  121. package/dist/components/content/Layout/LayoutBlock.js +2 -2
  122. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  123. package/dist/components/content/Layout/LayoutCenter.js +2 -2
  124. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  125. package/dist/components/content/Layout/LayoutContainer.d.ts +1 -3
  126. package/dist/components/content/Layout/LayoutContainer.js +2 -6
  127. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  128. package/dist/components/content/Layout/LayoutContent.d.ts +1 -2
  129. package/dist/components/content/Layout/LayoutContent.js +2 -6
  130. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutContext.js +1 -1
  132. package/dist/components/content/Layout/LayoutFlex.js +2 -2
  133. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  134. package/dist/components/content/Layout/LayoutFooter.js +2 -2
  135. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  136. package/dist/components/content/Layout/LayoutGrid.d.ts +1 -2
  137. package/dist/components/content/Layout/LayoutGrid.js +2 -2
  138. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  139. package/dist/components/content/Layout/LayoutHeader.js +2 -2
  140. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  141. package/dist/components/content/Layout/LayoutPane.d.ts +1 -3
  142. package/dist/components/content/Layout/LayoutPane.js +2 -6
  143. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  144. package/dist/components/content/Layout/LayoutPanel.d.ts +1 -3
  145. package/dist/components/content/Layout/LayoutPanel.js +2 -6
  146. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  147. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +1 -2
  148. package/dist/components/content/Layout/LayoutPanelHeader.js +2 -4
  149. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  150. package/dist/components/content/Layout/LayoutToolbar.js +2 -2
  151. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  152. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  153. package/dist/components/content/Layout/index.js +1 -1
  154. package/dist/components/content/Layout/utils.js +1 -1
  155. package/dist/components/content/Paragraph.d.ts +1 -2
  156. package/dist/components/content/Paragraph.js +2 -3
  157. package/dist/components/content/Paragraph.js.map +1 -1
  158. package/dist/components/content/Placeholder/Placeholder.d.ts +1 -3
  159. package/dist/components/content/Placeholder/Placeholder.js +2 -6
  160. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.d.ts +1 -3
  162. package/dist/components/content/PrismCode/PrismCode.js +2 -3
  163. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  164. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +1 -3
  166. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  167. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  168. package/dist/components/content/Result/Result.d.ts +1 -2
  169. package/dist/components/content/Result/Result.js +2 -5
  170. package/dist/components/content/Result/Result.js.map +1 -1
  171. package/dist/components/content/Skeleton/Skeleton.d.ts +1 -2
  172. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  173. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  174. package/dist/components/content/Tag/Tag.d.ts +1 -2
  175. package/dist/components/content/Tag/Tag.js +2 -2
  176. package/dist/components/content/Tag/Tag.js.map +1 -1
  177. package/dist/components/content/Text.d.ts +128 -159
  178. package/dist/components/content/Text.js +2 -5
  179. package/dist/components/content/Text.js.map +1 -1
  180. package/dist/components/content/TextItem/TextItem.d.ts +1 -2
  181. package/dist/components/content/TextItem/TextItem.js +2 -5
  182. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  183. package/dist/components/content/Title.d.ts +1 -2
  184. package/dist/components/content/Title.js +2 -5
  185. package/dist/components/content/Title.js.map +1 -1
  186. package/dist/components/content/highlightText.js +1 -1
  187. package/dist/components/content/highlightText.js.map +1 -1
  188. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  189. package/dist/components/content/use-auto-tooltip.js +1 -1
  190. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  191. package/dist/components/fields/Checkbox/Checkbox.d.ts +1 -3
  192. package/dist/components/fields/Checkbox/Checkbox.js +2 -5
  193. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  194. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -3
  195. package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -4
  196. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  197. package/dist/components/fields/Checkbox/context.js +1 -1
  198. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -3
  199. package/dist/components/fields/ComboBox/ComboBox.js +2 -4
  200. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  201. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -3
  202. package/dist/components/fields/DatePicker/DateInput.js +2 -3
  203. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  204. package/dist/components/fields/DatePicker/DateInputBase.js +2 -4
  205. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  206. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -3
  207. package/dist/components/fields/DatePicker/DatePicker.js +2 -3
  208. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  209. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -2
  210. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  211. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -2
  212. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  213. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -2
  214. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  215. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -2
  216. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  217. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -3
  218. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -4
  219. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  220. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -3
  221. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -4
  222. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  223. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -3
  224. package/dist/components/fields/DatePicker/TimeInput.js +2 -3
  225. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  226. package/dist/components/fields/DatePicker/intl.js +1 -1
  227. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  228. package/dist/components/fields/DatePicker/props.js +1 -1
  229. package/dist/components/fields/DatePicker/utils.js +1 -1
  230. package/dist/components/fields/FileInput/FileInput.d.ts +1 -3
  231. package/dist/components/fields/FileInput/FileInput.js +2 -4
  232. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  233. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +1 -2
  234. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -7
  235. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  236. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +1 -3
  237. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -5
  238. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  239. package/dist/components/fields/Input/Input.js +1 -1
  240. package/dist/components/fields/ListBox/ListBox.d.ts +1 -3
  241. package/dist/components/fields/ListBox/ListBox.js +2 -5
  242. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  243. package/dist/components/fields/NumberInput/NumberInput.js +2 -2
  244. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  245. package/dist/components/fields/NumberInput/StepButton.js +2 -2
  246. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  247. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  248. package/dist/components/fields/Picker/Picker.d.ts +1 -3
  249. package/dist/components/fields/Picker/Picker.js +2 -5
  250. package/dist/components/fields/Picker/Picker.js.map +1 -1
  251. package/dist/components/fields/RadioGroup/Radio.d.ts +1 -2
  252. package/dist/components/fields/RadioGroup/Radio.js +2 -5
  253. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  254. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -3
  255. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -4
  256. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  257. package/dist/components/fields/RadioGroup/context.js +1 -1
  258. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  259. package/dist/components/fields/Select/Select.d.ts +834 -836
  260. package/dist/components/fields/Select/Select.js +2 -4
  261. package/dist/components/fields/Select/Select.js.map +1 -1
  262. package/dist/components/fields/Slider/Gradation.js +1 -1
  263. package/dist/components/fields/Slider/HueSlider.js +1 -1
  264. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  265. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  266. package/dist/components/fields/Slider/Slider.d.ts +1 -3
  267. package/dist/components/fields/Slider/Slider.js +2 -3
  268. package/dist/components/fields/Slider/Slider.js.map +1 -1
  269. package/dist/components/fields/Slider/SliderBase.js +2 -4
  270. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  271. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  272. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  273. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  274. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  275. package/dist/components/fields/Slider/elements.js +2 -2
  276. package/dist/components/fields/Slider/elements.js.map +1 -1
  277. package/dist/components/fields/Slider/index.js +1 -1
  278. package/dist/components/fields/Slider/types.d.ts +1 -3
  279. package/dist/components/fields/Switch/Switch.d.ts +1 -3
  280. package/dist/components/fields/Switch/Switch.js +2 -4
  281. package/dist/components/fields/Switch/Switch.js.map +1 -1
  282. package/dist/components/fields/TextArea/TextArea.js +1 -1
  283. package/dist/components/fields/TextInput/TextInput.js +1 -1
  284. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -3
  285. package/dist/components/fields/TextInput/TextInputBase.js +3 -5
  286. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  287. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  288. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  289. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  290. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  291. package/dist/components/form/FieldWrapper/types.d.ts +1 -3
  292. package/dist/components/form/Form/Field.d.ts +1 -2
  293. package/dist/components/form/Form/Field.js +1 -1
  294. package/dist/components/form/Form/Field.js.map +1 -1
  295. package/dist/components/form/Form/Form.d.ts +1 -3
  296. package/dist/components/form/Form/Form.js +2 -5
  297. package/dist/components/form/Form/Form.js.map +1 -1
  298. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  299. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  300. package/dist/components/form/Form/SubmitError.js +1 -1
  301. package/dist/components/form/Form/index.js +1 -1
  302. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  303. package/dist/components/form/Form/use-field/use-field.js +1 -1
  304. package/dist/components/form/Form/use-form.js +2 -2
  305. package/dist/components/form/Form/use-form.js.map +1 -1
  306. package/dist/components/form/Form/validation.js +1 -1
  307. package/dist/components/form/Label.d.ts +1 -3
  308. package/dist/components/form/Label.js +2 -5
  309. package/dist/components/form/Label.js.map +1 -1
  310. package/dist/components/form/wrapper.d.ts +1 -2
  311. package/dist/components/form/wrapper.js +1 -1
  312. package/dist/components/form/wrapper.js.map +1 -1
  313. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  314. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -2
  315. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  316. package/dist/components/layout/Flex.d.ts +1 -2
  317. package/dist/components/layout/Flex.js +2 -5
  318. package/dist/components/layout/Flex.js.map +1 -1
  319. package/dist/components/layout/Flow.d.ts +1 -2
  320. package/dist/components/layout/Flow.js +2 -5
  321. package/dist/components/layout/Flow.js.map +1 -1
  322. package/dist/components/layout/Grid.d.ts +1 -2
  323. package/dist/components/layout/Grid.js +2 -5
  324. package/dist/components/layout/Grid.js.map +1 -1
  325. package/dist/components/layout/Panel.d.ts +1 -3
  326. package/dist/components/layout/Panel.js +2 -3
  327. package/dist/components/layout/Panel.js.map +1 -1
  328. package/dist/components/layout/Prefix.d.ts +1 -2
  329. package/dist/components/layout/Prefix.js +2 -5
  330. package/dist/components/layout/Prefix.js.map +1 -1
  331. package/dist/components/layout/ResizablePanel.d.ts +1 -2
  332. package/dist/components/layout/ResizablePanel.js +2 -2
  333. package/dist/components/layout/ResizablePanel.js.map +1 -1
  334. package/dist/components/layout/Space.d.ts +1 -2
  335. package/dist/components/layout/Space.js +2 -5
  336. package/dist/components/layout/Space.js.map +1 -1
  337. package/dist/components/layout/Suffix.d.ts +1 -2
  338. package/dist/components/layout/Suffix.js +2 -5
  339. package/dist/components/layout/Suffix.js.map +1 -1
  340. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  341. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  342. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  343. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  344. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  345. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  346. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  347. package/dist/components/navigation/Tabs/Tabs.js +2 -4
  348. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  349. package/dist/components/navigation/Tabs/TabsAction.js +2 -2
  350. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  351. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  352. package/dist/components/navigation/Tabs/styled.js +2 -2
  353. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  354. package/dist/components/navigation/Tabs/types.d.ts +1 -3
  355. package/dist/components/navigation/Tabs/types.js +1 -1
  356. package/dist/components/navigation/Tabs/types.js.map +1 -1
  357. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  358. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  359. package/dist/components/organisms/FileTabs/FileTabs.d.ts +1 -2
  360. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  361. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  362. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  363. package/dist/components/other/Calendar/Calendar.js +2 -2
  364. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  365. package/dist/components/other/Calendar/CalendarCell.js +2 -2
  366. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  367. package/dist/components/other/Calendar/CalendarGrid.js +2 -2
  368. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  369. package/dist/components/other/Calendar/RangeCalendar.js +2 -2
  370. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  371. package/dist/components/other/CloudLogo/CloudLogo.js +2 -2
  372. package/dist/components/other/CloudLogo/CloudLogo.js.map +1 -1
  373. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  374. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  375. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  376. package/dist/components/overlays/AlertDialog/types.d.ts +1 -1
  377. package/dist/components/overlays/Dialog/Dialog.d.ts +1 -3
  378. package/dist/components/overlays/Dialog/Dialog.js +2 -4
  379. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  380. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  381. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  382. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -2
  383. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  384. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  385. package/dist/components/overlays/Dialog/context.js +1 -1
  386. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  387. package/dist/components/overlays/Modal/Modal.d.ts +1 -1
  388. package/dist/components/overlays/Modal/Modal.js +2 -2
  389. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  390. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  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 +2 -2
  402. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  403. package/dist/components/overlays/Notifications/NotificationAction.js +10 -4
  404. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  405. package/dist/components/overlays/Notifications/NotificationCard.d.ts +5 -2
  406. package/dist/components/overlays/Notifications/NotificationCard.js +9 -7
  407. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  408. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  409. package/dist/components/overlays/Notifications/NotificationItem.d.ts +3 -1
  410. package/dist/components/overlays/Notifications/NotificationItem.js +8 -7
  411. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  412. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -5
  413. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  414. package/dist/components/overlays/Notifications/OverlayProvider.js +2 -1
  415. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  416. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -3
  417. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  418. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  419. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  420. package/dist/components/overlays/Notifications/index.js +1 -1
  421. package/dist/components/overlays/Notifications/types.d.ts +4 -2
  422. package/dist/components/overlays/Notifications/use-notification-state.js +48 -2
  423. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  424. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  425. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  426. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  427. package/dist/components/overlays/Notifications/use-persistent-state.js +8 -1
  428. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  429. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  430. package/dist/components/overlays/Toast/ToastItem.js +2 -2
  431. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  432. package/dist/components/overlays/Toast/index.js +1 -1
  433. package/dist/components/overlays/Toast/types.d.ts +2 -0
  434. package/dist/components/overlays/Toast/useProgressToast.js +49 -21
  435. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  436. package/dist/components/overlays/Toast/useToast.js +2 -2
  437. package/dist/components/overlays/Tooltip/Tooltip.d.ts +1 -3
  438. package/dist/components/overlays/Tooltip/Tooltip.js +2 -4
  439. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  440. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +1 -2
  441. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  442. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  443. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  444. package/dist/components/overlays/Tooltip/context.js +1 -1
  445. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  446. package/dist/components/portal/Portal.js +1 -1
  447. package/dist/components/portal/PortalProvider.js +1 -1
  448. package/dist/components/portal/usePortal.js +1 -1
  449. package/dist/components/shared/InvalidIcon.js +1 -1
  450. package/dist/components/shared/ValidIcon.js +1 -1
  451. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -2
  452. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  453. package/dist/components/status/Spin/Cube.js +2 -2
  454. package/dist/components/status/Spin/Cube.js.map +1 -1
  455. package/dist/components/status/Spin/InternalSpinner.js +2 -2
  456. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  457. package/dist/components/status/Spin/Spin.js +2 -2
  458. package/dist/components/status/Spin/Spin.js.map +1 -1
  459. package/dist/components/status/Spin/SpinsContainer.js +2 -2
  460. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  461. package/dist/components/status/Spin/types.d.ts +1 -2
  462. package/dist/data/item-themes.d.ts +1 -1
  463. package/dist/data/item-themes.js +1 -1
  464. package/dist/data/item-themes.js.map +1 -1
  465. package/dist/data/themes.js +1 -1
  466. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  467. package/dist/icons/AdjustmentsIcon.js +1 -1
  468. package/dist/icons/AiIcon.js +1 -1
  469. package/dist/icons/AreaChartIcon.js +1 -1
  470. package/dist/icons/BackwardIcon.js +1 -1
  471. package/dist/icons/BarChartIcon.js +1 -1
  472. package/dist/icons/BellFilledIcon.js +1 -1
  473. package/dist/icons/BellIcon.js +1 -1
  474. package/dist/icons/BooleanIcon.js +1 -1
  475. package/dist/icons/CalendarEditIcon.js +1 -1
  476. package/dist/icons/CalendarIcon.js +1 -1
  477. package/dist/icons/CaretDownIcon.js +1 -1
  478. package/dist/icons/CaretUpIcon.js +1 -1
  479. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  480. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  481. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  482. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  483. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  484. package/dist/icons/ChartBarLineIcon.js +1 -1
  485. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  486. package/dist/icons/ChartBarStackedIcon.js +1 -1
  487. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  489. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  490. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  491. package/dist/icons/ChartBubbleIcon.js +1 -1
  492. package/dist/icons/ChartDonut2Icon.js +1 -1
  493. package/dist/icons/ChartFunnelIcon.js +1 -1
  494. package/dist/icons/ChartHeatmapIcon.js +1 -1
  495. package/dist/icons/ChartKPIIcon.js +1 -1
  496. package/dist/icons/ChartPie2Icon.js +1 -1
  497. package/dist/icons/ChartScatterIcon.js +1 -1
  498. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  499. package/dist/icons/CheckCircleIcon.js +1 -1
  500. package/dist/icons/CheckIcon.js +1 -1
  501. package/dist/icons/CircleFilledIcon.js +1 -1
  502. package/dist/icons/ClearIcon.js +1 -1
  503. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  504. package/dist/icons/CloseCircleIcon.js +1 -1
  505. package/dist/icons/CloseIcon.js +1 -1
  506. package/dist/icons/CodeIcon.js +1 -1
  507. package/dist/icons/ColumnTotalIcon.js +1 -1
  508. package/dist/icons/CopyIcon.js +1 -1
  509. package/dist/icons/CountIcon.js +1 -1
  510. package/dist/icons/CubeIcon.js +1 -1
  511. package/dist/icons/CubePauseIcon.js +1 -1
  512. package/dist/icons/CubePlayIcon.js +1 -1
  513. package/dist/icons/CurrencyDollarIcon.js +1 -1
  514. package/dist/icons/DangerIcon.js +1 -1
  515. package/dist/icons/DashboardIcon.js +1 -1
  516. package/dist/icons/DatabaseIcon.js +1 -1
  517. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  518. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  519. package/dist/icons/DirectionIcon.js +2 -2
  520. package/dist/icons/DirectionIcon.js.map +1 -1
  521. package/dist/icons/DonutIcon.js +1 -1
  522. package/dist/icons/DownIcon.js +1 -1
  523. package/dist/icons/EditIcon.js +1 -1
  524. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  525. package/dist/icons/ExclamationCircleIcon.js +1 -1
  526. package/dist/icons/ExclamationIcon.js +1 -1
  527. package/dist/icons/EyeIcon.js +1 -1
  528. package/dist/icons/EyeInvisibleIcon.js +1 -1
  529. package/dist/icons/FilterIcon.js +1 -1
  530. package/dist/icons/FolderFilledIcon.js +1 -1
  531. package/dist/icons/FolderIcon.js +1 -1
  532. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  533. package/dist/icons/FolderOpenIcon.js +1 -1
  534. package/dist/icons/ForwardIcon.js +1 -1
  535. package/dist/icons/HierarchyIcon.js +1 -1
  536. package/dist/icons/HierarchyOpenIcon.js +1 -1
  537. package/dist/icons/Icon.d.ts +1 -3
  538. package/dist/icons/Icon.js +2 -3
  539. package/dist/icons/Icon.js.map +1 -1
  540. package/dist/icons/InfoCircleIcon.js +1 -1
  541. package/dist/icons/InfoIcon.js +1 -1
  542. package/dist/icons/KeyIcon.js +1 -1
  543. package/dist/icons/LeftIcon.js +1 -1
  544. package/dist/icons/LineChartIcon.js +1 -1
  545. package/dist/icons/LoadingIcon.js +1 -1
  546. package/dist/icons/LockFilledIcon.js +1 -1
  547. package/dist/icons/LockIcon.js +1 -1
  548. package/dist/icons/MoreIcon.js +1 -1
  549. package/dist/icons/NotAllowedIcon.js +1 -1
  550. package/dist/icons/Number123Icon.js +1 -1
  551. package/dist/icons/NumberIcon.js +1 -1
  552. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  553. package/dist/icons/PauseCircleIcon.js +1 -1
  554. package/dist/icons/PauseIcon.js +1 -1
  555. package/dist/icons/PercentageIcon.js +1 -1
  556. package/dist/icons/PieChartIcon.js +1 -1
  557. package/dist/icons/PlayCircleIcon.js +1 -1
  558. package/dist/icons/PlayIcon.js +1 -1
  559. package/dist/icons/PlusIcon.js +1 -1
  560. package/dist/icons/ProgressBarIcon.js +1 -1
  561. package/dist/icons/ReloadIcon.js +1 -1
  562. package/dist/icons/ReportIcon.js +1 -1
  563. package/dist/icons/ReturnIcon.js +1 -1
  564. package/dist/icons/RightIcon.js +1 -1
  565. package/dist/icons/RowTotalsIcon.js +1 -1
  566. package/dist/icons/SchemeIcon.js +1 -1
  567. package/dist/icons/SearchIcon.js +1 -1
  568. package/dist/icons/SemanticQueryIcon.js +1 -1
  569. package/dist/icons/SettingsIcon.js +1 -1
  570. package/dist/icons/ShieldFilledIcon.js +1 -1
  571. package/dist/icons/ShieldIcon.js +1 -1
  572. package/dist/icons/SlashIcon.js +1 -1
  573. package/dist/icons/SparklesIcon.js +1 -1
  574. package/dist/icons/SqlIcon.js +1 -1
  575. package/dist/icons/StatsIcon.js +1 -1
  576. package/dist/icons/StopIcon.js +1 -1
  577. package/dist/icons/StringIcon.js +1 -1
  578. package/dist/icons/SubtotalsIcon.js +1 -1
  579. package/dist/icons/SwitchIcon.js +1 -1
  580. package/dist/icons/TableIcon.js +1 -1
  581. package/dist/icons/ThumbsDownIcon.js +1 -1
  582. package/dist/icons/ThumbsUpIcon.js +1 -1
  583. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  584. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  585. package/dist/icons/ThunderboltIcon.js +1 -1
  586. package/dist/icons/TimeIcon.js +1 -1
  587. package/dist/icons/TrashIcon.js +1 -1
  588. package/dist/icons/UnlockIcon.js +1 -1
  589. package/dist/icons/UpIcon.js +1 -1
  590. package/dist/icons/UserGroupIcon.js +1 -1
  591. package/dist/icons/UserIcon.js +1 -1
  592. package/dist/icons/UserLockIcon.js +1 -1
  593. package/dist/icons/ViewIcon.js +1 -1
  594. package/dist/icons/WarningFilledIcon.js +1 -1
  595. package/dist/icons/WarningIcon.js +1 -1
  596. package/dist/icons/wrap-icon.js +1 -1
  597. package/dist/index.d.ts +4 -35
  598. package/dist/index.js +5 -31
  599. package/dist/index.js.map +1 -1
  600. package/dist/provider.d.ts +1 -2
  601. package/dist/provider.js +1 -1
  602. package/dist/provider.js.map +1 -1
  603. package/dist/providers/TrackingProvider.js +1 -1
  604. package/dist/providers/navigationAdapter.default.js +1 -1
  605. package/dist/shared/form.d.ts +1 -3
  606. package/dist/tokens/base.d.ts +1 -1
  607. package/dist/tokens/base.js +1 -1
  608. package/dist/tokens/base.js.map +1 -1
  609. package/dist/tokens/colors.d.ts +1 -1
  610. package/dist/tokens/colors.js +1 -1
  611. package/dist/tokens/colors.js.map +1 -1
  612. package/dist/tokens/index.d.ts +1 -2
  613. package/dist/tokens/index.js +2 -3
  614. package/dist/tokens/index.js.map +1 -1
  615. package/dist/tokens/layout.d.ts +1 -1
  616. package/dist/tokens/layout.js +1 -1
  617. package/dist/tokens/layout.js.map +1 -1
  618. package/dist/tokens/shadows.d.ts +1 -1
  619. package/dist/tokens/shadows.js +1 -1
  620. package/dist/tokens/shadows.js.map +1 -1
  621. package/dist/tokens/sizes.d.ts +1 -1
  622. package/dist/tokens/sizes.js +1 -1
  623. package/dist/tokens/sizes.js.map +1 -1
  624. package/dist/tokens/spacing.d.ts +1 -1
  625. package/dist/tokens/spacing.js +1 -1
  626. package/dist/tokens/spacing.js.map +1 -1
  627. package/dist/utils/ResizeSensor.js +1 -1
  628. package/dist/utils/index.d.ts +1 -2
  629. package/dist/utils/is-dev-env.js +5 -10
  630. package/dist/utils/is-dev-env.js.map +1 -1
  631. package/dist/utils/modules.js +1 -1
  632. package/dist/utils/promise.js +1 -1
  633. package/dist/utils/raf.js +1 -1
  634. package/dist/utils/random.js +1 -1
  635. package/dist/utils/range.js +1 -1
  636. package/dist/utils/react/RenderCache.js +1 -1
  637. package/dist/utils/react/Slots.js +1 -1
  638. package/dist/utils/react/chain.js +1 -1
  639. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  640. package/dist/utils/react/index.d.ts +3 -3
  641. package/dist/utils/react/index.js +20 -0
  642. package/dist/utils/react/interactions.js +1 -1
  643. package/dist/utils/react/isTextOnly.js +1 -1
  644. package/dist/utils/react/mapProps.js +1 -1
  645. package/dist/utils/react/mergeProps.d.ts +1 -2
  646. package/dist/utils/react/mergeProps.js +2 -2
  647. package/dist/utils/react/mergeProps.js.map +1 -1
  648. package/dist/utils/react/nullableValue.d.ts +1 -2
  649. package/dist/utils/react/nullableValue.js +1 -1
  650. package/dist/utils/react/nullableValue.js.map +1 -1
  651. package/dist/utils/react/resolveIcon.d.ts +1 -2
  652. package/dist/utils/react/resolveIcon.js +1 -1
  653. package/dist/utils/react/resolveIcon.js.map +1 -1
  654. package/dist/utils/react/sharedStore.js +1 -1
  655. package/dist/utils/react/useCombinedRefs.js +1 -1
  656. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  657. package/dist/utils/react/useEventBus.js +1 -1
  658. package/dist/utils/react/useId.js +1 -1
  659. package/dist/utils/react/useIsDarwin.js +1 -1
  660. package/dist/utils/react/useKeySymbols.js +1 -1
  661. package/dist/utils/react/useLayoutEffect.js +1 -1
  662. package/dist/utils/react/useLocalStorage.js +1 -1
  663. package/dist/utils/react/useMergeStyles.d.ts +1 -2
  664. package/dist/utils/react/useMergeStyles.js +2 -2
  665. package/dist/utils/react/useMergeStyles.js.map +1 -1
  666. package/dist/utils/react/useQaProps.js +1 -1
  667. package/dist/utils/react/useViewportSize.js +1 -1
  668. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  669. package/dist/utils/tree.js +1 -1
  670. package/dist/utils/warnings.js +1 -1
  671. package/dist/version.js +2 -2
  672. package/package.json +4 -21
  673. package/dist/_virtual/_rolldown/runtime.js +0 -8
  674. package/dist/chunks/cacheKey.js +0 -71
  675. package/dist/chunks/cacheKey.js.map +0 -1
  676. package/dist/chunks/definitions.js +0 -261
  677. package/dist/chunks/definitions.js.map +0 -1
  678. package/dist/chunks/renderChunk.js +0 -68
  679. package/dist/chunks/renderChunk.js.map +0 -1
  680. package/dist/config.js +0 -232
  681. package/dist/config.js.map +0 -1
  682. package/dist/css-writer.d.ts +0 -46
  683. package/dist/css-writer.js +0 -75
  684. package/dist/css-writer.js.map +0 -1
  685. package/dist/extractor.d.ts +0 -25
  686. package/dist/extractor.js +0 -151
  687. package/dist/extractor.js.map +0 -1
  688. package/dist/injector/injector.js +0 -401
  689. package/dist/injector/injector.js.map +0 -1
  690. package/dist/injector/sheet-manager.js +0 -715
  691. package/dist/injector/sheet-manager.js.map +0 -1
  692. package/dist/injector/types.d.ts +0 -19
  693. package/dist/keyframes/index.js +0 -157
  694. package/dist/keyframes/index.js.map +0 -1
  695. package/dist/parser/classify.js +0 -320
  696. package/dist/parser/classify.js.map +0 -1
  697. package/dist/parser/const.js +0 -34
  698. package/dist/parser/const.js.map +0 -1
  699. package/dist/parser/lru.js +0 -110
  700. package/dist/parser/lru.js.map +0 -1
  701. package/dist/parser/parser.js +0 -117
  702. package/dist/parser/parser.js.map +0 -1
  703. package/dist/parser/tokenizer.js +0 -70
  704. package/dist/parser/tokenizer.js.map +0 -1
  705. package/dist/parser/types.d.ts +0 -38
  706. package/dist/parser/types.js +0 -47
  707. package/dist/parser/types.js.map +0 -1
  708. package/dist/pipeline/conditions.js +0 -378
  709. package/dist/pipeline/conditions.js.map +0 -1
  710. package/dist/pipeline/exclusive.js +0 -232
  711. package/dist/pipeline/exclusive.js.map +0 -1
  712. package/dist/pipeline/index.js +0 -633
  713. package/dist/pipeline/index.js.map +0 -1
  714. package/dist/pipeline/materialize.js +0 -822
  715. package/dist/pipeline/materialize.js.map +0 -1
  716. package/dist/pipeline/parseStateKey.js +0 -422
  717. package/dist/pipeline/parseStateKey.js.map +0 -1
  718. package/dist/pipeline/simplify.js +0 -558
  719. package/dist/pipeline/simplify.js.map +0 -1
  720. package/dist/plugins/okhsl-plugin.js +0 -346
  721. package/dist/plugins/okhsl-plugin.js.map +0 -1
  722. package/dist/plugins/types.d.ts +0 -52
  723. package/dist/properties/index.js +0 -142
  724. package/dist/properties/index.js.map +0 -1
  725. package/dist/states/index.js +0 -162
  726. package/dist/states/index.js.map +0 -1
  727. package/dist/styles/align.js +0 -15
  728. package/dist/styles/align.js.map +0 -1
  729. package/dist/styles/border.js +0 -115
  730. package/dist/styles/border.js.map +0 -1
  731. package/dist/styles/color.js +0 -24
  732. package/dist/styles/color.js.map +0 -1
  733. package/dist/styles/createStyle.js +0 -78
  734. package/dist/styles/createStyle.js.map +0 -1
  735. package/dist/styles/dimension.js +0 -100
  736. package/dist/styles/dimension.js.map +0 -1
  737. package/dist/styles/display.js +0 -68
  738. package/dist/styles/display.js.map +0 -1
  739. package/dist/styles/fade.js +0 -58
  740. package/dist/styles/fade.js.map +0 -1
  741. package/dist/styles/fill.js +0 -52
  742. package/dist/styles/fill.js.map +0 -1
  743. package/dist/styles/flow.js +0 -13
  744. package/dist/styles/flow.js.map +0 -1
  745. package/dist/styles/gap.js +0 -37
  746. package/dist/styles/gap.js.map +0 -1
  747. package/dist/styles/height.js +0 -21
  748. package/dist/styles/height.js.map +0 -1
  749. package/dist/styles/index.js +0 -10
  750. package/dist/styles/index.js.map +0 -1
  751. package/dist/styles/inset.js +0 -143
  752. package/dist/styles/inset.js.map +0 -1
  753. package/dist/styles/justify.js +0 -15
  754. package/dist/styles/justify.js.map +0 -1
  755. package/dist/styles/margin.js +0 -97
  756. package/dist/styles/margin.js.map +0 -1
  757. package/dist/styles/outline.js +0 -66
  758. package/dist/styles/outline.js.map +0 -1
  759. package/dist/styles/padding.js +0 -97
  760. package/dist/styles/padding.js.map +0 -1
  761. package/dist/styles/predefined.js +0 -233
  762. package/dist/styles/predefined.js.map +0 -1
  763. package/dist/styles/preset.js +0 -126
  764. package/dist/styles/preset.js.map +0 -1
  765. package/dist/styles/radius.js +0 -52
  766. package/dist/styles/radius.js.map +0 -1
  767. package/dist/styles/scrollbar.js +0 -109
  768. package/dist/styles/scrollbar.js.map +0 -1
  769. package/dist/styles/shadow.js +0 -28
  770. package/dist/styles/shadow.js.map +0 -1
  771. package/dist/styles/styledScrollbar.js +0 -39
  772. package/dist/styles/styledScrollbar.js.map +0 -1
  773. package/dist/styles/transition.js +0 -139
  774. package/dist/styles/transition.js.map +0 -1
  775. package/dist/styles/types.d.ts +0 -495
  776. package/dist/styles/width.js +0 -21
  777. package/dist/styles/width.js.map +0 -1
  778. package/dist/tasty/chunks/cacheKey.d.ts +0 -2
  779. package/dist/tasty/chunks/cacheKey.js +0 -71
  780. package/dist/tasty/chunks/cacheKey.js.map +0 -1
  781. package/dist/tasty/chunks/definitions.d.ts +0 -38
  782. package/dist/tasty/chunks/definitions.js +0 -261
  783. package/dist/tasty/chunks/definitions.js.map +0 -1
  784. package/dist/tasty/chunks/index.d.ts +0 -4
  785. package/dist/tasty/chunks/renderChunk.d.ts +0 -3
  786. package/dist/tasty/chunks/renderChunk.js +0 -68
  787. package/dist/tasty/chunks/renderChunk.js.map +0 -1
  788. package/dist/tasty/config.d.ts +0 -283
  789. package/dist/tasty/config.js +0 -401
  790. package/dist/tasty/config.js.map +0 -1
  791. package/dist/tasty/debug.d.ts +0 -200
  792. package/dist/tasty/debug.js +0 -734
  793. package/dist/tasty/debug.js.map +0 -1
  794. package/dist/tasty/hooks/index.d.ts +0 -6
  795. package/dist/tasty/hooks/useGlobalStyles.d.ts +0 -28
  796. package/dist/tasty/hooks/useGlobalStyles.js +0 -57
  797. package/dist/tasty/hooks/useGlobalStyles.js.map +0 -1
  798. package/dist/tasty/hooks/useKeyframes.d.ts +0 -57
  799. package/dist/tasty/hooks/useKeyframes.js +0 -55
  800. package/dist/tasty/hooks/useKeyframes.js.map +0 -1
  801. package/dist/tasty/hooks/useProperty.d.ts +0 -80
  802. package/dist/tasty/hooks/useProperty.js +0 -92
  803. package/dist/tasty/hooks/useProperty.js.map +0 -1
  804. package/dist/tasty/hooks/useRawCSS.d.ts +0 -54
  805. package/dist/tasty/hooks/useRawCSS.js +0 -29
  806. package/dist/tasty/hooks/useRawCSS.js.map +0 -1
  807. package/dist/tasty/hooks/useStyles.d.ts +0 -41
  808. package/dist/tasty/hooks/useStyles.js +0 -170
  809. package/dist/tasty/hooks/useStyles.js.map +0 -1
  810. package/dist/tasty/index.d.ts +0 -38
  811. package/dist/tasty/injector/index.d.ts +0 -158
  812. package/dist/tasty/injector/index.js +0 -155
  813. package/dist/tasty/injector/index.js.map +0 -1
  814. package/dist/tasty/injector/injector.d.ts +0 -137
  815. package/dist/tasty/injector/injector.js +0 -401
  816. package/dist/tasty/injector/injector.js.map +0 -1
  817. package/dist/tasty/injector/sheet-manager.d.ts +0 -128
  818. package/dist/tasty/injector/sheet-manager.js +0 -715
  819. package/dist/tasty/injector/sheet-manager.js.map +0 -1
  820. package/dist/tasty/injector/types.d.ts +0 -136
  821. package/dist/tasty/keyframes/index.js +0 -207
  822. package/dist/tasty/keyframes/index.js.map +0 -1
  823. package/dist/tasty/parser/classify.js +0 -320
  824. package/dist/tasty/parser/classify.js.map +0 -1
  825. package/dist/tasty/parser/const.js +0 -34
  826. package/dist/tasty/parser/const.js.map +0 -1
  827. package/dist/tasty/parser/lru.js +0 -110
  828. package/dist/tasty/parser/lru.js.map +0 -1
  829. package/dist/tasty/parser/parser.d.ts +0 -26
  830. package/dist/tasty/parser/parser.js +0 -117
  831. package/dist/tasty/parser/parser.js.map +0 -1
  832. package/dist/tasty/parser/tokenizer.js +0 -70
  833. package/dist/tasty/parser/tokenizer.js.map +0 -1
  834. package/dist/tasty/parser/types.d.ts +0 -47
  835. package/dist/tasty/parser/types.js +0 -47
  836. package/dist/tasty/parser/types.js.map +0 -1
  837. package/dist/tasty/pipeline/conditions.js +0 -378
  838. package/dist/tasty/pipeline/conditions.js.map +0 -1
  839. package/dist/tasty/pipeline/exclusive.d.ts +0 -2
  840. package/dist/tasty/pipeline/exclusive.js +0 -232
  841. package/dist/tasty/pipeline/exclusive.js.map +0 -1
  842. package/dist/tasty/pipeline/index.d.ts +0 -54
  843. package/dist/tasty/pipeline/index.js +0 -639
  844. package/dist/tasty/pipeline/index.js.map +0 -1
  845. package/dist/tasty/pipeline/materialize.js +0 -822
  846. package/dist/tasty/pipeline/materialize.js.map +0 -1
  847. package/dist/tasty/pipeline/parseStateKey.d.ts +0 -2
  848. package/dist/tasty/pipeline/parseStateKey.js +0 -422
  849. package/dist/tasty/pipeline/parseStateKey.js.map +0 -1
  850. package/dist/tasty/pipeline/simplify.js +0 -558
  851. package/dist/tasty/pipeline/simplify.js.map +0 -1
  852. package/dist/tasty/plugins/index.d.ts +0 -3
  853. package/dist/tasty/plugins/okhsl-plugin.d.ts +0 -36
  854. package/dist/tasty/plugins/okhsl-plugin.js +0 -372
  855. package/dist/tasty/plugins/okhsl-plugin.js.map +0 -1
  856. package/dist/tasty/plugins/types.d.ts +0 -72
  857. package/dist/tasty/properties/index.js +0 -159
  858. package/dist/tasty/properties/index.js.map +0 -1
  859. package/dist/tasty/states/index.d.ts +0 -46
  860. package/dist/tasty/states/index.js +0 -390
  861. package/dist/tasty/states/index.js.map +0 -1
  862. package/dist/tasty/static/index.d.ts +0 -6
  863. package/dist/tasty/static/index.js +0 -6
  864. package/dist/tasty/static/tastyStatic.d.ts +0 -47
  865. package/dist/tasty/static/tastyStatic.js +0 -32
  866. package/dist/tasty/static/tastyStatic.js.map +0 -1
  867. package/dist/tasty/static/types.d.ts +0 -50
  868. package/dist/tasty/static/types.js +0 -25
  869. package/dist/tasty/static/types.js.map +0 -1
  870. package/dist/tasty/styles/align.d.ts +0 -16
  871. package/dist/tasty/styles/align.js +0 -15
  872. package/dist/tasty/styles/align.js.map +0 -1
  873. package/dist/tasty/styles/border.d.ts +0 -26
  874. package/dist/tasty/styles/border.js +0 -115
  875. package/dist/tasty/styles/border.js.map +0 -1
  876. package/dist/tasty/styles/color.d.ts +0 -15
  877. package/dist/tasty/styles/color.js +0 -24
  878. package/dist/tasty/styles/color.js.map +0 -1
  879. package/dist/tasty/styles/createStyle.js +0 -78
  880. package/dist/tasty/styles/createStyle.js.map +0 -1
  881. package/dist/tasty/styles/dimension.js +0 -100
  882. package/dist/tasty/styles/dimension.js.map +0 -1
  883. package/dist/tasty/styles/display.d.ts +0 -38
  884. package/dist/tasty/styles/display.js +0 -68
  885. package/dist/tasty/styles/display.js.map +0 -1
  886. package/dist/tasty/styles/fade.d.ts +0 -16
  887. package/dist/tasty/styles/fade.js +0 -58
  888. package/dist/tasty/styles/fade.js.map +0 -1
  889. package/dist/tasty/styles/fill.d.ts +0 -45
  890. package/dist/tasty/styles/fill.js +0 -52
  891. package/dist/tasty/styles/fill.js.map +0 -1
  892. package/dist/tasty/styles/flow.d.ts +0 -17
  893. package/dist/tasty/styles/flow.js +0 -13
  894. package/dist/tasty/styles/flow.js.map +0 -1
  895. package/dist/tasty/styles/gap.d.ts +0 -32
  896. package/dist/tasty/styles/gap.js +0 -37
  897. package/dist/tasty/styles/gap.js.map +0 -1
  898. package/dist/tasty/styles/height.d.ts +0 -18
  899. package/dist/tasty/styles/height.js +0 -21
  900. package/dist/tasty/styles/height.js.map +0 -1
  901. package/dist/tasty/styles/index.d.ts +0 -3
  902. package/dist/tasty/styles/index.js +0 -10
  903. package/dist/tasty/styles/index.js.map +0 -1
  904. package/dist/tasty/styles/inset.d.ts +0 -51
  905. package/dist/tasty/styles/inset.js +0 -143
  906. package/dist/tasty/styles/inset.js.map +0 -1
  907. package/dist/tasty/styles/justify.d.ts +0 -16
  908. package/dist/tasty/styles/justify.js +0 -15
  909. package/dist/tasty/styles/justify.js.map +0 -1
  910. package/dist/tasty/styles/list.d.ts +0 -17
  911. package/dist/tasty/styles/list.js +0 -99
  912. package/dist/tasty/styles/list.js.map +0 -1
  913. package/dist/tasty/styles/margin.d.ts +0 -29
  914. package/dist/tasty/styles/margin.js +0 -97
  915. package/dist/tasty/styles/margin.js.map +0 -1
  916. package/dist/tasty/styles/outline.d.ts +0 -30
  917. package/dist/tasty/styles/outline.js +0 -66
  918. package/dist/tasty/styles/outline.js.map +0 -1
  919. package/dist/tasty/styles/padding.d.ts +0 -29
  920. package/dist/tasty/styles/padding.js +0 -97
  921. package/dist/tasty/styles/padding.js.map +0 -1
  922. package/dist/tasty/styles/predefined.d.ts +0 -75
  923. package/dist/tasty/styles/predefined.js +0 -242
  924. package/dist/tasty/styles/predefined.js.map +0 -1
  925. package/dist/tasty/styles/preset.d.ts +0 -48
  926. package/dist/tasty/styles/preset.js +0 -126
  927. package/dist/tasty/styles/preset.js.map +0 -1
  928. package/dist/tasty/styles/radius.d.ts +0 -15
  929. package/dist/tasty/styles/radius.js +0 -52
  930. package/dist/tasty/styles/radius.js.map +0 -1
  931. package/dist/tasty/styles/scrollbar.d.ts +0 -22
  932. package/dist/tasty/styles/scrollbar.js +0 -109
  933. package/dist/tasty/styles/scrollbar.js.map +0 -1
  934. package/dist/tasty/styles/shadow.d.ts +0 -15
  935. package/dist/tasty/styles/shadow.js +0 -28
  936. package/dist/tasty/styles/shadow.js.map +0 -1
  937. package/dist/tasty/styles/styledScrollbar.d.ts +0 -48
  938. package/dist/tasty/styles/styledScrollbar.js +0 -39
  939. package/dist/tasty/styles/styledScrollbar.js.map +0 -1
  940. package/dist/tasty/styles/transition.d.ts +0 -15
  941. package/dist/tasty/styles/transition.js +0 -139
  942. package/dist/tasty/styles/transition.js.map +0 -1
  943. package/dist/tasty/styles/types.d.ts +0 -499
  944. package/dist/tasty/styles/width.d.ts +0 -18
  945. package/dist/tasty/styles/width.js +0 -21
  946. package/dist/tasty/styles/width.js.map +0 -1
  947. package/dist/tasty/tasty.d.ts +0 -937
  948. package/dist/tasty/tasty.js +0 -191
  949. package/dist/tasty/tasty.js.map +0 -1
  950. package/dist/tasty/types.d.ts +0 -192
  951. package/dist/tasty/utils/cache-wrapper.js +0 -25
  952. package/dist/tasty/utils/cache-wrapper.js.map +0 -1
  953. package/dist/tasty/utils/case-converter.js +0 -9
  954. package/dist/tasty/utils/case-converter.js.map +0 -1
  955. package/dist/tasty/utils/colors.d.ts +0 -6
  956. package/dist/tasty/utils/colors.js +0 -10
  957. package/dist/tasty/utils/colors.js.map +0 -1
  958. package/dist/tasty/utils/dotize.d.ts +0 -27
  959. package/dist/tasty/utils/dotize.js +0 -123
  960. package/dist/tasty/utils/dotize.js.map +0 -1
  961. package/dist/tasty/utils/filter-base-props.d.ts +0 -16
  962. package/dist/tasty/utils/filter-base-props.js +0 -46
  963. package/dist/tasty/utils/filter-base-props.js.map +0 -1
  964. package/dist/tasty/utils/get-display-name.d.ts +0 -8
  965. package/dist/tasty/utils/get-display-name.js +0 -11
  966. package/dist/tasty/utils/get-display-name.js.map +0 -1
  967. package/dist/tasty/utils/hsl-to-rgb.js +0 -39
  968. package/dist/tasty/utils/hsl-to-rgb.js.map +0 -1
  969. package/dist/tasty/utils/is-dev-env.js +0 -20
  970. package/dist/tasty/utils/is-dev-env.js.map +0 -1
  971. package/dist/tasty/utils/merge-styles.d.ts +0 -8
  972. package/dist/tasty/utils/merge-styles.js +0 -147
  973. package/dist/tasty/utils/merge-styles.js.map +0 -1
  974. package/dist/tasty/utils/mod-attrs.d.ts +0 -9
  975. package/dist/tasty/utils/mod-attrs.js +0 -22
  976. package/dist/tasty/utils/mod-attrs.js.map +0 -1
  977. package/dist/tasty/utils/okhsl-to-rgb.js +0 -297
  978. package/dist/tasty/utils/okhsl-to-rgb.js.map +0 -1
  979. package/dist/tasty/utils/process-tokens.d.ts +0 -32
  980. package/dist/tasty/utils/process-tokens.js +0 -172
  981. package/dist/tasty/utils/process-tokens.js.map +0 -1
  982. package/dist/tasty/utils/resolve-recipes.d.ts +0 -18
  983. package/dist/tasty/utils/resolve-recipes.js +0 -144
  984. package/dist/tasty/utils/resolve-recipes.js.map +0 -1
  985. package/dist/tasty/utils/string.js +0 -9
  986. package/dist/tasty/utils/string.js.map +0 -1
  987. package/dist/tasty/utils/styles.d.ts +0 -204
  988. package/dist/tasty/utils/styles.js +0 -577
  989. package/dist/tasty/utils/styles.js.map +0 -1
  990. package/dist/tasty/utils/typography.d.ts +0 -37
  991. package/dist/tasty/utils/typography.js +0 -54
  992. package/dist/tasty/utils/typography.js.map +0 -1
  993. package/dist/tasty/utils/warnings.d.ts +0 -17
  994. package/dist/tasty/utils/warnings.js +0 -17
  995. package/dist/tasty/utils/warnings.js.map +0 -1
  996. package/dist/tasty/zero/babel.d.ts +0 -111
  997. package/dist/tasty/zero/babel.js +0 -283
  998. package/dist/tasty/zero/babel.js.map +0 -1
  999. package/dist/tasty/zero/index.d.ts +0 -4
  1000. package/dist/tasty/zero/index.js +0 -5
  1001. package/dist/tasty/zero/next.d.ts +0 -61
  1002. package/dist/tasty/zero/next.js +0 -79
  1003. package/dist/tasty/zero/next.js.map +0 -1
  1004. package/dist/tasty.config.ts +0 -311
  1005. package/dist/tokens/typography.d.ts +0 -35
  1006. package/dist/tokens/typography.js +0 -238
  1007. package/dist/tokens/typography.js.map +0 -1
  1008. package/dist/utils/cache-wrapper.js +0 -25
  1009. package/dist/utils/cache-wrapper.js.map +0 -1
  1010. package/dist/utils/case-converter.js +0 -9
  1011. package/dist/utils/case-converter.js.map +0 -1
  1012. package/dist/utils/hsl-to-rgb.js +0 -39
  1013. package/dist/utils/hsl-to-rgb.js.map +0 -1
  1014. package/dist/utils/merge-styles.js +0 -147
  1015. package/dist/utils/merge-styles.js.map +0 -1
  1016. package/dist/utils/okhsl-to-rgb.js +0 -297
  1017. package/dist/utils/okhsl-to-rgb.js.map +0 -1
  1018. package/dist/utils/process-tokens.js +0 -29
  1019. package/dist/utils/process-tokens.js.map +0 -1
  1020. package/dist/utils/resolve-recipes.js +0 -144
  1021. package/dist/utils/resolve-recipes.js.map +0 -1
  1022. package/dist/utils/string.js +0 -9
  1023. package/dist/utils/string.js.map +0 -1
  1024. package/dist/utils/styles.d.ts +0 -23
  1025. package/dist/utils/styles.js +0 -338
  1026. package/dist/utils/styles.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"exclusive.js","names":[],"sources":["../../src/tasty/pipeline/exclusive.ts"],"sourcesContent":["/**\n * Exclusive Condition Builder\n *\n * Transforms parsed style entries into exclusive conditions.\n * Each entry's condition is ANDed with the negation of all higher-priority conditions,\n * ensuring exactly one condition matches at any given time.\n */\n\nimport { StyleValue } from '../utils/styles';\n\nimport {\n and,\n ConditionNode,\n isCompoundCondition,\n not,\n trueCondition,\n} from './conditions';\nimport { simplifyCondition } from './simplify';\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Parsed style entry with condition\n */\nexport interface ParsedStyleEntry {\n styleKey: string; // e.g., 'padding', 'fill'\n stateKey: string; // Original key: '', 'compact', '@media(w < 768px)'\n value: StyleValue; // The style value (before handler processing)\n condition: ConditionNode; // Parsed condition tree\n priority: number; // Order in original object (higher = higher priority)\n}\n\n/**\n * Style entry with exclusive condition\n */\nexport interface ExclusiveStyleEntry extends ParsedStyleEntry {\n exclusiveCondition: ConditionNode; // condition & !higherPriorityConditions\n}\n\n// ============================================================================\n// Main Function\n// ============================================================================\n\n/**\n * Build exclusive conditions for a list of parsed style entries.\n *\n * The entries should be ordered by priority (highest priority first).\n *\n * For each entry, we compute:\n * exclusiveCondition = condition & !prior[0] & !prior[1] & ...\n *\n * This ensures exactly one condition matches at any time.\n *\n * Example:\n * Input (ordered highest to lowest priority):\n * A: value1 (priority 2)\n * B: value2 (priority 1)\n * C: value3 (priority 0)\n *\n * Output:\n * A: A\n * B: B & !A\n * C: C & !A & !B\n *\n * @param entries Parsed style entries ordered by priority (highest first)\n * @returns Entries with exclusive conditions, filtered to remove impossible ones\n */\nexport function buildExclusiveConditions(\n entries: ParsedStyleEntry[],\n): ExclusiveStyleEntry[] {\n const result: ExclusiveStyleEntry[] = [];\n const priorConditions: ConditionNode[] = [];\n\n for (const entry of entries) {\n // Build: condition & !prior[0] & !prior[1] & ...\n let exclusive: ConditionNode = entry.condition;\n\n for (const prior of priorConditions) {\n // Skip negating \"always true\" (default state) - it would become \"always false\"\n if (prior.kind !== 'true') {\n exclusive = and(exclusive, not(prior));\n }\n }\n\n // Simplify the exclusive condition\n const simplified = simplifyCondition(exclusive);\n\n // Skip impossible conditions (simplified to FALSE)\n if (simplified.kind === 'false') {\n continue;\n }\n\n result.push({\n ...entry,\n exclusiveCondition: simplified,\n });\n\n // Add non-default conditions to prior list for subsequent entries\n if (entry.condition.kind !== 'true') {\n priorConditions.push(entry.condition);\n }\n }\n\n return result;\n}\n\n/**\n * Parse style entries from a value mapping object.\n *\n * @param styleKey The style key (e.g., 'padding')\n * @param valueMap The value mapping { '': '2x', 'compact': '1x', '@media(w < 768px)': '0.5x' }\n * @param parseCondition Function to parse state keys into conditions\n * @returns Parsed entries ordered by priority (highest first)\n */\nexport function parseStyleEntries(\n styleKey: string,\n valueMap: Record<string, StyleValue>,\n parseCondition: (stateKey: string) => ConditionNode,\n): ParsedStyleEntry[] {\n const entries: ParsedStyleEntry[] = [];\n const keys = Object.keys(valueMap);\n\n keys.forEach((stateKey, index) => {\n const value = valueMap[stateKey];\n const condition =\n stateKey === '' ? trueCondition() : parseCondition(stateKey);\n\n entries.push({\n styleKey,\n stateKey,\n value,\n condition,\n priority: index,\n });\n });\n\n // Reverse so highest priority (last in object) comes first for exclusive building\n // buildExclusiveConditions expects highest priority first\n entries.reverse();\n\n return entries;\n}\n\n/**\n * Check if a value is a style value mapping (object with state keys)\n */\nexport function isValueMapping(\n value: StyleValue | Record<string, StyleValue>,\n): value is Record<string, StyleValue> {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n !(value instanceof Date)\n );\n}\n\n// ============================================================================\n// OR Expansion\n// ============================================================================\n\n/**\n * Expand OR conditions in parsed entries into multiple exclusive entries.\n *\n * For an entry with condition `A | B | C`, this creates 3 entries:\n * - condition: A\n * - condition: B & !A\n * - condition: C & !A & !B\n *\n * This ensures OR branches are mutually exclusive BEFORE the main\n * exclusive condition building pass.\n *\n * @param entries Parsed entries (may contain OR conditions)\n * @returns Expanded entries with OR branches made exclusive\n */\nexport function expandOrConditions(\n entries: ParsedStyleEntry[],\n): ParsedStyleEntry[] {\n const result: ParsedStyleEntry[] = [];\n\n for (const entry of entries) {\n const expanded = expandSingleEntry(entry);\n result.push(...expanded);\n }\n\n return result;\n}\n\n/**\n * Expand a single entry's OR condition into multiple exclusive entries\n */\nfunction expandSingleEntry(entry: ParsedStyleEntry): ParsedStyleEntry[] {\n const orBranches = collectOrBranches(entry.condition);\n\n // If no OR (single branch), return as-is\n if (orBranches.length <= 1) {\n return [entry];\n }\n\n // Make each OR branch exclusive from prior branches\n const result: ParsedStyleEntry[] = [];\n const priorBranches: ConditionNode[] = [];\n\n for (let i = 0; i < orBranches.length; i++) {\n const branch = orBranches[i];\n\n // Build: branch & !prior[0] & !prior[1] & ...\n let exclusiveBranch: ConditionNode = branch;\n for (const prior of priorBranches) {\n exclusiveBranch = and(exclusiveBranch, not(prior));\n }\n\n // Simplify to detect impossible combinations\n const simplified = simplifyCondition(exclusiveBranch);\n\n // Skip impossible branches\n if (simplified.kind === 'false') {\n priorBranches.push(branch);\n continue;\n }\n\n result.push({\n ...entry,\n stateKey: `${entry.stateKey}[${i}]`, // Mark as expanded branch\n condition: simplified,\n // Keep same priority - all branches from same entry have same priority\n });\n\n priorBranches.push(branch);\n }\n\n return result;\n}\n\n/**\n * Collect top-level OR branches from a condition.\n *\n * For `A | B | C`, returns [A, B, C]\n * For `A & B`, returns [A & B] (single branch)\n * For `A | (B & C)`, returns [A, B & C]\n */\nfunction collectOrBranches(condition: ConditionNode): ConditionNode[] {\n if (condition.kind === 'true' || condition.kind === 'false') {\n return [condition];\n }\n\n if (isCompoundCondition(condition) && condition.operator === 'OR') {\n // Flatten nested ORs\n const branches: ConditionNode[] = [];\n for (const child of condition.children) {\n branches.push(...collectOrBranches(child));\n }\n return branches;\n }\n\n // Not an OR - return as single branch\n return [condition];\n}\n\n// ============================================================================\n// Post-Build OR Expansion (for De Morgan ORs)\n// ============================================================================\n\n/**\n * Expand OR conditions in exclusive entries AFTER buildExclusiveConditions.\n *\n * This handles ORs that arise from De Morgan expansion during negation:\n * !(A & B) = !A | !B\n *\n * These ORs need to be made exclusive to avoid overlapping CSS rules:\n * !A | !B → !A | (A & !B)\n *\n * This is logically equivalent but ensures each branch has proper context.\n *\n * Example:\n * Input: { \"\": V1, \"@supports(...) & :has()\": V2 }\n * V2's exclusive = @supports & :has\n * V1's exclusive = !(@supports & :has) = !@supports | !:has\n *\n * Without this fix: V1 gets two rules:\n * - @supports (not ...) → V1 ✓\n * - :not(:has()) → V1 ✗ (missing @supports context!)\n *\n * With this fix: V1 gets two exclusive rules:\n * - @supports (not ...) → V1 ✓\n * - @supports (...) { :not(:has()) } → V1 ✓ (proper context!)\n */\nexport function expandExclusiveOrs(\n entries: ExclusiveStyleEntry[],\n): ExclusiveStyleEntry[] {\n const result: ExclusiveStyleEntry[] = [];\n\n for (const entry of entries) {\n const expanded = expandExclusiveConditionOrs(entry);\n result.push(...expanded);\n }\n\n return result;\n}\n\n/**\n * Check if a condition involves at-rules (media, container, supports, starting)\n */\nfunction hasAtRuleContext(node: ConditionNode): boolean {\n if (node.kind === 'true' || node.kind === 'false') {\n return false;\n }\n\n if (node.kind === 'state') {\n // These condition types generate at-rules\n return (\n node.type === 'media' ||\n node.type === 'container' ||\n node.type === 'supports' ||\n node.type === 'starting'\n );\n }\n\n if (node.kind === 'compound') {\n return node.children.some(hasAtRuleContext);\n }\n\n return false;\n}\n\n/**\n * Sort OR branches to prioritize at-rule conditions first.\n *\n * This is critical for correct CSS generation. For `!A | !B` where A is at-rule\n * and B is modifier, we want:\n * - Branch 0: !A (at-rule negation - covers \"no @supports/media\" case)\n * - Branch 1: A & !B (modifier negation with at-rule context)\n *\n * If we process in wrong order (!B first), we'd get:\n * - Branch 0: !B (modifier negation WITHOUT at-rule context - WRONG!)\n * - Branch 1: B & !A (at-rule negation with modifier - incomplete coverage)\n */\nfunction sortOrBranchesForExpansion(\n branches: ConditionNode[],\n): ConditionNode[] {\n return [...branches].sort((a, b) => {\n const aHasAtRule = hasAtRuleContext(a);\n const bHasAtRule = hasAtRuleContext(b);\n\n // At-rule conditions come first\n if (aHasAtRule && !bHasAtRule) return -1;\n if (!aHasAtRule && bHasAtRule) return 1;\n\n // Same type - keep original order (stable sort)\n return 0;\n });\n}\n\n/**\n * Expand ORs in a single entry's exclusive condition\n */\nfunction expandExclusiveConditionOrs(\n entry: ExclusiveStyleEntry,\n): ExclusiveStyleEntry[] {\n let orBranches = collectOrBranches(entry.exclusiveCondition);\n\n // If no OR (single branch), return as-is\n if (orBranches.length <= 1) {\n return [entry];\n }\n\n // Sort branches so at-rule conditions come first\n // This ensures proper context inheritance during expansion\n orBranches = sortOrBranchesForExpansion(orBranches);\n\n // Make each OR branch exclusive from prior branches\n const result: ExclusiveStyleEntry[] = [];\n const priorBranches: ConditionNode[] = [];\n\n for (let i = 0; i < orBranches.length; i++) {\n const branch = orBranches[i];\n\n // Build: branch & !prior[0] & !prior[1] & ...\n // This transforms: !A | !B → !A, !B & !!A = !A, (A & !B)\n let exclusiveBranch: ConditionNode = branch;\n for (const prior of priorBranches) {\n exclusiveBranch = and(exclusiveBranch, not(prior));\n }\n\n // Simplify to detect impossible combinations and clean up double negations\n const simplified = simplifyCondition(exclusiveBranch);\n\n // Skip impossible branches\n if (simplified.kind === 'false') {\n priorBranches.push(branch);\n continue;\n }\n\n result.push({\n ...entry,\n stateKey: `${entry.stateKey}[or:${i}]`, // Mark as expanded OR branch\n exclusiveCondition: simplified,\n });\n\n priorBranches.push(branch);\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,SAAgB,yBACd,SACuB;CACvB,MAAM,SAAgC,EAAE;CACxC,MAAM,kBAAmC,EAAE;AAE3C,MAAK,MAAM,SAAS,SAAS;EAE3B,IAAI,YAA2B,MAAM;AAErC,OAAK,MAAM,SAAS,gBAElB,KAAI,MAAM,SAAS,OACjB,aAAY,IAAI,WAAW,IAAI,MAAM,CAAC;EAK1C,MAAM,aAAa,kBAAkB,UAAU;AAG/C,MAAI,WAAW,SAAS,QACtB;AAGF,SAAO,KAAK;GACV,GAAG;GACH,oBAAoB;GACrB,CAAC;AAGF,MAAI,MAAM,UAAU,SAAS,OAC3B,iBAAgB,KAAK,MAAM,UAAU;;AAIzC,QAAO;;;;;;;;;;AAWT,SAAgB,kBACd,UACA,UACA,gBACoB;CACpB,MAAM,UAA8B,EAAE;AAGtC,CAFa,OAAO,KAAK,SAAS,CAE7B,SAAS,UAAU,UAAU;EAChC,MAAM,QAAQ,SAAS;EACvB,MAAM,YACJ,aAAa,KAAK,eAAe,GAAG,eAAe,SAAS;AAE9D,UAAQ,KAAK;GACX;GACA;GACA;GACA;GACA,UAAU;GACX,CAAC;GACF;AAIF,SAAQ,SAAS;AAEjB,QAAO;;;;;AAMT,SAAgB,eACd,OACqC;AACrC,QACE,UAAU,QACV,OAAO,UAAU,YACjB,CAAC,MAAM,QAAQ,MAAM,IACrB,EAAE,iBAAiB;;;;;;;;;;;;;;;;AAsBvB,SAAgB,mBACd,SACoB;CACpB,MAAM,SAA6B,EAAE;AAErC,MAAK,MAAM,SAAS,SAAS;EAC3B,MAAM,WAAW,kBAAkB,MAAM;AACzC,SAAO,KAAK,GAAG,SAAS;;AAG1B,QAAO;;;;;AAMT,SAAS,kBAAkB,OAA6C;CACtE,MAAM,aAAa,kBAAkB,MAAM,UAAU;AAGrD,KAAI,WAAW,UAAU,EACvB,QAAO,CAAC,MAAM;CAIhB,MAAM,SAA6B,EAAE;CACrC,MAAM,gBAAiC,EAAE;AAEzC,MAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;EAC1C,MAAM,SAAS,WAAW;EAG1B,IAAI,kBAAiC;AACrC,OAAK,MAAM,SAAS,cAClB,mBAAkB,IAAI,iBAAiB,IAAI,MAAM,CAAC;EAIpD,MAAM,aAAa,kBAAkB,gBAAgB;AAGrD,MAAI,WAAW,SAAS,SAAS;AAC/B,iBAAc,KAAK,OAAO;AAC1B;;AAGF,SAAO,KAAK;GACV,GAAG;GACH,UAAU,GAAG,MAAM,SAAS,GAAG,EAAE;GACjC,WAAW;GAEZ,CAAC;AAEF,gBAAc,KAAK,OAAO;;AAG5B,QAAO;;;;;;;;;AAUT,SAAS,kBAAkB,WAA2C;AACpE,KAAI,UAAU,SAAS,UAAU,UAAU,SAAS,QAClD,QAAO,CAAC,UAAU;AAGpB,KAAI,oBAAoB,UAAU,IAAI,UAAU,aAAa,MAAM;EAEjE,MAAM,WAA4B,EAAE;AACpC,OAAK,MAAM,SAAS,UAAU,SAC5B,UAAS,KAAK,GAAG,kBAAkB,MAAM,CAAC;AAE5C,SAAO;;AAIT,QAAO,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BpB,SAAgB,mBACd,SACuB;CACvB,MAAM,SAAgC,EAAE;AAExC,MAAK,MAAM,SAAS,SAAS;EAC3B,MAAM,WAAW,4BAA4B,MAAM;AACnD,SAAO,KAAK,GAAG,SAAS;;AAG1B,QAAO;;;;;AAMT,SAAS,iBAAiB,MAA8B;AACtD,KAAI,KAAK,SAAS,UAAU,KAAK,SAAS,QACxC,QAAO;AAGT,KAAI,KAAK,SAAS,QAEhB,QACE,KAAK,SAAS,WACd,KAAK,SAAS,eACd,KAAK,SAAS,cACd,KAAK,SAAS;AAIlB,KAAI,KAAK,SAAS,WAChB,QAAO,KAAK,SAAS,KAAK,iBAAiB;AAG7C,QAAO;;;;;;;;;;;;;;AAeT,SAAS,2BACP,UACiB;AACjB,QAAO,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM;EAClC,MAAM,aAAa,iBAAiB,EAAE;EACtC,MAAM,aAAa,iBAAiB,EAAE;AAGtC,MAAI,cAAc,CAAC,WAAY,QAAO;AACtC,MAAI,CAAC,cAAc,WAAY,QAAO;AAGtC,SAAO;GACP;;;;;AAMJ,SAAS,4BACP,OACuB;CACvB,IAAI,aAAa,kBAAkB,MAAM,mBAAmB;AAG5D,KAAI,WAAW,UAAU,EACvB,QAAO,CAAC,MAAM;AAKhB,cAAa,2BAA2B,WAAW;CAGnD,MAAM,SAAgC,EAAE;CACxC,MAAM,gBAAiC,EAAE;AAEzC,MAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;EAC1C,MAAM,SAAS,WAAW;EAI1B,IAAI,kBAAiC;AACrC,OAAK,MAAM,SAAS,cAClB,mBAAkB,IAAI,iBAAiB,IAAI,MAAM,CAAC;EAIpD,MAAM,aAAa,kBAAkB,gBAAgB;AAGrD,MAAI,WAAW,SAAS,SAAS;AAC/B,iBAAc,KAAK,OAAO;AAC1B;;AAGF,SAAO,KAAK;GACV,GAAG;GACH,UAAU,GAAG,MAAM,SAAS,MAAM,EAAE;GACpC,oBAAoB;GACrB,CAAC;AAEF,gBAAc,KAAK,OAAO;;AAG5B,QAAO"}
@@ -1,633 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.117.0 | Cube Dev Team */
2
- import { Lru } from "../parser/lru.js";
3
- import { stringifyStyles } from "../utils/styles.js";
4
- import { createStyle } from "../styles/createStyle.js";
5
- import { STYLE_HANDLER_MAP } from "../styles/index.js";
6
- import { createStateParserContext, extractLocalPredefinedStates } from "../states/index.js";
7
- import { and, falseCondition, not, or, trueCondition } from "./conditions.js";
8
- import { simplifyCondition } from "./simplify.js";
9
- import { buildExclusiveConditions, expandExclusiveOrs, expandOrConditions, isValueMapping, parseStyleEntries } from "./exclusive.js";
10
- import { buildAtRulesFromVariant, conditionToCSS, modifierToCSS, pseudoToCSS, rootConditionsToCSS } from "./materialize.js";
11
- import { parseStateKey } from "./parseStateKey.js";
12
-
13
- //#region src/tasty/pipeline/index.ts
14
- /**
15
- * Tasty Style Rendering Pipeline
16
- *
17
- * This is the main entrypoint for the new pipeline implementation.
18
- * It implements the complete flow from style objects to CSS rules.
19
- *
20
- * Pipeline stages:
21
- * 1. PARSE CONDITIONS - Parse state keys into ConditionNode trees
22
- * 2. BUILD EXCLUSIVE CONDITIONS - AND with negation of higher-priority conditions
23
- * 3. SIMPLIFY CONDITIONS - Apply boolean algebra, detect contradictions
24
- * 4. GROUP BY HANDLER - Collect styles per handler, compute combinations
25
- * 5. COMPUTE CSS VALUES - Call handlers to get CSS declarations
26
- * 6. MERGE BY VALUE - Merge rules with identical CSS output
27
- * 7. MATERIALIZE CSS - Convert conditions to CSS selectors + at-rules
28
- */
29
- const pipelineCache = new Lru(5e3);
30
- function runPipeline(styles, parserContext) {
31
- const allRules = [];
32
- processStyles(styles, "", parserContext, allRules);
33
- const seen = /* @__PURE__ */ new Set();
34
- return allRules.filter((rule) => {
35
- const key = `${rule.selector}|${rule.declarations}|${JSON.stringify(rule.atRules || [])}|${rule.rootPrefix || ""}`;
36
- if (seen.has(key)) return false;
37
- seen.add(key);
38
- return true;
39
- });
40
- }
41
- /**
42
- * Process styles at a given nesting level
43
- */
44
- function processStyles(styles, selectorSuffix, parserContext, allRules) {
45
- const keys = Object.keys(styles);
46
- const selectorKeys = keys.filter((key) => isSelector(key));
47
- const styleKeys = keys.filter((key) => !isSelector(key) && !key.startsWith("@"));
48
- for (const key of selectorKeys) {
49
- const nestedStyles = styles[key];
50
- if (!nestedStyles || typeof nestedStyles !== "object") continue;
51
- const suffixes = getAllSelectors(key, nestedStyles);
52
- if (!suffixes) continue;
53
- const { $: _omit, ...cleanedStyles } = nestedStyles;
54
- const subLocalStates = extractLocalPredefinedStates(cleanedStyles);
55
- const hasSubStates = Object.keys(subLocalStates).length > 0;
56
- const subContext = {
57
- ...parserContext,
58
- isSubElement: true,
59
- localPredefinedStates: hasSubStates ? {
60
- ...parserContext.localPredefinedStates,
61
- ...subLocalStates
62
- } : parserContext.localPredefinedStates
63
- };
64
- for (const suffix of suffixes) processStyles(cleanedStyles, selectorSuffix + suffix, subContext, allRules);
65
- }
66
- const handlerQueue = buildHandlerQueue(styleKeys, styles);
67
- for (const { handler, styleMap } of handlerQueue) {
68
- const lookupStyles = handler.__lookupStyles;
69
- const exclusiveByStyle = /* @__PURE__ */ new Map();
70
- for (const styleName of lookupStyles) {
71
- const value = styleMap[styleName];
72
- if (value === void 0) continue;
73
- if (isValueMapping(value)) {
74
- const fullyExpanded = expandExclusiveOrs(buildExclusiveConditions(expandOrConditions(parseStyleEntries(styleName, value, (stateKey) => parseStateKey(stateKey, { context: parserContext })))));
75
- exclusiveByStyle.set(styleName, fullyExpanded);
76
- } else exclusiveByStyle.set(styleName, [{
77
- styleKey: styleName,
78
- stateKey: "",
79
- value,
80
- condition: trueCondition(),
81
- priority: 0,
82
- exclusiveCondition: trueCondition()
83
- }]);
84
- }
85
- const stateSnapshots = computeStateCombinations(exclusiveByStyle, lookupStyles);
86
- const computedRules = [];
87
- for (const snapshot of stateSnapshots) {
88
- const result = handler(snapshot.values);
89
- if (!result) continue;
90
- const results = Array.isArray(result) ? result : [result];
91
- for (const r of results) {
92
- if (!r || typeof r !== "object") continue;
93
- const { $, ...styleProps } = r;
94
- const declarations = {};
95
- for (const [prop, val] of Object.entries(styleProps)) if (val != null && val !== "") declarations[prop] = String(val);
96
- if (Object.keys(declarations).length === 0) continue;
97
- const suffixes = $ ? (Array.isArray($) ? $ : [$]).map((s) => selectorSuffix + normalizeSelectorSuffix(String(s))) : [selectorSuffix];
98
- for (const suffix of suffixes) computedRules.push({
99
- condition: snapshot.condition,
100
- declarations,
101
- selectorSuffix: suffix
102
- });
103
- }
104
- }
105
- const mergedRules = mergeByValue(computedRules);
106
- for (const rule of mergedRules) {
107
- const cssRules = materializeComputedRule(rule);
108
- allRules.push(...cssRules);
109
- }
110
- }
111
- }
112
- /**
113
- * Check if a key is a CSS selector
114
- */
115
- function isSelector(key) {
116
- return key.startsWith("&") || key.startsWith(".") || /^[A-Z]/.test(key);
117
- }
118
- /**
119
- * Get all selector suffixes for a sub-element key.
120
- *
121
- * Handles three types of selector keys:
122
- * - `&` prefix: Raw selector suffix (e.g., `&:hover` → `:hover`)
123
- * - `.` prefix: Class selector (e.g., `.active` → ` .active`)
124
- * - Uppercase: Sub-element with optional `$` affix pattern
125
- *
126
- * @param key - The sub-element key (e.g., 'Label', '&:hover', '.active')
127
- * @param styles - The styles object, may contain `$` property for selector affix
128
- * @returns Array of selector suffixes, or null if invalid (with console warning)
129
- *
130
- * @example
131
- * getAllSelectors('Label', {})
132
- * // → [' [data-element="Label"]']
133
- *
134
- * getAllSelectors('Cell', { $: '>, >Body>' })
135
- * // → ['> [data-element="Cell"]', ' [data-element="Body"] > [data-element="Cell"]']
136
- */
137
- function getAllSelectors(key, styles) {
138
- if (key.startsWith("&")) return [key.slice(1)];
139
- if (key.startsWith(".")) return [` ${key}`];
140
- if (/^[A-Z]/.test(key)) {
141
- const affix = styles?.$;
142
- if (affix !== void 0) {
143
- const result = processAffix(String(affix), key);
144
- if (!result.valid) {
145
- console.warn(`[Tasty] ${result.reason}`);
146
- return null;
147
- }
148
- return result.selectors;
149
- }
150
- return [` [data-element="${key}"]`];
151
- }
152
- return null;
153
- }
154
- /**
155
- * Process selector affix pattern and return selector(s)
156
- *
157
- * Supports:
158
- * - Direct child: '>'
159
- * - Chained elements: '>Body>Row>'
160
- * - HTML tags: 'a', '>ul>li', 'button:hover'
161
- * - Pseudo-elements on root: '::before'
162
- * - Pseudo on sub-element: '@::before', '>@:hover'
163
- * - Classes: '.active', '>@.active'
164
- * - Multiple selectors: '>, >Body>'
165
- * - Sibling combinators (after element): '>Item+', '>Item~'
166
- */
167
- function processAffix(affix, key) {
168
- const trimmed = affix.trim();
169
- if (!trimmed) return {
170
- valid: true,
171
- selectors: [` [data-element="${key}"]`]
172
- };
173
- const patterns = trimmed.split(",").map((p) => p.trim());
174
- const selectors = [];
175
- for (const pattern of patterns) {
176
- const validation = validatePattern(pattern);
177
- if (!validation.valid) return validation;
178
- const selector = processSinglePattern(pattern, key);
179
- selectors.push(selector);
180
- }
181
- return {
182
- valid: true,
183
- selectors
184
- };
185
- }
186
- /**
187
- * Recognized token patterns for selector affix validation.
188
- *
189
- * These patterns are used to tokenize and validate `$` affix strings.
190
- * Order matters: more specific patterns must come first to avoid
191
- * partial matches (e.g., `::before` must match before `:` alone).
192
- *
193
- * Unrecognized tokens (like `#id`, `*`, or numbers) will cause validation to fail.
194
- */
195
- const VALID_TOKEN_PATTERNS = [
196
- /^[>+~]/,
197
- /^[A-Z][a-zA-Z0-9]*/,
198
- /^@/,
199
- /^::?[a-z][a-z0-9-]*(?:\([^)]*\))?/,
200
- /^\.[a-zA-Z_-][a-zA-Z0-9_-]*/,
201
- /^\[[^\]]+\]/,
202
- /^[a-z][a-z0-9-]*/,
203
- /^\s+/,
204
- /^&/
205
- ];
206
- /**
207
- * Scan a pattern for unrecognized tokens.
208
- *
209
- * Iterates through the pattern, consuming recognized tokens until
210
- * either the pattern is fully consumed (valid) or an unrecognized
211
- * character sequence is found (invalid).
212
- *
213
- * @param pattern - The selector pattern to validate
214
- * @returns The first unrecognized token found, or null if all tokens are valid
215
- *
216
- * @example
217
- * findUnrecognizedTokens('>Body>Row>') // → null (valid)
218
- * findUnrecognizedTokens('123') // → '123' (invalid)
219
- * findUnrecognizedTokens('#myId') // → '#' (invalid)
220
- */
221
- function findUnrecognizedTokens(pattern) {
222
- let remaining = pattern;
223
- while (remaining.length > 0) {
224
- let matched = false;
225
- for (const regex of VALID_TOKEN_PATTERNS) {
226
- const match = remaining.match(regex);
227
- if (match) {
228
- remaining = remaining.slice(match[0].length);
229
- matched = true;
230
- break;
231
- }
232
- }
233
- if (!matched) {
234
- const unrecognized = remaining.match(/^[^\s>+~@.:[\]A-Z]+/);
235
- return unrecognized ? unrecognized[0] : remaining[0];
236
- }
237
- }
238
- return null;
239
- }
240
- /**
241
- * Validate a selector pattern for structural correctness.
242
- *
243
- * Checks for:
244
- * 1. Out-of-scope selectors: Patterns starting with `+` or `~` target siblings
245
- * of the root element, which is outside the component's DOM scope.
246
- * 2. Consecutive combinators: Patterns like `>>` or `>+` are malformed CSS.
247
- * 3. Unrecognized tokens: Characters/sequences not matching valid CSS selectors.
248
- *
249
- * @param pattern - A single selector pattern (already split by comma)
250
- * @returns AffixResult indicating validity and error reason if invalid
251
- *
252
- * @example
253
- * validatePattern('>Body>Row>') // → { valid: true, selectors: [] }
254
- * validatePattern('+') // → { valid: false, reason: '...outside root scope...' }
255
- * validatePattern('>>') // → { valid: false, reason: '...consecutive combinators...' }
256
- */
257
- function validatePattern(pattern) {
258
- const trimmed = pattern.trim();
259
- if (/^[+~]/.test(trimmed)) return {
260
- valid: false,
261
- reason: `Selector affix "${pattern}" targets elements outside the root scope. Sibling selectors (+, ~) must be preceded by an element inside the root. Use ">Element+" or ">Element~" instead.`
262
- };
263
- if (/[>+~]{2,}/.test(trimmed.replace(/\s+/g, ""))) return {
264
- valid: false,
265
- reason: `Selector affix "${pattern}" contains consecutive combinators.`
266
- };
267
- const unrecognized = findUnrecognizedTokens(trimmed);
268
- if (unrecognized) return {
269
- valid: false,
270
- reason: `Selector affix "${pattern}" contains unrecognized token "${unrecognized}". Valid tokens: combinators (>, +, ~), element names (Uppercase), @ placeholder, pseudo (:hover, ::before), class (.name), attribute ([attr]).`
271
- };
272
- return {
273
- valid: true,
274
- selectors: []
275
- };
276
- }
277
- /**
278
- * Process a single selector pattern into a CSS selector suffix.
279
- *
280
- * This is the main transformation function that converts a `$` affix pattern
281
- * into a valid CSS selector suffix. It handles:
282
- *
283
- * 1. `@` placeholder replacement with `[data-element="key"]`
284
- * 2. Key injection based on pattern ending (see `shouldInjectKey`)
285
- * 3. Proper spacing for descendant vs direct child selectors
286
- *
287
- * @param pattern - A single validated selector pattern
288
- * @param key - The sub-element key to inject (e.g., 'Label', 'Cell')
289
- * @returns CSS selector suffix ready to append to the root selector
290
- *
291
- * @example
292
- * processSinglePattern('>', 'Row')
293
- * // → '> [data-element="Row"]'
294
- *
295
- * processSinglePattern('>Body>Row>', 'Cell')
296
- * // → '> [data-element="Body"] > [data-element="Row"] > [data-element="Cell"]'
297
- *
298
- * processSinglePattern('::before', 'Before')
299
- * // → '::before' (no key injection for pseudo on root)
300
- *
301
- * processSinglePattern('>@:hover', 'Item')
302
- * // → '> [data-element="Item"]:hover'
303
- */
304
- function processSinglePattern(pattern, key) {
305
- let normalized = pattern.replace(/^&/, "").trim();
306
- if (!normalized) return ` [data-element="${key}"]`;
307
- const startsWithPseudo = /^::?[a-z]/.test(normalized);
308
- let result = transformPattern(normalized);
309
- if (result.includes("@")) {
310
- result = result.replace(/@ (?=[.:])/g, "@");
311
- result = result.replace(/@/g, `[data-element="${key}"]`);
312
- if (!startsWithPseudo && !result.startsWith(" ")) result = " " + result;
313
- return result;
314
- }
315
- if (shouldInjectKey(normalized)) result = result + ` [data-element="${key}"]`;
316
- if (!startsWithPseudo && !result.startsWith(" ")) result = " " + result;
317
- return result;
318
- }
319
- /**
320
- * Transform a selector pattern by converting element names and normalizing spacing.
321
- *
322
- * This is a character-by-character tokenizer that:
323
- * - Converts uppercase names to `[data-element="Name"]` selectors
324
- * - Adds proper spacing around combinators (>, +, ~)
325
- * - Preserves lowercase tags, classes, pseudos, and attributes as-is
326
- * - Keeps @ placeholder for later replacement
327
- *
328
- * The tokenizer handles these token types in order:
329
- * 1. Whitespace (skipped)
330
- * 2. Combinators: >, +, ~ (add surrounding spaces)
331
- * 3. Uppercase names: Body, Row (convert to [data-element="..."])
332
- * 4. @ placeholder (keep for later replacement)
333
- * 5. Pseudo: :hover, ::before (attach to previous token)
334
- * 6. Tags: a, div, button (keep as-is with spacing)
335
- * 7. Classes: .active (attach to previous element/tag/placeholder)
336
- * 8. Attributes: [type="text"] (keep as-is)
337
- *
338
- * @param pattern - The raw selector pattern to transform
339
- * @returns Transformed pattern with proper CSS selector syntax
340
- *
341
- * @example
342
- * transformPattern('>Body>Row>')
343
- * // → '> [data-element="Body"] > [data-element="Row"] >'
344
- *
345
- * transformPattern('button.primary:hover')
346
- * // → 'button.primary:hover'
347
- */
348
- function transformPattern(pattern) {
349
- let result = "";
350
- let i = 0;
351
- while (i < pattern.length) {
352
- const char = pattern[i];
353
- if (/\s/.test(char)) {
354
- i++;
355
- continue;
356
- }
357
- if (/[>+~]/.test(char)) {
358
- if (result && !result.endsWith(" ")) result += " ";
359
- result += char;
360
- i++;
361
- continue;
362
- }
363
- if (/[A-Z]/.test(char)) {
364
- let name = "";
365
- while (i < pattern.length && /[a-zA-Z0-9]/.test(pattern[i])) {
366
- name += pattern[i];
367
- i++;
368
- }
369
- if (result && !result.endsWith(" ")) result += " ";
370
- result += `[data-element="${name}"]`;
371
- continue;
372
- }
373
- if (char === "@") {
374
- if (result && !result.endsWith(" ")) result += " ";
375
- result += "@";
376
- i++;
377
- continue;
378
- }
379
- if (char === ":") {
380
- let pseudo = "";
381
- while (i < pattern.length && !/[\s>+~,@]/.test(pattern[i]) && !/[A-Z]/.test(pattern[i])) {
382
- pseudo += pattern[i];
383
- i++;
384
- }
385
- result += pseudo;
386
- continue;
387
- }
388
- if (/[a-z]/.test(char)) {
389
- let tag = "";
390
- while (i < pattern.length && /[a-z0-9-]/.test(pattern[i])) {
391
- tag += pattern[i];
392
- i++;
393
- }
394
- if (result && !result.endsWith(" ")) result += " ";
395
- result += tag;
396
- continue;
397
- }
398
- if (char === ".") {
399
- const lastNonSpace = result.replace(/\s+$/, "").slice(-1);
400
- const attachToLast = lastNonSpace === "]" || lastNonSpace === "@" || /[a-zA-Z0-9-]/.test(lastNonSpace);
401
- if (result && !attachToLast && !result.endsWith(" ")) result += " ";
402
- let cls = ".";
403
- i++;
404
- while (i < pattern.length && /[a-zA-Z0-9_-]/.test(pattern[i])) {
405
- cls += pattern[i];
406
- i++;
407
- }
408
- result += cls;
409
- continue;
410
- }
411
- if (char === "[") {
412
- const lastNonSpace = result.replace(/\s+$/, "").slice(-1);
413
- const attachToLast = lastNonSpace === "]" || lastNonSpace === "@" || /[a-zA-Z0-9-]/.test(lastNonSpace);
414
- if (result && !attachToLast && !result.endsWith(" ")) result += " ";
415
- let attr = "";
416
- let depth = 0;
417
- while (i < pattern.length) {
418
- attr += pattern[i];
419
- if (pattern[i] === "[") depth++;
420
- if (pattern[i] === "]") depth--;
421
- i++;
422
- if (depth === 0) break;
423
- }
424
- result += attr;
425
- continue;
426
- }
427
- result += char;
428
- i++;
429
- }
430
- return result;
431
- }
432
- /**
433
- * Determine if the sub-element key should be auto-injected based on pattern ending.
434
- *
435
- * Key injection rules (when no @ placeholder is present):
436
- *
437
- * | Pattern Ending | Inject Key? | Example | Result |
438
- * |----------------|-------------|---------|--------|
439
- * | Combinator (>, +, ~) | Yes | `'>Body>'` | `> [data-element="Body"] > [el]` |
440
- * | Uppercase element | Yes | `'>Body>Row'` | `> [el1] > [el2] [key]` |
441
- * | Lowercase tag | Yes | `'>ul>li'` | `> ul > li [key]` |
442
- * | Pseudo (:hover, ::before) | No | `'::before'` | `::before` |
443
- * | Class (.active) | No | `'.active'` | `.active` |
444
- * | Attribute ([type]) | No | `'[type="text"]'` | `[type="text"]` |
445
- *
446
- * @param pattern - The normalized pattern (after stripping &)
447
- * @returns true if key should be injected, false otherwise
448
- *
449
- * @example
450
- * shouldInjectKey('>') // → true (trailing combinator)
451
- * shouldInjectKey('>Body>Row') // → true (ends with element)
452
- * shouldInjectKey('>ul>li') // → true (ends with tag)
453
- * shouldInjectKey('::before') // → false (ends with pseudo)
454
- * shouldInjectKey('.active') // → false (ends with class)
455
- * shouldInjectKey('a:hover') // → false (ends with pseudo)
456
- * shouldInjectKey('button.primary') // → false (ends with class)
457
- */
458
- function shouldInjectKey(pattern) {
459
- const trimmed = pattern.trim();
460
- if (/[>+~]$/.test(trimmed)) return true;
461
- if (/(?:^|[\s>+~\]:])[A-Z][a-zA-Z0-9]*$/.test(trimmed)) return true;
462
- if (/(?<![:.])(?:^|[\s>+~])[a-z][a-z0-9-]*$/.test(trimmed)) return true;
463
- return false;
464
- }
465
- /**
466
- * Normalize selector suffix from $ property
467
- */
468
- function normalizeSelectorSuffix(suffix) {
469
- if (!suffix) return "";
470
- return suffix.startsWith("&") ? suffix.slice(1) : suffix;
471
- }
472
- /**
473
- * Build handler queue from style keys
474
- */
475
- function buildHandlerQueue(styleKeys, styles) {
476
- const queue = [];
477
- const seenHandlers = /* @__PURE__ */ new Set();
478
- for (const styleName of styleKeys) {
479
- let handlers = STYLE_HANDLER_MAP[styleName];
480
- if (!handlers) handlers = STYLE_HANDLER_MAP[styleName] = [createStyle(styleName)];
481
- for (const handler of handlers) {
482
- if (seenHandlers.has(handler)) continue;
483
- seenHandlers.add(handler);
484
- const lookupStyles = handler.__lookupStyles;
485
- const styleMap = {};
486
- for (const name of lookupStyles) if (styles[name] !== void 0) styleMap[name] = styles[name];
487
- queue.push({
488
- handler,
489
- styleMap
490
- });
491
- }
492
- }
493
- return queue;
494
- }
495
- /**
496
- * Compute all valid state combinations for a handler's lookup styles
497
- */
498
- function computeStateCombinations(exclusiveByStyle, lookupStyles) {
499
- const combinations = cartesianProduct(lookupStyles.map((style) => exclusiveByStyle.get(style) || []));
500
- const snapshots = [];
501
- for (const combo of combinations) {
502
- const simplified = simplifyCondition(and(...combo.map((e) => e.exclusiveCondition)));
503
- if (simplified.kind === "false") continue;
504
- const values = {};
505
- for (const entry of combo) values[entry.styleKey] = entry.value;
506
- snapshots.push({
507
- condition: simplified,
508
- values
509
- });
510
- }
511
- return snapshots;
512
- }
513
- /**
514
- * Cartesian product of arrays
515
- */
516
- function cartesianProduct(arrays) {
517
- if (arrays.length === 0) return [[]];
518
- const nonEmpty = arrays.filter((a) => a.length > 0);
519
- if (nonEmpty.length === 0) return [[]];
520
- return nonEmpty.reduce((acc, arr) => acc.flatMap((combo) => arr.map((item) => [...combo, item])), [[]]);
521
- }
522
- /**
523
- * Merge rules with identical CSS output
524
- */
525
- function mergeByValue(rules) {
526
- const groups = /* @__PURE__ */ new Map();
527
- for (const rule of rules) {
528
- const key = `${rule.selectorSuffix}|${JSON.stringify(rule.declarations)}`;
529
- if (!groups.has(key)) groups.set(key, []);
530
- groups.get(key).push(rule);
531
- }
532
- const merged = [];
533
- for (const [, groupRules] of groups) if (groupRules.length === 1) merged.push(groupRules[0]);
534
- else {
535
- const mergedCondition = simplifyCondition(or(...groupRules.map((r) => r.condition)));
536
- merged.push({
537
- condition: mergedCondition,
538
- declarations: groupRules[0].declarations,
539
- selectorSuffix: groupRules[0].selectorSuffix
540
- });
541
- }
542
- return merged;
543
- }
544
- /**
545
- * Build selector fragment from a variant (without className prefix)
546
- */
547
- function buildSelectorFromVariant(variant, selectorSuffix) {
548
- let selector = "";
549
- for (const mod of variant.modifierConditions) selector += modifierToCSS(mod);
550
- for (const pseudo of variant.pseudoConditions) selector += pseudoToCSS(pseudo);
551
- selector += selectorSuffix;
552
- for (const own of variant.ownConditions) if ("attribute" in own) selector += modifierToCSS(own);
553
- else selector += pseudoToCSS(own);
554
- return selector;
555
- }
556
- /**
557
- * Materialize a computed rule to final CSS format
558
- *
559
- * Returns an array because OR conditions may generate multiple CSS rules
560
- * (when different branches have different at-rules)
561
- */
562
- function materializeComputedRule(rule) {
563
- const components = conditionToCSS(rule.condition);
564
- if (components.isImpossible || components.variants.length === 0) return [];
565
- const declarations = Object.entries(rule.declarations).map(([prop, value]) => `${prop}: ${value};`).join(" ");
566
- const getRootPrefixKey = (variant) => {
567
- return variant.rootConditions.map((r) => r.negated ? `!${r.selector}` : r.selector).sort().join("|");
568
- };
569
- const byAtRules = /* @__PURE__ */ new Map();
570
- for (const variant of components.variants) {
571
- const atRules = buildAtRulesFromVariant(variant);
572
- const key = atRules.sort().join("|||") + "###" + getRootPrefixKey(variant);
573
- const group = byAtRules.get(key);
574
- if (group) group.variants.push(variant);
575
- else byAtRules.set(key, {
576
- variants: [variant],
577
- atRules,
578
- rootPrefix: rootConditionsToCSS(variant.rootConditions)
579
- });
580
- }
581
- const rules = [];
582
- for (const [, group] of byAtRules) {
583
- const selectorFragments = group.variants.map((v) => buildSelectorFromVariant(v, rule.selectorSuffix));
584
- const cssRule = {
585
- selector: selectorFragments.length === 1 ? selectorFragments[0] : selectorFragments,
586
- declarations
587
- };
588
- if (group.atRules.length > 0) cssRule.atRules = group.atRules;
589
- if (group.rootPrefix) cssRule.rootPrefix = group.rootPrefix;
590
- rules.push(cssRule);
591
- }
592
- return rules;
593
- }
594
- function renderStyles(styles, classNameOrSelector, options) {
595
- const directSelector = !!classNameOrSelector;
596
- if (!styles) return directSelector ? [] : { rules: [] };
597
- const cacheKey = stringifyStyles(styles);
598
- let rules = pipelineCache.get(cacheKey);
599
- if (!rules) {
600
- rules = runPipeline(styles, createStateParserContext(styles));
601
- pipelineCache.set(cacheKey, rules);
602
- }
603
- if (directSelector) {
604
- const shouldDouble = options?.doubleSelector ?? false;
605
- return rules.map((rule) => {
606
- const result = {
607
- selector: (Array.isArray(rule.selector) ? rule.selector : rule.selector ? [rule.selector] : [""]).map((part) => {
608
- let sel = part ? `${classNameOrSelector}${part}` : classNameOrSelector;
609
- if (shouldDouble && sel.startsWith(".")) {
610
- const classMatch = sel.match(/^\.[a-zA-Z_-][a-zA-Z0-9_-]*/);
611
- if (classMatch) sel = classMatch[0] + sel;
612
- }
613
- if (rule.rootPrefix) sel = `${rule.rootPrefix} ${sel}`;
614
- return sel;
615
- }).join(", "),
616
- declarations: rule.declarations
617
- };
618
- if (rule.atRules && rule.atRules.length > 0) result.atRules = rule.atRules;
619
- return result;
620
- });
621
- }
622
- return { rules: rules.map((r) => ({
623
- selector: Array.isArray(r.selector) ? r.selector.join("|||") : r.selector,
624
- declarations: r.declarations,
625
- atRules: r.atRules,
626
- needsClassName: true,
627
- rootPrefix: r.rootPrefix
628
- })) };
629
- }
630
-
631
- //#endregion
632
- export { isSelector, renderStyles };
633
- //# sourceMappingURL=index.js.map