@webiny/api-headless-cms 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (1056) hide show
  1. package/constants.d.ts +2 -1
  2. package/constants.js +4 -0
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +2 -5
  5. package/context.js +16 -7
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +18 -28
  8. package/crud/AccessControl/AccessControl.js.map +1 -1
  9. package/crud/AccessControl/README.md +1 -1
  10. package/crud/contentEntry/entryDataFactories/createEntryData.js +27 -12
  11. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +13 -6
  13. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  14. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +4 -1
  15. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  16. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +4 -1
  17. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  18. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +2 -1
  19. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  20. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +4 -3
  21. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  22. package/crud/contentEntry/entryDataFactories/system.d.ts +10 -0
  23. package/crud/contentEntry/entryDataFactories/system.js +14 -0
  24. package/crud/contentEntry/entryDataFactories/system.js.map +1 -0
  25. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  26. package/crud/contentEntry/entryDataValidation.js +19 -16
  27. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  28. package/crud/contentEntry/references/buildPaths.d.ts +1 -1
  29. package/crud/contentEntry/references/buildPaths.js +3 -3
  30. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  31. package/crud/contentEntry/searchableFields.d.ts +2 -3
  32. package/crud/contentEntry/searchableFields.js +15 -19
  33. package/crud/contentEntry/searchableFields.js.map +1 -1
  34. package/crud/contentEntry.crud.js +16 -11
  35. package/crud/contentEntry.crud.js.map +1 -1
  36. package/crud/contentModel/fields/descriptionField.js +1 -1
  37. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  38. package/crud/contentModel/fields/imageField.js +1 -1
  39. package/crud/contentModel/fields/imageField.js.map +1 -1
  40. package/crud/contentModel/fields/titleField.js +1 -1
  41. package/crud/contentModel/fields/titleField.js.map +1 -1
  42. package/crud/contentModel/validation.d.ts +224 -902
  43. package/crud/contentModel/validation.js +64 -36
  44. package/crud/contentModel/validation.js.map +1 -1
  45. package/crud/contentModel.crud.js +2 -1
  46. package/crud/contentModel.crud.js.map +1 -1
  47. package/domain/contentEntry/EntryId.d.ts +1 -0
  48. package/domain/contentEntry/EntryId.js +2 -0
  49. package/domain/contentEntry/EntryId.js.map +1 -1
  50. package/domain/contentEntry/errors.d.ts +2 -2
  51. package/domain/contentEntry/errors.js.map +1 -1
  52. package/domain/contentModel/errors.d.ts +1 -1
  53. package/domain/contentModel/errors.js.map +1 -1
  54. package/domain/contentModel/schemas.d.ts +198 -616
  55. package/domain/contentModel/schemas.js +55 -37
  56. package/domain/contentModel/schemas.js.map +1 -1
  57. package/domain/contentModel/validation/fields/descriptionField.js +1 -1
  58. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  59. package/domain/contentModel/validation/fields/imageField.js +1 -1
  60. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  61. package/domain/contentModel/validation/fields/titleField.js +1 -1
  62. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  63. package/domain/contentModel/validation/modelFields.js +15 -20
  64. package/domain/contentModel/validation/modelFields.js.map +1 -1
  65. package/domain/contentModelGroup/validation.d.ts +34 -82
  66. package/domain/contentModelGroup/validation.js +2 -2
  67. package/domain/contentModelGroup/validation.js.map +1 -1
  68. package/export/graphql/index.js +1 -1
  69. package/export/graphql/index.js.map +1 -1
  70. package/export/types.js.map +1 -1
  71. package/exports/api/cms/entry.d.ts +3 -0
  72. package/exports/api/cms/entry.js +6 -0
  73. package/exports/api/cms/entry.js.map +1 -1
  74. package/exports/api/cms/graphql.d.ts +1 -0
  75. package/exports/api/cms/graphql.js +3 -0
  76. package/exports/api/cms/graphql.js.map +1 -0
  77. package/exports/api/cms/model.d.ts +5 -1
  78. package/exports/api/cms/model.js +3 -1
  79. package/exports/api/cms/model.js.map +1 -1
  80. package/exports/api/cms/storage.d.ts +3 -0
  81. package/exports/api/cms/storage.js +5 -0
  82. package/exports/api/cms/storage.js.map +1 -0
  83. package/exports/api/cms/validation.d.ts +4 -0
  84. package/exports/api/cms/validation.js +6 -0
  85. package/exports/api/cms/validation.js.map +1 -0
  86. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +3 -7
  87. package/extensions/index.d.ts +2 -6
  88. package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
  89. package/features/contentEntry/ContentEntriesFeature.js +6 -0
  90. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  91. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
  92. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +2 -2
  93. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  94. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
  95. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
  96. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
  97. package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
  98. package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
  99. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
  100. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -0
  101. package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
  102. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
  103. package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
  104. package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
  105. package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
  106. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  107. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  108. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  109. package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
  110. package/features/contentEntry/CreateEntry/abstractions.js +1 -0
  111. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  112. package/features/contentEntry/CreateEntry/events.d.ts +4 -2
  113. package/features/contentEntry/CreateEntry/events.js +5 -1
  114. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  115. package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
  116. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  117. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  118. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  119. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
  120. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
  121. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  122. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +4 -2
  123. package/features/contentEntry/CreateEntryRevisionFrom/events.js +5 -1
  124. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  125. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
  126. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  127. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  128. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  129. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  130. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  131. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  132. package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
  133. package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
  134. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  135. package/features/contentEntry/DeleteEntry/events.d.ts +4 -2
  136. package/features/contentEntry/DeleteEntry/events.js +5 -1
  137. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  138. package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
  139. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  140. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  141. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  142. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
  143. package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
  144. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  145. package/features/contentEntry/DeleteEntryRevision/events.d.ts +4 -2
  146. package/features/contentEntry/DeleteEntryRevision/events.js +5 -1
  147. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  148. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
  149. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  150. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  151. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  152. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
  153. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
  154. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  155. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +4 -2
  156. package/features/contentEntry/DeleteMultipleEntries/events.js +5 -1
  157. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  158. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
  159. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
  160. package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
  161. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  162. package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
  163. package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
  164. package/features/contentEntry/GetEntry/abstractions.js +1 -0
  165. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  166. package/features/contentEntry/GetEntry/feature.d.ts +4 -1
  167. package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
  168. package/features/contentEntry/GetEntryById/abstractions.js +1 -0
  169. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  170. package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
  171. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
  172. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
  173. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  174. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
  175. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
  176. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
  177. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  178. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
  179. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
  180. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
  181. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  182. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
  183. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
  184. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
  185. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  186. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
  187. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
  188. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
  189. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  190. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
  191. package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
  192. package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
  193. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  194. package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
  195. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
  196. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
  197. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  198. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
  199. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
  200. package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
  201. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  202. package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
  203. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
  204. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +9 -15
  205. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  206. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
  207. package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
  208. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  209. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  210. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  211. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  212. package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
  213. package/features/contentEntry/ListEntries/abstractions.js +4 -0
  214. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  215. package/features/contentEntry/ListEntries/feature.d.ts +4 -1
  216. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  217. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  218. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  219. package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
  220. package/features/contentEntry/MoveEntry/abstractions.js +1 -0
  221. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  222. package/features/contentEntry/MoveEntry/events.d.ts +4 -2
  223. package/features/contentEntry/MoveEntry/events.js +5 -1
  224. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  225. package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
  226. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  227. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  228. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  229. package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
  230. package/features/contentEntry/PublishEntry/abstractions.js +1 -0
  231. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  232. package/features/contentEntry/PublishEntry/events.d.ts +4 -2
  233. package/features/contentEntry/PublishEntry/events.js +5 -1
  234. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  235. package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
  236. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  237. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  238. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  239. package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
  240. package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
  241. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  242. package/features/contentEntry/RepublishEntry/events.d.ts +4 -2
  243. package/features/contentEntry/RepublishEntry/events.js +5 -1
  244. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  245. package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
  246. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  247. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  248. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  249. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
  250. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
  251. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  252. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +4 -2
  253. package/features/contentEntry/RestoreEntryFromBin/events.js +5 -1
  254. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  255. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
  256. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  257. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  258. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  259. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
  260. package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
  261. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  262. package/features/contentEntry/UnpublishEntry/events.d.ts +4 -2
  263. package/features/contentEntry/UnpublishEntry/events.js +5 -1
  264. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  265. package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
  266. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  267. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  268. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  269. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
  270. package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
  271. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  272. package/features/contentEntry/UpdateEntry/events.d.ts +4 -2
  273. package/features/contentEntry/UpdateEntry/events.js +5 -1
  274. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  275. package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
  276. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  277. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +90 -0
  278. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  279. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  280. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +10 -0
  281. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  282. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  283. package/features/contentEntry/UpdateRevisionDescription/events.js +33 -0
  284. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  285. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  286. package/features/contentEntry/UpdateRevisionDescription/feature.js +20 -0
  287. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  288. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  289. package/features/contentEntry/UpdateRevisionDescription/index.js +4 -0
  290. package/features/contentEntry/UpdateRevisionDescription/index.js.map +1 -0
  291. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
  292. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
  293. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  294. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
  295. package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
  296. package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
  297. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  298. package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
  299. package/features/contentModel/ContentModelFeature.d.ts +4 -1
  300. package/features/contentModel/ContentModelFeature.js +2 -0
  301. package/features/contentModel/ContentModelFeature.js.map +1 -1
  302. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +12 -12
  303. package/features/contentModel/CreateModel/CreateModelRepository.js +17 -12
  304. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  305. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  306. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  307. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  308. package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
  309. package/features/contentModel/CreateModel/abstractions.js +1 -0
  310. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  311. package/features/contentModel/CreateModel/events.d.ts +4 -2
  312. package/features/contentModel/CreateModel/events.js +5 -1
  313. package/features/contentModel/CreateModel/events.js.map +1 -1
  314. package/features/contentModel/CreateModel/feature.d.ts +4 -1
  315. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +12 -13
  316. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +25 -15
  317. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  318. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  319. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  320. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  321. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
  322. package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
  323. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  324. package/features/contentModel/CreateModelFrom/events.d.ts +4 -2
  325. package/features/contentModel/CreateModelFrom/events.js +5 -1
  326. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  327. package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
  328. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  329. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  330. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  331. package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
  332. package/features/contentModel/DeleteModel/abstractions.js +1 -0
  333. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  334. package/features/contentModel/DeleteModel/events.d.ts +4 -2
  335. package/features/contentModel/DeleteModel/events.js +5 -1
  336. package/features/contentModel/DeleteModel/events.js.map +1 -1
  337. package/features/contentModel/DeleteModel/feature.d.ts +4 -1
  338. package/features/contentModel/GetModel/abstractions.d.ts +1 -0
  339. package/features/contentModel/GetModel/abstractions.js +1 -0
  340. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  341. package/features/contentModel/GetModel/feature.d.ts +4 -1
  342. package/features/contentModel/ListModels/abstractions.d.ts +1 -0
  343. package/features/contentModel/ListModels/abstractions.js +1 -0
  344. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  345. package/features/contentModel/ListModels/feature.d.ts +4 -1
  346. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.d.ts +15 -0
  347. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +27 -0
  348. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -0
  349. package/features/contentModel/ModelFieldCompression/abstractions.d.ts +17 -0
  350. package/features/contentModel/ModelFieldCompression/abstractions.js +4 -0
  351. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -0
  352. package/features/contentModel/ModelFieldCompression/feature.d.ts +4 -0
  353. package/features/contentModel/ModelFieldCompression/feature.js +10 -0
  354. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -0
  355. package/features/contentModel/ModelFieldCompression/index.d.ts +1 -0
  356. package/features/contentModel/ModelFieldCompression/index.js +3 -0
  357. package/features/contentModel/ModelFieldCompression/index.js.map +1 -0
  358. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  359. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  360. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  361. package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
  362. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +9 -9
  363. package/features/contentModel/UpdateModel/UpdateModelRepository.js +21 -12
  364. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  365. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  366. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +6 -3
  367. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  368. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
  369. package/features/contentModel/UpdateModel/abstractions.js +1 -0
  370. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  371. package/features/contentModel/UpdateModel/events.d.ts +4 -2
  372. package/features/contentModel/UpdateModel/events.js +5 -1
  373. package/features/contentModel/UpdateModel/events.js.map +1 -1
  374. package/features/contentModel/UpdateModel/feature.d.ts +4 -1
  375. package/features/contentModel/shared/ModelsFetcher.d.ts +8 -6
  376. package/features/contentModel/shared/ModelsFetcher.js +14 -4
  377. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  378. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
  379. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  380. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  381. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  382. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  383. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  384. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  385. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
  386. package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
  387. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  388. package/features/contentModelGroup/CreateGroup/events.d.ts +4 -2
  389. package/features/contentModelGroup/CreateGroup/events.js +5 -1
  390. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  391. package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
  392. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  393. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  394. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  395. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
  396. package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
  397. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  398. package/features/contentModelGroup/DeleteGroup/events.d.ts +4 -2
  399. package/features/contentModelGroup/DeleteGroup/events.js +5 -1
  400. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  401. package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
  402. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  403. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  404. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  405. package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
  406. package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
  407. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  408. package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
  409. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  410. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  411. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  412. package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
  413. package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
  414. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  415. package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
  416. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  417. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  418. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  419. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
  420. package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
  421. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  422. package/features/contentModelGroup/UpdateGroup/events.d.ts +4 -2
  423. package/features/contentModelGroup/UpdateGroup/events.js +5 -1
  424. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  425. package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
  426. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  427. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  428. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  429. package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
  430. package/features/contentModelGroup/shared/abstractions.js +1 -0
  431. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  432. package/features/graphql/feature.d.ts +4 -0
  433. package/features/graphql/feature.js +34 -0
  434. package/features/graphql/feature.js.map +1 -0
  435. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  436. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  437. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  438. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  439. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  440. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  441. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  442. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  443. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  444. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  445. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  446. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  447. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  448. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  449. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  450. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  451. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  452. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  453. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  454. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  455. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  456. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  457. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  458. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  459. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  460. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  461. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  462. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  463. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  464. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  465. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  466. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  467. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  468. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  469. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  470. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  471. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  472. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  473. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  474. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  475. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  476. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  477. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  478. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  479. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  480. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  481. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  482. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  483. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  484. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  485. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  486. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  487. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +4 -4
  488. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  489. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  490. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  491. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  492. package/features/graphql/index.d.ts +4 -0
  493. package/features/graphql/index.js +6 -0
  494. package/features/graphql/index.js.map +1 -0
  495. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  496. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  497. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  498. package/features/installer/CmsInstaller.d.ts +1 -1
  499. package/features/installer/CmsInstaller.js +1 -1
  500. package/features/installer/CmsInstaller.js.map +1 -1
  501. package/features/installer/feature.d.ts +4 -1
  502. package/features/modelBuilder/abstractions.d.ts +8 -4
  503. package/features/modelBuilder/abstractions.js +5 -2
  504. package/features/modelBuilder/abstractions.js.map +1 -1
  505. package/features/modelBuilder/feature.d.ts +4 -1
  506. package/features/modelBuilder/feature.js +6 -0
  507. package/features/modelBuilder/feature.js.map +1 -1
  508. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
  509. package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
  510. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
  511. package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -2
  512. package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
  513. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  514. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +220 -0
  515. package/features/modelBuilder/fields/DataFieldBuilder.js +211 -0
  516. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
  517. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
  518. package/features/modelBuilder/fields/DateTimeFieldType.js +22 -2
  519. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  520. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +3 -3
  521. package/features/modelBuilder/fields/DynamicZoneFieldType.js +12 -5
  522. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  523. package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -46
  524. package/features/modelBuilder/fields/FieldBuilder.js +3 -152
  525. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  526. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
  527. package/features/modelBuilder/fields/FieldBuilderRegistry.js +11 -1
  528. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  529. package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
  530. package/features/modelBuilder/fields/FileFieldType.js +2 -2
  531. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  532. package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
  533. package/features/modelBuilder/fields/JsonFieldType.js +2 -2
  534. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  535. package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
  536. package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
  537. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
  538. package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
  539. package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
  540. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  541. package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
  542. package/features/modelBuilder/fields/NumberFieldType.js +2 -2
  543. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  544. package/features/modelBuilder/fields/ObjectFieldType.d.ts +7 -6
  545. package/features/modelBuilder/fields/ObjectFieldType.js +21 -6
  546. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  547. package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
  548. package/features/modelBuilder/fields/RefFieldType.js +2 -2
  549. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  550. package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
  551. package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
  552. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  553. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
  554. package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
  555. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  556. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
  557. package/features/modelBuilder/fields/TextFieldType.js +2 -2
  558. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  559. package/features/modelBuilder/fields/UiAlertFieldType.d.ts +19 -0
  560. package/features/modelBuilder/fields/UiAlertFieldType.js +36 -0
  561. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -0
  562. package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +17 -0
  563. package/features/modelBuilder/fields/UiSeparatorFieldType.js +31 -0
  564. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -0
  565. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
  566. package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
  567. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
  568. package/features/modelBuilder/fields/abstractions.d.ts +6 -3
  569. package/features/modelBuilder/fields/abstractions.js +1 -1
  570. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  571. package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +23 -1
  572. package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
  573. package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
  574. package/features/modelBuilder/index.d.ts +3 -0
  575. package/features/modelBuilder/index.js +3 -0
  576. package/features/modelBuilder/index.js.map +1 -1
  577. package/features/modelBuilder/models/BaseModelBuilder.d.ts +9 -4
  578. package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
  579. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  580. package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
  581. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  582. package/features/modelBuilder/models/PublicModelBuilder.js +16 -4
  583. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  584. package/features/shared/abstractions.d.ts +9 -2
  585. package/features/shared/abstractions.js +1 -0
  586. package/features/shared/abstractions.js.map +1 -1
  587. package/features/sortMapper/abstractions.d.ts +1 -0
  588. package/features/sortMapper/abstractions.js +1 -0
  589. package/features/sortMapper/abstractions.js.map +1 -1
  590. package/features/sortMapper/feature.d.ts +4 -1
  591. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  592. package/features/storage/StorageTransformRegistry.js +27 -0
  593. package/features/storage/StorageTransformRegistry.js.map +1 -0
  594. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  595. package/features/storage/abstractions/StorageTransform.js +4 -0
  596. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  597. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  598. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  599. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  600. package/features/storage/feature.d.ts +4 -0
  601. package/features/storage/feature.js +24 -0
  602. package/features/storage/feature.js.map +1 -0
  603. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  604. package/features/storage/fields/DateStorageTransform.js +110 -0
  605. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  606. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  607. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  608. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  609. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  610. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  611. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  612. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  613. package/features/storage/fields/JsonStorageTransform.js +31 -0
  614. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  615. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  616. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  617. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  618. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  619. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  620. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  621. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  622. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  623. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  624. package/features/storage/index.d.ts +3 -0
  625. package/features/storage/index.js +5 -0
  626. package/features/storage/index.js.map +1 -0
  627. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  628. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  629. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  630. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  631. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  632. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  633. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  634. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  635. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  636. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  637. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  638. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  639. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  640. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  641. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  642. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  643. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  644. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  645. package/features/validation/feature.d.ts +4 -0
  646. package/features/validation/feature.js +48 -0
  647. package/features/validation/feature.js.map +1 -0
  648. package/features/validation/index.d.ts +5 -0
  649. package/features/validation/index.js +7 -0
  650. package/features/validation/index.js.map +1 -0
  651. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  652. package/features/validation/validators/DateGteValidator.js +26 -0
  653. package/features/validation/validators/DateGteValidator.js.map +1 -0
  654. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  655. package/features/validation/validators/DateLteValidator.js +26 -0
  656. package/features/validation/validators/DateLteValidator.js.map +1 -0
  657. package/features/validation/validators/GteValidator.d.ts +10 -0
  658. package/features/validation/validators/GteValidator.js +21 -0
  659. package/features/validation/validators/GteValidator.js.map +1 -0
  660. package/features/validation/validators/InValidator.d.ts +10 -0
  661. package/features/validation/validators/InValidator.js +21 -0
  662. package/features/validation/validators/InValidator.js.map +1 -0
  663. package/features/validation/validators/LteValidator.d.ts +10 -0
  664. package/features/validation/validators/LteValidator.js +21 -0
  665. package/features/validation/validators/LteValidator.js.map +1 -0
  666. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  667. package/features/validation/validators/MaxLengthValidator.js +21 -0
  668. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  669. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  670. package/features/validation/validators/MinLengthValidator.js +21 -0
  671. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  672. package/features/validation/validators/PatternValidator.d.ts +13 -0
  673. package/features/validation/validators/PatternValidator.js +38 -0
  674. package/features/validation/validators/PatternValidator.js.map +1 -0
  675. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  676. package/features/validation/validators/RequiredValidator.js +16 -0
  677. package/features/validation/validators/RequiredValidator.js.map +1 -0
  678. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  679. package/features/validation/validators/TimeGteValidator.js +21 -0
  680. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  681. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  682. package/features/validation/validators/TimeLteValidator.js +21 -0
  683. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  684. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  685. package/features/validation/validators/UniqueValidator.js +47 -0
  686. package/features/validation/validators/UniqueValidator.js.map +1 -0
  687. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  688. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  689. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  690. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  691. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  692. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  693. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  694. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  695. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  696. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  697. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  698. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  699. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  700. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  701. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  702. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  703. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  704. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  705. package/features/whereMapper/abstractions.d.ts +1 -0
  706. package/features/whereMapper/abstractions.js +1 -0
  707. package/features/whereMapper/abstractions.js.map +1 -1
  708. package/features/whereMapper/feature.d.ts +4 -1
  709. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +2 -2
  710. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  711. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
  712. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  713. package/graphql/getSchema/generateCacheKey.js +15 -7
  714. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  715. package/graphql/index.js +2 -1
  716. package/graphql/index.js.map +1 -1
  717. package/graphql/schema/baseSchema.d.ts +2 -1
  718. package/graphql/schema/baseSchema.js +28 -24
  719. package/graphql/schema/baseSchema.js.map +1 -1
  720. package/graphql/schema/cms/createEntryResolver.d.ts +10 -0
  721. package/graphql/schema/cms/createEntryResolver.js +65 -0
  722. package/graphql/schema/cms/createEntryResolver.js.map +1 -0
  723. package/graphql/schema/cms/deleteEntryResolver.d.ts +10 -0
  724. package/graphql/schema/cms/deleteEntryResolver.js +65 -0
  725. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -0
  726. package/graphql/schema/cms/getEntryResolver.d.ts +11 -0
  727. package/graphql/schema/cms/getEntryResolver.js +67 -0
  728. package/graphql/schema/cms/getEntryResolver.js.map +1 -0
  729. package/graphql/schema/cms/helpers/buildFieldsSelection.d.ts +23 -0
  730. package/graphql/schema/cms/helpers/buildFieldsSelection.js +79 -0
  731. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -0
  732. package/graphql/schema/cms/helpers/getErrorMessage.d.ts +4 -0
  733. package/graphql/schema/cms/helpers/getErrorMessage.js +14 -0
  734. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -0
  735. package/graphql/schema/cms/helpers/getModel.d.ts +6 -0
  736. package/graphql/schema/cms/helpers/getModel.js +12 -0
  737. package/graphql/schema/cms/helpers/getModel.js.map +1 -0
  738. package/graphql/schema/cms/helpers/index.d.ts +5 -0
  739. package/graphql/schema/cms/helpers/index.js +7 -0
  740. package/graphql/schema/cms/helpers/index.js.map +1 -0
  741. package/graphql/schema/cms/helpers/transformSortToArray.d.ts +18 -0
  742. package/graphql/schema/cms/helpers/transformSortToArray.js +38 -0
  743. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -0
  744. package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
  745. package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
  746. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
  747. package/graphql/schema/cms/helpers.d.ts +5 -0
  748. package/graphql/schema/cms/helpers.js +7 -0
  749. package/graphql/schema/cms/helpers.js.map +1 -0
  750. package/graphql/schema/cms/index.d.ts +2 -0
  751. package/graphql/schema/cms/index.js +26 -0
  752. package/graphql/schema/cms/index.js.map +1 -0
  753. package/graphql/schema/cms/listEntriesResolver.d.ts +15 -0
  754. package/graphql/schema/cms/listEntriesResolver.js +115 -0
  755. package/graphql/schema/cms/listEntriesResolver.js.map +1 -0
  756. package/graphql/schema/cms/publishEntryResolver.d.ts +10 -0
  757. package/graphql/schema/cms/publishEntryResolver.js +65 -0
  758. package/graphql/schema/cms/publishEntryResolver.js.map +1 -0
  759. package/graphql/schema/cms/resolvers/createEntry.d.ts +8 -0
  760. package/graphql/schema/cms/resolvers/createEntry.js +17 -0
  761. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -0
  762. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +8 -0
  763. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +17 -0
  764. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -0
  765. package/graphql/schema/cms/resolvers/getEntry.d.ts +8 -0
  766. package/graphql/schema/cms/resolvers/getEntry.js +17 -0
  767. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -0
  768. package/graphql/schema/cms/resolvers/index.d.ts +9 -0
  769. package/graphql/schema/cms/resolvers/index.js +11 -0
  770. package/graphql/schema/cms/resolvers/index.js.map +1 -0
  771. package/graphql/schema/cms/resolvers/listEntries.d.ts +8 -0
  772. package/graphql/schema/cms/resolvers/listEntries.js +17 -0
  773. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -0
  774. package/graphql/schema/cms/resolvers/mutationCms.d.ts +8 -0
  775. package/graphql/schema/cms/resolvers/mutationCms.js +24 -0
  776. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -0
  777. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +8 -0
  778. package/graphql/schema/cms/resolvers/publishEntryRevision.js +17 -0
  779. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -0
  780. package/graphql/schema/cms/resolvers/queryCms.d.ts +8 -0
  781. package/graphql/schema/cms/resolvers/queryCms.js +23 -0
  782. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -0
  783. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +8 -0
  784. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +17 -0
  785. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -0
  786. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +8 -0
  787. package/graphql/schema/cms/resolvers/updateEntryRevision.js +17 -0
  788. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -0
  789. package/graphql/schema/cms/typeDefs/index.d.ts +3 -0
  790. package/graphql/schema/cms/typeDefs/index.js +5 -0
  791. package/graphql/schema/cms/typeDefs/index.js.map +1 -0
  792. package/graphql/schema/cms/typeDefs/mutation.d.ts +8 -0
  793. package/graphql/schema/cms/typeDefs/mutation.js +42 -0
  794. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -0
  795. package/graphql/schema/cms/typeDefs/query.d.ts +8 -0
  796. package/graphql/schema/cms/typeDefs/query.js +36 -0
  797. package/graphql/schema/cms/typeDefs/query.js.map +1 -0
  798. package/graphql/schema/cms/typeDefs/responses.d.ts +8 -0
  799. package/graphql/schema/cms/typeDefs/responses.js +35 -0
  800. package/graphql/schema/cms/typeDefs/responses.js.map +1 -0
  801. package/graphql/schema/cms/unpublishEntryResolver.d.ts +10 -0
  802. package/graphql/schema/cms/unpublishEntryResolver.js +65 -0
  803. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -0
  804. package/graphql/schema/cms/updateEntryResolver.d.ts +11 -0
  805. package/graphql/schema/cms/updateEntryResolver.js +67 -0
  806. package/graphql/schema/cms/updateEntryResolver.js.map +1 -0
  807. package/graphql/schema/contentEntries.js +1 -1
  808. package/graphql/schema/contentEntries.js.map +1 -1
  809. package/graphql/schema/contentModels.js +31 -9
  810. package/graphql/schema/contentModels.js.map +1 -1
  811. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  812. package/graphql/schema/createFieldResolvers.js +5 -4
  813. package/graphql/schema/createFieldResolvers.js.map +1 -1
  814. package/graphql/schema/createManageResolvers.d.ts +3 -2
  815. package/graphql/schema/createManageResolvers.js +5 -3
  816. package/graphql/schema/createManageResolvers.js.map +1 -1
  817. package/graphql/schema/createManageSDL.d.ts +4 -4
  818. package/graphql/schema/createManageSDL.js +16 -11
  819. package/graphql/schema/createManageSDL.js.map +1 -1
  820. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  821. package/graphql/schema/createPreviewResolvers.js +4 -4
  822. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  823. package/graphql/schema/createReadResolvers.d.ts +3 -2
  824. package/graphql/schema/createReadResolvers.js +4 -4
  825. package/graphql/schema/createReadResolvers.js.map +1 -1
  826. package/graphql/schema/createReadSDL.d.ts +4 -4
  827. package/graphql/schema/createReadSDL.js +7 -7
  828. package/graphql/schema/createReadSDL.js.map +1 -1
  829. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  830. package/graphql/schema/createSingularResolvers.js +3 -3
  831. package/graphql/schema/createSingularResolvers.js.map +1 -1
  832. package/graphql/schema/createSingularSDL.d.ts +3 -2
  833. package/graphql/schema/createSingularSDL.js +5 -4
  834. package/graphql/schema/createSingularSDL.js.map +1 -1
  835. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +9 -7
  836. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  837. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  838. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +13 -0
  839. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  840. package/graphql/schema/schemaPlugins.js +14 -17
  841. package/graphql/schema/schemaPlugins.js.map +1 -1
  842. package/index.d.ts +3 -5
  843. package/index.js +4 -7
  844. package/index.js.map +1 -1
  845. package/package.json +36 -32
  846. package/plugins/CmsModelPlugin.js +19 -4
  847. package/plugins/CmsModelPlugin.js.map +1 -1
  848. package/plugins/index.d.ts +0 -2
  849. package/plugins/index.js +0 -2
  850. package/plugins/index.js.map +1 -1
  851. package/types/context.d.ts +5 -5
  852. package/types/context.js.map +1 -1
  853. package/types/fields/objectField.d.ts +2 -0
  854. package/types/fields/objectField.js.map +1 -1
  855. package/types/model.d.ts +39 -3
  856. package/types/model.js.map +1 -1
  857. package/types/modelField.d.ts +47 -15
  858. package/types/modelField.js.map +1 -1
  859. package/types/plugins.d.ts +1 -305
  860. package/types/plugins.js.map +1 -1
  861. package/types/types.d.ts +28 -61
  862. package/types/types.js +0 -4
  863. package/types/types.js.map +1 -1
  864. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  865. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  866. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  867. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  868. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  869. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  870. package/utils/converters/ConverterCollection.d.ts +2 -0
  871. package/utils/converters/ConverterCollection.js +3 -2
  872. package/utils/converters/ConverterCollection.js.map +1 -1
  873. package/utils/converters/types.js.map +1 -1
  874. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  875. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  876. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  877. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  878. package/utils/converters/valueKeyStorageConverter.js +7 -3
  879. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  880. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  881. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  882. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  883. package/utils/createModelField.js +10 -8
  884. package/utils/createModelField.js.map +1 -1
  885. package/utils/createTypeFromFields.d.ts +3 -2
  886. package/utils/createTypeFromFields.js +3 -3
  887. package/utils/createTypeFromFields.js.map +1 -1
  888. package/utils/entryStorage.d.ts +8 -15
  889. package/utils/entryStorage.js +31 -59
  890. package/utils/entryStorage.js.map +1 -1
  891. package/utils/getBaseFieldType.js +3 -0
  892. package/utils/getBaseFieldType.js.map +1 -1
  893. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  894. package/utils/getSchemaFromFieldPlugins.js +5 -9
  895. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  896. package/utils/renderFields.d.ts +4 -3
  897. package/utils/renderFields.js +14 -9
  898. package/utils/renderFields.js.map +1 -1
  899. package/utils/renderGetFilterFields.d.ts +3 -2
  900. package/utils/renderGetFilterFields.js +2 -2
  901. package/utils/renderGetFilterFields.js.map +1 -1
  902. package/utils/renderInputFields.d.ts +4 -3
  903. package/utils/renderInputFields.js +5 -11
  904. package/utils/renderInputFields.js.map +1 -1
  905. package/utils/renderListFilterFields.d.ts +3 -2
  906. package/utils/renderListFilterFields.js +5 -3
  907. package/utils/renderListFilterFields.js.map +1 -1
  908. package/utils/renderSortEnum.d.ts +4 -4
  909. package/utils/renderSortEnum.js +11 -11
  910. package/utils/renderSortEnum.js.map +1 -1
  911. package/utils/toSlug.js +1 -1
  912. package/utils/toSlug.js.map +1 -1
  913. package/crud/contentEntry/entryDataFactories/state.d.ts +0 -10
  914. package/crud/contentEntry/entryDataFactories/state.js +0 -16
  915. package/crud/contentEntry/entryDataFactories/state.js.map +0 -1
  916. package/crud/contentModel/validateModel.d.ts +0 -9
  917. package/crud/contentModel/validateModel.js +0 -21
  918. package/crud/contentModel/validateModel.js.map +0 -1
  919. package/crud/contentModel/validateModelFields.d.ts +0 -9
  920. package/crud/contentModel/validateModelFields.js +0 -267
  921. package/crud/contentModel/validateModelFields.js.map +0 -1
  922. package/features/modelBuilder/fields/validators.js +0 -3
  923. package/features/modelBuilder/fields/validators.js.map +0 -1
  924. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  925. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  926. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  927. package/graphqlFields/boolean.d.ts +0 -2
  928. package/graphqlFields/boolean.js +0 -52
  929. package/graphqlFields/boolean.js.map +0 -1
  930. package/graphqlFields/datetime.d.ts +0 -2
  931. package/graphqlFields/datetime.js +0 -71
  932. package/graphqlFields/datetime.js.map +0 -1
  933. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  934. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  935. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  936. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  937. package/graphqlFields/dynamicZone/index.js +0 -3
  938. package/graphqlFields/dynamicZone/index.js.map +0 -1
  939. package/graphqlFields/file.d.ts +0 -2
  940. package/graphqlFields/file.js +0 -37
  941. package/graphqlFields/file.js.map +0 -1
  942. package/graphqlFields/helpers.js +0 -20
  943. package/graphqlFields/helpers.js.map +0 -1
  944. package/graphqlFields/index.d.ts +0 -2
  945. package/graphqlFields/index.js +0 -15
  946. package/graphqlFields/index.js.map +0 -1
  947. package/graphqlFields/json.d.ts +0 -2
  948. package/graphqlFields/json.js +0 -42
  949. package/graphqlFields/json.js.map +0 -1
  950. package/graphqlFields/longText.d.ts +0 -2
  951. package/graphqlFields/longText.js +0 -57
  952. package/graphqlFields/longText.js.map +0 -1
  953. package/graphqlFields/number.d.ts +0 -2
  954. package/graphqlFields/number.js +0 -63
  955. package/graphqlFields/number.js.map +0 -1
  956. package/graphqlFields/object.d.ts +0 -2
  957. package/graphqlFields/object.js +0 -245
  958. package/graphqlFields/object.js.map +0 -1
  959. package/graphqlFields/ref.d.ts +0 -2
  960. package/graphqlFields/ref.js +0 -286
  961. package/graphqlFields/ref.js.map +0 -1
  962. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  963. package/graphqlFields/richText.d.ts +0 -2
  964. package/graphqlFields/richText.js +0 -48
  965. package/graphqlFields/richText.js.map +0 -1
  966. package/graphqlFields/searchableJson.d.ts +0 -2
  967. package/graphqlFields/searchableJson.js +0 -53
  968. package/graphqlFields/searchableJson.js.map +0 -1
  969. package/graphqlFields/text.d.ts +0 -2
  970. package/graphqlFields/text.js +0 -59
  971. package/graphqlFields/text.js.map +0 -1
  972. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  973. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  974. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  975. package/plugins/StorageTransformPlugin.d.ts +0 -35
  976. package/plugins/StorageTransformPlugin.js +0 -26
  977. package/plugins/StorageTransformPlugin.js.map +0 -1
  978. package/storage/date.d.ts +0 -3
  979. package/storage/date.js +0 -110
  980. package/storage/date.js.map +0 -1
  981. package/storage/default.d.ts +0 -2
  982. package/storage/default.js +0 -19
  983. package/storage/default.js.map +0 -1
  984. package/storage/dynamicZone.d.ts +0 -2
  985. package/storage/dynamicZone.js +0 -149
  986. package/storage/dynamicZone.js.map +0 -1
  987. package/storage/index.d.ts +0 -1
  988. package/storage/index.js +0 -13
  989. package/storage/index.js.map +0 -1
  990. package/storage/json.d.ts +0 -2
  991. package/storage/json.js +0 -49
  992. package/storage/json.js.map +0 -1
  993. package/storage/object.d.ts +0 -2
  994. package/storage/object.js +0 -104
  995. package/storage/object.js.map +0 -1
  996. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +0 -1
  997. package/validators/dateGte.d.ts +0 -2
  998. package/validators/dateGte.js +0 -25
  999. package/validators/dateGte.js.map +0 -1
  1000. package/validators/dateLte.d.ts +0 -2
  1001. package/validators/dateLte.js +0 -25
  1002. package/validators/dateLte.js.map +0 -1
  1003. package/validators/gte.d.ts +0 -2
  1004. package/validators/gte.js +0 -22
  1005. package/validators/gte.js.map +0 -1
  1006. package/validators/in.d.ts +0 -2
  1007. package/validators/in.js +0 -22
  1008. package/validators/in.js.map +0 -1
  1009. package/validators/index.d.ts +0 -1
  1010. package/validators/index.js +0 -16
  1011. package/validators/index.js.map +0 -1
  1012. package/validators/lte.d.ts +0 -2
  1013. package/validators/lte.js +0 -22
  1014. package/validators/lte.js.map +0 -1
  1015. package/validators/maxLength.d.ts +0 -2
  1016. package/validators/maxLength.js +0 -22
  1017. package/validators/maxLength.js.map +0 -1
  1018. package/validators/minLength.d.ts +0 -2
  1019. package/validators/minLength.js +0 -22
  1020. package/validators/minLength.js.map +0 -1
  1021. package/validators/pattern.d.ts +0 -2
  1022. package/validators/pattern.js +0 -36
  1023. package/validators/pattern.js.map +0 -1
  1024. package/validators/patternPlugins/email.d.ts +0 -2
  1025. package/validators/patternPlugins/email.js +0 -13
  1026. package/validators/patternPlugins/email.js.map +0 -1
  1027. package/validators/patternPlugins/index.d.ts +0 -2
  1028. package/validators/patternPlugins/index.js +0 -11
  1029. package/validators/patternPlugins/index.js.map +0 -1
  1030. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  1031. package/validators/patternPlugins/lowerCase.js +0 -13
  1032. package/validators/patternPlugins/lowerCase.js.map +0 -1
  1033. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  1034. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  1035. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  1036. package/validators/patternPlugins/upperCase.d.ts +0 -2
  1037. package/validators/patternPlugins/upperCase.js +0 -13
  1038. package/validators/patternPlugins/upperCase.js.map +0 -1
  1039. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  1040. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  1041. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  1042. package/validators/patternPlugins/url.d.ts +0 -2
  1043. package/validators/patternPlugins/url.js +0 -13
  1044. package/validators/patternPlugins/url.js.map +0 -1
  1045. package/validators/required.d.ts +0 -2
  1046. package/validators/required.js +0 -17
  1047. package/validators/required.js.map +0 -1
  1048. package/validators/timeGte.d.ts +0 -2
  1049. package/validators/timeGte.js +0 -20
  1050. package/validators/timeGte.js.map +0 -1
  1051. package/validators/timeLte.d.ts +0 -2
  1052. package/validators/timeLte.js +0 -20
  1053. package/validators/timeLte.js.map +0 -1
  1054. package/validators/unique.d.ts +0 -6
  1055. package/validators/unique.js +0 -57
  1056. package/validators/unique.js.map +0 -1
