@aphexcms/cms-core 0.1.11 → 0.1.13

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/dist/api/assets.d.ts +48 -0
  3. package/dist/api/assets.d.ts.map +1 -0
  4. package/dist/api/assets.js +52 -0
  5. package/dist/api/client.d.ts +37 -0
  6. package/dist/api/client.d.ts.map +1 -0
  7. package/dist/api/client.js +125 -0
  8. package/dist/api/documents.d.ts +57 -0
  9. package/dist/api/documents.d.ts.map +1 -0
  10. package/dist/api/documents.js +85 -0
  11. package/dist/api/index.d.ts +7 -0
  12. package/dist/api/index.d.ts.map +1 -0
  13. package/dist/api/index.js +5 -0
  14. package/dist/api/organizations.d.ts +101 -0
  15. package/dist/api/organizations.d.ts.map +1 -0
  16. package/dist/api/organizations.js +92 -0
  17. package/dist/api/types.d.ts +45 -0
  18. package/dist/api/types.d.ts.map +1 -0
  19. package/dist/api/types.js +1 -0
  20. package/dist/auth/auth-errors.d.ts +7 -0
  21. package/dist/auth/auth-errors.d.ts.map +1 -0
  22. package/dist/auth/auth-errors.js +13 -0
  23. package/dist/auth/auth-hooks.d.ts +6 -0
  24. package/dist/auth/auth-hooks.d.ts.map +1 -0
  25. package/dist/auth/auth-hooks.js +122 -0
  26. package/dist/auth/provider.d.ts +17 -0
  27. package/dist/auth/provider.d.ts.map +1 -0
  28. package/dist/auth/provider.js +1 -0
  29. package/dist/cli/generate-types.js +218 -0
  30. package/dist/cli/index.js +86 -0
  31. package/dist/client/index.d.ts +24 -0
  32. package/dist/client/index.d.ts.map +1 -0
  33. package/{src/lib/client/index.ts → dist/client/index.js} +7 -18
  34. package/{src/lib → dist}/components/AdminApp.svelte +26 -55
  35. package/dist/components/AdminApp.svelte.d.ts +24 -0
  36. package/dist/components/AdminApp.svelte.d.ts.map +1 -0
  37. package/dist/components/admin/AdminLayout.svelte.d.ts +15 -0
  38. package/dist/components/admin/AdminLayout.svelte.d.ts.map +1 -0
  39. package/{src/lib → dist}/components/admin/DocumentEditor.svelte +60 -14
  40. package/dist/components/admin/DocumentEditor.svelte.d.ts +18 -0
  41. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -0
  42. package/dist/components/admin/DocumentTypesList.svelte.d.ts +14 -0
  43. package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +1 -0
  44. package/dist/components/admin/ObjectModal.svelte.d.ts +15 -0
  45. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -0
  46. package/dist/components/admin/SchemaField.svelte.d.ts +19 -0
  47. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -0
  48. package/dist/components/admin/fields/ArrayField.svelte.d.ts +12 -0
  49. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -0
  50. package/dist/components/admin/fields/BooleanField.svelte.d.ts +13 -0
  51. package/dist/components/admin/fields/BooleanField.svelte.d.ts.map +1 -0
  52. package/dist/components/admin/fields/ImageField.svelte.d.ts +15 -0
  53. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -0
  54. package/dist/components/admin/fields/NumberField.svelte.d.ts +14 -0
  55. package/dist/components/admin/fields/NumberField.svelte.d.ts.map +1 -0
  56. package/{src/lib → dist}/components/admin/fields/ReferenceField.svelte +2 -3
  57. package/dist/components/admin/fields/ReferenceField.svelte.d.ts +12 -0
  58. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -0
  59. package/dist/components/admin/fields/SlugField.svelte.d.ts +15 -0
  60. package/dist/components/admin/fields/SlugField.svelte.d.ts.map +1 -0
  61. package/dist/components/admin/fields/StringField.svelte.d.ts +14 -0
  62. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -0
  63. package/dist/components/admin/fields/TextareaField.svelte.d.ts +14 -0
  64. package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +1 -0
  65. package/dist/components/fields/index.d.ts +9 -0
  66. package/dist/components/fields/index.d.ts.map +1 -0
  67. package/dist/components/index.d.ts +7 -0
  68. package/dist/components/index.d.ts.map +1 -0
  69. package/{src/lib/components/index.ts → dist/components/index.js} +1 -5
  70. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts +11 -0
  71. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -0
  72. package/dist/components/layout/Sidebar.svelte.d.ts +14 -0
  73. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -0
  74. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +11 -0
  75. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -0
  76. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +19 -0
  77. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -0
  78. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts +9 -0
  79. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts.map +1 -0
  80. package/dist/components/layout/sidebar/NavUser.svelte.d.ts +9 -0
  81. package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -0
  82. package/dist/config.d.ts +3 -0
  83. package/dist/config.d.ts.map +1 -0
  84. package/dist/config.js +15 -0
  85. package/dist/db/adapters/index.d.ts +1 -0
  86. package/dist/db/adapters/index.d.ts.map +1 -0
  87. package/{src/lib/db/adapters/index.ts → dist/db/adapters/index.js} +1 -0
  88. package/dist/db/index.d.ts +2 -0
  89. package/dist/db/index.d.ts.map +1 -0
  90. package/{src/lib/db/index.ts → dist/db/index.js} +1 -2
  91. package/dist/db/interfaces/asset.d.ts +73 -0
  92. package/dist/db/interfaces/asset.d.ts.map +1 -0
  93. package/dist/db/interfaces/asset.js +1 -0
  94. package/dist/db/interfaces/document.d.ts +61 -0
  95. package/dist/db/interfaces/document.d.ts.map +1 -0
  96. package/dist/db/interfaces/document.js +1 -0
  97. package/dist/db/interfaces/index.d.ts +73 -0
  98. package/dist/db/interfaces/index.d.ts.map +1 -0
  99. package/dist/db/interfaces/index.js +1 -0
  100. package/dist/db/interfaces/organization.d.ts +27 -0
  101. package/dist/db/interfaces/organization.d.ts.map +1 -0
  102. package/dist/db/interfaces/organization.js +1 -0
  103. package/dist/db/interfaces/schema.d.ts +21 -0
  104. package/dist/db/interfaces/schema.d.ts.map +1 -0
  105. package/dist/db/interfaces/schema.js +1 -0
  106. package/dist/db/interfaces/user.d.ts +15 -0
  107. package/dist/db/interfaces/user.d.ts.map +1 -0
  108. package/dist/db/interfaces/user.js +1 -0
  109. package/dist/db/utils/reference-resolver.d.ts +18 -0
  110. package/dist/db/utils/reference-resolver.d.ts.map +1 -0
  111. package/dist/db/utils/reference-resolver.js +80 -0
  112. package/dist/define.d.ts +3 -0
  113. package/dist/define.d.ts.map +1 -0
  114. package/dist/define.js +4 -0
  115. package/dist/email/index.d.ts +2 -0
  116. package/dist/email/index.d.ts.map +1 -0
  117. package/{src/lib/email/index.ts → dist/email/index.js} +1 -2
  118. package/dist/email/interfaces/email.d.ts +42 -0
  119. package/dist/email/interfaces/email.d.ts.map +1 -0
  120. package/dist/email/interfaces/email.js +1 -0
  121. package/dist/engine.d.ts +26 -0
  122. package/dist/engine.d.ts.map +1 -0
  123. package/dist/engine.js +66 -0
  124. package/dist/field-validation/rule.d.ts +51 -0
  125. package/dist/field-validation/rule.d.ts.map +1 -0
  126. package/dist/field-validation/rule.js +221 -0
  127. package/dist/field-validation/utils.d.ts +39 -0
  128. package/dist/field-validation/utils.d.ts.map +1 -0
  129. package/dist/field-validation/utils.js +99 -0
  130. package/dist/hooks.d.ts +25 -0
  131. package/dist/hooks.d.ts.map +1 -0
  132. package/dist/hooks.js +164 -0
  133. package/dist/index.d.ts +2 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/{src/lib/index.ts → dist/index.js} +1 -2
  136. package/dist/is-mobile.svelte.d.ts +5 -0
  137. package/dist/is-mobile.svelte.d.ts.map +1 -0
  138. package/{src/lib/is-mobile.svelte.ts → dist/is-mobile.svelte.js} +3 -5
  139. package/dist/lib/auth/provider.js +1 -0
  140. package/dist/lib/db/index.js +4 -0
  141. package/dist/lib/db/interfaces/asset.js +1 -0
  142. package/dist/lib/db/interfaces/document.js +1 -0
  143. package/dist/lib/db/interfaces/index.js +1 -0
  144. package/dist/lib/db/interfaces/organization.js +1 -0
  145. package/dist/lib/db/interfaces/schema.js +1 -0
  146. package/dist/lib/db/interfaces/user.js +1 -0
  147. package/dist/lib/email/index.js +4 -0
  148. package/dist/lib/email/interfaces/email.js +1 -0
  149. package/dist/lib/field-validation/rule.js +221 -0
  150. package/dist/lib/field-validation/utils.js +99 -0
  151. package/dist/lib/storage/interfaces/index.js +2 -0
  152. package/dist/lib/storage/interfaces/storage.js +1 -0
  153. package/dist/lib/types/asset.js +2 -0
  154. package/dist/lib/types/auth.js +41 -0
  155. package/dist/lib/types/config.js +1 -0
  156. package/dist/lib/types/document.js +1 -0
  157. package/dist/lib/types/filters.js +5 -0
  158. package/dist/lib/types/index.js +9 -0
  159. package/dist/lib/types/organization.js +3 -0
  160. package/dist/lib/types/schemas.js +1 -0
  161. package/dist/lib/types/sidebar.js +1 -0
  162. package/dist/lib/types/user.js +1 -0
  163. package/dist/local-api/auth-helpers.d.ts +65 -0
  164. package/dist/local-api/auth-helpers.d.ts.map +1 -0
  165. package/dist/local-api/auth-helpers.js +102 -0
  166. package/dist/local-api/collection-api.d.ts +138 -0
  167. package/dist/local-api/collection-api.d.ts.map +1 -0
  168. package/dist/local-api/collection-api.js +276 -0
  169. package/dist/local-api/index.d.ts +108 -0
  170. package/dist/local-api/index.d.ts.map +1 -0
  171. package/dist/local-api/index.js +157 -0
  172. package/dist/local-api/permissions.d.ts +45 -0
  173. package/dist/local-api/permissions.d.ts.map +1 -0
  174. package/dist/local-api/permissions.js +117 -0
  175. package/dist/local-api/types.d.ts +65 -0
  176. package/dist/local-api/types.d.ts.map +1 -0
  177. package/dist/local-api/types.js +4 -0
  178. package/dist/routes/assets-by-id.d.ts +5 -0
  179. package/dist/routes/assets-by-id.d.ts.map +1 -0
  180. package/dist/routes/assets-by-id.js +138 -0
  181. package/dist/routes/assets-cdn.d.ts +3 -0
  182. package/dist/routes/assets-cdn.d.ts.map +1 -0
  183. package/dist/routes/assets-cdn.js +155 -0
  184. package/dist/routes/assets.d.ts +4 -0
  185. package/dist/routes/assets.d.ts.map +1 -0
  186. package/dist/routes/assets.js +94 -0
  187. package/dist/routes/documents-by-id.d.ts +5 -0
  188. package/dist/routes/documents-by-id.d.ts.map +1 -0
  189. package/dist/routes/documents-by-id.js +163 -0
  190. package/dist/routes/documents-publish.d.ts +4 -0
  191. package/dist/routes/documents-publish.d.ts.map +1 -0
  192. package/dist/routes/documents-publish.js +136 -0
  193. package/dist/routes/documents-query.d.ts +24 -0
  194. package/dist/routes/documents-query.d.ts.map +1 -0
  195. package/dist/routes/documents-query.js +95 -0
  196. package/dist/routes/documents.d.ts +4 -0
  197. package/dist/routes/documents.d.ts.map +1 -0
  198. package/dist/routes/documents.js +136 -0
  199. package/dist/routes/index.d.ts +8 -0
  200. package/dist/routes/index.d.ts.map +1 -0
  201. package/dist/routes/index.js +12 -0
  202. package/dist/routes/organizations-by-id.d.ts +5 -0
  203. package/dist/routes/organizations-by-id.d.ts.map +1 -0
  204. package/dist/routes/organizations-by-id.js +187 -0
  205. package/dist/routes/organizations-invitations.d.ts +4 -0
  206. package/dist/routes/organizations-invitations.d.ts.map +1 -0
  207. package/dist/routes/organizations-invitations.js +125 -0
  208. package/dist/routes/organizations-members.d.ts +5 -0
  209. package/dist/routes/organizations-members.d.ts.map +1 -0
  210. package/dist/routes/organizations-members.js +206 -0
  211. package/dist/routes/organizations-switch.d.ts +3 -0
  212. package/dist/routes/organizations-switch.d.ts.map +1 -0
  213. package/dist/routes/organizations-switch.js +53 -0
  214. package/dist/routes/organizations.d.ts +4 -0
  215. package/dist/routes/organizations.d.ts.map +1 -0
  216. package/dist/routes/organizations.js +109 -0
  217. package/dist/routes/schemas-by-type.d.ts +3 -0
  218. package/dist/routes/schemas-by-type.d.ts.map +1 -0
  219. package/dist/routes/schemas-by-type.js +25 -0
  220. package/dist/routes/schemas.d.ts +3 -0
  221. package/dist/routes/schemas.d.ts.map +1 -0
  222. package/dist/routes/schemas.js +11 -0
  223. package/dist/routes-exports.d.ts +14 -0
  224. package/dist/routes-exports.d.ts.map +1 -0
  225. package/dist/routes-exports.js +19 -0
  226. package/dist/schema-context.svelte.d.ts +10 -0
  227. package/dist/schema-context.svelte.d.ts.map +1 -0
  228. package/dist/schema-context.svelte.js +18 -0
  229. package/dist/schema-utils/cleanup.d.ts +21 -0
  230. package/dist/schema-utils/cleanup.d.ts.map +1 -0
  231. package/dist/schema-utils/cleanup.js +80 -0
  232. package/dist/schema-utils/index.d.ts +4 -0
  233. package/dist/schema-utils/index.d.ts.map +1 -0
  234. package/dist/schema-utils/index.js +4 -0
  235. package/dist/schema-utils/utils.d.ts +30 -0
  236. package/dist/schema-utils/utils.d.ts.map +1 -0
  237. package/dist/schema-utils/utils.js +37 -0
  238. package/dist/schema-utils/validator.d.ts +6 -0
  239. package/dist/schema-utils/validator.d.ts.map +1 -0
  240. package/dist/schema-utils/validator.js +45 -0
  241. package/dist/server/index.d.ts +17 -0
  242. package/dist/server/index.d.ts.map +1 -0
  243. package/dist/server/index.js +30 -0
  244. package/dist/services/asset-service.d.ts +86 -0
  245. package/dist/services/asset-service.d.ts.map +1 -0
  246. package/dist/services/asset-service.js +187 -0
  247. package/dist/services/index.d.ts +3 -0
  248. package/dist/services/index.d.ts.map +1 -0
  249. package/dist/services/index.js +4 -0
  250. package/dist/storage/adapters/index.d.ts +2 -0
  251. package/dist/storage/adapters/index.d.ts.map +1 -0
  252. package/dist/storage/adapters/index.js +2 -0
  253. package/dist/storage/adapters/local-storage-adapter.d.ts +54 -0
  254. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -0
  255. package/dist/storage/adapters/local-storage-adapter.js +187 -0
  256. package/dist/storage/index.d.ts +3 -0
  257. package/dist/storage/index.d.ts.map +1 -0
  258. package/{src/lib/storage/index.ts → dist/storage/index.js} +2 -4
  259. package/dist/storage/interfaces/index.d.ts +2 -0
  260. package/dist/storage/interfaces/index.d.ts.map +1 -0
  261. package/dist/storage/interfaces/index.js +2 -0
  262. package/dist/storage/interfaces/storage.d.ts +91 -0
  263. package/dist/storage/interfaces/storage.d.ts.map +1 -0
  264. package/dist/storage/interfaces/storage.js +1 -0
  265. package/dist/storage/providers/storage.d.ts +43 -0
  266. package/dist/storage/providers/storage.d.ts.map +1 -0
  267. package/dist/storage/providers/storage.js +64 -0
  268. package/dist/types/asset.d.ts +73 -0
  269. package/dist/types/asset.d.ts.map +1 -0
  270. package/dist/types/asset.js +2 -0
  271. package/dist/types/auth.d.ts +50 -0
  272. package/dist/types/auth.d.ts.map +1 -0
  273. package/dist/types/auth.js +41 -0
  274. package/dist/types/config.d.ts +64 -0
  275. package/dist/types/config.d.ts.map +1 -0
  276. package/dist/types/config.js +1 -0
  277. package/dist/types/document.d.ts +35 -0
  278. package/dist/types/document.d.ts.map +1 -0
  279. package/dist/types/document.js +1 -0
  280. package/dist/types/filters.d.ts +173 -0
  281. package/dist/types/filters.d.ts.map +1 -0
  282. package/dist/types/filters.js +5 -0
  283. package/dist/types/index.d.ts +10 -0
  284. package/dist/types/index.d.ts.map +1 -0
  285. package/dist/types/index.js +9 -0
  286. package/dist/types/organization.d.ts +105 -0
  287. package/dist/types/organization.d.ts.map +1 -0
  288. package/dist/types/organization.js +3 -0
  289. package/dist/types/schemas.d.ts +114 -0
  290. package/dist/types/schemas.d.ts.map +1 -0
  291. package/dist/types/schemas.js +1 -0
  292. package/dist/types/sidebar.d.ts +33 -0
  293. package/dist/types/sidebar.d.ts.map +1 -0
  294. package/dist/types/sidebar.js +1 -0
  295. package/dist/types/user.d.ts +14 -0
  296. package/dist/types/user.d.ts.map +1 -0
  297. package/dist/types/user.js +1 -0
  298. package/dist/utils/content-hash.d.ts +22 -0
  299. package/dist/utils/content-hash.d.ts.map +1 -0
  300. package/dist/utils/content-hash.js +67 -0
  301. package/dist/utils/image-url.d.ts +88 -0
  302. package/dist/utils/image-url.d.ts.map +1 -0
  303. package/dist/utils/image-url.js +165 -0
  304. package/dist/utils/index.d.ts +6 -0
  305. package/dist/utils/index.d.ts.map +1 -0
  306. package/dist/utils/index.js +9 -0
  307. package/dist/utils/slug.d.ts +13 -0
  308. package/dist/utils/slug.d.ts.map +1 -0
  309. package/dist/utils/slug.js +30 -0
  310. package/dist/utils.d.ts +13 -0
  311. package/dist/utils.d.ts.map +1 -0
  312. package/dist/utils.js +5 -0
  313. package/package.json +101 -95
  314. package/src/lib/api/assets.ts +0 -75
  315. package/src/lib/api/client.ts +0 -150
  316. package/src/lib/api/documents.ts +0 -102
  317. package/src/lib/api/index.ts +0 -7
  318. package/src/lib/api/organizations.ts +0 -154
  319. package/src/lib/api/types.ts +0 -34
  320. package/src/lib/auth/auth-errors.ts +0 -23
  321. package/src/lib/auth/auth-hooks.ts +0 -132
  322. package/src/lib/auth/provider.ts +0 -25
  323. package/src/lib/config.ts +0 -18
  324. package/src/lib/db/interfaces/asset.ts +0 -61
  325. package/src/lib/db/interfaces/document.ts +0 -53
  326. package/src/lib/db/interfaces/index.ts +0 -98
  327. package/src/lib/db/interfaces/organization.ts +0 -51
  328. package/src/lib/db/interfaces/schema.ts +0 -13
  329. package/src/lib/db/interfaces/user.ts +0 -16
  330. package/src/lib/db/utils/reference-resolver.ts +0 -119
  331. package/src/lib/define.ts +0 -7
  332. package/src/lib/email/interfaces/email.ts +0 -45
  333. package/src/lib/engine.ts +0 -85
  334. package/src/lib/field-validation/rule.ts +0 -287
  335. package/src/lib/field-validation/utils.ts +0 -91
  336. package/src/lib/hooks.ts +0 -142
  337. package/src/lib/routes/assets-by-id.ts +0 -161
  338. package/src/lib/routes/assets-cdn.ts +0 -185
  339. package/src/lib/routes/assets.ts +0 -116
  340. package/src/lib/routes/documents-by-id.ts +0 -188
  341. package/src/lib/routes/documents-publish.ts +0 -211
  342. package/src/lib/routes/documents.ts +0 -172
  343. package/src/lib/routes/index.ts +0 -13
  344. package/src/lib/routes/organizations-by-id.ts +0 -258
  345. package/src/lib/routes/organizations-invitations.ts +0 -183
  346. package/src/lib/routes/organizations-members.ts +0 -301
  347. package/src/lib/routes/organizations-switch.ts +0 -74
  348. package/src/lib/routes/organizations.ts +0 -147
  349. package/src/lib/routes/schemas-by-type.ts +0 -35
  350. package/src/lib/routes/schemas.ts +0 -19
  351. package/src/lib/routes-exports.ts +0 -42
  352. package/src/lib/schema-context.svelte.ts +0 -24
  353. package/src/lib/schema-utils/cleanup.ts +0 -116
  354. package/src/lib/schema-utils/index.ts +0 -4
  355. package/src/lib/schema-utils/utils.ts +0 -47
  356. package/src/lib/schema-utils/validator.ts +0 -58
  357. package/src/lib/server/index.ts +0 -40
  358. package/src/lib/services/asset-service.ts +0 -256
  359. package/src/lib/services/index.ts +0 -6
  360. package/src/lib/storage/adapters/index.ts +0 -2
  361. package/src/lib/storage/adapters/local-storage-adapter.ts +0 -215
  362. package/src/lib/storage/interfaces/index.ts +0 -2
  363. package/src/lib/storage/interfaces/storage.ts +0 -114
  364. package/src/lib/storage/providers/storage.ts +0 -83
  365. package/src/lib/types/asset.ts +0 -81
  366. package/src/lib/types/auth.ts +0 -80
  367. package/src/lib/types/config.ts +0 -45
  368. package/src/lib/types/document.ts +0 -38
  369. package/src/lib/types/index.ts +0 -8
  370. package/src/lib/types/organization.ts +0 -119
  371. package/src/lib/types/schemas.ts +0 -156
  372. package/src/lib/types/sidebar.ts +0 -37
  373. package/src/lib/types/user.ts +0 -17
  374. package/src/lib/utils/content-hash.ts +0 -75
  375. package/src/lib/utils/image-url.ts +0 -204
  376. package/src/lib/utils/index.ts +0 -12
  377. package/src/lib/utils/slug.ts +0 -33
  378. package/src/lib/utils.ts +0 -13
  379. /package/{src/lib → dist}/app.d.ts +0 -0
  380. /package/{src/lib → dist}/auth/MULTI_TENANCY_PLAN.md +0 -0
  381. /package/{src/lib → dist}/components/admin/AdminLayout.svelte +0 -0
  382. /package/{src/lib → dist}/components/admin/DocumentTypesList.svelte +0 -0
  383. /package/{src/lib → dist}/components/admin/ObjectModal.svelte +0 -0
  384. /package/{src/lib → dist}/components/admin/SchemaField.svelte +0 -0
  385. /package/{src/lib → dist}/components/admin/fields/ArrayField.svelte +0 -0
  386. /package/{src/lib → dist}/components/admin/fields/BooleanField.svelte +0 -0
  387. /package/{src/lib → dist}/components/admin/fields/ImageField.svelte +0 -0
  388. /package/{src/lib → dist}/components/admin/fields/NumberField.svelte +0 -0
  389. /package/{src/lib → dist}/components/admin/fields/SlugField.svelte +0 -0
  390. /package/{src/lib → dist}/components/admin/fields/StringField.svelte +0 -0
  391. /package/{src/lib → dist}/components/admin/fields/TextareaField.svelte +0 -0
  392. /package/{src/lib/components/fields/index.ts → dist/components/fields/index.js} +0 -0
  393. /package/{src/lib → dist}/components/layout/OrganizationSwitcher.svelte +0 -0
  394. /package/{src/lib → dist}/components/layout/Sidebar.svelte +0 -0
  395. /package/{src/lib → dist}/components/layout/sidebar/AppSidebar.svelte +0 -0
  396. /package/{src/lib → dist}/components/layout/sidebar/NavMain.svelte +0 -0
  397. /package/{src/lib → dist}/components/layout/sidebar/NavSecondary.svelte +0 -0
  398. /package/{src/lib → dist}/components/layout/sidebar/NavUser.svelte +0 -0
  399. /package/{src/lib → dist}/plugins/README.md +0 -0
