@aphexcms/cms-core 4.0.0 → 5.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 (318) hide show
  1. package/dist/api/schemas/user.d.ts +10 -0
  2. package/dist/api/schemas/user.d.ts.map +1 -1
  3. package/dist/api/schemas/user.js +10 -0
  4. package/dist/cli/generate-types.d.ts.map +1 -1
  5. package/dist/cli/generate-types.js +14 -9
  6. package/dist/cli/generate-types.js.map +1 -1
  7. package/dist/components/AdminApp.svelte +25 -7
  8. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  9. package/dist/components/admin/DocumentEditor.svelte +63 -11
  10. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  11. package/dist/components/admin/DocumentVersionPanel.svelte +6 -0
  12. package/dist/components/admin/DocumentVersionPanel.svelte.d.ts +3 -1
  13. package/dist/components/admin/DocumentVersionPanel.svelte.d.ts.map +1 -1
  14. package/dist/components/admin/ObjectModal.svelte +55 -12
  15. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
  16. package/dist/components/admin/fields/ArrayField.svelte +15 -15
  17. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +1 -2
  20. package/dist/hooks.d.ts +3 -4
  21. package/dist/hooks.d.ts.map +1 -1
  22. package/dist/hooks.js +20 -99
  23. package/dist/lib/api/schemas/user.d.ts +10 -0
  24. package/dist/lib/api/schemas/user.d.ts.map +1 -1
  25. package/dist/lib/api/schemas/user.js +10 -0
  26. package/dist/lib/api/schemas/user.js.map +1 -1
  27. package/dist/lib/config.d.ts.map +1 -1
  28. package/dist/lib/config.js +1 -2
  29. package/dist/lib/config.js.map +1 -1
  30. package/dist/lib/hooks.d.ts +3 -4
  31. package/dist/lib/hooks.d.ts.map +1 -1
  32. package/dist/lib/hooks.js +20 -99
  33. package/dist/lib/hooks.js.map +1 -1
  34. package/dist/lib/server/api/index.d.ts +55 -0
  35. package/dist/lib/server/api/index.d.ts.map +1 -0
  36. package/dist/lib/server/api/index.js +107 -0
  37. package/dist/lib/server/api/index.js.map +1 -0
  38. package/dist/lib/server/api/routes/assets-bulk.d.ts +4 -0
  39. package/dist/lib/server/api/routes/assets-bulk.d.ts.map +1 -0
  40. package/dist/{routes → lib/server/api/routes}/assets-bulk.js +23 -23
  41. package/dist/lib/server/api/routes/assets-bulk.js.map +1 -0
  42. package/dist/lib/server/api/routes/assets-by-id.d.ts +4 -0
  43. package/dist/lib/server/api/routes/assets-by-id.d.ts.map +1 -0
  44. package/dist/lib/server/api/routes/assets-by-id.js +108 -0
  45. package/dist/lib/server/api/routes/assets-by-id.js.map +1 -0
  46. package/dist/lib/server/api/routes/assets-references.d.ts +15 -0
  47. package/dist/lib/server/api/routes/assets-references.d.ts.map +1 -0
  48. package/dist/lib/server/api/routes/assets-references.js +78 -0
  49. package/dist/lib/server/api/routes/assets-references.js.map +1 -0
  50. package/dist/lib/server/api/routes/assets.d.ts +4 -0
  51. package/dist/lib/server/api/routes/assets.d.ts.map +1 -0
  52. package/dist/{routes → lib/server/api/routes}/assets.js +76 -87
  53. package/dist/lib/server/api/routes/assets.js.map +1 -0
  54. package/dist/lib/server/api/routes/document-versions.d.ts +4 -0
  55. package/dist/lib/server/api/routes/document-versions.d.ts.map +1 -0
  56. package/dist/lib/server/api/routes/document-versions.js +113 -0
  57. package/dist/lib/server/api/routes/document-versions.js.map +1 -0
  58. package/dist/lib/server/api/routes/documents-by-id.d.ts +4 -0
  59. package/dist/lib/server/api/routes/documents-by-id.d.ts.map +1 -0
  60. package/dist/lib/server/api/routes/documents-by-id.js +148 -0
  61. package/dist/lib/server/api/routes/documents-by-id.js.map +1 -0
  62. package/dist/lib/server/api/routes/documents-publish.d.ts +4 -0
  63. package/dist/lib/server/api/routes/documents-publish.d.ts.map +1 -0
  64. package/dist/{routes → lib/server/api/routes}/documents-publish.js +42 -58
  65. package/dist/lib/server/api/routes/documents-publish.js.map +1 -0
  66. package/dist/lib/server/api/routes/documents-query.d.ts +8 -0
  67. package/dist/lib/server/api/routes/documents-query.d.ts.map +1 -0
  68. package/dist/lib/server/api/routes/documents-query.js +75 -0
  69. package/dist/lib/server/api/routes/documents-query.js.map +1 -0
  70. package/dist/lib/server/api/routes/documents.d.ts +4 -0
  71. package/dist/lib/server/api/routes/documents.d.ts.map +1 -0
  72. package/dist/{routes → lib/server/api/routes}/documents.js +55 -76
  73. package/dist/lib/server/api/routes/documents.js.map +1 -0
  74. package/dist/lib/server/api/routes/organizations-by-id.d.ts +4 -0
  75. package/dist/lib/server/api/routes/organizations-by-id.d.ts.map +1 -0
  76. package/dist/{routes → lib/server/api/routes}/organizations-by-id.js +62 -91
  77. package/dist/lib/server/api/routes/organizations-by-id.js.map +1 -0
  78. package/dist/lib/server/api/routes/organizations-invitations.d.ts +10 -0
  79. package/dist/lib/server/api/routes/organizations-invitations.d.ts.map +1 -0
  80. package/dist/{routes → lib/server/api/routes}/organizations-invitations.js +67 -78
  81. package/dist/lib/server/api/routes/organizations-invitations.js.map +1 -0
  82. package/dist/lib/server/api/routes/organizations-members.d.ts +4 -0
  83. package/dist/lib/server/api/routes/organizations-members.d.ts.map +1 -0
  84. package/dist/{routes → lib/server/api/routes}/organizations-members.js +74 -106
  85. package/dist/lib/server/api/routes/organizations-members.js.map +1 -0
  86. package/dist/lib/server/api/routes/organizations-switch.d.ts +4 -0
  87. package/dist/lib/server/api/routes/organizations-switch.d.ts.map +1 -0
  88. package/dist/lib/server/api/routes/organizations-switch.js +54 -0
  89. package/dist/lib/server/api/routes/organizations-switch.js.map +1 -0
  90. package/dist/lib/server/api/routes/organizations.d.ts +4 -0
  91. package/dist/lib/server/api/routes/organizations.d.ts.map +1 -0
  92. package/dist/lib/server/api/routes/organizations.js +99 -0
  93. package/dist/lib/server/api/routes/organizations.js.map +1 -0
  94. package/dist/lib/server/api/routes/roles.d.ts +12 -0
  95. package/dist/lib/server/api/routes/roles.d.ts.map +1 -0
  96. package/dist/lib/server/api/routes/roles.js +219 -0
  97. package/dist/lib/server/api/routes/roles.js.map +1 -0
  98. package/dist/lib/server/api/routes/schemas.d.ts +4 -0
  99. package/dist/lib/server/api/routes/schemas.d.ts.map +1 -0
  100. package/dist/lib/server/api/routes/schemas.js +27 -0
  101. package/dist/lib/server/api/routes/schemas.js.map +1 -0
  102. package/dist/lib/server/api/routes/user-preferences.d.ts +4 -0
  103. package/dist/lib/server/api/routes/user-preferences.d.ts.map +1 -0
  104. package/dist/lib/server/api/routes/user-preferences.js +63 -0
  105. package/dist/lib/server/api/routes/user-preferences.js.map +1 -0
  106. package/dist/lib/server/api/routes/user.d.ts +12 -0
  107. package/dist/lib/server/api/routes/user.d.ts.map +1 -0
  108. package/dist/lib/server/api/routes/user.js +114 -0
  109. package/dist/lib/server/api/routes/user.js.map +1 -0
  110. package/dist/lib/server/index.d.ts +2 -1
  111. package/dist/lib/server/index.d.ts.map +1 -1
  112. package/dist/lib/server/index.js +7 -3
  113. package/dist/lib/server/index.js.map +1 -1
  114. package/dist/lib/types/config.d.ts +28 -29
  115. package/dist/lib/types/config.d.ts.map +1 -1
  116. package/dist/server/api/index.d.ts +55 -0
  117. package/dist/server/api/index.d.ts.map +1 -0
  118. package/dist/server/api/index.js +106 -0
  119. package/dist/server/api/routes/assets-bulk.d.ts +4 -0
  120. package/dist/server/api/routes/assets-bulk.d.ts.map +1 -0
  121. package/dist/{lib → server/api}/routes/assets-bulk.js +22 -24
  122. package/dist/server/api/routes/assets-by-id.d.ts +4 -0
  123. package/dist/server/api/routes/assets-by-id.d.ts.map +1 -0
  124. package/dist/server/api/routes/assets-by-id.js +107 -0
  125. package/dist/server/api/routes/assets-references.d.ts +15 -0
  126. package/dist/server/api/routes/assets-references.d.ts.map +1 -0
  127. package/dist/server/api/routes/assets-references.js +77 -0
  128. package/dist/server/api/routes/assets.d.ts +4 -0
  129. package/dist/server/api/routes/assets.d.ts.map +1 -0
  130. package/dist/{lib → server/api}/routes/assets.js +75 -88
  131. package/dist/server/api/routes/document-versions.d.ts +4 -0
  132. package/dist/server/api/routes/document-versions.d.ts.map +1 -0
  133. package/dist/server/api/routes/document-versions.js +112 -0
  134. package/dist/server/api/routes/documents-by-id.d.ts +4 -0
  135. package/dist/server/api/routes/documents-by-id.d.ts.map +1 -0
  136. package/dist/server/api/routes/documents-by-id.js +147 -0
  137. package/dist/server/api/routes/documents-publish.d.ts +4 -0
  138. package/dist/server/api/routes/documents-publish.d.ts.map +1 -0
  139. package/dist/{lib → server/api}/routes/documents-publish.js +41 -59
  140. package/dist/server/api/routes/documents-query.d.ts +8 -0
  141. package/dist/server/api/routes/documents-query.d.ts.map +1 -0
  142. package/dist/server/api/routes/documents-query.js +74 -0
  143. package/dist/server/api/routes/documents.d.ts +4 -0
  144. package/dist/server/api/routes/documents.d.ts.map +1 -0
  145. package/dist/{lib → server/api}/routes/documents.js +54 -77
  146. package/dist/server/api/routes/organizations-by-id.d.ts +4 -0
  147. package/dist/server/api/routes/organizations-by-id.d.ts.map +1 -0
  148. package/dist/{lib → server/api}/routes/organizations-by-id.js +61 -92
  149. package/dist/server/api/routes/organizations-invitations.d.ts +10 -0
  150. package/dist/server/api/routes/organizations-invitations.d.ts.map +1 -0
  151. package/dist/{lib → server/api}/routes/organizations-invitations.js +66 -79
  152. package/dist/server/api/routes/organizations-members.d.ts +4 -0
  153. package/dist/server/api/routes/organizations-members.d.ts.map +1 -0
  154. package/dist/{lib → server/api}/routes/organizations-members.js +73 -107
  155. package/dist/server/api/routes/organizations-switch.d.ts +4 -0
  156. package/dist/server/api/routes/organizations-switch.d.ts.map +1 -0
  157. package/dist/server/api/routes/organizations-switch.js +53 -0
  158. package/dist/server/api/routes/organizations.d.ts +4 -0
  159. package/dist/server/api/routes/organizations.d.ts.map +1 -0
  160. package/dist/server/api/routes/organizations.js +98 -0
  161. package/dist/server/api/routes/roles.d.ts +12 -0
  162. package/dist/server/api/routes/roles.d.ts.map +1 -0
  163. package/dist/server/api/routes/roles.js +218 -0
  164. package/dist/server/api/routes/schemas.d.ts +4 -0
  165. package/dist/server/api/routes/schemas.d.ts.map +1 -0
  166. package/dist/server/api/routes/schemas.js +26 -0
  167. package/dist/server/api/routes/user-preferences.d.ts +4 -0
  168. package/dist/server/api/routes/user-preferences.d.ts.map +1 -0
  169. package/dist/server/api/routes/user-preferences.js +62 -0
  170. package/dist/server/api/routes/user.d.ts +12 -0
  171. package/dist/server/api/routes/user.d.ts.map +1 -0
  172. package/dist/server/api/routes/user.js +113 -0
  173. package/dist/server/index.d.ts +2 -1
  174. package/dist/server/index.d.ts.map +1 -1
  175. package/dist/server/index.js +7 -3
  176. package/dist/types/config.d.ts +28 -29
  177. package/dist/types/config.d.ts.map +1 -1
  178. package/package.json +4 -2
  179. package/dist/lib/routes/assets-bulk.d.ts +0 -3
  180. package/dist/lib/routes/assets-bulk.d.ts.map +0 -1
  181. package/dist/lib/routes/assets-bulk.js.map +0 -1
  182. package/dist/lib/routes/assets-by-id.d.ts +0 -5
  183. package/dist/lib/routes/assets-by-id.d.ts.map +0 -1
  184. package/dist/lib/routes/assets-by-id.js +0 -116
  185. package/dist/lib/routes/assets-by-id.js.map +0 -1
  186. package/dist/lib/routes/assets-references-counts.d.ts +0 -7
  187. package/dist/lib/routes/assets-references-counts.d.ts.map +0 -1
  188. package/dist/lib/routes/assets-references-counts.js +0 -42
  189. package/dist/lib/routes/assets-references-counts.js.map +0 -1
  190. package/dist/lib/routes/assets-references.d.ts +0 -7
  191. package/dist/lib/routes/assets-references.d.ts.map +0 -1
  192. package/dist/lib/routes/assets-references.js +0 -35
  193. package/dist/lib/routes/assets-references.js.map +0 -1
  194. package/dist/lib/routes/assets.d.ts +0 -4
  195. package/dist/lib/routes/assets.d.ts.map +0 -1
  196. package/dist/lib/routes/assets.js.map +0 -1
  197. package/dist/lib/routes/document-versions.d.ts +0 -5
  198. package/dist/lib/routes/document-versions.d.ts.map +0 -1
  199. package/dist/lib/routes/document-versions.js +0 -114
  200. package/dist/lib/routes/document-versions.js.map +0 -1
  201. package/dist/lib/routes/documents-by-id.d.ts +0 -5
  202. package/dist/lib/routes/documents-by-id.d.ts.map +0 -1
  203. package/dist/lib/routes/documents-by-id.js +0 -188
  204. package/dist/lib/routes/documents-by-id.js.map +0 -1
  205. package/dist/lib/routes/documents-publish.d.ts +0 -4
  206. package/dist/lib/routes/documents-publish.d.ts.map +0 -1
  207. package/dist/lib/routes/documents-publish.js.map +0 -1
  208. package/dist/lib/routes/documents-query.d.ts +0 -26
  209. package/dist/lib/routes/documents-query.d.ts.map +0 -1
  210. package/dist/lib/routes/documents-query.js +0 -104
  211. package/dist/lib/routes/documents-query.js.map +0 -1
  212. package/dist/lib/routes/documents.d.ts +0 -4
  213. package/dist/lib/routes/documents.d.ts.map +0 -1
  214. package/dist/lib/routes/documents.js.map +0 -1
  215. package/dist/lib/routes/index.d.ts +0 -9
  216. package/dist/lib/routes/index.d.ts.map +0 -1
  217. package/dist/lib/routes/index.js +0 -15
  218. package/dist/lib/routes/index.js.map +0 -1
  219. package/dist/lib/routes/organizations-by-id.d.ts +0 -5
  220. package/dist/lib/routes/organizations-by-id.d.ts.map +0 -1
  221. package/dist/lib/routes/organizations-by-id.js.map +0 -1
  222. package/dist/lib/routes/organizations-invitations.d.ts +0 -4
  223. package/dist/lib/routes/organizations-invitations.d.ts.map +0 -1
  224. package/dist/lib/routes/organizations-invitations.js.map +0 -1
  225. package/dist/lib/routes/organizations-members.d.ts +0 -5
  226. package/dist/lib/routes/organizations-members.d.ts.map +0 -1
  227. package/dist/lib/routes/organizations-members.js.map +0 -1
  228. package/dist/lib/routes/organizations-switch.d.ts +0 -3
  229. package/dist/lib/routes/organizations-switch.d.ts.map +0 -1
  230. package/dist/lib/routes/organizations-switch.js +0 -59
  231. package/dist/lib/routes/organizations-switch.js.map +0 -1
  232. package/dist/lib/routes/organizations.d.ts +0 -4
  233. package/dist/lib/routes/organizations.d.ts.map +0 -1
  234. package/dist/lib/routes/organizations.js +0 -117
  235. package/dist/lib/routes/organizations.js.map +0 -1
  236. package/dist/lib/routes/roles-by-name.d.ts +0 -4
  237. package/dist/lib/routes/roles-by-name.d.ts.map +0 -1
  238. package/dist/lib/routes/roles-by-name.js +0 -112
  239. package/dist/lib/routes/roles-by-name.js.map +0 -1
  240. package/dist/lib/routes/roles.d.ts +0 -4
  241. package/dist/lib/routes/roles.d.ts.map +0 -1
  242. package/dist/lib/routes/roles.js +0 -91
  243. package/dist/lib/routes/roles.js.map +0 -1
  244. package/dist/lib/routes/schemas-by-type.d.ts +0 -3
  245. package/dist/lib/routes/schemas-by-type.d.ts.map +0 -1
  246. package/dist/lib/routes/schemas-by-type.js +0 -27
  247. package/dist/lib/routes/schemas-by-type.js.map +0 -1
  248. package/dist/lib/routes/schemas.d.ts +0 -3
  249. package/dist/lib/routes/schemas.d.ts.map +0 -1
  250. package/dist/lib/routes/schemas.js +0 -12
  251. package/dist/lib/routes/schemas.js.map +0 -1
  252. package/dist/lib/routes/user-preferences.d.ts +0 -4
  253. package/dist/lib/routes/user-preferences.d.ts.map +0 -1
  254. package/dist/lib/routes/user-preferences.js +0 -73
  255. package/dist/lib/routes/user-preferences.js.map +0 -1
  256. package/dist/lib/routes-exports.d.ts +0 -20
  257. package/dist/lib/routes-exports.d.ts.map +0 -1
  258. package/dist/lib/routes-exports.js +0 -27
  259. package/dist/lib/routes-exports.js.map +0 -1
  260. package/dist/routes/assets-bulk.d.ts +0 -3
  261. package/dist/routes/assets-bulk.d.ts.map +0 -1
  262. package/dist/routes/assets-by-id.d.ts +0 -5
  263. package/dist/routes/assets-by-id.d.ts.map +0 -1
  264. package/dist/routes/assets-by-id.js +0 -115
  265. package/dist/routes/assets-references-counts.d.ts +0 -7
  266. package/dist/routes/assets-references-counts.d.ts.map +0 -1
  267. package/dist/routes/assets-references-counts.js +0 -41
  268. package/dist/routes/assets-references.d.ts +0 -7
  269. package/dist/routes/assets-references.d.ts.map +0 -1
  270. package/dist/routes/assets-references.js +0 -34
  271. package/dist/routes/assets.d.ts +0 -4
  272. package/dist/routes/assets.d.ts.map +0 -1
  273. package/dist/routes/document-versions.d.ts +0 -5
  274. package/dist/routes/document-versions.d.ts.map +0 -1
  275. package/dist/routes/document-versions.js +0 -113
  276. package/dist/routes/documents-by-id.d.ts +0 -5
  277. package/dist/routes/documents-by-id.d.ts.map +0 -1
  278. package/dist/routes/documents-by-id.js +0 -187
  279. package/dist/routes/documents-publish.d.ts +0 -4
  280. package/dist/routes/documents-publish.d.ts.map +0 -1
  281. package/dist/routes/documents-query.d.ts +0 -26
  282. package/dist/routes/documents-query.d.ts.map +0 -1
  283. package/dist/routes/documents-query.js +0 -103
  284. package/dist/routes/documents.d.ts +0 -4
  285. package/dist/routes/documents.d.ts.map +0 -1
  286. package/dist/routes/index.d.ts +0 -9
  287. package/dist/routes/index.d.ts.map +0 -1
  288. package/dist/routes/index.js +0 -14
  289. package/dist/routes/organizations-by-id.d.ts +0 -5
  290. package/dist/routes/organizations-by-id.d.ts.map +0 -1
  291. package/dist/routes/organizations-invitations.d.ts +0 -4
  292. package/dist/routes/organizations-invitations.d.ts.map +0 -1
  293. package/dist/routes/organizations-members.d.ts +0 -5
  294. package/dist/routes/organizations-members.d.ts.map +0 -1
  295. package/dist/routes/organizations-switch.d.ts +0 -3
  296. package/dist/routes/organizations-switch.d.ts.map +0 -1
  297. package/dist/routes/organizations-switch.js +0 -58
  298. package/dist/routes/organizations.d.ts +0 -4
  299. package/dist/routes/organizations.d.ts.map +0 -1
  300. package/dist/routes/organizations.js +0 -116
  301. package/dist/routes/roles-by-name.d.ts +0 -4
  302. package/dist/routes/roles-by-name.d.ts.map +0 -1
  303. package/dist/routes/roles-by-name.js +0 -111
  304. package/dist/routes/roles.d.ts +0 -4
  305. package/dist/routes/roles.d.ts.map +0 -1
  306. package/dist/routes/roles.js +0 -90
  307. package/dist/routes/schemas-by-type.d.ts +0 -3
  308. package/dist/routes/schemas-by-type.d.ts.map +0 -1
  309. package/dist/routes/schemas-by-type.js +0 -26
  310. package/dist/routes/schemas.d.ts +0 -3
  311. package/dist/routes/schemas.d.ts.map +0 -1
  312. package/dist/routes/schemas.js +0 -11
  313. package/dist/routes/user-preferences.d.ts +0 -4
  314. package/dist/routes/user-preferences.d.ts.map +0 -1
  315. package/dist/routes/user-preferences.js +0 -72
  316. package/dist/routes-exports.d.ts +0 -20
  317. package/dist/routes-exports.d.ts.map +0 -1
  318. package/dist/routes-exports.js +0 -26
