@hyddenlabs/hydn-ui 0.3.0-alpha.99 → 0.3.1

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 (649) hide show
  1. package/README.md +46 -29
  2. package/dist/components/branding/google-logo.d.ts +14 -0
  3. package/dist/components/branding/google-logo.d.ts.map +1 -0
  4. package/dist/components/branding/google-logo.js +49 -0
  5. package/dist/components/branding/google-logo.js.map +1 -0
  6. package/dist/components/branding/hydden-logo.d.ts +14 -0
  7. package/dist/components/branding/hydden-logo.d.ts.map +1 -0
  8. package/dist/components/branding/hydden-logo.js +8 -0
  9. package/dist/components/branding/hydden-logo.js.map +1 -0
  10. package/dist/components/branding/microsoft-logo.d.ts +14 -0
  11. package/dist/components/branding/microsoft-logo.d.ts.map +1 -0
  12. package/dist/components/branding/microsoft-logo.js +25 -0
  13. package/dist/components/branding/microsoft-logo.js.map +1 -0
  14. package/dist/components/data-display/avatar/avatar.d.ts +24 -0
  15. package/dist/components/data-display/avatar/avatar.d.ts.map +1 -0
  16. package/dist/components/data-display/avatar/avatar.js +25 -0
  17. package/dist/components/data-display/avatar/avatar.js.map +1 -0
  18. package/dist/components/data-display/avatar/index.d.ts +3 -0
  19. package/dist/components/data-display/avatar/index.d.ts.map +1 -0
  20. package/dist/components/data-display/badge/badge.d.ts +24 -0
  21. package/dist/components/data-display/badge/badge.d.ts.map +1 -0
  22. package/dist/components/data-display/badge/badge.js +27 -0
  23. package/dist/components/data-display/badge/badge.js.map +1 -0
  24. package/dist/components/data-display/badge/index.d.ts +5 -0
  25. package/dist/components/data-display/badge/index.d.ts.map +1 -0
  26. package/dist/components/data-display/badge/status-label.d.ts +25 -0
  27. package/dist/components/data-display/badge/status-label.d.ts.map +1 -0
  28. package/dist/components/data-display/badge/status-label.js +63 -0
  29. package/dist/components/data-display/badge/status-label.js.map +1 -0
  30. package/dist/components/data-display/chip/chip.d.ts +42 -0
  31. package/dist/components/data-display/chip/chip.d.ts.map +1 -0
  32. package/dist/components/data-display/chip/chip.js +79 -0
  33. package/dist/components/data-display/chip/chip.js.map +1 -0
  34. package/dist/components/data-display/chip/index.d.ts +3 -0
  35. package/dist/components/data-display/chip/index.d.ts.map +1 -0
  36. package/dist/components/data-display/code-block/code-block.d.ts +17 -0
  37. package/dist/components/data-display/code-block/code-block.d.ts.map +1 -0
  38. package/dist/components/data-display/code-block/code-block.js +34 -0
  39. package/dist/components/data-display/code-block/code-block.js.map +1 -0
  40. package/dist/components/data-display/data-table/data-table.d.ts +226 -0
  41. package/dist/components/data-display/data-table/data-table.d.ts.map +1 -0
  42. package/dist/components/data-display/data-table/data-table.js +404 -0
  43. package/dist/components/data-display/data-table/data-table.js.map +1 -0
  44. package/dist/components/data-display/data-table/index.d.ts +5 -0
  45. package/dist/components/data-display/data-table/index.d.ts.map +1 -0
  46. package/dist/components/data-display/data-table/use-table.d.ts +42 -0
  47. package/dist/components/data-display/data-table/use-table.d.ts.map +1 -0
  48. package/dist/components/data-display/data-table/use-table.js +120 -0
  49. package/dist/components/data-display/data-table/use-table.js.map +1 -0
  50. package/dist/components/data-display/empty-state/empty-state.d.ts +8 -0
  51. package/dist/components/data-display/empty-state/empty-state.d.ts.map +1 -0
  52. package/dist/components/data-display/empty-state/empty-state.js +17 -0
  53. package/dist/components/data-display/empty-state/empty-state.js.map +1 -0
  54. package/dist/components/data-display/empty-state/index.d.ts +3 -0
  55. package/dist/components/data-display/empty-state/index.d.ts.map +1 -0
  56. package/dist/components/data-display/list/index.d.ts +3 -0
  57. package/dist/components/data-display/list/index.d.ts.map +1 -0
  58. package/dist/components/data-display/list/list.d.ts +31 -0
  59. package/dist/components/data-display/list/list.d.ts.map +1 -0
  60. package/dist/components/data-display/list/list.js +16 -0
  61. package/dist/components/data-display/list/list.js.map +1 -0
  62. package/dist/components/data-display/table/index.d.ts +3 -0
  63. package/dist/components/data-display/table/index.d.ts.map +1 -0
  64. package/dist/components/data-display/table/table.d.ts +101 -0
  65. package/dist/components/data-display/table/table.d.ts.map +1 -0
  66. package/dist/components/data-display/table/table.js +98 -0
  67. package/dist/components/data-display/table/table.js.map +1 -0
  68. package/dist/components/data-display/timeline/index.d.ts +3 -0
  69. package/dist/components/data-display/timeline/index.d.ts.map +1 -0
  70. package/dist/components/data-display/timeline/timeline.d.ts +57 -0
  71. package/dist/components/data-display/timeline/timeline.d.ts.map +1 -0
  72. package/dist/components/data-display/timeline/timeline.js +52 -0
  73. package/dist/components/data-display/timeline/timeline.js.map +1 -0
  74. package/dist/components/feedback/alert/alert.d.ts +27 -0
  75. package/dist/components/feedback/alert/alert.d.ts.map +1 -0
  76. package/dist/components/feedback/alert/alert.js +86 -0
  77. package/dist/components/feedback/alert/alert.js.map +1 -0
  78. package/dist/components/feedback/alert/index.d.ts +3 -0
  79. package/dist/components/feedback/alert/index.d.ts.map +1 -0
  80. package/dist/components/feedback/dialog/delete-dialog.d.ts +41 -0
  81. package/dist/components/feedback/dialog/delete-dialog.d.ts.map +1 -0
  82. package/dist/components/feedback/dialog/delete-dialog.js +52 -0
  83. package/dist/components/feedback/dialog/delete-dialog.js.map +1 -0
  84. package/dist/components/feedback/dialog/dialog.d.ts +24 -0
  85. package/dist/components/feedback/dialog/dialog.d.ts.map +1 -0
  86. package/dist/components/feedback/dialog/dialog.js +15 -0
  87. package/dist/components/feedback/dialog/dialog.js.map +1 -0
  88. package/dist/components/feedback/dialog/index.d.ts +5 -0
  89. package/dist/components/feedback/dialog/index.d.ts.map +1 -0
  90. package/dist/components/feedback/error-page/error-400.d.ts +22 -0
  91. package/dist/components/feedback/error-page/error-400.d.ts.map +1 -0
  92. package/dist/components/feedback/error-page/error-400.js +28 -0
  93. package/dist/components/feedback/error-page/error-400.js.map +1 -0
  94. package/dist/components/feedback/error-page/error-401.d.ts +26 -0
  95. package/dist/components/feedback/error-page/error-401.d.ts.map +1 -0
  96. package/dist/components/feedback/error-page/error-401.js +33 -0
  97. package/dist/components/feedback/error-page/error-401.js.map +1 -0
  98. package/dist/components/feedback/error-page/error-403.d.ts +26 -0
  99. package/dist/components/feedback/error-page/error-403.d.ts.map +1 -0
  100. package/dist/components/feedback/error-page/error-403.js +33 -0
  101. package/dist/components/feedback/error-page/error-403.js.map +1 -0
  102. package/dist/components/feedback/error-page/error-404.d.ts +26 -0
  103. package/dist/components/feedback/error-page/error-404.d.ts.map +1 -0
  104. package/dist/components/feedback/error-page/error-404.js +33 -0
  105. package/dist/components/feedback/error-page/error-404.js.map +1 -0
  106. package/dist/components/feedback/error-page/index.d.ts +9 -0
  107. package/dist/components/feedback/error-page/index.d.ts.map +1 -0
  108. package/dist/components/feedback/loading-container/index.d.ts +3 -0
  109. package/dist/components/feedback/loading-container/index.d.ts.map +1 -0
  110. package/dist/components/feedback/loading-container/loading-container.d.ts +16 -0
  111. package/dist/components/feedback/loading-container/loading-container.d.ts.map +1 -0
  112. package/dist/components/feedback/loading-container/loading-container.js +28 -0
  113. package/dist/components/feedback/loading-container/loading-container.js.map +1 -0
  114. package/dist/components/feedback/modal/index.d.ts +3 -0
  115. package/dist/components/feedback/modal/index.d.ts.map +1 -0
  116. package/dist/components/feedback/modal/modal.d.ts +33 -0
  117. package/dist/components/feedback/modal/modal.d.ts.map +1 -0
  118. package/dist/components/feedback/modal/modal.js +88 -0
  119. package/dist/components/feedback/modal/modal.js.map +1 -0
  120. package/dist/components/feedback/overlay/useOverlay.d.ts +24 -0
  121. package/dist/components/feedback/overlay/useOverlay.d.ts.map +1 -0
  122. package/dist/components/feedback/overlay/useOverlay.js +119 -0
  123. package/dist/components/feedback/overlay/useOverlay.js.map +1 -0
  124. package/dist/components/feedback/popover/index.d.ts +3 -0
  125. package/dist/components/feedback/popover/index.d.ts.map +1 -0
  126. package/dist/components/feedback/popover/popover.d.ts +25 -0
  127. package/dist/components/feedback/popover/popover.d.ts.map +1 -0
  128. package/dist/components/feedback/popover/popover.js +118 -0
  129. package/dist/components/feedback/popover/popover.js.map +1 -0
  130. package/dist/components/feedback/progress-bar/index.d.ts +3 -0
  131. package/dist/components/feedback/progress-bar/index.d.ts.map +1 -0
  132. package/dist/components/feedback/progress-bar/progress-bar.d.ts +22 -0
  133. package/dist/components/feedback/progress-bar/progress-bar.d.ts.map +1 -0
  134. package/dist/components/feedback/progress-bar/progress-bar.js +27 -0
  135. package/dist/components/feedback/progress-bar/progress-bar.js.map +1 -0
  136. package/dist/components/feedback/skeleton/index.d.ts +3 -0
  137. package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
  138. package/dist/components/feedback/skeleton/skeleton.d.ts +19 -0
  139. package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
  140. package/dist/components/feedback/skeleton/skeleton.js +28 -0
  141. package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
  142. package/dist/components/feedback/smooth-transition/index.d.ts +3 -0
  143. package/dist/components/feedback/smooth-transition/index.d.ts.map +1 -0
  144. package/dist/components/feedback/smooth-transition/smooth-transition.d.ts +68 -0
  145. package/dist/components/feedback/smooth-transition/smooth-transition.d.ts.map +1 -0
  146. package/dist/components/feedback/smooth-transition/smooth-transition.js +89 -0
  147. package/dist/components/feedback/smooth-transition/smooth-transition.js.map +1 -0
  148. package/dist/components/feedback/spinner/index.d.ts +3 -0
  149. package/dist/components/feedback/spinner/index.d.ts.map +1 -0
  150. package/dist/components/feedback/spinner/spinner.d.ts +21 -0
  151. package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
  152. package/dist/components/feedback/spinner/spinner.js +27 -0
  153. package/dist/components/feedback/spinner/spinner.js.map +1 -0
  154. package/dist/components/feedback/toast/index.d.ts +3 -0
  155. package/dist/components/feedback/toast/index.d.ts.map +1 -0
  156. package/dist/components/feedback/toast/toast.d.ts +23 -0
  157. package/dist/components/feedback/toast/toast.d.ts.map +1 -0
  158. package/dist/components/feedback/toast/toast.js +45 -0
  159. package/dist/components/feedback/toast/toast.js.map +1 -0
  160. package/dist/components/feedback/tooltip/index.d.ts +3 -0
  161. package/dist/components/feedback/tooltip/index.d.ts.map +1 -0
  162. package/dist/components/feedback/tooltip/tooltip.d.ts +39 -0
  163. package/dist/components/feedback/tooltip/tooltip.d.ts.map +1 -0
  164. package/dist/components/feedback/tooltip/tooltip.js +129 -0
  165. package/dist/components/feedback/tooltip/tooltip.js.map +1 -0
  166. package/dist/components/forms/button/button-with-icon.d.ts +18 -0
  167. package/dist/components/forms/button/button-with-icon.d.ts.map +1 -0
  168. package/dist/components/forms/button/button-with-icon.js +15 -0
  169. package/dist/components/forms/button/button-with-icon.js.map +1 -0
  170. package/dist/components/forms/button/button.d.ts +66 -0
  171. package/dist/components/forms/button/button.d.ts.map +1 -0
  172. package/dist/components/forms/button/button.examples.d.ts +73 -0
  173. package/dist/components/forms/button/button.examples.d.ts.map +1 -0
  174. package/dist/components/forms/button/button.js +118 -0
  175. package/dist/components/forms/button/button.js.map +1 -0
  176. package/dist/components/forms/button/icon-button.d.ts +23 -0
  177. package/dist/components/forms/button/icon-button.d.ts.map +1 -0
  178. package/dist/components/forms/button/icon-button.js +85 -0
  179. package/dist/components/forms/button/icon-button.js.map +1 -0
  180. package/dist/components/forms/button/index.d.ts +10 -0
  181. package/dist/components/forms/button/index.d.ts.map +1 -0
  182. package/dist/components/forms/button/inline-button.d.ts +45 -0
  183. package/dist/components/forms/button/inline-button.d.ts.map +1 -0
  184. package/dist/components/forms/button/inline-button.js +59 -0
  185. package/dist/components/forms/button/inline-button.js.map +1 -0
  186. package/dist/components/forms/button-group/button-group.d.ts +20 -0
  187. package/dist/components/forms/button-group/button-group.d.ts.map +1 -0
  188. package/dist/components/forms/button-group/button-group.js +24 -0
  189. package/dist/components/forms/button-group/button-group.js.map +1 -0
  190. package/dist/components/forms/button-group/index.d.ts +3 -0
  191. package/dist/components/forms/button-group/index.d.ts.map +1 -0
  192. package/dist/components/forms/calendar/calendar.d.ts +37 -0
  193. package/dist/components/forms/calendar/calendar.d.ts.map +1 -0
  194. package/dist/components/forms/calendar/calendar.js +131 -0
  195. package/dist/components/forms/calendar/calendar.js.map +1 -0
  196. package/dist/components/forms/calendar/index.d.ts +3 -0
  197. package/dist/components/forms/calendar/index.d.ts.map +1 -0
  198. package/dist/components/forms/checkbox/checkbox.d.ts +31 -0
  199. package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
  200. package/dist/components/forms/checkbox/checkbox.js +39 -0
  201. package/dist/components/forms/checkbox/checkbox.js.map +1 -0
  202. package/dist/components/forms/checkbox/index.d.ts +3 -0
  203. package/dist/components/forms/checkbox/index.d.ts.map +1 -0
  204. package/dist/components/forms/code/code.d.ts +32 -0
  205. package/dist/components/forms/code/code.d.ts.map +1 -0
  206. package/dist/components/forms/code/code.js +31 -0
  207. package/dist/components/forms/code/code.js.map +1 -0
  208. package/dist/components/forms/code/index.d.ts +1 -0
  209. package/dist/components/forms/code/index.d.ts.map +1 -0
  210. package/dist/components/forms/date-picker/date-picker.d.ts +72 -0
  211. package/dist/components/forms/date-picker/date-picker.d.ts.map +1 -0
  212. package/dist/components/forms/date-picker/date-picker.js +173 -0
  213. package/dist/components/forms/date-picker/date-picker.js.map +1 -0
  214. package/dist/components/forms/date-picker/index.d.ts +3 -0
  215. package/dist/components/forms/date-picker/index.d.ts.map +1 -0
  216. package/dist/components/forms/editable-text/editable-text.d.ts +59 -0
  217. package/dist/components/forms/editable-text/editable-text.d.ts.map +1 -0
  218. package/dist/components/forms/editable-text/editable-text.js +188 -0
  219. package/dist/components/forms/editable-text/editable-text.js.map +1 -0
  220. package/dist/components/forms/editable-text/index.d.ts +3 -0
  221. package/dist/components/forms/editable-text/index.d.ts.map +1 -0
  222. package/dist/components/forms/fieldset/fieldset.d.ts +46 -0
  223. package/dist/components/forms/fieldset/fieldset.d.ts.map +1 -0
  224. package/dist/components/forms/fieldset/fieldset.js +40 -0
  225. package/dist/components/forms/fieldset/fieldset.js.map +1 -0
  226. package/dist/components/forms/fieldset/index.d.ts +3 -0
  227. package/dist/components/forms/fieldset/index.d.ts.map +1 -0
  228. package/dist/components/forms/form/form-example.d.ts +11 -0
  229. package/dist/components/forms/form/form-example.d.ts.map +1 -0
  230. package/dist/components/forms/form/form.d.ts +44 -0
  231. package/dist/components/forms/form/form.d.ts.map +1 -0
  232. package/dist/components/forms/form/form.js +39 -0
  233. package/dist/components/forms/form/form.js.map +1 -0
  234. package/dist/components/forms/form/index.d.ts +3 -0
  235. package/dist/components/forms/form/index.d.ts.map +1 -0
  236. package/dist/components/forms/form-checkbox/form-checkbox.d.ts +27 -0
  237. package/dist/components/forms/form-checkbox/form-checkbox.d.ts.map +1 -0
  238. package/dist/components/forms/form-checkbox/form-checkbox.js +58 -0
  239. package/dist/components/forms/form-checkbox/form-checkbox.js.map +1 -0
  240. package/dist/components/forms/form-checkbox/index.d.ts +3 -0
  241. package/dist/components/forms/form-checkbox/index.d.ts.map +1 -0
  242. package/dist/components/forms/form-checkbox-group/form-checkbox-group.d.ts +40 -0
  243. package/dist/components/forms/form-checkbox-group/form-checkbox-group.d.ts.map +1 -0
  244. package/dist/components/forms/form-checkbox-group/form-checkbox-group.js +74 -0
  245. package/dist/components/forms/form-checkbox-group/form-checkbox-group.js.map +1 -0
  246. package/dist/components/forms/form-field/form-field.d.ts +53 -0
  247. package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
  248. package/dist/components/forms/form-field/form-field.js +56 -0
  249. package/dist/components/forms/form-field/form-field.js.map +1 -0
  250. package/dist/components/forms/form-field/index.d.ts +3 -0
  251. package/dist/components/forms/form-field/index.d.ts.map +1 -0
  252. package/dist/components/forms/form-input/form-input.d.ts +60 -0
  253. package/dist/components/forms/form-input/form-input.d.ts.map +1 -0
  254. package/dist/components/forms/form-input/form-input.js +53 -0
  255. package/dist/components/forms/form-input/form-input.js.map +1 -0
  256. package/dist/components/forms/form-select/form-select.d.ts +32 -0
  257. package/dist/components/forms/form-select/form-select.d.ts.map +1 -0
  258. package/dist/components/forms/form-select/form-select.js +34 -0
  259. package/dist/components/forms/form-select/form-select.js.map +1 -0
  260. package/dist/components/forms/form-textarea/form-textarea.d.ts +31 -0
  261. package/dist/components/forms/form-textarea/form-textarea.d.ts.map +1 -0
  262. package/dist/components/forms/form-textarea/form-textarea.js +34 -0
  263. package/dist/components/forms/form-textarea/form-textarea.js.map +1 -0
  264. package/dist/components/forms/input/index.d.ts +3 -0
  265. package/dist/components/forms/input/index.d.ts.map +1 -0
  266. package/dist/components/forms/input/input.d.ts +71 -0
  267. package/dist/components/forms/input/input.d.ts.map +1 -0
  268. package/dist/components/forms/input/input.js +64 -0
  269. package/dist/components/forms/input/input.js.map +1 -0
  270. package/dist/components/forms/input-group/index.d.ts +3 -0
  271. package/dist/components/forms/input-group/index.d.ts.map +1 -0
  272. package/dist/components/forms/input-group/input-group.d.ts +43 -0
  273. package/dist/components/forms/input-group/input-group.d.ts.map +1 -0
  274. package/dist/components/forms/input-group/input-group.js +55 -0
  275. package/dist/components/forms/input-group/input-group.js.map +1 -0
  276. package/dist/components/forms/multi-select/index.d.ts +3 -0
  277. package/dist/components/forms/multi-select/index.d.ts.map +1 -0
  278. package/dist/components/forms/multi-select/multi-select.d.ts +75 -0
  279. package/dist/components/forms/multi-select/multi-select.d.ts.map +1 -0
  280. package/dist/components/forms/multi-select/multi-select.js +259 -0
  281. package/dist/components/forms/multi-select/multi-select.js.map +1 -0
  282. package/dist/components/forms/radio/index.d.ts +3 -0
  283. package/dist/components/forms/radio/index.d.ts.map +1 -0
  284. package/dist/components/forms/radio/radio.d.ts +31 -0
  285. package/dist/components/forms/radio/radio.d.ts.map +1 -0
  286. package/dist/components/forms/radio/radio.js +74 -0
  287. package/dist/components/forms/radio/radio.js.map +1 -0
  288. package/dist/components/forms/radio-group/index.d.ts +3 -0
  289. package/dist/components/forms/radio-group/index.d.ts.map +1 -0
  290. package/dist/components/forms/radio-group/radio-group.d.ts +32 -0
  291. package/dist/components/forms/radio-group/radio-group.d.ts.map +1 -0
  292. package/dist/components/forms/radio-group/radio-group.js +28 -0
  293. package/dist/components/forms/radio-group/radio-group.js.map +1 -0
  294. package/dist/components/forms/select/index.d.ts +5 -0
  295. package/dist/components/forms/select/index.d.ts.map +1 -0
  296. package/dist/components/forms/select/select-item.d.ts +16 -0
  297. package/dist/components/forms/select/select-item.d.ts.map +1 -0
  298. package/dist/components/forms/select/select-item.js +9 -0
  299. package/dist/components/forms/select/select-item.js.map +1 -0
  300. package/dist/components/forms/select/select.d.ts +52 -0
  301. package/dist/components/forms/select/select.d.ts.map +1 -0
  302. package/dist/components/forms/select/select.js +51 -0
  303. package/dist/components/forms/select/select.js.map +1 -0
  304. package/dist/components/forms/slider/index.d.ts +3 -0
  305. package/dist/components/forms/slider/index.d.ts.map +1 -0
  306. package/dist/components/forms/slider/slider.d.ts +21 -0
  307. package/dist/components/forms/slider/slider.d.ts.map +1 -0
  308. package/dist/components/forms/slider/slider.js +65 -0
  309. package/dist/components/forms/slider/slider.js.map +1 -0
  310. package/dist/components/forms/switch/index.d.ts +3 -0
  311. package/dist/components/forms/switch/index.d.ts.map +1 -0
  312. package/dist/components/forms/switch/switch.d.ts +30 -0
  313. package/dist/components/forms/switch/switch.d.ts.map +1 -0
  314. package/dist/components/forms/switch/switch.js +104 -0
  315. package/dist/components/forms/switch/switch.js.map +1 -0
  316. package/dist/components/forms/textarea/index.d.ts +3 -0
  317. package/dist/components/forms/textarea/index.d.ts.map +1 -0
  318. package/dist/components/forms/textarea/textarea.d.ts +54 -0
  319. package/dist/components/forms/textarea/textarea.d.ts.map +1 -0
  320. package/dist/components/forms/textarea/textarea.js +55 -0
  321. package/dist/components/forms/textarea/textarea.js.map +1 -0
  322. package/dist/components/index.d.ts +124 -0
  323. package/dist/components/index.d.ts.map +1 -0
  324. package/dist/components/layout/accordion/accordion.d.ts +30 -0
  325. package/dist/components/layout/accordion/accordion.d.ts.map +1 -0
  326. package/dist/components/layout/accordion/accordion.js +38 -0
  327. package/dist/components/layout/accordion/accordion.js.map +1 -0
  328. package/dist/components/layout/accordion/index.d.ts +3 -0
  329. package/dist/components/layout/accordion/index.d.ts.map +1 -0
  330. package/dist/components/layout/action-card/action-card.d.ts +37 -0
  331. package/dist/components/layout/action-card/action-card.d.ts.map +1 -0
  332. package/dist/components/layout/action-card/action-card.js +104 -0
  333. package/dist/components/layout/action-card/action-card.js.map +1 -0
  334. package/dist/components/layout/action-card/index.d.ts +3 -0
  335. package/dist/components/layout/action-card/index.d.ts.map +1 -0
  336. package/dist/components/layout/card/card-actions.d.ts +47 -0
  337. package/dist/components/layout/card/card-actions.d.ts.map +1 -0
  338. package/dist/components/layout/card/card-actions.js +30 -0
  339. package/dist/components/layout/card/card-actions.js.map +1 -0
  340. package/dist/components/layout/card/card-body.d.ts +26 -0
  341. package/dist/components/layout/card/card-body.d.ts.map +1 -0
  342. package/dist/components/layout/card/card-body.js +22 -0
  343. package/dist/components/layout/card/card-body.js.map +1 -0
  344. package/dist/components/layout/card/card-figure.d.ts +50 -0
  345. package/dist/components/layout/card/card-figure.d.ts.map +1 -0
  346. package/dist/components/layout/card/card-figure.js +27 -0
  347. package/dist/components/layout/card/card-figure.js.map +1 -0
  348. package/dist/components/layout/card/card-footer.d.ts +46 -0
  349. package/dist/components/layout/card/card-footer.d.ts.map +1 -0
  350. package/dist/components/layout/card/card-footer.js +39 -0
  351. package/dist/components/layout/card/card-footer.js.map +1 -0
  352. package/dist/components/layout/card/card-header.d.ts +41 -0
  353. package/dist/components/layout/card/card-header.d.ts.map +1 -0
  354. package/dist/components/layout/card/card-header.js +27 -0
  355. package/dist/components/layout/card/card-header.js.map +1 -0
  356. package/dist/components/layout/card/card-title.d.ts +43 -0
  357. package/dist/components/layout/card/card-title.d.ts.map +1 -0
  358. package/dist/components/layout/card/card-title.js +21 -0
  359. package/dist/components/layout/card/card-title.js.map +1 -0
  360. package/dist/components/layout/card/card.d.ts +74 -0
  361. package/dist/components/layout/card/card.d.ts.map +1 -0
  362. package/dist/components/layout/card/card.js +64 -0
  363. package/dist/components/layout/card/card.js.map +1 -0
  364. package/dist/components/layout/card/index.d.ts +15 -0
  365. package/dist/components/layout/card/index.d.ts.map +1 -0
  366. package/dist/components/layout/container/container.d.ts +33 -0
  367. package/dist/components/layout/container/container.d.ts.map +1 -0
  368. package/dist/components/layout/container/container.js +36 -0
  369. package/dist/components/layout/container/container.js.map +1 -0
  370. package/dist/components/layout/container/index.d.ts +3 -0
  371. package/dist/components/layout/container/index.d.ts.map +1 -0
  372. package/dist/components/layout/divider/divider.d.ts +15 -0
  373. package/dist/components/layout/divider/divider.d.ts.map +1 -0
  374. package/dist/components/layout/divider/divider.js +10 -0
  375. package/dist/components/layout/divider/divider.js.map +1 -0
  376. package/dist/components/layout/divider/index.d.ts +3 -0
  377. package/dist/components/layout/divider/index.d.ts.map +1 -0
  378. package/dist/components/layout/drawer/drawer.d.ts +35 -0
  379. package/dist/components/layout/drawer/drawer.d.ts.map +1 -0
  380. package/dist/components/layout/drawer/drawer.js +108 -0
  381. package/dist/components/layout/drawer/drawer.js.map +1 -0
  382. package/dist/components/layout/drawer/index.d.ts +3 -0
  383. package/dist/components/layout/drawer/index.d.ts.map +1 -0
  384. package/dist/components/layout/feature-section/feature-section.d.ts +36 -0
  385. package/dist/components/layout/feature-section/feature-section.d.ts.map +1 -0
  386. package/dist/components/layout/feature-section/feature-section.js +37 -0
  387. package/dist/components/layout/feature-section/feature-section.js.map +1 -0
  388. package/dist/components/layout/feature-section/index.d.ts +3 -0
  389. package/dist/components/layout/feature-section/index.d.ts.map +1 -0
  390. package/dist/components/layout/footer/footer.d.ts +37 -0
  391. package/dist/components/layout/footer/footer.d.ts.map +1 -0
  392. package/dist/components/layout/footer/footer.js +36 -0
  393. package/dist/components/layout/footer/footer.js.map +1 -0
  394. package/dist/components/layout/footer/index.d.ts +3 -0
  395. package/dist/components/layout/footer/index.d.ts.map +1 -0
  396. package/dist/components/layout/grid/grid.d.ts +66 -0
  397. package/dist/components/layout/grid/grid.d.ts.map +1 -0
  398. package/dist/components/layout/grid/grid.js +62 -0
  399. package/dist/components/layout/grid/grid.js.map +1 -0
  400. package/dist/components/layout/grid/index.d.ts +3 -0
  401. package/dist/components/layout/grid/index.d.ts.map +1 -0
  402. package/dist/components/layout/hero/hero.d.ts +61 -0
  403. package/dist/components/layout/hero/hero.d.ts.map +1 -0
  404. package/dist/components/layout/hero/hero.js +79 -0
  405. package/dist/components/layout/hero/hero.js.map +1 -0
  406. package/dist/components/layout/hero/index.d.ts +3 -0
  407. package/dist/components/layout/hero/index.d.ts.map +1 -0
  408. package/dist/components/layout/left-nav-layout/index.d.ts +7 -0
  409. package/dist/components/layout/left-nav-layout/index.d.ts.map +1 -0
  410. package/dist/components/layout/left-nav-layout/left-nav-item.d.ts +56 -0
  411. package/dist/components/layout/left-nav-layout/left-nav-item.d.ts.map +1 -0
  412. package/dist/components/layout/left-nav-layout/left-nav-item.js +105 -0
  413. package/dist/components/layout/left-nav-layout/left-nav-item.js.map +1 -0
  414. package/dist/components/layout/left-nav-layout/left-nav-layout.d.ts +67 -0
  415. package/dist/components/layout/left-nav-layout/left-nav-layout.d.ts.map +1 -0
  416. package/dist/components/layout/left-nav-layout/left-nav-layout.js +182 -0
  417. package/dist/components/layout/left-nav-layout/left-nav-layout.js.map +1 -0
  418. package/dist/components/layout/left-nav-layout/left-nav-section.d.ts +40 -0
  419. package/dist/components/layout/left-nav-layout/left-nav-section.d.ts.map +1 -0
  420. package/dist/components/layout/left-nav-layout/left-nav-section.js +119 -0
  421. package/dist/components/layout/left-nav-layout/left-nav-section.js.map +1 -0
  422. package/dist/components/layout/page/index.d.ts +3 -0
  423. package/dist/components/layout/page/index.d.ts.map +1 -0
  424. package/dist/components/layout/page/page.d.ts +17 -0
  425. package/dist/components/layout/page/page.d.ts.map +1 -0
  426. package/dist/components/layout/page/page.js +9 -0
  427. package/dist/components/layout/page/page.js.map +1 -0
  428. package/dist/components/layout/page-header/index.d.ts +3 -0
  429. package/dist/components/layout/page-header/index.d.ts.map +1 -0
  430. package/dist/components/layout/page-header/page-header.d.ts +21 -0
  431. package/dist/components/layout/page-header/page-header.d.ts.map +1 -0
  432. package/dist/components/layout/page-header/page-header.js +18 -0
  433. package/dist/components/layout/page-header/page-header.js.map +1 -0
  434. package/dist/components/layout/page-transition/index.d.ts +3 -0
  435. package/dist/components/layout/page-transition/index.d.ts.map +1 -0
  436. package/dist/components/layout/page-transition/page-transition.d.ts +52 -0
  437. package/dist/components/layout/page-transition/page-transition.d.ts.map +1 -0
  438. package/dist/components/layout/page-transition/page-transition.js +43 -0
  439. package/dist/components/layout/page-transition/page-transition.js.map +1 -0
  440. package/dist/components/layout/section/index.d.ts +3 -0
  441. package/dist/components/layout/section/index.d.ts.map +1 -0
  442. package/dist/components/layout/section/section.d.ts +35 -0
  443. package/dist/components/layout/section/section.d.ts.map +1 -0
  444. package/dist/components/layout/section/section.js +18 -0
  445. package/dist/components/layout/section/section.js.map +1 -0
  446. package/dist/components/layout/section-header/index.d.ts +3 -0
  447. package/dist/components/layout/section-header/index.d.ts.map +1 -0
  448. package/dist/components/layout/section-header/section-header.d.ts +23 -0
  449. package/dist/components/layout/section-header/section-header.d.ts.map +1 -0
  450. package/dist/components/layout/section-header/section-header.js +18 -0
  451. package/dist/components/layout/section-header/section-header.js.map +1 -0
  452. package/dist/components/layout/settings-page/index.d.ts +4 -0
  453. package/dist/components/layout/settings-page/index.d.ts.map +1 -0
  454. package/dist/components/layout/settings-page/setting-item.d.ts +52 -0
  455. package/dist/components/layout/settings-page/setting-item.d.ts.map +1 -0
  456. package/dist/components/layout/settings-page/setting-item.js +31 -0
  457. package/dist/components/layout/settings-page/setting-item.js.map +1 -0
  458. package/dist/components/layout/settings-page/settings-page.d.ts +37 -0
  459. package/dist/components/layout/settings-page/settings-page.d.ts.map +1 -0
  460. package/dist/components/layout/settings-page/settings-page.js +18 -0
  461. package/dist/components/layout/settings-page/settings-page.js.map +1 -0
  462. package/dist/components/layout/settings-page/settings-section.d.ts +35 -0
  463. package/dist/components/layout/settings-page/settings-section.d.ts.map +1 -0
  464. package/dist/components/layout/settings-page/settings-section.js +17 -0
  465. package/dist/components/layout/settings-page/settings-section.js.map +1 -0
  466. package/dist/components/layout/stack/index.d.ts +3 -0
  467. package/dist/components/layout/stack/index.d.ts.map +1 -0
  468. package/dist/components/layout/stack/stack.d.ts +33 -0
  469. package/dist/components/layout/stack/stack.d.ts.map +1 -0
  470. package/dist/components/layout/stack/stack.js +44 -0
  471. package/dist/components/layout/stack/stack.js.map +1 -0
  472. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +61 -0
  473. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  474. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +30 -0
  475. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
  476. package/dist/components/navigation/breadcrumbs/index.d.ts +3 -0
  477. package/dist/components/navigation/breadcrumbs/index.d.ts.map +1 -0
  478. package/dist/components/navigation/dropdown/dropdown.d.ts +83 -0
  479. package/dist/components/navigation/dropdown/dropdown.d.ts.map +1 -0
  480. package/dist/components/navigation/dropdown/dropdown.js +295 -0
  481. package/dist/components/navigation/dropdown/dropdown.js.map +1 -0
  482. package/dist/components/navigation/dropdown/index.d.ts +5 -0
  483. package/dist/components/navigation/dropdown/index.d.ts.map +1 -0
  484. package/dist/components/navigation/nav/index.d.ts +3 -0
  485. package/dist/components/navigation/nav/index.d.ts.map +1 -0
  486. package/dist/components/navigation/nav/nav.d.ts +24 -0
  487. package/dist/components/navigation/nav/nav.d.ts.map +1 -0
  488. package/dist/components/navigation/nav/nav.js +32 -0
  489. package/dist/components/navigation/nav/nav.js.map +1 -0
  490. package/dist/components/navigation/nav-dropdown/index.d.ts +5 -0
  491. package/dist/components/navigation/nav-dropdown/index.d.ts.map +1 -0
  492. package/dist/components/navigation/nav-dropdown/nav-dropdown-item.d.ts +17 -0
  493. package/dist/components/navigation/nav-dropdown/nav-dropdown-item.d.ts.map +1 -0
  494. package/dist/components/navigation/nav-dropdown/nav-dropdown-item.js +17 -0
  495. package/dist/components/navigation/nav-dropdown/nav-dropdown-item.js.map +1 -0
  496. package/dist/components/navigation/nav-dropdown/nav-dropdown.d.ts +20 -0
  497. package/dist/components/navigation/nav-dropdown/nav-dropdown.d.ts.map +1 -0
  498. package/dist/components/navigation/nav-dropdown/nav-dropdown.js +24 -0
  499. package/dist/components/navigation/nav-dropdown/nav-dropdown.js.map +1 -0
  500. package/dist/components/navigation/navbar/index.d.ts +9 -0
  501. package/dist/components/navigation/navbar/index.d.ts.map +1 -0
  502. package/dist/components/navigation/navbar/navbar-brand.d.ts +23 -0
  503. package/dist/components/navigation/navbar/navbar-brand.d.ts.map +1 -0
  504. package/dist/components/navigation/navbar/navbar-brand.js +21 -0
  505. package/dist/components/navigation/navbar/navbar-brand.js.map +1 -0
  506. package/dist/components/navigation/navbar/navbar-link.d.ts +23 -0
  507. package/dist/components/navigation/navbar/navbar-link.d.ts.map +1 -0
  508. package/dist/components/navigation/navbar/navbar-link.js +34 -0
  509. package/dist/components/navigation/navbar/navbar-link.js.map +1 -0
  510. package/dist/components/navigation/navbar/navbar-toggle.d.ts +34 -0
  511. package/dist/components/navigation/navbar/navbar-toggle.d.ts.map +1 -0
  512. package/dist/components/navigation/navbar/navbar-toggle.js +37 -0
  513. package/dist/components/navigation/navbar/navbar-toggle.js.map +1 -0
  514. package/dist/components/navigation/navbar/navbar.d.ts +33 -0
  515. package/dist/components/navigation/navbar/navbar.d.ts.map +1 -0
  516. package/dist/components/navigation/navbar/navbar.js +40 -0
  517. package/dist/components/navigation/navbar/navbar.js.map +1 -0
  518. package/dist/components/navigation/notification-dropdown/index.d.ts +3 -0
  519. package/dist/components/navigation/notification-dropdown/index.d.ts.map +1 -0
  520. package/dist/components/navigation/notification-dropdown/notification-dropdown.d.ts +59 -0
  521. package/dist/components/navigation/notification-dropdown/notification-dropdown.d.ts.map +1 -0
  522. package/dist/components/navigation/notification-dropdown/notification-dropdown.js +456 -0
  523. package/dist/components/navigation/notification-dropdown/notification-dropdown.js.map +1 -0
  524. package/dist/components/navigation/pagination/index.d.ts +3 -0
  525. package/dist/components/navigation/pagination/index.d.ts.map +1 -0
  526. package/dist/components/navigation/pagination/pagination.d.ts +21 -0
  527. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
  528. package/dist/components/navigation/pagination/pagination.js +72 -0
  529. package/dist/components/navigation/pagination/pagination.js.map +1 -0
  530. package/dist/components/navigation/scroll-nav/index.d.ts +3 -0
  531. package/dist/components/navigation/scroll-nav/index.d.ts.map +1 -0
  532. package/dist/components/navigation/scroll-nav/scroll-nav.d.ts +53 -0
  533. package/dist/components/navigation/scroll-nav/scroll-nav.d.ts.map +1 -0
  534. package/dist/components/navigation/scroll-nav/scroll-nav.js +188 -0
  535. package/dist/components/navigation/scroll-nav/scroll-nav.js.map +1 -0
  536. package/dist/components/navigation/sidebar/index.d.ts +3 -0
  537. package/dist/components/navigation/sidebar/index.d.ts.map +1 -0
  538. package/dist/components/navigation/sidebar/sidebar.d.ts +18 -0
  539. package/dist/components/navigation/sidebar/sidebar.d.ts.map +1 -0
  540. package/dist/components/navigation/sidebar/sidebar.js +41 -0
  541. package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
  542. package/dist/components/navigation/stepper/index.d.ts +3 -0
  543. package/dist/components/navigation/stepper/index.d.ts.map +1 -0
  544. package/dist/components/navigation/stepper/stepper.d.ts +50 -0
  545. package/dist/components/navigation/stepper/stepper.d.ts.map +1 -0
  546. package/dist/components/navigation/stepper/stepper.js +159 -0
  547. package/dist/components/navigation/stepper/stepper.js.map +1 -0
  548. package/dist/components/navigation/tabs/index.d.ts +3 -0
  549. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  550. package/dist/components/navigation/tabs/tabs.d.ts +32 -0
  551. package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
  552. package/dist/components/navigation/tabs/tabs.js +61 -0
  553. package/dist/components/navigation/tabs/tabs.js.map +1 -0
  554. package/dist/components/system/auth-provider/auth-provider.d.ts +103 -0
  555. package/dist/components/system/auth-provider/auth-provider.d.ts.map +1 -0
  556. package/dist/components/system/auth-provider/auth-provider.js +118 -0
  557. package/dist/components/system/auth-provider/auth-provider.js.map +1 -0
  558. package/dist/components/system/auth-provider/auth-utils.d.ts +32 -0
  559. package/dist/components/system/auth-provider/auth-utils.d.ts.map +1 -0
  560. package/dist/components/system/auth-provider/auth-utils.js +83 -0
  561. package/dist/components/system/auth-provider/auth-utils.js.map +1 -0
  562. package/dist/components/system/auth-provider/index.d.ts +4 -0
  563. package/dist/components/system/auth-provider/index.d.ts.map +1 -0
  564. package/dist/components/system/color-mode-toggle/color-mode-toggle.d.ts +18 -0
  565. package/dist/components/system/color-mode-toggle/color-mode-toggle.d.ts.map +1 -0
  566. package/dist/components/system/color-mode-toggle/color-mode-toggle.js +27 -0
  567. package/dist/components/system/color-mode-toggle/color-mode-toggle.js.map +1 -0
  568. package/dist/components/system/color-mode-toggle/index.d.ts +3 -0
  569. package/dist/components/system/color-mode-toggle/index.d.ts.map +1 -0
  570. package/dist/components/system/error-boundary/error-boundary.d.ts +21 -0
  571. package/dist/components/system/error-boundary/error-boundary.d.ts.map +1 -0
  572. package/dist/components/system/icon/icon.d.ts +35 -0
  573. package/dist/components/system/icon/icon.d.ts.map +1 -0
  574. package/dist/components/system/icon/icon.js +83 -0
  575. package/dist/components/system/icon/icon.js.map +1 -0
  576. package/dist/components/system/icon/index.d.ts +3 -0
  577. package/dist/components/system/icon/index.d.ts.map +1 -0
  578. package/dist/components/system/theme-provider/index.d.ts +3 -0
  579. package/dist/components/system/theme-provider/index.d.ts.map +1 -0
  580. package/dist/components/system/theme-provider/theme-provider.d.ts +40 -0
  581. package/dist/components/system/theme-provider/theme-provider.d.ts.map +1 -0
  582. package/dist/components/system/theme-provider/theme-provider.js +55 -0
  583. package/dist/components/system/theme-provider/theme-provider.js.map +1 -0
  584. package/dist/components/typography/code/code.d.ts +24 -0
  585. package/dist/components/typography/code/code.d.ts.map +1 -0
  586. package/dist/components/typography/code/code.js +18 -0
  587. package/dist/components/typography/code/code.js.map +1 -0
  588. package/dist/components/typography/code/index.d.ts +3 -0
  589. package/dist/components/typography/code/index.d.ts.map +1 -0
  590. package/dist/components/typography/heading/heading.d.ts +32 -0
  591. package/dist/components/typography/heading/heading.d.ts.map +1 -0
  592. package/dist/components/typography/heading/heading.js +39 -0
  593. package/dist/components/typography/heading/heading.js.map +1 -0
  594. package/dist/components/typography/heading/index.d.ts +3 -0
  595. package/dist/components/typography/heading/index.d.ts.map +1 -0
  596. package/dist/components/typography/link/index.d.ts +3 -0
  597. package/dist/components/typography/link/index.d.ts.map +1 -0
  598. package/dist/components/typography/link/link.d.ts +44 -0
  599. package/dist/components/typography/link/link.d.ts.map +1 -0
  600. package/dist/components/typography/link/link.js +72 -0
  601. package/dist/components/typography/link/link.js.map +1 -0
  602. package/dist/components/typography/text/index.d.ts +3 -0
  603. package/dist/components/typography/text/index.d.ts.map +1 -0
  604. package/dist/components/typography/text/text.d.ts +104 -0
  605. package/dist/components/typography/text/text.d.ts.map +1 -0
  606. package/dist/components/typography/text/text.js +148 -0
  607. package/dist/components/typography/text/text.js.map +1 -0
  608. package/dist/components.d.ts +2 -0
  609. package/dist/components.d.ts.map +1 -0
  610. package/dist/hooks/useDebounce.d.ts +29 -0
  611. package/dist/hooks/useDebounce.d.ts.map +1 -0
  612. package/dist/hooks/useDebounce.js +26 -0
  613. package/dist/hooks/useDebounce.js.map +1 -0
  614. package/dist/hooks/useScrollReset.d.ts +11 -0
  615. package/dist/hooks/useScrollReset.d.ts.map +1 -0
  616. package/dist/hooks/useScrollReset.js +55 -0
  617. package/dist/hooks/useScrollReset.js.map +1 -0
  618. package/dist/humans.txt +8 -0
  619. package/dist/icons/logo.svg +9 -0
  620. package/dist/index.d.ts +7 -1170
  621. package/dist/index.d.ts.map +1 -0
  622. package/dist/index.js +287 -4333
  623. package/dist/index.js.map +1 -1
  624. package/dist/manifest.json +16 -0
  625. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  626. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  627. package/dist/robots.txt +5 -0
  628. package/dist/sitemap.xml +8 -0
  629. package/dist/staticwebapp.config.json +23 -0
  630. package/dist/style.css +2 -2
  631. package/dist/styles.d.ts +9 -0
  632. package/dist/theme/hydn-presets.d.ts +4 -0
  633. package/dist/theme/hydn-presets.d.ts.map +1 -0
  634. package/dist/theme/size-tokens.d.ts +686 -0
  635. package/dist/theme/size-tokens.d.ts.map +1 -0
  636. package/dist/theme/size-tokens.js +636 -0
  637. package/dist/theme/size-tokens.js.map +1 -0
  638. package/dist/theme/tokens.d.ts +116 -0
  639. package/dist/theme/tokens.d.ts.map +1 -0
  640. package/dist/theme/tokens.js +164 -0
  641. package/dist/theme/tokens.js.map +1 -0
  642. package/dist/utils/debounce.d.ts +7 -0
  643. package/dist/utils/debounce.d.ts.map +1 -0
  644. package/dist/utils/debounce.js +40 -0
  645. package/dist/utils/debounce.js.map +1 -0
  646. package/package.json +49 -43
  647. package/dist/index.cjs +0 -4425
  648. package/dist/index.cjs.map +0 -1
  649. package/dist/index.d.cts +0 -1170
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-tokens.js","sources":["../../src/theme/size-tokens.ts"],"sourcesContent":["/**\n * Unified Size System for hydn-ui\n *\n * All sizes use Tailwind classes and are responsive (mobile-first).\n * Mobile sizes are larger for touch targets, desktop sizes are smaller.\n *\n * SIZE SCALE: xs → sm → md → lg → xl → 2xl → 3xl\n */\n\n// =============================================================================\n// VISUAL ELEMENT SIZES (Icons, Spinners, Logos)\n// Responsive: slightly larger on mobile for visibility\n// =============================================================================\n\n/**\n * Icon/Spinner/Visual element sizes\n * Uses Tailwind classes with responsive adjustments\n */\nexport const visualSizes = {\n xs: {\n classes: 'w-3.5 h-3.5 sm:w-3 sm:h-3', // 20px mobile, 16px desktop\n pixels: { mobile: 20, desktop: 16 }\n },\n sm: {\n classes: 'w-5 h-5 sm:w-4 sm:h-4', // 24px mobile, 20px desktop\n pixels: { mobile: 24, desktop: 20 }\n },\n md: {\n classes: 'w-6 h-6 sm:w-5 sm:h-5', // 28px mobile, 24px desktop\n pixels: { mobile: 28, desktop: 24 }\n },\n lg: {\n classes: 'w-7 h-7 sm:w-6 sm:h-6', // 32px mobile, 28px desktop\n pixels: { mobile: 32, desktop: 28 }\n },\n xl: {\n classes: 'w-8 h-8 sm:w-7 sm:h-7', // 36px mobile, 32px desktop\n pixels: { mobile: 36, desktop: 32 }\n },\n '2xl': {\n classes: 'w-9 h-9 sm:w-8 sm:h-8', // 40px mobile, 36px desktop\n pixels: { mobile: 40, desktop: 36 }\n },\n '3xl': {\n classes: 'w-12 h-12 sm:w-10 sm:h-10', // 52px mobile, 44px desktop\n pixels: { mobile: 52, desktop: 44 }\n }\n} as const;\n\n/** Core size type - derived from visualSizes */\nexport type Size = keyof typeof visualSizes;\n\n/**\n * Spinner sizes - extends visual sizes with border widths\n */\nconst spinnerBorderWidths: Record<Size, string> = {\n xs: 'border',\n sm: 'border-2',\n md: 'border-2',\n lg: 'border-2',\n xl: 'border-[3px]',\n '2xl': 'border-[3px]',\n '3xl': 'border-4'\n};\n\ntype SpinnerSizeDefinition = (typeof visualSizes)[Size] & { border: string };\n\nexport const spinnerSizes: Record<Size, SpinnerSizeDefinition> = (Object.keys(visualSizes) as Size[]).reduce(\n (acc, size) => {\n acc[size] = {\n ...visualSizes[size],\n border: spinnerBorderWidths[size]\n };\n return acc;\n },\n {} as Record<Size, SpinnerSizeDefinition>\n);\n\n/**\n * Avatar sizes - larger scale for displaying faces/initials\n * Responsive: comfortable touch targets on mobile\n */\nexport const avatarSizes = {\n xs: {\n classes: 'w-8 h-8 sm:w-6 sm:h-6',\n text: 'text-sm sm:text-xs'\n },\n sm: {\n classes: 'w-10 h-10 sm:w-8 sm:h-8',\n text: 'text-base sm:text-sm'\n },\n md: {\n classes: 'w-12 h-12 sm:w-10 sm:h-10',\n text: 'text-lg sm:text-base'\n },\n lg: {\n classes: 'w-14 h-14 sm:w-12 sm:h-12',\n text: 'text-xl sm:text-lg'\n },\n xl: {\n classes: 'w-20 h-20 sm:w-16 sm:h-16',\n text: 'text-2xl sm:text-xl'\n },\n '2xl': {\n classes: 'w-24 h-24 sm:w-20 sm:h-20',\n text: 'text-3xl sm:text-2xl'\n },\n '3xl': {\n classes: 'w-28 h-28 sm:w-24 sm:h-24',\n text: 'text-4xl sm:text-3xl'\n }\n} as const;\n\n/**\n * Logo sizes - brand element sizing\n */\nexport const logoSizes = {\n xs: { classes: 'h-5 w-5 sm:h-4 sm:w-4' },\n sm: { classes: 'h-7 w-7 sm:h-6 sm:w-6' },\n md: { classes: 'h-9 w-9 sm:h-8 sm:w-8' },\n lg: { classes: 'h-12 w-12 sm:h-10 sm:w-10' },\n xl: { classes: 'h-14 w-14 sm:h-12 sm:w-12' },\n '2xl': { classes: 'h-20 w-20 sm:h-16 sm:w-16' },\n '3xl': { classes: 'h-24 w-24 sm:h-20 sm:w-20' }\n} as const;\n\n// =============================================================================\n// INTERACTIVE ELEMENT SIZES (Buttons, Inputs, Selects)\n// Responsive: larger touch targets on mobile (44px+ recommended)\n// =============================================================================\nexport const interactiveSizes = {\n xs: {\n height: 'h-8 sm:h-6 min-h-8 sm:min-h-6',\n padding: 'px-3 sm:px-2',\n text: 'text-sm sm:text-xs',\n icon: visualSizes.xs\n },\n sm: {\n height: 'h-10 sm:h-8 min-h-10 sm:min-h-8',\n padding: 'px-4 sm:px-3',\n text: 'text-base sm:text-sm',\n icon: visualSizes.sm\n },\n md: {\n height: 'h-12 sm:h-10 min-h-12 sm:min-h-10',\n padding: 'px-5 sm:px-4',\n text: 'text-base sm:text-sm',\n icon: visualSizes.md\n },\n lg: {\n height: 'h-14 sm:h-12 min-h-14 sm:min-h-12',\n padding: 'px-7 sm:px-6',\n text: 'text-lg sm:text-base',\n icon: visualSizes.lg\n },\n xl: {\n height: 'h-16 sm:h-14 min-h-16 sm:min-h-14',\n padding: 'px-9 sm:px-8',\n text: 'text-xl sm:text-lg',\n icon: visualSizes.xl\n }\n} as const;\n\nexport type InteractiveSize = keyof typeof interactiveSizes;\n\n// =============================================================================\n// INPUT WIDTH SIZES\n// Semantic width options for input fields\n// =============================================================================\nexport const inputWidthSizes = {\n xs: 'w-14 sm:w-16', // ~4 chars - ZIP codes, years\n sm: 'w-20 sm:w-24', // ~6-8 chars - short codes, area codes\n md: 'w-40 sm:w-48', // ~12-16 chars - medium text (default)\n lg: 'w-56 sm:w-64', // ~20-24 chars - names, emails\n xl: 'w-72 sm:w-80', // ~28-32 chars - long text\n '2xl': 'w-80 sm:w-96', // ~36-40 chars - very long text\n '1/4': 'w-1/4', // 25% of container\n '1/2': 'w-1/2', // 50% of container\n '3/4': 'w-3/4', // 75% of container\n full: 'w-full', // 100% of container\n fit: 'w-fit', // intrinsic width based on content (shrink-to-fit)\n auto: 'w-auto' // default width behavior (layout-dependent)\n} as const;\n\nexport type InputWidth = keyof typeof inputWidthSizes;\n\n// =============================================================================\n// INLINE ELEMENT SIZES (Badges, Chips, Tags)\n// =============================================================================\nexport const badgeSizes = {\n sm: {\n classes: 'px-2.5 sm:px-2 py-1 sm:py-0.5 text-sm sm:text-xs',\n icon: visualSizes.xs\n },\n md: {\n classes: 'px-3 sm:px-2.5 py-1 sm:py-0.5 text-sm sm:text-xs font-semibold',\n icon: visualSizes.sm\n },\n lg: {\n classes: 'px-4 sm:px-3 py-1.5 sm:py-1 text-base sm:text-sm font-semibold',\n icon: visualSizes.md\n }\n} as const;\n\nexport const chipSizes = {\n xs: {\n classes: 'px-2 sm:px-1.5 py-1 sm:py-0.5 text-sm sm:text-xs gap-1 sm:gap-0.5',\n icon: visualSizes.xs\n },\n sm: {\n classes: 'px-2.5 sm:px-2 py-1.5 sm:py-1 text-sm sm:text-xs gap-1.5 sm:gap-1',\n icon: visualSizes.sm\n },\n md: {\n classes: 'px-3.5 sm:px-3 py-2 sm:py-1.5 text-base sm:text-sm gap-2 sm:gap-1.5',\n icon: visualSizes.md\n },\n lg: {\n classes: 'px-5 sm:px-4 py-2.5 sm:py-2 text-lg sm:text-base gap-2.5 sm:gap-2',\n icon: visualSizes.lg\n },\n xl: {\n classes: 'px-6 sm:px-5 py-3 sm:py-2.5 text-xl sm:text-lg gap-3 sm:gap-2.5',\n icon: visualSizes.xl\n },\n '2xl': {\n classes: 'px-7 sm:px-6 py-3.5 sm:py-3 text-2xl sm:text-xl gap-3.5 sm:gap-3',\n icon: visualSizes['2xl']\n },\n '3xl': {\n classes: 'px-8 sm:px-7 py-4 sm:py-3.5 text-3xl sm:text-2xl gap-4 sm:gap-3.5',\n icon: visualSizes['3xl']\n }\n} as const;\n\n/**\n * Inline code sizes - for code snippets\n */\nexport const codeSizes = {\n sm: 'text-xs px-1 py-0.5',\n md: 'text-sm px-1.5 py-0.5',\n lg: 'text-base px-2 py-1'\n} as const;\n\nexport type CodeSize = keyof typeof codeSizes;\n\n/**\n * Status label sizes - for status indicators with dots\n */\nexport const statusLabelSizes = {\n sm: {\n container: 'px-2 py-0.5 text-xs gap-1.5',\n dot: 'w-1.5 h-1.5'\n },\n md: {\n container: 'px-2.5 py-0.5 text-sm gap-2',\n dot: 'w-2 h-2'\n },\n lg: {\n container: 'px-3 py-1 text-base gap-2',\n dot: 'w-2.5 h-2.5'\n }\n} as const;\n\nexport type StatusLabelSize = keyof typeof statusLabelSizes;\n\n// =============================================================================\n// TYPOGRAPHY SIZES\n// Responsive text scaling\n// =============================================================================\nexport const textSizes = {\n xs: 'text-sm sm:text-xs',\n sm: 'text-base sm:text-sm',\n base: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl sm:text-lg',\n '2xl': 'text-2xl',\n '3xl': 'text-3xl',\n '4xl': 'text-4xl',\n '5xl': 'text-5xl'\n} as const;\n\nexport type TextSize = keyof typeof textSizes;\n\n/**\n * Heading/title sizes - for headings with font weight\n */\nexport const headingSizes = {\n sm: 'text-base font-semibold',\n md: 'text-lg font-bold',\n lg: 'text-xl font-bold',\n xl: 'text-2xl font-bold',\n '2xl': 'text-3xl font-bold sm:text-2xl',\n '3xl': 'text-4xl font-bold sm:text-3xl',\n '4xl': 'text-5xl font-bold sm:text-4xl'\n} as const;\n\nexport type HeadingSize = keyof typeof headingSizes;\n\n/**\n * Card sizes - max-width for cards\n */\nexport const cardSizes = {\n xs: 'w-full sm:max-w-36',\n sm: 'w-full sm:max-w-64',\n md: 'w-full sm:max-w-96',\n lg: 'w-full sm:max-w-[28rem]',\n xl: 'w-full sm:max-w-[32rem]',\n '2xl': 'w-full sm:max-w-[36rem]',\n full: 'w-full'\n} as const;\n\nexport type CardSize = keyof typeof cardSizes;\n\n// =============================================================================\n// SPACING / GAP SIZES\n// Responsive gaps (larger on mobile for touch)\n// =============================================================================\nexport const gapSizes = {\n none: 'gap-0',\n xs: 'gap-2 sm:gap-1',\n sm: 'gap-3 sm:gap-2',\n md: 'gap-5 sm:gap-4',\n lg: 'gap-7 sm:gap-6',\n xl: 'gap-10 sm:gap-8',\n '2xl': 'gap-14 sm:gap-12',\n '3xl': 'gap-20 sm:gap-16'\n} as const;\n\nexport type GapSize = keyof typeof gapSizes;\n\n// =============================================================================\n// CONTAINER / LAYOUT SIZES\n// =============================================================================\nexport const containerWidth = {\n sm: 'max-w-screen-sm',\n md: 'max-w-screen-md',\n lg: 'max-w-screen-lg',\n xl: 'max-w-screen-xl',\n '2xl': 'max-w-screen-2xl',\n '3xl': 'max-w-[1920px]',\n full: 'max-w-full',\n screen: 'max-w-[100vw]',\n none: ''\n} as const;\n\nexport type ContainerWidthSize = keyof typeof containerWidth;\n\nexport const containerHeight = {\n xs: 'h-[10rem]', // 160px\n sm: 'h-[15rem]', // 240px\n md: 'h-[20rem]', // 320px\n lg: 'h-[25rem]', // 400px\n xl: 'h-[30rem]', // 480px\n '2xl': 'h-[35rem]', // 560px\n '3xl': 'h-[40rem]', // 640px\n full: 'h-full',\n screen: 'h-screen',\n none: ''\n} as const;\n\nexport type ContainerHeightSize = keyof typeof containerHeight;\n\n/**\n * Container min-width options\n */\nexport const containerMinWidths = {\n xs: 'min-w-[20rem]', // 320px\n sm: 'min-w-[24rem]', // 384px\n md: 'min-w-[28rem]', // 448px\n lg: 'min-w-[32rem]', // 512px\n xl: 'min-w-[36rem]', // 576px\n '2xl': 'min-w-[42rem]', // 672px\n '3xl': 'min-w-[48rem]', // 768px\n full: 'min-w-full',\n screen: 'min-w-screen',\n none: ''\n} as const;\n\nexport type ContainerMinWidthSize = keyof typeof containerMinWidths;\n\nexport const containerMaxWidths = {\n xs: 'max-w-[20rem]', // 320px\n sm: 'max-w-[24rem]', // 384px\n md: 'max-w-[28rem]', // 448px\n lg: 'max-w-[32rem]', // 512px\n xl: 'max-w-[36rem]', // 576px\n '2xl': 'max-w-[42rem]', // 672px\n '3xl': 'max-w-[48rem]', // 768px\n full: 'max-w-full',\n screen: 'max-w-screen',\n none: ''\n} as const;\n\nexport type ContainerMaxWidthSize = keyof typeof containerMaxWidths;\n\n/**\n * Container min-height options\n */\nexport const containerMinHeights = {\n xs: 'min-h-[10rem]', // 160px\n sm: 'min-h-[15rem]', // 240px\n md: 'min-h-[20rem]', // 320px\n lg: 'min-h-[25rem]', // 400px\n xl: 'min-h-[30rem]', // 480px\n '2xl': 'min-h-[35rem]', // 560px\n '3xl': 'min-h-[40rem]', // 640px\n full: 'min-h-full',\n screen: 'min-h-screen',\n none: ''\n} as const;\n\nexport type ContainerMinHeightSize = keyof typeof containerMinHeights;\n\nexport const containerMaxHeights = {\n xs: 'max-h-[10rem]', // 160px\n sm: 'max-h-[15rem]', // 240px\n md: 'max-h-[20rem]', // 320px\n lg: 'max-h-[25rem]', // 400px\n xl: 'max-h-[30rem]', // 480px\n '2xl': 'max-h-[35rem]', // 560px\n '3xl': 'max-h-[40rem]', // 640px\n full: 'max-h-full',\n screen: 'max-h-screen',\n none: ''\n} as const;\n\nexport type ContainerMaxHeightSize = keyof typeof containerMaxHeights;\n\nexport const stackWidths = {\n sm: 'w-screen-sm',\n md: 'w-screen-md',\n lg: 'w-screen-lg',\n xl: 'w-screen-xl',\n '2xl': 'w-screen-2xl',\n '3xl': 'w-[1920px]',\n '1/4': 'w-1/4',\n '1/2': 'w-1/2',\n '3/4': 'w-3/4',\n full: 'w-full',\n screen: 'w-[100vw]',\n auto: 'w-auto',\n none: ''\n} as const;\n\nexport type StackWidthSize = keyof typeof stackWidths;\n\nexport const stackHeights = {\n xs: 'h-[10rem]', // 160px\n sm: 'h-[15rem]', // 240px\n md: 'h-[20rem]', // 320px\n lg: 'h-[25rem]', // 400px\n xl: 'h-[30rem]', // 480px\n '2xl': 'h-[35rem]', // 560px\n '3xl': 'h-[40rem]', // 640px\n '1/4': 'h-1/4',\n '1/2': 'h-1/2',\n '3/4': 'h-3/4',\n full: 'h-full',\n screen: 'h-screen',\n auto: 'h-auto',\n none: ''\n} as const;\n\nexport type StackHeightSize = keyof typeof stackHeights;\n\nexport const stackMinWidths = {\n xs: 'min-w-[20rem]', // 320px\n sm: 'min-w-[24rem]', // 384px\n md: 'min-w-[28rem]', // 448px\n lg: 'min-w-[32rem]', // 512px\n xl: 'min-w-[36rem]', // 576px\n '2xl': 'min-w-[42rem]', // 672px\n '3xl': 'min-w-[48rem]', // 768px\n '1/4': 'min-w-1/4',\n '1/2': 'min-w-1/2',\n '3/4': 'min-w-3/4',\n full: 'min-w-full',\n screen: 'min-w-screen',\n none: ''\n} as const;\n\nexport type StackMinWidthSize = keyof typeof stackMinWidths;\n\nexport const stackMaxWidths = {\n xs: 'max-w-[20rem]', // 320px\n sm: 'max-w-[24rem]', // 384px\n md: 'max-w-[28rem]', // 448px\n lg: 'max-w-[32rem]', // 512px\n xl: 'max-w-[36rem]', // 576px\n '2xl': 'max-w-[42rem]', // 672px\n '3xl': 'max-w-[48rem]', // 768px\n '1/4': 'max-w-1/4',\n '1/2': 'max-w-1/2',\n '3/4': 'max-w-3/4',\n full: 'max-w-full',\n screen: 'max-w-screen',\n none: ''\n} as const;\n\nexport type StackMaxWidthSize = keyof typeof stackMaxWidths;\n\nexport const stackMinHeights = {\n xs: 'min-h-[10rem]', // 160px\n sm: 'min-h-[15rem]', // 240px\n md: 'min-h-[20rem]', // 320px\n lg: 'min-h-[25rem]', // 400px\n xl: 'min-h-[30rem]', // 480px\n '2xl': 'min-h-[35rem]', // 560px\n '3xl': 'min-h-[40rem]', // 640px\n '1/4': 'min-h-1/4',\n '1/2': 'min-h-1/2',\n '3/4': 'min-h-3/4',\n full: 'min-h-full',\n screen: 'min-h-screen',\n none: ''\n} as const;\n\nexport type StackMinHeightSize = keyof typeof stackMinHeights;\n\nexport const stackMaxHeights = {\n xs: 'max-h-[10rem]', // 160px\n sm: 'max-h-[15rem]', // 240px\n md: 'max-h-[20rem]', // 320px\n lg: 'max-h-[25rem]', // 400px\n xl: 'max-h-[30rem]', // 480px\n '2xl': 'max-h-[35rem]', // 560px\n '3xl': 'max-h-[40rem]', // 640px\n '1/4': 'max-h-1/4',\n '1/2': 'max-h-1/2',\n '3/4': 'max-h-3/4',\n full: 'max-h-full',\n screen: 'max-h-screen',\n none: ''\n} as const;\n\n// =============================================================================\n// PADDING SIZES FOR SECTIONS AND CARDS\n// =============================================================================\n\nexport const sectionPadding = {\n none: 'py-0',\n xs: 'py-6 sm:py-4',\n sm: 'py-10 sm:py-8',\n md: 'py-16 sm:py-12',\n lg: 'py-20 sm:py-16',\n xl: 'py-28 sm:py-24',\n '2xl': 'py-36 sm:py-32'\n} as const;\n\nexport type SectionPaddingSize = keyof typeof sectionPadding;\n\nexport const cardPadding = {\n none: 'p-0',\n xs: 'p-3 sm:p-2',\n sm: 'p-5 sm:p-4',\n md: 'p-7 sm:p-6',\n lg: 'p-9 sm:p-8',\n xl: 'p-12 sm:p-10',\n '2xl': 'p-14 sm:p-12'\n} as const;\n\nexport type CardPaddingSize = keyof typeof cardPadding;\n\nexport const cardMargin = {\n none: 'm-0',\n xs: 'm-3 sm:m-2',\n sm: 'm-5 sm:m-4',\n md: 'm-7 sm:m-6',\n lg: 'm-9 sm:m-8',\n xl: 'm-12 sm:m-10',\n '2xl': 'm-14 sm:m-12'\n} as const;\n\nexport type CardMarginSize = keyof typeof cardMargin;\n\n// =============================================================================\n// MARGIN SIZES (Axis-specific)\n// =============================================================================\n\nexport const marginX = {\n none: '',\n auto: 'mx-auto',\n xs: 'mx-3 sm:mx-2',\n sm: 'mx-5 sm:mx-4',\n md: 'mx-7 sm:mx-6',\n lg: 'mx-9 sm:mx-8',\n xl: 'mx-12 sm:mx-10',\n '2xl': 'mx-14 sm:mx-12'\n} as const;\n\nexport type MarginXSize = keyof typeof marginX;\n\nexport const marginY = {\n none: '',\n auto: 'my-auto',\n xs: 'my-3 sm:my-2',\n sm: 'my-5 sm:my-4',\n md: 'my-7 sm:my-6',\n lg: 'my-9 sm:my-8',\n xl: 'my-12 sm:my-10',\n '2xl': 'my-14 sm:my-12'\n} as const;\n\nexport type MarginYSize = keyof typeof marginY;\n\n// =============================================================================\n// OVERLAY SIZES (Modals, Drawers)\n// Full width on mobile, constrained on desktop\n// =============================================================================\nexport const overlaySizes = {\n xs: 'w-full sm:w-64',\n sm: 'w-full sm:w-80',\n md: 'w-full sm:w-96',\n lg: 'w-full sm:w-[28rem]',\n xl: 'w-full sm:w-[32rem]',\n '2xl': 'w-full sm:w-[40rem]',\n '3xl': 'w-full sm:w-[48rem]',\n full: 'w-full max-w-2xl'\n} as const;\n\nexport type OverlaySize = keyof typeof overlaySizes;\n\n// =============================================================================\n// BORDER RADIUS\n// =============================================================================\nexport const borderRadius = {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full'\n} as const;\n\nexport type BorderRadiusSize = keyof typeof borderRadius;\n\n// =============================================================================\n// FORM INPUT TOKENS\n// Centralized styling for form inputs (Input, Select, Textarea)\n// =============================================================================\n\n/** Validation states for form inputs */\nexport type ValidationState = 'neutral' | 'error' | 'success' | 'warning';\n\n/** Border classes for each validation state */\nexport const validationBorderClasses: Record<ValidationState, string> = {\n neutral: 'border-input focus:border-ring',\n error: 'border-error focus:border-error',\n success: 'border-success focus:border-success',\n warning: 'border-warning focus:border-warning'\n};\n\n/** Ring/focus classes for each validation state */\nexport const validationRingClasses: Record<ValidationState, string> = {\n neutral: 'focus:ring-ring/20',\n error: 'focus:ring-error/20',\n success: 'focus:ring-success/20',\n warning: 'focus:ring-warning/20'\n};\n\n/** Text color classes for validation messages */\nexport const validationTextClasses: Record<ValidationState, string> = {\n neutral: 'text-neutral-foreground',\n error: 'text-error',\n success: 'text-success',\n warning: 'text-warning'\n};\n\n/** Base input classes shared by Input, Select, Textarea */\nexport const inputBaseClasses =\n 'flex rounded-lg border bg-background shadow-sm transition-all duration-200 placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-muted/50';\n\n/** Get complete input classes for a given size and validation state */\nexport function getInputClasses(size: InteractiveSize, validationState: ValidationState): string {\n const sizeConfig = interactiveSizes[size];\n return `${inputBaseClasses} ${sizeConfig.height} px-4 sm:px-3 overflow-visible ${sizeConfig.text} ${validationBorderClasses[validationState]} ${validationRingClasses[validationState]}`;\n}\n\n/** Form spacing options */\nexport const formSpacing = {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8'\n} as const;\n\nexport type FormSpacing = keyof typeof formSpacing;\n\n// =============================================================================\n// HELPER FUNCTIONS\n// =============================================================================\n\n/**\n * Get icon size in pixels for SVG components (like Tabler icons)\n * Returns desktop size by default, or you can specify 'mobile'\n */\nexport function getIconPixels(size: Size | number, variant: 'mobile' | 'desktop' = 'desktop'): number {\n if (typeof size === 'number') return size;\n return visualSizes?.[size]?.pixels?.[variant] ?? 0;\n}\n\n/**\n * Get Tailwind classes for a visual element size\n */\nexport function getVisualClasses(size: Size): string {\n return visualSizes[size].classes;\n}\n\n// =============================================================================\n// SIZE REFERENCE TABLE\n// =============================================================================\n/**\n * Visual Size Reference (mobile / desktop):\n *\n * | Size | Visual | Avatar | Interactive Height | Text |\n * |------|---------|----------|-------------------|---------------|\n * | xs | 14/12px | 32/24px | 32/24px | text-sm/xs |\n * | sm | 20/16px | 40/32px | 40/32px | text-base/sm |\n * | md | 24/20px | 48/40px | 48/40px | text-base/sm |\n * | lg | 28/24px | 56/48px | 56/48px | text-lg/base |\n * | xl | 32/28px | 80/64px | 64/56px | text-xl/lg |\n * | 2xl | 36/32px | 96/80px | - | text-2xl/xl |\n * | 3xl | 48/40px | 112/96px | - | text-3xl/2xl |\n */\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Theme color tokens and helpers for the design system.
3
+ * Maps CSS custom properties from globals.css (light/dark) to JS for inline styles and class generation.
4
+ */
5
+ export declare const colors: {
6
+ background: string;
7
+ foreground: string;
8
+ card: string;
9
+ 'card-foreground': string;
10
+ popover: string;
11
+ 'popover-foreground': string;
12
+ primary: string;
13
+ 'primary-hover': string;
14
+ 'primary-active': string;
15
+ 'primary-foreground': string;
16
+ accent: string;
17
+ 'accent-hover': string;
18
+ 'accent-active': string;
19
+ 'accent-foreground': string;
20
+ neutral: string;
21
+ 'neutral-hover': string;
22
+ 'neutral-active': string;
23
+ 'neutral-foreground': string;
24
+ muted: string;
25
+ 'muted-hover': string;
26
+ 'muted-active': string;
27
+ 'muted-foreground': string;
28
+ error: string;
29
+ 'error-hover': string;
30
+ 'error-active': string;
31
+ 'error-foreground': string;
32
+ success: string;
33
+ 'success-hover': string;
34
+ 'success-active': string;
35
+ 'success-foreground': string;
36
+ warning: string;
37
+ 'warning-hover': string;
38
+ 'warning-active': string;
39
+ 'warning-foreground': string;
40
+ info: string;
41
+ 'info-hover': string;
42
+ 'info-active': string;
43
+ 'info-foreground': string;
44
+ border: string;
45
+ input: string;
46
+ ring: string;
47
+ };
48
+ export type ThemeColor = keyof typeof colors;
49
+ export declare const themeColorNames: ThemeColor[];
50
+ export declare const colorClassPrefixes: readonly ["text", "bg", "border", "ring", "outline", "decoration", "fill", "stroke"];
51
+ export type ColorClassPrefix = (typeof colorClassPrefixes)[number];
52
+ export type ThemeColorClass = `${ColorClassPrefix}-${ThemeColor}`;
53
+ export declare const themeColorClasses: ("border-background" | "border-foreground" | "border-card" | "border-card-foreground" | "border-popover" | "border-popover-foreground" | "border-primary" | "border-primary-hover" | "border-primary-active" | "border-primary-foreground" | "border-accent" | "border-accent-hover" | "border-accent-active" | "border-accent-foreground" | "border-neutral" | "border-neutral-hover" | "border-neutral-active" | "border-neutral-foreground" | "border-muted" | "border-muted-hover" | "border-muted-active" | "border-muted-foreground" | "border-error" | "border-error-hover" | "border-error-active" | "border-error-foreground" | "border-success" | "border-success-hover" | "border-success-active" | "border-success-foreground" | "border-warning" | "border-warning-hover" | "border-warning-active" | "border-warning-foreground" | "border-info" | "border-info-hover" | "border-info-active" | "border-info-foreground" | "border-border" | "border-input" | "border-ring" | "ring-background" | "ring-foreground" | "ring-card" | "ring-card-foreground" | "ring-popover" | "ring-popover-foreground" | "ring-primary" | "ring-primary-hover" | "ring-primary-active" | "ring-primary-foreground" | "ring-accent" | "ring-accent-hover" | "ring-accent-active" | "ring-accent-foreground" | "ring-neutral" | "ring-neutral-hover" | "ring-neutral-active" | "ring-neutral-foreground" | "ring-muted" | "ring-muted-hover" | "ring-muted-active" | "ring-muted-foreground" | "ring-error" | "ring-error-hover" | "ring-error-active" | "ring-error-foreground" | "ring-success" | "ring-success-hover" | "ring-success-active" | "ring-success-foreground" | "ring-warning" | "ring-warning-hover" | "ring-warning-active" | "ring-warning-foreground" | "ring-info" | "ring-info-hover" | "ring-info-active" | "ring-info-foreground" | "ring-border" | "ring-input" | "ring-ring" | "text-background" | "text-foreground" | "text-card" | "text-card-foreground" | "text-popover" | "text-popover-foreground" | "text-primary" | "text-primary-hover" | "text-primary-active" | "text-primary-foreground" | "text-accent" | "text-accent-hover" | "text-accent-active" | "text-accent-foreground" | "text-neutral" | "text-neutral-hover" | "text-neutral-active" | "text-neutral-foreground" | "text-muted" | "text-muted-hover" | "text-muted-active" | "text-muted-foreground" | "text-error" | "text-error-hover" | "text-error-active" | "text-error-foreground" | "text-success" | "text-success-hover" | "text-success-active" | "text-success-foreground" | "text-warning" | "text-warning-hover" | "text-warning-active" | "text-warning-foreground" | "text-info" | "text-info-hover" | "text-info-active" | "text-info-foreground" | "text-border" | "text-input" | "text-ring" | "bg-background" | "bg-foreground" | "bg-card" | "bg-card-foreground" | "bg-popover" | "bg-popover-foreground" | "bg-primary" | "bg-primary-hover" | "bg-primary-active" | "bg-primary-foreground" | "bg-accent" | "bg-accent-hover" | "bg-accent-active" | "bg-accent-foreground" | "bg-neutral" | "bg-neutral-hover" | "bg-neutral-active" | "bg-neutral-foreground" | "bg-muted" | "bg-muted-hover" | "bg-muted-active" | "bg-muted-foreground" | "bg-error" | "bg-error-hover" | "bg-error-active" | "bg-error-foreground" | "bg-success" | "bg-success-hover" | "bg-success-active" | "bg-success-foreground" | "bg-warning" | "bg-warning-hover" | "bg-warning-active" | "bg-warning-foreground" | "bg-info" | "bg-info-hover" | "bg-info-active" | "bg-info-foreground" | "bg-border" | "bg-input" | "bg-ring" | "outline-background" | "outline-foreground" | "outline-card" | "outline-card-foreground" | "outline-popover" | "outline-popover-foreground" | "outline-primary" | "outline-primary-hover" | "outline-primary-active" | "outline-primary-foreground" | "outline-accent" | "outline-accent-hover" | "outline-accent-active" | "outline-accent-foreground" | "outline-neutral" | "outline-neutral-hover" | "outline-neutral-active" | "outline-neutral-foreground" | "outline-muted" | "outline-muted-hover" | "outline-muted-active" | "outline-muted-foreground" | "outline-error" | "outline-error-hover" | "outline-error-active" | "outline-error-foreground" | "outline-success" | "outline-success-hover" | "outline-success-active" | "outline-success-foreground" | "outline-warning" | "outline-warning-hover" | "outline-warning-active" | "outline-warning-foreground" | "outline-info" | "outline-info-hover" | "outline-info-active" | "outline-info-foreground" | "outline-border" | "outline-input" | "outline-ring" | "decoration-background" | "decoration-foreground" | "decoration-card" | "decoration-card-foreground" | "decoration-popover" | "decoration-popover-foreground" | "decoration-primary" | "decoration-primary-hover" | "decoration-primary-active" | "decoration-primary-foreground" | "decoration-accent" | "decoration-accent-hover" | "decoration-accent-active" | "decoration-accent-foreground" | "decoration-neutral" | "decoration-neutral-hover" | "decoration-neutral-active" | "decoration-neutral-foreground" | "decoration-muted" | "decoration-muted-hover" | "decoration-muted-active" | "decoration-muted-foreground" | "decoration-error" | "decoration-error-hover" | "decoration-error-active" | "decoration-error-foreground" | "decoration-success" | "decoration-success-hover" | "decoration-success-active" | "decoration-success-foreground" | "decoration-warning" | "decoration-warning-hover" | "decoration-warning-active" | "decoration-warning-foreground" | "decoration-info" | "decoration-info-hover" | "decoration-info-active" | "decoration-info-foreground" | "decoration-border" | "decoration-input" | "decoration-ring" | "fill-background" | "fill-foreground" | "fill-card" | "fill-card-foreground" | "fill-popover" | "fill-popover-foreground" | "fill-primary" | "fill-primary-hover" | "fill-primary-active" | "fill-primary-foreground" | "fill-accent" | "fill-accent-hover" | "fill-accent-active" | "fill-accent-foreground" | "fill-neutral" | "fill-neutral-hover" | "fill-neutral-active" | "fill-neutral-foreground" | "fill-muted" | "fill-muted-hover" | "fill-muted-active" | "fill-muted-foreground" | "fill-error" | "fill-error-hover" | "fill-error-active" | "fill-error-foreground" | "fill-success" | "fill-success-hover" | "fill-success-active" | "fill-success-foreground" | "fill-warning" | "fill-warning-hover" | "fill-warning-active" | "fill-warning-foreground" | "fill-info" | "fill-info-hover" | "fill-info-active" | "fill-info-foreground" | "fill-border" | "fill-input" | "fill-ring" | "stroke-background" | "stroke-foreground" | "stroke-card" | "stroke-card-foreground" | "stroke-popover" | "stroke-popover-foreground" | "stroke-primary" | "stroke-primary-hover" | "stroke-primary-active" | "stroke-primary-foreground" | "stroke-accent" | "stroke-accent-hover" | "stroke-accent-active" | "stroke-accent-foreground" | "stroke-neutral" | "stroke-neutral-hover" | "stroke-neutral-active" | "stroke-neutral-foreground" | "stroke-muted" | "stroke-muted-hover" | "stroke-muted-active" | "stroke-muted-foreground" | "stroke-error" | "stroke-error-hover" | "stroke-error-active" | "stroke-error-foreground" | "stroke-success" | "stroke-success-hover" | "stroke-success-active" | "stroke-success-foreground" | "stroke-warning" | "stroke-warning-hover" | "stroke-warning-active" | "stroke-warning-foreground" | "stroke-info" | "stroke-info-hover" | "stroke-info-active" | "stroke-info-foreground" | "stroke-border" | "stroke-input" | "stroke-ring")[];
54
+ export type ThemeColorProp = ThemeColor | ThemeColorClass;
55
+ /**
56
+ * Core color variants used across all components
57
+ * Use this type for component `variant` props to ensure consistency
58
+ * Includes: neutral, primary, accent, info, success, warning, error
59
+ */
60
+ export type ColorVariant = 'neutral' | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'accent';
61
+ /**
62
+ * Notification/alert-specific color variants (excludes neutral/primary/accent)
63
+ * For feedback components like Alert, Toast, etc.
64
+ */
65
+ export type NotificationColorVariant = Exclude<ColorVariant, 'neutral' | 'primary' | 'accent'>;
66
+ /**
67
+ * Common color variants for most components (the essential 5)
68
+ * Includes: neutral, primary, success, warning, error
69
+ */
70
+ export type CommonColorVariant = Extract<ColorVariant, 'neutral' | 'primary' | 'success' | 'warning' | 'error'>;
71
+ /**
72
+ * Type-safe record ensuring all color variants are defined for each style
73
+ */
74
+ type ColorVariantRecord = Record<ColorVariant, string>;
75
+ /**
76
+ * Standardized color variant classes for consistent component styling
77
+ * All variants support: neutral, primary, accent, info, success, warning, error
78
+ */
79
+ export declare const colorVariants: {
80
+ solid: ColorVariantRecord;
81
+ outline: ColorVariantRecord;
82
+ ghost: ColorVariantRecord;
83
+ soft: ColorVariantRecord;
84
+ link: ColorVariantRecord;
85
+ badge: ColorVariantRecord & {
86
+ inverted: ColorVariantRecord;
87
+ };
88
+ alert: ColorVariantRecord;
89
+ breadcrumb: {
90
+ link: ColorVariantRecord;
91
+ active: ColorVariantRecord;
92
+ };
93
+ };
94
+ export type ColorVariantStyle = keyof typeof colorVariants;
95
+ export type ColorVariantKey<T extends ColorVariantStyle> = keyof (typeof colorVariants)[T];
96
+ export declare const radii: {
97
+ sm: string;
98
+ md: string;
99
+ lg: string;
100
+ xl: string;
101
+ };
102
+ export declare const fonts: {
103
+ sans: string;
104
+ mono: string;
105
+ };
106
+ export declare const alignments: readonly ["left", "center", "right"];
107
+ export type Alignment = (typeof alignments)[number];
108
+ export declare const inputAlignClasses: Record<Alignment, string>;
109
+ /**
110
+ * HTML autocomplete attribute values for form inputs
111
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
112
+ */
113
+ export declare const autocompleteOptions: readonly ["on", "off", "address-line1", "address-line2", "address-line3", "address-level1", "address-level2", "address-level3", "address-level4", "street-address", "country", "country-name", "postal-code", "name", "additional-name", "family-name", "given-name", "honoric-prefix", "honoric-suffix", "nickname", "organization-title", "username", "new-password", "current-password", "bday", "bday-day", "bday-month", "bday-year", "sex", "one-time-code", "organization", "cc-name", "cc-given-name", "cc-additional-name", "cc-family-name", "cc-number", "cc-exp", "cc-exp-month", "cc-exp-year", "cc-csc", "cc-type", "transaction-currency", "transaction-amount", "language", "url", "email", "photo", "tel", "tel-country-code", "tel-national", "tel-area-code", "tel-local", "tel-local-prefix", "tel-local-suffix", "tel-extension", "impp"];
114
+ export type AutocompleteOption = (typeof autocompleteOptions)[number];
115
+ export {};
116
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC;AAC7C,eAAO,MAAM,eAAe,EAA0B,UAAU,EAAE,CAAC;AAEnE,eAAO,MAAM,kBAAkB,sFAAuF,CAAC;AACvH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,GAAG,gBAAgB,IAAI,UAAU,EAAE,CAAC;AAElE,eAAO,MAAM,iBAAiB,8wOAE7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,eAAe,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvG;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAKhH;;GAEG;AACH,KAAK,kBAAkB,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,kBAAkB,GAAG;QAAE,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC7D,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;CAmHtE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,aAAa,CAAC;AAC3D,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,iBAAiB,IAAI,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,eAAO,MAAM,KAAK;;;;;CAKjB,CAAC;AAEF,eAAO,MAAM,KAAK;;;CAGjB,CAAC;AAEF,eAAO,MAAM,UAAU,sCAAuC,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,g0BAyDtB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,164 @@
1
+ const colors = {
2
+ background: "var(--background)",
3
+ foreground: "var(--foreground)",
4
+ card: "var(--card)",
5
+ "card-foreground": "var(--card-foreground)",
6
+ popover: "var(--popover)",
7
+ "popover-foreground": "var(--popover-foreground)",
8
+ primary: "var(--primary)",
9
+ "primary-hover": "var(--primary-hover)",
10
+ "primary-active": "var(--primary-active)",
11
+ "primary-foreground": "var(--primary-foreground)",
12
+ accent: "var(--accent)",
13
+ "accent-hover": "var(--accent-hover)",
14
+ "accent-active": "var(--accent-active)",
15
+ "accent-foreground": "var(--accent-foreground)",
16
+ neutral: "var(--neutral)",
17
+ "neutral-hover": "var(--neutral-hover)",
18
+ "neutral-active": "var(--neutral-active)",
19
+ "neutral-foreground": "var(--neutral-foreground)",
20
+ muted: "var(--muted)",
21
+ "muted-hover": "var(--muted-hover)",
22
+ "muted-active": "var(--muted-active)",
23
+ "muted-foreground": "var(--muted-foreground)",
24
+ error: "var(--error)",
25
+ "error-hover": "var(--error-hover)",
26
+ "error-active": "var(--error-active)",
27
+ "error-foreground": "var(--error-foreground)",
28
+ success: "var(--success)",
29
+ "success-hover": "var(--success-hover)",
30
+ "success-active": "var(--success-active)",
31
+ "success-foreground": "var(--success-foreground)",
32
+ warning: "var(--warning)",
33
+ "warning-hover": "var(--warning-hover)",
34
+ "warning-active": "var(--warning-active)",
35
+ "warning-foreground": "var(--warning-foreground)",
36
+ info: "var(--info)",
37
+ "info-hover": "var(--info-hover)",
38
+ "info-active": "var(--info-active)",
39
+ "info-foreground": "var(--info-foreground)",
40
+ border: "var(--border)",
41
+ input: "var(--input)",
42
+ ring: "var(--ring)"
43
+ };
44
+ const themeColorNames = Object.keys(colors);
45
+ const colorClassPrefixes = ["text", "bg", "border", "ring", "outline", "decoration", "fill", "stroke"];
46
+ colorClassPrefixes.flatMap(
47
+ (prefix) => themeColorNames.map((color) => `${prefix}-${color}`)
48
+ );
49
+ const outlineBaseClasses = "border-2 bg-transparent transition-colors transition-shadow duration-200 ease-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-transparent";
50
+ const colorVariants = {
51
+ // Solid buttons/elements - filled background
52
+ solid: {
53
+ neutral: "bg-neutral text-neutral-foreground hover:bg-neutral-hover active:bg-neutral-active",
54
+ primary: "bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active",
55
+ accent: "bg-accent text-accent-foreground hover:bg-accent-hover active:bg-accent-active",
56
+ info: "bg-info text-info-foreground hover:bg-info-hover active:bg-info-active",
57
+ success: "bg-success text-success-foreground hover:bg-success-hover active:bg-success-active",
58
+ warning: "bg-warning text-warning-foreground hover:bg-warning-hover active:bg-warning-active",
59
+ error: "bg-error text-error-foreground hover:bg-error-hover active:bg-error-active"
60
+ },
61
+ // Outline style - transparent with border
62
+ outline: {
63
+ neutral: `${outlineBaseClasses} border-neutral text-neutral hover:border-neutral-hover hover:text-neutral-hover hover:shadow-[inset_0_0_0_1px_var(--neutral))] focus-visible:shadow-[inset_0_0_0_1px_var(--neutral))] focus-visible:outline-neutral/3`,
64
+ primary: `${outlineBaseClasses} border-primary text-primary hover:border-primary-hover hover:text-primary-hover hover:shadow-[inset_0_0_0_1px_var(--primary))] focus-visible:shadow-[inset_0_0_0_1px_var(--primary))] focus-visible:outline-primary/3`,
65
+ accent: `${outlineBaseClasses} border-accent text-accent hover:border-accent-hover hover:text-accent-hover hover:shadow-[inset_0_0_0_1px_var(--accent))] focus-visible:shadow-[inset_0_0_0_1px_var(--accent))] focus-visible:outline-accent/3`,
66
+ info: `${outlineBaseClasses} border-info text-info hover:border-info-hover hover:text-info-hover hover:shadow-[inset_0_0_0_1px_var(--info))] focus-visible:shadow-[inset_0_0_0_1px_var(--info))] focus-visible:outline-info/3`,
67
+ success: `${outlineBaseClasses} border-success text-success hover:border-success-hover hover:text-success-hover hover:shadow-[inset_0_0_0_1px_var(--success))] focus-visible:shadow-[inset_0_0_0_1px_var(--success))] focus-visible:outline-success/3`,
68
+ warning: `${outlineBaseClasses} border-warning text-warning hover:border-warning-hover hover:text-warning-hover hover:shadow-[inset_0_0_0_1px_var(--warning))] focus-visible:shadow-[inset_0_0_0_1px_var(--warning))] focus-visible:outline-warning/3`,
69
+ error: `${outlineBaseClasses} border-error text-error hover:border-error-hover hover:text-error-hover hover:shadow-[inset_0_0_0_1px_var(--error))] focus-visible:shadow-[inset_0_0_0_1px_var(--error))] focus-visible:outline-error/5`
70
+ },
71
+ // Ghost style - transparent with subtle hover
72
+ ghost: {
73
+ neutral: "bg-transparent text-foreground hover:bg-neutral/10 active:bg-neutral/20",
74
+ primary: "bg-transparent text-primary hover:bg-primary/10 active:bg-primary/20",
75
+ accent: "bg-transparent text-accent hover:bg-accent/10 active:bg-accent/20",
76
+ info: "bg-transparent text-info hover:bg-info/10 active:bg-info/20",
77
+ success: "bg-transparent text-success hover:bg-success/10 active:bg-success/20",
78
+ warning: "bg-transparent text-warning hover:bg-warning/10 active:bg-warning/20",
79
+ error: "bg-transparent text-error hover:bg-error/10 active:bg-error/20"
80
+ },
81
+ // Soft style - subtle background
82
+ soft: {
83
+ neutral: "bg-neutral/20 text-neutral hover:bg-neutral/30 active:bg-neutral/40",
84
+ primary: "bg-primary/20 text-primary hover:bg-primary/30 active:bg-primary/40",
85
+ accent: "bg-accent/20 text-accent hover:bg-accent/30 active:bg-accent/40",
86
+ info: "bg-info/20 text-info hover:bg-info/30 active:bg-info/40",
87
+ success: "bg-success/20 text-success hover:bg-success/30 active:bg-success/40",
88
+ warning: "bg-warning/20 text-warning hover:bg-warning/30 active:bg-warning/40",
89
+ error: "bg-error/20 text-error hover:bg-error/30 active:bg-error/40"
90
+ },
91
+ // Link style - text only with underline on hover
92
+ link: {
93
+ neutral: "bg-transparent text-foreground underline-offset-4 hover:underline",
94
+ primary: "bg-transparent text-primary underline-offset-4 hover:underline",
95
+ accent: "bg-transparent text-accent underline-offset-4 hover:underline",
96
+ info: "bg-transparent text-info underline-offset-4 hover:underline",
97
+ success: "bg-transparent text-success underline-offset-4 hover:underline",
98
+ warning: "bg-transparent text-warning underline-offset-4 hover:underline",
99
+ error: "bg-transparent text-error underline-offset-4 hover:underline"
100
+ },
101
+ // Badge/Chip style - subtle filled background with border
102
+ badge: {
103
+ neutral: "bg-neutral/5 text-neutral border border-neutral",
104
+ primary: "bg-primary/5 text-primary border border-primary",
105
+ accent: "bg-accent/5 text-accent border border-accent",
106
+ info: "bg-info/5 text-info border border-info",
107
+ success: "bg-success/5 text-success border border-success",
108
+ warning: "bg-warning/5 text-warning border border-warning",
109
+ error: "bg-error/5 text-error border border-error",
110
+ inverted: {
111
+ neutral: "bg-neutral/40 text-neutral-foreground border border-neutral",
112
+ primary: "bg-primary/90 text-primary-foreground border border-primary-foreground",
113
+ accent: "bg-accent/90 text-accent-foreground border border-accent",
114
+ info: "bg-info/90 text-info-foreground border border-info",
115
+ success: "bg-success/90 text-success-foreground border border-success",
116
+ warning: "bg-warning/90 text-warning-foreground border border-warning",
117
+ error: "bg-error/90 text-error-foreground border border-error"
118
+ }
119
+ },
120
+ // Alert style - translucent background with border
121
+ alert: {
122
+ neutral: "bg-neutral/30 text-foreground border-neutral/50 backdrop-blur-3xl",
123
+ primary: "bg-primary/30 text-foreground border-primary/50 backdrop-blur-3xl",
124
+ accent: "bg-accent/30 text-foreground border-accent/50 backdrop-blur-3xl",
125
+ info: "bg-info/30 text-foreground border-info/50 backdrop-blur-3xl",
126
+ success: "bg-success/30 text-foreground border-success/50 backdrop-blur-3xl",
127
+ warning: "bg-warning/30 text-foreground border-warning/50 backdrop-blur-3xl",
128
+ error: "bg-error/30 text-foreground border-error/50 backdrop-blur-3xl"
129
+ },
130
+ // Breadcrumb style - link and active states
131
+ breadcrumb: {
132
+ link: {
133
+ neutral: "text-neutral hover:text-neutral-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-neutral-ring rounded px-1 -mx-1",
134
+ primary: "text-primary hover:text-primary-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-primary-ring rounded px-1 -mx-1",
135
+ accent: "text-accent hover:text-accent-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-accent-ring rounded px-1 -mx-1",
136
+ info: "text-info hover:text-info-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-info-ring rounded px-1 -mx-1",
137
+ success: "text-success hover:text-success-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-success-ring rounded px-1 -mx-1",
138
+ warning: "text-warning hover:text-warning-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-warning-ring rounded px-1 -mx-1",
139
+ error: "text-error hover:text-error-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-error-ring rounded px-1 -mx-1"
140
+ },
141
+ active: {
142
+ neutral: "text-neutral-active font-medium",
143
+ primary: "text-primary-active font-medium",
144
+ accent: "text-accent-active font-medium",
145
+ info: "text-info-active font-medium",
146
+ success: "text-success-active font-medium",
147
+ warning: "text-warning-active font-medium",
148
+ error: "text-error-active font-medium"
149
+ }
150
+ }
151
+ };
152
+ const inputAlignClasses = {
153
+ left: "mr-auto",
154
+ center: "mx-auto",
155
+ right: "ml-auto"
156
+ };
157
+ export {
158
+ colorClassPrefixes,
159
+ colorVariants,
160
+ colors,
161
+ inputAlignClasses,
162
+ themeColorNames
163
+ };
164
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sources":["../../src/theme/tokens.ts"],"sourcesContent":["/**\n * Theme color tokens and helpers for the design system.\n * Maps CSS custom properties from globals.css (light/dark) to JS for inline styles and class generation.\n */\n\nexport const colors = {\n background: 'var(--background)',\n foreground: 'var(--foreground)',\n card: 'var(--card)',\n 'card-foreground': 'var(--card-foreground)',\n popover: 'var(--popover)',\n 'popover-foreground': 'var(--popover-foreground)',\n primary: 'var(--primary)',\n 'primary-hover': 'var(--primary-hover)',\n 'primary-active': 'var(--primary-active)',\n 'primary-foreground': 'var(--primary-foreground)',\n accent: 'var(--accent)',\n 'accent-hover': 'var(--accent-hover)',\n 'accent-active': 'var(--accent-active)',\n 'accent-foreground': 'var(--accent-foreground)',\n neutral: 'var(--neutral)',\n 'neutral-hover': 'var(--neutral-hover)',\n 'neutral-active': 'var(--neutral-active)',\n 'neutral-foreground': 'var(--neutral-foreground)',\n muted: 'var(--muted)',\n 'muted-hover': 'var(--muted-hover)',\n 'muted-active': 'var(--muted-active)',\n 'muted-foreground': 'var(--muted-foreground)',\n error: 'var(--error)',\n 'error-hover': 'var(--error-hover)',\n 'error-active': 'var(--error-active)',\n 'error-foreground': 'var(--error-foreground)',\n success: 'var(--success)',\n 'success-hover': 'var(--success-hover)',\n 'success-active': 'var(--success-active)',\n 'success-foreground': 'var(--success-foreground)',\n warning: 'var(--warning)',\n 'warning-hover': 'var(--warning-hover)',\n 'warning-active': 'var(--warning-active)',\n 'warning-foreground': 'var(--warning-foreground)',\n info: 'var(--info)',\n 'info-hover': 'var(--info-hover)',\n 'info-active': 'var(--info-active)',\n 'info-foreground': 'var(--info-foreground)',\n border: 'var(--border)',\n input: 'var(--input)',\n ring: 'var(--ring)'\n};\n\nexport type ThemeColor = keyof typeof colors;\nexport const themeColorNames = Object.keys(colors) as ThemeColor[];\n\nexport const colorClassPrefixes = ['text', 'bg', 'border', 'ring', 'outline', 'decoration', 'fill', 'stroke'] as const;\nexport type ColorClassPrefix = (typeof colorClassPrefixes)[number];\nexport type ThemeColorClass = `${ColorClassPrefix}-${ThemeColor}`;\n\nexport const themeColorClasses = colorClassPrefixes.flatMap((prefix) =>\n themeColorNames.map((color) => `${prefix}-${color}` as ThemeColorClass)\n);\n\nexport type ThemeColorProp = ThemeColor | ThemeColorClass;\n\n/**\n * Core color variants used across all components\n * Use this type for component `variant` props to ensure consistency\n * Includes: neutral, primary, accent, info, success, warning, error\n */\nexport type ColorVariant = 'neutral' | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'accent';\n\n/**\n * Notification/alert-specific color variants (excludes neutral/primary/accent)\n * For feedback components like Alert, Toast, etc.\n */\nexport type NotificationColorVariant = Exclude<ColorVariant, 'neutral' | 'primary' | 'accent'>;\n\n/**\n * Common color variants for most components (the essential 5)\n * Includes: neutral, primary, success, warning, error\n */\nexport type CommonColorVariant = Extract<ColorVariant, 'neutral' | 'primary' | 'success' | 'warning' | 'error'>;\n\nconst outlineBaseClasses =\n 'border-2 bg-transparent transition-colors transition-shadow duration-200 ease-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-transparent' as const;\n\n/**\n * Type-safe record ensuring all color variants are defined for each style\n */\ntype ColorVariantRecord = Record<ColorVariant, string>;\n\n/**\n * Standardized color variant classes for consistent component styling\n * All variants support: neutral, primary, accent, info, success, warning, error\n */\nexport const colorVariants: {\n solid: ColorVariantRecord;\n outline: ColorVariantRecord;\n ghost: ColorVariantRecord;\n soft: ColorVariantRecord;\n link: ColorVariantRecord;\n badge: ColorVariantRecord & { inverted: ColorVariantRecord };\n alert: ColorVariantRecord;\n breadcrumb: { link: ColorVariantRecord; active: ColorVariantRecord };\n} = {\n // Solid buttons/elements - filled background\n solid: {\n neutral: 'bg-neutral text-neutral-foreground hover:bg-neutral-hover active:bg-neutral-active',\n primary: 'bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active',\n accent: 'bg-accent text-accent-foreground hover:bg-accent-hover active:bg-accent-active',\n info: 'bg-info text-info-foreground hover:bg-info-hover active:bg-info-active',\n success: 'bg-success text-success-foreground hover:bg-success-hover active:bg-success-active',\n warning: 'bg-warning text-warning-foreground hover:bg-warning-hover active:bg-warning-active',\n error: 'bg-error text-error-foreground hover:bg-error-hover active:bg-error-active'\n },\n\n // Outline style - transparent with border\n outline: {\n neutral: `${outlineBaseClasses} border-neutral text-neutral hover:border-neutral-hover hover:text-neutral-hover hover:shadow-[inset_0_0_0_1px_var(--neutral))] focus-visible:shadow-[inset_0_0_0_1px_var(--neutral))] focus-visible:outline-neutral/3`,\n primary: `${outlineBaseClasses} border-primary text-primary hover:border-primary-hover hover:text-primary-hover hover:shadow-[inset_0_0_0_1px_var(--primary))] focus-visible:shadow-[inset_0_0_0_1px_var(--primary))] focus-visible:outline-primary/3`,\n accent: `${outlineBaseClasses} border-accent text-accent hover:border-accent-hover hover:text-accent-hover hover:shadow-[inset_0_0_0_1px_var(--accent))] focus-visible:shadow-[inset_0_0_0_1px_var(--accent))] focus-visible:outline-accent/3`,\n info: `${outlineBaseClasses} border-info text-info hover:border-info-hover hover:text-info-hover hover:shadow-[inset_0_0_0_1px_var(--info))] focus-visible:shadow-[inset_0_0_0_1px_var(--info))] focus-visible:outline-info/3`,\n success: `${outlineBaseClasses} border-success text-success hover:border-success-hover hover:text-success-hover hover:shadow-[inset_0_0_0_1px_var(--success))] focus-visible:shadow-[inset_0_0_0_1px_var(--success))] focus-visible:outline-success/3`,\n warning: `${outlineBaseClasses} border-warning text-warning hover:border-warning-hover hover:text-warning-hover hover:shadow-[inset_0_0_0_1px_var(--warning))] focus-visible:shadow-[inset_0_0_0_1px_var(--warning))] focus-visible:outline-warning/3`,\n error: `${outlineBaseClasses} border-error text-error hover:border-error-hover hover:text-error-hover hover:shadow-[inset_0_0_0_1px_var(--error))] focus-visible:shadow-[inset_0_0_0_1px_var(--error))] focus-visible:outline-error/5`\n },\n\n // Ghost style - transparent with subtle hover\n ghost: {\n neutral: 'bg-transparent text-foreground hover:bg-neutral/10 active:bg-neutral/20',\n primary: 'bg-transparent text-primary hover:bg-primary/10 active:bg-primary/20',\n accent: 'bg-transparent text-accent hover:bg-accent/10 active:bg-accent/20',\n info: 'bg-transparent text-info hover:bg-info/10 active:bg-info/20',\n success: 'bg-transparent text-success hover:bg-success/10 active:bg-success/20',\n warning: 'bg-transparent text-warning hover:bg-warning/10 active:bg-warning/20',\n error: 'bg-transparent text-error hover:bg-error/10 active:bg-error/20'\n },\n\n // Soft style - subtle background\n soft: {\n neutral: 'bg-neutral/20 text-neutral hover:bg-neutral/30 active:bg-neutral/40',\n primary: 'bg-primary/20 text-primary hover:bg-primary/30 active:bg-primary/40',\n accent: 'bg-accent/20 text-accent hover:bg-accent/30 active:bg-accent/40',\n info: 'bg-info/20 text-info hover:bg-info/30 active:bg-info/40',\n success: 'bg-success/20 text-success hover:bg-success/30 active:bg-success/40',\n warning: 'bg-warning/20 text-warning hover:bg-warning/30 active:bg-warning/40',\n error: 'bg-error/20 text-error hover:bg-error/30 active:bg-error/40'\n },\n\n // Link style - text only with underline on hover\n link: {\n neutral: 'bg-transparent text-foreground underline-offset-4 hover:underline',\n primary: 'bg-transparent text-primary underline-offset-4 hover:underline',\n accent: 'bg-transparent text-accent underline-offset-4 hover:underline',\n info: 'bg-transparent text-info underline-offset-4 hover:underline',\n success: 'bg-transparent text-success underline-offset-4 hover:underline',\n warning: 'bg-transparent text-warning underline-offset-4 hover:underline',\n error: 'bg-transparent text-error underline-offset-4 hover:underline'\n },\n\n // Badge/Chip style - subtle filled background with border\n badge: {\n neutral: 'bg-neutral/5 text-neutral border border-neutral',\n primary: 'bg-primary/5 text-primary border border-primary',\n accent: 'bg-accent/5 text-accent border border-accent',\n info: 'bg-info/5 text-info border border-info',\n success: 'bg-success/5 text-success border border-success',\n warning: 'bg-warning/5 text-warning border border-warning',\n error: 'bg-error/5 text-error border border-error',\n inverted: {\n neutral: 'bg-neutral/40 text-neutral-foreground border border-neutral',\n primary: 'bg-primary/90 text-primary-foreground border border-primary-foreground',\n accent: 'bg-accent/90 text-accent-foreground border border-accent',\n info: 'bg-info/90 text-info-foreground border border-info',\n success: 'bg-success/90 text-success-foreground border border-success',\n warning: 'bg-warning/90 text-warning-foreground border border-warning',\n error: 'bg-error/90 text-error-foreground border border-error'\n }\n },\n\n // Alert style - translucent background with border\n alert: {\n neutral: 'bg-neutral/30 text-foreground border-neutral/50 backdrop-blur-3xl',\n primary: 'bg-primary/30 text-foreground border-primary/50 backdrop-blur-3xl',\n accent: 'bg-accent/30 text-foreground border-accent/50 backdrop-blur-3xl',\n info: 'bg-info/30 text-foreground border-info/50 backdrop-blur-3xl',\n success: 'bg-success/30 text-foreground border-success/50 backdrop-blur-3xl',\n warning: 'bg-warning/30 text-foreground border-warning/50 backdrop-blur-3xl',\n error: 'bg-error/30 text-foreground border-error/50 backdrop-blur-3xl'\n },\n\n // Breadcrumb style - link and active states\n breadcrumb: {\n link: {\n neutral:\n 'text-neutral hover:text-neutral-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-neutral-ring rounded px-1 -mx-1',\n primary:\n 'text-primary hover:text-primary-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-primary-ring rounded px-1 -mx-1',\n accent:\n 'text-accent hover:text-accent-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-accent-ring rounded px-1 -mx-1',\n info: 'text-info hover:text-info-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-info-ring rounded px-1 -mx-1',\n success:\n 'text-success hover:text-success-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-success-ring rounded px-1 -mx-1',\n warning:\n 'text-warning hover:text-warning-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-warning-ring rounded px-1 -mx-1',\n error:\n 'text-error hover:text-error-hover hover:underline cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-error-ring rounded px-1 -mx-1'\n },\n active: {\n neutral: 'text-neutral-active font-medium',\n primary: 'text-primary-active font-medium',\n accent: 'text-accent-active font-medium',\n info: 'text-info-active font-medium',\n success: 'text-success-active font-medium',\n warning: 'text-warning-active font-medium',\n error: 'text-error-active font-medium'\n }\n }\n};\n\nexport type ColorVariantStyle = keyof typeof colorVariants;\nexport type ColorVariantKey<T extends ColorVariantStyle> = keyof (typeof colorVariants)[T];\n\nexport const radii = {\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem'\n};\n\nexport const fonts = {\n sans: \"'Inter', system-ui, sans-serif\",\n mono: \"'JetBrains Mono', monospace\"\n};\n\nexport const alignments = ['left', 'center', 'right'] as const;\nexport type Alignment = (typeof alignments)[number];\n\nexport const inputAlignClasses: Record<Alignment, string> = {\n left: 'mr-auto',\n center: 'mx-auto',\n right: 'ml-auto'\n};\n\n/**\n * HTML autocomplete attribute values for form inputs\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\nexport const autocompleteOptions = [\n 'on',\n 'off',\n 'address-line1',\n 'address-line2',\n 'address-line3',\n 'address-level1',\n 'address-level2',\n 'address-level3',\n 'address-level4',\n 'street-address',\n 'country',\n 'country-name',\n 'postal-code',\n 'name',\n 'additional-name',\n 'family-name',\n 'given-name',\n 'honoric-prefix',\n 'honoric-suffix',\n 'nickname',\n 'organization-title',\n 'username',\n 'new-password',\n 'current-password',\n 'bday',\n 'bday-day',\n 'bday-month',\n 'bday-year',\n 'sex',\n 'one-time-code',\n 'organization',\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n 'cc-number',\n 'cc-exp',\n 'cc-exp-month',\n 'cc-exp-year',\n 'cc-csc',\n 'cc-type',\n 'transaction-currency',\n 'transaction-amount',\n 'language',\n 'url',\n 'email',\n 'photo',\n 'tel',\n 'tel-country-code',\n 'tel-national',\n 'tel-area-code',\n 'tel-local',\n 'tel-local-prefix',\n 'tel-local-suffix',\n 'tel-extension',\n 'impp'\n] as const;\n\nexport type AutocompleteOption = (typeof autocompleteOptions)[number];\n"],"names":[],"mappings":"AAKO,MAAM,SAAS;AAAA,EACpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AACR;AAGO,MAAM,kBAAkB,OAAO,KAAK,MAAM;AAE1C,MAAM,qBAAqB,CAAC,QAAQ,MAAM,UAAU,QAAQ,WAAW,cAAc,QAAQ,QAAQ;AAI3E,mBAAmB;AAAA,EAAQ,CAAC,WAC3D,gBAAgB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,KAAK,EAAqB;AACxE;AAuBA,MAAM,qBACJ;AAWK,MAAM,gBAST;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA;AAAA,EAIT,SAAS;AAAA,IACP,SAAS,GAAG,kBAAkB;AAAA,IAC9B,SAAS,GAAG,kBAAkB;AAAA,IAC9B,QAAQ,GAAG,kBAAkB;AAAA,IAC7B,MAAM,GAAG,kBAAkB;AAAA,IAC3B,SAAS,GAAG,kBAAkB;AAAA,IAC9B,SAAS,GAAG,kBAAkB;AAAA,IAC9B,OAAO,GAAG,kBAAkB;AAAA,EAAA;AAAA;AAAA,EAI9B,OAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA;AAAA,EAIT,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA;AAAA,EAIT,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA;AAAA,EAIT,OAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EACT;AAAA;AAAA,EAIF,OAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA;AAAA,EAIT,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,SACE;AAAA,MACF,SACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,SACE;AAAA,MACF,SACE;AAAA,MACF,OACE;AAAA,IAAA;AAAA,IAEJ,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAoBO,MAAM,oBAA+C;AAAA,EAC1D,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AACT;"}
@@ -0,0 +1,7 @@
1
+ export type Debounced<T extends (...args: unknown[]) => void> = {
2
+ call: (...args: Parameters<T>) => void;
3
+ flush: () => void;
4
+ cancel: () => void;
5
+ };
6
+ export declare function debounce<T extends (...args: unknown[]) => void>(fn: T, delayMs: number, setTimer?: (cb: () => void, ms: number) => ReturnType<typeof setTimeout>, clearTimer?: (id: ReturnType<typeof setTimeout>) => void): Debounced<T>;
7
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;IAC9D,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC7D,EAAE,EAAE,CAAC,EACL,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,UAAU,CAAc,EACpF,UAAU,GAAE,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,IAAmB,GACrE,SAAS,CAAC,CAAC,CAAC,CAyCd"}
@@ -0,0 +1,40 @@
1
+ function debounce(fn, delayMs, setTimer = setTimeout, clearTimer = clearTimeout) {
2
+ let timer = null;
3
+ let lastArgs = null;
4
+ const invoke = () => {
5
+ if (lastArgs) {
6
+ fn(...lastArgs);
7
+ lastArgs = null;
8
+ }
9
+ };
10
+ return {
11
+ call(...args) {
12
+ lastArgs = args;
13
+ if (timer != null) {
14
+ clearTimer(timer);
15
+ }
16
+ timer = setTimer(() => {
17
+ timer = null;
18
+ invoke();
19
+ }, delayMs);
20
+ },
21
+ flush() {
22
+ if (timer != null) {
23
+ clearTimer(timer);
24
+ timer = null;
25
+ invoke();
26
+ }
27
+ },
28
+ cancel() {
29
+ if (timer != null) {
30
+ clearTimer(timer);
31
+ timer = null;
32
+ }
33
+ lastArgs = null;
34
+ }
35
+ };
36
+ }
37
+ export {
38
+ debounce
39
+ };
40
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sources":["../../src/utils/debounce.ts"],"sourcesContent":["export type Debounced<T extends (...args: unknown[]) => void> = {\n call: (...args: Parameters<T>) => void;\n flush: () => void;\n cancel: () => void;\n};\n\nexport function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delayMs: number,\n setTimer: (cb: () => void, ms: number) => ReturnType<typeof setTimeout> = setTimeout,\n clearTimer: (id: ReturnType<typeof setTimeout>) => void = clearTimeout\n): Debounced<T> {\n let timer: ReturnType<typeof setTimeout> | null = null;\n let lastArgs: Parameters<T> | null = null;\n\n const invoke = () => {\n if (lastArgs) {\n fn(...lastArgs);\n lastArgs = null;\n }\n };\n\n return {\n call(...args: Parameters<T>) {\n lastArgs = args;\n\n if (timer != null) {\n clearTimer(timer);\n }\n\n timer = setTimer(() => {\n timer = null;\n invoke();\n }, delayMs);\n },\n\n flush() {\n if (timer != null) {\n clearTimer(timer);\n timer = null;\n invoke();\n }\n },\n\n cancel() {\n if (timer != null) {\n clearTimer(timer);\n timer = null;\n }\n lastArgs = null;\n }\n };\n}\n"],"names":[],"mappings":"AAMO,SAAS,SACd,IACA,SACA,WAA0E,YAC1E,aAA0D,cAC5C;AACd,MAAI,QAA8C;AAClD,MAAI,WAAiC;AAErC,QAAM,SAAS,MAAM;AACnB,QAAI,UAAU;AACZ,SAAG,GAAG,QAAQ;AACd,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,QAAQ,MAAqB;AAC3B,iBAAW;AAEX,UAAI,SAAS,MAAM;AACjB,mBAAW,KAAK;AAAA,MAClB;AAEA,cAAQ,SAAS,MAAM;AACrB,gBAAQ;AACR,eAAA;AAAA,MACF,GAAG,OAAO;AAAA,IACZ;AAAA,IAEA,QAAQ;AACN,UAAI,SAAS,MAAM;AACjB,mBAAW,KAAK;AAChB,gBAAQ;AACR,eAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEA,SAAS;AACP,UAAI,SAAS,MAAM;AACjB,mBAAW,KAAK;AAChB,gBAAQ;AAAA,MACV;AACA,iBAAW;AAAA,IACb;AAAA,EAAA;AAEJ;"}