@strapi/content-type-builder 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/dist/admin/components/AttributeIcon.js +1 -0
  2. package/dist/admin/components/AttributeIcon.js.map +1 -1
  3. package/dist/admin/components/AttributeIcon.mjs +1 -0
  4. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  5. package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
  6. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  7. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
  8. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  9. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
  10. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  11. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
  12. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  13. package/dist/admin/components/AttributeRow.js +342 -0
  14. package/dist/admin/components/AttributeRow.js.map +1 -0
  15. package/dist/admin/components/AttributeRow.mjs +339 -0
  16. package/dist/admin/components/AttributeRow.mjs.map +1 -0
  17. package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
  18. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  19. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
  20. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  21. package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
  22. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  23. package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
  24. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  25. package/dist/admin/components/ComponentList.js +12 -26
  26. package/dist/admin/components/ComponentList.js.map +1 -1
  27. package/dist/admin/components/ComponentList.mjs +12 -26
  28. package/dist/admin/components/ComponentList.mjs.map +1 -1
  29. package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
  30. package/dist/admin/components/ComponentRow.js.map +1 -0
  31. package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
  32. package/dist/admin/components/ComponentRow.mjs.map +1 -0
  33. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
  34. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  35. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
  36. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  37. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
  38. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  39. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
  40. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  41. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
  42. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
  43. package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
  44. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
  45. package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
  46. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
  47. package/dist/admin/components/DataManager/reducer.js +546 -0
  48. package/dist/admin/components/DataManager/reducer.js.map +1 -0
  49. package/dist/admin/components/DataManager/reducer.mjs +542 -0
  50. package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
  51. package/dist/admin/components/DataManager/undoRedo.js +102 -0
  52. package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
  53. package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
  54. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
  55. package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
  56. package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
  57. package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
  58. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
  59. package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
  60. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
  61. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
  62. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
  63. package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
  64. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
  65. package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
  66. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
  67. package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
  68. package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
  69. package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
  70. package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
  71. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
  72. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  73. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
  74. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  75. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
  76. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
  77. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
  78. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  81. package/dist/admin/components/DisplayedType.js +14 -14
  82. package/dist/admin/components/DisplayedType.js.map +1 -1
  83. package/dist/admin/components/DisplayedType.mjs +15 -15
  84. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  85. package/dist/admin/components/DynamicZoneList.js +34 -38
  86. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  87. package/dist/admin/components/DynamicZoneList.mjs +36 -40
  88. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  89. package/dist/admin/components/ExitPrompt.js +50 -0
  90. package/dist/admin/components/ExitPrompt.js.map +1 -0
  91. package/dist/admin/components/ExitPrompt.mjs +48 -0
  92. package/dist/admin/components/ExitPrompt.mjs.map +1 -0
  93. package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
  94. package/dist/admin/components/Footers.js.map +1 -0
  95. package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
  96. package/dist/admin/components/Footers.mjs.map +1 -0
  97. package/dist/admin/components/FormModal/FormModal.js +198 -164
  98. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  99. package/dist/admin/components/FormModal/FormModal.mjs +198 -165
  100. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  101. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  102. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  103. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  104. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
  106. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  107. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  108. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/forms/forms.js +10 -27
  110. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  111. package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
  112. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  114. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  115. package/dist/admin/components/FormModal/reducer.js +4 -4
  116. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  117. package/dist/admin/components/FormModal/reducer.mjs +4 -4
  118. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  119. package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
  120. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  121. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
  122. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  123. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  124. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  125. package/dist/admin/components/FormModalEndActions.js +1 -34
  126. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  127. package/dist/admin/components/FormModalEndActions.mjs +1 -34
  128. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  129. package/dist/admin/components/FormModalHeader.js +10 -28
  130. package/dist/admin/components/FormModalHeader.js.map +1 -1
  131. package/dist/admin/components/FormModalHeader.mjs +10 -28
  132. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  133. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
  134. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
  135. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
  136. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
  137. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
  138. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
  139. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
  140. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
  141. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
  142. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
  143. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  144. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  145. package/dist/admin/components/GenericInputs.js +9 -5
  146. package/dist/admin/components/GenericInputs.js.map +1 -1
  147. package/dist/admin/components/GenericInputs.mjs +9 -5
  148. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  149. package/dist/admin/components/List.js +149 -199
  150. package/dist/admin/components/List.js.map +1 -1
  151. package/dist/admin/components/List.mjs +151 -202
  152. package/dist/admin/components/List.mjs.map +1 -1
  153. package/dist/admin/components/Relation/Relation.js +3 -2
  154. package/dist/admin/components/Relation/Relation.js.map +1 -1
  155. package/dist/admin/components/Relation/Relation.mjs +3 -2
  156. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  157. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  158. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  159. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  160. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  161. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
  162. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  163. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
  164. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  165. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
  166. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  167. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
  168. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  169. package/dist/admin/components/SelectCategory.js +1 -1
  170. package/dist/admin/components/SelectCategory.js.map +1 -1
  171. package/dist/admin/components/SelectCategory.mjs +1 -1
  172. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  173. package/dist/admin/components/SelectComponent.js +3 -6
  174. package/dist/admin/components/SelectComponent.js.map +1 -1
  175. package/dist/admin/components/SelectComponent.mjs +3 -6
  176. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  177. package/dist/admin/components/SelectComponents.js +9 -6
  178. package/dist/admin/components/SelectComponents.js.map +1 -1
  179. package/dist/admin/components/SelectComponents.mjs +9 -6
  180. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  181. package/dist/admin/components/SelectNumber.js +0 -4
  182. package/dist/admin/components/SelectNumber.js.map +1 -1
  183. package/dist/admin/components/SelectNumber.mjs +0 -4
  184. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  185. package/dist/admin/components/Status.js +73 -0
  186. package/dist/admin/components/Status.js.map +1 -0
  187. package/dist/admin/components/Status.mjs +70 -0
  188. package/dist/admin/components/Status.mjs.map +1 -0
  189. package/dist/admin/components/TabForm.js +2 -1
  190. package/dist/admin/components/TabForm.js.map +1 -1
  191. package/dist/admin/components/TabForm.mjs +2 -1
  192. package/dist/admin/components/TabForm.mjs.map +1 -1
  193. package/dist/admin/icons/Curve.js +1 -1
  194. package/dist/admin/icons/Curve.js.map +1 -1
  195. package/dist/admin/icons/Curve.mjs +1 -1
  196. package/dist/admin/icons/Curve.mjs.map +1 -1
  197. package/dist/admin/pages/App/index.js +39 -19
  198. package/dist/admin/pages/App/index.js.map +1 -1
  199. package/dist/admin/pages/App/index.mjs +41 -21
  200. package/dist/admin/pages/App/index.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/EmptyState.js +38 -0
  202. package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
  203. package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
  204. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
  205. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
  206. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  207. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
  208. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/ListView.js +105 -158
  210. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  211. package/dist/admin/pages/ListView/ListView.mjs +110 -163
  212. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  213. package/dist/admin/reducers.js +3 -4
  214. package/dist/admin/reducers.js.map +1 -1
  215. package/dist/admin/reducers.mjs +3 -4
  216. package/dist/admin/reducers.mjs.map +1 -1
  217. package/dist/admin/src/components/AttributeRow.d.ts +28 -0
  218. package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
  219. package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
  220. package/dist/admin/src/components/ComponentList.d.ts +4 -6
  221. package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
  222. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
  223. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
  224. package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
  225. package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
  226. package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
  227. package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
  228. package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
  229. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
  230. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
  231. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
  232. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
  233. package/dist/admin/src/components/DisplayedType.d.ts +2 -1
  234. package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
  235. package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
  236. package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
  237. package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
  238. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
  239. package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
  240. package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
  241. package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
  242. package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
  243. package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
  244. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
  245. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
  246. package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
  247. package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
  248. package/dist/admin/src/components/GenericInputs.d.ts +2 -1
  249. package/dist/admin/src/components/List.d.ts +16 -13
  250. package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
  251. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
  252. package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
  253. package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
  254. package/dist/admin/src/components/SelectComponents.d.ts +3 -1
  255. package/dist/admin/src/components/SelectNumber.d.ts +1 -7
  256. package/dist/admin/src/components/Status.d.ts +6 -0
  257. package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
  258. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
  259. package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
  260. package/dist/admin/src/reducers.d.ts +2 -8
  261. package/dist/admin/src/types.d.ts +40 -43
  262. package/dist/admin/src/utils/findAttribute.d.ts +2 -2
  263. package/dist/admin/src/utils/formAPI.d.ts +43 -1
  264. package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
  265. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  266. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  267. package/dist/admin/translations/de.json.js +0 -1
  268. package/dist/admin/translations/de.json.js.map +1 -1
  269. package/dist/admin/translations/de.json.mjs +0 -1
  270. package/dist/admin/translations/de.json.mjs.map +1 -1
  271. package/dist/admin/translations/dk.json.js +0 -1
  272. package/dist/admin/translations/dk.json.js.map +1 -1
  273. package/dist/admin/translations/dk.json.mjs +0 -1
  274. package/dist/admin/translations/dk.json.mjs.map +1 -1
  275. package/dist/admin/translations/en.json.js +4 -2
  276. package/dist/admin/translations/en.json.js.map +1 -1
  277. package/dist/admin/translations/en.json.mjs +4 -2
  278. package/dist/admin/translations/en.json.mjs.map +1 -1
  279. package/dist/admin/translations/es.json.js +0 -1
  280. package/dist/admin/translations/es.json.js.map +1 -1
  281. package/dist/admin/translations/es.json.mjs +0 -1
  282. package/dist/admin/translations/es.json.mjs.map +1 -1
  283. package/dist/admin/translations/ko.json.js +0 -1
  284. package/dist/admin/translations/ko.json.js.map +1 -1
  285. package/dist/admin/translations/ko.json.mjs +0 -1
  286. package/dist/admin/translations/ko.json.mjs.map +1 -1
  287. package/dist/admin/translations/pl.json.js +0 -1
  288. package/dist/admin/translations/pl.json.js.map +1 -1
  289. package/dist/admin/translations/pl.json.mjs +0 -1
  290. package/dist/admin/translations/pl.json.mjs.map +1 -1
  291. package/dist/admin/translations/pt-BR.json.js +0 -1
  292. package/dist/admin/translations/pt-BR.json.js.map +1 -1
  293. package/dist/admin/translations/pt-BR.json.mjs +0 -1
  294. package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
  295. package/dist/admin/translations/sv.json.js +0 -1
  296. package/dist/admin/translations/sv.json.js.map +1 -1
  297. package/dist/admin/translations/sv.json.mjs +0 -1
  298. package/dist/admin/translations/sv.json.mjs.map +1 -1
  299. package/dist/admin/translations/tr.json.js +0 -1
  300. package/dist/admin/translations/tr.json.js.map +1 -1
  301. package/dist/admin/translations/tr.json.mjs +0 -1
  302. package/dist/admin/translations/tr.json.mjs.map +1 -1
  303. package/dist/admin/translations/zh.json.js +0 -1
  304. package/dist/admin/translations/zh.json.js.map +1 -1
  305. package/dist/admin/translations/zh.json.mjs +0 -1
  306. package/dist/admin/translations/zh.json.mjs.map +1 -1
  307. package/dist/admin/utils/findAttribute.js.map +1 -1
  308. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  309. package/dist/admin/utils/formAPI.js +0 -1
  310. package/dist/admin/utils/formAPI.js.map +1 -1
  311. package/dist/admin/utils/formAPI.mjs +0 -1
  312. package/dist/admin/utils/formAPI.mjs.map +1 -1
  313. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  314. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  315. package/dist/admin/utils/getRelationType.js.map +1 -1
  316. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  317. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  318. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  319. package/dist/server/controllers/index.js +3 -1
  320. package/dist/server/controllers/index.js.map +1 -1
  321. package/dist/server/controllers/index.mjs +3 -1
  322. package/dist/server/controllers/index.mjs.map +1 -1
  323. package/dist/server/controllers/schema.js +55 -0
  324. package/dist/server/controllers/schema.js.map +1 -0
  325. package/dist/server/controllers/schema.mjs +53 -0
  326. package/dist/server/controllers/schema.mjs.map +1 -0
  327. package/dist/server/controllers/validation/common.js +2 -0
  328. package/dist/server/controllers/validation/common.js.map +1 -1
  329. package/dist/server/controllers/validation/common.mjs +2 -1
  330. package/dist/server/controllers/validation/common.mjs.map +1 -1
  331. package/dist/server/controllers/validation/content-type.js.map +1 -1
  332. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  333. package/dist/server/controllers/validation/schema.js +612 -0
  334. package/dist/server/controllers/validation/schema.js.map +1 -0
  335. package/dist/server/controllers/validation/schema.mjs +610 -0
  336. package/dist/server/controllers/validation/schema.mjs.map +1 -0
  337. package/dist/server/routes/admin.js +51 -0
  338. package/dist/server/routes/admin.js.map +1 -1
  339. package/dist/server/routes/admin.mjs +51 -0
  340. package/dist/server/routes/admin.mjs.map +1 -1
  341. package/dist/server/services/index.js +3 -1
  342. package/dist/server/services/index.js.map +1 -1
  343. package/dist/server/services/index.mjs +3 -1
  344. package/dist/server/services/index.mjs.map +1 -1
  345. package/dist/server/services/schema-builder/component-builder.js +12 -2
  346. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  347. package/dist/server/services/schema-builder/component-builder.mjs +12 -2
  348. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  349. package/dist/server/services/schema-builder/content-type-builder.js +43 -28
  350. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  351. package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
  352. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  353. package/dist/server/services/schema-builder/index.js +51 -49
  354. package/dist/server/services/schema-builder/index.js.map +1 -1
  355. package/dist/server/services/schema-builder/index.mjs +51 -49
  356. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  357. package/dist/server/services/schema.js +246 -0
  358. package/dist/server/services/schema.js.map +1 -0
  359. package/dist/server/services/schema.mjs +242 -0
  360. package/dist/server/services/schema.mjs.map +1 -0
  361. package/dist/server/src/controllers/index.d.ts +5 -0
  362. package/dist/server/src/controllers/index.d.ts.map +1 -1
  363. package/dist/server/src/controllers/schema.d.ts +8 -0
  364. package/dist/server/src/controllers/schema.d.ts.map +1 -0
  365. package/dist/server/src/controllers/validation/common.d.ts +1 -0
  366. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  367. package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
  368. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  369. package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
  370. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
  371. package/dist/server/src/index.d.ts +6 -0
  372. package/dist/server/src/index.d.ts.map +1 -1
  373. package/dist/server/src/routes/admin.d.ts.map +1 -1
  374. package/dist/server/src/services/index.d.ts +2 -0
  375. package/dist/server/src/services/index.d.ts.map +1 -1
  376. package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
  377. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  378. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
  379. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  380. package/dist/server/src/services/schema-builder/index.d.ts +3 -0
  381. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  382. package/dist/server/src/services/schema.d.ts +2756 -0
  383. package/dist/server/src/services/schema.d.ts.map +1 -0
  384. package/dist/server/src/utils/index.d.ts +2 -0
  385. package/dist/server/src/utils/index.d.ts.map +1 -1
  386. package/dist/server/utils/index.js.map +1 -1
  387. package/dist/server/utils/index.mjs.map +1 -1
  388. package/package.json +13 -8
  389. package/dist/admin/components/BoxWrapper.js +0 -44
  390. package/dist/admin/components/BoxWrapper.js.map +0 -1
  391. package/dist/admin/components/BoxWrapper.mjs +0 -42
  392. package/dist/admin/components/BoxWrapper.mjs.map +0 -1
  393. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
  394. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
  395. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
  396. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
  397. package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
  398. package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
  399. package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
  400. package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
  401. package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
  402. package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
  403. package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
  404. package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
  405. package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
  406. package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
  407. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
  408. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
  409. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
  410. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
  411. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
  412. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
  413. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
  414. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
  415. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
  416. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
  417. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
  418. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
  419. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
  420. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
  421. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
  422. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
  423. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
  424. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
  425. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
  426. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
  427. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
  428. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
  429. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
  430. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
  431. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
  432. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
  433. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
  434. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
  435. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
  436. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
  437. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
  438. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
  439. package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
  440. package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
  441. package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
  442. package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
  443. package/dist/admin/components/FormModal/category/form.js +0 -34
  444. package/dist/admin/components/FormModal/category/form.js.map +0 -1
  445. package/dist/admin/components/FormModal/category/form.mjs +0 -32
  446. package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
  447. package/dist/admin/components/FormModal/category/regex.js +0 -6
  448. package/dist/admin/components/FormModal/category/regex.js.map +0 -1
  449. package/dist/admin/components/FormModal/category/regex.mjs +0 -4
  450. package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
  451. package/dist/admin/components/FormModal/selectors.js +0 -20
  452. package/dist/admin/components/FormModal/selectors.js.map +0 -1
  453. package/dist/admin/components/FormModal/selectors.mjs +0 -17
  454. package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
  455. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
  456. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
  457. package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
  458. package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
  459. package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
  460. package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
  461. package/dist/admin/components/ListRow.js +0 -164
  462. package/dist/admin/components/ListRow.js.map +0 -1
  463. package/dist/admin/components/ListRow.mjs +0 -161
  464. package/dist/admin/components/ListRow.mjs.map +0 -1
  465. package/dist/admin/components/NestedFooter.js.map +0 -1
  466. package/dist/admin/components/NestedFooter.mjs.map +0 -1
  467. package/dist/admin/components/Tr.js.map +0 -1
  468. package/dist/admin/components/Tr.mjs.map +0 -1
  469. package/dist/admin/components/UpperFirst.js +0 -11
  470. package/dist/admin/components/UpperFirst.js.map +0 -1
  471. package/dist/admin/components/UpperFirst.mjs +0 -9
  472. package/dist/admin/components/UpperFirst.mjs.map +0 -1
  473. package/dist/admin/contexts/DataManagerContext.js.map +0 -1
  474. package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
  475. package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
  476. package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
  477. package/dist/admin/hooks/useDataManager.js.map +0 -1
  478. package/dist/admin/hooks/useDataManager.mjs.map +0 -1
  479. package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
  480. package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
  481. package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
  482. package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
  483. package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
  484. package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
  485. package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
  486. package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
  487. package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
  488. package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
  489. package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
  490. package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
  491. package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
  492. package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
  493. package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
  494. package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
  495. package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
  496. package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
  497. package/dist/admin/src/components/ListRow.d.ts +0 -27
  498. package/dist/admin/src/components/Tr.d.ts +0 -5
  499. package/dist/admin/src/components/UpperFirst.d.ts +0 -3
  500. package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
  501. package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
  502. package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
  503. package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
  504. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
  505. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
  506. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
  507. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
  508. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
  509. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
  510. /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
