@noambz/ui 0.7.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 (795) hide show
  1. package/README.md +230 -0
  2. package/dist/__test-setup__.d.ts +2 -0
  3. package/dist/__test-setup__.d.ts.map +1 -0
  4. package/dist/components/atoms/avatar/avatar.d.ts +16 -0
  5. package/dist/components/atoms/avatar/avatar.d.ts.map +1 -0
  6. package/dist/components/atoms/avatar/avatar.js +58 -0
  7. package/dist/components/atoms/avatar/avatar.js.map +1 -0
  8. package/dist/components/atoms/avatar/avatar.stories.d.ts +9 -0
  9. package/dist/components/atoms/avatar/avatar.stories.d.ts.map +1 -0
  10. package/dist/components/atoms/avatar/index.d.ts +3 -0
  11. package/dist/components/atoms/avatar/index.d.ts.map +1 -0
  12. package/dist/components/atoms/avatar/index.js +7 -0
  13. package/dist/components/atoms/avatar/index.js.map +1 -0
  14. package/dist/components/atoms/checkbox/checkbox.d.ts +15 -0
  15. package/dist/components/atoms/checkbox/checkbox.d.ts.map +1 -0
  16. package/dist/components/atoms/checkbox/checkbox.js +44 -0
  17. package/dist/components/atoms/checkbox/checkbox.js.map +1 -0
  18. package/dist/components/atoms/checkbox/checkbox.stories.d.ts +11 -0
  19. package/dist/components/atoms/checkbox/checkbox.stories.d.ts.map +1 -0
  20. package/dist/components/atoms/checkbox/index.d.ts +3 -0
  21. package/dist/components/atoms/checkbox/index.d.ts.map +1 -0
  22. package/dist/components/atoms/checkbox/index.js +5 -0
  23. package/dist/components/atoms/checkbox/index.js.map +1 -0
  24. package/dist/components/atoms/index.d.ts +17 -0
  25. package/dist/components/atoms/index.d.ts.map +1 -0
  26. package/dist/components/atoms/index.js +17 -0
  27. package/dist/components/atoms/index.js.map +1 -0
  28. package/dist/components/atoms/input/index.d.ts +4 -0
  29. package/dist/components/atoms/input/index.d.ts.map +1 -0
  30. package/dist/components/atoms/input/index.js +9 -0
  31. package/dist/components/atoms/input/index.js.map +1 -0
  32. package/dist/components/atoms/input/input.d.ts +16 -0
  33. package/dist/components/atoms/input/input.d.ts.map +1 -0
  34. package/dist/components/atoms/input/input.js +45 -0
  35. package/dist/components/atoms/input/input.js.map +1 -0
  36. package/dist/components/atoms/input/input.stories.d.ts +13 -0
  37. package/dist/components/atoms/input/input.stories.d.ts.map +1 -0
  38. package/dist/components/atoms/input/input.type.d.ts +10 -0
  39. package/dist/components/atoms/input/input.type.d.ts.map +1 -0
  40. package/dist/components/atoms/input/input.type.js +16 -0
  41. package/dist/components/atoms/input/input.type.js.map +1 -0
  42. package/dist/components/atoms/kbd/index.d.ts +3 -0
  43. package/dist/components/atoms/kbd/index.d.ts.map +1 -0
  44. package/dist/components/atoms/kbd/index.js +5 -0
  45. package/dist/components/atoms/kbd/index.js.map +1 -0
  46. package/dist/components/atoms/kbd/kbd.d.ts +10 -0
  47. package/dist/components/atoms/kbd/kbd.d.ts.map +1 -0
  48. package/dist/components/atoms/kbd/kbd.js +21 -0
  49. package/dist/components/atoms/kbd/kbd.js.map +1 -0
  50. package/dist/components/atoms/kbd/kbd.stories.d.ts +9 -0
  51. package/dist/components/atoms/kbd/kbd.stories.d.ts.map +1 -0
  52. package/dist/components/atoms/label/index.d.ts +3 -0
  53. package/dist/components/atoms/label/index.d.ts.map +1 -0
  54. package/dist/components/atoms/label/index.js +5 -0
  55. package/dist/components/atoms/label/index.js.map +1 -0
  56. package/dist/components/atoms/label/label.d.ts +16 -0
  57. package/dist/components/atoms/label/label.d.ts.map +1 -0
  58. package/dist/components/atoms/label/label.js +28 -0
  59. package/dist/components/atoms/label/label.js.map +1 -0
  60. package/dist/components/atoms/label/label.stories.d.ts +9 -0
  61. package/dist/components/atoms/label/label.stories.d.ts.map +1 -0
  62. package/dist/components/atoms/popover/index.d.ts +2 -0
  63. package/dist/components/atoms/popover/index.d.ts.map +1 -0
  64. package/dist/components/atoms/popover/index.js +9 -0
  65. package/dist/components/atoms/popover/index.js.map +1 -0
  66. package/dist/components/atoms/popover/popover.d.ts +7 -0
  67. package/dist/components/atoms/popover/popover.d.ts.map +1 -0
  68. package/dist/components/atoms/popover/popover.js +31 -0
  69. package/dist/components/atoms/popover/popover.js.map +1 -0
  70. package/dist/components/atoms/popover/popover.stories.d.ts +7 -0
  71. package/dist/components/atoms/popover/popover.stories.d.ts.map +1 -0
  72. package/dist/components/atoms/radio-group/index.d.ts +3 -0
  73. package/dist/components/atoms/radio-group/index.d.ts.map +1 -0
  74. package/dist/components/atoms/radio-group/index.js +6 -0
  75. package/dist/components/atoms/radio-group/index.js.map +1 -0
  76. package/dist/components/atoms/radio-group/radio-group.d.ts +13 -0
  77. package/dist/components/atoms/radio-group/radio-group.d.ts.map +1 -0
  78. package/dist/components/atoms/radio-group/radio-group.js +30 -0
  79. package/dist/components/atoms/radio-group/radio-group.js.map +1 -0
  80. package/dist/components/atoms/radio-group/radio-group.stories.d.ts +7 -0
  81. package/dist/components/atoms/radio-group/radio-group.stories.d.ts.map +1 -0
  82. package/dist/components/atoms/separator/index.d.ts +3 -0
  83. package/dist/components/atoms/separator/index.d.ts.map +1 -0
  84. package/dist/components/atoms/separator/index.js +5 -0
  85. package/dist/components/atoms/separator/index.js.map +1 -0
  86. package/dist/components/atoms/separator/separator.d.ts +10 -0
  87. package/dist/components/atoms/separator/separator.d.ts.map +1 -0
  88. package/dist/components/atoms/separator/separator.js +26 -0
  89. package/dist/components/atoms/separator/separator.js.map +1 -0
  90. package/dist/components/atoms/separator/separator.stories.d.ts +8 -0
  91. package/dist/components/atoms/separator/separator.stories.d.ts.map +1 -0
  92. package/dist/components/atoms/skeleton/index.d.ts +3 -0
  93. package/dist/components/atoms/skeleton/index.d.ts.map +1 -0
  94. package/dist/components/atoms/skeleton/index.js +6 -0
  95. package/dist/components/atoms/skeleton/index.js.map +1 -0
  96. package/dist/components/atoms/skeleton/skeleton.d.ts +30 -0
  97. package/dist/components/atoms/skeleton/skeleton.d.ts.map +1 -0
  98. package/dist/components/atoms/skeleton/skeleton.js +53 -0
  99. package/dist/components/atoms/skeleton/skeleton.js.map +1 -0
  100. package/dist/components/atoms/skeleton/skeleton.stories.d.ts +10 -0
  101. package/dist/components/atoms/skeleton/skeleton.stories.d.ts.map +1 -0
  102. package/dist/components/atoms/spinner/index.d.ts +3 -0
  103. package/dist/components/atoms/spinner/index.d.ts.map +1 -0
  104. package/dist/components/atoms/spinner/index.js +5 -0
  105. package/dist/components/atoms/spinner/index.js.map +1 -0
  106. package/dist/components/atoms/spinner/spinner.d.ts +16 -0
  107. package/dist/components/atoms/spinner/spinner.d.ts.map +1 -0
  108. package/dist/components/atoms/spinner/spinner.js +43 -0
  109. package/dist/components/atoms/spinner/spinner.js.map +1 -0
  110. package/dist/components/atoms/spinner/spinner.stories.d.ts +9 -0
  111. package/dist/components/atoms/spinner/spinner.stories.d.ts.map +1 -0
  112. package/dist/components/atoms/switch/index.d.ts +3 -0
  113. package/dist/components/atoms/switch/index.d.ts.map +1 -0
  114. package/dist/components/atoms/switch/index.js +5 -0
  115. package/dist/components/atoms/switch/index.js.map +1 -0
  116. package/dist/components/atoms/switch/switch.d.ts +10 -0
  117. package/dist/components/atoms/switch/switch.d.ts.map +1 -0
  118. package/dist/components/atoms/switch/switch.js +35 -0
  119. package/dist/components/atoms/switch/switch.js.map +1 -0
  120. package/dist/components/atoms/tag/index.d.ts +4 -0
  121. package/dist/components/atoms/tag/index.d.ts.map +1 -0
  122. package/dist/components/atoms/tag/index.js +10 -0
  123. package/dist/components/atoms/tag/index.js.map +1 -0
  124. package/dist/components/atoms/tag/tag.d.ts +22 -0
  125. package/dist/components/atoms/tag/tag.d.ts.map +1 -0
  126. package/dist/components/atoms/tag/tag.js +50 -0
  127. package/dist/components/atoms/tag/tag.js.map +1 -0
  128. package/dist/components/atoms/tag/tag.stories.d.ts +9 -0
  129. package/dist/components/atoms/tag/tag.stories.d.ts.map +1 -0
  130. package/dist/components/atoms/tag/tag.type.d.ts +13 -0
  131. package/dist/components/atoms/tag/tag.type.d.ts.map +1 -0
  132. package/dist/components/atoms/tag/tag.type.js +19 -0
  133. package/dist/components/atoms/tag/tag.type.js.map +1 -0
  134. package/dist/components/atoms/textarea/index.d.ts +3 -0
  135. package/dist/components/atoms/textarea/index.d.ts.map +1 -0
  136. package/dist/components/atoms/textarea/index.js +6 -0
  137. package/dist/components/atoms/textarea/index.js.map +1 -0
  138. package/dist/components/atoms/textarea/textarea.d.ts +15 -0
  139. package/dist/components/atoms/textarea/textarea.d.ts.map +1 -0
  140. package/dist/components/atoms/textarea/textarea.js +43 -0
  141. package/dist/components/atoms/textarea/textarea.js.map +1 -0
  142. package/dist/components/atoms/textarea/textarea.stories.d.ts +11 -0
  143. package/dist/components/atoms/textarea/textarea.stories.d.ts.map +1 -0
  144. package/dist/components/atoms/toggle/index.d.ts +3 -0
  145. package/dist/components/atoms/toggle/index.d.ts.map +1 -0
  146. package/dist/components/atoms/toggle/index.js +5 -0
  147. package/dist/components/atoms/toggle/index.js.map +1 -0
  148. package/dist/components/atoms/toggle/toggle.d.ts +15 -0
  149. package/dist/components/atoms/toggle/toggle.d.ts.map +1 -0
  150. package/dist/components/atoms/toggle/toggle.js +44 -0
  151. package/dist/components/atoms/toggle/toggle.js.map +1 -0
  152. package/dist/components/atoms/toggle/toggle.stories.d.ts +10 -0
  153. package/dist/components/atoms/toggle/toggle.stories.d.ts.map +1 -0
  154. package/dist/components/atoms/typography/index.d.ts +3 -0
  155. package/dist/components/atoms/typography/index.d.ts.map +1 -0
  156. package/dist/components/atoms/typography/index.js +5 -0
  157. package/dist/components/atoms/typography/index.js.map +1 -0
  158. package/dist/components/atoms/typography/typography.d.ts +22 -0
  159. package/dist/components/atoms/typography/typography.d.ts.map +1 -0
  160. package/dist/components/atoms/typography/typography.js +55 -0
  161. package/dist/components/atoms/typography/typography.js.map +1 -0
  162. package/dist/components/atoms/typography/typography.stories.d.ts +8 -0
  163. package/dist/components/atoms/typography/typography.stories.d.ts.map +1 -0
  164. package/dist/components/atoms/visually-hidden/index.d.ts +3 -0
  165. package/dist/components/atoms/visually-hidden/index.d.ts.map +1 -0
  166. package/dist/components/atoms/visually-hidden/index.js +5 -0
  167. package/dist/components/atoms/visually-hidden/index.js.map +1 -0
  168. package/dist/components/atoms/visually-hidden/visually-hidden.d.ts +9 -0
  169. package/dist/components/atoms/visually-hidden/visually-hidden.d.ts.map +1 -0
  170. package/dist/components/atoms/visually-hidden/visually-hidden.js +10 -0
  171. package/dist/components/atoms/visually-hidden/visually-hidden.js.map +1 -0
  172. package/dist/components/atoms/visually-hidden/visually-hidden.stories.d.ts +6 -0
  173. package/dist/components/atoms/visually-hidden/visually-hidden.stories.d.ts.map +1 -0
  174. package/dist/components/index.d.ts +5 -0
  175. package/dist/components/index.d.ts.map +1 -0
  176. package/dist/components/index.js +5 -0
  177. package/dist/components/index.js.map +1 -0
  178. package/dist/components/molecules/accordion/accordion.d.ts +6 -0
  179. package/dist/components/molecules/accordion/accordion.d.ts.map +1 -0
  180. package/dist/components/molecules/accordion/accordion.js +52 -0
  181. package/dist/components/molecules/accordion/accordion.js.map +1 -0
  182. package/dist/components/molecules/accordion/accordion.stories.d.ts +7 -0
  183. package/dist/components/molecules/accordion/accordion.stories.d.ts.map +1 -0
  184. package/dist/components/molecules/accordion/index.d.ts +2 -0
  185. package/dist/components/molecules/accordion/index.d.ts.map +1 -0
  186. package/dist/components/molecules/accordion/index.js +8 -0
  187. package/dist/components/molecules/accordion/index.js.map +1 -0
  188. package/dist/components/molecules/alert/alert.d.ts +21 -0
  189. package/dist/components/molecules/alert/alert.d.ts.map +1 -0
  190. package/dist/components/molecules/alert/alert.js +70 -0
  191. package/dist/components/molecules/alert/alert.js.map +1 -0
  192. package/dist/components/molecules/alert/alert.stories.d.ts +12 -0
  193. package/dist/components/molecules/alert/alert.stories.d.ts.map +1 -0
  194. package/dist/components/molecules/alert/index.d.ts +3 -0
  195. package/dist/components/molecules/alert/index.d.ts.map +1 -0
  196. package/dist/components/molecules/alert/index.js +5 -0
  197. package/dist/components/molecules/alert/index.js.map +1 -0
  198. package/dist/components/molecules/breadcrumbs/breadcrumbs.d.ts +23 -0
  199. package/dist/components/molecules/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  200. package/dist/components/molecules/breadcrumbs/breadcrumbs.js +27 -0
  201. package/dist/components/molecules/breadcrumbs/breadcrumbs.js.map +1 -0
  202. package/dist/components/molecules/breadcrumbs/breadcrumbs.stories.d.ts +8 -0
  203. package/dist/components/molecules/breadcrumbs/breadcrumbs.stories.d.ts.map +1 -0
  204. package/dist/components/molecules/breadcrumbs/index.d.ts +3 -0
  205. package/dist/components/molecules/breadcrumbs/index.d.ts.map +1 -0
  206. package/dist/components/molecules/breadcrumbs/index.js +5 -0
  207. package/dist/components/molecules/breadcrumbs/index.js.map +1 -0
  208. package/dist/components/molecules/button/button.d.ts +26 -0
  209. package/dist/components/molecules/button/button.d.ts.map +1 -0
  210. package/dist/components/molecules/button/button.js +73 -0
  211. package/dist/components/molecules/button/button.js.map +1 -0
  212. package/dist/components/molecules/button/button.stories.d.ts +12 -0
  213. package/dist/components/molecules/button/button.stories.d.ts.map +1 -0
  214. package/dist/components/molecules/button/button.type.d.ts +15 -0
  215. package/dist/components/molecules/button/button.type.d.ts.map +1 -0
  216. package/dist/components/molecules/button/button.type.js +21 -0
  217. package/dist/components/molecules/button/button.type.js.map +1 -0
  218. package/dist/components/molecules/button/index.d.ts +4 -0
  219. package/dist/components/molecules/button/index.d.ts.map +1 -0
  220. package/dist/components/molecules/button/index.js +9 -0
  221. package/dist/components/molecules/button/index.js.map +1 -0
  222. package/dist/components/molecules/card/card.d.ts +19 -0
  223. package/dist/components/molecules/card/card.d.ts.map +1 -0
  224. package/dist/components/molecules/card/card.js +61 -0
  225. package/dist/components/molecules/card/card.js.map +1 -0
  226. package/dist/components/molecules/card/card.stories.d.ts +8 -0
  227. package/dist/components/molecules/card/card.stories.d.ts.map +1 -0
  228. package/dist/components/molecules/card/index.d.ts +3 -0
  229. package/dist/components/molecules/card/index.d.ts.map +1 -0
  230. package/dist/components/molecules/card/index.js +21 -0
  231. package/dist/components/molecules/card/index.js.map +1 -0
  232. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +21 -0
  233. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  234. package/dist/components/molecules/dropdown-menu/dropdown-menu.js +103 -0
  235. package/dist/components/molecules/dropdown-menu/dropdown-menu.js.map +1 -0
  236. package/dist/components/molecules/dropdown-menu/dropdown-menu.stories.d.ts +8 -0
  237. package/dist/components/molecules/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  238. package/dist/components/molecules/dropdown-menu/index.d.ts +3 -0
  239. package/dist/components/molecules/dropdown-menu/index.d.ts.map +1 -0
  240. package/dist/components/molecules/dropdown-menu/index.js +35 -0
  241. package/dist/components/molecules/dropdown-menu/index.js.map +1 -0
  242. package/dist/components/molecules/empty-state/empty-state.d.ts +19 -0
  243. package/dist/components/molecules/empty-state/empty-state.d.ts.map +1 -0
  244. package/dist/components/molecules/empty-state/empty-state.js +41 -0
  245. package/dist/components/molecules/empty-state/empty-state.js.map +1 -0
  246. package/dist/components/molecules/empty-state/empty-state.stories.d.ts +9 -0
  247. package/dist/components/molecules/empty-state/empty-state.stories.d.ts.map +1 -0
  248. package/dist/components/molecules/empty-state/index.d.ts +3 -0
  249. package/dist/components/molecules/empty-state/index.d.ts.map +1 -0
  250. package/dist/components/molecules/empty-state/index.js +6 -0
  251. package/dist/components/molecules/empty-state/index.js.map +1 -0
  252. package/dist/components/molecules/form/form.d.ts +98 -0
  253. package/dist/components/molecules/form/form.d.ts.map +1 -0
  254. package/dist/components/molecules/form/form.js +151 -0
  255. package/dist/components/molecules/form/form.js.map +1 -0
  256. package/dist/components/molecules/form/form.stories.d.ts +6 -0
  257. package/dist/components/molecules/form/form.stories.d.ts.map +1 -0
  258. package/dist/components/molecules/form/form.test.d.ts +2 -0
  259. package/dist/components/molecules/form/form.test.d.ts.map +1 -0
  260. package/dist/components/molecules/form/index.d.ts +3 -0
  261. package/dist/components/molecules/form/index.d.ts.map +1 -0
  262. package/dist/components/molecules/form/index.js +7 -0
  263. package/dist/components/molecules/form/index.js.map +1 -0
  264. package/dist/components/molecules/form-field/form-field.d.ts +16 -0
  265. package/dist/components/molecules/form-field/form-field.d.ts.map +1 -0
  266. package/dist/components/molecules/form-field/form-field.js +34 -0
  267. package/dist/components/molecules/form-field/form-field.js.map +1 -0
  268. package/dist/components/molecules/form-field/form-field.stories.d.ts +9 -0
  269. package/dist/components/molecules/form-field/form-field.stories.d.ts.map +1 -0
  270. package/dist/components/molecules/form-field/index.d.ts +3 -0
  271. package/dist/components/molecules/form-field/index.d.ts.map +1 -0
  272. package/dist/components/molecules/form-field/index.js +5 -0
  273. package/dist/components/molecules/form-field/index.js.map +1 -0
  274. package/dist/components/molecules/index.d.ts +29 -0
  275. package/dist/components/molecules/index.d.ts.map +1 -0
  276. package/dist/components/molecules/index.js +29 -0
  277. package/dist/components/molecules/index.js.map +1 -0
  278. package/dist/components/molecules/labeled-switch/index.d.ts +2 -0
  279. package/dist/components/molecules/labeled-switch/index.d.ts.map +1 -0
  280. package/dist/components/molecules/labeled-switch/index.js +2 -0
  281. package/dist/components/molecules/labeled-switch/index.js.map +1 -0
  282. package/dist/components/molecules/labeled-switch/labeled-switch.d.ts +14 -0
  283. package/dist/components/molecules/labeled-switch/labeled-switch.d.ts.map +1 -0
  284. package/dist/components/molecules/labeled-switch/labeled-switch.js +26 -0
  285. package/dist/components/molecules/labeled-switch/labeled-switch.js.map +1 -0
  286. package/dist/components/molecules/language-toggle/index.d.ts +3 -0
  287. package/dist/components/molecules/language-toggle/index.d.ts.map +1 -0
  288. package/dist/components/molecules/language-toggle/index.js +5 -0
  289. package/dist/components/molecules/language-toggle/index.js.map +1 -0
  290. package/dist/components/molecules/language-toggle/language-toggle.d.ts +18 -0
  291. package/dist/components/molecules/language-toggle/language-toggle.d.ts.map +1 -0
  292. package/dist/components/molecules/language-toggle/language-toggle.js +27 -0
  293. package/dist/components/molecules/language-toggle/language-toggle.js.map +1 -0
  294. package/dist/components/molecules/language-toggle/language-toggle.stories.d.ts +9 -0
  295. package/dist/components/molecules/language-toggle/language-toggle.stories.d.ts.map +1 -0
  296. package/dist/components/molecules/multi-toggle/index.d.ts +3 -0
  297. package/dist/components/molecules/multi-toggle/index.d.ts.map +1 -0
  298. package/dist/components/molecules/multi-toggle/index.js +5 -0
  299. package/dist/components/molecules/multi-toggle/index.js.map +1 -0
  300. package/dist/components/molecules/multi-toggle/multi-toggle.d.ts +26 -0
  301. package/dist/components/molecules/multi-toggle/multi-toggle.d.ts.map +1 -0
  302. package/dist/components/molecules/multi-toggle/multi-toggle.js +75 -0
  303. package/dist/components/molecules/multi-toggle/multi-toggle.js.map +1 -0
  304. package/dist/components/molecules/multi-toggle/multi-toggle.stories.d.ts +9 -0
  305. package/dist/components/molecules/multi-toggle/multi-toggle.stories.d.ts.map +1 -0
  306. package/dist/components/molecules/number-input/index.d.ts +2 -0
  307. package/dist/components/molecules/number-input/index.d.ts.map +1 -0
  308. package/dist/components/molecules/number-input/index.js +5 -0
  309. package/dist/components/molecules/number-input/index.js.map +1 -0
  310. package/dist/components/molecules/number-input/number-input.d.ts +22 -0
  311. package/dist/components/molecules/number-input/number-input.d.ts.map +1 -0
  312. package/dist/components/molecules/number-input/number-input.js +115 -0
  313. package/dist/components/molecules/number-input/number-input.js.map +1 -0
  314. package/dist/components/molecules/number-input/number-input.stories.d.ts +10 -0
  315. package/dist/components/molecules/number-input/number-input.stories.d.ts.map +1 -0
  316. package/dist/components/molecules/number-input/number-input.test.d.ts +2 -0
  317. package/dist/components/molecules/number-input/number-input.test.d.ts.map +1 -0
  318. package/dist/components/molecules/otp-input/index.d.ts +2 -0
  319. package/dist/components/molecules/otp-input/index.d.ts.map +1 -0
  320. package/dist/components/molecules/otp-input/index.js +5 -0
  321. package/dist/components/molecules/otp-input/index.js.map +1 -0
  322. package/dist/components/molecules/otp-input/otp-input.d.ts +27 -0
  323. package/dist/components/molecules/otp-input/otp-input.d.ts.map +1 -0
  324. package/dist/components/molecules/otp-input/otp-input.js +134 -0
  325. package/dist/components/molecules/otp-input/otp-input.js.map +1 -0
  326. package/dist/components/molecules/otp-input/otp-input.stories.d.ts +10 -0
  327. package/dist/components/molecules/otp-input/otp-input.stories.d.ts.map +1 -0
  328. package/dist/components/molecules/otp-input/otp-input.test.d.ts +2 -0
  329. package/dist/components/molecules/otp-input/otp-input.test.d.ts.map +1 -0
  330. package/dist/components/molecules/page-header/index.d.ts +2 -0
  331. package/dist/components/molecules/page-header/index.d.ts.map +1 -0
  332. package/dist/components/molecules/page-header/index.js +2 -0
  333. package/dist/components/molecules/page-header/index.js.map +1 -0
  334. package/dist/components/molecules/page-header/page-header.d.ts +12 -0
  335. package/dist/components/molecules/page-header/page-header.d.ts.map +1 -0
  336. package/dist/components/molecules/page-header/page-header.js +18 -0
  337. package/dist/components/molecules/page-header/page-header.js.map +1 -0
  338. package/dist/components/molecules/pagination/index.d.ts +3 -0
  339. package/dist/components/molecules/pagination/index.d.ts.map +1 -0
  340. package/dist/components/molecules/pagination/index.js +5 -0
  341. package/dist/components/molecules/pagination/index.js.map +1 -0
  342. package/dist/components/molecules/pagination/pagination.d.ts +19 -0
  343. package/dist/components/molecules/pagination/pagination.d.ts.map +1 -0
  344. package/dist/components/molecules/pagination/pagination.js +45 -0
  345. package/dist/components/molecules/pagination/pagination.js.map +1 -0
  346. package/dist/components/molecules/pagination/pagination.stories.d.ts +11 -0
  347. package/dist/components/molecules/pagination/pagination.stories.d.ts.map +1 -0
  348. package/dist/components/molecules/progress/index.d.ts +3 -0
  349. package/dist/components/molecules/progress/index.d.ts.map +1 -0
  350. package/dist/components/molecules/progress/index.js +5 -0
  351. package/dist/components/molecules/progress/index.js.map +1 -0
  352. package/dist/components/molecules/progress/progress.d.ts +20 -0
  353. package/dist/components/molecules/progress/progress.d.ts.map +1 -0
  354. package/dist/components/molecules/progress/progress.js +63 -0
  355. package/dist/components/molecules/progress/progress.js.map +1 -0
  356. package/dist/components/molecules/progress/progress.stories.d.ts +12 -0
  357. package/dist/components/molecules/progress/progress.stories.d.ts.map +1 -0
  358. package/dist/components/molecules/query-state/index.d.ts +2 -0
  359. package/dist/components/molecules/query-state/index.d.ts.map +1 -0
  360. package/dist/components/molecules/query-state/index.js +2 -0
  361. package/dist/components/molecules/query-state/index.js.map +1 -0
  362. package/dist/components/molecules/query-state/query-state.d.ts +18 -0
  363. package/dist/components/molecules/query-state/query-state.d.ts.map +1 -0
  364. package/dist/components/molecules/query-state/query-state.js +54 -0
  365. package/dist/components/molecules/query-state/query-state.js.map +1 -0
  366. package/dist/components/molecules/search-input/index.d.ts +2 -0
  367. package/dist/components/molecules/search-input/index.d.ts.map +1 -0
  368. package/dist/components/molecules/search-input/index.js +5 -0
  369. package/dist/components/molecules/search-input/index.js.map +1 -0
  370. package/dist/components/molecules/search-input/search-input.d.ts +22 -0
  371. package/dist/components/molecules/search-input/search-input.d.ts.map +1 -0
  372. package/dist/components/molecules/search-input/search-input.js +127 -0
  373. package/dist/components/molecules/search-input/search-input.js.map +1 -0
  374. package/dist/components/molecules/search-input/search-input.stories.d.ts +9 -0
  375. package/dist/components/molecules/search-input/search-input.stories.d.ts.map +1 -0
  376. package/dist/components/molecules/search-input/search-input.test.d.ts +2 -0
  377. package/dist/components/molecules/search-input/search-input.test.d.ts.map +1 -0
  378. package/dist/components/molecules/signal-card/index.d.ts +3 -0
  379. package/dist/components/molecules/signal-card/index.d.ts.map +1 -0
  380. package/dist/components/molecules/signal-card/index.js +5 -0
  381. package/dist/components/molecules/signal-card/index.js.map +1 -0
  382. package/dist/components/molecules/signal-card/signal-card.d.ts +32 -0
  383. package/dist/components/molecules/signal-card/signal-card.d.ts.map +1 -0
  384. package/dist/components/molecules/signal-card/signal-card.js +80 -0
  385. package/dist/components/molecules/signal-card/signal-card.js.map +1 -0
  386. package/dist/components/molecules/signal-card/signal-card.stories.d.ts +9 -0
  387. package/dist/components/molecules/signal-card/signal-card.stories.d.ts.map +1 -0
  388. package/dist/components/molecules/signal-severity-badge/index.d.ts +4 -0
  389. package/dist/components/molecules/signal-severity-badge/index.d.ts.map +1 -0
  390. package/dist/components/molecules/signal-severity-badge/index.js +7 -0
  391. package/dist/components/molecules/signal-severity-badge/index.js.map +1 -0
  392. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.d.ts +19 -0
  393. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.d.ts.map +1 -0
  394. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.js +49 -0
  395. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.js.map +1 -0
  396. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.stories.d.ts +9 -0
  397. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.stories.d.ts.map +1 -0
  398. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.d.ts +7 -0
  399. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.d.ts.map +1 -0
  400. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.js +11 -0
  401. package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.js.map +1 -0
  402. package/dist/components/molecules/stat-grid/index.d.ts +2 -0
  403. package/dist/components/molecules/stat-grid/index.d.ts.map +1 -0
  404. package/dist/components/molecules/stat-grid/index.js +2 -0
  405. package/dist/components/molecules/stat-grid/index.js.map +1 -0
  406. package/dist/components/molecules/stat-grid/stat-grid.d.ts +15 -0
  407. package/dist/components/molecules/stat-grid/stat-grid.d.ts.map +1 -0
  408. package/dist/components/molecules/stat-grid/stat-grid.js +19 -0
  409. package/dist/components/molecules/stat-grid/stat-grid.js.map +1 -0
  410. package/dist/components/molecules/summary-header/index.d.ts +3 -0
  411. package/dist/components/molecules/summary-header/index.d.ts.map +1 -0
  412. package/dist/components/molecules/summary-header/index.js +5 -0
  413. package/dist/components/molecules/summary-header/index.js.map +1 -0
  414. package/dist/components/molecules/summary-header/summary-header.d.ts +23 -0
  415. package/dist/components/molecules/summary-header/summary-header.d.ts.map +1 -0
  416. package/dist/components/molecules/summary-header/summary-header.js +57 -0
  417. package/dist/components/molecules/summary-header/summary-header.js.map +1 -0
  418. package/dist/components/molecules/summary-header/summary-header.stories.d.ts +8 -0
  419. package/dist/components/molecules/summary-header/summary-header.stories.d.ts.map +1 -0
  420. package/dist/components/molecules/tabs/index.d.ts +2 -0
  421. package/dist/components/molecules/tabs/index.d.ts.map +1 -0
  422. package/dist/components/molecules/tabs/index.js +8 -0
  423. package/dist/components/molecules/tabs/index.js.map +1 -0
  424. package/dist/components/molecules/tabs/tabs.d.ts +6 -0
  425. package/dist/components/molecules/tabs/tabs.d.ts.map +1 -0
  426. package/dist/components/molecules/tabs/tabs.js +46 -0
  427. package/dist/components/molecules/tabs/tabs.js.map +1 -0
  428. package/dist/components/molecules/tabs/tabs.stories.d.ts +7 -0
  429. package/dist/components/molecules/tabs/tabs.stories.d.ts.map +1 -0
  430. package/dist/components/molecules/tag-input/index.d.ts +2 -0
  431. package/dist/components/molecules/tag-input/index.d.ts.map +1 -0
  432. package/dist/components/molecules/tag-input/index.js +5 -0
  433. package/dist/components/molecules/tag-input/index.js.map +1 -0
  434. package/dist/components/molecules/tag-input/tag-input.d.ts +27 -0
  435. package/dist/components/molecules/tag-input/tag-input.d.ts.map +1 -0
  436. package/dist/components/molecules/tag-input/tag-input.js +143 -0
  437. package/dist/components/molecules/tag-input/tag-input.js.map +1 -0
  438. package/dist/components/molecules/tag-input/tag-input.stories.d.ts +10 -0
  439. package/dist/components/molecules/tag-input/tag-input.stories.d.ts.map +1 -0
  440. package/dist/components/molecules/tag-input/tag-input.test.d.ts +2 -0
  441. package/dist/components/molecules/tag-input/tag-input.test.d.ts.map +1 -0
  442. package/dist/components/molecules/text-artifact-card/index.d.ts +2 -0
  443. package/dist/components/molecules/text-artifact-card/index.d.ts.map +1 -0
  444. package/dist/components/molecules/text-artifact-card/index.js +2 -0
  445. package/dist/components/molecules/text-artifact-card/index.js.map +1 -0
  446. package/dist/components/molecules/text-artifact-card/text-artifact-card.d.ts +16 -0
  447. package/dist/components/molecules/text-artifact-card/text-artifact-card.d.ts.map +1 -0
  448. package/dist/components/molecules/text-artifact-card/text-artifact-card.js +49 -0
  449. package/dist/components/molecules/text-artifact-card/text-artifact-card.js.map +1 -0
  450. package/dist/components/molecules/theme-toggle/index.d.ts +6 -0
  451. package/dist/components/molecules/theme-toggle/index.d.ts.map +1 -0
  452. package/dist/components/molecules/theme-toggle/index.js +10 -0
  453. package/dist/components/molecules/theme-toggle/index.js.map +1 -0
  454. package/dist/components/molecules/theme-toggle/theme-toggle-connected.d.ts +10 -0
  455. package/dist/components/molecules/theme-toggle/theme-toggle-connected.d.ts.map +1 -0
  456. package/dist/components/molecules/theme-toggle/theme-toggle-connected.js +12 -0
  457. package/dist/components/molecules/theme-toggle/theme-toggle-connected.js.map +1 -0
  458. package/dist/components/molecules/theme-toggle/theme-toggle.d.ts +19 -0
  459. package/dist/components/molecules/theme-toggle/theme-toggle.d.ts.map +1 -0
  460. package/dist/components/molecules/theme-toggle/theme-toggle.js +100 -0
  461. package/dist/components/molecules/theme-toggle/theme-toggle.js.map +1 -0
  462. package/dist/components/molecules/theme-toggle/theme-toggle.stories.d.ts +10 -0
  463. package/dist/components/molecules/theme-toggle/theme-toggle.stories.d.ts.map +1 -0
  464. package/dist/components/molecules/theme-toggle/theme-toggle.type.d.ts +11 -0
  465. package/dist/components/molecules/theme-toggle/theme-toggle.type.d.ts.map +1 -0
  466. package/dist/components/molecules/theme-toggle/theme-toggle.type.js +17 -0
  467. package/dist/components/molecules/theme-toggle/theme-toggle.type.js.map +1 -0
  468. package/dist/components/molecules/tooltip/index.d.ts +3 -0
  469. package/dist/components/molecules/tooltip/index.d.ts.map +1 -0
  470. package/dist/components/molecules/tooltip/index.js +19 -0
  471. package/dist/components/molecules/tooltip/index.js.map +1 -0
  472. package/dist/components/molecules/tooltip/tooltip.d.ts +27 -0
  473. package/dist/components/molecules/tooltip/tooltip.d.ts.map +1 -0
  474. package/dist/components/molecules/tooltip/tooltip.js +39 -0
  475. package/dist/components/molecules/tooltip/tooltip.js.map +1 -0
  476. package/dist/components/molecules/tooltip/tooltip.stories.d.ts +8 -0
  477. package/dist/components/molecules/tooltip/tooltip.stories.d.ts.map +1 -0
  478. package/dist/components/organisms/app-shell/app-shell-layout.d.ts +23 -0
  479. package/dist/components/organisms/app-shell/app-shell-layout.d.ts.map +1 -0
  480. package/dist/components/organisms/app-shell/app-shell-layout.js +46 -0
  481. package/dist/components/organisms/app-shell/app-shell-layout.js.map +1 -0
  482. package/dist/components/organisms/app-shell/app-shell-preset.d.ts +44 -0
  483. package/dist/components/organisms/app-shell/app-shell-preset.d.ts.map +1 -0
  484. package/dist/components/organisms/app-shell/app-shell-preset.js +137 -0
  485. package/dist/components/organisms/app-shell/app-shell-preset.js.map +1 -0
  486. package/dist/components/organisms/app-shell/app-shell.stories.d.ts +9 -0
  487. package/dist/components/organisms/app-shell/app-shell.stories.d.ts.map +1 -0
  488. package/dist/components/organisms/app-shell/index.d.ts +9 -0
  489. package/dist/components/organisms/app-shell/index.d.ts.map +1 -0
  490. package/dist/components/organisms/app-shell/index.js +11 -0
  491. package/dist/components/organisms/app-shell/index.js.map +1 -0
  492. package/dist/components/organisms/app-shell/module-subnav.d.ts +21 -0
  493. package/dist/components/organisms/app-shell/module-subnav.d.ts.map +1 -0
  494. package/dist/components/organisms/app-shell/module-subnav.js +33 -0
  495. package/dist/components/organisms/app-shell/module-subnav.js.map +1 -0
  496. package/dist/components/organisms/app-shell/module-subnav.stories.d.ts +8 -0
  497. package/dist/components/organisms/app-shell/module-subnav.stories.d.ts.map +1 -0
  498. package/dist/components/organisms/app-shell/module-subnav.test.d.ts +2 -0
  499. package/dist/components/organisms/app-shell/module-subnav.test.d.ts.map +1 -0
  500. package/dist/components/organisms/app-shell/sidebar-nav.d.ts +21 -0
  501. package/dist/components/organisms/app-shell/sidebar-nav.d.ts.map +1 -0
  502. package/dist/components/organisms/app-shell/sidebar-nav.js +25 -0
  503. package/dist/components/organisms/app-shell/sidebar-nav.js.map +1 -0
  504. package/dist/components/organisms/app-shell/sidebar-nav.stories.d.ts +7 -0
  505. package/dist/components/organisms/app-shell/sidebar-nav.stories.d.ts.map +1 -0
  506. package/dist/components/organisms/app-shell/sidebar-nav.test.d.ts +2 -0
  507. package/dist/components/organisms/app-shell/sidebar-nav.test.d.ts.map +1 -0
  508. package/dist/components/organisms/autocomplete/autocomplete.d.ts +43 -0
  509. package/dist/components/organisms/autocomplete/autocomplete.d.ts.map +1 -0
  510. package/dist/components/organisms/autocomplete/autocomplete.js +276 -0
  511. package/dist/components/organisms/autocomplete/autocomplete.js.map +1 -0
  512. package/dist/components/organisms/autocomplete/autocomplete.stories.d.ts +14 -0
  513. package/dist/components/organisms/autocomplete/autocomplete.stories.d.ts.map +1 -0
  514. package/dist/components/organisms/autocomplete/index.d.ts +3 -0
  515. package/dist/components/organisms/autocomplete/index.d.ts.map +1 -0
  516. package/dist/components/organisms/autocomplete/index.js +5 -0
  517. package/dist/components/organisms/autocomplete/index.js.map +1 -0
  518. package/dist/components/organisms/charts/bar-chart.d.ts +24 -0
  519. package/dist/components/organisms/charts/bar-chart.d.ts.map +1 -0
  520. package/dist/components/organisms/charts/bar-chart.js +83 -0
  521. package/dist/components/organisms/charts/bar-chart.js.map +1 -0
  522. package/dist/components/organisms/charts/charts.stories.d.ts +8 -0
  523. package/dist/components/organisms/charts/charts.stories.d.ts.map +1 -0
  524. package/dist/components/organisms/charts/index.d.ts +7 -0
  525. package/dist/components/organisms/charts/index.d.ts.map +1 -0
  526. package/dist/components/organisms/charts/index.js +9 -0
  527. package/dist/components/organisms/charts/index.js.map +1 -0
  528. package/dist/components/organisms/charts/line-chart.d.ts +27 -0
  529. package/dist/components/organisms/charts/line-chart.d.ts.map +1 -0
  530. package/dist/components/organisms/charts/line-chart.js +114 -0
  531. package/dist/components/organisms/charts/line-chart.js.map +1 -0
  532. package/dist/components/organisms/charts/sparkline.d.ts +19 -0
  533. package/dist/components/organisms/charts/sparkline.d.ts.map +1 -0
  534. package/dist/components/organisms/charts/sparkline.js +52 -0
  535. package/dist/components/organisms/charts/sparkline.js.map +1 -0
  536. package/dist/components/organisms/command-palette/command-palette.d.ts +94 -0
  537. package/dist/components/organisms/command-palette/command-palette.d.ts.map +1 -0
  538. package/dist/components/organisms/command-palette/command-palette.js +143 -0
  539. package/dist/components/organisms/command-palette/command-palette.js.map +1 -0
  540. package/dist/components/organisms/command-palette/command-palette.stories.d.ts +8 -0
  541. package/dist/components/organisms/command-palette/command-palette.stories.d.ts.map +1 -0
  542. package/dist/components/organisms/command-palette/index.d.ts +2 -0
  543. package/dist/components/organisms/command-palette/index.d.ts.map +1 -0
  544. package/dist/components/organisms/command-palette/index.js +23 -0
  545. package/dist/components/organisms/command-palette/index.js.map +1 -0
  546. package/dist/components/organisms/custom-select/custom-select.d.ts +18 -0
  547. package/dist/components/organisms/custom-select/custom-select.d.ts.map +1 -0
  548. package/dist/components/organisms/custom-select/custom-select.js +69 -0
  549. package/dist/components/organisms/custom-select/custom-select.js.map +1 -0
  550. package/dist/components/organisms/custom-select/index.d.ts +3 -0
  551. package/dist/components/organisms/custom-select/index.d.ts.map +1 -0
  552. package/dist/components/organisms/custom-select/index.js +5 -0
  553. package/dist/components/organisms/custom-select/index.js.map +1 -0
  554. package/dist/components/organisms/data-grid/data-grid.d.ts +74 -0
  555. package/dist/components/organisms/data-grid/data-grid.d.ts.map +1 -0
  556. package/dist/components/organisms/data-grid/data-grid.js +289 -0
  557. package/dist/components/organisms/data-grid/data-grid.js.map +1 -0
  558. package/dist/components/organisms/data-grid/data-grid.stories.d.ts +19 -0
  559. package/dist/components/organisms/data-grid/data-grid.stories.d.ts.map +1 -0
  560. package/dist/components/organisms/data-grid/data-grid.type.d.ts +10 -0
  561. package/dist/components/organisms/data-grid/data-grid.type.d.ts.map +1 -0
  562. package/dist/components/organisms/data-grid/data-grid.type.js +16 -0
  563. package/dist/components/organisms/data-grid/data-grid.type.js.map +1 -0
  564. package/dist/components/organisms/data-grid/index.d.ts +4 -0
  565. package/dist/components/organisms/data-grid/index.d.ts.map +1 -0
  566. package/dist/components/organisms/data-grid/index.js +8 -0
  567. package/dist/components/organisms/data-grid/index.js.map +1 -0
  568. package/dist/components/organisms/date-picker/calendar.d.ts +16 -0
  569. package/dist/components/organisms/date-picker/calendar.d.ts.map +1 -0
  570. package/dist/components/organisms/date-picker/calendar.js +60 -0
  571. package/dist/components/organisms/date-picker/calendar.js.map +1 -0
  572. package/dist/components/organisms/date-picker/date-picker.d.ts +35 -0
  573. package/dist/components/organisms/date-picker/date-picker.d.ts.map +1 -0
  574. package/dist/components/organisms/date-picker/date-picker.js +110 -0
  575. package/dist/components/organisms/date-picker/date-picker.js.map +1 -0
  576. package/dist/components/organisms/date-picker/date-picker.stories.d.ts +8 -0
  577. package/dist/components/organisms/date-picker/date-picker.stories.d.ts.map +1 -0
  578. package/dist/components/organisms/date-picker/index.d.ts +5 -0
  579. package/dist/components/organisms/date-picker/index.d.ts.map +1 -0
  580. package/dist/components/organisms/date-picker/index.js +8 -0
  581. package/dist/components/organisms/date-picker/index.js.map +1 -0
  582. package/dist/components/organisms/drawer/drawer.d.ts +55 -0
  583. package/dist/components/organisms/drawer/drawer.d.ts.map +1 -0
  584. package/dist/components/organisms/drawer/drawer.js +137 -0
  585. package/dist/components/organisms/drawer/drawer.js.map +1 -0
  586. package/dist/components/organisms/drawer/drawer.stories.d.ts +9 -0
  587. package/dist/components/organisms/drawer/drawer.stories.d.ts.map +1 -0
  588. package/dist/components/organisms/drawer/index.d.ts +3 -0
  589. package/dist/components/organisms/drawer/index.d.ts.map +1 -0
  590. package/dist/components/organisms/drawer/index.js +29 -0
  591. package/dist/components/organisms/drawer/index.js.map +1 -0
  592. package/dist/components/organisms/file-upload/file-upload.d.ts +38 -0
  593. package/dist/components/organisms/file-upload/file-upload.d.ts.map +1 -0
  594. package/dist/components/organisms/file-upload/file-upload.js +192 -0
  595. package/dist/components/organisms/file-upload/file-upload.js.map +1 -0
  596. package/dist/components/organisms/file-upload/file-upload.stories.d.ts +10 -0
  597. package/dist/components/organisms/file-upload/file-upload.stories.d.ts.map +1 -0
  598. package/dist/components/organisms/file-upload/index.d.ts +2 -0
  599. package/dist/components/organisms/file-upload/index.d.ts.map +1 -0
  600. package/dist/components/organisms/file-upload/index.js +5 -0
  601. package/dist/components/organisms/file-upload/index.js.map +1 -0
  602. package/dist/components/organisms/index.d.ts +15 -0
  603. package/dist/components/organisms/index.d.ts.map +1 -0
  604. package/dist/components/organisms/index.js +15 -0
  605. package/dist/components/organisms/index.js.map +1 -0
  606. package/dist/components/organisms/modal/index.d.ts +3 -0
  607. package/dist/components/organisms/modal/index.d.ts.map +1 -0
  608. package/dist/components/organisms/modal/index.js +27 -0
  609. package/dist/components/organisms/modal/index.js.map +1 -0
  610. package/dist/components/organisms/modal/modal.d.ts +38 -0
  611. package/dist/components/organisms/modal/modal.d.ts.map +1 -0
  612. package/dist/components/organisms/modal/modal.js +100 -0
  613. package/dist/components/organisms/modal/modal.js.map +1 -0
  614. package/dist/components/organisms/modal/modal.stories.d.ts +8 -0
  615. package/dist/components/organisms/modal/modal.stories.d.ts.map +1 -0
  616. package/dist/components/organisms/page-scaffolds/full-page-error.d.ts +22 -0
  617. package/dist/components/organisms/page-scaffolds/full-page-error.d.ts.map +1 -0
  618. package/dist/components/organisms/page-scaffolds/full-page-error.js +75 -0
  619. package/dist/components/organisms/page-scaffolds/full-page-error.js.map +1 -0
  620. package/dist/components/organisms/page-scaffolds/full-page-loading.d.ts +13 -0
  621. package/dist/components/organisms/page-scaffolds/full-page-loading.d.ts.map +1 -0
  622. package/dist/components/organisms/page-scaffolds/full-page-loading.js +30 -0
  623. package/dist/components/organisms/page-scaffolds/full-page-loading.js.map +1 -0
  624. package/dist/components/organisms/page-scaffolds/index.d.ts +4 -0
  625. package/dist/components/organisms/page-scaffolds/index.d.ts.map +1 -0
  626. package/dist/components/organisms/page-scaffolds/index.js +15 -0
  627. package/dist/components/organisms/page-scaffolds/index.js.map +1 -0
  628. package/dist/components/organisms/page-scaffolds/not-found-state.d.ts +17 -0
  629. package/dist/components/organisms/page-scaffolds/not-found-state.d.ts.map +1 -0
  630. package/dist/components/organisms/page-scaffolds/not-found-state.js +43 -0
  631. package/dist/components/organisms/page-scaffolds/not-found-state.js.map +1 -0
  632. package/dist/components/organisms/page-scaffolds/page-scaffolds.stories.d.ts +8 -0
  633. package/dist/components/organisms/page-scaffolds/page-scaffolds.stories.d.ts.map +1 -0
  634. package/dist/components/organisms/paginated-data-grid/index.d.ts +2 -0
  635. package/dist/components/organisms/paginated-data-grid/index.d.ts.map +1 -0
  636. package/dist/components/organisms/paginated-data-grid/index.js +7 -0
  637. package/dist/components/organisms/paginated-data-grid/index.js.map +1 -0
  638. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.d.ts +24 -0
  639. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.d.ts.map +1 -0
  640. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.js +40 -0
  641. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.js.map +1 -0
  642. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.stories.d.ts +14 -0
  643. package/dist/components/organisms/paginated-data-grid/paginated-data-grid.stories.d.ts.map +1 -0
  644. package/dist/components/organisms/select/index.d.ts +2 -0
  645. package/dist/components/organisms/select/index.d.ts.map +1 -0
  646. package/dist/components/organisms/select/index.js +21 -0
  647. package/dist/components/organisms/select/index.js.map +1 -0
  648. package/dist/components/organisms/select/select.d.ts +10 -0
  649. package/dist/components/organisms/select/select.d.ts.map +1 -0
  650. package/dist/components/organisms/select/select.js +85 -0
  651. package/dist/components/organisms/select/select.js.map +1 -0
  652. package/dist/components/organisms/select/select.stories.d.ts +8 -0
  653. package/dist/components/organisms/select/select.stories.d.ts.map +1 -0
  654. package/dist/components/organisms/shortcut-help-overlay/index.d.ts +3 -0
  655. package/dist/components/organisms/shortcut-help-overlay/index.d.ts.map +1 -0
  656. package/dist/components/organisms/shortcut-help-overlay/index.js +5 -0
  657. package/dist/components/organisms/shortcut-help-overlay/index.js.map +1 -0
  658. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.d.ts +21 -0
  659. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.d.ts.map +1 -0
  660. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.js +70 -0
  661. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.js.map +1 -0
  662. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.stories.d.ts +7 -0
  663. package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.stories.d.ts.map +1 -0
  664. package/dist/components/utility-wrappers/index.d.ts +8 -0
  665. package/dist/components/utility-wrappers/index.d.ts.map +1 -0
  666. package/dist/components/utility-wrappers/index.js +8 -0
  667. package/dist/components/utility-wrappers/index.js.map +1 -0
  668. package/dist/components/utility-wrappers/install-prompt/index.d.ts +3 -0
  669. package/dist/components/utility-wrappers/install-prompt/index.d.ts.map +1 -0
  670. package/dist/components/utility-wrappers/install-prompt/index.js +5 -0
  671. package/dist/components/utility-wrappers/install-prompt/index.js.map +1 -0
  672. package/dist/components/utility-wrappers/install-prompt/install-prompt.d.ts +21 -0
  673. package/dist/components/utility-wrappers/install-prompt/install-prompt.d.ts.map +1 -0
  674. package/dist/components/utility-wrappers/install-prompt/install-prompt.js +82 -0
  675. package/dist/components/utility-wrappers/install-prompt/install-prompt.js.map +1 -0
  676. package/dist/components/utility-wrappers/locale-sync/index.d.ts +3 -0
  677. package/dist/components/utility-wrappers/locale-sync/index.d.ts.map +1 -0
  678. package/dist/components/utility-wrappers/locale-sync/index.js +5 -0
  679. package/dist/components/utility-wrappers/locale-sync/index.js.map +1 -0
  680. package/dist/components/utility-wrappers/locale-sync/locale-sync.d.ts +12 -0
  681. package/dist/components/utility-wrappers/locale-sync/locale-sync.d.ts.map +1 -0
  682. package/dist/components/utility-wrappers/locale-sync/locale-sync.js +15 -0
  683. package/dist/components/utility-wrappers/locale-sync/locale-sync.js.map +1 -0
  684. package/dist/components/utility-wrappers/query-provider/index.d.ts +3 -0
  685. package/dist/components/utility-wrappers/query-provider/index.d.ts.map +1 -0
  686. package/dist/components/utility-wrappers/query-provider/index.js +5 -0
  687. package/dist/components/utility-wrappers/query-provider/index.js.map +1 -0
  688. package/dist/components/utility-wrappers/query-provider/query-provider.d.ts +14 -0
  689. package/dist/components/utility-wrappers/query-provider/query-provider.d.ts.map +1 -0
  690. package/dist/components/utility-wrappers/query-provider/query-provider.js +29 -0
  691. package/dist/components/utility-wrappers/query-provider/query-provider.js.map +1 -0
  692. package/dist/components/utility-wrappers/service-worker-registration/index.d.ts +3 -0
  693. package/dist/components/utility-wrappers/service-worker-registration/index.d.ts.map +1 -0
  694. package/dist/components/utility-wrappers/service-worker-registration/index.js +5 -0
  695. package/dist/components/utility-wrappers/service-worker-registration/index.js.map +1 -0
  696. package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.d.ts +15 -0
  697. package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.d.ts.map +1 -0
  698. package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.js +35 -0
  699. package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.js.map +1 -0
  700. package/dist/components/utility-wrappers/theme-provider/index.d.ts +3 -0
  701. package/dist/components/utility-wrappers/theme-provider/index.d.ts.map +1 -0
  702. package/dist/components/utility-wrappers/theme-provider/index.js +5 -0
  703. package/dist/components/utility-wrappers/theme-provider/index.js.map +1 -0
  704. package/dist/components/utility-wrappers/theme-provider/theme-provider.d.ts +14 -0
  705. package/dist/components/utility-wrappers/theme-provider/theme-provider.d.ts.map +1 -0
  706. package/dist/components/utility-wrappers/theme-provider/theme-provider.js +29 -0
  707. package/dist/components/utility-wrappers/theme-provider/theme-provider.js.map +1 -0
  708. package/dist/components/utility-wrappers/theme-provider/theme-provider.stories.d.ts +6 -0
  709. package/dist/components/utility-wrappers/theme-provider/theme-provider.stories.d.ts.map +1 -0
  710. package/dist/components/utility-wrappers/themed-toaster/index.d.ts +3 -0
  711. package/dist/components/utility-wrappers/themed-toaster/index.d.ts.map +1 -0
  712. package/dist/components/utility-wrappers/themed-toaster/index.js +5 -0
  713. package/dist/components/utility-wrappers/themed-toaster/index.js.map +1 -0
  714. package/dist/components/utility-wrappers/themed-toaster/themed-toaster.d.ts +12 -0
  715. package/dist/components/utility-wrappers/themed-toaster/themed-toaster.d.ts.map +1 -0
  716. package/dist/components/utility-wrappers/themed-toaster/themed-toaster.js +24 -0
  717. package/dist/components/utility-wrappers/themed-toaster/themed-toaster.js.map +1 -0
  718. package/dist/components/utility-wrappers/toast/index.d.ts +3 -0
  719. package/dist/components/utility-wrappers/toast/index.d.ts.map +1 -0
  720. package/dist/components/utility-wrappers/toast/index.js +7 -0
  721. package/dist/components/utility-wrappers/toast/index.js.map +1 -0
  722. package/dist/hooks/index.d.ts +17 -0
  723. package/dist/hooks/index.d.ts.map +1 -0
  724. package/dist/hooks/index.js +21 -0
  725. package/dist/hooks/index.js.map +1 -0
  726. package/dist/hooks/useClickOutside.d.ts +15 -0
  727. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  728. package/dist/hooks/useClickOutside.js +24 -0
  729. package/dist/hooks/useClickOutside.js.map +1 -0
  730. package/dist/hooks/useCopyToClipboard.d.ts +15 -0
  731. package/dist/hooks/useCopyToClipboard.d.ts.map +1 -0
  732. package/dist/hooks/useCopyToClipboard.js +38 -0
  733. package/dist/hooks/useCopyToClipboard.js.map +1 -0
  734. package/dist/hooks/useDebounce.d.ts +10 -0
  735. package/dist/hooks/useDebounce.d.ts.map +1 -0
  736. package/dist/hooks/useDebounce.js +15 -0
  737. package/dist/hooks/useDebounce.js.map +1 -0
  738. package/dist/hooks/useDisclosure.d.ts +17 -0
  739. package/dist/hooks/useDisclosure.d.ts.map +1 -0
  740. package/dist/hooks/useDisclosure.js +13 -0
  741. package/dist/hooks/useDisclosure.js.map +1 -0
  742. package/dist/hooks/useKeyboardShortcuts.d.ts +27 -0
  743. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  744. package/dist/hooks/useKeyboardShortcuts.js +34 -0
  745. package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
  746. package/dist/hooks/useLocalStorage.d.ts +18 -0
  747. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  748. package/dist/hooks/useLocalStorage.js +62 -0
  749. package/dist/hooks/useLocalStorage.js.map +1 -0
  750. package/dist/hooks/useLocale.d.ts +14 -0
  751. package/dist/hooks/useLocale.d.ts.map +1 -0
  752. package/dist/hooks/useLocale.js +45 -0
  753. package/dist/hooks/useLocale.js.map +1 -0
  754. package/dist/hooks/useMediaQuery.d.ts +10 -0
  755. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  756. package/dist/hooks/useMediaQuery.js +20 -0
  757. package/dist/hooks/useMediaQuery.js.map +1 -0
  758. package/dist/hooks/usePaginatedQuery.d.ts +31 -0
  759. package/dist/hooks/usePaginatedQuery.d.ts.map +1 -0
  760. package/dist/hooks/usePaginatedQuery.js +44 -0
  761. package/dist/hooks/usePaginatedQuery.js.map +1 -0
  762. package/dist/i18n/createI18n.d.ts +16 -0
  763. package/dist/i18n/createI18n.d.ts.map +1 -0
  764. package/dist/i18n/createI18n.js +26 -0
  765. package/dist/i18n/createI18n.js.map +1 -0
  766. package/dist/i18n/index.d.ts +3 -0
  767. package/dist/i18n/index.d.ts.map +1 -0
  768. package/dist/i18n/index.js +5 -0
  769. package/dist/i18n/index.js.map +1 -0
  770. package/dist/index.d.ts +5 -0
  771. package/dist/index.d.ts.map +1 -0
  772. package/dist/index.js +5 -0
  773. package/dist/index.js.map +1 -0
  774. package/dist/utils/api-client.d.ts +33 -0
  775. package/dist/utils/api-client.d.ts.map +1 -0
  776. package/dist/utils/api-client.js +69 -0
  777. package/dist/utils/api-client.js.map +1 -0
  778. package/dist/utils/cn.d.ts +12 -0
  779. package/dist/utils/cn.d.ts.map +1 -0
  780. package/dist/utils/cn.js +9 -0
  781. package/dist/utils/cn.js.map +1 -0
  782. package/dist/utils/format.d.ts +69 -0
  783. package/dist/utils/format.d.ts.map +1 -0
  784. package/dist/utils/format.js +141 -0
  785. package/dist/utils/format.js.map +1 -0
  786. package/dist/utils/index.d.ts +8 -0
  787. package/dist/utils/index.d.ts.map +1 -0
  788. package/dist/utils/index.js +28 -0
  789. package/dist/utils/index.js.map +1 -0
  790. package/dist/utils/pagination.d.ts +34 -0
  791. package/dist/utils/pagination.d.ts.map +1 -0
  792. package/dist/utils/pagination.js +28 -0
  793. package/dist/utils/pagination.js.map +1 -0
  794. package/package.json +148 -0
  795. package/src/styles/theme.css +130 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/language-toggle/index.ts"],"sourcesContent":["export { LanguageToggle } from \"./language-toggle.js\";\nexport type { ILanguageToggleProps, ILanguageToggleOption } from \"./language-toggle.js\";\n"],"mappings":"AAAA,SAAS,sBAAsB;","names":[]}
