@techsio/ui-kit 0.54.1 → 0.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/README.md +16 -10
  2. package/dist/atoms/checkbox.js +3 -3
  3. package/dist/atoms/hotkeys.js +1 -1
  4. package/dist/atoms/numeric-input.js +1 -1
  5. package/dist/atoms/skeleton.js +0 -4
  6. package/dist/atoms/tooltip.js +20 -5
  7. package/dist/molecules/accordion.js +11 -3
  8. package/dist/molecules/carousel.js +16 -16
  9. package/dist/molecules/chart.js +99 -41
  10. package/dist/molecules/color-select.js +3 -3
  11. package/dist/molecules/combobox.js +11 -7
  12. package/dist/molecules/dialog.js +1 -12
  13. package/dist/molecules/form-numeric-input.js +4 -2
  14. package/dist/molecules/menu.js +79 -113
  15. package/dist/molecules/pagination.js +2 -1
  16. package/dist/molecules/phone-input.js +5 -3
  17. package/dist/molecules/popover.js +29 -4
  18. package/dist/molecules/radio-group.js +1 -1
  19. package/dist/molecules/search-form.js +1 -1
  20. package/dist/molecules/select.js +6 -6
  21. package/dist/molecules/steps.js +9 -4
  22. package/dist/molecules/tabs.js +3 -3
  23. package/dist/molecules/tour.js +1 -1
  24. package/dist/molecules/tree-view.js +1 -1
  25. package/dist/organisms/data-table.js +233 -122
  26. package/dist/organisms/footer.js +1 -1
  27. package/dist/organisms/gallery.js +21 -19
  28. package/dist/organisms/table.js +2 -2
  29. package/dist/src/atoms/action-icon.d.ts +12 -12
  30. package/dist/src/atoms/action-icon.d.ts.map +1 -1
  31. package/dist/src/atoms/badge.d.ts +3 -3
  32. package/dist/src/atoms/badge.d.ts.map +1 -1
  33. package/dist/src/atoms/button.d.ts +51 -51
  34. package/dist/src/atoms/button.d.ts.map +1 -1
  35. package/dist/src/atoms/checkbox.d.ts +2 -2
  36. package/dist/src/atoms/checkbox.d.ts.map +1 -1
  37. package/dist/src/atoms/hotkeys.d.ts +6 -6
  38. package/dist/src/atoms/hotkeys.d.ts.map +1 -1
  39. package/dist/src/atoms/icon.d.ts +42 -42
  40. package/dist/src/atoms/icon.d.ts.map +1 -1
  41. package/dist/src/atoms/image.d.ts +18 -18
  42. package/dist/src/atoms/image.d.ts.map +1 -1
  43. package/dist/src/atoms/input.d.ts +27 -27
  44. package/dist/src/atoms/input.d.ts.map +1 -1
  45. package/dist/src/atoms/label.d.ts +18 -18
  46. package/dist/src/atoms/label.d.ts.map +1 -1
  47. package/dist/src/atoms/link-button.d.ts +117 -117
  48. package/dist/src/atoms/link-button.d.ts.map +1 -1
  49. package/dist/src/atoms/link.d.ts +2 -2
  50. package/dist/src/atoms/link.d.ts.map +1 -1
  51. package/dist/src/atoms/numeric-input.d.ts +10 -9
  52. package/dist/src/atoms/numeric-input.d.ts.map +1 -1
  53. package/dist/src/atoms/rating.d.ts +3 -3
  54. package/dist/src/atoms/rating.d.ts.map +1 -1
  55. package/dist/src/atoms/skeleton.d.ts +6 -5
  56. package/dist/src/atoms/skeleton.d.ts.map +1 -1
  57. package/dist/src/atoms/status-text.d.ts +15 -15
  58. package/dist/src/atoms/status-text.d.ts.map +1 -1
  59. package/dist/src/atoms/textarea.d.ts +33 -33
  60. package/dist/src/atoms/textarea.d.ts.map +1 -1
  61. package/dist/src/atoms/tooltip.d.ts +3 -3
  62. package/dist/src/atoms/tooltip.d.ts.map +1 -1
  63. package/dist/src/hotkeys.d.ts.map +1 -1
  64. package/dist/src/internal/molecules/drawer.context.d.ts +3 -3
  65. package/dist/src/internal/molecules/drawer.context.d.ts.map +1 -1
  66. package/dist/src/internal/molecules/drawer.styles.d.ts +2 -2
  67. package/dist/src/internal/molecules/drawer.styles.d.ts.map +1 -1
  68. package/dist/src/internal/molecules/vertical-navigation.styles.d.ts +2 -2
  69. package/dist/src/internal/molecules/vertical-navigation.styles.d.ts.map +1 -1
  70. package/dist/src/internal/organisms/sidebar.context.d.ts +2 -2
  71. package/dist/src/internal/organisms/sidebar.context.d.ts.map +1 -1
  72. package/dist/src/internal/organisms/sidebar.styles.d.ts +2 -2
  73. package/dist/src/internal/organisms/sidebar.styles.d.ts.map +1 -1
  74. package/dist/src/molecules/accordion.d.ts +12 -12
  75. package/dist/src/molecules/accordion.d.ts.map +1 -1
  76. package/dist/src/molecules/availability-status.d.ts +1 -1
  77. package/dist/src/molecules/availability-status.d.ts.map +1 -1
  78. package/dist/src/molecules/breadcrumb.d.ts +14 -13
  79. package/dist/src/molecules/breadcrumb.d.ts.map +1 -1
  80. package/dist/src/molecules/carousel.d.ts +29 -29
  81. package/dist/src/molecules/carousel.d.ts.map +1 -1
  82. package/dist/src/molecules/cascade-select.d.ts +22 -19
  83. package/dist/src/molecules/cascade-select.d.ts.map +1 -1
  84. package/dist/src/molecules/chart.d.ts +1 -1
  85. package/dist/src/molecules/chart.d.ts.map +1 -1
  86. package/dist/src/molecules/color-select.d.ts +5 -5
  87. package/dist/src/molecules/color-select.d.ts.map +1 -1
  88. package/dist/src/molecules/combobox.d.ts +4 -4
  89. package/dist/src/molecules/combobox.d.ts.map +1 -1
  90. package/dist/src/molecules/command.d.ts +17 -15
  91. package/dist/src/molecules/command.d.ts.map +1 -1
  92. package/dist/src/molecules/date-picker.d.ts +18 -17
  93. package/dist/src/molecules/date-picker.d.ts.map +1 -1
  94. package/dist/src/molecules/dialog.d.ts +3 -3
  95. package/dist/src/molecules/dialog.d.ts.map +1 -1
  96. package/dist/src/molecules/drawer.d.ts +24 -22
  97. package/dist/src/molecules/drawer.d.ts.map +1 -1
  98. package/dist/src/molecules/file-upload.d.ts +17 -16
  99. package/dist/src/molecules/file-upload.d.ts.map +1 -1
  100. package/dist/src/molecules/form-checkbox.d.ts +1 -1
  101. package/dist/src/molecules/form-checkbox.d.ts.map +1 -1
  102. package/dist/src/molecules/form-error-summary.d.ts +1 -1
  103. package/dist/src/molecules/form-error-summary.d.ts.map +1 -1
  104. package/dist/src/molecules/form-input.d.ts +2 -2
  105. package/dist/src/molecules/form-input.d.ts.map +1 -1
  106. package/dist/src/molecules/form-numeric-input.d.ts +2 -2
  107. package/dist/src/molecules/form-numeric-input.d.ts.map +1 -1
  108. package/dist/src/molecules/form-textarea.d.ts +2 -2
  109. package/dist/src/molecules/form-textarea.d.ts.map +1 -1
  110. package/dist/src/molecules/menu.d.ts +17 -30
  111. package/dist/src/molecules/menu.d.ts.map +1 -1
  112. package/dist/src/molecules/pagination.d.ts +4 -4
  113. package/dist/src/molecules/pagination.d.ts.map +1 -1
  114. package/dist/src/molecules/phone-input.d.ts +29 -28
  115. package/dist/src/molecules/phone-input.d.ts.map +1 -1
  116. package/dist/src/molecules/popover.d.ts +14 -14
  117. package/dist/src/molecules/popover.d.ts.map +1 -1
  118. package/dist/src/molecules/price-block.d.ts +1 -1
  119. package/dist/src/molecules/price-block.d.ts.map +1 -1
  120. package/dist/src/molecules/product-card.d.ts +13 -12
  121. package/dist/src/molecules/product-card.d.ts.map +1 -1
  122. package/dist/src/molecules/quantity-field.d.ts +1 -1
  123. package/dist/src/molecules/quantity-field.d.ts.map +1 -1
  124. package/dist/src/molecules/radio-card.d.ts +18 -17
  125. package/dist/src/molecules/radio-card.d.ts.map +1 -1
  126. package/dist/src/molecules/radio-group.d.ts +17 -16
  127. package/dist/src/molecules/radio-group.d.ts.map +1 -1
  128. package/dist/src/molecules/search-form.d.ts +12 -11
  129. package/dist/src/molecules/search-form.d.ts.map +1 -1
  130. package/dist/src/molecules/select.d.ts +19 -18
  131. package/dist/src/molecules/select.d.ts.map +1 -1
  132. package/dist/src/molecules/slider.d.ts +3 -3
  133. package/dist/src/molecules/slider.d.ts.map +1 -1
  134. package/dist/src/molecules/steps.d.ts +26 -23
  135. package/dist/src/molecules/steps.d.ts.map +1 -1
  136. package/dist/src/molecules/switch.d.ts +24 -24
  137. package/dist/src/molecules/switch.d.ts.map +1 -1
  138. package/dist/src/molecules/tabs.d.ts +7 -7
  139. package/dist/src/molecules/tabs.d.ts.map +1 -1
  140. package/dist/src/molecules/toast.d.ts +31 -31
  141. package/dist/src/molecules/toast.d.ts.map +1 -1
  142. package/dist/src/molecules/tour.d.ts +20 -20
  143. package/dist/src/molecules/tour.d.ts.map +1 -1
  144. package/dist/src/molecules/tree-view.d.ts +33 -32
  145. package/dist/src/molecules/tree-view.d.ts.map +1 -1
  146. package/dist/src/molecules/vertical-navigation.d.ts +14 -14
  147. package/dist/src/molecules/vertical-navigation.d.ts.map +1 -1
  148. package/dist/src/organisms/data-table.d.ts +32 -9
  149. package/dist/src/organisms/data-table.d.ts.map +1 -1
  150. package/dist/src/organisms/data-table.fields.d.ts +1 -1
  151. package/dist/src/organisms/data-table.fields.d.ts.map +1 -1
  152. package/dist/src/organisms/data-table.helpers.d.ts +1 -1
  153. package/dist/src/organisms/data-table.helpers.d.ts.map +1 -1
  154. package/dist/src/organisms/footer.d.ts +15 -12
  155. package/dist/src/organisms/footer.d.ts.map +1 -1
  156. package/dist/src/organisms/gallery.d.ts +11 -10
  157. package/dist/src/organisms/gallery.d.ts.map +1 -1
  158. package/dist/src/organisms/header.d.ts +11 -11
  159. package/dist/src/organisms/header.d.ts.map +1 -1
  160. package/dist/src/organisms/sidebar.d.ts +21 -21
  161. package/dist/src/organisms/sidebar.d.ts.map +1 -1
  162. package/dist/src/organisms/table.d.ts +13 -12
  163. package/dist/src/organisms/table.d.ts.map +1 -1
  164. package/dist/src/templates/accordion.d.ts +2 -2
  165. package/dist/src/templates/accordion.d.ts.map +1 -1
  166. package/dist/src/templates/breadcrumb.d.ts +2 -2
  167. package/dist/src/templates/breadcrumb.d.ts.map +1 -1
  168. package/dist/src/templates/carousel.d.ts +2 -2
  169. package/dist/src/templates/carousel.d.ts.map +1 -1
  170. package/dist/src/templates/facet-filter-panel.d.ts +2 -2
  171. package/dist/src/templates/facet-filter-panel.d.ts.map +1 -1
  172. package/dist/src/templates/gallery.d.ts +2 -2
  173. package/dist/src/templates/gallery.d.ts.map +1 -1
  174. package/dist/src/templates/numeric-input.d.ts +2 -2
  175. package/dist/src/templates/numeric-input.d.ts.map +1 -1
  176. package/dist/src/templates/popover.d.ts +2 -2
  177. package/dist/src/templates/popover.d.ts.map +1 -1
  178. package/dist/src/templates/product-card.d.ts +2 -2
  179. package/dist/src/templates/product-card.d.ts.map +1 -1
  180. package/dist/src/templates/search-suggestions.d.ts +1 -1
  181. package/dist/src/templates/search-suggestions.d.ts.map +1 -1
  182. package/dist/src/templates/select.d.ts +2 -2
  183. package/dist/src/templates/select.d.ts.map +1 -1
  184. package/dist/src/templates/tabs.d.ts +2 -2
  185. package/dist/src/templates/tabs.d.ts.map +1 -1
  186. package/dist/src/theme/theme-config.d.ts.map +1 -1
  187. package/dist/src/theme/theme-provider.d.ts +2 -2
  188. package/dist/src/theme/theme-provider.d.ts.map +1 -1
  189. package/dist/src/theme/theme-toggle.d.ts +1 -1
  190. package/dist/src/theme/theme-toggle.d.ts.map +1 -1
  191. package/dist/templates/numeric-input.js +9 -3
  192. package/dist/theme/theme-toggle.js +1 -1
  193. package/package.json +88 -84
  194. package/src/tokens/_typography.css +5 -0
  195. package/src/tokens/index.css +1 -1
  196. package/dist/.storybook/decorator.d.ts +0 -12
  197. package/dist/.storybook/decorator.d.ts.map +0 -1
  198. package/dist/.storybook/main.d.ts +0 -4
  199. package/dist/.storybook/main.d.ts.map +0 -1
  200. package/dist/.storybook/manager.d.ts +0 -2
  201. package/dist/.storybook/manager.d.ts.map +0 -1
  202. package/dist/.storybook/preview.d.ts +0 -5
  203. package/dist/.storybook/preview.d.ts.map +0 -1
  204. package/dist/.storybook/test-runner.d.ts +0 -12
  205. package/dist/.storybook/test-runner.d.ts.map +0 -1
  206. package/dist/stories/atoms/badge.stories.d.ts +0 -12
  207. package/dist/stories/atoms/badge.stories.d.ts.map +0 -1
  208. package/dist/stories/atoms/button.stories.d.ts +0 -12
  209. package/dist/stories/atoms/button.stories.d.ts.map +0 -1
  210. package/dist/stories/atoms/checkbox.stories.d.ts +0 -56
  211. package/dist/stories/atoms/checkbox.stories.d.ts.map +0 -1
  212. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts +0 -6
  213. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts.map +0 -1
  214. package/dist/stories/atoms/hotkeys.stories.d.ts +0 -336
  215. package/dist/stories/atoms/hotkeys.stories.d.ts.map +0 -1
  216. package/dist/stories/atoms/icon.stories.d.ts +0 -11
  217. package/dist/stories/atoms/icon.stories.d.ts.map +0 -1
  218. package/dist/stories/atoms/image.stories.d.ts +0 -8
  219. package/dist/stories/atoms/image.stories.d.ts.map +0 -1
  220. package/dist/stories/atoms/input.stories.d.ts +0 -8
  221. package/dist/stories/atoms/input.stories.d.ts.map +0 -1
  222. package/dist/stories/atoms/numeric-input.stories.d.ts +0 -27
  223. package/dist/stories/atoms/numeric-input.stories.d.ts.map +0 -1
  224. package/dist/stories/atoms/rating.stories.d.ts +0 -10
  225. package/dist/stories/atoms/rating.stories.d.ts.map +0 -1
  226. package/dist/stories/atoms/skeleton.stories.d.ts +0 -34
  227. package/dist/stories/atoms/skeleton.stories.d.ts.map +0 -1
  228. package/dist/stories/atoms/status-text.stories.d.ts +0 -15
  229. package/dist/stories/atoms/status-text.stories.d.ts.map +0 -1
  230. package/dist/stories/atoms/textarea.stories.d.ts +0 -12
  231. package/dist/stories/atoms/textarea.stories.d.ts.map +0 -1
  232. package/dist/stories/atoms/tooltip.stories.d.ts +0 -28
  233. package/dist/stories/atoms/tooltip.stories.d.ts.map +0 -1
  234. package/dist/stories/changelog/changelog.stories.d.ts +0 -6
  235. package/dist/stories/changelog/changelog.stories.d.ts.map +0 -1
  236. package/dist/stories/helpers/icon-options.d.ts +0 -4
  237. package/dist/stories/helpers/icon-options.d.ts.map +0 -1
  238. package/dist/stories/molecules/accordion.stories.d.ts +0 -14
  239. package/dist/stories/molecules/accordion.stories.d.ts.map +0 -1
  240. package/dist/stories/molecules/availability-status.stories.d.ts +0 -14
  241. package/dist/stories/molecules/availability-status.stories.d.ts.map +0 -1
  242. package/dist/stories/molecules/breadcrumb.stories.d.ts +0 -14
  243. package/dist/stories/molecules/breadcrumb.stories.d.ts.map +0 -1
  244. package/dist/stories/molecules/carousel.stories.d.ts +0 -19
  245. package/dist/stories/molecules/carousel.stories.d.ts.map +0 -1
  246. package/dist/stories/molecules/cascade-select.stories.d.ts +0 -254
  247. package/dist/stories/molecules/cascade-select.stories.d.ts.map +0 -1
  248. package/dist/stories/molecules/chart.stories.d.ts +0 -24
  249. package/dist/stories/molecules/chart.stories.d.ts.map +0 -1
  250. package/dist/stories/molecules/color-select.stories.d.ts +0 -12
  251. package/dist/stories/molecules/color-select.stories.d.ts.map +0 -1
  252. package/dist/stories/molecules/combobox.stories.d.ts +0 -17
  253. package/dist/stories/molecules/combobox.stories.d.ts.map +0 -1
  254. package/dist/stories/molecules/command-hotkeys.stories.d.ts +0 -38
  255. package/dist/stories/molecules/command-hotkeys.stories.d.ts.map +0 -1
  256. package/dist/stories/molecules/command.stories.d.ts +0 -74
  257. package/dist/stories/molecules/command.stories.d.ts.map +0 -1
  258. package/dist/stories/molecules/date-picker.stories.d.ts +0 -141
  259. package/dist/stories/molecules/date-picker.stories.d.ts.map +0 -1
  260. package/dist/stories/molecules/dialog.stories.d.ts +0 -19
  261. package/dist/stories/molecules/dialog.stories.d.ts.map +0 -1
  262. package/dist/stories/molecules/drawer.stories.d.ts +0 -158
  263. package/dist/stories/molecules/drawer.stories.d.ts.map +0 -1
  264. package/dist/stories/molecules/file-upload.stories.d.ts +0 -105
  265. package/dist/stories/molecules/file-upload.stories.d.ts.map +0 -1
  266. package/dist/stories/molecules/form-checkbox.stories.d.ts +0 -17
  267. package/dist/stories/molecules/form-checkbox.stories.d.ts.map +0 -1
  268. package/dist/stories/molecules/form-error-summary.stories.d.ts +0 -11
  269. package/dist/stories/molecules/form-error-summary.stories.d.ts.map +0 -1
  270. package/dist/stories/molecules/form-input.stories.d.ts +0 -12
  271. package/dist/stories/molecules/form-input.stories.d.ts.map +0 -1
  272. package/dist/stories/molecules/form-numeric-input.stories.d.ts +0 -18
  273. package/dist/stories/molecules/form-numeric-input.stories.d.ts.map +0 -1
  274. package/dist/stories/molecules/form-textarea.stories.d.ts +0 -12
  275. package/dist/stories/molecules/form-textarea.stories.d.ts.map +0 -1
  276. package/dist/stories/molecules/menu.stories.d.ts +0 -22
  277. package/dist/stories/molecules/menu.stories.d.ts.map +0 -1
  278. package/dist/stories/molecules/pagination.stories.d.ts +0 -13
  279. package/dist/stories/molecules/pagination.stories.d.ts.map +0 -1
  280. package/dist/stories/molecules/phone-input.stories.d.ts +0 -19
  281. package/dist/stories/molecules/phone-input.stories.d.ts.map +0 -1
  282. package/dist/stories/molecules/popover.stories.d.ts +0 -140
  283. package/dist/stories/molecules/popover.stories.d.ts.map +0 -1
  284. package/dist/stories/molecules/price-block.stories.d.ts +0 -14
  285. package/dist/stories/molecules/price-block.stories.d.ts.map +0 -1
  286. package/dist/stories/molecules/product-card.stories.d.ts +0 -41
  287. package/dist/stories/molecules/product-card.stories.d.ts.map +0 -1
  288. package/dist/stories/molecules/quantity-field.stories.d.ts +0 -16
  289. package/dist/stories/molecules/quantity-field.stories.d.ts.map +0 -1
  290. package/dist/stories/molecules/radio-card.stories.d.ts +0 -13
  291. package/dist/stories/molecules/radio-card.stories.d.ts.map +0 -1
  292. package/dist/stories/molecules/radio-group.stories.d.ts +0 -13
  293. package/dist/stories/molecules/radio-group.stories.d.ts.map +0 -1
  294. package/dist/stories/molecules/search-form.stories.d.ts +0 -17
  295. package/dist/stories/molecules/search-form.stories.d.ts.map +0 -1
  296. package/dist/stories/molecules/select.stories.d.ts +0 -19
  297. package/dist/stories/molecules/select.stories.d.ts.map +0 -1
  298. package/dist/stories/molecules/slider.stories.d.ts +0 -20
  299. package/dist/stories/molecules/slider.stories.d.ts.map +0 -1
  300. package/dist/stories/molecules/steps.stories.d.ts +0 -19
  301. package/dist/stories/molecules/steps.stories.d.ts.map +0 -1
  302. package/dist/stories/molecules/switch.stories.d.ts +0 -13
  303. package/dist/stories/molecules/switch.stories.d.ts.map +0 -1
  304. package/dist/stories/molecules/tabs.stories.d.ts +0 -18
  305. package/dist/stories/molecules/tabs.stories.d.ts.map +0 -1
  306. package/dist/stories/molecules/toast.stories.d.ts +0 -11
  307. package/dist/stories/molecules/toast.stories.d.ts.map +0 -1
  308. package/dist/stories/molecules/tour.stories.d.ts +0 -58
  309. package/dist/stories/molecules/tour.stories.d.ts.map +0 -1
  310. package/dist/stories/molecules/tree-view.stories.d.ts +0 -17
  311. package/dist/stories/molecules/tree-view.stories.d.ts.map +0 -1
  312. package/dist/stories/molecules/vertical-navigation.stories.d.ts +0 -75
  313. package/dist/stories/molecules/vertical-navigation.stories.d.ts.map +0 -1
  314. package/dist/stories/organisms/data-table.stories.d.ts +0 -145
  315. package/dist/stories/organisms/data-table.stories.d.ts.map +0 -1
  316. package/dist/stories/organisms/footer.stories.d.ts +0 -12
  317. package/dist/stories/organisms/footer.stories.d.ts.map +0 -1
  318. package/dist/stories/organisms/gallery.stories.d.ts +0 -73
  319. package/dist/stories/organisms/gallery.stories.d.ts.map +0 -1
  320. package/dist/stories/organisms/header.stories.d.ts +0 -12
  321. package/dist/stories/organisms/header.stories.d.ts.map +0 -1
  322. package/dist/stories/organisms/sidebar.stories.d.ts +0 -66
  323. package/dist/stories/organisms/sidebar.stories.d.ts.map +0 -1
  324. package/dist/stories/organisms/table.stories.d.ts +0 -63
  325. package/dist/stories/organisms/table.stories.d.ts.map +0 -1
  326. package/dist/stories/overview/apca-contrast-test.stories.d.ts +0 -8
  327. package/dist/stories/overview/apca-contrast-test.stories.d.ts.map +0 -1
  328. package/dist/stories/overview/color-palette.stories.d.ts +0 -8
  329. package/dist/stories/overview/color-palette.stories.d.ts.map +0 -1
  330. package/dist/stories/overview/component-comparison.stories.d.ts +0 -6
  331. package/dist/stories/overview/component-comparison.stories.d.ts.map +0 -1
  332. package/dist/stories/pages/akros/banner.stories.d.ts +0 -6
  333. package/dist/stories/pages/akros/banner.stories.d.ts.map +0 -1
  334. package/dist/stories/pages/akros/carts.stories.d.ts +0 -7
  335. package/dist/stories/pages/akros/carts.stories.d.ts.map +0 -1
  336. package/dist/stories/pages/akros/categories.stories.d.ts +0 -6
  337. package/dist/stories/pages/akros/categories.stories.d.ts.map +0 -1
  338. package/dist/stories/pages/akros/content.stories.d.ts +0 -7
  339. package/dist/stories/pages/akros/content.stories.d.ts.map +0 -1
  340. package/dist/stories/pages/akros/customers.stories.d.ts +0 -8
  341. package/dist/stories/pages/akros/customers.stories.d.ts.map +0 -1
  342. package/dist/stories/pages/akros/dashboard.stories.d.ts +0 -7
  343. package/dist/stories/pages/akros/dashboard.stories.d.ts.map +0 -1
  344. package/dist/stories/pages/akros/data.d.ts +0 -250
  345. package/dist/stories/pages/akros/data.d.ts.map +0 -1
  346. package/dist/stories/pages/akros/emails.stories.d.ts +0 -7
  347. package/dist/stories/pages/akros/emails.stories.d.ts.map +0 -1
  348. package/dist/stories/pages/akros/feeds.stories.d.ts +0 -6
  349. package/dist/stories/pages/akros/feeds.stories.d.ts.map +0 -1
  350. package/dist/stories/pages/akros/order-detail.stories.d.ts +0 -8
  351. package/dist/stories/pages/akros/order-detail.stories.d.ts.map +0 -1
  352. package/dist/stories/pages/akros/orders.stories.d.ts +0 -8
  353. package/dist/stories/pages/akros/orders.stories.d.ts.map +0 -1
  354. package/dist/stories/pages/akros/products.stories.d.ts +0 -9
  355. package/dist/stories/pages/akros/products.stories.d.ts.map +0 -1
  356. package/dist/stories/pages/akros/shared.d.ts +0 -69
  357. package/dist/stories/pages/akros/shared.d.ts.map +0 -1
  358. package/dist/stories/pages/akros/shipping-payments.stories.d.ts +0 -7
  359. package/dist/stories/pages/akros/shipping-payments.stories.d.ts.map +0 -1
  360. package/dist/stories/pages/auth.stories.d.ts +0 -9
  361. package/dist/stories/pages/auth.stories.d.ts.map +0 -1
  362. package/dist/stories/pages/board.stories.d.ts +0 -7
  363. package/dist/stories/pages/board.stories.d.ts.map +0 -1
  364. package/dist/stories/pages/checkout.stories.d.ts +0 -7
  365. package/dist/stories/pages/checkout.stories.d.ts.map +0 -1
  366. package/dist/stories/pages/cms-content-list.stories.d.ts +0 -8
  367. package/dist/stories/pages/cms-content-list.stories.d.ts.map +0 -1
  368. package/dist/stories/pages/cms-record-editor.stories.d.ts +0 -7
  369. package/dist/stories/pages/cms-record-editor.stories.d.ts.map +0 -1
  370. package/dist/stories/pages/crm-customer-workspace.stories.d.ts +0 -6
  371. package/dist/stories/pages/crm-customer-workspace.stories.d.ts.map +0 -1
  372. package/dist/stories/pages/crud-workflow.stories.d.ts +0 -6
  373. package/dist/stories/pages/crud-workflow.stories.d.ts.map +0 -1
  374. package/dist/stories/pages/dashboard.stories.d.ts +0 -7
  375. package/dist/stories/pages/dashboard.stories.d.ts.map +0 -1
  376. package/dist/stories/pages/data.d.ts +0 -183
  377. package/dist/stories/pages/data.d.ts.map +0 -1
  378. package/dist/stories/pages/ecommerce-orders.stories.d.ts +0 -6
  379. package/dist/stories/pages/ecommerce-orders.stories.d.ts.map +0 -1
  380. package/dist/stories/pages/frame.d.ts +0 -102
  381. package/dist/stories/pages/frame.d.ts.map +0 -1
  382. package/dist/stories/pages/layouts.stories.d.ts +0 -15
  383. package/dist/stories/pages/layouts.stories.d.ts.map +0 -1
  384. package/dist/stories/pages/media-library.stories.d.ts +0 -6
  385. package/dist/stories/pages/media-library.stories.d.ts.map +0 -1
  386. package/dist/stories/pages/order-detail.stories.d.ts +0 -6
  387. package/dist/stories/pages/order-detail.stories.d.ts.map +0 -1
  388. package/dist/stories/pages/settings.stories.d.ts +0 -6
  389. package/dist/stories/pages/settings.stories.d.ts.map +0 -1
  390. package/dist/stories/pages/shell.d.ts +0 -115
  391. package/dist/stories/pages/shell.d.ts.map +0 -1
  392. package/dist/stories/pages/storefront-category.stories.d.ts +0 -7
  393. package/dist/stories/pages/storefront-category.stories.d.ts.map +0 -1
  394. package/dist/stories/pages/storefront-product.stories.d.ts +0 -6
  395. package/dist/stories/pages/storefront-product.stories.d.ts.map +0 -1
  396. package/dist/stories/pages/system-states.stories.d.ts +0 -12
  397. package/dist/stories/pages/system-states.stories.d.ts.map +0 -1
  398. package/dist/stories/templates/accordion.stories.d.ts +0 -8
  399. package/dist/stories/templates/accordion.stories.d.ts.map +0 -1
  400. package/dist/stories/templates/akros-product-card.stories.d.ts +0 -96
  401. package/dist/stories/templates/akros-product-card.stories.d.ts.map +0 -1
  402. package/dist/stories/templates/breadcrumb.stories.d.ts +0 -12
  403. package/dist/stories/templates/breadcrumb.stories.d.ts.map +0 -1
  404. package/dist/stories/templates/carousel.stories.d.ts +0 -8
  405. package/dist/stories/templates/carousel.stories.d.ts.map +0 -1
  406. package/dist/stories/templates/comprehensive-form.stories.d.ts +0 -26
  407. package/dist/stories/templates/comprehensive-form.stories.d.ts.map +0 -1
  408. package/dist/stories/templates/facet-filter-panel.stories.d.ts +0 -17
  409. package/dist/stories/templates/facet-filter-panel.stories.d.ts.map +0 -1
  410. package/dist/stories/templates/gallery.stories.d.ts +0 -7
  411. package/dist/stories/templates/gallery.stories.d.ts.map +0 -1
  412. package/dist/stories/templates/numeric-input.stories.d.ts +0 -8
  413. package/dist/stories/templates/numeric-input.stories.d.ts.map +0 -1
  414. package/dist/stories/templates/popover.stories.d.ts +0 -55
  415. package/dist/stories/templates/popover.stories.d.ts.map +0 -1
  416. package/dist/stories/templates/product-card.stories.d.ts +0 -10
  417. package/dist/stories/templates/product-card.stories.d.ts.map +0 -1
  418. package/dist/stories/templates/search-suggestions.stories.d.ts +0 -119
  419. package/dist/stories/templates/search-suggestions.stories.d.ts.map +0 -1
  420. package/dist/stories/templates/select.stories.d.ts +0 -10
  421. package/dist/stories/templates/select.stories.d.ts.map +0 -1
  422. package/dist/stories/templates/tabs.stories.d.ts +0 -8
  423. package/dist/stories/templates/tabs.stories.d.ts.map +0 -1
  424. package/dist/test/cascade-select.behavior.spec.d.ts +0 -2
  425. package/dist/test/cascade-select.behavior.spec.d.ts.map +0 -1
  426. package/dist/test/combobox.behavior.spec.d.ts +0 -2
  427. package/dist/test/combobox.behavior.spec.d.ts.map +0 -1
  428. package/dist/test/command-hotkeys.spec.d.ts +0 -2
  429. package/dist/test/command-hotkeys.spec.d.ts.map +0 -1
  430. package/dist/test/command.spec.d.ts +0 -2
  431. package/dist/test/command.spec.d.ts.map +0 -1
  432. package/dist/test/date-picker.behavior.spec.d.ts +0 -2
  433. package/dist/test/date-picker.behavior.spec.d.ts.map +0 -1
  434. package/dist/test/drawer.behavior.spec.d.ts +0 -2
  435. package/dist/test/drawer.behavior.spec.d.ts.map +0 -1
  436. package/dist/test/facet-filter-panel.spec.d.ts +0 -2
  437. package/dist/test/facet-filter-panel.spec.d.ts.map +0 -1
  438. package/dist/test/form-error-summary.ids.test.d.ts +0 -2
  439. package/dist/test/form-error-summary.ids.test.d.ts.map +0 -1
  440. package/dist/test/hotkeys.spec.d.ts +0 -2
  441. package/dist/test/hotkeys.spec.d.ts.map +0 -1
  442. package/dist/test/numeric-input.spec.d.ts +0 -2
  443. package/dist/test/numeric-input.spec.d.ts.map +0 -1
  444. package/dist/test/price-availability.spec.d.ts +0 -2
  445. package/dist/test/price-availability.spec.d.ts.map +0 -1
  446. package/dist/test/quantity-field.spec.d.ts +0 -2
  447. package/dist/test/quantity-field.spec.d.ts.map +0 -1
  448. package/dist/test/search-suggestions.spec.d.ts +0 -2
  449. package/dist/test/search-suggestions.spec.d.ts.map +0 -1
  450. package/dist/test/sidebar.behavior.spec.d.ts +0 -2
  451. package/dist/test/sidebar.behavior.spec.d.ts.map +0 -1
  452. package/dist/test/sidebar.ssr.bun.d.ts +0 -2
  453. package/dist/test/sidebar.ssr.bun.d.ts.map +0 -1
  454. package/dist/test/tour.playwright.config.d.ts +0 -4
  455. package/dist/test/tour.playwright.config.d.ts.map +0 -1
  456. package/dist/test/tour.spec.d.ts +0 -2
  457. package/dist/test/tour.spec.d.ts.map +0 -1
  458. package/dist/test/tour.typecheck.d.ts +0 -11
  459. package/dist/test/tour.typecheck.d.ts.map +0 -1
  460. package/dist/test/vertical-navigation.behavior.spec.d.ts +0 -2
  461. package/dist/test/vertical-navigation.behavior.spec.d.ts.map +0 -1
  462. package/dist/test/vertical-navigation.playwright.config.d.ts +0 -4
  463. package/dist/test/vertical-navigation.playwright.config.d.ts.map +0 -1
  464. package/dist/test/visual.spec.d.ts +0 -2
  465. package/dist/test/visual.spec.d.ts.map +0 -1
