@schemavaults/ui 0.11.128

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 (509) hide show
  1. package/README.md +58 -0
  2. package/dist/components/error/ErrorPage/ErrorPage.d.ts +9 -0
  3. package/dist/components/error/ErrorPage/ErrorPage.js +25 -0
  4. package/dist/components/error/ErrorPage/ErrorPage.js.map +1 -0
  5. package/dist/components/error/ErrorPage/index.d.ts +3 -0
  6. package/dist/components/error/ErrorPage/index.js +3 -0
  7. package/dist/components/error/ErrorPage/index.js.map +1 -0
  8. package/dist/components/error/index.d.ts +2 -0
  9. package/dist/components/error/index.js +2 -0
  10. package/dist/components/error/index.js.map +1 -0
  11. package/dist/components/hoc/any-position-context-menu-hoc.d.ts +24 -0
  12. package/dist/components/hoc/any-position-context-menu-hoc.js +118 -0
  13. package/dist/components/hoc/any-position-context-menu-hoc.js.map +1 -0
  14. package/dist/components/hoc/index.d.ts +2 -0
  15. package/dist/components/hoc/index.js +2 -0
  16. package/dist/components/hoc/index.js.map +1 -0
  17. package/dist/components/hooks/index.d.ts +4 -0
  18. package/dist/components/hooks/index.js +3 -0
  19. package/dist/components/hooks/index.js.map +1 -0
  20. package/dist/components/hooks/use-debug.d.ts +2 -0
  21. package/dist/components/hooks/use-debug.js +23 -0
  22. package/dist/components/hooks/use-debug.js.map +1 -0
  23. package/dist/components/hooks/use-mobile.d.ts +2 -0
  24. package/dist/components/hooks/use-mobile.js +18 -0
  25. package/dist/components/hooks/use-mobile.js.map +1 -0
  26. package/dist/components/hooks/use-toast.d.ts +44 -0
  27. package/dist/components/hooks/use-toast.js +129 -0
  28. package/dist/components/hooks/use-toast.js.map +1 -0
  29. package/dist/components/layout/dashboard-layout/DashboardLayoutProps.d.ts +17 -0
  30. package/dist/components/layout/dashboard-layout/DashboardLayoutProps.js +2 -0
  31. package/dist/components/layout/dashboard-layout/DashboardLayoutProps.js.map +1 -0
  32. package/dist/components/layout/dashboard-layout/customizable-dashboard-component-type.d.ts +11 -0
  33. package/dist/components/layout/dashboard-layout/customizable-dashboard-component-type.js +2 -0
  34. package/dist/components/layout/dashboard-layout/customizable-dashboard-component-type.js.map +1 -0
  35. package/dist/components/layout/dashboard-layout/dashboard-layout-main-content-container.d.ts +5 -0
  36. package/dist/components/layout/dashboard-layout/dashboard-layout-main-content-container.js +15 -0
  37. package/dist/components/layout/dashboard-layout/dashboard-layout-main-content-container.js.map +1 -0
  38. package/dist/components/layout/dashboard-layout/dashboard-layout.d.ts +11 -0
  39. package/dist/components/layout/dashboard-layout/dashboard-layout.js +30 -0
  40. package/dist/components/layout/dashboard-layout/dashboard-layout.js.map +1 -0
  41. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-layout-sidebar-trigger.d.ts +3 -0
  42. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-layout-sidebar-trigger.js +18 -0
  43. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-layout-sidebar-trigger.js.map +1 -0
  44. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-admin-only-items-context.d.ts +1 -0
  45. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-admin-only-items-context.js +5 -0
  46. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-admin-only-items-context.js.map +1 -0
  47. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-content.d.ts +7 -0
  48. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-content.js +25 -0
  49. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-content.js.map +1 -0
  50. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-context-provider.d.ts +11 -0
  51. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-context-provider.js +10 -0
  52. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-context-provider.js.map +1 -0
  53. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-footer.d.ts +9 -0
  54. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-footer.js +10 -0
  55. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-footer.js.map +1 -0
  56. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.d.ts +10 -0
  57. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js +39 -0
  58. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js.map +1 -0
  59. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-definition.d.ts +11 -0
  60. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-definition.js +2 -0
  61. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-definition.js.map +1 -0
  62. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group-renderer.d.ts +8 -0
  63. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group-renderer.js +57 -0
  64. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group-renderer.js.map +1 -0
  65. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group.d.ts +7 -0
  66. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group.js +2 -0
  67. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-group.js.map +1 -0
  68. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-renderer.d.ts +8 -0
  69. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-renderer.js +64 -0
  70. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-item-renderer.js.map +1 -0
  71. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-items-and-groups-context.d.ts +4 -0
  72. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-items-and-groups-context.js +4 -0
  73. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-items-and-groups-context.js.map +1 -0
  74. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-layout.d.ts +13 -0
  75. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-layout.js +30 -0
  76. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-layout.js.map +1 -0
  77. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state-provider.d.ts +7 -0
  78. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state-provider.js +31 -0
  79. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state-provider.js.map +1 -0
  80. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state.d.ts +7 -0
  81. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state.js +8 -0
  82. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-open-state.js.map +1 -0
  83. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-sizing.d.ts +37 -0
  84. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-sizing.js +21 -0
  85. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-sizing.js.map +1 -0
  86. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar.d.ts +4 -0
  87. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar.js +27 -0
  88. package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar.js.map +1 -0
  89. package/dist/components/layout/dashboard-layout/dashboard-sidebar/index.d.ts +12 -0
  90. package/dist/components/layout/dashboard-layout/dashboard-sidebar/index.js +8 -0
  91. package/dist/components/layout/dashboard-layout/dashboard-sidebar/index.js.map +1 -0
  92. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.d.ts +2 -0
  93. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.js +21 -0
  94. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.js.map +1 -0
  95. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarItemsAndGroups.d.ts +3 -0
  96. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarItemsAndGroups.js +11 -0
  97. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarItemsAndGroups.js.map +1 -0
  98. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenState.d.ts +3 -0
  99. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenState.js +12 -0
  100. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenState.js.map +1 -0
  101. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenStateDispatch.d.ts +3 -0
  102. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenStateDispatch.js +9 -0
  103. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarOpenStateDispatch.js.map +1 -0
  104. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarSizing.d.ts +3 -0
  105. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarSizing.js +8 -0
  106. package/dist/components/layout/dashboard-layout/dashboard-sidebar/useDashboardSidebarSizing.js.map +1 -0
  107. package/dist/components/layout/dashboard-layout/index.d.ts +6 -0
  108. package/dist/components/layout/dashboard-layout/index.js +4 -0
  109. package/dist/components/layout/dashboard-layout/index.js.map +1 -0
  110. package/dist/components/layout/dashboard-layout/toggle-dashboard-layout-collapsed-transition-time.d.ts +3 -0
  111. package/dist/components/layout/dashboard-layout/toggle-dashboard-layout-collapsed-transition-time.js +4 -0
  112. package/dist/components/layout/dashboard-layout/toggle-dashboard-layout-collapsed-transition-time.js.map +1 -0
  113. package/dist/components/layout/index.d.ts +6 -0
  114. package/dist/components/layout/index.js +4 -0
  115. package/dist/components/layout/index.js.map +1 -0
  116. package/dist/components/layout/page-column-container/index.d.ts +3 -0
  117. package/dist/components/layout/page-column-container/index.js +3 -0
  118. package/dist/components/layout/page-column-container/index.js.map +1 -0
  119. package/dist/components/layout/page-column-container/page-column-container.d.ts +12 -0
  120. package/dist/components/layout/page-column-container/page-column-container.js +14 -0
  121. package/dist/components/layout/page-column-container/page-column-container.js.map +1 -0
  122. package/dist/components/layout/themed-page-container/index.d.ts +3 -0
  123. package/dist/components/layout/themed-page-container/index.js +3 -0
  124. package/dist/components/layout/themed-page-container/index.js.map +1 -0
  125. package/dist/components/layout/themed-page-container/themed-page-container.d.ts +18 -0
  126. package/dist/components/layout/themed-page-container/themed-page-container.js +21 -0
  127. package/dist/components/layout/themed-page-container/themed-page-container.js.map +1 -0
  128. package/dist/components/navigation/back-button.d.ts +6 -0
  129. package/dist/components/navigation/back-button.js +8 -0
  130. package/dist/components/navigation/back-button.js.map +1 -0
  131. package/dist/components/navigation/index.d.ts +2 -0
  132. package/dist/components/navigation/index.js +2 -0
  133. package/dist/components/navigation/index.js.map +1 -0
  134. package/dist/components/ui/alert/alert.d.ts +29 -0
  135. package/dist/components/ui/alert/alert.js +35 -0
  136. package/dist/components/ui/alert/alert.js.map +1 -0
  137. package/dist/components/ui/alert/index.d.ts +2 -0
  138. package/dist/components/ui/alert/index.js +2 -0
  139. package/dist/components/ui/alert/index.js.map +1 -0
  140. package/dist/components/ui/background-blur/background-blur.d.ts +10 -0
  141. package/dist/components/ui/background-blur/background-blur.js +45 -0
  142. package/dist/components/ui/background-blur/background-blur.js.map +1 -0
  143. package/dist/components/ui/background-blur/index.d.ts +2 -0
  144. package/dist/components/ui/background-blur/index.js +2 -0
  145. package/dist/components/ui/background-blur/index.js.map +1 -0
  146. package/dist/components/ui/badge/badge-variants.d.ts +2 -0
  147. package/dist/components/ui/badge/badge-variants.js +7 -0
  148. package/dist/components/ui/badge/badge-variants.js.map +1 -0
  149. package/dist/components/ui/badge/badge.d.ts +10 -0
  150. package/dist/components/ui/badge/badge.js +24 -0
  151. package/dist/components/ui/badge/badge.js.map +1 -0
  152. package/dist/components/ui/badge/index.d.ts +2 -0
  153. package/dist/components/ui/badge/index.js +2 -0
  154. package/dist/components/ui/badge/index.js.map +1 -0
  155. package/dist/components/ui/button/button.d.ts +15 -0
  156. package/dist/components/ui/button/button.js +41 -0
  157. package/dist/components/ui/button/button.js.map +1 -0
  158. package/dist/components/ui/button/index.d.ts +3 -0
  159. package/dist/components/ui/button/index.js +3 -0
  160. package/dist/components/ui/button/index.js.map +1 -0
  161. package/dist/components/ui/card/card.d.ts +26 -0
  162. package/dist/components/ui/card/card.js +17 -0
  163. package/dist/components/ui/card/card.js.map +1 -0
  164. package/dist/components/ui/card/index.d.ts +2 -0
  165. package/dist/components/ui/card/index.js +2 -0
  166. package/dist/components/ui/card/index.js.map +1 -0
  167. package/dist/components/ui/checkbox/checkbox.d.ts +9 -0
  168. package/dist/components/ui/checkbox/checkbox.js +10 -0
  169. package/dist/components/ui/checkbox/checkbox.js.map +1 -0
  170. package/dist/components/ui/checkbox/index.d.ts +3 -0
  171. package/dist/components/ui/checkbox/index.js +3 -0
  172. package/dist/components/ui/checkbox/index.js.map +1 -0
  173. package/dist/components/ui/command/command.d.ts +39 -0
  174. package/dist/components/ui/command/command.js +29 -0
  175. package/dist/components/ui/command/command.js.map +1 -0
  176. package/dist/components/ui/command/index.d.ts +2 -0
  177. package/dist/components/ui/command/index.js +2 -0
  178. package/dist/components/ui/command/index.js.map +1 -0
  179. package/dist/components/ui/context-menu/context-menu.d.ts +25 -0
  180. package/dist/components/ui/context-menu/context-menu.js +52 -0
  181. package/dist/components/ui/context-menu/context-menu.js.map +1 -0
  182. package/dist/components/ui/context-menu/index.d.ts +2 -0
  183. package/dist/components/ui/context-menu/index.js +2 -0
  184. package/dist/components/ui/context-menu/index.js.map +1 -0
  185. package/dist/components/ui/datatable/datatable.d.ts +10 -0
  186. package/dist/components/ui/datatable/datatable.js +48 -0
  187. package/dist/components/ui/datatable/datatable.js.map +1 -0
  188. package/dist/components/ui/datatable/index.d.ts +2 -0
  189. package/dist/components/ui/datatable/index.js +2 -0
  190. package/dist/components/ui/datatable/index.js.map +1 -0
  191. package/dist/components/ui/dialog/dialog.d.ts +31 -0
  192. package/dist/components/ui/dialog/dialog.js +23 -0
  193. package/dist/components/ui/dialog/dialog.js.map +1 -0
  194. package/dist/components/ui/dialog/index.d.ts +2 -0
  195. package/dist/components/ui/dialog/index.js +2 -0
  196. package/dist/components/ui/dialog/index.js.map +1 -0
  197. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +51 -0
  198. package/dist/components/ui/dropdown-menu/dropdown-menu.js +36 -0
  199. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
  200. package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
  201. package/dist/components/ui/dropdown-menu/index.js +2 -0
  202. package/dist/components/ui/dropdown-menu/index.js.map +1 -0
  203. package/dist/components/ui/file-input/FileInput.d.ts +17 -0
  204. package/dist/components/ui/file-input/FileInput.js +101 -0
  205. package/dist/components/ui/file-input/FileInput.js.map +1 -0
  206. package/dist/components/ui/file-input/fileToBuffer.d.ts +3 -0
  207. package/dist/components/ui/file-input/fileToBuffer.js +62 -0
  208. package/dist/components/ui/file-input/fileToBuffer.js.map +1 -0
  209. package/dist/components/ui/file-input/index.d.ts +2 -0
  210. package/dist/components/ui/file-input/index.js +2 -0
  211. package/dist/components/ui/file-input/index.js.map +1 -0
  212. package/dist/components/ui/file-input/serializeFile.d.ts +3 -0
  213. package/dist/components/ui/file-input/serializeFile.js +26 -0
  214. package/dist/components/ui/file-input/serializeFile.js.map +1 -0
  215. package/dist/components/ui/file-input/useDoesFilenameHaveValidFileExtension.d.ts +3 -0
  216. package/dist/components/ui/file-input/useDoesFilenameHaveValidFileExtension.js +27 -0
  217. package/dist/components/ui/file-input/useDoesFilenameHaveValidFileExtension.js.map +1 -0
  218. package/dist/components/ui/form.d.ts +41 -0
  219. package/dist/components/ui/form.js +65 -0
  220. package/dist/components/ui/form.js.map +1 -0
  221. package/dist/components/ui/fullscreen-image/fullscreen-image.d.ts +47 -0
  222. package/dist/components/ui/fullscreen-image/fullscreen-image.js +77 -0
  223. package/dist/components/ui/fullscreen-image/fullscreen-image.js.map +1 -0
  224. package/dist/components/ui/fullscreen-image/index.d.ts +3 -0
  225. package/dist/components/ui/fullscreen-image/index.js +3 -0
  226. package/dist/components/ui/fullscreen-image/index.js.map +1 -0
  227. package/dist/components/ui/hover-card/hover-card.d.ts +9 -0
  228. package/dist/components/ui/hover-card/hover-card.js +10 -0
  229. package/dist/components/ui/hover-card/hover-card.js.map +1 -0
  230. package/dist/components/ui/hover-card/index.d.ts +2 -0
  231. package/dist/components/ui/hover-card/index.js +2 -0
  232. package/dist/components/ui/hover-card/index.js.map +1 -0
  233. package/dist/components/ui/icon/DefaultIconSize.d.ts +2 -0
  234. package/dist/components/ui/icon/DefaultIconSize.js +3 -0
  235. package/dist/components/ui/icon/DefaultIconSize.js.map +1 -0
  236. package/dist/components/ui/icon/Icon.d.ts +4 -0
  237. package/dist/components/ui/icon/Icon.js +5 -0
  238. package/dist/components/ui/icon/Icon.js.map +1 -0
  239. package/dist/components/ui/icon/IconFacade.d.ts +4 -0
  240. package/dist/components/ui/icon/IconFacade.js +63 -0
  241. package/dist/components/ui/icon/IconFacade.js.map +1 -0
  242. package/dist/components/ui/icon/IconFromSvgDataUrl.d.ts +7 -0
  243. package/dist/components/ui/icon/IconFromSvgDataUrl.js +31 -0
  244. package/dist/components/ui/icon/IconFromSvgDataUrl.js.map +1 -0
  245. package/dist/components/ui/icon/IconFromSvgFilepath.d.ts +7 -0
  246. package/dist/components/ui/icon/IconFromSvgFilepath.js +43 -0
  247. package/dist/components/ui/icon/IconFromSvgFilepath.js.map +1 -0
  248. package/dist/components/ui/icon/IconFromUtf8XmlSvg.d.ts +6 -0
  249. package/dist/components/ui/icon/IconFromUtf8XmlSvg.js +18 -0
  250. package/dist/components/ui/icon/IconFromUtf8XmlSvg.js.map +1 -0
  251. package/dist/components/ui/icon/IconProps.d.ts +7 -0
  252. package/dist/components/ui/icon/IconProps.js +3 -0
  253. package/dist/components/ui/icon/IconProps.js.map +1 -0
  254. package/dist/components/ui/icon/IconSkeleton.d.ts +4 -0
  255. package/dist/components/ui/icon/IconSkeleton.js +8 -0
  256. package/dist/components/ui/icon/IconSkeleton.js.map +1 -0
  257. package/dist/components/ui/icon/LazySvgIcon.d.ts +7 -0
  258. package/dist/components/ui/icon/LazySvgIcon.js +10 -0
  259. package/dist/components/ui/icon/LazySvgIcon.js.map +1 -0
  260. package/dist/components/ui/icon/LoadedSvgIcon.d.ts +8 -0
  261. package/dist/components/ui/icon/LoadedSvgIcon.js +8 -0
  262. package/dist/components/ui/icon/LoadedSvgIcon.js.map +1 -0
  263. package/dist/components/ui/icon/RenderSvg.d.ts +7 -0
  264. package/dist/components/ui/icon/RenderSvg.js +24 -0
  265. package/dist/components/ui/icon/RenderSvg.js.map +1 -0
  266. package/dist/components/ui/icon/SvgDataUrl.d.ts +4 -0
  267. package/dist/components/ui/icon/SvgDataUrl.js +16 -0
  268. package/dist/components/ui/icon/SvgDataUrl.js.map +1 -0
  269. package/dist/components/ui/icon/index.d.ts +3 -0
  270. package/dist/components/ui/icon/index.js +3 -0
  271. package/dist/components/ui/icon/index.js.map +1 -0
  272. package/dist/components/ui/icon/parseSvgIcon.d.ts +8 -0
  273. package/dist/components/ui/icon/parseSvgIcon.js +27 -0
  274. package/dist/components/ui/icon/parseSvgIcon.js.map +1 -0
  275. package/dist/components/ui/icon/toReactSvgTransform.d.ts +2 -0
  276. package/dist/components/ui/icon/toReactSvgTransform.js +12 -0
  277. package/dist/components/ui/icon/toReactSvgTransform.js.map +1 -0
  278. package/dist/components/ui/index.d.ts +86 -0
  279. package/dist/components/ui/index.js +44 -0
  280. package/dist/components/ui/index.js.map +1 -0
  281. package/dist/components/ui/inline-menu.d.ts +21 -0
  282. package/dist/components/ui/inline-menu.js +28 -0
  283. package/dist/components/ui/inline-menu.js.map +1 -0
  284. package/dist/components/ui/input/index.d.ts +3 -0
  285. package/dist/components/ui/input/index.js +3 -0
  286. package/dist/components/ui/input/index.js.map +1 -0
  287. package/dist/components/ui/input/input.d.ts +9 -0
  288. package/dist/components/ui/input/input.js +10 -0
  289. package/dist/components/ui/input/input.js.map +1 -0
  290. package/dist/components/ui/key-value-with-skeleton/index.d.ts +3 -0
  291. package/dist/components/ui/key-value-with-skeleton/index.js +3 -0
  292. package/dist/components/ui/key-value-with-skeleton/index.js.map +1 -0
  293. package/dist/components/ui/key-value-with-skeleton/key-value-with-skeleton.d.ts +7 -0
  294. package/dist/components/ui/key-value-with-skeleton/key-value-with-skeleton.js +55 -0
  295. package/dist/components/ui/key-value-with-skeleton/key-value-with-skeleton.js.map +1 -0
  296. package/dist/components/ui/label/index.d.ts +3 -0
  297. package/dist/components/ui/label/index.js +3 -0
  298. package/dist/components/ui/label/index.js.map +1 -0
  299. package/dist/components/ui/label/label.d.ts +9 -0
  300. package/dist/components/ui/label/label.js +11 -0
  301. package/dist/components/ui/label/label.js.map +1 -0
  302. package/dist/components/ui/loading-page/index.d.ts +3 -0
  303. package/dist/components/ui/loading-page/index.js +3 -0
  304. package/dist/components/ui/loading-page/index.js.map +1 -0
  305. package/dist/components/ui/loading-page/loading-page.d.ts +5 -0
  306. package/dist/components/ui/loading-page/loading-page.js +7 -0
  307. package/dist/components/ui/loading-page/loading-page.js.map +1 -0
  308. package/dist/components/ui/navigation-menu/index.d.ts +2 -0
  309. package/dist/components/ui/navigation-menu/index.js +2 -0
  310. package/dist/components/ui/navigation-menu/index.js.map +1 -0
  311. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +14 -0
  312. package/dist/components/ui/navigation-menu/navigation-menu.js +33 -0
  313. package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -0
  314. package/dist/components/ui/popover/index.d.ts +2 -0
  315. package/dist/components/ui/popover/index.js +2 -0
  316. package/dist/components/ui/popover/index.js.map +1 -0
  317. package/dist/components/ui/popover/popover.d.ts +9 -0
  318. package/dist/components/ui/popover/popover.js +10 -0
  319. package/dist/components/ui/popover/popover.js.map +1 -0
  320. package/dist/components/ui/radio-group/index.d.ts +2 -0
  321. package/dist/components/ui/radio-group/index.js +2 -0
  322. package/dist/components/ui/radio-group/index.js.map +1 -0
  323. package/dist/components/ui/radio-group/radio-group.d.ts +11 -0
  324. package/dist/components/ui/radio-group/radio-group.js +16 -0
  325. package/dist/components/ui/radio-group/radio-group.js.map +1 -0
  326. package/dist/components/ui/scroll-area/index.d.ts +1 -0
  327. package/dist/components/ui/scroll-area/index.js +2 -0
  328. package/dist/components/ui/scroll-area/index.js.map +1 -0
  329. package/dist/components/ui/scroll-area/scroll-area.d.ts +5 -0
  330. package/dist/components/ui/scroll-area/scroll-area.js +14 -0
  331. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -0
  332. package/dist/components/ui/select/index.d.ts +2 -0
  333. package/dist/components/ui/select/index.js +2 -0
  334. package/dist/components/ui/select/index.js.map +1 -0
  335. package/dist/components/ui/select/select.d.ts +15 -0
  336. package/dist/components/ui/select/select.js +39 -0
  337. package/dist/components/ui/select/select.js.map +1 -0
  338. package/dist/components/ui/separator/index.d.ts +2 -0
  339. package/dist/components/ui/separator/index.js +2 -0
  340. package/dist/components/ui/separator/index.js.map +1 -0
  341. package/dist/components/ui/separator/separator.d.ts +9 -0
  342. package/dist/components/ui/separator/separator.js +11 -0
  343. package/dist/components/ui/separator/separator.js.map +1 -0
  344. package/dist/components/ui/sheet/index.d.ts +2 -0
  345. package/dist/components/ui/sheet/index.js +2 -0
  346. package/dist/components/ui/sheet/index.js.map +1 -0
  347. package/dist/components/ui/sheet/sheet.d.ts +13 -0
  348. package/dist/components/ui/sheet/sheet.js +41 -0
  349. package/dist/components/ui/sheet/sheet.js.map +1 -0
  350. package/dist/components/ui/skeleton/index.d.ts +3 -0
  351. package/dist/components/ui/skeleton/index.js +3 -0
  352. package/dist/components/ui/skeleton/index.js.map +1 -0
  353. package/dist/components/ui/skeleton/skeleton.d.ts +3 -0
  354. package/dist/components/ui/skeleton/skeleton.js +8 -0
  355. package/dist/components/ui/skeleton/skeleton.js.map +1 -0
  356. package/dist/components/ui/slider/index.d.ts +2 -0
  357. package/dist/components/ui/slider/index.js +2 -0
  358. package/dist/components/ui/slider/index.js.map +1 -0
  359. package/dist/components/ui/slider/slider.d.ts +11 -0
  360. package/dist/components/ui/slider/slider.js +11 -0
  361. package/dist/components/ui/slider/slider.js.map +1 -0
  362. package/dist/components/ui/split-pane/index.d.ts +3 -0
  363. package/dist/components/ui/split-pane/index.js +2 -0
  364. package/dist/components/ui/split-pane/index.js.map +1 -0
  365. package/dist/components/ui/split-pane/split-pane-acceptable-split-range.d.ts +3 -0
  366. package/dist/components/ui/split-pane/split-pane-acceptable-split-range.js +4 -0
  367. package/dist/components/ui/split-pane/split-pane-acceptable-split-range.js.map +1 -0
  368. package/dist/components/ui/split-pane/split-pane-directions.d.ts +3 -0
  369. package/dist/components/ui/split-pane/split-pane-directions.js +6 -0
  370. package/dist/components/ui/split-pane/split-pane-directions.js.map +1 -0
  371. package/dist/components/ui/split-pane/split-pane.d.ts +13 -0
  372. package/dist/components/ui/split-pane/split-pane.js +95 -0
  373. package/dist/components/ui/split-pane/split-pane.js.map +1 -0
  374. package/dist/components/ui/split-pane/useSplitPaneDirectionOrDefault.d.ts +3 -0
  375. package/dist/components/ui/split-pane/useSplitPaneDirectionOrDefault.js +25 -0
  376. package/dist/components/ui/split-pane/useSplitPaneDirectionOrDefault.js.map +1 -0
  377. package/dist/components/ui/status-blinker/index.d.ts +2 -0
  378. package/dist/components/ui/status-blinker/index.js +2 -0
  379. package/dist/components/ui/status-blinker/index.js.map +1 -0
  380. package/dist/components/ui/status-blinker/status-blinker.d.ts +8 -0
  381. package/dist/components/ui/status-blinker/status-blinker.js +24 -0
  382. package/dist/components/ui/status-blinker/status-blinker.js.map +1 -0
  383. package/dist/components/ui/stepper/base-stepper-state-type.d.ts +1 -0
  384. package/dist/components/ui/stepper/base-stepper-state-type.js +2 -0
  385. package/dist/components/ui/stepper/base-stepper-state-type.js.map +1 -0
  386. package/dist/components/ui/stepper/index.d.ts +2 -0
  387. package/dist/components/ui/stepper/index.js +2 -0
  388. package/dist/components/ui/stepper/index.js.map +1 -0
  389. package/dist/components/ui/stepper/step_definition.d.ts +25 -0
  390. package/dist/components/ui/stepper/step_definition.js +2 -0
  391. package/dist/components/ui/stepper/step_definition.js.map +1 -0
  392. package/dist/components/ui/stepper/stepper-body.d.ts +2 -0
  393. package/dist/components/ui/stepper/stepper-body.js +28 -0
  394. package/dist/components/ui/stepper/stepper-body.js.map +1 -0
  395. package/dist/components/ui/stepper/stepper-context-type.d.ts +9 -0
  396. package/dist/components/ui/stepper/stepper-context-type.js +2 -0
  397. package/dist/components/ui/stepper/stepper-context-type.js.map +1 -0
  398. package/dist/components/ui/stepper/stepper-context.d.ts +2 -0
  399. package/dist/components/ui/stepper/stepper-context.js +3 -0
  400. package/dist/components/ui/stepper/stepper-context.js.map +1 -0
  401. package/dist/components/ui/stepper/stepper-footer.d.ts +10 -0
  402. package/dist/components/ui/stepper/stepper-footer.js +89 -0
  403. package/dist/components/ui/stepper/stepper-footer.js.map +1 -0
  404. package/dist/components/ui/stepper/stepper-provider.d.ts +11 -0
  405. package/dist/components/ui/stepper/stepper-provider.js +38 -0
  406. package/dist/components/ui/stepper/stepper-provider.js.map +1 -0
  407. package/dist/components/ui/stepper/stepper-types.d.ts +21 -0
  408. package/dist/components/ui/stepper/stepper-types.js +2 -0
  409. package/dist/components/ui/stepper/stepper-types.js.map +1 -0
  410. package/dist/components/ui/stepper/stepper.d.ts +5 -0
  411. package/dist/components/ui/stepper/stepper.js +28 -0
  412. package/dist/components/ui/stepper/stepper.js.map +1 -0
  413. package/dist/components/ui/stepper/steps-indicator.d.ts +5 -0
  414. package/dist/components/ui/stepper/steps-indicator.js +36 -0
  415. package/dist/components/ui/stepper/steps-indicator.js.map +1 -0
  416. package/dist/components/ui/stepper/useStepperContext.d.ts +4 -0
  417. package/dist/components/ui/stepper/useStepperContext.js +13 -0
  418. package/dist/components/ui/stepper/useStepperContext.js.map +1 -0
  419. package/dist/components/ui/table.d.ts +34 -0
  420. package/dist/components/ui/table.js +21 -0
  421. package/dist/components/ui/table.js.map +1 -0
  422. package/dist/components/ui/tabs/Tabs.d.ts +23 -0
  423. package/dist/components/ui/tabs/Tabs.js +19 -0
  424. package/dist/components/ui/tabs/Tabs.js.map +1 -0
  425. package/dist/components/ui/tabs/index.d.ts +2 -0
  426. package/dist/components/ui/tabs/index.js +2 -0
  427. package/dist/components/ui/tabs/index.js.map +1 -0
  428. package/dist/components/ui/textarea/index.d.ts +3 -0
  429. package/dist/components/ui/textarea/index.js +3 -0
  430. package/dist/components/ui/textarea/index.js.map +1 -0
  431. package/dist/components/ui/textarea/textarea.d.ts +9 -0
  432. package/dist/components/ui/textarea/textarea.js +10 -0
  433. package/dist/components/ui/textarea/textarea.js.map +1 -0
  434. package/dist/components/ui/themed-page-background/index.d.ts +3 -0
  435. package/dist/components/ui/themed-page-background/index.js +3 -0
  436. package/dist/components/ui/themed-page-background/index.js.map +1 -0
  437. package/dist/components/ui/themed-page-background/themed-page-background.d.ts +16 -0
  438. package/dist/components/ui/themed-page-background/themed-page-background.js +23 -0
  439. package/dist/components/ui/themed-page-background/themed-page-background.js.map +1 -0
  440. package/dist/components/ui/toast/index.d.ts +2 -0
  441. package/dist/components/ui/toast/index.js +2 -0
  442. package/dist/components/ui/toast/index.js.map +1 -0
  443. package/dist/components/ui/toast/toast-variants.d.ts +2 -0
  444. package/dist/components/ui/toast/toast-variants.js +6 -0
  445. package/dist/components/ui/toast/toast-variants.js.map +1 -0
  446. package/dist/components/ui/toast/toast.d.ts +33 -0
  447. package/dist/components/ui/toast/toast.js +35 -0
  448. package/dist/components/ui/toast/toast.js.map +1 -0
  449. package/dist/components/ui/toaster/index.d.ts +3 -0
  450. package/dist/components/ui/toaster/index.js +3 -0
  451. package/dist/components/ui/toaster/index.js.map +1 -0
  452. package/dist/components/ui/toaster/toaster.d.ts +2 -0
  453. package/dist/components/ui/toaster/toaster.js +12 -0
  454. package/dist/components/ui/toaster/toaster.js.map +1 -0
  455. package/dist/components/ui/tooltip/index.d.ts +2 -0
  456. package/dist/components/ui/tooltip/index.js +2 -0
  457. package/dist/components/ui/tooltip/index.js.map +1 -0
  458. package/dist/components/ui/tooltip/tooltip.d.ts +14 -0
  459. package/dist/components/ui/tooltip/tooltip.js +15 -0
  460. package/dist/components/ui/tooltip/tooltip.js.map +1 -0
  461. package/dist/components/ui/typewriter-effect/cursor-blinker.d.ts +5 -0
  462. package/dist/components/ui/typewriter-effect/cursor-blinker.js +26 -0
  463. package/dist/components/ui/typewriter-effect/cursor-blinker.js.map +1 -0
  464. package/dist/components/ui/typewriter-effect/index.d.ts +2 -0
  465. package/dist/components/ui/typewriter-effect/index.js +2 -0
  466. package/dist/components/ui/typewriter-effect/index.js.map +1 -0
  467. package/dist/components/ui/typewriter-effect/typewriter-effect.d.ts +10 -0
  468. package/dist/components/ui/typewriter-effect/typewriter-effect.js +76 -0
  469. package/dist/components/ui/typewriter-effect/typewriter-effect.js.map +1 -0
  470. package/dist/components/ui/visually-hidden/index.d.ts +3 -0
  471. package/dist/components/ui/visually-hidden/index.js +3 -0
  472. package/dist/components/ui/visually-hidden/index.js.map +1 -0
  473. package/dist/components/ui/visually-hidden/visually-hidden.d.ts +2 -0
  474. package/dist/components/ui/visually-hidden/visually-hidden.js +3 -0
  475. package/dist/components/ui/visually-hidden/visually-hidden.js.map +1 -0
  476. package/dist/components/ui/wordmark/index.d.ts +3 -0
  477. package/dist/components/ui/wordmark/index.js +3 -0
  478. package/dist/components/ui/wordmark/index.js.map +1 -0
  479. package/dist/components/ui/wordmark/wordmark.d.ts +6 -0
  480. package/dist/components/ui/wordmark/wordmark.js +8 -0
  481. package/dist/components/ui/wordmark/wordmark.js.map +1 -0
  482. package/dist/framer-motion.d.ts +2 -0
  483. package/dist/framer-motion.js +3 -0
  484. package/dist/framer-motion.js.map +1 -0
  485. package/dist/index.d.ts +18 -0
  486. package/dist/index.js +20 -0
  487. package/dist/index.js.map +1 -0
  488. package/dist/lib/getTailwindThemeScreenBreakpoint.d.ts +2 -0
  489. package/dist/lib/getTailwindThemeScreenBreakpoint.js +5 -0
  490. package/dist/lib/getTailwindThemeScreenBreakpoint.js.map +1 -0
  491. package/dist/lib/utils.d.ts +2 -0
  492. package/dist/lib/utils.js +6 -0
  493. package/dist/lib/utils.js.map +1 -0
  494. package/dist/providers/brightness-theme/brightness-theme.d.ts +11 -0
  495. package/dist/providers/brightness-theme/brightness-theme.js +15 -0
  496. package/dist/providers/brightness-theme/brightness-theme.js.map +1 -0
  497. package/dist/providers/brightness-theme/index.d.ts +2 -0
  498. package/dist/providers/brightness-theme/index.js +2 -0
  499. package/dist/providers/brightness-theme/index.js.map +1 -0
  500. package/dist/providers/index.d.ts +4 -0
  501. package/dist/providers/index.js +4 -0
  502. package/dist/providers/index.js.map +1 -0
  503. package/dist/providers/lazy_framer.d.ts +6 -0
  504. package/dist/providers/lazy_framer.js +8 -0
  505. package/dist/providers/lazy_framer.js.map +1 -0
  506. package/dist/types/Link.d.ts +9 -0
  507. package/dist/types/Link.js +2 -0
  508. package/dist/types/Link.js.map +1 -0
  509. package/package.json +128 -0
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState, useEffect, useCallback } from "react";
4
+ import { m, AnimatePresence } from "../../../framer-motion";
5
+ import { X, ZoomIn } from "lucide-react";
6
+ import { cn } from "../../../lib/utils";
7
+ /**
8
+ * @name FullscreenImage
9
+ *
10
+ * @returns A React component that displays an enlargeable image. Click the normal/inline image to view it within a fullscreen modal.
11
+ */
12
+ function FullscreenImage({ src, alt, fullscreenSrc, ImageComponent, imageProps, fullscreenImageProps, thumbnail, thumbnailClassName, fullscreenClassName, disableZoomCursor = false, loadingComponent, onOpen, onClose, className, ...props }) {
13
+ const [isOpen, setIsOpen] = useState(false);
14
+ const [isLoading, setIsLoading] = useState(false);
15
+ const openFullscreen = useCallback(() => {
16
+ setIsOpen(true);
17
+ setIsLoading(true);
18
+ onOpen?.();
19
+ }, [onOpen]);
20
+ const closeFullscreen = useCallback(() => {
21
+ setIsOpen(false);
22
+ setIsLoading(false);
23
+ onClose?.();
24
+ }, [onClose]);
25
+ // Handle escape key
26
+ useEffect(() => {
27
+ const handleEscape = (e) => {
28
+ if (e.key === "Escape" && isOpen) {
29
+ closeFullscreen();
30
+ }
31
+ };
32
+ if (isOpen) {
33
+ document.addEventListener("keydown", handleEscape);
34
+ // Prevent body scroll when fullscreen is open
35
+ document.body.style.overflow = "hidden";
36
+ }
37
+ return () => {
38
+ document.removeEventListener("keydown", handleEscape);
39
+ document.body.style.overflow = "unset";
40
+ };
41
+ }, [isOpen, closeFullscreen]);
42
+ const handleImageLoad = () => {
43
+ setIsLoading(false);
44
+ };
45
+ let thumbnailContent;
46
+ if (!!thumbnail) {
47
+ thumbnailContent = thumbnail;
48
+ }
49
+ else {
50
+ if (!!ImageComponent) {
51
+ const customThumbnailProps = {
52
+ src,
53
+ alt,
54
+ ...imageProps,
55
+ className: cn("w-full h-full object-cover", imageProps?.className),
56
+ };
57
+ thumbnailContent = _jsx(ImageComponent, { ...customThumbnailProps });
58
+ }
59
+ else {
60
+ thumbnailContent = (_jsx("img", { src: src, alt: alt, ...props, className: cn("w-full h-full object-cover", className) }));
61
+ }
62
+ }
63
+ let fullscreenImageClassName;
64
+ if (typeof fullscreenImageProps?.className === "string") {
65
+ fullscreenImageClassName = cn(fullscreenImageProps.className, fullscreenClassName);
66
+ }
67
+ else {
68
+ fullscreenImageClassName = cn("max-w-full max-h-full object-contain rounded-lg shadow-2xl", fullscreenClassName);
69
+ }
70
+ return (_jsxs(_Fragment, { children: [_jsxs(m.div, { className: cn("relative group overflow-hidden rounded-lg", !disableZoomCursor && "cursor-zoom-in", thumbnailClassName), onClick: openFullscreen, whileHover: { scale: 1.02 }, whileTap: { scale: 0.98 }, transition: { duration: 0.2 }, children: [thumbnailContent, !disableZoomCursor && (_jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-200 flex items-center justify-center", children: _jsx(ZoomIn, { className: "text-white opacity-0 group-hover:opacity-100 transition-opacity duration-200 w-8 h-8" }) }))] }), _jsx(AnimatePresence, { children: isOpen && (_jsxs(m.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.3 }, className: "fixed inset-0 z-50 flex items-center justify-center", onClick: closeFullscreen, children: [_jsx("div", { className: "absolute inset-0 bg-black/90" }), _jsx("button", { onClick: closeFullscreen, className: cn("absolute", "top-4 right-4", "z-[1000]", "p-2", "rounded-full", "bg-black/50 hover:bg-black/70", "text-white", "transition-colors duration-200", "focus:outline-none focus:ring-2 focus:ring-white/50"), "aria-label": "Close fullscreen image", children: _jsx(X, { className: "w-6 h-6" }) }), isLoading && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center z-50", children: loadingComponent || (_jsx("div", { className: "w-8 h-8 border-2 border-white/30 border-t-white rounded-full animate-spin" })) })), _jsx(m.div, { initial: { scale: 0.5, opacity: 0 }, animate: { scale: 1, opacity: 1 }, exit: { scale: 0.5, opacity: 0 }, transition: {
71
+ duration: 0.4,
72
+ ease: [0.32, 0.72, 0, 1], // Custom easing for smooth animation
73
+ }, className: cn("fullscreen-image-component-container", "relative", "max-w-[95vw] max-h-[95vh]", "flex", "items-center justify-center", props.fullscreenContainerClassName), onClick: (e) => e.stopPropagation(), children: ImageComponent ? (_jsx(ImageComponent, { src: fullscreenSrc || src, alt: alt, ...fullscreenImageProps, onLoad: handleImageLoad, className: fullscreenImageClassName })) : (_jsx("img", { src: fullscreenSrc || src, alt: alt, onLoad: handleImageLoad, className: fullscreenImageClassName })) })] })) })] }));
74
+ }
75
+ FullscreenImage.displayName = "FullscreenImage";
76
+ export { FullscreenImage };
77
+ //# sourceMappingURL=fullscreen-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen-image.js","sourceRoot":"","sources":["../../../../src/components/ui/fullscreen-image/fullscreen-image.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { FullscreenImage } from "./fullscreen-image";
2
+ export type * from "./fullscreen-image";
3
+ export { FullscreenImage as default } from "./fullscreen-image";
@@ -0,0 +1,3 @@
1
+ export { FullscreenImage } from "./fullscreen-image";
2
+ export { FullscreenImage as default } from "./fullscreen-image";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/fullscreen-image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3
+ declare const HoverCard: import("react").FC<HoverCardPrimitive.HoverCardProps>;
4
+ declare const HoverCardTrigger: import("react").ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & import("react").RefAttributes<HTMLAnchorElement>>;
5
+ declare const HoverCardContent: {
6
+ ({ className, align, sideOffset, ...props }: ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string | undefined;
8
+ };
9
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4
+ import { cn } from "../../../lib/utils";
5
+ const HoverCard = HoverCardPrimitive.Root;
6
+ const HoverCardTrigger = HoverCardPrimitive.Trigger;
7
+ const HoverCardContent = ({ className, align = "center", sideOffset = 4, ...props }) => (_jsx(HoverCardPrimitive.Content, { align: align, sideOffset: sideOffset, className: cn("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className), ...props }));
8
+ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
9
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
10
+ //# sourceMappingURL=hover-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.js","sourceRoot":"","sources":["../../../../src/components/ui/hover-card/hover-card.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAE1C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAEpD,MAAM,gBAAgB,GAAG,CAAC,EACxB,SAAS,EACT,KAAK,GAAG,QAAQ,EAChB,UAAU,GAAG,CAAC,EACd,GAAG,KAAK,EACoD,EAAE,EAAE,CAAC,CACjE,KAAC,kBAAkB,CAAC,OAAO,IACzB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX,4aAA4a,EAC5a,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./hover-card";
2
+ export type * from "./hover-card";
@@ -0,0 +1,2 @@
1
+ export * from "./hover-card";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/hover-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_ICON_SIZE: 24;
2
+ export default DEFAULT_ICON_SIZE;
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_ICON_SIZE = 24;
2
+ export default DEFAULT_ICON_SIZE;
3
+ //# sourceMappingURL=DefaultIconSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultIconSize.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/DefaultIconSize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAA4B,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Icon, Icon as default } from "./IconFacade";
2
+ export type { IconProps } from "./IconProps";
3
+ export { DEFAULT_ICON_SIZE } from "./DefaultIconSize";
4
+ export { svgDataUrlPrefix } from "./SvgDataUrl";
@@ -0,0 +1,5 @@
1
+ // Icon.tsx
2
+ export { Icon, Icon as default } from "./IconFacade";
3
+ export { DEFAULT_ICON_SIZE } from "./DefaultIconSize";
4
+ export { svgDataUrlPrefix } from "./SvgDataUrl";
5
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/Icon.tsx"],"names":[],"mappings":"AAAA,WAAW;AAEX,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type FC } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ export declare const Icon: FC<IconProps>;
4
+ export default Icon;
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import IconFromSvgFilepath from "./IconFromSvgFilepath";
5
+ import IconFromUtf8XmlSvg from "./IconFromUtf8XmlSvg";
6
+ import DEFAULT_ICON_SIZE from "./DefaultIconSize";
7
+ import RenderSvg from "./RenderSvg";
8
+ import IconFromSvgDataUrl from "./IconFromSvgDataUrl";
9
+ function determineIconDisplayMethod(src) {
10
+ if (typeof src === "string") {
11
+ if (src.endsWith(".svg")) {
12
+ return "filepath";
13
+ }
14
+ else if (src.startsWith("data:")) {
15
+ return "dataurl";
16
+ }
17
+ else if (src.includes("<svg")) {
18
+ return "utf8-xml";
19
+ }
20
+ else {
21
+ console.warn("Unhandled string format to display SVG from!");
22
+ }
23
+ }
24
+ // src as string should be handled by this point
25
+ if (typeof src === "string") {
26
+ if (process.env.NODE_ENV === "development") {
27
+ console.warn("Invalid 'src' string format:", src);
28
+ }
29
+ throw new Error("Invalid 'src' property, unhandled string type to render SVG icon with!");
30
+ }
31
+ if (typeof src !== "string" && !!src) {
32
+ return "SvgSvgInstance";
33
+ }
34
+ throw new Error(`Failed to determine how to render (type: ${typeof src})`);
35
+ }
36
+ function IconFacade({ src, ...props }) {
37
+ const size = useMemo(() => {
38
+ return typeof props.size === "number" ? props.size : DEFAULT_ICON_SIZE;
39
+ }, [props.size]);
40
+ const displayMethod = useMemo(() => determineIconDisplayMethod(src), [src]);
41
+ switch (displayMethod) {
42
+ case "filepath":
43
+ return _jsx(IconFromSvgFilepath, { src: src, ...props, size: size });
44
+ case "utf8-xml":
45
+ return _jsx(IconFromUtf8XmlSvg, { src: src, ...props, size: size });
46
+ case "dataurl":
47
+ if (typeof src !== "string") {
48
+ throw new TypeError("Expected 'src' to be a string for dataurl render method!");
49
+ }
50
+ return _jsx(IconFromSvgDataUrl, { src: src, ...props, size: size });
51
+ case "SvgSvgInstance":
52
+ if (!(src instanceof SVGSVGElement)) {
53
+ throw new TypeError("Expected 'src' to be an instance of SVGSVGElement");
54
+ }
55
+ return _jsx(RenderSvg, { svg: src, ...props, size: size });
56
+ default:
57
+ throw new TypeError("Invalid 'src' for Icon component! Failed to determine how to render SVG icon!");
58
+ }
59
+ }
60
+ IconFacade.displayName = "Icon";
61
+ export const Icon = IconFacade;
62
+ export default Icon;
63
+ //# sourceMappingURL=IconFacade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconFacade.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconFacade.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ declare function IconFromSvgDataUrl({ src, size, ...props }: IconProps & {
4
+ src: string;
5
+ size: number;
6
+ }): ReactElement;
7
+ export default IconFromSvgDataUrl;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { extractBase64SvgData, isValidSvgDataUrlPrefix } from "./SvgDataUrl";
5
+ import { Buffer } from "buffer";
6
+ import IconFromUtf8XmlSvg from "./IconFromUtf8XmlSvg";
7
+ function base64ToUtf8(b64) {
8
+ const buffer = Buffer.from(b64, "base64");
9
+ return buffer.toString("utf-8");
10
+ }
11
+ function IconFromSvgDataUrl({ src, size, ...props }) {
12
+ const base64_svg_data = useMemo(() => {
13
+ if (typeof src !== "string") {
14
+ throw new TypeError("Expected 'src' to be a string for IconFromSvgDataUrl component!");
15
+ }
16
+ if (!isValidSvgDataUrlPrefix(src)) {
17
+ throw new TypeError("Invalid base64 data url for 'src'!");
18
+ }
19
+ return extractBase64SvgData(src);
20
+ }, [src]);
21
+ const utf8_svg_xml_data = useMemo(() => {
22
+ const asUtf8 = base64ToUtf8(base64_svg_data);
23
+ if (!asUtf8.includes("<svg")) {
24
+ throw new TypeError("Failed to parse valid <svg> element from base64 data!");
25
+ }
26
+ return asUtf8;
27
+ }, [base64_svg_data]);
28
+ return _jsx(IconFromUtf8XmlSvg, { src: utf8_svg_xml_data, ...props, size: size });
29
+ }
30
+ export default IconFromSvgDataUrl;
31
+ //# sourceMappingURL=IconFromSvgDataUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconFromSvgDataUrl.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconFromSvgDataUrl.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,GAAG,EACH,IAAI,EACJ,GAAG,KAAK,EACkC;IAC1C,MAAM,eAAe,GAAW,OAAO,CAAC,GAAW,EAAE;QACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CACjB,iEAAiE,CAClE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,iBAAiB,GAAW,OAAO,CAAC,GAAW,EAAE;QACrD,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,KAAC,kBAAkB,IAAC,GAAG,EAAE,iBAAiB,KAAM,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AAC/E,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ declare function IconFromSvgFilepath({ src, size, ...props }: IconProps & {
4
+ size: number;
5
+ preloaded?: SVGSVGElement;
6
+ }): ReactElement;
7
+ export default IconFromSvgFilepath;
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo, Suspense } from "react";
4
+ import parseSvgIcon from "./parseSvgIcon";
5
+ import IconSkeleton from "./IconSkeleton";
6
+ import LazySvgIcon from "./LazySvgIcon";
7
+ import RenderSvg from "./RenderSvg";
8
+ async function loadSvgFromRemote(svg_url) {
9
+ if (typeof svg_url !== "string" || !svg_url.endsWith(".svg")) {
10
+ throw new Error("Invalid src path to SVG element!");
11
+ }
12
+ const response = await fetch(svg_url, { method: "GET" });
13
+ if (!response.ok) {
14
+ throw new Error(`Failed to fetch SVG at path '${svg_url}': ${response.status} ${response.statusText}`);
15
+ }
16
+ const svgText = await response.text();
17
+ return parseSvgIcon(svgText);
18
+ }
19
+ function IconFromSvgFilepath({ src, size, ...props }) {
20
+ const iconData = useMemo(() => {
21
+ return (async () => {
22
+ if (typeof src === "string") {
23
+ if (!src.endsWith(".svg")) {
24
+ throw new TypeError("Expected source path to end in .svg within IconFromSvgFilepath component");
25
+ }
26
+ const svg = await loadSvgFromRemote(src);
27
+ return svg;
28
+ }
29
+ else if (!src) {
30
+ throw new TypeError("Did not receive a 'src' property to render SVG with!");
31
+ }
32
+ else {
33
+ return src;
34
+ }
35
+ })();
36
+ }, [src]);
37
+ if (props.preloaded) {
38
+ return _jsx(RenderSvg, { svg: props.preloaded, ...props });
39
+ }
40
+ return (_jsx(Suspense, { fallback: _jsx(IconSkeleton, { size: size }), children: _jsx(LazySvgIcon, { svgPromise: iconData, size: size, ...props }) }));
41
+ }
42
+ export default IconFromSvgFilepath;
43
+ //# sourceMappingURL=IconFromSvgFilepath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconFromSvgFilepath.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconFromSvgFilepath.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAqB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,GAAG,EACH,IAAI,EACJ,GAAG,KAAK,EACgD;IACxD,MAAM,QAAQ,GAA2B,OAAO,CAAC,GAAG,EAAE;QACpD,OAAO,CAAC,KAAK,IAA4B,EAAE;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,SAAS,CACjB,0EAA0E,CAC3E,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,GAAkB,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACxD,OAAO,GAAG,CAAC;YACb,CAAC;iBAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,IAAI,SAAS,CACjB,sDAAsD,CACvD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,GAA2B,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,KAAC,SAAS,IAAC,GAAG,EAAE,KAAK,CAAC,SAAS,KAAM,KAAK,GAAI,CAAC;IACxD,CAAC;IAED,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,YAC9C,KAAC,WAAW,IAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAM,KAAK,GAAI,GACnD,CACZ,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ declare function IconFromUtf8XmlSvg({ src, size, ...props }: IconProps & {
4
+ size: number;
5
+ }): ReactElement;
6
+ export default IconFromUtf8XmlSvg;
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import parseSvgIcon from "./parseSvgIcon";
5
+ import RenderSvg from "./RenderSvg";
6
+ function IconFromUtf8XmlSvg({ src, size, ...props }) {
7
+ const iconData = useMemo(() => {
8
+ return (() => {
9
+ if (typeof src !== "string") {
10
+ throw new Error("Invalid UTF-8 to parse into SVG element!");
11
+ }
12
+ return parseSvgIcon(src);
13
+ })();
14
+ }, [src]);
15
+ return _jsx(RenderSvg, { svg: iconData, ...props, size: size });
16
+ }
17
+ export default IconFromUtf8XmlSvg;
18
+ //# sourceMappingURL=IconFromUtf8XmlSvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconFromUtf8XmlSvg.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconFromUtf8XmlSvg.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAqB,MAAM,OAAO,CAAC;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,SAAS,kBAAkB,CAAC,EAC1B,GAAG,EACH,IAAI,EACJ,GAAG,KAAK,EACqB;IAC7B,MAAM,QAAQ,GAAkB,OAAO,CAAC,GAAG,EAAE;QAC3C,OAAO,CAAC,GAAkB,EAAE;YAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,KAAC,SAAS,IAAC,GAAG,EAAE,QAAQ,KAAM,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AAC7D,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ComponentProps } from "react";
2
+ export interface IconProps {
3
+ src: string | SVGSVGElement;
4
+ size?: number;
5
+ className?: string;
6
+ style?: ComponentProps<"img">["style"];
7
+ }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export {};
3
+ //# sourceMappingURL=IconProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconProps.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconProps.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ declare function IconSkeleton({ size }: Pick<IconProps, "size">): ReactElement;
4
+ export default IconSkeleton;
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import Skeleton from "../../ui/skeleton";
4
+ function IconSkeleton({ size }) {
5
+ return _jsx(Skeleton, { style: { width: size, height: size } });
6
+ }
7
+ export default IconSkeleton;
8
+ //# sourceMappingURL=IconSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSkeleton.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/IconSkeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,SAAS,YAAY,CAAC,EAAE,IAAI,EAA2B;IACrD,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAAC;AAC5D,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ export declare function LazySvgIcon(props: Omit<IconProps, "src"> & {
4
+ svgPromise: Promise<SVGSVGElement>;
5
+ size: number;
6
+ }): ReactElement;
7
+ export default LazySvgIcon;
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { use } from "react";
4
+ import RenderSvg from "./RenderSvg";
5
+ export function LazySvgIcon(props) {
6
+ const svg = use(props.svgPromise);
7
+ return _jsx(RenderSvg, { svg: svg, ...props });
8
+ }
9
+ export default LazySvgIcon;
10
+ //# sourceMappingURL=LazySvgIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LazySvgIcon.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/LazySvgIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAqB,MAAM,OAAO,CAAC;AAE/C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,UAAU,WAAW,CACzB,KAGC;IAED,MAAM,GAAG,GAAkB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,KAAC,SAAS,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ export declare function LoadedSvgIcon(props: Omit<IconProps, "src"> & {
4
+ innerHTML: string;
5
+ viewBox?: string;
6
+ svgAttributes?: Record<string, string>;
7
+ }): ReactElement;
8
+ export default LoadedSvgIcon;
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export function LoadedSvgIcon(props) {
4
+ const { innerHTML, viewBox, svgAttributes, size, ...restProps } = props;
5
+ return (_jsx("svg", { ...svgAttributes, ...restProps, viewBox: viewBox, width: size, height: size, dangerouslySetInnerHTML: { __html: innerHTML } }));
6
+ }
7
+ export default LoadedSvgIcon;
8
+ //# sourceMappingURL=LoadedSvgIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadedSvgIcon.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/LoadedSvgIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,MAAM,UAAU,aAAa,CAC3B,KAIC;IAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IACxE,OAAO,CACL,iBACM,aAAa,KACb,SAAS,EACb,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,uBAAuB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAC9C,CACH,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ReactElement } from "react";
2
+ import type { IconProps } from "./IconProps";
3
+ export interface IRenderSvgProps extends Omit<IconProps, "src"> {
4
+ svg: SVGSVGElement;
5
+ }
6
+ declare function RenderSvg({ svg, ...props }: IRenderSvgProps): ReactElement;
7
+ export default RenderSvg;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import LoadedSvgIcon from "./LoadedSvgIcon";
4
+ function RenderSvg({ svg, ...props }) {
5
+ // Extract SVG content and attributes
6
+ const innerHTML = svg.innerHTML;
7
+ const viewBox = svg.getAttribute("viewBox") || undefined;
8
+ // Extract other SVG attributes (excluding ones we handle separately)
9
+ const svgAttributes = {};
10
+ Array.from(svg.attributes).forEach((attr) => {
11
+ if (!["viewBox", "width", "height", "style", "class"].includes(attr.name)) {
12
+ svgAttributes[attr.name] = attr.value;
13
+ }
14
+ });
15
+ let withOptionals = {
16
+ ...props,
17
+ };
18
+ delete withOptionals.svgPromise;
19
+ delete withOptionals.src;
20
+ const withouts = withOptionals;
21
+ return (_jsx(LoadedSvgIcon, { innerHTML: innerHTML, viewBox: viewBox, svgAttributes: svgAttributes, ...withouts }));
22
+ }
23
+ export default RenderSvg;
24
+ //# sourceMappingURL=RenderSvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderSvg.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/RenderSvg.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,SAAS,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAmB;IACnD,qCAAqC;IACrC,MAAM,SAAS,GAAW,GAAG,CAAC,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAEzD,qEAAqE;IACrE,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,GAGb;QACF,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,aAAa,CAAC,UAAU,CAAC;IAChC,OAAO,aAAa,CAAC,GAAG,CAAC;IAEzB,MAAM,QAAQ,GAAqC,aAAa,CAAC;IAEjE,OAAO,CACL,KAAC,aAAa,IACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,KACxB,QAAQ,GACZ,CACH,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const SvgDataUrlMimeType: "image/svg+xml";
2
+ export declare const svgDataUrlPrefix: "data:image/svg+xml;base64,";
3
+ export declare function isValidSvgDataUrlPrefix(maybeSvgDataUrl: string): maybeSvgDataUrl is `data:${typeof SvgDataUrlMimeType};base64,${string}`;
4
+ export declare function extractBase64SvgData(svg_dataurl: `data:${typeof SvgDataUrlMimeType};base64,${string}`): string;
@@ -0,0 +1,16 @@
1
+ export const SvgDataUrlMimeType = "image/svg+xml";
2
+ export const svgDataUrlPrefix = `data:${SvgDataUrlMimeType};base64,`;
3
+ export function isValidSvgDataUrlPrefix(maybeSvgDataUrl) {
4
+ if (typeof maybeSvgDataUrl === "string") {
5
+ if (maybeSvgDataUrl.startsWith(svgDataUrlPrefix)) {
6
+ if (maybeSvgDataUrl.length > svgDataUrlPrefix.length) {
7
+ return true;
8
+ }
9
+ }
10
+ }
11
+ return false;
12
+ }
13
+ export function extractBase64SvgData(svg_dataurl) {
14
+ return svg_dataurl.slice(svgDataUrlPrefix.length);
15
+ }
16
+ //# sourceMappingURL=SvgDataUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgDataUrl.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/SvgDataUrl.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAyC,CAAC;AAE5E,MAAM,CAAC,MAAM,gBAAgB,GAC3B,QAAQ,kBAAkB,UAAoC,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CACrC,eAAuB;IAEvB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjD,IAAI,eAAe,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,WAAiE;IAEjE,OAAO,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./Icon";
2
+ export { default as default, Icon, DEFAULT_ICON_SIZE } from "./Icon";
3
+ export type { IconProps } from "./IconProps";
@@ -0,0 +1,3 @@
1
+ export * from "./Icon";
2
+ export { default as default, Icon, DEFAULT_ICON_SIZE } from "./Icon";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ *
3
+ * @param utf8_svg_icon A string containing an SVG element. E.g. `<svg>...</svg>`
4
+ * @param str_transforms A list of functions that transform <svg>...</svg> to e.g. modify attributes
5
+ * @returns SVGSVGElement The parsed SVG DOM
6
+ */
7
+ declare function parseSvgIcon(utf8_svg_icon: string, str_transforms?: ((a: string) => string)[]): SVGSVGElement;
8
+ export default parseSvgIcon;
@@ -0,0 +1,27 @@
1
+ import toReactSvgTransform from "./toReactSvgTransform";
2
+ /**
3
+ *
4
+ * @param utf8_svg_icon A string containing an SVG element. E.g. `<svg>...</svg>`
5
+ * @param str_transforms A list of functions that transform <svg>...</svg> to e.g. modify attributes
6
+ * @returns SVGSVGElement The parsed SVG DOM
7
+ */
8
+ function parseSvgIcon(utf8_svg_icon, str_transforms = [toReactSvgTransform]) {
9
+ let domToParse = utf8_svg_icon;
10
+ for (const transformFn of str_transforms) {
11
+ domToParse = transformFn(domToParse);
12
+ }
13
+ const parser = new DOMParser();
14
+ const svgDoc = parser.parseFromString(domToParse, "image/svg+xml");
15
+ // Check for parsing errors
16
+ const parserError = svgDoc.querySelector("parsererror");
17
+ if (parserError) {
18
+ throw new Error("Failed to parse SVG content");
19
+ }
20
+ const svgElement = svgDoc.documentElement;
21
+ if (svgElement.tagName.toLowerCase() !== "svg") {
22
+ throw new TypeError("Fetched content is not a valid SVG");
23
+ }
24
+ return svgElement;
25
+ }
26
+ export default parseSvgIcon;
27
+ //# sourceMappingURL=parseSvgIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseSvgIcon.js","sourceRoot":"","sources":["../../../../src/components/ui/icon/parseSvgIcon.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,SAAS,YAAY,CACnB,aAAqB,EACrB,iBAA4C,CAAC,mBAAmB,CAAC;IAEjE,IAAI,UAAU,GAAW,aAAa,CAAC;IACvC,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE,CAAC;QACzC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEnE,2BAA2B;IAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAA2C,CAAC;IAEtE,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function toReactSvgTransform(svg: string): string;
2
+ export default toReactSvgTransform;