@techsio/ui-kit 0.3.1 → 0.4.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 (446) hide show
  1. package/README.md +59 -6
  2. package/dist/.storybook/decorator.d.ts +12 -0
  3. package/dist/.storybook/decorator.d.ts.map +1 -0
  4. package/dist/.storybook/main.d.ts +4 -0
  5. package/dist/.storybook/main.d.ts.map +1 -0
  6. package/dist/.storybook/preview.d.ts +5 -0
  7. package/dist/.storybook/preview.d.ts.map +1 -0
  8. package/dist/.storybook/test-runner.d.ts +12 -0
  9. package/dist/.storybook/test-runner.d.ts.map +1 -0
  10. package/dist/atoms/badge.js +37 -19
  11. package/dist/atoms/button.js +167 -154
  12. package/dist/atoms/checkbox.js +52 -0
  13. package/dist/atoms/figma/badge.figma.js +33 -0
  14. package/dist/atoms/figma/button.figma.js +76 -0
  15. package/dist/atoms/figma/checkbox.figma.js +35 -0
  16. package/dist/atoms/figma/icon.figma.js +33 -0
  17. package/dist/atoms/figma/image.figma.js +21 -0
  18. package/dist/atoms/figma/input.figma.js +34 -0
  19. package/dist/atoms/figma/label.figma.js +25 -0
  20. package/dist/atoms/figma/link-button.figma.js +42 -0
  21. package/dist/atoms/figma/link.figma.js +15 -0
  22. package/dist/atoms/figma/numeric-input.figma.js +52 -0
  23. package/dist/atoms/figma/rating.figma.js +38 -0
  24. package/dist/atoms/figma/skeleton.figma.js +119 -0
  25. package/dist/atoms/figma/status-text.figma.js +27 -0
  26. package/dist/atoms/figma/textarea.figma.js +38 -0
  27. package/dist/atoms/figma/tooltip.figma.js +47 -0
  28. package/dist/atoms/icon.js +17 -17
  29. package/dist/atoms/image.js +22 -4
  30. package/dist/atoms/input.js +40 -34
  31. package/dist/atoms/label.js +10 -10
  32. package/dist/atoms/link-button.js +19 -18
  33. package/dist/atoms/link.js +6 -4
  34. package/dist/atoms/numeric-input.js +98 -70
  35. package/dist/atoms/rating.js +30 -30
  36. package/dist/atoms/skeleton.js +47 -47
  37. package/dist/atoms/status-text.js +75 -0
  38. package/dist/atoms/textarea.js +48 -42
  39. package/dist/atoms/tooltip.js +17 -17
  40. package/dist/molecules/accordion.js +58 -60
  41. package/dist/molecules/breadcrumb.js +206 -124
  42. package/dist/molecules/carousel.js +139 -87
  43. package/dist/molecules/color-select.js +56 -56
  44. package/dist/molecules/combobox.js +131 -104
  45. package/dist/molecules/dialog.js +97 -97
  46. package/dist/molecules/figma/accordion.figma.js +41 -0
  47. package/dist/molecules/figma/breadcrumb.figma.js +31 -0
  48. package/dist/molecules/figma/carousel.figma.js +34 -0
  49. package/dist/molecules/figma/combobox.figma.js +38 -0
  50. package/dist/molecules/figma/dialog.figma.js +24 -0
  51. package/dist/molecules/figma/form-checkbox.figma.js +41 -0
  52. package/dist/molecules/figma/form-input.figma.js +38 -0
  53. package/dist/molecules/figma/form-numeric-input.figma.js +67 -0
  54. package/dist/molecules/figma/form-textarea.figma.js +38 -0
  55. package/dist/molecules/figma/menu.figma.js +26 -0
  56. package/dist/molecules/figma/pagination.figma.js +22 -0
  57. package/dist/molecules/figma/popover.figma.js +38 -0
  58. package/dist/molecules/figma/product-card.figma.js +34 -0
  59. package/dist/molecules/figma/radio-card.figma.js +35 -0
  60. package/dist/molecules/figma/radio-group.figma.js +45 -0
  61. package/dist/molecules/figma/search-form.figma.js +24 -0
  62. package/dist/molecules/figma/select.figma.js +46 -0
  63. package/dist/molecules/figma/slider.figma.js +30 -0
  64. package/dist/molecules/figma/steps.figma.js +33 -0
  65. package/dist/molecules/figma/switch.figma.js +33 -0
  66. package/dist/molecules/figma/tabs.figma.js +46 -0
  67. package/dist/molecules/figma/toast.figma.js +34 -0
  68. package/dist/molecules/figma/tree-view.figma.js +30 -0
  69. package/dist/molecules/form-checkbox.js +121 -48
  70. package/dist/molecules/form-input.js +15 -27
  71. package/dist/molecules/form-numeric-input.js +11 -24
  72. package/dist/molecules/form-textarea.js +15 -27
  73. package/dist/molecules/menu.js +69 -67
  74. package/dist/molecules/pagination.js +112 -76
  75. package/dist/molecules/phone-input.js +654 -0
  76. package/dist/molecules/popover.js +221 -96
  77. package/dist/molecules/product-card.js +38 -37
  78. package/dist/molecules/radio-card.js +517 -0
  79. package/dist/molecules/radio-group.js +341 -0
  80. package/dist/molecules/search-form.js +170 -91
  81. package/dist/molecules/select.js +369 -141
  82. package/dist/molecules/slider.js +72 -85
  83. package/dist/molecules/steps.js +517 -152
  84. package/dist/molecules/switch.js +37 -43
  85. package/dist/molecules/tabs.js +63 -61
  86. package/dist/molecules/toast.js +32 -32
  87. package/dist/molecules/tree-view.js +89 -83
  88. package/dist/organisms/footer.js +50 -52
  89. package/dist/organisms/gallery.js +244 -0
  90. package/dist/organisms/header.js +60 -58
  91. package/dist/organisms/table.js +52 -52
  92. package/dist/src/atoms/badge.d.ts +27 -7
  93. package/dist/src/atoms/badge.d.ts.map +1 -1
  94. package/dist/src/atoms/button.d.ts +7 -6
  95. package/dist/src/atoms/button.d.ts.map +1 -1
  96. package/dist/src/atoms/checkbox.d.ts +11 -0
  97. package/dist/src/atoms/checkbox.d.ts.map +1 -0
  98. package/dist/src/atoms/figma/badge.figma.d.ts +2 -0
  99. package/dist/src/atoms/figma/badge.figma.d.ts.map +1 -0
  100. package/dist/src/atoms/figma/button.figma.d.ts +2 -0
  101. package/dist/src/atoms/figma/button.figma.d.ts.map +1 -0
  102. package/dist/src/atoms/figma/checkbox.figma.d.ts +2 -0
  103. package/dist/src/atoms/figma/checkbox.figma.d.ts.map +1 -0
  104. package/dist/src/atoms/figma/icon.figma.d.ts +2 -0
  105. package/dist/src/atoms/figma/icon.figma.d.ts.map +1 -0
  106. package/dist/src/atoms/figma/image.figma.d.ts +2 -0
  107. package/dist/src/atoms/figma/image.figma.d.ts.map +1 -0
  108. package/dist/src/atoms/figma/input.figma.d.ts +2 -0
  109. package/dist/src/atoms/figma/input.figma.d.ts.map +1 -0
  110. package/dist/src/atoms/figma/label.figma.d.ts +2 -0
  111. package/dist/src/atoms/figma/label.figma.d.ts.map +1 -0
  112. package/dist/src/atoms/figma/link-button.figma.d.ts +2 -0
  113. package/dist/src/atoms/figma/link-button.figma.d.ts.map +1 -0
  114. package/dist/src/atoms/figma/link.figma.d.ts +2 -0
  115. package/dist/src/atoms/figma/link.figma.d.ts.map +1 -0
  116. package/dist/src/atoms/figma/numeric-input.figma.d.ts +2 -0
  117. package/dist/src/atoms/figma/numeric-input.figma.d.ts.map +1 -0
  118. package/dist/src/atoms/figma/rating.figma.d.ts +2 -0
  119. package/dist/src/atoms/figma/rating.figma.d.ts.map +1 -0
  120. package/dist/src/atoms/figma/skeleton.figma.d.ts +2 -0
  121. package/dist/src/atoms/figma/skeleton.figma.d.ts.map +1 -0
  122. package/dist/src/atoms/figma/status-text.figma.d.ts +2 -0
  123. package/dist/src/atoms/figma/status-text.figma.d.ts.map +1 -0
  124. package/dist/src/atoms/figma/textarea.figma.d.ts +2 -0
  125. package/dist/src/atoms/figma/textarea.figma.d.ts.map +1 -0
  126. package/dist/src/atoms/figma/tooltip.figma.d.ts +2 -0
  127. package/dist/src/atoms/figma/tooltip.figma.d.ts.map +1 -0
  128. package/dist/src/atoms/icon.d.ts +6 -6
  129. package/dist/src/atoms/image.d.ts +35 -9
  130. package/dist/src/atoms/image.d.ts.map +1 -1
  131. package/dist/src/atoms/input.d.ts +3 -3
  132. package/dist/src/atoms/input.d.ts.map +1 -1
  133. package/dist/src/atoms/label.d.ts +2 -2
  134. package/dist/src/atoms/link-button.d.ts +71 -12
  135. package/dist/src/atoms/link-button.d.ts.map +1 -1
  136. package/dist/src/atoms/link.d.ts +5 -5
  137. package/dist/src/atoms/link.d.ts.map +1 -1
  138. package/dist/src/atoms/numeric-input.d.ts +23 -22
  139. package/dist/src/atoms/numeric-input.d.ts.map +1 -1
  140. package/dist/src/atoms/rating.d.ts +6 -5
  141. package/dist/src/atoms/rating.d.ts.map +1 -1
  142. package/dist/src/atoms/skeleton.d.ts +15 -15
  143. package/dist/src/atoms/skeleton.d.ts.map +1 -1
  144. package/dist/src/atoms/status-text.d.ts +97 -0
  145. package/dist/src/atoms/status-text.d.ts.map +1 -0
  146. package/dist/src/atoms/textarea.d.ts +3 -3
  147. package/dist/src/atoms/textarea.d.ts.map +1 -1
  148. package/dist/src/atoms/tooltip.d.ts +3 -3
  149. package/dist/src/atoms/tooltip.d.ts.map +1 -1
  150. package/dist/src/molecules/accordion.d.ts +14 -13
  151. package/dist/src/molecules/accordion.d.ts.map +1 -1
  152. package/dist/src/molecules/breadcrumb.d.ts +132 -35
  153. package/dist/src/molecules/breadcrumb.d.ts.map +1 -1
  154. package/dist/src/molecules/carousel.d.ts +67 -16
  155. package/dist/src/molecules/carousel.d.ts.map +1 -1
  156. package/dist/src/molecules/color-select.d.ts +4 -4
  157. package/dist/src/molecules/combobox.d.ts +36 -9
  158. package/dist/src/molecules/combobox.d.ts.map +1 -1
  159. package/dist/src/molecules/dialog.d.ts +3 -3
  160. package/dist/src/molecules/dialog.d.ts.map +1 -1
  161. package/dist/src/molecules/figma/accordion.figma.d.ts +2 -0
  162. package/dist/src/molecules/figma/accordion.figma.d.ts.map +1 -0
  163. package/dist/src/molecules/figma/breadcrumb.figma.d.ts +2 -0
  164. package/dist/src/molecules/figma/breadcrumb.figma.d.ts.map +1 -0
  165. package/dist/src/molecules/figma/carousel.figma.d.ts +2 -0
  166. package/dist/src/molecules/figma/carousel.figma.d.ts.map +1 -0
  167. package/dist/src/molecules/figma/combobox.figma.d.ts +2 -0
  168. package/dist/src/molecules/figma/combobox.figma.d.ts.map +1 -0
  169. package/dist/src/molecules/figma/dialog.figma.d.ts +2 -0
  170. package/dist/src/molecules/figma/dialog.figma.d.ts.map +1 -0
  171. package/dist/src/molecules/figma/form-checkbox.figma.d.ts +2 -0
  172. package/dist/src/molecules/figma/form-checkbox.figma.d.ts.map +1 -0
  173. package/dist/src/molecules/figma/form-input.figma.d.ts +2 -0
  174. package/dist/src/molecules/figma/form-input.figma.d.ts.map +1 -0
  175. package/dist/src/molecules/figma/form-numeric-input.figma.d.ts +2 -0
  176. package/dist/src/molecules/figma/form-numeric-input.figma.d.ts.map +1 -0
  177. package/dist/src/molecules/figma/form-textarea.figma.d.ts +2 -0
  178. package/dist/src/molecules/figma/form-textarea.figma.d.ts.map +1 -0
  179. package/dist/src/molecules/figma/menu.figma.d.ts +2 -0
  180. package/dist/src/molecules/figma/menu.figma.d.ts.map +1 -0
  181. package/dist/src/molecules/figma/pagination.figma.d.ts +2 -0
  182. package/dist/src/molecules/figma/pagination.figma.d.ts.map +1 -0
  183. package/dist/src/molecules/figma/popover.figma.d.ts +2 -0
  184. package/dist/src/molecules/figma/popover.figma.d.ts.map +1 -0
  185. package/dist/src/molecules/figma/product-card.figma.d.ts +2 -0
  186. package/dist/src/molecules/figma/product-card.figma.d.ts.map +1 -0
  187. package/dist/src/molecules/figma/radio-card.figma.d.ts +2 -0
  188. package/dist/src/molecules/figma/radio-card.figma.d.ts.map +1 -0
  189. package/dist/src/molecules/figma/radio-group.figma.d.ts +2 -0
  190. package/dist/src/molecules/figma/radio-group.figma.d.ts.map +1 -0
  191. package/dist/src/molecules/figma/search-form.figma.d.ts +2 -0
  192. package/dist/src/molecules/figma/search-form.figma.d.ts.map +1 -0
  193. package/dist/src/molecules/figma/select.figma.d.ts +2 -0
  194. package/dist/src/molecules/figma/select.figma.d.ts.map +1 -0
  195. package/dist/src/molecules/figma/slider.figma.d.ts +2 -0
  196. package/dist/src/molecules/figma/slider.figma.d.ts.map +1 -0
  197. package/dist/src/molecules/figma/steps.figma.d.ts +2 -0
  198. package/dist/src/molecules/figma/steps.figma.d.ts.map +1 -0
  199. package/dist/src/molecules/figma/switch.figma.d.ts +2 -0
  200. package/dist/src/molecules/figma/switch.figma.d.ts.map +1 -0
  201. package/dist/src/molecules/figma/tabs.figma.d.ts +2 -0
  202. package/dist/src/molecules/figma/tabs.figma.d.ts.map +1 -0
  203. package/dist/src/molecules/figma/toast.figma.d.ts +2 -0
  204. package/dist/src/molecules/figma/toast.figma.d.ts.map +1 -0
  205. package/dist/src/molecules/figma/tree-view.figma.d.ts +2 -0
  206. package/dist/src/molecules/figma/tree-view.figma.d.ts.map +1 -0
  207. package/dist/src/molecules/form-checkbox.d.ts +22 -12
  208. package/dist/src/molecules/form-checkbox.d.ts.map +1 -1
  209. package/dist/src/molecules/form-input.d.ts +8 -6
  210. package/dist/src/molecules/form-input.d.ts.map +1 -1
  211. package/dist/src/molecules/form-numeric-input.d.ts +6 -6
  212. package/dist/src/molecules/form-numeric-input.d.ts.map +1 -1
  213. package/dist/src/molecules/form-textarea.d.ts +8 -6
  214. package/dist/src/molecules/form-textarea.d.ts.map +1 -1
  215. package/dist/src/molecules/menu.d.ts +11 -11
  216. package/dist/src/molecules/menu.d.ts.map +1 -1
  217. package/dist/src/molecules/pagination.d.ts +37 -9
  218. package/dist/src/molecules/pagination.d.ts.map +1 -1
  219. package/dist/src/molecules/phone-input.d.ts +246 -0
  220. package/dist/src/molecules/phone-input.d.ts.map +1 -0
  221. package/dist/src/molecules/popover.d.ts +76 -24
  222. package/dist/src/molecules/popover.d.ts.map +1 -1
  223. package/dist/src/molecules/product-card.d.ts +11 -10
  224. package/dist/src/molecules/product-card.d.ts.map +1 -1
  225. package/dist/src/molecules/radio-card.d.ts +429 -0
  226. package/dist/src/molecules/radio-card.d.ts.map +1 -0
  227. package/dist/src/molecules/radio-group.d.ts +245 -0
  228. package/dist/src/molecules/radio-group.d.ts.map +1 -0
  229. package/dist/src/molecules/search-form.d.ts +94 -27
  230. package/dist/src/molecules/search-form.d.ts.map +1 -1
  231. package/dist/src/molecules/select.d.ts +124 -30
  232. package/dist/src/molecules/select.d.ts.map +1 -1
  233. package/dist/src/molecules/slider.d.ts +9 -12
  234. package/dist/src/molecules/slider.d.ts.map +1 -1
  235. package/dist/src/molecules/steps.d.ts +236 -64
  236. package/dist/src/molecules/steps.d.ts.map +1 -1
  237. package/dist/src/molecules/switch.d.ts +7 -7
  238. package/dist/src/molecules/switch.d.ts.map +1 -1
  239. package/dist/src/molecules/tabs.d.ts +10 -10
  240. package/dist/src/molecules/tabs.d.ts.map +1 -1
  241. package/dist/src/molecules/toast.d.ts +6 -6
  242. package/dist/src/molecules/tree-view.d.ts +14 -14
  243. package/dist/src/molecules/tree-view.d.ts.map +1 -1
  244. package/dist/src/organisms/footer.d.ts +15 -6
  245. package/dist/src/organisms/footer.d.ts.map +1 -1
  246. package/dist/src/organisms/gallery.d.ts +147 -0
  247. package/dist/src/organisms/gallery.d.ts.map +1 -0
  248. package/dist/src/organisms/header.d.ts +9 -9
  249. package/dist/src/organisms/header.d.ts.map +1 -1
  250. package/dist/src/organisms/table.d.ts +10 -10
  251. package/dist/src/organisms/table.d.ts.map +1 -1
  252. package/dist/src/templates/accordion.d.ts +3 -3
  253. package/dist/src/templates/breadcrumb.d.ts +28 -0
  254. package/dist/src/templates/breadcrumb.d.ts.map +1 -0
  255. package/dist/src/templates/carousel.d.ts +4 -4
  256. package/dist/src/templates/carousel.d.ts.map +1 -1
  257. package/dist/src/templates/gallery.d.ts +43 -0
  258. package/dist/src/templates/gallery.d.ts.map +1 -0
  259. package/dist/src/templates/numeric-input.d.ts +5 -5
  260. package/dist/src/templates/popover.d.ts +19 -0
  261. package/dist/src/templates/popover.d.ts.map +1 -0
  262. package/dist/src/templates/product-card.d.ts +4 -4
  263. package/dist/src/templates/select.d.ts +22 -0
  264. package/dist/src/templates/select.d.ts.map +1 -0
  265. package/dist/src/templates/tabs.d.ts +4 -4
  266. package/dist/src/types/zag.d.ts +19 -18
  267. package/dist/src/types/zag.d.ts.map +1 -1
  268. package/dist/src/utils.d.ts +1 -1
  269. package/dist/src/utils.d.ts.map +1 -1
  270. package/dist/stories/atoms/badge.stories.d.ts +12 -0
  271. package/dist/stories/atoms/badge.stories.d.ts.map +1 -0
  272. package/dist/stories/atoms/button.stories.d.ts +12 -0
  273. package/dist/stories/atoms/button.stories.d.ts.map +1 -0
  274. package/dist/stories/atoms/checkbox.stories.d.ts +56 -0
  275. package/dist/stories/atoms/checkbox.stories.d.ts.map +1 -0
  276. package/dist/stories/atoms/icon.stories.d.ts +11 -0
  277. package/dist/stories/atoms/icon.stories.d.ts.map +1 -0
  278. package/dist/stories/atoms/image.stories.d.ts +8 -0
  279. package/dist/stories/atoms/image.stories.d.ts.map +1 -0
  280. package/dist/stories/atoms/input.stories.d.ts +8 -0
  281. package/dist/stories/atoms/input.stories.d.ts.map +1 -0
  282. package/dist/stories/atoms/numeric-input.stories.d.ts +23 -0
  283. package/dist/stories/atoms/numeric-input.stories.d.ts.map +1 -0
  284. package/dist/stories/atoms/rating.stories.d.ts +10 -0
  285. package/dist/stories/atoms/rating.stories.d.ts.map +1 -0
  286. package/dist/stories/atoms/skeleton.stories.d.ts +34 -0
  287. package/dist/stories/atoms/skeleton.stories.d.ts.map +1 -0
  288. package/dist/stories/atoms/status-text.stories.d.ts +15 -0
  289. package/dist/stories/atoms/status-text.stories.d.ts.map +1 -0
  290. package/dist/stories/atoms/textarea.stories.d.ts +12 -0
  291. package/dist/stories/atoms/textarea.stories.d.ts.map +1 -0
  292. package/dist/stories/atoms/tooltip.stories.d.ts +28 -0
  293. package/dist/stories/atoms/tooltip.stories.d.ts.map +1 -0
  294. package/dist/stories/helpers/icon-options.d.ts +4 -0
  295. package/dist/stories/helpers/icon-options.d.ts.map +1 -0
  296. package/dist/stories/molecules/accordion.stories.d.ts +14 -0
  297. package/dist/stories/molecules/accordion.stories.d.ts.map +1 -0
  298. package/dist/stories/molecules/breadcrumb.stories.d.ts +14 -0
  299. package/dist/stories/molecules/breadcrumb.stories.d.ts.map +1 -0
  300. package/dist/stories/molecules/carousel.stories.d.ts +19 -0
  301. package/dist/stories/molecules/carousel.stories.d.ts.map +1 -0
  302. package/dist/stories/molecules/color-select.stories.d.ts +12 -0
  303. package/dist/stories/molecules/color-select.stories.d.ts.map +1 -0
  304. package/dist/stories/molecules/combobox.stories.d.ts +11 -0
  305. package/dist/stories/molecules/combobox.stories.d.ts.map +1 -0
  306. package/dist/stories/molecules/dialog.stories.d.ts +19 -0
  307. package/dist/stories/molecules/dialog.stories.d.ts.map +1 -0
  308. package/dist/stories/molecules/form-checkbox.stories.d.ts +17 -0
  309. package/dist/stories/molecules/form-checkbox.stories.d.ts.map +1 -0
  310. package/dist/stories/molecules/form-input.stories.d.ts +12 -0
  311. package/dist/stories/molecules/form-input.stories.d.ts.map +1 -0
  312. package/dist/stories/molecules/form-numeric-input.stories.d.ts +17 -0
  313. package/dist/stories/molecules/form-numeric-input.stories.d.ts.map +1 -0
  314. package/dist/stories/molecules/form-textarea.stories.d.ts +12 -0
  315. package/dist/stories/molecules/form-textarea.stories.d.ts.map +1 -0
  316. package/dist/stories/molecules/menu.stories.d.ts +22 -0
  317. package/dist/stories/molecules/menu.stories.d.ts.map +1 -0
  318. package/dist/stories/molecules/pagination.stories.d.ts +13 -0
  319. package/dist/stories/molecules/pagination.stories.d.ts.map +1 -0
  320. package/dist/stories/molecules/phone-input.stories.d.ts +19 -0
  321. package/dist/stories/molecules/phone-input.stories.d.ts.map +1 -0
  322. package/dist/stories/molecules/popover.stories.d.ts +140 -0
  323. package/dist/stories/molecules/popover.stories.d.ts.map +1 -0
  324. package/dist/stories/molecules/product-card.stories.d.ts +41 -0
  325. package/dist/stories/molecules/product-card.stories.d.ts.map +1 -0
  326. package/dist/stories/molecules/radio-card.stories.d.ts +13 -0
  327. package/dist/stories/molecules/radio-card.stories.d.ts.map +1 -0
  328. package/dist/stories/molecules/radio-group.stories.d.ts +13 -0
  329. package/dist/stories/molecules/radio-group.stories.d.ts.map +1 -0
  330. package/dist/stories/molecules/search-form.stories.d.ts +16 -0
  331. package/dist/stories/molecules/search-form.stories.d.ts.map +1 -0
  332. package/dist/stories/molecules/select.stories.d.ts +19 -0
  333. package/dist/stories/molecules/select.stories.d.ts.map +1 -0
  334. package/dist/stories/molecules/slider.stories.d.ts +19 -0
  335. package/dist/stories/molecules/slider.stories.d.ts.map +1 -0
  336. package/dist/stories/molecules/steps.stories.d.ts +19 -0
  337. package/dist/stories/molecules/steps.stories.d.ts.map +1 -0
  338. package/dist/stories/molecules/switch.stories.d.ts +13 -0
  339. package/dist/stories/molecules/switch.stories.d.ts.map +1 -0
  340. package/dist/stories/molecules/tabs.stories.d.ts +18 -0
  341. package/dist/stories/molecules/tabs.stories.d.ts.map +1 -0
  342. package/dist/stories/molecules/toast.stories.d.ts +11 -0
  343. package/dist/stories/molecules/toast.stories.d.ts.map +1 -0
  344. package/dist/stories/molecules/tree-view.stories.d.ts +17 -0
  345. package/dist/stories/molecules/tree-view.stories.d.ts.map +1 -0
  346. package/dist/stories/organisms/footer.stories.d.ts +12 -0
  347. package/dist/stories/organisms/footer.stories.d.ts.map +1 -0
  348. package/dist/stories/organisms/gallery.stories.d.ts +73 -0
  349. package/dist/stories/organisms/gallery.stories.d.ts.map +1 -0
  350. package/dist/stories/organisms/header.stories.d.ts +12 -0
  351. package/dist/stories/organisms/header.stories.d.ts.map +1 -0
  352. package/dist/stories/organisms/table.stories.d.ts +56 -0
  353. package/dist/stories/organisms/table.stories.d.ts.map +1 -0
  354. package/dist/stories/overview/apca-contrast-test.stories.d.ts +8 -0
  355. package/dist/stories/overview/apca-contrast-test.stories.d.ts.map +1 -0
  356. package/dist/stories/overview/color-palette.stories.d.ts +8 -0
  357. package/dist/stories/overview/color-palette.stories.d.ts.map +1 -0
  358. package/dist/stories/overview/component-comparison.stories.d.ts +6 -0
  359. package/dist/stories/overview/component-comparison.stories.d.ts.map +1 -0
  360. package/dist/stories/templates/accordion.stories.d.ts +8 -0
  361. package/dist/stories/templates/accordion.stories.d.ts.map +1 -0
  362. package/dist/stories/templates/breadcrumb.stories.d.ts +12 -0
  363. package/dist/stories/templates/breadcrumb.stories.d.ts.map +1 -0
  364. package/dist/stories/templates/carousel.stories.d.ts +8 -0
  365. package/dist/stories/templates/carousel.stories.d.ts.map +1 -0
  366. package/dist/stories/templates/comprehensive-form.stories.d.ts +26 -0
  367. package/dist/stories/templates/comprehensive-form.stories.d.ts.map +1 -0
  368. package/dist/stories/templates/gallery.stories.d.ts +7 -0
  369. package/dist/stories/templates/gallery.stories.d.ts.map +1 -0
  370. package/dist/stories/templates/numeric-input.stories.d.ts +8 -0
  371. package/dist/stories/templates/numeric-input.stories.d.ts.map +1 -0
  372. package/dist/stories/templates/popover.stories.d.ts +55 -0
  373. package/dist/stories/templates/popover.stories.d.ts.map +1 -0
  374. package/dist/stories/templates/product-card.stories.d.ts +10 -0
  375. package/dist/stories/templates/product-card.stories.d.ts.map +1 -0
  376. package/dist/stories/templates/select.stories.d.ts +10 -0
  377. package/dist/stories/templates/select.stories.d.ts.map +1 -0
  378. package/dist/stories/templates/tabs.stories.d.ts +8 -0
  379. package/dist/stories/templates/tabs.stories.d.ts.map +1 -0
  380. package/dist/templates/accordion.js +9 -9
  381. package/dist/templates/breadcrumb.js +78 -0
  382. package/dist/templates/carousel.js +13 -15
  383. package/dist/templates/gallery.js +89 -0
  384. package/dist/templates/numeric-input.js +4 -4
  385. package/dist/templates/popover.js +35 -0
  386. package/dist/templates/product-card.js +10 -10
  387. package/dist/templates/select.js +43 -0
  388. package/dist/templates/tabs.js +8 -8
  389. package/dist/test/visual.spec.d.ts +2 -0
  390. package/dist/test/visual.spec.d.ts.map +1 -0
  391. package/dist/utils.js +1 -1
  392. package/package.json +41 -28
  393. package/src/tokens/_base.css +3 -3
  394. package/src/tokens/_layout.css +4 -0
  395. package/src/tokens/_semantic.css +49 -10
  396. package/src/tokens/_tokens-base.css +67 -0
  397. package/src/tokens/_typography.css +36 -6
  398. package/src/tokens/components/_form-control.css +67 -0
  399. package/src/tokens/components/atoms/_badge.css +16 -5
  400. package/src/tokens/components/atoms/_button.css +16 -10
  401. package/src/tokens/components/atoms/_checkbox.css +52 -0
  402. package/src/tokens/components/atoms/_icon.css +90 -2
  403. package/src/tokens/components/atoms/_image.css +5 -0
  404. package/src/tokens/components/atoms/_input.css +11 -32
  405. package/src/tokens/components/atoms/_label.css +11 -0
  406. package/src/tokens/components/atoms/_numeric-input.css +27 -13
  407. package/src/tokens/components/atoms/_rating.css +2 -2
  408. package/src/tokens/components/atoms/_status-text.css +32 -0
  409. package/src/tokens/components/atoms/_textarea.css +15 -17
  410. package/src/tokens/components/components.css +10 -1
  411. package/src/tokens/components/molecules/_accordion.css +1 -8
  412. package/src/tokens/components/molecules/_breadcrumb.css +42 -20
  413. package/src/tokens/components/molecules/_carousel.css +10 -2
  414. package/src/tokens/components/molecules/_color-select.css +3 -3
  415. package/src/tokens/components/molecules/_combobox.css +15 -21
  416. package/src/tokens/components/molecules/_dialog.css +0 -1
  417. package/src/tokens/components/molecules/_menu.css +0 -1
  418. package/src/tokens/components/molecules/_pagination.css +3 -3
  419. package/src/tokens/components/molecules/_phone-input.css +63 -0
  420. package/src/tokens/components/molecules/_popover.css +3 -0
  421. package/src/tokens/components/molecules/_product-card.css +9 -1
  422. package/src/tokens/components/molecules/_radio-card.css +197 -0
  423. package/src/tokens/components/molecules/_radio-group.css +150 -0
  424. package/src/tokens/components/molecules/_search-form.css +7 -3
  425. package/src/tokens/components/molecules/_select.css +41 -20
  426. package/src/tokens/components/molecules/_steps.css +115 -34
  427. package/src/tokens/components/molecules/_toast.css +5 -5
  428. package/src/tokens/components/molecules/_tree-view.css +5 -6
  429. package/src/tokens/components/organisms/_footer.css +1 -6
  430. package/src/tokens/components/organisms/_gallery.css +35 -0
  431. package/src/tokens/components/organisms/_header.css +8 -0
  432. package/src/tokens/figma/dark/variables.css +1406 -0
  433. package/src/tokens/figma/light/variables.css +1406 -0
  434. package/src/tokens/index.css +1 -65
  435. package/src/tokens/tokens-only.css +1 -64
  436. package/dist/atoms/error-text.js +0 -38
  437. package/dist/atoms/extra-text.js +0 -27
  438. package/dist/molecules/checkbox.js +0 -98
  439. package/dist/src/atoms/error-text.d.ts +0 -29
  440. package/dist/src/atoms/error-text.d.ts.map +0 -1
  441. package/dist/src/atoms/extra-text.d.ts +0 -27
  442. package/dist/src/atoms/extra-text.d.ts.map +0 -1
  443. package/dist/src/molecules/checkbox.d.ts +0 -19
  444. package/dist/src/molecules/checkbox.d.ts.map +0 -1
  445. package/src/tokens/components/molecules/_checkbox.css +0 -34
  446. package/src/tokens/components/molecules/index.css +0 -2