@@ -0,0 +1,220 @@
1
+ import type { CmsModelField, CmsModelFieldPredefinedValues, CmsModelFieldValidation } from "../../../types/index.js";
2
+ import { BaseFieldBuilder, type DataFieldBuildResult } from "./BaseFieldBuilder.js";
3
+ export interface FieldBuilderConfig extends Omit<CmsModelField, "id" | "fieldId" | "storageId" | "type"> {
4
+ _storageId?: string;
5
+ _fieldId?: string;
6
+ description?: string | null;
7
+ note?: string | null;
8
+ }
9
+ /**
10
+ * Augmentable renderer registry. Each entry maps a renderer name to its applicable field type(s) and settings.
11
+ */
12
+ export interface IFieldRendererRegistry {
13
+ switch: {
14
+ fieldType: "boolean";
15
+ settings: undefined;
16
+ };
17
+ checkboxes: {
18
+ fieldType: "text" | "number";
19
+ settings: undefined;
20
+ };
21
+ dateTimeInput: {
22
+ fieldType: "datetime";
23
+ settings: undefined;
24
+ };
25
+ dateTimeInputs: {
26
+ fieldType: "datetime";
27
+ settings?: {
28
+ multiValue?: {
29
+ addValueButtonLabel?: string;
30
+ };
31
+ };
32
+ };
33
+ dynamicZone: {
34
+ fieldType: "dynamicZone";
35
+ settings?: {
36
+ open?: boolean;
37
+ };
38
+ };
39
+ hidden: {
40
+ fieldType: string;
41
+ settings: undefined;
42
+ };
43
+ lexicalEditor: {
44
+ fieldType: "rich-text";
45
+ settings: undefined;
46
+ };
47
+ lexicalEditors: {
48
+ fieldType: "rich-text";
49
+ settings?: {
50
+ multiValue?: {
51
+ addValueButtonLabel?: string;
52
+ };
53
+ };
54
+ };
55
+ textarea: {
56
+ fieldType: "long-text";
57
+ settings: undefined;
58
+ };
59
+ textareas: {
60
+ fieldType: "long-text";
61
+ settings: {
62
+ multiValue?: {
63
+ addValueButtonLabel?: string;
64
+ };
65
+ };
66
+ };
67
+ numberInput: {
68
+ fieldType: "number";
69
+ settings: undefined;
70
+ };
71
+ numberInputs: {
72
+ fieldType: "number";
73
+ settings?: {
74
+ multiValue?: {
75
+ addValueButtonLabel?: string;
76
+ };
77
+ };
78
+ };
79
+ objectAccordionSingle: {
80
+ fieldType: "object";
81
+ settings?: {
82
+ open?: boolean;
83
+ };
84
+ };
85
+ objectAccordionMultiple: {
86
+ fieldType: "object";
87
+ settings?: {
88
+ open?: boolean;
89
+ multiValue?: {
90
+ addValueButtonLabel?: string;
91
+ };
92
+ };
93
+ };
94
+ passthrough: {
95
+ fieldType: string;
96
+ settings: undefined;
97
+ };
98
+ radioButtons: {
99
+ fieldType: "text" | "number";
100
+ settings: undefined;
101
+ };
102
+ refDialogSingle: {
103
+ fieldType: "ref";
104
+ settings: undefined;
105
+ };
106
+ refDialogMultiple: {
107
+ fieldType: "ref";
108
+ settings?: {
109
+ newItemPosition?: "first" | "last";
110
+ };
111
+ };
112
+ refAutocompleteSingle: {
113
+ fieldType: "ref";
114
+ settings: undefined;
115
+ };
116
+ refAutocompleteMultiple: {
117
+ fieldType: "ref";
118
+ settings: undefined;
119
+ };
120
+ refCheckboxes: {
121
+ fieldType: "ref";
122
+ settings: undefined;
123
+ };
124
+ refRadioButtons: {
125
+ fieldType: "ref";
126
+ settings: undefined;
127
+ };
128
+ dropdown: {
129
+ fieldType: "text" | "number";
130
+ settings: undefined;
131
+ };
132
+ tags: {
133
+ fieldType: "text";
134
+ settings: undefined;
135
+ };
136
+ textInput: {
137
+ fieldType: "text";
138
+ settings: undefined;
139
+ };
140
+ textInputs: {
141
+ fieldType: "text";
142
+ settings?: {
143
+ multiValue?: {
144
+ addValueButtonLabel?: string;
145
+ };
146
+ };
147
+ };
148
+ file: {
149
+ fieldType: "file";
150
+ settings?: {
151
+ imagesOnly?: boolean;
152
+ };
153
+ };
154
+ files: {
155
+ fieldType: "file";
156
+ settings?: {
157
+ imagesOnly?: boolean;
158
+ };
159
+ };
160
+ uiSeparator: {
161
+ fieldType: "ui";
162
+ settings: undefined;
163
+ };
164
+ uiAlert: {
165
+ fieldType: "ui";
166
+ settings: {
167
+ type: "info" | "success" | "warning" | "danger";
168
+ };
169
+ };
170
+ uiTabs: {
171
+ fieldType: "ui";
172
+ settings: undefined;
173
+ };
174
+ }
175
+ /**
176
+ * Extracts renderer names valid for the given field type.
177
+ * When TType is a broad `string`, all renderer names are returned.
178
+ */
179
+ export type FieldRendererName<TType extends string = string> = string extends TType ? keyof IFieldRendererRegistry & string : {
180
+ [K in keyof IFieldRendererRegistry]: TType extends IFieldRendererRegistry[K]["fieldType"] ? K : never;
181
+ }[keyof IFieldRendererRegistry] & string;
182
+ export type FieldRendererSettings<TName extends string> = TName extends keyof IFieldRendererRegistry ? IFieldRendererRegistry[TName]["settings"] : Record<string, any> | undefined;
183
+ /**
184
+ * DataFieldBuilder class for data fields that produce CmsModelField instances.
185
+ * Provides storageId, list, validation, renderer, and other data-field methods.
186
+ */
187
+ export declare class DataFieldBuilder<TType extends string = string> extends BaseFieldBuilder<TType> {
188
+ protected config: FieldBuilderConfig;
189
+ constructor(type: TType, label?: string);
190
+ placeholder(text: string): this;
191
+ storageId(id: string): this;
192
+ defaultValue(value: any): this;
193
+ list(): this;
194
+ tags(tags: string[]): this;
195
+ /**
196
+ * List validators - these methods are available after calling list()
197
+ */
198
+ listMinLength(value: number, message?: string): this;
199
+ listMaxLength(value: number, message?: string): this;
200
+ /**
201
+ * Add a validation rule to this field.
202
+ * This method is protected and should only be used by field-specific validator methods.
203
+ * @internal
204
+ */
205
+ protected validation(validation: CmsModelFieldValidation): this;
206
+ /**
207
+ * Add a list validation rule to this field (for list fields).
208
+ * This method is protected and should only be used by field-specific validator methods.
209
+ * @internal
210
+ */
211
+ protected listValidation(validation: CmsModelFieldValidation): this;
212
+ predefinedValues(values: CmsModelFieldPredefinedValues["values"]): this;
213
+ renderer<TName extends FieldRendererName<TType>>(name: TName, ...args: undefined extends FieldRendererSettings<TName> ? [settings?: FieldRendererSettings<TName>] : FieldRendererSettings<TName> extends undefined ? [] : [settings: FieldRendererSettings<TName>]): this;
214
+ settings(settings: Record<string, any>): this;
215
+ /**
216
+ * Build the final CmsModelField
217
+ * @internal
218
+ */
219
+ build(): DataFieldBuildResult;
220
+ }
@@ -0,0 +1,211 @@
1
+ import camelCase from "lodash/camelCase.js";
2
+ import { getBaseFieldType } from "../../../utils/getBaseFieldType.js";
3
+ import { BaseFieldBuilder } from "./BaseFieldBuilder.js";
4
+
5
+ /**
6
+ * Augmentable renderer registry. Each entry maps a renderer name to its applicable field type(s) and settings.
7
+ */
8
+
9
+ /**
10
+ * Maps camelCase renderer names (used in the builder API) to the
11
+ * kebab-case names expected by the frontend renderer registry.
12
+ */
13
+ const rendererNameMap = {
14
+ switch: "boolean-input",
15
+ checkboxes: "checkboxes",
16
+ dateTimeInput: "date-time-input",
17
+ dateTimeInputs: "date-time-inputs",
18
+ dynamicZone: "dynamicZone",
19
+ hidden: "hidden",
20
+ lexicalEditor: "lexical-text-input",
21
+ lexicalEditors: "lexical-text-inputs",
22
+ textarea: "long-text-text-area",
23
+ textareas: "long-text-inputs",
24
+ numberInput: "number-input",
25
+ numberInputs: "number-inputs",
26
+ objectAccordionSingle: "object-accordion",
27
+ objectAccordionMultiple: "objects-accordion",
28
+ passthrough: "passthrough",
29
+ radioButtons: "radio-buttons",
30
+ refDialogSingle: "ref-advanced-single",
31
+ refDialogMultiple: "ref-advanced-multiple",
32
+ refAutocompleteSingle: "ref-input",
33
+ refAutocompleteMultiple: "ref-inputs",
34
+ refCheckboxes: "ref-simple-multiple",
35
+ refRadioButtons: "ref-simple-single",
36
+ dropdown: "select-box",
37
+ tags: "tags",
38
+ textInput: "text-input",
39
+ textInputs: "text-inputs",
40
+ file: "file-input",
41
+ files: "file-inputs",
42
+ uiSeparator: "uiSeparator",
43
+ uiAlert: "uiAlert",
44
+ uiTabs: "uiTabs"
45
+ };
46
+
47
+ /**
48
+ * Resolves a camelCase renderer name to the kebab-case name used by the frontend.
49
+ */
50
+ function resolveRendererName(name) {
51
+ return rendererNameMap[name] ?? name;
52
+ }
53
+
54
+ /**
55
+ * Extracts renderer names valid for the given field type.
56
+ * When TType is a broad `string`, all renderer names are returned.
57
+ */
58
+
59
+ /**
60
+ * DataFieldBuilder class for data fields that produce CmsModelField instances.
61
+ * Provides storageId, list, validation, renderer, and other data-field methods.
62
+ */
63
+ export class DataFieldBuilder extends BaseFieldBuilder {
64
+ constructor(type, label) {
65
+ super(type, label);
66
+ this.config = {
67
+ label: label || "",
68
+ validation: [],
69
+ listValidation: [],
70
+ list: false,
71
+ predefinedValues: {
72
+ enabled: false,
73
+ values: []
74
+ },
75
+ help: null,
76
+ placeholder: null,
77
+ description: null,
78
+ note: null,
79
+ renderer: null,
80
+ settings: {},
81
+ tags: []
82
+ };
83
+ }
84
+ placeholder(text) {
85
+ this.config.placeholder = text;
86
+ return this;
87
+ }
88
+ storageId(id) {
89
+ // We do not allow developers to specify the field type!
90
+ this.config._storageId = id.split("@").pop();
91
+ return this;
92
+ }
93
+ defaultValue(value) {
94
+ this.config.settings = {
95
+ ...this.config.settings,
96
+ defaultValue: value
97
+ };
98
+ return this;
99
+ }
100
+ list() {
101
+ this.config.list = true;
102
+ return this;
103
+ }
104
+ tags(tags) {
105
+ this.config.tags = tags;
106
+ return this;
107
+ }
108
+
109
+ /**
110
+ * List validators - these methods are available after calling list()
111
+ */
112
+ listMinLength(value, message) {
113
+ return this.listValidation({
114
+ name: "minLength",
115
+ message: message || `At least ${value} item(s) required.`,
116
+ settings: {
117
+ value
118
+ }
119
+ });
120
+ }
121
+ listMaxLength(value, message) {
122
+ return this.listValidation({
123
+ name: "maxLength",
124
+ message: message || `At most ${value} item(s) allowed.`,
125
+ settings: {
126
+ value
127
+ }
128
+ });
129
+ }
130
+
131
+ /**
132
+ * Add a validation rule to this field.
133
+ * This method is protected and should only be used by field-specific validator methods.
134
+ * @internal
135
+ */
136
+ validation(validation) {
137
+ this.config.validation = this.config.validation || [];
138
+ this.config.validation.push(validation);
139
+ return this;
140
+ }
141
+
142
+ /**
143
+ * Add a list validation rule to this field (for list fields).
144
+ * This method is protected and should only be used by field-specific validator methods.
145
+ * @internal
146
+ */
147
+ listValidation(validation) {
148
+ this.config.listValidation = this.config.listValidation || [];
149
+ this.config.listValidation.push(validation);
150
+ return this;
151
+ }
152
+ predefinedValues(values) {
153
+ this.config.predefinedValues = {
154
+ enabled: true,
155
+ values
156
+ };
157
+ return this;
158
+ }
159
+ renderer(name, ...args) {
160
+ this.config.renderer = {
161
+ name: resolveRendererName(name),
162
+ settings: args[0] ?? null
163
+ };
164
+ return this;
165
+ }
166
+ settings(settings) {
167
+ this.config.settings = {
168
+ ...this.config.settings,
169
+ ...settings
170
+ };
171
+ return this;
172
+ }
173
+
174
+ /**
175
+ * Build the final CmsModelField
176
+ * @internal
177
+ */
178
+ build() {
179
+ const fieldId = this.config._fieldId || camelCase(this.config.label);
180
+ const baseType = getBaseFieldType({
181
+ type: this.type
182
+ });
183
+ const storageId = `${baseType}@${this.config._storageId ?? fieldId}`;
184
+ return {
185
+ type: "data",
186
+ field: {
187
+ id: fieldId,
188
+ fieldId,
189
+ storageId,
190
+ type: this.type,
191
+ label: this.config.label,
192
+ validation: this.config.validation || [],
193
+ listValidation: this.config.listValidation || [],
194
+ list: this.config.list || false,
195
+ predefinedValues: this.config.predefinedValues || {
196
+ enabled: false,
197
+ values: []
198
+ },
199
+ help: this.config.help || null,
200
+ placeholder: this.config.placeholder || null,
201
+ description: this.config.description || null,
202
+ note: this.config.note || null,
203
+ renderer: this.config.renderer || null,
204
+ settings: this.config.settings || {},
205
+ tags: this.config.tags || []
206
+ }
207
+ };
208
+ }
209
+ }
210
+
211
+ //# sourceMappingURL=DataFieldBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["camelCase","getBaseFieldType","BaseFieldBuilder","rendererNameMap","switch","checkboxes","dateTimeInput","dateTimeInputs","dynamicZone","hidden","lexicalEditor","lexicalEditors","textarea","textareas","numberInput","numberInputs","objectAccordionSingle","objectAccordionMultiple","passthrough","radioButtons","refDialogSingle","refDialogMultiple","refAutocompleteSingle","refAutocompleteMultiple","refCheckboxes","refRadioButtons","dropdown","tags","textInput","textInputs","file","files","uiSeparator","uiAlert","uiTabs","resolveRendererName","name","DataFieldBuilder","constructor","type","label","config","validation","listValidation","list","predefinedValues","enabled","values","help","placeholder","description","note","renderer","settings","text","storageId","id","_storageId","split","pop","defaultValue","value","listMinLength","message","listMaxLength","push","args","build","fieldId","_fieldId","baseType","field"],"sources":["DataFieldBuilder.ts"],"sourcesContent":["import camelCase from \"lodash/camelCase.js\";\nimport type {\n CmsModelField,\n CmsModelFieldPredefinedValues,\n CmsModelFieldValidation\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { BaseFieldBuilder, type DataFieldBuildResult } from \"./BaseFieldBuilder.js\";\n\nexport interface FieldBuilderConfig extends Omit<\n CmsModelField,\n \"id\" | \"fieldId\" | \"storageId\" | \"type\"\n> {\n _storageId?: string;\n _fieldId?: string;\n description?: string | null;\n note?: string | null;\n}\n\n/**\n * Augmentable renderer registry. Each entry maps a renderer name to its applicable field type(s) and settings.\n */\nexport interface IFieldRendererRegistry {\n switch: {\n fieldType: \"boolean\";\n settings: undefined;\n };\n checkboxes: {\n fieldType: \"text\" | \"number\";\n settings: undefined;\n };\n dateTimeInput: {\n fieldType: \"datetime\";\n settings: undefined;\n };\n dateTimeInputs: {\n fieldType: \"datetime\";\n settings?: {\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n dynamicZone: {\n fieldType: \"dynamicZone\";\n settings?: {\n open?: boolean;\n };\n };\n hidden: {\n fieldType: string;\n settings: undefined;\n };\n lexicalEditor: {\n fieldType: \"rich-text\";\n settings: undefined;\n };\n lexicalEditors: {\n fieldType: \"rich-text\";\n settings?: {\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n textarea: {\n fieldType: \"long-text\";\n settings: undefined;\n };\n textareas: {\n fieldType: \"long-text\";\n settings: {\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n numberInput: {\n fieldType: \"number\";\n settings: undefined;\n };\n numberInputs: {\n fieldType: \"number\";\n settings?: {\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n objectAccordionSingle: {\n fieldType: \"object\";\n settings?: {\n open?: boolean;\n };\n };\n objectAccordionMultiple: {\n fieldType: \"object\";\n settings?: {\n open?: boolean;\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n passthrough: {\n fieldType: string;\n settings: undefined;\n };\n radioButtons: {\n fieldType: \"text\" | \"number\";\n settings: undefined;\n };\n refDialogSingle: {\n fieldType: \"ref\";\n settings: undefined;\n };\n refDialogMultiple: {\n fieldType: \"ref\";\n settings?: {\n newItemPosition?: \"first\" | \"last\";\n };\n };\n refAutocompleteSingle: {\n fieldType: \"ref\";\n settings: undefined;\n };\n refAutocompleteMultiple: {\n fieldType: \"ref\";\n settings: undefined;\n };\n refCheckboxes: {\n fieldType: \"ref\";\n settings: undefined;\n };\n refRadioButtons: {\n fieldType: \"ref\";\n settings: undefined;\n };\n dropdown: {\n fieldType: \"text\" | \"number\";\n settings: undefined;\n };\n tags: {\n fieldType: \"text\";\n settings: undefined;\n };\n textInput: {\n fieldType: \"text\";\n settings: undefined;\n };\n textInputs: {\n fieldType: \"text\";\n settings?: {\n multiValue?: {\n addValueButtonLabel?: string;\n };\n };\n };\n file: {\n fieldType: \"file\";\n settings?: {\n imagesOnly?: boolean;\n };\n };\n files: {\n fieldType: \"file\";\n settings?: {\n imagesOnly?: boolean;\n };\n };\n uiSeparator: {\n fieldType: \"ui\";\n settings: undefined;\n };\n uiAlert: {\n fieldType: \"ui\";\n settings: {\n type: \"info\" | \"success\" | \"warning\" | \"danger\";\n };\n };\n uiTabs: {\n fieldType: \"ui\";\n settings: undefined;\n };\n}\n\n/**\n * Maps camelCase renderer names (used in the builder API) to the\n * kebab-case names expected by the frontend renderer registry.\n */\nconst rendererNameMap: Record<keyof IFieldRendererRegistry, string> = {\n switch: \"boolean-input\",\n checkboxes: \"checkboxes\",\n dateTimeInput: \"date-time-input\",\n dateTimeInputs: \"date-time-inputs\",\n dynamicZone: \"dynamicZone\",\n hidden: \"hidden\",\n lexicalEditor: \"lexical-text-input\",\n lexicalEditors: \"lexical-text-inputs\",\n textarea: \"long-text-text-area\",\n textareas: \"long-text-inputs\",\n numberInput: \"number-input\",\n numberInputs: \"number-inputs\",\n objectAccordionSingle: \"object-accordion\",\n objectAccordionMultiple: \"objects-accordion\",\n passthrough: \"passthrough\",\n radioButtons: \"radio-buttons\",\n refDialogSingle: \"ref-advanced-single\",\n refDialogMultiple: \"ref-advanced-multiple\",\n refAutocompleteSingle: \"ref-input\",\n refAutocompleteMultiple: \"ref-inputs\",\n refCheckboxes: \"ref-simple-multiple\",\n refRadioButtons: \"ref-simple-single\",\n dropdown: \"select-box\",\n tags: \"tags\",\n textInput: \"text-input\",\n textInputs: \"text-inputs\",\n file: \"file-input\",\n files: \"file-inputs\",\n uiSeparator: \"uiSeparator\",\n uiAlert: \"uiAlert\",\n uiTabs: \"uiTabs\"\n};\n\n/**\n * Resolves a camelCase renderer name to the kebab-case name used by the frontend.\n */\nfunction resolveRendererName(name: string): string {\n return rendererNameMap[name as keyof IFieldRendererRegistry] ?? name;\n}\n\n/**\n * Extracts renderer names valid for the given field type.\n * When TType is a broad `string`, all renderer names are returned.\n */\nexport type FieldRendererName<TType extends string = string> = string extends TType\n ? keyof IFieldRendererRegistry & string\n : {\n [K in keyof IFieldRendererRegistry]: TType extends IFieldRendererRegistry[K][\"fieldType\"]\n ? K\n : never;\n }[keyof IFieldRendererRegistry] &\n string;\n\nexport type FieldRendererSettings<TName extends string> = TName extends keyof IFieldRendererRegistry\n ? IFieldRendererRegistry[TName][\"settings\"]\n : Record<string, any> | undefined;\n\n/**\n * DataFieldBuilder class for data fields that produce CmsModelField instances.\n * Provides storageId, list, validation, renderer, and other data-field methods.\n */\nexport class DataFieldBuilder<TType extends string = string> extends BaseFieldBuilder<TType> {\n protected override config: FieldBuilderConfig;\n\n public constructor(type: TType, label?: string) {\n super(type, label);\n this.config = {\n label: label || \"\",\n validation: [],\n listValidation: [],\n list: false,\n predefinedValues: {\n enabled: false,\n values: []\n },\n help: null,\n placeholder: null,\n description: null,\n note: null,\n renderer: null,\n settings: {},\n tags: []\n };\n }\n\n placeholder(text: string): this {\n this.config.placeholder = text;\n return this;\n }\n\n storageId(id: string): this {\n // We do not allow developers to specify the field type!\n this.config._storageId = id.split(\"@\").pop();\n return this;\n }\n\n defaultValue(value: any): this {\n this.config.settings = { ...this.config.settings, defaultValue: value };\n return this;\n }\n\n list(): this {\n this.config.list = true;\n return this as this;\n }\n\n tags(tags: string[]): this {\n this.config.tags = tags;\n return this;\n }\n\n /**\n * List validators - these methods are available after calling list()\n */\n listMinLength(value: number, message?: string): this {\n return this.listValidation({\n name: \"minLength\",\n message: message || `At least ${value} item(s) required.`,\n settings: { value }\n });\n }\n\n listMaxLength(value: number, message?: string): this {\n return this.listValidation({\n name: \"maxLength\",\n message: message || `At most ${value} item(s) allowed.`,\n settings: { value }\n });\n }\n\n /**\n * Add a validation rule to this field.\n * This method is protected and should only be used by field-specific validator methods.\n * @internal\n */\n protected validation(validation: CmsModelFieldValidation): this {\n this.config.validation = this.config.validation || [];\n this.config.validation.push(validation);\n return this;\n }\n\n /**\n * Add a list validation rule to this field (for list fields).\n * This method is protected and should only be used by field-specific validator methods.\n * @internal\n */\n protected listValidation(validation: CmsModelFieldValidation): this {\n this.config.listValidation = this.config.listValidation || [];\n this.config.listValidation.push(validation);\n return this;\n }\n\n predefinedValues(values: CmsModelFieldPredefinedValues[\"values\"]): this {\n this.config.predefinedValues = {\n enabled: true,\n values\n };\n return this;\n }\n\n renderer<TName extends FieldRendererName<TType>>(\n name: TName,\n ...args: undefined extends FieldRendererSettings<TName>\n ? [settings?: FieldRendererSettings<TName>]\n : FieldRendererSettings<TName> extends undefined\n ? []\n : [settings: FieldRendererSettings<TName>]\n ): this {\n this.config.renderer = {\n name: resolveRendererName(name),\n settings: args[0] ?? null\n };\n return this;\n }\n\n settings(settings: Record<string, any>): this {\n this.config.settings = { ...this.config.settings, ...settings };\n return this;\n }\n\n /**\n * Build the final CmsModelField\n * @internal\n */\n build(): DataFieldBuildResult {\n const fieldId = this.config._fieldId || camelCase(this.config.label);\n const baseType = getBaseFieldType({\n type: this.type\n });\n const storageId = `${baseType}@${this.config._storageId ?? fieldId}`;\n\n return {\n type: \"data\",\n field: {\n id: fieldId,\n fieldId,\n storageId,\n type: this.type,\n label: this.config.label,\n validation: this.config.validation || [],\n listValidation: this.config.listValidation || [],\n list: this.config.list || false,\n predefinedValues: this.config.predefinedValues || {\n enabled: false,\n values: []\n },\n help: this.config.help || null,\n placeholder: this.config.placeholder || null,\n description: this.config.description || null,\n note: this.config.note || null,\n renderer: this.config.renderer || null,\n settings: this.config.settings || {},\n tags: this.config.tags || []\n }\n };\n }\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,qBAAqB;AAM3C,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;;AAYzB;AACA;AACA;;AAqKA;AACA;AACA;AACA;AACA,MAAMC,eAA6D,GAAG;EAClEC,MAAM,EAAE,eAAe;EACvBC,UAAU,EAAE,YAAY;EACxBC,aAAa,EAAE,iBAAiB;EAChCC,cAAc,EAAE,kBAAkB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,MAAM,EAAE,QAAQ;EAChBC,aAAa,EAAE,oBAAoB;EACnCC,cAAc,EAAE,qBAAqB;EACrCC,QAAQ,EAAE,qBAAqB;EAC/BC,SAAS,EAAE,kBAAkB;EAC7BC,WAAW,EAAE,cAAc;EAC3BC,YAAY,EAAE,eAAe;EAC7BC,qBAAqB,EAAE,kBAAkB;EACzCC,uBAAuB,EAAE,mBAAmB;EAC5CC,WAAW,EAAE,aAAa;EAC1BC,YAAY,EAAE,eAAe;EAC7BC,eAAe,EAAE,qBAAqB;EACtCC,iBAAiB,EAAE,uBAAuB;EAC1CC,qBAAqB,EAAE,WAAW;EAClCC,uBAAuB,EAAE,YAAY;EACrCC,aAAa,EAAE,qBAAqB;EACpCC,eAAe,EAAE,mBAAmB;EACpCC,QAAQ,EAAE,YAAY;EACtBC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,YAAY;EACvBC,UAAU,EAAE,aAAa;EACzBC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,aAAa;EACpBC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE;AACZ,CAAC;;AAED;AACA;AACA;AACA,SAASC,mBAAmBA,CAACC,IAAY,EAAU;EAC/C,OAAOjC,eAAe,CAACiC,IAAI,CAAiC,IAAIA,IAAI;AACxE;;AAEA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,SAAwCnC,gBAAgB,CAAQ;EAGlFoC,WAAWA,CAACC,IAAW,EAAEC,KAAc,EAAE;IAC5C,KAAK,CAACD,IAAI,EAAEC,KAAK,CAAC;IAClB,IAAI,CAACC,MAAM,GAAG;MACVD,KAAK,EAAEA,KAAK,IAAI,EAAE;MAClBE,UAAU,EAAE,EAAE;MACdC,cAAc,EAAE,EAAE;MAClBC,IAAI,EAAE,KAAK;MACXC,gBAAgB,EAAE;QACdC,OAAO,EAAE,KAAK;QACdC,MAAM,EAAE;MACZ,CAAC;MACDC,IAAI,EAAE,IAAI;MACVC,WAAW,EAAE,IAAI;MACjBC,WAAW,EAAE,IAAI;MACjBC,IAAI,EAAE,IAAI;MACVC,QAAQ,EAAE,IAAI;MACdC,QAAQ,EAAE,CAAC,CAAC;MACZ1B,IAAI,EAAE;IACV,CAAC;EACL;EAEAsB,WAAWA,CAACK,IAAY,EAAQ;IAC5B,IAAI,CAACb,MAAM,CAACQ,WAAW,GAAGK,IAAI;IAC9B,OAAO,IAAI;EACf;EAEAC,SAASA,CAACC,EAAU,EAAQ;IACxB;IACA,IAAI,CAACf,MAAM,CAACgB,UAAU,GAAGD,EAAE,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI;EACf;EAEAC,YAAYA,CAACC,KAAU,EAAQ;IAC3B,IAAI,CAACpB,MAAM,CAACY,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACZ,MAAM,CAACY,QAAQ;MAAEO,YAAY,EAAEC;IAAM,CAAC;IACvE,OAAO,IAAI;EACf;EAEAjB,IAAIA,CAAA,EAAS;IACT,IAAI,CAACH,MAAM,CAACG,IAAI,GAAG,IAAI;IACvB,OAAO,IAAI;EACf;EAEAjB,IAAIA,CAACA,IAAc,EAAQ;IACvB,IAAI,CAACc,MAAM,CAACd,IAAI,GAAGA,IAAI;IACvB,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;EACImC,aAAaA,CAACD,KAAa,EAAEE,OAAgB,EAAQ;IACjD,OAAO,IAAI,CAACpB,cAAc,CAAC;MACvBP,IAAI,EAAE,WAAW;MACjB2B,OAAO,EAAEA,OAAO,IAAI,YAAYF,KAAK,oBAAoB;MACzDR,QAAQ,EAAE;QAAEQ;MAAM;IACtB,CAAC,CAAC;EACN;EAEAG,aAAaA,CAACH,KAAa,EAAEE,OAAgB,EAAQ;IACjD,OAAO,IAAI,CAACpB,cAAc,CAAC;MACvBP,IAAI,EAAE,WAAW;MACjB2B,OAAO,EAAEA,OAAO,IAAI,WAAWF,KAAK,mBAAmB;MACvDR,QAAQ,EAAE;QAAEQ;MAAM;IACtB,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;AACA;EACcnB,UAAUA,CAACA,UAAmC,EAAQ;IAC5D,IAAI,CAACD,MAAM,CAACC,UAAU,GAAG,IAAI,CAACD,MAAM,CAACC,UAAU,IAAI,EAAE;IACrD,IAAI,CAACD,MAAM,CAACC,UAAU,CAACuB,IAAI,CAACvB,UAAU,CAAC;IACvC,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;AACA;AACA;EACcC,cAAcA,CAACD,UAAmC,EAAQ;IAChE,IAAI,CAACD,MAAM,CAACE,cAAc,GAAG,IAAI,CAACF,MAAM,CAACE,cAAc,IAAI,EAAE;IAC7D,IAAI,CAACF,MAAM,CAACE,cAAc,CAACsB,IAAI,CAACvB,UAAU,CAAC;IAC3C,OAAO,IAAI;EACf;EAEAG,gBAAgBA,CAACE,MAA+C,EAAQ;IACpE,IAAI,CAACN,MAAM,CAACI,gBAAgB,GAAG;MAC3BC,OAAO,EAAE,IAAI;MACbC;IACJ,CAAC;IACD,OAAO,IAAI;EACf;EAEAK,QAAQA,CACJhB,IAAW,EACX,GAAG8B,IAI6C,EAC5C;IACJ,IAAI,CAACzB,MAAM,CAACW,QAAQ,GAAG;MACnBhB,IAAI,EAAED,mBAAmB,CAACC,IAAI,CAAC;MAC/BiB,QAAQ,EAAEa,IAAI,CAAC,CAAC,CAAC,IAAI;IACzB,CAAC;IACD,OAAO,IAAI;EACf;EAEAb,QAAQA,CAACA,QAA6B,EAAQ;IAC1C,IAAI,CAACZ,MAAM,CAACY,QAAQ,GAAG;MAAE,GAAG,IAAI,CAACZ,MAAM,CAACY,QAAQ;MAAE,GAAGA;IAAS,CAAC;IAC/D,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;AACA;EACIc,KAAKA,CAAA,EAAyB;IAC1B,MAAMC,OAAO,GAAG,IAAI,CAAC3B,MAAM,CAAC4B,QAAQ,IAAIrE,SAAS,CAAC,IAAI,CAACyC,MAAM,CAACD,KAAK,CAAC;IACpE,MAAM8B,QAAQ,GAAGrE,gBAAgB,CAAC;MAC9BsC,IAAI,EAAE,IAAI,CAACA;IACf,CAAC,CAAC;IACF,MAAMgB,SAAS,GAAG,GAAGe,QAAQ,IAAI,IAAI,CAAC7B,MAAM,CAACgB,UAAU,IAAIW,OAAO,EAAE;IAEpE,OAAO;MACH7B,IAAI,EAAE,MAAM;MACZgC,KAAK,EAAE;QACHf,EAAE,EAAEY,OAAO;QACXA,OAAO;QACPb,SAAS;QACThB,IAAI,EAAE,IAAI,CAACA,IAAI;QACfC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACD,KAAK;QACxBE,UAAU,EAAE,IAAI,CAACD,MAAM,CAACC,UAAU,IAAI,EAAE;QACxCC,cAAc,EAAE,IAAI,CAACF,MAAM,CAACE,cAAc,IAAI,EAAE;QAChDC,IAAI,EAAE,IAAI,CAACH,MAAM,CAACG,IAAI,IAAI,KAAK;QAC/BC,gBAAgB,EAAE,IAAI,CAACJ,MAAM,CAACI,gBAAgB,IAAI;UAC9CC,OAAO,EAAE,KAAK;UACdC,MAAM,EAAE;QACZ,CAAC;QACDC,IAAI,EAAE,IAAI,CAACP,MAAM,CAACO,IAAI,IAAI,IAAI;QAC9BC,WAAW,EAAE,IAAI,CAACR,MAAM,CAACQ,WAAW,IAAI,IAAI;QAC5CC,WAAW,EAAE,IAAI,CAACT,MAAM,CAACS,WAAW,IAAI,IAAI;QAC5CC,IAAI,EAAE,IAAI,CAACV,MAAM,CAACU,IAAI,IAAI,IAAI;QAC9BC,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACW,QAAQ,IAAI,IAAI;QACtCC,QAAQ,EAAE,IAAI,CAACZ,MAAM,CAACY,QAAQ,IAAI,CAAC,CAAC;QACpC1B,IAAI,EAAE,IAAI,CAACc,MAAM,CAACd,IAAI,IAAI;MAC9B;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- import { RequiredValidator, DateGteValidator, DateLteValidator } from "./validators.js";
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ import { RequiredValidator, DateGteValidator, DateLteValidator } from "./fieldTypeValidator.js";
4
4
  export type DateTimeType = "date" | "time" | "dateTimeWithTimezone" | "dateTimeWithoutTimezone";
