@strapi/content-type-builder 5.37.1 → 5.38.1

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 (437) hide show
  1. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  2. package/dist/admin/components/AIChat/Chat.mjs +2 -2
  3. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  4. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  5. package/dist/admin/components/AIChat/FeedbackModal.mjs +1 -1
  6. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  7. package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -1
  8. package/dist/admin/components/AIChat/UploadCodeModal.mjs +1 -1
  9. package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -1
  10. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  11. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  12. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/components/Alert.js.map +1 -1
  14. package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -1
  15. package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -1
  16. package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -1
  18. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -1
  19. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -1
  20. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +1 -1
  21. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -1
  22. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  23. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  24. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
  25. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
  26. package/dist/admin/components/AIChat/components/Dropzone.js +2 -6
  27. package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -1
  28. package/dist/admin/components/AIChat/components/Dropzone.mjs +3 -7
  29. package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -1
  30. package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -1
  31. package/dist/admin/components/AIChat/components/FloatingPanel.mjs +1 -1
  32. package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -1
  33. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
  34. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
  35. package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -1
  36. package/dist/admin/components/AIChat/components/ImagePreview.mjs +1 -1
  37. package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -1
  38. package/dist/admin/components/AIChat/components/Input.js +1 -5
  39. package/dist/admin/components/AIChat/components/Input.js.map +1 -1
  40. package/dist/admin/components/AIChat/components/Input.mjs +4 -7
  41. package/dist/admin/components/AIChat/components/Input.mjs.map +1 -1
  42. package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -1
  43. package/dist/admin/components/AIChat/components/Messages/Marker.mjs +2 -2
  44. package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -1
  45. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  46. package/dist/admin/components/AIChat/components/Messages/Message.mjs +1 -1
  47. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  48. package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -1
  49. package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -1
  50. package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
  51. package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -1
  52. package/dist/admin/components/AIChat/components/StepModal.js.map +1 -1
  53. package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -1
  54. package/dist/admin/components/AIChat/components/animations.js.map +1 -1
  55. package/dist/admin/components/AIChat/components/animations.mjs.map +1 -1
  56. package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -1
  57. package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -1
  58. package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -1
  59. package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -1
  60. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  61. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  62. package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -1
  63. package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -1
  64. package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -1
  65. package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -1
  66. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  67. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
  68. package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -1
  69. package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -1
  70. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
  71. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
  72. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -1
  73. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -1
  74. package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -1
  75. package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -1
  76. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  77. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  78. package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
  79. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
  80. package/dist/admin/components/AIChat/lib/misc.js.map +1 -1
  81. package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -1
  82. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
  83. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
  84. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  85. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  86. package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -1
  87. package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -1
  88. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  89. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  90. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  91. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
  92. package/dist/admin/components/ApplyConditionButton.js.map +1 -1
  93. package/dist/admin/components/ApplyConditionButton.mjs.map +1 -1
  94. package/dist/admin/components/AttributeIcon.js.map +1 -1
  95. package/dist/admin/components/AttributeIcon.mjs +1 -1
  96. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  97. package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -1
  98. package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -1
  99. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  100. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  101. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
  102. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
  103. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  104. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  105. package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -1
  106. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -1
  107. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  108. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
  109. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -1
  110. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -1
  111. package/dist/admin/components/AttributeRow.js.map +1 -1
  112. package/dist/admin/components/AttributeRow.mjs +1 -1
  113. package/dist/admin/components/AttributeRow.mjs.map +1 -1
  114. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  115. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  116. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
  117. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
  118. package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
  119. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
  120. package/dist/admin/components/CTBSession/CTBSessionProvider.js.map +1 -1
  121. package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -1
  122. package/dist/admin/components/CTBSession/sessionContext.js.map +1 -1
  123. package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -1
  124. package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -1
  125. package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -1
  126. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  127. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  128. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  129. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  130. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  131. package/dist/admin/components/ComponentCard/ComponentCard.mjs +1 -1
  132. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  133. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -1
  134. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -1
  135. package/dist/admin/components/ComponentList.js.map +1 -1
  136. package/dist/admin/components/ComponentList.mjs.map +1 -1
  137. package/dist/admin/components/ComponentRow.js.map +1 -1
  138. package/dist/admin/components/ComponentRow.mjs.map +1 -1
  139. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  140. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +2 -2
  141. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  142. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  143. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  144. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
  145. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
  146. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
  147. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
  148. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
  149. package/dist/admin/components/CustomRadioGroup/Styles.mjs +1 -1
  150. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
  151. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
  152. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
  153. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  154. package/dist/admin/components/DataManager/DataManagerProvider.mjs +1 -1
  155. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  156. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  157. package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
  158. package/dist/admin/components/DataManager/undoRedo.js.map +1 -1
  159. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -1
  160. package/dist/admin/components/DataManager/useDataManager.js.map +1 -1
  161. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -1
  162. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  163. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  164. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  165. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
  166. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
  167. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -1
  168. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -1
  169. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -1
  170. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  171. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
  172. package/dist/admin/components/DisplayedType.js.map +1 -1
  173. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  174. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
  175. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
  176. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  177. package/dist/admin/components/DynamicZoneList.mjs +1 -1
  178. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  179. package/dist/admin/components/ExitPrompt.js.map +1 -1
  180. package/dist/admin/components/ExitPrompt.mjs.map +1 -1
  181. package/dist/admin/components/Footers.js.map +1 -1
  182. package/dist/admin/components/Footers.mjs +2 -2
  183. package/dist/admin/components/Footers.mjs.map +1 -1
  184. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  185. package/dist/admin/components/FormModal/FormModal.mjs +1 -1
  186. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  187. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  188. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  189. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  190. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  191. package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -1
  192. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -1
  193. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
  194. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
  195. package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -1
  196. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -1
  197. package/dist/admin/components/FormModal/attributes/form.js.map +1 -1
  198. package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -1
  199. package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -1
  200. package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -1
  201. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  202. package/dist/admin/components/FormModal/attributes/types.mjs +1 -1
  203. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  204. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  205. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  206. package/dist/admin/components/FormModal/component/componentField.js.map +1 -1
  207. package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -1
  208. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
  209. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
  210. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  211. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  212. package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -1
  213. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -1
  214. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
  215. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
  216. package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -1
  217. package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -1
  218. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  219. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  220. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -1
  221. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -1
  222. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  223. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
  224. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  225. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  226. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  227. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  228. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  229. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  230. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
  231. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
  232. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
  233. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
  234. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  235. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  236. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
  237. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
  238. package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
  239. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
  240. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  241. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  242. package/dist/admin/components/FormModalHeader.js.map +1 -1
  243. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  244. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  245. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
  246. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
  247. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
  248. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -1
  249. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -1
  250. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  251. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  252. package/dist/admin/components/GenericInputs.js +1 -5
  253. package/dist/admin/components/GenericInputs.js.map +1 -1
  254. package/dist/admin/components/GenericInputs.mjs +1 -5
  255. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  256. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
  257. package/dist/admin/components/IconPicker/IconPicker.mjs +1 -1
  258. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
  259. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  260. package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
  261. package/dist/admin/components/List.js.map +1 -1
  262. package/dist/admin/components/List.mjs +1 -1
  263. package/dist/admin/components/List.mjs.map +1 -1
  264. package/dist/admin/components/PluralName.js.map +1 -1
  265. package/dist/admin/components/PluralName.mjs.map +1 -1
  266. package/dist/admin/components/Relation/Relation.js.map +1 -1
  267. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  268. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  269. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  270. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  271. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  272. package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -1
  273. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -1
  274. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  275. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +1 -1
  276. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  277. package/dist/admin/components/SelectCategory.js.map +1 -1
  278. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  279. package/dist/admin/components/SelectComponent.js.map +1 -1
  280. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  281. package/dist/admin/components/SelectComponents.js.map +1 -1
  282. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  283. package/dist/admin/components/SelectDateType.js.map +1 -1
  284. package/dist/admin/components/SelectDateType.mjs.map +1 -1
  285. package/dist/admin/components/SelectNumber.js.map +1 -1
  286. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  287. package/dist/admin/components/SingularName.js.map +1 -1
  288. package/dist/admin/components/SingularName.mjs.map +1 -1
  289. package/dist/admin/components/Status.js.map +1 -1
  290. package/dist/admin/components/Status.mjs.map +1 -1
  291. package/dist/admin/components/TabForm.js.map +1 -1
  292. package/dist/admin/components/TabForm.mjs.map +1 -1
  293. package/dist/admin/components/TextareaEnum.js.map +1 -1
  294. package/dist/admin/components/TextareaEnum.mjs.map +1 -1
  295. package/dist/admin/constants.js.map +1 -1
  296. package/dist/admin/constants.mjs.map +1 -1
  297. package/dist/admin/icons/Curve.js.map +1 -1
  298. package/dist/admin/icons/Curve.mjs.map +1 -1
  299. package/dist/admin/index.js.map +1 -1
  300. package/dist/admin/index.mjs.map +1 -1
  301. package/dist/admin/pages/App/index.js.map +1 -1
  302. package/dist/admin/pages/App/index.mjs.map +1 -1
  303. package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
  304. package/dist/admin/pages/ListView/EmptyState.mjs +1 -1
  305. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
  306. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  307. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  308. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  309. package/dist/admin/pages/ListView/ListView.mjs +1 -1
  310. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  311. package/dist/admin/reducers.js +4 -4
  312. package/dist/admin/reducers.js.map +1 -1
  313. package/dist/admin/reducers.mjs +4 -4
  314. package/dist/admin/reducers.mjs.map +1 -1
  315. package/dist/admin/translations/es.json.js +36 -3
  316. package/dist/admin/translations/es.json.js.map +1 -1
  317. package/dist/admin/translations/es.json.mjs +36 -3
  318. package/dist/admin/translations/es.json.mjs.map +1 -1
  319. package/dist/admin/utils/conditions.js.map +1 -1
  320. package/dist/admin/utils/conditions.mjs.map +1 -1
  321. package/dist/admin/utils/findAttribute.js.map +1 -1
  322. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  323. package/dist/admin/utils/formAPI.js.map +1 -1
  324. package/dist/admin/utils/formAPI.mjs.map +1 -1
  325. package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -1
  326. package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -1
  327. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  328. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  329. package/dist/admin/utils/getRelationType.js.map +1 -1
  330. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  331. package/dist/admin/utils/getTrad.js.map +1 -1
  332. package/dist/admin/utils/getTrad.mjs.map +1 -1
  333. package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
  334. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
  335. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  336. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  337. package/dist/admin/utils/makeUnique.js.map +1 -1
  338. package/dist/admin/utils/makeUnique.mjs.map +1 -1
  339. package/dist/admin/utils/nameToSlug.js.map +1 -1
  340. package/dist/admin/utils/nameToSlug.mjs.map +1 -1
  341. package/dist/admin/utils/parseDateValue.js.map +1 -1
  342. package/dist/admin/utils/parseDateValue.mjs.map +1 -1
  343. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  344. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  345. package/dist/admin/utils/timeFormat.js.map +1 -1
  346. package/dist/admin/utils/timeFormat.mjs.map +1 -1
  347. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
  348. package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -1
  349. package/dist/server/bootstrap.js.map +1 -1
  350. package/dist/server/bootstrap.mjs.map +1 -1
  351. package/dist/server/config.js.map +1 -1
  352. package/dist/server/config.mjs.map +1 -1
  353. package/dist/server/controllers/builder.js.map +1 -1
  354. package/dist/server/controllers/builder.mjs.map +1 -1
  355. package/dist/server/controllers/component-categories.js.map +1 -1
  356. package/dist/server/controllers/component-categories.mjs.map +1 -1
  357. package/dist/server/controllers/components.js.map +1 -1
  358. package/dist/server/controllers/components.mjs +1 -1
  359. package/dist/server/controllers/components.mjs.map +1 -1
  360. package/dist/server/controllers/content-types.js.map +1 -1
  361. package/dist/server/controllers/content-types.mjs +1 -1
  362. package/dist/server/controllers/content-types.mjs.map +1 -1
  363. package/dist/server/controllers/index.js.map +1 -1
  364. package/dist/server/controllers/index.mjs.map +1 -1
  365. package/dist/server/controllers/schema.js.map +1 -1
  366. package/dist/server/controllers/schema.mjs.map +1 -1
  367. package/dist/server/controllers/validation/common.js.map +1 -1
  368. package/dist/server/controllers/validation/common.mjs.map +1 -1
  369. package/dist/server/controllers/validation/component-category.js.map +1 -1
  370. package/dist/server/controllers/validation/component-category.mjs.map +1 -1
  371. package/dist/server/controllers/validation/component.js.map +1 -1
  372. package/dist/server/controllers/validation/component.mjs +1 -1
  373. package/dist/server/controllers/validation/component.mjs.map +1 -1
  374. package/dist/server/controllers/validation/content-type.js.map +1 -1
  375. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  376. package/dist/server/controllers/validation/data-transform.js.map +1 -1
  377. package/dist/server/controllers/validation/data-transform.mjs.map +1 -1
  378. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  379. package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
  380. package/dist/server/controllers/validation/relations.js.map +1 -1
  381. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  382. package/dist/server/controllers/validation/schema.js.map +1 -1
  383. package/dist/server/controllers/validation/schema.mjs +1 -1
  384. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  385. package/dist/server/controllers/validation/types.js +0 -1
  386. package/dist/server/controllers/validation/types.js.map +1 -1
  387. package/dist/server/controllers/validation/types.mjs +1 -2
  388. package/dist/server/controllers/validation/types.mjs.map +1 -1
  389. package/dist/server/index.js +8 -8
  390. package/dist/server/middlewares/is-development-mode.js.map +1 -1
  391. package/dist/server/middlewares/is-development-mode.mjs.map +1 -1
  392. package/dist/server/register.js.map +1 -1
  393. package/dist/server/register.mjs.map +1 -1
  394. package/dist/server/routes/admin.js.map +1 -1
  395. package/dist/server/routes/admin.mjs.map +1 -1
  396. package/dist/server/routes/content-api.js.map +1 -1
  397. package/dist/server/routes/content-api.mjs.map +1 -1
  398. package/dist/server/routes/index.js.map +1 -1
  399. package/dist/server/routes/index.mjs.map +1 -1
  400. package/dist/server/services/api-handler.js.map +1 -1
  401. package/dist/server/services/api-handler.mjs.map +1 -1
  402. package/dist/server/services/builder.js.map +1 -1
  403. package/dist/server/services/builder.mjs.map +1 -1
  404. package/dist/server/services/component-categories.js.map +1 -1
  405. package/dist/server/services/component-categories.mjs +1 -1
  406. package/dist/server/services/component-categories.mjs.map +1 -1
  407. package/dist/server/services/components.js.map +1 -1
  408. package/dist/server/services/components.mjs +1 -1
  409. package/dist/server/services/components.mjs.map +1 -1
  410. package/dist/server/services/constants.js.map +1 -1
  411. package/dist/server/services/constants.mjs.map +1 -1
  412. package/dist/server/services/content-types.js.map +1 -1
  413. package/dist/server/services/content-types.mjs +1 -1
  414. package/dist/server/services/content-types.mjs.map +1 -1
  415. package/dist/server/services/index.js.map +1 -1
  416. package/dist/server/services/index.mjs.map +1 -1
  417. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  418. package/dist/server/services/schema-builder/component-builder.mjs +1 -1
  419. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  420. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  421. package/dist/server/services/schema-builder/content-type-builder.mjs +2 -2
  422. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  423. package/dist/server/services/schema-builder/index.js.map +1 -1
  424. package/dist/server/services/schema-builder/index.mjs +3 -3
  425. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  426. package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
  427. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
  428. package/dist/server/services/schema.js.map +1 -1
  429. package/dist/server/services/schema.mjs +1 -1
  430. package/dist/server/services/schema.mjs.map +1 -1
  431. package/dist/server/utils/attributes.js.map +1 -1
  432. package/dist/server/utils/attributes.mjs.map +1 -1
  433. package/dist/server/utils/index.js.map +1 -1
  434. package/dist/server/utils/index.mjs.map +1 -1
  435. package/dist/server/utils/typeguards.js.map +1 -1
  436. package/dist/server/utils/typeguards.mjs.map +1 -1
  437. package/package.json +15 -10