@@ -2,62 +2,68 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { tv } from "../utils.js";
3
3
  const inputVariants = tv({
4
4
  base: [
5
- 'block w-full',
6
- 'bg-input',
7
- 'text-input-fg',
8
- 'placeholder:text-input-fg-placeholder',
9
- 'border border-input-border',
10
- 'rounded-input',
11
- 'transition-all duration-200',
12
- 'hover:bg-input-hover hover:border-input-border-hover',
13
- 'focus:outline-none focus:bg-input-focus focus:border-input-border-focus',
14
- 'focus-visible:ring',
15
- 'focus-visible:ring-input-ring',
16
- 'disabled:pointer-events-none'
5
+ "block w-full",
6
+ "font-normal",
7
+ "bg-input",
8
+ "text-input-fg",
9
+ "placeholder:font-normal",
10
+ "placeholder:text-input-fg-placeholder",
11
+ "border-(length:--border-width-input) border-input-border",
12
+ "rounded-input",
13
+ "transition-all duration-200 motion-reduce:transition-none",
14
+ "hover:border-input-border-hover hover:bg-input-hover",
15
+ "focus:border-input-border-focus focus:bg-input-focus",
16
+ "focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width)",
17
+ "focus-visible:outline-input-ring",
18
+ "focus-visible:outline-offset-(length:--default-ring-offset)",
19
+ "disabled:cursor-not-allowed disabled:hover:bg-input-bg-disabled"
17
20
  ],
18
21
  variants: {
19
22
  size: {
20
- sm: 'p-input-sm text-input-sm',
21
- md: 'p-input-md text-input-md',
22
- lg: 'p-input-lg text-input-lg'
23
+ sm: "h-form-control-sm rounded-input-sm p-input-sm text-input-sm",
24
+ md: "h-form-control-md rounded-input-md p-input-md text-input-md",
25
+ lg: "h-form-control-lg rounded-input-lg p-input-lg text-input-lg"
23
26
  },
24
27
  variant: {
25
- default: '',
28
+ default: "",
26
29
  error: [
27
- 'border-input-border-danger',
28
- 'hover:border-input-border-danger-hover',
29
- 'focus:border-input-border-danger-focus'
30
+ "border-(length:--border-width-validation)",
31
+ "border-input-border-danger",
32
+ "hover:border-input-border-danger-hover",
33
+ "focus:border-input-border-danger-focus"
30
34
  ],
31
35
  success: [
32
- 'border-input-border-success',
33
- 'hover:border-input-border-success-hover',
34
- 'focus:border-input-border-success-focus'
36
+ "border-(length:--border-width-validation)",
37
+ "border-input-border-success",
38
+ "hover:border-input-border-success-hover",
39
+ "focus:border-input-border-success-focus"
35
40
  ],
36
41
  warning: [
37
- 'border-input-border-warning',
38
- 'hover:border-input-border-warning-hover',
39
- 'focus:border-input-border-warning-focus'
42
+ "border-(length:--border-width-validation)",
43
+ "border-input-border-warning",
44
+ "hover:border-input-border-warning-hover",
45
+ "focus:border-input-border-warning-focus"
40
46
  ]
41
47
  },
42
48
  withButtonInside: {
43
- false: '',
44
- right: 'pe-with-button',
45
- left: 'ps-with-button'
49
+ false: "",
50
+ right: "pe-with-button",
51
+ left: "ps-with-button"
46
52
  },
47
53
  hideSearchClear: {
48
- true: '[&::-webkit-search-cancel-button]:hidden [&::-ms-clear]:hidden'
54
+ true: "[&::-ms-clear]:hidden [&::-webkit-search-cancel-button]:hidden"
49
55
  },
50
56
  disabled: {
51
57
  true: [
52
- 'bg-input-bg-disabled',
53
- 'border-input-border-disabled',
54
- 'text-input-fg-disabled'
58
+ "bg-input-bg-disabled",
59
+ "border-input-border-disabled",
60
+ "text-input-fg-disabled"
55
61
  ]
56
62
  }
57
63
  },
58
64
  defaultVariants: {
59
- size: 'md',
60
- variant: 'default',
65
+ size: "md",
66
+ variant: "default",
61
67
  hideSearchClear: true,
62
68
  withIconInside: false
63
69
  }
@@ -2,23 +2,23 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { tv } from "../utils.js";
3
3
  const labelVariants = tv({
4
4
  base: [
5
- 'block',
6
- 'text-label-fg',
7
- 'font-label'
5
+ "block",
6
+ "text-label-fg",
7
+ "font-label"
8
8
  ],
9
9
  variants: {
10
10
  size: {
11
- sm: 'text-label-sm',
12
- md: 'text-label-md',
13
- lg: 'text-label-lg',
14
- current: ''
11
+ sm: "text-label-sm",
12
+ md: "text-label-md",
13
+ lg: "text-label-lg",
14
+ current: ""
15
15
  },
16
16
  disabled: {
17
- true: 'text-label-disabled'
17
+ true: "text-label-fg-disabled"
18
18
  }
19
19
  },
20
20
  defaultVariants: {
21
- size: 'current',
21
+ size: "current",
22
22
  disabled: false
23
23
  }
24
24
  });
@@ -34,7 +34,7 @@ function Label({ size, disabled, required, children, className, ...props }) {
34
34
  children: [
35
35
  children,
36
36
  required && /*#__PURE__*/ jsx("span", {
37
- className: "ms-1 text-label-required",
37
+ className: "ms-1 text-label-fg-required",
38
38
  children: "*"
39
39
  })
40
40
  ]
@@ -5,19 +5,16 @@ import { Icon } from "./icon.js";
5
5
  import { Link } from "./link.js";
6
6
  const linkButton = tv({
7
7
  extend: buttonVariants,
8
- base: 'cursor-pointer',
9
- variants: {
10
- size: {
11
- current: ''
12
- }
13
- },
8
+ base: "data-disabled:cursor-not-allowed",
14
9
  defaultVariants: {
15
- size: 'current'
10
+ size: "current"
16
11
  }
17
12
  });
18
- function LinkButton({ href, icon, as, iconPosition = 'left', children, variant, theme, size, block, uppercase, className, disabled, ref, ...props }) {
13
+ function LinkButton({ href, icon, as, iconPosition = "left", iconSize, children, variant, theme, size, block, uppercase, className, disabled, ref, onClick, tabIndex, ...props }) {
14
+ const handleClick = onClick;
19
15
  return /*#__PURE__*/ jsxs(Link, {
20
- ref: ref,
16
+ ...props,
17
+ "aria-disabled": disabled,
21
18
  as: as,
22
19
  className: linkButton({
23
20
  variant,
@@ -27,23 +24,27 @@ function LinkButton({ href, icon, as, iconPosition = 'left', children, variant,
27
24
  uppercase,
28
25
  className
29
26
  }),
30
- href: disabled ? void 0 : href,
31
- tabIndex: disabled ? -1 : 0,
32
- "aria-disabled": disabled,
33
27
  "data-disabled": disabled || void 0,
28
+ href: href,
34
29
  onClick: (e)=>{
35
- if (disabled) e.preventDefault();
30
+ if (disabled) {
31
+ e.preventDefault();
32
+ e.stopPropagation();
33
+ return;
34
+ }
35
+ handleClick?.(e);
36
36
  },
37
- ...props,
37
+ ref: ref,
38
+ tabIndex: disabled ? -1 : tabIndex,
38
39
  children: [
39
- icon && 'left' === iconPosition && /*#__PURE__*/ jsx(Icon, {
40
+ icon && "left" === iconPosition && /*#__PURE__*/ jsx(Icon, {
40
41
  icon: icon,
41
- size: size
42
+ size: iconSize ?? size
42
43
  }),
43
44
  children,
44
- icon && 'right' === iconPosition && /*#__PURE__*/ jsx(Icon, {
45
+ icon && "right" === iconPosition && /*#__PURE__*/ jsx(Icon, {
45
46
  icon: icon,
46
- size: size
47
+ size: iconSize ?? size
47
48
  })
48
49
  ]
49
50
  });
@@ -6,10 +6,12 @@ const linkVariants = tv({
6
6
  defaultVariants: {}
7
7
  });
8
8
  function Link({ as, children, external = false, className, ...props }) {
9
- const Component = as || 'a';
10
- const externalProps = external && (!as || 'a' === as) ? {
11
- target: '_blank',
12
- rel: 'noopener noreferrer'
9
+ const Component = as || "a";
10
+ const target = "target" in props ? props.target : void 0;
11
+ const rel = "rel" in props ? props.rel : void 0;
12
+ const externalProps = external ? {
13
+ target: target ?? "_blank",
14
+ rel: rel ?? "noopener noreferrer"
13
15
  } : {};
14
16
  return /*#__PURE__*/ jsx(Component, {
15
17
  className: linkVariants({
@@ -8,72 +8,97 @@ import { Input } from "./input.js";
8
8
  const numericInputVariants = tv({
9
9
  slots: {
10
10
  root: [
11
- 'flex relative'
11
+ "relative flex"
12
12
  ],
13
13
  container: [
14
- 'group flex relative border-(length:--border-width-numeric-input)',
15
- 'border-numeric-input-border rounded-numeric-input overflow-hidden items-center',
16
- 'data-[invalid]:bg-numeric-input-invalid-bg',
17
- 'data-[invalid]:border-numeric-input-invalid-border',
18
- 'text-numeric-input-fg',
19
- 'has-[input:hover]:bg-numeric-input-input-bg-hover',
20
- 'has-[input:focus]:bg-numeric-input-input-bg-focus',
21
- 'focus-within:ring',
22
- 'focus-within:ring-numeric-input-ring'
14
+ "group form-control-base relative flex",
15
+ "border-numeric-input-border",
16
+ "items-center overflow-hidden",
17
+ "hover:border-numeric-input-border-hover",
18
+ "focus-within:border-numeric-input-border-focus",
19
+ "data-disabled:bg-numeric-input-bg-disabled",
20
+ "data-disabled:border-numeric-input-border-disabled",
21
+ "data-disabled:text-numeric-input-fg-disabled",
22
+ "data-invalid:bg-numeric-input-invalid-bg",
23
+ "data-invalid:border-(length:--border-width-validation)",
24
+ "data-invalid:border-numeric-input-invalid-border",
25
+ "text-numeric-input-fg",
26
+ "has-[input:not(:disabled):hover]:bg-numeric-input-input-bg-hover",
27
+ "has-[input:focus]:bg-numeric-input-input-bg-focus",
28
+ "focus-within:outline-(style:--default-ring-style) focus-within:outline-(length:--default-ring-width)",
29
+ "focus-within:outline-numeric-input-ring",
30
+ "focus-within:outline-offset-(length:--default-ring-offset)",
31
+ "transition-colors duration-200 motion-reduce:transition-none"
23
32
  ],
24
33
  input: [
25
- 'p-numeric-input-input border-none',
26
- 'bg-numeric-input-input-bg',
27
- 'focus:bg-numeric-input-input-bg-focus',
28
- 'hover:bg-numeric-input-input-bg-hover',
29
- 'focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0',
30
- 'data-[invalid]:focus:border-input-border-danger-focus duration-0'
34
+ "h-full rounded-none border-none",
35
+ "bg-numeric-input-input-bg",
36
+ "focus:bg-numeric-input-input-bg-focus",
37
+ "hover:bg-numeric-input-input-bg-hover",
38
+ "disabled:hover:bg-numeric-input-input-bg",
39
+ "disabled:cursor-not-allowed",
40
+ "focus-visible:outline-none",
41
+ "duration-0 data-invalid:focus:border-input-border-danger-focus"
31
42
  ],
32
43
  triggerContainer: [
33
- 'flex flex-col h-fit justify-center bg-numeric-input-trigger-container-bg'
44
+ "flex flex-col gap-px self-stretch bg-numeric-input-trigger-container-bg"
34
45
  ],
35
46
  trigger: [
36
- 'px-numeric-input-trigger-x py-numeric-input-trigger-y',
37
- 'bg-numeric-input-trigger-bg hover:bg-numeric-input-trigger-bg-hover',
38
- 'text-numeric-input-trigger-fg hover:text-numeric-input-trigger-fg-hover',
39
- 'cursor-pointer'
47
+ "flex flex-1 place-items-center",
48
+ "px-numeric-input-trigger-x py-numeric-input-trigger-y",
49
+ "bg-numeric-input-trigger-bg hover:bg-numeric-input-trigger-bg-hover",
50
+ "text-numeric-input-trigger-fg hover:text-numeric-input-trigger-fg-hover",
51
+ "cursor-pointer",
52
+ "transition-colors duration-200 motion-reduce:transition-none",
53
+ "disabled:cursor-not-allowed"
40
54
  ],
41
- scrubber: 'absolute inset-0 cursor-ew-resize'
55
+ scrubber: "absolute inset-0 cursor-ew-resize"
42
56
  },
43
57
  variants: {
44
58
  size: {
45
59
  sm: {
46
- root: 'text-numeric-input-sm',
47
- trigger: 'text-numeric-input-sm',
48
- input: 'text-numeric-input-sm'
60
+ root: "gap-numeric-input-root-sm text-numeric-input-sm",
61
+ container: "h-form-control-sm rounded-numeric-input-sm",
62
+ trigger: "text-numeric-input-sm",
63
+ input: "pl-numeric-input-input-sm text-numeric-input-sm"
49
64
  },
50
65
  md: {
51
- root: 'text-numeric-input-md',
52
- trigger: 'text-numeric-input-md',
53
- input: 'text-numeric-input-md'
66
+ root: "gap-numeric-input-root-md text-numeric-input-md",
67
+ container: "h-form-control-md rounded-numeric-input-md",
68
+ trigger: "text-numeric-input-md",
69
+ input: "pl-numeric-input-input-md text-numeric-input-md"
54
70
  },
55
71
  lg: {
56
- root: 'text-numeric-input-lg',
57
- trigger: 'text-numeric-input-lg',
58
- input: 'text-numeric-input-lg'
72
+ root: "gap-numeric-input-root-lg text-numeric-input-lg",
73
+ container: "h-form-control-lg rounded-numeric-input-lg",
74
+ trigger: "text-numeric-input-lg",
75
+ input: "pl-numeric-input-input-lg text-numeric-input-lg"
59
76
  }
60
77
  }
61
78
  },
62
79
  defaultVariants: {
63
- size: 'md'
80
+ size: "md"
64
81
  }
65
82
  });
66
83
  const NumericInputContext = /*#__PURE__*/ createContext(null);
67
84
  function useNumericInputContext() {
68
85
  const context = useContext(NumericInputContext);
69
- if (!context) throw new Error('NumericInput components must be used within NumericInput.Root');
86
+ if (!context) throw new Error("NumericInput components must be used within NumericInput.Root");
70
87
  return context;
71
88
  }
72
- function NumericInput({ id, name, size, disabled = false, required = false, pattern, readOnly, inputMode, value, defaultValue, onChange, dir = 'ltr', describedBy, min, max, step = 1, precision, allowMouseWheel = true, allowOverflow, clampValueOnBlur = true, spinOnPress = true, formatOptions, invalid, children, ref, className, ...props }) {
89
+ function NumericInput({ id, name, size, disabled = false, required = false, pattern, readOnly, inputMode, value, defaultValue, onChange, dir = "ltr", describedBy, min, max, step = 1, precision, allowMouseWheel = true, allowOverflow, clampValueOnBlur = true, spinOnPress = true, formatOptions, invalid, children, ref, className, locale = "cs-CZ", ...props }) {
73
90
  const generatedId = useId();
74
91
  const uniqueId = id || generatedId;
75
- const stringValue = void 0 !== value ? String(value) : void 0;
76
- const stringDefaultValue = void 0 !== defaultValue ? String(defaultValue) : void 0;
92
+ const resolvedFormatOptions = precision ? {
93
+ ...formatOptions ?? {},
94
+ maximumFractionDigits: precision
95
+ } : formatOptions;
96
+ const formatValue = (inputValue)=>{
97
+ if (!resolvedFormatOptions) return String(inputValue);
98
+ return new Intl.NumberFormat(locale, resolvedFormatOptions).format(inputValue);
99
+ };
100
+ const stringValue = void 0 !== value ? formatValue(value) : void 0;
101
+ const stringDefaultValue = void 0 !== defaultValue ? formatValue(defaultValue) : void 0;
77
102
  const service = useMachine(machine, {
78
103
  id: uniqueId,
79
104
  min,
@@ -81,6 +106,7 @@ function NumericInput({ id, name, size, disabled = false, required = false, patt
81
106
  step,
82
107
  name,
83
108
  disabled,
109
+ locale,
84
110
  required,
85
111
  pattern,
86
112
  readOnly,
@@ -93,9 +119,7 @@ function NumericInput({ id, name, size, disabled = false, required = false, patt
93
119
  allowOverflow,
94
120
  clampValueOnBlur,
95
121
  spinOnPress,
96
- formatOptions: precision ? {
97
- maximumFractionDigits: precision
98
- } : formatOptions,
122
+ formatOptions: resolvedFormatOptions,
99
123
  onValueChange: (details)=>{
100
124
  onChange?.(details.valueAsNumber);
101
125
  },
@@ -114,10 +138,10 @@ function NumericInput({ id, name, size, disabled = false, required = false, patt
114
138
  describedBy
115
139
  },
116
140
  children: /*#__PURE__*/ jsx("div", {
117
- ref: ref,
118
141
  className: styles.root({
119
142
  className
120
143
  }),
144
+ ref: ref,
121
145
  ...api.getRootProps(),
122
146
  ...props,
123
147
  children: children
@@ -127,10 +151,10 @@ function NumericInput({ id, name, size, disabled = false, required = false, patt
127
151
  NumericInput.Control = function({ children, ref, className, ...props }) {
128
152
  const { api, styles, invalid } = useNumericInputContext();
129
153
  return /*#__PURE__*/ jsx("div", {
130
- ref: ref,
131
154
  className: styles.container({
132
155
  className
133
156
  }),
157
+ ref: ref,
134
158
  ...api.getControlProps(),
135
159
  ...props,
136
160
  "data-invalid": invalid || void 0,
@@ -140,56 +164,60 @@ NumericInput.Control = function({ children, ref, className, ...props }) {
140
164
  NumericInput.Input = function({ ref, className, ...props }) {
141
165
  const { api, styles, describedBy } = useNumericInputContext();
142
166
  const ariaDescribedBy = [
143
- props['aria-describedby'],
167
+ props["aria-describedby"],
144
168
  describedBy
145
- ].filter(Boolean).join(' ') || void 0;
169
+ ].filter(Boolean).join(" ") || void 0;
146
170
  return /*#__PURE__*/ jsx(Input, {
147
171
  ref: ref,
148
172
  ...api.getInputProps(),
149
173
  ...props,
174
+ "aria-describedby": ariaDescribedBy,
150
175
  className: styles.input({
151
176
  className
152
- }),
153
- "aria-describedby": ariaDescribedBy
177
+ })
154
178
  });
155
179
  };
156
- NumericInput.IncrementTrigger = function({ variant = 'primary', theme = 'borderless', size = 'sm', icon = 'token-icon-numeric-input-increment', iconPosition = 'left', uppercase, block, isLoading, loadingText, ref, className, children, ...props }) {
157
- const { api, styles } = useNumericInputContext();
180
+ NumericInput.IncrementTrigger = function({ variant = "primary", theme = "borderless", icon = "token-icon-numeric-input-increment", iconPosition = "left", iconSize, uppercase, block, isLoading, loadingText, ref, className, children, ...props }) {
181
+ const { api, styles, size } = useNumericInputContext();
182
+ const resolvedIconSize = iconSize ?? ("sm" === size ? "xs" : "lg" === size ? "md" : "sm");
158
183
  return /*#__PURE__*/ jsx(Button, {
159
- ref: ref,
160
- variant: variant,
161
- theme: theme,
162
- size: size,
163
- icon: icon,
164
- iconPosition: iconPosition,
165
- uppercase: uppercase,
166
184
  block: block,
167
- isLoading: isLoading,
168
- loadingText: loadingText,
169
185
  className: styles.trigger({
170
186
  className
171
187
  }),
188
+ icon: icon,
189
+ iconPosition: iconPosition,
190
+ iconSize: resolvedIconSize,
191
+ isLoading: isLoading,
192
+ loadingText: loadingText,
193
+ ref: ref,
194
+ size: "current",
195
+ theme: theme,
196
+ uppercase: uppercase,
197
+ variant: variant,
172
198
  ...api.getIncrementTriggerProps(),
173
199
  ...props,
174
200
  children: children
175
201
  });
176
202
  };
177
- NumericInput.DecrementTrigger = function({ variant = 'primary', theme = 'borderless', size = 'sm', icon = 'token-icon-numeric-input-decrement', iconPosition = 'left', uppercase, block, isLoading, loadingText, ref, className, children, ...props }) {
178
- const { api, styles } = useNumericInputContext();
203
+ NumericInput.DecrementTrigger = function({ variant = "primary", theme = "borderless", icon = "token-icon-numeric-input-decrement", iconPosition = "left", iconSize, uppercase, block, isLoading, loadingText, ref, className, children, ...props }) {
204
+ const { api, styles, size } = useNumericInputContext();
205
+ const resolvedIconSize = iconSize ?? ("sm" === size ? "xs" : "lg" === size ? "md" : "sm");
179
206
  return /*#__PURE__*/ jsx(Button, {
180
- ref: ref,
181
- variant: variant,
182
- theme: theme,
183
- size: size,
184
- icon: icon,
185
- iconPosition: iconPosition,
186
- uppercase: uppercase,
187
207
  block: block,
188
- isLoading: isLoading,
189
- loadingText: loadingText,
190
208
  className: styles.trigger({
191
209
  className
192
210
  }),
211
+ icon: icon,
212
+ iconPosition: iconPosition,
213
+ iconSize: resolvedIconSize,
214
+ isLoading: isLoading,
215
+ loadingText: loadingText,
216
+ ref: ref,
217
+ size: "current",
218
+ theme: theme,
219
+ uppercase: uppercase,
220
+ variant: variant,
193
221
  ...api.getDecrementTriggerProps(),
194
222
  ...props,
195
223
  children: children
@@ -198,10 +226,10 @@ NumericInput.DecrementTrigger = function({ variant = 'primary', theme = 'borderl
198
226
  NumericInput.Scrubber = function({ ref, className, ...props }) {
199
227
  const { api, styles } = useNumericInputContext();
200
228
  return /*#__PURE__*/ jsx("div", {
201
- ref: ref,
202
229
  className: styles.scrubber({
203
230
  className
204
231
  }),
232
+ ref: ref,
205
233
  ...api.getScrubberProps(),
206
234
  ...props
207
235
  });
@@ -209,13 +237,13 @@ NumericInput.Scrubber = function({ ref, className, ...props }) {
209
237
  NumericInput.TriggerContainer = function({ children, ref, className, ...props }) {
210
238
  const { styles } = useNumericInputContext();
211
239
  return /*#__PURE__*/ jsx("div", {
212
- ref: ref,
213
240
  className: styles.triggerContainer({
214
241
  className
215
242
  }),
243
+ ref: ref,
216
244
  ...props,
217
245
  children: children
218
246
  });
219
247
  };
220
- NumericInput.displayName = 'NumericInput';
248
+ NumericInput.displayName = "NumericInput";
221
249
  export { NumericInput };
@@ -7,58 +7,58 @@ import { Label } from "./label.js";
7
7
  const rating = tv({
8
8
  slots: {
9
9
  root: [
10
- 'grid items-center'
10
+ "grid items-center"
11
11
  ],
12
12
  control: [
13
- 'flex'
13
+ "flex"
14
14
  ],
15
15
  itemWrapper: [
16
- 'flex items-center',
17
- 'has-[:focus-visible]:outline-none',
18
- 'has-[:focus-visible]:ring',
19
- 'has-[:focus-visible]:ring-rating-ring'
16
+ "flex items-center",
17
+ "has-focus-visible:outline-(style:--default-ring-style) has-focus-visible:outline-(length:--default-ring-width)",
18
+ "has-focus-visible:outline-rating-ring",
19
+ "has-focus-visible:outline-offset-(length:--default-ring-offset)"
20
20
  ],
21
21
  item: [
22
- 'cursor-pointer transition-colors duration-200',
23
- 'text-rating-fg',
24
- 'data-[checked]:text-rating-fg-active',
25
- 'data-[highlighted]:text-rating-fg-active',
26
- 'data-[disabled]:cursor-not-allowed',
27
- 'data-[disabled]:data-[highlighted]:text-rating-fg-disabled',
28
- 'token-icon-rating',
29
- 'data-[half]:token-icon-rating-half'
22
+ "cursor-pointer transition-colors duration-200",
23
+ "cursor-pointer transition-colors duration-200 motion-reduce:transition-none",
24
+ "text-rating-fg",
25
+ "data-highlighted:text-rating-fg-active",
26
+ "data-disabled:cursor-not-allowed",
27
+ "data-disabled:data-highlighted:text-rating-fg-disabled",
28
+ "token-icon-rating",
29
+ "data-half:token-icon-rating-half"
30
30
  ]
31
31
  },
32
32
  variants: {
33
33
  size: {
34
34
  sm: {
35
- root: 'gap-rating-sm',
36
- control: 'gap-rating-sm',
37
- item: 'text-rating-sm'
35
+ root: "gap-rating-sm",
36
+ control: "gap-rating-sm",
37
+ item: "text-rating-sm"
38
38
  },
39
39
  md: {
40
- root: 'gap-rating-md',
41
- control: 'gap-rating-md',
42
- item: 'text-rating-md'
40
+ root: "gap-rating-md",
41
+ control: "gap-rating-md",
42
+ item: "text-rating-md"
43
43
  },
44
44
  lg: {
45
- root: 'gap-rating-lg',
46
- control: 'gap-rating-lg',
47
- item: 'text-rating-lg'
45
+ root: "gap-rating-lg",
46
+ control: "gap-rating-lg",
47
+ item: "text-rating-lg"
48
48
  }
49
49
  },
50
50
  isInteractive: {
51
51
  true: {},
52
52
  false: {
53
- item: 'cursor-default'
53
+ item: "cursor-default"
54
54
  }
55
55
  }
56
56
  },
57
57
  defaultVariants: {
58
- size: 'md'
58
+ size: "md"
59
59
  }
60
60
  });
61
- function Rating({ value, defaultValue, count = 5, labelText, readOnly = false, disabled = false, allowHalf = true, name, dir = 'ltr', translations, onChange, onHoverChange, size = 'md', className, ...props }) {
61
+ function Rating({ value, defaultValue, count = 5, labelText, readOnly = false, disabled = false, allowHalf = true, name, dir = "ltr", translations, onChange, onHoverChange, size = "md", className, ...props }) {
62
62
  const generatedId = useId();
63
63
  const uniqueId = props.id || generatedId;
64
64
  const service = useMachine(machine, {
@@ -72,8 +72,8 @@ function Rating({ value, defaultValue, count = 5, labelText, readOnly = false, d
72
72
  name,
73
73
  dir,
74
74
  translations,
75
- onValueChange: ({ value })=>{
76
- onChange?.(value);
75
+ onValueChange: ({ value: newValue })=>{
76
+ onChange?.(newValue);
77
77
  },
78
78
  onHoverChange: ({ hoveredValue })=>{
79
79
  onHoverChange?.(hoveredValue);
@@ -82,7 +82,7 @@ function Rating({ value, defaultValue, count = 5, labelText, readOnly = false, d
82
82
  const api = connect(service, normalizeProps);
83
83
  const { root, control, itemWrapper, item } = rating({
84
84
  size,
85
- isInteractive: !readOnly && !disabled
85
+ isInteractive: !(readOnly || disabled)
86
86
  });
87
87
  return /*#__PURE__*/ jsxs("div", {
88
88
  className: root({
@@ -109,7 +109,7 @@ function Rating({ value, defaultValue, count = 5, labelText, readOnly = false, d
109
109
  index
110
110
  })
111
111
  })
112
- }, index))
112
+ }, `star-${index}`))
113
113
  })
114
114
  ]
115
115
  });