@strapi/content-type-builder 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/dist/admin/components/AttributeIcon.js +1 -0
  2. package/dist/admin/components/AttributeIcon.js.map +1 -1
  3. package/dist/admin/components/AttributeIcon.mjs +1 -0
  4. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  5. package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
  6. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  7. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
  8. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  9. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
  10. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  11. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
  12. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  13. package/dist/admin/components/AttributeRow.js +342 -0
  14. package/dist/admin/components/AttributeRow.js.map +1 -0
  15. package/dist/admin/components/AttributeRow.mjs +339 -0
  16. package/dist/admin/components/AttributeRow.mjs.map +1 -0
  17. package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
  18. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  19. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
  20. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  21. package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
  22. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  23. package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
  24. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  25. package/dist/admin/components/ComponentList.js +12 -26
  26. package/dist/admin/components/ComponentList.js.map +1 -1
  27. package/dist/admin/components/ComponentList.mjs +12 -26
  28. package/dist/admin/components/ComponentList.mjs.map +1 -1
  29. package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
  30. package/dist/admin/components/ComponentRow.js.map +1 -0
  31. package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
  32. package/dist/admin/components/ComponentRow.mjs.map +1 -0
  33. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
  34. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  35. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
  36. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  37. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
  38. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  39. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
  40. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  41. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
  42. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
  43. package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
  44. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
  45. package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
  46. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
  47. package/dist/admin/components/DataManager/reducer.js +546 -0
  48. package/dist/admin/components/DataManager/reducer.js.map +1 -0
  49. package/dist/admin/components/DataManager/reducer.mjs +542 -0
  50. package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
  51. package/dist/admin/components/DataManager/undoRedo.js +102 -0
  52. package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
  53. package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
  54. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
  55. package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
  56. package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
  57. package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
  58. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
  59. package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
  60. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
  61. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
  62. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
  63. package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
  64. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
  65. package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
  66. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
  67. package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
  68. package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
  69. package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
  70. package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
  71. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
  72. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  73. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
  74. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  75. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
  76. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
  77. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
  78. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  81. package/dist/admin/components/DisplayedType.js +14 -14
  82. package/dist/admin/components/DisplayedType.js.map +1 -1
  83. package/dist/admin/components/DisplayedType.mjs +15 -15
  84. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  85. package/dist/admin/components/DynamicZoneList.js +34 -38
  86. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  87. package/dist/admin/components/DynamicZoneList.mjs +36 -40
  88. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  89. package/dist/admin/components/ExitPrompt.js +50 -0
  90. package/dist/admin/components/ExitPrompt.js.map +1 -0
  91. package/dist/admin/components/ExitPrompt.mjs +48 -0
  92. package/dist/admin/components/ExitPrompt.mjs.map +1 -0
  93. package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
  94. package/dist/admin/components/Footers.js.map +1 -0
  95. package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
  96. package/dist/admin/components/Footers.mjs.map +1 -0
  97. package/dist/admin/components/FormModal/FormModal.js +198 -164
  98. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  99. package/dist/admin/components/FormModal/FormModal.mjs +198 -165
  100. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  101. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  102. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  103. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  104. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
  106. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  107. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  108. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/forms/forms.js +10 -27
  110. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  111. package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
  112. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  114. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  115. package/dist/admin/components/FormModal/reducer.js +4 -4
  116. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  117. package/dist/admin/components/FormModal/reducer.mjs +4 -4
  118. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  119. package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
  120. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  121. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
  122. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  123. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  124. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  125. package/dist/admin/components/FormModalEndActions.js +1 -34
  126. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  127. package/dist/admin/components/FormModalEndActions.mjs +1 -34
  128. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  129. package/dist/admin/components/FormModalHeader.js +10 -28
  130. package/dist/admin/components/FormModalHeader.js.map +1 -1
  131. package/dist/admin/components/FormModalHeader.mjs +10 -28
  132. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  133. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
  134. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
  135. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
  136. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
  137. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
  138. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
  139. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
  140. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
  141. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
  142. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
  143. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  144. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  145. package/dist/admin/components/GenericInputs.js +9 -5
  146. package/dist/admin/components/GenericInputs.js.map +1 -1
  147. package/dist/admin/components/GenericInputs.mjs +9 -5
  148. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  149. package/dist/admin/components/List.js +149 -199
  150. package/dist/admin/components/List.js.map +1 -1
  151. package/dist/admin/components/List.mjs +151 -202
  152. package/dist/admin/components/List.mjs.map +1 -1
  153. package/dist/admin/components/Relation/Relation.js +3 -2
  154. package/dist/admin/components/Relation/Relation.js.map +1 -1
  155. package/dist/admin/components/Relation/Relation.mjs +3 -2
  156. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  157. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  158. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  159. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  160. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  161. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
  162. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  163. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
  164. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  165. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
  166. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  167. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
  168. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  169. package/dist/admin/components/SelectCategory.js +1 -1
  170. package/dist/admin/components/SelectCategory.js.map +1 -1
  171. package/dist/admin/components/SelectCategory.mjs +1 -1
  172. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  173. package/dist/admin/components/SelectComponent.js +3 -6
  174. package/dist/admin/components/SelectComponent.js.map +1 -1
  175. package/dist/admin/components/SelectComponent.mjs +3 -6
  176. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  177. package/dist/admin/components/SelectComponents.js +9 -6
  178. package/dist/admin/components/SelectComponents.js.map +1 -1
  179. package/dist/admin/components/SelectComponents.mjs +9 -6
  180. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  181. package/dist/admin/components/SelectNumber.js +0 -4
  182. package/dist/admin/components/SelectNumber.js.map +1 -1
  183. package/dist/admin/components/SelectNumber.mjs +0 -4
  184. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  185. package/dist/admin/components/Status.js +73 -0
  186. package/dist/admin/components/Status.js.map +1 -0
  187. package/dist/admin/components/Status.mjs +70 -0
  188. package/dist/admin/components/Status.mjs.map +1 -0
  189. package/dist/admin/components/TabForm.js +2 -1
  190. package/dist/admin/components/TabForm.js.map +1 -1
  191. package/dist/admin/components/TabForm.mjs +2 -1
  192. package/dist/admin/components/TabForm.mjs.map +1 -1
  193. package/dist/admin/icons/Curve.js +1 -1
  194. package/dist/admin/icons/Curve.js.map +1 -1
  195. package/dist/admin/icons/Curve.mjs +1 -1
  196. package/dist/admin/icons/Curve.mjs.map +1 -1
  197. package/dist/admin/pages/App/index.js +39 -19
  198. package/dist/admin/pages/App/index.js.map +1 -1
  199. package/dist/admin/pages/App/index.mjs +41 -21
  200. package/dist/admin/pages/App/index.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/EmptyState.js +38 -0
  202. package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
  203. package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
  204. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
  205. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
  206. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  207. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
  208. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/ListView.js +105 -158
  210. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  211. package/dist/admin/pages/ListView/ListView.mjs +110 -163
  212. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  213. package/dist/admin/reducers.js +3 -4
  214. package/dist/admin/reducers.js.map +1 -1
  215. package/dist/admin/reducers.mjs +3 -4
  216. package/dist/admin/reducers.mjs.map +1 -1
  217. package/dist/admin/src/components/AttributeRow.d.ts +28 -0
  218. package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
  219. package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
  220. package/dist/admin/src/components/ComponentList.d.ts +4 -6
  221. package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
  222. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
  223. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
  224. package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
  225. package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
  226. package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
  227. package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
  228. package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
  229. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
  230. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
  231. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
  232. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
  233. package/dist/admin/src/components/DisplayedType.d.ts +2 -1
  234. package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
  235. package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
  236. package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
  237. package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
  238. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
  239. package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
  240. package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
  241. package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
  242. package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
  243. package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
  244. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
  245. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
  246. package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
  247. package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
  248. package/dist/admin/src/components/GenericInputs.d.ts +2 -1
  249. package/dist/admin/src/components/List.d.ts +16 -13
  250. package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
  251. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
  252. package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
  253. package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
  254. package/dist/admin/src/components/SelectComponents.d.ts +3 -1
  255. package/dist/admin/src/components/SelectNumber.d.ts +1 -7
  256. package/dist/admin/src/components/Status.d.ts +6 -0
  257. package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
  258. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
  259. package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
  260. package/dist/admin/src/reducers.d.ts +2 -8
  261. package/dist/admin/src/types.d.ts +40 -43
  262. package/dist/admin/src/utils/findAttribute.d.ts +2 -2
  263. package/dist/admin/src/utils/formAPI.d.ts +43 -1
  264. package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
  265. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  266. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  267. package/dist/admin/translations/de.json.js +0 -1
  268. package/dist/admin/translations/de.json.js.map +1 -1
  269. package/dist/admin/translations/de.json.mjs +0 -1
  270. package/dist/admin/translations/de.json.mjs.map +1 -1
  271. package/dist/admin/translations/dk.json.js +0 -1
  272. package/dist/admin/translations/dk.json.js.map +1 -1
  273. package/dist/admin/translations/dk.json.mjs +0 -1
  274. package/dist/admin/translations/dk.json.mjs.map +1 -1
  275. package/dist/admin/translations/en.json.js +4 -2
  276. package/dist/admin/translations/en.json.js.map +1 -1
  277. package/dist/admin/translations/en.json.mjs +4 -2
  278. package/dist/admin/translations/en.json.mjs.map +1 -1
  279. package/dist/admin/translations/es.json.js +0 -1
  280. package/dist/admin/translations/es.json.js.map +1 -1
  281. package/dist/admin/translations/es.json.mjs +0 -1
  282. package/dist/admin/translations/es.json.mjs.map +1 -1
  283. package/dist/admin/translations/ko.json.js +0 -1
  284. package/dist/admin/translations/ko.json.js.map +1 -1
  285. package/dist/admin/translations/ko.json.mjs +0 -1
  286. package/dist/admin/translations/ko.json.mjs.map +1 -1
  287. package/dist/admin/translations/pl.json.js +0 -1
  288. package/dist/admin/translations/pl.json.js.map +1 -1
  289. package/dist/admin/translations/pl.json.mjs +0 -1
  290. package/dist/admin/translations/pl.json.mjs.map +1 -1
  291. package/dist/admin/translations/pt-BR.json.js +0 -1
  292. package/dist/admin/translations/pt-BR.json.js.map +1 -1
  293. package/dist/admin/translations/pt-BR.json.mjs +0 -1
  294. package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
  295. package/dist/admin/translations/sv.json.js +0 -1
  296. package/dist/admin/translations/sv.json.js.map +1 -1
  297. package/dist/admin/translations/sv.json.mjs +0 -1
  298. package/dist/admin/translations/sv.json.mjs.map +1 -1
  299. package/dist/admin/translations/tr.json.js +0 -1
  300. package/dist/admin/translations/tr.json.js.map +1 -1
  301. package/dist/admin/translations/tr.json.mjs +0 -1
  302. package/dist/admin/translations/tr.json.mjs.map +1 -1
  303. package/dist/admin/translations/zh.json.js +0 -1
  304. package/dist/admin/translations/zh.json.js.map +1 -1
  305. package/dist/admin/translations/zh.json.mjs +0 -1
  306. package/dist/admin/translations/zh.json.mjs.map +1 -1
  307. package/dist/admin/utils/findAttribute.js.map +1 -1
  308. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  309. package/dist/admin/utils/formAPI.js +0 -1
  310. package/dist/admin/utils/formAPI.js.map +1 -1
  311. package/dist/admin/utils/formAPI.mjs +0 -1
  312. package/dist/admin/utils/formAPI.mjs.map +1 -1
  313. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  314. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  315. package/dist/admin/utils/getRelationType.js.map +1 -1
  316. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  317. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  318. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  319. package/dist/server/controllers/index.js +3 -1
  320. package/dist/server/controllers/index.js.map +1 -1
  321. package/dist/server/controllers/index.mjs +3 -1
  322. package/dist/server/controllers/index.mjs.map +1 -1
  323. package/dist/server/controllers/schema.js +55 -0
  324. package/dist/server/controllers/schema.js.map +1 -0
  325. package/dist/server/controllers/schema.mjs +53 -0
  326. package/dist/server/controllers/schema.mjs.map +1 -0
  327. package/dist/server/controllers/validation/common.js +2 -0
  328. package/dist/server/controllers/validation/common.js.map +1 -1
  329. package/dist/server/controllers/validation/common.mjs +2 -1
  330. package/dist/server/controllers/validation/common.mjs.map +1 -1
  331. package/dist/server/controllers/validation/content-type.js.map +1 -1
  332. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  333. package/dist/server/controllers/validation/schema.js +612 -0
  334. package/dist/server/controllers/validation/schema.js.map +1 -0
  335. package/dist/server/controllers/validation/schema.mjs +610 -0
  336. package/dist/server/controllers/validation/schema.mjs.map +1 -0
  337. package/dist/server/routes/admin.js +51 -0
  338. package/dist/server/routes/admin.js.map +1 -1
  339. package/dist/server/routes/admin.mjs +51 -0
  340. package/dist/server/routes/admin.mjs.map +1 -1
  341. package/dist/server/services/index.js +3 -1
  342. package/dist/server/services/index.js.map +1 -1
  343. package/dist/server/services/index.mjs +3 -1
  344. package/dist/server/services/index.mjs.map +1 -1
  345. package/dist/server/services/schema-builder/component-builder.js +12 -2
  346. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  347. package/dist/server/services/schema-builder/component-builder.mjs +12 -2
  348. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  349. package/dist/server/services/schema-builder/content-type-builder.js +43 -28
  350. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  351. package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
  352. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  353. package/dist/server/services/schema-builder/index.js +51 -49
  354. package/dist/server/services/schema-builder/index.js.map +1 -1
  355. package/dist/server/services/schema-builder/index.mjs +51 -49
  356. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  357. package/dist/server/services/schema.js +246 -0
  358. package/dist/server/services/schema.js.map +1 -0
  359. package/dist/server/services/schema.mjs +242 -0
  360. package/dist/server/services/schema.mjs.map +1 -0
  361. package/dist/server/src/controllers/index.d.ts +5 -0
  362. package/dist/server/src/controllers/index.d.ts.map +1 -1
  363. package/dist/server/src/controllers/schema.d.ts +8 -0
  364. package/dist/server/src/controllers/schema.d.ts.map +1 -0
  365. package/dist/server/src/controllers/validation/common.d.ts +1 -0
  366. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  367. package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
  368. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  369. package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
  370. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
  371. package/dist/server/src/index.d.ts +6 -0
  372. package/dist/server/src/index.d.ts.map +1 -1
  373. package/dist/server/src/routes/admin.d.ts.map +1 -1
  374. package/dist/server/src/services/index.d.ts +2 -0
  375. package/dist/server/src/services/index.d.ts.map +1 -1
  376. package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
  377. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  378. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
  379. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  380. package/dist/server/src/services/schema-builder/index.d.ts +3 -0
  381. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  382. package/dist/server/src/services/schema.d.ts +2756 -0
  383. package/dist/server/src/services/schema.d.ts.map +1 -0
  384. package/dist/server/src/utils/index.d.ts +2 -0
  385. package/dist/server/src/utils/index.d.ts.map +1 -1
  386. package/dist/server/utils/index.js.map +1 -1
  387. package/dist/server/utils/index.mjs.map +1 -1
  388. package/package.json +13 -8
  389. package/dist/admin/components/BoxWrapper.js +0 -44
  390. package/dist/admin/components/BoxWrapper.js.map +0 -1
  391. package/dist/admin/components/BoxWrapper.mjs +0 -42
  392. package/dist/admin/components/BoxWrapper.mjs.map +0 -1
  393. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
  394. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
  395. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
  396. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
  397. package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
  398. package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
  399. package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
  400. package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
  401. package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
  402. package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
  403. package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
  404. package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
  405. package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
  406. package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
  407. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
  408. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
  409. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
  410. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
  411. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
  412. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
  413. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
  414. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
  415. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
  416. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
  417. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
  418. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
  419. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
  420. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
  421. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
  422. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
  423. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
  424. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
  425. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
  426. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
  427. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
  428. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
  429. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
  430. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
  431. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
  432. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
  433. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
  434. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
  435. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
  436. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
  437. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
  438. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
  439. package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
  440. package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
  441. package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
  442. package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
  443. package/dist/admin/components/FormModal/category/form.js +0 -34
  444. package/dist/admin/components/FormModal/category/form.js.map +0 -1
  445. package/dist/admin/components/FormModal/category/form.mjs +0 -32
  446. package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
  447. package/dist/admin/components/FormModal/category/regex.js +0 -6
  448. package/dist/admin/components/FormModal/category/regex.js.map +0 -1
  449. package/dist/admin/components/FormModal/category/regex.mjs +0 -4
  450. package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
  451. package/dist/admin/components/FormModal/selectors.js +0 -20
  452. package/dist/admin/components/FormModal/selectors.js.map +0 -1
  453. package/dist/admin/components/FormModal/selectors.mjs +0 -17
  454. package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
  455. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
  456. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
  457. package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
  458. package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
  459. package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
  460. package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
  461. package/dist/admin/components/ListRow.js +0 -164
  462. package/dist/admin/components/ListRow.js.map +0 -1
  463. package/dist/admin/components/ListRow.mjs +0 -161
  464. package/dist/admin/components/ListRow.mjs.map +0 -1
  465. package/dist/admin/components/NestedFooter.js.map +0 -1
  466. package/dist/admin/components/NestedFooter.mjs.map +0 -1
  467. package/dist/admin/components/Tr.js.map +0 -1
  468. package/dist/admin/components/Tr.mjs.map +0 -1
  469. package/dist/admin/components/UpperFirst.js +0 -11
  470. package/dist/admin/components/UpperFirst.js.map +0 -1
  471. package/dist/admin/components/UpperFirst.mjs +0 -9
  472. package/dist/admin/components/UpperFirst.mjs.map +0 -1
  473. package/dist/admin/contexts/DataManagerContext.js.map +0 -1
  474. package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
  475. package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
  476. package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
  477. package/dist/admin/hooks/useDataManager.js.map +0 -1
  478. package/dist/admin/hooks/useDataManager.mjs.map +0 -1
  479. package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
  480. package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
  481. package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
  482. package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
  483. package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
  484. package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
  485. package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
  486. package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
  487. package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
  488. package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
  489. package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
  490. package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
  491. package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
  492. package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
  493. package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
  494. package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
  495. package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
  496. package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
  497. package/dist/admin/src/components/ListRow.d.ts +0 -27
  498. package/dist/admin/src/components/Tr.d.ts +0 -5
  499. package/dist/admin/src/components/UpperFirst.d.ts +0 -3
  500. package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
  501. package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
  502. package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
  503. package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
  504. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
  505. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
  506. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
  507. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
  508. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
  509. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
  510. /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
