@lumeweb/portal-framework-ui 0.0.1 → 0.1.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 (657) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +1 -45
  3. package/dist/esm/components/Copyable.d.ts +43 -0
  4. package/dist/esm/components/Copyable.js +50 -0
  5. package/dist/esm/components/Copyable.js.map +1 -0
  6. package/dist/esm/components/FilterChip.d.ts +16 -0
  7. package/dist/esm/components/FilterChip.js +47 -0
  8. package/dist/esm/components/FilterChip.js.map +1 -0
  9. package/dist/esm/components/Forms.d.ts +55 -0
  10. package/dist/esm/components/Forms.js +123 -0
  11. package/dist/esm/components/Forms.js.map +1 -0
  12. package/dist/esm/components/InlineAuthLinkBanner.d.ts +18 -0
  13. package/dist/esm/components/InlineAuthLinkBanner.js +23 -0
  14. package/dist/esm/components/InlineAuthLinkBanner.js.map +1 -0
  15. package/dist/esm/components/KeyboardShortcutDialog.d.ts +12 -0
  16. package/dist/esm/components/KeyboardShortcutDialog.js +48 -0
  17. package/dist/esm/components/KeyboardShortcutDialog.js.map +1 -0
  18. package/dist/esm/components/Loading.d.ts +13 -0
  19. package/dist/esm/components/Loading.js +38 -0
  20. package/dist/esm/components/Loading.js.map +1 -0
  21. package/dist/esm/components/LumeLogo.d.ts +12 -0
  22. package/dist/esm/components/LumeLogo.js +22 -0
  23. package/dist/esm/components/LumeLogo.js.map +1 -0
  24. package/dist/esm/components/MainNavigation.d.ts +11 -0
  25. package/dist/esm/components/MainNavigation.js +227 -0
  26. package/dist/esm/components/MainNavigation.js.map +1 -0
  27. package/dist/esm/components/SkeletonLoader.d.ts +25 -0
  28. package/dist/esm/components/SkeletonLoader.js +78 -0
  29. package/dist/esm/components/SkeletonLoader.js.map +1 -0
  30. package/dist/esm/components/TableActionsDropdown.d.ts +18 -0
  31. package/dist/esm/components/TableActionsDropdown.js +34 -0
  32. package/dist/esm/components/TableActionsDropdown.js.map +1 -0
  33. package/dist/esm/components/TableContainer.d.ts +13 -0
  34. package/dist/esm/components/TableContainer.js +15 -0
  35. package/dist/esm/components/TableContainer.js.map +1 -0
  36. package/dist/esm/components/ThemeSwitcher.d.ts +7 -0
  37. package/dist/esm/components/ThemeSwitcher.js +38 -0
  38. package/dist/esm/components/ThemeSwitcher.js.map +1 -0
  39. package/dist/esm/components/ThemedBadge.d.ts +23 -0
  40. package/dist/esm/components/ThemedBadge.js +20 -0
  41. package/dist/esm/components/ThemedBadge.js.map +1 -0
  42. package/dist/esm/components/actions/ActionListRenderer.d.ts +15 -0
  43. package/dist/esm/components/actions/ActionListRenderer.js +38 -0
  44. package/dist/esm/components/actions/ActionListRenderer.js.map +1 -0
  45. package/dist/esm/components/actions/actionHelpers.d.ts +127 -0
  46. package/dist/esm/components/actions/actionHelpers.js +205 -0
  47. package/dist/esm/components/actions/actionHelpers.js.map +1 -0
  48. package/dist/esm/components/actions/index.d.ts +6 -0
  49. package/dist/esm/components/actions/index.js +7 -0
  50. package/dist/esm/components/actions/items/ButtonActionItem.d.ts +9 -0
  51. package/dist/esm/components/actions/items/ButtonActionItem.js +23 -0
  52. package/dist/esm/components/actions/items/ButtonActionItem.js.map +1 -0
  53. package/dist/esm/components/actions/items/CancelActionItem.d.ts +9 -0
  54. package/dist/esm/components/actions/items/CancelActionItem.js +28 -0
  55. package/dist/esm/components/actions/items/CancelActionItem.js.map +1 -0
  56. package/dist/esm/components/actions/items/CustomActionItem.d.ts +9 -0
  57. package/dist/esm/components/actions/items/CustomActionItem.js +27 -0
  58. package/dist/esm/components/actions/items/CustomActionItem.js.map +1 -0
  59. package/dist/esm/components/actions/items/LinkActionItem.d.ts +9 -0
  60. package/dist/esm/components/actions/items/LinkActionItem.js +33 -0
  61. package/dist/esm/components/actions/items/LinkActionItem.js.map +1 -0
  62. package/dist/esm/components/actions/items/RetryActionItem.d.ts +9 -0
  63. package/dist/esm/components/actions/items/RetryActionItem.js +23 -0
  64. package/dist/esm/components/actions/items/RetryActionItem.js.map +1 -0
  65. package/dist/esm/components/actions/items/SubmitActionItem.d.ts +9 -0
  66. package/dist/esm/components/actions/items/SubmitActionItem.js +26 -0
  67. package/dist/esm/components/actions/items/SubmitActionItem.js.map +1 -0
  68. package/dist/esm/components/actions/register.d.ts +5 -0
  69. package/dist/esm/components/actions/register.js +20 -0
  70. package/dist/esm/components/actions/register.js.map +1 -0
  71. package/dist/esm/components/actions/registry.d.ts +14 -0
  72. package/dist/esm/components/actions/registry.js +20 -0
  73. package/dist/esm/components/actions/registry.js.map +1 -0
  74. package/dist/esm/components/actions/types.d.ts +132 -0
  75. package/dist/esm/components/actions/types.js +29 -0
  76. package/dist/esm/components/actions/types.js.map +1 -0
  77. package/dist/esm/components/app/AppComponent.d.ts +17 -0
  78. package/dist/esm/components/app/AppComponent.js +179 -0
  79. package/dist/esm/components/app/AppComponent.js.map +1 -0
  80. package/dist/esm/components/data-table/BaseTable.d.ts +86 -0
  81. package/dist/esm/components/data-table/BaseTable.js +123 -0
  82. package/dist/esm/components/data-table/BaseTable.js.map +1 -0
  83. package/dist/esm/components/data-table/BaseTableContent.d.ts +48 -0
  84. package/dist/esm/components/data-table/BaseTableContent.js +38 -0
  85. package/dist/esm/components/data-table/BaseTableContent.js.map +1 -0
  86. package/dist/esm/components/data-table/BaseTableInner.d.ts +11 -0
  87. package/dist/esm/components/data-table/BaseTableInner.js +35 -0
  88. package/dist/esm/components/data-table/BaseTableInner.js.map +1 -0
  89. package/dist/esm/components/data-table/BaseTableStackedLayout.d.ts +31 -0
  90. package/dist/esm/components/data-table/BaseTableStackedLayout.js +137 -0
  91. package/dist/esm/components/data-table/BaseTableStackedLayout.js.map +1 -0
  92. package/dist/esm/components/data-table/DataTable.d.ts +18 -0
  93. package/dist/esm/components/data-table/DataTable.js +97 -0
  94. package/dist/esm/components/data-table/DataTable.js.map +1 -0
  95. package/dist/esm/components/data-table/DataTable.types.d.ts +203 -0
  96. package/dist/esm/components/data-table/DataTable.types.js +25 -0
  97. package/dist/esm/components/data-table/DataTable.types.js.map +1 -0
  98. package/dist/esm/components/data-table/DataTableController.d.ts +19 -0
  99. package/dist/esm/components/data-table/DataTableController.js +31 -0
  100. package/dist/esm/components/data-table/DataTableController.js.map +1 -0
  101. package/dist/esm/components/data-table/DefaultPagination.d.ts +7 -0
  102. package/dist/esm/components/data-table/DefaultPagination.js +62 -0
  103. package/dist/esm/components/data-table/DefaultPagination.js.map +1 -0
  104. package/dist/esm/components/data-table/DefaultTableLayout.d.ts +28 -0
  105. package/dist/esm/components/data-table/DefaultTableLayout.js +70 -0
  106. package/dist/esm/components/data-table/DefaultTableLayout.js.map +1 -0
  107. package/dist/esm/components/data-table/EmptyState.d.ts +19 -0
  108. package/dist/esm/components/data-table/EmptyState.js +16 -0
  109. package/dist/esm/components/data-table/EmptyState.js.map +1 -0
  110. package/dist/esm/components/data-table/LoadingState.d.ts +19 -0
  111. package/dist/esm/components/data-table/LoadingState.js +34 -0
  112. package/dist/esm/components/data-table/LoadingState.js.map +1 -0
  113. package/dist/esm/components/data-table/TableAction.d.ts +21 -0
  114. package/dist/esm/components/data-table/TableAction.js +26 -0
  115. package/dist/esm/components/data-table/TableAction.js.map +1 -0
  116. package/dist/esm/components/data-table/TableActionMenu.d.ts +20 -0
  117. package/dist/esm/components/data-table/TableActionMenu.js +31 -0
  118. package/dist/esm/components/data-table/TableActionMenu.js.map +1 -0
  119. package/dist/esm/components/data-table/TableLayoutRenderer.d.ts +48 -0
  120. package/dist/esm/components/data-table/TableLayoutRenderer.js +45 -0
  121. package/dist/esm/components/data-table/TableLayoutRenderer.js.map +1 -0
  122. package/dist/esm/components/data-table/Toolbar.d.ts +17 -0
  123. package/dist/esm/components/data-table/Toolbar.js +176 -0
  124. package/dist/esm/components/data-table/Toolbar.js.map +1 -0
  125. package/dist/esm/components/data-table/ToolbarRegistry.d.ts +66 -0
  126. package/dist/esm/components/data-table/ToolbarRegistry.js +89 -0
  127. package/dist/esm/components/data-table/ToolbarRegistry.js.map +1 -0
  128. package/dist/esm/components/data-table/ToolbarRenderer.d.ts +45 -0
  129. package/dist/esm/components/data-table/ToolbarRenderer.js +137 -0
  130. package/dist/esm/components/data-table/ToolbarRenderer.js.map +1 -0
  131. package/dist/esm/components/data-table/contexts/FilterHelpers.d.ts +30 -0
  132. package/dist/esm/components/data-table/contexts/FilterHelpers.js +60 -0
  133. package/dist/esm/components/data-table/contexts/FilterHelpers.js.map +1 -0
  134. package/dist/esm/components/data-table/contexts/RefineTable.d.ts +25 -0
  135. package/dist/esm/components/data-table/contexts/RefineTable.js +69 -0
  136. package/dist/esm/components/data-table/contexts/RefineTable.js.map +1 -0
  137. package/dist/esm/components/data-table/contexts/TableConfig.d.ts +24 -0
  138. package/dist/esm/components/data-table/contexts/TableConfig.js +29 -0
  139. package/dist/esm/components/data-table/contexts/TableConfig.js.map +1 -0
  140. package/dist/esm/components/data-table/contexts/TableInstance.d.ts +20 -0
  141. package/dist/esm/components/data-table/contexts/TableInstance.js +21 -0
  142. package/dist/esm/components/data-table/contexts/TableInstance.js.map +1 -0
  143. package/dist/esm/components/data-table/contexts/index.d.ts +5 -0
  144. package/dist/esm/components/data-table/contexts/index.js +6 -0
  145. package/dist/esm/components/data-table/filterColumnsForMobile.d.ts +16 -0
  146. package/dist/esm/components/data-table/filterColumnsForMobile.js +31 -0
  147. package/dist/esm/components/data-table/filterColumnsForMobile.js.map +1 -0
  148. package/dist/esm/components/data-table/index.d.ts +50 -0
  149. package/dist/esm/components/data-table/index.js +39 -0
  150. package/dist/esm/components/data-table/register.d.ts +1 -0
  151. package/dist/esm/components/data-table/register.js +1 -0
  152. package/dist/esm/components/data-table/tableOptions.d.ts +18 -0
  153. package/dist/esm/components/data-table/tableOptions.js +40 -0
  154. package/dist/esm/components/data-table/tableOptions.js.map +1 -0
  155. package/dist/esm/components/data-table/toolbarItems/FilterGroup.d.ts +18 -0
  156. package/dist/esm/components/data-table/toolbarItems/FilterGroup.js +105 -0
  157. package/dist/esm/components/data-table/toolbarItems/FilterGroup.js.map +1 -0
  158. package/dist/esm/components/data-table/toolbarItems/FilterResolver.d.ts +22 -0
  159. package/dist/esm/components/data-table/toolbarItems/FilterResolver.js +74 -0
  160. package/dist/esm/components/data-table/toolbarItems/FilterResolver.js.map +1 -0
  161. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.d.ts +27 -0
  162. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js +29 -0
  163. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js.map +1 -0
  164. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.d.ts +52 -0
  165. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js +57 -0
  166. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js.map +1 -0
  167. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.d.ts +12 -0
  168. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js +34 -0
  169. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js.map +1 -0
  170. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.d.ts +12 -0
  171. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js +25 -0
  172. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js.map +1 -0
  173. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.d.ts +13 -0
  174. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js +44 -0
  175. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js.map +1 -0
  176. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.d.ts +12 -0
  177. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js +29 -0
  178. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js.map +1 -0
  179. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.d.ts +16 -0
  180. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js +61 -0
  181. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js.map +1 -0
  182. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.d.ts +12 -0
  183. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js +33 -0
  184. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js.map +1 -0
  185. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.d.ts +13 -0
  186. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js +95 -0
  187. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js.map +1 -0
  188. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.d.ts +12 -0
  189. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js +25 -0
  190. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js.map +1 -0
  191. package/dist/esm/components/data-table/toolbarItems/filters/components/index.d.ts +9 -0
  192. package/dist/esm/components/data-table/toolbarItems/filters/components/index.js +10 -0
  193. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.d.ts +43 -0
  194. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js +102 -0
  195. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js.map +1 -0
  196. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.d.ts +19 -0
  197. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js +34 -0
  198. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js.map +1 -0
  199. package/dist/esm/components/data-table/toolbarItems/filters/index.d.ts +11 -0
  200. package/dist/esm/components/data-table/toolbarItems/filters/index.js +13 -0
  201. package/dist/esm/components/data-table/toolbarItems/filters/register.d.ts +1 -0
  202. package/dist/esm/components/data-table/toolbarItems/filters/register.js +8 -0
  203. package/dist/esm/components/data-table/toolbarItems/filters/types.d.ts +140 -0
  204. package/dist/esm/components/data-table/toolbarItems/filters/types.js +58 -0
  205. package/dist/esm/components/data-table/toolbarItems/filters/types.js.map +1 -0
  206. package/dist/esm/components/data-table/toolbarItems/filters/util.d.ts +24 -0
  207. package/dist/esm/components/data-table/toolbarItems/filters/util.js +43 -0
  208. package/dist/esm/components/data-table/toolbarItems/filters/util.js.map +1 -0
  209. package/dist/esm/components/data-table/toolbarItems/index.d.ts +17 -0
  210. package/dist/esm/components/data-table/toolbarItems/index.js +18 -0
  211. package/dist/esm/components/data-table/toolbarItems/items/custom.d.ts +15 -0
  212. package/dist/esm/components/data-table/toolbarItems/items/custom.js +19 -0
  213. package/dist/esm/components/data-table/toolbarItems/items/custom.js.map +1 -0
  214. package/dist/esm/components/data-table/toolbarItems/items/index.d.ts +6 -0
  215. package/dist/esm/components/data-table/toolbarItems/items/index.js +6 -0
  216. package/dist/esm/components/data-table/toolbarItems/items/refresh.d.ts +7 -0
  217. package/dist/esm/components/data-table/toolbarItems/items/refresh.js +36 -0
  218. package/dist/esm/components/data-table/toolbarItems/items/refresh.js.map +1 -0
  219. package/dist/esm/components/data-table/toolbarItems/items/search.d.ts +7 -0
  220. package/dist/esm/components/data-table/toolbarItems/items/search.js +66 -0
  221. package/dist/esm/components/data-table/toolbarItems/items/search.js.map +1 -0
  222. package/dist/esm/components/data-table/toolbarItems/items/separator.d.ts +16 -0
  223. package/dist/esm/components/data-table/toolbarItems/items/separator.js +20 -0
  224. package/dist/esm/components/data-table/toolbarItems/items/separator.js.map +1 -0
  225. package/dist/esm/components/data-table/toolbarItems/register.d.ts +24 -0
  226. package/dist/esm/components/data-table/toolbarItems/register.js +119 -0
  227. package/dist/esm/components/data-table/toolbarItems/register.js.map +1 -0
  228. package/dist/esm/components/data-table/useMobileDetection.d.ts +18 -0
  229. package/dist/esm/components/data-table/useMobileDetection.js +32 -0
  230. package/dist/esm/components/data-table/useMobileDetection.js.map +1 -0
  231. package/dist/esm/components/data-table/useTableHandlers.d.ts +57 -0
  232. package/dist/esm/components/data-table/useTableHandlers.js +69 -0
  233. package/dist/esm/components/data-table/useTableHandlers.js.map +1 -0
  234. package/dist/esm/components/data-table/useTableLayoutSelector.d.ts +16 -0
  235. package/dist/esm/components/data-table/useTableLayoutSelector.js +12 -0
  236. package/dist/esm/components/data-table/useTableLayoutSelector.js.map +1 -0
  237. package/dist/esm/components/dialog/Dialog.context.d.ts +18 -0
  238. package/dist/esm/components/dialog/Dialog.context.js +80 -0
  239. package/dist/esm/components/dialog/Dialog.context.js.map +1 -0
  240. package/dist/esm/components/dialog/Dialog.registry.d.ts +22 -0
  241. package/dist/esm/components/dialog/Dialog.registry.js +24 -0
  242. package/dist/esm/components/dialog/Dialog.registry.js.map +1 -0
  243. package/dist/esm/components/dialog/Dialog.renderer.d.ts +9 -0
  244. package/dist/esm/components/dialog/Dialog.renderer.js +63 -0
  245. package/dist/esm/components/dialog/Dialog.renderer.js.map +1 -0
  246. package/dist/esm/components/dialog/Dialog.types.d.ts +273 -0
  247. package/dist/esm/components/dialog/Dialog.types.js +233 -0
  248. package/dist/esm/components/dialog/Dialog.types.js.map +1 -0
  249. package/dist/esm/components/dialog/DialogActions.context.d.ts +13 -0
  250. package/dist/esm/components/dialog/DialogActions.context.js +13 -0
  251. package/dist/esm/components/dialog/DialogActions.context.js.map +1 -0
  252. package/dist/esm/components/dialog/DialogContainer.d.ts +15 -0
  253. package/dist/esm/components/dialog/DialogContainer.js +37 -0
  254. package/dist/esm/components/dialog/DialogContainer.js.map +1 -0
  255. package/dist/esm/components/dialog/DialogContent.d.ts +14 -0
  256. package/dist/esm/components/dialog/DialogContent.js +18 -0
  257. package/dist/esm/components/dialog/DialogContent.js.map +1 -0
  258. package/dist/esm/components/dialog/DialogFooterContent.d.ts +14 -0
  259. package/dist/esm/components/dialog/DialogFooterContent.js +20 -0
  260. package/dist/esm/components/dialog/DialogFooterContent.js.map +1 -0
  261. package/dist/esm/components/dialog/DialogHeaderContent.d.ts +12 -0
  262. package/dist/esm/components/dialog/DialogHeaderContent.js +24 -0
  263. package/dist/esm/components/dialog/DialogHeaderContent.js.map +1 -0
  264. package/dist/esm/components/dialog/DialogState.context.d.ts +11 -0
  265. package/dist/esm/components/dialog/DialogState.context.js +11 -0
  266. package/dist/esm/components/dialog/DialogState.context.js.map +1 -0
  267. package/dist/esm/components/dialog/index.d.ts +6 -0
  268. package/dist/esm/components/dialog/index.js +8 -0
  269. package/dist/esm/components/dialog/types/AlertDialog.d.ts +19 -0
  270. package/dist/esm/components/dialog/types/AlertDialog.js +29 -0
  271. package/dist/esm/components/dialog/types/AlertDialog.js.map +1 -0
  272. package/dist/esm/components/dialog/types/ConfirmDialog.d.ts +17 -0
  273. package/dist/esm/components/dialog/types/ConfirmDialog.js +24 -0
  274. package/dist/esm/components/dialog/types/ConfirmDialog.js.map +1 -0
  275. package/dist/esm/components/dialog/types/CustomDialog.d.ts +28 -0
  276. package/dist/esm/components/dialog/types/CustomDialog.js +17 -0
  277. package/dist/esm/components/dialog/types/CustomDialog.js.map +1 -0
  278. package/dist/esm/components/dialog/types/FormDialog.d.ts +22 -0
  279. package/dist/esm/components/dialog/types/FormDialog.js +46 -0
  280. package/dist/esm/components/dialog/types/FormDialog.js.map +1 -0
  281. package/dist/esm/components/dialog/types/WizardDialog.d.ts +29 -0
  282. package/dist/esm/components/dialog/types/WizardDialog.js +43 -0
  283. package/dist/esm/components/dialog/types/WizardDialog.js.map +1 -0
  284. package/dist/esm/components/dialog/utils/dialogClasses.d.ts +7 -0
  285. package/dist/esm/components/dialog/utils/dialogClasses.js +14 -0
  286. package/dist/esm/components/dialog/utils/dialogClasses.js.map +1 -0
  287. package/dist/esm/components/dialog/utils/dialogDetection.d.ts +32 -0
  288. package/dist/esm/components/dialog/utils/dialogDetection.js +47 -0
  289. package/dist/esm/components/dialog/utils/dialogDetection.js.map +1 -0
  290. package/dist/esm/components/dialog/utils/index.d.ts +3 -0
  291. package/dist/esm/components/dialog/utils/index.js +4 -0
  292. package/dist/esm/components/editor/BlockTypeDropdown.d.ts +12 -0
  293. package/dist/esm/components/editor/BlockTypeDropdown.js +57 -0
  294. package/dist/esm/components/editor/BlockTypeDropdown.js.map +1 -0
  295. package/dist/esm/components/editor/Editor.d.ts +7 -0
  296. package/dist/esm/components/editor/Editor.js +17 -0
  297. package/dist/esm/components/editor/Editor.js.map +1 -0
  298. package/dist/esm/components/editor/EditorInner.d.ts +14 -0
  299. package/dist/esm/components/editor/EditorInner.js +107 -0
  300. package/dist/esm/components/editor/EditorInner.js.map +1 -0
  301. package/dist/esm/components/editor/Preview.d.ts +5 -0
  302. package/dist/esm/components/editor/Preview.js +18 -0
  303. package/dist/esm/components/editor/Preview.js.map +1 -0
  304. package/dist/esm/components/editor/ToolbarContext.d.ts +39 -0
  305. package/dist/esm/components/editor/ToolbarContext.js +54 -0
  306. package/dist/esm/components/editor/ToolbarContext.js.map +1 -0
  307. package/dist/esm/components/editor/ToolbarPlugin.d.ts +20 -0
  308. package/dist/esm/components/editor/ToolbarPlugin.js +194 -0
  309. package/dist/esm/components/editor/ToolbarPlugin.js.map +1 -0
  310. package/dist/esm/components/editor/formatting.d.ts +15 -0
  311. package/dist/esm/components/editor/formatting.js +117 -0
  312. package/dist/esm/components/editor/formatting.js.map +1 -0
  313. package/dist/esm/components/editor/index.d.ts +3 -0
  314. package/dist/esm/components/editor/index.js +3 -0
  315. package/dist/esm/components/form/FormGroup.d.ts +18 -0
  316. package/dist/esm/components/form/FormGroup.js +28 -0
  317. package/dist/esm/components/form/FormGroup.js.map +1 -0
  318. package/dist/esm/components/form/FormRenderer.d.ts +14 -0
  319. package/dist/esm/components/form/FormRenderer.js +179 -0
  320. package/dist/esm/components/form/FormRenderer.js.map +1 -0
  321. package/dist/esm/components/form/SchemaForm.d.ts +18 -0
  322. package/dist/esm/components/form/SchemaForm.js +172 -0
  323. package/dist/esm/components/form/SchemaForm.js.map +1 -0
  324. package/dist/esm/components/form/StepControlContext.d.ts +199 -0
  325. package/dist/esm/components/form/StepControlContext.js +249 -0
  326. package/dist/esm/components/form/StepControlContext.js.map +1 -0
  327. package/dist/esm/components/form/StepSchemaForm.d.ts +22 -0
  328. package/dist/esm/components/form/StepSchemaForm.js +176 -0
  329. package/dist/esm/components/form/StepSchemaForm.js.map +1 -0
  330. package/dist/esm/components/form/WizardForm.d.ts +16 -0
  331. package/dist/esm/components/form/WizardForm.js +126 -0
  332. package/dist/esm/components/form/WizardForm.js.map +1 -0
  333. package/dist/esm/components/form/WizardStepContent.d.ts +26 -0
  334. package/dist/esm/components/form/WizardStepContent.js +46 -0
  335. package/dist/esm/components/form/WizardStepContent.js.map +1 -0
  336. package/dist/esm/components/form/__mocks__/@hookform/resolvers/zod.d.ts +8 -0
  337. package/dist/esm/components/form/adapters.d.ts +23 -0
  338. package/dist/esm/components/form/adapters.js +43 -0
  339. package/dist/esm/components/form/adapters.js.map +1 -0
  340. package/dist/esm/components/form/autocomplete/index.d.ts +3 -0
  341. package/dist/esm/components/form/autocomplete/index.js +4 -0
  342. package/dist/esm/components/form/autocomplete/register.d.ts +8 -0
  343. package/dist/esm/components/form/autocomplete/register.js +161 -0
  344. package/dist/esm/components/form/autocomplete/register.js.map +1 -0
  345. package/dist/esm/components/form/autocomplete/rules.d.ts +15 -0
  346. package/dist/esm/components/form/autocomplete/rules.js +198 -0
  347. package/dist/esm/components/form/autocomplete/rules.js.map +1 -0
  348. package/dist/esm/components/form/context.d.ts +29 -0
  349. package/dist/esm/components/form/context.js +25 -0
  350. package/dist/esm/components/form/context.js.map +1 -0
  351. package/dist/esm/components/form/fields/Checkbox.d.ts +6 -0
  352. package/dist/esm/components/form/fields/Checkbox.js +33 -0
  353. package/dist/esm/components/form/fields/Checkbox.js.map +1 -0
  354. package/dist/esm/components/form/fields/DatePicker.d.ts +6 -0
  355. package/dist/esm/components/form/fields/DatePicker.js +29 -0
  356. package/dist/esm/components/form/fields/DatePicker.js.map +1 -0
  357. package/dist/esm/components/form/fields/EmailInput.d.ts +6 -0
  358. package/dist/esm/components/form/fields/EmailInput.js +25 -0
  359. package/dist/esm/components/form/fields/EmailInput.js.map +1 -0
  360. package/dist/esm/components/form/fields/FileInput.d.ts +6 -0
  361. package/dist/esm/components/form/fields/FileInput.js +28 -0
  362. package/dist/esm/components/form/fields/FileInput.js.map +1 -0
  363. package/dist/esm/components/form/fields/Input.d.ts +6 -0
  364. package/dist/esm/components/form/fields/Input.js +30 -0
  365. package/dist/esm/components/form/fields/Input.js.map +1 -0
  366. package/dist/esm/components/form/fields/RadioGroup.d.ts +6 -0
  367. package/dist/esm/components/form/fields/RadioGroup.js +42 -0
  368. package/dist/esm/components/form/fields/RadioGroup.js.map +1 -0
  369. package/dist/esm/components/form/fields/RichText.d.ts +6 -0
  370. package/dist/esm/components/form/fields/RichText.js +30 -0
  371. package/dist/esm/components/form/fields/RichText.js.map +1 -0
  372. package/dist/esm/components/form/fields/Select.d.ts +6 -0
  373. package/dist/esm/components/form/fields/Select.js +37 -0
  374. package/dist/esm/components/form/fields/Select.js.map +1 -0
  375. package/dist/esm/components/form/fields/Slider.d.ts +6 -0
  376. package/dist/esm/components/form/fields/Slider.js +29 -0
  377. package/dist/esm/components/form/fields/Slider.js.map +1 -0
  378. package/dist/esm/components/form/fields/Switch.d.ts +6 -0
  379. package/dist/esm/components/form/fields/Switch.js +33 -0
  380. package/dist/esm/components/form/fields/Switch.js.map +1 -0
  381. package/dist/esm/components/form/fields/Textarea.d.ts +6 -0
  382. package/dist/esm/components/form/fields/Textarea.js +28 -0
  383. package/dist/esm/components/form/fields/Textarea.js.map +1 -0
  384. package/dist/esm/components/form/fields/index.d.ts +13 -0
  385. package/dist/esm/components/form/fields/index.js +14 -0
  386. package/dist/esm/components/form/fields/registry.d.ts +11 -0
  387. package/dist/esm/components/form/fields/registry.js +15 -0
  388. package/dist/esm/components/form/fields/registry.js.map +1 -0
  389. package/dist/esm/components/form/fields/types.d.ts +37 -0
  390. package/dist/esm/components/form/fields/types.js +21 -0
  391. package/dist/esm/components/form/fields/types.js.map +1 -0
  392. package/dist/esm/components/form/handlers/core.d.ts +19 -0
  393. package/dist/esm/components/form/handlers/core.js +51 -0
  394. package/dist/esm/components/form/handlers/core.js.map +1 -0
  395. package/dist/esm/components/form/handlers/step.d.ts +19 -0
  396. package/dist/esm/components/form/handlers/step.js +40 -0
  397. package/dist/esm/components/form/handlers/step.js.map +1 -0
  398. package/dist/esm/components/form/index.d.ts +26 -0
  399. package/dist/esm/components/form/index.js +28 -0
  400. package/dist/esm/components/form/register.d.ts +5 -0
  401. package/dist/esm/components/form/register.js +31 -0
  402. package/dist/esm/components/form/register.js.map +1 -0
  403. package/dist/esm/components/form/types.d.ts +521 -0
  404. package/dist/esm/components/form/types.js +69 -0
  405. package/dist/esm/components/form/types.js.map +1 -0
  406. package/dist/esm/components/form/utils/animationUtils.d.ts +14 -0
  407. package/dist/esm/components/form/utils/animationUtils.js +20 -0
  408. package/dist/esm/components/form/utils/animationUtils.js.map +1 -0
  409. package/dist/esm/components/form/utils/autoSave.d.ts +8 -0
  410. package/dist/esm/components/form/utils/autoSave.js +17 -0
  411. package/dist/esm/components/form/utils/autoSave.js.map +1 -0
  412. package/dist/esm/components/form/utils/index.d.ts +4 -0
  413. package/dist/esm/components/form/utils/index.js +5 -0
  414. package/dist/esm/components/form/utils/stepRetry.d.ts +12 -0
  415. package/dist/esm/components/form/utils/stepRetry.js +16 -0
  416. package/dist/esm/components/form/utils/stepRetry.js.map +1 -0
  417. package/dist/esm/components/index.d.ts +126 -0
  418. package/dist/esm/components/index.js +130 -0
  419. package/dist/esm/components/layout/DesktopSidebar.d.ts +5 -0
  420. package/dist/esm/components/layout/DesktopSidebar.js +51 -0
  421. package/dist/esm/components/layout/DesktopSidebar.js.map +1 -0
  422. package/dist/esm/components/layout/GeneralLayout.d.ts +5 -0
  423. package/dist/esm/components/layout/GeneralLayout.js +34 -0
  424. package/dist/esm/components/layout/GeneralLayout.js.map +1 -0
  425. package/dist/esm/components/layout/MobileMenu.d.ts +5 -0
  426. package/dist/esm/components/layout/MobileMenu.js +48 -0
  427. package/dist/esm/components/layout/MobileMenu.js.map +1 -0
  428. package/dist/esm/components/layout/PageHeader.d.ts +16 -0
  429. package/dist/esm/components/layout/PageHeader.js +20 -0
  430. package/dist/esm/components/layout/PageHeader.js.map +1 -0
  431. package/dist/esm/components/layout/SidebarContext.d.ts +10 -0
  432. package/dist/esm/components/layout/SidebarContext.js +27 -0
  433. package/dist/esm/components/layout/SidebarContext.js.map +1 -0
  434. package/dist/esm/components/layout/SidebarToggle.d.ts +12 -0
  435. package/dist/esm/components/layout/SidebarToggle.js +23 -0
  436. package/dist/esm/components/layout/SidebarToggle.js.map +1 -0
  437. package/dist/esm/components/layout/UserNav.d.ts +5 -0
  438. package/dist/esm/components/layout/UserNav.js +110 -0
  439. package/dist/esm/components/layout/UserNav.js.map +1 -0
  440. package/dist/esm/components/layout/index.d.ts +7 -0
  441. package/dist/esm/components/layout/index.js +9 -0
  442. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.d.ts +23 -0
  443. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js +28 -0
  444. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js.map +1 -0
  445. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.d.ts +10 -0
  446. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js +30 -0
  447. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js.map +1 -0
  448. package/dist/esm/components/shared/UnifiedFooter.d.ts +17 -0
  449. package/dist/esm/components/shared/UnifiedFooter.js +210 -0
  450. package/dist/esm/components/shared/UnifiedFooter.js.map +1 -0
  451. package/dist/esm/components/shared/UnifiedHeader.d.ts +17 -0
  452. package/dist/esm/components/shared/UnifiedHeader.js +48 -0
  453. package/dist/esm/components/shared/UnifiedHeader.js.map +1 -0
  454. package/dist/esm/components/shared/context/FooterContext.d.ts +18 -0
  455. package/dist/esm/components/shared/context/FooterContext.js +24 -0
  456. package/dist/esm/components/shared/context/FooterContext.js.map +1 -0
  457. package/dist/esm/components/shared/context/HeaderContext.d.ts +18 -0
  458. package/dist/esm/components/shared/context/HeaderContext.js +23 -0
  459. package/dist/esm/components/shared/context/HeaderContext.js.map +1 -0
  460. package/dist/esm/components/shared/context/index.d.ts +3 -0
  461. package/dist/esm/components/shared/context/index.js +4 -0
  462. package/dist/esm/components/shared/environment/builders.d.ts +95 -0
  463. package/dist/esm/components/shared/environment/builders.js +163 -0
  464. package/dist/esm/components/shared/environment/builders.js.map +1 -0
  465. package/dist/esm/components/shared/environment/index.d.ts +7 -0
  466. package/dist/esm/components/shared/environment/index.js +3 -0
  467. package/dist/esm/components/shared/footers/ActionsFooter.d.ts +11 -0
  468. package/dist/esm/components/shared/footers/ActionsFooter.js +19 -0
  469. package/dist/esm/components/shared/footers/ActionsFooter.js.map +1 -0
  470. package/dist/esm/components/shared/footers/DefaultFooter.d.ts +13 -0
  471. package/dist/esm/components/shared/footers/DefaultFooter.js +20 -0
  472. package/dist/esm/components/shared/footers/DefaultFooter.js.map +1 -0
  473. package/dist/esm/components/shared/footers/FormFooter.d.ts +15 -0
  474. package/dist/esm/components/shared/footers/FormFooter.js +28 -0
  475. package/dist/esm/components/shared/footers/FormFooter.js.map +1 -0
  476. package/dist/esm/components/shared/footers/StepFormFooter.d.ts +15 -0
  477. package/dist/esm/components/shared/footers/StepFormFooter.js +28 -0
  478. package/dist/esm/components/shared/footers/StepFormFooter.js.map +1 -0
  479. package/dist/esm/components/shared/footers/WizardFooter.d.ts +12 -0
  480. package/dist/esm/components/shared/footers/WizardFooter.js +72 -0
  481. package/dist/esm/components/shared/footers/WizardFooter.js.map +1 -0
  482. package/dist/esm/components/shared/footers/index.d.ts +6 -0
  483. package/dist/esm/components/shared/footers/index.js +7 -0
  484. package/dist/esm/components/shared/headers/DefaultHeader.d.ts +13 -0
  485. package/dist/esm/components/shared/headers/DefaultHeader.js +30 -0
  486. package/dist/esm/components/shared/headers/DefaultHeader.js.map +1 -0
  487. package/dist/esm/components/shared/headers/FormHeader.d.ts +12 -0
  488. package/dist/esm/components/shared/headers/FormHeader.js +31 -0
  489. package/dist/esm/components/shared/headers/FormHeader.js.map +1 -0
  490. package/dist/esm/components/shared/headers/WizardHeader.d.ts +9 -0
  491. package/dist/esm/components/shared/headers/WizardHeader.js +116 -0
  492. package/dist/esm/components/shared/headers/WizardHeader.js.map +1 -0
  493. package/dist/esm/components/shared/headers/index.d.ts +4 -0
  494. package/dist/esm/components/shared/headers/index.js +5 -0
  495. package/dist/esm/components/shared/hooks/index.d.ts +3 -0
  496. package/dist/esm/components/shared/hooks/index.js +4 -0
  497. package/dist/esm/components/shared/hooks/useEnvironmentSync.d.ts +17 -0
  498. package/dist/esm/components/shared/hooks/useEnvironmentSync.js +17 -0
  499. package/dist/esm/components/shared/hooks/useEnvironmentSync.js.map +1 -0
  500. package/dist/esm/components/shared/hooks/useForceRerender.d.ts +17 -0
  501. package/dist/esm/components/shared/hooks/useForceRerender.js +26 -0
  502. package/dist/esm/components/shared/hooks/useForceRerender.js.map +1 -0
  503. package/dist/esm/components/shared/index.d.ts +31 -0
  504. package/dist/esm/components/shared/index.js +36 -0
  505. package/dist/esm/components/shared/registry/FooterRegistry.d.ts +15 -0
  506. package/dist/esm/components/shared/registry/FooterRegistry.js +47 -0
  507. package/dist/esm/components/shared/registry/FooterRegistry.js.map +1 -0
  508. package/dist/esm/components/shared/registry/HeaderRegistry.d.ts +15 -0
  509. package/dist/esm/components/shared/registry/HeaderRegistry.js +41 -0
  510. package/dist/esm/components/shared/registry/HeaderRegistry.js.map +1 -0
  511. package/dist/esm/components/shared/registry/index.d.ts +4 -0
  512. package/dist/esm/components/shared/registry/index.js +5 -0
  513. package/dist/esm/components/shared/registry/types.d.ts +23 -0
  514. package/dist/esm/components/shared/registry/types.js +21 -0
  515. package/dist/esm/components/shared/registry/types.js.map +1 -0
  516. package/dist/esm/components/shared/types/container.d.ts +70 -0
  517. package/dist/esm/components/shared/types/container.js +35 -0
  518. package/dist/esm/components/shared/types/container.js.map +1 -0
  519. package/dist/esm/components/shared/types/environment.d.ts +25 -0
  520. package/dist/esm/components/shared/types/environment.js +0 -0
  521. package/dist/esm/components/shared/types/footer.d.ts +121 -0
  522. package/dist/esm/components/shared/types/footer.js +58 -0
  523. package/dist/esm/components/shared/types/footer.js.map +1 -0
  524. package/dist/esm/components/shared/types/form.d.ts +120 -0
  525. package/dist/esm/components/shared/types/form.js +47 -0
  526. package/dist/esm/components/shared/types/form.js.map +1 -0
  527. package/dist/esm/components/shared/types/header.d.ts +81 -0
  528. package/dist/esm/components/shared/types/header.js +38 -0
  529. package/dist/esm/components/shared/types/header.js.map +1 -0
  530. package/dist/esm/components/shared/types/index.d.ts +8 -0
  531. package/dist/esm/components/shared/types/index.js +7 -0
  532. package/dist/esm/components/shared/types/navigation.d.ts +9 -0
  533. package/dist/esm/components/shared/types/navigation.js +0 -0
  534. package/dist/esm/components/shared/types/step.d.ts +104 -0
  535. package/dist/esm/components/shared/types/step.js +31 -0
  536. package/dist/esm/components/shared/types/step.js.map +1 -0
  537. package/dist/esm/components/shared/utils/createEnvironmentReceiver.d.ts +23 -0
  538. package/dist/esm/components/shared/utils/createEnvironmentReceiver.js +30 -0
  539. package/dist/esm/components/shared/utils/createEnvironmentReceiver.js.map +1 -0
  540. package/dist/esm/components/shared/utils/createForceRerenderReceiver.d.ts +22 -0
  541. package/dist/esm/components/shared/utils/createForceRerenderReceiver.js +30 -0
  542. package/dist/esm/components/shared/utils/createForceRerenderReceiver.js.map +1 -0
  543. package/dist/esm/components/shared/utils/index.d.ts +6 -0
  544. package/dist/esm/components/shared/utils/index.js +7 -0
  545. package/dist/esm/components/shared/utils/renderFooter.d.ts +37 -0
  546. package/dist/esm/components/shared/utils/renderFooter.js +99 -0
  547. package/dist/esm/components/shared/utils/renderFooter.js.map +1 -0
  548. package/dist/esm/components/shared/utils/renderHeader.d.ts +39 -0
  549. package/dist/esm/components/shared/utils/renderHeader.js +120 -0
  550. package/dist/esm/components/shared/utils/renderHeader.js.map +1 -0
  551. package/dist/esm/components/shared/utils/stepState.d.ts +36 -0
  552. package/dist/esm/components/shared/utils/stepState.js +61 -0
  553. package/dist/esm/components/shared/utils/stepState.js.map +1 -0
  554. package/dist/esm/components/sizing/index.d.ts +97 -0
  555. package/dist/esm/components/sizing/index.js +79 -0
  556. package/dist/esm/components/sizing/index.js.map +1 -0
  557. package/dist/esm/hooks/index.d.ts +16 -0
  558. package/dist/esm/hooks/index.js +17 -0
  559. package/dist/esm/hooks/useAccountSubdomain.d.ts +5 -0
  560. package/dist/esm/hooks/useAccountSubdomain.js +11 -0
  561. package/dist/esm/hooks/useAccountSubdomain.js.map +1 -0
  562. package/dist/esm/hooks/useAccountUrl.d.ts +5 -0
  563. package/dist/esm/hooks/useAccountUrl.js +27 -0
  564. package/dist/esm/hooks/useAccountUrl.js.map +1 -0
  565. package/dist/esm/hooks/useApiUrl.d.ts +5 -0
  566. package/dist/esm/hooks/useApiUrl.js +14 -0
  567. package/dist/esm/hooks/useApiUrl.js.map +1 -0
  568. package/dist/esm/hooks/useAvatar.d.ts +10 -0
  569. package/dist/esm/hooks/useAvatar.js +20 -0
  570. package/dist/esm/hooks/useAvatar.js.map +1 -0
  571. package/dist/esm/hooks/useFeatureFlag.d.ts +5 -0
  572. package/dist/esm/hooks/useFeatureFlag.js +10 -0
  573. package/dist/esm/hooks/useFeatureFlag.js.map +1 -0
  574. package/dist/esm/hooks/useLoginUrl.d.ts +5 -0
  575. package/dist/esm/hooks/useLoginUrl.js +10 -0
  576. package/dist/esm/hooks/useLoginUrl.js.map +1 -0
  577. package/dist/esm/hooks/useMenuItems.d.ts +12 -0
  578. package/dist/esm/hooks/useMenuItems.js +16 -0
  579. package/dist/esm/hooks/useMenuItems.js.map +1 -0
  580. package/dist/esm/hooks/usePluginMeta.d.ts +5 -0
  581. package/dist/esm/hooks/usePluginMeta.js +11 -0
  582. package/dist/esm/hooks/usePluginMeta.js.map +1 -0
  583. package/dist/esm/hooks/usePortalMeta.d.ts +7 -0
  584. package/dist/esm/hooks/usePortalMeta.js +10 -0
  585. package/dist/esm/hooks/usePortalMeta.js.map +1 -0
  586. package/dist/esm/hooks/usePortalUrl.d.ts +5 -0
  587. package/dist/esm/hooks/usePortalUrl.js +20 -0
  588. package/dist/esm/hooks/usePortalUrl.js.map +1 -0
  589. package/dist/esm/hooks/useProtocolDomain.d.ts +5 -0
  590. package/dist/esm/hooks/useProtocolDomain.js +12 -0
  591. package/dist/esm/hooks/useProtocolDomain.js.map +1 -0
  592. package/dist/esm/hooks/useRegisterUrl.d.ts +5 -0
  593. package/dist/esm/hooks/useRegisterUrl.js +10 -0
  594. package/dist/esm/hooks/useRegisterUrl.js.map +1 -0
  595. package/dist/esm/hooks/useResetPasswordUrl.d.ts +5 -0
  596. package/dist/esm/hooks/useResetPasswordUrl.js +10 -0
  597. package/dist/esm/hooks/useResetPasswordUrl.js.map +1 -0
  598. package/dist/esm/hooks/useSdk.d.ts +8 -0
  599. package/dist/esm/hooks/useSdk.js +33 -0
  600. package/dist/esm/hooks/useSdk.js.map +1 -0
  601. package/dist/esm/hooks/useTheme.d.ts +41 -0
  602. package/dist/esm/hooks/useTheme.js +79 -0
  603. package/dist/esm/hooks/useTheme.js.map +1 -0
  604. package/dist/esm/image.d.ts +6 -0
  605. package/dist/esm/images/account-banner-image.js +6 -0
  606. package/dist/esm/images/account-banner-image.js.map +1 -0
  607. package/dist/esm/images/discord-logo.js +6 -0
  608. package/dist/esm/images/discord-logo.js.map +1 -0
  609. package/dist/esm/images/lume-bg-image.js +6 -0
  610. package/dist/esm/images/lume-bg-image.js.map +1 -0
  611. package/dist/esm/images/lume-bg-login.js +6 -0
  612. package/dist/esm/images/lume-bg-login.js.map +1 -0
  613. package/dist/esm/images/lume-color-logo.js +6 -0
  614. package/dist/esm/images/lume-color-logo.js.map +1 -0
  615. package/dist/esm/images/lume-logo.js +6 -0
  616. package/dist/esm/images/lume-logo.js.map +1 -0
  617. package/dist/esm/images.d.ts +11 -0
  618. package/dist/esm/images.js +19 -0
  619. package/dist/esm/images.js.map +1 -0
  620. package/dist/esm/index.d.ts +150 -0
  621. package/dist/esm/index.js +149 -0
  622. package/dist/esm/store/appStore.d.ts +50 -0
  623. package/dist/esm/store/appStore.js +139 -0
  624. package/dist/esm/store/appStore.js.map +1 -0
  625. package/dist/esm/store/index.d.ts +5 -0
  626. package/dist/esm/store/index.js +6 -0
  627. package/dist/esm/store/portalStore.d.ts +33 -0
  628. package/dist/esm/store/portalStore.js +58 -0
  629. package/dist/esm/store/portalStore.js.map +1 -0
  630. package/dist/esm/store/saved-filters.d.ts +54 -0
  631. package/dist/esm/store/saved-filters.js +158 -0
  632. package/dist/esm/store/saved-filters.js.map +1 -0
  633. package/dist/esm/store/uiStore.d.ts +11 -0
  634. package/dist/esm/store/uiStore.js +16 -0
  635. package/dist/esm/store/uiStore.js.map +1 -0
  636. package/dist/esm/tests/portalMetaMocks.d.ts +16 -0
  637. package/dist/esm/tests/portalMetaMocks.js +15 -0
  638. package/dist/esm/tests/portalMetaMocks.js.map +1 -0
  639. package/dist/esm/types/badge.d.ts +16 -0
  640. package/dist/esm/types/badge.js +42 -0
  641. package/dist/esm/types/badge.js.map +1 -0
  642. package/dist/esm/types/index.d.ts +3 -0
  643. package/dist/esm/types/index.js +3 -0
  644. package/dist/esm/types/theme.d.ts +35 -0
  645. package/dist/esm/types/theme.js +0 -0
  646. package/dist/esm/utils/asyncUtils.d.ts +5 -0
  647. package/dist/esm/utils/asyncUtils.js +9 -0
  648. package/dist/esm/utils/asyncUtils.js.map +1 -0
  649. package/dist/esm/utils/fileSize.d.ts +5 -0
  650. package/dist/esm/utils/fileSize.js +18 -0
  651. package/dist/esm/utils/fileSize.js.map +1 -0
  652. package/dist/esm/utils/index.d.ts +4 -0
  653. package/dist/esm/utils/index.js +5 -0
  654. package/dist/esm/utils/theme.d.ts +197 -0
  655. package/dist/esm/utils/theme.js +689 -0
  656. package/dist/esm/utils/theme.js.map +1 -0
  657. package/package.json +75 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStore.js","names":[],"sources":["../../../src/store/appStore.ts"],"sourcesContent":["import type {\n NavigationItem,\n RouteDefinition,\n} from \"@lumeweb/portal-framework-core\";\n\nimport { createStore, useStore } from \"zustand\";\n\ninterface AppActions {\n addMenuItem: (item: NavigationItem, parentKey?: string) => void;\n addMenuItems: (items: NavigationItem[], parentKey?: string) => void;\n removeMenuItem: (key: string) => void;\n setError: (error: Error | null) => void;\n setIsLoading: (isLoading: boolean) => void;\n setPluginConfigs: (configs: Record<string, any>[]) => void;\n setRoutes: (routes: RouteDefinition[]) => void;\n}\n\ninterface AppState {\n error: Error | null;\n isLoading: boolean;\n menuItems: NavigationItem[];\n pluginConfigs: Record<string, any>[];\n routes: RouteDefinition[];\n}\n\n// Define helpers outside the store creation\nexport const helpers = {\n /**\n * Adds new items as children to a parent menu item, preventing duplicates by ID.\n * @param newItems The array of NavigationItems to add.\n * @param parent The parent NavigationItem to add the items to.\n * @returns A new array with the new items added as children to the parent.\n */\n addItemsToChildren: (\n newItems: NavigationItem[],\n parent: NavigationItem,\n ): NavigationItem => {\n const existingChildIds = new Set(\n parent.children?.map((item) => item.id).filter(Boolean),\n );\n const itemsToAdd = newItems.filter(\n (item) => item.id && !existingChildIds.has(item.id),\n );\n const newChildren = [\n ...(parent.children || []),\n ...itemsToAdd.map((item) => {\n const child = { ...item, children: item.children || [] };\n // Only prefix path if:\n // 1. Parent has a path\n // 2. Child has a path\n // 3. Child path isn't already absolute (doesn't start with /)\n if (parent.path && child.path && !child.path.startsWith(\"/\")) {\n // Ensure parent path doesn't end with / and child path doesn't start with /\n const parentPath = parent.path.endsWith(\"/\")\n ? parent.path.slice(0, -1)\n : parent.path;\n const childPath = child.path.startsWith(\"/\")\n ? child.path.slice(1)\n : child.path;\n child.path = `${parentPath}/${childPath}`;\n }\n return child;\n }),\n ];\n return { ...parent, children: newChildren };\n },\n\n /**\n * Adds new items to the root level of the menu, preventing duplicates by ID.\n * @param newItems The array of NavigationItems to add.\n * @param existingItems The existing array of NavigationItems.\n * @returns a new array with the new items added.\n */\n addItemsToRoot: (\n newItems: NavigationItem[],\n existingItems: NavigationItem[],\n ): NavigationItem[] => {\n // Filter out duplicate IDs within newItems\n const newItemsFiltered = newItems.filter(\n (item, index, self) =>\n item.id && self.findIndex((i) => i.id === item.id) === index,\n );\n\n const existingIds = new Set(\n existingItems.map((item) => item.id).filter(Boolean),\n );\n const itemsToAdd = newItemsFiltered.filter(\n (item) => item.id && !existingIds.has(item.id),\n );\n return [\n ...existingItems,\n ...itemsToAdd.map((item) => ({ ...item, children: item.children || [] })),\n ];\n },\n\n // Helper to find and modify a menu item recursively\n findAndModifyMenuItem: (\n items: NavigationItem[],\n key: string,\n modifier: (item: NavigationItem) => NavigationItem,\n ): NavigationItem[] => {\n let changed = false;\n\n const newItems = items.map((item) => {\n if (item.id === key) {\n changed = true;\n return modifier(item);\n }\n\n if (item.children) {\n const updatedChildren = helpers.findAndModifyMenuItem(\n item.children,\n key,\n modifier,\n );\n if (updatedChildren !== item.children) {\n changed = true;\n return {\n ...item,\n children: updatedChildren,\n };\n }\n }\n\n return item;\n });\n\n return changed ? newItems : items;\n },\n\n /**\n * Finds a menu item by its ID in a flat or nested menu structure.\n * @param items The array of NavigationItems to search.\n * @param id The ID of the item to find.\n * @returns The NavigationItem if found, otherwise undefined.\n */\n findMenuItem: (\n items: NavigationItem[],\n id: string,\n ): NavigationItem | undefined => {\n for (const item of items) {\n if (item.id === id) {\n return item;\n }\n if (item.children) {\n const found = helpers.findMenuItem(item.children, id);\n if (found) {\n return found;\n }\n }\n }\n return undefined;\n },\n\n // Immutable helper for removing items recursively\n removeItemFromMenu: (\n items: NavigationItem[],\n key: string,\n ): NavigationItem[] => {\n let removed = false;\n\n const newItems = items\n .map((item) => {\n if (item.children) {\n const updatedChildren = helpers.removeItemFromMenu(\n item.children,\n key,\n );\n if (updatedChildren !== item.children) {\n removed = true;\n return { ...item, children: [...updatedChildren] };\n }\n }\n return item;\n })\n .filter((item) => {\n if (item.id === key) {\n removed = true;\n return false;\n }\n return true;\n });\n\n return removed ? newItems : items;\n },\n};\n\nexport const appStore = createStore<AppActions & AppState>((set) => ({\n addMenuItem: (newItem: NavigationItem, parentKey?: string) =>\n set((state) => {\n if (parentKey) {\n const parent = helpers.findMenuItem(state.menuItems, parentKey);\n if (parent) {\n return {\n menuItems: helpers.findAndModifyMenuItem(\n state.menuItems,\n parentKey,\n (parent) => helpers.addItemsToChildren([newItem], parent),\n ),\n };\n } else {\n return {\n menuItems: helpers.addItemsToRoot([newItem], state.menuItems),\n };\n }\n } else {\n return {\n menuItems: helpers.addItemsToRoot([newItem], state.menuItems),\n };\n }\n }),\n\n addMenuItems: (items: NavigationItem[], parentKey?: string) =>\n set((state) => {\n let newMenuItems = [...state.menuItems];\n\n // First pass: Add all items that have no parentId\n const itemsWithoutParents = items.filter((item) => !item.parentId);\n if (itemsWithoutParents.length > 0) {\n newMenuItems = helpers.addItemsToRoot(\n itemsWithoutParents,\n newMenuItems,\n );\n }\n\n // Second pass: Add items with parentId or parentKey\n const itemsWithParents = items.filter(\n (item) => item.parentId || parentKey,\n );\n for (const item of itemsWithParents) {\n const targetParentKey = parentKey ?? item.parentId;\n if (targetParentKey) {\n const parent = helpers.findMenuItem(newMenuItems, targetParentKey);\n if (parent) {\n newMenuItems = helpers.findAndModifyMenuItem(\n newMenuItems,\n targetParentKey,\n (parent) => helpers.addItemsToChildren([item], parent),\n );\n // Remove any root-level items that were successfully added to parent\n newMenuItems = newMenuItems.filter((i) => i.id !== item.id);\n } else {\n // Parent not found, add to root\n newMenuItems = helpers.addItemsToRoot([item], newMenuItems);\n }\n }\n }\n\n return { menuItems: newMenuItems };\n }),\n error: null,\n isLoading: false,\n menuItems: [],\n pluginConfigs: [],\n removeMenuItem: (key: string) =>\n set((state) => {\n return { menuItems: helpers.removeItemFromMenu(state.menuItems, key) };\n }),\n routes: [],\n setError: (error) => set({ error }),\n setIsLoading: (isLoading) => set({ isLoading }),\n\n setPluginConfigs: (pluginConfigs) => set({ pluginConfigs }),\n\n setRoutes: (routes) => set({ routes }),\n}));\n\nexport const useAppStore = <T>(selector: (state: AppActions & AppState) => T) =>\n useStore(appStore, selector);\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { appStore, helpers, useAppStore } from "./appStore.js";