@@ -1 +1 @@
1
- {"version":3,"file":"FormModal.js","sources":["../../../../admin/src/components/FormModal/FormModal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useState } from 'react';\n\nimport {\n useStrapiApp,\n useNotification,\n ConfirmDialog,\n useGuidedTour,\n GUIDED_TOUR_REQUIRED_ACTIONS,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Divider, Flex, Modal, Tabs, Box, Typography, Dialog } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEqual from 'lodash/isEqual';\nimport pick from 'lodash/pick';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { pluginId } from '../../pluginId';\nimport { getTrad, isAllowedContentTypesForRelations } from '../../utils';\nimport { findAttribute } from '../../utils/findAttribute';\nimport { getYupInnerErrors } from '../../utils/getYupInnerErrors';\n// New compos\nimport { AllowedTypesSelect } from '../AllowedTypesSelect';\nimport { IconByType } from '../AttributeIcon';\nimport { AttributeOptions } from '../AttributeOptions/AttributeOptions';\nimport { BooleanDefaultValueSelect } from '../BooleanDefaultValueSelect';\nimport { BooleanRadioGroup } from '../BooleanRadioGroup';\nimport { CheckboxWithNumberField } from '../CheckboxWithNumberField';\nimport { ContentTypeRadioGroup } from '../ContentTypeRadioGroup';\nimport { useCTBTracking } from '../CTBSession/ctbSession';\nimport { CustomRadioGroup } from '../CustomRadioGroup';\nimport { useDataManager } from '../DataManager/useDataManager';\nimport { DraftAndPublishToggle } from '../DraftAndPublishToggle';\nimport { FormModalEndActions } from '../FormModalEndActions';\nimport { FormModalHeader } from '../FormModalHeader';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\nimport { FormModalSubHeader } from '../FormModalSubHeader';\nimport { IconPicker } from '../IconPicker/IconPicker';\nimport { PluralName } from '../PluralName';\nimport { Relation } from '../Relation/Relation';\nimport { SelectCategory } from '../SelectCategory';\nimport { SelectComponent } from '../SelectComponent';\nimport { SelectComponents } from '../SelectComponents';\nimport { SelectDateType } from '../SelectDateType';\nimport { SelectNumber } from '../SelectNumber';\nimport { SingularName } from '../SingularName';\nimport { TabForm } from '../TabForm';\nimport { TextareaEnum } from '../TextareaEnum';\n\nimport { ConditionForm } from './attributes/ConditionForm';\nimport { forms } from './forms/forms';\nimport { actions, initialState, type State as FormModalState } from './reducer';\nimport { canEditContentType } from './utils/canEditContentType';\nimport { createComponentUid, createUid } from './utils/createUid';\nimport { getAttributesToDisplay } from './utils/getAttributesToDisplay';\nimport { getFormInputNames } from './utils/getFormInputNames';\n\nimport type { ContentType } from '../../types';\nimport type { Internal } from '@strapi/types';\n\nconst FormComponent = styled.form`\n overflow: auto;\n`;\n\nconst selectState = (state: Record<string, unknown>) =>\n (state['content-type-builder_formModal'] || initialState) as FormModalState;\n\nexport const FormModal = () => {\n const {\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onNavigateToCreateComponentStep2,\n actionType,\n attributeName,\n attributeType,\n customFieldUid,\n dynamicZoneTarget,\n forTarget,\n modalType,\n isOpen,\n kind,\n step,\n targetUid,\n showBackLink,\n activeTab,\n setActiveTab,\n } = useFormModalNavigation();\n\n const getPlugin = useStrapiApp('FormModal', (state) => state.getPlugin);\n const getCustomField = useStrapiApp('FormModal', (state) => state.customFields.get);\n const customField = getCustomField(customFieldUid);\n\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const reducerState = useSelector(selectState, shallowEqual);\n\n const navigate = useNavigate();\n const { trackUsage } = useCTBTracking();\n const { formatMessage } = useIntl();\n const ctbPlugin = getPlugin(pluginId);\n const ctbFormsAPI: any = ctbPlugin?.apis.forms;\n const inputsFromPlugins = ctbFormsAPI.components.inputs;\n\n const dispatchGuidedTour = useGuidedTour('FormModal', (s) => s.dispatch);\n\n const {\n addAttribute,\n editAttribute,\n addCustomFieldAttribute,\n addCreatedComponentToDynamicZone,\n changeDynamicZoneComponents,\n contentTypes,\n components,\n createSchema,\n createComponentSchema,\n deleteComponent,\n deleteContentType,\n editCustomFieldAttribute,\n updateSchema,\n nestedComponents,\n sortedContentTypesList,\n updateComponentSchema,\n updateComponentUid,\n reservedNames,\n } = useDataManager();\n\n const {\n componentToCreate,\n formErrors,\n initialData,\n isCreatingComponentWhileAddingAField,\n modifiedData,\n } = reducerState;\n\n const type = forTarget === 'component' ? components[targetUid] : contentTypes[targetUid];\n\n const [showWarningDialog, setShowWarningDialog] = useState(false);\n const [pendingSubmit, setPendingSubmit] = useState<any>(null);\n\n const checkFieldNameChanges = () => {\n // Only check when editing an attribute\n if (actionType !== 'edit' || modalType !== 'attribute') {\n return false;\n }\n\n const oldName = initialData.name;\n const oldEnum = initialData.enum;\n const newEnum = modifiedData.enum;\n\n // Get all attributes from the content type schema\n const contentTypeAttributes = type?.attributes || [];\n\n // Find all fields that reference this field in their conditions\n const referencedFields = contentTypeAttributes.filter((attr: any) => {\n if (!attr.conditions) return false;\n\n const condition = attr.conditions.visible;\n if (!condition) return false;\n\n const [[, conditions]] = Object.entries(condition);\n const [fieldVar, value] = conditions as [{ var: string }, any];\n\n // Check if this condition references our field\n if (fieldVar.var !== oldName) return false;\n\n // If it's an enum field, also check if the value is being deleted/changed\n if (oldEnum && newEnum) {\n const deletedOrChangedValues = oldEnum.filter(\n (oldValue: string) => !newEnum.includes(oldValue)\n );\n return deletedOrChangedValues.includes(value);\n }\n\n return true;\n });\n\n // If any fields reference this field, return them\n if (referencedFields.length > 0) {\n return referencedFields;\n }\n\n return false;\n };\n\n React.useEffect(() => {\n if (isOpen) {\n const collectionTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n if (actionType === 'edit' && modalType === 'attribute' && forTarget === 'contentType') {\n trackUsage('willEditFieldOfContentType');\n }\n\n // Case:\n // the user opens the modal chooseAttributes\n // selects dynamic zone => set the field name\n // then goes to step 1 (the modal is addComponentToDynamicZone) and finally reloads the app.\n // In this particular if the user tries to add components to the zone it will pop an error since the dz is unknown\n const foundDynamicZoneTarget =\n findAttribute(get(type, 'schema.attributes', []), dynamicZoneTarget) || null;\n\n // Create content type we need to add the default option draftAndPublish\n if (modalType === 'contentType' && actionType === 'create') {\n dispatch(\n actions.setDataToEdit({\n data: {\n draftAndPublish: true,\n },\n })\n );\n }\n\n // Edit content type\n if (modalType === 'contentType' && actionType === 'edit') {\n dispatch(\n actions.setDataToEdit({\n data: {\n displayName: type.info.displayName,\n draftAndPublish: type.options?.draftAndPublish,\n kind: 'kind' in type && type.kind,\n pluginOptions: type.pluginOptions,\n pluralName: 'pluralName' in type.info && type.info.pluralName,\n singularName: 'singularName' in type.info && type.info.singularName,\n },\n })\n );\n }\n\n // Edit component\n if (modalType === 'component' && actionType === 'edit') {\n dispatch(\n actions.setDataToEdit({\n data: {\n displayName: type.info.displayName,\n category: 'category' in type && type.category,\n icon: type.info.icon,\n },\n })\n );\n }\n\n // Special case for the dynamic zone\n if (modalType === 'addComponentToDynamicZone' && actionType === 'edit') {\n const attributeToEdit = {\n ...foundDynamicZoneTarget,\n // We filter the available components\n // Because this modal is only used for adding components\n components: [],\n name: dynamicZoneTarget,\n createComponent: false,\n componentToCreate: { type: 'component' },\n };\n\n dispatch(\n actions.setDynamicZoneDataSchema({\n attributeToEdit,\n })\n );\n }\n\n // Set the predefined data structure to create an attribute\n if (attributeType) {\n const attributeToEditNotFormatted = findAttribute(\n get(type, ['attributes'], []),\n attributeName\n );\n const attributeToEdit = {\n ...attributeToEditNotFormatted,\n name: attributeName,\n };\n\n // We need to set the repeatable key to false when editing a component\n // The API doesn't send this info\n if (attributeType === 'component' && actionType === 'edit') {\n if (!('repeatable' in attributeToEdit) || !attributeToEdit.repeatable) {\n set(attributeToEdit, 'repeatable', false);\n }\n }\n\n if (modalType === 'customField') {\n if (actionType === 'edit') {\n dispatch(\n actions.setCustomFieldDataSchema({\n isEditing: true,\n modifiedDataToSetForEditing: attributeToEdit,\n uid: type.uid,\n })\n );\n } else {\n dispatch(\n actions.setCustomFieldDataSchema({\n customField: pick(customField, ['type', 'options']),\n isEditing: false,\n modifiedDataToSetForEditing: attributeToEdit,\n uid: type.uid,\n })\n );\n }\n } else {\n dispatch(\n actions.setAttributeDataSchema({\n attributeType,\n nameToSetForRelation: get(collectionTypesForRelation, ['0', 'title'], 'error'),\n targetUid: get(collectionTypesForRelation, ['0', 'uid'], 'error'),\n isEditing: actionType === 'edit',\n modifiedDataToSetForEditing: attributeToEdit,\n step,\n uid: type.uid,\n })\n );\n }\n }\n } else {\n dispatch(actions.resetProps());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actionType, attributeName, attributeType, dynamicZoneTarget, forTarget, isOpen, modalType]);\n\n const isCreatingContentType = modalType === 'contentType';\n const isCreatingComponent = modalType === 'component';\n const isCreatingAttribute = modalType === 'attribute';\n const isCreatingCustomFieldAttribute = modalType === 'customField';\n const isComponentAttribute = attributeType === 'component' && isCreatingAttribute;\n const isCreating = actionType === 'create';\n const isCreatingComponentFromAView =\n get(modifiedData, 'createComponent', false) || isCreatingComponentWhileAddingAField;\n const isInFirstComponentStep = step === '1';\n const isPickingAttribute = modalType === 'chooseAttribute';\n const uid = createUid(modifiedData.singularName || '');\n const attributes = get(type, ['attributes'], null) as {\n name: string;\n }[];\n\n const checkFormValidity = async () => {\n let schema;\n const dataToValidate =\n isCreatingComponentFromAView && step === '1'\n ? get(modifiedData, 'componentToCreate', {})\n : modifiedData;\n // Check form validity for content type\n if (isCreatingContentType) {\n schema = forms.contentType.schema(\n Object.keys(contentTypes),\n actionType === 'edit',\n // currentUID\n (type?.uid ?? null) as Internal.UID.ContentType,\n reservedNames,\n ctbFormsAPI,\n contentTypes\n );\n\n // Check form validity for component\n // This is happening when the user click on the link from the left menu\n } else if (isCreatingComponent) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n modifiedData.category || '',\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.displayName || '',\n (type?.uid ?? null) as Internal.UID.Component\n // ctbFormsAPI\n );\n } else if (isCreatingCustomFieldAttribute) {\n schema = forms.customField.schema({\n schemaAttributes: get(type, ['attributes'], []),\n attributeType: customField!.type,\n reservedNames,\n schemaData: { modifiedData, initialData },\n ctbFormsAPI,\n customFieldValidator: customField!.options?.validator,\n });\n\n // Check for validity for creating a component\n // This is happening when the user creates a component \"on the fly\"\n // Since we temporarily store the component info in another object\n // The data is set in the componentToCreate key\n } else if (isComponentAttribute && isCreatingComponentFromAView && isInFirstComponentStep) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n get(modifiedData, 'componentToCreate.category', ''),\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.componentToCreate.displayName || ''\n );\n\n // Check form validity for creating a 'common attribute'\n // We need to make sure that it is independent from the step\n } else if (isCreatingAttribute && !isInFirstComponentStep) {\n const computedAttrbiuteType = attributeType === 'relation' ? 'relation' : modifiedData.type;\n\n let alreadyTakenTargetContentTypeAttributes: any[] = [];\n\n if (computedAttrbiuteType === 'relation') {\n const targetContentTypeUID = get(modifiedData, ['target'], null);\n\n const targetContentTypeAttributes = get(\n contentTypes,\n [targetContentTypeUID, 'attributes'],\n []\n );\n\n // Create an array with all the targetContentType attributes name\n // in order to prevent the user from creating a relation with a targetAttribute\n // that may exist in the other content type\n alreadyTakenTargetContentTypeAttributes = targetContentTypeAttributes.filter(\n ({ name: attrName }: { name: string }) => {\n // Keep all the target content type attributes when creating a relation\n if (actionType !== 'edit') {\n return true;\n }\n\n // Remove the already created one when editing\n return attrName !== initialData.targetAttribute;\n }\n );\n }\n schema = forms.attribute.schema(\n type,\n computedAttrbiuteType,\n reservedNames,\n alreadyTakenTargetContentTypeAttributes,\n { modifiedData, initialData },\n ctbFormsAPI\n );\n } else {\n // The user is either in the addComponentToDynamicZone modal or\n // in step 1 of the add component (modalType=attribute&attributeType=component) but not creating a component\n // eslint-disable-next-line no-lonely-if\n if (isInFirstComponentStep && isCreatingComponentFromAView) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n get(modifiedData, 'componentToCreate.category', ''),\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.componentToCreate.displayName || ''\n );\n } else {\n // The form is valid\n // The case here is being in the addComponentToDynamicZone modal and not creating a component\n return;\n }\n }\n\n await schema.validate(dataToValidate, { abortEarly: false });\n };\n\n const handleChange = React.useCallback(\n ({\n target: { name, value, type, ...rest },\n }: {\n target: { name: string; value: string | string[]; type: string };\n }) => {\n const namesThatCanResetToNullValue = [\n 'enumName',\n 'max',\n 'min',\n 'maxLength',\n 'minLength',\n 'regex',\n 'default',\n ];\n\n let val;\n\n if (namesThatCanResetToNullValue.includes(name) && value === '') {\n val = null;\n } else if (name === 'enum') {\n // For enum values, ensure we're working with an array\n val = Array.isArray(value) ? value : [value];\n } else {\n val = value;\n }\n\n const clonedErrors = Object.assign({}, formErrors);\n\n // Reset min error when modifying the max\n if (name === 'max') {\n delete clonedErrors.min;\n }\n\n // Same here\n if (name === 'maxLength') {\n delete clonedErrors.minLength;\n }\n\n // Since the onBlur is deactivated we remove the errors directly when changing an input\n delete clonedErrors[name];\n\n dispatch(\n actions.setErrors({\n errors: clonedErrors,\n })\n );\n\n dispatch(\n actions.onChange({\n keys: name.split('.'),\n value: val,\n })\n );\n },\n [dispatch, formErrors]\n );\n\n const submitForm = async (e: React.SyntheticEvent, shouldContinue = isCreating) => {\n try {\n await checkFormValidity();\n\n dispatch(\n actions.setErrors({\n errors: {},\n })\n );\n\n sendButtonAddMoreFieldEvent(shouldContinue);\n\n const ctTargetUid = targetUid;\n\n if (isCreatingContentType) {\n // Create the content type schema\n if (isCreating) {\n createSchema({\n data: {\n kind,\n displayName: modifiedData.displayName,\n draftAndPublish: modifiedData.draftAndPublish,\n pluginOptions: modifiedData.pluginOptions,\n singularName: modifiedData.singularName,\n pluralName: modifiedData.pluralName,\n },\n uid,\n });\n\n // Redirect the user to the created content type\n navigate({ pathname: `/plugins/${pluginId}/content-types/${uid}` });\n\n onCloseModal();\n } else {\n // NOTE: we have to assume we have a CT here until we refactor more\n const contentType = type as ContentType;\n // We cannot switch from collection type to single when the modal is making relations other than oneWay or manyWay\n if (canEditContentType(contentType, modifiedData)) {\n onCloseModal();\n\n await updateSchema({\n uid: contentType.uid,\n data: {\n displayName: modifiedData.displayName,\n kind: modifiedData.kind,\n draftAndPublish: modifiedData.draftAndPublish,\n pluginOptions: modifiedData.pluginOptions,\n },\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.contentType.relations.conflict' }),\n });\n }\n\n return;\n }\n // We are creating a component using the component modal from the left menu\n } else if (modalType === 'component') {\n if (isCreating) {\n // Create the component schema\n const componentUid = createComponentUid(modifiedData.displayName, modifiedData.category);\n const { category, ...rest } = modifiedData;\n\n createComponentSchema({\n data: {\n displayName: rest.displayName,\n icon: rest.icon,\n },\n uid: componentUid,\n componentCategory: category,\n });\n\n // Redirect the user to the created component\n navigate({\n pathname: `/plugins/${pluginId}/component-categories/${category}/${componentUid}`,\n });\n\n onCloseModal();\n\n return;\n } else {\n updateComponentSchema({\n data: {\n icon: modifiedData.icon,\n displayName: modifiedData.displayName,\n },\n componentUID: targetUid,\n });\n\n if (type.status === 'NEW') {\n const componentUid = createComponentUid(\n modifiedData.displayName,\n modifiedData.category\n );\n\n updateComponentUid({\n componentUID: targetUid,\n newComponentUID: componentUid,\n });\n\n navigate({\n pathname: `/plugins/${pluginId}/component-categories/${modifiedData.category}/${componentUid}`,\n });\n }\n\n // Close the modal\n onCloseModal();\n\n return;\n }\n } else if (isCreatingCustomFieldAttribute) {\n const customFieldAttributeUpdate = {\n attributeToSet: { ...modifiedData, customField: customFieldUid },\n forTarget,\n targetUid,\n name: initialData.name,\n };\n\n if (actionType === 'edit') {\n editCustomFieldAttribute(customFieldAttributeUpdate);\n } else {\n addCustomFieldAttribute(customFieldAttributeUpdate);\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid: ctTargetUid,\n });\n } else {\n onCloseModal();\n }\n\n return;\n } else if (isCreatingAttribute && !isCreatingComponentFromAView) {\n const isDynamicZoneAttribute = attributeType === 'dynamiczone';\n\n // The user is creating a DZ (he had entered the name of the dz)\n if (isDynamicZoneAttribute) {\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n editAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n // Adding a component to a dynamiczone is not the same logic as creating a simple field\n // so the search is different\n if (isCreating) {\n // Step 1 of adding a component to a DZ, the user has the option to create a component\n dispatch(actions.resetPropsAndSetTheFormForAddingACompoToADz());\n\n setActiveTab('basic');\n onNavigateToAddCompoToDZModal({ dynamicZoneTarget: modifiedData.name });\n } else {\n onCloseModal();\n }\n\n return;\n }\n\n // Normal fields like boolean relations or dynamic zone\n if (!isComponentAttribute) {\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n editAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid: ctTargetUid,\n });\n } else {\n onCloseModal();\n }\n\n return;\n\n // Adding an existing component\n }\n // eslint-disable-next-line no-lonely-if\n if (isInFirstComponentStep) {\n // Navigate the user to step 2\n onNavigateToCreateComponentStep2();\n\n // Clear the reducer and prepare the modified data\n // This way we don't have to add some logic to re-run the useEffect\n // The first step is either needed to create a component or just to navigate\n // To the modal for adding a \"common field\"\n dispatch(\n actions.resetPropsAndSetFormForAddingAnExistingCompo({\n uid: type.uid,\n })\n );\n\n // We don't want all the props to be reset\n return;\n\n // Here we are in step 2\n // The step 2 is also use to edit an attribute that is a component\n }\n\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n // Ensure conditions are explicitly set to undefined if they were removed\n // Explicitly set conditions to undefined when they're removed to distinguish between:\n // 1. missing property: \"don't change existing conditions\" (partial update)\n // 2. undefined property: \"delete conditions\" (explicit removal)\n // This allows the backend to detect user intent:\n // { name: \"field\" } vs { name: \"field\", conditions: undefined }\n // without this, deleted conditions would be preserved by the backend's\n // reuseUnsetPreviousProperties function.\n const attributeData = { ...modifiedData };\n if (!('conditions' in modifiedData) || modifiedData.conditions === undefined) {\n // Explicitly add the conditions key with undefined value\n attributeData.conditions = undefined;\n }\n\n editAttribute({\n attributeToSet: attributeData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid,\n });\n } else {\n onCloseModal();\n }\n\n // We don't need to end the loop here we want the reducer to be reinitialized\n\n // Logic for creating a component without clicking on the link in\n // the left menu\n // We need to separate the logic otherwise the component would be created\n // even though the user didn't set any field\n // We need to prevent the component from being created if the user closes the modal at step 2 without any submission\n } else if (isCreatingAttribute && isCreatingComponentFromAView) {\n // Step 1\n if (isInFirstComponentStep) {\n // Here the search could be refactored since it is the same as the case from above\n // Navigate the user to step 2\n\n trackUsage('willCreateComponentFromAttributesModal');\n\n // Here we clear the reducer state but we also keep the created component\n // If we were to create the component before\n dispatch(\n actions.resetPropsAndSaveCurrentData({\n uid: type.uid,\n })\n );\n\n onNavigateToCreateComponentStep2();\n\n // Terminate because we don't want the reducer to be entirely reset\n return;\n\n // Step 2 of creating a component (which is setting the attribute name in the parent's schema)\n }\n // We are destructuring because the modifiedData object doesn't have the appropriate format to create a field\n const { category, ...rest } = componentToCreate;\n // Create a the component temp UID\n // This could be refactored but I think it's more understandable to separate the logic\n const componentUid = createComponentUid(componentToCreate.displayName, category);\n // Create the component first and add it to the components data\n createComponentSchema({\n // Component data\n data: {\n icon: rest.icon,\n displayName: rest.displayName,\n },\n uid: componentUid,\n componentCategory: category,\n });\n\n // Add the field to the schema\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n\n dispatch(actions.resetProps());\n\n // Open modal attribute for adding attr to component\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({ forTarget: 'component', targetUid: componentUid });\n } else {\n onCloseModal();\n }\n\n return;\n } else {\n // The modal is addComponentToDynamicZone\n if (isInFirstComponentStep) {\n if (isCreatingComponentFromAView) {\n const { category, type, ...rest } = modifiedData.componentToCreate;\n const componentUid = createComponentUid(\n modifiedData.componentToCreate.displayName,\n category\n );\n // Create the component first and add it to the components data\n createComponentSchema({\n data: rest,\n uid: componentUid,\n componentCategory: category,\n });\n // Add the created component to the DZ\n // We don't want to remove the old ones\n addCreatedComponentToDynamicZone({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n componentsToAdd: [componentUid],\n });\n\n // The Dynamic Zone and the component is created\n // Open the modal to add fields to the created component\n onNavigateToChooseAttributeModal({ forTarget: 'component', targetUid: componentUid });\n } else {\n // Add the components to the DZ\n changeDynamicZoneComponents({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n newComponents: modifiedData.components,\n });\n\n onCloseModal();\n }\n } else {\n console.error('This case is not handled');\n }\n\n return;\n }\n\n dispatch(actions.resetProps());\n } catch (err: unknown) {\n if (yup.ValidationError.isError(err)) {\n const errors = getYupInnerErrors(err);\n\n dispatch(\n actions.setErrors({\n errors,\n })\n );\n }\n }\n };\n\n const handleSubmit = async (e: React.SyntheticEvent, shouldContinue = isCreating) => {\n e.preventDefault();\n\n // Check for field name changes when clicking Finish\n const referencedFields = checkFieldNameChanges();\n if (referencedFields) {\n setPendingSubmit({ e, shouldContinue });\n setShowWarningDialog(true);\n return;\n }\n\n await submitForm(e, shouldContinue);\n };\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onCloseModal();\n dispatch(actions.resetProps());\n }\n };\n\n const handleClosed = () => {\n // Close the modal\n if (!isEqual(modifiedData, initialData)) {\n handleConfirmClose();\n } else {\n onCloseModal();\n // Reset the reducer\n dispatch(actions.resetProps());\n }\n };\n\n const sendAdvancedTabEvent = (tab: string) => {\n if (tab !== 'advanced') {\n return;\n }\n\n if (isCreatingContentType) {\n trackUsage('didSelectContentTypeSettings');\n\n return;\n }\n\n if (forTarget === 'contentType') {\n trackUsage('didSelectContentTypeFieldSettings');\n }\n };\n\n const sendButtonAddMoreFieldEvent = (shouldContinue: boolean) => {\n if (\n modalType === 'attribute' &&\n forTarget === 'contentType' &&\n attributeType !== 'dynamiczone' &&\n shouldContinue\n ) {\n trackUsage('willAddMoreFieldToContentType');\n }\n };\n\n const shouldDisableAdvancedTab = () => {\n if (modalType === 'component') {\n return true;\n }\n\n if (has(modifiedData, 'createComponent')) {\n return true;\n }\n\n return false;\n };\n\n // Display data for the attributes picker modal\n const displayedAttributes = getAttributesToDisplay(\n forTarget,\n targetUid,\n // We need the nested components so we know when to remove the component option\n nestedComponents\n );\n\n if (!modalType) {\n return null;\n }\n\n const formToDisplay = get(forms, [modalType, 'form'], {\n advanced: () => ({\n sections: [],\n }),\n base: () => ({\n sections: [],\n }),\n });\n\n const isAddingAComponentToAnotherComponent = forTarget === 'component';\n\n const genericInputProps = {\n customInputs: {\n 'allowed-types-select': AllowedTypesSelect,\n 'boolean-radio-group': BooleanRadioGroup,\n 'checkbox-with-number-field': CheckboxWithNumberField,\n 'icon-picker': IconPicker,\n 'content-type-radio-group': ContentTypeRadioGroup,\n 'radio-group': CustomRadioGroup,\n relation: Relation,\n 'select-category': SelectCategory,\n 'select-component': SelectComponent,\n 'select-components': SelectComponents,\n 'select-default-boolean': BooleanDefaultValueSelect,\n 'select-number': SelectNumber,\n 'select-date': SelectDateType,\n 'toggle-draft-publish': DraftAndPublishToggle,\n 'text-plural': PluralName,\n 'text-singular': SingularName,\n 'textarea-enum': TextareaEnum,\n 'condition-form': ConditionForm,\n ...inputsFromPlugins,\n },\n componentToCreate,\n dynamicZoneTarget,\n formErrors,\n isAddingAComponentToAnotherComponent,\n isCreatingComponentWhileAddingAField,\n mainBoxHeader: get(type, ['info', 'displayName'], ''),\n modifiedData,\n naturePickerType: forTarget,\n isCreating,\n targetUid,\n forTarget,\n contentTypeSchema: type,\n };\n\n const advancedForm = formToDisplay.advanced({\n data: modifiedData,\n type: attributeType,\n step,\n actionType,\n attributes,\n extensions: ctbFormsAPI,\n forTarget,\n contentTypeSchema: type || {},\n customField,\n }).sections;\n const baseForm = formToDisplay.base({\n data: modifiedData,\n type: attributeType,\n step,\n actionType,\n attributes,\n extensions: ctbFormsAPI,\n forTarget,\n contentTypeSchema: type || {},\n customField,\n }).sections;\n\n const baseFormInputNames = getFormInputNames(baseForm);\n\n const advancedFormInputNames = getFormInputNames(advancedForm);\n const doesBaseFormHasError = Object.keys(formErrors).some((key) =>\n baseFormInputNames.includes(key)\n );\n\n const doesAdvancedFormHasError = Object.keys(formErrors).some((key) =>\n advancedFormInputNames.includes(key)\n );\n\n const schemaKind = get(contentTypes, [targetUid, 'kind']);\n\n const checkIsEditingFieldName = () =>\n actionType === 'edit' && attributes.every(({ name }) => name !== modifiedData?.name);\n\n const handleClickFinish = () => {\n if (checkIsEditingFieldName()) {\n trackUsage('didEditFieldNameOnContentType');\n }\n dispatchGuidedTour({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField],\n });\n };\n\n return (\n <Modal.Root open={isOpen} onOpenChange={handleClosed}>\n <Modal.Content>\n <Dialog.Root open={showWarningDialog} onOpenChange={setShowWarningDialog}>\n <Dialog.Trigger />\n <ConfirmDialog\n onConfirm={() => {\n if (pendingSubmit) {\n const { e, shouldContinue } = pendingSubmit;\n setShowWarningDialog(false);\n setPendingSubmit(null);\n submitForm(e, shouldContinue);\n }\n }}\n onCancel={() => {\n setShowWarningDialog(false);\n setPendingSubmit(null);\n }}\n >\n {(() => {\n const referencedFields = checkFieldNameChanges();\n if (!referencedFields) return null;\n\n const fieldNames = referencedFields.map((field: any) => field.name).join(', ');\n const isEnum = initialData.enum && modifiedData.enum;\n\n if (isEnum) {\n const oldEnum = initialData.enum;\n const newEnum = modifiedData.enum;\n const deletedOrChangedValues = oldEnum.filter(\n (value: string) => !newEnum.includes(value)\n );\n\n return (\n <Box>\n <Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning',\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">{fieldNames}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning-values',\n defaultMessage: '. Changing or removing the enum values ',\n })}\n <Typography fontWeight=\"bold\">{deletedOrChangedValues.join(', ')}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning-end',\n defaultMessage: ' will break these conditions. Do you want to proceed?',\n })}\n </Typography>\n </Box>\n );\n }\n\n return (\n <Box>\n <Typography>\n {formatMessage({\n id: 'form.attribute.condition.field-change-warning',\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">{fieldNames}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.field-change-warning-end',\n defaultMessage:\n '. Renaming it will break these conditions. Do you want to proceed?',\n })}\n </Typography>\n </Box>\n );\n })()}\n </ConfirmDialog>\n </Dialog.Root>\n <FormModalHeader\n actionType={actionType}\n attributeName={attributeName}\n contentTypeKind={kind as IconByType}\n dynamicZoneTarget={dynamicZoneTarget}\n modalType={modalType}\n forTarget={forTarget}\n targetUid={targetUid}\n attributeType={attributeType as IconByType}\n customFieldUid={customFieldUid}\n showBackLink={showBackLink}\n />\n {isPickingAttribute && (\n <AttributeOptions\n attributes={displayedAttributes}\n forTarget={forTarget}\n kind={schemaKind || 'collectionType'}\n />\n )}\n {!isPickingAttribute && (\n <FormComponent onSubmit={handleSubmit}>\n <Modal.Body>\n <Tabs.Root\n variant=\"simple\"\n value={activeTab}\n onValueChange={(value) => {\n setActiveTab(value);\n sendAdvancedTabEvent(value);\n }}\n hasError={\n doesBaseFormHasError ? 'basic' : doesAdvancedFormHasError ? 'advanced' : undefined\n }\n >\n <Flex justifyContent=\"space-between\">\n <FormModalSubHeader\n actionType={actionType}\n forTarget={forTarget}\n kind={kind}\n step={step}\n modalType={modalType}\n attributeType={attributeType}\n attributeName={attributeName}\n customField={customField}\n />\n <Tabs.List>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTrad('popUpForm.navContainer.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\" disabled={shouldDisableAdvancedTab()}>\n {formatMessage({\n id: getTrad('popUpForm.navContainer.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n <Divider marginBottom={6} />\n <Tabs.Content value=\"basic\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <TabForm\n form={baseForm}\n formErrors={formErrors}\n genericInputProps={genericInputProps}\n modifiedData={modifiedData}\n onChange={handleChange}\n />\n </Flex>\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <TabForm\n form={advancedForm}\n formErrors={formErrors}\n genericInputProps={genericInputProps}\n modifiedData={modifiedData}\n onChange={handleChange}\n />\n </Flex>\n </Tabs.Content>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button\n type=\"button\"\n variant=\"tertiary\"\n onClick={(e) => {\n e.preventDefault();\n handleClosed();\n }}\n >\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n {/* TODO: refactor this component. Nuf said. */}\n <FormModalEndActions\n deleteContentType={() => deleteContentType(targetUid as Internal.UID.ContentType)}\n deleteComponent={() => deleteComponent(targetUid as Internal.UID.Component)}\n isAttributeModal={modalType === 'attribute'}\n isCustomFieldModal={modalType === 'customField'}\n isComponentToDzModal={modalType === 'addComponentToDynamicZone'}\n isComponentAttribute={attributeType === 'component'}\n isComponentModal={modalType === 'component'}\n isContentTypeModal={modalType === 'contentType'}\n isCreatingComponent={actionType === 'create'}\n isCreatingDz={actionType === 'create'}\n isCreatingComponentAttribute={modifiedData.createComponent || false}\n isCreatingComponentInDz={modifiedData.createComponent || false}\n isCreatingComponentWhileAddingAField={isCreatingComponentWhileAddingAField}\n isCreatingContentType={actionType === 'create'}\n isEditingAttribute={actionType === 'edit'}\n isDzAttribute={attributeType === 'dynamiczone'}\n isInFirstComponentStep={step === '1'}\n onSubmitAddComponentAttribute={handleSubmit}\n onSubmitAddComponentToDz={handleSubmit}\n onSubmitCreateComponent={handleSubmit}\n onSubmitCreateContentType={handleSubmit}\n onSubmitCreateDz={handleSubmit}\n onSubmitEditAttribute={handleSubmit}\n onSubmitEditComponent={handleSubmit}\n onSubmitEditContentType={handleSubmit}\n onSubmitEditCustomFieldAttribute={handleSubmit}\n onSubmitEditDz={handleSubmit}\n onClickFinish={handleClickFinish}\n />\n </Modal.Footer>\n </FormComponent>\n )}\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["FormComponent","styled","form","selectState","state","initialState","FormModal","onCloseModal","onNavigateToChooseAttributeModal","onNavigateToAddCompoToDZModal","onNavigateToCreateComponentStep2","actionType","attributeName","attributeType","customFieldUid","dynamicZoneTarget","forTarget","modalType","isOpen","kind","step","targetUid","showBackLink","activeTab","setActiveTab","useFormModalNavigation","getPlugin","useStrapiApp","getCustomField","customFields","get","customField","dispatch","useDispatch","toggleNotification","useNotification","reducerState","useSelector","shallowEqual","navigate","useNavigate","trackUsage","useCTBTracking","formatMessage","useIntl","ctbPlugin","pluginId","ctbFormsAPI","apis","forms","inputsFromPlugins","components","inputs","dispatchGuidedTour","useGuidedTour","s","addAttribute","editAttribute","addCustomFieldAttribute","addCreatedComponentToDynamicZone","changeDynamicZoneComponents","contentTypes","createSchema","createComponentSchema","deleteComponent","deleteContentType","editCustomFieldAttribute","updateSchema","nestedComponents","sortedContentTypesList","updateComponentSchema","updateComponentUid","reservedNames","useDataManager","componentToCreate","formErrors","initialData","isCreatingComponentWhileAddingAField","modifiedData","type","showWarningDialog","setShowWarningDialog","useState","pendingSubmit","setPendingSubmit","checkFieldNameChanges","oldName","name","oldEnum","enum","newEnum","contentTypeAttributes","attributes","referencedFields","filter","attr","conditions","condition","visible","Object","entries","fieldVar","value","var","deletedOrChangedValues","oldValue","includes","length","React","useEffect","collectionTypesForRelation","isAllowedContentTypesForRelations","foundDynamicZoneTarget","findAttribute","actions","setDataToEdit","data","draftAndPublish","displayName","info","options","pluginOptions","pluralName","singularName","category","icon","attributeToEdit","createComponent","setDynamicZoneDataSchema","attributeToEditNotFormatted","repeatable","set","setCustomFieldDataSchema","isEditing","modifiedDataToSetForEditing","uid","pick","setAttributeDataSchema","nameToSetForRelation","resetProps","isCreatingContentType","isCreatingComponent","isCreatingAttribute","isCreatingCustomFieldAttribute","isComponentAttribute","isCreating","isCreatingComponentFromAView","isInFirstComponentStep","isPickingAttribute","createUid","checkFormValidity","schema","dataToValidate","contentType","keys","component","schemaAttributes","schemaData","customFieldValidator","validator","computedAttrbiuteType","alreadyTakenTargetContentTypeAttributes","targetContentTypeUID","targetContentTypeAttributes","attrName","targetAttribute","attribute","validate","abortEarly","handleChange","useCallback","target","rest","namesThatCanResetToNullValue","val","Array","isArray","clonedErrors","assign","min","minLength","setErrors","errors","onChange","split","submitForm","e","shouldContinue","sendButtonAddMoreFieldEvent","ctTargetUid","pathname","canEditContentType","message","id","componentUid","createComponentUid","componentCategory","componentUID","status","newComponentUID","customFieldAttributeUpdate","attributeToSet","isDynamicZoneAttribute","resetPropsAndSetTheFormForAddingACompoToADz","resetPropsAndSetFormForAddingAnExistingCompo","attributeData","undefined","resetPropsAndSaveCurrentData","componentsToAdd","newComponents","console","error","err","yup","ValidationError","isError","getYupInnerErrors","handleSubmit","preventDefault","handleConfirmClose","confirm","window","defaultMessage","handleClosed","isEqual","sendAdvancedTabEvent","tab","shouldDisableAdvancedTab","has","displayedAttributes","getAttributesToDisplay","formToDisplay","advanced","sections","base","isAddingAComponentToAnotherComponent","genericInputProps","customInputs","AllowedTypesSelect","BooleanRadioGroup","CheckboxWithNumberField","IconPicker","ContentTypeRadioGroup","CustomRadioGroup","relation","Relation","SelectCategory","SelectComponent","SelectComponents","BooleanDefaultValueSelect","SelectNumber","SelectDateType","DraftAndPublishToggle","PluralName","SingularName","TextareaEnum","ConditionForm","mainBoxHeader","naturePickerType","contentTypeSchema","advancedForm","extensions","baseForm","baseFormInputNames","getFormInputNames","advancedFormInputNames","doesBaseFormHasError","some","key","doesAdvancedFormHasError","schemaKind","checkIsEditingFieldName","every","handleClickFinish","payload","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","addField","_jsx","Modal","Root","open","onOpenChange","_jsxs","Content","Dialog","Trigger","ConfirmDialog","onConfirm","onCancel","fieldNames","map","field","join","isEnum","Box","Typography","fontWeight","FormModalHeader","contentTypeKind","AttributeOptions","onSubmit","Body","Tabs","variant","onValueChange","hasError","Flex","justifyContent","FormModalSubHeader","List","getTrad","disabled","Divider","marginBottom","direction","alignItems","gap","TabForm","Footer","Button","onClick","FormModalEndActions","isAttributeModal","isCustomFieldModal","isComponentToDzModal","isComponentModal","isContentTypeModal","isCreatingDz","isCreatingComponentAttribute","isCreatingComponentInDz","isEditingAttribute","isDzAttribute","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateComponent","onSubmitCreateContentType","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish"],"mappings":"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"}
1
+ {"version":3,"file":"FormModal.js","sources":["../../../../admin/src/components/FormModal/FormModal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useState } from 'react';\n\nimport {\n useStrapiApp,\n useNotification,\n ConfirmDialog,\n useGuidedTour,\n GUIDED_TOUR_REQUIRED_ACTIONS,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Divider, Flex, Modal, Tabs, Box, Typography, Dialog } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEqual from 'lodash/isEqual';\nimport pick from 'lodash/pick';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { pluginId } from '../../pluginId';\nimport { getTrad, isAllowedContentTypesForRelations } from '../../utils';\nimport { findAttribute } from '../../utils/findAttribute';\nimport { getYupInnerErrors } from '../../utils/getYupInnerErrors';\n// New compos\nimport { AllowedTypesSelect } from '../AllowedTypesSelect';\nimport { IconByType } from '../AttributeIcon';\nimport { AttributeOptions } from '../AttributeOptions/AttributeOptions';\nimport { BooleanDefaultValueSelect } from '../BooleanDefaultValueSelect';\nimport { BooleanRadioGroup } from '../BooleanRadioGroup';\nimport { CheckboxWithNumberField } from '../CheckboxWithNumberField';\nimport { ContentTypeRadioGroup } from '../ContentTypeRadioGroup';\nimport { useCTBTracking } from '../CTBSession/ctbSession';\nimport { CustomRadioGroup } from '../CustomRadioGroup';\nimport { useDataManager } from '../DataManager/useDataManager';\nimport { DraftAndPublishToggle } from '../DraftAndPublishToggle';\nimport { FormModalEndActions } from '../FormModalEndActions';\nimport { FormModalHeader } from '../FormModalHeader';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\nimport { FormModalSubHeader } from '../FormModalSubHeader';\nimport { IconPicker } from '../IconPicker/IconPicker';\nimport { PluralName } from '../PluralName';\nimport { Relation } from '../Relation/Relation';\nimport { SelectCategory } from '../SelectCategory';\nimport { SelectComponent } from '../SelectComponent';\nimport { SelectComponents } from '../SelectComponents';\nimport { SelectDateType } from '../SelectDateType';\nimport { SelectNumber } from '../SelectNumber';\nimport { SingularName } from '../SingularName';\nimport { TabForm } from '../TabForm';\nimport { TextareaEnum } from '../TextareaEnum';\n\nimport { ConditionForm } from './attributes/ConditionForm';\nimport { forms } from './forms/forms';\nimport { actions, initialState, type State as FormModalState } from './reducer';\nimport { canEditContentType } from './utils/canEditContentType';\nimport { createComponentUid, createUid } from './utils/createUid';\nimport { getAttributesToDisplay } from './utils/getAttributesToDisplay';\nimport { getFormInputNames } from './utils/getFormInputNames';\n\nimport type { ContentType } from '../../types';\nimport type { Internal } from '@strapi/types';\n\nconst FormComponent = styled.form`\n overflow: auto;\n`;\n\nconst selectState = (state: Record<string, unknown>) =>\n (state['content-type-builder_formModal'] || initialState) as FormModalState;\n\nexport const FormModal = () => {\n const {\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onNavigateToCreateComponentStep2,\n actionType,\n attributeName,\n attributeType,\n customFieldUid,\n dynamicZoneTarget,\n forTarget,\n modalType,\n isOpen,\n kind,\n step,\n targetUid,\n showBackLink,\n activeTab,\n setActiveTab,\n } = useFormModalNavigation();\n\n const getPlugin = useStrapiApp('FormModal', (state) => state.getPlugin);\n const getCustomField = useStrapiApp('FormModal', (state) => state.customFields.get);\n const customField = getCustomField(customFieldUid);\n\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const reducerState = useSelector(selectState, shallowEqual);\n\n const navigate = useNavigate();\n const { trackUsage } = useCTBTracking();\n const { formatMessage } = useIntl();\n const ctbPlugin = getPlugin(pluginId);\n const ctbFormsAPI: any = ctbPlugin?.apis.forms;\n const inputsFromPlugins = ctbFormsAPI.components.inputs;\n\n const dispatchGuidedTour = useGuidedTour('FormModal', (s) => s.dispatch);\n\n const {\n addAttribute,\n editAttribute,\n addCustomFieldAttribute,\n addCreatedComponentToDynamicZone,\n changeDynamicZoneComponents,\n contentTypes,\n components,\n createSchema,\n createComponentSchema,\n deleteComponent,\n deleteContentType,\n editCustomFieldAttribute,\n updateSchema,\n nestedComponents,\n sortedContentTypesList,\n updateComponentSchema,\n updateComponentUid,\n reservedNames,\n } = useDataManager();\n\n const {\n componentToCreate,\n formErrors,\n initialData,\n isCreatingComponentWhileAddingAField,\n modifiedData,\n } = reducerState;\n\n const type = forTarget === 'component' ? components[targetUid] : contentTypes[targetUid];\n\n const [showWarningDialog, setShowWarningDialog] = useState(false);\n const [pendingSubmit, setPendingSubmit] = useState<any>(null);\n\n const checkFieldNameChanges = () => {\n // Only check when editing an attribute\n if (actionType !== 'edit' || modalType !== 'attribute') {\n return false;\n }\n\n const oldName = initialData.name;\n const oldEnum = initialData.enum;\n const newEnum = modifiedData.enum;\n\n // Get all attributes from the content type schema\n const contentTypeAttributes = type?.attributes || [];\n\n // Find all fields that reference this field in their conditions\n const referencedFields = contentTypeAttributes.filter((attr: any) => {\n if (!attr.conditions) return false;\n\n const condition = attr.conditions.visible;\n if (!condition) return false;\n\n const [[, conditions]] = Object.entries(condition);\n const [fieldVar, value] = conditions as [{ var: string }, any];\n\n // Check if this condition references our field\n if (fieldVar.var !== oldName) return false;\n\n // If it's an enum field, also check if the value is being deleted/changed\n if (oldEnum && newEnum) {\n const deletedOrChangedValues = oldEnum.filter(\n (oldValue: string) => !newEnum.includes(oldValue)\n );\n return deletedOrChangedValues.includes(value);\n }\n\n return true;\n });\n\n // If any fields reference this field, return them\n if (referencedFields.length > 0) {\n return referencedFields;\n }\n\n return false;\n };\n\n React.useEffect(() => {\n if (isOpen) {\n const collectionTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n if (actionType === 'edit' && modalType === 'attribute' && forTarget === 'contentType') {\n trackUsage('willEditFieldOfContentType');\n }\n\n // Case:\n // the user opens the modal chooseAttributes\n // selects dynamic zone => set the field name\n // then goes to step 1 (the modal is addComponentToDynamicZone) and finally reloads the app.\n // In this particular if the user tries to add components to the zone it will pop an error since the dz is unknown\n const foundDynamicZoneTarget =\n findAttribute(get(type, 'schema.attributes', []), dynamicZoneTarget) || null;\n\n // Create content type we need to add the default option draftAndPublish\n if (modalType === 'contentType' && actionType === 'create') {\n dispatch(\n actions.setDataToEdit({\n data: {\n draftAndPublish: true,\n },\n })\n );\n }\n\n // Edit content type\n if (modalType === 'contentType' && actionType === 'edit') {\n dispatch(\n actions.setDataToEdit({\n data: {\n displayName: type.info.displayName,\n draftAndPublish: type.options?.draftAndPublish,\n kind: 'kind' in type && type.kind,\n pluginOptions: type.pluginOptions,\n pluralName: 'pluralName' in type.info && type.info.pluralName,\n singularName: 'singularName' in type.info && type.info.singularName,\n },\n })\n );\n }\n\n // Edit component\n if (modalType === 'component' && actionType === 'edit') {\n dispatch(\n actions.setDataToEdit({\n data: {\n displayName: type.info.displayName,\n category: 'category' in type && type.category,\n icon: type.info.icon,\n },\n })\n );\n }\n\n // Special case for the dynamic zone\n if (modalType === 'addComponentToDynamicZone' && actionType === 'edit') {\n const attributeToEdit = {\n ...foundDynamicZoneTarget,\n // We filter the available components\n // Because this modal is only used for adding components\n components: [],\n name: dynamicZoneTarget,\n createComponent: false,\n componentToCreate: { type: 'component' },\n };\n\n dispatch(\n actions.setDynamicZoneDataSchema({\n attributeToEdit,\n })\n );\n }\n\n // Set the predefined data structure to create an attribute\n if (attributeType) {\n const attributeToEditNotFormatted = findAttribute(\n get(type, ['attributes'], []),\n attributeName\n );\n const attributeToEdit = {\n ...attributeToEditNotFormatted,\n name: attributeName,\n };\n\n // We need to set the repeatable key to false when editing a component\n // The API doesn't send this info\n if (attributeType === 'component' && actionType === 'edit') {\n if (!('repeatable' in attributeToEdit) || !attributeToEdit.repeatable) {\n set(attributeToEdit, 'repeatable', false);\n }\n }\n\n if (modalType === 'customField') {\n if (actionType === 'edit') {\n dispatch(\n actions.setCustomFieldDataSchema({\n isEditing: true,\n modifiedDataToSetForEditing: attributeToEdit,\n uid: type.uid,\n })\n );\n } else {\n dispatch(\n actions.setCustomFieldDataSchema({\n customField: pick(customField, ['type', 'options']),\n isEditing: false,\n modifiedDataToSetForEditing: attributeToEdit,\n uid: type.uid,\n })\n );\n }\n } else {\n dispatch(\n actions.setAttributeDataSchema({\n attributeType,\n nameToSetForRelation: get(collectionTypesForRelation, ['0', 'title'], 'error'),\n targetUid: get(collectionTypesForRelation, ['0', 'uid'], 'error'),\n isEditing: actionType === 'edit',\n modifiedDataToSetForEditing: attributeToEdit,\n step,\n uid: type.uid,\n })\n );\n }\n }\n } else {\n dispatch(actions.resetProps());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actionType, attributeName, attributeType, dynamicZoneTarget, forTarget, isOpen, modalType]);\n\n const isCreatingContentType = modalType === 'contentType';\n const isCreatingComponent = modalType === 'component';\n const isCreatingAttribute = modalType === 'attribute';\n const isCreatingCustomFieldAttribute = modalType === 'customField';\n const isComponentAttribute = attributeType === 'component' && isCreatingAttribute;\n const isCreating = actionType === 'create';\n const isCreatingComponentFromAView =\n get(modifiedData, 'createComponent', false) || isCreatingComponentWhileAddingAField;\n const isInFirstComponentStep = step === '1';\n const isPickingAttribute = modalType === 'chooseAttribute';\n const uid = createUid(modifiedData.singularName || '');\n const attributes = get(type, ['attributes'], null) as {\n name: string;\n }[];\n\n const checkFormValidity = async () => {\n let schema;\n const dataToValidate =\n isCreatingComponentFromAView && step === '1'\n ? get(modifiedData, 'componentToCreate', {})\n : modifiedData;\n // Check form validity for content type\n if (isCreatingContentType) {\n schema = forms.contentType.schema(\n Object.keys(contentTypes),\n actionType === 'edit',\n // currentUID\n (type?.uid ?? null) as Internal.UID.ContentType,\n reservedNames,\n ctbFormsAPI,\n contentTypes\n );\n\n // Check form validity for component\n // This is happening when the user click on the link from the left menu\n } else if (isCreatingComponent) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n modifiedData.category || '',\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.displayName || '',\n (type?.uid ?? null) as Internal.UID.Component\n // ctbFormsAPI\n );\n } else if (isCreatingCustomFieldAttribute) {\n schema = forms.customField.schema({\n schemaAttributes: get(type, ['attributes'], []),\n attributeType: customField!.type,\n reservedNames,\n schemaData: { modifiedData, initialData },\n ctbFormsAPI,\n customFieldValidator: customField!.options?.validator,\n });\n\n // Check for validity for creating a component\n // This is happening when the user creates a component \"on the fly\"\n // Since we temporarily store the component info in another object\n // The data is set in the componentToCreate key\n } else if (isComponentAttribute && isCreatingComponentFromAView && isInFirstComponentStep) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n get(modifiedData, 'componentToCreate.category', ''),\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.componentToCreate.displayName || ''\n );\n\n // Check form validity for creating a 'common attribute'\n // We need to make sure that it is independent from the step\n } else if (isCreatingAttribute && !isInFirstComponentStep) {\n const computedAttrbiuteType = attributeType === 'relation' ? 'relation' : modifiedData.type;\n\n let alreadyTakenTargetContentTypeAttributes: any[] = [];\n\n if (computedAttrbiuteType === 'relation') {\n const targetContentTypeUID = get(modifiedData, ['target'], null);\n\n const targetContentTypeAttributes = get(\n contentTypes,\n [targetContentTypeUID, 'attributes'],\n []\n );\n\n // Create an array with all the targetContentType attributes name\n // in order to prevent the user from creating a relation with a targetAttribute\n // that may exist in the other content type\n alreadyTakenTargetContentTypeAttributes = targetContentTypeAttributes.filter(\n ({ name: attrName }: { name: string }) => {\n // Keep all the target content type attributes when creating a relation\n if (actionType !== 'edit') {\n return true;\n }\n\n // Remove the already created one when editing\n return attrName !== initialData.targetAttribute;\n }\n );\n }\n schema = forms.attribute.schema(\n type,\n computedAttrbiuteType,\n reservedNames,\n alreadyTakenTargetContentTypeAttributes,\n { modifiedData, initialData },\n ctbFormsAPI\n );\n } else {\n // The user is either in the addComponentToDynamicZone modal or\n // in step 1 of the add component (modalType=attribute&attributeType=component) but not creating a component\n // eslint-disable-next-line no-lonely-if\n if (isInFirstComponentStep && isCreatingComponentFromAView) {\n schema = forms.component.schema(\n Object.keys(components) as Internal.UID.Component[],\n get(modifiedData, 'componentToCreate.category', ''),\n reservedNames,\n actionType === 'edit',\n components,\n modifiedData.componentToCreate.displayName || ''\n );\n } else {\n // The form is valid\n // The case here is being in the addComponentToDynamicZone modal and not creating a component\n return;\n }\n }\n\n await schema.validate(dataToValidate, { abortEarly: false });\n };\n\n const handleChange = React.useCallback(\n ({\n target: { name, value, type, ...rest },\n }: {\n target: { name: string; value: string | string[]; type: string };\n }) => {\n const namesThatCanResetToNullValue = [\n 'enumName',\n 'max',\n 'min',\n 'maxLength',\n 'minLength',\n 'regex',\n 'default',\n ];\n\n let val;\n\n if (namesThatCanResetToNullValue.includes(name) && value === '') {\n val = null;\n } else if (name === 'enum') {\n // For enum values, ensure we're working with an array\n val = Array.isArray(value) ? value : [value];\n } else {\n val = value;\n }\n\n const clonedErrors = Object.assign({}, formErrors);\n\n // Reset min error when modifying the max\n if (name === 'max') {\n delete clonedErrors.min;\n }\n\n // Same here\n if (name === 'maxLength') {\n delete clonedErrors.minLength;\n }\n\n // Since the onBlur is deactivated we remove the errors directly when changing an input\n delete clonedErrors[name];\n\n dispatch(\n actions.setErrors({\n errors: clonedErrors,\n })\n );\n\n dispatch(\n actions.onChange({\n keys: name.split('.'),\n value: val,\n })\n );\n },\n [dispatch, formErrors]\n );\n\n const submitForm = async (e: React.SyntheticEvent, shouldContinue = isCreating) => {\n try {\n await checkFormValidity();\n\n dispatch(\n actions.setErrors({\n errors: {},\n })\n );\n\n sendButtonAddMoreFieldEvent(shouldContinue);\n\n const ctTargetUid = targetUid;\n\n if (isCreatingContentType) {\n // Create the content type schema\n if (isCreating) {\n createSchema({\n data: {\n kind,\n displayName: modifiedData.displayName,\n draftAndPublish: modifiedData.draftAndPublish,\n pluginOptions: modifiedData.pluginOptions,\n singularName: modifiedData.singularName,\n pluralName: modifiedData.pluralName,\n },\n uid,\n });\n\n // Redirect the user to the created content type\n navigate({ pathname: `/plugins/${pluginId}/content-types/${uid}` });\n\n onCloseModal();\n } else {\n // NOTE: we have to assume we have a CT here until we refactor more\n const contentType = type as ContentType;\n // We cannot switch from collection type to single when the modal is making relations other than oneWay or manyWay\n if (canEditContentType(contentType, modifiedData)) {\n onCloseModal();\n\n await updateSchema({\n uid: contentType.uid,\n data: {\n displayName: modifiedData.displayName,\n kind: modifiedData.kind,\n draftAndPublish: modifiedData.draftAndPublish,\n pluginOptions: modifiedData.pluginOptions,\n },\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.contentType.relations.conflict' }),\n });\n }\n\n return;\n }\n // We are creating a component using the component modal from the left menu\n } else if (modalType === 'component') {\n if (isCreating) {\n // Create the component schema\n const componentUid = createComponentUid(modifiedData.displayName, modifiedData.category);\n const { category, ...rest } = modifiedData;\n\n createComponentSchema({\n data: {\n displayName: rest.displayName,\n icon: rest.icon,\n },\n uid: componentUid,\n componentCategory: category,\n });\n\n // Redirect the user to the created component\n navigate({\n pathname: `/plugins/${pluginId}/component-categories/${category}/${componentUid}`,\n });\n\n onCloseModal();\n\n return;\n } else {\n updateComponentSchema({\n data: {\n icon: modifiedData.icon,\n displayName: modifiedData.displayName,\n },\n componentUID: targetUid,\n });\n\n if (type.status === 'NEW') {\n const componentUid = createComponentUid(\n modifiedData.displayName,\n modifiedData.category\n );\n\n updateComponentUid({\n componentUID: targetUid,\n newComponentUID: componentUid,\n });\n\n navigate({\n pathname: `/plugins/${pluginId}/component-categories/${modifiedData.category}/${componentUid}`,\n });\n }\n\n // Close the modal\n onCloseModal();\n\n return;\n }\n } else if (isCreatingCustomFieldAttribute) {\n const customFieldAttributeUpdate = {\n attributeToSet: { ...modifiedData, customField: customFieldUid },\n forTarget,\n targetUid,\n name: initialData.name,\n };\n\n if (actionType === 'edit') {\n editCustomFieldAttribute(customFieldAttributeUpdate);\n } else {\n addCustomFieldAttribute(customFieldAttributeUpdate);\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid: ctTargetUid,\n });\n } else {\n onCloseModal();\n }\n\n return;\n } else if (isCreatingAttribute && !isCreatingComponentFromAView) {\n const isDynamicZoneAttribute = attributeType === 'dynamiczone';\n\n // The user is creating a DZ (he had entered the name of the dz)\n if (isDynamicZoneAttribute) {\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n editAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n // Adding a component to a dynamiczone is not the same logic as creating a simple field\n // so the search is different\n if (isCreating) {\n // Step 1 of adding a component to a DZ, the user has the option to create a component\n dispatch(actions.resetPropsAndSetTheFormForAddingACompoToADz());\n\n setActiveTab('basic');\n onNavigateToAddCompoToDZModal({ dynamicZoneTarget: modifiedData.name });\n } else {\n onCloseModal();\n }\n\n return;\n }\n\n // Normal fields like boolean relations or dynamic zone\n if (!isComponentAttribute) {\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n editAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid: ctTargetUid,\n });\n } else {\n onCloseModal();\n }\n\n return;\n\n // Adding an existing component\n }\n // eslint-disable-next-line no-lonely-if\n if (isInFirstComponentStep) {\n // Navigate the user to step 2\n onNavigateToCreateComponentStep2();\n\n // Clear the reducer and prepare the modified data\n // This way we don't have to add some logic to re-run the useEffect\n // The first step is either needed to create a component or just to navigate\n // To the modal for adding a \"common field\"\n dispatch(\n actions.resetPropsAndSetFormForAddingAnExistingCompo({\n uid: type.uid,\n })\n );\n\n // We don't want all the props to be reset\n return;\n\n // Here we are in step 2\n // The step 2 is also use to edit an attribute that is a component\n }\n\n if (actionType === 'create') {\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n } else {\n // Ensure conditions are explicitly set to undefined if they were removed\n // Explicitly set conditions to undefined when they're removed to distinguish between:\n // 1. missing property: \"don't change existing conditions\" (partial update)\n // 2. undefined property: \"delete conditions\" (explicit removal)\n // This allows the backend to detect user intent:\n // { name: \"field\" } vs { name: \"field\", conditions: undefined }\n // without this, deleted conditions would be preserved by the backend's\n // reuseUnsetPreviousProperties function.\n const attributeData = { ...modifiedData };\n if (!('conditions' in modifiedData) || modifiedData.conditions === undefined) {\n // Explicitly add the conditions key with undefined value\n attributeData.conditions = undefined;\n }\n\n editAttribute({\n attributeToSet: attributeData,\n forTarget,\n targetUid,\n name: initialData.name,\n });\n }\n\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({\n forTarget,\n targetUid,\n });\n } else {\n onCloseModal();\n }\n\n // We don't need to end the loop here we want the reducer to be reinitialized\n\n // Logic for creating a component without clicking on the link in\n // the left menu\n // We need to separate the logic otherwise the component would be created\n // even though the user didn't set any field\n // We need to prevent the component from being created if the user closes the modal at step 2 without any submission\n } else if (isCreatingAttribute && isCreatingComponentFromAView) {\n // Step 1\n if (isInFirstComponentStep) {\n // Here the search could be refactored since it is the same as the case from above\n // Navigate the user to step 2\n\n trackUsage('willCreateComponentFromAttributesModal');\n\n // Here we clear the reducer state but we also keep the created component\n // If we were to create the component before\n dispatch(\n actions.resetPropsAndSaveCurrentData({\n uid: type.uid,\n })\n );\n\n onNavigateToCreateComponentStep2();\n\n // Terminate because we don't want the reducer to be entirely reset\n return;\n\n // Step 2 of creating a component (which is setting the attribute name in the parent's schema)\n }\n // We are destructuring because the modifiedData object doesn't have the appropriate format to create a field\n const { category, ...rest } = componentToCreate;\n // Create a the component temp UID\n // This could be refactored but I think it's more understandable to separate the logic\n const componentUid = createComponentUid(componentToCreate.displayName, category);\n // Create the component first and add it to the components data\n createComponentSchema({\n // Component data\n data: {\n icon: rest.icon,\n displayName: rest.displayName,\n },\n uid: componentUid,\n componentCategory: category,\n });\n\n // Add the field to the schema\n addAttribute({\n attributeToSet: modifiedData,\n forTarget,\n targetUid,\n });\n\n dispatch(actions.resetProps());\n\n // Open modal attribute for adding attr to component\n if (shouldContinue) {\n onNavigateToChooseAttributeModal({ forTarget: 'component', targetUid: componentUid });\n } else {\n onCloseModal();\n }\n\n return;\n } else {\n // The modal is addComponentToDynamicZone\n if (isInFirstComponentStep) {\n if (isCreatingComponentFromAView) {\n const { category, type, ...rest } = modifiedData.componentToCreate;\n const componentUid = createComponentUid(\n modifiedData.componentToCreate.displayName,\n category\n );\n // Create the component first and add it to the components data\n createComponentSchema({\n data: rest,\n uid: componentUid,\n componentCategory: category,\n });\n // Add the created component to the DZ\n // We don't want to remove the old ones\n addCreatedComponentToDynamicZone({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n componentsToAdd: [componentUid],\n });\n\n // The Dynamic Zone and the component is created\n // Open the modal to add fields to the created component\n onNavigateToChooseAttributeModal({ forTarget: 'component', targetUid: componentUid });\n } else {\n // Add the components to the DZ\n changeDynamicZoneComponents({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n newComponents: modifiedData.components,\n });\n\n onCloseModal();\n }\n } else {\n console.error('This case is not handled');\n }\n\n return;\n }\n\n dispatch(actions.resetProps());\n } catch (err: unknown) {\n if (yup.ValidationError.isError(err)) {\n const errors = getYupInnerErrors(err);\n\n dispatch(\n actions.setErrors({\n errors,\n })\n );\n }\n }\n };\n\n const handleSubmit = async (e: React.SyntheticEvent, shouldContinue = isCreating) => {\n e.preventDefault();\n\n // Check for field name changes when clicking Finish\n const referencedFields = checkFieldNameChanges();\n if (referencedFields) {\n setPendingSubmit({ e, shouldContinue });\n setShowWarningDialog(true);\n return;\n }\n\n await submitForm(e, shouldContinue);\n };\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onCloseModal();\n dispatch(actions.resetProps());\n }\n };\n\n const handleClosed = () => {\n // Close the modal\n if (!isEqual(modifiedData, initialData)) {\n handleConfirmClose();\n } else {\n onCloseModal();\n // Reset the reducer\n dispatch(actions.resetProps());\n }\n };\n\n const sendAdvancedTabEvent = (tab: string) => {\n if (tab !== 'advanced') {\n return;\n }\n\n if (isCreatingContentType) {\n trackUsage('didSelectContentTypeSettings');\n\n return;\n }\n\n if (forTarget === 'contentType') {\n trackUsage('didSelectContentTypeFieldSettings');\n }\n };\n\n const sendButtonAddMoreFieldEvent = (shouldContinue: boolean) => {\n if (\n modalType === 'attribute' &&\n forTarget === 'contentType' &&\n attributeType !== 'dynamiczone' &&\n shouldContinue\n ) {\n trackUsage('willAddMoreFieldToContentType');\n }\n };\n\n const shouldDisableAdvancedTab = () => {\n if (modalType === 'component') {\n return true;\n }\n\n if (has(modifiedData, 'createComponent')) {\n return true;\n }\n\n return false;\n };\n\n // Display data for the attributes picker modal\n const displayedAttributes = getAttributesToDisplay(\n forTarget,\n targetUid,\n // We need the nested components so we know when to remove the component option\n nestedComponents\n );\n\n if (!modalType) {\n return null;\n }\n\n const formToDisplay = get(forms, [modalType, 'form'], {\n advanced: () => ({\n sections: [],\n }),\n base: () => ({\n sections: [],\n }),\n });\n\n const isAddingAComponentToAnotherComponent = forTarget === 'component';\n\n const genericInputProps = {\n customInputs: {\n 'allowed-types-select': AllowedTypesSelect,\n 'boolean-radio-group': BooleanRadioGroup,\n 'checkbox-with-number-field': CheckboxWithNumberField,\n 'icon-picker': IconPicker,\n 'content-type-radio-group': ContentTypeRadioGroup,\n 'radio-group': CustomRadioGroup,\n relation: Relation,\n 'select-category': SelectCategory,\n 'select-component': SelectComponent,\n 'select-components': SelectComponents,\n 'select-default-boolean': BooleanDefaultValueSelect,\n 'select-number': SelectNumber,\n 'select-date': SelectDateType,\n 'toggle-draft-publish': DraftAndPublishToggle,\n 'text-plural': PluralName,\n 'text-singular': SingularName,\n 'textarea-enum': TextareaEnum,\n 'condition-form': ConditionForm,\n ...inputsFromPlugins,\n },\n componentToCreate,\n dynamicZoneTarget,\n formErrors,\n isAddingAComponentToAnotherComponent,\n isCreatingComponentWhileAddingAField,\n mainBoxHeader: get(type, ['info', 'displayName'], ''),\n modifiedData,\n naturePickerType: forTarget,\n isCreating,\n targetUid,\n forTarget,\n contentTypeSchema: type,\n };\n\n const advancedForm = formToDisplay.advanced({\n data: modifiedData,\n type: attributeType,\n step,\n actionType,\n attributes,\n extensions: ctbFormsAPI,\n forTarget,\n contentTypeSchema: type || {},\n customField,\n }).sections;\n const baseForm = formToDisplay.base({\n data: modifiedData,\n type: attributeType,\n step,\n actionType,\n attributes,\n extensions: ctbFormsAPI,\n forTarget,\n contentTypeSchema: type || {},\n customField,\n }).sections;\n\n const baseFormInputNames = getFormInputNames(baseForm);\n\n const advancedFormInputNames = getFormInputNames(advancedForm);\n const doesBaseFormHasError = Object.keys(formErrors).some((key) =>\n baseFormInputNames.includes(key)\n );\n\n const doesAdvancedFormHasError = Object.keys(formErrors).some((key) =>\n advancedFormInputNames.includes(key)\n );\n\n const schemaKind = get(contentTypes, [targetUid, 'kind']);\n\n const checkIsEditingFieldName = () =>\n actionType === 'edit' && attributes.every(({ name }) => name !== modifiedData?.name);\n\n const handleClickFinish = () => {\n if (checkIsEditingFieldName()) {\n trackUsage('didEditFieldNameOnContentType');\n }\n dispatchGuidedTour({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField],\n });\n };\n\n return (\n <Modal.Root open={isOpen} onOpenChange={handleClosed}>\n <Modal.Content>\n <Dialog.Root open={showWarningDialog} onOpenChange={setShowWarningDialog}>\n <Dialog.Trigger />\n <ConfirmDialog\n onConfirm={() => {\n if (pendingSubmit) {\n const { e, shouldContinue } = pendingSubmit;\n setShowWarningDialog(false);\n setPendingSubmit(null);\n submitForm(e, shouldContinue);\n }\n }}\n onCancel={() => {\n setShowWarningDialog(false);\n setPendingSubmit(null);\n }}\n >\n {(() => {\n const referencedFields = checkFieldNameChanges();\n if (!referencedFields) return null;\n\n const fieldNames = referencedFields.map((field: any) => field.name).join(', ');\n const isEnum = initialData.enum && modifiedData.enum;\n\n if (isEnum) {\n const oldEnum = initialData.enum;\n const newEnum = modifiedData.enum;\n const deletedOrChangedValues = oldEnum.filter(\n (value: string) => !newEnum.includes(value)\n );\n\n return (\n <Box>\n <Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning',\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">{fieldNames}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning-values',\n defaultMessage: '. Changing or removing the enum values ',\n })}\n <Typography fontWeight=\"bold\">{deletedOrChangedValues.join(', ')}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.enum-change-warning-end',\n defaultMessage: ' will break these conditions. Do you want to proceed?',\n })}\n </Typography>\n </Box>\n );\n }\n\n return (\n <Box>\n <Typography>\n {formatMessage({\n id: 'form.attribute.condition.field-change-warning',\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">{fieldNames}</Typography>\n {formatMessage({\n id: 'form.attribute.condition.field-change-warning-end',\n defaultMessage:\n '. Renaming it will break these conditions. Do you want to proceed?',\n })}\n </Typography>\n </Box>\n );\n })()}\n </ConfirmDialog>\n </Dialog.Root>\n <FormModalHeader\n actionType={actionType}\n attributeName={attributeName}\n contentTypeKind={kind as IconByType}\n dynamicZoneTarget={dynamicZoneTarget}\n modalType={modalType}\n forTarget={forTarget}\n targetUid={targetUid}\n attributeType={attributeType as IconByType}\n customFieldUid={customFieldUid}\n showBackLink={showBackLink}\n />\n {isPickingAttribute && (\n <AttributeOptions\n attributes={displayedAttributes}\n forTarget={forTarget}\n kind={schemaKind || 'collectionType'}\n />\n )}\n {!isPickingAttribute && (\n <FormComponent onSubmit={handleSubmit}>\n <Modal.Body>\n <Tabs.Root\n variant=\"simple\"\n value={activeTab}\n onValueChange={(value) => {\n setActiveTab(value);\n sendAdvancedTabEvent(value);\n }}\n hasError={\n doesBaseFormHasError ? 'basic' : doesAdvancedFormHasError ? 'advanced' : undefined\n }\n >\n <Flex justifyContent=\"space-between\">\n <FormModalSubHeader\n actionType={actionType}\n forTarget={forTarget}\n kind={kind}\n step={step}\n modalType={modalType}\n attributeType={attributeType}\n attributeName={attributeName}\n customField={customField}\n />\n <Tabs.List>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTrad('popUpForm.navContainer.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\" disabled={shouldDisableAdvancedTab()}>\n {formatMessage({\n id: getTrad('popUpForm.navContainer.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n <Divider marginBottom={6} />\n <Tabs.Content value=\"basic\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <TabForm\n form={baseForm}\n formErrors={formErrors}\n genericInputProps={genericInputProps}\n modifiedData={modifiedData}\n onChange={handleChange}\n />\n </Flex>\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <TabForm\n form={advancedForm}\n formErrors={formErrors}\n genericInputProps={genericInputProps}\n modifiedData={modifiedData}\n onChange={handleChange}\n />\n </Flex>\n </Tabs.Content>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button\n type=\"button\"\n variant=\"tertiary\"\n onClick={(e) => {\n e.preventDefault();\n handleClosed();\n }}\n >\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n {/* TODO: refactor this component. Nuf said. */}\n <FormModalEndActions\n deleteContentType={() => deleteContentType(targetUid as Internal.UID.ContentType)}\n deleteComponent={() => deleteComponent(targetUid as Internal.UID.Component)}\n isAttributeModal={modalType === 'attribute'}\n isCustomFieldModal={modalType === 'customField'}\n isComponentToDzModal={modalType === 'addComponentToDynamicZone'}\n isComponentAttribute={attributeType === 'component'}\n isComponentModal={modalType === 'component'}\n isContentTypeModal={modalType === 'contentType'}\n isCreatingComponent={actionType === 'create'}\n isCreatingDz={actionType === 'create'}\n isCreatingComponentAttribute={modifiedData.createComponent || false}\n isCreatingComponentInDz={modifiedData.createComponent || false}\n isCreatingComponentWhileAddingAField={isCreatingComponentWhileAddingAField}\n isCreatingContentType={actionType === 'create'}\n isEditingAttribute={actionType === 'edit'}\n isDzAttribute={attributeType === 'dynamiczone'}\n isInFirstComponentStep={step === '1'}\n onSubmitAddComponentAttribute={handleSubmit}\n onSubmitAddComponentToDz={handleSubmit}\n onSubmitCreateComponent={handleSubmit}\n onSubmitCreateContentType={handleSubmit}\n onSubmitCreateDz={handleSubmit}\n onSubmitEditAttribute={handleSubmit}\n onSubmitEditComponent={handleSubmit}\n onSubmitEditContentType={handleSubmit}\n onSubmitEditCustomFieldAttribute={handleSubmit}\n onSubmitEditDz={handleSubmit}\n onClickFinish={handleClickFinish}\n />\n </Modal.Footer>\n </FormComponent>\n )}\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["FormComponent","styled","form","selectState","state","initialState","FormModal","onCloseModal","onNavigateToChooseAttributeModal","onNavigateToAddCompoToDZModal","onNavigateToCreateComponentStep2","actionType","attributeName","attributeType","customFieldUid","dynamicZoneTarget","forTarget","modalType","isOpen","kind","step","targetUid","showBackLink","activeTab","setActiveTab","useFormModalNavigation","getPlugin","useStrapiApp","getCustomField","customFields","get","customField","dispatch","useDispatch","toggleNotification","useNotification","reducerState","useSelector","shallowEqual","navigate","useNavigate","trackUsage","useCTBTracking","formatMessage","useIntl","ctbPlugin","pluginId","ctbFormsAPI","apis","forms","inputsFromPlugins","components","inputs","dispatchGuidedTour","useGuidedTour","s","addAttribute","editAttribute","addCustomFieldAttribute","addCreatedComponentToDynamicZone","changeDynamicZoneComponents","contentTypes","createSchema","createComponentSchema","deleteComponent","deleteContentType","editCustomFieldAttribute","updateSchema","nestedComponents","sortedContentTypesList","updateComponentSchema","updateComponentUid","reservedNames","useDataManager","componentToCreate","formErrors","initialData","isCreatingComponentWhileAddingAField","modifiedData","type","showWarningDialog","setShowWarningDialog","useState","pendingSubmit","setPendingSubmit","checkFieldNameChanges","oldName","name","oldEnum","enum","newEnum","contentTypeAttributes","attributes","referencedFields","filter","attr","conditions","condition","visible","Object","entries","fieldVar","value","var","deletedOrChangedValues","oldValue","includes","length","React","useEffect","collectionTypesForRelation","isAllowedContentTypesForRelations","foundDynamicZoneTarget","findAttribute","actions","setDataToEdit","data","draftAndPublish","displayName","info","options","pluginOptions","pluralName","singularName","category","icon","attributeToEdit","createComponent","setDynamicZoneDataSchema","attributeToEditNotFormatted","repeatable","set","setCustomFieldDataSchema","isEditing","modifiedDataToSetForEditing","uid","pick","setAttributeDataSchema","nameToSetForRelation","resetProps","isCreatingContentType","isCreatingComponent","isCreatingAttribute","isCreatingCustomFieldAttribute","isComponentAttribute","isCreating","isCreatingComponentFromAView","isInFirstComponentStep","isPickingAttribute","createUid","checkFormValidity","schema","dataToValidate","contentType","keys","component","schemaAttributes","schemaData","customFieldValidator","validator","computedAttrbiuteType","alreadyTakenTargetContentTypeAttributes","targetContentTypeUID","targetContentTypeAttributes","attrName","targetAttribute","attribute","validate","abortEarly","handleChange","useCallback","target","rest","namesThatCanResetToNullValue","val","Array","isArray","clonedErrors","assign","min","minLength","setErrors","errors","onChange","split","submitForm","e","shouldContinue","sendButtonAddMoreFieldEvent","ctTargetUid","pathname","canEditContentType","message","id","componentUid","createComponentUid","componentCategory","componentUID","status","newComponentUID","customFieldAttributeUpdate","attributeToSet","isDynamicZoneAttribute","resetPropsAndSetTheFormForAddingACompoToADz","resetPropsAndSetFormForAddingAnExistingCompo","attributeData","undefined","resetPropsAndSaveCurrentData","componentsToAdd","newComponents","console","error","err","yup","ValidationError","isError","getYupInnerErrors","handleSubmit","preventDefault","handleConfirmClose","confirm","window","defaultMessage","handleClosed","isEqual","sendAdvancedTabEvent","tab","shouldDisableAdvancedTab","has","displayedAttributes","getAttributesToDisplay","formToDisplay","advanced","sections","base","isAddingAComponentToAnotherComponent","genericInputProps","customInputs","AllowedTypesSelect","BooleanRadioGroup","CheckboxWithNumberField","IconPicker","ContentTypeRadioGroup","CustomRadioGroup","relation","Relation","SelectCategory","SelectComponent","SelectComponents","BooleanDefaultValueSelect","SelectNumber","SelectDateType","DraftAndPublishToggle","PluralName","SingularName","TextareaEnum","ConditionForm","mainBoxHeader","naturePickerType","contentTypeSchema","advancedForm","extensions","baseForm","baseFormInputNames","getFormInputNames","advancedFormInputNames","doesBaseFormHasError","some","key","doesAdvancedFormHasError","schemaKind","checkIsEditingFieldName","every","handleClickFinish","payload","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","addField","_jsx","Modal","Root","open","onOpenChange","_jsxs","Content","Dialog","Trigger","ConfirmDialog","onConfirm","onCancel","fieldNames","map","field","join","isEnum","Box","Typography","fontWeight","FormModalHeader","contentTypeKind","AttributeOptions","onSubmit","Body","Tabs","variant","onValueChange","hasError","Flex","justifyContent","FormModalSubHeader","List","getTrad","disabled","Divider","marginBottom","direction","alignItems","gap","TabForm","Footer","Button","onClick","FormModalEndActions","isAttributeModal","isCustomFieldModal","isComponentToDzModal","isComponentModal","isContentTypeModal","isCreatingDz","isCreatingComponentAttribute","isCreatingComponentInDz","isEditingAttribute","isDzAttribute","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateComponent","onSubmitCreateContentType","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish"],"mappings":"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"}
@@ -46,7 +46,7 @@ import { TabForm } from '../TabForm.mjs';
46
46
  import { TextareaEnum } from '../TextareaEnum.mjs';
47
47
  import { ConditionForm } from './attributes/ConditionForm.mjs';
48
48
  import { forms } from './forms/forms.mjs';
49
- import { actions, initialState } from './reducer.mjs';
49
+ import { initialState, actions } from './reducer.mjs';
50
50
  import { canEditContentType } from './utils/canEditContentType.mjs';
51
51
  import { createUid, createComponentUid } from './utils/createUid.mjs';
52
52
  import { getAttributesToDisplay } from './utils/getAttributesToDisplay.mjs';