@@ -0,0 +1,18 @@
1
+ export interface ILanguageToggleOption<TLocale extends string> {
2
+ value: TLocale;
3
+ label: string;
4
+ }
5
+ export interface ILanguageToggleProps<TLocale extends string> {
6
+ locale: TLocale;
7
+ options: readonly [ILanguageToggleOption<TLocale>, ILanguageToggleOption<TLocale>];
8
+ onChange: (locale: TLocale) => void;
9
+ separator?: string;
10
+ }
11
+ /**
12
+ * Two-locale toggle button. Renders both option labels with the active one
13
+ * emphasized, and flips to the other locale on click. Unlike the prior
14
+ * flight-finder version, locale values and labels are provided by the
15
+ * consumer so the component is not hard-coded to en/he.
16
+ */
17
+ export declare function LanguageToggle<TLocale extends string>({ locale, options, onChange, separator, }: ILanguageToggleProps<TLocale>): import("react").JSX.Element;
18
+ //# sourceMappingURL=language-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/language-toggle/language-toggle.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,EACrD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAe,GAChB,EAAE,oBAAoB,CAAC,OAAO,CAAC,+BAc/B"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ function LanguageToggle({
4
+ locale,
5
+ options,
6
+ onChange,
7
+ separator = "|"
8
+ }) {
9
+ const [first, second] = options;
10
+ const other = locale === first.value ? second.value : first.value;
11
+ return /* @__PURE__ */ jsxs(
12
+ "button",
13
+ {
14
+ onClick: () => onChange(other),
15
+ className: "flex items-center gap-1.5 rounded-lg border border-border-strong px-3 py-1.5 text-sm font-medium transition-colors hover:bg-surface-muted",
16
+ children: [
17
+ /* @__PURE__ */ jsx("span", { className: locale === first.value ? "font-bold" : "opacity-60", children: first.label }),
18
+ /* @__PURE__ */ jsx("span", { className: "text-muted", children: separator }),
19
+ /* @__PURE__ */ jsx("span", { className: locale === second.value ? "font-bold" : "opacity-60", children: second.label })
20
+ ]
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ LanguageToggle
26
+ };
27
+ //# sourceMappingURL=language-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/language-toggle/language-toggle.tsx"],"sourcesContent":["\"use client\";\n\nexport interface ILanguageToggleOption<TLocale extends string> {\n value: TLocale;\n label: string;\n}\n\nexport interface ILanguageToggleProps<TLocale extends string> {\n locale: TLocale;\n options: readonly [ILanguageToggleOption<TLocale>, ILanguageToggleOption<TLocale>];\n onChange: (locale: TLocale) => void;\n separator?: string;\n}\n\n/**\n * Two-locale toggle button. Renders both option labels with the active one\n * emphasized, and flips to the other locale on click. Unlike the prior\n * flight-finder version, locale values and labels are provided by the\n * consumer so the component is not hard-coded to en/he.\n */\nexport function LanguageToggle<TLocale extends string>({\n locale,\n options,\n onChange,\n separator = \"|\",\n}: ILanguageToggleProps<TLocale>) {\n const [first, second] = options;\n const other = locale === first.value ? second.value : first.value;\n\n return (\n <button\n onClick={() => onChange(other)}\n className=\"flex items-center gap-1.5 rounded-lg border border-border-strong px-3 py-1.5 text-sm font-medium transition-colors hover:bg-surface-muted\"\n >\n <span className={locale === first.value ? \"font-bold\" : \"opacity-60\"}>{first.label}</span>\n <span className=\"text-muted\">{separator}</span>\n <span className={locale === second.value ? \"font-bold\" : \"opacity-60\"}>{second.label}</span>\n </button>\n );\n}\n"],"mappings":";AA8BI,SAIE,KAJF;AAVG,SAAS,eAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAAkC;AAChC,QAAM,CAAC,OAAO,MAAM,IAAI;AACxB,QAAM,QAAQ,WAAW,MAAM,QAAQ,OAAO,QAAQ,MAAM;AAE5D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,MAAM,SAAS,KAAK;AAAA,MAC7B,WAAU;AAAA,MAEV;AAAA,4BAAC,UAAK,WAAW,WAAW,MAAM,QAAQ,cAAc,cAAe,gBAAM,OAAM;AAAA,QACnF,oBAAC,UAAK,WAAU,cAAc,qBAAU;AAAA,QACxC,oBAAC,UAAK,WAAW,WAAW,OAAO,QAAQ,cAAc,cAAe,iBAAO,OAAM;AAAA;AAAA;AAAA,EACvF;AAEJ;","names":[]}
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { LanguageToggle } from "./language-toggle.js";
3
+ type Locale = "en" | "he";
4
+ declare const meta: Meta<typeof LanguageToggle<Locale>>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof LanguageToggle<Locale>>;
7
+ export declare const Default: Story;
8
+ export declare const Hebrew: Story;
9
+ //# sourceMappingURL=language-toggle.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/language-toggle/language-toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAY7C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAKpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { MultiToggle } from "./multi-toggle.js";
2
+ export type { IMultiToggleOption, IMultiToggleProps } from "./multi-toggle.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MultiToggle } from "./multi-toggle.js";
2
+ export {
3
+ MultiToggle
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/multi-toggle/index.ts"],"sourcesContent":["export { MultiToggle } from \"./multi-toggle.js\";\nexport type { IMultiToggleOption, IMultiToggleProps } from \"./multi-toggle.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
@@ -0,0 +1,26 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
3
+ export interface IMultiToggleOption<TValue extends string = string> {
4
+ value: TValue;
5
+ label: ReactNode;
6
+ disabled?: boolean;
7
+ }
8
+ declare const rootVariants: (props?: ({
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ fullWidth?: boolean | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ export interface IMultiToggleProps<TValue extends string = string> extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, VariantProps<typeof rootVariants> {
13
+ value: TValue;
14
+ onValueChange: (value: TValue) => void;
15
+ options: ReadonlyArray<IMultiToggleOption<TValue>>;
16
+ ariaLabel?: string;
17
+ }
18
+ /**
19
+ * Segmented toggle with exactly one selected value at a time. The consumer is
20
+ * responsible for persisting state; this component only reports changes.
21
+ */
22
+ export declare const MultiToggle: <TValue extends string>(props: IMultiToggleProps<TValue> & {
23
+ ref?: Ref<HTMLDivElement>;
24
+ }) => ReactElement;
25
+ export {};
26
+ //# sourceMappingURL=multi-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGrG,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,YAAY;;;8EAchB,CAAC;AAuBH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAC/D,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC,EACvE,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAgCnB,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAAK,YAAY,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { forwardRef } from "react";
5
+ import { cn } from "../../../utils/cn.js";
6
+ const rootVariants = cva("inline-flex rounded-lg border border-border-strong bg-surface p-0.5", {
7
+ variants: {
8
+ size: {
9
+ sm: "h-8",
10
+ md: "h-9",
11
+ lg: "h-11"
12
+ },
13
+ fullWidth: {
14
+ true: "w-full"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ size: "md"
19
+ }
20
+ });
21
+ const itemVariants = cva(
22
+ "inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
23
+ {
24
+ variants: {
25
+ size: {
26
+ sm: "h-7 px-2 text-xs",
27
+ md: "h-8 px-3 text-sm",
28
+ lg: "h-10 px-4 text-base"
29
+ },
30
+ active: {
31
+ true: "bg-background text-foreground shadow-sm",
32
+ false: "text-muted-foreground hover:text-foreground"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ size: "md",
37
+ active: false
38
+ }
39
+ }
40
+ );
41
+ const MultiToggle = forwardRef(
42
+ function MultiToggleImpl({ className, size, fullWidth, value, onValueChange, options, ariaLabel, ...props }, ref) {
43
+ return /* @__PURE__ */ jsx(
44
+ "div",
45
+ {
46
+ ref,
47
+ role: "radiogroup",
48
+ "aria-label": ariaLabel,
49
+ className: cn(rootVariants({ size, fullWidth }), className),
50
+ ...props,
51
+ children: options.map((option) => {
52
+ const active = option.value === value;
53
+ return /* @__PURE__ */ jsx(
54
+ "button",
55
+ {
56
+ type: "button",
57
+ role: "radio",
58
+ "aria-checked": active,
59
+ disabled: option.disabled,
60
+ onClick: () => onValueChange(option.value),
61
+ className: cn(itemVariants({ size, active })),
62
+ children: option.label
63
+ },
64
+ option.value
65
+ );
66
+ })
67
+ }
68
+ );
69
+ }
70
+ );
71
+ MultiToggle.displayName = "MultiToggle";
72
+ export {
73
+ MultiToggle
74
+ };
75
+ //# sourceMappingURL=multi-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../../utils/cn.js\";\n\nexport interface IMultiToggleOption<TValue extends string = string> {\n value: TValue;\n label: ReactNode;\n disabled?: boolean;\n}\n\nconst rootVariants = cva(\"inline-flex rounded-lg border border-border-strong bg-surface p-0.5\", {\n variants: {\n size: {\n sm: \"h-8\",\n md: \"h-9\",\n lg: \"h-11\",\n },\n fullWidth: {\n true: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst itemVariants = cva(\n \"inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-7 px-2 text-xs\",\n md: \"h-8 px-3 text-sm\",\n lg: \"h-10 px-4 text-base\",\n },\n active: {\n true: \"bg-background text-foreground shadow-sm\",\n false: \"text-muted-foreground hover:text-foreground\",\n },\n },\n defaultVariants: {\n size: \"md\",\n active: false,\n },\n },\n);\n\nexport interface IMultiToggleProps<TValue extends string = string>\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\">,\n VariantProps<typeof rootVariants> {\n value: TValue;\n onValueChange: (value: TValue) => void;\n options: ReadonlyArray<IMultiToggleOption<TValue>>;\n ariaLabel?: string;\n}\n\n/**\n * Segmented toggle with exactly one selected value at a time. The consumer is\n * responsible for persisting state; this component only reports changes.\n */\nexport const MultiToggle = forwardRef<HTMLDivElement, IMultiToggleProps>(\n function MultiToggleImpl(\n { className, size, fullWidth, value, onValueChange, options, ariaLabel, ...props },\n ref,\n ) {\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n className={cn(rootVariants({ size, fullWidth }), className)}\n {...props}\n >\n {options.map((option) => {\n const active = option.value === value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n disabled={option.disabled}\n onClick={() => onValueChange(option.value)}\n className={cn(itemVariants({ size, active }))}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n );\n },\n) as <TValue extends string>(props: IMultiToggleProps<TValue> & { ref?: Ref<HTMLDivElement> }) => ReactElement;\n\n(MultiToggle as unknown as { displayName?: string }).displayName = \"MultiToggle\";\n"],"mappings":";AA8EU;AA5EV,SAAS,WAA8B;AACvC,SAAS,kBAAoF;AAC7F,SAAS,UAAU;AAQnB,MAAM,eAAe,IAAI,uEAAuE;AAAA,EAC9F,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAeO,MAAM,cAAc;AAAA,EACzB,SAAS,gBACP,EAAE,WAAW,MAAM,WAAW,OAAO,eAAe,SAAS,WAAW,GAAG,MAAM,GACjF,KACA;AACA,WACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,cAAY;AAAA,QACZ,WAAW,GAAG,aAAa,EAAE,MAAM,UAAU,CAAC,GAAG,SAAS;AAAA,QACzD,GAAG;AAAA,QAEH,kBAAQ,IAAI,CAAC,WAAW;AACvB,gBAAM,SAAS,OAAO,UAAU;AAChC,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,MAAK;AAAA,cACL,MAAK;AAAA,cACL,gBAAc;AAAA,cACd,UAAU,OAAO;AAAA,cACjB,SAAS,MAAM,cAAc,OAAO,KAAK;AAAA,cACzC,WAAW,GAAG,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC;AAAA,cAE3C,iBAAO;AAAA;AAAA,YARH,OAAO;AAAA,UASd;AAAA,QAEJ,CAAC;AAAA;AAAA,IACD;AAAA,EAEJ;AACF;AAEC,YAAoD,cAAc;","names":[]}
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { MultiToggle } from "./multi-toggle.js";
3
+ declare const meta: Meta<typeof MultiToggle>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof MultiToggle>;
6
+ export declare const Default: Story;
7
+ export declare const FullWidth: Story;
8
+ export declare const Sizes: Story;
9
+ //# sourceMappingURL=multi-toggle.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAIlC,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAS1C,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAevB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { NumberInput, type INumberInputProps } from "./number-input.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { NumberInput } from "./number-input.js";
2
+ export {
3
+ NumberInput
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/number-input/index.ts"],"sourcesContent":["export { NumberInput, type INumberInputProps } from \"./number-input.js\";\n"],"mappings":"AAAA,SAAS,mBAA2C;","names":[]}
@@ -0,0 +1,22 @@
1
+ import { type IInputProps } from "../../atoms/input/input.js";
2
+ export interface INumberInputProps extends Omit<IInputProps, "type" | "onChange" | "value" | "defaultValue"> {
3
+ value?: number | "";
4
+ defaultValue?: number;
5
+ min?: number;
6
+ max?: number;
7
+ step?: number;
8
+ /** Called with the parsed number (or `null` when cleared). */
9
+ onChange?: (value: number | null) => void;
10
+ /** Accessible labels for the stepper buttons. */
11
+ incrementLabel?: string;
12
+ decrementLabel?: string;
13
+ /** Hide the +/- stepper buttons. */
14
+ hideSteppers?: boolean;
15
+ }
16
+ /**
17
+ * Numeric input with increment / decrement buttons that respect `min`, `max`,
18
+ * and `step`. Calls `onChange` with a parsed `number`, or `null` when the
19
+ * field is cleared.
20
+ */
21
+ export declare const NumberInput: import("react").ForwardRefExoticComponent<INumberInputProps & import("react").RefAttributes<HTMLInputElement>>;
22
+ //# sourceMappingURL=number-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.tsx"],"names":[],"mappings":"AASA,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKrE,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHAuGvB,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ forwardRef,
5
+ useCallback,
6
+ useImperativeHandle,
7
+ useRef
8
+ } from "react";
9
+ import { Input } from "../../atoms/input/input.js";
10
+ import { cn } from "../../../utils/cn.js";
11
+ const DEFAULT_NUMBER_INPUT_STEP = 1;
12
+ function clamp(value, min, max) {
13
+ if (min !== void 0 && value < min) return min;
14
+ if (max !== void 0 && value > max) return max;
15
+ return value;
16
+ }
17
+ const NumberInput = forwardRef(
18
+ ({
19
+ value,
20
+ defaultValue,
21
+ min,
22
+ max,
23
+ step = DEFAULT_NUMBER_INPUT_STEP,
24
+ onChange,
25
+ incrementLabel = "Increase value",
26
+ decrementLabel = "Decrease value",
27
+ hideSteppers = false,
28
+ className,
29
+ disabled,
30
+ ...props
31
+ }, forwardedRef) => {
32
+ const innerRef = useRef(null);
33
+ useImperativeHandle(forwardedRef, () => innerRef.current);
34
+ const isControlled = value !== void 0;
35
+ const emit = useCallback(
36
+ (next) => {
37
+ const clamped = clamp(next, min, max);
38
+ onChange?.(clamped);
39
+ if (!isControlled && innerRef.current) {
40
+ innerRef.current.value = String(clamped);
41
+ }
42
+ },
43
+ [isControlled, min, max, onChange]
44
+ );
45
+ const readCurrent = useCallback(() => {
46
+ if (isControlled) {
47
+ return typeof value === "number" ? value : 0;
48
+ }
49
+ const raw = innerRef.current?.value ?? "";
50
+ const parsed = parseFloat(raw);
51
+ return Number.isFinite(parsed) ? parsed : 0;
52
+ }, [isControlled, value]);
53
+ const handleChange = (event) => {
54
+ const raw = event.target.value;
55
+ if (raw === "" || raw === "-") {
56
+ onChange?.(null);
57
+ return;
58
+ }
59
+ const parsed = parseFloat(raw);
60
+ if (Number.isFinite(parsed)) {
61
+ onChange?.(clamp(parsed, min, max));
62
+ }
63
+ };
64
+ const canDecrement = !disabled && (min === void 0 || readCurrent() > min);
65
+ const canIncrement = !disabled && (max === void 0 || readCurrent() < max);
66
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
67
+ /* @__PURE__ */ jsx(
68
+ Input,
69
+ {
70
+ ref: innerRef,
71
+ type: "number",
72
+ inputMode: "decimal",
73
+ min,
74
+ max,
75
+ step,
76
+ value,
77
+ defaultValue,
78
+ onChange: handleChange,
79
+ disabled,
80
+ className: cn(hideSteppers ? "" : "pe-10", "[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"),
81
+ ...props
82
+ }
83
+ ),
84
+ !hideSteppers ? /* @__PURE__ */ jsxs("div", { className: "absolute inset-y-1 end-1 flex flex-col items-stretch gap-px", children: [
85
+ /* @__PURE__ */ jsx(
86
+ "button",
87
+ {
88
+ type: "button",
89
+ "aria-label": incrementLabel,
90
+ onClick: () => emit(readCurrent() + step),
91
+ disabled: !canIncrement,
92
+ className: "flex h-1/2 w-7 items-center justify-center rounded-t-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none",
93
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 10 6", className: "h-2 w-2.5", fill: "currentColor", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d: "M5 0l5 6H0z" }) })
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsx(
97
+ "button",
98
+ {
99
+ type: "button",
100
+ "aria-label": decrementLabel,
101
+ onClick: () => emit(readCurrent() - step),
102
+ disabled: !canDecrement,
103
+ className: "flex h-1/2 w-7 items-center justify-center rounded-b-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none",
104
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 10 6", className: "h-2 w-2.5", fill: "currentColor", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d: "M5 6l5-6H0z" }) })
105
+ }
106
+ )
107
+ ] }) : null
108
+ ] });
109
+ }
110
+ );
111
+ NumberInput.displayName = "NumberInput";
112
+ export {
113
+ NumberInput
114
+ };
115
+ //# sourceMappingURL=number-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/number-input/number-input.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useRef,\n type InputHTMLAttributes,\n} from \"react\";\nimport { Input, type IInputProps } from \"../../atoms/input/input.js\";\nimport { cn } from \"../../../utils/cn.js\";\n\nconst DEFAULT_NUMBER_INPUT_STEP = 1;\n\nexport interface INumberInputProps\n extends Omit<IInputProps, \"type\" | \"onChange\" | \"value\" | \"defaultValue\"> {\n value?: number | \"\";\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n /** Called with the parsed number (or `null` when cleared). */\n onChange?: (value: number | null) => void;\n /** Accessible labels for the stepper buttons. */\n incrementLabel?: string;\n decrementLabel?: string;\n /** Hide the +/- stepper buttons. */\n hideSteppers?: boolean;\n}\n\nfunction clamp(value: number, min: number | undefined, max: number | undefined) {\n if (min !== undefined && value < min) return min;\n if (max !== undefined && value > max) return max;\n return value;\n}\n\n/**\n * Numeric input with increment / decrement buttons that respect `min`, `max`,\n * and `step`. Calls `onChange` with a parsed `number`, or `null` when the\n * field is cleared.\n */\nexport const NumberInput = forwardRef<HTMLInputElement, INumberInputProps>(\n (\n {\n value,\n defaultValue,\n min,\n max,\n step = DEFAULT_NUMBER_INPUT_STEP,\n onChange,\n incrementLabel = \"Increase value\",\n decrementLabel = \"Decrease value\",\n hideSteppers = false,\n className,\n disabled,\n ...props\n },\n forwardedRef,\n ) => {\n const innerRef = useRef<HTMLInputElement | null>(null);\n useImperativeHandle(forwardedRef, () => innerRef.current as HTMLInputElement);\n\n const isControlled = value !== undefined;\n\n const emit = useCallback(\n (next: number) => {\n const clamped = clamp(next, min, max);\n onChange?.(clamped);\n if (!isControlled && innerRef.current) {\n innerRef.current.value = String(clamped);\n }\n },\n [isControlled, min, max, onChange],\n );\n\n const readCurrent = useCallback((): number => {\n if (isControlled) {\n return typeof value === \"number\" ? value : 0;\n }\n const raw = innerRef.current?.value ?? \"\";\n const parsed = parseFloat(raw);\n return Number.isFinite(parsed) ? parsed : 0;\n }, [isControlled, value]);\n\n const handleChange: InputHTMLAttributes<HTMLInputElement>[\"onChange\"] = (event) => {\n const raw = event.target.value;\n if (raw === \"\" || raw === \"-\") {\n onChange?.(null);\n return;\n }\n const parsed = parseFloat(raw);\n if (Number.isFinite(parsed)) {\n onChange?.(clamp(parsed, min, max));\n }\n };\n\n const canDecrement = !disabled && (min === undefined || readCurrent() > min);\n const canIncrement = !disabled && (max === undefined || readCurrent() < max);\n\n return (\n <div className={cn(\"relative\", className)}>\n <Input\n ref={innerRef}\n type=\"number\"\n inputMode=\"decimal\"\n min={min}\n max={max}\n step={step}\n value={value}\n defaultValue={defaultValue}\n onChange={handleChange}\n disabled={disabled}\n className={cn(hideSteppers ? \"\" : \"pe-10\", \"[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none\")}\n {...props}\n />\n {!hideSteppers ? (\n <div className=\"absolute inset-y-1 end-1 flex flex-col items-stretch gap-px\">\n <button\n type=\"button\"\n aria-label={incrementLabel}\n onClick={() => emit(readCurrent() + step)}\n disabled={!canIncrement}\n className=\"flex h-1/2 w-7 items-center justify-center rounded-t-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none\"\n >\n <svg viewBox=\"0 0 10 6\" className=\"h-2 w-2.5\" fill=\"currentColor\" aria-hidden>\n <path d=\"M5 0l5 6H0z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n aria-label={decrementLabel}\n onClick={() => emit(readCurrent() - step)}\n disabled={!canDecrement}\n className=\"flex h-1/2 w-7 items-center justify-center rounded-b-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none\"\n >\n <svg viewBox=\"0 0 10 6\" className=\"h-2 w-2.5\" fill=\"currentColor\" aria-hidden>\n <path d=\"M5 6l5-6H0z\" />\n </svg>\n </button>\n </div>\n ) : null}\n </div>\n );\n },\n);\nNumberInput.displayName = \"NumberInput\";\n"],"mappings":";AAqGQ,cAeE,YAfF;AAnGR;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,aAA+B;AACxC,SAAS,UAAU;AAEnB,MAAM,4BAA4B;AAkBlC,SAAS,MAAM,OAAe,KAAyB,KAAyB;AAC9E,MAAI,QAAQ,UAAa,QAAQ,IAAK,QAAO;AAC7C,MAAI,QAAQ,UAAa,QAAQ,IAAK,QAAO;AAC7C,SAAO;AACT;AAOO,MAAM,cAAc;AAAA,EACzB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,WAAW,OAAgC,IAAI;AACrD,wBAAoB,cAAc,MAAM,SAAS,OAA2B;AAE5E,UAAM,eAAe,UAAU;AAE/B,UAAM,OAAO;AAAA,MACX,CAAC,SAAiB;AAChB,cAAM,UAAU,MAAM,MAAM,KAAK,GAAG;AACpC,mBAAW,OAAO;AAClB,YAAI,CAAC,gBAAgB,SAAS,SAAS;AACrC,mBAAS,QAAQ,QAAQ,OAAO,OAAO;AAAA,QACzC;AAAA,MACF;AAAA,MACA,CAAC,cAAc,KAAK,KAAK,QAAQ;AAAA,IACnC;AAEA,UAAM,cAAc,YAAY,MAAc;AAC5C,UAAI,cAAc;AAChB,eAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,MAC7C;AACA,YAAM,MAAM,SAAS,SAAS,SAAS;AACvC,YAAM,SAAS,WAAW,GAAG;AAC7B,aAAO,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA,IAC5C,GAAG,CAAC,cAAc,KAAK,CAAC;AAExB,UAAM,eAAkE,CAAC,UAAU;AACjF,YAAM,MAAM,MAAM,OAAO;AACzB,UAAI,QAAQ,MAAM,QAAQ,KAAK;AAC7B,mBAAW,IAAI;AACf;AAAA,MACF;AACA,YAAM,SAAS,WAAW,GAAG;AAC7B,UAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,mBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,MACpC;AAAA,IACF;AAEA,UAAM,eAAe,CAAC,aAAa,QAAQ,UAAa,YAAY,IAAI;AACxE,UAAM,eAAe,CAAC,aAAa,QAAQ,UAAa,YAAY,IAAI;AAExE,WACE,qBAAC,SAAI,WAAW,GAAG,YAAY,SAAS,GACtC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,MAAK;AAAA,UACL,WAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA,WAAW,GAAG,eAAe,KAAK,SAAS,sHAAsH;AAAA,UAChK,GAAG;AAAA;AAAA,MACN;AAAA,MACC,CAAC,eACA,qBAAC,SAAI,WAAU,+DACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAY;AAAA,YACZ,SAAS,MAAM,KAAK,YAAY,IAAI,IAAI;AAAA,YACxC,UAAU,CAAC;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,SAAI,SAAQ,YAAW,WAAU,aAAY,MAAK,gBAAe,eAAW,MAC3E,8BAAC,UAAK,GAAE,eAAc,GACxB;AAAA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAY;AAAA,YACZ,SAAS,MAAM,KAAK,YAAY,IAAI,IAAI;AAAA,YACxC,UAAU,CAAC;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,SAAI,SAAQ,YAAW,WAAU,aAAY,MAAK,gBAAe,eAAW,MAC3E,8BAAC,UAAK,GAAE,eAAc,GACxB;AAAA;AAAA,QACF;AAAA,SACF,IACE;AAAA,OACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;","names":[]}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { NumberInput } from "./number-input.js";
3
+ declare const meta: Meta<typeof NumberInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof NumberInput>;
6
+ export declare const Uncontrolled: Story;
7
+ export declare const Controlled: Story;
8
+ export declare const DecimalStep: Story;
9
+ export declare const WithoutSteppers: Story;
10
+ //# sourceMappingURL=number-input.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAIlC,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAM1C,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAgBxB,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAK7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=number-input.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input.test.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { OTPInput, type IOTPInputProps } from "./otp-input.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/otp-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { OTPInput } from "./otp-input.js";
2
+ export {
3
+ OTPInput
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/otp-input/index.ts"],"sourcesContent":["export { OTPInput, type IOTPInputProps } from \"./otp-input.js\";\n"],"mappings":"AAAA,SAAS,gBAAqC;","names":[]}
@@ -0,0 +1,27 @@
1
+ export interface IOTPInputProps {
2
+ /** Number of code slots. Defaults to 6. */
3
+ length?: number;
4
+ /** Controlled value (string of exactly `length` chars, short-padded). */
5
+ value?: string;
6
+ /** Default value for uncontrolled usage. */
7
+ defaultValue?: string;
8
+ /** Fires with the current concatenated string after every keystroke. */
9
+ onChange?: (value: string) => void;
10
+ /** Fires once when the user fills the final slot. */
11
+ onComplete?: (value: string) => void;
12
+ /** Restrict input. Defaults to digits only. */
13
+ pattern?: "numeric" | "alphanumeric" | "any";
14
+ disabled?: boolean;
15
+ autoFocus?: boolean;
16
+ invalid?: boolean;
17
+ "aria-label"?: string;
18
+ className?: string;
19
+ name?: string;
20
+ }
21
+ /**
22
+ * One-time-password style input. Renders `length` separate character slots
23
+ * that auto-advance on input and paste-splits across slots. Pressing
24
+ * backspace on an empty slot focuses the previous slot.
25
+ */
26
+ export declare const OTPInput: import("react").ForwardRefExoticComponent<IOTPInputProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ //# sourceMappingURL=otp-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/otp-input/otp-input.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,2GA0HpB,CAAC"}
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import {
4
+ forwardRef,
5
+ useEffect,
6
+ useId,
7
+ useRef,
8
+ useState
9
+ } from "react";
10
+ import { cn } from "../../../utils/cn.js";
11
+ const DEFAULT_OTP_LENGTH = 6;
12
+ function getPatternRegex(pattern) {
13
+ if (pattern === "alphanumeric") return /^[a-zA-Z0-9]$/;
14
+ if (pattern === "any") return /^.$/;
15
+ return /^[0-9]$/;
16
+ }
17
+ const OTPInput = forwardRef(
18
+ ({
19
+ length = DEFAULT_OTP_LENGTH,
20
+ value,
21
+ defaultValue,
22
+ onChange,
23
+ onComplete,
24
+ pattern = "numeric",
25
+ disabled,
26
+ autoFocus,
27
+ invalid,
28
+ className,
29
+ name,
30
+ "aria-label": ariaLabel = "Verification code"
31
+ }, ref) => {
32
+ const baseId = useId();
33
+ const refs = useRef([]);
34
+ const isControlled = value !== void 0;
35
+ const [inner, setInner] = useState(defaultValue ?? "");
36
+ const current = isControlled ? value ?? "" : inner;
37
+ useEffect(() => {
38
+ if (autoFocus) refs.current[0]?.focus();
39
+ }, [autoFocus]);
40
+ const chars = Array.from({ length }, (_, i) => current[i] ?? "");
41
+ const regex = getPatternRegex(pattern);
42
+ const setValue = (next) => {
43
+ const sliced = next.slice(0, length);
44
+ if (!isControlled) setInner(sliced);
45
+ onChange?.(sliced);
46
+ if (sliced.length === length) onComplete?.(sliced);
47
+ };
48
+ const focusIndex = (index) => {
49
+ const clamped = Math.max(0, Math.min(length - 1, index));
50
+ refs.current[clamped]?.focus();
51
+ refs.current[clamped]?.select();
52
+ };
53
+ const handleChange = (index, rawInput) => {
54
+ const char = rawInput.slice(-1);
55
+ if (char && !regex.test(char)) return;
56
+ const next = chars.map((c, i) => i === index ? char : c);
57
+ const joined = next.join("").slice(0, length);
58
+ setValue(joined);
59
+ if (char) focusIndex(index + 1);
60
+ };
61
+ const handleKeyDown = (index, event) => {
62
+ if (event.key === "Backspace") {
63
+ if (chars[index]) {
64
+ const next = chars.map((c, i) => i === index ? "" : c).join("");
65
+ setValue(next);
66
+ } else if (index > 0) {
67
+ const next = chars.map((c, i) => i === index - 1 ? "" : c).join("");
68
+ setValue(next);
69
+ focusIndex(index - 1);
70
+ }
71
+ event.preventDefault();
72
+ } else if (event.key === "ArrowLeft") {
73
+ focusIndex(index - 1);
74
+ event.preventDefault();
75
+ } else if (event.key === "ArrowRight") {
76
+ focusIndex(index + 1);
77
+ event.preventDefault();
78
+ }
79
+ };
80
+ const handlePaste = (index, event) => {
81
+ event.preventDefault();
82
+ const pasted = event.clipboardData.getData("text").trim();
83
+ const filtered = Array.from(pasted).filter((c) => regex.test(c)).join("");
84
+ if (!filtered) return;
85
+ const before = chars.slice(0, index).join("");
86
+ const joined = (before + filtered).slice(0, length).padEnd(length, "").trimEnd();
87
+ setValue(joined);
88
+ const nextFocus = Math.min(length - 1, before.length + filtered.length);
89
+ focusIndex(nextFocus);
90
+ };
91
+ return /* @__PURE__ */ jsx(
92
+ "div",
93
+ {
94
+ ref,
95
+ role: "group",
96
+ "aria-label": ariaLabel,
97
+ className: cn("inline-flex items-center gap-2", className),
98
+ children: chars.map((char, index) => /* @__PURE__ */ jsx(
99
+ "input",
100
+ {
101
+ ref: (node) => {
102
+ refs.current[index] = node;
103
+ },
104
+ id: `${baseId}-${index}`,
105
+ name: name ? `${name}[${index}]` : void 0,
106
+ type: "text",
107
+ inputMode: pattern === "numeric" ? "numeric" : "text",
108
+ autoComplete: index === 0 ? "one-time-code" : "off",
109
+ maxLength: 1,
110
+ value: char,
111
+ "aria-invalid": invalid || void 0,
112
+ disabled,
113
+ onChange: (e) => handleChange(index, e.target.value),
114
+ onKeyDown: (e) => handleKeyDown(index, e),
115
+ onPaste: (e) => handlePaste(index, e),
116
+ onFocus: (e) => e.currentTarget.select(),
117
+ className: cn(
118
+ "h-12 w-10 rounded-lg border text-center text-lg font-semibold text-foreground",
119
+ "bg-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
120
+ "disabled:cursor-not-allowed disabled:opacity-50",
121
+ invalid ? "border-red-500" : "border-border-strong"
122
+ )
123
+ },
124
+ index
125
+ ))
126
+ }
127
+ );
128
+ }
129
+ );
130
+ OTPInput.displayName = "OTPInput";
131
+ export {
132
+ OTPInput
133
+ };
134
+ //# sourceMappingURL=otp-input.js.map