@igstack/app-catalog-frontend-core 0.0.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 (652) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/App.d.ts +12 -0
  3. package/dist/esm/App.js +12 -0
  4. package/dist/esm/App.js.map +1 -0
  5. package/dist/esm/__tests__/setupTests.d.ts +0 -0
  6. package/dist/esm/api/infra/createQueryClient.d.ts +9 -0
  7. package/dist/esm/api/infra/createQueryClient.js +25 -0
  8. package/dist/esm/api/infra/createQueryClient.js.map +1 -0
  9. package/dist/esm/api/infra/trpc.d.ts +1624 -0
  10. package/dist/esm/api/infra/trpc.js +8 -0
  11. package/dist/esm/api/infra/trpc.js.map +1 -0
  12. package/dist/esm/api/unsorted/appCatalogFetcher.d.ts +10 -0
  13. package/dist/esm/api/unsorted/appCatalogFetcher.js +18 -0
  14. package/dist/esm/api/unsorted/appCatalogFetcher.js.map +1 -0
  15. package/dist/esm/api/unsorted/createCachingFetcher.d.ts +23 -0
  16. package/dist/esm/api/unsorted/createCachingFetcher.js +93 -0
  17. package/dist/esm/api/unsorted/createCachingFetcher.js.map +1 -0
  18. package/dist/esm/appPropsFactory.d.ts +2 -0
  19. package/dist/esm/appPropsFactory.js +34 -0
  20. package/dist/esm/appPropsFactory.js.map +1 -0
  21. package/dist/esm/assets/app-catalog.svg.js +6 -0
  22. package/dist/esm/assets/app-catalog.svg.js.map +1 -0
  23. package/dist/esm/components/IconPickerDialog.d.ts +8 -0
  24. package/dist/esm/components/IconPickerDialog.js +98 -0
  25. package/dist/esm/components/IconPickerDialog.js.map +1 -0
  26. package/dist/esm/components/IconPickerField.d.ts +9 -0
  27. package/dist/esm/components/IconPickerField.js +76 -0
  28. package/dist/esm/components/IconPickerField.js.map +1 -0
  29. package/dist/esm/components/ThemeSwitcher.d.ts +1 -0
  30. package/dist/esm/components/ThemeSwitcher.js +25 -0
  31. package/dist/esm/components/ThemeSwitcher.js.map +1 -0
  32. package/dist/esm/components/theme-provider.d.ts +2 -0
  33. package/dist/esm/components/theme-provider.js +10 -0
  34. package/dist/esm/components/theme-provider.js.map +1 -0
  35. package/dist/esm/errors/AuthorizationError.d.ts +19 -0
  36. package/dist/esm/errors/AuthorizationError.js +20 -0
  37. package/dist/esm/errors/AuthorizationError.js.map +1 -0
  38. package/dist/esm/errors/index.d.ts +1 -0
  39. package/dist/esm/index.d.ts +3 -0
  40. package/dist/esm/index.js +7 -0
  41. package/dist/esm/index.js.map +1 -0
  42. package/dist/esm/lib/utils.d.ts +2 -0
  43. package/dist/esm/lib/utils.js +9 -0
  44. package/dist/esm/lib/utils.js.map +1 -0
  45. package/dist/esm/main.d.ts +0 -0
  46. package/dist/esm/modules/admin-base/components/AdminChat.d.ts +1 -0
  47. package/dist/esm/modules/admin-base/components/AdminChat.js +82 -0
  48. package/dist/esm/modules/admin-base/components/AdminChat.js.map +1 -0
  49. package/dist/esm/modules/admin-base/components/AdminLayout.d.ts +5 -0
  50. package/dist/esm/modules/admin-base/components/AdminLayout.js +83 -0
  51. package/dist/esm/modules/admin-base/components/AdminLayout.js.map +1 -0
  52. package/dist/esm/modules/admin-base/components/AdminWelcome.d.ts +1 -0
  53. package/dist/esm/modules/admin-base/components/AdminWelcome.js +37 -0
  54. package/dist/esm/modules/admin-base/components/AdminWelcome.js.map +1 -0
  55. package/dist/esm/modules/admin-base/context/AdminConfigContext.d.ts +8 -0
  56. package/dist/esm/modules/admin-base/context/AdminConfigContext.js +27 -0
  57. package/dist/esm/modules/admin-base/context/AdminConfigContext.js.map +1 -0
  58. package/dist/esm/modules/admin-base/index.d.ts +5 -0
  59. package/dist/esm/modules/admin-base/types/adminTypes.d.ts +10 -0
  60. package/dist/esm/modules/appCatalog/AppCatalogAdminPage.d.ts +1 -0
  61. package/dist/esm/modules/appCatalog/AppCatalogAdminPage.js +196 -0
  62. package/dist/esm/modules/appCatalog/AppCatalogAdminPage.js.map +1 -0
  63. package/dist/esm/modules/appCatalog/ScreenshotItem.d.ts +7 -0
  64. package/dist/esm/modules/appCatalog/ScreenshotItem.js +57 -0
  65. package/dist/esm/modules/appCatalog/ScreenshotItem.js.map +1 -0
  66. package/dist/esm/modules/appCatalog/ScreenshotManager.d.ts +15 -0
  67. package/dist/esm/modules/appCatalog/ScreenshotManager.js +155 -0
  68. package/dist/esm/modules/appCatalog/ScreenshotManager.js.map +1 -0
  69. package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.d.ts +11 -0
  70. package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.js +14 -0
  71. package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.js.map +1 -0
  72. package/dist/esm/modules/appCatalog/catalogRouteLoader.d.ts +5 -0
  73. package/dist/esm/modules/appCatalog/catalogRouteLoader.js +20 -0
  74. package/dist/esm/modules/appCatalog/catalogRouteLoader.js.map +1 -0
  75. package/dist/esm/modules/appCatalog/context/AppCatalogContext.d.ts +15 -0
  76. package/dist/esm/modules/appCatalog/context/AppCatalogContext.js +47 -0
  77. package/dist/esm/modules/appCatalog/context/AppCatalogContext.js.map +1 -0
  78. package/dist/esm/modules/appCatalog/index.d.ts +10 -0
  79. package/dist/esm/modules/appCatalog/routeLoader.d.ts +3 -0
  80. package/dist/esm/modules/appCatalog/routeLoader.js +7 -0
  81. package/dist/esm/modules/appCatalog/routeLoader.js.map +1 -0
  82. package/dist/esm/modules/appCatalog/ui/components/AccessRequestSection.d.ts +7 -0
  83. package/dist/esm/modules/appCatalog/ui/components/AccessRequestSection.js +257 -0
  84. package/dist/esm/modules/appCatalog/ui/components/AccessRequestSection.js.map +1 -0
  85. package/dist/esm/modules/appCatalog/ui/components/AppDetailModal.d.ts +7 -0
  86. package/dist/esm/modules/appCatalog/ui/components/ApproverDisplay.d.ts +30 -0
  87. package/dist/esm/modules/appCatalog/ui/components/GroupingColumn.d.ts +11 -0
  88. package/dist/esm/modules/appCatalog/ui/components/GroupingTabs.d.ts +7 -0
  89. package/dist/esm/modules/appCatalog/ui/components/ScreenshotGallery.d.ts +10 -0
  90. package/dist/esm/modules/appCatalog/ui/components/ScreenshotGallery.js +35 -0
  91. package/dist/esm/modules/appCatalog/ui/components/ScreenshotGallery.js.map +1 -0
  92. package/dist/esm/modules/appCatalog/ui/grid/AppCatalogFiltersCard.d.ts +9 -0
  93. package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.d.ts +8 -0
  94. package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.js +325 -0
  95. package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.js.map +1 -0
  96. package/dist/esm/modules/appCatalog/ui/grid/AppCatalogTable.d.ts +5 -0
  97. package/dist/esm/modules/appCatalog/ui/grid/appCatalogUtils.d.ts +2 -0
  98. package/dist/esm/modules/appCatalog/ui/hooks/useKeyboardNavigation.d.ts +10 -0
  99. package/dist/esm/modules/appCatalog/ui/hooks/useKeyboardNavigation.js +36 -0
  100. package/dist/esm/modules/appCatalog/ui/hooks/useKeyboardNavigation.js.map +1 -0
  101. package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.d.ts +9 -0
  102. package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.js +28 -0
  103. package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.js.map +1 -0
  104. package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.d.ts +1 -0
  105. package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.js +112 -0
  106. package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.js.map +1 -0
  107. package/dist/esm/modules/approvalMethod/AccessRequestFormFields.d.ts +7 -0
  108. package/dist/esm/modules/approvalMethod/AccessRequestFormFields.js +323 -0
  109. package/dist/esm/modules/approvalMethod/AccessRequestFormFields.js.map +1 -0
  110. package/dist/esm/modules/approvalMethod/ApprovalMethodForm.d.ts +14 -0
  111. package/dist/esm/modules/approvalMethod/ApprovalMethodForm.js +227 -0
  112. package/dist/esm/modules/approvalMethod/ApprovalMethodForm.js.map +1 -0
  113. package/dist/esm/modules/approvalMethod/ApprovalMethodSelector.d.ts +7 -0
  114. package/dist/esm/modules/approvalMethod/ApprovalMethodSelector.js +124 -0
  115. package/dist/esm/modules/approvalMethod/ApprovalMethodSelector.js.map +1 -0
  116. package/dist/esm/modules/approvalMethod/api/ApiQueryMagazineApprovalMethod.d.ts +381 -0
  117. package/dist/esm/modules/approvalMethod/api/ApiQueryMagazineApprovalMethod.js +26 -0
  118. package/dist/esm/modules/approvalMethod/api/ApiQueryMagazineApprovalMethod.js.map +1 -0
  119. package/dist/esm/modules/auth/AuthContext.d.ts +38 -0
  120. package/dist/esm/modules/auth/AuthContext.js +88 -0
  121. package/dist/esm/modules/auth/AuthContext.js.map +1 -0
  122. package/dist/esm/modules/auth/AuthModalContext.d.ts +19 -0
  123. package/dist/esm/modules/auth/AuthModalContext.js +33 -0
  124. package/dist/esm/modules/auth/AuthModalContext.js.map +1 -0
  125. package/dist/esm/modules/auth/ProtectedContent.d.ts +19 -0
  126. package/dist/esm/modules/auth/authClient.d.ts +704 -0
  127. package/dist/esm/modules/auth/authClient.js +8 -0
  128. package/dist/esm/modules/auth/authClient.js.map +1 -0
  129. package/dist/esm/modules/auth/authUtils.d.ts +6 -0
  130. package/dist/esm/modules/auth/authUtils.js +25 -0
  131. package/dist/esm/modules/auth/authUtils.js.map +1 -0
  132. package/dist/esm/modules/auth/index.d.ts +5 -0
  133. package/dist/esm/modules/auth/ui/LoginModal.d.ts +6 -0
  134. package/dist/esm/modules/auth/ui/LoginModal.js +22 -0
  135. package/dist/esm/modules/auth/ui/LoginModal.js.map +1 -0
  136. package/dist/esm/modules/auth/ui/LoginPage.d.ts +5 -0
  137. package/dist/esm/modules/auth/ui/LoginPage.js +50 -0
  138. package/dist/esm/modules/auth/ui/LoginPage.js.map +1 -0
  139. package/dist/esm/modules/auth/useAuthActions.d.ts +17 -0
  140. package/dist/esm/modules/auth/useAuthActions.js +62 -0
  141. package/dist/esm/modules/auth/useAuthActions.js.map +1 -0
  142. package/dist/esm/modules/config/GlobalConfigContext.d.ts +14 -0
  143. package/dist/esm/modules/config/GlobalConfigContext.js +21 -0
  144. package/dist/esm/modules/config/GlobalConfigContext.js.map +1 -0
  145. package/dist/esm/modules/config/HealthStateContext.d.ts +16 -0
  146. package/dist/esm/modules/gallery/Gallery.d.ts +12 -0
  147. package/dist/esm/modules/gallery/Gallery.js +246 -0
  148. package/dist/esm/modules/gallery/Gallery.js.map +1 -0
  149. package/dist/esm/modules/icons/IconManagementPage.d.ts +1 -0
  150. package/dist/esm/modules/icons/IconManagementPage.js +177 -0
  151. package/dist/esm/modules/icons/IconManagementPage.js.map +1 -0
  152. package/dist/esm/modules/pluginCore/PluginManagerContext.d.ts +19 -0
  153. package/dist/esm/modules/pluginCore/PluginManagerContext.js +29 -0
  154. package/dist/esm/modules/pluginCore/PluginManagerContext.js.map +1 -0
  155. package/dist/esm/modules/pluginCore/makePluginManagerContext.d.ts +4 -0
  156. package/dist/esm/modules/pluginCore/makePluginManagerContext.js +9 -0
  157. package/dist/esm/modules/pluginCore/makePluginManagerContext.js.map +1 -0
  158. package/dist/esm/modules/pluginCore/types.d.ts +24 -0
  159. package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.2/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +60 -0
  160. package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.2/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +1 -0
  161. package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2/node_modules/@dnd-kit/core/dist/core.esm.js +3055 -0
  162. package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2/node_modules/@dnd-kit/core/dist/core.esm.js.map +1 -0
  163. package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2__react@19.1.2/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +593 -0
  164. package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2__react@19.1.2/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -0
  165. package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.2/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +302 -0
  166. package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.2/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +1 -0
  167. package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/dist/resolvers.js +34 -0
  168. package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -0
  169. package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/zod/dist/zod.js +94 -0
  170. package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -0
  171. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtools.js +72 -0
  172. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtools.js.map +1 -0
  173. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtoolsPanel.js +44 -0
  174. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtoolsPanel.js.map +1 -0
  175. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/index.js +12 -0
  176. package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/index.js.map +1 -0
  177. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js +95 -0
  178. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js.map +1 -0
  179. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/path.js +107 -0
  180. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/path.js.map +1 -0
  181. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/root.js +5 -0
  182. package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/root.js.map +1 -0
  183. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/BaseTanStackRouterDevtoolsPanel-DxaCaP75.js +1963 -0
  184. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/BaseTanStackRouterDevtoolsPanel-DxaCaP75.js.map +1 -0
  185. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/FloatingTanStackRouterDevtools-CaypUmOS.js +284 -0
  186. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/FloatingTanStackRouterDevtools-CaypUmOS.js.map +1 -0
  187. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/index-5jfj03XJ.js +1855 -0
  188. package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/index-5jfj03XJ.js.map +1 -0
  189. package/dist/esm/node_modules/.pnpm/goober@2.1.18_csstype@3.2.3/node_modules/goober/dist/goober.modern.js +56 -0
  190. package/dist/esm/node_modules/.pnpm/goober@2.1.18_csstype@3.2.3/node_modules/goober/dist/goober.modern.js.map +1 -0
  191. package/dist/esm/node_modules/.pnpm/react-hook-form@7.71.1_react@19.1.2/node_modules/react-hook-form/dist/index.esm.js +1894 -0
  192. package/dist/esm/node_modules/.pnpm/react-hook-form@7.71.1_react@19.1.2/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
  193. package/dist/esm/node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +17 -0
  194. package/dist/esm/node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
  195. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/errors.js +45 -0
  196. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/errors.js.map +1 -0
  197. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/iso.js +44 -0
  198. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/iso.js.map +1 -0
  199. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js +30 -0
  200. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js.map +1 -0
  201. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js +632 -0
  202. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js.map +1 -0
  203. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js +500 -0
  204. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js.map +1 -0
  205. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js +244 -0
  206. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js.map +1 -0
  207. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js +75 -0
  208. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js.map +1 -0
  209. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js +38 -0
  210. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js.map +1 -0
  211. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js +73 -0
  212. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js.map +1 -0
  213. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js +274 -0
  214. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
  215. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js +100 -0
  216. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js.map +1 -0
  217. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js +80 -0
  218. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js.map +1 -0
  219. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js +52 -0
  220. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js.map +1 -0
  221. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js +1247 -0
  222. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js.map +1 -0
  223. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js +363 -0
  224. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  225. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js +407 -0
  226. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js.map +1 -0
  227. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js +9 -0
  228. package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js.map +1 -0
  229. package/dist/esm/plugins/builtin/pageUrl/pageUrlTypes.d.ts +11 -0
  230. package/dist/esm/routeTree.gen.d.ts +263 -0
  231. package/dist/esm/routeTree.gen.js +117 -0
  232. package/dist/esm/routeTree.gen.js.map +1 -0
  233. package/dist/esm/routes/__root.d.ts +2 -0
  234. package/dist/esm/routes/__root.js +22 -0
  235. package/dist/esm/routes/__root.js.map +1 -0
  236. package/dist/esm/routes/_layout/catalog.apps.index.d.ts +5 -0
  237. package/dist/esm/routes/_layout/catalog.apps.index.js +25 -0
  238. package/dist/esm/routes/_layout/catalog.apps.index.js.map +1 -0
  239. package/dist/esm/routes/_layout/index.d.ts +7 -0
  240. package/dist/esm/routes/_layout/index.js +28 -0
  241. package/dist/esm/routes/_layout/index.js.map +1 -0
  242. package/dist/esm/routes/_layout/login.d.ts +1 -0
  243. package/dist/esm/routes/_layout/login.js +16 -0
  244. package/dist/esm/routes/_layout/login.js.map +1 -0
  245. package/dist/esm/routes/_layout.d.ts +1 -0
  246. package/dist/esm/routes/_layout.js +12 -0
  247. package/dist/esm/routes/_layout.js.map +1 -0
  248. package/dist/esm/routes/admin/app-for-catalog/$id.d.ts +5 -0
  249. package/dist/esm/routes/admin/app-for-catalog/_id.js +67 -0
  250. package/dist/esm/routes/admin/app-for-catalog/_id.js.map +1 -0
  251. package/dist/esm/routes/admin/app-for-catalog/_id2.js +321 -0
  252. package/dist/esm/routes/admin/app-for-catalog/_id2.js.map +1 -0
  253. package/dist/esm/routes/admin/app-for-catalog/index.d.ts +1 -0
  254. package/dist/esm/routes/admin/app-for-catalog/index.js +9 -0
  255. package/dist/esm/routes/admin/app-for-catalog/index.js.map +1 -0
  256. package/dist/esm/routes/admin/app-for-catalog/index2.js +12 -0
  257. package/dist/esm/routes/admin/app-for-catalog/index2.js.map +1 -0
  258. package/dist/esm/routes/admin/app-for-catalog.d.ts +1 -0
  259. package/dist/esm/routes/admin/app-for-catalog.js +14 -0
  260. package/dist/esm/routes/admin/app-for-catalog.js.map +1 -0
  261. package/dist/esm/routes/admin/app-for-catalog2.js +9 -0
  262. package/dist/esm/routes/admin/app-for-catalog2.js.map +1 -0
  263. package/dist/esm/routes/admin/approval-methods/index.d.ts +32 -0
  264. package/dist/esm/routes/admin/approval-methods/index.js +24 -0
  265. package/dist/esm/routes/admin/approval-methods/index.js.map +1 -0
  266. package/dist/esm/routes/admin/approval-methods/index2.js +100 -0
  267. package/dist/esm/routes/admin/approval-methods/index2.js.map +1 -0
  268. package/dist/esm/routes/admin/approval-methods.d.ts +1 -0
  269. package/dist/esm/routes/admin/approval-methods.js +14 -0
  270. package/dist/esm/routes/admin/approval-methods.js.map +1 -0
  271. package/dist/esm/routes/admin/approval-methods2.js +7 -0
  272. package/dist/esm/routes/admin/approval-methods2.js.map +1 -0
  273. package/dist/esm/routes/admin/chat.d.ts +1 -0
  274. package/dist/esm/routes/admin/chat.js +14 -0
  275. package/dist/esm/routes/admin/chat.js.map +1 -0
  276. package/dist/esm/routes/admin/chat2.js +9 -0
  277. package/dist/esm/routes/admin/chat2.js.map +1 -0
  278. package/dist/esm/routes/admin/icons.d.ts +1 -0
  279. package/dist/esm/routes/admin/icons.js +14 -0
  280. package/dist/esm/routes/admin/icons.js.map +1 -0
  281. package/dist/esm/routes/admin/icons2.js +12 -0
  282. package/dist/esm/routes/admin/icons2.js.map +1 -0
  283. package/dist/esm/routes/admin/index.d.ts +1 -0
  284. package/dist/esm/routes/admin/index.js +9 -0
  285. package/dist/esm/routes/admin/index.js.map +1 -0
  286. package/dist/esm/routes/admin/index2.js +9 -0
  287. package/dist/esm/routes/admin/index2.js.map +1 -0
  288. package/dist/esm/routes/admin.d.ts +1 -0
  289. package/dist/esm/routes/admin.js +37 -0
  290. package/dist/esm/routes/admin.js.map +1 -0
  291. package/dist/esm/routes/admin2.js +18 -0
  292. package/dist/esm/routes/admin2.js.map +1 -0
  293. package/dist/esm/routes/auth.callback.d.ts +4 -0
  294. package/dist/esm/routes/auth.callback.js +56 -0
  295. package/dist/esm/routes/auth.callback.js.map +1 -0
  296. package/dist/esm/types/slateTypes.d.ts +28 -0
  297. package/dist/esm/types/table.d.ts +7 -0
  298. package/dist/esm/types/tanstackQuery.d.ts +13 -0
  299. package/dist/esm/types/types.d.ts +25 -0
  300. package/dist/esm/types/userBehaviourTypes.d.ts +76 -0
  301. package/dist/esm/types/utilityTypes.d.ts +1 -0
  302. package/dist/esm/ui/accordion.d.ts +7 -0
  303. package/dist/esm/ui/accordion.js +65 -0
  304. package/dist/esm/ui/accordion.js.map +1 -0
  305. package/dist/esm/ui/alert-dialog.d.ts +14 -0
  306. package/dist/esm/ui/alert-dialog.js +141 -0
  307. package/dist/esm/ui/alert-dialog.js.map +1 -0
  308. package/dist/esm/ui/autocomplete.d.ts +29 -0
  309. package/dist/esm/ui/badge.d.ts +9 -0
  310. package/dist/esm/ui/badge.js +27 -0
  311. package/dist/esm/ui/badge.js.map +1 -0
  312. package/dist/esm/ui/breadcrumb.d.ts +11 -0
  313. package/dist/esm/ui/breadcrumb.js +84 -0
  314. package/dist/esm/ui/breadcrumb.js.map +1 -0
  315. package/dist/esm/ui/button-group.d.ts +11 -0
  316. package/dist/esm/ui/button.d.ts +13 -0
  317. package/dist/esm/ui/button.js +53 -0
  318. package/dist/esm/ui/button.js.map +1 -0
  319. package/dist/esm/ui/card.d.ts +9 -0
  320. package/dist/esm/ui/card.js +66 -0
  321. package/dist/esm/ui/card.js.map +1 -0
  322. package/dist/esm/ui/checkbox.d.ts +4 -0
  323. package/dist/esm/ui/collapsible.d.ts +5 -0
  324. package/dist/esm/ui/command.d.ts +20 -0
  325. package/dist/esm/ui/command.js +131 -0
  326. package/dist/esm/ui/command.js.map +1 -0
  327. package/dist/esm/ui/components/ActionCard.d.ts +9 -0
  328. package/dist/esm/ui/components/AppIcon.d.ts +7 -0
  329. package/dist/esm/ui/components/Breadcrumbs.d.ts +19 -0
  330. package/dist/esm/ui/components/Breadcrumbs.js +36 -0
  331. package/dist/esm/ui/components/Breadcrumbs.js.map +1 -0
  332. package/dist/esm/ui/components/commandInput/EhBaseSelector.d.ts +2 -0
  333. package/dist/esm/ui/components/commandInput/types.d.ts +13 -0
  334. package/dist/esm/ui/components/error/BaseErrorPage.d.ts +10 -0
  335. package/dist/esm/ui/components/error/BaseErrorPage.js +16 -0
  336. package/dist/esm/ui/components/error/BaseErrorPage.js.map +1 -0
  337. package/dist/esm/ui/components/error/DefaultErrorComponent.d.ts +3 -0
  338. package/dist/esm/ui/components/error/DefaultErrorComponent.js +73 -0
  339. package/dist/esm/ui/components/error/DefaultErrorComponent.js.map +1 -0
  340. package/dist/esm/ui/components/error/ForbiddenErrorPage.d.ts +5 -0
  341. package/dist/esm/ui/components/error/ForbiddenErrorPage.js +54 -0
  342. package/dist/esm/ui/components/error/ForbiddenErrorPage.js.map +1 -0
  343. package/dist/esm/ui/components/error/RootErrorPage.d.ts +5 -0
  344. package/dist/esm/ui/components/error/RootErrorPage.js +15 -0
  345. package/dist/esm/ui/components/error/RootErrorPage.js.map +1 -0
  346. package/dist/esm/ui/components/footer/Footer.d.ts +1 -0
  347. package/dist/esm/ui/components/header/Header.d.ts +5 -0
  348. package/dist/esm/ui/components/header/Header.js +103 -0
  349. package/dist/esm/ui/components/header/Header.js.map +1 -0
  350. package/dist/esm/ui/components/widgetPanel/AddWidgetCard.d.ts +5 -0
  351. package/dist/esm/ui/components/widgetPanel/WidgetGrid.d.ts +6 -0
  352. package/dist/esm/ui/components/widgets/CredentialsWidget.d.ts +11 -0
  353. package/dist/esm/ui/components/widgets/VersionWidget.d.ts +7 -0
  354. package/dist/esm/ui/crud-list/CrudList.d.ts +2 -0
  355. package/dist/esm/ui/crud-list/CrudList.js +189 -0
  356. package/dist/esm/ui/crud-list/CrudList.js.map +1 -0
  357. package/dist/esm/ui/crud-list/index.d.ts +2 -0
  358. package/dist/esm/ui/crud-list/types.d.ts +35 -0
  359. package/dist/esm/ui/dialog.d.ts +15 -0
  360. package/dist/esm/ui/dialog.js +111 -0
  361. package/dist/esm/ui/dialog.js.map +1 -0
  362. package/dist/esm/ui/dropdown-menu.d.ts +25 -0
  363. package/dist/esm/ui/dropdown-menu.js +79 -0
  364. package/dist/esm/ui/dropdown-menu.js.map +1 -0
  365. package/dist/esm/ui/editable-list/EditableListField.d.ts +2 -0
  366. package/dist/esm/ui/editable-list/EditableListField.js +130 -0
  367. package/dist/esm/ui/editable-list/EditableListField.js.map +1 -0
  368. package/dist/esm/ui/editable-list/index.d.ts +2 -0
  369. package/dist/esm/ui/editable-list/types.d.ts +17 -0
  370. package/dist/esm/ui/empty.d.ts +11 -0
  371. package/dist/esm/ui/empty.js +103 -0
  372. package/dist/esm/ui/empty.js.map +1 -0
  373. package/dist/esm/ui/error/NotFoundError.d.ts +1 -0
  374. package/dist/esm/ui/error/NotFoundError.js +17 -0
  375. package/dist/esm/ui/error/NotFoundError.js.map +1 -0
  376. package/dist/esm/ui/form.d.ts +56 -0
  377. package/dist/esm/ui/form.js +134 -0
  378. package/dist/esm/ui/form.js.map +1 -0
  379. package/dist/esm/ui/input-group.d.ts +16 -0
  380. package/dist/esm/ui/input.d.ts +3 -0
  381. package/dist/esm/ui/input.js +22 -0
  382. package/dist/esm/ui/input.js.map +1 -0
  383. package/dist/esm/ui/item.d.ts +23 -0
  384. package/dist/esm/ui/label.d.ts +4 -0
  385. package/dist/esm/ui/label.js +23 -0
  386. package/dist/esm/ui/label.js.map +1 -0
  387. package/dist/esm/ui/layout/Footer.d.ts +1 -0
  388. package/dist/esm/ui/layout/LoadingScreen.d.ts +6 -0
  389. package/dist/esm/ui/layout/LoadingScreen.js +54 -0
  390. package/dist/esm/ui/layout/LoadingScreen.js.map +1 -0
  391. package/dist/esm/ui/layout/MainLayout.d.ts +7 -0
  392. package/dist/esm/ui/layout/MainLayout.js +17 -0
  393. package/dist/esm/ui/layout/MainLayout.js.map +1 -0
  394. package/dist/esm/ui/layout/SideColumn.d.ts +1 -0
  395. package/dist/esm/ui/layout/TopLevelProviders.d.ts +10 -0
  396. package/dist/esm/ui/layout/TopLevelProviders.js +46 -0
  397. package/dist/esm/ui/layout/TopLevelProviders.js.map +1 -0
  398. package/dist/esm/ui/layout/TopLevelProvidersForErrors.d.ts +10 -0
  399. package/dist/esm/ui/layout/TopLevelProvidersForErrors.js +24 -0
  400. package/dist/esm/ui/layout/TopLevelProvidersForErrors.js.map +1 -0
  401. package/dist/esm/ui/link.d.ts +13 -0
  402. package/dist/esm/ui/link.js +28 -0
  403. package/dist/esm/ui/link.js.map +1 -0
  404. package/dist/esm/ui/linkExternal.d.ts +8 -0
  405. package/dist/esm/ui/linkExternal.js +26 -0
  406. package/dist/esm/ui/linkExternal.js.map +1 -0
  407. package/dist/esm/ui/main/JumpTabContent.d.ts +1 -0
  408. package/dist/esm/ui/main/Tabs.d.ts +4 -0
  409. package/dist/esm/ui/markdown-editor/MarkdownEditor.d.ts +9 -0
  410. package/dist/esm/ui/markdown-editor/MarkdownEditor.js +116 -0
  411. package/dist/esm/ui/markdown-editor/MarkdownEditor.js.map +1 -0
  412. package/dist/esm/ui/markdown-editor/MarkdownToolbar.d.ts +6 -0
  413. package/dist/esm/ui/markdown-editor/MarkdownToolbar.js +99 -0
  414. package/dist/esm/ui/markdown-editor/MarkdownToolbar.js.map +1 -0
  415. package/dist/esm/ui/markdown-editor/index.d.ts +2 -0
  416. package/dist/esm/ui/popover.d.ts +7 -0
  417. package/dist/esm/ui/popover.js +40 -0
  418. package/dist/esm/ui/popover.js.map +1 -0
  419. package/dist/esm/ui/radio-group.d.ts +5 -0
  420. package/dist/esm/ui/resizable.d.ts +7 -0
  421. package/dist/esm/ui/resizable.js +47 -0
  422. package/dist/esm/ui/resizable.js.map +1 -0
  423. package/dist/esm/ui/scroll-area.d.ts +5 -0
  424. package/dist/esm/ui/scroll-area.js +62 -0
  425. package/dist/esm/ui/scroll-area.js.map +1 -0
  426. package/dist/esm/ui/search-input-with-shortcut.d.ts +25 -0
  427. package/dist/esm/ui/select.d.ts +15 -0
  428. package/dist/esm/ui/select.js +138 -0
  429. package/dist/esm/ui/select.js.map +1 -0
  430. package/dist/esm/ui/separator.d.ts +4 -0
  431. package/dist/esm/ui/shortcut-button.d.ts +24 -0
  432. package/dist/esm/ui/skeleton.d.ts +2 -0
  433. package/dist/esm/ui/skeleton.js +16 -0
  434. package/dist/esm/ui/skeleton.js.map +1 -0
  435. package/dist/esm/ui/spinner.d.ts +2 -0
  436. package/dist/esm/ui/spinner.js +18 -0
  437. package/dist/esm/ui/spinner.js.map +1 -0
  438. package/dist/esm/ui/table.d.ts +10 -0
  439. package/dist/esm/ui/table.js +87 -0
  440. package/dist/esm/ui/table.js.map +1 -0
  441. package/dist/esm/ui/tabs.d.ts +7 -0
  442. package/dist/esm/ui/textarea.d.ts +3 -0
  443. package/dist/esm/ui/textarea.js +19 -0
  444. package/dist/esm/ui/textarea.js.map +1 -0
  445. package/dist/esm/ui/tooltip.d.ts +7 -0
  446. package/dist/esm/userDb/AcDb.d.ts +14 -0
  447. package/dist/esm/userDb/AcDb.js +28 -0
  448. package/dist/esm/userDb/AcDb.js.map +1 -0
  449. package/dist/esm/userDb/DbContext.d.ts +9 -0
  450. package/dist/esm/userDb/DbContext.js +18 -0
  451. package/dist/esm/userDb/DbContext.js.map +1 -0
  452. package/dist/esm/util/createEhRouter.d.ts +7 -0
  453. package/dist/esm/util/createEhRouter.js +19 -0
  454. package/dist/esm/util/createEhRouter.js.map +1 -0
  455. package/dist/esm/util/error-utils.d.ts +6 -0
  456. package/dist/esm/util/error-utils.js +28 -0
  457. package/dist/esm/util/error-utils.js.map +1 -0
  458. package/dist/esm/util/highlightMatches.d.ts +2 -0
  459. package/dist/esm/util/reactQueryUtils.d.ts +10 -0
  460. package/dist/esm/util/reactQueryUtils.js +17 -0
  461. package/dist/esm/util/reactQueryUtils.js.map +1 -0
  462. package/dist/esm/util/slug-utils.d.ts +12 -0
  463. package/dist/index.css +225 -0
  464. package/dist/public/app-catalog-16x16.png +0 -0
  465. package/dist/public/app-catalog-192x192.png +0 -0
  466. package/dist/public/app-catalog-32x32.png +0 -0
  467. package/dist/public/app-catalog-48x48.png +0 -0
  468. package/dist/public/app-catalog-512x512.png +0 -0
  469. package/dist/public/app-catalog-square.svg +160 -0
  470. package/dist/public/app-catalog.png +0 -0
  471. package/dist/public/app-catalog.svg +198 -0
  472. package/dist/public/apple-touch-180x180.png +0 -0
  473. package/dist/public/favicon-app-catalog.ico +0 -0
  474. package/dist/public/favicon.ico +0 -0
  475. package/dist/public/robots.txt +2 -0
  476. package/package.json +159 -0
  477. package/public/app-catalog-16x16.png +0 -0
  478. package/public/app-catalog-192x192.png +0 -0
  479. package/public/app-catalog-32x32.png +0 -0
  480. package/public/app-catalog-48x48.png +0 -0
  481. package/public/app-catalog-512x512.png +0 -0
  482. package/public/app-catalog-square.svg +160 -0
  483. package/public/app-catalog.png +0 -0
  484. package/public/app-catalog.svg +198 -0
  485. package/public/apple-touch-180x180.png +0 -0
  486. package/public/favicon-app-catalog.ico +0 -0
  487. package/public/favicon.ico +0 -0
  488. package/public/robots.txt +2 -0
  489. package/src/App.tsx +28 -0
  490. package/src/__tests__/setupTests.tsx +0 -0
  491. package/src/api/infra/createQueryClient.ts +29 -0
  492. package/src/api/infra/trpc.ts +6 -0
  493. package/src/api/unsorted/appCatalogFetcher.ts +32 -0
  494. package/src/api/unsorted/createCachingFetcher.ts +159 -0
  495. package/src/appPropsFactory.ts +37 -0
  496. package/src/assets/app-catalog.svg +198 -0
  497. package/src/components/IconPickerDialog.tsx +136 -0
  498. package/src/components/IconPickerField.tsx +88 -0
  499. package/src/components/ThemeSwitcher.tsx +22 -0
  500. package/src/components/theme-provider.tsx +8 -0
  501. package/src/errors/AuthorizationError.ts +32 -0
  502. package/src/errors/index.ts +1 -0
  503. package/src/index.css +225 -0
  504. package/src/index.tsx +3 -0
  505. package/src/lib/utils.ts +7 -0
  506. package/src/main.tsx +57 -0
  507. package/src/modules/admin-base/components/AdminChat.tsx +122 -0
  508. package/src/modules/admin-base/components/AdminLayout.tsx +111 -0
  509. package/src/modules/admin-base/components/AdminWelcome.tsx +52 -0
  510. package/src/modules/admin-base/context/AdminConfigContext.tsx +36 -0
  511. package/src/modules/admin-base/index.ts +16 -0
  512. package/src/modules/admin-base/types/adminTypes.ts +11 -0
  513. package/src/modules/appCatalog/AppCatalogAdminPage.tsx +274 -0
  514. package/src/modules/appCatalog/ScreenshotItem.tsx +59 -0
  515. package/src/modules/appCatalog/ScreenshotManager.tsx +193 -0
  516. package/src/modules/appCatalog/api/ApiQueryMagazineAppCatalog.ts +12 -0
  517. package/src/modules/appCatalog/catalogRouteLoader.ts +28 -0
  518. package/src/modules/appCatalog/context/AppCatalogContext.tsx +52 -0
  519. package/src/modules/appCatalog/index.ts +16 -0
  520. package/src/modules/appCatalog/routeLoader.ts +9 -0
  521. package/src/modules/appCatalog/ui/components/AccessRequestSection.tsx +370 -0
  522. package/src/modules/appCatalog/ui/components/AppDetailModal.tsx +355 -0
  523. package/src/modules/appCatalog/ui/components/ApproverDisplay.tsx +260 -0
  524. package/src/modules/appCatalog/ui/components/GroupingColumn.tsx +65 -0
  525. package/src/modules/appCatalog/ui/components/GroupingTabs.tsx +41 -0
  526. package/src/modules/appCatalog/ui/components/ScreenshotGallery.tsx +51 -0
  527. package/src/modules/appCatalog/ui/grid/AppCatalogFiltersCard.tsx +79 -0
  528. package/src/modules/appCatalog/ui/grid/AppCatalogGrid.tsx +487 -0
  529. package/src/modules/appCatalog/ui/grid/AppCatalogTable.tsx +89 -0
  530. package/src/modules/appCatalog/ui/grid/appCatalogUtils.ts +5 -0
  531. package/src/modules/appCatalog/ui/hooks/useKeyboardNavigation.ts +54 -0
  532. package/src/modules/appCatalog/ui/layout/AppCatalogLayout.tsx +57 -0
  533. package/src/modules/appCatalog/ui/pages/AppCatalogPage.tsx +142 -0
  534. package/src/modules/approvalMethod/AccessRequestFormFields.tsx +393 -0
  535. package/src/modules/approvalMethod/ApprovalMethodForm.tsx +323 -0
  536. package/src/modules/approvalMethod/ApprovalMethodSelector.tsx +150 -0
  537. package/src/modules/approvalMethod/api/ApiQueryMagazineApprovalMethod.ts +34 -0
  538. package/src/modules/auth/AuthContext.tsx +130 -0
  539. package/src/modules/auth/AuthModalContext.tsx +49 -0
  540. package/src/modules/auth/ProtectedContent.tsx +55 -0
  541. package/src/modules/auth/authClient.ts +9 -0
  542. package/src/modules/auth/authUtils.ts +41 -0
  543. package/src/modules/auth/index.ts +6 -0
  544. package/src/modules/auth/ui/LoginModal.tsx +36 -0
  545. package/src/modules/auth/ui/LoginPage.tsx +62 -0
  546. package/src/modules/auth/useAuthActions.ts +85 -0
  547. package/src/modules/config/GlobalConfigContext.tsx +42 -0
  548. package/src/modules/config/HealthStateContext.tsx +47 -0
  549. package/src/modules/gallery/Gallery.tsx +317 -0
  550. package/src/modules/icons/IconManagementPage.tsx +245 -0
  551. package/src/modules/pluginCore/PluginManagerContext.tsx +78 -0
  552. package/src/modules/pluginCore/makePluginManagerContext.ts +13 -0
  553. package/src/modules/pluginCore/types.ts +27 -0
  554. package/src/plugins/builtin/pageUrl/pageUrlTypes.ts +16 -0
  555. package/src/routeTree.gen.ts +361 -0
  556. package/src/routes/__root.tsx +23 -0
  557. package/src/routes/_layout/catalog.apps.index.tsx +28 -0
  558. package/src/routes/_layout/index.tsx +31 -0
  559. package/src/routes/_layout/login.tsx +20 -0
  560. package/src/routes/_layout.tsx +9 -0
  561. package/src/routes/admin/app-for-catalog/$id.tsx +571 -0
  562. package/src/routes/admin/app-for-catalog/index.tsx +19 -0
  563. package/src/routes/admin/app-for-catalog.tsx +12 -0
  564. package/src/routes/admin/approval-methods/index.tsx +161 -0
  565. package/src/routes/admin/approval-methods.tsx +10 -0
  566. package/src/routes/admin/chat.tsx +13 -0
  567. package/src/routes/admin/icons.tsx +22 -0
  568. package/src/routes/admin/index.tsx +9 -0
  569. package/src/routes/admin.tsx +60 -0
  570. package/src/routes/auth.callback.tsx +74 -0
  571. package/src/types/slateTypes.ts +22 -0
  572. package/src/types/table.ts +9 -0
  573. package/src/types/tanstackQuery.ts +16 -0
  574. package/src/types/types.ts +30 -0
  575. package/src/types/userBehaviourTypes.ts +100 -0
  576. package/src/types/utilityTypes.ts +1 -0
  577. package/src/types/vite-env.d.ts +2 -0
  578. package/src/ui/accordion.tsx +64 -0
  579. package/src/ui/alert-dialog.tsx +155 -0
  580. package/src/ui/autocomplete.tsx +272 -0
  581. package/src/ui/badge.tsx +38 -0
  582. package/src/ui/breadcrumb.tsx +106 -0
  583. package/src/ui/button-group.tsx +85 -0
  584. package/src/ui/button.tsx +66 -0
  585. package/src/ui/card.tsx +92 -0
  586. package/src/ui/checkbox.tsx +30 -0
  587. package/src/ui/collapsible.tsx +45 -0
  588. package/src/ui/command.tsx +196 -0
  589. package/src/ui/components/ActionCard.tsx +30 -0
  590. package/src/ui/components/AppIcon.tsx +48 -0
  591. package/src/ui/components/Breadcrumbs.tsx +97 -0
  592. package/src/ui/components/commandInput/EhBaseSelector.tsx +17 -0
  593. package/src/ui/components/commandInput/types.ts +22 -0
  594. package/src/ui/components/error/BaseErrorPage.tsx +26 -0
  595. package/src/ui/components/error/DefaultErrorComponent.tsx +107 -0
  596. package/src/ui/components/error/ForbiddenErrorPage.tsx +89 -0
  597. package/src/ui/components/error/RootErrorPage.tsx +23 -0
  598. package/src/ui/components/footer/Footer.tsx +51 -0
  599. package/src/ui/components/header/Header.tsx +135 -0
  600. package/src/ui/components/widgetPanel/AddWidgetCard.tsx +17 -0
  601. package/src/ui/components/widgetPanel/WidgetGrid.tsx +18 -0
  602. package/src/ui/components/widgets/CredentialsWidget.tsx +55 -0
  603. package/src/ui/components/widgets/VersionWidget.tsx +29 -0
  604. package/src/ui/crud-list/CrudList.tsx +274 -0
  605. package/src/ui/crud-list/index.ts +2 -0
  606. package/src/ui/crud-list/types.ts +44 -0
  607. package/src/ui/dialog.tsx +141 -0
  608. package/src/ui/dropdown-menu.tsx +255 -0
  609. package/src/ui/editable-list/EditableListField.tsx +188 -0
  610. package/src/ui/editable-list/index.ts +2 -0
  611. package/src/ui/editable-list/types.ts +18 -0
  612. package/src/ui/empty.tsx +105 -0
  613. package/src/ui/error/NotFoundError.tsx +16 -0
  614. package/src/ui/form.tsx +188 -0
  615. package/src/ui/input-group.tsx +167 -0
  616. package/src/ui/input.tsx +21 -0
  617. package/src/ui/item.tsx +194 -0
  618. package/src/ui/label.tsx +22 -0
  619. package/src/ui/layout/Footer.tsx +16 -0
  620. package/src/ui/layout/LoadingScreen.tsx +67 -0
  621. package/src/ui/layout/MainLayout.tsx +28 -0
  622. package/src/ui/layout/SideColumn.tsx +3 -0
  623. package/src/ui/layout/TopLevelProviders.tsx +63 -0
  624. package/src/ui/layout/TopLevelProvidersForErrors.tsx +34 -0
  625. package/src/ui/link.tsx +33 -0
  626. package/src/ui/linkExternal.tsx +26 -0
  627. package/src/ui/main/JumpTabContent.tsx +12 -0
  628. package/src/ui/main/Tabs.tsx +29 -0
  629. package/src/ui/markdown-editor/MarkdownEditor.tsx +132 -0
  630. package/src/ui/markdown-editor/MarkdownToolbar.tsx +90 -0
  631. package/src/ui/markdown-editor/index.ts +2 -0
  632. package/src/ui/popover.tsx +48 -0
  633. package/src/ui/radio-group.tsx +43 -0
  634. package/src/ui/resizable.tsx +51 -0
  635. package/src/ui/scroll-area.tsx +58 -0
  636. package/src/ui/search-input-with-shortcut.tsx +54 -0
  637. package/src/ui/select.tsx +185 -0
  638. package/src/ui/separator.tsx +26 -0
  639. package/src/ui/shortcut-button.tsx +84 -0
  640. package/src/ui/skeleton.tsx +13 -0
  641. package/src/ui/spinner.tsx +16 -0
  642. package/src/ui/table.tsx +114 -0
  643. package/src/ui/tabs.tsx +64 -0
  644. package/src/ui/textarea.tsx +18 -0
  645. package/src/ui/tooltip.tsx +60 -0
  646. package/src/userDb/AcDb.ts +29 -0
  647. package/src/userDb/DbContext.tsx +22 -0
  648. package/src/util/createEhRouter.tsx +22 -0
  649. package/src/util/error-utils.ts +31 -0
  650. package/src/util/highlightMatches.tsx +29 -0
  651. package/src/util/reactQueryUtils.ts +20 -0
  652. package/src/util/slug-utils.ts +17 -0