package/README.md CHANGED
@@ -169,28 +169,34 @@ Docker image is defined in `docker/development/playwright/Dockerfile`.
169
169
  These tests are intentionally Docker-only; running them directly on the host is blocked to keep snapshots reproducible.
170
170
  Make sure Storybook is served at `TEST_BASE_URL` (default `http://127.0.0.1:6006` inside the container).
171
171
  You can run `pnpm -C libs/ui storybook` on the host and set `TEST_BASE_URL=http://host.docker.internal:6006`,
172
- or let Playwright start its own `http-server` inside Docker from `storybook-static`.
173
- For visual stability, stories used in regression tests should rely on local assets (avoid external image URLs).
172
+ or let Playwright start its own static server inside Docker from `storybook-static`.
173
+ Screenshots must match their baselines byte-for-byte after PNG decoding (Playwright's `toHaveScreenshot` tolerates anti-aliasing differences, so the spec compares decoded RGBA itself). `Math.random` is seeded per story and the clock is fixed.
174
+ Prefer local assets in new stories. Existing remote images replay through Playwright's native `routeFromHAR()` from `test/fixtures/visual-assets/assets.har`; attached binaries are committed beside the HAR. Missing URLs or changed resource types fail the test. Snapshot updates keep these files read-only.
175
+
176
+ When a story needs a new remote asset, record it using Playwright's [HAR recording](https://playwright.dev/docs/mock#recording-a-har-file). Use one recording context with `recordHar: { path: "assets.har", mode: "minimal", content: "attach", urlFilter: "https://images.unsplash.com/**" }`, visit the affected stories, then close the context to save it. Add the required entries and attachments to the existing HAR; preserve unrelated entries and keep one entry per URL (deduplicate repeated captures). Review image changes before updating screenshots.
177
+
178
+ Run the focused replay contracts with `pnpm -C libs/ui test:visual-assets` after installing Chromium (`pnpm exec playwright install chromium`).
174
179
 
175
180
  Optional environment overrides:
176
181
  - `TEST_BASE_URL` (default: `http://127.0.0.1:6006` inside the container)
177
182
  - `PLAYWRIGHT_STORYBOOK_REBUILD` (default: `1`, rebuilds `storybook-static`; set to `0` to reuse an existing build)
183
+ - `VISUAL_STORYBOOK_STATIC_DIR` (absolute path to another Storybook build, e.g. one built from `master`, to test against the committed baselines; skips the rebuild)
184
+ - `VISUAL_BRANDS` (default: `base,neo,business`; also supports `akros`)
178
185
  - `TEST_STORIES` (comma-separated Storybook story ids to run, e.g. `atoms-button--states,molecules-productcard--layout-variants`)
179
186
  - `PLAYWRIGHT_WORKERS` (override worker count for parallel runs)
180
- - `PLAYWRIGHT_PAGE_RESET` (default: `1`, resets cookies/storage between stories; set to `0` for max speed if stable)
181
- - `DOCKER_PLATFORM` (default: `linux/amd64`)
187
+ - `VISUAL_ASSET_HAR_PATH` (absolute path to an alternative HAR; its directory and attachments mount read-only)
182
188
  - `PLAYWRIGHT_DOCKER_IMAGE` (default: `new-engine-ui-playwright`)
183
189
  - `PLAYWRIGHT_DOCKER_SHM_SIZE` (default: `2g`, improves Playwright stability in Docker)
184
190
  - `PLAYWRIGHT_DOCKER_IPC` (default: `host`, improves Playwright stability in Docker)
185
- - `PLAYWRIGHT_DOCKER_SEQUENTIAL` (default: `0`, runs projects in parallel; set to `1` to reduce memory spikes)
186
- - `PLAYWRIGHT_DOCKER_PROJECTS` (comma-separated Playwright project names to run sequentially; default: `desktop,mobile`)
191
+ - `PLAYWRIGHT_DOCKER_SEQUENTIAL` (default: `0`, runs projects in parallel; set to `1` to run one project at a time and reduce memory spikes)
192
+
193
+ Extra arguments are passed to `playwright test`, e.g. `pnpm -C libs/ui test:components -- --project=neo-mobile-dark`.
194
+ Tests always run as `linux/amd64`, matching the committed baselines. A full run must cover every story in every visual project; component behavior specs (`test/*.spec.ts`) run once in the `desktop` and `mobile` projects.
187
195
 
188
196
  ### Recommendation for `PLAYWRIGHT_WORKERS` and parallelism
189
197
 
190
- - If `PLAYWRIGHT_WORKERS` is not set, the Playwright config defaults to
191
- using (CPU cores - 1) workers. This balances parallelism with leaving one
192
- core for system processes. You can override it in CI with `PLAYWRIGHT_WORKERS=4` (or
193
- another suitable value) depending on your runner size.
198
+ - If `PLAYWRIGHT_WORKERS` is not set, the Docker runner uses 4 workers to bound
199
+ browser memory. Override it depending on your machine or CI runner size.
194
200
  - The test suite enables `fullyParallel` in Playwright config, so tests can run
195
201
  concurrently across files and workers — ensure tests are isolated and use
196
202
  unique snapshot names (the visual tests already include `story.id` in the
@@ -6,7 +6,7 @@ const checkboxVariants = tv({
6
6
  "size-checkbox",
7
7
  "rounded-checkbox border border-checkbox-border-base",
8
8
  "bg-checkbox-bg-base",
9
- "after:-translate-x-1/2 after:-translate-y-1/2 after:absolute after:top-1/2 after:left-1/2",
9
+ "after:-translate-1/2 after:absolute after:top-1/2 after:left-1/2",
10
10
  "checked:bg-checkbox-bg-checked",
11
11
  "checked:border-checkbox-border-checked",
12
12
  "checked:after:token-icon-checkbox",
@@ -34,8 +34,8 @@ const checkboxVariants = tv({
34
34
  function Checkbox({ className, indeterminate, invalid, ref, ...props }) {
35
35
  const setIndeterminate = (node)=>{
36
36
  if (node) node.indeterminate = indeterminate ?? false;
37
- if ("function" == typeof ref) ref(node);
38
- else if (ref) ref.current = node;
37
+ if ("function" == typeof ref) return ref(node);
38
+ if (ref) ref.current = node;
39
39
  };
40
40
  return /*#__PURE__*/ jsx("input", {
41
41
  "aria-invalid": invalid || void 0,
@@ -23,6 +23,7 @@ function Hotkeys({ hotkey, formatOptions, children, className, ref, ...props })
23
23
  }) : null)
24
24
  });
25
25
  }
26
+ Hotkeys.Root = Hotkeys;
26
27
  Hotkeys.Key = function({ className, ref, ...props }) {
27
28
  return /*#__PURE__*/ jsx("kbd", {
28
29
  ...props,
@@ -47,6 +48,5 @@ Hotkeys.Separator = function({ children = "+", className, ref, ...props }) {
47
48
  children: children
48
49
  });
49
50
  };
50
- Hotkeys.Root = Hotkeys;
51
51
  Hotkeys.displayName = "Hotkeys";
52
52
  export { Hotkeys };
@@ -116,7 +116,7 @@ function NumericInput({ id, size, value, defaultValue, onChange, dir = "ltr", de
116
116
  id: id || generatedId,
117
117
  ids: id ? {
118
118
  ...machineProps.ids,
119
- input: id
119
+ input: machineProps.ids?.input ?? id
120
120
  } : machineProps.ids,
121
121
  dir,
122
122
  locale,
@@ -97,7 +97,6 @@ function Skeleton({ isLoaded = false, variant, children, speed, className, ref,
97
97
  children: children
98
98
  }) : /*#__PURE__*/ jsx("div", {
99
99
  "aria-busy": "true",
100
- "aria-label": "Loading content",
101
100
  className: styles.root({
102
101
  className
103
102
  }),
@@ -123,7 +122,6 @@ Skeleton.Circle = function({ size = "md", speed, isLoaded, variant, children, cl
123
122
  });
124
123
  return /*#__PURE__*/ jsx("div", {
125
124
  "aria-busy": "true",
126
- "aria-label": "Loading content",
127
125
  className: styles.root({
128
126
  className: styles.circle({
129
127
  className
@@ -150,7 +148,6 @@ Skeleton.Text = function({ noOfLines = 3, size = "md", speed, lastLineWidth = "8
150
148
  const lineCount = Number.isFinite(noOfLines) ? Math.max(1, noOfLines) : 1;
151
149
  return /*#__PURE__*/ jsx("div", {
152
150
  "aria-busy": "true",
153
- "aria-label": "Loading content",
154
151
  className: styles.textContainer({
155
152
  className: containerClassName
156
153
  }),
@@ -189,7 +186,6 @@ Skeleton.Rectangle = function({ speed, isLoaded, variant, children, className, r
189
186
  });
190
187
  return /*#__PURE__*/ jsx("div", {
191
188
  "aria-busy": "true",
192
- "aria-label": "Loading content",
193
189
  className: styles.root({
194
190
  className: styles.rectangle({
195
191
  className
@@ -1,6 +1,6 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Portal, normalizeProps, useMachine } from "@zag-js/react";
3
- import { useId } from "react";
3
+ import { Children, Fragment as external_react_Fragment, cloneElement, isValidElement, useId } from "react";
4
4
  import { tv } from "tailwind-variants";
5
5
  import * as __rspack_external__zag_js_tooltip_cb65b1a2 from "@zag-js/tooltip";
6
6
  const tooltipVariants = tv({
@@ -44,6 +44,22 @@ const tooltipVariants = tv({
44
44
  variant: "default"
45
45
  }
46
46
  });
47
+ function describeTooltipChildren(children, describedBy) {
48
+ return Children.map(children, (child)=>{
49
+ if (!/*#__PURE__*/ isValidElement(child)) return child;
50
+ if (child.type === external_react_Fragment) return /*#__PURE__*/ cloneElement(child, {}, describeTooltipChildren(child.props.children, describedBy));
51
+ const ids = [
52
+ child.props["aria-describedby"],
53
+ describedBy
54
+ ].flatMap((value)=>value?.split(/\s+/).filter(Boolean) ?? []);
55
+ const props = {
56
+ "aria-describedby": [
57
+ ...new Set(ids)
58
+ ].join(" ") || void 0
59
+ };
60
+ return "string" == typeof child.type && void 0 !== child.props.children ? /*#__PURE__*/ cloneElement(child, props, describeTooltipChildren(child.props.children, describedBy)) : /*#__PURE__*/ cloneElement(child, props);
61
+ });
62
+ }
47
63
  function Tooltip({ content, children, className, ref, size, variant, id: MRAId, dir = "ltr", openDelay = 200, closeDelay = 200, interactive = true, defaultOpen, open, onOpenChange, disabled, closeOnEscape = true, closeOnPointerDown, closeOnScroll, closeOnClick, placement, offset = {
48
64
  mainAxis: 16,
49
65
  crossAxis: 0
@@ -76,19 +92,18 @@ function Tooltip({ content, children, className, ref, size, variant, id: MRAId,
76
92
  }
77
93
  });
78
94
  const api = __rspack_external__zag_js_tooltip_cb65b1a2.connect(service, normalizeProps);
95
+ const triggerProps = api.getTriggerProps();
79
96
  const { trigger, positioner, content: contentSlot, arrow } = tooltipVariants({
80
97
  variant,
81
98
  size
82
99
  });
83
- const triggerProps = api.getTriggerProps();
84
- const { onBeforeInput, ...spanCompatibleProps } = triggerProps;
85
100
  return /*#__PURE__*/ jsxs(Fragment, {
86
101
  children: [
87
102
  /*#__PURE__*/ jsx("span", {
88
- ...spanCompatibleProps,
103
+ ...triggerProps,
89
104
  className: trigger(),
90
105
  ref: ref,
91
- children: children
106
+ children: describeTooltipChildren(children, triggerProps["aria-describedby"])
92
107
  }),
93
108
  /*#__PURE__*/ jsx(Portal, {
94
109
  children: api.open && /*#__PURE__*/ jsx("div", {
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { normalizeProps, useMachine } from "@zag-js/react";
3
- import { createContext, useContext, useId } from "react";
3
+ import { createContext, useContext, useId, useMemo } from "react";
4
4
  import { Button } from "../atoms/button.js";
5
5
  import { Icon } from "../atoms/icon.js";
6
6
  import { tv } from "../utils.js";
@@ -170,9 +170,17 @@ Accordion.Item = function({ value, disabled, children, ref, className, ...props
170
170
  Accordion.Header = function({ children, ref, className, ...props }) {
171
171
  const { api, styles } = useAccordionContext();
172
172
  const { value, disabled } = useAccordionItemContext();
173
- return /*#__PURE__*/ jsx("header", {
173
+ const headingRef = useMemo(()=>{
174
+ if ("function" == typeof ref || !ref) return ref;
175
+ return (node)=>{
176
+ ref.current = node;
177
+ };
178
+ }, [
179
+ ref
180
+ ]);
181
+ return /*#__PURE__*/ jsx("h3", {
174
182
  className: className,
175
- ref: ref,
183
+ ref: headingRef,
176
184
  ...props,
177
185
  children: /*#__PURE__*/ jsx(Button, {
178
186
  className: styles.titleTrigger(),
@@ -21,7 +21,7 @@ const carouselVariants = tv({
21
21
  ],
22
22
  slideGroup: [
23
23
  "overflow-hidden",
24
- "scrollbar-hide",
24
+ "scrollbar-none",
25
25
  "data-dragging:cursor-grabbing",
26
26
  "data-[orientation=vertical]:h-full"
27
27
  ],
@@ -29,7 +29,7 @@ const carouselVariants = tv({
29
29
  "relative shrink-0",
30
30
  "flex items-center justify-center",
31
31
  "overflow-hidden",
32
- "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-full"
32
+ "data-[orientation=vertical]:size-full"
33
33
  ],
34
34
  prevTrigger: "",
35
35
  nextTrigger: "",
@@ -77,22 +77,22 @@ const carouselVariants = tv({
77
77
  "nextTrigger"
78
78
  ],
79
79
  class: [
80
- 'bg-carousel-trigger-bg-base hover:bg-carousel-trigger-bg-hover text-carousel-trigger',
81
- 'hover:text-carousel-trigger-fg-hover',
82
- 'transition-colors duration-200 motion-reduce:transition-none'
80
+ "bg-carousel-trigger-bg-base text-carousel-trigger hover:bg-carousel-trigger-bg-hover",
81
+ "hover:text-carousel-trigger-fg-hover",
82
+ "transition-colors duration-200 motion-reduce:transition-none"
83
83
  ]
84
84
  }
85
85
  ],
86
86
  variants: {
87
87
  objectFit: {
88
88
  cover: {
89
- slide: "*:h-full *:w-full *:object-cover"
89
+ slide: "*:size-full *:object-cover"
90
90
  },
91
91
  contain: {
92
- slide: "*:h-full *:w-full *:object-contain"
92
+ slide: "*:size-full *:object-contain"
93
93
  },
94
94
  fill: {
95
- slide: "*:h-full *:w-full *:object-fill"
95
+ slide: "*:size-full *:object-fill"
96
96
  },
97
97
  none: {
98
98
  slide: ""
@@ -103,10 +103,10 @@ const carouselVariants = tv({
103
103
  control: "flex-col items-center justify-between"
104
104
  },
105
105
  top: {
106
- control: "-translate-x-1/2 absolute top-0 left-1/2"
106
+ control: "absolute top-0 left-1/2 -translate-x-1/2"
107
107
  },
108
108
  bottom: {
109
- control: "-translate-x-1/2 absolute bottom-0 left-1/2"
109
+ control: "absolute bottom-0 left-1/2 -translate-x-1/2"
110
110
  },
111
111
  unset: {}
112
112
  },
@@ -211,20 +211,20 @@ function Carousel({ id, size, objectFit, aspectRatio, orientation = "horizontal"
211
211
  const rootProps = api.getRootProps();
212
212
  const resolvedRootStyle = {
213
213
  ...rootProps.style,
214
- ...void 0 !== width ? {
214
+ ...void 0 === width ? {} : {
215
215
  width
216
- } : {},
217
- ...void 0 !== height ? {
216
+ },
217
+ ...void 0 === height ? {} : {
218
218
  height
219
- } : {}
219
+ }
220
220
  };
221
221
  const resolvedWrapperStyle = {
222
222
  ..."full" === size ? {
223
223
  width: "100%"
224
224
  } : {},
225
- ...void 0 !== width ? {
225
+ ...void 0 === width ? {} : {
226
226
  width
227
- } : {}
227
+ }
228
228
  };
229
229
  return /*#__PURE__*/ jsx(CarouselContext.Provider, {
230
230
  value: {
@@ -1,11 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { areaY, barX, barY, colorLegend, d3Curve, defineChart, dot, group, lineY, stack } from "@tanstack/charts";
2
+ import { areaY, barX, barY, colorLegend, d3Curve, dot, group, lineY, stack } from "@tanstack/charts";
3
3
  import { polar, radialArc } from "@tanstack/charts/polar";
4
+ import { Chart } from "@tanstack/charts/react";
5
+ import { scaleBand } from "@tanstack/charts/scales/band";
6
+ import { scaleLinear } from "@tanstack/charts/scales/linear";
7
+ import { scalePoint } from "@tanstack/charts/scales/point";
8
+ import { renderChartSvg } from "@tanstack/charts/svg";
4
9
  import { tooltip as tooltip_tooltip } from "@tanstack/charts/tooltip";
5
- import { scaleBand } from "@tanstack/charts-scales/band";
6
- import { scaleLinear } from "@tanstack/charts-scales/linear";
7
- import { scalePoint } from "@tanstack/charts-scales/point";
8
- import { Chart } from "@tanstack/react-charts";
9
10
  import { scaleUtc } from "d3-scale";
10
11
  import { curveMonotoneX, pie } from "d3-shape";
11
12
  import { useMemo } from "react";
@@ -24,7 +25,6 @@ function toAccessor(accessor) {
24
25
  if ("function" == typeof accessor) return accessor;
25
26
  return (datum)=>datum[accessor];
26
27
  }
27
- const defineChartSpec = defineChart;
28
28
  const MAX_SERIES = 6;
29
29
  function resolveXAxis(data, getX, xLabel) {
30
30
  const values = data.map(getX);
@@ -153,7 +153,7 @@ function resolveBuild(config) {
153
153
  label: config.legendLabel
154
154
  })
155
155
  } : void 0,
156
- animate: config.animate
156
+ svgAnimation: config.animate
157
157
  }
158
158
  };
159
159
  }
@@ -165,7 +165,7 @@ function warnOnSeriesOverflow(data, getColorIdentity) {
165
165
  }
166
166
  function buildLine(build) {
167
167
  const { data, getX, getY, getSeries } = build;
168
- return defineChartSpec({
168
+ return {
169
169
  marks: [
170
170
  lineY(data, {
171
171
  x: getX,
@@ -177,16 +177,18 @@ function buildLine(build) {
177
177
  stroke: null == getSeries ? SERIES_1_PAINT : void 0
178
178
  })
179
179
  ],
180
- x: build.xAxis,
181
- y: build.valueAxis,
180
+ scales: {
181
+ x: build.xAxis,
182
+ y: build.valueAxis
183
+ },
182
184
  ...build.shared,
183
185
  tooltip: build.tooltipFor("y")
184
- });
186
+ };
185
187
  }
186
188
  function buildArea(build) {
187
189
  const { data, getX, getY, getSeries } = build;
188
190
  const isStacked = build.stacked ?? true;
189
- return defineChartSpec({
191
+ return {
190
192
  marks: [
191
193
  areaY(data, {
192
194
  x: getX,
@@ -205,11 +207,13 @@ function buildArea(build) {
205
207
  strokeWidth: 2
206
208
  })
207
209
  ],
208
- x: build.xAxis,
209
- y: build.valueAxis,
210
+ scales: {
211
+ x: build.xAxis,
212
+ y: build.valueAxis
213
+ },
210
214
  ...build.shared,
211
215
  tooltip: build.tooltipFor("y")
212
- });
216
+ };
213
217
  }
214
218
  function barLayout(hasSeries, isStacked) {
215
219
  if (!hasSeries) return;
@@ -227,7 +231,7 @@ function buildBars(build, horizontal) {
227
231
  layout: barLayout(null != getSeries, isStacked),
228
232
  radius: null != getSeries && isStacked ? 0 : 4
229
233
  };
230
- if (horizontal) return defineChartSpec({
234
+ if (horizontal) return {
231
235
  marks: [
232
236
  barX(data, {
233
237
  x: getY,
@@ -235,20 +239,22 @@ function buildBars(build, horizontal) {
235
239
  ...barOptions
236
240
  })
237
241
  ],
238
- x: {
239
- scale: scaleLinear,
240
- nice: true,
241
- grid: build.grid,
242
- axis: {
243
- label: build.yLabel,
244
- ticks: build.valueTicks
245
- }
242
+ scales: {
243
+ x: {
244
+ scale: scaleLinear,
245
+ nice: true,
246
+ grid: build.grid,
247
+ axis: {
248
+ label: build.yLabel,
249
+ ticks: build.valueTicks
250
+ }
251
+ },
252
+ y: build.bandAxis
246
253
  },
247
- y: build.bandAxis,
248
254
  ...build.shared,
249
255
  tooltip: build.tooltipFor("x", true)
250
- });
251
- return defineChartSpec({
256
+ };
257
+ return {
252
258
  marks: [
253
259
  barY(data, {
254
260
  x: getX,
@@ -256,15 +262,17 @@ function buildBars(build, horizontal) {
256
262
  ...barOptions
257
263
  })
258
264
  ],
259
- x: build.bandAxis,
260
- y: build.valueAxis,
265
+ scales: {
266
+ x: build.bandAxis,
267
+ y: build.valueAxis
268
+ },
261
269
  ...build.shared,
262
270
  tooltip: build.tooltipFor("y")
263
- });
271
+ };
264
272
  }
265
273
  function buildScatter(build) {
266
274
  const { data, getX, getY, getSeries } = build;
267
- return defineChartSpec({
275
+ return {
268
276
  marks: [
269
277
  dot(data, {
270
278
  x: getX,
@@ -275,14 +283,16 @@ function buildScatter(build) {
275
283
  fill: null == getSeries ? SERIES_1_PAINT : void 0
276
284
  })
277
285
  ],
278
- x: {
279
- ...build.xAxis,
280
- grid: build.grid
286
+ scales: {
287
+ x: {
288
+ ...build.xAxis,
289
+ grid: build.grid
290
+ },
291
+ y: build.valueAxis
281
292
  },
282
- y: build.valueAxis,
283
293
  ...build.shared,
284
294
  tooltip: build.tooltipFor("y")
285
- });
295
+ };
286
296
  }
287
297
  function buildPolar(build, donut) {
288
298
  const { data, getX, getY } = build;
@@ -290,12 +300,18 @@ function buildPolar(build, donut) {
290
300
  const slices = pie().sort(null).padAngle(0.02).value((datum)=>getY(datum))([
291
301
  ...data
292
302
  ]);
293
- return defineChartSpec({
294
- x: null,
295
- y: null,
303
+ return {
304
+ scales: {
305
+ x: null,
306
+ y: null
307
+ },
296
308
  marks: [
297
309
  polar({
298
310
  inset: POLAR_INSET,
311
+ scales: {
312
+ angle: null,
313
+ radius: null
314
+ },
299
315
  marks: [
300
316
  radialArc(slices, {
301
317
  startAngle: "startAngle",
@@ -311,7 +327,7 @@ function buildPolar(build, donut) {
311
327
  ],
312
328
  ...build.shared,
313
329
  tooltip: build.polarTooltip()
314
- });
330
+ };
315
331
  }
316
332
  function buildChartDefinition(config) {
317
333
  const build = resolveBuild(config);
@@ -332,6 +348,47 @@ function buildChartDefinition(config) {
332
348
  return buildLine(build);
333
349
  }
334
350
  }
351
+ const CARTESIAN_GRID_PAINT_ORDER = [
352
+ "y-grid",
353
+ "x-grid"
354
+ ];
355
+ const CARTESIAN_AXIS_PAINT_ORDER = [
356
+ "x-axis",
357
+ "y-axis",
358
+ "x-tick-rule",
359
+ "x-tick-label",
360
+ "y-tick-rule",
361
+ "y-tick-label",
362
+ "x-label",
363
+ "y-label"
364
+ ];
365
+ function cartesianGuidePaintOrder(key, order) {
366
+ const index = order.findIndex((prefix)=>key === prefix || key.startsWith(`${prefix}:`));
367
+ return index < 0 ? order.length : index;
368
+ }
369
+ function renderCartesianChartSvg(scene, options) {
370
+ const nodes = scene.nodes.map((node)=>{
371
+ if ("group" !== node.kind || "grid" !== node.key && "axes" !== node.key) return node;
372
+ const order = "grid" === node.key ? CARTESIAN_GRID_PAINT_ORDER : CARTESIAN_AXIS_PAINT_ORDER;
373
+ const children = node.children.map((child)=>{
374
+ if ("axes" === node.key && "rule" === child.kind && child.key.startsWith("y-tick-rule:") && child.x1 > child.x2) return {
375
+ ...child,
376
+ x1: child.x2,
377
+ x2: child.x1
378
+ };
379
+ return child;
380
+ });
381
+ children.sort((left, right)=>cartesianGuidePaintOrder(left.key, order) - cartesianGuidePaintOrder(right.key, order));
382
+ return {
383
+ ...node,
384
+ children
385
+ };
386
+ });
387
+ return renderChartSvg({
388
+ ...scene,
389
+ nodes
390
+ }, options);
391
+ }
335
392
  function chart_Chart({ type = "line", data, x, y, series, stacked, points = false, smooth = false, grid = true, legend, legendLabel, xLabel, yLabel, formatValue, height, aspectRatio, initialWidth = 640, animate = true, tooltip = true, ariaLabel, ariaDescription, className, onSelect }) {
336
393
  const { root, tooltip: tooltipSlot } = chartVariants();
337
394
  const tooltipClassName = tooltipSlot();
@@ -387,7 +444,8 @@ function chart_Chart({ type = "line", data, x, y, series, stacked, points = fals
387
444
  definition: definition,
388
445
  height: height,
389
446
  initialWidth: initialWidth,
390
- onSelect: handleSelect
447
+ onSelect: handleSelect,
448
+ renderSvg: isPolar ? void 0 : renderCartesianChartSvg
391
449
  });
392
450
  }
393
451
  export { chart_Chart as Chart };
@@ -20,7 +20,7 @@ const colorSelectVariants = tv({
20
20
  ],
21
21
  color: [
22
22
  "absolute",
23
- "h-full w-full hover:brightness-75",
23
+ "size-full hover:brightness-75",
24
24
  "data-[selected=true]:brightness-75"
25
25
  ],
26
26
  icon: [
@@ -71,8 +71,8 @@ const colorSelectVariants = tv({
71
71
  icon: "text-color-select-lg"
72
72
  },
73
73
  full: {
74
- group: "h-full w-full gap-color-select-md",
75
- cell: "h-full w-full",
74
+ group: "size-full gap-color-select-md",
75
+ cell: "size-full",
76
76
  atom: "h-full",
77
77
  icon: "size-color-select-icon"
78
78
  }
@@ -100,7 +100,7 @@ const comboboxVariants = tv({
100
100
  triggerIndicator: [
101
101
  "text-combobox-trigger-fg-base group-hover:text-combobox-trigger-fg-hover",
102
102
  "motion-safe:transition-[transform,color] motion-safe:duration-200 motion-reduce:transition-none",
103
- "rotate-0 group-data-[state=open]:rotate-180"
103
+ "rotate-none group-data-[state=open]:rotate-180"
104
104
  ],
105
105
  helper: [
106
106
  "data-[validation=success]:text-combobox-success-fg",
@@ -178,6 +178,14 @@ function Combobox({ id, name, label, size, placeholder = "Select option", disabl
178
178
  itemToValue: (item)=>item.value,
179
179
  isItemDisabled: (item)=>Boolean(resultsHidden || item.disabled || readOnly || navigation && !item.href)
180
180
  });
181
+ let normalizedValue = value;
182
+ if ("string" == typeof normalizedValue) normalizedValue = normalizedValue ? [
183
+ normalizedValue
184
+ ] : [];
185
+ let normalizedDefaultValue = defaultValue;
186
+ if ("string" == typeof normalizedDefaultValue) normalizedDefaultValue = normalizedDefaultValue ? [
187
+ normalizedDefaultValue
188
+ ] : [];
181
189
  const service = useMachine(machine, {
182
190
  id: uniqueId,
183
191
  name: navigation ? void 0 : name,
@@ -209,12 +217,8 @@ function Combobox({ id, name, label, size, placeholder = "Select option", disabl
209
217
  input: `${uniqueId}-input`,
210
218
  control: `${uniqueId}-control`
211
219
  },
212
- value: navigation ? [] : "string" == typeof value ? [
213
- value
214
- ] : value,
215
- defaultValue: navigation ? void 0 : "string" == typeof defaultValue ? [
216
- defaultValue
217
- ] : defaultValue,
220
+ value: navigation ? [] : normalizedValue,
221
+ defaultValue: navigation ? void 0 : normalizedDefaultValue,
218
222
  multiple: !navigation && multiple,
219
223
  inputValue,
220
224
  onValueChange: ({ value: selectedValue })=>{
@@ -243,17 +243,6 @@ function Dialog({ id, open, onOpenChange, initialFocusEl, finalFocusEl, role = "
243
243
  }
244
244
  });
245
245
  const api = __rspack_external__zag_js_dialog_5c81bb31.connect(service, normalizeProps);
246
- const contentProps = api.getContentProps();
247
- const handleContentKeyDown = (event)=>{
248
- contentProps.onKeyDown?.(event);
249
- if (void 0 === open || !closeOnEscape || event.defaultPrevented || "Escape" !== event.key) return;
250
- event.preventDefault();
251
- api.setOpen(false);
252
- };
253
- const interactiveContentProps = {
254
- ...contentProps,
255
- onKeyDown: handleContentKeyDown
256
- };
257
246
  const { backdrop, positioner, content, trigger: triggerSlot, title: titleSlot, description: descriptionSlot, closeTrigger, actions: actionsSlot } = dialogVariants({
258
247
  placement,
259
248
  size,
@@ -273,7 +262,7 @@ function Dialog({ id, open, onOpenChange, initialFocusEl, finalFocusEl, role = "
273
262
  className: content({
274
263
  className
275
264
  }),
276
- ...interactiveContentProps,
265
+ ...api.getContentProps(),
277
266
  children: [
278
267
  !hideCloseButton && /*#__PURE__*/ jsx(ActionIcon, {
279
268
  className: closeTrigger(),
@@ -3,7 +3,8 @@ import { useId } from "react";
3
3
  import { Label } from "../atoms/label.js";
4
4
  import { NumericInput } from "../atoms/numeric-input.js";
5
5
  import { StatusText } from "../atoms/status-text.js";
6
- function FormNumericInput({ id, label, validateStatus = "default", helpText, showHelpTextIcon = "default" !== validateStatus, size = "md", required, disabled, children, describedBy, ...numericInputProps }) {
6
+ function FormNumericInput({ id, ids, label, validateStatus = "default", helpText, showHelpTextIcon = "default" !== validateStatus, size = "md", required, disabled, describedBy, children, ...numericInputProps }) {
7
+ const inputId = ids?.input ?? id;
7
8
  const helpTextId = useId();
8
9
  const mergedDescribedBy = [
9
10
  describedBy,
@@ -14,7 +15,7 @@ function FormNumericInput({ id, label, validateStatus = "default", helpText, sho
14
15
  children: [
15
16
  /*#__PURE__*/ jsx(Label, {
16
17
  disabled: disabled,
17
- htmlFor: id,
18
+ htmlFor: inputId,
18
19
  required: required,
19
20
  size: size,
20
21
  children: label
@@ -22,6 +23,7 @@ function FormNumericInput({ id, label, validateStatus = "default", helpText, sho
22
23
  /*#__PURE__*/ jsx(NumericInput, {
23
24
  disabled: disabled,
24
25
  id: id,
26
+ ids: ids,
25
27
  invalid: "error" === validateStatus,
26
28
  required: required,
27
29
  size: size,