@@ -5,6 +5,16 @@ export declare const updateUserRequest: z.ZodObject<{
5
5
  export declare const updateUserPreferencesRequest: z.ZodObject<{
6
6
  includeChildOrganizations: z.ZodOptional<z.ZodBoolean>;
7
7
  }, z.core.$strict>;
8
+ export declare const requestPasswordResetRequest: z.ZodObject<{
9
+ email: z.ZodString;
10
+ redirectTo: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ export declare const resetPasswordRequest: z.ZodObject<{
13
+ token: z.ZodString;
14
+ newPassword: z.ZodString;
15
+ }, z.core.$strip>;
8
16
  export type UpdateUserRequest = z.infer<typeof updateUserRequest>;
9
17
  export type UpdateUserPreferencesRequest = z.infer<typeof updateUserPreferencesRequest>;
18
+ export type RequestPasswordResetRequest = z.infer<typeof requestPasswordResetRequest>;
19
+ export type ResetPasswordRequest = z.infer<typeof resetPasswordRequest>;
10
20
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/api/schemas/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAIH,eAAO,MAAM,4BAA4B;;kBAI/B,CAAC;AAIX,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/api/schemas/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAIH,eAAO,MAAM,4BAA4B;;kBAI/B,CAAC;AAIX,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAIH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAIH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACxF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AACtF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -9,3 +9,13 @@ export const updateUserPreferencesRequest = z
9
9
  includeChildOrganizations: z.boolean().optional()
10
10
  })
