rimecms 0.28.10 → 0.30.0

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 (356) hide show
  1. package/README.md +3 -3
  2. package/dist/adapter-sqlite/area.server.js +8 -8
  3. package/dist/adapter-sqlite/generate-schema/column.server.d.ts +13 -0
  4. package/dist/adapter-sqlite/generate-schema/column.server.js +77 -0
  5. package/dist/adapter-sqlite/generate-schema/index.server.js +7 -12
  6. package/dist/adapter-sqlite/generate-schema/root.server.js +35 -39
  7. package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +12 -0
  8. package/dist/adapter-sqlite/generate-schema/templates.server.js +19 -0
  9. package/dist/adapter-sqlite/generate-schema/{util.d.ts → util.server.d.ts} +2 -2
  10. package/dist/adapter-sqlite/generate-schema/{util.js → util.server.js} +2 -2
  11. package/dist/adapter-sqlite/generate-schema/write.server.js +1 -1
  12. package/dist/adapter-sqlite/relations.server.js +6 -1
  13. package/dist/adapter-sqlite/transform.server.js +1 -1
  14. package/dist/adapter-sqlite/util.server.d.ts +1 -6
  15. package/dist/adapter-sqlite/util.server.js +6 -0
  16. package/dist/adapter-sqlite/where.server.js +17 -16
  17. package/dist/adapter-sqlite/with.server.js +10 -10
  18. package/dist/core/areas/{api → rest}/get.server.d.ts +4 -2
  19. package/dist/core/areas/rest/get.server.js +45 -0
  20. package/dist/core/areas/rest/index.server.d.ts +6 -0
  21. package/dist/core/areas/rest/index.server.js +3 -0
  22. package/dist/core/areas/{api → rest}/update.server.d.ts +4 -2
  23. package/dist/core/areas/rest/update.server.js +43 -0
  24. package/dist/core/collections/auth/fields.d.ts +2 -182
  25. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +1 -1
  26. package/dist/core/collections/config/augment-auth.server.js +1 -1
  27. package/dist/core/collections/config/augment-nested.server.js +1 -1
  28. package/dist/core/collections/config/augment-panel.d.ts +1 -1
  29. package/dist/core/collections/config/augment-upload.js +2 -2
  30. package/dist/core/collections/config/augment-upload.server.js +4 -1
  31. package/dist/core/collections/operations/duplicate.js +31 -12
  32. package/dist/core/collections/operations/updateById.js +6 -5
  33. package/dist/core/collections/{api → rest}/create.server.d.ts +4 -2
  34. package/dist/core/collections/rest/create.server.js +37 -0
  35. package/dist/core/collections/{api → rest}/delete.server.d.ts +4 -2
  36. package/dist/core/collections/rest/delete.server.js +37 -0
  37. package/dist/core/collections/{api → rest}/deleteById.server.d.ts +4 -2
  38. package/dist/core/collections/rest/deleteById.server.js +21 -0
  39. package/dist/core/collections/{api → rest}/duplicate.server.d.ts +1 -1
  40. package/dist/core/collections/rest/duplicate.server.js +20 -0
  41. package/dist/core/collections/{api → rest}/get.server.d.ts +4 -2
  42. package/dist/core/collections/rest/get.server.js +50 -0
  43. package/dist/core/collections/{api → rest}/getById.server.d.ts +4 -2
  44. package/dist/core/collections/rest/getById.server.js +35 -0
  45. package/dist/core/collections/rest/index.server.d.ts +16 -0
  46. package/dist/core/collections/rest/index.server.js +16 -0
  47. package/dist/core/collections/{api → rest}/updateById.server.d.ts +4 -2
  48. package/dist/core/collections/rest/updateById.server.js +44 -0
  49. package/dist/core/collections/upload/disk/delete.server.d.ts +1 -1
  50. package/dist/core/collections/upload/disk/delete.server.js +48 -1
  51. package/dist/core/collections/upload/hooks/clean-up-files.server.js +2 -2
  52. package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +1 -1
  53. package/dist/core/collections/upload/hooks/extract-path.server.d.ts +2 -2
  54. package/dist/core/collections/upload/hooks/extract-path.server.js +1 -1
  55. package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +1 -1
  56. package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +1 -1
  57. package/dist/core/collections/upload/hooks/process-file-upload.server.js +3 -3
  58. package/dist/core/config/auth/better-auth.server.d.ts +2 -2
  59. package/dist/core/config/client/augment-directories.js +1 -1
  60. package/dist/core/config/config-context.server.d.ts +3 -3
  61. package/dist/core/config/server/augment-directories.server.js +1 -1
  62. package/dist/core/config/server/augment-panel-access.server.d.ts +1 -1
  63. package/dist/core/config/server/build-config.server.d.ts +11 -11
  64. package/dist/core/config/server/validate.server.js +51 -31
  65. package/dist/core/config/shared/find-thumbnail.js +13 -13
  66. package/dist/core/config/shared/find-title.js +13 -13
  67. package/dist/core/config/shared/upload-directories.js +1 -1
  68. package/dist/core/constant.d.ts +1 -1
  69. package/dist/core/constant.js +1 -1
  70. package/dist/core/constant.server.d.ts +1 -0
  71. package/dist/core/constant.server.js +2 -0
  72. package/dist/core/dev/cache/index.server.js +9 -9
  73. package/dist/core/dev/cli/build/index.d.ts +1 -0
  74. package/dist/core/dev/cli/build/index.js +37 -8
  75. package/dist/core/dev/cli/build/templates.d.ts +1 -0
  76. package/dist/core/dev/cli/build/templates.js +24 -0
  77. package/dist/core/dev/cli/clear/index.server.js +3 -2
  78. package/dist/core/dev/cli/generate/index.server.js +3 -2
  79. package/dist/core/dev/cli/index.js +20 -0
  80. package/dist/core/dev/cli/init/index.server.js +4 -4
  81. package/dist/core/dev/cli/init/templates.d.ts +1 -1
  82. package/dist/core/dev/cli/init/templates.js +2 -2
  83. package/dist/core/dev/cli/util/log.server.d.ts +1 -0
  84. package/dist/core/dev/cli/util/log.server.js +4 -0
  85. package/dist/core/dev/cli/util/package-manager.server.d.ts +9 -0
  86. package/dist/core/dev/cli/{init/package-manager-util.server.js → util/package-manager.server.js} +15 -0
  87. package/dist/core/dev/cli/util/package.server.d.ts +9 -0
  88. package/dist/core/dev/cli/{init/get-package-info.server.js → util/package.server.js} +10 -0
  89. package/dist/core/dev/generate/routes/common.server.d.ts +10 -1
  90. package/dist/core/dev/generate/routes/common.server.js +248 -29
  91. package/dist/core/dev/generate/routes/index.server.d.ts +7 -1
  92. package/dist/core/dev/generate/routes/index.server.js +16 -55
  93. package/dist/core/dev/generate/routes/util.server.d.ts +6 -16
  94. package/dist/core/dev/generate/routes/util.server.js +8 -21
  95. package/dist/core/dev/generate/types/index.server.js +22 -20
  96. package/dist/core/dev/vite/index.server.js +22 -6
  97. package/dist/core/errors/handler.server.d.ts +22 -1
  98. package/dist/core/errors/handler.server.js +25 -2
  99. package/dist/core/errors/index.d.ts +0 -1
  100. package/dist/core/errors/index.js +0 -1
  101. package/dist/core/fields/builders/boolean-builder.d.ts +3 -1
  102. package/dist/core/fields/builders/boolean-builder.js +3 -0
  103. package/dist/core/fields/builders/field-builder.d.ts +35 -2
  104. package/dist/core/fields/builders/field-builder.js +33 -2
  105. package/dist/core/fields/builders/form-field-builder.d.ts +71 -12
  106. package/dist/core/fields/builders/form-field-builder.js +96 -6
  107. package/dist/core/fields/builders/select-builder.d.ts +4 -1
  108. package/dist/core/fields/builders/select-builder.js +3 -0
  109. package/dist/core/fields/util.d.ts +9 -17
  110. package/dist/core/fields/util.js +49 -83
  111. package/dist/core/handlers/routes.server.d.ts +70 -1
  112. package/dist/core/handlers/routes.server.js +71 -4
  113. package/dist/core/naming.d.ts +34 -0
  114. package/dist/core/naming.js +39 -0
  115. package/dist/core/operations/blocks/diff.server.js +1 -1
  116. package/dist/core/operations/blocks/extract.server.js +1 -1
  117. package/dist/core/operations/configMap/buildTreeMap.d.ts +3 -2
  118. package/dist/core/operations/configMap/buildTreeMap.js +1 -1
  119. package/dist/core/operations/configMap/index.d.ts +2 -1
  120. package/dist/core/operations/configMap/index.js +13 -13
  121. package/dist/core/operations/configMap/types.d.ts +2 -2
  122. package/dist/core/operations/hooks/before-read/process-document-fields.server.js +14 -17
  123. package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +1 -1
  124. package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +1 -1
  125. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +1 -1
  126. package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +1 -1
  127. package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +1 -1
  128. package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +3 -5
  129. package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +10 -15
  130. package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +1 -1
  131. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +49 -31
  132. package/dist/core/operations/relations/extract.server.js +5 -5
  133. package/dist/core/operations/shared/fallback-data-from-original.js +2 -2
  134. package/dist/core/operations/tree/diff.server.js +1 -1
  135. package/dist/core/operations/tree/extract.server.js +1 -1
  136. package/dist/core/plugins/api-init/index.server.js +10 -5
  137. package/dist/core/plugins/cache/cache.server.js +4 -4
  138. package/dist/core/rime.server.d.ts +10 -10
  139. package/dist/core/rime.server.js +5 -1
  140. package/dist/fields/blocks/component/AddBlockButton.svelte +7 -7
  141. package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +2 -2
  142. package/dist/fields/blocks/component/Blocks.svelte +6 -7
  143. package/dist/fields/blocks/component/props.d.ts +2 -2
  144. package/dist/fields/blocks/index.d.ts +1 -1
  145. package/dist/fields/blocks/index.js +3 -3
  146. package/dist/fields/blocks/index.server.js +1 -1
  147. package/dist/fields/checkbox/component/Checkbox.svelte +2 -2
  148. package/dist/fields/checkbox/component/props.d.ts +2 -2
  149. package/dist/fields/checkbox/index.server.d.ts +1 -2
  150. package/dist/fields/checkbox/index.server.js +1 -10
  151. package/dist/fields/combobox/component/ComboBox.svelte +3 -3
  152. package/dist/fields/combobox/component/props.d.ts +2 -2
  153. package/dist/fields/combobox/index.server.d.ts +1 -2
  154. package/dist/fields/combobox/index.server.js +2 -11
  155. package/dist/fields/component/index.d.ts +1 -1
  156. package/dist/fields/date/component/Date.svelte +4 -4
  157. package/dist/fields/date/component/Date.svelte.d.ts +2 -2
  158. package/dist/fields/date/index.d.ts +3 -1
  159. package/dist/fields/date/index.js +3 -0
  160. package/dist/fields/date/index.server.d.ts +1 -2
  161. package/dist/fields/date/index.server.js +1 -10
  162. package/dist/fields/email/component/Email.svelte +5 -6
  163. package/dist/fields/email/component/props.d.ts +2 -3
  164. package/dist/fields/email/index.d.ts +3 -2
  165. package/dist/fields/email/index.js +5 -2
  166. package/dist/fields/email/index.server.d.ts +0 -3
  167. package/dist/fields/email/index.server.js +0 -9
  168. package/dist/fields/group/component/Group.svelte +9 -15
  169. package/dist/fields/group/component/Group.svelte.d.ts +2 -2
  170. package/dist/fields/group/index.d.ts +4 -2
  171. package/dist/fields/group/index.server.js +2 -2
  172. package/dist/fields/index.server.d.ts +1 -4
  173. package/dist/fields/index.server.js +17 -13
  174. package/dist/fields/link/component/Link.svelte +5 -5
  175. package/dist/fields/link/component/RessourceInput.svelte +1 -1
  176. package/dist/fields/link/component/props.d.ts +2 -2
  177. package/dist/fields/link/index.d.ts +5 -2
  178. package/dist/fields/link/index.js +10 -11
  179. package/dist/fields/link/runtime.d.ts +2 -0
  180. package/dist/fields/link/runtime.js +1 -0
  181. package/dist/fields/link/{index.server.d.ts → runtime.server.d.ts} +1 -2
  182. package/dist/fields/link/{index.server.js → runtime.server.js} +2 -11
  183. package/dist/fields/number/component/Number.svelte +6 -6
  184. package/dist/fields/number/component/props.d.ts +2 -2
  185. package/dist/fields/number/index.d.ts +4 -10
  186. package/dist/fields/number/index.js +3 -4
  187. package/dist/fields/number/index.server.d.ts +1 -2
  188. package/dist/fields/number/index.server.js +1 -10
  189. package/dist/fields/radio/component/Radio.svelte +6 -7
  190. package/dist/fields/radio/component/props.d.ts +2 -2
  191. package/dist/fields/radio/index.server.d.ts +1 -2
  192. package/dist/fields/radio/index.server.js +2 -11
  193. package/dist/fields/relation/client.d.ts +1 -1
  194. package/dist/fields/relation/client.js +1 -1
  195. package/dist/fields/relation/component/Cell.svelte +1 -1
  196. package/dist/fields/relation/component/Relation.svelte +19 -15
  197. package/dist/fields/relation/component/Relation.svelte.d.ts +2 -2
  198. package/dist/fields/relation/component/upload/Browse.svelte +1 -1
  199. package/dist/fields/relation/index.d.ts +8 -5
  200. package/dist/fields/relation/index.js +8 -47
  201. package/dist/fields/relation/runtime.d.ts +5 -0
  202. package/dist/fields/relation/runtime.js +4 -0
  203. package/dist/fields/relation/runtime.server.d.ts +8 -0
  204. package/dist/fields/relation/runtime.server.js +49 -0
  205. package/dist/fields/rich-text/component/RichText.svelte +5 -5
  206. package/dist/fields/rich-text/component/props.d.ts +2 -2
  207. package/dist/fields/rich-text/core/features/fields/extension.d.ts +2 -2
  208. package/dist/fields/rich-text/core/features/fields/fields.svelte +2 -2
  209. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +1 -1
  210. package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
  211. package/dist/fields/rich-text/core/features/resource/resource.svelte +1 -1
  212. package/dist/fields/rich-text/core/features/upload/upload-extension.d.ts +1 -1
  213. package/dist/fields/rich-text/core/features/upload/upload.svelte +1 -1
  214. package/dist/fields/rich-text/index.d.ts +2 -0
  215. package/dist/fields/rich-text/index.js +7 -2
  216. package/dist/fields/rich-text/index.server.d.ts +1 -2
  217. package/dist/fields/rich-text/index.server.js +1 -10
  218. package/dist/fields/select/component/Select.svelte +16 -16
  219. package/dist/fields/select/component/props.d.ts +2 -2
  220. package/dist/fields/select/index.d.ts +2 -0
  221. package/dist/fields/select/index.js +3 -0
  222. package/dist/fields/select/index.server.d.ts +1 -2
  223. package/dist/fields/select/index.server.js +2 -17
  224. package/dist/fields/slug/component/Slug.svelte +14 -10
  225. package/dist/fields/slug/component/Slug.svelte.d.ts +2 -2
  226. package/dist/fields/slug/index.d.ts +5 -2
  227. package/dist/fields/slug/index.js +3 -0
  228. package/dist/fields/slug/index.server.d.ts +1 -2
  229. package/dist/fields/slug/index.server.js +1 -10
  230. package/dist/fields/tabs/component/Tabs.svelte +15 -15
  231. package/dist/fields/tabs/component/Tabs.svelte.d.ts +2 -2
  232. package/dist/fields/tabs/index.d.ts +4 -16
  233. package/dist/fields/tabs/index.js +1 -8
  234. package/dist/fields/tabs/index.server.js +3 -3
  235. package/dist/fields/text/component/Text.svelte +5 -5
  236. package/dist/fields/text/component/props.d.ts +2 -3
  237. package/dist/fields/text/index.d.ts +4 -10
  238. package/dist/fields/text/index.js +3 -4
  239. package/dist/fields/text/index.server.d.ts +1 -2
  240. package/dist/fields/text/index.server.js +1 -10
  241. package/dist/fields/textarea/component/TextArea.svelte +3 -3
  242. package/dist/fields/textarea/component/props.d.ts +2 -2
  243. package/dist/fields/textarea/index.d.ts +4 -1
  244. package/dist/fields/textarea/index.js +3 -0
  245. package/dist/fields/textarea/index.server.d.ts +1 -2
  246. package/dist/fields/textarea/index.server.js +1 -10
  247. package/dist/fields/time/component/Time.svelte +5 -5
  248. package/dist/fields/time/component/Time.svelte.d.ts +1 -1
  249. package/dist/fields/time/component/props.d.ts +2 -2
  250. package/dist/fields/time/index.d.ts +2 -0
  251. package/dist/fields/time/index.js +3 -0
  252. package/dist/fields/time/index.server.d.ts +1 -2
  253. package/dist/fields/time/index.server.js +1 -10
  254. package/dist/fields/toggle/component/Toggle.svelte +3 -3
  255. package/dist/fields/toggle/component/Toggle.svelte.d.ts +1 -1
  256. package/dist/fields/toggle/component/props.d.ts +2 -2
  257. package/dist/fields/toggle/index.d.ts +2 -1
  258. package/dist/fields/toggle/index.server.d.ts +1 -2
  259. package/dist/fields/toggle/index.server.js +1 -10
  260. package/dist/fields/tree/component/AddItemButton.svelte +1 -2
  261. package/dist/fields/tree/component/Tree.svelte +6 -6
  262. package/dist/fields/tree/component/TreeBlock.svelte +5 -12
  263. package/dist/fields/tree/component/props.d.ts +3 -3
  264. package/dist/fields/tree/index.d.ts +3 -1
  265. package/dist/fields/tree/index.js +2 -2
  266. package/dist/fields/types.d.ts +11 -5
  267. package/dist/index.d.ts +8 -3
  268. package/dist/index.js +7 -3
  269. package/dist/panel/components/fields/FieldsPreview.svelte +4 -5
  270. package/dist/panel/components/fields/Hint.svelte +5 -4
  271. package/dist/panel/components/fields/Hint.svelte.d.ts +3 -2
  272. package/dist/panel/components/fields/Label.svelte +6 -11
  273. package/dist/panel/components/fields/Label.svelte.d.ts +3 -2
  274. package/dist/panel/components/fields/LabelFor.svelte +4 -4
  275. package/dist/panel/components/fields/LabelFor.svelte.d.ts +2 -1
  276. package/dist/panel/components/fields/RenderFields.svelte +11 -16
  277. package/dist/panel/components/fields/{root.svelte.d.ts → fieldset.svelte.d.ts} +1 -1
  278. package/dist/panel/components/fields/{root.svelte.js → fieldset.svelte.js} +1 -1
  279. package/dist/panel/components/fields/index.d.ts +5 -5
  280. package/dist/panel/components/fields/index.js +2 -2
  281. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +1 -1
  282. package/dist/panel/components/sections/document/AuthFooter.svelte +2 -7
  283. package/dist/panel/components/sections/document/ButtonStatus.svelte +1 -1
  284. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +1 -1
  285. package/dist/panel/components/sections/document/Settings.svelte +1 -1
  286. package/dist/panel/components/sections/live/LiveEditPanel.svelte +2 -2
  287. package/dist/panel/context/collection.svelte.js +10 -10
  288. package/dist/panel/context/documentForm.svelte.d.ts +8 -21
  289. package/dist/panel/context/documentForm.svelte.js +46 -54
  290. package/dist/panel/context/form.svelte.d.ts +6 -3
  291. package/dist/panel/context/form.svelte.js +22 -18
  292. package/dist/panel/context/live.svelte.js +1 -1
  293. package/dist/panel/index.d.ts +9 -1
  294. package/dist/panel/index.js +7 -1
  295. package/dist/panel/pages/area/actions.server.d.ts +2 -21
  296. package/dist/panel/pages/area/actions.server.js +28 -27
  297. package/dist/panel/pages/area/load.server.d.ts +2 -17
  298. package/dist/panel/pages/area/load.server.js +37 -46
  299. package/dist/panel/pages/auth/fields.d.ts +4 -4
  300. package/dist/panel/pages/auth/fields.js +6 -22
  301. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +3 -10
  302. package/dist/panel/pages/auth/sign-in/SignIn.svelte +7 -1
  303. package/dist/panel/pages/collection/load.server.d.ts +6 -6
  304. package/dist/panel/pages/collection/load.server.js +70 -72
  305. package/dist/panel/pages/collection-document/actions.server.d.ts +1 -1
  306. package/dist/panel/pages/collection-document/actions.server.js +78 -70
  307. package/dist/panel/pages/collection-document/load.server.d.ts +5 -20
  308. package/dist/panel/pages/collection-document/load.server.js +80 -82
  309. package/dist/server.d.ts +7 -0
  310. package/dist/server.js +7 -0
  311. package/dist/types.d.ts +1 -0
  312. package/dist/util/doc.js +15 -17
  313. package/dist/util/index.d.ts +9 -1
  314. package/dist/util/index.js +12 -1
  315. package/package.json +8 -50
  316. package/dist/core/api/index.d.ts +0 -7
  317. package/dist/core/api/index.js +0 -10
  318. package/dist/core/api/index.server.d.ts +0 -3
  319. package/dist/core/api/index.server.js +0 -3
  320. package/dist/core/areas/api/get.server.js +0 -36
  321. package/dist/core/areas/api/index.server.d.ts +0 -7
  322. package/dist/core/areas/api/index.server.js +0 -4
  323. package/dist/core/areas/api/update.server.js +0 -33
  324. package/dist/core/collections/api/create.server.js +0 -29
  325. package/dist/core/collections/api/delete.server.js +0 -32
  326. package/dist/core/collections/api/deleteById.server.js +0 -16
  327. package/dist/core/collections/api/duplicate.server.js +0 -18
  328. package/dist/core/collections/api/get.server.js +0 -45
  329. package/dist/core/collections/api/getById.server.js +0 -30
  330. package/dist/core/collections/api/index.server.d.ts +0 -17
  331. package/dist/core/collections/api/index.server.js +0 -9
  332. package/dist/core/collections/api/updateById.server.js +0 -38
  333. package/dist/core/dev/cli/init/get-package-info.server.d.ts +0 -1
  334. package/dist/core/dev/cli/init/package-manager-util.server.d.ts +0 -3
  335. package/dist/core/dev/generate/routes/area.server.d.ts +0 -7
  336. package/dist/core/dev/generate/routes/area.server.js +0 -69
  337. package/dist/core/dev/generate/routes/collection.server.d.ts +0 -14
  338. package/dist/core/dev/generate/routes/collection.server.js +0 -129
  339. package/dist/fields/relation/index.server.d.ts +0 -4
  340. package/dist/fields/relation/index.server.js +0 -13
  341. package/dist/live.d.ts +0 -4
  342. package/dist/live.js +0 -4
  343. package/dist/panel/index.server.d.ts +0 -4
  344. package/dist/panel/index.server.js +0 -4
  345. package/dist/panel/pages/auth/index.d.ts +0 -4
  346. package/dist/panel/pages/auth/index.js +0 -4
  347. package/dist/panel/pages/auth/index.server.d.ts +0 -18
  348. package/dist/panel/pages/auth/index.server.js +0 -12
  349. package/dist/panel/pages/index.actions.server.d.ts +0 -13
  350. package/dist/panel/pages/index.actions.server.js +0 -10
  351. package/dist/panel/pages/index.load.server.d.ts +0 -23
  352. package/dist/panel/pages/index.load.server.js +0 -16
  353. package/dist/panel/ui.d.ts +0 -4
  354. package/dist/panel/ui.js +0 -5
  355. /package/dist/core/dev/cli/{util.server.d.ts → util/prompt.server.d.ts} +0 -0
  356. /package/dist/core/dev/cli/{util.server.js → util/prompt.server.js} +0 -0
