@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,9 @@
1
+ export { default as Error400 } from './error-400';
2
+ export { default as Error401 } from './error-401';
3
+ export { default as Error403 } from './error-403';
4
+ export { default as Error404 } from './error-404';
5
+ export type { Error400Props } from './error-400';
6
+ export type { Error401Props } from './error-401';
7
+ export type { Error403Props } from './error-403';
8
+ export type { Error404Props } from './error-404';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/error-page/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './loading-container';
2
+ export type { LoadingContainerProps } from './loading-container';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-container/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ import { ContainerProps } from '../../layout/container/container';
3
+ import { StackProps } from '../../layout/stack/stack';
4
+ import { SpinnerProps } from '../spinner/spinner';
5
+ export type LoadingContainerProps = {
6
+ /** Minimum height for the loading area */
7
+ minHeight?: React.CSSProperties['minHeight'];
8
+ /** Props forwarded to the Container wrapper */
9
+ containerProps?: Omit<ContainerProps, 'children'>;
10
+ /** Props forwarded to the Stack wrapper */
11
+ stackProps?: Omit<StackProps, 'children'>;
12
+ /** Props forwarded to the Spinner */
13
+ spinnerProps?: SpinnerProps;
14
+ };
15
+ export default function LoadingContainer({ minHeight, containerProps, stackProps, spinnerProps }: LoadingContainerProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=loading-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-container.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-container/loading-container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,+CAA+C;IAC/C,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAClD,2CAA2C;IAC3C,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1C,qCAAqC;IACrC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,SAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACb,EAAE,qBAAqB,2CAiBvB"}
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import Container from "../../layout/container/container.js";
3
+ import Stack from "../../layout/stack/stack.js";
4
+ import Spinner from "../spinner/spinner.js";
5
+ function LoadingContainer({
6
+ minHeight = "50vh",
7
+ containerProps,
8
+ stackProps,
9
+ spinnerProps
10
+ }) {
11
+ const { style: stackStyle, ...restStackProps } = stackProps ?? {};
12
+ return /* @__PURE__ */ jsx(Container, { marginX: "md", paddingY: "sm", ...containerProps, children: /* @__PURE__ */ jsx(
13
+ Stack,
14
+ {
15
+ direction: "vertical",
16
+ align: "center",
17
+ justify: "center",
18
+ spacing: "md",
19
+ style: { minHeight, ...stackStyle },
20
+ ...restStackProps,
21
+ children: /* @__PURE__ */ jsx(Spinner, { ...spinnerProps })
22
+ }
23
+ ) });
24
+ }
25
+ export {
26
+ LoadingContainer as default
27
+ };
28
+ //# sourceMappingURL=loading-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-container.js","sources":["../../../../src/components/feedback/loading-container/loading-container.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { ContainerProps } from '../../layout/container/container';\nimport type { StackProps } from '../../layout/stack/stack';\nimport type { SpinnerProps } from '../spinner/spinner';\nimport Container from '../../layout/container/container';\nimport Stack from '../../layout/stack/stack';\nimport Spinner from '../spinner/spinner';\n\nexport type LoadingContainerProps = {\n /** Minimum height for the loading area */\n minHeight?: React.CSSProperties['minHeight'];\n /** Props forwarded to the Container wrapper */\n containerProps?: Omit<ContainerProps, 'children'>;\n /** Props forwarded to the Stack wrapper */\n stackProps?: Omit<StackProps, 'children'>;\n /** Props forwarded to the Spinner */\n spinnerProps?: SpinnerProps;\n};\n\nexport default function LoadingContainer({\n minHeight = '50vh',\n containerProps,\n stackProps,\n spinnerProps\n}: LoadingContainerProps) {\n const { style: stackStyle, ...restStackProps } = stackProps ?? {};\n\n return (\n <Container marginX=\"md\" paddingY=\"sm\" {...containerProps}>\n <Stack\n direction=\"vertical\"\n align=\"center\"\n justify=\"center\"\n spacing=\"md\"\n style={{ minHeight, ...stackStyle }}\n {...restStackProps}\n >\n <Spinner {...spinnerProps} />\n </Stack>\n </Container>\n );\n}\n"],"names":[],"mappings":";;;;AAoBA,SAAwB,iBAAiB;AAAA,EACvC,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,EAAE,OAAO,YAAY,GAAG,eAAA,IAAmB,cAAc,CAAA;AAE/D,6BACG,WAAA,EAAU,SAAQ,MAAK,UAAS,MAAM,GAAG,gBACxC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,OAAO,EAAE,WAAW,GAAG,WAAA;AAAA,MACtB,GAAG;AAAA,MAEJ,UAAA,oBAAC,SAAA,EAAS,GAAG,aAAA,CAAc;AAAA,IAAA;AAAA,EAAA,GAE/B;AAEJ;"}
@@ -0,0 +1,3 @@
1
+ export { default } from './modal';
2
+ export type { ModalProps } from './modal';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { default as React } from 'react';
2
+ export type ModalProps = {
3
+ /** Controls the visibility state of the modal */
4
+ isOpen: boolean;
5
+ /** Callback function invoked when the modal should close (ESC key or backdrop click) */
6
+ onClose: () => void;
7
+ /** Raw children (ignored if structured props provided) */
8
+ children?: React.ReactNode;
9
+ /** Structured title (string or React) */
10
+ title?: React.ReactNode;
11
+ /** Optional description text */
12
+ description?: React.ReactNode;
13
+ /** Main body content */
14
+ content?: React.ReactNode;
15
+ /** Footer actions (buttons) */
16
+ actions?: React.ReactNode;
17
+ /** Additional CSS classes to apply to the modal dialog container */
18
+ className?: string;
19
+ /** Accessible label for the modal, used for screen readers */
20
+ ariaLabel?: string;
21
+ /** Center vs top alignment */
22
+ align?: 'center' | 'top';
23
+ };
24
+ /**
25
+ * Modal - Overlay dialog component using pure Tailwind CSS
26
+ * Achieves DaisyUI modal styling with Tailwind utilities
27
+ */
28
+ declare function Modal({ isOpen, onClose, children, title, description, content, actions, className, ariaLabel, align }: Readonly<ModalProps>): React.ReactPortal | null;
29
+ declare namespace Modal {
30
+ var displayName: string;
31
+ }
32
+ export default Modal;
33
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/modal/modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,UAAU,GAAG;IACvB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,yCAAyC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,gCAAgC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,wBAAwB;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,iBAAS,KAAK,CAAC,EACb,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,SAAc,EACd,SAAS,EACT,KAAgB,EACjB,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAoGtB;kBA/GQ,KAAK;;;AAmHd,eAAe,KAAK,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { createPortal } from "react-dom";
4
+ import useOverlay from "../overlay/useOverlay.js";
5
+ import Text from "../../typography/text/text.js";
6
+ function Modal({
7
+ isOpen,
8
+ onClose,
9
+ children,
10
+ title,
11
+ description,
12
+ content,
13
+ actions,
14
+ className = "",
15
+ ariaLabel,
16
+ align = "center"
17
+ }) {
18
+ const {
19
+ phase,
20
+ shouldRender,
21
+ ref: dialogRef,
22
+ getPhaseClass
23
+ } = useOverlay({
24
+ isOpen,
25
+ focusTrap: true,
26
+ lockScroll: true,
27
+ animationFrames: 2,
28
+ restoreFocus: true
29
+ });
30
+ React.useEffect(() => {
31
+ if (!isOpen) return;
32
+ const handleEscape = (e) => {
33
+ if (e.key === "Escape") {
34
+ e.preventDefault();
35
+ onClose();
36
+ }
37
+ };
38
+ document.addEventListener("keydown", handleEscape);
39
+ return () => document.removeEventListener("keydown", handleEscape);
40
+ }, [isOpen, onClose]);
41
+ if (!shouldRender) return null;
42
+ const enteringClasses = "scale-100 translate-y-0 opacity-100";
43
+ const exitingClasses = "scale-[0.97] -translate-y-1 opacity-0";
44
+ const scaleClass = getPhaseClass(enteringClasses, exitingClasses);
45
+ const backdropOpacity = phase === "visible" || phase === "animating-in" ? "opacity-100" : "opacity-0 transition-opacity delay-50";
46
+ const hasStructured = title || description || content || actions;
47
+ const alignmentClasses = align === "center" ? "grid place-items-center" : "flex items-start justify-center pt-20";
48
+ const panel = /* @__PURE__ */ jsx(
49
+ "div",
50
+ {
51
+ "data-phase": phase,
52
+ className: `fixed inset-0 z-[999] ${alignmentClasses} bg-black/40 backdrop-blur-sm p-4 overflow-y-auto overscroll-contain transition-opacity duration-300 will-change-opacity ${backdropOpacity}`,
53
+ onMouseDown: (e) => {
54
+ if (e.target === e.currentTarget) onClose();
55
+ },
56
+ "aria-label": ariaLabel || "Close modal",
57
+ role: "presentation",
58
+ children: /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ ref: dialogRef,
62
+ "data-phase": phase,
63
+ className: `relative w-11/12 sm:w-full max-w-2xl max-h-[calc(100vh-5em)] sm:max-h-[calc(100vh-8em)] bg-card text-card-foreground rounded-2xl border border-border shadow-2xl focus:outline-none transform transition-[transform,opacity] duration-250 ease-[cubic-bezier(.33,.66,.33,1)] will-change-transform will-change-opacity select-none [backface-visibility:hidden] [transform-style:preserve-3d] overflow-hidden ${scaleClass} ${className}`,
64
+ role: "dialog",
65
+ "aria-modal": "true",
66
+ tabIndex: -1,
67
+ onTransitionEnd: (e) => {
68
+ if (e.target !== dialogRef.current) return;
69
+ },
70
+ children: /* @__PURE__ */ jsx("div", { className: "overflow-y-auto max-h-[calc(100vh-5em)] sm:max-h-[calc(100vh-8em)] p-4 sm:p-6", children: hasStructured ? /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ title && /* @__PURE__ */ jsxs(Fragment, { children: [
72
+ typeof title === "string" ? /* @__PURE__ */ jsx(Text, { weight: "bold", size: "2xl", children: title }) : title,
73
+ description && /* @__PURE__ */ jsx(Text, { variant: "muted", size: "sm", hasMargin: true, children: description })
74
+ ] }),
75
+ content && /* @__PURE__ */ jsx("section", { className: "text-sm leading-relaxed space-y-3 mt-4", children: content }),
76
+ actions && /* @__PURE__ */ jsx("footer", { className: "flex justify-end gap-2 pt-2 mt-4 border-t border-border/60", children: actions })
77
+ ] }) : children })
78
+ }
79
+ )
80
+ }
81
+ );
82
+ return createPortal(panel, document.body);
83
+ }
84
+ Modal.displayName = "Modal";
85
+ export {
86
+ Modal as default
87
+ };
88
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sources":["../../../../src/components/feedback/modal/modal.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport useOverlay from '../overlay/useOverlay';\nimport Text from '../../typography/text/text';\n\nexport type ModalProps = {\n /** Controls the visibility state of the modal */\n isOpen: boolean;\n /** Callback function invoked when the modal should close (ESC key or backdrop click) */\n onClose: () => void;\n /** Raw children (ignored if structured props provided) */\n children?: React.ReactNode;\n /** Structured title (string or React) */\n title?: React.ReactNode;\n /** Optional description text */\n description?: React.ReactNode;\n /** Main body content */\n content?: React.ReactNode;\n /** Footer actions (buttons) */\n actions?: React.ReactNode;\n /** Additional CSS classes to apply to the modal dialog container */\n className?: string;\n /** Accessible label for the modal, used for screen readers */\n ariaLabel?: string;\n /** Center vs top alignment */\n align?: 'center' | 'top';\n};\n\n/**\n * Modal - Overlay dialog component using pure Tailwind CSS\n * Achieves DaisyUI modal styling with Tailwind utilities\n */\nfunction Modal({\n isOpen,\n onClose,\n children,\n title,\n description,\n content,\n actions,\n className = '',\n ariaLabel,\n align = 'center'\n}: Readonly<ModalProps>) {\n const {\n phase,\n shouldRender,\n ref: dialogRef,\n getPhaseClass\n } = useOverlay<HTMLDivElement>({\n isOpen,\n focusTrap: true,\n lockScroll: true,\n animationFrames: 2,\n restoreFocus: true\n });\n\n // ESC key handling separate from useOverlay to allow optional close logic\n React.useEffect(() => {\n if (!isOpen) return;\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n onClose();\n }\n };\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [isOpen, onClose]);\n\n // Manage mounting phases\n\n // If closed & unmounting, skip render\n if (!shouldRender) return null;\n\n const enteringClasses = 'scale-100 translate-y-0 opacity-100';\n const exitingClasses = 'scale-[0.97] -translate-y-1 opacity-0';\n const scaleClass = getPhaseClass(enteringClasses, exitingClasses);\n // Stagger backdrop fade slightly after panel starts exiting to reduce perceived flicker\n const backdropOpacity =\n phase === 'visible' || phase === 'animating-in' ? 'opacity-100' : 'opacity-0 transition-opacity delay-50';\n\n const hasStructured = title || description || content || actions;\n const alignmentClasses = align === 'center' ? 'grid place-items-center' : 'flex items-start justify-center pt-20';\n\n const panel = (\n <div\n data-phase={phase}\n className={`fixed inset-0 z-[999] ${alignmentClasses} bg-black/40 backdrop-blur-sm p-4 overflow-y-auto overscroll-contain transition-opacity duration-300 will-change-opacity ${backdropOpacity}`}\n onMouseDown={(e) => {\n // close only if clicking backdrop not dialog\n if (e.target === e.currentTarget) onClose();\n }}\n aria-label={ariaLabel || 'Close modal'}\n role=\"presentation\"\n >\n <div\n ref={dialogRef}\n data-phase={phase}\n className={`relative w-11/12 sm:w-full max-w-2xl max-h-[calc(100vh-5em)] sm:max-h-[calc(100vh-8em)] bg-card text-card-foreground rounded-2xl border border-border shadow-2xl focus:outline-none transform transition-[transform,opacity] duration-250 ease-[cubic-bezier(.33,.66,.33,1)] will-change-transform will-change-opacity select-none [backface-visibility:hidden] [transform-style:preserve-3d] overflow-hidden ${scaleClass} ${className}`}\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex={-1}\n onTransitionEnd={(e) => {\n if (e.target !== dialogRef.current) return;\n if (phase === 'animating-out') {\n // handled by useOverlay via shouldRender state change upstream; keep minimal here\n }\n }}\n >\n <div className=\"overflow-y-auto max-h-[calc(100vh-5em)] sm:max-h-[calc(100vh-8em)] p-4 sm:p-6\">\n {hasStructured ? (\n <>\n {title && (\n <>\n {typeof title === 'string' ? (\n <Text weight=\"bold\" size=\"2xl\">\n {title}\n </Text>\n ) : (\n title\n )}\n {description && (\n <Text variant=\"muted\" size=\"sm\" hasMargin>\n {description}\n </Text>\n )}\n </>\n )}\n {content && <section className=\"text-sm leading-relaxed space-y-3 mt-4\">{content}</section>}\n {actions && (\n <footer className=\"flex justify-end gap-2 pt-2 mt-4 border-t border-border/60\">{actions}</footer>\n )}\n </>\n ) : (\n children\n )}\n </div>\n </div>\n </div>\n );\n\n return createPortal(panel, document.body);\n}\n\nModal.displayName = 'Modal';\n\nexport default Modal;\n"],"names":[],"mappings":";;;;;AAgCA,SAAS,MAAM;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,QAAQ;AACV,GAAyB;AACvB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL;AAAA,EAAA,IACE,WAA2B;AAAA,IAC7B;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAAA,CACf;AAGD,QAAM,UAAU,MAAM;AACpB,QAAI,CAAC,OAAQ;AACb,UAAM,eAAe,CAAC,MAAqB;AACzC,UAAI,EAAE,QAAQ,UAAU;AACtB,UAAE,eAAA;AACF,gBAAA;AAAA,MACF;AAAA,IACF;AACA,aAAS,iBAAiB,WAAW,YAAY;AACjD,WAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,EACnE,GAAG,CAAC,QAAQ,OAAO,CAAC;AAKpB,MAAI,CAAC,aAAc,QAAO;AAE1B,QAAM,kBAAkB;AACxB,QAAM,iBAAiB;AACvB,QAAM,aAAa,cAAc,iBAAiB,cAAc;AAEhE,QAAM,kBACJ,UAAU,aAAa,UAAU,iBAAiB,gBAAgB;AAEpE,QAAM,gBAAgB,SAAS,eAAe,WAAW;AACzD,QAAM,mBAAmB,UAAU,WAAW,4BAA4B;AAE1E,QAAM,QACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,yBAAyB,gBAAgB,4HAA4H,eAAe;AAAA,MAC/L,aAAa,CAAC,MAAM;AAElB,YAAI,EAAE,WAAW,EAAE,cAAe,SAAA;AAAA,MACpC;AAAA,MACA,cAAY,aAAa;AAAA,MACzB,MAAK;AAAA,MAEL,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK;AAAA,UACL,cAAY;AAAA,UACZ,WAAW,iZAAiZ,UAAU,IAAI,SAAS;AAAA,UACnb,MAAK;AAAA,UACL,cAAW;AAAA,UACX,UAAU;AAAA,UACV,iBAAiB,CAAC,MAAM;AACtB,gBAAI,EAAE,WAAW,UAAU,QAAS;AAAA,UAItC;AAAA,UAEA,UAAA,oBAAC,OAAA,EAAI,WAAU,iFACZ,0BACC,qBAAA,UAAA,EACG,UAAA;AAAA,YAAA,SACC,qBAAA,UAAA,EACG,UAAA;AAAA,cAAA,OAAO,UAAU,WAChB,oBAAC,MAAA,EAAK,QAAO,QAAO,MAAK,OACtB,UAAA,MAAA,CACH,IAEA;AAAA,cAED,mCACE,MAAA,EAAK,SAAQ,SAAQ,MAAK,MAAK,WAAS,MACtC,UAAA,YAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAED,WAAW,oBAAC,WAAA,EAAQ,WAAU,0CAA0C,UAAA,SAAQ;AAAA,YAChF,WACC,oBAAC,UAAA,EAAO,WAAU,8DAA8D,UAAA,QAAA,CAAQ;AAAA,UAAA,EAAA,CAE5F,IAEA,SAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAIJ,SAAO,aAAa,OAAO,SAAS,IAAI;AAC1C;AAEA,MAAM,cAAc;"}
@@ -0,0 +1,24 @@
1
+ export type OverlayPhase = 'mount' | 'animating-in' | 'visible' | 'animating-out';
2
+ export interface UseOverlayOptions {
3
+ isOpen: boolean;
4
+ onClose?: () => void;
5
+ focusTrap?: boolean;
6
+ lockScroll?: boolean;
7
+ animationFrames?: number;
8
+ restoreFocus?: boolean;
9
+ exitDuration?: number;
10
+ unmountOnExit?: boolean;
11
+ }
12
+ export interface UseOverlayResult<T extends HTMLElement> {
13
+ phase: OverlayPhase;
14
+ shouldRender: boolean;
15
+ ref: React.RefObject<T>;
16
+ getPhaseClass: (openClass: string, closedClass: string) => string;
17
+ }
18
+ /**
19
+ * useOverlay - shared lifecycle for animated overlays (Modal, Drawer, Popover, etc.)
20
+ * Handles phased mounting, focus trap, scroll locking, and focus restoration.
21
+ */
22
+ export declare function useOverlay<T extends HTMLElement>(options: UseOverlayOptions): UseOverlayResult<T>;
23
+ export default useOverlay;
24
+ //# sourceMappingURL=useOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/overlay/useOverlay.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,WAAW;IACrD,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAuIjG;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { useRef, useState, useLayoutEffect, useEffect, useCallback } from "react";
2
+ function useOverlay(options) {
3
+ const {
4
+ isOpen,
5
+ focusTrap = true,
6
+ lockScroll = true,
7
+ animationFrames = 2,
8
+ restoreFocus = true,
9
+ exitDuration = 300,
10
+ unmountOnExit = true
11
+ } = options;
12
+ const previouslyFocusedRef = useRef(null);
13
+ const containerRef = useRef(null);
14
+ const [shouldRender, setShouldRender] = useState(isOpen);
15
+ const [phase, setPhase] = useState("mount");
16
+ useLayoutEffect(() => {
17
+ if (isOpen && !shouldRender) {
18
+ setShouldRender(true);
19
+ setPhase("mount");
20
+ } else if (isOpen && shouldRender && phase === "mount") {
21
+ requestAnimationFrame(() => {
22
+ setPhase("animating-in");
23
+ let frame = 0;
24
+ const step = () => {
25
+ frame += 1;
26
+ if (frame >= animationFrames) {
27
+ setPhase("visible");
28
+ } else {
29
+ requestAnimationFrame(step);
30
+ }
31
+ };
32
+ if (animationFrames > 0) {
33
+ requestAnimationFrame(step);
34
+ } else {
35
+ setPhase("visible");
36
+ }
37
+ });
38
+ } else if (!isOpen && shouldRender && phase !== "animating-out") {
39
+ setPhase("animating-out");
40
+ }
41
+ }, [isOpen, shouldRender, phase, animationFrames]);
42
+ useEffect(() => {
43
+ if (phase === "animating-out" && unmountOnExit) {
44
+ const timeout = setTimeout(() => {
45
+ setShouldRender(false);
46
+ setPhase("mount");
47
+ }, exitDuration);
48
+ return () => clearTimeout(timeout);
49
+ }
50
+ return void 0;
51
+ }, [phase, exitDuration, unmountOnExit]);
52
+ useEffect(() => {
53
+ if (isOpen) {
54
+ if (typeof document !== "undefined") {
55
+ if (restoreFocus) previouslyFocusedRef.current = document.activeElement;
56
+ if (lockScroll) document.body.style.overflow = "hidden";
57
+ }
58
+ }
59
+ return () => {
60
+ if (typeof document !== "undefined") {
61
+ if (lockScroll) document.body.style.overflow = "";
62
+ if (!isOpen && restoreFocus && previouslyFocusedRef.current) {
63
+ previouslyFocusedRef.current.focus();
64
+ }
65
+ }
66
+ };
67
+ }, [isOpen, lockScroll, restoreFocus]);
68
+ useEffect(() => {
69
+ if (phase === "visible" && containerRef.current) {
70
+ const el = containerRef.current;
71
+ try {
72
+ el.focus?.({ preventScroll: true });
73
+ } catch {
74
+ el.focus?.();
75
+ }
76
+ }
77
+ }, [phase]);
78
+ const handleKeyDown = useCallback(
79
+ (e) => {
80
+ if (!focusTrap || phase !== "visible" || e.key !== "Tab" || !containerRef.current) return;
81
+ const node = containerRef.current;
82
+ const focusable = node.querySelectorAll(
83
+ 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])'
84
+ );
85
+ if (!focusable.length) return;
86
+ const first = focusable[0];
87
+ const last = focusable[focusable.length - 1];
88
+ if (e.shiftKey) {
89
+ if (document.activeElement === first || document.activeElement === node) {
90
+ e.preventDefault();
91
+ last.focus();
92
+ }
93
+ } else if (document.activeElement === last) {
94
+ e.preventDefault();
95
+ first.focus();
96
+ }
97
+ },
98
+ [focusTrap, phase]
99
+ );
100
+ useEffect(() => {
101
+ if (focusTrap && phase === "visible") {
102
+ document.addEventListener("keydown", handleKeyDown);
103
+ return () => document.removeEventListener("keydown", handleKeyDown);
104
+ }
105
+ return void 0;
106
+ }, [phase, focusTrap, handleKeyDown]);
107
+ const getPhaseClass = useCallback(
108
+ (openClass, closedClass) => {
109
+ return phase === "animating-in" || phase === "visible" ? openClass : closedClass;
110
+ },
111
+ [phase]
112
+ );
113
+ return { phase, shouldRender, ref: containerRef, getPhaseClass };
114
+ }
115
+ export {
116
+ useOverlay as default,
117
+ useOverlay
118
+ };
119
+ //# sourceMappingURL=useOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlay.js","sources":["../../../../src/components/feedback/overlay/useOverlay.ts"],"sourcesContent":["import { useCallback, useLayoutEffect, useEffect, useRef, useState } from 'react';\n\nexport type OverlayPhase = 'mount' | 'animating-in' | 'visible' | 'animating-out';\n\nexport interface UseOverlayOptions {\n isOpen: boolean;\n onClose?: () => void; // reserved for future outside-click/escape wiring\n focusTrap?: boolean;\n lockScroll?: boolean;\n animationFrames?: number; // number of rAF hops before visible (default 2)\n restoreFocus?: boolean;\n exitDuration?: number; // ms matching CSS transition duration for animating-out\n unmountOnExit?: boolean; // default true\n}\n\nexport interface UseOverlayResult<T extends HTMLElement> {\n phase: OverlayPhase;\n shouldRender: boolean;\n ref: React.RefObject<T>;\n getPhaseClass: (openClass: string, closedClass: string) => string;\n}\n\n/**\n * useOverlay - shared lifecycle for animated overlays (Modal, Drawer, Popover, etc.)\n * Handles phased mounting, focus trap, scroll locking, and focus restoration.\n */\nexport function useOverlay<T extends HTMLElement>(options: UseOverlayOptions): UseOverlayResult<T> {\n const {\n isOpen,\n focusTrap = true,\n lockScroll = true,\n animationFrames = 2,\n restoreFocus = true,\n exitDuration = 300,\n unmountOnExit = true\n } = options;\n const previouslyFocusedRef = useRef<HTMLElement | null>(null);\n // Cast so consumer sees RefObject<T>; internal null checks still done.\n const containerRef = useRef<T>(null as unknown as T);\n const [shouldRender, setShouldRender] = useState(isOpen);\n const [phase, setPhase] = useState<OverlayPhase>('mount');\n\n // Mount / animation phases\n useLayoutEffect(() => {\n if (isOpen && !shouldRender) {\n // Opening: mount first\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setShouldRender(true);\n setPhase('mount');\n } else if (isOpen && shouldRender && phase === 'mount') {\n // Already mounted, start animation\n requestAnimationFrame(() => {\n setPhase('animating-in');\n let frame = 0;\n const step = () => {\n frame += 1;\n if (frame >= animationFrames) {\n setPhase('visible');\n } else {\n requestAnimationFrame(step);\n }\n };\n if (animationFrames > 0) {\n requestAnimationFrame(step);\n } else {\n setPhase('visible');\n }\n });\n } else if (!isOpen && shouldRender && phase !== 'animating-out') {\n // Closing: start exit animation\n setPhase('animating-out');\n }\n }, [isOpen, shouldRender, phase, animationFrames]);\n\n // Handle exit unmount timing aligned with CSS duration\n useEffect(() => {\n if (phase === 'animating-out' && unmountOnExit) {\n const timeout = setTimeout(() => {\n setShouldRender(false);\n setPhase('mount');\n }, exitDuration);\n return () => clearTimeout(timeout);\n }\n return undefined;\n }, [phase, exitDuration, unmountOnExit]);\n\n // Scroll lock & focus capture\n useEffect(() => {\n if (isOpen) {\n if (typeof document !== 'undefined') {\n if (restoreFocus) previouslyFocusedRef.current = document.activeElement as HTMLElement;\n if (lockScroll) document.body.style.overflow = 'hidden';\n }\n }\n return () => {\n if (typeof document !== 'undefined') {\n if (lockScroll) document.body.style.overflow = '';\n if (!isOpen && restoreFocus && previouslyFocusedRef.current) {\n previouslyFocusedRef.current.focus();\n }\n }\n };\n }, [isOpen, lockScroll, restoreFocus]);\n\n // Focus dialog/panel when visible without scrolling document\n useEffect(() => {\n if (phase === 'visible' && containerRef.current) {\n const el = containerRef.current as unknown as HTMLElement;\n try {\n // preventScroll supported in modern browsers; fallback to normal focus\n el.focus?.({ preventScroll: true } as FocusOptions);\n } catch {\n el.focus?.();\n }\n }\n }, [phase]);\n\n // Focus trap\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (!focusTrap || phase !== 'visible' || e.key !== 'Tab' || !containerRef.current) return;\n const node = containerRef.current as unknown as HTMLElement;\n const focusable = node.querySelectorAll<HTMLElement>(\n 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex=\"-1\"])'\n );\n if (!focusable.length) return;\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n if (e.shiftKey) {\n if (document.activeElement === first || document.activeElement === node) {\n e.preventDefault();\n last.focus();\n }\n } else if (document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n },\n [focusTrap, phase]\n );\n\n useEffect(() => {\n if (focusTrap && phase === 'visible') {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }\n return undefined;\n }, [phase, focusTrap, handleKeyDown]);\n\n const getPhaseClass = useCallback(\n (openClass: string, closedClass: string) => {\n // mount: closed (initial state before animation)\n // animating-in: open (CSS transition from closed to open)\n // visible: open (fully open)\n // animating-out: closed (CSS transition from open to closed)\n return phase === 'animating-in' || phase === 'visible' ? openClass : closedClass;\n },\n [phase]\n );\n\n return { phase, shouldRender, ref: containerRef, getPhaseClass };\n}\n\nexport default useOverlay;\n"],"names":[],"mappings":";AA0BO,SAAS,WAAkC,SAAiD;AACjG,QAAM;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,gBAAgB;AAAA,EAAA,IACd;AACJ,QAAM,uBAAuB,OAA2B,IAAI;AAE5D,QAAM,eAAe,OAAU,IAAoB;AACnD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,MAAM;AACvD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,OAAO;AAGxD,kBAAgB,MAAM;AACpB,QAAI,UAAU,CAAC,cAAc;AAG3B,sBAAgB,IAAI;AACpB,eAAS,OAAO;AAAA,IAClB,WAAW,UAAU,gBAAgB,UAAU,SAAS;AAEtD,4BAAsB,MAAM;AAC1B,iBAAS,cAAc;AACvB,YAAI,QAAQ;AACZ,cAAM,OAAO,MAAM;AACjB,mBAAS;AACT,cAAI,SAAS,iBAAiB;AAC5B,qBAAS,SAAS;AAAA,UACpB,OAAO;AACL,kCAAsB,IAAI;AAAA,UAC5B;AAAA,QACF;AACA,YAAI,kBAAkB,GAAG;AACvB,gCAAsB,IAAI;AAAA,QAC5B,OAAO;AACL,mBAAS,SAAS;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,IACH,WAAW,CAAC,UAAU,gBAAgB,UAAU,iBAAiB;AAE/D,eAAS,eAAe;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,OAAO,eAAe,CAAC;AAGjD,YAAU,MAAM;AACd,QAAI,UAAU,mBAAmB,eAAe;AAC9C,YAAM,UAAU,WAAW,MAAM;AAC/B,wBAAgB,KAAK;AACrB,iBAAS,OAAO;AAAA,MAClB,GAAG,YAAY;AACf,aAAO,MAAM,aAAa,OAAO;AAAA,IACnC;AACA,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,cAAc,aAAa,CAAC;AAGvC,YAAU,MAAM;AACd,QAAI,QAAQ;AACV,UAAI,OAAO,aAAa,aAAa;AACnC,YAAI,aAAc,sBAAqB,UAAU,SAAS;AAC1D,YAAI,WAAY,UAAS,KAAK,MAAM,WAAW;AAAA,MACjD;AAAA,IACF;AACA,WAAO,MAAM;AACX,UAAI,OAAO,aAAa,aAAa;AACnC,YAAI,WAAY,UAAS,KAAK,MAAM,WAAW;AAC/C,YAAI,CAAC,UAAU,gBAAgB,qBAAqB,SAAS;AAC3D,+BAAqB,QAAQ,MAAA;AAAA,QAC/B;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,YAAY,CAAC;AAGrC,YAAU,MAAM;AACd,QAAI,UAAU,aAAa,aAAa,SAAS;AAC/C,YAAM,KAAK,aAAa;AACxB,UAAI;AAEF,WAAG,QAAQ,EAAE,eAAe,KAAA,CAAsB;AAAA,MACpD,QAAQ;AACN,WAAG,QAAA;AAAA,MACL;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAGV,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAqB;AACpB,UAAI,CAAC,aAAa,UAAU,aAAa,EAAE,QAAQ,SAAS,CAAC,aAAa,QAAS;AACnF,YAAM,OAAO,aAAa;AAC1B,YAAM,YAAY,KAAK;AAAA,QACrB;AAAA,MAAA;AAEF,UAAI,CAAC,UAAU,OAAQ;AACvB,YAAM,QAAQ,UAAU,CAAC;AACzB,YAAM,OAAO,UAAU,UAAU,SAAS,CAAC;AAC3C,UAAI,EAAE,UAAU;AACd,YAAI,SAAS,kBAAkB,SAAS,SAAS,kBAAkB,MAAM;AACvE,YAAE,eAAA;AACF,eAAK,MAAA;AAAA,QACP;AAAA,MACF,WAAW,SAAS,kBAAkB,MAAM;AAC1C,UAAE,eAAA;AACF,cAAM,MAAA;AAAA,MACR;AAAA,IACF;AAAA,IACA,CAAC,WAAW,KAAK;AAAA,EAAA;AAGnB,YAAU,MAAM;AACd,QAAI,aAAa,UAAU,WAAW;AACpC,eAAS,iBAAiB,WAAW,aAAa;AAClD,aAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,IACpE;AACA,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,WAAW,aAAa,CAAC;AAEpC,QAAM,gBAAgB;AAAA,IACpB,CAAC,WAAmB,gBAAwB;AAK1C,aAAO,UAAU,kBAAkB,UAAU,YAAY,YAAY;AAAA,IACvE;AAAA,IACA,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO,EAAE,OAAO,cAAc,KAAK,cAAc,cAAA;AACnD;"}
@@ -0,0 +1,3 @@
1
+ export { default } from './popover';
2
+ export type { PopoverProps } from './popover';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+ export type PopoverProps = {
3
+ /** Trigger element to click for opening the popover (alternative to children) */
4
+ trigger?: React.ReactNode;
5
+ /** Trigger element to click for opening the popover (takes precedence over trigger prop) */
6
+ children?: React.ReactNode;
7
+ /** Content to display inside the popover panel when opened */
8
+ content: React.ReactNode;
9
+ /** Position of the popover relative to the trigger element */
10
+ position?: 'top' | 'bottom' | 'left' | 'right';
11
+ /** Additional CSS classes to apply to the popover wrapper container */
12
+ className?: string;
13
+ };
14
+ /**
15
+ * Popover - Click-to-open content overlay
16
+ *
17
+ * Displays rich content in a floating panel when clicked.
18
+ * Uses portal rendering to escape overflow constraints.
19
+ */
20
+ declare function Popover({ trigger, children, content, position, className }: Readonly<PopoverProps>): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace Popover {
22
+ var displayName: string;
23
+ }
24
+ export default Popover;
25
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/popover/popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG;IACzB,iFAAiF;IACjF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,iBAAS,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAmB,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,2CAiI3G;kBAjIQ,OAAO;;;AAqIhB,eAAe,OAAO,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useState, useRef, useCallback, useEffect } from "react";
3
+ import { createPortal } from "react-dom";
4
+ function Popover({ trigger, children, content, position = "bottom", className = "" }) {
5
+ const [isOpen, setIsOpen] = useState(false);
6
+ const [coords, setCoords] = useState({ top: 0, left: 0 });
7
+ const triggerRef = useRef(null);
8
+ const popoverRef = useRef(null);
9
+ const triggerContent = children || trigger;
10
+ const calculatePosition = useCallback(() => {
11
+ if (!triggerRef.current || !popoverRef.current) return;
12
+ const triggerRect = triggerRef.current.getBoundingClientRect();
13
+ const popoverRect = popoverRef.current.getBoundingClientRect();
14
+ const offset = 8;
15
+ let top = 0;
16
+ let left = 0;
17
+ switch (position) {
18
+ case "top":
19
+ top = triggerRect.top - popoverRect.height - offset;
20
+ left = triggerRect.left + triggerRect.width / 2 - popoverRect.width / 2;
21
+ break;
22
+ case "bottom":
23
+ top = triggerRect.bottom + offset;
24
+ left = triggerRect.left + triggerRect.width / 2 - popoverRect.width / 2;
25
+ break;
26
+ case "left":
27
+ top = triggerRect.top + triggerRect.height / 2 - popoverRect.height / 2;
28
+ left = triggerRect.left - popoverRect.width - offset;
29
+ break;
30
+ case "right":
31
+ top = triggerRect.top + triggerRect.height / 2 - popoverRect.height / 2;
32
+ left = triggerRect.right + offset;
33
+ break;
34
+ }
35
+ const padding = 8;
36
+ if (left < padding) left = padding;
37
+ if (left + popoverRect.width > window.innerWidth - padding) {
38
+ left = window.innerWidth - popoverRect.width - padding;
39
+ }
40
+ if (top < padding) top = padding;
41
+ if (top + popoverRect.height > window.innerHeight - padding) {
42
+ top = window.innerHeight - popoverRect.height - padding;
43
+ }
44
+ setCoords({ top, left });
45
+ }, [position]);
46
+ useEffect(() => {
47
+ const handleClickOutside = (event) => {
48
+ if (popoverRef.current && !popoverRef.current.contains(event.target) && triggerRef.current && !triggerRef.current.contains(event.target)) {
49
+ setIsOpen(false);
50
+ }
51
+ };
52
+ const handleEscape = (event) => {
53
+ if (event.key === "Escape") {
54
+ setIsOpen(false);
55
+ }
56
+ };
57
+ if (isOpen) {
58
+ requestAnimationFrame(() => {
59
+ calculatePosition();
60
+ });
61
+ document.addEventListener("mousedown", handleClickOutside);
62
+ document.addEventListener("keydown", handleEscape);
63
+ window.addEventListener("scroll", calculatePosition, true);
64
+ window.addEventListener("resize", calculatePosition);
65
+ return () => {
66
+ document.removeEventListener("mousedown", handleClickOutside);
67
+ document.removeEventListener("keydown", handleEscape);
68
+ window.removeEventListener("scroll", calculatePosition, true);
69
+ window.removeEventListener("resize", calculatePosition);
70
+ };
71
+ }
72
+ return void 0;
73
+ }, [isOpen, calculatePosition]);
74
+ const popover = isOpen ? /* @__PURE__ */ jsx(
75
+ "div",
76
+ {
77
+ ref: popoverRef,
78
+ role: "dialog",
79
+ "aria-modal": "false",
80
+ className: `
81
+ fixed z-9999
82
+ min-w-[200px] max-w-sm
83
+ bg-popover text-popover-foreground
84
+ border border-border
85
+ rounded-lg
86
+ shadow-xl
87
+ p-4
88
+ animate-in fade-in-0 zoom-in-95
89
+ ${className}
90
+ `,
91
+ style: {
92
+ top: `${coords.top}px`,
93
+ left: `${coords.left}px`
94
+ },
95
+ children: content
96
+ }
97
+ ) : null;
98
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
99
+ /* @__PURE__ */ jsx(
100
+ "button",
101
+ {
102
+ ref: triggerRef,
103
+ onClick: () => setIsOpen(!isOpen),
104
+ className: "inline-flex bg-transparent border-0 p-0 cursor-pointer",
105
+ type: "button",
106
+ "aria-expanded": isOpen,
107
+ "aria-haspopup": "dialog",
108
+ children: triggerContent
109
+ }
110
+ ),
111
+ popover && createPortal(popover, document.body)
112
+ ] });
113
+ }
114
+ Popover.displayName = "Popover";
115
+ export {
116
+ Popover as default
117
+ };
118
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sources":["../../../../src/components/feedback/popover/popover.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type PopoverProps = {\n /** Trigger element to click for opening the popover (alternative to children) */\n trigger?: React.ReactNode;\n /** Trigger element to click for opening the popover (takes precedence over trigger prop) */\n children?: React.ReactNode;\n /** Content to display inside the popover panel when opened */\n content: React.ReactNode;\n /** Position of the popover relative to the trigger element */\n position?: 'top' | 'bottom' | 'left' | 'right';\n /** Additional CSS classes to apply to the popover wrapper container */\n className?: string;\n};\n\n/**\n * Popover - Click-to-open content overlay\n *\n * Displays rich content in a floating panel when clicked.\n * Uses portal rendering to escape overflow constraints.\n */\nfunction Popover({ trigger, children, content, position = 'bottom', className = '' }: Readonly<PopoverProps>) {\n const [isOpen, setIsOpen] = useState(false);\n const [coords, setCoords] = useState({ top: 0, left: 0 });\n const triggerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const triggerContent = children || trigger;\n\n const calculatePosition = useCallback(() => {\n if (!triggerRef.current || !popoverRef.current) return;\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const popoverRect = popoverRef.current.getBoundingClientRect();\n const offset = 8;\n\n let top = 0;\n let left = 0;\n\n switch (position) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + triggerRect.width / 2 - popoverRect.width / 2;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + triggerRect.width / 2 - popoverRect.width / 2;\n break;\n case 'left':\n top = triggerRect.top + triggerRect.height / 2 - popoverRect.height / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'right':\n top = triggerRect.top + triggerRect.height / 2 - popoverRect.height / 2;\n left = triggerRect.right + offset;\n break;\n }\n\n // Viewport clamping\n const padding = 8;\n if (left < padding) left = padding;\n if (left + popoverRect.width > window.innerWidth - padding) {\n left = window.innerWidth - popoverRect.width - padding;\n }\n if (top < padding) top = padding;\n if (top + popoverRect.height > window.innerHeight - padding) {\n top = window.innerHeight - popoverRect.height - padding;\n }\n\n setCoords({ top, left });\n }, [position]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(event.target as Node) &&\n triggerRef.current &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n // Position on next frame\n requestAnimationFrame(() => {\n calculatePosition();\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleEscape);\n window.addEventListener('scroll', calculatePosition, true);\n window.addEventListener('resize', calculatePosition);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleEscape);\n window.removeEventListener('scroll', calculatePosition, true);\n window.removeEventListener('resize', calculatePosition);\n };\n }\n return undefined;\n }, [isOpen, calculatePosition]);\n\n const popover = isOpen ? (\n <div\n ref={popoverRef}\n role=\"dialog\"\n aria-modal=\"false\"\n className={`\n fixed z-9999\n min-w-[200px] max-w-sm\n bg-popover text-popover-foreground \n border border-border \n rounded-lg \n shadow-xl \n p-4\n animate-in fade-in-0 zoom-in-95\n ${className}\n `}\n style={{\n top: `${coords.top}px`,\n left: `${coords.left}px`\n }}\n >\n {content}\n </div>\n ) : null;\n\n return (\n <>\n <button\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n className=\"inline-flex bg-transparent border-0 p-0 cursor-pointer\"\n type=\"button\"\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n >\n {triggerContent}\n </button>\n {popover && createPortal(popover, document.body)}\n </>\n );\n}\n\nPopover.displayName = 'Popover';\n\nexport default Popover;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default } from './progress-bar';
2
+ export type { ProgressBarProps } from './progress-bar';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/progress-bar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { ColorVariant } from '../../../theme/tokens';
2
+ export type ProgressBarProps = {
3
+ /** Current progress value */
4
+ value: number;
5
+ /** Maximum value for the progress bar (defaults to 100) */
6
+ max?: number;
7
+ /** Whether to display the percentage label next to the progress bar */
8
+ showLabel?: boolean;
9
+ /** Visual style variant indicating the progress state */
10
+ variant?: ColorVariant;
11
+ /** Additional CSS classes to apply to the progress bar container */
12
+ className?: string;
13
+ };
14
+ /**
15
+ * ProgressBar - Visual representation of completion
16
+ */
17
+ declare function ProgressBar({ value, max, showLabel, variant, className }: Readonly<ProgressBarProps>): import("react/jsx-runtime").JSX.Element;
18
+ declare namespace ProgressBar {
19
+ var displayName: string;
20
+ }
21
+ export default ProgressBar;
22
+ //# sourceMappingURL=progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,iBAAS,WAAW,CAAC,EAAE,KAAK,EAAE,GAAS,EAAE,SAAS,EAAE,OAAmB,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,gBAAgB,CAAC,2CAsBpH;kBAtBQ,WAAW;;;AA0BpB,eAAe,WAAW,CAAC"}