@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 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema } from '@strapi/types';\n\ntype State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = action.payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, UID } from '@strapi/types';\n\nexport type State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
@@ -213,7 +213,7 @@ const slice = createSlice({
213
213
  },
214
214
  setAttributeDataSchema: (state, action)=>{
215
215
  const { isEditing } = action.payload;
216
- if (isEditing) {
216
+ if (isEditing === true) {
217
217
  const { modifiedDataToSetForEditing } = action.payload;
218
218
  state.modifiedData = modifiedDataToSetForEditing;
219
219
  state.initialData = modifiedDataToSetForEditing;
@@ -286,14 +286,14 @@ const slice = createSlice({
286
286
  state.modifiedData = dataToSet;
287
287
  },
288
288
  setCustomFieldDataSchema: (state, action)=>{
289
- const { isEditing } = action.payload;
290
- if (isEditing) {
289
+ const { payload } = action;
290
+ if (payload.isEditing === true) {
291
291
  const { modifiedDataToSetForEditing } = action.payload;
292
292
  state.modifiedData = modifiedDataToSetForEditing;
293
293
  state.initialData = modifiedDataToSetForEditing;
294
294
  return;
295
295
  }
296
- const { customField, options = {} } = action.payload;
296
+ const { customField, options = {} } = payload;
297
297
  state.modifiedData = {
298
298
  ...options,
299
299
  type: customField.type
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema } from '@strapi/types';\n\ntype State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = action.payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, UID } from '@strapi/types';\n\nexport type State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
@@ -1,26 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var get = require('lodash/get');
4
3
  var getRelationType = require('../../../utils/getRelationType.js');
5
4
 
6
- const canEditContentType = (data, modifiedData)=>{
7
- const kind = get(data, [
8
- 'contentType',
9
- 'schema',
10
- 'kind'
11
- ], '');
5
+ const canEditContentType = (type, modifiedData)=>{
6
+ const kind = type.kind;
12
7
  // if kind isn't modified or content type is a single type, there is no need to check attributes.
13
8
  if (kind === 'singleType' || kind === modifiedData.kind) {
14
9
  return true;
15
10
  }
16
- const contentTypeAttributes = get(data, [
17
- 'contentType',
18
- 'schema',
19
- 'attributes'
20
- ], []);
21
- const relationAttributes = contentTypeAttributes.filter(({ relation, type, targetAttribute })=>{
11
+ const contentTypeAttributes = type?.attributes ?? [];
12
+ const relationAttributes = contentTypeAttributes.filter((attribute)=>{
13
+ if (attribute.type !== 'relation') {
14
+ return false;
15
+ }
16
+ const { relation, targetAttribute } = attribute;
22
17
  const relationType = getRelationType.getRelationType(relation, targetAttribute);
23
- return type === 'relation' && ![
18
+ return ![
24
19
  'oneWay',
25
20
  'manyWay'
26
21
  ].includes(relationType || '');
@@ -1 +1 @@
1
- {"version":3,"file":"canEditContentType.js","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AttributeType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AttributeType[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (data: Record<string, any>, modifiedData: ModifiedData) => {\n const kind = get(data, ['contentType', 'schema', 'kind'], '');\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes = get(\n data,\n ['contentType', 'schema', 'attributes'],\n []\n ) as AttributeType[];\n\n const relationAttributes = contentTypeAttributes.filter(({ relation, type, targetAttribute }) => {\n const relationType = getRelationType(relation, targetAttribute);\n\n return type === 'relation' && !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","data","modifiedData","kind","get","contentTypeAttributes","relationAttributes","filter","relation","type","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;;;;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAA2BC,EAAAA,YAAAA,GAAAA;IAC5D,MAAMC,IAAAA,GAAOC,IAAIH,IAAM,EAAA;AAAC,QAAA,aAAA;AAAe,QAAA,QAAA;AAAU,QAAA;KAAO,EAAE,EAAA,CAAA;;AAG1D,IAAA,IAAIE,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAME,qBAAAA,GAAwBD,IAC5BH,IACA,EAAA;AAAC,QAAA,aAAA;AAAe,QAAA,QAAA;AAAU,QAAA;AAAa,KAAA,EACvC,EAAE,CAAA;IAGJ,MAAMK,kBAAAA,GAAqBD,qBAAsBE,CAAAA,MAAM,CAAC,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,eAAe,EAAE,GAAA;QAC1F,MAAMC,YAAAA,GAAeC,gCAAgBJ,QAAUE,EAAAA,eAAAA,CAAAA;QAE/C,OAAOD,IAAAA,KAAS,cAAc,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACI,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AAChF,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
1
+ {"version":3,"file":"canEditContentType.js","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AnyAttribute, ContentType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AnyAttribute[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind?: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (type: ContentType, modifiedData: ModifiedData) => {\n const kind = type.kind;\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes: AnyAttribute[] = type?.attributes ?? [];\n\n const relationAttributes = contentTypeAttributes.filter((attribute) => {\n if (attribute.type !== 'relation') {\n return false;\n }\n\n const { relation, targetAttribute } = attribute;\n const relationType = getRelationType(relation, targetAttribute);\n\n return !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","type","modifiedData","kind","contentTypeAttributes","attributes","relationAttributes","filter","attribute","relation","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;;;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAAmBC,EAAAA,YAAAA,GAAAA;IACpD,MAAMC,IAAAA,GAAOF,KAAKE,IAAI;;AAGtB,IAAA,IAAIA,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAMC,qBAAAA,GAAwCH,IAAMI,EAAAA,UAAAA,IAAc,EAAE;AAEpE,IAAA,MAAMC,kBAAqBF,GAAAA,qBAAAA,CAAsBG,MAAM,CAAC,CAACC,SAAAA,GAAAA;QACvD,IAAIA,SAAAA,CAAUP,IAAI,KAAK,UAAY,EAAA;YACjC,OAAO,KAAA;AACT;AAEA,QAAA,MAAM,EAAEQ,QAAQ,EAAEC,eAAe,EAAE,GAAGF,SAAAA;QACtC,MAAMG,YAAAA,GAAeC,gCAAgBH,QAAUC,EAAAA,eAAAA,CAAAA;AAE/C,QAAA,OAAO,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACG,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AACzD,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
@@ -1,24 +1,19 @@
1
- import get from 'lodash/get';
2
1
  import { getRelationType } from '../../../utils/getRelationType.mjs';
3
2
 
4
- const canEditContentType = (data, modifiedData)=>{
5
- const kind = get(data, [
6
- 'contentType',
7
- 'schema',
8
- 'kind'
9
- ], '');
3
+ const canEditContentType = (type, modifiedData)=>{
4
+ const kind = type.kind;
10
5
  // if kind isn't modified or content type is a single type, there is no need to check attributes.
11
6
  if (kind === 'singleType' || kind === modifiedData.kind) {
12
7
  return true;
13
8
  }
14
- const contentTypeAttributes = get(data, [
15
- 'contentType',
16
- 'schema',
17
- 'attributes'
18
- ], []);
19
- const relationAttributes = contentTypeAttributes.filter(({ relation, type, targetAttribute })=>{
9
+ const contentTypeAttributes = type?.attributes ?? [];
10
+ const relationAttributes = contentTypeAttributes.filter((attribute)=>{
11
+ if (attribute.type !== 'relation') {
12
+ return false;
13
+ }
14
+ const { relation, targetAttribute } = attribute;
20
15
  const relationType = getRelationType(relation, targetAttribute);
21
- return type === 'relation' && ![
16
+ return ![
22
17
  'oneWay',
23
18
  'manyWay'
24
19
  ].includes(relationType || '');
@@ -1 +1 @@
1
- {"version":3,"file":"canEditContentType.mjs","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AttributeType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AttributeType[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (data: Record<string, any>, modifiedData: ModifiedData) => {\n const kind = get(data, ['contentType', 'schema', 'kind'], '');\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes = get(\n data,\n ['contentType', 'schema', 'attributes'],\n []\n ) as AttributeType[];\n\n const relationAttributes = contentTypeAttributes.filter(({ relation, type, targetAttribute }) => {\n const relationType = getRelationType(relation, targetAttribute);\n\n return type === 'relation' && !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","data","modifiedData","kind","get","contentTypeAttributes","relationAttributes","filter","relation","type","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAA2BC,EAAAA,YAAAA,GAAAA;IAC5D,MAAMC,IAAAA,GAAOC,IAAIH,IAAM,EAAA;AAAC,QAAA,aAAA;AAAe,QAAA,QAAA;AAAU,QAAA;KAAO,EAAE,EAAA,CAAA;;AAG1D,IAAA,IAAIE,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAME,qBAAAA,GAAwBD,IAC5BH,IACA,EAAA;AAAC,QAAA,aAAA;AAAe,QAAA,QAAA;AAAU,QAAA;AAAa,KAAA,EACvC,EAAE,CAAA;IAGJ,MAAMK,kBAAAA,GAAqBD,qBAAsBE,CAAAA,MAAM,CAAC,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,eAAe,EAAE,GAAA;QAC1F,MAAMC,YAAAA,GAAeC,gBAAgBJ,QAAUE,EAAAA,eAAAA,CAAAA;QAE/C,OAAOD,IAAAA,KAAS,cAAc,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACI,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AAChF,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
1
+ {"version":3,"file":"canEditContentType.mjs","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AnyAttribute, ContentType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AnyAttribute[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind?: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (type: ContentType, modifiedData: ModifiedData) => {\n const kind = type.kind;\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes: AnyAttribute[] = type?.attributes ?? [];\n\n const relationAttributes = contentTypeAttributes.filter((attribute) => {\n if (attribute.type !== 'relation') {\n return false;\n }\n\n const { relation, targetAttribute } = attribute;\n const relationType = getRelationType(relation, targetAttribute);\n\n return !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","type","modifiedData","kind","contentTypeAttributes","attributes","relationAttributes","filter","attribute","relation","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAAmBC,EAAAA,YAAAA,GAAAA;IACpD,MAAMC,IAAAA,GAAOF,KAAKE,IAAI;;AAGtB,IAAA,IAAIA,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAMC,qBAAAA,GAAwCH,IAAMI,EAAAA,UAAAA,IAAc,EAAE;AAEpE,IAAA,MAAMC,kBAAqBF,GAAAA,qBAAAA,CAAsBG,MAAM,CAAC,CAACC,SAAAA,GAAAA;QACvD,IAAIA,SAAAA,CAAUP,IAAI,KAAK,UAAY,EAAA;YACjC,OAAO,KAAA;AACT;AAEA,QAAA,MAAM,EAAEQ,QAAQ,EAAEC,eAAe,EAAE,GAAGF,SAAAA;QACtC,MAAMG,YAAAA,GAAeC,gBAAgBH,QAAUC,EAAAA,eAAAA,CAAAA;AAE/C,QAAA,OAAO,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACG,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AACzD,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAttributesToDisplay.js","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManagerProvider/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,8BAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,6BAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"getAttributesToDisplay.js","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManager/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,8BAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,6BAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAttributesToDisplay.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManagerProvider/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,kBAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,mBAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"getAttributesToDisplay.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManager/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,kBAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,mBAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
@@ -6,7 +6,7 @@ var Icons = require('@strapi/icons');
6
6
  var reactIntl = require('react-intl');
7
7
  var getTrad = require('../utils/getTrad.js');
8
8
 
9
- const FormModalEndActions = ({ categoryName, deleteCategory, deleteComponent, deleteContentType, isAttributeModal, isCustomFieldModal, isComponentAttribute, isComponentToDzModal, isContentTypeModal, isCreatingComponent, isCreatingComponentAttribute, isCreatingComponentInDz, isCreatingComponentWhileAddingAField, isCreatingContentType, isCreatingDz, isComponentModal, isDzAttribute, isEditingAttribute, isEditingCategory, isInFirstComponentStep, onSubmitAddComponentAttribute, onSubmitAddComponentToDz, onSubmitCreateContentType, onSubmitCreateComponent, onSubmitCreateDz, onSubmitEditAttribute, onSubmitEditCategory, onSubmitEditComponent, onSubmitEditContentType, onSubmitEditCustomFieldAttribute, onSubmitEditDz, onClickFinish })=>{
9
+ const FormModalEndActions = ({ deleteComponent, deleteContentType, isAttributeModal, isCustomFieldModal, isComponentAttribute, isComponentToDzModal, isContentTypeModal, isCreatingComponent, isCreatingComponentAttribute, isCreatingComponentInDz, isCreatingComponentWhileAddingAField, isCreatingContentType, isCreatingDz, isComponentModal, isDzAttribute, isEditingAttribute, isInFirstComponentStep, onSubmitAddComponentAttribute, onSubmitAddComponentToDz, onSubmitCreateContentType, onSubmitCreateComponent, onSubmitCreateDz, onSubmitEditAttribute, onSubmitEditComponent, onSubmitEditContentType, onSubmitEditCustomFieldAttribute, onSubmitEditDz, onClickFinish })=>{
10
10
  const { formatMessage } = reactIntl.useIntl();
11
11
  if (isComponentToDzModal) {
12
12
  if (isCreatingComponentInDz) {
@@ -249,39 +249,6 @@ const FormModalEndActions = ({ categoryName, deleteCategory, deleteComponent, de
249
249
  ]
250
250
  });
251
251
  }
252
- if (isEditingCategory) {
253
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
254
- gap: 2,
255
- children: [
256
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
257
- type: "button",
258
- variant: "danger",
259
- onClick: (e)=>{
260
- e.preventDefault();
261
- if (categoryName) {
262
- deleteCategory(categoryName);
263
- }
264
- },
265
- children: formatMessage({
266
- id: 'global.delete',
267
- defaultMessage: 'Delete'
268
- })
269
- }),
270
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
271
- type: "submit",
272
- variant: "default",
273
- onClick: (e)=>{
274
- e.preventDefault();
275
- onSubmitEditCategory(e);
276
- },
277
- children: formatMessage({
278
- id: 'global.finish',
279
- defaultMessage: 'finish'
280
- })
281
- })
282
- ]
283
- });
284
- }
285
252
  if (isCustomFieldModal) {
286
253
  return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
287
254
  gap: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"FormModalEndActions.js","sources":["../../../admin/src/components/FormModalEndActions.tsx"],"sourcesContent":["/**\n *\n * FormModalEndActions\n *\n */\n\nimport { SyntheticEvent } from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\ntype FormModalEndActionsProps = {\n categoryName?: string;\n deleteCategory: (categoryName: string) => void;\n deleteComponent: () => void;\n deleteContentType: () => void;\n isAttributeModal: boolean;\n isCustomFieldModal: boolean;\n isComponentAttribute: boolean;\n isComponentModal: boolean;\n isComponentToDzModal: boolean;\n isContentTypeModal: boolean;\n isCreatingComponent: boolean;\n isCreatingComponentAttribute: boolean;\n isCreatingComponentInDz: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n isCreatingContentType: boolean;\n isCreatingDz: boolean;\n isDzAttribute: boolean;\n isEditingAttribute: boolean;\n isEditingCategory: boolean;\n isInFirstComponentStep: boolean;\n onSubmitAddComponentAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitAddComponentToDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCategory: (e: SyntheticEvent) => void;\n onSubmitEditComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCustomFieldAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onClickFinish: () => void;\n};\n\nexport const FormModalEndActions = ({\n categoryName,\n deleteCategory,\n deleteComponent,\n deleteContentType,\n isAttributeModal,\n isCustomFieldModal,\n isComponentAttribute,\n isComponentToDzModal,\n isContentTypeModal,\n isCreatingComponent,\n isCreatingComponentAttribute,\n isCreatingComponentInDz,\n isCreatingComponentWhileAddingAField,\n isCreatingContentType,\n isCreatingDz,\n isComponentModal,\n isDzAttribute,\n isEditingAttribute,\n isEditingCategory,\n isInFirstComponentStep,\n onSubmitAddComponentAttribute,\n onSubmitAddComponentToDz,\n onSubmitCreateContentType,\n onSubmitCreateComponent,\n onSubmitCreateDz,\n onSubmitEditAttribute,\n onSubmitEditCategory,\n onSubmitEditComponent,\n onSubmitEditContentType,\n onSubmitEditCustomFieldAttribute,\n onSubmitEditDz,\n onClickFinish,\n}: FormModalEndActionsProps) => {\n const { formatMessage } = useIntl();\n\n if (isComponentToDzModal) {\n if (isCreatingComponentInDz) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })}\n </Button>\n );\n }\n\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && !isCreatingDz) {\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && isCreatingDz) {\n return (\n <>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-components-to-dynamiczone'),\n defaultMessage: 'Add components to the zone',\n })}\n </Button>\n {/* // TO FIX fix doesnt close the modal */}\n {/* <Button\n variant=\"default\"\n type=\"button\"\n onClick={e => {\n e.preventDefault();\n\n onSubmitCreateDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button> */}\n </>\n );\n }\n\n if (isAttributeModal && isComponentAttribute) {\n if (isInFirstComponentStep) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n >\n {isCreatingComponentAttribute\n ? formatMessage({\n id: getTrad('form.button.configure-component'),\n defaultMessage: 'Configure the component',\n })\n : formatMessage({\n id: getTrad('form.button.select-component'),\n defaultMessage: 'Configure the component',\n })}\n </Button>\n );\n }\n\n return (\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {isCreatingComponentWhileAddingAField\n ? formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })\n : formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n variant=\"default\"\n type=\"button\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitAddComponentAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isAttributeModal && !isComponentAttribute && !isDzAttribute) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isContentTypeModal) {\n return (\n <Flex gap={2}>\n {!isCreatingContentType && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteContentType();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditContentType(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingContentType && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateContentType(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isComponentModal) {\n return (\n <Flex gap={2}>\n {!isCreatingComponent && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteComponent();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditComponent(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingComponent && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateComponent(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isEditingCategory) {\n return (\n <Flex gap={2}>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n if (categoryName) {\n deleteCategory(categoryName);\n }\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCategory(e);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isCustomFieldModal) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCustomFieldAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditCustomFieldAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n return null;\n};\n"],"names":["FormModalEndActions","categoryName","deleteCategory","deleteComponent","deleteContentType","isAttributeModal","isCustomFieldModal","isComponentAttribute","isComponentToDzModal","isContentTypeModal","isCreatingComponent","isCreatingComponentAttribute","isCreatingComponentInDz","isCreatingComponentWhileAddingAField","isCreatingContentType","isCreatingDz","isComponentModal","isDzAttribute","isEditingAttribute","isEditingCategory","isInFirstComponentStep","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateContentType","onSubmitCreateComponent","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditCategory","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish","formatMessage","useIntl","_jsx","Button","variant","type","onClick","e","preventDefault","startIcon","Plus","id","getTrad","defaultMessage","_Fragment","_jsxs","Flex","gap"],"mappings":"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"}
1
+ {"version":3,"file":"FormModalEndActions.js","sources":["../../../admin/src/components/FormModalEndActions.tsx"],"sourcesContent":["/**\n *\n * FormModalEndActions\n *\n */\n\nimport { SyntheticEvent } from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\ntype FormModalEndActionsProps = {\n deleteComponent: () => void;\n deleteContentType: () => void;\n isAttributeModal: boolean;\n isCustomFieldModal: boolean;\n isComponentAttribute: boolean;\n isComponentModal: boolean;\n isComponentToDzModal: boolean;\n isContentTypeModal: boolean;\n isCreatingComponent: boolean;\n isCreatingComponentAttribute: boolean;\n isCreatingComponentInDz: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n isCreatingContentType: boolean;\n isCreatingDz: boolean;\n isDzAttribute: boolean;\n isEditingAttribute: boolean;\n isInFirstComponentStep: boolean;\n onSubmitAddComponentAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitAddComponentToDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCustomFieldAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onClickFinish: () => void;\n};\n\nexport const FormModalEndActions = ({\n deleteComponent,\n deleteContentType,\n isAttributeModal,\n isCustomFieldModal,\n isComponentAttribute,\n isComponentToDzModal,\n isContentTypeModal,\n isCreatingComponent,\n isCreatingComponentAttribute,\n isCreatingComponentInDz,\n isCreatingComponentWhileAddingAField,\n isCreatingContentType,\n isCreatingDz,\n isComponentModal,\n isDzAttribute,\n isEditingAttribute,\n isInFirstComponentStep,\n onSubmitAddComponentAttribute,\n onSubmitAddComponentToDz,\n onSubmitCreateContentType,\n onSubmitCreateComponent,\n onSubmitCreateDz,\n onSubmitEditAttribute,\n onSubmitEditComponent,\n onSubmitEditContentType,\n onSubmitEditCustomFieldAttribute,\n onSubmitEditDz,\n onClickFinish,\n}: FormModalEndActionsProps) => {\n const { formatMessage } = useIntl();\n\n if (isComponentToDzModal) {\n if (isCreatingComponentInDz) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })}\n </Button>\n );\n }\n\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && !isCreatingDz) {\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && isCreatingDz) {\n return (\n <>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-components-to-dynamiczone'),\n defaultMessage: 'Add components to the zone',\n })}\n </Button>\n {/* // TO FIX fix doesnt close the modal */}\n {/* <Button\n variant=\"default\"\n type=\"button\"\n onClick={e => {\n e.preventDefault();\n\n onSubmitCreateDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button> */}\n </>\n );\n }\n\n if (isAttributeModal && isComponentAttribute) {\n if (isInFirstComponentStep) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n >\n {isCreatingComponentAttribute\n ? formatMessage({\n id: getTrad('form.button.configure-component'),\n defaultMessage: 'Configure the component',\n })\n : formatMessage({\n id: getTrad('form.button.select-component'),\n defaultMessage: 'Configure the component',\n })}\n </Button>\n );\n }\n\n return (\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {isCreatingComponentWhileAddingAField\n ? formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })\n : formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n variant=\"default\"\n type=\"button\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitAddComponentAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isAttributeModal && !isComponentAttribute && !isDzAttribute) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isContentTypeModal) {\n return (\n <Flex gap={2}>\n {!isCreatingContentType && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteContentType();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditContentType(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingContentType && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateContentType(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isComponentModal) {\n return (\n <Flex gap={2}>\n {!isCreatingComponent && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteComponent();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditComponent(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingComponent && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateComponent(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isCustomFieldModal) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCustomFieldAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditCustomFieldAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n return null;\n};\n"],"names":["FormModalEndActions","deleteComponent","deleteContentType","isAttributeModal","isCustomFieldModal","isComponentAttribute","isComponentToDzModal","isContentTypeModal","isCreatingComponent","isCreatingComponentAttribute","isCreatingComponentInDz","isCreatingComponentWhileAddingAField","isCreatingContentType","isCreatingDz","isComponentModal","isDzAttribute","isEditingAttribute","isInFirstComponentStep","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateContentType","onSubmitCreateComponent","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish","formatMessage","useIntl","_jsx","Button","variant","type","onClick","e","preventDefault","startIcon","Plus","id","getTrad","defaultMessage","_Fragment","_jsxs","Flex","gap"],"mappings":"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"}