@@ -1,55 +1,46 @@
1
- import { apiUrl } from '../../../core/api/index.js';
2
1
  import { PARAMS } from '../../../core/constant.js';
2
+ import { ERROR_CONTEXT, handleError } from '../../../core/errors/handler.server.js';
3
3
  import { RimeError } from '../../../core/errors/index.js';
4
4
  import { withVersionsSuffix } from '../../../core/naming.js';
5
5
  import { panelUrl } from '../../util/url.js';
6
6
  import { trycatch } from '../../../util/function.js';
7
+ import { apiUrl } from '../../../util/index.js';
7
8
  import { toKebabCase } from '../../../util/string.js';
8
- export default function (slug, withVersions) {
9
+ export async function areaLoad(event, withVersions) {
9
10
  //
10
- const load = async ({ locals, url, fetch }) => {
11
- const { rime, locale } = locals;
12
- const area = rime.area(slug);
13
- const authorizedRead = area.config.access.read(locals.user, {});
14
- const authorizedUpdate = area.config.access.update(locals.user, {});
15
- const aria = [
16
- { title: 'Dashboard', icon: 'dashboard', url: panelUrl() },
17
- { title: area.config.label }
18
- ];
19
- if (!authorizedRead) {
20
- return {
21
- aria,
22
- doc: {},
23
- operation: 'update',
24
- status: 401,
25
- readOnly: true
26
- };
27
- }
28
- const versionId = url.searchParams.get(PARAMS.VERSION_ID) || undefined;
29
- const draft = url.searchParams.get(PARAMS.DRAFT)
30
- ? url.searchParams.get(PARAMS.DRAFT) === 'true'
31
- : undefined;
32
- const doc = await area.find({ locale, versionId, draft });
33
- if (!authorizedUpdate) {
34
- return { aria, doc, operation: 'update', status: 200, readOnly: true };
35
- }
36
- let data = {
37
- aria,
38
- doc,
39
- operation: 'update',
40
- status: 200,
41
- readOnly: false
42
- };
43
- if (withVersions) {
44
- const url = `${apiUrl(withVersionsSuffix(toKebabCase(doc._type)))}?where[ownerId][equals]=${doc.id}&sort=-updatedAt&select=updatedAt,status`;
45
- const promise = fetch(url).then((r) => r.json());
46
- const [error, result] = await trycatch(promise);
47
- if (error || !Array.isArray(result.docs)) {
48
- throw new RimeError(RimeError.OPERATION_ERROR, 'while getting versions');
49
- }
50
- data = { ...data, versions: result.docs };
51
- }
52
- return data;
11
+ const { locals, url, fetch } = event;
12
+ const { rime, locale } = locals;
13
+ const slug = (event.params.slug || '');
14
+ const area = rime.area(slug);
15
+ const authorizedRead = area.config.access.read(locals.user, {});
16
+ const authorizedUpdate = area.config.access.update(locals.user, {});
17
+ if (!authorizedRead) {
18
+ throw handleError(new RimeError(RimeError.UNAUTHORIZED), { context: ERROR_CONTEXT.LOAD });
19
+ }
20
+ const aria = [
21
+ { title: 'Dashboard', icon: 'dashboard', url: panelUrl() },
22
+ { title: area.config.label }
23
+ ];
24
+ const versionId = url.searchParams.get(PARAMS.VERSION_ID) || undefined;
25
+ const draft = url.searchParams.get(PARAMS.DRAFT)
26
+ ? url.searchParams.get(PARAMS.DRAFT) === 'true'
27
+ : undefined;
28
+ const doc = await area.find({ locale, versionId, draft });
29
+ let data = {
30
+ aria,
31
+ doc,
32
+ operation: 'update',
33
+ status: 200,
34
+ readOnly: !authorizedUpdate
53
35
  };
54
- return load;
36
+ if (withVersions) {
37
+ const url = `${apiUrl(withVersionsSuffix(toKebabCase(doc._type)))}?where[ownerId][equals]=${doc.id}&sort=-updatedAt&select=updatedAt,status`;
38
+ const promise = fetch(url).then((r) => r.json());
39
+ const [error, result] = await trycatch(promise);
40
+ if (error || !Array.isArray(result.docs)) {
41
+ throw new RimeError(RimeError.OPERATION_ERROR, 'while getting versions');
42
+ }
43
+ data = { ...data, versions: result.docs };
44
+ }
45
+ return data;
55
46
  }
@@ -1,4 +1,4 @@
1
- import type { EmailField, SimplerField, TextField } from '../../../fields/types.js';
2
- export declare const passwordField: SimplerField<TextField>;
3
- export declare const emailField: SimplerField<EmailField>;
4
- export declare const nameField: SimplerField<TextField>;
1
+ export declare const passwordField: import("../../../fields/text/index.js").TextFieldBuilder;
2
+ export declare const confirmPasswordField: import("../../../fields/text/index.js").TextFieldBuilder;
3
+ export declare const emailField: import("../../../fields/email/index.js").EmailFieldBuilder;
4
+ export declare const nameField: import("../../../fields/text/index.js").TextFieldBuilder;
@@ -1,23 +1,7 @@
1
+ import { email } from '../../../fields/email/index.js';
2
+ import { text } from '../../../fields/text/index.js';
1
3
  import { email as validateEmail } from '../../../util/validate.js';
2
- export const passwordField = {
3
- name: 'password',
4
- type: 'text',
5
- layout: 'compact',
6
- required: true,
7
- isEmpty: (value) => !value
8
- };
9
- export const emailField = {
10
- name: 'email',
11
- type: 'email',
12
- layout: 'compact',
13
- required: true,
14
- validate: validateEmail,
15
- isEmpty: (value) => !value
16
- };
17
- export const nameField = {
18
- name: 'name',
19
- type: 'text',
20
- layout: 'compact',
21
- required: true,
22
- isEmpty: (value) => !value
23
- };
4
+ export const passwordField = text('password').required();
5
+ export const confirmPasswordField = text('confirmPassword').required();
6
+ export const emailField = email('email').layout('compact').required().validate(validateEmail);
7
+ export const nameField = text('name').layout('compact').required();
@@ -4,7 +4,7 @@
4
4
  import AuthForm from '../../../components/sections/auth/AuthForm.svelte';
5
5
  import Button from '../../../components/ui/button/button.svelte';
6
6
  import { setFormContext } from '../../../context/form.svelte';
7
- import { passwordField } from '../fields.js';
7
+ import { confirmPasswordField, passwordField } from '../fields.js';
8
8
  import { authClient } from '../../../util/auth';
9
9
  import { toast } from 'svelte-sonner';
10
10
 
@@ -19,15 +19,8 @@
19
19
  };
20
20
  const { data }: Props = $props();
21
21
 
22
- const passwordConfig = {
23
- ...passwordField,
24
- placeholder: t__('common.newPassword')
25
- };
26
- const confirmPasswordConfig = {
27
- ...passwordField,
28
- name: 'confirmPassword',
29
- placeholder: t__('common.confirmPassword')
30
- };
22
+ const passwordConfig = passwordField.placeholder(t__('common.newPassword'));
23
+ const confirmPasswordConfig = confirmPasswordField.placeholder(t__('common.confirmPassword'));
31
24
 
32
25
  async function resetPassword() {
33
26
  const token = new URLSearchParams(window.location.search).get('token');
@@ -5,6 +5,7 @@
5
5
  import Text from '../../../../fields/text/component/Text.svelte';
6
6
  import AuthForm from '../../../components/sections/auth/AuthForm.svelte';
7
7
  import Button from '../../../components/ui/button/button.svelte';
8
+ import SpinLoader from '../../../components/ui/spin-loader/SpinLoader.svelte';
8
9
  import { setFormContext } from '../../../context/form.svelte';
9
10
  import { emailField, passwordField } from '../fields.js';
10
11
  import type { FormErrors } from '../../../../types.js';
@@ -36,7 +37,12 @@
36
37
  <form method="POST" action="/panel/sign-in" use:enhance={context.enhance}>
37
38
  <Email config={emailField} form={context} />
38
39
  <Text type="password" icon={KeyRound} config={passwordField} form={context} />
39
- <Button size="xl" disabled={!context.canSubmit} type="submit">Login</Button>
40
+ <Button size="xl" disabled={!context.canSubmit} type="submit">
41
+ {t__('common.signin')}
42
+ {#if context.pending}
43
+ <SpinLoader />
44
+ {/if}
45
+ </Button>
40
46
 
41
47
  {#if data.forgotPasswordEnabled}
42
48
  <Button variant="link" href="/forgot-password">
@@ -1,8 +1,8 @@
1
+ import type { Directory } from '../../../core/collections/upload/upload.js';
2
+ import { type UploadPath } from '../../../core/collections/upload/util/path.js';
1
3
  import type { GenericDoc } from '../../../core/types/doc.js';
2
4
  import type { Route } from '../../types.js';
3
5
  import { type ServerLoadEvent } from '@sveltejs/kit';
4
- import type { Directory } from '../../../core/collections/upload/upload.js';
5
- import { type UploadPath } from '../../../core/collections/upload/util/path.js';
6
6
  type Data = {
7
7
  aria: Partial<Route>[];
8
8
  docs: GenericDoc[];
@@ -14,8 +14,8 @@ type Data = {
14
14
  parentDirectory: Directory;
15
15
  };
16
16
  };
17
- /****************************************************
18
- /* Layout load
19
- /****************************************************/
20
- export declare function collectionLoad(slug: string): (event: ServerLoadEvent) => Promise<Data>;
17
+ /**
18
+ * Load function for the collection page in the panel.
19
+ */
20
+ export declare function collectionLoad(event: ServerLoadEvent): Promise<Data>;
21
21
  export {};
@@ -1,85 +1,83 @@
1
- import { UPLOAD_PATH } from '../../../core/constant.js';
2
- import { withDirectoriesSuffix } from '../../../core/naming.js';
3
- import { redirect } from '@sveltejs/kit';
4
1
  import { buildUploadAria, getParentPath, removePathFromLastAria } from '../../../core/collections/upload/util/path.js';
5
- import { RimeError } from '../../../core/errors/index.js';
2
+ import { UPLOAD_PATH } from '../../../core/constant.js';
6
3
  import { handleError } from '../../../core/errors/handler.server.js';
4
+ import { RimeError } from '../../../core/errors/index.js';
7
5
  import { logger } from '../../../core/logger/index.server.js';
6
+ import { withDirectoriesSuffix } from '../../../core/naming.js';
8
7
  import { panelUrl } from '../../util/url.js';
9
8
  import { trycatch } from '../../../util/function.js';
10
- /****************************************************
11
- /* Layout load
12
- /****************************************************/
13
- export function collectionLoad(slug) {
9
+ import { redirect } from '@sveltejs/kit';
10
+ /**
11
+ * Load function for the collection page in the panel.
12
+ */
13
+ export async function collectionLoad(event) {
14
14
  //
15
- const load = async (event) => {
16
- const { rime, locale, user } = event.locals;
17
- if (!rime.config.isCollection(slug)) {
18
- throw handleError(new RimeError(RimeError.NOT_FOUND), { context: 'load' });
15
+ const { rime, locale, user } = event.locals;
16
+ const slug = event.params.slug || '';
17
+ if (!rime.config.isCollection(slug)) {
18
+ throw handleError(new RimeError(RimeError.NOT_FOUND), { context: 'load' });
19
+ }
20
+ const collection = rime.collection(slug);
21
+ const authorizedCreate = collection.config.access.create(user, {});
22
+ const docs = await collection.find({
23
+ locale,
24
+ draft: true
25
+ });
26
+ let aria = [
27
+ { title: 'Dashboard', url: panelUrl() },
28
+ { title: collection.config.label.plural }
29
+ ];
30
+ let data = {
31
+ aria,
32
+ docs,
33
+ canCreate: authorizedCreate,
34
+ status: 200
35
+ };
36
+ if (collection.config.upload) {
37
+ let directories = [];
38
+ const paramUploadPath = event.url.searchParams.get('uploadPath');
39
+ const currentDirectoryPath = paramUploadPath || UPLOAD_PATH.ROOT_NAME;
40
+ const directoryCollection = rime.collection(withDirectoriesSuffix(slug));
41
+ // Check if dir exists
42
+ const [error, currentDirectory] = await trycatch(() => directoryCollection.findById({
43
+ id: currentDirectoryPath
44
+ }));
45
+ // If doesn't exists and path is root then create it
46
+ if (!currentDirectory && currentDirectoryPath === UPLOAD_PATH.ROOT_NAME) {
47
+ await directoryCollection.create({
48
+ data: { id: UPLOAD_PATH.ROOT_NAME }
49
+ });
50
+ }
51
+ else if (error) {
52
+ logger.error(`${paramUploadPath} doesn't exists`);
53
+ return redirect(301, event.url.pathname);
19
54
  }
20
- const collection = rime.collection(slug);
21
- const authorizedCreate = collection.config.access.create(user, {});
22
- const docs = await collection.find({
23
- locale,
24
- draft: true
55
+ directories = await directoryCollection.find({
56
+ query: `where[parent][equals]=${currentDirectoryPath}`,
57
+ sort: 'name'
25
58
  });
26
- let aria = [
27
- { title: 'Dashboard', url: panelUrl() },
28
- { title: collection.config.label.plural }
29
- ];
30
- let data = {
31
- aria,
32
- docs,
33
- canCreate: authorizedCreate,
34
- status: 200
35
- };
36
- if (collection.config.upload) {
37
- let directories = [];
38
- const paramUploadPath = event.url.searchParams.get('uploadPath');
39
- const currentDirectoryPath = paramUploadPath || UPLOAD_PATH.ROOT_NAME;
40
- const directoryCollection = rime.collection(withDirectoriesSuffix(slug));
41
- // Check if dir exists
42
- const [error, currentDirectory] = await trycatch(() => directoryCollection.findById({
43
- id: currentDirectoryPath
59
+ const parentPath = getParentPath(currentDirectoryPath);
60
+ let parentDirectory;
61
+ if (parentPath) {
62
+ const [parentError, result] = await trycatch(() => directoryCollection.findById({
63
+ id: parentPath
44
64
  }));
45
- // If doesn't exists and path is root then create it
46
- if (!currentDirectory && currentDirectoryPath === UPLOAD_PATH.ROOT_NAME) {
47
- await directoryCollection.create({
48
- data: { id: UPLOAD_PATH.ROOT_NAME }
49
- });
50
- }
51
- else if (error) {
52
- logger.error(`${paramUploadPath} doesn't exists`);
53
- return redirect(301, event.url.pathname);
65
+ if (parentError) {
66
+ throw handleError(parentError, { context: 'load' });
54
67
  }
55
- directories = await directoryCollection.find({
56
- query: `where[parent][equals]=${currentDirectoryPath}`,
57
- sort: 'name'
58
- });
59
- const parentPath = getParentPath(currentDirectoryPath);
60
- let parentDirectory;
61
- if (parentPath) {
62
- const [parentError, result] = await trycatch(() => directoryCollection.findById({
63
- id: parentPath
64
- }));
65
- if (parentError) {
66
- throw handleError(parentError, { context: 'load' });
67
- }
68
- parentDirectory = result;
69
- const collectionAria = {
70
- title: collection.config.label.plural,
71
- url: panelUrl(collection.config.kebab)
72
- };
73
- aria = [...aria].slice(0, -1);
74
- aria = [...aria, collectionAria, ...buildUploadAria({ path: currentDirectoryPath, slug })];
75
- data.aria = removePathFromLastAria(aria);
76
- }
77
- data = {
78
- ...data,
79
- upload: { directories, currentPath: currentDirectoryPath, parentDirectory }
68
+ parentDirectory = result;
69
+ const collectionAria = {
70
+ title: collection.config.label.plural,
71
+ url: panelUrl(collection.config.kebab)
80
72
  };
73
+ aria = [...aria].slice(0, -1);
74
+ aria = [...aria, collectionAria, ...buildUploadAria({ path: currentDirectoryPath, slug })];
75
+ data.aria = removePathFromLastAria(aria);
81
76
  }
82
- return data;
83
- };
84
- return load;
77
+ data = {
78
+ ...data,
79
+ upload: { directories, currentPath: currentDirectoryPath, parentDirectory }
80
+ };
81
+ }
82
+ return data;
85
83
  }
@@ -1,2 +1,2 @@
1
1
  import { type Actions } from '@sveltejs/kit';
2
- export default function (slug: string): Actions;
2
+ export declare const collectionFormActions: Actions;
@@ -1,5 +1,5 @@
1
1
  import { PARAMS, UPLOAD_PATH } from '../../../core/constant.js';
2
- import { handleError } from '../../../core/errors/handler.server.js';
2
+ import { ERROR_CONTEXT, handleError } from '../../../core/errors/handler.server.js';
3
3
  import { RimeError } from '../../../core/errors/index.js';
4
4
  import { extractData } from '../../../core/operations/extract-data.server.js';
5
5
  import { panelUrl } from '../../util/url.js';
@@ -7,80 +7,88 @@ import { trycatch } from '../../../util/function.js';
7
7
  import { toKebabCase } from '../../../util/string.js';
8
8
  import {} from '@sveltejs/kit';
9
9
  import { t__ } from '../../../core/i18n/index.js';
10
- export default function (slug) {
11
- const actions = {
12
- /**
13
- * Create a document.
14
- * Action called when posting a form from the panel :
15
- * /panel/{slug}/create
16
- */
17
- create: async (event) => {
18
- const { rime, locale } = event.locals;
19
- // Get the redirect parameter ex: ?redirect=0 that can be present if we're in a nested form
20
- // to prevent redirection after entry creation ex: for relation creation
21
- const withoutRedirect = event.url.searchParams.get(PARAMS.REDIRECT) === 'false';
22
- const data = await extractData(event.request);
23
- if (!rime.config.isCollection(slug)) {
24
- throw handleError(new RimeError(RimeError.NOT_FOUND), { context: 'action' });
25
- }
26
- const collection = rime.collection(slug);
27
- const [error, document] = await trycatch(() => collection.create({ data, locale }));
28
- if (error) {
29
- return handleError(error, { context: 'action' });
30
- }
31
- if (withoutRedirect) {
32
- return {
33
- document,
34
- message: t__('common.doc_created')
35
- };
36
- }
37
- // Redirect to proper upload directory if collection.upload
38
- const params = collection.config.upload
39
- ? `?${PARAMS.UPLOAD_PATH}=${data._path || UPLOAD_PATH.ROOT_NAME}`
40
- : '';
41
- const redirectUrl = `${panelUrl(toKebabCase(slug), document.id)}${params}`;
10
+ export const collectionFormActions = {
11
+ /**
12
+ * Create a document.
13
+ * Action called when posting a form from the panel :
14
+ * /panel/{slug}/create
15
+ */
16
+ create: async (event) => {
17
+ const { rime, locale } = event.locals;
18
+ const slug = event.params.slug;
19
+ if (!rime.config.isCollection(slug)) {
20
+ throw handleError(new RimeError(RimeError.NOT_FOUND), { context: ERROR_CONTEXT.ACTION });
21
+ }
22
+ // Get the redirect parameter ex: ?redirect=false that can be present if we're in a nested form
23
+ // to prevent redirection after entry creation ex: for relation creation
24
+ const withoutRedirect = event.url.searchParams.get(PARAMS.REDIRECT) === 'false';
25
+ const [extractError, data] = await trycatch(() => extractData(event.request));
26
+ if (extractError) {
27
+ return handleError(extractError, { context: ERROR_CONTEXT.ACTION });
28
+ }
29
+ if (!rime.config.isCollection(slug)) {
30
+ throw handleError(new RimeError(RimeError.NOT_FOUND), { context: ERROR_CONTEXT.ACTION });
31
+ }
32
+ const collection = rime.collection(slug);
33
+ const [error, document] = await trycatch(() => collection.create({ data, locale }));
34
+ if (error) {
35
+ return handleError(error, { context: ERROR_CONTEXT.ACTION });
36
+ }
37
+ if (withoutRedirect) {
42
38
  return {
43
- redirectUrl,
44
39
  document,
45
40
  message: t__('common.doc_created')
46
41
  };
47
- },
48
- /**
49
- * Update a document.
50
- * Action called when posting a form from the panel :
51
- * /panel/{slug}/{documentId}
52
- */
53
- update: async (event) => {
54
- const { rime, locale } = event.locals;
55
- const id = event.params.id || '';
56
- const versionId = event.url.searchParams.get(PARAMS.VERSION_ID) || undefined;
57
- const draft = event.url.searchParams.get(PARAMS.DRAFT) === 'true';
58
- const data = await extractData(event.request);
59
- if (!rime.config.isCollection(slug)) {
60
- throw handleError(new RimeError(RimeError.NOT_FOUND), { context: 'action' });
61
- }
62
- const [error, document] = await trycatch(() => rime.collection(slug).updateById({
63
- id,
64
- data,
65
- versionId,
66
- draft,
67
- locale
68
- }));
69
- if (error) {
70
- return handleError(error, { context: 'action' });
71
- }
72
- if (draft && 'versionId' in document) {
73
- return {
74
- document,
75
- message: t__('common.version_created'),
76
- redirectUrl: `${panelUrl(toKebabCase(slug), document.id)}/versions?versionId=${document.versionId}`
77
- };
78
- }
42
+ }
43
+ // Redirect to proper upload directory if collection.upload
44
+ const params = collection.config.upload
45
+ ? `?${PARAMS.UPLOAD_PATH}=${data._path || UPLOAD_PATH.ROOT_NAME}`
46
+ : '';
47
+ const redirectUrl = `${panelUrl(toKebabCase(slug), document.id)}${params}`;
48
+ return {
49
+ redirectUrl,
50
+ document,
51
+ message: t__('common.doc_created')
52
+ };
53
+ },
54
+ /**
55
+ * Update a document.
56
+ * Action called when posting a form from the panel :
57
+ * /panel/{slug}/{documentId}
58
+ */
59
+ update: async (event) => {
60
+ const { rime, locale } = event.locals;
61
+ const slug = event.params.slug || '';
62
+ const id = event.params.id || '';
63
+ const versionId = event.url.searchParams.get(PARAMS.VERSION_ID) || undefined;
64
+ const draft = event.url.searchParams.get(PARAMS.DRAFT) === 'true';
65
+ if (!rime.config.isCollection(slug)) {
66
+ throw handleError(new RimeError(RimeError.NOT_FOUND), { context: ERROR_CONTEXT.ACTION });
67
+ }
68
+ const [extractError, data] = await trycatch(() => extractData(event.request));
69
+ if (extractError) {
70
+ return handleError(extractError, { context: ERROR_CONTEXT.ACTION });
71
+ }
72
+ const [error, document] = await trycatch(() => rime.collection(slug).updateById({
73
+ id,
74
+ data,
75
+ versionId,
76
+ draft,
77
+ locale
78
+ }));
79
+ if (error) {
80
+ return handleError(error, { context: ERROR_CONTEXT.ACTION });
81
+ }
82
+ if (draft && 'versionId' in document) {
79
83
  return {
80
84
  document,
81
- message: t__('common.doc_updated')
85
+ message: t__('common.version_created'),
86
+ redirectUrl: `${panelUrl(toKebabCase(slug), document.id)}/versions?versionId=${document.versionId}`
82
87
  };
83
88
  }
84
- };
85
- return actions;
86
- }
89
+ return {
90
+ document,
91
+ message: t__('common.doc_updated')
92
+ };
93
+ }
94
+ };
@@ -1,21 +1,6 @@
1
- import type { GenericDoc } from '../../../core/types/doc.js';
2
- import type { Route } from '../../types.js';
1
+ import type { CollectionDocData } from '../../index.js';
3
2
  import { type ServerLoadEvent } from '@sveltejs/kit';
4
- /****************************************************/
5
- export declare function docLoad(slug: string, withVersion?: boolean): <V extends boolean = boolean>(event: ServerLoadEvent) => Promise<({
6
- aria: Partial<Route>[];
7
- doc: GenericDoc;
8
- status: 200;
9
- readOnly: boolean;
10
- } & {
11
- operation: "create" | "update";
12
- hasMailer?: boolean;
13
- }) | ({
14
- aria: Partial<Route>[];
15
- doc: {};
16
- status: 401;
17
- readOnly: true;
18
- } & {
19
- operation: "create" | "update";
20
- hasMailer?: boolean;
21
- })>;
3
+ /**
4
+ * Load function for the collection document page in the panel.
5
+ */
6
+ export declare function documentLoad<V extends boolean = boolean>(event: ServerLoadEvent, withVersion?: V): Promise<CollectionDocData<V>>;