@@ -1,579 +0,0 @@
1
- import { createSlice } from '@reduxjs/toolkit';
2
- import { current } from 'immer';
3
- import get from 'lodash/get';
4
- import set from 'lodash/set';
5
- import { getRelationType } from '../../utils/getRelationType.mjs';
6
- import { makeUnique } from '../../utils/makeUnique.mjs';
7
- import { retrieveComponentsFromSchema } from './utils/retrieveComponentsFromSchema.mjs';
8
-
9
- const DEFAULT_MODIFIED_DATA = {
10
- components: {},
11
- contentTypes: {}
12
- };
13
- const initialState = {
14
- components: {},
15
- contentTypes: {},
16
- initialComponents: {},
17
- initialContentTypes: {},
18
- initialData: {},
19
- modifiedData: {
20
- ...DEFAULT_MODIFIED_DATA
21
- },
22
- reservedNames: {},
23
- isLoading: true
24
- };
25
- const ONE_SIDE_RELATIONS = [
26
- 'oneWay',
27
- 'manyWay'
28
- ];
29
- const getOppositeRelation = (originalRelation)=>{
30
- if (originalRelation === 'manyToOne') {
31
- return 'oneToMany';
32
- }
33
- if (originalRelation === 'oneToMany') {
34
- return 'manyToOne';
35
- }
36
- return originalRelation;
37
- };
38
- const findAttributeIndex = (schema, attributeToFind)=>{
39
- return schema.schema.attributes.findIndex(({ name })=>name === attributeToFind);
40
- };
41
- const slice = createSlice({
42
- name: 'data-manager',
43
- initialState,
44
- reducers: {
45
- init: (state, action)=>{
46
- const { components, contentTypes, reservedNames } = action.payload;
47
- state.components = components;
48
- state.initialComponents = components;
49
- state.initialContentTypes = contentTypes;
50
- state.contentTypes = contentTypes;
51
- state.reservedNames = reservedNames;
52
- state.isLoading = false;
53
- state.modifiedData = {
54
- ...DEFAULT_MODIFIED_DATA,
55
- component: state.modifiedData.component ? components[state.modifiedData.component.uid] : undefined,
56
- contentType: state.modifiedData.contentType ? contentTypes[state.modifiedData.contentType.uid] : undefined,
57
- components: state.modifiedData.components ? Object.keys(state.modifiedData.components).reduce((acc, key)=>{
58
- acc[key] = components[key];
59
- return acc;
60
- }, {}) : {},
61
- contentTypes: state.modifiedData.contentTypes ? Object.keys(state.modifiedData.contentTypes).reduce((acc, key)=>{
62
- acc[key] = contentTypes[key];
63
- return acc;
64
- }, {}) : {}
65
- };
66
- state.initialData = state.modifiedData;
67
- },
68
- addAttribute: (state, action)=>{
69
- const { attributeToSet, forTarget, targetUid, shouldAddComponentToData } = action.payload;
70
- const { name, ...rest } = attributeToSet;
71
- delete rest.createComponent;
72
- const pathToDataToEdit = [
73
- 'component',
74
- 'contentType'
75
- ].includes(forTarget) ? [
76
- forTarget
77
- ] : [
78
- forTarget,
79
- targetUid
80
- ];
81
- const currentAttributes = get(state, [
82
- 'modifiedData',
83
- ...pathToDataToEdit,
84
- 'schema',
85
- 'attributes'
86
- ], []).slice();
87
- // Add the createdAttribute
88
- const updatedAttributes = [
89
- ...currentAttributes,
90
- {
91
- ...rest,
92
- name
93
- }
94
- ];
95
- set(state, [
96
- 'modifiedData',
97
- ...pathToDataToEdit,
98
- 'schema',
99
- 'attributes'
100
- ], updatedAttributes);
101
- if (shouldAddComponentToData) {
102
- const componentToAddUID = rest.component;
103
- const componentToAdd = state.components[componentToAddUID];
104
- const isTemporaryComponent = componentToAdd?.isTemporary;
105
- const hasComponentAlreadyBeenAdded = state.modifiedData.components?.[componentToAddUID] !== undefined;
106
- if (isTemporaryComponent || hasComponentAlreadyBeenAdded) {
107
- return;
108
- }
109
- // Initialize modifiedData.components if it is undefined
110
- if (!state.modifiedData.components) {
111
- state.modifiedData.components = {};
112
- }
113
- // Add the added component to the modifiedData.components
114
- state.modifiedData.components[componentToAddUID] = componentToAdd;
115
- const nestedComponents = retrieveComponentsFromSchema(componentToAdd.schema.attributes, state.components);
116
- // 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
117
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
118
- return get(state, [
119
- 'modifiedData',
120
- 'components',
121
- compoUID
122
- ]) === undefined;
123
- });
124
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
125
- const compoSchema = get(state, [
126
- 'components',
127
- compoUID
128
- ], {});
129
- const isTemporary = compoSchema.isTemporary || false;
130
- // If the nested component has not been saved we don't need to add them as they are already in the state
131
- if (!isTemporary) {
132
- if (!state.modifiedData.components) {
133
- state.modifiedData.components = {};
134
- }
135
- state.modifiedData.components[compoUID] = compoSchema;
136
- }
137
- });
138
- return;
139
- }
140
- const isCreatingRelationAttribute = rest.type === 'relation';
141
- if (isCreatingRelationAttribute) {
142
- const target = rest.target;
143
- const targetAttribute = rest.targetAttribute || null;
144
- const relation = rest.relation;
145
- const relationType = getRelationType(relation, targetAttribute);
146
- const currentUid = get(state, [
147
- 'modifiedData',
148
- ...pathToDataToEdit,
149
- 'uid'
150
- ]);
151
- // When the user in creating a relation with the same content type we need to create another attribute
152
- // that is the opposite of the created one
153
- if (rest.type === 'relation' && relationType !== 'oneWay' && relationType !== 'manyWay' && target === currentUid) {
154
- const oppositeAttribute = {
155
- name: targetAttribute,
156
- relation: getOppositeRelation(relationType),
157
- target,
158
- targetAttribute: name,
159
- type: 'relation'
160
- };
161
- if (rest.private) {
162
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
163
- oppositeAttribute.private = rest.private;
164
- }
165
- const attributesToSet = [
166
- ...updatedAttributes,
167
- oppositeAttribute
168
- ];
169
- set(state, [
170
- 'modifiedData',
171
- ...pathToDataToEdit,
172
- 'schema',
173
- 'attributes'
174
- ], attributesToSet);
175
- }
176
- }
177
- },
178
- addCreatedComponentToDynamicZone: (state, action)=>{
179
- const { dynamicZoneTarget, componentsToAdd } = action.payload;
180
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
181
- componentsToAdd.forEach((componentUid)=>{
182
- if (!state.modifiedData.contentType) {
183
- return;
184
- }
185
- if (!state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components) {
186
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components = [];
187
- }
188
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.push(componentUid);
189
- });
190
- },
191
- addCustomFieldAttribute: (state, action)=>{
192
- const { attributeToSet, forTarget, targetUid } = action.payload;
193
- const { name, ...rest } = attributeToSet;
194
- const pathToDataToEdit = [
195
- 'component',
196
- 'contentType'
197
- ].includes(forTarget) ? [
198
- forTarget
199
- ] : [
200
- forTarget,
201
- targetUid
202
- ];
203
- const currentAttributes = get(state, [
204
- 'modifiedData',
205
- ...pathToDataToEdit,
206
- 'schema',
207
- 'attributes'
208
- ], []).slice();
209
- // Add the createdAttribute
210
- const updatedAttributes = [
211
- ...currentAttributes,
212
- {
213
- ...rest,
214
- name
215
- }
216
- ];
217
- set(state, [
218
- 'modifiedData',
219
- ...pathToDataToEdit,
220
- 'schema',
221
- 'attributes'
222
- ], updatedAttributes);
223
- },
224
- changeDynamicZoneComponents: (state, action)=>{
225
- const { dynamicZoneTarget, newComponents } = action.payload;
226
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
227
- const currentDZComponents = (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components;
228
- const updatedComponents = makeUnique([
229
- ...currentDZComponents,
230
- ...newComponents
231
- ]);
232
- (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components = updatedComponents;
233
- // Retrieve all the components that needs to be added to the modifiedData.components
234
- const nestedComponents = retrieveComponentsFromSchema(current(state.modifiedData.contentType?.schema.attributes), state.components);
235
- // 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
236
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
237
- return get(state, [
238
- 'modifiedData',
239
- 'components',
240
- compoUID
241
- ]) === undefined;
242
- });
243
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
244
- const compoSchema = get(state, [
245
- 'components',
246
- compoUID
247
- ], {});
248
- const isTemporary = compoSchema.isTemporary || false;
249
- // If the nested component has not been saved we don't need to add them as they are already in the state
250
- if (!isTemporary) {
251
- if (!state.modifiedData.components) {
252
- state.modifiedData.components = {};
253
- }
254
- state.modifiedData.components[compoUID] = compoSchema;
255
- }
256
- });
257
- },
258
- createComponentSchema: (state, action)=>{
259
- const { uid, data, componentCategory, shouldAddComponentToData } = action.payload;
260
- const newSchema = {
261
- uid: uid,
262
- isTemporary: true,
263
- category: componentCategory,
264
- schema: {
265
- ...data,
266
- attributes: []
267
- }
268
- };
269
- state.components[uid] = newSchema;
270
- if (shouldAddComponentToData) {
271
- state.modifiedData.components[uid] = newSchema;
272
- }
273
- },
274
- createSchema: (state, action)=>{
275
- const { uid, data } = action.payload;
276
- const newSchema = {
277
- uid: uid,
278
- isTemporary: true,
279
- schema: {
280
- ...data,
281
- attributes: []
282
- }
283
- };
284
- state.contentTypes[uid] = newSchema;
285
- },
286
- editAttribute: (state, action)=>{
287
- const { attributeToSet, forTarget, targetUid, initialAttribute } = action.payload;
288
- const { name, ...rest } = attributeToSet;
289
- const initialAttributeName = initialAttribute.name;
290
- const pathToDataToEdit = [
291
- 'component',
292
- 'contentType'
293
- ].includes(forTarget) ? [
294
- forTarget
295
- ] : [
296
- forTarget,
297
- targetUid
298
- ];
299
- const initialAttributeIndex = findAttributeIndex(get(state, [
300
- 'modifiedData',
301
- ...pathToDataToEdit
302
- ]), initialAttributeName);
303
- const isEditingRelation = rest.type === 'relation';
304
- if (!isEditingRelation) {
305
- set(state, [
306
- 'modifiedData',
307
- ...pathToDataToEdit,
308
- 'schema',
309
- 'attributes',
310
- initialAttributeIndex
311
- ], attributeToSet);
312
- return;
313
- }
314
- const updatedAttributes = get(state, [
315
- 'modifiedData',
316
- ...pathToDataToEdit,
317
- 'schema',
318
- 'attributes'
319
- ]).slice();
320
- // First create the current relation attribute updated
321
- const toSet = {
322
- name,
323
- relation: rest.relation,
324
- target: rest.target,
325
- targetAttribute: rest.targetAttribute,
326
- type: 'relation'
327
- };
328
- if (rest.private) {
329
- toSet.private = rest.private;
330
- }
331
- if (rest.pluginOptions) {
332
- toSet.pluginOptions = rest.pluginOptions;
333
- }
334
- const currentAttributeIndex = updatedAttributes.findIndex((value)=>{
335
- return value.name !== undefined && value.name === initialAttribute.name;
336
- });
337
- // First set it in the updatedAttributes
338
- if (currentAttributeIndex !== -1) {
339
- updatedAttributes.splice(currentAttributeIndex, 1, toSet);
340
- }
341
- let oppositeAttributeNameToRemove = null;
342
- let oppositeAttributeNameToUpdate = null;
343
- let oppositeAttributeToCreate = null;
344
- let initialOppositeAttribute = null;
345
- const currentUid = get(state, [
346
- 'modifiedData',
347
- ...pathToDataToEdit,
348
- 'uid'
349
- ]);
350
- const didChangeTargetRelation = initialAttribute.target !== rest.target;
351
- const didCreateInternalRelation = rest.target === currentUid;
352
- const relationType = getRelationType(rest.relation, rest.targetAttribute);
353
- const initialRelationType = getRelationType(initialAttribute.relation, initialAttribute.targetAttribute);
354
- const hadInternalRelation = initialAttribute.target === currentUid;
355
- const didChangeRelationType = initialRelationType !== relationType;
356
- const shouldRemoveOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && !didCreateInternalRelation && hadInternalRelation && isEditingRelation;
357
- const shouldRemoveOppositeAttributeBecauseOfRelationTypeChange = didChangeRelationType && hadInternalRelation && [
358
- 'oneWay',
359
- 'manyWay'
360
- ].includes(relationType) && isEditingRelation;
361
- const shouldUpdateOppositeAttributeBecauseOfRelationTypeChange = !ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
362
- const shouldCreateOppositeAttributeBecauseOfRelationTypeChange = ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
363
- const shouldCreateOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && didCreateInternalRelation && !ONE_SIDE_RELATIONS.includes(relationType);
364
- // Store opposite attribute name to remove at the end of the loop
365
- if (shouldRemoveOppositeAttributeBecauseOfTargetChange || shouldRemoveOppositeAttributeBecauseOfRelationTypeChange) {
366
- oppositeAttributeNameToRemove = initialAttribute.targetAttribute;
367
- }
368
- // In case of oneWay or manyWay relation there isn't an opposite attribute
369
- if (oppositeAttributeNameToRemove) {
370
- const indexToRemove = updatedAttributes.findIndex((value)=>value.name === oppositeAttributeNameToRemove);
371
- updatedAttributes.splice(indexToRemove, 1);
372
- }
373
- // In order to preserve plugin options need to get the initial opposite attribute settings
374
- if (!shouldRemoveOppositeAttributeBecauseOfTargetChange) {
375
- const initialTargetContentType = get(state, [
376
- 'initialContentTypes',
377
- initialAttribute.target
378
- ]);
379
- if (initialTargetContentType) {
380
- const oppositeAttributeIndex = findAttributeIndex(initialTargetContentType, initialAttribute.targetAttribute);
381
- initialOppositeAttribute = get(state, [
382
- 'initialContentTypes',
383
- initialAttribute.target,
384
- 'schema',
385
- 'attributes',
386
- oppositeAttributeIndex
387
- ]);
388
- }
389
- }
390
- // Create the opposite attribute
391
- if (shouldCreateOppositeAttributeBecauseOfRelationTypeChange || shouldCreateOppositeAttributeBecauseOfTargetChange) {
392
- oppositeAttributeToCreate = {
393
- name: rest.targetAttribute,
394
- relation: getOppositeRelation(relationType),
395
- target: rest.target,
396
- targetAttribute: name,
397
- type: 'relation'
398
- };
399
- if (rest.private) {
400
- oppositeAttributeToCreate.private = rest.private;
401
- }
402
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
403
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
404
- }
405
- const indexOfInitialAttribute = updatedAttributes.findIndex(({ name })=>name === initialAttribute.name);
406
- const indexOfUpdatedAttribute = updatedAttributes.findIndex(({ name: attrName })=>name === attrName);
407
- const indexToInsert = (indexOfInitialAttribute === -1 ? indexOfUpdatedAttribute : indexOfInitialAttribute) + 1;
408
- updatedAttributes.splice(indexToInsert, 0, oppositeAttributeToCreate);
409
- }
410
- if (shouldUpdateOppositeAttributeBecauseOfRelationTypeChange) {
411
- oppositeAttributeNameToUpdate = initialAttribute.targetAttribute;
412
- oppositeAttributeToCreate = {
413
- name: rest.targetAttribute,
414
- relation: getOppositeRelation(relationType),
415
- target: rest.target,
416
- targetAttribute: name,
417
- type: 'relation'
418
- };
419
- if (rest.private) {
420
- oppositeAttributeToCreate.private = rest.private;
421
- }
422
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
423
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
424
- }
425
- if (oppositeAttributeNameToUpdate) {
426
- const indexToUpdate = updatedAttributes.findIndex(({ name })=>name === oppositeAttributeNameToUpdate);
427
- updatedAttributes.splice(indexToUpdate, 1, oppositeAttributeToCreate);
428
- }
429
- }
430
- set(state, [
431
- 'modifiedData',
432
- ...pathToDataToEdit,
433
- 'schema',
434
- 'attributes'
435
- ], updatedAttributes);
436
- },
437
- editCustomFieldAttribute: (state, action)=>{
438
- const { forTarget, targetUid, initialAttribute, attributeToSet } = action.payload;
439
- const initialAttributeName = initialAttribute.name;
440
- const pathToDataToEdit = [
441
- 'component',
442
- 'contentType'
443
- ].includes(forTarget) ? [
444
- forTarget
445
- ] : [
446
- forTarget,
447
- targetUid
448
- ];
449
- const initialAttributeIndex = findAttributeIndex(get(state, [
450
- 'modifiedData',
451
- ...pathToDataToEdit
452
- ]), initialAttributeName);
453
- set(state, [
454
- 'modifiedData',
455
- ...pathToDataToEdit,
456
- 'schema',
457
- 'attributes',
458
- initialAttributeIndex
459
- ], attributeToSet);
460
- },
461
- updateInitialState: (state)=>{
462
- state.initialData = state.modifiedData;
463
- },
464
- deleteNotSavedType: (state)=>{
465
- // Doing so will also reset the modified and the initial data
466
- state.contentTypes = state.initialContentTypes;
467
- state.components = state.initialComponents;
468
- },
469
- reloadPlugin: ()=>{
470
- return initialState;
471
- },
472
- removeComponentFromDynamicZone: (state, action)=>{
473
- const { dzName, componentToRemoveIndex } = action.payload;
474
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dzName);
475
- if (state.modifiedData.contentType) {
476
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.splice(componentToRemoveIndex, 1);
477
- }
478
- },
479
- removeField: (state, action)=>{
480
- const { mainDataKey, attributeToRemoveName } = action.payload;
481
- const pathToAttributes = [
482
- 'modifiedData',
483
- mainDataKey,
484
- 'schema',
485
- 'attributes'
486
- ];
487
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData[mainDataKey], attributeToRemoveName);
488
- const pathToAttributeToRemove = [
489
- ...pathToAttributes,
490
- attributeToRemoveIndex
491
- ];
492
- const attributeToRemoveData = get(state, pathToAttributeToRemove);
493
- const isRemovingRelationAttribute = attributeToRemoveData.type === 'relation';
494
- // Only content types can have relations with themselves since
495
- // components can only have oneWay or manyWay relations
496
- const canTheAttributeToRemoveHaveARelationWithItself = mainDataKey === 'contentType';
497
- if (isRemovingRelationAttribute && canTheAttributeToRemoveHaveARelationWithItself) {
498
- const { target, relation, targetAttribute } = attributeToRemoveData;
499
- const relationType = getRelationType(relation, targetAttribute);
500
- const uid = state.modifiedData.contentType?.uid;
501
- const shouldRemoveOppositeAttribute = target === uid && !ONE_SIDE_RELATIONS.includes(relationType);
502
- if (shouldRemoveOppositeAttribute) {
503
- const attributes = state.modifiedData[mainDataKey]?.schema.attributes.slice();
504
- const nextAttributes = attributes.filter((attribute)=>{
505
- if (attribute.name === attributeToRemoveName) {
506
- return false;
507
- }
508
- if (attribute.target === uid && attribute.targetAttribute === attributeToRemoveName) {
509
- return false;
510
- }
511
- return true;
512
- });
513
- const schema = state.modifiedData[mainDataKey];
514
- if (schema) {
515
- schema.schema.attributes = nextAttributes;
516
- }
517
- return;
518
- }
519
- }
520
- // Find all uid fields that have the targetField set to the field we are removing
521
- const uidFieldsToUpdate = state.modifiedData[mainDataKey].schema.attributes.slice().reduce((acc, current)=>{
522
- if (current.type !== 'uid') {
523
- return acc;
524
- }
525
- if (current.targetField !== attributeToRemoveName) {
526
- return acc;
527
- }
528
- acc.push(current.name);
529
- return acc;
530
- }, []);
531
- uidFieldsToUpdate.forEach((fieldName)=>{
532
- const fieldIndex = findAttributeIndex(state.modifiedData[mainDataKey], fieldName);
533
- delete state.modifiedData[mainDataKey]?.schema.attributes[fieldIndex].targetField;
534
- });
535
- state.modifiedData[mainDataKey]?.schema.attributes.splice(attributeToRemoveIndex, 1);
536
- },
537
- removeFieldFromDisplayedComponent: (state, action)=>{
538
- const { attributeToRemoveName, componentUid } = action.payload;
539
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData.components?.[componentUid], attributeToRemoveName);
540
- state.modifiedData.components?.[componentUid]?.schema?.attributes?.splice(attributeToRemoveIndex, 1);
541
- },
542
- setModifiedData: (state, action)=>{
543
- const { schemaToSet, hasJustCreatedSchema } = action.payload;
544
- const schema = {
545
- ...DEFAULT_MODIFIED_DATA,
546
- ...schemaToSet
547
- };
548
- state.initialData = schema;
549
- state.modifiedData = schema;
550
- // Reset the state with the initial data
551
- // All created components and content types will be lost
552
- if (!hasJustCreatedSchema) {
553
- state.components = state.initialComponents;
554
- state.contentTypes = state.initialContentTypes;
555
- }
556
- },
557
- updateSchema: (state, action)=>{
558
- const { data, schemaType } = action.payload;
559
- const schema = state.modifiedData[schemaType];
560
- if (!schema) {
561
- return;
562
- }
563
- schema.schema.displayName = data.displayName;
564
- if (schemaType === 'component') {
565
- const { uid } = action.payload;
566
- schema.category = data.category;
567
- schema.schema.icon = data.icon;
568
- const addedComponent = current(schema);
569
- state.components[uid] = addedComponent;
570
- } else {
571
- schema.schema.kind = data.kind;
572
- }
573
- }
574
- }
575
- });
576
- const { reducer, actions } = slice;
577
-
578
- export { actions, initialState, reducer };
579
- //# sourceMappingURL=reducer.mjs.map