@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
@@ -1,59 +1,132 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { ErrorText } from "../atoms/error-text.js";
3
- import { ExtraText } from "../atoms/extra-text.js";
4
- import { Label } from "../atoms/label.js";
5
- import { Checkbox } from "./checkbox.js";
6
- function FormCheckboxRaw({ id, label, validateStatus = 'default', helpText, extraText, size = 'md', required, disabled, ...props }) {
7
- const extraTextId = extraText ? `${id}-extra` : void 0;
2
+ import { connect, machine } from "@zag-js/checkbox";
3
+ import { normalizeProps, useMachine } from "@zag-js/react";
4
+ import { useId } from "react";
5
+ import { StatusText } from "../atoms/status-text.js";
6
+ import { tv } from "../utils.js";
7
+ const checkboxVariants = tv({
8
+ slots: {
9
+ root: "flex items-center gap-form-checkbox-gap",
10
+ control: [
11
+ "relative shrink-0 cursor-pointer",
12
+ "size-checkbox",
13
+ "rounded-checkbox border border-checkbox-border",
14
+ "bg-checkbox-bg",
15
+ "flex items-center justify-center",
16
+ "transition-all duration-200 motion-reduce:transition-none",
17
+ "data-[state=checked]:bg-checkbox-bg-checked",
18
+ "data-[state=checked]:border-checkbox-border-checked",
19
+ "data-[state=indeterminate]:bg-checkbox-bg-indeterminate",
20
+ "data-[state=indeterminate]:border-checkbox-border-indeterminate",
21
+ "data-disabled:cursor-not-allowed",
22
+ "data-disabled:bg-checkbox-bg-disabled",
23
+ "data-disabled:border-checkbox-border-disabled",
24
+ "data-focus-visible:outline-(style:--default-ring-style) data-focus-visible:outline-(length:--default-ring-width)",
25
+ "data-focus-visible:outline-checkbox-ring-focus",
26
+ "data-focus-visible:outline-offset-(length:--default-ring-offset)",
27
+ "data-invalid:border-(length:--border-width-validation)",
28
+ "data-invalid:border-checkbox-border-error"
29
+ ],
30
+ indicator: [
31
+ "text-checkbox-fg-checked",
32
+ "data-[state=checked]:token-icon-checkbox",
33
+ "data-[state=indeterminate]:size-checkbox-indeterminate-icon",
34
+ "data-[state=indeterminate]:rounded-full",
35
+ "data-[state=indeterminate]:bg-checkbox-fg-indeterminate",
36
+ "data-disabled:text-checkbox-fg-disabled"
37
+ ],
38
+ label: [
39
+ "cursor-pointer select-none",
40
+ "text-label-fg",
41
+ "data-disabled:cursor-not-allowed",
42
+ "data-disabled:text-label-fg-disabled"
43
+ ],
44
+ hiddenInput: "sr-only",
45
+ textIndented: "data-[icon=false]:pl-form-checkbox-text-offset"
46
+ },
47
+ variants: {
48
+ size: {
49
+ sm: {
50
+ label: "text-label-sm"
51
+ },
52
+ md: {
53
+ label: "text-label-md"
54
+ },
55
+ lg: {
56
+ label: "text-label-lg"
57
+ }
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ size: "md"
62
+ }
63
+ });
64
+ function FormCheckbox({ id, name, value, checked, defaultChecked, indeterminate, disabled = false, required = false, readOnly = false, children, label, helpText, validateStatus = "default", showHelpTextIcon = "default" !== validateStatus, size = "md", className, onCheckedChange }) {
65
+ const generatedId = useId();
66
+ const uniqueId = id || generatedId;
67
+ const service = useMachine(machine, {
68
+ id: uniqueId,
69
+ name,
70
+ value,
71
+ checked: indeterminate ? "indeterminate" : checked,
72
+ defaultChecked,
73
+ disabled,
74
+ invalid: "error" === validateStatus,
75
+ readOnly,
76
+ required,
77
+ onCheckedChange: (details)=>{
78
+ onCheckedChange?.(true === details.checked);
79
+ }
80
+ });
81
+ const api = connect(service, normalizeProps);
82
+ const styles = checkboxVariants({
83
+ size
84
+ });
85
+ const labelContent = label ?? children;
8
86
  return /*#__PURE__*/ jsxs("div", {
9
- className: "flex gap-150",
87
+ className: className,
10
88
  children: [
11
- /*#__PURE__*/ jsx("div", {
12
- className: "mt-2 flex items-start",
13
- children: /*#__PURE__*/ jsx(Checkbox, {
14
- id: id,
15
- required: required,
16
- disabled: disabled,
17
- ...props
18
- })
19
- }),
20
- /*#__PURE__*/ jsxs("div", {
21
- className: "flex flex-col",
89
+ /*#__PURE__*/ jsxs("label", {
90
+ className: styles.root(),
91
+ ...api.getRootProps(),
22
92
  children: [
23
- /*#__PURE__*/ jsx(Label, {
24
- htmlFor: id,
25
- size: size,
26
- required: required,
27
- disabled: disabled,
28
- children: label
93
+ /*#__PURE__*/ jsx("div", {
94
+ className: styles.control(),
95
+ ...api.getControlProps(),
96
+ children: /*#__PURE__*/ jsx("span", {
97
+ className: styles.indicator(),
98
+ ...api.getIndicatorProps()
99
+ })
100
+ }),
101
+ /*#__PURE__*/ jsx("input", {
102
+ className: styles.hiddenInput(),
103
+ ...api.getHiddenInputProps()
29
104
  }),
30
- helpText,
31
- extraText && /*#__PURE__*/ jsx(ExtraText, {
32
- id: extraTextId,
33
- size: size,
34
- children: extraText
105
+ labelContent && /*#__PURE__*/ jsxs("span", {
106
+ className: styles.label(),
107
+ ...api.getLabelProps(),
108
+ children: [
109
+ labelContent,
110
+ required && /*#__PURE__*/ jsx("span", {
111
+ className: "text-label-fg-required",
112
+ children: " *"
113
+ })
114
+ ]
35
115
  })
36
116
  ]
117
+ }),
118
+ helpText && /*#__PURE__*/ jsx("div", {
119
+ className: styles.textIndented(),
120
+ "data-icon": showHelpTextIcon,
121
+ children: /*#__PURE__*/ jsx(StatusText, {
122
+ showIcon: showHelpTextIcon,
123
+ size: size,
124
+ status: validateStatus,
125
+ children: helpText
126
+ })
37
127
  })
38
128
  ]
39
129
  });
40
130
  }
41
- function FormCheckbox({ helpText, id, validateStatus, size, ...props }) {
42
- const helpTextId = helpText ? `${id}-helper` : void 0;
43
- return /*#__PURE__*/ jsx(FormCheckboxRaw, {
44
- id: id,
45
- size: size,
46
- validateStatus: validateStatus,
47
- helpText: 'error' === validateStatus ? /*#__PURE__*/ jsx(ErrorText, {
48
- id: helpTextId,
49
- size: size,
50
- children: helpText
51
- }) : helpText ?? /*#__PURE__*/ jsx(ExtraText, {
52
- id: helpTextId,
53
- size: size,
54
- children: helpText
55
- }),
56
- ...props
57
- });
58
- }
59
- export { FormCheckbox, FormCheckboxRaw };
131
+ FormCheckbox.displayName = "FormCheckbox";
132
+ export { FormCheckbox };
@@ -1,54 +1,42 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { ErrorText } from "../atoms/error-text.js";
3
- import { ExtraText } from "../atoms/extra-text.js";
4
2
  import { Input } from "../atoms/input.js";
5
3
  import { Label } from "../atoms/label.js";
6
- function FormInputRaw({ id, label, validateStatus = 'default', helpText, extraText, size = 'md', required, disabled, ...props }) {
7
- const extraTextId = extraText ? `${id}-extra` : void 0;
4
+ import { StatusText } from "../atoms/status-text.js";
5
+ function FormInputRaw({ id, label, validateStatus = "default", helpText, size = "md", required, disabled, ...props }) {
8
6
  return /*#__PURE__*/ jsxs("div", {
9
- className: "flex flex-col gap-1",
7
+ className: "flex flex-col gap-form-field-gap",
10
8
  children: [
11
9
  /*#__PURE__*/ jsx(Label, {
10
+ disabled: disabled,
12
11
  htmlFor: id,
13
- size: size,
14
12
  required: required,
15
- disabled: disabled,
13
+ size: size,
16
14
  children: label
17
15
  }),
18
16
  /*#__PURE__*/ jsx(Input, {
17
+ disabled: disabled,
19
18
  id: id,
20
- size: size,
21
19
  required: required,
20
+ size: size,
22
21
  variant: validateStatus,
23
- disabled: disabled,
24
22
  ...props,
25
23
  className: "p-input-sm md:p-input-md"
26
24
  }),
27
- helpText,
28
- extraText && /*#__PURE__*/ jsx(ExtraText, {
29
- id: extraTextId,
30
- size: size,
31
- children: extraText
32
- })
25
+ helpText
33
26
  ]
34
27
  });
35
28
  }
36
- function FormInput({ helpText, id, validateStatus, size, ...props }) {
37
- const helpTextId = helpText ? `${id}-helper` : void 0;
29
+ function FormInput({ helpText, id, validateStatus = "default", showHelpTextIcon = "default" !== validateStatus, size = "md", ...props }) {
38
30
  return /*#__PURE__*/ jsx(FormInputRaw, {
39
- id: id,
40
- size: size,
41
- validateStatus: validateStatus,
42
- helpText: 'error' === validateStatus ? /*#__PURE__*/ jsx(ErrorText, {
43
- id: helpTextId,
44
- size: size,
45
- showIcon: true,
46
- children: helpText
47
- }) : /*#__PURE__*/ jsx(ExtraText, {
48
- id: helpTextId,
31
+ helpText: helpText && /*#__PURE__*/ jsx(StatusText, {
32
+ status: validateStatus,
33
+ showIcon: showHelpTextIcon,
49
34
  size: size,
50
35
  children: helpText
51
36
  }),
37
+ id: id,
38
+ size: size,
39
+ validateStatus: validateStatus,
52
40
  ...props
53
41
  });
54
42
  }
@@ -1,45 +1,32 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { ErrorText } from "../atoms/error-text.js";
3
- import { ExtraText } from "../atoms/extra-text.js";
4
2
  import { Label } from "../atoms/label.js";
5
3
  import { NumericInput } from "../atoms/numeric-input.js";
6
- function FormNumericInput({ id, label, validateStatus = 'default', helpText, extraText, size = 'md', required, disabled, children, ...numericInputProps }) {
7
- const helpTextId = helpText ? `${id}-helper` : void 0;
8
- const extraTextId = extraText ? `${id}-extra` : void 0;
4
+ import { StatusText } from "../atoms/status-text.js";
5
+ function FormNumericInput({ id, label, validateStatus = "default", helpText, showHelpTextIcon = "default" !== validateStatus, size = "md", required, disabled, children, ...numericInputProps }) {
9
6
  return /*#__PURE__*/ jsxs("div", {
10
- className: "flex flex-col gap-numeric-input-root-md data-[size=lg]:gap-numeric-input-root-lg data-[size=sm]:gap-numeric-input-root-sm",
11
- "data-size": size,
7
+ className: "flex flex-col gap-form-field-gap",
12
8
  children: [
13
9
  /*#__PURE__*/ jsx(Label, {
10
+ disabled: disabled,
14
11
  htmlFor: id,
15
- size: size,
16
12
  required: required,
17
- disabled: disabled,
13
+ size: size,
18
14
  children: label
19
15
  }),
20
16
  /*#__PURE__*/ jsx(NumericInput, {
17
+ disabled: disabled,
21
18
  id: id,
22
- size: size,
19
+ invalid: "error" === validateStatus,
23
20
  required: required,
24
- invalid: 'error' === validateStatus,
25
- disabled: disabled,
21
+ size: size,
26
22
  ...numericInputProps,
27
23
  children: children
28
24
  }),
29
- helpText && ('error' === validateStatus ? /*#__PURE__*/ jsx(ErrorText, {
30
- id: helpTextId,
25
+ helpText && /*#__PURE__*/ jsx(StatusText, {
26
+ status: validateStatus,
27
+ showIcon: showHelpTextIcon,
31
28
  size: size,
32
- showIcon: true,
33
29
  children: helpText
34
- }) : /*#__PURE__*/ jsx(ExtraText, {
35
- id: helpTextId,
36
- size: size,
37
- children: helpText
38
- })),
39
- extraText && /*#__PURE__*/ jsx(ExtraText, {
40
- id: extraTextId,
41
- size: size,
42
- children: extraText
43
30
  })
44
31
  ]
45
32
  });
@@ -1,53 +1,41 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { ErrorText } from "../atoms/error-text.js";
3
- import { ExtraText } from "../atoms/extra-text.js";
4
2
  import { Label } from "../atoms/label.js";
3
+ import { StatusText } from "../atoms/status-text.js";
5
4
  import { Textarea } from "../atoms/textarea.js";
6
- function FormTextareaRaw({ id, label, validateStatus = 'default', helpText, extraText, size = 'md', required, disabled, ...props }) {
7
- const extraTextId = extraText ? `${id}-extra` : void 0;
5
+ function FormTextareaRaw({ id, label, validateStatus = "default", helpText, size = "md", required, disabled, ...props }) {
8
6
  return /*#__PURE__*/ jsxs("div", {
9
- className: "flex flex-col gap-1",
7
+ className: "flex flex-col gap-form-field-gap",
10
8
  children: [
11
9
  /*#__PURE__*/ jsx(Label, {
10
+ disabled: disabled,
12
11
  htmlFor: id,
13
- size: size,
14
12
  required: required,
15
- disabled: disabled,
13
+ size: size,
16
14
  children: label
17
15
  }),
18
16
  /*#__PURE__*/ jsx(Textarea, {
17
+ disabled: disabled,
19
18
  id: id,
20
- size: size,
21
19
  required: required,
20
+ size: size,
22
21
  variant: validateStatus,
23
- disabled: disabled,
24
22
  ...props
25
23
  }),
26
- helpText,
27
- extraText && /*#__PURE__*/ jsx(ExtraText, {
28
- id: extraTextId,
29
- size: size,
30
- children: extraText
31
- })
24
+ helpText
32
25
  ]
33
26
  });
34
27
  }
35
- function FormTextarea({ helpText, id, validateStatus, size, ...props }) {
36
- const helpTextId = helpText ? `${id}-helper` : void 0;
28
+ function FormTextarea({ helpText, id, validateStatus = "default", showHelpTextIcon = "default" !== validateStatus, size = "md", ...props }) {
37
29
  return /*#__PURE__*/ jsx(FormTextareaRaw, {
38
- id: id,
39
- size: size,
40
- validateStatus: validateStatus,
41
- helpText: 'error' === validateStatus ? /*#__PURE__*/ jsx(ErrorText, {
42
- id: helpTextId,
43
- size: size,
44
- showIcon: true,
45
- children: helpText
46
- }) : /*#__PURE__*/ jsx(ExtraText, {
47
- id: helpTextId,
30
+ helpText: helpText && /*#__PURE__*/ jsx(StatusText, {
31
+ status: validateStatus,
32
+ showIcon: showHelpTextIcon,
48
33
  size: size,
49
34
  children: helpText
50
35
  }),
36
+ id: id,
37
+ size: size,
38
+ validateStatus: validateStatus,
51
39
  ...props
52
40
  });
53
41
  }
@@ -7,70 +7,72 @@ import { Button } from "../atoms/button.js";
7
7
  import { Icon } from "../atoms/icon.js";
8
8
  const menuVariants = tv({
9
9
  slots: {
10
- trigger: '',
10
+ trigger: "",
11
11
  positioner: [
12
- 'w-(--reference-width)',
13
- 'isolate z-(--z-index)'
12
+ "w-(--reference-width)",
13
+ "isolate z-(--z-index)"
14
14
  ],
15
15
  content: [
16
- 'bg-menu-content-bg border border-menu-content-border',
17
- 'rounded-menu shadow-menu-content-shadow',
18
- 'p-menu-content',
19
- 'overflow-auto',
20
- 'focus:outline-none',
21
- 'data-[state=open]:animate-in',
22
- 'data-[state=closed]:animate-out'
16
+ "border border-menu-content-border bg-menu-content-bg",
17
+ "rounded-menu shadow-menu-content-shadow",
18
+ "p-menu-content",
19
+ "overflow-auto",
20
+ "focus-visible:outline-none",
21
+ "data-[state=open]:animate-in",
22
+ "data-[state=closed]:animate-out",
23
+ "motion-reduce:animate-none"
23
24
  ],
24
25
  item: [
25
- 'flex items-center gap-menu-item',
26
- 'cursor-pointer',
27
- 'px-menu-item-x py-menu-item-y',
28
- 'text-menu-item-fg',
29
- 'rounded-menu-item',
30
- 'hover:bg-menu-item-hover',
31
- 'focus:bg-menu-item-hover focus:outline-none',
32
- 'data-[disabled]:text-menu-fg-disabled data-[disabled]:cursor-not-allowed',
33
- 'data-[highlighted]:bg-menu-item-hover'
26
+ "flex items-center gap-menu-item",
27
+ "cursor-pointer",
28
+ "px-menu-item-x py-menu-item-y",
29
+ "text-menu-item-fg",
30
+ "rounded-menu-item",
31
+ "hover:bg-menu-item-hover",
32
+ "focus:bg-menu-item-hover focus-visible:outline-none",
33
+ "data-[disabled]:cursor-not-allowed data-[disabled]:text-menu-fg-disabled",
34
+ "data-[highlighted]:bg-menu-item-hover",
35
+ "transition-colors duration-200 motion-reduce:transition-none"
34
36
  ],
35
37
  optionItem: [
36
- 'data-[state=checked]:font-semibold'
38
+ "data-[state=checked]:font-semibold"
37
39
  ],
38
40
  separator: [
39
- 'my-menu-separator',
40
- 'h-menu-separator',
41
- 'bg-menu-separator-bg'
41
+ "my-menu-separator",
42
+ "h-menu-separator",
43
+ "bg-menu-separator-bg"
42
44
  ],
43
45
  itemText: [
44
- 'flex-grow'
46
+ "flex-grow"
45
47
  ],
46
48
  itemIcon: [
47
- 'text-menu-item-icon-size text-menu-item-icon-fg'
49
+ "text-menu-item-icon-fg text-menu-item-icon-size"
48
50
  ],
49
51
  submenuIndicator: [
50
- 'ms-menu-submenu-indicator text-menu-submenu-indicator-fg'
52
+ "ms-menu-submenu-indicator text-menu-submenu-indicator-fg"
51
53
  ]
52
54
  },
53
55
  variants: {
54
56
  size: {
55
57
  sm: {
56
- content: 'text-sm',
57
- item: 'text-sm'
58
+ content: "text-sm",
59
+ item: "text-sm"
58
60
  },
59
61
  md: {
60
- content: 'text-md',
61
- item: 'text-md'
62
+ content: "text-md",
63
+ item: "text-md"
62
64
  },
63
65
  lg: {
64
- content: 'text-lg',
65
- item: 'text-lg'
66
+ content: "text-lg",
67
+ item: "text-lg"
66
68
  }
67
69
  }
68
70
  },
69
71
  defaultVariants: {
70
- size: 'md'
72
+ size: "md"
71
73
  }
72
74
  });
73
- function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedChange, onSelect, closeOnSelect = true }) {
75
+ function SubmenuItem({ item, parentApi, parentService, size = "md", onCheckedChange, onSelect, closeOnSelect = true }) {
74
76
  const submenuService = useMachine(machine, {
75
77
  id: useId(),
76
78
  closeOnSelect,
@@ -90,19 +92,19 @@ function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedCha
90
92
  size
91
93
  });
92
94
  const renderMenuItem = (menuItem)=>{
93
- if ('separator' === menuItem.type) return /*#__PURE__*/ jsx("hr", {
95
+ if ("separator" === menuItem.type) return /*#__PURE__*/ jsx("hr", {
94
96
  className: separator()
95
97
  }, `separator-${menuItem.id}`);
96
- if ('submenu' === menuItem.type) return /*#__PURE__*/ jsx(SubmenuItem, {
98
+ if ("submenu" === menuItem.type) return /*#__PURE__*/ jsx(SubmenuItem, {
99
+ closeOnSelect: closeOnSelect,
97
100
  item: menuItem,
98
- parentApi: submenuApi,
99
- parentService: submenuService,
100
- size: size,
101
101
  onCheckedChange: onCheckedChange,
102
102
  onSelect: onSelect,
103
- closeOnSelect: closeOnSelect
103
+ parentApi: submenuApi,
104
+ parentService: submenuService,
105
+ size: size
104
106
  }, menuItem.value);
105
- if ('radio' === menuItem.type || 'checkbox' === menuItem.type) return /*#__PURE__*/ jsxs("li", {
107
+ if ("radio" === menuItem.type || "checkbox" === menuItem.type) return /*#__PURE__*/ jsxs("li", {
106
108
  className: `${itemSlot()} ${optionItem()}`,
107
109
  ...submenuApi.getOptionItemProps({
108
110
  type: menuItem.type,
@@ -114,8 +116,8 @@ function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedCha
114
116
  }),
115
117
  children: [
116
118
  menuItem.checked && /*#__PURE__*/ jsx(Icon, {
117
- icon: "token-icon-check",
118
- className: itemIcon()
119
+ className: itemIcon(),
120
+ icon: "token-icon-check"
119
121
  }),
120
122
  /*#__PURE__*/ jsx("span", {
121
123
  className: itemText(),
@@ -131,8 +133,8 @@ function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedCha
131
133
  }),
132
134
  children: [
133
135
  menuItem.icon && /*#__PURE__*/ jsx(Icon, {
134
- icon: menuItem.icon,
135
- className: itemIcon()
136
+ className: itemIcon(),
137
+ icon: menuItem.icon
136
138
  }),
137
139
  /*#__PURE__*/ jsx("span", {
138
140
  className: itemText(),
@@ -150,16 +152,16 @@ function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedCha
150
152
  "data-disabled": item.disabled || void 0,
151
153
  children: [
152
154
  item.icon && /*#__PURE__*/ jsx(Icon, {
153
- icon: item.icon,
154
- className: itemIcon()
155
+ className: itemIcon(),
156
+ icon: item.icon
155
157
  }),
156
158
  /*#__PURE__*/ jsx("span", {
157
159
  className: itemText(),
158
160
  children: item.label
159
161
  }),
160
162
  /*#__PURE__*/ jsx(Icon, {
161
- icon: "token-icon-menu-submenu",
162
- className: submenuIndicator()
163
+ className: submenuIndicator(),
164
+ icon: "token-icon-menu-submenu"
163
165
  })
164
166
  ]
165
167
  }),
@@ -177,7 +179,7 @@ function SubmenuItem({ item, parentApi, parentService, size = 'md', onCheckedCha
177
179
  ]
178
180
  });
179
181
  }
180
- function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocus = true, typeahead = true, positioning, anchorPoint, open, defaultOpen, composite, navigate, defaultHighlightedValue, highlightedValue, onHighlightChange, onSelect, onOpenChange, onEscapeKeyDown, onPointerDownOutside, onInteractOutside, onFocusOutside, items, triggerText = 'Menu', triggerIcon, customTrigger, size = 'md', onCheckedChange }) {
182
+ function Menu({ "aria-label": ariaLabel, dir, id, closeOnSelect = true, loopFocus = true, typeahead = true, positioning, anchorPoint, open, defaultOpen, composite, navigate, defaultHighlightedValue, highlightedValue, onHighlightChange, onSelect, onOpenChange, onEscapeKeyDown, onPointerDownOutside, onInteractOutside, onFocusOutside, items, triggerText = "Menu", triggerIcon, customTrigger, size = "md", onCheckedChange }) {
181
183
  const generatedId = useId();
182
184
  const service = useMachine(machine, {
183
185
  id: id || generatedId,
@@ -200,26 +202,26 @@ function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocu
200
202
  onInteractOutside,
201
203
  onFocusOutside,
202
204
  onHighlightChange,
203
- 'aria-label': ariaLabel
205
+ "aria-label": ariaLabel
204
206
  });
205
207
  const api = connect(service, normalizeProps);
206
208
  const { trigger, positioner, content, separator, optionItem, item: itemSlot, itemIcon, itemText } = menuVariants({
207
209
  size
208
210
  });
209
211
  const renderMenuItem = (item)=>{
210
- if ('separator' === item.type) return /*#__PURE__*/ jsx("hr", {
212
+ if ("separator" === item.type) return /*#__PURE__*/ jsx("hr", {
211
213
  className: separator()
212
214
  }, `separator-${item.id}`);
213
- if ('submenu' === item.type) return /*#__PURE__*/ jsx(SubmenuItem, {
215
+ if ("submenu" === item.type) return /*#__PURE__*/ jsx(SubmenuItem, {
216
+ closeOnSelect: closeOnSelect,
214
217
  item: item,
215
- parentApi: api,
216
- parentService: service,
217
- size: size,
218
218
  onCheckedChange: onCheckedChange,
219
219
  onSelect: onSelect,
220
- closeOnSelect: closeOnSelect
220
+ parentApi: api,
221
+ parentService: service,
222
+ size: size
221
223
  }, item.value);
222
- if ('radio' === item.type || 'checkbox' === item.type) return /*#__PURE__*/ jsxs("li", {
224
+ if ("radio" === item.type || "checkbox" === item.type) return /*#__PURE__*/ jsxs("li", {
223
225
  className: `${itemSlot()} ${optionItem()}`,
224
226
  ...api.getOptionItemProps({
225
227
  type: item.type,
@@ -231,8 +233,8 @@ function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocu
231
233
  }),
232
234
  children: [
233
235
  item.checked && /*#__PURE__*/ jsx(Icon, {
234
- icon: "token-icon-check",
235
- className: itemIcon()
236
+ className: itemIcon(),
237
+ icon: "token-icon-check"
236
238
  }),
237
239
  /*#__PURE__*/ jsx("span", {
238
240
  className: itemText(),
@@ -248,8 +250,8 @@ function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocu
248
250
  }),
249
251
  children: [
250
252
  item.icon && /*#__PURE__*/ jsx(Icon, {
251
- icon: item.icon,
252
- className: itemIcon()
253
+ className: itemIcon(),
254
+ icon: item.icon
253
255
  }),
254
256
  /*#__PURE__*/ jsx("span", {
255
257
  className: itemText(),
@@ -271,14 +273,14 @@ function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocu
271
273
  children: [
272
274
  triggerText,
273
275
  triggerIcon && /*#__PURE__*/ jsx(Icon, {
274
- icon: triggerIcon,
275
- className: "ms-1"
276
+ className: "ms-1",
277
+ icon: triggerIcon
276
278
  }),
277
279
  !triggerIcon && /*#__PURE__*/ jsx("span", {
278
280
  ...api.getIndicatorProps(),
279
281
  children: /*#__PURE__*/ jsx(Icon, {
280
- icon: "token-icon-menu-trigger",
281
- className: "ms-1"
282
+ className: "ms-1",
283
+ icon: "token-icon-menu-trigger"
282
284
  })
283
285
  })
284
286
  ]
@@ -297,5 +299,5 @@ function Menu({ 'aria-label': ariaLabel, dir, id, closeOnSelect = true, loopFocu
297
299
  ]
298
300
  });
299
301
  }
300
- Menu.displayName = 'Menu';
302
+ Menu.displayName = "Menu";
301
303
  export { Menu };