@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,120 @@
1
+ import { useState, useEffect, useMemo } from "react";
2
+ function useTable({
3
+ data,
4
+ initialSort,
5
+ pageSize = 10,
6
+ searchQuery = "",
7
+ searchKeys
8
+ }) {
9
+ const [sortConfig, setSortConfig] = useState(
10
+ initialSort ? { key: initialSort.key, direction: initialSort.direction } : null
11
+ );
12
+ const [currentPage, setCurrentPage] = useState(1);
13
+ const [selectedRows, setSelectedRows] = useState(/* @__PURE__ */ new Set());
14
+ useEffect(() => {
15
+ setCurrentPage(1);
16
+ }, [searchQuery]);
17
+ const filteredData = useMemo(() => {
18
+ if (!searchQuery || searchQuery.trim() === "") return data;
19
+ const query = searchQuery.toLowerCase();
20
+ return data.filter((row) => {
21
+ if (searchKeys && searchKeys.length > 0) {
22
+ return searchKeys.some((key) => {
23
+ const value = row[key];
24
+ if (value == null) return false;
25
+ return String(value).toLowerCase().includes(query);
26
+ });
27
+ }
28
+ return Object.values(row).some((value) => {
29
+ if (value == null) return false;
30
+ return String(value).toLowerCase().includes(query);
31
+ });
32
+ });
33
+ }, [data, searchQuery, searchKeys]);
34
+ const sortedData = useMemo(() => {
35
+ if (!sortConfig) return filteredData;
36
+ const sorted = [...filteredData].sort((a, b) => {
37
+ const aValue = a[sortConfig.key];
38
+ const bValue = b[sortConfig.key];
39
+ if (aValue === bValue) return 0;
40
+ if (aValue == null) return 1;
41
+ if (bValue == null) return -1;
42
+ if (aValue < bValue) {
43
+ return sortConfig.direction === "asc" ? -1 : 1;
44
+ }
45
+ return sortConfig.direction === "asc" ? 1 : -1;
46
+ });
47
+ return sorted;
48
+ }, [filteredData, sortConfig]);
49
+ const totalPages = Math.ceil(sortedData.length / pageSize);
50
+ const startIndex = (currentPage - 1) * pageSize;
51
+ const endIndex = startIndex + pageSize;
52
+ const currentData = sortedData.slice(startIndex, endIndex);
53
+ const handleSort = (key) => {
54
+ let direction = "asc";
55
+ if (sortConfig?.key === key) {
56
+ if (sortConfig.direction === "asc") {
57
+ direction = "desc";
58
+ } else if (sortConfig.direction === "desc") {
59
+ direction = null;
60
+ }
61
+ }
62
+ setSortConfig(direction ? { key, direction } : null);
63
+ setCurrentPage(1);
64
+ };
65
+ const nextPage = () => {
66
+ setCurrentPage((prev) => Math.min(prev + 1, totalPages));
67
+ };
68
+ const prevPage = () => {
69
+ setCurrentPage((prev) => Math.max(prev - 1, 1));
70
+ };
71
+ const canNextPage = currentPage < totalPages;
72
+ const canPrevPage = currentPage > 1;
73
+ const toggleRow = (index) => {
74
+ setSelectedRows((prev) => {
75
+ const newSet = new Set(prev);
76
+ if (newSet.has(index)) {
77
+ newSet.delete(index);
78
+ } else {
79
+ newSet.add(index);
80
+ }
81
+ return newSet;
82
+ });
83
+ };
84
+ const toggleAll = () => {
85
+ if (selectedRows.size === currentData.length) {
86
+ setSelectedRows(/* @__PURE__ */ new Set());
87
+ } else {
88
+ const allIndices = currentData.map((_, idx) => startIndex + idx);
89
+ setSelectedRows(new Set(allIndices));
90
+ }
91
+ };
92
+ const isRowSelected = (index) => selectedRows.has(index);
93
+ const isAllSelected = currentData.length > 0 && currentData.every((_, idx) => selectedRows.has(startIndex + idx));
94
+ const clearSelection = () => setSelectedRows(/* @__PURE__ */ new Set());
95
+ return {
96
+ currentData,
97
+ sortedData,
98
+ filteredData,
99
+ sortConfig,
100
+ handleSort,
101
+ currentPage,
102
+ totalPages,
103
+ setCurrentPage,
104
+ nextPage,
105
+ prevPage,
106
+ canNextPage,
107
+ canPrevPage,
108
+ selectedRows,
109
+ toggleRow,
110
+ toggleAll,
111
+ isRowSelected,
112
+ isAllSelected,
113
+ clearSelection
114
+ };
115
+ }
116
+ export {
117
+ useTable as default,
118
+ useTable
119
+ };
120
+ //# sourceMappingURL=use-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-table.js","sources":["../../../../src/components/data-display/data-table/use-table.ts"],"sourcesContent":["import { useMemo, useState, useEffect } from 'react';\n\nexport type SortDirection = 'asc' | 'desc' | null;\n\nexport type SortConfig<T> = {\n key: keyof T;\n direction: SortDirection;\n} | null;\n\nexport type UseTableOptions<T> = {\n data: T[];\n initialSort?: { key: keyof T; direction: 'asc' | 'desc' };\n pageSize?: number;\n searchQuery?: string;\n searchKeys?: (keyof T)[];\n};\n\nexport type UseTableReturn<T> = {\n // Data\n currentData: T[];\n sortedData: T[];\n filteredData: T[];\n\n // Sorting\n sortConfig: SortConfig<T>;\n handleSort: (key: keyof T) => void;\n\n // Pagination\n currentPage: number;\n totalPages: number;\n setCurrentPage: (page: number) => void;\n nextPage: () => void;\n prevPage: () => void;\n canNextPage: boolean;\n canPrevPage: boolean;\n\n // Selection\n selectedRows: Set<number>;\n toggleRow: (index: number) => void;\n toggleAll: () => void;\n isRowSelected: (index: number) => boolean;\n isAllSelected: boolean;\n clearSelection: () => void;\n};\n\n/**\n * useTable Hook - Client-side table state management\n * Handles filtering, sorting, pagination, and selection\n */\nexport function useTable<T>({\n data,\n initialSort,\n pageSize = 10,\n searchQuery = '',\n searchKeys\n}: UseTableOptions<T>): UseTableReturn<T> {\n const [sortConfig, setSortConfig] = useState<SortConfig<T>>(\n initialSort ? { key: initialSort.key, direction: initialSort.direction } : null\n );\n const [currentPage, setCurrentPage] = useState(1);\n const [selectedRows, setSelectedRows] = useState<Set<number>>(new Set());\n\n // Reset to page 1 when search query changes\n useEffect(() => {\n setCurrentPage(1);\n }, [searchQuery]);\n\n // Filtering logic\n const filteredData = useMemo(() => {\n if (!searchQuery || searchQuery.trim() === '') return data;\n\n const query = searchQuery.toLowerCase();\n\n return data.filter((row) => {\n // If searchKeys are specified, only search those fields\n if (searchKeys && searchKeys.length > 0) {\n return searchKeys.some((key) => {\n const value = row[key];\n if (value == null) return false;\n return String(value).toLowerCase().includes(query);\n });\n }\n\n // Otherwise, search all fields\n return Object.values(row as Record<string, unknown>).some((value) => {\n if (value == null) return false;\n return String(value).toLowerCase().includes(query);\n });\n });\n }, [data, searchQuery, searchKeys]);\n\n // Sorting logic\n const sortedData = useMemo(() => {\n if (!sortConfig) return filteredData;\n\n const sorted = [...filteredData].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n\n if (aValue === bValue) return 0;\n\n // Handle null/undefined\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Compare values\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1;\n }\n return sortConfig.direction === 'asc' ? 1 : -1;\n });\n\n return sorted;\n }, [filteredData, sortConfig]);\n\n // Pagination logic\n const totalPages = Math.ceil(sortedData.length / pageSize);\n const startIndex = (currentPage - 1) * pageSize;\n const endIndex = startIndex + pageSize;\n const currentData = sortedData.slice(startIndex, endIndex);\n\n // Sorting handler\n const handleSort = (key: keyof T) => {\n let direction: SortDirection = 'asc';\n\n if (sortConfig?.key === key) {\n if (sortConfig.direction === 'asc') {\n direction = 'desc';\n } else if (sortConfig.direction === 'desc') {\n direction = null;\n }\n }\n\n setSortConfig(direction ? { key, direction } : null);\n setCurrentPage(1); // Reset to first page on sort\n };\n\n // Pagination handlers\n const nextPage = () => {\n setCurrentPage((prev) => Math.min(prev + 1, totalPages));\n };\n\n const prevPage = () => {\n setCurrentPage((prev) => Math.max(prev - 1, 1));\n };\n\n const canNextPage = currentPage < totalPages;\n const canPrevPage = currentPage > 1;\n\n // Selection handlers\n const toggleRow = (index: number) => {\n setSelectedRows((prev) => {\n const newSet = new Set(prev);\n if (newSet.has(index)) {\n newSet.delete(index);\n } else {\n newSet.add(index);\n }\n return newSet;\n });\n };\n\n const toggleAll = () => {\n if (selectedRows.size === currentData.length) {\n setSelectedRows(new Set());\n } else {\n const allIndices = currentData.map((_, idx) => startIndex + idx);\n setSelectedRows(new Set(allIndices));\n }\n };\n\n const isRowSelected = (index: number) => selectedRows.has(index);\n\n const isAllSelected = currentData.length > 0 && currentData.every((_, idx) => selectedRows.has(startIndex + idx));\n\n const clearSelection = () => setSelectedRows(new Set());\n\n return {\n currentData,\n sortedData,\n filteredData,\n sortConfig,\n handleSort,\n currentPage,\n totalPages,\n setCurrentPage,\n nextPage,\n prevPage,\n canNextPage,\n canPrevPage,\n selectedRows,\n toggleRow,\n toggleAll,\n isRowSelected,\n isAllSelected,\n clearSelection\n };\n}\n\nexport default useTable;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type EmptyStateProps = {
2
+ title?: string;
3
+ description?: string;
4
+ buttonText?: string;
5
+ onButtonClick?: () => void;
6
+ };
7
+ export default function EmptyState({ title, description, buttonText, onButtonClick }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/empty-state/empty-state.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,eAAe,2CAoBpG"}
@@ -0,0 +1,17 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import Stack from "../../layout/stack/stack.js";
3
+ import Text from "../../typography/text/text.js";
4
+ import Button from "../../forms/button/button.js";
5
+ function EmptyState({ title, description, buttonText, onButtonClick }) {
6
+ return /* @__PURE__ */ jsxs(Stack, { direction: "vertical", spacing: "md", align: "center", className: "p-8", children: [
7
+ /* @__PURE__ */ jsxs(Stack, { direction: "vertical", spacing: "sm", align: "center", children: [
8
+ /* @__PURE__ */ jsx(Text, { size: "lg", weight: "bold", children: title }),
9
+ description && /* @__PURE__ */ jsx(Text, { variant: "body", size: "base", className: "text-center max-w-md", children: description })
10
+ ] }),
11
+ buttonText && onButtonClick && /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: onButtonClick, children: buttonText })
12
+ ] });
13
+ }
14
+ export {
15
+ EmptyState as default
16
+ };
17
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.js","sources":["../../../../src/components/data-display/empty-state/empty-state.tsx"],"sourcesContent":["import { Button, Stack, Text } from '@components';\n\nexport type EmptyStateProps = {\n title?: string;\n description?: string;\n buttonText?: string;\n onButtonClick?: () => void;\n};\n\nexport default function EmptyState({ title, description, buttonText, onButtonClick }: EmptyStateProps) {\n return (\n <Stack direction=\"vertical\" spacing=\"md\" align=\"center\" className=\"p-8\">\n <Stack direction=\"vertical\" spacing=\"sm\" align=\"center\">\n <Text size=\"lg\" weight=\"bold\">\n {title}\n </Text>\n {description && (\n <Text variant=\"body\" size=\"base\" className=\"text-center max-w-md\">\n {description}\n </Text>\n )}\n </Stack>\n {buttonText && onButtonClick && (\n <Button variant=\"primary\" onClick={onButtonClick}>\n {buttonText}\n </Button>\n )}\n </Stack>\n );\n}\n"],"names":[],"mappings":";;;;AASA,SAAwB,WAAW,EAAE,OAAO,aAAa,YAAY,iBAAkC;AACrG,SACE,qBAAC,SAAM,WAAU,YAAW,SAAQ,MAAK,OAAM,UAAS,WAAU,OAChE,UAAA;AAAA,IAAA,qBAAC,SAAM,WAAU,YAAW,SAAQ,MAAK,OAAM,UAC7C,UAAA;AAAA,MAAA,oBAAC,MAAA,EAAK,MAAK,MAAK,QAAO,QACpB,UAAA,OACH;AAAA,MACC,mCACE,MAAA,EAAK,SAAQ,QAAO,MAAK,QAAO,WAAU,wBACxC,UAAA,YAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IACC,cAAc,iBACb,oBAAC,QAAA,EAAO,SAAQ,WAAU,SAAS,eAChC,UAAA,WAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -0,0 +1,3 @@
1
+ export { default } from './empty-state';
2
+ export type { EmptyStateProps } from './empty-state';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/empty-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default, List, ListItem } from './list';
2
+ export type { ListProps, ListItemProps } from './list';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { ReactNode } from 'react';
2
+ export type ListProps = {
3
+ /** List items (ListItem components) */
4
+ children: ReactNode;
5
+ /** Additional CSS classes to apply */
6
+ className?: string;
7
+ /** Whether to render as ordered list (ol) instead of unordered (ul) */
8
+ ordered?: boolean;
9
+ };
10
+ export type ListItemProps = {
11
+ /** Content of the list item */
12
+ children: ReactNode;
13
+ /** Additional CSS classes to apply */
14
+ className?: string;
15
+ };
16
+ /**
17
+ * List - Vertical grouping of items
18
+ */
19
+ export declare function List({ children, className, ordered }: Readonly<ListProps>): import("react/jsx-runtime").JSX.Element;
20
+ export declare namespace List {
21
+ var displayName: string;
22
+ }
23
+ /**
24
+ * ListItem - Individual list item
25
+ */
26
+ export declare function ListItem({ children, className }: Readonly<ListItemProps>): import("react/jsx-runtime").JSX.Element;
27
+ export declare namespace ListItem {
28
+ var displayName: string;
29
+ }
30
+ export default List;
31
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG;IACtB,uCAAuC;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,OAAe,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,2CAItF;yBAJe,IAAI;;;AAQpB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAE7E;yBAFe,QAAQ;;;AAMxB,eAAe,IAAI,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ function List({ children, className = "", ordered = false }) {
3
+ const Component = ordered ? "ol" : "ul";
4
+ return /* @__PURE__ */ jsx(Component, { className: `divide-y divide-border ${className}`, children });
5
+ }
6
+ List.displayName = "List";
7
+ function ListItem({ children, className = "" }) {
8
+ return /* @__PURE__ */ jsx("li", { className: `py-3 ${className}`, children });
9
+ }
10
+ ListItem.displayName = "ListItem";
11
+ export {
12
+ List,
13
+ ListItem,
14
+ List as default
15
+ };
16
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sources":["../../../../src/components/data-display/list/list.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nexport type ListProps = {\n /** List items (ListItem components) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Whether to render as ordered list (ol) instead of unordered (ul) */\n ordered?: boolean;\n};\n\nexport type ListItemProps = {\n /** Content of the list item */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n};\n\n/**\n * List - Vertical grouping of items\n */\nexport function List({ children, className = '', ordered = false }: Readonly<ListProps>) {\n const Component = ordered ? 'ol' : 'ul';\n\n return <Component className={`divide-y divide-border ${className}`}>{children}</Component>;\n}\n\nList.displayName = 'List';\n\n/**\n * ListItem - Individual list item\n */\nexport function ListItem({ children, className = '' }: Readonly<ListItemProps>) {\n return <li className={`py-3 ${className}`}>{children}</li>;\n}\n\nListItem.displayName = 'ListItem';\n\nexport default List;\n"],"names":[],"mappings":";AAqBO,SAAS,KAAK,EAAE,UAAU,YAAY,IAAI,UAAU,SAA8B;AACvF,QAAM,YAAY,UAAU,OAAO;AAEnC,6BAAQ,WAAA,EAAU,WAAW,0BAA0B,SAAS,IAAK,UAAS;AAChF;AAEA,KAAK,cAAc;AAKZ,SAAS,SAAS,EAAE,UAAU,YAAY,MAA+B;AAC9E,6BAAQ,MAAA,EAAG,WAAW,QAAQ,SAAS,IAAK,UAAS;AACvD;AAEA,SAAS,cAAc;"}
@@ -0,0 +1,3 @@
1
+ export { Table, TableHeader, TableBody, TableFooter, TableRow, TableHeadCell, TableCell } from './table';
2
+ export type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps, TableRowProps, TableHeadCellProps, TableCellProps } from './table';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzG,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,SAAS,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type TableProps = {
3
+ /** Table rows and sections (TableHeader, TableBody, TableFooter) */
4
+ children: ReactNode;
5
+ /** Additional CSS classes to apply */
6
+ className?: string;
7
+ /** Whether to apply striped row styling (alternating background) */
8
+ striped?: boolean;
9
+ /** Whether to show borders around the table */
10
+ bordered?: boolean;
11
+ /** Whether rows have hover effects */
12
+ hoverable?: boolean;
13
+ /** Whether to use compact spacing for dense data */
14
+ compact?: boolean;
15
+ /** Screen-reader accessible caption for the table */
16
+ caption?: string;
17
+ } & HTMLAttributes<HTMLTableElement>;
18
+ export type TableHeaderProps = {
19
+ /** Table header rows (TableRow with TableHeadCell) */
20
+ children: ReactNode;
21
+ /** Additional CSS classes to apply */
22
+ className?: string;
23
+ } & HTMLAttributes<HTMLTableSectionElement>;
24
+ export type TableBodyProps = {
25
+ /** Table body rows (TableRow with TableCell) */
26
+ children: ReactNode;
27
+ /** Additional CSS classes to apply */
28
+ className?: string;
29
+ } & HTMLAttributes<HTMLTableSectionElement>;
30
+ export type TableFooterProps = {
31
+ /** Table footer rows (TableRow with TableCell) */
32
+ children: ReactNode;
33
+ /** Additional CSS classes to apply */
34
+ className?: string;
35
+ } & HTMLAttributes<HTMLTableSectionElement>;
36
+ export type TableRowProps = {
37
+ /** Table cells (TableCell or TableHeadCell) */
38
+ children: ReactNode;
39
+ /** Additional CSS classes to apply */
40
+ className?: string;
41
+ /** Whether the row is in a selected state */
42
+ selected?: boolean;
43
+ } & HTMLAttributes<HTMLTableRowElement>;
44
+ export type TableHeadCellProps = {
45
+ /** Content of the header cell */
46
+ children: ReactNode;
47
+ /** Additional CSS classes to apply */
48
+ className?: string;
49
+ /** Text alignment within the cell */
50
+ align?: 'left' | 'center' | 'right';
51
+ /** Scope attribute for accessibility (col for column headers, row for row headers) */
52
+ scope?: 'col' | 'row';
53
+ /** Whether text should wrap instead of truncating */
54
+ wrapText?: boolean;
55
+ } & HTMLAttributes<HTMLTableCellElement>;
56
+ export type TableCellProps = {
57
+ /** Content of the cell */
58
+ children: ReactNode;
59
+ /** Additional CSS classes to apply */
60
+ className?: string;
61
+ /** Text alignment within the cell */
62
+ align?: 'left' | 'center' | 'right';
63
+ /** Whether text should wrap instead of truncating */
64
+ wrapText?: boolean;
65
+ } & HTMLAttributes<HTMLTableCellElement>;
66
+ /**
67
+ * Table - Semantic HTML table with consistent styling
68
+ * - Responsive with horizontal scroll
69
+ * - Optional striped rows, borders, and hover effects
70
+ * - Compact mode for dense data
71
+ * - Proper semantic structure with thead, tbody, tfoot
72
+ */
73
+ export declare function Table({ children, className, striped, bordered, hoverable, compact, caption, ...props }: Readonly<TableProps>): import("react/jsx-runtime").JSX.Element;
74
+ /**
75
+ * TableHeader - Table header section (thead)
76
+ */
77
+ export declare function TableHeader({ children, className, ...props }: Readonly<TableHeaderProps>): import("react/jsx-runtime").JSX.Element;
78
+ /**
79
+ * TableBody - Table body section (tbody)
80
+ */
81
+ export declare function TableBody({ children, className, ...props }: Readonly<TableBodyProps>): import("react/jsx-runtime").JSX.Element;
82
+ /**
83
+ * TableFooter - Table footer section (tfoot)
84
+ */
85
+ export declare function TableFooter({ children, className, ...props }: Readonly<TableFooterProps>): import("react/jsx-runtime").JSX.Element;
86
+ /**
87
+ * TableRow - Table row (tr)
88
+ */
89
+ export declare function TableRow({ children, className, selected, ...props }: Readonly<TableRowProps>): import("react/jsx-runtime").JSX.Element;
90
+ /**
91
+ * TableHeadCell - Table header cell (th)
92
+ * - Includes proper scope attribute for accessibility
93
+ * - Default scope is 'col' for column headers
94
+ */
95
+ export declare function TableHeadCell({ children, className, align, scope, wrapText, ...props }: Readonly<TableHeadCellProps>): import("react/jsx-runtime").JSX.Element;
96
+ /**
97
+ * TableCell - Table data cell (td)
98
+ */
99
+ export declare function TableCell({ children, className, align, wrapText, ...props }: Readonly<TableCellProps>): import("react/jsx-runtime").JSX.Element;
100
+ export default Table;
101
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ function Table({
3
+ children,
4
+ className = "",
5
+ striped = false,
6
+ bordered = false,
7
+ hoverable = false,
8
+ compact = false,
9
+ caption,
10
+ ...props
11
+ }) {
12
+ const baseClasses = "w-full text-sm text-left";
13
+ const stripedClasses = striped ? "striped" : "";
14
+ const borderedClasses = bordered ? "border border-border" : "";
15
+ const compactClasses = compact ? "table-compact" : "";
16
+ return /* @__PURE__ */ jsxs("div", { className: "overflow-x-auto rounded-lg", children: [
17
+ /* @__PURE__ */ jsxs(
18
+ "table",
19
+ {
20
+ className: `${baseClasses} ${stripedClasses} ${borderedClasses} ${compactClasses} ${className}`,
21
+ ...props,
22
+ children: [
23
+ caption && /* @__PURE__ */ jsx("caption", { className: "sr-only", children: caption }),
24
+ children
25
+ ]
26
+ }
27
+ ),
28
+ /* @__PURE__ */ jsx("style", { children: `
29
+ .striped tbody tr:nth-child(even) {
30
+ background-color: var(--muted) / 0.3;
31
+ }
32
+ ${hoverable ? `
33
+ table tbody tr:hover {
34
+ background-color: var(--muted) / 0.6 !important;
35
+ }
36
+ ` : ""}
37
+ .table-compact td,
38
+ .table-compact th {
39
+ padding: 0.5rem;
40
+ }
41
+ ` })
42
+ ] });
43
+ }
44
+ function TableHeader({ children, className = "", ...props }) {
45
+ return /* @__PURE__ */ jsx("thead", { className: `text-xs text-muted-foreground uppercase bg-muted/50 ${className}`, ...props, children });
46
+ }
47
+ function TableBody({ children, className = "", ...props }) {
48
+ return /* @__PURE__ */ jsx("tbody", { className: `divide-y divide-border ${className}`, ...props, children });
49
+ }
50
+ function TableFooter({ children, className = "", ...props }) {
51
+ return /* @__PURE__ */ jsx("tfoot", { className: `text-xs font-semibold text-foreground bg-muted/30 ${className}`, ...props, children });
52
+ }
53
+ function TableRow({ children, className = "", selected = false, ...props }) {
54
+ const selectedClasses = selected ? "bg-primary/10" : "";
55
+ return /* @__PURE__ */ jsx("tr", { className: `${selectedClasses} ${className}`, ...props, children });
56
+ }
57
+ function TableHeadCell({
58
+ children,
59
+ className = "",
60
+ align = "left",
61
+ scope = "col",
62
+ wrapText = false,
63
+ ...props
64
+ }) {
65
+ const alignClasses = {
66
+ left: "text-left",
67
+ center: "text-center",
68
+ right: "text-right"
69
+ };
70
+ const wrapClasses = wrapText ? "whitespace-normal break-words" : "whitespace-nowrap";
71
+ return /* @__PURE__ */ jsx("th", { scope, className: `px-6 py-3 font-medium ${alignClasses[align]} ${wrapClasses} ${className}`, ...props, children });
72
+ }
73
+ function TableCell({
74
+ children,
75
+ className = "",
76
+ align = "left",
77
+ wrapText = false,
78
+ ...props
79
+ }) {
80
+ const alignClasses = {
81
+ left: "text-left",
82
+ center: "text-center",
83
+ right: "text-right"
84
+ };
85
+ const wrapClasses = wrapText ? "whitespace-normal break-words" : "whitespace-nowrap";
86
+ return /* @__PURE__ */ jsx("td", { className: `px-6 py-4 ${wrapClasses} ${alignClasses[align]} ${className}`, ...props, children });
87
+ }
88
+ export {
89
+ Table,
90
+ TableBody,
91
+ TableCell,
92
+ TableFooter,
93
+ TableHeadCell,
94
+ TableHeader,
95
+ TableRow,
96
+ Table as default
97
+ };
98
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sources":["../../../../src/components/data-display/table/table.tsx"],"sourcesContent":["import { ReactNode, HTMLAttributes } from 'react';\n\nexport type TableProps = {\n /** Table rows and sections (TableHeader, TableBody, TableFooter) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Whether to apply striped row styling (alternating background) */\n striped?: boolean;\n /** Whether to show borders around the table */\n bordered?: boolean;\n /** Whether rows have hover effects */\n hoverable?: boolean;\n /** Whether to use compact spacing for dense data */\n compact?: boolean;\n /** Screen-reader accessible caption for the table */\n caption?: string;\n} & HTMLAttributes<HTMLTableElement>;\n\nexport type TableHeaderProps = {\n /** Table header rows (TableRow with TableHeadCell) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n} & HTMLAttributes<HTMLTableSectionElement>;\n\nexport type TableBodyProps = {\n /** Table body rows (TableRow with TableCell) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n} & HTMLAttributes<HTMLTableSectionElement>;\n\nexport type TableFooterProps = {\n /** Table footer rows (TableRow with TableCell) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n} & HTMLAttributes<HTMLTableSectionElement>;\n\nexport type TableRowProps = {\n /** Table cells (TableCell or TableHeadCell) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Whether the row is in a selected state */\n selected?: boolean;\n} & HTMLAttributes<HTMLTableRowElement>;\n\nexport type TableHeadCellProps = {\n /** Content of the header cell */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Text alignment within the cell */\n align?: 'left' | 'center' | 'right';\n /** Scope attribute for accessibility (col for column headers, row for row headers) */\n scope?: 'col' | 'row';\n /** Whether text should wrap instead of truncating */\n wrapText?: boolean;\n} & HTMLAttributes<HTMLTableCellElement>;\n\nexport type TableCellProps = {\n /** Content of the cell */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Text alignment within the cell */\n align?: 'left' | 'center' | 'right';\n /** Whether text should wrap instead of truncating */\n wrapText?: boolean;\n} & HTMLAttributes<HTMLTableCellElement>;\n\n/**\n * Table - Semantic HTML table with consistent styling\n * - Responsive with horizontal scroll\n * - Optional striped rows, borders, and hover effects\n * - Compact mode for dense data\n * - Proper semantic structure with thead, tbody, tfoot\n */\nexport function Table({\n children,\n className = '',\n striped = false,\n bordered = false,\n hoverable = false,\n compact = false,\n caption,\n ...props\n}: Readonly<TableProps>) {\n const baseClasses = 'w-full text-sm text-left';\n const stripedClasses = striped ? 'striped' : '';\n const borderedClasses = bordered ? 'border border-border' : '';\n const compactClasses = compact ? 'table-compact' : '';\n\n return (\n <div className=\"overflow-x-auto rounded-lg\">\n <table\n className={`${baseClasses} ${stripedClasses} ${borderedClasses} ${compactClasses} ${className}`}\n {...props}\n >\n {caption && <caption className=\"sr-only\">{caption}</caption>}\n {children}\n </table>\n <style>{`\n .striped tbody tr:nth-child(even) {\n background-color: var(--muted) / 0.3;\n }\n ${\n hoverable\n ? `\n table tbody tr:hover {\n background-color: var(--muted) / 0.6 !important;\n }\n `\n : ''\n }\n .table-compact td,\n .table-compact th {\n padding: 0.5rem;\n }\n `}</style>\n </div>\n );\n}\n\n/**\n * TableHeader - Table header section (thead)\n */\nexport function TableHeader({ children, className = '', ...props }: Readonly<TableHeaderProps>) {\n return (\n <thead className={`text-xs text-muted-foreground uppercase bg-muted/50 ${className}`} {...props}>\n {children}\n </thead>\n );\n}\n\n/**\n * TableBody - Table body section (tbody)\n */\nexport function TableBody({ children, className = '', ...props }: Readonly<TableBodyProps>) {\n return (\n <tbody className={`divide-y divide-border ${className}`} {...props}>\n {children}\n </tbody>\n );\n}\n\n/**\n * TableFooter - Table footer section (tfoot)\n */\nexport function TableFooter({ children, className = '', ...props }: Readonly<TableFooterProps>) {\n return (\n <tfoot className={`text-xs font-semibold text-foreground bg-muted/30 ${className}`} {...props}>\n {children}\n </tfoot>\n );\n}\n\n/**\n * TableRow - Table row (tr)\n */\nexport function TableRow({ children, className = '', selected = false, ...props }: Readonly<TableRowProps>) {\n const selectedClasses = selected ? 'bg-primary/10' : '';\n\n return (\n <tr className={`${selectedClasses} ${className}`} {...props}>\n {children}\n </tr>\n );\n}\n\n/**\n * TableHeadCell - Table header cell (th)\n * - Includes proper scope attribute for accessibility\n * - Default scope is 'col' for column headers\n */\nexport function TableHeadCell({\n children,\n className = '',\n align = 'left',\n scope = 'col',\n wrapText = false,\n ...props\n}: Readonly<TableHeadCellProps>) {\n const alignClasses = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right'\n };\n\n const wrapClasses = wrapText ? 'whitespace-normal break-words' : 'whitespace-nowrap';\n\n return (\n <th scope={scope} className={`px-6 py-3 font-medium ${alignClasses[align]} ${wrapClasses} ${className}`} {...props}>\n {children}\n </th>\n );\n}\n\n/**\n * TableCell - Table data cell (td)\n */\nexport function TableCell({\n children,\n className = '',\n align = 'left',\n wrapText = false,\n ...props\n}: Readonly<TableCellProps>) {\n const alignClasses = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right'\n };\n\n const wrapClasses = wrapText ? 'whitespace-normal break-words' : 'whitespace-nowrap';\n\n return (\n <td className={`px-6 py-4 ${wrapClasses} ${alignClasses[align]} ${className}`} {...props}>\n {children}\n </td>\n );\n}\n\nexport default Table;\n"],"names":[],"mappings":";AAgFO,SAAS,MAAM;AAAA,EACpB;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,QAAM,cAAc;AACpB,QAAM,iBAAiB,UAAU,YAAY;AAC7C,QAAM,kBAAkB,WAAW,yBAAyB;AAC5D,QAAM,iBAAiB,UAAU,kBAAkB;AAEnD,SACE,qBAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,WAAW,IAAI,cAAc,IAAI,eAAe,IAAI,cAAc,IAAI,SAAS;AAAA,QAC5F,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,WAAW,oBAAC,WAAA,EAAQ,WAAU,WAAW,UAAA,SAAQ;AAAA,UACjD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,wBAEF,SAAA,EAAO,UAAA;AAAA;AAAA;AAAA;AAAA,UAKJ,YACI;AAAA;AAAA;AAAA;AAAA,YAKA,EACN;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAKA;AAAA,EAAA,GACJ;AAEJ;AAKO,SAAS,YAAY,EAAE,UAAU,YAAY,IAAI,GAAG,SAAqC;AAC9F,SACE,oBAAC,WAAM,WAAW,uDAAuD,SAAS,IAAK,GAAG,OACvF,UACH;AAEJ;AAKO,SAAS,UAAU,EAAE,UAAU,YAAY,IAAI,GAAG,SAAmC;AAC1F,SACE,oBAAC,WAAM,WAAW,0BAA0B,SAAS,IAAK,GAAG,OAC1D,UACH;AAEJ;AAKO,SAAS,YAAY,EAAE,UAAU,YAAY,IAAI,GAAG,SAAqC;AAC9F,SACE,oBAAC,WAAM,WAAW,qDAAqD,SAAS,IAAK,GAAG,OACrF,UACH;AAEJ;AAKO,SAAS,SAAS,EAAE,UAAU,YAAY,IAAI,WAAW,OAAO,GAAG,SAAkC;AAC1G,QAAM,kBAAkB,WAAW,kBAAkB;AAErD,SACE,oBAAC,MAAA,EAAG,WAAW,GAAG,eAAe,IAAI,SAAS,IAAK,GAAG,OACnD,SAAA,CACH;AAEJ;AAOO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,GAAG;AACL,GAAiC;AAC/B,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAGT,QAAM,cAAc,WAAW,kCAAkC;AAEjE,SACE,oBAAC,MAAA,EAAG,OAAc,WAAW,yBAAyB,aAAa,KAAK,CAAC,IAAI,WAAW,IAAI,SAAS,IAAK,GAAG,OAC1G,UACH;AAEJ;AAKO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,GAAG;AACL,GAA6B;AAC3B,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAGT,QAAM,cAAc,WAAW,kCAAkC;AAEjE,SACE,oBAAC,MAAA,EAAG,WAAW,aAAa,WAAW,IAAI,aAAa,KAAK,CAAC,IAAI,SAAS,IAAK,GAAG,OAChF,UACH;AAEJ;"}
@@ -0,0 +1,3 @@
1
+ export { default as Timeline, TimelineItem } from './timeline';
2
+ export type { TimelineProps, TimelineItemProps } from './timeline';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/timeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { Size } from '../../../theme/size-tokens';
2
+ import { ColorVariant } from '../../../theme/tokens';
3
+ import { ReactNode } from 'react';
4
+ export type TimelineItemProps = {
5
+ /** Main content of the timeline item */
6
+ children: ReactNode;
7
+ /** Additional CSS classes to apply */
8
+ className?: string;
9
+ /** Icon name to display in the timeline marker (if not provided, shows a dot) */
10
+ icon?: string;
11
+ /** Size of the icon */
12
+ iconSize?: Size;
13
+ /** Color variant for the icon */
14
+ iconColor?: ColorVariant;
15
+ /** Main title/heading for the timeline event */
16
+ title?: string;
17
+ /** Secondary subtitle text */
18
+ subtitle?: string;
19
+ /** Timestamp or date string to display */
20
+ timestamp?: string;
21
+ /** Whether this is the last item (hides connector line) */
22
+ isLast?: boolean;
23
+ };
24
+ export type TimelineProps = {
25
+ /** Timeline items (TimelineItem components) */
26
+ children: ReactNode;
27
+ /** Additional CSS classes to apply */
28
+ className?: string;
29
+ /** Horizontal alignment of the timeline */
30
+ position?: 'left' | 'center' | 'right';
31
+ };
32
+ /**
33
+ * TimelineItem - Individual event in timeline
34
+ */
35
+ export declare function TimelineItem({ children, className, icon, iconSize, iconColor, title, subtitle, timestamp, isLast }: Readonly<TimelineItemProps>): import("react/jsx-runtime").JSX.Element;
36
+ /**
37
+ * Timeline - Vertical timeline for events, activities, history
38
+ *
39
+ * Features:
40
+ * - Vertical layout with connector lines
41
+ * - Custom icons or default dots
42
+ * - Color-coded events
43
+ * - Titles, subtitles, timestamps
44
+ * - Flexible content
45
+ *
46
+ * Common uses:
47
+ * - Activity feeds
48
+ * - Order tracking
49
+ * - Version history
50
+ * - Process steps
51
+ */
52
+ declare function Timeline({ children, className, position }: Readonly<TimelineProps>): import("react/jsx-runtime").JSX.Element;
53
+ declare namespace Timeline {
54
+ var displayName: string;
55
+ }
56
+ export default Timeline;
57
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/timeline/timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wCAAwC;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,iCAAiC;IACjC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAc,EACd,IAAI,EACJ,QAAe,EACf,SAAqB,EACrB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAc,EACf,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CA0C7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,QAAiB,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAQzF;kBARQ,QAAQ;;;AAYjB,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "../../system/icon/icon.js";
3
+ function TimelineItem({
4
+ children,
5
+ className = "",
6
+ icon,
7
+ iconSize = "sm",
8
+ iconColor = "neutral",
9
+ title,
10
+ subtitle,
11
+ timestamp,
12
+ isLast = false
13
+ }) {
14
+ return /* @__PURE__ */ jsxs("div", { className: `flex gap-4 ${className}`, children: [
15
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
16
+ /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ className: `
20
+ flex items-center justify-center
21
+ w-8 h-8 rounded-full
22
+ shrink-0
23
+ `,
24
+ children: icon ? /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize, color: iconColor }) : /* @__PURE__ */ jsx("div", { className: "w-2 h-2 rounded-full bg-current" })
25
+ }
26
+ ),
27
+ !isLast && /* @__PURE__ */ jsx("div", { className: "w-0.5 flex-1 bg-border mt-2" })
28
+ ] }),
29
+ /* @__PURE__ */ jsxs("div", { className: `flex-1 ${!isLast ? "pb-8" : ""}`, children: [
30
+ (title || timestamp) && /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4 mb-1", children: [
31
+ title && /* @__PURE__ */ jsx("h4", { className: "font-semibold text-foreground", children: title }),
32
+ timestamp && /* @__PURE__ */ jsx("time", { className: "text-sm text-muted-foreground whitespace-nowrap", children: timestamp })
33
+ ] }),
34
+ subtitle && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mb-2", children: subtitle }),
35
+ children && /* @__PURE__ */ jsx("div", { className: "text-sm text-foreground", children })
36
+ ] })
37
+ ] });
38
+ }
39
+ function Timeline({ children, className = "", position = "left" }) {
40
+ const positionClasses = {
41
+ left: "",
42
+ center: "mx-auto max-w-2xl",
43
+ right: "ml-auto max-w-2xl"
44
+ };
45
+ return /* @__PURE__ */ jsx("div", { className: `${positionClasses[position]} ${className}`, children });
46
+ }
47
+ Timeline.displayName = "Timeline";
48
+ export {
49
+ TimelineItem,
50
+ Timeline as default
51
+ };
52
+ //# sourceMappingURL=timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.js","sources":["../../../../src/components/data-display/timeline/timeline.tsx"],"sourcesContent":["import { Size } from '@/theme/size-tokens';\nimport { ColorVariant } from '../../../theme/tokens';\nimport { ReactNode } from 'react';\nimport Icon from '../../system/icon/icon';\n\nexport type TimelineItemProps = {\n /** Main content of the timeline item */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Icon name to display in the timeline marker (if not provided, shows a dot) */\n icon?: string;\n /** Size of the icon */\n iconSize?: Size;\n /** Color variant for the icon */\n iconColor?: ColorVariant;\n /** Main title/heading for the timeline event */\n title?: string;\n /** Secondary subtitle text */\n subtitle?: string;\n /** Timestamp or date string to display */\n timestamp?: string;\n /** Whether this is the last item (hides connector line) */\n isLast?: boolean;\n};\n\nexport type TimelineProps = {\n /** Timeline items (TimelineItem components) */\n children: ReactNode;\n /** Additional CSS classes to apply */\n className?: string;\n /** Horizontal alignment of the timeline */\n position?: 'left' | 'center' | 'right';\n};\n\n/**\n * TimelineItem - Individual event in timeline\n */\nexport function TimelineItem({\n children,\n className = '',\n icon,\n iconSize = 'sm',\n iconColor = 'neutral',\n title,\n subtitle,\n timestamp,\n isLast = false\n}: Readonly<TimelineItemProps>) {\n return (\n <div className={`flex gap-4 ${className}`}>\n {/* Icon/Dot Column */}\n <div className=\"flex flex-col items-center\">\n {/* Icon or Dot */}\n <div\n className={`\n flex items-center justify-center\n w-8 h-8 rounded-full\n shrink-0\n `}\n >\n {icon ? (\n <Icon name={icon} size={iconSize} color={iconColor} />\n ) : (\n <div className=\"w-2 h-2 rounded-full bg-current\" />\n )}\n </div>\n\n {/* Connector Line */}\n {!isLast && <div className=\"w-0.5 flex-1 bg-border mt-2\" />}\n </div>\n\n {/* Content Column */}\n <div className={`flex-1 ${!isLast ? 'pb-8' : ''}`}>\n {/* Header */}\n {(title || timestamp) && (\n <div className=\"flex items-start justify-between gap-4 mb-1\">\n {title && <h4 className=\"font-semibold text-foreground\">{title}</h4>}\n {timestamp && <time className=\"text-sm text-muted-foreground whitespace-nowrap\">{timestamp}</time>}\n </div>\n )}\n\n {/* Subtitle */}\n {subtitle && <p className=\"text-sm text-muted-foreground mb-2\">{subtitle}</p>}\n\n {/* Content */}\n {children && <div className=\"text-sm text-foreground\">{children}</div>}\n </div>\n </div>\n );\n}\n\n/**\n * Timeline - Vertical timeline for events, activities, history\n *\n * Features:\n * - Vertical layout with connector lines\n * - Custom icons or default dots\n * - Color-coded events\n * - Titles, subtitles, timestamps\n * - Flexible content\n *\n * Common uses:\n * - Activity feeds\n * - Order tracking\n * - Version history\n * - Process steps\n */\nfunction Timeline({ children, className = '', position = 'left' }: Readonly<TimelineProps>) {\n const positionClasses = {\n left: '',\n center: 'mx-auto max-w-2xl',\n right: 'ml-auto max-w-2xl'\n };\n\n return <div className={`${positionClasses[position]} ${className}`}>{children}</div>;\n}\n\nTimeline.displayName = 'Timeline';\n\nexport default Timeline;\n"],"names":[],"mappings":";;AAsCO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAAgC;AAC9B,SACE,qBAAC,OAAA,EAAI,WAAW,cAAc,SAAS,IAErC,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,8BAEb,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,UAMV,UAAA,OACC,oBAAC,MAAA,EAAK,MAAM,MAAM,MAAM,UAAU,OAAO,UAAA,CAAW,IAEpD,oBAAC,OAAA,EAAI,WAAU,kCAAA,CAAkC;AAAA,QAAA;AAAA,MAAA;AAAA,MAKpD,CAAC,UAAU,oBAAC,OAAA,EAAI,WAAU,8BAAA,CAA8B;AAAA,IAAA,GAC3D;AAAA,IAGA,qBAAC,SAAI,WAAW,UAAU,CAAC,SAAS,SAAS,EAAE,IAE3C,UAAA;AAAA,OAAA,SAAS,cACT,qBAAC,OAAA,EAAI,WAAU,+CACZ,UAAA;AAAA,QAAA,SAAS,oBAAC,MAAA,EAAG,WAAU,iCAAiC,UAAA,OAAM;AAAA,QAC9D,aAAa,oBAAC,QAAA,EAAK,WAAU,mDAAmD,UAAA,UAAA,CAAU;AAAA,MAAA,GAC7F;AAAA,MAID,YAAY,oBAAC,KAAA,EAAE,WAAU,sCAAsC,UAAA,UAAS;AAAA,MAGxE,YAAY,oBAAC,OAAA,EAAI,WAAU,2BAA2B,SAAA,CAAS;AAAA,IAAA,EAAA,CAClE;AAAA,EAAA,GACF;AAEJ;AAkBA,SAAS,SAAS,EAAE,UAAU,YAAY,IAAI,WAAW,UAAmC;AAC1F,QAAM,kBAAkB;AAAA,IACtB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAGT,SAAO,oBAAC,OAAA,EAAI,WAAW,GAAG,gBAAgB,QAAQ,CAAC,IAAI,SAAS,IAAK,SAAA,CAAS;AAChF;AAEA,SAAS,cAAc;"}