@@ -0,0 +1,78 @@
1
+ import { objectify } from 'radashi'
2
+ import { createContext, use, useMemo } from 'react'
3
+ import type { ReactNode } from 'react'
4
+ import type { PartialRecord } from '~/types/utilityTypes'
5
+ import type { PluginInterfaceForCore } from './makePluginManagerContext'
6
+ import type { EhPlugin, PluginName } from './types'
7
+
8
+ export interface PluginManagerContextIface {
9
+ plugins: Array<EhPlugin>
10
+ interfaceForPlugins: PartialRecord<
11
+ PluginName,
12
+ PluginManagerInterfaceForPlugins
13
+ >
14
+ }
15
+
16
+ export interface PluginManagerInterfaceForPlugins {
17
+ // Future plugin interface methods can be added here
18
+ }
19
+
20
+ const PluginManagerContext = createContext<
21
+ PluginManagerContextIface | undefined
22
+ >(undefined)
23
+
24
+ interface PluginManagerProviderProps {
25
+ children: ReactNode
26
+ plugins: Array<EhPlugin>
27
+ pluginInterfaceForCore: PluginInterfaceForCore
28
+ }
29
+
30
+ export function PluginManagerContextProvider({
31
+ children,
32
+ plugins,
33
+ }: PluginManagerProviderProps) {
34
+ const interfaceForPlugins = useMemo(() => {
35
+ return objectify(
36
+ plugins.map((p) => p.name),
37
+ (pluginName) => pluginName,
38
+ () => ({
39
+ // Future plugin interface methods can be added here
40
+ }),
41
+ )
42
+ }, [plugins])
43
+
44
+ const value: PluginManagerContextIface = useMemo(() => {
45
+ return {
46
+ plugins,
47
+ interfaceForPlugins,
48
+ }
49
+ }, [plugins, interfaceForPlugins])
50
+
51
+ return <PluginManagerContext value={value}>{children}</PluginManagerContext>
52
+ }
53
+
54
+ export function usePluginManager(): PluginManagerContextIface {
55
+ const context = use(PluginManagerContext)
56
+ if (context === undefined) {
57
+ throw new Error(
58
+ 'usePluginManager must be used within an PluginManagerContextProvider',
59
+ )
60
+ }
61
+ return context
62
+ }
63
+
64
+ export function usePluginManagerForPlugin(
65
+ pluginName: PluginName,
66
+ ): PluginManagerInterfaceForPlugins {
67
+ const context = usePluginManager()
68
+
69
+ const interfaceForPlugins = context.interfaceForPlugins[pluginName]
70
+
71
+ if (interfaceForPlugins === undefined) {
72
+ throw new Error(
73
+ `usePluginManagerForPlugin("${pluginName}") is not initialized.`,
74
+ )
75
+ }
76
+
77
+ return interfaceForPlugins
78
+ }
@@ -0,0 +1,13 @@
1
+ import type { EhPlugin } from './types'
2
+
3
+ export interface PluginInterfaceForCore {
4
+ // Future plugin interface methods can be added here
5
+ }
6
+
7
+ export function makePluginInterfaceForCore(
8
+ _plugins: Array<EhPlugin>,
9
+ ): PluginInterfaceForCore {
10
+ return {
11
+ // Future plugin interface methods can be added here
12
+ }
13
+ }
@@ -0,0 +1,27 @@
1
+ export interface PluginAsyncData<T> {
2
+ pluginName: string
3
+ data: T
4
+ isLoaded: boolean
5
+ }
6
+
7
+ export interface EhPlugin {
8
+ name: PluginName
9
+ }
10
+ export interface BaseAppAutoCompletableParent {
11
+ type: string
12
+ displayName: string
13
+ hasSingleChild: boolean
14
+ }
15
+ export interface BaseAutoCompletableItem {
16
+ type: string
17
+ slug: string
18
+ parent?: BaseAppAutoCompletableParent
19
+ }
20
+
21
+ export interface BaseAutoCompleteItemRender {
22
+ displayName: string
23
+ parentDisplayName?: string
24
+ isDefaultGroupItem?: boolean
25
+ }
26
+
27
+ export type PluginName = string
@@ -0,0 +1,16 @@
1
+ import type {
2
+ BaseAppAutoCompletableParent,
3
+ BaseAutoCompletableItem,
4
+ } from '~/modules/pluginCore/types'
5
+
6
+ export interface PluginPageUrlAutoCompletableParent extends BaseAppAutoCompletableParent {
7
+ type: 'pageUrlParent'
8
+ displayName: string
9
+ aliases?: Array<string>
10
+ }
11
+
12
+ export interface PluginPageUrlAutocompleteItem extends BaseAutoCompletableItem {
13
+ type: 'pageUrl'
14
+ displayName: string
15
+ parent?: PluginPageUrlAutoCompletableParent
16
+ }
@@ -0,0 +1,361 @@
1
+ /* eslint-disable */
2
+
3
+ // @ts-nocheck
4
+
5
+ // noinspection JSUnusedGlobalSymbols
6
+
7
+ // This file was automatically generated by TanStack Router.
8
+ // You should NOT make any changes in this file as it will be overwritten.
9
+ // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
10
+
11
+ import { Route as rootRouteImport } from './routes/__root'
12
+ import { Route as AdminRouteImport } from './routes/admin'
13
+ import { Route as LayoutRouteImport } from './routes/_layout'
14
+ import { Route as AdminIndexRouteImport } from './routes/admin/index'
15
+ import { Route as LayoutIndexRouteImport } from './routes/_layout/index'
16
+ import { Route as AuthCallbackRouteImport } from './routes/auth.callback'
17
+ import { Route as AdminIconsRouteImport } from './routes/admin/icons'
18
+ import { Route as AdminChatRouteImport } from './routes/admin/chat'
19
+ import { Route as AdminApprovalMethodsRouteImport } from './routes/admin/approval-methods'
20
+ import { Route as AdminAppForCatalogRouteImport } from './routes/admin/app-for-catalog'
21
+ import { Route as LayoutLoginRouteImport } from './routes/_layout/login'
22
+ import { Route as AdminApprovalMethodsIndexRouteImport } from './routes/admin/approval-methods/index'
23
+ import { Route as AdminAppForCatalogIndexRouteImport } from './routes/admin/app-for-catalog/index'
24
+ import { Route as AdminAppForCatalogIdRouteImport } from './routes/admin/app-for-catalog/$id'
25
+ import { Route as LayoutCatalogAppsIndexRouteImport } from './routes/_layout/catalog.apps.index'
26
+
27
+ const AdminRoute = AdminRouteImport.update({
28
+ id: '/admin',
29
+ path: '/admin',
30
+ getParentRoute: () => rootRouteImport,
31
+ } as any)
32
+ const LayoutRoute = LayoutRouteImport.update({
33
+ id: '/_layout',
34
+ getParentRoute: () => rootRouteImport,
35
+ } as any)
36
+ const AdminIndexRoute = AdminIndexRouteImport.update({
37
+ id: '/',
38
+ path: '/',
39
+ getParentRoute: () => AdminRoute,
40
+ } as any)
41
+ const LayoutIndexRoute = LayoutIndexRouteImport.update({
42
+ id: '/',
43
+ path: '/',
44
+ getParentRoute: () => LayoutRoute,
45
+ } as any)
46
+ const AuthCallbackRoute = AuthCallbackRouteImport.update({
47
+ id: '/auth/callback',
48
+ path: '/auth/callback',
49
+ getParentRoute: () => rootRouteImport,
50
+ } as any)
51
+ const AdminIconsRoute = AdminIconsRouteImport.update({
52
+ id: '/icons',
53
+ path: '/icons',
54
+ getParentRoute: () => AdminRoute,
55
+ } as any)
56
+ const AdminChatRoute = AdminChatRouteImport.update({
57
+ id: '/chat',
58
+ path: '/chat',
59
+ getParentRoute: () => AdminRoute,
60
+ } as any)
61
+ const AdminApprovalMethodsRoute = AdminApprovalMethodsRouteImport.update({
62
+ id: '/approval-methods',
63
+ path: '/approval-methods',
64
+ getParentRoute: () => AdminRoute,
65
+ } as any)
66
+ const AdminAppForCatalogRoute = AdminAppForCatalogRouteImport.update({
67
+ id: '/app-for-catalog',
68
+ path: '/app-for-catalog',
69
+ getParentRoute: () => AdminRoute,
70
+ } as any)
71
+ const LayoutLoginRoute = LayoutLoginRouteImport.update({
72
+ id: '/login',
73
+ path: '/login',
74
+ getParentRoute: () => LayoutRoute,
75
+ } as any)
76
+ const AdminApprovalMethodsIndexRoute =
77
+ AdminApprovalMethodsIndexRouteImport.update({
78
+ id: '/',
79
+ path: '/',
80
+ getParentRoute: () => AdminApprovalMethodsRoute,
81
+ } as any)
82
+ const AdminAppForCatalogIndexRoute = AdminAppForCatalogIndexRouteImport.update({
83
+ id: '/',
84
+ path: '/',
85
+ getParentRoute: () => AdminAppForCatalogRoute,
86
+ } as any)
87
+ const AdminAppForCatalogIdRoute = AdminAppForCatalogIdRouteImport.update({
88
+ id: '/$id',
89
+ path: '/$id',
90
+ getParentRoute: () => AdminAppForCatalogRoute,
91
+ } as any)
92
+ const LayoutCatalogAppsIndexRoute = LayoutCatalogAppsIndexRouteImport.update({
93
+ id: '/catalog/apps/',
94
+ path: '/catalog/apps/',
95
+ getParentRoute: () => LayoutRoute,
96
+ } as any)
97
+
98
+ export interface FileRoutesByFullPath {
99
+ '/': typeof LayoutIndexRoute
100
+ '/admin': typeof AdminRouteWithChildren
101
+ '/login': typeof LayoutLoginRoute
102
+ '/admin/app-for-catalog': typeof AdminAppForCatalogRouteWithChildren
103
+ '/admin/approval-methods': typeof AdminApprovalMethodsRouteWithChildren
104
+ '/admin/chat': typeof AdminChatRoute
105
+ '/admin/icons': typeof AdminIconsRoute
106
+ '/auth/callback': typeof AuthCallbackRoute
107
+ '/admin/': typeof AdminIndexRoute
108
+ '/admin/app-for-catalog/$id': typeof AdminAppForCatalogIdRoute
109
+ '/admin/app-for-catalog/': typeof AdminAppForCatalogIndexRoute
110
+ '/admin/approval-methods/': typeof AdminApprovalMethodsIndexRoute
111
+ '/catalog/apps/': typeof LayoutCatalogAppsIndexRoute
112
+ }
113
+ export interface FileRoutesByTo {
114
+ '/login': typeof LayoutLoginRoute
115
+ '/admin/chat': typeof AdminChatRoute
116
+ '/admin/icons': typeof AdminIconsRoute
117
+ '/auth/callback': typeof AuthCallbackRoute
118
+ '/': typeof LayoutIndexRoute
119
+ '/admin': typeof AdminIndexRoute
120
+ '/admin/app-for-catalog/$id': typeof AdminAppForCatalogIdRoute
121
+ '/admin/app-for-catalog': typeof AdminAppForCatalogIndexRoute
122
+ '/admin/approval-methods': typeof AdminApprovalMethodsIndexRoute
123
+ '/catalog/apps': typeof LayoutCatalogAppsIndexRoute
124
+ }
125
+ export interface FileRoutesById {
126
+ __root__: typeof rootRouteImport
127
+ '/_layout': typeof LayoutRouteWithChildren
128
+ '/admin': typeof AdminRouteWithChildren
129
+ '/_layout/login': typeof LayoutLoginRoute
130
+ '/admin/app-for-catalog': typeof AdminAppForCatalogRouteWithChildren
131
+ '/admin/approval-methods': typeof AdminApprovalMethodsRouteWithChildren
132
+ '/admin/chat': typeof AdminChatRoute
133
+ '/admin/icons': typeof AdminIconsRoute
134
+ '/auth/callback': typeof AuthCallbackRoute
135
+ '/_layout/': typeof LayoutIndexRoute
136
+ '/admin/': typeof AdminIndexRoute
137
+ '/admin/app-for-catalog/$id': typeof AdminAppForCatalogIdRoute
138
+ '/admin/app-for-catalog/': typeof AdminAppForCatalogIndexRoute
139
+ '/admin/approval-methods/': typeof AdminApprovalMethodsIndexRoute
140
+ '/_layout/catalog/apps/': typeof LayoutCatalogAppsIndexRoute
141
+ }
142
+ export interface FileRouteTypes {
143
+ fileRoutesByFullPath: FileRoutesByFullPath
144
+ fullPaths:
145
+ | '/'
146
+ | '/admin'
147
+ | '/login'
148
+ | '/admin/app-for-catalog'
149
+ | '/admin/approval-methods'
150
+ | '/admin/chat'
151
+ | '/admin/icons'
152
+ | '/auth/callback'
153
+ | '/admin/'
154
+ | '/admin/app-for-catalog/$id'
155
+ | '/admin/app-for-catalog/'
156
+ | '/admin/approval-methods/'
157
+ | '/catalog/apps/'
158
+ fileRoutesByTo: FileRoutesByTo
159
+ to:
160
+ | '/login'
161
+ | '/admin/chat'
162
+ | '/admin/icons'
163
+ | '/auth/callback'
164
+ | '/'
165
+ | '/admin'
166
+ | '/admin/app-for-catalog/$id'
167
+ | '/admin/app-for-catalog'
168
+ | '/admin/approval-methods'
169
+ | '/catalog/apps'
170
+ id:
171
+ | '__root__'
172
+ | '/_layout'
173
+ | '/admin'
174
+ | '/_layout/login'
175
+ | '/admin/app-for-catalog'
176
+ | '/admin/approval-methods'
177
+ | '/admin/chat'
178
+ | '/admin/icons'
179
+ | '/auth/callback'
180
+ | '/_layout/'
181
+ | '/admin/'
182
+ | '/admin/app-for-catalog/$id'
183
+ | '/admin/app-for-catalog/'
184
+ | '/admin/approval-methods/'
185
+ | '/_layout/catalog/apps/'
186
+ fileRoutesById: FileRoutesById
187
+ }
188
+ export interface RootRouteChildren {
189
+ LayoutRoute: typeof LayoutRouteWithChildren
190
+ AdminRoute: typeof AdminRouteWithChildren
191
+ AuthCallbackRoute: typeof AuthCallbackRoute
192
+ }
193
+
194
+ declare module '@tanstack/react-router' {
195
+ interface FileRoutesByPath {
196
+ '/admin': {
197
+ id: '/admin'
198
+ path: '/admin'
199
+ fullPath: '/admin'
200
+ preLoaderRoute: typeof AdminRouteImport
201
+ parentRoute: typeof rootRouteImport
202
+ }
203
+ '/_layout': {
204
+ id: '/_layout'
205
+ path: ''
206
+ fullPath: '/'
207
+ preLoaderRoute: typeof LayoutRouteImport
208
+ parentRoute: typeof rootRouteImport
209
+ }
210
+ '/admin/': {
211
+ id: '/admin/'
212
+ path: '/'
213
+ fullPath: '/admin/'
214
+ preLoaderRoute: typeof AdminIndexRouteImport
215
+ parentRoute: typeof AdminRoute
216
+ }
217
+ '/_layout/': {
218
+ id: '/_layout/'
219
+ path: '/'
220
+ fullPath: '/'
221
+ preLoaderRoute: typeof LayoutIndexRouteImport
222
+ parentRoute: typeof LayoutRoute
223
+ }
224
+ '/auth/callback': {
225
+ id: '/auth/callback'
226
+ path: '/auth/callback'
227
+ fullPath: '/auth/callback'
228
+ preLoaderRoute: typeof AuthCallbackRouteImport
229
+ parentRoute: typeof rootRouteImport
230
+ }
231
+ '/admin/icons': {
232
+ id: '/admin/icons'
233
+ path: '/icons'
234
+ fullPath: '/admin/icons'
235
+ preLoaderRoute: typeof AdminIconsRouteImport
236
+ parentRoute: typeof AdminRoute
237
+ }
238
+ '/admin/chat': {
239
+ id: '/admin/chat'
240
+ path: '/chat'
241
+ fullPath: '/admin/chat'
242
+ preLoaderRoute: typeof AdminChatRouteImport
243
+ parentRoute: typeof AdminRoute
244
+ }
245
+ '/admin/approval-methods': {
246
+ id: '/admin/approval-methods'
247
+ path: '/approval-methods'
248
+ fullPath: '/admin/approval-methods'
249
+ preLoaderRoute: typeof AdminApprovalMethodsRouteImport
250
+ parentRoute: typeof AdminRoute
251
+ }
252
+ '/admin/app-for-catalog': {
253
+ id: '/admin/app-for-catalog'
254
+ path: '/app-for-catalog'
255
+ fullPath: '/admin/app-for-catalog'
256
+ preLoaderRoute: typeof AdminAppForCatalogRouteImport
257
+ parentRoute: typeof AdminRoute
258
+ }
259
+ '/_layout/login': {
260
+ id: '/_layout/login'
261
+ path: '/login'
262
+ fullPath: '/login'
263
+ preLoaderRoute: typeof LayoutLoginRouteImport
264
+ parentRoute: typeof LayoutRoute
265
+ }
266
+ '/admin/approval-methods/': {
267
+ id: '/admin/approval-methods/'
268
+ path: '/'
269
+ fullPath: '/admin/approval-methods/'
270
+ preLoaderRoute: typeof AdminApprovalMethodsIndexRouteImport
271
+ parentRoute: typeof AdminApprovalMethodsRoute
272
+ }
273
+ '/admin/app-for-catalog/': {
274
+ id: '/admin/app-for-catalog/'
275
+ path: '/'
276
+ fullPath: '/admin/app-for-catalog/'
277
+ preLoaderRoute: typeof AdminAppForCatalogIndexRouteImport
278
+ parentRoute: typeof AdminAppForCatalogRoute
279
+ }
280
+ '/admin/app-for-catalog/$id': {
281
+ id: '/admin/app-for-catalog/$id'
282
+ path: '/$id'
283
+ fullPath: '/admin/app-for-catalog/$id'
284
+ preLoaderRoute: typeof AdminAppForCatalogIdRouteImport
285
+ parentRoute: typeof AdminAppForCatalogRoute
286
+ }
287
+ '/_layout/catalog/apps/': {
288
+ id: '/_layout/catalog/apps/'
289
+ path: '/catalog/apps'
290
+ fullPath: '/catalog/apps/'
291
+ preLoaderRoute: typeof LayoutCatalogAppsIndexRouteImport
292
+ parentRoute: typeof LayoutRoute
293
+ }
294
+ }
295
+ }
296
+
297
+ interface LayoutRouteChildren {
298
+ LayoutLoginRoute: typeof LayoutLoginRoute
299
+ LayoutIndexRoute: typeof LayoutIndexRoute
300
+ LayoutCatalogAppsIndexRoute: typeof LayoutCatalogAppsIndexRoute
301
+ }
302
+
303
+ const LayoutRouteChildren: LayoutRouteChildren = {
304
+ LayoutLoginRoute: LayoutLoginRoute,
305
+ LayoutIndexRoute: LayoutIndexRoute,
306
+ LayoutCatalogAppsIndexRoute: LayoutCatalogAppsIndexRoute,
307
+ }
308
+
309
+ const LayoutRouteWithChildren =
310
+ LayoutRoute._addFileChildren(LayoutRouteChildren)
311
+
312
+ interface AdminAppForCatalogRouteChildren {
313
+ AdminAppForCatalogIdRoute: typeof AdminAppForCatalogIdRoute
314
+ AdminAppForCatalogIndexRoute: typeof AdminAppForCatalogIndexRoute
315
+ }
316
+
317
+ const AdminAppForCatalogRouteChildren: AdminAppForCatalogRouteChildren = {
318
+ AdminAppForCatalogIdRoute: AdminAppForCatalogIdRoute,
319
+ AdminAppForCatalogIndexRoute: AdminAppForCatalogIndexRoute,
320
+ }
321
+
322
+ const AdminAppForCatalogRouteWithChildren =
323
+ AdminAppForCatalogRoute._addFileChildren(AdminAppForCatalogRouteChildren)
324
+
325
+ interface AdminApprovalMethodsRouteChildren {
326
+ AdminApprovalMethodsIndexRoute: typeof AdminApprovalMethodsIndexRoute
327
+ }
328
+
329
+ const AdminApprovalMethodsRouteChildren: AdminApprovalMethodsRouteChildren = {
330
+ AdminApprovalMethodsIndexRoute: AdminApprovalMethodsIndexRoute,
331
+ }
332
+
333
+ const AdminApprovalMethodsRouteWithChildren =
334
+ AdminApprovalMethodsRoute._addFileChildren(AdminApprovalMethodsRouteChildren)
335
+
336
+ interface AdminRouteChildren {
337
+ AdminAppForCatalogRoute: typeof AdminAppForCatalogRouteWithChildren
338
+ AdminApprovalMethodsRoute: typeof AdminApprovalMethodsRouteWithChildren
339
+ AdminChatRoute: typeof AdminChatRoute
340
+ AdminIconsRoute: typeof AdminIconsRoute
341
+ AdminIndexRoute: typeof AdminIndexRoute
342
+ }
343
+
344
+ const AdminRouteChildren: AdminRouteChildren = {
345
+ AdminAppForCatalogRoute: AdminAppForCatalogRouteWithChildren,
346
+ AdminApprovalMethodsRoute: AdminApprovalMethodsRouteWithChildren,
347
+ AdminChatRoute: AdminChatRoute,
348
+ AdminIconsRoute: AdminIconsRoute,
349
+ AdminIndexRoute: AdminIndexRoute,
350
+ }
351
+
352
+ const AdminRouteWithChildren = AdminRoute._addFileChildren(AdminRouteChildren)
353
+
354
+ const rootRouteChildren: RootRouteChildren = {
355
+ LayoutRoute: LayoutRouteWithChildren,
356
+ AdminRoute: AdminRouteWithChildren,
357
+ AuthCallbackRoute: AuthCallbackRoute,
358
+ }
359
+ export const routeTree = rootRouteImport
360
+ ._addFileChildren(rootRouteChildren)
361
+ ._addFileTypes<FileRouteTypes>()
@@ -0,0 +1,23 @@
1
+ import { Outlet, createRootRouteWithContext } from '@tanstack/react-router'
2
+ import { TanStackRouterDevtools } from '@tanstack/react-router-devtools'
3
+ import type { EhRouterContext } from '~/types/types'
4
+ import { RootErrorPage } from '~/ui/components/error/RootErrorPage'
5
+ import { NotFoundError } from '~/ui/error/NotFoundError'
6
+ import { LoadingScreen } from '~/ui/layout/LoadingScreen'
7
+
8
+ export const Route = createRootRouteWithContext<EhRouterContext>()({
9
+ component: RootRoute,
10
+ errorComponent: RootErrorPage,
11
+ pendingComponent: () => <LoadingScreen label="root pending" />,
12
+ notFoundComponent: () => <NotFoundError />,
13
+ wrapInSuspense: true,
14
+ })
15
+
16
+ function RootRoute() {
17
+ return (
18
+ <div className="min-h-screen bg-base-200">
19
+ <Outlet />
20
+ {import.meta.env.MODE === 'dev' ? <TanStackRouterDevtools /> : null}
21
+ </div>
22
+ )
23
+ }
@@ -0,0 +1,28 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+ import { z } from 'zod'
3
+ import { catalogRouteLoader } from '~/modules/appCatalog/catalogRouteLoader'
4
+ import { AppCatalogLayout } from '~/modules/appCatalog/ui/layout/AppCatalogLayout'
5
+ import { AppCatalogPage } from '~/modules/appCatalog/ui/pages/AppCatalogPage'
6
+
7
+ const searchSchema = z.object({
8
+ app: z.string().optional(),
9
+ q: z.string().optional(),
10
+ })
11
+
12
+ export const Route = createFileRoute('/_layout/catalog/apps/')({
13
+ component: RouteComponent,
14
+ validateSearch: searchSchema,
15
+ async loader(ctx) {
16
+ await catalogRouteLoader(ctx)
17
+ },
18
+ })
19
+
20
+ function RouteComponent() {
21
+ const { queryClient, trpcClient } = Route.useRouteContext()
22
+
23
+ return (
24
+ <AppCatalogLayout queryClient={queryClient} trpcClient={trpcClient}>
25
+ <AppCatalogPage />
26
+ </AppCatalogLayout>
27
+ )
28
+ }
@@ -0,0 +1,31 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+ import { z } from 'zod'
3
+ import { appCatalogRouteLoader } from '~/modules/appCatalog/routeLoader'
4
+ import { AppCatalogLayout } from '~/modules/appCatalog/ui/layout/AppCatalogLayout'
5
+ import { AppCatalogPage } from '~/modules/appCatalog/ui/pages/AppCatalogPage'
6
+
7
+ const searchSchema = z.object({
8
+ app: z.string().optional(),
9
+ filterTag: z.string().optional(),
10
+ })
11
+
12
+ export const Route = createFileRoute('/_layout/')({
13
+ component: RouteComponent,
14
+ validateSearch: searchSchema,
15
+ async loader() {
16
+ const appCatalogLoader = await appCatalogRouteLoader()
17
+ return {
18
+ appCatalogLoader,
19
+ }
20
+ },
21
+ })
22
+
23
+ function RouteComponent() {
24
+ const { queryClient, trpcClient } = Route.useRouteContext()
25
+
26
+ return (
27
+ <AppCatalogLayout queryClient={queryClient} trpcClient={trpcClient}>
28
+ <AppCatalogPage />
29
+ </AppCatalogLayout>
30
+ )
31
+ }
@@ -0,0 +1,20 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+ import { LoginModal } from '~/modules/auth/ui/LoginModal'
3
+ import { MainLayout } from '~/ui/layout/MainLayout'
4
+ import { TopLevelProviders } from '~/ui/layout/TopLevelProviders'
5
+
6
+ export const Route = createFileRoute('/_layout/login')({
7
+ component: RouteComponent,
8
+ })
9
+
10
+ function RouteComponent() {
11
+ const { queryClient, trpcClient } = Route.useRouteContext()
12
+
13
+ return (
14
+ <TopLevelProviders queryClient={queryClient} trpcClient={trpcClient}>
15
+ <MainLayout>
16
+ <LoginModal />
17
+ </MainLayout>
18
+ </TopLevelProviders>
19
+ )
20
+ }
@@ -0,0 +1,9 @@
1
+ import { Outlet, createFileRoute } from '@tanstack/react-router'
2
+
3
+ export const Route = createFileRoute('/_layout')({
4
+ component: LayoutComponent,
5
+ })
6
+
7
+ function LayoutComponent() {
8
+ return <Outlet />
9
+ }