@burdenoff/microfe-admin 2026.511.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 (370) hide show
  1. package/README.md +74 -0
  2. package/dist/admin/AdminRoot.d.ts +31 -0
  3. package/dist/admin/AdminRoot.d.ts.map +1 -0
  4. package/dist/admin/AdminRoot.js +175 -0
  5. package/dist/admin/AdminRoot.js.map +1 -0
  6. package/dist/admin/AdminRoutes.d.ts +29 -0
  7. package/dist/admin/AdminRoutes.d.ts.map +1 -0
  8. package/dist/admin/AdminRoutes.js +143 -0
  9. package/dist/admin/AdminRoutes.js.map +1 -0
  10. package/dist/admin/components/AccessDenied.d.ts +8 -0
  11. package/dist/admin/components/AccessDenied.d.ts.map +1 -0
  12. package/dist/admin/components/AccessDenied.js +28 -0
  13. package/dist/admin/components/AccessDenied.js.map +1 -0
  14. package/dist/admin/components/ActivityFeed.d.ts +20 -0
  15. package/dist/admin/components/ActivityFeed.d.ts.map +1 -0
  16. package/dist/admin/components/ActivityFeed.js +91 -0
  17. package/dist/admin/components/ActivityFeed.js.map +1 -0
  18. package/dist/admin/components/Charts.d.ts +33 -0
  19. package/dist/admin/components/Charts.d.ts.map +1 -0
  20. package/dist/admin/components/Charts.js +37 -0
  21. package/dist/admin/components/Charts.js.map +1 -0
  22. package/dist/admin/components/ConfirmDialog.d.ts +45 -0
  23. package/dist/admin/components/ConfirmDialog.d.ts.map +1 -0
  24. package/dist/admin/components/ConfirmDialog.js +4 -0
  25. package/dist/admin/components/DataTable.d.ts +64 -0
  26. package/dist/admin/components/DataTable.d.ts.map +1 -0
  27. package/dist/admin/components/DataTable.js +127 -0
  28. package/dist/admin/components/DataTable.js.map +1 -0
  29. package/dist/admin/components/FormSheet.d.ts +79 -0
  30. package/dist/admin/components/FormSheet.d.ts.map +1 -0
  31. package/dist/admin/components/FormSheet.js +111 -0
  32. package/dist/admin/components/FormSheet.js.map +1 -0
  33. package/dist/admin/components/MetricCard.d.ts +40 -0
  34. package/dist/admin/components/MetricCard.d.ts.map +1 -0
  35. package/dist/admin/components/MetricCard.js +57 -0
  36. package/dist/admin/components/MetricCard.js.map +1 -0
  37. package/dist/admin/components/PageLayout.d.ts +34 -0
  38. package/dist/admin/components/PageLayout.d.ts.map +1 -0
  39. package/dist/admin/components/PageLayout.js +31 -0
  40. package/dist/admin/components/PageLayout.js.map +1 -0
  41. package/dist/admin/components/PermissionGuard.d.ts +12 -0
  42. package/dist/admin/components/PermissionGuard.d.ts.map +1 -0
  43. package/dist/admin/components/PermissionGuard.js +18 -0
  44. package/dist/admin/components/PermissionGuard.js.map +1 -0
  45. package/dist/admin/components/RowActions.d.ts +41 -0
  46. package/dist/admin/components/RowActions.d.ts.map +1 -0
  47. package/dist/admin/components/RowActions.js +93 -0
  48. package/dist/admin/components/RowActions.js.map +1 -0
  49. package/dist/admin/components/StatusBadge.d.ts +35 -0
  50. package/dist/admin/components/StatusBadge.d.ts.map +1 -0
  51. package/dist/admin/components/StatusBadge.js +41 -0
  52. package/dist/admin/components/StatusBadge.js.map +1 -0
  53. package/dist/admin/components/Toast.d.ts +26 -0
  54. package/dist/admin/components/Toast.d.ts.map +1 -0
  55. package/dist/admin/components/Toast.js +133 -0
  56. package/dist/admin/components/Toast.js.map +1 -0
  57. package/dist/admin/components/forms/SubscriptionForm.d.ts +57 -0
  58. package/dist/admin/components/forms/SubscriptionForm.d.ts.map +1 -0
  59. package/dist/admin/components/forms/SubscriptionForm.js +299 -0
  60. package/dist/admin/components/forms/SubscriptionForm.js.map +1 -0
  61. package/dist/admin/components/forms/TenantForm.d.ts +68 -0
  62. package/dist/admin/components/forms/TenantForm.d.ts.map +1 -0
  63. package/dist/admin/components/forms/TenantForm.js +346 -0
  64. package/dist/admin/components/forms/TenantForm.js.map +1 -0
  65. package/dist/admin/components/forms/TicketForm.d.ts +67 -0
  66. package/dist/admin/components/forms/TicketForm.d.ts.map +1 -0
  67. package/dist/admin/components/forms/TicketForm.js +55 -0
  68. package/dist/admin/components/forms/TicketForm.js.map +1 -0
  69. package/dist/admin/components/forms/UserForm.d.ts +57 -0
  70. package/dist/admin/components/forms/UserForm.d.ts.map +1 -0
  71. package/dist/admin/components/forms/UserForm.js +253 -0
  72. package/dist/admin/components/forms/UserForm.js.map +1 -0
  73. package/dist/admin/components/forms/index.d.ts +5 -0
  74. package/dist/admin/components/forms/index.d.ts.map +1 -0
  75. package/dist/admin/components/forms/index.js +4 -0
  76. package/dist/admin/components/index.d.ts +15 -0
  77. package/dist/admin/components/index.d.ts.map +1 -0
  78. package/dist/admin/components/index.js +17 -0
  79. package/dist/admin/components/ui.d.ts +52 -0
  80. package/dist/admin/components/ui.d.ts.map +1 -0
  81. package/dist/admin/components/ui.js +140 -0
  82. package/dist/admin/components/ui.js.map +1 -0
  83. package/dist/admin/constants/index.d.ts +75 -0
  84. package/dist/admin/constants/index.d.ts.map +1 -0
  85. package/dist/admin/constants/index.js +90 -0
  86. package/dist/admin/constants/index.js.map +1 -0
  87. package/dist/admin/constants/permissions.d.ts +27 -0
  88. package/dist/admin/constants/permissions.d.ts.map +1 -0
  89. package/dist/admin/constants/permissions.js +23 -0
  90. package/dist/admin/constants/permissions.js.map +1 -0
  91. package/dist/admin/hooks/useAdminPermissions.d.ts +30 -0
  92. package/dist/admin/hooks/useAdminPermissions.d.ts.map +1 -0
  93. package/dist/admin/hooks/useAdminPermissions.js +56 -0
  94. package/dist/admin/hooks/useAdminPermissions.js.map +1 -0
  95. package/dist/admin/index.d.ts +31 -0
  96. package/dist/admin/index.d.ts.map +1 -0
  97. package/dist/admin/index.js +9 -0
  98. package/dist/admin/pages/AuditLogsPage.d.ts +5 -0
  99. package/dist/admin/pages/AuditLogsPage.d.ts.map +1 -0
  100. package/dist/admin/pages/AuditLogsPage.js +209 -0
  101. package/dist/admin/pages/AuditLogsPage.js.map +1 -0
  102. package/dist/admin/pages/BillingPage.d.ts +2 -0
  103. package/dist/admin/pages/BillingPage.d.ts.map +1 -0
  104. package/dist/admin/pages/BillingPage.js +164 -0
  105. package/dist/admin/pages/BillingPage.js.map +1 -0
  106. package/dist/admin/pages/CommunicationsPage.d.ts +2 -0
  107. package/dist/admin/pages/CommunicationsPage.d.ts.map +1 -0
  108. package/dist/admin/pages/CommunicationsPage.js +118 -0
  109. package/dist/admin/pages/CommunicationsPage.js.map +1 -0
  110. package/dist/admin/pages/DashboardPage.d.ts +5 -0
  111. package/dist/admin/pages/DashboardPage.d.ts.map +1 -0
  112. package/dist/admin/pages/DashboardPage.js +121 -0
  113. package/dist/admin/pages/DashboardPage.js.map +1 -0
  114. package/dist/admin/pages/FeatureFlagsPage.d.ts +2 -0
  115. package/dist/admin/pages/FeatureFlagsPage.d.ts.map +1 -0
  116. package/dist/admin/pages/FeatureFlagsPage.js +116 -0
  117. package/dist/admin/pages/FeatureFlagsPage.js.map +1 -0
  118. package/dist/admin/pages/OrganizationsListPage.d.ts +2 -0
  119. package/dist/admin/pages/OrganizationsListPage.d.ts.map +1 -0
  120. package/dist/admin/pages/OrganizationsListPage.js +112 -0
  121. package/dist/admin/pages/OrganizationsListPage.js.map +1 -0
  122. package/dist/admin/pages/ProductsPage.d.ts +5 -0
  123. package/dist/admin/pages/ProductsPage.d.ts.map +1 -0
  124. package/dist/admin/pages/ProductsPage.js +392 -0
  125. package/dist/admin/pages/ProductsPage.js.map +1 -0
  126. package/dist/admin/pages/ReferralsPage.d.ts +2 -0
  127. package/dist/admin/pages/ReferralsPage.d.ts.map +1 -0
  128. package/dist/admin/pages/ReferralsPage.js +272 -0
  129. package/dist/admin/pages/ReferralsPage.js.map +1 -0
  130. package/dist/admin/pages/RolesPermissionsPage.d.ts +2 -0
  131. package/dist/admin/pages/RolesPermissionsPage.d.ts.map +1 -0
  132. package/dist/admin/pages/RolesPermissionsPage.js +145 -0
  133. package/dist/admin/pages/RolesPermissionsPage.js.map +1 -0
  134. package/dist/admin/pages/SREPage.d.ts +5 -0
  135. package/dist/admin/pages/SREPage.d.ts.map +1 -0
  136. package/dist/admin/pages/SREPage.js +405 -0
  137. package/dist/admin/pages/SREPage.js.map +1 -0
  138. package/dist/admin/pages/SandboxSettingsPage.d.ts +7 -0
  139. package/dist/admin/pages/SandboxSettingsPage.d.ts.map +1 -0
  140. package/dist/admin/pages/SandboxSettingsPage.js +497 -0
  141. package/dist/admin/pages/SandboxSettingsPage.js.map +1 -0
  142. package/dist/admin/pages/SettingsPage.d.ts +5 -0
  143. package/dist/admin/pages/SettingsPage.d.ts.map +1 -0
  144. package/dist/admin/pages/SettingsPage.js +279 -0
  145. package/dist/admin/pages/SettingsPage.js.map +1 -0
  146. package/dist/admin/pages/TenantDetailPage.d.ts +5 -0
  147. package/dist/admin/pages/TenantDetailPage.d.ts.map +1 -0
  148. package/dist/admin/pages/TenantDetailPage.js +274 -0
  149. package/dist/admin/pages/TenantDetailPage.js.map +1 -0
  150. package/dist/admin/pages/TenantFormRoutePage.d.ts +6 -0
  151. package/dist/admin/pages/TenantFormRoutePage.d.ts.map +1 -0
  152. package/dist/admin/pages/TenantFormRoutePage.js +136 -0
  153. package/dist/admin/pages/TenantFormRoutePage.js.map +1 -0
  154. package/dist/admin/pages/TenantsListPage.d.ts +5 -0
  155. package/dist/admin/pages/TenantsListPage.d.ts.map +1 -0
  156. package/dist/admin/pages/TenantsListPage.js +339 -0
  157. package/dist/admin/pages/TenantsListPage.js.map +1 -0
  158. package/dist/admin/pages/UsersListPage.d.ts +5 -0
  159. package/dist/admin/pages/UsersListPage.d.ts.map +1 -0
  160. package/dist/admin/pages/UsersListPage.js +250 -0
  161. package/dist/admin/pages/UsersListPage.js.map +1 -0
  162. package/dist/admin/pages/WaitlistPage.d.ts +2 -0
  163. package/dist/admin/pages/WaitlistPage.d.ts.map +1 -0
  164. package/dist/admin/pages/WaitlistPage.js +241 -0
  165. package/dist/admin/pages/WaitlistPage.js.map +1 -0
  166. package/dist/admin/pages/WorkflowsPage.d.ts +2 -0
  167. package/dist/admin/pages/WorkflowsPage.d.ts.map +1 -0
  168. package/dist/admin/pages/WorkflowsPage.js +126 -0
  169. package/dist/admin/pages/WorkflowsPage.js.map +1 -0
  170. package/dist/admin/pages/WorkspacesListPage.d.ts +2 -0
  171. package/dist/admin/pages/WorkspacesListPage.d.ts.map +1 -0
  172. package/dist/admin/pages/WorkspacesListPage.js +100 -0
  173. package/dist/admin/pages/WorkspacesListPage.js.map +1 -0
  174. package/dist/admin/pages/index.d.ts +20 -0
  175. package/dist/admin/pages/index.d.ts.map +1 -0
  176. package/dist/admin/pages/index.js +19 -0
  177. package/dist/admin/providers/AdminProvider.d.ts +13 -0
  178. package/dist/admin/providers/AdminProvider.d.ts.map +1 -0
  179. package/dist/admin/providers/AdminProvider.js +43 -0
  180. package/dist/admin/providers/AdminProvider.js.map +1 -0
  181. package/dist/admin/schemas/index.d.ts +409 -0
  182. package/dist/admin/schemas/index.d.ts.map +1 -0
  183. package/dist/admin/schemas/index.js +111 -0
  184. package/dist/admin/schemas/index.js.map +1 -0
  185. package/dist/admin/store/adminStore.d.ts +28 -0
  186. package/dist/admin/store/adminStore.d.ts.map +1 -0
  187. package/dist/admin/store/adminStore.js +48 -0
  188. package/dist/admin/store/adminStore.js.map +1 -0
  189. package/dist/admin/types/index.d.ts +325 -0
  190. package/dist/admin/types/index.d.ts.map +1 -0
  191. package/dist/admin/utils/cn.d.ts +7 -0
  192. package/dist/admin/utils/cn.d.ts.map +1 -0
  193. package/dist/admin/utils/cn.js +10 -0
  194. package/dist/admin/utils/cn.js.map +1 -0
  195. package/dist/admin/utils/directActivityGraphql.d.ts +11 -0
  196. package/dist/admin/utils/directActivityGraphql.d.ts.map +1 -0
  197. package/dist/admin/utils/directActivityGraphql.js +25 -0
  198. package/dist/admin/utils/directActivityGraphql.js.map +1 -0
  199. package/dist/admin/utils/formatters.d.ts +33 -0
  200. package/dist/admin/utils/formatters.d.ts.map +1 -0
  201. package/dist/admin/utils/formatters.js +54 -0
  202. package/dist/admin/utils/formatters.js.map +1 -0
  203. package/dist/admin/utils/gatewayGraphql.d.ts +9 -0
  204. package/dist/admin/utils/gatewayGraphql.d.ts.map +1 -0
  205. package/dist/admin/utils/i18n.d.ts +6 -0
  206. package/dist/admin/utils/i18n.d.ts.map +1 -0
  207. package/dist/admin/utils/i18n.js +15 -0
  208. package/dist/admin/utils/i18n.js.map +1 -0
  209. package/dist/admin/utils/mappers.d.ts +15 -0
  210. package/dist/admin/utils/mappers.d.ts.map +1 -0
  211. package/dist/admin/utils/mappers.js +73 -0
  212. package/dist/admin/utils/mappers.js.map +1 -0
  213. package/dist/admin/utils/navigation.d.ts +9 -0
  214. package/dist/admin/utils/navigation.d.ts.map +1 -0
  215. package/dist/admin/utils/navigation.js +8 -0
  216. package/dist/admin/utils/navigation.js.map +1 -0
  217. package/dist/admin/utils/tenantEvents.d.ts +11 -0
  218. package/dist/admin/utils/tenantEvents.d.ts.map +1 -0
  219. package/dist/admin/utils/tenantEvents.js +8 -0
  220. package/dist/admin/utils/tenantEvents.js.map +1 -0
  221. package/dist/dev/main.d.ts +2 -0
  222. package/dist/dev/main.d.ts.map +1 -0
  223. package/dist/generated/global-operations.d.ts +2749 -0
  224. package/dist/generated/global-operations.d.ts.map +1 -0
  225. package/dist/generated/global-operations.js +907 -0
  226. package/dist/generated/global-operations.js.map +1 -0
  227. package/dist/generated/global-types.d.ts +20773 -0
  228. package/dist/generated/global-types.d.ts.map +1 -0
  229. package/dist/generated/global-types.js +12 -0
  230. package/dist/generated/global-types.js.map +1 -0
  231. package/dist/generated/wspace-operations.d.ts +132 -0
  232. package/dist/generated/wspace-operations.d.ts.map +1 -0
  233. package/dist/generated/wspace-operations.js +65 -0
  234. package/dist/generated/wspace-operations.js.map +1 -0
  235. package/dist/generated/wspace-types.d.ts +53363 -0
  236. package/dist/generated/wspace-types.d.ts.map +1 -0
  237. package/dist/index.d.ts +6 -0
  238. package/dist/index.d.ts.map +1 -0
  239. package/dist/index.js +10 -0
  240. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +34 -0
  241. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -0
  242. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +118 -0
  243. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -0
  244. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  245. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  246. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +8 -0
  247. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -0
  248. package/dist/node_modules/date-fns/_lib/defaultOptions.js +9 -0
  249. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -0
  250. package/dist/node_modules/date-fns/_lib/format/formatters.js +384 -0
  251. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -0
  252. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +45 -0
  253. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -0
  254. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +42 -0
  255. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -0
  256. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +11 -0
  257. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  258. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +10 -0
  259. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -0
  260. package/dist/node_modules/date-fns/_lib/normalizeDates.js +10 -0
  261. package/dist/node_modules/date-fns/_lib/normalizeDates.js.map +1 -0
  262. package/dist/node_modules/date-fns/_lib/protectedTokens.js +25 -0
  263. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -0
  264. package/dist/node_modules/date-fns/compareAsc.js +10 -0
  265. package/dist/node_modules/date-fns/compareAsc.js.map +1 -0
  266. package/dist/node_modules/date-fns/constants.js +8 -0
  267. package/dist/node_modules/date-fns/constants.js.map +1 -0
  268. package/dist/node_modules/date-fns/constructFrom.js +9 -0
  269. package/dist/node_modules/date-fns/constructFrom.js.map +1 -0
  270. package/dist/node_modules/date-fns/constructNow.js +9 -0
  271. package/dist/node_modules/date-fns/constructNow.js.map +1 -0
  272. package/dist/node_modules/date-fns/differenceInCalendarDays.js +13 -0
  273. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -0
  274. package/dist/node_modules/date-fns/differenceInCalendarMonths.js +10 -0
  275. package/dist/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -0
  276. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  277. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  278. package/dist/node_modules/date-fns/differenceInMonths.js +18 -0
  279. package/dist/node_modules/date-fns/differenceInMonths.js.map +1 -0
  280. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  281. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  282. package/dist/node_modules/date-fns/endOfDay.js +10 -0
  283. package/dist/node_modules/date-fns/endOfDay.js.map +1 -0
  284. package/dist/node_modules/date-fns/endOfMonth.js +10 -0
  285. package/dist/node_modules/date-fns/endOfMonth.js.map +1 -0
  286. package/dist/node_modules/date-fns/format.js +61 -0
  287. package/dist/node_modules/date-fns/format.js.map +1 -0
  288. package/dist/node_modules/date-fns/formatDistance.js +39 -0
  289. package/dist/node_modules/date-fns/formatDistance.js.map +1 -0
  290. package/dist/node_modules/date-fns/formatDistanceToNow.js +10 -0
  291. package/dist/node_modules/date-fns/formatDistanceToNow.js.map +1 -0
  292. package/dist/node_modules/date-fns/getDayOfYear.js +12 -0
  293. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -0
  294. package/dist/node_modules/date-fns/getISOWeek.js +13 -0
  295. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -0
  296. package/dist/node_modules/date-fns/getISOWeekYear.js +16 -0
  297. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -0
  298. package/dist/node_modules/date-fns/getWeek.js +13 -0
  299. package/dist/node_modules/date-fns/getWeek.js.map +1 -0
  300. package/dist/node_modules/date-fns/getWeekYear.js +17 -0
  301. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -0
  302. package/dist/node_modules/date-fns/isDate.js +8 -0
  303. package/dist/node_modules/date-fns/isDate.js.map +1 -0
  304. package/dist/node_modules/date-fns/isLastDayOfMonth.js +12 -0
  305. package/dist/node_modules/date-fns/isLastDayOfMonth.js.map +1 -0
  306. package/dist/node_modules/date-fns/isValid.js +10 -0
  307. package/dist/node_modules/date-fns/isValid.js.map +1 -0
  308. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +11 -0
  309. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -0
  310. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +19 -0
  311. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -0
  312. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +24 -0
  313. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -0
  314. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +20 -0
  315. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -0
  316. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +71 -0
  317. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -0
  318. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +34 -0
  319. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -0
  320. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +13 -0
  321. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -0
  322. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +204 -0
  323. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -0
  324. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +126 -0
  325. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -0
  326. package/dist/node_modules/date-fns/locale/en-US.js +22 -0
  327. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -0
  328. package/dist/node_modules/date-fns/parseISO.js +119 -0
  329. package/dist/node_modules/date-fns/parseISO.js.map +1 -0
  330. package/dist/node_modules/date-fns/startOfDay.js +10 -0
  331. package/dist/node_modules/date-fns/startOfDay.js.map +1 -0
  332. package/dist/node_modules/date-fns/startOfISOWeek.js +12 -0
  333. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -0
  334. package/dist/node_modules/date-fns/startOfISOWeekYear.js +12 -0
  335. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -0
  336. package/dist/node_modules/date-fns/startOfWeek.js +11 -0
  337. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -0
  338. package/dist/node_modules/date-fns/startOfWeekYear.js +13 -0
  339. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -0
  340. package/dist/node_modules/date-fns/startOfYear.js +10 -0
  341. package/dist/node_modules/date-fns/startOfYear.js.map +1 -0
  342. package/dist/node_modules/date-fns/toDate.js +9 -0
  343. package/dist/node_modules/date-fns/toDate.js.map +1 -0
  344. package/dist/node_modules/react-hook-form/dist/index.esm.js +1210 -0
  345. package/dist/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
  346. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -0
  347. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  348. package/dist/node_modules/zod/v3/ZodError.js +82 -0
  349. package/dist/node_modules/zod/v3/ZodError.js.map +1 -0
  350. package/dist/node_modules/zod/v3/errors.js +10 -0
  351. package/dist/node_modules/zod/v3/errors.js.map +1 -0
  352. package/dist/node_modules/zod/v3/helpers/errorUtil.js +9 -0
  353. package/dist/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  354. package/dist/node_modules/zod/v3/helpers/parseUtil.js +93 -0
  355. package/dist/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  356. package/dist/node_modules/zod/v3/helpers/util.js +76 -0
  357. package/dist/node_modules/zod/v3/helpers/util.js.map +1 -0
  358. package/dist/node_modules/zod/v3/locales/en.js +62 -0
  359. package/dist/node_modules/zod/v3/locales/en.js.map +1 -0
  360. package/dist/node_modules/zod/v3/types.js +2459 -0
  361. package/dist/node_modules/zod/v3/types.js.map +1 -0
  362. package/dist/node_modules/zod/v4/core/core.js +35 -0
  363. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  364. package/dist/node_modules/zod/v4/core/errors.js +24 -0
  365. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  366. package/dist/node_modules/zod/v4/core/parse.js +29 -0
  367. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  368. package/dist/node_modules/zod/v4/core/util.js +20 -0
  369. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  370. package/package.json +111 -0