@@ -13,13 +13,12 @@
13
13
  import DocumentEditor from './admin/DocumentEditor.svelte';
14
14
  import type { DocumentType } from '../types/index';
15
15
  import { documents } from '../api/index';
16
- import { FileText } from 'lucide-svelte';
17
16
 
18
- type InitDocumentType = Pick<DocumentType, 'name' | 'title' | 'description' | 'icon'>;
17
+ type InitDocumentType = Pick<DocumentType, 'name' | 'title' | 'description'>;
19
18
 
20
19
  interface Props {
21
20
  schemas: SchemaType[];
22
- documentTypes: Array<{ name: string; title: string; description?: string }>;
21
+ documentTypes: InitDocumentType[];
23
22
  schemaError?: { message: string } | null;
24
23
  title?: string;
25
24
  graphqlSettings?: { endpoint: string; enableGraphiQL: boolean } | null;
@@ -30,7 +29,7 @@
30
29
 
31
30
  let {
32
31
  schemas,
33
- documentTypes: documentTypesFromServer,
32
+ documentTypes,
34
33
  schemaError = null,
35
34
  title = 'Aphex CMS',
36
35
  graphqlSettings = null,
@@ -39,16 +38,7 @@
39
38
  handleTabChange = () => {}
40
39
  }: Props = $props();
41
40
 
42
- // Merge document types with schema icons (schemas have icons, server data doesn't)
43
- const documentTypes = $derived(
44
- documentTypesFromServer.map((docType) => {
45
- const schema = schemas.find((s) => s.name === docType.name);
46
- return {
47
- ...docType,
48
- icon: schema?.icon
49
- };
50
- })
51
- );
41
+ // Set schema context for child components
52
42
 
53
43
  const hasDocumentTypes = $derived(documentTypes.length > 0);
54
44
 
@@ -574,29 +564,32 @@
574
564
  const previewConfig = schema?.preview;
575
565
 
576
566
  documentsList = result.data.map((doc: any) => {
577
- const docData = doc.draftData || doc.publishedData || {};
567
+ // With LocalAPI, data is already flattened at top level (not in draftData)
568
+ // The document itself IS the data, with _meta containing metadata
578
569
 
579
570
  // Use preview config if available
580
571
  const title = previewConfig?.select?.title
581
- ? docData[previewConfig.select.title] || `Untitled`
582
- : docData.title || `Untitled`;
572
+ ? doc[previewConfig.select.title] || `Untitled`
573
+ : doc.title || `Untitled`;
583
574
 
584
575
  const subtitle = previewConfig?.select?.subtitle
585
- ? docData[previewConfig.select.subtitle]
576
+ ? doc[previewConfig.select.subtitle]
586
577
  : undefined;
587
578
 
579
+ // Metadata is in _meta field (from LocalAPI transformation)
580
+ const meta = doc._meta || {};
581
+
588
582
  return {
589
583
  id: doc.id,
590
584
  title,
591
585
  subtitle,
592
- status: doc.status,
593
- publishedAt: doc.publishedAt ? new Date(doc.publishedAt) : null,
594
- updatedAt: doc.updatedAt ? new Date(doc.updatedAt) : null,
595
- createdAt: doc.createdAt ? new Date(doc.createdAt) : null,
596
- hasChanges:
597
- doc.status === 'published' &&
598
- doc.draftData !== null &&
599
- JSON.stringify(doc.draftData) !== JSON.stringify(doc.publishedData)
586
+ status: meta.status || 'draft',
587
+ publishedAt: meta.publishedAt ? new Date(meta.publishedAt) : null,
588
+ updatedAt: meta.updatedAt ? new Date(meta.updatedAt) : null,
589
+ createdAt: meta.createdAt ? new Date(meta.createdAt) : null,
590
+ // hasChanges is tracked via publishedHash comparison
591
+ // If publishedHash is null, it's never been published or has unpublished changes
592
+ hasChanges: meta.status === 'published' && meta.publishedHash === null
600
593
  };
601
594
  });
602
595
  } else {
@@ -740,12 +733,7 @@
740
733
  >
741
734
  <div class="flex items-center gap-3">
742
735
  <div class="flex h-6 w-6 items-center justify-center">
743
- {#if docType.icon}
744
- {@const Icon = docType.icon}
745
- <Icon class="text-muted-foreground h-4 w-4" />
746
- {:else}
747
- <FileText class="text-muted-foreground h-4 w-4" />
748
- {/if}
736
+ <span class="text-muted-foreground">📄</span>
749
737
  </div>
750
738
  <div>
751
739
  <h3 class="text-sm font-medium">{docType.title}s</h3>
@@ -778,7 +766,7 @@
778
766
  <div
779
767
  class="bg-muted/50 mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full"
780
768
  >
781
- <FileText class="text-muted-foreground h-8 w-8" />
769
+ <span class="text-muted-foreground text-xl">📄</span>
782
770
  </div>
783
771
  <h3 class="mb-2 font-medium">No content types found</h3>
784
772
  <p class="text-muted-foreground mb-4 text-sm">
@@ -821,26 +809,19 @@
821
809
  </div>
822
810
  </button>
823
811
  {:else}
824
- {@const currentDocType = documentTypes.find(
825
- (t) => t.name === selectedDocumentType
826
- )}
827
812
  <div class="border-border bg-muted/20 border-b p-3">
828
813
  <div class="flex items-center justify-between">
829
814
  <div class="flex items-center gap-3">
830
815
  {#if windowWidth > 620}
831
816
  <!-- Desktop: Icon -->
832
817
  <div class="flex h-6 w-6 items-center justify-center">
833
- {#if currentDocType?.icon}
834
- {@const Icon = currentDocType.icon}
835
- <Icon class="text-muted-foreground h-4 w-4" />
836
- {:else}
837
- <FileText class="text-muted-foreground h-4 w-4" />
838
- {/if}
818
+ <span class="text-muted-foreground">📄</span>
839
819
  </div>
840
820
  {/if}
841
821
  <div>
842
822
  <h3 class="text-sm font-medium">
843
- {(currentDocType?.title || selectedDocumentType) + 's'}
823
+ {(documentTypes.find((t) => t.name === selectedDocumentType)?.title ||
824
+ selectedDocumentType) + 's'}
844
825
  </h3>
845
826
  <p class="text-muted-foreground text-xs">
846
827
  {documentsList.length} document{documentsList.length !== 1 ? 's' : ''}
@@ -892,12 +873,7 @@
892
873
  >
893
874
  <div class="flex min-w-0 flex-1 items-center gap-3">
894
875
  <div class="flex h-6 w-6 items-center justify-center">
895
- {#if currentDocType?.icon}
896
- {@const Icon = currentDocType.icon}
897
- <Icon class="text-muted-foreground h-4 w-4" />
898
- {:else}
899
- <FileText class="text-muted-foreground h-4 w-4" />
900
- {/if}
876
+ <span class="text-muted-foreground">📄</span>
901
877
  </div>
902
878
  <div class="min-w-0 flex-1">
903
879
  <h3 class="truncate text-sm font-medium">{doc.title}</h3>
@@ -922,12 +898,7 @@
922
898
  <div
923
899
  class="bg-muted/50 mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full"
924
900
  >
925
- {#if currentDocType?.icon}
926
- {@const Icon = currentDocType.icon}
927
- <Icon class="text-muted-foreground h-8 w-8" />
928
- {:else}
929
- <FileText class="text-muted-foreground h-8 w-8" />
930
- {/if}
901
+ <span class="text-muted-foreground text-xl">📄</span>
931
902
  </div>
932
903
  <h3 class="mb-2 font-medium">No documents found</h3>
933
904
  <p class="text-muted-foreground text-sm">
@@ -0,0 +1,24 @@
1
+ import type { SchemaType } from '../types/index.js';
2
+ import type { DocumentType } from '../types/index.js';
3
+ type InitDocumentType = Pick<DocumentType, 'name' | 'title' | 'description'>;
4
+ interface Props {
5
+ schemas: SchemaType[];
6
+ documentTypes: InitDocumentType[];
7
+ schemaError?: {
8
+ message: string;
9
+ } | null;
10
+ title?: string;
11
+ graphqlSettings?: {
12
+ endpoint: string;
13
+ enableGraphiQL: boolean;
14
+ } | null;
15
+ isReadOnly?: boolean;
16
+ activeTab?: {
17
+ value: 'structure' | 'vision';
18
+ };
19
+ handleTabChange: (value: string) => void;
20
+ }
21
+ declare const AdminApp: import("svelte").Component<Props, {}, "">;
22
+ type AdminApp = ReturnType<typeof AdminApp>;
23
+ export default AdminApp;
24
+ //# sourceMappingURL=AdminApp.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminApp.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/components/AdminApp.svelte.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIlD,KAAK,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC,CAAC;AAE7E,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,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,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAA;KAAE,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAm6BF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ interface Props {
2
+ currentView: 'dashboard' | 'documents' | 'editor';
3
+ mobileView: 'types' | 'documents' | 'editor';
4
+ selectedDocumentType: string | null;
5
+ windowWidth: number;
6
+ children?: any;
7
+ }
8
+ declare const AdminLayout: import("svelte").Component<Props, {
9
+ typesPanel: "hidden" | "flex-1" | "w-full" | "w-[350px]" | "w-[60px]";
10
+ documentsPanel: "hidden" | "flex-1" | "w-full" | "w-[350px]" | "w-[60px]";
11
+ editorPanel: "hidden" | "flex-1" | "w-full";
12
+ }, "">;
13
+ type AdminLayout = ReturnType<typeof AdminLayout>;
14
+ export default AdminLayout;
15
+ //# sourceMappingURL=AdminLayout.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminLayout.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/AdminLayout.svelte.ts"],"names":[],"mappings":"AAGC,UAAU,KAAK;IACd,WAAW,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAClD,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CACf;AAiHF,QAAA,MAAM,WAAW;;;;MAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -73,7 +73,7 @@
73
73
 
74
74
  // Hash-based state tracking
75
75
  const hasUnpublishedContent = $derived(
76
- hasUnpublishedChanges(documentData, fullDocument?.publishedHash || null)
76
+ hasUnpublishedChanges(documentData, fullDocument?._meta?.publishedHash || null)
77
77
  );
78
78
  const canPublish = $derived(
79
79
  hasUnpublishedContent && !saving && documentId && !hasValidationErrors
@@ -198,15 +198,20 @@
198
198
  // Store full document for hash comparison
199
199
  fullDocument = response.data;
200
200
 
201
- // Load the draft data if available, otherwise published data
202
- const data = response.data.draftData || response.data.publishedData || {};
203
- console.log('📄 Loaded document data:', data);
204
- console.log('📄 Published hash:', response.data.publishedHash);
201
+ // With LocalAPI, data is flattened at top level (not in draftData)
202
+ // Extract all fields except id and _meta
203
+ const { id, _meta, ...data } = response.data;
204
+ console.log('📄 Full response.data:', response.data);
205
+ console.log('📄 Extracted data (after destructuring):', data);
206
+ console.log('📄 Keys in extracted data:', Object.keys(data));
207
+ console.log('📄 Published hash:', _meta?.publishedHash);
205
208
 
206
209
  documentData = { ...data };
210
+ console.log('📄 documentData after assignment:', documentData);
211
+ console.log('📄 Keys in documentData:', Object.keys(documentData));
207
212
  hasUnsavedChanges = false; // Just loaded, so no unsaved changes
208
213
  } else {
209
- console.error('❌ Failed to load document data:', response.error);
214
+ console.log('❌ Failed to load document data:', response.error);
210
215
  saveError = response.error || 'Failed to load document';
211
216
  }
212
217
  } catch (err) {
@@ -249,13 +254,47 @@
249
254
  });
250
255
  }
251
256
 
257
+ // Check if current data differs from last saved draft
258
+ function hasChangesFromSaved(): boolean {
259
+ if (!fullDocument) return true; // No saved version = has changes
260
+
261
+ // Extract saved draft data from fullDocument (same as we do in loadDocumentData)
262
+ const { id, _meta, ...savedData } = fullDocument;
263
+
264
+ // Compare current documentData with saved data using stable JSON
265
+ const currentJson = JSON.stringify(sortObjectForComparison(documentData));
266
+ const savedJson = JSON.stringify(sortObjectForComparison(savedData));
267
+
268
+ return currentJson !== savedJson;
269
+ }
270
+
271
+ // Helper to recursively sort object keys for stable comparison
272
+ function sortObjectForComparison(item: any): any {
273
+ if (item === null || typeof item !== 'object') return item;
274
+
275
+ if (Array.isArray(item)) {
276
+ return item.map(sortObjectForComparison);
277
+ }
278
+
279
+ const sortedKeys = Object.keys(item).sort();
280
+ const sortedObj: any = {};
281
+ for (const key of sortedKeys) {
282
+ sortedObj[key] = sortObjectForComparison(item[key]);
283
+ }
284
+ return sortedObj;
285
+ }
286
+
252
287
  // Watch for changes to trigger auto-save (debounced)
253
288
  $effect(() => {
254
289
  const hasContent = hasMeaningfulContent(documentData);
290
+ const hasChanges = hasChangesFromSaved();
255
291
 
256
- // Only set hasUnsavedChanges if we actually have meaningful data
257
- if (hasContent) {
292
+ // Only set hasUnsavedChanges if we actually have meaningful data AND it differs from saved
293
+ if (hasContent && hasChanges) {
258
294
  hasUnsavedChanges = true;
295
+ } else if (!hasChanges) {
296
+ // If there are no changes from saved, mark as not having unsaved changes
297
+ hasUnsavedChanges = false;
259
298
  }
260
299
 
261
300
  if (autoSaveTimer) {
@@ -263,12 +302,14 @@
263
302
  }
264
303
 
265
304
  // Debounced auto-save - waits for 800ms pause in typing (like Notion/modern apps)
266
- // Only auto-save if there's meaningful content and not in read-only mode
267
- if (hasContent && schema && !isReadOnly) {
305
+ // Only auto-save if there's meaningful content, data has changed, and not in read-only mode
306
+ if (hasContent && hasChanges && schema && !isReadOnly) {
268
307
  autoSaveTimer = setTimeout(() => {
269
- console.log('🔄 Auto-saving after typing pause...', { documentId });
308
+ console.log('🔄 Auto-saving after typing pause (data changed)...', { documentId });
270
309
  saveDocument(true); // auto-save
271
310
  }, 1200); // Shorter delay - saves faster but still waits for typing pauses
311
+ } else if (!hasChanges) {
312
+ console.log('⏭️ Skipping auto-save - no changes from saved data');
272
313
  }
273
314
 
274
315
  return () => {
@@ -292,11 +333,11 @@
292
333
  // Create new document
293
334
  console.log('🔄 Creating new document with data:', {
294
335
  type: documentType,
295
- draftData: documentData
336
+ data: documentData
296
337
  });
297
338
  response = await documents.create({
298
339
  type: documentType,
299
- draftData: documentData
340
+ data: documentData
300
341
  });
301
342
 
302
343
  console.log('📝 Document creation response:', response);
@@ -315,8 +356,13 @@
315
356
  } else if (documentId) {
316
357
  // Update existing document
317
358
  response = await documents.updateById(documentId, {
318
- draftData: documentData
359
+ data: documentData
319
360
  });
361
+
362
+ // Update fullDocument with the response to keep saved data in sync
363
+ if (response?.success && response.data) {
364
+ fullDocument = response.data;
365
+ }
320
366
  }
321
367
 
322
368
  if (response?.success) {
@@ -0,0 +1,18 @@
1
+ import type { SchemaType } from 'src/lib/types/schemas.js';
2
+ interface Props {
3
+ schemas: SchemaType[];
4
+ documentType: string;
5
+ documentId?: string | null;
6
+ isCreating: boolean;
7
+ onBack: () => void;
8
+ onSaved?: (documentId: string) => void;
9
+ onAutoSaved?: (documentId: string, title: string) => void;
10
+ onDeleted?: () => void;
11
+ onPublished?: (documentId: string) => void;
12
+ onOpenReference?: (documentId: string, documentType: string) => void;
13
+ isReadOnly?: boolean;
14
+ }
15
+ declare const DocumentEditor: import("svelte").Component<Props, {}, "">;
16
+ type DocumentEditor = ReturnType<typeof DocumentEditor>;
17
+ export default DocumentEditor;
18
+ //# sourceMappingURL=DocumentEditor.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentEditor.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentEditor.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM1D,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,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAsvBF,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface DocumentType {
2
+ name: string;
3
+ title: string;
4
+ description?: string;
5
+ documentCount?: number;
6
+ }
7
+ interface Props {
8
+ documentTypes: DocumentType[];
9
+ objectTypes: DocumentType[];
10
+ }
11
+ declare const DocumentTypesList: import("svelte").Component<Props, {}, "">;
12
+ type DocumentTypesList = ReturnType<typeof DocumentTypesList>;
13
+ export default DocumentTypesList;
14
+ //# sourceMappingURL=DocumentTypesList.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentTypesList.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/DocumentTypesList.svelte.ts"],"names":[],"mappings":"AAeC,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,KAAK;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,YAAY,EAAE,CAAC;CAC5B;AA8EF,QAAA,MAAM,iBAAiB,2CAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SchemaType } from 'src/types/schemas.js';
2
+ interface Props {
3
+ open: boolean;
4
+ schema: SchemaType;
5
+ value: Record<string, any>;
6
+ onClose: () => void;
7
+ onSave: (value: Record<string, any>) => void;
8
+ onUpdate?: (value: Record<string, any>) => void;
9
+ onOpenReference?: (documentId: string, documentType: string) => void;
10
+ readonly?: boolean;
11
+ }
12
+ declare const ObjectModal: import("svelte").Component<Props, {}, "">;
13
+ type ObjectModal = ReturnType<typeof ObjectModal>;
14
+ export default ObjectModal;
15
+ //# sourceMappingURL=ObjectModal.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/ObjectModal.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAItD,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,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAChD,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA+GF,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Field } from 'src/types/schemas.js';
2
+ import SchemaField from './SchemaField.svelte';
3
+ interface Props {
4
+ field: Field;
5
+ value: any;
6
+ documentData?: Record<string, any>;
7
+ onUpdate: (value: any) => void;
8
+ onOpenReference?: (documentId: string, documentType: string) => void;
9
+ doValidation?: () => void;
10
+ schemaType?: string;
11
+ parentPath?: string;
12
+ readonly?: boolean;
13
+ }
14
+ declare const SchemaField: import("svelte").Component<Props, {
15
+ performValidation: (currentValue: any, context?: any) => Promise<void>;
16
+ }, "">;
17
+ type SchemaField = ReturnType<typeof SchemaField>;
18
+ export default SchemaField;
19
+ //# sourceMappingURL=SchemaField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaField.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/SchemaField.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAgBlD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG9C,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,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,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA4IF,QAAA,MAAM,WAAW;sCArGgC,GAAG,YAAW,GAAG;MAqGT,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ArrayField as ArrayFieldType } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: ArrayFieldType;
4
+ value: any;
5
+ onUpdate: (value: any) => void;
6
+ onOpenReference?: (documentId: string, documentType: string) => void;
7
+ readonly?: boolean;
8
+ }
9
+ declare const ArrayField: import("svelte").Component<Props, {}, "">;
10
+ type ArrayField = ReturnType<typeof ArrayField>;
11
+ export default ArrayField;
12
+ //# sourceMappingURL=ArrayField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/ArrayField.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAMtF,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;CACnB;AA0NF,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: any;
5
+ onUpdate: (value: any) => void;
6
+ validationClasses?: string;
7
+ onBlur?: (event: any) => void;
8
+ readonly?: boolean;
9
+ }
10
+ declare const BooleanField: import("svelte").Component<Props, {}, "">;
11
+ type BooleanField = ReturnType<typeof BooleanField>;
12
+ export default BooleanField;
13
+ //# sourceMappingURL=BooleanField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/BooleanField.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGnD,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAuBF,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ImageValue } from '../../../types/asset.js';
2
+ import type { ImageField as ImageFieldType } from '../../../types/schemas.js';
3
+ interface Props {
4
+ field: ImageFieldType;
5
+ value: ImageValue | null;
6
+ validationClasses?: string;
7
+ onUpdate: (value: ImageValue | null) => void;
8
+ schemaType?: string;
9
+ fieldPath?: string;
10
+ readonly?: boolean;
11
+ }
12
+ declare const ImageField: import("svelte").Component<Props, {}, "">;
13
+ type ImageField = ReturnType<typeof ImageField>;
14
+ export default ImageField;
15
+ //# sourceMappingURL=ImageField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/ImageField.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAY1E,UAAU,KAAK;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAgQF,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: number | null;
5
+ onUpdate: (value: number | null) => void;
6
+ validationClasses?: string;
7
+ onBlur?: (event: any) => void;
8
+ onFocus?: (event: any) => void;
9
+ readonly?: boolean;
10
+ }
11
+ declare const NumberField: import("svelte").Component<Props, {}, "">;
12
+ type NumberField = ReturnType<typeof NumberField>;
13
+ export default NumberField;
14
+ //# sourceMappingURL=NumberField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/NumberField.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGnD,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAiEF,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -129,9 +129,8 @@
129
129
  }
130
130
 
131
131
  function getDocumentTitle(doc: any): string {
132
- // Try to get title from draft data first, then published data
133
- const data = doc.draftData || doc.publishedData || {};
134
- return data.title || data.name || data.heading || 'Untitled';
132
+ // With LocalAPI, data is flattened at top level
133
+ return doc.title || doc.name || doc.heading || 'Untitled';
135
134
  }
136
135
 
137
136
  const selectedLabel = $derived(selectedDocument ? getDocumentTitle(selectedDocument) : null);
@@ -0,0 +1,12 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: string | null;
5
+ onUpdate: (value: string | null) => void;
6
+ onOpenReference?: (documentId: string, documentType: string) => void;
7
+ readonly?: boolean;
8
+ }
9
+ declare const ReferenceField: import("svelte").Component<Props, {}, "">;
10
+ type ReferenceField = ReturnType<typeof ReferenceField>;
11
+ export default ReferenceField;
12
+ //# sourceMappingURL=ReferenceField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/ReferenceField.svelte.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAwC,MAAM,wBAAwB,CAAC;AAIzF,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAmOF,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: any;
5
+ documentData?: Record<string, any>;
6
+ onUpdate: (value: any) => void;
7
+ validationClasses?: string;
8
+ onBlur?: (event: any) => void;
9
+ onFocus?: (event: any) => void;
10
+ readonly?: boolean;
11
+ }
12
+ declare const SlugField: import("svelte").Component<Props, {}, "">;
13
+ type SlugField = ReturnType<typeof SlugField>;
14
+ export default SlugField;
15
+ //# sourceMappingURL=SlugField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlugField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/SlugField.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAInD,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAqDF,QAAA,MAAM,SAAS,2CAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: any;
5
+ onUpdate: (value: any) => void;
6
+ validationClasses?: string;
7
+ onBlur?: (event: any) => void;
8
+ onFocus?: (event: any) => void;
9
+ readonly?: boolean;
10
+ }
11
+ declare const StringField: import("svelte").Component<Props, {}, "">;
12
+ type StringField = ReturnType<typeof StringField>;
13
+ export default StringField;
14
+ //# sourceMappingURL=StringField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/StringField.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGnD,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA0BF,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Field } from '../../../types/schemas.js';
2
+ interface Props {
3
+ field: Field;
4
+ value: any;
5
+ onUpdate: (value: any) => void;
6
+ validationClasses?: string;
7
+ onBlur?: (event: any) => void;
8
+ onFocus?: (event: any) => void;
9
+ readonly?: boolean;
10
+ }
11
+ declare const TextareaField: import("svelte").Component<Props, {}, "">;
12
+ type TextareaField = ReturnType<typeof TextareaField>;
13
+ export default TextareaField;
14
+ //# sourceMappingURL=TextareaField.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextareaField.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/admin/fields/TextareaField.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGnD,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA0BF,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { default as StringField } from '../admin/fields/StringField.svelte';
2
+ export { default as TextareaField } from '../admin/fields/TextareaField.svelte';
3
+ export { default as NumberField } from '../admin/fields/NumberField.svelte';
4
+ export { default as BooleanField } from '../admin/fields/BooleanField.svelte';
5
+ export { default as SlugField } from '../admin/fields/SlugField.svelte';
6
+ export { default as ImageField } from '../admin/fields/ImageField.svelte';
7
+ export { default as ArrayField } from '../admin/fields/ArrayField.svelte';
8
+ export { default as ReferenceField } from '../admin/fields/ReferenceField.svelte';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/fields/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { default as AdminApp } from './AdminApp.svelte';
2
+ export { default as Sidebar } from './layout/Sidebar.svelte';
3
+ export { default as DocumentEditor } from './admin/DocumentEditor.svelte';
4
+ export { default as DocumentTypesList } from './admin/DocumentTypesList.svelte';
5
+ export { default as SchemaField } from './admin/SchemaField.svelte';
6
+ export * from './fields/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGpE,cAAc,gBAAgB,CAAC"}