payload 3.0.0-beta.4 → 3.0.0-beta.40

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 (749) hide show
  1. package/auth.d.ts +1 -1
  2. package/auth.js +1 -1
  3. package/components.d.ts +14 -0
  4. package/components.js +71 -0
  5. package/dist/admin/LanguageOptions.d.ts +5 -0
  6. package/dist/admin/LanguageOptions.d.ts.map +1 -0
  7. package/dist/admin/LanguageOptions.js +3 -0
  8. package/dist/admin/LanguageOptions.js.map +1 -0
  9. package/dist/admin/RichText.d.ts +30 -15
  10. package/dist/admin/RichText.d.ts.map +1 -1
  11. package/dist/admin/RichText.js.map +1 -1
  12. package/dist/admin/elements/Cell.d.ts +2 -7
  13. package/dist/admin/elements/Cell.d.ts.map +1 -1
  14. package/dist/admin/elements/Cell.js.map +1 -1
  15. package/dist/admin/elements/Tab.d.ts +4 -0
  16. package/dist/admin/elements/Tab.d.ts.map +1 -1
  17. package/dist/admin/elements/Tab.js.map +1 -1
  18. package/dist/admin/elements/WithServerSideProps.d.ts +6 -2
  19. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
  20. package/dist/admin/elements/WithServerSideProps.js.map +1 -1
  21. package/dist/admin/forms/Error.d.ts +1 -0
  22. package/dist/admin/forms/Error.d.ts.map +1 -1
  23. package/dist/admin/forms/FieldDescription.d.ts +1 -1
  24. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  25. package/dist/admin/forms/FieldDescription.js.map +1 -1
  26. package/dist/admin/forms/FieldTypes.d.ts +1 -0
  27. package/dist/admin/forms/FieldTypes.d.ts.map +1 -1
  28. package/dist/admin/forms/Label.d.ts +3 -2
  29. package/dist/admin/forms/Label.d.ts.map +1 -1
  30. package/dist/admin/forms/Label.js.map +1 -1
  31. package/dist/admin/forms/RowLabel.d.ts +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  33. package/dist/admin/forms/RowLabel.js.map +1 -1
  34. package/dist/admin/types.d.ts +4 -3
  35. package/dist/admin/types.d.ts.map +1 -1
  36. package/dist/admin/types.js.map +1 -1
  37. package/dist/admin/views/types.d.ts +7 -4
  38. package/dist/admin/views/types.d.ts.map +1 -1
  39. package/dist/admin/views/types.js.map +1 -1
  40. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  41. package/dist/auth/baseFields/apiKey.js +6 -4
  42. package/dist/auth/baseFields/apiKey.js.map +1 -1
  43. package/dist/auth/cookies.d.ts +16 -4
  44. package/dist/auth/cookies.d.ts.map +1 -1
  45. package/dist/auth/cookies.js +45 -14
  46. package/dist/auth/cookies.js.map +1 -1
  47. package/dist/auth/defaultAccess.d.ts +2 -2
  48. package/dist/auth/defaultAccess.d.ts.map +1 -1
  49. package/dist/auth/defaultAccess.js.map +1 -1
  50. package/dist/auth/executeAccess.d.ts +2 -2
  51. package/dist/auth/executeAccess.d.ts.map +1 -1
  52. package/dist/auth/executeAccess.js.map +1 -1
  53. package/dist/auth/getAccessResults.d.ts +2 -2
  54. package/dist/auth/getAccessResults.d.ts.map +1 -1
  55. package/dist/auth/getAccessResults.js +1 -1
  56. package/dist/auth/getAccessResults.js.map +1 -1
  57. package/dist/auth/getFieldsToSign.d.ts +2 -2
  58. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  59. package/dist/auth/getFieldsToSign.js.map +1 -1
  60. package/dist/auth/operations/access.d.ts +2 -2
  61. package/dist/auth/operations/access.d.ts.map +1 -1
  62. package/dist/auth/operations/access.js.map +1 -1
  63. package/dist/auth/operations/auth.d.ts +2 -2
  64. package/dist/auth/operations/auth.d.ts.map +1 -1
  65. package/dist/auth/operations/auth.js.map +1 -1
  66. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  67. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  68. package/dist/auth/operations/forgotPassword.js +7 -8
  69. package/dist/auth/operations/forgotPassword.js.map +1 -1
  70. package/dist/auth/operations/init.d.ts +2 -2
  71. package/dist/auth/operations/init.d.ts.map +1 -1
  72. package/dist/auth/operations/init.js.map +1 -1
  73. package/dist/auth/operations/local/auth.js.map +1 -1
  74. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  75. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  76. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  77. package/dist/auth/operations/local/login.d.ts +2 -2
  78. package/dist/auth/operations/local/login.d.ts.map +1 -1
  79. package/dist/auth/operations/local/login.js.map +1 -1
  80. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  81. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  82. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  83. package/dist/auth/operations/local/unlock.d.ts +2 -2
  84. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  85. package/dist/auth/operations/local/unlock.js.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  87. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  88. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  89. package/dist/auth/operations/login.d.ts +2 -2
  90. package/dist/auth/operations/login.d.ts.map +1 -1
  91. package/dist/auth/operations/login.js +21 -1
  92. package/dist/auth/operations/login.js.map +1 -1
  93. package/dist/auth/operations/logout.d.ts +2 -2
  94. package/dist/auth/operations/logout.d.ts.map +1 -1
  95. package/dist/auth/operations/logout.js.map +1 -1
  96. package/dist/auth/operations/me.d.ts +2 -2
  97. package/dist/auth/operations/me.d.ts.map +1 -1
  98. package/dist/auth/operations/me.js.map +1 -1
  99. package/dist/auth/operations/refresh.d.ts +2 -2
  100. package/dist/auth/operations/refresh.d.ts.map +1 -1
  101. package/dist/auth/operations/refresh.js.map +1 -1
  102. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  103. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  104. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  105. package/dist/auth/operations/resetPassword.d.ts +2 -2
  106. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  107. package/dist/auth/operations/resetPassword.js.map +1 -1
  108. package/dist/auth/operations/unlock.d.ts +2 -2
  109. package/dist/auth/operations/unlock.d.ts.map +1 -1
  110. package/dist/auth/operations/unlock.js.map +1 -1
  111. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  112. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  113. package/dist/auth/operations/verifyEmail.js.map +1 -1
  114. package/dist/auth/sendVerificationEmail.d.ts +7 -8
  115. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  116. package/dist/auth/sendVerificationEmail.js +7 -7
  117. package/dist/auth/sendVerificationEmail.js.map +1 -1
  118. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  119. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  120. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  121. package/dist/auth/strategies/local/register.d.ts +2 -2
  122. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  123. package/dist/auth/strategies/local/register.js +1 -1
  124. package/dist/auth/strategies/local/register.js.map +1 -1
  125. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  126. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  127. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  128. package/dist/auth/types.d.ts +6 -6
  129. package/dist/auth/types.d.ts.map +1 -1
  130. package/dist/auth/types.js.map +1 -1
  131. package/dist/bin/generateTypes.d.ts +1 -1
  132. package/dist/bin/generateTypes.d.ts.map +1 -1
  133. package/dist/bin/generateTypes.js +12 -8
  134. package/dist/bin/generateTypes.js.map +1 -1
  135. package/dist/bin/loadEnv.d.ts +2 -2
  136. package/dist/bin/loadEnv.d.ts.map +1 -1
  137. package/dist/bin/loadEnv.js +18 -17
  138. package/dist/bin/loadEnv.js.map +1 -1
  139. package/dist/bin/loader/ignores.d.ts +2 -0
  140. package/dist/bin/loader/ignores.d.ts.map +1 -0
  141. package/dist/bin/loader/ignores.js +5 -0
  142. package/dist/bin/loader/ignores.js.map +1 -0
  143. package/dist/bin/loader/index.d.ts.map +1 -1
  144. package/dist/bin/loader/index.js +13 -15
  145. package/dist/bin/loader/index.js.map +1 -1
  146. package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
  147. package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
  148. package/dist/bin/loader/read-default-tsconfig.js +25 -1
  149. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  150. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  151. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  152. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  153. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  154. package/dist/collections/config/client.d.ts +30 -3
  155. package/dist/collections/config/client.d.ts.map +1 -1
  156. package/dist/collections/config/client.js +3 -1
  157. package/dist/collections/config/client.js.map +1 -1
  158. package/dist/collections/config/defaults.d.ts +6 -5
  159. package/dist/collections/config/defaults.d.ts.map +1 -1
  160. package/dist/collections/config/defaults.js +1 -0
  161. package/dist/collections/config/defaults.js.map +1 -1
  162. package/dist/collections/config/sanitize.d.ts +2 -3
  163. package/dist/collections/config/sanitize.d.ts.map +1 -1
  164. package/dist/collections/config/sanitize.js +7 -4
  165. package/dist/collections/config/sanitize.js.map +1 -1
  166. package/dist/collections/config/schema.d.ts.map +1 -1
  167. package/dist/collections/config/schema.js +12 -2
  168. package/dist/collections/config/schema.js.map +1 -1
  169. package/dist/collections/config/types.d.ts +33 -18
  170. package/dist/collections/config/types.d.ts.map +1 -1
  171. package/dist/collections/config/types.js.map +1 -1
  172. package/dist/collections/dataloader.d.ts +14 -0
  173. package/dist/collections/dataloader.d.ts.map +1 -1
  174. package/dist/collections/dataloader.js +28 -13
  175. package/dist/collections/dataloader.js.map +1 -1
  176. package/dist/collections/operations/count.d.ts +13 -0
  177. package/dist/collections/operations/count.d.ts.map +1 -0
  178. package/dist/collections/operations/count.js +75 -0
  179. package/dist/collections/operations/count.js.map +1 -0
  180. package/dist/collections/operations/create.d.ts +2 -2
  181. package/dist/collections/operations/create.d.ts.map +1 -1
  182. package/dist/collections/operations/create.js +5 -4
  183. package/dist/collections/operations/create.js.map +1 -1
  184. package/dist/collections/operations/delete.d.ts +2 -2
  185. package/dist/collections/operations/delete.d.ts.map +1 -1
  186. package/dist/collections/operations/delete.js +1 -0
  187. package/dist/collections/operations/delete.js.map +1 -1
  188. package/dist/collections/operations/deleteByID.d.ts +2 -2
  189. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  190. package/dist/collections/operations/deleteByID.js +1 -0
  191. package/dist/collections/operations/deleteByID.js.map +1 -1
  192. package/dist/collections/operations/docAccess.d.ts +2 -2
  193. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  194. package/dist/collections/operations/docAccess.js.map +1 -1
  195. package/dist/collections/operations/duplicate.d.ts +2 -2
  196. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  197. package/dist/collections/operations/duplicate.js +2 -0
  198. package/dist/collections/operations/duplicate.js.map +1 -1
  199. package/dist/collections/operations/find.d.ts +2 -2
  200. package/dist/collections/operations/find.d.ts.map +1 -1
  201. package/dist/collections/operations/find.js +1 -0
  202. package/dist/collections/operations/find.js.map +1 -1
  203. package/dist/collections/operations/findByID.d.ts +2 -2
  204. package/dist/collections/operations/findByID.d.ts.map +1 -1
  205. package/dist/collections/operations/findByID.js +1 -0
  206. package/dist/collections/operations/findByID.js.map +1 -1
  207. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  208. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  209. package/dist/collections/operations/findVersionByID.js +1 -0
  210. package/dist/collections/operations/findVersionByID.js.map +1 -1
  211. package/dist/collections/operations/findVersions.d.ts +2 -2
  212. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  213. package/dist/collections/operations/findVersions.js +1 -0
  214. package/dist/collections/operations/findVersions.js.map +1 -1
  215. package/dist/collections/operations/local/count.d.ts +20 -0
  216. package/dist/collections/operations/local/count.d.ts.map +1 -0
  217. package/dist/collections/operations/local/count.js +19 -0
  218. package/dist/collections/operations/local/count.js.map +1 -0
  219. package/dist/collections/operations/local/create.d.ts +4 -4
  220. package/dist/collections/operations/local/create.d.ts.map +1 -1
  221. package/dist/collections/operations/local/create.js.map +1 -1
  222. package/dist/collections/operations/local/delete.d.ts +4 -4
  223. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  224. package/dist/collections/operations/local/delete.js.map +1 -1
  225. package/dist/collections/operations/local/duplicate.d.ts +4 -4
  226. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  227. package/dist/collections/operations/local/duplicate.js.map +1 -1
  228. package/dist/collections/operations/local/find.d.ts +4 -4
  229. package/dist/collections/operations/local/find.d.ts.map +1 -1
  230. package/dist/collections/operations/local/find.js.map +1 -1
  231. package/dist/collections/operations/local/findByID.d.ts +4 -4
  232. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  233. package/dist/collections/operations/local/findByID.js.map +1 -1
  234. package/dist/collections/operations/local/findVersionByID.d.ts +4 -4
  235. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  236. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  237. package/dist/collections/operations/local/findVersions.d.ts +4 -4
  238. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  239. package/dist/collections/operations/local/findVersions.js.map +1 -1
  240. package/dist/collections/operations/local/index.d.ts +2 -0
  241. package/dist/collections/operations/local/index.d.ts.map +1 -1
  242. package/dist/collections/operations/local/index.js +2 -0
  243. package/dist/collections/operations/local/index.js.map +1 -1
  244. package/dist/collections/operations/local/restoreVersion.d.ts +4 -4
  245. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  246. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  247. package/dist/collections/operations/local/update.d.ts +4 -4
  248. package/dist/collections/operations/local/update.d.ts.map +1 -1
  249. package/dist/collections/operations/local/update.js.map +1 -1
  250. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  251. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  252. package/dist/collections/operations/restoreVersion.js +2 -0
  253. package/dist/collections/operations/restoreVersion.js.map +1 -1
  254. package/dist/collections/operations/update.d.ts +2 -2
  255. package/dist/collections/operations/update.d.ts.map +1 -1
  256. package/dist/collections/operations/update.js +6 -3
  257. package/dist/collections/operations/update.js.map +1 -1
  258. package/dist/collections/operations/updateByID.d.ts +2 -2
  259. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  260. package/dist/collections/operations/updateByID.js +5 -2
  261. package/dist/collections/operations/updateByID.js.map +1 -1
  262. package/dist/collections/operations/utils.d.ts +8 -2
  263. package/dist/collections/operations/utils.d.ts.map +1 -1
  264. package/dist/collections/operations/utils.js.map +1 -1
  265. package/dist/config/build.d.ts.map +1 -1
  266. package/dist/config/build.js +3 -4
  267. package/dist/config/build.js.map +1 -1
  268. package/dist/config/client.d.ts +2 -1
  269. package/dist/config/client.d.ts.map +1 -1
  270. package/dist/config/client.js +3 -1
  271. package/dist/config/client.js.map +1 -1
  272. package/dist/config/defaults.d.ts.map +1 -1
  273. package/dist/config/defaults.js +14 -3
  274. package/dist/config/defaults.js.map +1 -1
  275. package/dist/config/find.d.ts.map +1 -1
  276. package/dist/config/find.js +27 -16
  277. package/dist/config/find.js.map +1 -1
  278. package/dist/config/sanitize.d.ts +1 -1
  279. package/dist/config/sanitize.d.ts.map +1 -1
  280. package/dist/config/sanitize.js +43 -10
  281. package/dist/config/sanitize.js.map +1 -1
  282. package/dist/config/schema.d.ts.map +1 -1
  283. package/dist/config/schema.js +21 -7
  284. package/dist/config/schema.js.map +1 -1
  285. package/dist/config/shared/openGraphSchema.d.ts +3 -0
  286. package/dist/config/shared/openGraphSchema.d.ts.map +1 -0
  287. package/dist/config/shared/openGraphSchema.js +16 -0
  288. package/dist/config/shared/openGraphSchema.js.map +1 -0
  289. package/dist/config/types.d.ts +146 -78
  290. package/dist/config/types.d.ts.map +1 -1
  291. package/dist/config/types.js +7 -13
  292. package/dist/config/types.js.map +1 -1
  293. package/dist/database/migrations/getPredefinedMigration.d.ts +12 -0
  294. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -0
  295. package/dist/database/migrations/getPredefinedMigration.js +41 -0
  296. package/dist/database/migrations/getPredefinedMigration.js.map +1 -0
  297. package/dist/database/migrations/migrate.js.map +1 -1
  298. package/dist/database/migrations/migrateDown.js.map +1 -1
  299. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  300. package/dist/database/migrations/migrateReset.js.map +1 -1
  301. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  302. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  303. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  304. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  305. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  306. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  307. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  308. package/dist/database/types.d.ts +34 -19
  309. package/dist/database/types.d.ts.map +1 -1
  310. package/dist/database/types.js.map +1 -1
  311. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  312. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  313. package/dist/email/consoleEmailAdapter.js +17 -0
  314. package/dist/email/consoleEmailAdapter.js.map +1 -0
  315. package/dist/email/defaults.d.ts +2 -2
  316. package/dist/email/defaults.d.ts.map +1 -1
  317. package/dist/email/defaults.js +3 -3
  318. package/dist/email/defaults.js.map +1 -1
  319. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  320. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  321. package/dist/email/getStringifiedToAddress.js +20 -0
  322. package/dist/email/getStringifiedToAddress.js.map +1 -0
  323. package/dist/email/sendEmail.d.ts +3 -2
  324. package/dist/email/sendEmail.d.ts.map +1 -1
  325. package/dist/email/sendEmail.js +8 -4
  326. package/dist/email/sendEmail.js.map +1 -1
  327. package/dist/email/types.d.ts +26 -18
  328. package/dist/email/types.d.ts.map +1 -1
  329. package/dist/email/types.js +5 -1
  330. package/dist/email/types.js.map +1 -1
  331. package/dist/errors/APIError.d.ts +2 -2
  332. package/dist/errors/APIError.d.ts.map +1 -1
  333. package/dist/errors/APIError.js +1 -2
  334. package/dist/errors/APIError.js.map +1 -1
  335. package/dist/errors/AuthenticationError.d.ts +2 -3
  336. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  337. package/dist/errors/AuthenticationError.js +2 -3
  338. package/dist/errors/AuthenticationError.js.map +1 -1
  339. package/dist/errors/DuplicateCollection.d.ts +2 -3
  340. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  341. package/dist/errors/DuplicateCollection.js +2 -3
  342. package/dist/errors/DuplicateCollection.js.map +1 -1
  343. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  344. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  345. package/dist/errors/DuplicateFieldName.js +2 -3
  346. package/dist/errors/DuplicateFieldName.js.map +1 -1
  347. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  348. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  349. package/dist/errors/DuplicateGlobal.js +2 -3
  350. package/dist/errors/DuplicateGlobal.js.map +1 -1
  351. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  352. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  353. package/dist/errors/ErrorDeletingFile.js +2 -3
  354. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  355. package/dist/errors/FileRetrievalError.d.ts +6 -0
  356. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  357. package/dist/errors/FileRetrievalError.js +13 -0
  358. package/dist/errors/FileRetrievalError.js.map +1 -0
  359. package/dist/errors/FileUploadError.d.ts +2 -3
  360. package/dist/errors/FileUploadError.d.ts.map +1 -1
  361. package/dist/errors/FileUploadError.js +2 -3
  362. package/dist/errors/FileUploadError.js.map +1 -1
  363. package/dist/errors/Forbidden.d.ts +2 -3
  364. package/dist/errors/Forbidden.d.ts.map +1 -1
  365. package/dist/errors/Forbidden.js +2 -3
  366. package/dist/errors/Forbidden.js.map +1 -1
  367. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  368. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  369. package/dist/errors/InvalidConfiguration.js +2 -3
  370. package/dist/errors/InvalidConfiguration.js.map +1 -1
  371. package/dist/errors/InvalidFieldName.d.ts +2 -3
  372. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  373. package/dist/errors/InvalidFieldName.js +2 -3
  374. package/dist/errors/InvalidFieldName.js.map +1 -1
  375. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  376. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  377. package/dist/errors/InvalidFieldRelationship.js +2 -3
  378. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  379. package/dist/errors/InvalidSchema.d.ts +2 -3
  380. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  381. package/dist/errors/InvalidSchema.js +2 -3
  382. package/dist/errors/InvalidSchema.js.map +1 -1
  383. package/dist/errors/LockedAuth.d.ts +2 -3
  384. package/dist/errors/LockedAuth.d.ts.map +1 -1
  385. package/dist/errors/LockedAuth.js +2 -3
  386. package/dist/errors/LockedAuth.js.map +1 -1
  387. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  388. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  389. package/dist/errors/MissingCollectionLabel.js +2 -3
  390. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  391. package/dist/errors/MissingEditorProp.d.ts +2 -3
  392. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  393. package/dist/errors/MissingEditorProp.js +3 -4
  394. package/dist/errors/MissingEditorProp.js.map +1 -1
  395. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  396. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  397. package/dist/errors/MissingFieldInputOptions.js +2 -3
  398. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  399. package/dist/errors/MissingFieldType.d.ts +2 -3
  400. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  401. package/dist/errors/MissingFieldType.js +2 -3
  402. package/dist/errors/MissingFieldType.js.map +1 -1
  403. package/dist/errors/MissingFile.d.ts +2 -3
  404. package/dist/errors/MissingFile.d.ts.map +1 -1
  405. package/dist/errors/MissingFile.js +2 -3
  406. package/dist/errors/MissingFile.js.map +1 -1
  407. package/dist/errors/NotFound.d.ts +2 -3
  408. package/dist/errors/NotFound.d.ts.map +1 -1
  409. package/dist/errors/NotFound.js +2 -3
  410. package/dist/errors/NotFound.js.map +1 -1
  411. package/dist/errors/QueryError.d.ts +2 -3
  412. package/dist/errors/QueryError.d.ts.map +1 -1
  413. package/dist/errors/QueryError.js +2 -3
  414. package/dist/errors/QueryError.js.map +1 -1
  415. package/dist/errors/TimestampsRequired.d.ts +2 -3
  416. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  417. package/dist/errors/TimestampsRequired.js +2 -3
  418. package/dist/errors/TimestampsRequired.js.map +1 -1
  419. package/dist/errors/UnathorizedError.d.ts +2 -3
  420. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  421. package/dist/errors/UnathorizedError.js +2 -3
  422. package/dist/errors/UnathorizedError.js.map +1 -1
  423. package/dist/errors/ValidationError.d.ts +2 -3
  424. package/dist/errors/ValidationError.d.ts.map +1 -1
  425. package/dist/errors/ValidationError.js +2 -3
  426. package/dist/errors/ValidationError.js.map +1 -1
  427. package/dist/errors/index.d.ts +20 -19
  428. package/dist/errors/index.d.ts.map +1 -1
  429. package/dist/errors/index.js +20 -19
  430. package/dist/errors/index.js.map +1 -1
  431. package/dist/exports/auth.d.ts +1 -0
  432. package/dist/exports/auth.d.ts.map +1 -1
  433. package/dist/exports/auth.js +1 -0
  434. package/dist/exports/auth.js.map +1 -1
  435. package/dist/exports/database.d.ts +3 -2
  436. package/dist/exports/database.d.ts.map +1 -1
  437. package/dist/exports/database.js +1 -1
  438. package/dist/exports/database.js.map +1 -1
  439. package/dist/exports/i18n/he.d.ts +2 -0
  440. package/dist/exports/i18n/he.d.ts.map +1 -0
  441. package/dist/exports/i18n/he.js +3 -0
  442. package/dist/exports/i18n/he.js.map +1 -0
  443. package/dist/exports/i18n.d.ts +2 -0
  444. package/dist/exports/i18n.d.ts.map +1 -0
  445. package/dist/exports/i18n.js +3 -0
  446. package/dist/exports/i18n.js.map +1 -0
  447. package/dist/exports/node.d.ts +5 -0
  448. package/dist/exports/node.d.ts.map +1 -1
  449. package/dist/exports/node.js +5 -1
  450. package/dist/exports/node.js.map +1 -1
  451. package/dist/exports/operations.d.ts +1 -0
  452. package/dist/exports/operations.d.ts.map +1 -1
  453. package/dist/exports/operations.js +1 -0
  454. package/dist/exports/operations.js.map +1 -1
  455. package/dist/exports/types.d.ts +2 -1
  456. package/dist/exports/types.d.ts.map +1 -1
  457. package/dist/exports/types.js.map +1 -1
  458. package/dist/exports/utilities.d.ts +9 -3
  459. package/dist/exports/utilities.d.ts.map +1 -1
  460. package/dist/exports/utilities.js +8 -3
  461. package/dist/exports/utilities.js.map +1 -1
  462. package/dist/fields/config/client.d.ts +235 -79
  463. package/dist/fields/config/client.d.ts.map +1 -1
  464. package/dist/fields/config/client.js +2 -1
  465. package/dist/fields/config/client.js.map +1 -1
  466. package/dist/fields/config/sanitize.d.ts +7 -2
  467. package/dist/fields/config/sanitize.d.ts.map +1 -1
  468. package/dist/fields/config/sanitize.js +67 -34
  469. package/dist/fields/config/sanitize.js.map +1 -1
  470. package/dist/fields/config/sanitize.spec.js +76 -85
  471. package/dist/fields/config/sanitize.spec.js.map +1 -1
  472. package/dist/fields/config/schema.d.ts.map +1 -1
  473. package/dist/fields/config/schema.js +33 -6
  474. package/dist/fields/config/schema.js.map +1 -1
  475. package/dist/fields/config/types.d.ts +108 -44
  476. package/dist/fields/config/types.d.ts.map +1 -1
  477. package/dist/fields/config/types.js.map +1 -1
  478. package/dist/fields/getDefaultValue.d.ts +2 -2
  479. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  480. package/dist/fields/getDefaultValue.js.map +1 -1
  481. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  482. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  483. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  484. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  485. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  486. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  487. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  488. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  489. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  490. package/dist/fields/hooks/afterRead/index.d.ts +3 -2
  491. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  492. package/dist/fields/hooks/afterRead/index.js +2 -1
  493. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  494. package/dist/fields/hooks/afterRead/promise.d.ts +7 -3
  495. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  496. package/dist/fields/hooks/afterRead/promise.js +20 -18
  497. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  498. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +4 -3
  499. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  500. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
  501. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  502. package/dist/fields/hooks/afterRead/traverseFields.d.ts +7 -3
  503. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  504. package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
  505. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  506. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  507. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  508. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  509. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  510. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  511. package/dist/fields/hooks/beforeChange/promise.js +3 -1
  512. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  513. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
  514. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  515. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  516. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  517. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  518. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  519. package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
  520. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  521. package/dist/fields/hooks/beforeValidate/promise.js +2 -0
  522. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  523. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
  524. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  525. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  526. package/dist/fields/validations.d.ts +6 -0
  527. package/dist/fields/validations.d.ts.map +1 -1
  528. package/dist/fields/validations.js +62 -7
  529. package/dist/fields/validations.js.map +1 -1
  530. package/dist/fields/validations.spec.js +1 -0
  531. package/dist/fields/validations.spec.js.map +1 -1
  532. package/dist/globals/config/client.d.ts +1 -1
  533. package/dist/globals/config/client.d.ts.map +1 -1
  534. package/dist/globals/config/client.js +2 -1
  535. package/dist/globals/config/client.js.map +1 -1
  536. package/dist/globals/config/sanitize.d.ts +2 -3
  537. package/dist/globals/config/sanitize.d.ts.map +1 -1
  538. package/dist/globals/config/sanitize.js +36 -35
  539. package/dist/globals/config/sanitize.js.map +1 -1
  540. package/dist/globals/config/schema.d.ts.map +1 -1
  541. package/dist/globals/config/schema.js +10 -1
  542. package/dist/globals/config/schema.js.map +1 -1
  543. package/dist/globals/config/types.d.ts +16 -9
  544. package/dist/globals/config/types.d.ts.map +1 -1
  545. package/dist/globals/config/types.js.map +1 -1
  546. package/dist/globals/operations/docAccess.d.ts +2 -2
  547. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  548. package/dist/globals/operations/docAccess.js.map +1 -1
  549. package/dist/globals/operations/findOne.d.ts +2 -3
  550. package/dist/globals/operations/findOne.d.ts.map +1 -1
  551. package/dist/globals/operations/findOne.js +1 -0
  552. package/dist/globals/operations/findOne.js.map +1 -1
  553. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  554. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  555. package/dist/globals/operations/findVersionByID.js +1 -0
  556. package/dist/globals/operations/findVersionByID.js.map +1 -1
  557. package/dist/globals/operations/findVersions.d.ts +2 -2
  558. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  559. package/dist/globals/operations/findVersions.js +1 -0
  560. package/dist/globals/operations/findVersions.js.map +1 -1
  561. package/dist/globals/operations/local/findOne.d.ts +4 -4
  562. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  563. package/dist/globals/operations/local/findOne.js.map +1 -1
  564. package/dist/globals/operations/local/findVersionByID.d.ts +4 -4
  565. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  566. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  567. package/dist/globals/operations/local/findVersions.d.ts +4 -4
  568. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  569. package/dist/globals/operations/local/findVersions.js.map +1 -1
  570. package/dist/globals/operations/local/restoreVersion.d.ts +4 -4
  571. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  572. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  573. package/dist/globals/operations/local/update.d.ts +4 -4
  574. package/dist/globals/operations/local/update.d.ts.map +1 -1
  575. package/dist/globals/operations/local/update.js.map +1 -1
  576. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  577. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  578. package/dist/globals/operations/restoreVersion.js +1 -0
  579. package/dist/globals/operations/restoreVersion.js.map +1 -1
  580. package/dist/globals/operations/update.d.ts +2 -2
  581. package/dist/globals/operations/update.d.ts.map +1 -1
  582. package/dist/globals/operations/update.js +2 -0
  583. package/dist/globals/operations/update.js.map +1 -1
  584. package/dist/index.d.ts +16 -10
  585. package/dist/index.d.ts.map +1 -1
  586. package/dist/index.js +26 -14
  587. package/dist/index.js.map +1 -1
  588. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  589. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  590. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  591. package/dist/preferences/operations/delete.js +2 -2
  592. package/dist/preferences/operations/delete.js.map +1 -1
  593. package/dist/preferences/operations/update.js +1 -1
  594. package/dist/preferences/operations/update.js.map +1 -1
  595. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  596. package/dist/preferences/requestHandlers/delete.js +18 -5
  597. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  598. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  599. package/dist/preferences/requestHandlers/findOne.js +18 -5
  600. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  601. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  602. package/dist/preferences/requestHandlers/update.js +19 -7
  603. package/dist/preferences/requestHandlers/update.js.map +1 -1
  604. package/dist/preferences/types.d.ts +3 -3
  605. package/dist/preferences/types.d.ts.map +1 -1
  606. package/dist/preferences/types.js.map +1 -1
  607. package/dist/translations/getLocalI18n.d.ts +1 -1
  608. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  609. package/dist/translations/getLocalI18n.js +1 -1
  610. package/dist/translations/getLocalI18n.js.map +1 -1
  611. package/dist/types/index.d.ts +21 -29
  612. package/dist/types/index.d.ts.map +1 -1
  613. package/dist/types/index.js.map +1 -1
  614. package/dist/uploads/canResizeImage.d.ts +1 -1
  615. package/dist/uploads/canResizeImage.d.ts.map +1 -1
  616. package/dist/uploads/canResizeImage.js +1 -1
  617. package/dist/uploads/canResizeImage.js.map +1 -1
  618. package/dist/uploads/cropImage.d.ts +1 -1
  619. package/dist/uploads/cropImage.d.ts.map +1 -1
  620. package/dist/uploads/cropImage.js +1 -1
  621. package/dist/uploads/cropImage.js.map +1 -1
  622. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  623. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  624. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  625. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  626. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  627. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  628. package/dist/uploads/generateFileData.d.ts +5 -3
  629. package/dist/uploads/generateFileData.d.ts.map +1 -1
  630. package/dist/uploads/generateFileData.js +55 -16
  631. package/dist/uploads/generateFileData.js.map +1 -1
  632. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  633. package/dist/uploads/getBaseFields.js +23 -4
  634. package/dist/uploads/getBaseFields.js.map +1 -1
  635. package/dist/uploads/getExternalFile.d.ts +5 -4
  636. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  637. package/dist/uploads/getExternalFile.js +10 -6
  638. package/dist/uploads/getExternalFile.js.map +1 -1
  639. package/dist/uploads/getFileByPath.d.ts +2 -2
  640. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  641. package/dist/uploads/getFileByPath.js.map +1 -1
  642. package/dist/uploads/getImageSize.d.ts +2 -2
  643. package/dist/uploads/getImageSize.d.ts.map +1 -1
  644. package/dist/uploads/getImageSize.js +19 -5
  645. package/dist/uploads/getImageSize.js.map +1 -1
  646. package/dist/uploads/getSafeFilename.d.ts +4 -4
  647. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  648. package/dist/uploads/getSafeFilename.js +1 -2
  649. package/dist/uploads/getSafeFilename.js.map +1 -1
  650. package/dist/uploads/imageResizer.d.ts +8 -10
  651. package/dist/uploads/imageResizer.d.ts.map +1 -1
  652. package/dist/uploads/imageResizer.js +42 -24
  653. package/dist/uploads/imageResizer.js.map +1 -1
  654. package/dist/uploads/isImage.d.ts +1 -1
  655. package/dist/uploads/isImage.d.ts.map +1 -1
  656. package/dist/uploads/isImage.js +1 -1
  657. package/dist/uploads/isImage.js.map +1 -1
  658. package/dist/uploads/tempFile.d.ts +7 -0
  659. package/dist/uploads/tempFile.d.ts.map +1 -0
  660. package/dist/uploads/tempFile.js +39 -0
  661. package/dist/uploads/tempFile.js.map +1 -0
  662. package/dist/uploads/types.d.ts +28 -5
  663. package/dist/uploads/types.d.ts.map +1 -1
  664. package/dist/uploads/types.js.map +1 -1
  665. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  666. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  667. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  668. package/dist/uploads/uploadFiles.d.ts +2 -2
  669. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  670. package/dist/uploads/uploadFiles.js.map +1 -1
  671. package/dist/utilities/checkDuplicateCollections.js +1 -1
  672. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  673. package/dist/utilities/commitTransaction.d.ts +2 -2
  674. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  675. package/dist/utilities/commitTransaction.js.map +1 -1
  676. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  677. package/dist/utilities/configToJSONSchema.js +27 -1
  678. package/dist/utilities/configToJSONSchema.js.map +1 -1
  679. package/dist/utilities/configToJSONSchema.spec.js +98 -2
  680. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  681. package/dist/utilities/createLocalReq.d.ts +3 -3
  682. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  683. package/dist/utilities/createLocalReq.js +8 -5
  684. package/dist/utilities/createLocalReq.js.map +1 -1
  685. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  686. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  687. package/dist/utilities/getEntityPolicies.js.map +1 -1
  688. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  689. package/dist/utilities/importWithoutClientFiles.js +10 -4
  690. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  691. package/dist/utilities/initTransaction.d.ts +2 -2
  692. package/dist/utilities/initTransaction.d.ts.map +1 -1
  693. package/dist/utilities/initTransaction.js.map +1 -1
  694. package/dist/utilities/isEntityHidden.d.ts +2 -2
  695. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  696. package/dist/utilities/isEntityHidden.js.map +1 -1
  697. package/dist/utilities/isReactComponent.d.ts +2 -3
  698. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  699. package/dist/utilities/isReactComponent.js +27 -10
  700. package/dist/utilities/isReactComponent.js.map +1 -1
  701. package/dist/utilities/killTransaction.d.ts +2 -2
  702. package/dist/utilities/killTransaction.d.ts.map +1 -1
  703. package/dist/utilities/killTransaction.js.map +1 -1
  704. package/dist/utilities/parseCookies.js +1 -1
  705. package/dist/utilities/parseCookies.js.map +1 -1
  706. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  707. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  708. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  709. package/dist/utilities/telemetry/index.d.ts +9 -0
  710. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  711. package/dist/utilities/telemetry/index.js +63 -15
  712. package/dist/utilities/telemetry/index.js.map +1 -1
  713. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  714. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  715. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  716. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  717. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  718. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  719. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  720. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  721. package/dist/versions/enforceMaxVersions.js.map +1 -1
  722. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  723. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  724. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  725. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  726. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  727. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  728. package/dist/versions/saveVersion.d.ts +2 -2
  729. package/dist/versions/saveVersion.d.ts.map +1 -1
  730. package/dist/versions/saveVersion.js +2 -1
  731. package/dist/versions/saveVersion.js.map +1 -1
  732. package/graphql.d.ts +3 -0
  733. package/graphql.js +27 -0
  734. package/package.json +73 -102
  735. package/utilities.d.ts +3 -1
  736. package/utilities.js +3 -1
  737. package/dist/email/build.d.ts +0 -5
  738. package/dist/email/build.d.ts.map +0 -1
  739. package/dist/email/build.js +0 -63
  740. package/dist/email/build.js.map +0 -1
  741. package/dist/email/mockHandler.d.ts +0 -5
  742. package/dist/email/mockHandler.d.ts.map +0 -1
  743. package/dist/email/mockHandler.js +0 -24
  744. package/dist/email/mockHandler.js.map +0 -1
  745. package/node.d.ts +0 -3
  746. package/node.js +0 -4
  747. package/src/index.ts +0 -498
  748. package/uploads.d.ts +0 -2
  749. package/uploads.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC,CAAA;AAE7F,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,eAAe,GACf,OAAO,GACP,MAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC,CAAA;AAE3E,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,SAAS,CAAC,OAAO,CAAC,EAClB,YAAY,GAAG,WAAW,GAAG,aAAa,CAC3C,CAAA;AAED,eAAO,MAAM,uBAAuB,iCAGjC;IACD,KAAK,EAAE,KAAK,CAAA;IACZ,CAAC,EAAE,SAAS,CAAA;CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEA,CAAA;AAED,eAAO,MAAM,wBAAwB,mBAGlC;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,KAAK,EAAkE,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ export const createClientFieldConfig = ({ field: incomingField, t })=>{
9
9
  'defaultValue',
10
10
  'label',
11
11
  'filterOptions',
12
- 'editor'
12
+ 'editor',
13
+ 'custom'
13
14
  ];