@@ -0,0 +1,409 @@
1
+ import { z } from 'zod';
2
+
3
+ export declare const TENANT_STATUS_VALUES: readonly ["active", "suspended", "pending", "churned"];
4
+ export declare const tenantStatusSchema: z.ZodString;
5
+ export type TenantStatus = (typeof TENANT_STATUS_VALUES)[number];
6
+ export declare const TENANT_PLAN_VALUES: readonly ["Free", "Starter", "Professional", "Enterprise", "Custom"];
7
+ export declare const tenantPlanSchema: z.ZodString;
8
+ export type TenantPlan = (typeof TENANT_PLAN_VALUES)[number];
9
+ export declare const tenantSettingsSchema: z.ZodObject<{
10
+ allowSignup: z.ZodDefault<z.ZodBoolean>;
11
+ ssoEnabled: z.ZodDefault<z.ZodBoolean>;
12
+ mfaRequired: z.ZodDefault<z.ZodBoolean>;
13
+ dataRetentionDays: z.ZodDefault<z.ZodNumber>;
14
+ customBranding: z.ZodOptional<z.ZodObject<{
15
+ primaryColor: z.ZodString;
16
+ logoUrl: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ primaryColor: string;
19
+ logoUrl?: string | undefined;
20
+ }, {
21
+ primaryColor: string;
22
+ logoUrl?: string | undefined;
23
+ }>>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ allowSignup: boolean;
26
+ ssoEnabled: boolean;
27
+ mfaRequired: boolean;
28
+ dataRetentionDays: number;
29
+ customBranding?: {
30
+ primaryColor: string;
31
+ logoUrl?: string | undefined;
32
+ } | undefined;
33
+ }, {
34
+ allowSignup?: boolean | undefined;
35
+ ssoEnabled?: boolean | undefined;
36
+ mfaRequired?: boolean | undefined;
37
+ dataRetentionDays?: number | undefined;
38
+ customBranding?: {
39
+ primaryColor: string;
40
+ logoUrl?: string | undefined;
41
+ } | undefined;
42
+ }>;
43
+ export declare const createTenantSchema: z.ZodObject<{
44
+ name: z.ZodString;
45
+ slug: z.ZodString;
46
+ domain: z.ZodOptional<z.ZodString>;
47
+ ownerEmail: z.ZodString;
48
+ billingEmail: z.ZodOptional<z.ZodString>;
49
+ plan: z.ZodDefault<z.ZodString>;
50
+ settings: z.ZodOptional<z.ZodObject<{
51
+ allowSignup: z.ZodDefault<z.ZodBoolean>;
52
+ ssoEnabled: z.ZodDefault<z.ZodBoolean>;
53
+ mfaRequired: z.ZodDefault<z.ZodBoolean>;
54
+ dataRetentionDays: z.ZodDefault<z.ZodNumber>;
55
+ customBranding: z.ZodOptional<z.ZodObject<{
56
+ primaryColor: z.ZodString;
57
+ logoUrl: z.ZodOptional<z.ZodString>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ primaryColor: string;
60
+ logoUrl?: string | undefined;
61
+ }, {
62
+ primaryColor: string;
63
+ logoUrl?: string | undefined;
64
+ }>>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ allowSignup: boolean;
67
+ ssoEnabled: boolean;
68
+ mfaRequired: boolean;
69
+ dataRetentionDays: number;
70
+ customBranding?: {
71
+ primaryColor: string;
72
+ logoUrl?: string | undefined;
73
+ } | undefined;
74
+ }, {
75
+ allowSignup?: boolean | undefined;
76
+ ssoEnabled?: boolean | undefined;
77
+ mfaRequired?: boolean | undefined;
78
+ dataRetentionDays?: number | undefined;
79
+ customBranding?: {
80
+ primaryColor: string;
81
+ logoUrl?: string | undefined;
82
+ } | undefined;
83
+ }>>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ name: string;
86
+ slug: string;
87
+ ownerEmail: string;
88
+ plan: string;
89
+ settings?: {
90
+ allowSignup: boolean;
91
+ ssoEnabled: boolean;
92
+ mfaRequired: boolean;
93
+ dataRetentionDays: number;
94
+ customBranding?: {
95
+ primaryColor: string;
96
+ logoUrl?: string | undefined;
97
+ } | undefined;
98
+ } | undefined;
99
+ domain?: string | undefined;
100
+ billingEmail?: string | undefined;
101
+ }, {
102
+ name: string;
103
+ slug: string;
104
+ ownerEmail: string;
105
+ settings?: {
106
+ allowSignup?: boolean | undefined;
107
+ ssoEnabled?: boolean | undefined;
108
+ mfaRequired?: boolean | undefined;
109
+ dataRetentionDays?: number | undefined;
110
+ customBranding?: {
111
+ primaryColor: string;
112
+ logoUrl?: string | undefined;
113
+ } | undefined;
114
+ } | undefined;
115
+ domain?: string | undefined;
116
+ billingEmail?: string | undefined;
117
+ plan?: string | undefined;
118
+ }>;
119
+ export type CreateTenantInput = z.infer<typeof createTenantSchema>;
120
+ export declare const updateTenantSchema: z.ZodObject<{
121
+ name: z.ZodOptional<z.ZodString>;
122
+ slug: z.ZodOptional<z.ZodString>;
123
+ domain: z.ZodOptional<z.ZodOptional<z.ZodString>>;
124
+ ownerEmail: z.ZodOptional<z.ZodString>;
125
+ billingEmail: z.ZodOptional<z.ZodOptional<z.ZodString>>;
126
+ plan: z.ZodOptional<z.ZodDefault<z.ZodString>>;
127
+ settings: z.ZodOptional<z.ZodOptional<z.ZodObject<{
128
+ allowSignup: z.ZodDefault<z.ZodBoolean>;
129
+ ssoEnabled: z.ZodDefault<z.ZodBoolean>;
130
+ mfaRequired: z.ZodDefault<z.ZodBoolean>;
131
+ dataRetentionDays: z.ZodDefault<z.ZodNumber>;
132
+ customBranding: z.ZodOptional<z.ZodObject<{
133
+ primaryColor: z.ZodString;
134
+ logoUrl: z.ZodOptional<z.ZodString>;
135
+ }, "strip", z.ZodTypeAny, {
136
+ primaryColor: string;
137
+ logoUrl?: string | undefined;
138
+ }, {
139
+ primaryColor: string;
140
+ logoUrl?: string | undefined;
141
+ }>>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ allowSignup: boolean;
144
+ ssoEnabled: boolean;
145
+ mfaRequired: boolean;
146
+ dataRetentionDays: number;
147
+ customBranding?: {
148
+ primaryColor: string;
149
+ logoUrl?: string | undefined;
150
+ } | undefined;
151
+ }, {
152
+ allowSignup?: boolean | undefined;
153
+ ssoEnabled?: boolean | undefined;
154
+ mfaRequired?: boolean | undefined;
155
+ dataRetentionDays?: number | undefined;
156
+ customBranding?: {
157
+ primaryColor: string;
158
+ logoUrl?: string | undefined;
159
+ } | undefined;
160
+ }>>>;
161
+ } & {
162
+ id: z.ZodString;
163
+ status: z.ZodOptional<z.ZodString>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ id: string;
166
+ status?: string | undefined;
167
+ settings?: {
168
+ allowSignup: boolean;
169
+ ssoEnabled: boolean;
170
+ mfaRequired: boolean;
171
+ dataRetentionDays: number;
172
+ customBranding?: {
173
+ primaryColor: string;
174
+ logoUrl?: string | undefined;
175
+ } | undefined;
176
+ } | undefined;
177
+ name?: string | undefined;
178
+ domain?: string | undefined;
179
+ slug?: string | undefined;
180
+ ownerEmail?: string | undefined;
181
+ billingEmail?: string | undefined;
182
+ plan?: string | undefined;
183
+ }, {
184
+ id: string;
185
+ status?: string | undefined;
186
+ settings?: {
187
+ allowSignup?: boolean | undefined;
188
+ ssoEnabled?: boolean | undefined;
189
+ mfaRequired?: boolean | undefined;
190
+ dataRetentionDays?: number | undefined;
191
+ customBranding?: {
192
+ primaryColor: string;
193
+ logoUrl?: string | undefined;
194
+ } | undefined;
195
+ } | undefined;
196
+ name?: string | undefined;
197
+ domain?: string | undefined;
198
+ slug?: string | undefined;
199
+ ownerEmail?: string | undefined;
200
+ billingEmail?: string | undefined;
201
+ plan?: string | undefined;
202
+ }>;
203
+ export type UpdateTenantInput = z.infer<typeof updateTenantSchema>;
204
+ export declare const userStatusSchema: z.ZodEnum<["active", "inactive", "pending", "suspended"]>;
205
+ export type UserStatus = z.infer<typeof userStatusSchema>;
206
+ export declare const userRoleSchema: z.ZodEnum<["admin", "member", "viewer", "owner"]>;
207
+ export type UserRole = z.infer<typeof userRoleSchema>;
208
+ export declare const createUserSchema: z.ZodObject<{
209
+ email: z.ZodString;
210
+ firstName: z.ZodString;
211
+ lastName: z.ZodString;
212
+ role: z.ZodDefault<z.ZodEnum<["admin", "member", "viewer", "owner"]>>;
213
+ tenantId: z.ZodOptional<z.ZodString>;
214
+ sendInvite: z.ZodDefault<z.ZodBoolean>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ email: string;
217
+ role: "admin" | "member" | "viewer" | "owner";
218
+ firstName: string;
219
+ lastName: string;
220
+ sendInvite: boolean;
221
+ tenantId?: string | undefined;
222
+ }, {
223
+ email: string;
224
+ firstName: string;
225
+ lastName: string;
226
+ tenantId?: string | undefined;
227
+ role?: "admin" | "member" | "viewer" | "owner" | undefined;
228
+ sendInvite?: boolean | undefined;
229
+ }>;
230
+ export type CreateUserInput = z.infer<typeof createUserSchema>;
231
+ export declare const updateUserSchema: z.ZodObject<{
232
+ email: z.ZodOptional<z.ZodString>;
233
+ firstName: z.ZodOptional<z.ZodString>;
234
+ lastName: z.ZodOptional<z.ZodString>;
235
+ role: z.ZodOptional<z.ZodDefault<z.ZodEnum<["admin", "member", "viewer", "owner"]>>>;
236
+ tenantId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
237
+ sendInvite: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
238
+ } & {
239
+ id: z.ZodString;
240
+ status: z.ZodOptional<z.ZodEnum<["active", "inactive", "pending", "suspended"]>>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ id: string;
243
+ status?: "active" | "suspended" | "pending" | "inactive" | undefined;
244
+ tenantId?: string | undefined;
245
+ email?: string | undefined;
246
+ role?: "admin" | "member" | "viewer" | "owner" | undefined;
247
+ firstName?: string | undefined;
248
+ lastName?: string | undefined;
249
+ sendInvite?: boolean | undefined;
250
+ }, {
251
+ id: string;
252
+ status?: "active" | "suspended" | "pending" | "inactive" | undefined;
253
+ tenantId?: string | undefined;
254
+ email?: string | undefined;
255
+ role?: "admin" | "member" | "viewer" | "owner" | undefined;
256
+ firstName?: string | undefined;
257
+ lastName?: string | undefined;
258
+ sendInvite?: boolean | undefined;
259
+ }>;
260
+ export type UpdateUserInput = z.infer<typeof updateUserSchema>;
261
+ export declare const subscriptionStatusSchema: z.ZodEnum<["active", "cancelled", "past_due", "trialing", "paused"]>;
262
+ export type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>;
263
+ export declare const billingCycleSchema: z.ZodEnum<["monthly", "yearly"]>;
264
+ export type BillingCycle = z.infer<typeof billingCycleSchema>;
265
+ export declare const createSubscriptionSchema: z.ZodObject<{
266
+ tenantId: z.ZodString;
267
+ plan: z.ZodString;
268
+ billingCycle: z.ZodDefault<z.ZodEnum<["monthly", "yearly"]>>;
269
+ seats: z.ZodDefault<z.ZodNumber>;
270
+ startDate: z.ZodOptional<z.ZodString>;
271
+ trialEndDate: z.ZodOptional<z.ZodString>;
272
+ }, "strip", z.ZodTypeAny, {
273
+ tenantId: string;
274
+ plan: string;
275
+ billingCycle: "monthly" | "yearly";
276
+ seats: number;
277
+ startDate?: string | undefined;
278
+ trialEndDate?: string | undefined;
279
+ }, {
280
+ tenantId: string;
281
+ plan: string;
282
+ billingCycle?: "monthly" | "yearly" | undefined;
283
+ seats?: number | undefined;
284
+ startDate?: string | undefined;
285
+ trialEndDate?: string | undefined;
286
+ }>;
287
+ export type CreateSubscriptionInput = z.infer<typeof createSubscriptionSchema>;
288
+ export declare const updateSubscriptionSchema: z.ZodObject<{
289
+ tenantId: z.ZodOptional<z.ZodString>;
290
+ plan: z.ZodOptional<z.ZodString>;
291
+ billingCycle: z.ZodOptional<z.ZodDefault<z.ZodEnum<["monthly", "yearly"]>>>;
292
+ seats: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
293
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
294
+ trialEndDate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
295
+ } & {
296
+ id: z.ZodString;
297
+ status: z.ZodOptional<z.ZodEnum<["active", "cancelled", "past_due", "trialing", "paused"]>>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ id: string;
300
+ status?: "active" | "past_due" | "trialing" | "paused" | "cancelled" | undefined;
301
+ tenantId?: string | undefined;
302
+ plan?: string | undefined;
303
+ billingCycle?: "monthly" | "yearly" | undefined;
304
+ seats?: number | undefined;
305
+ startDate?: string | undefined;
306
+ trialEndDate?: string | undefined;
307
+ }, {
308
+ id: string;
309
+ status?: "active" | "past_due" | "trialing" | "paused" | "cancelled" | undefined;
310
+ tenantId?: string | undefined;
311
+ plan?: string | undefined;
312
+ billingCycle?: "monthly" | "yearly" | undefined;
313
+ seats?: number | undefined;
314
+ startDate?: string | undefined;
315
+ trialEndDate?: string | undefined;
316
+ }>;
317
+ export type UpdateSubscriptionInput = z.infer<typeof updateSubscriptionSchema>;
318
+ export declare const ticketPrioritySchema: z.ZodEnum<["low", "medium", "high", "urgent"]>;
319
+ export type TicketPriority = z.infer<typeof ticketPrioritySchema>;
320
+ export declare const ticketStatusSchema: z.ZodEnum<["open", "in_progress", "waiting", "resolved", "closed"]>;
321
+ export type TicketStatus = z.infer<typeof ticketStatusSchema>;
322
+ export declare const ticketCategorySchema: z.ZodEnum<["billing", "technical", "account", "feature_request", "other"]>;
323
+ export type TicketCategory = z.infer<typeof ticketCategorySchema>;
324
+ export declare const createTicketSchema: z.ZodObject<{
325
+ subject: z.ZodString;
326
+ description: z.ZodString;
327
+ category: z.ZodDefault<z.ZodEnum<["billing", "technical", "account", "feature_request", "other"]>>;
328
+ priority: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "urgent"]>>;
329
+ tenantId: z.ZodOptional<z.ZodString>;
330
+ userId: z.ZodOptional<z.ZodString>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ description: string;
333
+ priority: "low" | "medium" | "high" | "urgent";
334
+ category: "billing" | "technical" | "account" | "feature_request" | "other";
335
+ subject: string;
336
+ tenantId?: string | undefined;
337
+ userId?: string | undefined;
338
+ }, {
339
+ description: string;
340
+ subject: string;
341
+ tenantId?: string | undefined;
342
+ priority?: "low" | "medium" | "high" | "urgent" | undefined;
343
+ category?: "billing" | "technical" | "account" | "feature_request" | "other" | undefined;
344
+ userId?: string | undefined;
345
+ }>;
346
+ export type CreateTicketInput = z.infer<typeof createTicketSchema>;
347
+ export declare const updateTicketSchema: z.ZodObject<{
348
+ subject: z.ZodOptional<z.ZodString>;
349
+ description: z.ZodOptional<z.ZodString>;
350
+ category: z.ZodOptional<z.ZodDefault<z.ZodEnum<["billing", "technical", "account", "feature_request", "other"]>>>;
351
+ priority: z.ZodOptional<z.ZodDefault<z.ZodEnum<["low", "medium", "high", "urgent"]>>>;
352
+ tenantId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
353
+ userId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
354
+ } & {
355
+ id: z.ZodString;
356
+ status: z.ZodOptional<z.ZodEnum<["open", "in_progress", "waiting", "resolved", "closed"]>>;
357
+ assigneeId: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ id: string;
360
+ status?: "open" | "in_progress" | "resolved" | "closed" | "waiting" | undefined;
361
+ tenantId?: string | undefined;
362
+ description?: string | undefined;
363
+ priority?: "low" | "medium" | "high" | "urgent" | undefined;
364
+ category?: "billing" | "technical" | "account" | "feature_request" | "other" | undefined;
365
+ subject?: string | undefined;
366
+ userId?: string | undefined;
367
+ assigneeId?: string | undefined;
368
+ }, {
369
+ id: string;
370
+ status?: "open" | "in_progress" | "resolved" | "closed" | "waiting" | undefined;
371
+ tenantId?: string | undefined;
372
+ description?: string | undefined;
373
+ priority?: "low" | "medium" | "high" | "urgent" | undefined;
374
+ category?: "billing" | "technical" | "account" | "feature_request" | "other" | undefined;
375
+ subject?: string | undefined;
376
+ userId?: string | undefined;
377
+ assigneeId?: string | undefined;
378
+ }>;
379
+ export type UpdateTicketInput = z.infer<typeof updateTicketSchema>;
380
+ export declare const platformSettingsSchema: z.ZodObject<{
381
+ maintenanceMode: z.ZodDefault<z.ZodBoolean>;
382
+ allowNewSignups: z.ZodDefault<z.ZodBoolean>;
383
+ defaultTenantPlan: z.ZodDefault<z.ZodString>;
384
+ maxUsersPerTenant: z.ZodDefault<z.ZodNumber>;
385
+ maxStoragePerTenant: z.ZodDefault<z.ZodNumber>;
386
+ emailNotifications: z.ZodDefault<z.ZodBoolean>;
387
+ slackNotifications: z.ZodDefault<z.ZodBoolean>;
388
+ slackWebhookUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
389
+ }, "strip", z.ZodTypeAny, {
390
+ maintenanceMode: boolean;
391
+ allowNewSignups: boolean;
392
+ defaultTenantPlan: string;
393
+ maxUsersPerTenant: number;
394
+ maxStoragePerTenant: number;
395
+ emailNotifications: boolean;
396
+ slackNotifications: boolean;
397
+ slackWebhookUrl?: string | undefined;
398
+ }, {
399
+ maintenanceMode?: boolean | undefined;
400
+ allowNewSignups?: boolean | undefined;
401
+ defaultTenantPlan?: string | undefined;
402
+ maxUsersPerTenant?: number | undefined;
403
+ maxStoragePerTenant?: number | undefined;
404
+ emailNotifications?: boolean | undefined;
405
+ slackNotifications?: boolean | undefined;
406
+ slackWebhookUrl?: string | undefined;
407
+ }>;
408
+ export type PlatformSettingsInput = z.infer<typeof platformSettingsSchema>;
409
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { booleanType as e, enumType as t, literalType as n, numberType as r, objectType as i, stringType as a } from "../../node_modules/zod/v3/types.js";
2
+ //#region src/admin/schemas/index.ts
3
+ var o = [
4
+ "active",
5
+ "suspended",
6
+ "pending",
7
+ "churned"
8
+ ], s = a(), c = [
9
+ "Free",
10
+ "Starter",
11
+ "Professional",
12
+ "Enterprise",
13
+ "Custom"
14
+ ], l = a(), u = i({
15
+ allowSignup: e().default(!0),
16
+ ssoEnabled: e().default(!1),
17
+ mfaRequired: e().default(!1),
18
+ dataRetentionDays: r().int().min(30).max(3650).default(365),
19
+ customBranding: i({
20
+ primaryColor: a().regex(/^#[0-9A-Fa-f]{6}$/, "Invalid hex color"),
21
+ logoUrl: a().url().optional()
22
+ }).optional()
23
+ }), d = i({
24
+ name: a().min(2, "Name must be at least 2 characters").max(100, "Name must be less than 100 characters"),
25
+ slug: a().min(2, "Slug must be at least 2 characters").max(50, "Slug must be less than 50 characters").regex(/^[a-z0-9-]+$/, "Slug can only contain lowercase letters, numbers, and hyphens"),
26
+ domain: a().optional(),
27
+ ownerEmail: a().email("Invalid email address"),
28
+ billingEmail: a().email("Invalid email address").optional(),
29
+ plan: l.default("Free"),
30
+ settings: u.optional()
31
+ }), f = d.partial().extend({
32
+ id: a(),
33
+ status: s.optional()
34
+ }), p = t([
35
+ "active",
36
+ "inactive",
37
+ "pending",
38
+ "suspended"
39
+ ]), m = t([
40
+ "admin",
41
+ "member",
42
+ "viewer",
43
+ "owner"
44
+ ]), h = i({
45
+ email: a().email("Invalid email address"),
46
+ firstName: a().min(1, "First name is required").max(50, "First name must be less than 50 characters"),
47
+ lastName: a().min(1, "Last name is required").max(50, "Last name must be less than 50 characters"),
48
+ role: m.default("member"),
49
+ tenantId: a().optional(),
50
+ sendInvite: e().default(!0)
51
+ }), g = h.partial().extend({
52
+ id: a(),
53
+ status: p.optional()
54
+ }), _ = t([
55
+ "active",
56
+ "cancelled",
57
+ "past_due",
58
+ "trialing",
59
+ "paused"
60
+ ]), v = t(["monthly", "yearly"]), y = i({
61
+ tenantId: a().min(1, "Tenant is required"),
62
+ plan: l,
63
+ billingCycle: v.default("monthly"),
64
+ seats: r().int().min(1, "At least 1 seat is required").default(1),
65
+ startDate: a().optional(),
66
+ trialEndDate: a().optional()
67
+ }), b = y.partial().extend({
68
+ id: a(),
69
+ status: _.optional()
70
+ }), x = t([
71
+ "low",
72
+ "medium",
73
+ "high",
74
+ "urgent"
75
+ ]), S = t([
76
+ "open",
77
+ "in_progress",
78
+ "waiting",
79
+ "resolved",
80
+ "closed"
81
+ ]), C = t([
82
+ "billing",
83
+ "technical",
84
+ "account",
85
+ "feature_request",
86
+ "other"
87
+ ]), w = i({
88
+ subject: a().min(5, "Subject must be at least 5 characters").max(200, "Subject must be less than 200 characters"),
89
+ description: a().min(10, "Description must be at least 10 characters").max(5e3, "Description must be less than 5000 characters"),
90
+ category: C.default("other"),
91
+ priority: x.default("medium"),
92
+ tenantId: a().optional(),
93
+ userId: a().optional()
94
+ }), T = w.partial().extend({
95
+ id: a(),
96
+ status: S.optional(),
97
+ assigneeId: a().optional()
98
+ }), E = i({
99
+ maintenanceMode: e().default(!1),
100
+ allowNewSignups: e().default(!0),
101
+ defaultTenantPlan: l.default("Free"),
102
+ maxUsersPerTenant: r().int().min(1).max(1e4).default(100),
103
+ maxStoragePerTenant: r().int().min(1).default(10),
104
+ emailNotifications: e().default(!0),
105
+ slackNotifications: e().default(!1),
106
+ slackWebhookUrl: a().url().optional().or(n(""))
107
+ });
108
+ //#endregion
109
+ export { c as TENANT_PLAN_VALUES, o as TENANT_STATUS_VALUES, v as billingCycleSchema, y as createSubscriptionSchema, d as createTenantSchema, w as createTicketSchema, h as createUserSchema, E as platformSettingsSchema, _ as subscriptionStatusSchema, l as tenantPlanSchema, u as tenantSettingsSchema, s as tenantStatusSchema, C as ticketCategorySchema, x as ticketPrioritySchema, S as ticketStatusSchema, b as updateSubscriptionSchema, f as updateTenantSchema, T as updateTicketSchema, g as updateUserSchema, m as userRoleSchema, p as userStatusSchema };
110
+
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/admin/schemas/index.ts"],"sourcesContent":["import { z } from 'zod';\n\n// ============================================================================\n// Tenant Schemas\n// ============================================================================\n\n// Known status values the UI offers as picker options. The schema accepts\n// any non-empty string so a tenant carrying a backend-introduced status\n// (e.g. 'deleted', 'trial', 'provisioning' — see mappers.ts) can flow\n// through the edit form without the form silently rewriting it. Validation\n// of \"is this a real status\" lives at the backend, not the form.\nexport const TENANT_STATUS_VALUES = ['active', 'suspended', 'pending', 'churned'] as const;\nexport const tenantStatusSchema = z.string();\nexport type TenantStatus = (typeof TENANT_STATUS_VALUES)[number];\n\nexport const TENANT_PLAN_VALUES = [\n 'Free',\n 'Starter',\n 'Professional',\n 'Enterprise',\n 'Custom',\n] as const;\nexport const tenantPlanSchema = z.string();\nexport type TenantPlan = (typeof TENANT_PLAN_VALUES)[number];\n\nexport const tenantSettingsSchema = z.object({\n allowSignup: z.boolean().default(true),\n ssoEnabled: z.boolean().default(false),\n mfaRequired: z.boolean().default(false),\n dataRetentionDays: z.number().int().min(30).max(3650).default(365),\n customBranding: z\n .object({\n primaryColor: z.string().regex(/^#[0-9A-Fa-f]{6}$/, 'Invalid hex color'),\n logoUrl: z.string().url().optional(),\n })\n .optional(),\n});\n\nexport const createTenantSchema = z.object({\n name: z\n .string()\n .min(2, 'Name must be at least 2 characters')\n .max(100, 'Name must be less than 100 characters'),\n slug: z\n .string()\n .min(2, 'Slug must be at least 2 characters')\n .max(50, 'Slug must be less than 50 characters')\n .regex(/^[a-z0-9-]+$/, 'Slug can only contain lowercase letters, numbers, and hyphens'),\n domain: z.string().optional(),\n ownerEmail: z.string().email('Invalid email address'),\n billingEmail: z.string().email('Invalid email address').optional(),\n plan: tenantPlanSchema.default('Free'),\n settings: tenantSettingsSchema.optional(),\n});\n\nexport type CreateTenantInput = z.infer<typeof createTenantSchema>;\n\nexport const updateTenantSchema = createTenantSchema.partial().extend({\n id: z.string(),\n status: tenantStatusSchema.optional(),\n});\n\nexport type UpdateTenantInput = z.infer<typeof updateTenantSchema>;\n\n// ============================================================================\n// User Schemas\n// ============================================================================\n\nexport const userStatusSchema = z.enum(['active', 'inactive', 'pending', 'suspended']);\nexport type UserStatus = z.infer<typeof userStatusSchema>;\n\nexport const userRoleSchema = z.enum(['admin', 'member', 'viewer', 'owner']);\nexport type UserRole = z.infer<typeof userRoleSchema>;\n\nexport const createUserSchema = z.object({\n email: z.string().email('Invalid email address'),\n firstName: z\n .string()\n .min(1, 'First name is required')\n .max(50, 'First name must be less than 50 characters'),\n lastName: z\n .string()\n .min(1, 'Last name is required')\n .max(50, 'Last name must be less than 50 characters'),\n role: userRoleSchema.default('member'),\n tenantId: z.string().optional(),\n sendInvite: z.boolean().default(true),\n});\n\nexport type CreateUserInput = z.infer<typeof createUserSchema>;\n\nexport const updateUserSchema = createUserSchema.partial().extend({\n id: z.string(),\n status: userStatusSchema.optional(),\n});\n\nexport type UpdateUserInput = z.infer<typeof updateUserSchema>;\n\n// ============================================================================\n// Subscription Schemas\n// ============================================================================\n\nexport const subscriptionStatusSchema = z.enum([\n 'active',\n 'cancelled',\n 'past_due',\n 'trialing',\n 'paused',\n]);\nexport type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>;\n\nexport const billingCycleSchema = z.enum(['monthly', 'yearly']);\nexport type BillingCycle = z.infer<typeof billingCycleSchema>;\n\nexport const createSubscriptionSchema = z.object({\n tenantId: z.string().min(1, 'Tenant is required'),\n plan: tenantPlanSchema,\n billingCycle: billingCycleSchema.default('monthly'),\n seats: z.number().int().min(1, 'At least 1 seat is required').default(1),\n startDate: z.string().optional(),\n trialEndDate: z.string().optional(),\n});\n\nexport type CreateSubscriptionInput = z.infer<typeof createSubscriptionSchema>;\n\nexport const updateSubscriptionSchema = createSubscriptionSchema.partial().extend({\n id: z.string(),\n status: subscriptionStatusSchema.optional(),\n});\n\nexport type UpdateSubscriptionInput = z.infer<typeof updateSubscriptionSchema>;\n\n// ============================================================================\n// Support Ticket Schemas\n// ============================================================================\n\nexport const ticketPrioritySchema = z.enum(['low', 'medium', 'high', 'urgent']);\nexport type TicketPriority = z.infer<typeof ticketPrioritySchema>;\n\nexport const ticketStatusSchema = z.enum(['open', 'in_progress', 'waiting', 'resolved', 'closed']);\nexport type TicketStatus = z.infer<typeof ticketStatusSchema>;\n\nexport const ticketCategorySchema = z.enum([\n 'billing',\n 'technical',\n 'account',\n 'feature_request',\n 'other',\n]);\nexport type TicketCategory = z.infer<typeof ticketCategorySchema>;\n\nexport const createTicketSchema = z.object({\n subject: z\n .string()\n .min(5, 'Subject must be at least 5 characters')\n .max(200, 'Subject must be less than 200 characters'),\n description: z\n .string()\n .min(10, 'Description must be at least 10 characters')\n .max(5000, 'Description must be less than 5000 characters'),\n category: ticketCategorySchema.default('other'),\n priority: ticketPrioritySchema.default('medium'),\n tenantId: z.string().optional(),\n userId: z.string().optional(),\n});\n\nexport type CreateTicketInput = z.infer<typeof createTicketSchema>;\n\nexport const updateTicketSchema = createTicketSchema.partial().extend({\n id: z.string(),\n status: ticketStatusSchema.optional(),\n assigneeId: z.string().optional(),\n});\n\nexport type UpdateTicketInput = z.infer<typeof updateTicketSchema>;\n\n// ============================================================================\n// Settings Schemas\n// ============================================================================\n\nexport const platformSettingsSchema = z.object({\n maintenanceMode: z.boolean().default(false),\n allowNewSignups: z.boolean().default(true),\n defaultTenantPlan: tenantPlanSchema.default('Free'),\n maxUsersPerTenant: z.number().int().min(1).max(10000).default(100),\n maxStoragePerTenant: z.number().int().min(1).default(10), // GB\n emailNotifications: z.boolean().default(true),\n slackNotifications: z.boolean().default(false),\n slackWebhookUrl: z.string().url().optional().or(z.literal('')),\n});\n\nexport type PlatformSettingsInput = z.infer<typeof platformSettingsSchema>;\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Tenant, User, TenantFilter, UserFilter, AdminView, CloudProvider } from '../types';
2
+
3
+ interface AdminState {
4
+ currentView: AdminView;
5
+ selectedTenant: Tenant | null;
6
+ selectedUser: User | null;
7
+ tenantFilter: TenantFilter;
8
+ userFilter: UserFilter;
9
+ selectedProvider: CloudProvider | 'all';
10
+ selectedEnvironment: string;
11
+ dashboardTimeRange: 'week' | 'month' | 'quarter' | 'year';
12
+ sidebarCollapsed: boolean;
13
+ setCurrentView: (view: AdminView) => void;
14
+ setSelectedTenant: (tenant: Tenant | null) => void;
15
+ setSelectedUser: (user: User | null) => void;
16
+ updateTenantFilter: (filter: Partial<TenantFilter>) => void;
17
+ resetTenantFilter: () => void;
18
+ updateUserFilter: (filter: Partial<UserFilter>) => void;
19
+ resetUserFilter: () => void;
20
+ setSelectedProvider: (provider: CloudProvider | 'all') => void;
21
+ setSelectedEnvironment: (env: string) => void;
22
+ setDashboardTimeRange: (range: AdminState['dashboardTimeRange']) => void;
23
+ setSidebarCollapsed: (collapsed: boolean) => void;
24
+ toggleSidebar: () => void;
25
+ }
26
+ export declare const useAdminStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AdminState>>;
27
+ export {};
28
+ //# sourceMappingURL=adminStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminStore.d.ts","sourceRoot":"","sources":["../../../src/admin/store/adminStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjG,UAAU,UAAU;IAElB,WAAW,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAG1B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IAGvB,gBAAgB,EAAE,aAAa,GAAG,KAAK,CAAC;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAG5B,kBAAkB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAG1D,gBAAgB,EAAE,OAAO,CAAC;IAG1B,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAC5D,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC;IAC/D,sBAAsB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;IACzE,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAmBD,eAAO,MAAM,aAAa,yEA+BvB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { create as e } from "zustand";
2
+ //#region src/admin/store/adminStore.ts
3
+ var t = {
4
+ search: "",
5
+ status: "all",
6
+ plan: "all",
7
+ sortBy: "createdAt",
8
+ sortOrder: "desc"
9
+ }, n = {
10
+ search: "",
11
+ status: "all",
12
+ role: "all",
13
+ tenantId: "all",
14
+ sortBy: "createdAt",
15
+ sortOrder: "desc"
16
+ }, r = e((e) => ({
17
+ currentView: "dashboard",
18
+ selectedTenant: null,
19
+ selectedUser: null,
20
+ tenantFilter: t,
21
+ userFilter: n,
22
+ selectedProvider: "all",
23
+ selectedEnvironment: "production",
24
+ dashboardTimeRange: "month",
25
+ sidebarCollapsed: !1,
26
+ setCurrentView: (t) => e({ currentView: t }),
27
+ setSelectedTenant: (t) => e({ selectedTenant: t }),
28
+ setSelectedUser: (t) => e({ selectedUser: t }),
29
+ updateTenantFilter: (t) => e((e) => ({ tenantFilter: {
30
+ ...e.tenantFilter,
31
+ ...t
32
+ } })),
33
+ resetTenantFilter: () => e({ tenantFilter: t }),
34
+ updateUserFilter: (t) => e((e) => ({ userFilter: {
35
+ ...e.userFilter,
36
+ ...t
37
+ } })),
38
+ resetUserFilter: () => e({ userFilter: n }),
39
+ setSelectedProvider: (t) => e({ selectedProvider: t }),
40
+ setSelectedEnvironment: (t) => e({ selectedEnvironment: t }),
41
+ setDashboardTimeRange: (t) => e({ dashboardTimeRange: t }),
42
+ setSidebarCollapsed: (t) => e({ sidebarCollapsed: t }),
43
+ toggleSidebar: () => e((e) => ({ sidebarCollapsed: !e.sidebarCollapsed }))
44
+ }));
45
+ //#endregion
46
+ export { r as useAdminStore };
47
+
48
+ //# sourceMappingURL=adminStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminStore.js","names":[],"sources":["../../../src/admin/store/adminStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport type { Tenant, User, TenantFilter, UserFilter, AdminView, CloudProvider } from '../types';\n\ninterface AdminState {\n // View state\n currentView: AdminView;\n selectedTenant: Tenant | null;\n selectedUser: User | null;\n\n // Filters\n tenantFilter: TenantFilter;\n userFilter: UserFilter;\n\n // SRE state\n selectedProvider: CloudProvider | 'all';\n selectedEnvironment: string;\n\n // Dashboard state\n dashboardTimeRange: 'week' | 'month' | 'quarter' | 'year';\n\n // UI state\n sidebarCollapsed: boolean;\n\n // Actions\n setCurrentView: (view: AdminView) => void;\n setSelectedTenant: (tenant: Tenant | null) => void;\n setSelectedUser: (user: User | null) => void;\n updateTenantFilter: (filter: Partial<TenantFilter>) => void;\n resetTenantFilter: () => void;\n updateUserFilter: (filter: Partial<UserFilter>) => void;\n resetUserFilter: () => void;\n setSelectedProvider: (provider: CloudProvider | 'all') => void;\n setSelectedEnvironment: (env: string) => void;\n setDashboardTimeRange: (range: AdminState['dashboardTimeRange']) => void;\n setSidebarCollapsed: (collapsed: boolean) => void;\n toggleSidebar: () => void;\n}\n\nconst defaultTenantFilter: TenantFilter = {\n search: '',\n status: 'all',\n plan: 'all',\n sortBy: 'createdAt',\n sortOrder: 'desc',\n};\n\nconst defaultUserFilter: UserFilter = {\n search: '',\n status: 'all',\n role: 'all',\n tenantId: 'all',\n sortBy: 'createdAt',\n sortOrder: 'desc',\n};\n\nexport const useAdminStore = create<AdminState>((set) => ({\n // Initial state\n currentView: 'dashboard',\n selectedTenant: null,\n selectedUser: null,\n tenantFilter: defaultTenantFilter,\n userFilter: defaultUserFilter,\n selectedProvider: 'all',\n selectedEnvironment: 'production',\n dashboardTimeRange: 'month',\n sidebarCollapsed: false,\n\n // Actions\n setCurrentView: (view) => set({ currentView: view }),\n setSelectedTenant: (tenant) => set({ selectedTenant: tenant }),\n setSelectedUser: (user) => set({ selectedUser: user }),\n updateTenantFilter: (filter) =>\n set((state) => ({\n tenantFilter: { ...state.tenantFilter, ...filter },\n })),\n resetTenantFilter: () => set({ tenantFilter: defaultTenantFilter }),\n updateUserFilter: (filter) =>\n set((state) => ({\n userFilter: { ...state.userFilter, ...filter },\n })),\n resetUserFilter: () => set({ userFilter: defaultUserFilter }),\n setSelectedProvider: (provider) => set({ selectedProvider: provider }),\n setSelectedEnvironment: (env) => set({ selectedEnvironment: env }),\n setDashboardTimeRange: (range) => set({ dashboardTimeRange: range }),\n setSidebarCollapsed: (collapsed) => set({ sidebarCollapsed: collapsed }),\n toggleSidebar: () => set((state) => ({ sidebarCollapsed: !state.sidebarCollapsed })),\n}));\n"],"mappings":";;AAsCA,IAAM,IAAoC;CACxC,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,WAAW;CACZ,EAEK,IAAgC;CACpC,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,UAAU;CACV,QAAQ;CACR,WAAW;CACZ,EAEY,IAAgB,GAAoB,OAAS;CAExD,aAAa;CACb,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,YAAY;CACZ,kBAAkB;CAClB,qBAAqB;CACrB,oBAAoB;CACpB,kBAAkB;CAGlB,iBAAiB,MAAS,EAAI,EAAE,aAAa,GAAM,CAAC;CACpD,oBAAoB,MAAW,EAAI,EAAE,gBAAgB,GAAQ,CAAC;CAC9D,kBAAkB,MAAS,EAAI,EAAE,cAAc,GAAM,CAAC;CACtD,qBAAqB,MACnB,GAAK,OAAW,EACd,cAAc;EAAE,GAAG,EAAM;EAAc,GAAG;EAAQ,EACnD,EAAE;CACL,yBAAyB,EAAI,EAAE,cAAc,GAAqB,CAAC;CACnE,mBAAmB,MACjB,GAAK,OAAW,EACd,YAAY;EAAE,GAAG,EAAM;EAAY,GAAG;EAAQ,EAC/C,EAAE;CACL,uBAAuB,EAAI,EAAE,YAAY,GAAmB,CAAC;CAC7D,sBAAsB,MAAa,EAAI,EAAE,kBAAkB,GAAU,CAAC;CACtE,yBAAyB,MAAQ,EAAI,EAAE,qBAAqB,GAAK,CAAC;CAClE,wBAAwB,MAAU,EAAI,EAAE,oBAAoB,GAAO,CAAC;CACpE,sBAAsB,MAAc,EAAI,EAAE,kBAAkB,GAAW,CAAC;CACxE,qBAAqB,GAAK,OAAW,EAAE,kBAAkB,CAAC,EAAM,kBAAkB,EAAE;CACrF,EAAE"}