@strapi/content-type-builder 5.13.1 → 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../admin/src/components/DataManagerProvider/reducer.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { current } from 'immer';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { makeUnique } from '../../utils/makeUnique';\n\nimport { retrieveComponentsFromSchema } from './utils/retrieveComponentsFromSchema';\n\nimport type { DataManagerStateType, ContentType, AttributeType, Component } from '../../types';\nimport type { Internal, Schema } from '@strapi/types';\n\ntype Target = 'component' | 'components' | 'contentType' | 'contentTypes';\n\n// TODO: Define all possible actions based on type\nexport type Action<T = any> = {\n type: T;\n uid?: string;\n mainDataKey: Target;\n schemaType: 'component' | 'contentType';\n attributeToRemoveName?: string;\n [key: string]: any;\n};\n\nconst DEFAULT_MODIFIED_DATA = {\n components: {},\n contentTypes: {},\n};\n\nconst initialState: DataManagerStateType = {\n components: {},\n contentTypes: {},\n initialComponents: {},\n initialContentTypes: {},\n initialData: {},\n modifiedData: {\n ...DEFAULT_MODIFIED_DATA,\n },\n reservedNames: {},\n isLoading: true,\n};\n\nconst ONE_SIDE_RELATIONS = ['oneWay', 'manyWay'];\n\nconst getOppositeRelation = (originalRelation?: Schema.Attribute.RelationKind.WithTarget) => {\n if (originalRelation === 'manyToOne') {\n return 'oneToMany';\n }\n\n if (originalRelation === 'oneToMany') {\n return 'manyToOne';\n }\n\n return originalRelation;\n};\n\nconst findAttributeIndex = (schema: any, attributeToFind?: string) => {\n return schema.schema.attributes.findIndex(\n ({ name }: { name: string }) => name === attributeToFind\n );\n};\n\ntype InitPayload = {\n components: Record<string, Component>;\n contentTypes: Record<string, ContentType>;\n reservedNames: Record<string, string>;\n};\n\ntype AddAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Target;\n targetUid: string;\n shouldAddComponentToData: boolean;\n};\n\ntype AddCreateComponentToDynamicZonePayload = {\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n};\n\ntype AddCustomFieldAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Target;\n targetUid: string;\n};\n\ntype ChangeDynamicZoneComponentsPayload = {\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n};\n\ntype CreateComponentSchemaPayload = {\n uid: string;\n data: any;\n componentCategory: string;\n shouldAddComponentToData: boolean;\n};\n\ntype CreateSchemaPayload = {\n uid: string;\n data: any;\n};\n\ntype EditAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Target;\n targetUid: string;\n initialAttribute: Record<string, any>;\n};\n\ntype EditCustomFieldAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Target;\n targetUid: string;\n initialAttribute: Record<string, any>;\n};\n\ntype RemoveComponentFromDynamicZonePayload = {\n dzName: string;\n componentToRemoveIndex: number;\n};\n\ntype RemoveFieldPayload = {\n mainDataKey: Target;\n attributeToRemoveName: string;\n};\n\ntype RemoveFieldFromDisplayedComponentPayload = {\n attributeToRemoveName: string;\n componentUid: string;\n};\n\ntype SetModifiedDataPayload = {\n schemaToSet: Partial<DataManagerStateType['modifiedData']>;\n hasJustCreatedSchema: boolean;\n};\n\ntype UpdateSchemaPayload =\n | {\n data: Record<string, any>;\n schemaType: 'component';\n uid: string;\n }\n | {\n data: Record<string, any>;\n schemaType: 'contentType';\n };\n\nconst slice = createSlice({\n name: 'data-manager',\n initialState,\n reducers: {\n init: (state, action: PayloadAction<InitPayload>) => {\n const { components, contentTypes, reservedNames } = action.payload;\n\n state.components = components;\n state.initialComponents = components;\n state.initialContentTypes = contentTypes;\n state.contentTypes = contentTypes;\n state.reservedNames = reservedNames;\n state.isLoading = false;\n\n state.modifiedData = {\n ...DEFAULT_MODIFIED_DATA,\n component: state.modifiedData.component\n ? components[state.modifiedData.component.uid]\n : undefined,\n contentType: state.modifiedData.contentType\n ? contentTypes[state.modifiedData.contentType.uid]\n : undefined,\n components: state.modifiedData.components\n ? Object.keys(state.modifiedData.components).reduce(\n (acc, key) => {\n acc[key] = components[key];\n return acc;\n },\n {} as Record<string, Component>\n )\n : {},\n contentTypes: state.modifiedData.contentTypes\n ? Object.keys(state.modifiedData.contentTypes).reduce(\n (acc, key) => {\n acc[key] = contentTypes[key];\n return acc;\n },\n {} as Record<string, ContentType>\n )\n : {},\n };\n state.initialData = state.modifiedData;\n },\n addAttribute: (state, action: PayloadAction<AddAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid, shouldAddComponentToData } = action.payload;\n const { name, ...rest } = attributeToSet;\n\n delete rest.createComponent;\n\n const pathToDataToEdit = ['component', 'contentType'].includes(forTarget)\n ? [forTarget]\n : [forTarget, targetUid];\n\n const currentAttributes = get(\n state,\n ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'],\n []\n ).slice();\n\n // Add the createdAttribute\n const updatedAttributes = [...currentAttributes, { ...rest, name }];\n\n set(state, ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'], updatedAttributes);\n\n if (shouldAddComponentToData) {\n const componentToAddUID = rest.component;\n const componentToAdd = state.components[componentToAddUID];\n const isTemporaryComponent = componentToAdd?.isTemporary;\n const hasComponentAlreadyBeenAdded =\n state.modifiedData.components?.[componentToAddUID] !== undefined;\n\n if (isTemporaryComponent || hasComponentAlreadyBeenAdded) {\n return;\n }\n\n // Initialize modifiedData.components if it is undefined\n if (!state.modifiedData.components) {\n state.modifiedData.components = {};\n }\n\n // Add the added component to the modifiedData.components\n state.modifiedData.components[componentToAddUID] = componentToAdd;\n\n const nestedComponents = retrieveComponentsFromSchema(\n componentToAdd.schema.attributes as AttributeType[],\n state.components\n );\n\n // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones\n const nestedComponentsToAddInModifiedData = nestedComponents.filter(\n (compoUID: Internal.UID.Component) => {\n return get(state, ['modifiedData', 'components', compoUID]) === undefined;\n }\n );\n\n nestedComponentsToAddInModifiedData.forEach((compoUID: Internal.UID.Component) => {\n const compoSchema = get(state, ['components', compoUID], {}) as Component;\n const isTemporary = compoSchema.isTemporary || false;\n\n // If the nested component has not been saved we don't need to add them as they are already in the state\n if (!isTemporary) {\n if (!state.modifiedData.components) {\n state.modifiedData.components = {};\n }\n\n state.modifiedData.components[compoUID] = compoSchema;\n }\n });\n\n return;\n }\n\n const isCreatingRelationAttribute = rest.type === 'relation';\n\n if (isCreatingRelationAttribute) {\n const target = rest.target;\n const targetAttribute = rest.targetAttribute || null;\n const relation = rest.relation;\n const relationType = getRelationType(relation, targetAttribute);\n const currentUid = get(state, ['modifiedData', ...pathToDataToEdit, 'uid']);\n\n // When the user in creating a relation with the same content type we need to create another attribute\n // that is the opposite of the created one\n if (\n rest.type === 'relation' &&\n relationType !== 'oneWay' &&\n relationType !== 'manyWay' &&\n target === currentUid\n ) {\n const oppositeAttribute = {\n name: targetAttribute,\n relation: getOppositeRelation(relationType),\n target,\n targetAttribute: name,\n type: 'relation',\n } as AttributeType;\n\n if (rest.private) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n oppositeAttribute.private = rest.private;\n }\n\n const attributesToSet = [...updatedAttributes, oppositeAttribute];\n\n set(\n state,\n ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'],\n attributesToSet\n );\n }\n }\n },\n addCreatedComponentToDynamicZone: (\n state,\n action: PayloadAction<AddCreateComponentToDynamicZonePayload>\n ) => {\n const { dynamicZoneTarget, componentsToAdd } = action.payload;\n\n const dzAttributeIndex = findAttributeIndex(\n state.modifiedData.contentType,\n dynamicZoneTarget\n );\n\n componentsToAdd.forEach((componentUid: Internal.UID.Component) => {\n if (!state.modifiedData.contentType) {\n return;\n }\n\n if (!state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components) {\n state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components = [];\n }\n state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.push(\n componentUid\n );\n });\n },\n addCustomFieldAttribute: (state, action: PayloadAction<AddCustomFieldAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid } = action.payload;\n const { name, ...rest } = attributeToSet;\n\n const pathToDataToEdit = ['component', 'contentType'].includes(forTarget)\n ? [forTarget]\n : [forTarget, targetUid];\n\n const currentAttributes = get(\n state,\n ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'],\n []\n ).slice();\n\n // Add the createdAttribute\n const updatedAttributes = [...currentAttributes, { ...rest, name }];\n\n set(state, ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'], updatedAttributes);\n },\n changeDynamicZoneComponents: (\n state,\n action: PayloadAction<ChangeDynamicZoneComponentsPayload>\n ) => {\n const { dynamicZoneTarget, newComponents } = action.payload;\n\n const dzAttributeIndex = findAttributeIndex(\n state.modifiedData.contentType,\n dynamicZoneTarget\n );\n\n const currentDZComponents =\n (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components;\n\n const updatedComponents = makeUnique([...currentDZComponents, ...newComponents]);\n\n (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components =\n updatedComponents;\n\n // Retrieve all the components that needs to be added to the modifiedData.components\n const nestedComponents = retrieveComponentsFromSchema(\n current(state.modifiedData.contentType?.schema.attributes),\n state.components\n );\n\n // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones\n const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID) => {\n return get(state, ['modifiedData', 'components', compoUID]) === undefined;\n });\n\n nestedComponentsToAddInModifiedData.forEach((compoUID: Internal.UID.Component) => {\n const compoSchema = get(state, ['components', compoUID], {}) as Component;\n const isTemporary = compoSchema.isTemporary || false;\n\n // If the nested component has not been saved we don't need to add them as they are already in the state\n if (!isTemporary) {\n if (!state.modifiedData.components) {\n state.modifiedData.components = {};\n }\n state.modifiedData.components[compoUID] = compoSchema;\n }\n });\n },\n createComponentSchema: (state, action: PayloadAction<CreateComponentSchemaPayload>) => {\n const { uid, data, componentCategory, shouldAddComponentToData } = action.payload;\n\n const newSchema: Component = {\n uid: uid as Internal.UID.Component,\n isTemporary: true,\n category: componentCategory,\n schema: {\n ...data,\n attributes: [],\n },\n };\n\n state.components[uid as string] = newSchema;\n\n if (shouldAddComponentToData) {\n state.modifiedData.components[uid as string] = newSchema;\n }\n },\n createSchema: (state, action: PayloadAction<CreateSchemaPayload>) => {\n const { uid, data } = action.payload;\n\n const newSchema: ContentType = {\n uid: uid as Internal.UID.ContentType,\n isTemporary: true,\n schema: {\n ...data,\n attributes: [],\n },\n };\n\n state.contentTypes[uid] = newSchema;\n },\n editAttribute: (state, action: PayloadAction<EditAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid, initialAttribute } = action.payload;\n const { name, ...rest } = attributeToSet;\n\n const initialAttributeName = initialAttribute.name;\n const pathToDataToEdit = ['component', 'contentType'].includes(forTarget)\n ? [forTarget]\n : [forTarget, targetUid];\n\n const initialAttributeIndex = findAttributeIndex(\n get(state, ['modifiedData', ...pathToDataToEdit]),\n initialAttributeName\n );\n\n const isEditingRelation = rest.type === 'relation';\n\n if (!isEditingRelation) {\n set(\n state,\n ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes', initialAttributeIndex],\n attributeToSet\n );\n\n return;\n }\n\n const updatedAttributes: AttributeType[] = get(state, [\n 'modifiedData',\n ...pathToDataToEdit,\n 'schema',\n 'attributes',\n ]).slice();\n\n // First create the current relation attribute updated\n const toSet = {\n name,\n relation: rest.relation,\n target: rest.target,\n targetAttribute: rest.targetAttribute,\n type: 'relation',\n } as AttributeType;\n\n if (rest.private) {\n toSet.private = rest.private;\n }\n\n if (rest.pluginOptions) {\n toSet.pluginOptions = rest.pluginOptions;\n }\n\n const currentAttributeIndex = updatedAttributes.findIndex((value: AttributeType) => {\n return value.name !== undefined && value.name === initialAttribute.name;\n });\n\n // First set it in the updatedAttributes\n if (currentAttributeIndex !== -1) {\n updatedAttributes.splice(currentAttributeIndex, 1, toSet);\n }\n\n let oppositeAttributeNameToRemove: string | null = null;\n let oppositeAttributeNameToUpdate: string | null = null;\n let oppositeAttributeToCreate: AttributeType | null = null;\n let initialOppositeAttribute = null;\n\n const currentUid = get(state, ['modifiedData', ...pathToDataToEdit, 'uid']);\n const didChangeTargetRelation = initialAttribute.target !== rest.target;\n const didCreateInternalRelation = rest.target === currentUid;\n const relationType = getRelationType(rest.relation, rest.targetAttribute);\n const initialRelationType = getRelationType(\n initialAttribute.relation,\n initialAttribute.targetAttribute\n );\n const hadInternalRelation = initialAttribute.target === currentUid;\n const didChangeRelationType = initialRelationType !== relationType;\n const shouldRemoveOppositeAttributeBecauseOfTargetChange =\n didChangeTargetRelation &&\n !didCreateInternalRelation &&\n hadInternalRelation &&\n isEditingRelation;\n const shouldRemoveOppositeAttributeBecauseOfRelationTypeChange =\n didChangeRelationType &&\n hadInternalRelation &&\n ['oneWay', 'manyWay'].includes(relationType!) &&\n isEditingRelation;\n const shouldUpdateOppositeAttributeBecauseOfRelationTypeChange =\n !ONE_SIDE_RELATIONS.includes(initialRelationType!) &&\n !ONE_SIDE_RELATIONS.includes(relationType!) &&\n hadInternalRelation &&\n didCreateInternalRelation &&\n isEditingRelation;\n const shouldCreateOppositeAttributeBecauseOfRelationTypeChange =\n ONE_SIDE_RELATIONS.includes(initialRelationType!) &&\n !ONE_SIDE_RELATIONS.includes(relationType!) &&\n hadInternalRelation &&\n didCreateInternalRelation &&\n isEditingRelation;\n const shouldCreateOppositeAttributeBecauseOfTargetChange =\n didChangeTargetRelation &&\n didCreateInternalRelation &&\n !ONE_SIDE_RELATIONS.includes(relationType!);\n\n // Store opposite attribute name to remove at the end of the loop\n if (\n shouldRemoveOppositeAttributeBecauseOfTargetChange ||\n shouldRemoveOppositeAttributeBecauseOfRelationTypeChange\n ) {\n oppositeAttributeNameToRemove = initialAttribute.targetAttribute;\n }\n\n // In case of oneWay or manyWay relation there isn't an opposite attribute\n if (oppositeAttributeNameToRemove) {\n const indexToRemove = updatedAttributes.findIndex(\n (value) => value.name === oppositeAttributeNameToRemove\n );\n\n updatedAttributes.splice(indexToRemove, 1);\n }\n\n // In order to preserve plugin options need to get the initial opposite attribute settings\n if (!shouldRemoveOppositeAttributeBecauseOfTargetChange) {\n const initialTargetContentType = get(state, [\n 'initialContentTypes',\n initialAttribute.target,\n ]);\n\n if (initialTargetContentType) {\n const oppositeAttributeIndex = findAttributeIndex(\n initialTargetContentType,\n initialAttribute.targetAttribute\n );\n\n initialOppositeAttribute = get(state, [\n 'initialContentTypes',\n initialAttribute.target,\n 'schema',\n 'attributes',\n oppositeAttributeIndex,\n ]);\n }\n }\n\n // Create the opposite attribute\n if (\n shouldCreateOppositeAttributeBecauseOfRelationTypeChange ||\n shouldCreateOppositeAttributeBecauseOfTargetChange\n ) {\n oppositeAttributeToCreate = {\n name: rest.targetAttribute,\n relation: getOppositeRelation(relationType),\n target: rest.target,\n targetAttribute: name,\n type: 'relation',\n } as AttributeType;\n\n if (rest.private) {\n oppositeAttributeToCreate.private = rest.private;\n }\n\n if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {\n oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;\n }\n\n const indexOfInitialAttribute = updatedAttributes.findIndex(\n ({ name }) => name === initialAttribute.name\n );\n const indexOfUpdatedAttribute = updatedAttributes.findIndex(\n ({ name: attrName }) => name === attrName\n );\n\n const indexToInsert =\n (indexOfInitialAttribute === -1 ? indexOfUpdatedAttribute : indexOfInitialAttribute) + 1;\n\n updatedAttributes.splice(indexToInsert, 0, oppositeAttributeToCreate);\n }\n\n if (shouldUpdateOppositeAttributeBecauseOfRelationTypeChange) {\n oppositeAttributeNameToUpdate = initialAttribute.targetAttribute;\n\n oppositeAttributeToCreate = {\n name: rest.targetAttribute,\n relation: getOppositeRelation(relationType),\n target: rest.target,\n targetAttribute: name,\n type: 'relation',\n } as AttributeType;\n\n if (rest.private) {\n oppositeAttributeToCreate.private = rest.private;\n }\n\n if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {\n oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;\n }\n\n if (oppositeAttributeNameToUpdate) {\n const indexToUpdate = updatedAttributes.findIndex(\n ({ name }) => name === oppositeAttributeNameToUpdate\n );\n\n updatedAttributes.splice(indexToUpdate, 1, oppositeAttributeToCreate);\n }\n }\n\n set(state, ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes'], updatedAttributes);\n },\n editCustomFieldAttribute: (state, action: PayloadAction<EditCustomFieldAttributePayload>) => {\n const { forTarget, targetUid, initialAttribute, attributeToSet } = action.payload;\n\n const initialAttributeName = initialAttribute.name;\n const pathToDataToEdit = ['component', 'contentType'].includes(forTarget)\n ? [forTarget]\n : [forTarget, targetUid];\n\n const initialAttributeIndex = findAttributeIndex(\n get(state, ['modifiedData', ...pathToDataToEdit]),\n initialAttributeName\n );\n\n set(\n state,\n ['modifiedData', ...pathToDataToEdit, 'schema', 'attributes', initialAttributeIndex],\n attributeToSet\n );\n },\n updateInitialState: (state) => {\n state.initialData = state.modifiedData;\n },\n deleteNotSavedType: (state) => {\n // Doing so will also reset the modified and the initial data\n state.contentTypes = state.initialContentTypes;\n state.components = state.initialComponents;\n },\n reloadPlugin: () => {\n return initialState;\n },\n removeComponentFromDynamicZone: (\n state,\n action: PayloadAction<RemoveComponentFromDynamicZonePayload>\n ) => {\n const { dzName, componentToRemoveIndex } = action.payload;\n\n const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dzName);\n\n if (state.modifiedData.contentType) {\n state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.splice(\n componentToRemoveIndex,\n 1\n );\n }\n },\n removeField: (state, action: PayloadAction<RemoveFieldPayload>) => {\n const { mainDataKey, attributeToRemoveName } = action.payload;\n const pathToAttributes = ['modifiedData', mainDataKey, 'schema', 'attributes'];\n const attributeToRemoveIndex = findAttributeIndex(\n state.modifiedData[mainDataKey],\n attributeToRemoveName\n );\n\n const pathToAttributeToRemove = [...pathToAttributes, attributeToRemoveIndex];\n const attributeToRemoveData = get(state, pathToAttributeToRemove);\n const isRemovingRelationAttribute = attributeToRemoveData.type === 'relation';\n // Only content types can have relations with themselves since\n // components can only have oneWay or manyWay relations\n const canTheAttributeToRemoveHaveARelationWithItself = mainDataKey === 'contentType';\n\n if (isRemovingRelationAttribute && canTheAttributeToRemoveHaveARelationWithItself) {\n const { target, relation, targetAttribute } = attributeToRemoveData;\n const relationType = getRelationType(relation, targetAttribute);\n\n const uid = state.modifiedData.contentType?.uid;\n const shouldRemoveOppositeAttribute =\n target === uid && !ONE_SIDE_RELATIONS.includes(relationType!);\n\n if (shouldRemoveOppositeAttribute) {\n const attributes: AttributeType[] =\n state.modifiedData[mainDataKey]?.schema.attributes.slice();\n const nextAttributes = attributes.filter((attribute) => {\n if (attribute.name === attributeToRemoveName) {\n return false;\n }\n\n if (attribute.target === uid && attribute.targetAttribute === attributeToRemoveName) {\n return false;\n }\n\n return true;\n });\n\n const schema = state.modifiedData[mainDataKey];\n if (schema) {\n schema.schema.attributes = nextAttributes;\n }\n\n return;\n }\n }\n\n // Find all uid fields that have the targetField set to the field we are removing\n\n const uidFieldsToUpdate: string[] = state.modifiedData[\n mainDataKey\n ]!.schema.attributes.slice().reduce((acc: string[], current: AttributeType) => {\n if (current.type !== 'uid') {\n return acc;\n }\n\n if (current.targetField !== attributeToRemoveName) {\n return acc;\n }\n\n acc.push(current.name as string);\n\n return acc;\n }, []);\n\n uidFieldsToUpdate.forEach((fieldName) => {\n const fieldIndex = findAttributeIndex(state.modifiedData[mainDataKey], fieldName);\n\n delete state.modifiedData[mainDataKey]?.schema.attributes[fieldIndex].targetField;\n });\n\n state.modifiedData[mainDataKey]?.schema.attributes.splice(attributeToRemoveIndex, 1);\n },\n removeFieldFromDisplayedComponent: (\n state,\n action: PayloadAction<RemoveFieldFromDisplayedComponentPayload>\n ) => {\n const { attributeToRemoveName, componentUid } = action.payload;\n\n const attributeToRemoveIndex = findAttributeIndex(\n state.modifiedData.components?.[componentUid],\n attributeToRemoveName\n );\n\n state.modifiedData.components?.[componentUid]?.schema?.attributes?.splice(\n attributeToRemoveIndex,\n 1\n );\n },\n setModifiedData: (state, action: PayloadAction<SetModifiedDataPayload>) => {\n const { schemaToSet, hasJustCreatedSchema } = action.payload;\n\n const schema = {\n ...DEFAULT_MODIFIED_DATA,\n ...schemaToSet,\n };\n\n state.initialData = schema;\n state.modifiedData = schema;\n\n // Reset the state with the initial data\n // All created components and content types will be lost\n if (!hasJustCreatedSchema) {\n state.components = state.initialComponents;\n state.contentTypes = state.initialContentTypes;\n }\n },\n updateSchema: (state, action: PayloadAction<UpdateSchemaPayload>) => {\n const { data, schemaType } = action.payload;\n\n const schema = state.modifiedData[schemaType];\n if (!schema) {\n return;\n }\n\n schema.schema.displayName = data.displayName;\n\n if (schemaType === 'component') {\n const { uid } = action.payload;\n\n schema.category = data.category;\n schema.schema.icon = data.icon;\n const addedComponent = current(schema);\n state.components[uid] = addedComponent as Component;\n } else {\n schema.schema.kind = data.kind;\n }\n },\n },\n});\n\nexport const { reducer, actions } = slice;\nexport { initialState };\n"],"names":["DEFAULT_MODIFIED_DATA","components","contentTypes","initialState","initialComponents","initialContentTypes","initialData","modifiedData","reservedNames","isLoading","ONE_SIDE_RELATIONS","getOppositeRelation","originalRelation","findAttributeIndex","schema","attributeToFind","attributes","findIndex","name","slice","createSlice","reducers","init","state","action","payload","component","uid","undefined","contentType","Object","keys","reduce","acc","key","addAttribute","attributeToSet","forTarget","targetUid","shouldAddComponentToData","rest","createComponent","pathToDataToEdit","includes","currentAttributes","get","updatedAttributes","set","componentToAddUID","componentToAdd","isTemporaryComponent","isTemporary","hasComponentAlreadyBeenAdded","nestedComponents","retrieveComponentsFromSchema","nestedComponentsToAddInModifiedData","filter","compoUID","forEach","compoSchema","isCreatingRelationAttribute","type","target","targetAttribute","relation","relationType","getRelationType","currentUid","oppositeAttribute","private","attributesToSet","addCreatedComponentToDynamicZone","dynamicZoneTarget","componentsToAdd","dzAttributeIndex","componentUid","push","addCustomFieldAttribute","changeDynamicZoneComponents","newComponents","currentDZComponents","updatedComponents","makeUnique","current","createComponentSchema","data","componentCategory","newSchema","category","createSchema","editAttribute","initialAttribute","initialAttributeName","initialAttributeIndex","isEditingRelation","toSet","pluginOptions","currentAttributeIndex","value","splice","oppositeAttributeNameToRemove","oppositeAttributeNameToUpdate","oppositeAttributeToCreate","initialOppositeAttribute","didChangeTargetRelation","didCreateInternalRelation","initialRelationType","hadInternalRelation","didChangeRelationType","shouldRemoveOppositeAttributeBecauseOfTargetChange","shouldRemoveOppositeAttributeBecauseOfRelationTypeChange","shouldUpdateOppositeAttributeBecauseOfRelationTypeChange","shouldCreateOppositeAttributeBecauseOfRelationTypeChange","shouldCreateOppositeAttributeBecauseOfTargetChange","indexToRemove","initialTargetContentType","oppositeAttributeIndex","indexOfInitialAttribute","indexOfUpdatedAttribute","attrName","indexToInsert","indexToUpdate","editCustomFieldAttribute","updateInitialState","deleteNotSavedType","reloadPlugin","removeComponentFromDynamicZone","dzName","componentToRemoveIndex","removeField","mainDataKey","attributeToRemoveName","pathToAttributes","attributeToRemoveIndex","pathToAttributeToRemove","attributeToRemoveData","isRemovingRelationAttribute","canTheAttributeToRemoveHaveARelationWithItself","shouldRemoveOppositeAttribute","nextAttributes","attribute","uidFieldsToUpdate","targetField","fieldName","fieldIndex","removeFieldFromDisplayedComponent","setModifiedData","schemaToSet","hasJustCreatedSchema","updateSchema","schemaType","displayName","icon","addedComponent","kind","reducer","actions"],"mappings":"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"}