14
15
  serverOnlyFieldProperties.forEach((key)=>{
15
16
  if (key in field) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { Field, FieldBase } from '../../fields/config/types.js'\n\nexport type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldProperties =\n | 'editor' // This is a `richText` only property\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'label'\n | keyof Pick<FieldBase, 'access' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition' | 'description'\n>\n\nexport const createClientFieldConfig = ({\n field: incomingField,\n t,\n}: {\n field: Field\n t: TFunction\n}) => {\n const field = { ...incomingField }\n\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'label',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in field) {\n delete field[key]\n }\n })\n\n if ('options' in field && Array.isArray(field.options)) {\n field.options = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n if ('fields' in field) {\n field.fields = createClientFieldConfigs({ fields: field.fields, t })\n }\n\n if ('blocks' in field) {\n field.blocks = field.blocks.map((block) => {\n const sanitized = { ...block }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n return sanitized\n })\n }\n\n if ('tabs' in field) {\n // @ts-expect-error\n field.tabs = field.tabs.map((tab) => createClientFieldConfig({ field: tab, t }))\n }\n\n if ('admin' in field) {\n field.admin = { ...field.admin }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'components',\n 'condition',\n 'description',\n ]\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in field.admin) {\n delete field.admin[key]\n }\n })\n }\n\n return field\n}\n\nexport const createClientFieldConfigs = ({\n fields,\n t,\n}: {\n fields: Field[]\n t: TFunction\n}): Field[] => fields.map((field) => createClientFieldConfig({ field, t }))\n"],"names":["createClientFieldConfig","field","incomingField","t","serverOnlyFieldProperties","forEach","key","Array","isArray","options","map","option","label","value","fields","createClientFieldConfigs","blocks","block","sanitized","tabs","tab","admin","serverOnlyFieldAdminProperties"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAiBA,OAAO,MAAMA,0BAA0B,CAAC,EACtCC,OAAOC,aAAa,EACpBC,CAAC,EAIF;IACC,MAAMF,QAAQ;QAAE,GAAGC,aAAa;IAAC;IAEjC,MAAME,4BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;KAMD;IAEDA,0BAA0BC,OAAO,CAAC,CAACC;QACjC,IAAIA,OAAOL,OAAO;YAChB,OAAOA,KAAK,CAACK,IAAI;QACnB;IACF;IAEA,IAAI,aAAaL,SAASM,MAAMC,OAAO,CAACP,MAAMQ,OAAO,GAAG;QACtDR,MAAMQ,OAAO,GAAGR,MAAMQ,OAAO,CAACC,GAAG,CAAC,CAACC;YACjC,IAAI,OAAOA,WAAW,YAAY,OAAOA,OAAOC,KAAK,KAAK,YAAY;gBACpE,OAAO;oBACLA,OAAOD,OAAOC,KAAK,CAAC;wBAAET;oBAAE;oBACxBU,OAAOF,OAAOE,KAAK;gBACrB;YACF;YAEA,OAAOF;QACT;IACF;IAEA,IAAI,YAAYV,OAAO;QACrBA,MAAMa,MAAM,GAAGC,yBAAyB;YAAED,QAAQb,MAAMa,MAAM;YAAEX;QAAE;IACpE;IAEA,IAAI,YAAYF,OAAO;QACrBA,MAAMe,MAAM,GAAGf,MAAMe,MAAM,CAACN,GAAG,CAAC,CAACO;YAC/B,MAAMC,YAAY;gBAAE,GAAGD,KAAK;YAAC;YAC7BC,UAAUJ,MAAM,GAAGC,yBAAyB;gBAAED,QAAQI,UAAUJ,MAAM;gBAAEX;YAAE;YAC1E,OAAOe;QACT;IACF;IAEA,IAAI,UAAUjB,OAAO;QACnB,mBAAmB;QACnBA,MAAMkB,IAAI,GAAGlB,MAAMkB,IAAI,CAACT,GAAG,CAAC,CAACU,MAAQpB,wBAAwB;gBAAEC,OAAOmB;gBAAKjB;YAAE;IAC/E;IAEA,IAAI,WAAWF,OAAO;QACpBA,MAAMoB,KAAK,GAAG;YAAE,GAAGpB,MAAMoB,KAAK;QAAC;QAE/B,MAAMC,iCAA4E;YAChF;YACA;YACA;SACD;QAEDA,+BAA+BjB,OAAO,CAAC,CAACC;YACtC,IAAIA,OAAOL,MAAMoB,KAAK,EAAE;gBACtB,OAAOpB,MAAMoB,KAAK,CAACf,IAAI;YACzB;QACF;IACF;IAEA,OAAOL;AACT,EAAC;AAED,OAAO,MAAMc,2BAA2B,CAAC,EACvCD,MAAM,EACNX,CAAC,EAIF,GAAcW,OAAOJ,GAAG,CAAC,CAACT,QAAUD,wBAAwB;YAAEC;YAAOE;QAAE,IAAG"}
1
+ {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { Field, FieldBase } from '../../fields/config/types.js'\n\nexport type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldProperties =\n | 'editor' // This is a `richText` only property\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'label'\n | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition' | 'description'\n>\n\nexport const createClientFieldConfig = ({\n field: incomingField,\n t,\n}: {\n field: Field\n t: TFunction\n}) => {\n const field = { ...incomingField }\n\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'label',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in field) {\n delete field[key]\n }\n })\n\n if ('options' in field && Array.isArray(field.options)) {\n field.options = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n if ('fields' in field) {\n field.fields = createClientFieldConfigs({ fields: field.fields, t })\n }\n\n if ('blocks' in field) {\n field.blocks = field.blocks.map((block) => {\n const sanitized = { ...block }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n return sanitized\n })\n }\n\n if ('tabs' in field) {\n // @ts-expect-error\n field.tabs = field.tabs.map((tab) => createClientFieldConfig({ field: tab, t }))\n }\n\n if ('admin' in field) {\n field.admin = { ...field.admin }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'components',\n 'condition',\n 'description',\n ]\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in field.admin) {\n delete field.admin[key]\n }\n })\n }\n\n return field\n}\n\nexport const createClientFieldConfigs = ({\n fields,\n t,\n}: {\n fields: Field[]\n t: TFunction\n}): Field[] => fields.map((field) => createClientFieldConfig({ field, t }))\n"],"names":["createClientFieldConfig","field","incomingField","t","serverOnlyFieldProperties","forEach","key","Array","isArray","options","map","option","label","value","fields","createClientFieldConfigs","blocks","block","sanitized","tabs","tab","admin","serverOnlyFieldAdminProperties"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAiBA,OAAO,MAAMA,0BAA0B,CAAC,EACtCC,OAAOC,aAAa,EACpBC,CAAC,EAIF;IACC,MAAMF,QAAQ;QAAE,GAAGC,aAAa;IAAC;IAEjC,MAAME,4BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAMD;IAEDA,0BAA0BC,OAAO,CAAC,CAACC;QACjC,IAAIA,OAAOL,OAAO;YAChB,OAAOA,KAAK,CAACK,IAAI;QACnB;IACF;IAEA,IAAI,aAAaL,SAASM,MAAMC,OAAO,CAACP,MAAMQ,OAAO,GAAG;QACtDR,MAAMQ,OAAO,GAAGR,MAAMQ,OAAO,CAACC,GAAG,CAAC,CAACC;YACjC,IAAI,OAAOA,WAAW,YAAY,OAAOA,OAAOC,KAAK,KAAK,YAAY;gBACpE,OAAO;oBACLA,OAAOD,OAAOC,KAAK,CAAC;wBAAET;oBAAE;oBACxBU,OAAOF,OAAOE,KAAK;gBACrB;YACF;YAEA,OAAOF;QACT;IACF;IAEA,IAAI,YAAYV,OAAO;QACrBA,MAAMa,MAAM,GAAGC,yBAAyB;YAAED,QAAQb,MAAMa,MAAM;YAAEX;QAAE;IACpE;IAEA,IAAI,YAAYF,OAAO;QACrBA,MAAMe,MAAM,GAAGf,MAAMe,MAAM,CAACN,GAAG,CAAC,CAACO;YAC/B,MAAMC,YAAY;gBAAE,GAAGD,KAAK;YAAC;YAC7BC,UAAUJ,MAAM,GAAGC,yBAAyB;gBAAED,QAAQI,UAAUJ,MAAM;gBAAEX;YAAE;YAC1E,OAAOe;QACT;IACF;IAEA,IAAI,UAAUjB,OAAO;QACnB,mBAAmB;QACnBA,MAAMkB,IAAI,GAAGlB,MAAMkB,IAAI,CAACT,GAAG,CAAC,CAACU,MAAQpB,wBAAwB;gBAAEC,OAAOmB;gBAAKjB;YAAE;IAC/E;IAEA,IAAI,WAAWF,OAAO;QACpBA,MAAMoB,KAAK,GAAG;YAAE,GAAGpB,MAAMoB,KAAK;QAAC;QAE/B,MAAMC,iCAA4E;YAChF;YACA;YACA;SACD;QAEDA,+BAA+BjB,OAAO,CAAC,CAACC;YACtC,IAAIA,OAAOL,MAAMoB,KAAK,EAAE;gBACtB,OAAOpB,MAAMoB,KAAK,CAACf,IAAI;YACzB;QACF;IACF;IAEA,OAAOL;AACT,EAAC;AAED,OAAO,MAAMc,2BAA2B,CAAC,EACvCD,MAAM,EACNX,CAAC,EAIF,GAAcW,OAAOJ,GAAG,CAAC,CAACT,QAAUD,wBAAwB;YAAEC;YAAOE;QAAE,IAAG"}
@@ -1,4 +1,4 @@
1
- import type { Config } from '../../config/types.js';
1
+ import type { Config, SanitizedConfig } from '../../config/types.js';
2
2
  import type { Field } from './types.js';
3
3
  type Args = {
4
4
  config: Config;
@@ -10,12 +10,17 @@ type Args = {
10
10
  * @default false
11
11
  */
12
12
  requireFieldLevelRichTextEditor?: boolean;
13
+ /**
14
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
15
+ * so that you can sanitize them together, after the config has been sanitized.
16
+ */
17
+ richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>;
13
18
  /**
14
19
  * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.
15
20
  * This validation will be skipped if validRelationships is null.
16
21
  */
17
22
  validRelationships: null | string[];
18
23
  };
19
- export declare const sanitizeFields: ({ config, existingFieldNames, fields, requireFieldLevelRichTextEditor, validRelationships, }: Args) => Field[];
24
+ export declare const sanitizeFields: ({ config, existingFieldNames, fields, requireFieldLevelRichTextEditor, richTextSanitizationPromises, validRelationships, }: Args) => Promise<Field[]>;
20
25
  export {};
21
26
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAgBvC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,kBAAkB,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,iGAMxB,IAAI,KAAG,KAAK,EAkKd,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAiBvC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhF;;;OAGG;IACH,kBAAkB,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,+HAOxB,IAAI,KAAG,QAAQ,KAAK,EAAE,CA4MxB,CAAA"}
@@ -1,32 +1,23 @@
1
- import MissingEditorProp from '../../errors/MissingEditorProp.js';
1
+ import { MissingEditorProp } from '../../errors/MissingEditorProp.js';
2
2
  import { DuplicateFieldName, InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors/index.js';
3
+ import { deepMerge } from '../../utilities/deepMerge.js';
3
4
  import { formatLabels, toWords } from '../../utilities/formatLabels.js';
4
5
  import { baseBlockFields } from '../baseFields/baseBlockFields.js';
5
6
  import { baseIDField } from '../baseFields/baseIDField.js';
6
7
  import { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js';
7
8
  import validations from '../validations.js';
8
9
  import { fieldAffectsData, tabHasName } from './types.js';
9
- export const sanitizeFields = ({ config, existingFieldNames = new Set(), fields, requireFieldLevelRichTextEditor = false, validRelationships })=>{
10
+ export const sanitizeFields = async ({ config, existingFieldNames = new Set(), fields, requireFieldLevelRichTextEditor = false, richTextSanitizationPromises, validRelationships })=>{
10
11
  if (!fields) return [];
11
- return fields.map((unsanitizedField)=>{
12
- const field = {
13
- ...unsanitizedField
14
- };
12
+ for(let i = 0; i < fields.length; i++){
13
+ const field = fields[i];
15
14
  if (!field.type) throw new MissingFieldType(field);
16
15
  // assert that field names do not contain forbidden characters
17
16
  if (fieldAffectsData(field) && field.name.includes('.')) {
18
17
  throw new InvalidFieldName(field, field.name);
19
18
  }
20
- // Make sure that the richText field has an editor
21
- if (field.type === 'richText' && !field.editor) {
22
- if (config.editor && !requireFieldLevelRichTextEditor) {
23
- field.editor = config.editor;
24
- } else {
25
- throw new MissingEditorProp(field);
26
- }
27
- }
28
19
  // Auto-label
29
- if ('name' in field && field.name && typeof field.label !== 'object' && typeof field.label !== 'string' && field.label !== false) {
20
+ if ('name' in field && field.name && typeof field.label !== 'object' && typeof field.label !== 'string' && typeof field.label !== 'function' && field.label !== false) {
30
21
  field.label = toWords(field.name);
31
22
  }
32
23
  if (field.type === 'checkbox' && typeof field.defaultValue === 'undefined' && field.required === true) {
@@ -94,51 +85,93 @@ export const sanitizeFields = ({ config, existingFieldNames = new Set(), fields,
94
85
  if (!field.admin) {
95
86
  field.admin = {};
96
87
  }
88
+ // Make sure that the richText field has an editor
89
+ if (field.type === 'richText') {
90
+ const sanitizeRichText = async (_config)=>{
91
+ if (!field.editor) {
92
+ if (_config.editor && !requireFieldLevelRichTextEditor) {
93
+ // config.editor should be sanitized at this point
94
+ field.editor = _config.editor;
95
+ } else {
96
+ throw new MissingEditorProp(field);
97
+ }
98
+ }
99
+ if (typeof field.editor === 'function') {
100
+ field.editor = await field.editor({
101
+ config: _config,
102
+ isRoot: requireFieldLevelRichTextEditor
103
+ });
104
+ }
105
+ if (field.editor.i18n && Object.keys(field.editor.i18n).length >= 0) {
106
+ config.i18n.translations = deepMerge(config.i18n.translations, field.editor.i18n);
107
+ }
108
+ // Add editor adapter hooks to field hooks
109
+ if (!field.hooks) field.hooks = {};
110
+ const mergeHooks = (hookName)=>{
111
+ if (typeof field.editor === 'function') return;
112
+ if (field.editor?.hooks?.[hookName]?.length) {
113
+ field.hooks[hookName] = field.hooks[hookName] ? field.hooks[hookName].concat(field.editor.hooks[hookName]) : [
114
+ ...field.editor.hooks[hookName]
115
+ ];
116
+ }
117
+ };
118
+ mergeHooks('afterRead');
119
+ mergeHooks('afterChange');
120
+ mergeHooks('beforeChange');
121
+ mergeHooks('beforeValidate');
122
+ mergeHooks('beforeDuplicate');
123
+ };
124
+ if (richTextSanitizationPromises) {
125
+ richTextSanitizationPromises.push(sanitizeRichText);
126
+ } else {
127
+ await sanitizeRichText(config);
128
+ }
129
+ }
97
130
  if ('fields' in field && field.fields) {
98
- field.fields = sanitizeFields({
131
+ field.fields = await sanitizeFields({
99
132
  config,
100
133
  existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,
101
134
  fields: field.fields,
102
135
  requireFieldLevelRichTextEditor,
136
+ richTextSanitizationPromises,
103
137
  validRelationships
104
138
  });
105
139
  }
106
140
  if (field.type === 'tabs') {
107
- field.tabs = field.tabs.map((tab)=>{
108
- const unsanitizedTab = {
109
- ...tab
110
- };
141
+ for(let j = 0; j < field.tabs.length; j++){
142
+ const tab = field.tabs[j];
111
143
  if (tabHasName(tab) && typeof tab.label === 'undefined') {
112
- unsanitizedTab.label = toWords(tab.name);
144
+ tab.label = toWords(tab.name);
113
145
  }
114
- unsanitizedTab.fields = sanitizeFields({
146
+ tab.fields = await sanitizeFields({
115
147
  config,
116
148
  existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,
117
149
  fields: tab.fields,
118
150
  requireFieldLevelRichTextEditor,
151
+ richTextSanitizationPromises,
119
152
  validRelationships
120
153
  });
121
- return unsanitizedTab;
122
- });
154
+ field.tabs[j] = tab;
155
+ }
123
156
  }
124
157
  if ('blocks' in field && field.blocks) {
125
- field.blocks = field.blocks.map((block)=>{
126
- const unsanitizedBlock = {
127
- ...block
128
- };
129
- unsanitizedBlock.labels = !unsanitizedBlock.labels ? formatLabels(unsanitizedBlock.slug) : unsanitizedBlock.labels;
130
- unsanitizedBlock.fields = sanitizeFields({
158
+ for(let j = 0; j < field.blocks.length; j++){
159
+ const block = field.blocks[j];
160
+ block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
161
+ block.fields = await sanitizeFields({
131
162
  config,
132
163
  existingFieldNames: new Set(),
133
164
  fields: block.fields,
134
165
  requireFieldLevelRichTextEditor,
166
+ richTextSanitizationPromises,
135
167
  validRelationships
136
168
  });
137
- return unsanitizedBlock;
138
- });
169
+ field.blocks[j] = block;
170
+ }
139
171
  }
140
- return field;
141
- });
172
+ fields[i] = field;
173
+ }
174
+ return fields;
142
175
  };
143
176
 
144
177
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport MissingEditorProp from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n validRelationships,\n}: Args): Field[] => {\n if (!fields) return []\n\n return fields.map((unsanitizedField) => {\n const field: Field = { ...unsanitizedField }\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText' && !field.editor) {\n if (config.editor && !requireFieldLevelRichTextEditor) {\n field.editor = config.editor\n } else {\n throw new MissingEditorProp(field)\n }\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if ('fields' in field && field.fields) {\n field.fields = sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n field.tabs = field.tabs.map((tab) => {\n const unsanitizedTab = { ...tab }\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n unsanitizedTab.label = toWords(tab.name)\n }\n\n unsanitizedTab.fields = sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n\n return unsanitizedTab\n })\n }\n\n if ('blocks' in field && field.blocks) {\n field.blocks = field.blocks.map((block) => {\n const unsanitizedBlock = { ...block }\n unsanitizedBlock.labels = !unsanitizedBlock.labels\n ? formatLabels(unsanitizedBlock.slug)\n : unsanitizedBlock.labels\n\n unsanitizedBlock.fields = sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n\n return unsanitizedBlock\n })\n }\n\n return field\n })\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","validRelationships","map","unsanitizedField","field","type","name","includes","editor","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","tabs","tab","unsanitizedTab","unsanitizedBlock","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { deepMerge } from '../../utilities/deepMerge.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>\n\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = async ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n richTextSanitizationPromises,\n validRelationships,\n}: Args): Promise<Field[]> => {\n if (!fields) return []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n typeof field.label !== 'function' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText') {\n const sanitizeRichText = async (_config: SanitizedConfig) => {\n if (!field.editor) {\n if (_config.editor && !requireFieldLevelRichTextEditor) {\n // config.editor should be sanitized at this point\n field.editor = _config.editor\n } else {\n throw new MissingEditorProp(field)\n }\n }\n\n if (typeof field.editor === 'function') {\n field.editor = await field.editor({\n config: _config,\n isRoot: requireFieldLevelRichTextEditor,\n })\n }\n\n if (field.editor.i18n && Object.keys(field.editor.i18n).length >= 0) {\n config.i18n.translations = deepMerge(config.i18n.translations, field.editor.i18n)\n }\n\n // Add editor adapter hooks to field hooks\n if (!field.hooks) field.hooks = {}\n\n const mergeHooks = (hookName: keyof typeof field.editor.hooks) => {\n if (typeof field.editor === 'function') return\n\n if (field.editor?.hooks?.[hookName]?.length) {\n field.hooks[hookName] = field.hooks[hookName]\n ? field.hooks[hookName].concat(field.editor.hooks[hookName])\n : [...field.editor.hooks[hookName]]\n }\n }\n\n mergeHooks('afterRead')\n mergeHooks('afterChange')\n mergeHooks('beforeChange')\n mergeHooks('beforeValidate')\n mergeHooks('beforeDuplicate')\n }\n if (richTextSanitizationPromises) {\n richTextSanitizationPromises.push(sanitizeRichText)\n } else {\n await sanitizeRichText(config as unknown as SanitizedConfig)\n }\n }\n\n if ('fields' in field && field.fields) {\n field.fields = await sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n for (let j = 0; j < field.tabs.length; j++) {\n const tab = field.tabs[j]\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n tab.label = toWords(tab.name)\n }\n\n tab.fields = await sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.tabs[j] = tab\n }\n }\n\n if ('blocks' in field && field.blocks) {\n for (let j = 0; j < field.blocks.length; j++) {\n const block = field.blocks[j]\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.blocks[j] = block\n }\n }\n\n fields[i] = field\n }\n\n return fields\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","deepMerge","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","richTextSanitizationPromises","validRelationships","i","length","field","type","name","includes","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","map","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","sanitizeRichText","_config","editor","isRoot","i18n","Object","keys","translations","mergeHooks","hookName","j","tabs","tab","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}