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