11
11
  .strict();
12
+ // ---------- POST /user/request-password-reset ----------
13
+ export const requestPasswordResetRequest = z.object({
14
+ email: z.string().email(),
15
+ redirectTo: z.string().optional()
16
+ });
17
+ // ---------- POST /user/reset-password ----------
18
+ export const resetPasswordRequest = z.object({
19
+ token: z.string().min(1),
20
+ newPassword: z.string().min(1)
21
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAC;AA+K9D;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA4C3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
1
+ {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAC;AAwL9D;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA4C3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
@@ -2,7 +2,7 @@ import { isFieldRequired } from '../lib/field-validation/utils.js';
2
2
  /**
3
3
  * Map Aphex field types to TypeScript types
4
4
  */
5
- function mapFieldTypeToTS(field, schemaMap) {
5
+ function mapFieldTypeToTS(field, schemaMap, inArray = false) {
6
6
  switch (field.type) {
7
7
  case 'string':
8
8
  case 'text':
@@ -26,18 +26,20 @@ function mapFieldTypeToTS(field, schemaMap) {
26
26
  if (!('of' in field) || !field.of || field.of.length === 0) {
27
27
  return 'unknown[]';
28
28
  }
29
- // Map each array item type
29
+ // Map each array item type. Items get `_key?` injected at runtime by
30
+ // ArrayField for stable DnD ordering; reflect that in the type.
30
31
  const types = field.of
31
32
  .map((item) => {
32
33
  // Check if it's a reference to a named object schema
33
34
  const refSchema = schemaMap.get(item.type);
34
35
  if (refSchema && refSchema.type === 'object') {
35
- // Named reference - use the schema name
36
- return pascalCase(item.type);
36
+ // Named reference already has `_type?` baked into its
37
+ // interface, just intersect with `_key?`.
38
+ return `(${pascalCase(item.type)} & { _key?: string })`;
37
39
  }
38
- // Otherwise, it's either an inline object or a primitive
39
- // Recursively map it (will handle object, text, string, etc.)
40
- return mapFieldTypeToTS(item, schemaMap);
40
+ // Inline object or primitive recurse with inArray=true so
41
+ // inline object items pick up `_key?` and `_type?`.
42
+ return mapFieldTypeToTS(item, schemaMap, true);
41
43
  })
42
44
  .filter((t) => t !== 'unknown');
43
45
  if (types.length === 0) {
@@ -49,7 +51,10 @@ function mapFieldTypeToTS(field, schemaMap) {
49
51
  if (!('fields' in field) || !field.fields) {
50
52
  return 'Record<string, unknown>';
51
53
  }
52
- // Generate inline interface for object fields
54
+ // Generate inline interface for object fields. When this object is
55
+ // itself an array item, prepend the runtime-only `_key?` and
56
+ // `_type?` discriminator props.
57
+ const arrayMeta = inArray ? ' _key?: string;\n _type?: string;\n' : '';
53
58
  const props = field.fields
54
59
  .map((f) => {
55
60
  const tsType = mapFieldTypeToTS(f, schemaMap);
@@ -57,7 +62,7 @@ function mapFieldTypeToTS(field, schemaMap) {
57
62
  return ` ${f.name}${optional}: ${tsType};`;
58
63
  })
59
64
  .join('\n');
60
- return `{\n${props}\n}`;
65
+ return `{\n${arrayMeta}${props}\n}`;
61
66
  }
62
67
  case 'reference': {
63
68
  // References store document ID as string
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE;;GAEG;AACH,SAAS,gBAAgB,CACxB,KAAY,EACZ,SAAkC,EAClC,OAAO,GAAG,KAAK;IAEf,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACT,OAAO,QAAQ,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM;YACV,oDAAoD;YACpD,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU;YACd,6EAA6E;YAC7E,OAAO,QAAQ,CAAC;QACjB,KAAK,OAAO;YACX,wCAAwC;YACxC,OAAO,QAAQ,CAAC,CAAC,WAAW;QAC7B,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACpB,CAAC;YACD,qEAAqE;YACrE,gEAAgE;YAChE,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE;iBACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,qDAAqD;gBACrD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9C,wDAAwD;oBACxD,0CAA0C;oBAC1C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;gBACzD,CAAC;gBACD,4DAA4D;gBAC5D,oDAAoD;gBACpD,OAAO,gBAAgB,CAAC,IAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,WAAW,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7E,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,yBAAyB,CAAC;YAClC,CAAC;YACD,mEAAmE;YACnE,6DAA6D;YAC7D,gCAAgC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC;QACrC,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,yCAAyC;YACzC,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC9B,OAAO,GAAG;SACR,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAY;IACpC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAkB,EAAE,SAAkC;IAChF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,wDAAwD;QACxD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAY,CAAC;gBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,YAAY,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,sDAAsD,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,KAAY,CAAC;gBACnC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,IAAI,YAAY,CAAC;gBACrE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC;gBAChE,KAAK,CAAC,IAAI,CACT,2EAA2E,UAAU,IAAI,UAAU,EAAE,CACrG,CAAC;YACH,CAAC;YAED,OAAO,GAAG,eAAe,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAC3D,CAAC;QAED,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,qEAAqE;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;IAC9C,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAU,EAAE,CAAC;QAChB,WAAW,GAAG;;EAEd,MAAM;;;;;;;;;;;;KAYH,CAAC;IACL,CAAC;SAAM,CAAC;QACP,2DAA2D;QAC3D,WAAW,GAAG;;EAEd,MAAM,EAAE,CAAC;IACV,CAAC;IAED,OAAO,oBAAoB,aAAa,OAAO,WAAW,KAAK,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CAAC,eAA6B;IACrE,MAAM,QAAQ,GAAG,eAAe;SAC9B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,OAAO,MAAM,CAAC,IAAI,mBAAmB,aAAa,IAAI,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;;EAEN,QAAQ;;EAER,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAqB;IAClD,gCAAgC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,qCAAqC;IACrC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAEjE,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChG,MAAM,kBAAkB,GAAG,eAAe;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC3C,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,8CAA8C;IAC9C,MAAM,uBAAuB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAEjF,0BAA0B;IAC1B,MAAM,MAAM,GAAG;;;;;;;;;;EAUd,gBAAgB;;;;;;EAMhB,kBAAkB;;;;;;EAMlB,uBAAuB;CACxB,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,UAAkB,EAClB,UAAkB;IAElB,IAAI,CAAC;QACJ,sDAAsD;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAEnE,kEAAkE;QAClE,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;QAC1C,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEpF,MAAM,KAAK,CAAC;gBACX,WAAW,EAAE,CAAC,kBAAkB,CAAC;gBACjC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,cAAc;wBACpB,KAAK,CAAC,KAAK;4BACV,8DAA8D;4BAC9D,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gCACxD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;4BACtD,CAAC,CAAC,CAAC;4BAEH,uCAAuC;4BACvC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE;gCAC7D,OAAO;oCACN,QAAQ,EAAE,mBAAmB;oCAC7B,MAAM,EAAE,IAAI;iCACZ,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,yDAAyD;4BACzD,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gCACrD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gCAEtD,8EAA8E;gCAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gCAExE,OAAO;oCACN,QAAQ,EAAE,WAAW;oCACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;iCAC/C,CAAC;4BACH,CAAC,CAAC,CAAC;wBACJ,CAAC;qBACD;iBACD;aACD,CAAC,CAAC;YAEH,gBAAgB,GAAG,WAAW,CAAC;YAC/B,QAAQ,GAAG,WAAW,CAAC;QACxB,CAAC;QAED,kCAAkC;QAClC,wCAAwC;QACxC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC;QAEjE,gCAAgC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,wBAAwB;YACzB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAE9C,uBAAuB;QACvB,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,sCAAsC,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
@@ -751,12 +751,23 @@
751
751
  activeEditorIndex = index;
752
752
  }
753
753
 
754
+ let versionPanelRef = $state<{ refresh: () => void } | null>(null);
755
+
754
756
  function handleAutoSave(documentId: string, title: string) {
755
757
  if (documentsList.length > 0) {
756
758
  documentsList = documentsList.map((doc) =>
757
759
  doc.id === documentId ? { ...doc, title: title } : doc
758
760
  );
759
761
  }
762
+ if (showVersionPanel && versionPanelDocId === documentId) {
763
+ versionPanelRef?.refresh();
764
+ }
765
+ }
766
+
767
+ function handleDocumentPublished(documentId: string) {
768
+ if (showVersionPanel && versionPanelDocId === documentId) {
769
+ versionPanelRef?.refresh();
770
+ }
760
771
  }
761
772
 
762
773
  async function fetchDocumentForEditing(docId: string) {
@@ -1458,17 +1469,20 @@
1458
1469
  }
1459
1470
  }}
1460
1471
  onAutoSaved={handleAutoSave}
1461
- onPublished={async (_) => {
1472
+ onPublished={async (docId) => {
1473
+ handleDocumentPublished(docId);
1462
1474
  if (selectedDocumentType) {
1463
1475
  await fetchDocuments(selectedDocumentType);
1464
1476
  }
1465
1477
  }}
1466
- onUnpublished={async (_) => {
1478
+ onUnpublished={async (docId) => {
1479
+ handleDocumentPublished(docId);
1467
1480
  if (selectedDocumentType) {
1468
1481
  await fetchDocuments(selectedDocumentType);
1469
1482
  }
1470
1483
  }}
1471
- onRestored={async (_) => {
1484
+ onRestored={async (docId) => {
1485
+ handleDocumentPublished(docId);
1472
1486
  if (selectedDocumentType) {
1473
1487
  await fetchDocuments(selectedDocumentType);
1474
1488
  }
@@ -1533,18 +1547,21 @@
1533
1547
  ? versionPreviewData
1534
1548
  : null}
1535
1549
  onSaved={async () => {}}
1536
- onAutoSaved={() => {}}
1537
- onPublished={async () => {
1550
+ onAutoSaved={handleAutoSave}
1551
+ onPublished={async (docId) => {
1552
+ handleDocumentPublished(docId);
1538
1553
  if (selectedDocumentType) {
1539
1554
  await fetchDocuments(selectedDocumentType);
1540
1555
  }
1541
1556
  }}
1542
- onUnpublished={async () => {
1557
+ onUnpublished={async (docId) => {
1558
+ handleDocumentPublished(docId);
1543
1559
  if (selectedDocumentType) {
1544
1560
  await fetchDocuments(selectedDocumentType);
1545
1561
  }
1546
1562
  }}
1547
- onRestored={async () => {
1563
+ onRestored={async (docId) => {
1564
+ handleDocumentPublished(docId);
1548
1565
  if (selectedDocumentType) {
1549
1566
  await fetchDocuments(selectedDocumentType);
1550
1567
  }
@@ -1581,6 +1598,7 @@
1581
1598
  class="border-rule h-full w-[280px] min-w-[250px] overflow-y-auto border-l transition-all duration-200"
1582
1599
  >
1583
1600
  <DocumentVersionPanel
1601
+ bind:this={versionPanelRef}
1584
1602
  documentId={versionPanelDocId}
1585
1603
  onClose={handleCloseVersionPanel}
1586
1604
  onPreviewVersion={(v) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AdminApp.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/components/AdminApp.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA2BnE,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAChD;AAq5CF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"AdminApp.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/components/AdminApp.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA2BnE,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAChD;AAs6CF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -188,6 +188,37 @@
188
188
  const activePreview = $derived(externalVersionPreview || previewingVersion);
189
189
  const isPreviewingVersion = $derived(!!activePreview);
190
190
 
191
+ // Version list state — kept in component state so we can refresh it after
192
+ // autosaves while the panel is open (otherwise new history events are
193
+ // invisible until the panel is closed and reopened).
194
+ let versionsList = $state<any[]>([]);
195
+ let versionsLoading = $state(false);
196
+ let versionsError = $state(false);
197
+
198
+ async function loadVersions() {
199
+ if (!documentId) return;
200
+ versionsLoading = true;
201
+ versionsError = false;
202
+ try {
203
+ const response = await documents.listVersions(documentId);
204
+ if (response.success && response.data) {
205
+ versionsList = response.data;
206
+ } else {
207
+ versionsError = true;
208
+ }
209
+ } catch {
210
+ versionsError = true;
211
+ } finally {
212
+ versionsLoading = false;
213
+ }
214
+ }
215
+
216
+ $effect(() => {
217
+ if (showVersionHistory && documentId) {
218
+ loadVersions();
219
+ }
220
+ });
221
+
191
222
  // Ticker to keep relative time updating
192
223
  let now = $state(Date.now());
193
224
  let tickerInterval: ReturnType<typeof setInterval> | null = null;
@@ -617,6 +648,9 @@
617
648
  onAutoSaved(documentId, getPreviewTitle());
618
649
  }
619
650
  }
651
+ if (showVersionHistory) {
652
+ loadVersions();
653
+ }
620
654
  } else {
621
655
  throw new Error(response?.error || 'Failed to save document');
622
656
  }
@@ -641,6 +675,17 @@
641
675
  async function publishDocument() {
642
676
  if (!documentId || saving) return;
643
677
 
678
+ // Flush any pending debounced autosave so we publish the user's latest
679
+ // edits, not the previously-saved draft.
680
+ if (autoSaveTimer) {
681
+ clearTimeout(autoSaveTimer);
682
+ autoSaveTimer = null;
683
+ }
684
+ if (hasUnsavedChanges) {
685
+ await saveDocument(false);
686
+ if (saveError) return;
687
+ }
688
+
644
689
  // Check for validation errors before publishing (Sanity-style)
645
690
  const invalid = await validateAllFields();
646
691
 
@@ -668,7 +713,13 @@
668
713
  const response = await documents.publish(documentId);
669
714
 
670
715
  if (response.success && response.data) {
671
- // Update local state with new published hash
716
+ // Update local state with new published hash. Sync documentData from
717
+ // the response too — the server normalises data (e.g. dates) before
718
+ // hashing for the published_hash, so the client must use the same
719
+ // normalised values, otherwise hasUnpublishedChanges always returns
720
+ // true and the publish button never disables.
721
+ const { id: _id, _meta: _m, ...syncedData } = response.data as any;
722
+ documentData = syncedData;
672
723
  fullDocument = response.data;
673
724
  lastSaved = new Date();
674
725
  publishSuccess = new Date();
@@ -679,6 +730,9 @@
679
730
  if (onPublished && documentId) {
680
731
  onPublished(documentId);
681
732
  }
733
+ if (showVersionHistory) {
734
+ loadVersions();
735
+ }
682
736
  } else {
683
737
  throw new Error(response.error || 'Failed to publish document');
684
738
  }
@@ -1429,14 +1483,17 @@
1429
1483
  </button>
1430
1484
  </div>
1431
1485
  <div class="flex-1 overflow-auto">
1432
- {#await documents.listVersions(documentId)}
1486
+ {#if versionsLoading && versionsList.length === 0}
1433
1487
  <div class="p-4 text-center">
1434
1488
  <span class="text-muted-foreground text-sm">Loading versions...</span>
1435
1489
  </div>
1436
- {:then response}
1437
- {#if response.success && response.data && response.data.length > 0}
1438
- <div class="divide-y">
1439
- {#each response.data as version}
1490
+ {:else if versionsError}
1491
+ <div class="p-4 text-center">
1492
+ <span class="text-destructive text-sm">Failed to load versions</span>
1493
+ </div>
1494
+ {:else if versionsList.length > 0}
1495
+ <div class="divide-y">
1496
+ {#each versionsList as version}
1440
1497
  <button
1441
1498
  class="hover:bg-muted w-full space-y-1 px-4 py-3 text-left transition-colors {previewingVersion?.versionNumber ===
1442
1499
  version.versionNumber
@@ -1481,11 +1538,6 @@
1481
1538
  <span class="text-muted-foreground text-sm">No versions yet</span>
1482
1539
  </div>
1483
1540
  {/if}
1484
- {:catch}
1485
- <div class="p-4 text-center">
1486
- <span class="text-destructive text-sm">Failed to load versions</span>
1487
- </div>
1488
- {/await}
1489
1541
  </div>
1490
1542
  </div>
1491
1543
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentEditor.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentEditor.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAaxD,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,sBAAsB,CAAC,EAAE;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AA+5CF,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DocumentEditor.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentEditor.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAaxD,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,sBAAsB,CAAC,EAAE;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAm9CF,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -34,6 +34,12 @@
34
34
  loadVersions();
35
35
  });
36
36
 
37
+ // Exposed so the parent (AdminApp) can refresh the list after autosave /
38
+ // publish events without remounting the panel.
39
+ export function refresh() {
40
+ return loadVersions();
41
+ }
42
+
37
43
  async function loadVersions() {
38
44
  loading = true;
39
45
  try {
@@ -9,7 +9,9 @@ interface Props {
9
9
  createdAt?: string;
10
10
  } | null) => void;
11
11
  }
12
- declare const DocumentVersionPanel: import("svelte").Component<Props, {}, "">;
12
+ declare const DocumentVersionPanel: import("svelte").Component<Props, {
13
+ refresh: () => Promise<void>;
14
+ }, "">;
13
15
  type DocumentVersionPanel = ReturnType<typeof DocumentVersionPanel>;
14
16
  export default DocumentVersionPanel;
15
17
  //# sourceMappingURL=DocumentVersionPanel.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentVersionPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentVersionPanel.svelte.ts"],"names":[],"mappings":"AASC,UAAU,KAAK;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAClB,OAAO,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,KACJ,IAAI,CAAC;CACV;AA4HF,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DocumentVersionPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentVersionPanel.svelte.ts"],"names":[],"mappings":"AASC,UAAU,KAAK;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAClB,OAAO,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,KACJ,IAAI,CAAC;CACV;AAkIF,QAAA,MAAM,oBAAoB;;MAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
@@ -1,3 +1,12 @@
1
+ <script lang="ts" module>
2
+ // Module-level modal stack so nested ObjectModals don't fight over click
3
+ // targets and z-index. Plain (non-reactive) variable on purpose — it's
4
+ // only read inside event handlers, never inside derived/effect bodies,
5
+ // so we don't want a write to one modal's open state to retrigger
6
+ // effects in sibling modals.
7
+ let modalStack = 0;
8
+ </script>
9
+
1
10
  <script lang="ts">
2
11
  import { Button } from '@aphexcms/ui/shadcn/button';
3
12
  import type { SchemaType } from '../../types/schemas.js';
@@ -28,37 +37,71 @@
28
37
  organizationId
29
38
  }: Props = $props();
30
39
 
31
- // Handle backdrop click
32
- function handleBackdropClick(e: MouseEvent) {
33
- if (e.target === e.currentTarget) {
34
- onClose();
40
+ let myDepth = $state(0);
41
+
42
+ $effect(() => {
43
+ if (open) {
44
+ modalStack += 1;
45
+ myDepth = modalStack;
46
+ return () => {
47
+ modalStack -= 1;
48
+ myDepth = 0;
49
+ };
35
50
  }
51
+ });
52
+
53
+ const backdropZ = $derived(50 + Math.max(myDepth - 1, 0) * 10);
54
+ const panelZ = $derived(backdropZ + 1);
55
+
56
+ // Handle backdrop click — only close if this is the topmost modal, so a
57
+ // click that visually lands on a parent's backdrop (because the inner
58
+ // backdrop doesn't extend that far) doesn't accidentally close the
59
+ // parent.
60
+ function isTopmost(): boolean {
61
+ return myDepth === modalStack;
62
+ }
63
+
64
+ function handleBackdropClick(e: MouseEvent) {
65
+ if (e.target !== e.currentTarget) return;
66
+ if (!isTopmost()) return;
67
+ onClose();
36
68
  }
37
69
 
38
- // Handle escape key
39
70
  function handleKeydown(e: KeyboardEvent) {
40
- if (e.key === 'Escape') {
71
+ if (e.key === 'Escape' && isTopmost()) {
41
72
  onClose();
42
73
  }
43
74
  }
44
75
  </script>
45
76
 
46
77
  {#if open}
47
- <!-- Backdrop: full-editor overlay -->
78
+ <!-- NOTE: scoped to the editor area via `absolute inset-0` (DocumentEditor
79
+ is the nearest positioned ancestor). The trade-off: a nested modal's
80
+ backdrop only covers its parent panel, so clicks in the truly
81
+ "outside" region land on the grandparent backdrop. The modalStack
82
+ check above neutralises that case (only the topmost modal reacts).
83
+ We may later move this to a viewport-level portal so nested
84
+ backdrops cover the full screen, but for now keeping it inside the
85
+ editor is the design we want. -->
48
86
  <div
49
- class="bg-background/80 absolute inset-0 z-50 backdrop-blur-xs"
87
+ class="bg-background/80 absolute inset-0 backdrop-blur-xs"
88
+ style="z-index: {backdropZ}"
50
89
  onclick={handleBackdropClick}
51
90
  onkeydown={handleKeydown}
52
91
  role="button"
53
92
  tabindex="-1"
54
93
  ></div>
55
94
 
56
- <!-- Panel: centered dialog with max-width and max-height -->
95
+ <!-- Panel: centered dialog. max-h is relative to the editor container
96
+ so tall schemas scroll inside the panel instead of being clipped;
97
+ min-h-0 on the body (below) is what actually lets the inner
98
+ overflow-auto take effect inside this flex column. -->
57
99
  <div
58
- class="border-border bg-background absolute top-1/2 left-1/2 z-50 flex max-h-[calc(100%-4rem)] w-[calc(100%-2rem)] max-w-3xl -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-lg border shadow-lg"
100
+ class="border-border bg-background absolute top-1/2 left-1/2 flex max-h-[calc(100%-4rem)] w-[calc(100%-2rem)] max-w-3xl -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-lg border shadow-lg"
101
+ style="z-index: {panelZ}"
59
102
  >
60
103
  <div
61
- class="border-border bg-background flex items-center justify-between gap-3 border-b px-4 py-2"
104
+ class="border-border bg-background flex shrink-0 items-center justify-between gap-3 border-b px-4 py-2"
62
105
  >
63
106
  <span class="text-sm font-medium">Edit {schema.title}</span>
64
107
  <div class="flex items-center gap-2">
@@ -99,7 +142,7 @@
99
142
  </div>
100
143
  </div>
101
144
 
102
- <div class="bg-background flex-1 space-y-3 overflow-auto p-4">
145
+ <div class="bg-background min-h-0 flex-1 space-y-3 overflow-auto p-4">
103
146
  {#if schema.fields}
104
147
  {#each schema.fields as field, index (index)}
105
148
  <SchemaField
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/ObjectModal.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKxD,UAAU,KAAK;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAqFF,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ObjectModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/ObjectModal.svelte.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKxD,UAAU,KAAK;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AA6GF,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -756,35 +756,35 @@
756
756
  {@const sortable = createSortable({ id: item._key, index, disabled: readonly })}
757
757
  <div
758
758
  {@attach sortable.attach}
759
- class="border-border/50 bg-background hover:bg-muted/50 flex h-10 items-center gap-1 rounded border px-1 transition-colors"
759
+ class="border-border/50 bg-background hover:bg-muted/50 flex min-h-11 items-center gap-1 rounded border pl-1 transition-colors"
760
760
  class:opacity-50={sortable.isDragging}
761
761
  >
762
762
  <!-- Drag handle -->
763
763
  {#if !readonly}
764
764
  <button
765
765
  {@attach sortable.attachHandle}
766
- class="text-muted-foreground hover:text-foreground flex h-8 w-6 cursor-grab items-center justify-center active:cursor-grabbing"
766
+ class="text-muted-foreground hover:text-foreground flex h-9 w-7 shrink-0 cursor-grab items-center justify-center active:cursor-grabbing"
767
767
  >
768
768
  <GripVertical class="h-4 w-4" />
769
769
  </button>
770
770
  {/if}
771
771
 
772
- <!-- Type icon -->
773
- <div class="text-muted-foreground flex h-8 w-8 shrink-0 items-center justify-center">
774
- {#if getItemIcon(item)}
775
- {@const Icon = getItemIcon(item)}
776
- <Icon class="h-4 w-4" />
777
- {:else}
778
- <FileText class="h-4 w-4" />
779
- {/if}
780
- </div>
781
-
782
- <!-- Title (clickable to edit) -->
772
+ <!-- Title (clickable to edit) — wraps the type icon so the whole
773
+ row body is a generous click target instead of just the
774
+ truncated title text. -->
783
775
  <button
784
- class="flex-1 cursor-pointer truncate text-left text-sm"
776
+ class="flex flex-1 cursor-pointer items-center gap-2 self-stretch truncate px-1 py-2 text-left text-sm"
785
777
  onclick={() => handleEditItem(index)}
786
778
  >
787
- {getItemTitle(item)}
779
+ <span class="text-muted-foreground flex h-5 w-5 shrink-0 items-center justify-center">
780
+ {#if getItemIcon(item)}
781
+ {@const Icon = getItemIcon(item)}
782
+ <Icon class="h-4 w-4" />
783
+ {:else}
784
+ <FileText class="h-4 w-4" />
785
+ {/if}
786
+ </span>
787
+ <span class="truncate">{getItemTitle(item)}</span>
788
788
  </button>
789
789
 
790
790
  <!-- Context menu -->
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/ArrayField.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAyBtF,UAAU,KAAK;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AA0xBF,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ArrayField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/ArrayField.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAyBtF,UAAU,KAAK;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAwxBF,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAc5D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAa5D"}
package/dist/config.js CHANGED
@@ -9,7 +9,6 @@ export function createCMSConfig(config) {
9
9
  ...config.customization?.branding
10
10
  },
11
11
  ...config.customization
12
- },
13
- plugins: config.plugins ?? []
12
+ }
14
13
  };
15
14
  }
package/dist/hooks.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Handle } from '@sveltejs/kit';
2
+ import type { Hono } from 'hono';
2
3
  import type { CMSConfig } from './types/index.js';
3
4
  import type { DatabaseAdapter } from './db/index.js';
4
5
  import type { AssetService } from './services/asset-service.js';
@@ -9,6 +10,7 @@ import type { GraphQLSettings } from './graphql/index.js';
9
10
  import { RolesService } from './services/roles-service.js';
10
11
  import { CMSEngine } from './engine.js';
11
12
  import { type LocalAPI } from './local-api/index.js';
13
+ import { type AphexEnv } from './server/api/index.js';
12
14
  export interface CMSInstances {
13
15
  config: CMSConfig;
14
16
  assetService: AssetService;
@@ -20,10 +22,7 @@ export interface CMSInstances {
20
22
  rolesService: RolesService;
21
23
  auth?: AuthProvider;
22
24
  graphqlSettings?: GraphQLSettings | null;
23
- pluginRoutes?: Map<string, {
24
- handler: (event: any) => Promise<Response> | Response;
25
- pluginName: string;
26
- }>;
25
+ apiApp: Hono<AphexEnv>;
27
26
  }
28
27
  export declare function createCMSHook(config: CMSConfig): Handle;
29
28
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,GAAG,CACjB,MAAM,EACN;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAC7E,CAAC;CACF;AAiFD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CA8LvD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAIN,KAAK,QAAQ,EACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;CACvB;AA0BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAgJvD"}