5
- export interface IDateTimeFieldBuilder extends FieldBuilder<"datetime">, RequiredValidator, DateGteValidator, DateLteValidator {
5
+ export interface IDateTimeFieldBuilder extends DataFieldBuilder<"datetime">, RequiredValidator, DateGteValidator, DateLteValidator {
6
6
  dateTimeType(type: DateTimeType): this;
7
7
  dateOnly(): this;
8
8
  timeOnly(): this;
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class DateTimeFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class DateTimeFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("datetime");
6
6
  }
@@ -16,15 +16,35 @@ class DateTimeFieldBuilder extends FieldBuilder {
16
16
  this.config.settings.type = type;
17
17
  return this;
18
18
  }
19
+
20
+ /**
21
+ * Just a calendar date, no time, no timezone. Useful for things like birthdays, holidays, or due dates where the time of day doesn't matter.
22
+ * Example: 2026-04-30
23
+ */
19
24
  dateOnly() {
20
25
  return this.dateTimeType("date");
21
26
  }
27
+
28
+ /**
29
+ * Time in 24-hours format.
30
+ * Example: 19:35
31
+ */
22
32
  timeOnly() {
23
33
  return this.dateTimeType("time");
24
34
  }
35
+
36
+ /**
37
+ * This is an ISO 8601 datetime with an explicit timezone offset.
38
+ * Example: 2026-04-29T13:25:00+02:00
39
+ */
25
40
  withTimezone() {
26
41
  return this.dateTimeType("dateTimeWithTimezone");
27
42
  }
43
+
44
+ /**
45
+ * This is an ISO 8601 datetime in UTC (Zulu time). "Z" means "this is UTC, no offset."
46
+ * Example: 2026-04-30T13:25:00.000Z
47
+ */
28
48
  withoutTimezone() {
29
49
  return this.dateTimeType("dateTimeWithoutTimezone");
30
50
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","DateTimeFieldBuilder","constructor","required","message","validation","name","settings","dateTimeType","type","config","dateOnly","timeOnly","withTimezone","withoutTimezone","dateGte","value","dateLte","DateTimeFieldTypeFactory","create","DateTimeFieldType","createImplementation","implementation","dependencies"],"sources":["DateTimeFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, DateGteValidator, DateLteValidator } from \"./validators.js\";\n\nexport type DateTimeType = \"date\" | \"time\" | \"dateTimeWithTimezone\" | \"dateTimeWithoutTimezone\";\n\nexport interface IDateTimeFieldBuilder\n extends FieldBuilder<\"datetime\">,\n RequiredValidator,\n DateGteValidator,\n DateLteValidator {\n dateTimeType(type: DateTimeType): this;\n dateOnly(): this;\n timeOnly(): this;\n withTimezone(): this;\n withoutTimezone(): this;\n}\n\nclass DateTimeFieldBuilder extends FieldBuilder<\"datetime\"> implements IDateTimeFieldBuilder {\n public constructor() {\n super(\"datetime\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n dateTimeType(type: DateTimeType): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.type = type;\n return this;\n }\n\n dateOnly(): this {\n return this.dateTimeType(\"date\");\n }\n\n timeOnly(): this {\n return this.dateTimeType(\"time\");\n }\n\n withTimezone(): this {\n return this.dateTimeType(\"dateTimeWithTimezone\");\n }\n\n withoutTimezone(): this {\n return this.dateTimeType(\"dateTimeWithoutTimezone\");\n }\n\n dateGte(value: string, message?: string): this {\n const type = this.config.settings?.type || \"date\";\n return this.validation({\n name: \"dateGte\",\n message: message || \"Date/time is earlier than the provided one.\",\n settings: { value, type }\n });\n }\n\n dateLte(value: string, message?: string): this {\n const type = this.config.settings?.type || \"date\";\n return this.validation({\n name: \"dateLte\",\n message: message || \"Date/time is later than the provided one.\",\n settings: { value, type }\n });\n }\n}\n\nclass DateTimeFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"datetime\";\n\n create(): IDateTimeFieldBuilder {\n return new DateTimeFieldBuilder();\n }\n}\n\nexport const DateTimeFieldType = FieldType.createImplementation({\n implementation: DateTimeFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n datetime(): IDateTimeFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAiBrB,MAAMC,oBAAoB,SAASD,YAAY,CAA8C;EAClFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,UAAU,CAAC;EACrB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,YAAYA,CAACC,IAAkB,EAAQ;IACnC,IAAI,CAACC,MAAM,CAACH,QAAQ,GAAG,IAAI,CAACG,MAAM,CAACH,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACG,MAAM,CAACH,QAAQ,CAACE,IAAI,GAAGA,IAAI;IAChC,OAAO,IAAI;EACf;EAEAE,QAAQA,CAAA,EAAS;IACb,OAAO,IAAI,CAACH,YAAY,CAAC,MAAM,CAAC;EACpC;EAEAI,QAAQA,CAAA,EAAS;IACb,OAAO,IAAI,CAACJ,YAAY,CAAC,MAAM,CAAC;EACpC;EAEAK,YAAYA,CAAA,EAAS;IACjB,OAAO,IAAI,CAACL,YAAY,CAAC,sBAAsB,CAAC;EACpD;EAEAM,eAAeA,CAAA,EAAS;IACpB,OAAO,IAAI,CAACN,YAAY,CAAC,yBAAyB,CAAC;EACvD;EAEAO,OAAOA,CAACC,KAAa,EAAEZ,OAAgB,EAAQ;IAC3C,MAAMK,IAAI,GAAG,IAAI,CAACC,MAAM,CAACH,QAAQ,EAAEE,IAAI,IAAI,MAAM;IACjD,OAAO,IAAI,CAACJ,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,6CAA6C;MACjEG,QAAQ,EAAE;QAAES,KAAK;QAAEP;MAAK;IAC5B,CAAC,CAAC;EACN;EAEAQ,OAAOA,CAACD,KAAa,EAAEZ,OAAgB,EAAQ;IAC3C,MAAMK,IAAI,GAAG,IAAI,CAACC,MAAM,CAACH,QAAQ,EAAEE,IAAI,IAAI,MAAM;IACjD,OAAO,IAAI,CAACJ,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,2CAA2C;MAC/DG,QAAQ,EAAE;QAAES,KAAK;QAAEP;MAAK;IAC5B,CAAC,CAAC;EACN;AACJ;AAEA,MAAMS,wBAAwB,CAA8B;EAC/CT,IAAI,GAAG,UAAU;EAE1BU,MAAMA,CAAA,EAA0B;IAC5B,OAAO,IAAIlB,oBAAoB,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMmB,iBAAiB,GAAGrB,SAAS,CAACsB,oBAAoB,CAAC;EAC5DC,cAAc,EAAEJ,wBAAwB;EACxCK,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","DateTimeFieldBuilder","constructor","required","message","validation","name","settings","dateTimeType","type","config","dateOnly","timeOnly","withTimezone","withoutTimezone","dateGte","value","dateLte","DateTimeFieldTypeFactory","create","DateTimeFieldType","createImplementation","implementation","dependencies"],"sources":["DateTimeFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, DateGteValidator, DateLteValidator } from \"./fieldTypeValidator.js\";\n\nexport type DateTimeType = \"date\" | \"time\" | \"dateTimeWithTimezone\" | \"dateTimeWithoutTimezone\";\n\nexport interface IDateTimeFieldBuilder\n extends DataFieldBuilder<\"datetime\">, RequiredValidator, DateGteValidator, DateLteValidator {\n dateTimeType(type: DateTimeType): this;\n dateOnly(): this;\n timeOnly(): this;\n withTimezone(): this;\n withoutTimezone(): this;\n}\n\nclass DateTimeFieldBuilder extends DataFieldBuilder<\"datetime\"> implements IDateTimeFieldBuilder {\n public constructor() {\n super(\"datetime\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n dateTimeType(type: DateTimeType): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.type = type;\n return this;\n }\n\n /**\n * Just a calendar date, no time, no timezone. Useful for things like birthdays, holidays, or due dates where the time of day doesn't matter.\n * Example: 2026-04-30\n */\n dateOnly(): this {\n return this.dateTimeType(\"date\");\n }\n\n /**\n * Time in 24-hours format.\n * Example: 19:35\n */\n timeOnly(): this {\n return this.dateTimeType(\"time\");\n }\n\n /**\n * This is an ISO 8601 datetime with an explicit timezone offset.\n * Example: 2026-04-29T13:25:00+02:00\n */\n withTimezone(): this {\n return this.dateTimeType(\"dateTimeWithTimezone\");\n }\n\n /**\n * This is an ISO 8601 datetime in UTC (Zulu time). \"Z\" means \"this is UTC, no offset.\"\n * Example: 2026-04-30T13:25:00.000Z\n */\n withoutTimezone(): this {\n return this.dateTimeType(\"dateTimeWithoutTimezone\");\n }\n\n dateGte(value: string, message?: string): this {\n const type = this.config.settings?.type || \"date\";\n return this.validation({\n name: \"dateGte\",\n message: message || \"Date/time is earlier than the provided one.\",\n settings: { value, type }\n });\n }\n\n dateLte(value: string, message?: string): this {\n const type = this.config.settings?.type || \"date\";\n return this.validation({\n name: \"dateLte\",\n message: message || \"Date/time is later than the provided one.\",\n settings: { value, type }\n });\n }\n}\n\nclass DateTimeFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"datetime\";\n\n create(): IDateTimeFieldBuilder {\n return new DateTimeFieldBuilder();\n }\n}\n\nexport const DateTimeFieldType = FieldType.createImplementation({\n implementation: DateTimeFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n datetime(): IDateTimeFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAczB,MAAMC,oBAAoB,SAASD,gBAAgB,CAA8C;EACtFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,UAAU,CAAC;EACrB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,YAAYA,CAACC,IAAkB,EAAQ;IACnC,IAAI,CAACC,MAAM,CAACH,QAAQ,GAAG,IAAI,CAACG,MAAM,CAACH,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACG,MAAM,CAACH,QAAQ,CAACE,IAAI,GAAGA,IAAI;IAChC,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;AACA;EACIE,QAAQA,CAAA,EAAS;IACb,OAAO,IAAI,CAACH,YAAY,CAAC,MAAM,CAAC;EACpC;;EAEA;AACJ;AACA;AACA;EACII,QAAQA,CAAA,EAAS;IACb,OAAO,IAAI,CAACJ,YAAY,CAAC,MAAM,CAAC;EACpC;;EAEA;AACJ;AACA;AACA;EACIK,YAAYA,CAAA,EAAS;IACjB,OAAO,IAAI,CAACL,YAAY,CAAC,sBAAsB,CAAC;EACpD;;EAEA;AACJ;AACA;AACA;EACIM,eAAeA,CAAA,EAAS;IACpB,OAAO,IAAI,CAACN,YAAY,CAAC,yBAAyB,CAAC;EACvD;EAEAO,OAAOA,CAACC,KAAa,EAAEZ,OAAgB,EAAQ;IAC3C,MAAMK,IAAI,GAAG,IAAI,CAACC,MAAM,CAACH,QAAQ,EAAEE,IAAI,IAAI,MAAM;IACjD,OAAO,IAAI,CAACJ,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,6CAA6C;MACjEG,QAAQ,EAAE;QAAES,KAAK;QAAEP;MAAK;IAC5B,CAAC,CAAC;EACN;EAEAQ,OAAOA,CAACD,KAAa,EAAEZ,OAAgB,EAAQ;IAC3C,MAAMK,IAAI,GAAG,IAAI,CAACC,MAAM,CAACH,QAAQ,EAAEE,IAAI,IAAI,MAAM;IACjD,OAAO,IAAI,CAACJ,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,2CAA2C;MAC/DG,QAAQ,EAAE;QAAES,KAAK;QAAEP;MAAK;IAC5B,CAAC,CAAC;EACN;AACJ;AAEA,MAAMS,wBAAwB,CAA8B;EAC/CT,IAAI,GAAG,UAAU;EAE1BU,MAAMA,CAAA,EAA0B;IAC5B,OAAO,IAAIlB,oBAAoB,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMmB,iBAAiB,GAAGrB,SAAS,CAACsB,oBAAoB,CAAC;EAC5DC,cAAc,EAAEJ,wBAAwB;EACxCK,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
2
+ import { DataFieldBuilder, type BaseFieldBuilder } from "./FieldBuilder.js";
3
3
  import { type IFieldBuilderRegistry } from "../abstractions.js";
4
4
  import type { CmsIcon } from "../../../types/index.js";
5
- export interface IDynamicZoneFieldBuilder extends FieldBuilder<"dynamicZone"> {
5
+ export interface IDynamicZoneFieldBuilder extends DataFieldBuilder<"dynamicZone"> {
6
6
  required(message?: string): this;
7
7
  template(id: string, config: {
8
8
  name: string;
9
9
  gqlTypeName: string;
10
10
  icon?: CmsIcon;
11
11
  description?: string;
12
- fields: (registry: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>;
12
+ fields: (registry: IFieldBuilderRegistry) => Record<string, BaseFieldBuilder<any>>;
13
13
  layout?: string[][];
14
14
  }): this;
15
15
  }
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class DynamicZoneFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class DynamicZoneFieldBuilder extends DataFieldBuilder {
4
4
  templates = [];
5
5
  constructor(registry) {
6
6
  super("dynamicZone");
@@ -17,10 +17,13 @@ class DynamicZoneFieldBuilder extends FieldBuilder {
17
17
  const fieldBuilders = config.fields(this.registry);
18
18
  const fields = [];
19
19
  for (const [key, fieldBuilder] of Object.entries(fieldBuilders)) {
20
- // Automatically set the fieldId from the object key
21
- // This ensures the key and fieldId are always in sync
22
20
  fieldBuilder.fieldId(key);
23
- fields.push(fieldBuilder.build());
21
+ const result = fieldBuilder.build();
22
+ if (result.type === "data") {
23
+ fields.push(result.field);
24
+ } else if (result.fields) {
25
+ fields.push(...result.fields);
26
+ }
24
27
  }
25
28
  this.templates.push({
26
29
  id,
@@ -38,6 +41,10 @@ class DynamicZoneFieldBuilder extends FieldBuilder {
38
41
  // Set templates in settings before building
39
42
  this.config.settings = this.config.settings || {};
40
43
  this.config.settings.templates = this.templates;
44
+ this.config.listValidation = [{
45
+ name: "dynamicZone",
46
+ message: ""
47
+ }];
41
48
  return super.build();
42
49
  }
43
50
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","DynamicZoneFieldBuilder","templates","constructor","registry","required","message","validation","name","settings","template","id","config","fieldBuilders","fields","key","fieldBuilder","Object","entries","fieldId","push","build","gqlTypeName","icon","description","layout","DynamicZoneFieldTypeFactory","type","create","DynamicZoneFieldType","createImplementation","implementation","dependencies"],"sources":["DynamicZoneFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { type IFieldBuilderRegistry } from \"../abstractions.js\";\nimport type { CmsIcon, CmsModelFieldValidation } from \"~/types/index.js\";\n\ninterface IDynamicZoneTemplate {\n id: string;\n name: string;\n gqlTypeName: string;\n icon: CmsIcon | undefined;\n description: string;\n fields: any[];\n layout: string[][];\n validation: CmsModelFieldValidation[];\n}\n\nexport interface IDynamicZoneFieldBuilder extends FieldBuilder<\"dynamicZone\"> {\n required(message?: string): this;\n template(\n id: string,\n config: {\n name: string;\n gqlTypeName: string;\n icon?: CmsIcon;\n description?: string;\n fields: (registry: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>;\n layout?: string[][];\n }\n ): this;\n}\n\ninterface IDynamicZoneFieldBuilderTemplateConfig {\n name: string;\n gqlTypeName: string;\n icon?: CmsIcon;\n description?: string;\n fields: (registry: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>;\n layout?: string[][];\n}\n\nclass DynamicZoneFieldBuilder\n extends FieldBuilder<\"dynamicZone\">\n implements IDynamicZoneFieldBuilder\n{\n private readonly templates: IDynamicZoneTemplate[] = [];\n\n public constructor(private registry: IFieldBuilderRegistry) {\n super(\"dynamicZone\");\n }\n\n public required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Field is required\",\n settings: {}\n });\n }\n\n public template(id: string, config: IDynamicZoneFieldBuilderTemplateConfig): this {\n const fieldBuilders = config.fields(this.registry);\n const fields: any[] = [];\n\n for (const [key, fieldBuilder] of Object.entries(fieldBuilders)) {\n // Automatically set the fieldId from the object key\n // This ensures the key and fieldId are always in sync\n fieldBuilder.fieldId(key);\n fields.push((fieldBuilder as any).build());\n }\n\n this.templates.push({\n id,\n name: config.name,\n gqlTypeName: config.gqlTypeName,\n icon: config.icon,\n description: config.description || \"\",\n fields,\n layout: config.layout || [],\n validation: []\n });\n\n return this;\n }\n\n public override build() {\n // Set templates in settings before building\n this.config.settings = this.config.settings || {};\n this.config.settings.templates = this.templates;\n return super.build();\n }\n}\n\nclass DynamicZoneFieldTypeFactory implements IFieldTypeFactory {\n public readonly type = \"dynamicZone\";\n\n public create(registry: IFieldBuilderRegistry): IDynamicZoneFieldBuilder {\n return new DynamicZoneFieldBuilder(registry);\n }\n}\n\nexport const DynamicZoneFieldType = FieldType.createImplementation({\n implementation: DynamicZoneFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n dynamicZone(): IDynamicZoneFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAuCrB,MAAMC,uBAAuB,SACjBD,YAAY,CAExB;EACqBE,SAAS,GAA2B,EAAE;EAEhDC,WAAWA,CAASC,QAA+B,EAAE;IACxD,KAAK,CAAC,aAAa,CAAC;IAAC,KADEA,QAA+B,GAA/BA,QAA+B;EAE1D;EAEOC,QAAQA,CAACC,OAAgB,EAAQ;IACpC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,mBAAmB;MACvCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEOC,QAAQA,CAACC,EAAU,EAAEC,MAA8C,EAAQ;IAC9E,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAAM,CAAC,IAAI,CAACV,QAAQ,CAAC;IAClD,MAAMU,MAAa,GAAG,EAAE;IAExB,KAAK,MAAM,CAACC,GAAG,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,aAAa,CAAC,EAAE;MAC7D;MACA;MACAG,YAAY,CAACG,OAAO,CAACJ,GAAG,CAAC;MACzBD,MAAM,CAACM,IAAI,CAAEJ,YAAY,CAASK,KAAK,CAAC,CAAC,CAAC;IAC9C;IAEA,IAAI,CAACnB,SAAS,CAACkB,IAAI,CAAC;MAChBT,EAAE;MACFH,IAAI,EAAEI,MAAM,CAACJ,IAAI;MACjBc,WAAW,EAAEV,MAAM,CAACU,WAAW;MAC/BC,IAAI,EAAEX,MAAM,CAACW,IAAI;MACjBC,WAAW,EAAEZ,MAAM,CAACY,WAAW,IAAI,EAAE;MACrCV,MAAM;MACNW,MAAM,EAAEb,MAAM,CAACa,MAAM,IAAI,EAAE;MAC3BlB,UAAU,EAAE;IAChB,CAAC,CAAC;IAEF,OAAO,IAAI;EACf;EAEgBc,KAAKA,CAAA,EAAG;IACpB;IACA,IAAI,CAACT,MAAM,CAACH,QAAQ,GAAG,IAAI,CAACG,MAAM,CAACH,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACG,MAAM,CAACH,QAAQ,CAACP,SAAS,GAAG,IAAI,CAACA,SAAS;IAC/C,OAAO,KAAK,CAACmB,KAAK,CAAC,CAAC;EACxB;AACJ;AAEA,MAAMK,2BAA2B,CAA8B;EAC3CC,IAAI,GAAG,aAAa;EAE7BC,MAAMA,CAACxB,QAA+B,EAA4B;IACrE,OAAO,IAAIH,uBAAuB,CAACG,QAAQ,CAAC;EAChD;AACJ;AAEA,OAAO,MAAMyB,oBAAoB,GAAG9B,SAAS,CAAC+B,oBAAoB,CAAC;EAC/DC,cAAc,EAAEL,2BAA2B;EAC3CM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","DynamicZoneFieldBuilder","templates","constructor","registry","required","message","validation","name","settings","template","id","config","fieldBuilders","fields","key","fieldBuilder","Object","entries","fieldId","result","build","type","push","field","gqlTypeName","icon","description","layout","listValidation","DynamicZoneFieldTypeFactory","create","DynamicZoneFieldType","createImplementation","implementation","dependencies"],"sources":["DynamicZoneFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { type FieldBuildResult } from \"./BaseFieldBuilder.js\";\nimport { DataFieldBuilder, type BaseFieldBuilder } from \"./FieldBuilder.js\";\nimport { type IFieldBuilderRegistry } from \"../abstractions.js\";\nimport type { CmsIcon, CmsModelField, CmsModelFieldValidation } from \"~/types/index.js\";\n\ninterface IDynamicZoneTemplate {\n id: string;\n name: string;\n gqlTypeName: string;\n icon: CmsIcon | undefined;\n description: string;\n fields: any[];\n layout: string[][];\n validation: CmsModelFieldValidation[];\n}\n\nexport interface IDynamicZoneFieldBuilder extends DataFieldBuilder<\"dynamicZone\"> {\n required(message?: string): this;\n template(\n id: string,\n config: {\n name: string;\n gqlTypeName: string;\n icon?: CmsIcon;\n description?: string;\n fields: (registry: IFieldBuilderRegistry) => Record<string, BaseFieldBuilder<any>>;\n layout?: string[][];\n }\n ): this;\n}\n\ninterface IDynamicZoneFieldBuilderTemplateConfig {\n name: string;\n gqlTypeName: string;\n icon?: CmsIcon;\n description?: string;\n fields: (registry: IFieldBuilderRegistry) => Record<string, BaseFieldBuilder<any>>;\n layout?: string[][];\n}\n\nclass DynamicZoneFieldBuilder\n extends DataFieldBuilder<\"dynamicZone\">\n implements IDynamicZoneFieldBuilder\n{\n private readonly templates: IDynamicZoneTemplate[] = [];\n\n public constructor(private registry: IFieldBuilderRegistry) {\n super(\"dynamicZone\");\n }\n\n public required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Field is required\",\n settings: {}\n });\n }\n\n public template(id: string, config: IDynamicZoneFieldBuilderTemplateConfig): this {\n const fieldBuilders = config.fields(this.registry);\n const fields: CmsModelField[] = [];\n\n for (const [key, fieldBuilder] of Object.entries(fieldBuilders)) {\n fieldBuilder.fieldId(key);\n const result: FieldBuildResult = (fieldBuilder as any).build();\n if (result.type === \"data\") {\n fields.push(result.field);\n } else if (result.fields) {\n fields.push(...result.fields);\n }\n }\n\n this.templates.push({\n id,\n name: config.name,\n gqlTypeName: config.gqlTypeName,\n icon: config.icon,\n description: config.description || \"\",\n fields,\n layout: config.layout || [],\n validation: []\n });\n\n return this;\n }\n\n public override build() {\n // Set templates in settings before building\n this.config.settings = this.config.settings || {};\n this.config.settings.templates = this.templates;\n this.config.listValidation = [{ name: \"dynamicZone\", message: \"\" }];\n return super.build();\n }\n}\n\nclass DynamicZoneFieldTypeFactory implements IFieldTypeFactory {\n public readonly type = \"dynamicZone\";\n\n public create(registry: IFieldBuilderRegistry): IDynamicZoneFieldBuilder {\n return new DynamicZoneFieldBuilder(registry);\n }\n}\n\nexport const DynamicZoneFieldType = FieldType.createImplementation({\n implementation: DynamicZoneFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n dynamicZone(): IDynamicZoneFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAElB,SAASC,gBAAgB;AAuCzB,MAAMC,uBAAuB,SACjBD,gBAAgB,CAE5B;EACqBE,SAAS,GAA2B,EAAE;EAEhDC,WAAWA,CAASC,QAA+B,EAAE;IACxD,KAAK,CAAC,aAAa,CAAC;IAAC,KADEA,QAA+B,GAA/BA,QAA+B;EAE1D;EAEOC,QAAQA,CAACC,OAAgB,EAAQ;IACpC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,mBAAmB;MACvCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEOC,QAAQA,CAACC,EAAU,EAAEC,MAA8C,EAAQ;IAC9E,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAAM,CAAC,IAAI,CAACV,QAAQ,CAAC;IAClD,MAAMU,MAAuB,GAAG,EAAE;IAElC,KAAK,MAAM,CAACC,GAAG,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,aAAa,CAAC,EAAE;MAC7DG,YAAY,CAACG,OAAO,CAACJ,GAAG,CAAC;MACzB,MAAMK,MAAwB,GAAIJ,YAAY,CAASK,KAAK,CAAC,CAAC;MAC9D,IAAID,MAAM,CAACE,IAAI,KAAK,MAAM,EAAE;QACxBR,MAAM,CAACS,IAAI,CAACH,MAAM,CAACI,KAAK,CAAC;MAC7B,CAAC,MAAM,IAAIJ,MAAM,CAACN,MAAM,EAAE;QACtBA,MAAM,CAACS,IAAI,CAAC,GAAGH,MAAM,CAACN,MAAM,CAAC;MACjC;IACJ;IAEA,IAAI,CAACZ,SAAS,CAACqB,IAAI,CAAC;MAChBZ,EAAE;MACFH,IAAI,EAAEI,MAAM,CAACJ,IAAI;MACjBiB,WAAW,EAAEb,MAAM,CAACa,WAAW;MAC/BC,IAAI,EAAEd,MAAM,CAACc,IAAI;MACjBC,WAAW,EAAEf,MAAM,CAACe,WAAW,IAAI,EAAE;MACrCb,MAAM;MACNc,MAAM,EAAEhB,MAAM,CAACgB,MAAM,IAAI,EAAE;MAC3BrB,UAAU,EAAE;IAChB,CAAC,CAAC;IAEF,OAAO,IAAI;EACf;EAEgBc,KAAKA,CAAA,EAAG;IACpB;IACA,IAAI,CAACT,MAAM,CAACH,QAAQ,GAAG,IAAI,CAACG,MAAM,CAACH,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACG,MAAM,CAACH,QAAQ,CAACP,SAAS,GAAG,IAAI,CAACA,SAAS;IAC/C,IAAI,CAACU,MAAM,CAACiB,cAAc,GAAG,CAAC;MAAErB,IAAI,EAAE,aAAa;MAAEF,OAAO,EAAE;IAAG,CAAC,CAAC;IACnE,OAAO,KAAK,CAACe,KAAK,CAAC,CAAC;EACxB;AACJ;AAEA,MAAMS,2BAA2B,CAA8B;EAC3CR,IAAI,GAAG,aAAa;EAE7BS,MAAMA,CAAC3B,QAA+B,EAA4B;IACrE,OAAO,IAAIH,uBAAuB,CAACG,QAAQ,CAAC;EAChD;AACJ;AAEA,OAAO,MAAM4B,oBAAoB,GAAGjC,SAAS,CAACkC,oBAAoB,CAAC;EAC/DC,cAAc,EAAEJ,2BAA2B;EAC3CK,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}