@@ -0,0 +1,612 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+ var utils = require('@strapi/utils');
5
+ var fp = require('lodash/fp');
6
+ var builder = require('../../services/builder.js');
7
+ var constants = require('../../services/constants.js');
8
+ var common = require('./common.js');
9
+
10
+ const uniqueAttributeName = (attributes, ctx)=>{
11
+ const names = new Set(attributes.map((attribute)=>fp.snakeCase(attribute.name)));
12
+ if (names.size !== attributes.length) {
13
+ ctx.addIssue({
14
+ code: zod.z.ZodIssueCode.custom,
15
+ message: 'Attributes must have unique names'
16
+ });
17
+ }
18
+ };
19
+ const verifyUidTargetField = (attributes, ctx)=>{
20
+ attributes.forEach((attribute)=>{
21
+ if (!attribute.properties) {
22
+ return;
23
+ }
24
+ const { properties, action } = attribute;
25
+ if (properties.type === 'uid' && properties.targetField) {
26
+ const targetAttr = attributes.find((attr)=>attr.name === properties.targetField);
27
+ if (!targetAttr) {
28
+ // NOTE: on update we are setting it to undefined later in the process instead to handle renames
29
+ if (action === 'create') {
30
+ ctx.addIssue({
31
+ code: zod.z.ZodIssueCode.custom,
32
+ message: 'Target does not exist'
33
+ });
34
+ }
35
+ } else if (!constants.VALID_UID_TARGETS.some((validUIdTarget)=>validUIdTarget === targetAttr.properties?.type)) {
36
+ ctx.addIssue({
37
+ code: zod.z.ZodIssueCode.custom,
38
+ message: 'Invalid target type'
39
+ });
40
+ }
41
+ }
42
+ });
43
+ };
44
+ const verifySingularAndPluralNames = (obj, ctx)=>{
45
+ // singular and plural can only be provided on creation
46
+ if (obj.action !== 'create') {
47
+ return;
48
+ }
49
+ if (obj.singularName === obj.pluralName) {
50
+ ctx.addIssue({
51
+ code: zod.z.ZodIssueCode.custom,
52
+ message: 'Singular and plural names must be different',
53
+ path: [
54
+ 'singularName'
55
+ ]
56
+ });
57
+ }
58
+ };
59
+ const maxLengthGreaterThanMinLength = (value, ctx)=>{
60
+ if (!fp.isNil(value.maxLength) && !fp.isNil(value.minLength) && fp.isNumber(value.maxLength) && fp.isNumber(value.minLength)) {
61
+ if (value.maxLength <= value.minLength) {
62
+ ctx.addIssue({
63
+ code: zod.z.ZodIssueCode.custom,
64
+ message: 'maxLength must be greater or equal to minLength',
65
+ path: [
66
+ 'maxLength'
67
+ ]
68
+ });
69
+ }
70
+ }
71
+ };
72
+ const maxGreaterThanMin = (value, ctx)=>{
73
+ if (!fp.isNil(value.max) && !fp.isNil(value.min) && fp.isNumber(value.max) && fp.isNumber(value.min)) {
74
+ if (value.max <= value.min) {
75
+ ctx.addIssue({
76
+ code: zod.z.ZodIssueCode.custom,
77
+ message: 'max must be greater or equal to min',
78
+ path: [
79
+ 'max'
80
+ ]
81
+ });
82
+ }
83
+ }
84
+ };
85
+ const checkUserTarget = (value, ctx)=>{
86
+ if (value.type !== 'relation') {
87
+ return;
88
+ }
89
+ if (fp.isUndefined(value.target) || fp.isUndefined(value.relation)) {
90
+ return;
91
+ }
92
+ const { target, relation, targetAttribute } = value;
93
+ if (target === constants.coreUids.STRAPI_USER && (!STRAPI_USER_RELATIONS.includes(relation) || !fp.isUndefined(targetAttribute))) {
94
+ ctx.addIssue({
95
+ code: zod.z.ZodIssueCode.custom,
96
+ path: [
97
+ 'relation'
98
+ ],
99
+ message: `Relations to ${constants.coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`
100
+ });
101
+ }
102
+ };
103
+ const uidRefinement = (value, ctx)=>{
104
+ if (!fp.isNil(value.targetField) && !fp.isNil(value.default)) {
105
+ ctx.addIssue({
106
+ code: zod.z.ZodIssueCode.custom,
107
+ message: 'Cannot define a default UID if the targetField is set',
108
+ path: [
109
+ 'default'
110
+ ]
111
+ });
112
+ }
113
+ };
114
+ const enumRefinement = (value, ctx)=>{
115
+ if (value.type === 'enumeration' && !fp.isNil(value.default) && !fp.isNil(value.enum)) {
116
+ if (value.default === '' || !value.enum.some((v)=>v === value.default)) {
117
+ ctx.addIssue({
118
+ code: zod.z.ZodIssueCode.custom,
119
+ message: 'Default value must be one of the enum values',
120
+ path: [
121
+ 'default'
122
+ ]
123
+ });
124
+ }
125
+ }
126
+ };
127
+ const basePropertiesSchema = zod.z.object({
128
+ type: zod.z.enum([
129
+ 'string',
130
+ 'text',
131
+ 'richtext',
132
+ 'blocks',
133
+ 'json',
134
+ 'enumeration',
135
+ 'password',
136
+ 'email',
137
+ 'integer',
138
+ 'biginteger',
139
+ 'float',
140
+ 'decimal',
141
+ 'time',
142
+ 'datetime',
143
+ 'date',
144
+ 'timestamp',
145
+ 'boolean',
146
+ 'component',
147
+ 'uid',
148
+ 'customField',
149
+ 'media',
150
+ 'relation',
151
+ 'dynamiczone'
152
+ ]),
153
+ configurable: zod.z.boolean().nullish(),
154
+ private: zod.z.boolean().nullish(),
155
+ pluginOptions: zod.z.record(zod.z.unknown()).optional()
156
+ });
157
+ const maxLengthSchema = zod.z.number().int().positive().optional();
158
+ const minLengthSchema = zod.z.number().int().positive().optional();
159
+ const requiredSchema = zod.z.boolean().optional();
160
+ const uniqueSchema = zod.z.boolean().optional();
161
+ const STRAPI_USER_RELATIONS = [
162
+ 'oneToOne',
163
+ 'oneToMany'
164
+ ];
165
+ const baseRelationSchema = zod.z.object({
166
+ type: zod.z.literal('relation'),
167
+ relation: zod.z.enum([
168
+ 'oneToOne',
169
+ 'oneToMany',
170
+ 'manyToOne',
171
+ 'manyToMany',
172
+ 'morphOne',
173
+ 'morphMany',
174
+ 'morphToOne',
175
+ 'morphToMany'
176
+ ]),
177
+ configurable: zod.z.boolean().nullish(),
178
+ private: zod.z.boolean().nullish(),
179
+ pluginOptions: zod.z.record(zod.z.unknown()).optional()
180
+ });
181
+ const oneToOneSchema = baseRelationSchema.extend({
182
+ relation: zod.z.literal('oneToOne'),
183
+ target: zod.z.string(),
184
+ targetAttribute: zod.z.string().nullish()
185
+ });
186
+ const oneWaySchema = baseRelationSchema.extend({
187
+ relation: zod.z.literal('oneToOne'),
188
+ target: zod.z.string()
189
+ });
190
+ const oneToManySchema = baseRelationSchema.extend({
191
+ relation: zod.z.literal('oneToMany'),
192
+ target: zod.z.string(),
193
+ targetAttribute: zod.z.string().nullish()
194
+ });
195
+ const manyWaySchema = baseRelationSchema.extend({
196
+ relation: zod.z.literal('oneToMany'),
197
+ target: zod.z.string()
198
+ });
199
+ const manyToOneSchema = baseRelationSchema.extend({
200
+ relation: zod.z.literal('manyToOne'),
201
+ target: zod.z.string(),
202
+ targetAttribute: zod.z.string().nullish()
203
+ });
204
+ const manyToManySchema = baseRelationSchema.extend({
205
+ relation: zod.z.literal('manyToMany'),
206
+ target: zod.z.string(),
207
+ targetAttribute: zod.z.string().nullish()
208
+ });
209
+ const morphOneSchema = baseRelationSchema.extend({
210
+ relation: zod.z.literal('morphOne'),
211
+ target: zod.z.string(),
212
+ targetAttribute: zod.z.string().nullish()
213
+ });
214
+ const morphManySchema = baseRelationSchema.extend({
215
+ relation: zod.z.literal('morphMany'),
216
+ target: zod.z.string(),
217
+ targetAttribute: zod.z.string().nullish()
218
+ });
219
+ const morphToOneSchema = baseRelationSchema.extend({
220
+ relation: zod.z.literal('morphToOne')
221
+ });
222
+ const morphToManySchema = baseRelationSchema.extend({
223
+ relation: zod.z.literal('morphToMany')
224
+ });
225
+ const createRelationSchema = (meta)=>{
226
+ switch(meta.modelType){
227
+ case 'contentType':
228
+ {
229
+ switch(meta.kind){
230
+ case 'singleType':
231
+ return zod.z.discriminatedUnion('relation', [
232
+ oneToOneSchema,
233
+ oneToManySchema,
234
+ morphOneSchema,
235
+ morphManySchema,
236
+ morphToOneSchema,
237
+ morphToManySchema
238
+ ]);
239
+ case 'collectionType':
240
+ return zod.z.discriminatedUnion('relation', [
241
+ oneToOneSchema,
242
+ oneToManySchema,
243
+ manyToOneSchema,
244
+ manyToManySchema,
245
+ morphOneSchema,
246
+ morphManySchema,
247
+ morphToOneSchema,
248
+ morphToManySchema
249
+ ]);
250
+ default:
251
+ throw new Error('Invalid content type kind');
252
+ }
253
+ }
254
+ case 'component':
255
+ {
256
+ return zod.z.discriminatedUnion('relation', [
257
+ oneWaySchema,
258
+ manyWaySchema
259
+ ]);
260
+ }
261
+ default:
262
+ throw new Error('Invalid model type');
263
+ }
264
+ };
265
+ const richTextSchema = basePropertiesSchema.extend({
266
+ type: zod.z.literal('richtext'),
267
+ required: requiredSchema,
268
+ minLength: minLengthSchema,
269
+ maxLength: maxLengthSchema,
270
+ default: zod.z.string().optional()
271
+ });
272
+ const blocksSchema = basePropertiesSchema.extend({
273
+ type: zod.z.literal('blocks'),
274
+ required: requiredSchema
275
+ });
276
+ const jsonSchema = basePropertiesSchema.extend({
277
+ type: zod.z.literal('json'),
278
+ required: requiredSchema,
279
+ default: zod.z.unknown().optional().refine((value)=>{
280
+ if (value === undefined) {
281
+ return true;
282
+ }
283
+ if (fp.isNumber(value) || fp.isNull(value) || fp.isObject(value) || fp.isArray(value)) {
284
+ return true;
285
+ }
286
+ try {
287
+ JSON.parse(value);
288
+ return true;
289
+ } catch (err) {
290
+ return false;
291
+ }
292
+ })
293
+ });
294
+ const enumerationSchema = basePropertiesSchema.extend({
295
+ type: zod.z.literal('enumeration'),
296
+ required: requiredSchema,
297
+ default: zod.z.string().optional(),
298
+ enumName: zod.z.string().optional().refine((value)=>{
299
+ return value === '' || common.NAME_REGEX.test(value);
300
+ }, 'Invalid enum name'),
301
+ enum: zod.z.array(zod.z.string().refine((value)=>{
302
+ return value === '' || !utils.strings.startsWithANumber(value);
303
+ })).min(1).refine((values)=>{
304
+ const filtered = [
305
+ ...new Set(values)
306
+ ];
307
+ return filtered.length === values.length;
308
+ })
309
+ });
310
+ const textSchema = basePropertiesSchema.extend({
311
+ type: zod.z.literal('text'),
312
+ default: zod.z.string().nullish(),
313
+ minLength: minLengthSchema,
314
+ maxLength: maxLengthSchema,
315
+ required: requiredSchema,
316
+ unique: uniqueSchema,
317
+ regex: zod.z.string().optional().refine((value)=>{
318
+ return value === '' || !!new RegExp(value);
319
+ }, 'Invalid regular expression pattern')
320
+ });
321
+ const stringSchema = textSchema.extend({
322
+ type: zod.z.literal('string')
323
+ });
324
+ const passwordSchema = basePropertiesSchema.extend({
325
+ type: zod.z.literal('password'),
326
+ required: requiredSchema,
327
+ minLength: minLengthSchema,
328
+ maxLength: maxLengthSchema
329
+ });
330
+ const emailSchema = basePropertiesSchema.extend({
331
+ type: zod.z.literal('email'),
332
+ required: requiredSchema,
333
+ minLength: minLengthSchema,
334
+ maxLength: maxLengthSchema,
335
+ default: zod.z.string().email().optional(),
336
+ unique: uniqueSchema
337
+ });
338
+ const integerSchema = basePropertiesSchema.extend({
339
+ type: zod.z.literal('integer'),
340
+ required: requiredSchema,
341
+ default: zod.z.number().int().optional(),
342
+ unique: uniqueSchema,
343
+ min: zod.z.number().int().optional(),
344
+ max: zod.z.number().int().optional()
345
+ });
346
+ const bigIntegerSchema = basePropertiesSchema.extend({
347
+ type: zod.z.literal('biginteger'),
348
+ required: requiredSchema,
349
+ unique: uniqueSchema,
350
+ default: zod.z.string().regex(/^\d*$/).nullish(),
351
+ min: zod.z.string().regex(/^\d*$/).nullish(),
352
+ max: zod.z.string().regex(/^\d*$/).nullish()
353
+ });
354
+ const floatSchema = basePropertiesSchema.extend({
355
+ type: zod.z.literal('float'),
356
+ required: requiredSchema,
357
+ unique: uniqueSchema,
358
+ default: zod.z.number().optional(),
359
+ min: zod.z.number().optional(),
360
+ max: zod.z.number().optional()
361
+ });
362
+ const decimalSchema = basePropertiesSchema.extend({
363
+ type: zod.z.literal('decimal'),
364
+ required: requiredSchema,
365
+ unique: uniqueSchema,
366
+ default: zod.z.number().optional(),
367
+ min: zod.z.number().optional(),
368
+ max: zod.z.number().optional()
369
+ });
370
+ const timeSchema = basePropertiesSchema.extend({
371
+ type: zod.z.literal('time'),
372
+ required: requiredSchema,
373
+ unique: uniqueSchema,
374
+ default: zod.z.string().optional()
375
+ });
376
+ const dateSchema = timeSchema.extend({
377
+ type: zod.z.literal('date')
378
+ });
379
+ const dateTimeSchema = timeSchema.extend({
380
+ type: zod.z.literal('datetime')
381
+ });
382
+ const timeStampSchema = basePropertiesSchema.extend({
383
+ type: zod.z.literal('timestamp')
384
+ });
385
+ const booleanSchema = basePropertiesSchema.extend({
386
+ type: zod.z.literal('boolean'),
387
+ required: requiredSchema,
388
+ default: zod.z.boolean().optional()
389
+ });
390
+ const componentSchema = basePropertiesSchema.extend({
391
+ type: zod.z.literal('component'),
392
+ component: zod.z.string(),
393
+ repeatable: zod.z.boolean().optional(),
394
+ required: requiredSchema,
395
+ min: zod.z.number().optional(),
396
+ max: zod.z.number().optional()
397
+ });
398
+ const dynamicZoneSchema = basePropertiesSchema.extend({
399
+ type: zod.z.literal('dynamiczone'),
400
+ components: zod.z.array(zod.z.string()).nonempty(),
401
+ required: requiredSchema,
402
+ min: zod.z.number().optional(),
403
+ max: zod.z.number().optional()
404
+ });
405
+ const mediaSchema = basePropertiesSchema.extend({
406
+ type: zod.z.literal('media'),
407
+ multiple: zod.z.boolean().optional(),
408
+ required: requiredSchema,
409
+ allowedTypes: zod.z.array(zod.z.enum([
410
+ 'images',
411
+ 'videos',
412
+ 'files',
413
+ 'audios'
414
+ ])).nonempty().optional()
415
+ });
416
+ const uidSchema = basePropertiesSchema.extend({
417
+ type: zod.z.literal('uid'),
418
+ targetField: zod.z.string().nullish(),
419
+ required: requiredSchema,
420
+ default: zod.z.string().nullish(),
421
+ minLength: minLengthSchema,
422
+ maxLength: maxLengthSchema,
423
+ options: zod.z.object({
424
+ separator: zod.z.string().optional(),
425
+ lowercase: zod.z.boolean().optional(),
426
+ decamelize: zod.z.boolean().optional(),
427
+ customReplacements: zod.z.array(zod.z.array(zod.z.string()).length(2)).optional(),
428
+ preserveLeadingUnderscore: zod.z.boolean().optional()
429
+ }).optional()
430
+ });
431
+ const customFieldSchema = basePropertiesSchema.extend({
432
+ type: zod.z.literal('customField'),
433
+ customField: zod.z.string()
434
+ });
435
+ const attributePropertiesSchema = (meta)=>{
436
+ const relationSchema = createRelationSchema(meta);
437
+ const base = zod.z.union([
438
+ mediaSchema,
439
+ textSchema,
440
+ stringSchema,
441
+ richTextSchema,
442
+ blocksSchema,
443
+ jsonSchema,
444
+ enumerationSchema,
445
+ passwordSchema,
446
+ emailSchema,
447
+ integerSchema,
448
+ bigIntegerSchema,
449
+ floatSchema,
450
+ decimalSchema,
451
+ timeSchema,
452
+ dateSchema,
453
+ dateTimeSchema,
454
+ timeStampSchema,
455
+ booleanSchema,
456
+ componentSchema,
457
+ customFieldSchema,
458
+ relationSchema
459
+ ]);
460
+ if (meta.modelType === 'component') {
461
+ return base.superRefine(enumRefinement).superRefine(checkUserTarget).superRefine(maxGreaterThanMin).superRefine(maxLengthGreaterThanMinLength);
462
+ }
463
+ return zod.z.union([
464
+ ...base.options,
465
+ uidSchema,
466
+ dynamicZoneSchema
467
+ ]).superRefine(enumRefinement).superRefine(checkUserTarget).superRefine(uidRefinement).superRefine(maxGreaterThanMin).superRefine(maxLengthGreaterThanMinLength);
468
+ };
469
+ const createAttributeSchema = (meta)=>zod.z.object({
470
+ action: zod.z.literal('create'),
471
+ name: zod.z.string().regex(common.NAME_REGEX).refine((value)=>!builder.isReservedAttributeName(value), 'Attribute name is reserved'),
472
+ properties: attributePropertiesSchema(meta)
473
+ });
474
+ const updateAttributeSchema = (meta)=>zod.z.object({
475
+ action: zod.z.literal('update'),
476
+ name: zod.z.string(),
477
+ properties: attributePropertiesSchema(meta)
478
+ });
479
+ const deleteAttributeSchema = zod.z.object({
480
+ action: zod.z.literal('delete'),
481
+ name: zod.z.string()
482
+ });
483
+ const contentTypeUIDSchema = zod.z.custom((value)=>{
484
+ return typeof value === 'string' && value.length > 0;
485
+ });
486
+ const componentUIDSchema = zod.z.custom((value)=>{
487
+ return typeof value === 'string' && value.length > 0;
488
+ });
489
+ const categorySchema = zod.z.string().min(1).regex(common.CATEGORY_NAME_REGEX);
490
+ const baseComponentSchema = zod.z.object({
491
+ uid: componentUIDSchema,
492
+ displayName: zod.z.string().min(1),
493
+ icon: zod.z.string().regex(common.ICON_REGEX).optional(),
494
+ description: zod.z.string().optional(),
495
+ category: categorySchema,
496
+ pluginOptions: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
497
+ });
498
+ const createComponentSchema = baseComponentSchema.extend({
499
+ action: zod.z.literal('create'),
500
+ config: zod.z.record(zod.z.string(), zod.z.unknown()).optional().default({}),
501
+ attributes: zod.z.array(createAttributeSchema({
502
+ modelType: 'component'
503
+ })).superRefine(uniqueAttributeName)
504
+ });
505
+ const updateComponentSchema = baseComponentSchema.extend({
506
+ action: zod.z.literal('update'),
507
+ category: categorySchema.optional(),
508
+ attributes: zod.z.array(zod.z.discriminatedUnion('action', [
509
+ createAttributeSchema({
510
+ modelType: 'component'
511
+ }),
512
+ updateAttributeSchema({
513
+ modelType: 'component'
514
+ }),
515
+ deleteAttributeSchema
516
+ ])).superRefine(uniqueAttributeName)
517
+ });
518
+ const deleteComponentSchema = zod.z.object({
519
+ action: zod.z.literal('delete'),
520
+ uid: componentUIDSchema
521
+ });
522
+ const baseContentTypeSchema = zod.z.object({
523
+ uid: contentTypeUIDSchema,
524
+ displayName: zod.z.string().min(1),
525
+ description: zod.z.string().optional(),
526
+ draftAndPublish: zod.z.boolean(),
527
+ options: zod.z.record(zod.z.unknown()).optional().default({}),
528
+ pluginOptions: zod.z.record(zod.z.unknown()).optional().default({}),
529
+ kind: zod.z.enum([
530
+ constants.typeKinds.SINGLE_TYPE,
531
+ constants.typeKinds.COLLECTION_TYPE
532
+ ]).optional()
533
+ });
534
+ const baseCreateContentTypeSchema = baseContentTypeSchema.extend({
535
+ action: zod.z.literal('create'),
536
+ collectionName: zod.z.string().regex(common.COLLECTION_NAME_REGEX).optional(),
537
+ singularName: zod.z.string().min(1).regex(common.KEBAB_BASE_REGEX, 'Must be kebab case').refine((value)=>!builder.isReservedModelName(value), 'Model name is reserved'),
538
+ pluralName: zod.z.string().min(1).regex(common.KEBAB_BASE_REGEX, 'Must be kebab case').refine((value)=>!builder.isReservedModelName(value), 'Model name is reserved'),
539
+ config: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
540
+ });
541
+ const createSingleTypeSchema = baseCreateContentTypeSchema.extend({
542
+ kind: zod.z.literal(constants.typeKinds.SINGLE_TYPE),
543
+ attributes: zod.z.array(createAttributeSchema({
544
+ modelType: 'contentType',
545
+ kind: 'singleType'
546
+ })).superRefine(uniqueAttributeName).superRefine(verifyUidTargetField)
547
+ });
548
+ const createCollectionTypeSchema = baseCreateContentTypeSchema.extend({
549
+ kind: zod.z.literal(constants.typeKinds.COLLECTION_TYPE),
550
+ attributes: zod.z.array(createAttributeSchema({
551
+ modelType: 'contentType',
552
+ kind: 'collectionType'
553
+ })).superRefine(uniqueAttributeName).superRefine(verifyUidTargetField)
554
+ });
555
+ const baseUpdateContentTypeSchema = baseContentTypeSchema.extend({
556
+ action: zod.z.literal('update')
557
+ });
558
+ const updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({
559
+ kind: zod.z.literal(constants.typeKinds.SINGLE_TYPE).optional(),
560
+ attributes: zod.z.array(zod.z.discriminatedUnion('action', [
561
+ createAttributeSchema({
562
+ modelType: 'contentType',
563
+ kind: 'singleType'
564
+ }),
565
+ updateAttributeSchema({
566
+ modelType: 'contentType',
567
+ kind: 'singleType'
568
+ }),
569
+ deleteAttributeSchema
570
+ ])).superRefine(uniqueAttributeName).superRefine(verifyUidTargetField)
571
+ });
572
+ const updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({
573
+ kind: zod.z.literal(constants.typeKinds.COLLECTION_TYPE).optional(),
574
+ attributes: zod.z.array(zod.z.union([
575
+ createAttributeSchema({
576
+ modelType: 'contentType',
577
+ kind: 'collectionType'
578
+ }),
579
+ updateAttributeSchema({
580
+ modelType: 'contentType',
581
+ kind: 'collectionType'
582
+ }),
583
+ deleteAttributeSchema
584
+ ])).superRefine(uniqueAttributeName).superRefine(verifyUidTargetField)
585
+ });
586
+ const deleteContentTypeSchema = zod.z.object({
587
+ action: zod.z.literal('delete'),
588
+ uid: contentTypeUIDSchema
589
+ });
590
+ const schemaSchema = zod.z.object({
591
+ components: zod.z.array(zod.z.union([
592
+ createComponentSchema,
593
+ updateComponentSchema,
594
+ deleteComponentSchema
595
+ ])).optional().default([]),
596
+ contentTypes: zod.z.array(zod.z.union([
597
+ createSingleTypeSchema,
598
+ createCollectionTypeSchema,
599
+ updateSingleTypeSchema,
600
+ updateCollectionTypeSchema,
601
+ deleteContentTypeSchema
602
+ ]).superRefine(verifySingularAndPluralNames)).optional().default([])
603
+ });
604
+ const validateUpdateSchema = utils.validateZod(zod.z.object({
605
+ data: schemaSchema
606
+ }, {
607
+ invalid_type_error: 'Invalid schema, expected an object with a data property',
608
+ required_error: 'Schema is required'
609
+ }));
610
+
611
+ exports.validateUpdateSchema = validateUpdateSchema;
612
+ //# sourceMappingURL=schema.js.map