2
+ import { PortalActions, PortalState, metaStore, portalStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore } from "./portalStore.js";
3
+ import { useUIStore } from "./uiStore.js";
4
+ import { SavedFilter, SavedFiltersStore, applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom } from "./saved-filters.js";
5
+ export { PortalActions, PortalState, SavedFilter, SavedFiltersStore, appStore, applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, helpers, metaStore, portalStore, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom, useAppStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore, useUIStore };
@@ -0,0 +1,6 @@
1
+ import { appStore, helpers, useAppStore } from "./appStore.js";
2
+ import { metaStore, portalStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore } from "./portalStore.js";
3
+ import { useUIStore } from "./uiStore.js";
4
+ import { applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom } from "./saved-filters.js";
5
+
6
+ export { appStore, applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, helpers, metaStore, portalStore, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom, useAppStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore, useUIStore };
@@ -0,0 +1,33 @@
1
+ import { PortalMeta } from "@lumeweb/portal-framework-core";
2
+ import * as _$zustand from "zustand";
3
+ import { Sdk } from "@lumeweb/portal-sdk";
4
+
5
+ //#region src/store/portalStore.d.ts
6
+ interface PortalActions {
7
+ setIsMetaLoading: (isMetaLoading: boolean) => void;
8
+ setMeta: (meta: PortalMeta | undefined) => void;
9
+ setPortalUrl: (portalUrl: string) => void;
10
+ setSdk: (sdk: null | Sdk) => void;
11
+ }
12
+ interface PortalState {
13
+ isMetaLoading: boolean;
14
+ meta: PortalMeta | undefined;
15
+ portalUrl: string;
16
+ sdk: null | Sdk;
17
+ }
18
+ type PortalStore = PortalActions & PortalState;
19
+ declare const portalStore: _$zustand.StoreApi<PortalStore>;
20
+ declare const usePortalActions: () => {
21
+ setIsMetaLoading: (isMetaLoading: boolean) => void;
22
+ setMeta: (meta: PortalMeta | undefined) => void;
23
+ setPortalUrl: (portalUrl: string) => void;
24
+ setSdk: (sdk: null | Sdk) => void;
25
+ };
26
+ declare const usePortalStore: <T>(selector: (state: PortalState) => T, equalityFn?: (a: T, b: T) => boolean) => T;
27
+ declare const useFrameworkSync: () => void;
28
+ declare const usePortal: <T>(selector: (state: PortalState) => T, equalityFn?: (a: T, b: T) => boolean) => PortalActions & T;
29
+ declare const metaStore: _$zustand.StoreApi<PortalMeta | undefined>;
30
+ declare const useMetaStore: () => PortalMeta | undefined;
31
+ //#endregion
32
+ export { PortalActions, PortalState, metaStore, portalStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore };
33
+ //# sourceMappingURL=portalStore.d.ts.map
@@ -0,0 +1,58 @@
1
+ import { env, useFramework } from "@lumeweb/portal-framework-core";
2
+ import { useEffect } from "react";
3
+ import { createStore, useStore } from "zustand";
4
+ import { derive } from "derive-zustand";
5
+ import { shallow } from "zustand/shallow";
6
+ import { useStoreWithEqualityFn } from "zustand/traditional";
7
+
8
+ //#region src/store/portalStore.ts
9
+ const portalStore = createStore((set) => ({
10
+ isMetaLoading: false,
11
+ meta: void 0,
12
+ portalUrl: env.VITE_PORTAL_DOMAIN ?? "",
13
+ sdk: null,
14
+ setIsMetaLoading: (isMetaLoading) => set({ isMetaLoading }),
15
+ setMeta: (meta) => set({ meta }),
16
+ setPortalUrl: (portalUrl) => set({ portalUrl }),
17
+ setSdk: (sdk) => set({ sdk })
18
+ }));
19
+ const usePortalActions = () => {
20
+ return useStoreWithEqualityFn(portalStore, (state) => ({
21
+ setIsMetaLoading: state.setIsMetaLoading,
22
+ setMeta: state.setMeta,
23
+ setPortalUrl: state.setPortalUrl,
24
+ setSdk: state.setSdk
25
+ }), shallow);
26
+ };
27
+ const usePortalStore = (selector, equalityFn = shallow) => {
28
+ return useStoreWithEqualityFn(portalStore, selector, equalityFn);
29
+ };
30
+ const useFrameworkSync = () => {
31
+ const framework = useFramework();
32
+ const actions = usePortalActions();
33
+ useEffect(() => {
34
+ if (!framework) return;
35
+ if (!framework?.framework) return;
36
+ if (framework?.framework) actions.setPortalUrl(framework.framework.portalUrl);
37
+ if (framework?.framework?.meta) actions.setMeta(framework.framework.meta);
38
+ }, [framework?.framework, actions]);
39
+ };
40
+ const usePortal = (selector, equalityFn) => {
41
+ const state = usePortalStore(selector, equalityFn);
42
+ const actions = usePortalActions();
43
+ return {
44
+ ...state,
45
+ ...actions
46
+ };
47
+ };
48
+ const metaStore = derive((get) => {
49
+ const portalUrl = get(portalStore).portalUrl;
50
+ const isMetaLoading = get(portalStore).isMetaLoading;
51
+ if (!portalUrl || isMetaLoading) return;
52
+ return get(portalStore).meta;
53
+ });
54
+ const useMetaStore = () => useStore(metaStore);
55
+
56
+ //#endregion
57
+ export { metaStore, portalStore, useFrameworkSync, useMetaStore, usePortal, usePortalActions, usePortalStore };
58
+ //# sourceMappingURL=portalStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalStore.js","names":[],"sources":["../../../src/store/portalStore.ts"],"sourcesContent":["import {\n env,\n type PortalMeta,\n useFramework,\n} from \"@lumeweb/portal-framework-core\";\nimport { Sdk } from \"@lumeweb/portal-sdk\";\nimport { derive } from \"derive-zustand\";\nimport { useEffect } from \"react\";\nimport { createStore, useStore } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\nimport { useStoreWithEqualityFn } from \"zustand/traditional\";\n\nexport interface PortalActions {\n setIsMetaLoading: (isMetaLoading: boolean) => void;\n setMeta: (meta: PortalMeta | undefined) => void;\n setPortalUrl: (portalUrl: string) => void;\n setSdk: (sdk: null | Sdk) => void;\n}\n\nexport interface PortalState {\n isMetaLoading: boolean;\n meta: PortalMeta | undefined;\n portalUrl: string;\n sdk: null | Sdk;\n}\n\ntype PortalStore = PortalActions & PortalState;\n\nexport const portalStore = createStore<PortalStore>((set) => ({\n isMetaLoading: false,\n meta: undefined,\n portalUrl: env.VITE_PORTAL_DOMAIN ?? \"\",\n sdk: null,\n setIsMetaLoading: (isMetaLoading: boolean) => set({ isMetaLoading }),\n setMeta: (meta: PortalMeta | undefined) => set({ meta }),\n setPortalUrl: (portalUrl: string) => set({ portalUrl }),\n setSdk: (sdk: null | Sdk) => set({ sdk }),\n}));\n\n// Export actions separately for hooks that only need actions\nexport const usePortalActions = () => {\n return useStoreWithEqualityFn(\n portalStore,\n (state) => ({\n setIsMetaLoading: state.setIsMetaLoading,\n setMeta: state.setMeta,\n setPortalUrl: state.setPortalUrl,\n setSdk: state.setSdk,\n }),\n shallow,\n );\n};\n\n// Hook to select state from the portal store\nexport const usePortalStore = <T>(\n selector: (state: PortalState) => T,\n equalityFn: (a: T, b: T) => boolean = shallow,\n): T => {\n return useStoreWithEqualityFn(portalStore, selector, equalityFn);\n};\n\n// Effect to sync framework state with the portal store\nexport const useFrameworkSync = () => {\n const framework = useFramework();\n const actions = usePortalActions();\n\n useEffect(() => {\n if (!framework) return;\n if (!framework?.framework) return;\n\n // Initial sync\n // Read directly from the framework instance\n if (framework?.framework) {\n actions.setPortalUrl(framework.framework.portalUrl);\n }\n\n if (framework?.framework?.meta) {\n actions.setMeta(framework.framework.meta);\n }\n }, [framework?.framework, actions]);\n};\n\n// Main hook to use the portal store state and actions\nexport const usePortal = <T>(\n selector: (state: PortalState) => T,\n equalityFn?: (a: T, b: T) => boolean,\n): PortalActions & T => {\n const state = usePortalStore(selector, equalityFn);\n const actions = usePortalActions();\n return { ...state, ...actions };\n};\n\n// Create a derived store for the portal metadata\nexport const metaStore = derive<PortalMeta | undefined>((get) => {\n const portalUrl = get(portalStore).portalUrl;\n const isMetaLoading = get(portalStore).isMetaLoading;\n\n if (!portalUrl || isMetaLoading) {\n return undefined;\n }\n\n return get(portalStore).meta;\n});\n\nexport const useMetaStore = () => useStore(metaStore);\n"],"mappings":";;;;;;;;AA4BA,MAAa,cAAc,aAA0B,SAAS;CAC5D,eAAe;CACf,MAAM;CACN,WAAW,IAAI,sBAAsB;CACrC,KAAK;CACL,mBAAmB,kBAA2B,IAAI,EAAE,eAAe,CAAC;CACpE,UAAU,SAAiC,IAAI,EAAE,MAAM,CAAC;CACxD,eAAe,cAAsB,IAAI,EAAE,WAAW,CAAC;CACvD,SAAS,QAAoB,IAAI,EAAE,KAAK,CAAC;CAC1C,EAAE;AAGH,MAAa,yBAAyB;AACpC,QAAO,uBACL,cACC,WAAW;EACV,kBAAkB,MAAM;EACxB,SAAS,MAAM;EACf,cAAc,MAAM;EACpB,QAAQ,MAAM;EACf,GACD,QACD;;AAIH,MAAa,kBACX,UACA,aAAsC,YAChC;AACN,QAAO,uBAAuB,aAAa,UAAU,WAAW;;AAIlE,MAAa,yBAAyB;CACpC,MAAM,YAAY,cAAc;CAChC,MAAM,UAAU,kBAAkB;AAElC,iBAAgB;AACd,MAAI,CAAC,UAAW;AAChB,MAAI,CAAC,WAAW,UAAW;AAI3B,MAAI,WAAW,UACb,SAAQ,aAAa,UAAU,UAAU,UAAU;AAGrD,MAAI,WAAW,WAAW,KACxB,SAAQ,QAAQ,UAAU,UAAU,KAAK;IAE1C,CAAC,WAAW,WAAW,QAAQ,CAAC;;AAIrC,MAAa,aACX,UACA,eACsB;CACtB,MAAM,QAAQ,eAAe,UAAU,WAAW;CAClD,MAAM,UAAU,kBAAkB;AAClC,QAAO;EAAE,GAAG;EAAO,GAAG;EAAS;;AAIjC,MAAa,YAAY,QAAgC,QAAQ;CAC/D,MAAM,YAAY,IAAI,YAAY,CAAC;CACnC,MAAM,gBAAgB,IAAI,YAAY,CAAC;AAEvC,KAAI,CAAC,aAAa,cAChB;AAGF,QAAO,IAAI,YAAY,CAAC;EACxB;AAEF,MAAa,qBAAqB,SAAS,UAAU"}
@@ -0,0 +1,54 @@
1
+ import { CrudFilters } from "@refinedev/core";
2
+ import * as _$jotai from "jotai";
3
+ import * as _$jotai_utils0 from "jotai/utils";
4
+
5
+ //#region src/store/saved-filters.d.ts
6
+ interface SavedFilter {
7
+ createdAt: string;
8
+ filters: CrudFilters;
9
+ id: string;
10
+ isDefault?: boolean;
11
+ name: string;
12
+ updatedAt: string;
13
+ }
14
+ type SavedFiltersStore = Record<string, SavedFilter[]>;
15
+ declare function generateHash(input: string): Promise<string>;
16
+ declare function generateStorageKey(resource: string): Promise<string>;
17
+ declare const savedFiltersAtom: _$jotai.WritableAtom<SavedFiltersStore | Promise<SavedFiltersStore>, [SavedFiltersStore | Promise<SavedFiltersStore> | typeof _$jotai_utils0.RESET | ((prev: SavedFiltersStore | Promise<SavedFiltersStore>) => SavedFiltersStore | Promise<SavedFiltersStore> | typeof _$jotai_utils0.RESET)], Promise<void>>;
18
+ declare const resourceFiltersAtom: _$jotai.PrimitiveAtom<SavedFilter[]> & {
19
+ init: SavedFilter[];
20
+ };
21
+ declare const selectedFilterAtom: _$jotai.WritableAtom<SavedFilter | null, [update: SavedFilter | null], void>;
22
+ declare const getResourceFiltersAtom: _$jotai.WritableAtom<null, [resource: string], Promise<any>> & {
23
+ init: null;
24
+ };
25
+ declare const saveFilterAtom: _$jotai.WritableAtom<null, [{
26
+ filters: CrudFilters;
27
+ isDefault?: boolean;
28
+ name: string;
29
+ resource: string;
30
+ }], Promise<SavedFilter>> & {
31
+ init: null;
32
+ };
33
+ declare const updateFilterAtom: _$jotai.WritableAtom<null, [{
34
+ filterId: string;
35
+ resource: string;
36
+ updates: Partial<SavedFilter>;
37
+ }], Promise<any>> & {
38
+ init: null;
39
+ };
40
+ declare const deleteFilterAtom: _$jotai.WritableAtom<null, [{
41
+ filterId: string;
42
+ resource: string;
43
+ }], Promise<boolean>> & {
44
+ init: null;
45
+ };
46
+ declare const applyFilterAtom: _$jotai.WritableAtom<null, [filterId: string], CrudFilters | null> & {
47
+ init: null;
48
+ };
49
+ declare const clearSelectedFilterAtom: _$jotai.WritableAtom<null, [], boolean> & {
50
+ init: null;
51
+ };
52
+ //#endregion
53
+ export { SavedFilter, SavedFiltersStore, applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom };
54
+ //# sourceMappingURL=saved-filters.d.ts.map
@@ -0,0 +1,158 @@
1
+ import { BrowserLevel } from "browser-level";
2
+ import { atom } from "jotai";
3
+ import { atomWithStorage } from "jotai/utils";
4
+
5
+ //#region src/store/saved-filters.ts
6
+ async function generateHash(input) {
7
+ const msgUint8 = new TextEncoder().encode(input);
8
+ const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8);
9
+ return Array.from(new Uint8Array(hashBuffer)).map((b) => b.toString(16).padStart(2, "0")).join("");
10
+ }
11
+ async function generateStorageKey(resource) {
12
+ return generateHash(`${typeof window !== "undefined" ? window.location.hostname : "localhost"}:${resource}`);
13
+ }
14
+ const createBrowserLevelStorage = () => {
15
+ const db = new BrowserLevel("saved-filters", {
16
+ prefix: "",
17
+ version: 1
18
+ });
19
+ const dbPromise = db.open();
20
+ return {
21
+ close: async () => {
22
+ try {
23
+ await db.close();
24
+ } catch (error) {
25
+ console.error("Error closing browser-level:", error);
26
+ }
27
+ },
28
+ getItem: async (key, initialValue) => {
29
+ try {
30
+ await dbPromise;
31
+ try {
32
+ return await db.get(key, { valueEncoding: "json" });
33
+ } catch (error) {
34
+ if (error.code === "LEVEL_NOT_FOUND") return initialValue;
35
+ throw error;
36
+ }
37
+ } catch (error) {
38
+ console.error("Error reading from browser-level:", error);
39
+ return initialValue;
40
+ }
41
+ },
42
+ removeItem: async (key) => {
43
+ try {
44
+ await dbPromise;
45
+ await db.del(key);
46
+ } catch (error) {
47
+ console.error("Error deleting from browser-level:", error);
48
+ }
49
+ },
50
+ setItem: async (key, value) => {
51
+ try {
52
+ await dbPromise;
53
+ await db.put(key, value, { valueEncoding: "json" });
54
+ } catch (error) {
55
+ console.error("Error writing to browser-level:", error);
56
+ }
57
+ }
58
+ };
59
+ };
60
+ const browserLevelStorage = createBrowserLevelStorage();
61
+ const savedFiltersAtom = atomWithStorage("savedFilters", {}, browserLevelStorage);
62
+ const resourceFiltersAtom = atom([]);
63
+ const selectedFilterAtom = atom((_) => null, (_, set, update) => {
64
+ set(selectedFilterAtom, update);
65
+ });
66
+ const getResourceFiltersAtom = atom(null, async (get, set, resource) => {
67
+ const filters = get(savedFiltersAtom)[await generateStorageKey(resource)] || [];
68
+ set(resourceFiltersAtom, filters);
69
+ if (!get(selectedFilterAtom)) {
70
+ const defaultFilter = filters.find((f) => f.isDefault);
71
+ if (defaultFilter) set(selectedFilterAtom, defaultFilter);
72
+ }
73
+ return filters;
74
+ });
75
+ const saveFilterAtom = atom(null, async (get, set, { filters, isDefault = false, name, resource }) => {
76
+ const allFilters = get(savedFiltersAtom);
77
+ const storageKey = await generateStorageKey(resource);
78
+ const newFilter = {
79
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
80
+ filters,
81
+ id: await generateHash(`${name}:${Date.now()}`),
82
+ isDefault,
83
+ name,
84
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
85
+ };
86
+ const resourceFilters = allFilters[storageKey] || [];
87
+ let updatedFilters = resourceFilters;
88
+ if (isDefault) updatedFilters = resourceFilters.map((filter) => ({
89
+ ...filter,
90
+ isDefault: false
91
+ }));
92
+ updatedFilters = [...updatedFilters, newFilter];
93
+ set(savedFiltersAtom, {
94
+ ...allFilters,
95
+ [storageKey]: updatedFilters
96
+ });
97
+ set(resourceFiltersAtom, updatedFilters);
98
+ set(selectedFilterAtom, newFilter);
99
+ return newFilter;
100
+ });
101
+ const updateFilterAtom = atom(null, async (get, set, { filterId, resource, updates }) => {
102
+ const allFilters = get(savedFiltersAtom);
103
+ const storageKey = await generateStorageKey(resource);
104
+ const resourceFilters = allFilters[storageKey] || [];
105
+ let updatedFilters = resourceFilters;
106
+ if (updates.isDefault) updatedFilters = resourceFilters.map((filter) => ({
107
+ ...filter,
108
+ isDefault: false
109
+ }));
110
+ updatedFilters = updatedFilters.map((filter) => {
111
+ if (filter.id === filterId) return {
112
+ ...filter,
113
+ ...updates,
114
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
115
+ };
116
+ return filter;
117
+ });
118
+ set(savedFiltersAtom, {
119
+ ...allFilters,
120
+ [storageKey]: updatedFilters
121
+ });
122
+ set(resourceFiltersAtom, updatedFilters);
123
+ const currentSelected = get(selectedFilterAtom);
124
+ if (currentSelected && currentSelected.id === filterId) {
125
+ const updatedFilter = updatedFilters.find((f) => f.id === filterId);
126
+ if (updatedFilter) set(selectedFilterAtom, updatedFilter);
127
+ }
128
+ return updatedFilters.find((f) => f.id === filterId);
129
+ });
130
+ const deleteFilterAtom = atom(null, async (get, set, { filterId, resource }) => {
131
+ const allFilters = get(savedFiltersAtom);
132
+ const storageKey = await generateStorageKey(resource);
133
+ const updatedFilters = (allFilters[storageKey] || []).filter((filter) => filter.id !== filterId);
134
+ set(savedFiltersAtom, {
135
+ ...allFilters,
136
+ [storageKey]: updatedFilters
137
+ });
138
+ set(resourceFiltersAtom, updatedFilters);
139
+ const currentSelected = get(selectedFilterAtom);
140
+ if (currentSelected && currentSelected.id === filterId) set(selectedFilterAtom, null);
141
+ return true;
142
+ });
143
+ const applyFilterAtom = atom(null, (get, set, filterId) => {
144
+ const filter = get(resourceFiltersAtom).find((f) => f.id === filterId);
145
+ if (filter) {
146
+ set(selectedFilterAtom, filter);
147
+ return filter.filters;
148
+ }
149
+ return null;
150
+ });
151
+ const clearSelectedFilterAtom = atom(null, (get, set) => {
152
+ set(selectedFilterAtom, null);
153
+ return true;
154
+ });
155
+
156
+ //#endregion
157
+ export { applyFilterAtom, clearSelectedFilterAtom, deleteFilterAtom, generateHash, generateStorageKey, getResourceFiltersAtom, resourceFiltersAtom, saveFilterAtom, savedFiltersAtom, selectedFilterAtom, updateFilterAtom };
158
+ //# sourceMappingURL=saved-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-filters.js","names":[],"sources":["../../../src/store/saved-filters.ts"],"sourcesContent":["import type { CrudFilters } from \"@refinedev/core\";\n\nimport { BrowserLevel } from \"browser-level\";\nimport { atom } from \"jotai\";\nimport { atomWithStorage } from \"jotai/utils\";\n\n// Type definitions for saved filters\nexport interface SavedFilter {\n createdAt: string;\n filters: CrudFilters;\n id: string;\n isDefault?: boolean;\n name: string;\n updatedAt: string;\n}\n\nexport type SavedFiltersStore = Record<string, SavedFilter[]>;\n\n// Function to generate SHA-256 hash\nexport async function generateHash(input: string): Promise<string> {\n // Use the Web Crypto API to generate a SHA-256 hash\n const msgUint8 = new TextEncoder().encode(input);\n const hashBuffer = await crypto.subtle.digest(\"SHA-256\", msgUint8);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n return hashArray.map((b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\n// Function to generate a storage key for a specific resource\nexport async function generateStorageKey(resource: string): Promise<string> {\n // Combine domain and resource for a unique key\n const domain =\n typeof window !== \"undefined\" ? window.location.hostname : \"localhost\";\n return generateHash(`${domain}:${resource}`);\n}\n\n// Create a custom storage for jotai that uses browser-level\nconst createBrowserLevelStorage = () => {\n // Create a browser-level instance for saved filters\n const db = new BrowserLevel(\"saved-filters\", {\n prefix: \"\", // No prefix needed\n version: 1,\n });\n\n // Open the database when the storage is created\n const dbPromise = db.open();\n\n // Create a storage object compatible with atomWithStorage\n return {\n // Add a method to close the database when needed\n close: async (): Promise<void> => {\n try {\n await db.close();\n } catch (error) {\n console.error(\"Error closing browser-level:\", error);\n }\n },\n\n getItem: async (\n key: string,\n initialValue: SavedFiltersStore,\n ): Promise<SavedFiltersStore> => {\n try {\n // Ensure database is open\n await dbPromise;\n\n try {\n // Try to get the value from the database\n const value = await db.get(key, { valueEncoding: \"json\" });\n // Properly handle the type - browser-level with json encoding returns the parsed object\n return value as unknown as SavedFiltersStore;\n } catch (error: any) {\n // If key not found, return initial value\n if (error.code === \"LEVEL_NOT_FOUND\") {\n return initialValue;\n }\n throw error;\n }\n } catch (error) {\n console.error(\"Error reading from browser-level:\", error);\n return initialValue;\n }\n },\n\n removeItem: async (key: string): Promise<void> => {\n try {\n // Ensure database is open\n await dbPromise;\n\n // Delete the key from the database\n await db.del(key);\n } catch (error) {\n console.error(\"Error deleting from browser-level:\", error);\n }\n },\n\n setItem: async (key: string, value: SavedFiltersStore): Promise<void> => {\n try {\n // Ensure database is open\n await dbPromise;\n\n // Store the value in the database\n await db.put(key, value, { valueEncoding: \"json\" });\n } catch (error) {\n console.error(\"Error writing to browser-level:\", error);\n }\n },\n };\n};\n\n// Create the browser-level storage\nconst browserLevelStorage = createBrowserLevelStorage();\n\n// Create the atom for saved filters with browser-level storage\nexport const savedFiltersAtom = atomWithStorage<SavedFiltersStore>(\n \"savedFilters\",\n {},\n browserLevelStorage,\n);\n\n// Atom for the current resource's saved filters\nexport const resourceFiltersAtom = atom<SavedFilter[]>([]);\n\n// Make this a writable atom to fix the TypeScript errors\nexport const selectedFilterAtom = atom(\n (_) => null as null | SavedFilter,\n (_, set, update: null | SavedFilter) => {\n set(selectedFilterAtom, update);\n },\n);\n\n// Derived atom to get filters for a specific resource\nexport const getResourceFiltersAtom = atom(\n null,\n async (get, set, resource: string) => {\n const allFilters = get(savedFiltersAtom);\n const storageKey = await generateStorageKey(resource);\n const filters = allFilters[storageKey] || [];\n set(resourceFiltersAtom, filters);\n\n // Set default filter if available and no filter is selected\n const currentSelected = get(selectedFilterAtom);\n if (!currentSelected) {\n const defaultFilter = filters.find((f) => f.isDefault);\n if (defaultFilter) {\n // Now this will work with the writable atom\n set(selectedFilterAtom, defaultFilter);\n }\n }\n\n return filters;\n },\n);\n\n// Action atom to save a new filter\nexport const saveFilterAtom = atom(\n null,\n async (\n get,\n set,\n {\n filters,\n isDefault = false,\n name,\n resource,\n }: {\n filters: CrudFilters;\n isDefault?: boolean;\n name: string;\n resource: string;\n },\n ) => {\n const allFilters = get(savedFiltersAtom);\n const storageKey = await generateStorageKey(resource);\n\n const newFilter: SavedFilter = {\n createdAt: new Date().toISOString(),\n filters,\n id: await generateHash(`${name}:${Date.now()}`),\n isDefault,\n name,\n updatedAt: new Date().toISOString(),\n };\n\n // Get existing filters for this resource\n const resourceFilters = allFilters[storageKey] || [];\n\n // If this is set as default, remove default from others\n let updatedFilters = resourceFilters;\n if (isDefault) {\n updatedFilters = resourceFilters.map((filter) => ({\n ...filter,\n isDefault: false,\n }));\n }\n\n // Add the new filter\n updatedFilters = [...updatedFilters, newFilter];\n\n // Update the store\n const updatedStore = {\n ...allFilters,\n [storageKey]: updatedFilters,\n };\n\n set(savedFiltersAtom, updatedStore);\n set(resourceFiltersAtom, updatedFilters);\n set(selectedFilterAtom, newFilter);\n\n return newFilter;\n },\n);\n\n// Action atom to update an existing filter\nexport const updateFilterAtom = atom(\n null,\n async (\n get,\n set,\n {\n filterId,\n resource,\n updates,\n }: {\n filterId: string;\n resource: string;\n updates: Partial<SavedFilter>;\n },\n ) => {\n const allFilters = get(savedFiltersAtom);\n const storageKey = await generateStorageKey(resource);\n\n // Get existing filters for this resource\n const resourceFilters = allFilters[storageKey] || [];\n\n // If setting as default, remove default from others\n let updatedFilters = resourceFilters;\n if (updates.isDefault) {\n updatedFilters = resourceFilters.map((filter) => ({\n ...filter,\n isDefault: false,\n }));\n }\n\n // Update the specific filter\n updatedFilters = updatedFilters.map((filter) => {\n if (filter.id === filterId) {\n return {\n ...filter,\n ...updates,\n updatedAt: new Date().toISOString(),\n };\n }\n return filter;\n });\n\n // Update the store\n const updatedStore = {\n ...allFilters,\n [storageKey]: updatedFilters,\n };\n\n set(savedFiltersAtom, updatedStore);\n set(resourceFiltersAtom, updatedFilters);\n\n // Update selected filter if it was the one modified\n const currentSelected = get(selectedFilterAtom);\n if (currentSelected && currentSelected.id === filterId) {\n const updatedFilter = updatedFilters.find((f) => f.id === filterId);\n if (updatedFilter) {\n set(selectedFilterAtom, updatedFilter);\n }\n }\n\n return updatedFilters.find((f) => f.id === filterId);\n },\n);\n\n// Action atom to delete a filter\nexport const deleteFilterAtom = atom(\n null,\n async (\n get,\n set,\n {\n filterId,\n resource,\n }: {\n filterId: string;\n resource: string;\n },\n ) => {\n const allFilters = get(savedFiltersAtom);\n const storageKey = await generateStorageKey(resource);\n\n // Get existing filters for this resource\n const resourceFilters = allFilters[storageKey] || [];\n\n // Remove the filter\n const updatedFilters = resourceFilters.filter(\n (filter) => filter.id !== filterId,\n );\n\n // Update the store\n const updatedStore = {\n ...allFilters,\n [storageKey]: updatedFilters,\n };\n\n set(savedFiltersAtom, updatedStore);\n set(resourceFiltersAtom, updatedFilters);\n\n // Clear selected filter if it was the one deleted\n const currentSelected = get(selectedFilterAtom);\n if (currentSelected && currentSelected.id === filterId) {\n set(selectedFilterAtom, null);\n }\n\n return true;\n },\n);\n\n// Action atom to apply a saved filter\nexport const applyFilterAtom = atom(null, (get, set, filterId: string) => {\n const resourceFilters = get(resourceFiltersAtom);\n const filter = resourceFilters.find((f) => f.id === filterId);\n\n if (filter) {\n set(selectedFilterAtom, filter);\n return filter.filters;\n }\n\n return null;\n});\n\n// Action atom to clear the selected filter\nexport const clearSelectedFilterAtom = atom(null, (get, set) => {\n set(selectedFilterAtom, null);\n return true;\n});\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ //#region src/store/uiStore.d.ts
2
+ interface UIActions {
3
+ setTheme: (theme: string) => void;
4
+ }
5
+ interface UIState {
6
+ theme: string;
7
+ }
8
+ declare const useUIStore: <T>(selector: (state: UIActions & UIState) => T) => T;
9
+ //#endregion
10
+ export { useUIStore };
11
+ //# sourceMappingURL=uiStore.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { createStore, useStore } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+
4
+ //#region src/store/uiStore.ts
5
+ const uiStore = createStore()(persist((set) => ({
6
+ setTheme: (theme) => set({ theme }),
7
+ theme: "default"
8
+ }), {
9
+ name: "ui-store",
10
+ partialize: (state) => ({ theme: state.theme })
11
+ }));
12
+ const useUIStore = (selector) => useStore(uiStore, selector);
13
+
14
+ //#endregion
15
+ export { useUIStore };
16
+ //# sourceMappingURL=uiStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiStore.js","names":[],"sources":["../../../src/store/uiStore.ts"],"sourcesContent":["import { createStore, useStore } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\ninterface UIActions {\n setTheme: (theme: string) => void;\n}\n\ninterface UIState {\n theme: string;\n}\n\nconst uiStore = createStore<UIActions & UIState>()(\n persist(\n (set) => ({\n setTheme: (theme) => set({ theme }),\n theme: \"default\",\n }),\n {\n name: \"ui-store\",\n partialize: (state) => ({ theme: state.theme }),\n },\n ),\n);\n\nexport const useUIStore = <T>(selector: (state: UIActions & UIState) => T) =>\n useStore(uiStore, selector);\n"],"mappings":";;;;AAWA,MAAM,UAAU,aAAkC,CAChD,SACG,SAAS;CACR,WAAW,UAAU,IAAI,EAAE,OAAO,CAAC;CACnC,OAAO;CACR,GACD;CACE,MAAM;CACN,aAAa,WAAW,EAAE,OAAO,MAAM,OAAO;CAC/C,CACF,CACF;AAED,MAAa,cAAiB,aAC5B,SAAS,SAAS,SAAS"}
@@ -0,0 +1,16 @@
1
+ import * as _$_lumeweb_portal_framework_core0 from "@lumeweb/portal-framework-core";
2
+ import { PortalMeta } from "@lumeweb/portal-framework-core";
3
+
4
+ //#region src/tests/portalMetaMocks.d.ts
5
+ declare const createMockPortalMeta: (overrides?: Partial<PortalMeta>) => {
6
+ domain: string;
7
+ feature_flags: Record<string, boolean>;
8
+ plugins: _$_lumeweb_portal_framework_core0.PortalMetaPlugins;
9
+ };
10
+ declare const createMockPlugin: (meta?: any) => {
11
+ meta: any;
12
+ web_bundles: never[];
13
+ };
14
+ //#endregion
15
+ export { createMockPlugin, createMockPortalMeta };
16
+ //# sourceMappingURL=portalMetaMocks.d.ts.map
@@ -0,0 +1,15 @@
1
+ //#region src/tests/portalMetaMocks.ts
2
+ const createMockPortalMeta = (overrides = {}) => ({
3
+ domain: "example.com",
4
+ feature_flags: {},
5
+ plugins: {},
6
+ ...overrides
7
+ });
8
+ const createMockPlugin = (meta = {}) => ({
9
+ meta,
10
+ web_bundles: []
11
+ });
12
+
13
+ //#endregion
14
+ export { createMockPlugin, createMockPortalMeta };
15
+ //# sourceMappingURL=portalMetaMocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalMetaMocks.js","names":[],"sources":["../../../src/tests/portalMetaMocks.ts"],"sourcesContent":["import type { PortalMeta } from \"@lumeweb/portal-framework-core\";\n\nexport const createMockPortalMeta = (overrides: Partial<PortalMeta> = {}) => ({\n domain: \"example.com\",\n feature_flags: {},\n plugins: {},\n ...overrides,\n});\n\nexport const createMockPlugin = (meta: any = {}) => ({\n meta,\n web_bundles: [],\n});\n"],"mappings":";AAEA,MAAa,wBAAwB,YAAiC,EAAE,MAAM;CAC5E,QAAQ;CACR,eAAe,EAAE;CACjB,SAAS,EAAE;CACX,GAAG;CACJ;AAED,MAAa,oBAAoB,OAAY,EAAE,MAAM;CACnD;CACA,aAAa,EAAE;CAChB"}
@@ -0,0 +1,16 @@
1
+ //#region src/types/badge.d.ts
2
+ type BadgeConfig<T extends string> = Record<T, {
3
+ base: string;
4
+ dark: string;
5
+ hover?: string;
6
+ label?: string;
7
+ }>;
8
+ type BadgeVariant = "critical" | "default" | "destructive" | "info" | "secondary" | "success" | "warning";
9
+ declare const BADGE_THEME: Record<BadgeVariant, {
10
+ base: string;
11
+ dark: string;
12
+ hover: string;
13
+ }>;
14
+ //#endregion
15
+ export { BADGE_THEME, BadgeConfig, BadgeVariant };
16
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1,42 @@
1
+ //#region src/types/badge.ts
2
+ const BADGE_THEME = {
3
+ critical: {
4
+ base: "bg-orange-100 text-orange-800",
5
+ dark: "dark:bg-orange-900/30 dark:text-orange-400",
6
+ hover: "hover:bg-orange-200"
7
+ },
8
+ default: {
9
+ base: "bg-gray-100 text-gray-800",
10
+ dark: "dark:bg-gray-800 dark:text-gray-200",
11
+ hover: "hover:bg-gray-200"
12
+ },
13
+ destructive: {
14
+ base: "bg-red-100 text-red-800",
15
+ dark: "dark:bg-red-900/30 dark:text-red-400",
16
+ hover: "hover:bg-red-200"
17
+ },
18
+ info: {
19
+ base: "bg-cyan-100 text-cyan-800",
20
+ dark: "dark:bg-cyan-900/30 dark:text-cyan-400",
21
+ hover: "hover:bg-cyan-200"
22
+ },
23
+ secondary: {
24
+ base: "bg-blue-100 text-blue-800",
25
+ dark: "dark:bg-blue-900/30 dark:text-blue-400",
26
+ hover: "hover:bg-blue-200"
27
+ },
28
+ success: {
29
+ base: "bg-green-100 text-green-800",
30
+ dark: "dark:bg-green-900/30 dark:text-green-400",
31
+ hover: "hover:bg-green-200"
32
+ },
33
+ warning: {
34
+ base: "bg-yellow-100 text-yellow-800",
35
+ dark: "dark:bg-yellow-900/30 dark:text-yellow-400",
36
+ hover: "hover:bg-yellow-200"
37
+ }
38
+ };
39
+
40
+ //#endregion
41
+ export { BADGE_THEME };
42
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","names":[],"sources":["../../../src/types/badge.ts"],"sourcesContent":["export type BadgeConfig<T extends string> = Record<\n T,\n {\n base: string;\n dark: string;\n hover?: string;\n label?: string;\n }\n>;\n\nexport type BadgeVariant =\n | \"critical\"\n | \"default\"\n | \"destructive\"\n | \"info\"\n | \"secondary\"\n | \"success\"\n | \"warning\";\n\nexport const BADGE_THEME: Record<\n BadgeVariant,\n {\n base: string;\n dark: string;\n hover: string;\n }\n> = {\n critical: {\n base: \"bg-orange-100 text-orange-800\",\n dark: \"dark:bg-orange-900/30 dark:text-orange-400\",\n hover: \"hover:bg-orange-200\",\n },\n default: {\n base: \"bg-gray-100 text-gray-800\",\n dark: \"dark:bg-gray-800 dark:text-gray-200\",\n hover: \"hover:bg-gray-200\",\n },\n destructive: {\n base: \"bg-red-100 text-red-800\",\n dark: \"dark:bg-red-900/30 dark:text-red-400\",\n hover: \"hover:bg-red-200\",\n },\n info: {\n base: \"bg-cyan-100 text-cyan-800\",\n dark: \"dark:bg-cyan-900/30 dark:text-cyan-400\",\n hover: \"hover:bg-cyan-200\",\n },\n secondary: {\n base: \"bg-blue-100 text-blue-800\",\n dark: \"dark:bg-blue-900/30 dark:text-blue-400\",\n hover: \"hover:bg-blue-200\",\n },\n success: {\n base: \"bg-green-100 text-green-800\",\n dark: \"dark:bg-green-900/30 dark:text-green-400\",\n hover: \"hover:bg-green-200\",\n },\n warning: {\n base: \"bg-yellow-100 text-yellow-800\",\n dark: \"dark:bg-yellow-900/30 dark:text-yellow-400\",\n hover: \"hover:bg-yellow-200\",\n },\n};\n"],"mappings":";AAmBA,MAAa,cAOT;CACF,UAAU;EACR,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,SAAS;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,aAAa;EACX,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,MAAM;EACJ,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,SAAS;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACD,SAAS;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACR;CACF"}
@@ -0,0 +1,3 @@
1
+ import { BADGE_THEME, BadgeConfig, BadgeVariant } from "./badge.js";
2
+ import { BackgroundImages, Color, SystemColors, Theme } from "./theme.js";
3
+ export { BADGE_THEME, BackgroundImages, BadgeConfig, BadgeVariant, Color, SystemColors, Theme };
@@ -0,0 +1,3 @@
1
+ import { BADGE_THEME } from "./badge.js";
2
+
3
+ export { BADGE_THEME };
@@ -0,0 +1,35 @@
1
+ //#region src/types/theme.d.ts
2
+ interface BackgroundImages {
3
+ login: string;
4
+ register: string;
5
+ reset_password: string;
6
+ }
7
+ interface Color {
8
+ hue: number;
9
+ lightness: number;
10
+ saturation: number;
11
+ }
12
+ interface SystemColors {
13
+ active_ui_element: Color;
14
+ background: Color;
15
+ borders: Color;
16
+ high_contrast_text: Color;
17
+ hovered_element_border: Color;
18
+ hovered_solid_bg: Color;
19
+ hovered_ui_element: Color;
20
+ low_contrast_text: Color;
21
+ solid_background: Color;
22
+ subtle_background: Color;
23
+ ui_element_background: Color;
24
+ ui_element_border: Color;
25
+ }
26
+ interface Theme {
27
+ background_images: BackgroundImages;
28
+ default?: boolean;
29
+ id: string;
30
+ name: string;
31
+ system_colors: SystemColors;
32
+ }
33
+ //#endregion
34
+ export { BackgroundImages, Color, SystemColors, Theme };
35
+ //# sourceMappingURL=theme.d.ts.map
File without changes
@@ -0,0 +1,5 @@
1
+ //#region src/utils/asyncUtils.d.ts
2
+ declare function runWhenIdle(callback: () => void): void;
3
+ //#endregion
4
+ export { runWhenIdle };
5
+ //# sourceMappingURL=asyncUtils.d.ts.map
@@ -0,0 +1,9 @@
1
+ //#region src/utils/asyncUtils.ts
2
+ function runWhenIdle(callback) {
3
+ if (typeof requestIdleCallback !== "undefined") requestIdleCallback(callback);
4
+ else setTimeout(callback, 200);
5
+ }
6
+
7
+ //#endregion
8
+ export { runWhenIdle };
9
+ //# sourceMappingURL=asyncUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncUtils.js","names":[],"sources":["../../../src/utils/asyncUtils.ts"],"sourcesContent":["export function runWhenIdle(callback: () => void) {\n if (typeof requestIdleCallback !== \"undefined\") {\n requestIdleCallback(callback);\n } else {\n setTimeout(callback, 200);\n }\n}\n"],"mappings":";AAAA,SAAgB,YAAY,UAAsB;AAChD,KAAI,OAAO,wBAAwB,YACjC,qBAAoB,SAAS;KAE7B,YAAW,UAAU,IAAI"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fileSize.d.ts
2
+ declare function formatFileSize(bytes: number): string;
3
+ //#endregion
4
+ export { formatFileSize };
5
+ //# sourceMappingURL=fileSize.d.ts.map
@@ -0,0 +1,18 @@
1
+ //#region src/utils/fileSize.ts
2
+ function formatFileSize(bytes) {
3
+ if (bytes === 0) return "0 Bytes";
4
+ const k = 1024;
5
+ const sizes = [
6
+ "Bytes",
7
+ "KB",
8
+ "MB",
9
+ "GB",
10
+ "TB"
11
+ ];
12
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
13
+ return Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
14
+ }
15
+
16
+ //#endregion
17
+ export { formatFileSize };
18
+ //# sourceMappingURL=fileSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSize.js","names":[],"sources":["../../../src/utils/fileSize.ts"],"sourcesContent":["export function formatFileSize(bytes: number): string {\n if (bytes === 0) return \"0 Bytes\";\n\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return (\n Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + \" \" + sizes[i]\n );\n}\n"],"mappings":";AAAA,SAAgB,eAAe,OAAuB;AACpD,KAAI,UAAU,EAAG,QAAO;CAExB,MAAM,IAAI;CACV,MAAM,QAAQ;EAAC;EAAS;EAAM;EAAM;EAAM;EAAK;CAC/C,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;AAEnD,QACE,OAAO,YAAY,QAAQ,KAAK,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,MAAM"}
@@ -0,0 +1,4 @@
1
+ import { runWhenIdle } from "./asyncUtils.js";
2
+ import { formatFileSize } from "./fileSize.js";
3
+ import { adjustHue, applyThemeStyles, createDefaultSystemColors, createDefaultTheme, createZeroSystemColors, darkenColor, desaturateColor, ensureWcagContrast, generateThemeCSS, getContrastRatio, getThemeById, hexToHsl, hslToRawString, hslToRgb, hslToString, isValidBackgroundImages, isValidColor, isValidSystemColors, lightenColor, meetsWcagContrast, meetsWcagNonTextContrast, meetsWcagTextContrast, mergeThemes, rgbToHsl, rgbToLuminance, saturateColor, validateTheme } from "./theme.js";
4
+ export { adjustHue, applyThemeStyles, createDefaultSystemColors, createDefaultTheme, createZeroSystemColors, darkenColor, desaturateColor, ensureWcagContrast, formatFileSize, generateThemeCSS, getContrastRatio, getThemeById, hexToHsl, hslToRawString, hslToRgb, hslToString, isValidBackgroundImages, isValidColor, isValidSystemColors, lightenColor, meetsWcagContrast, meetsWcagNonTextContrast, meetsWcagTextContrast, mergeThemes, rgbToHsl, rgbToLuminance, runWhenIdle, saturateColor, validateTheme };