@strapi/content-type-builder 5.50.0 → 5.50.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 (227) hide show
  1. package/dist/admin/components/AIChat/Chat.js +2 -4
  2. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  3. package/dist/admin/components/AIChat/Chat.mjs +2 -4
  4. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  5. package/dist/admin/components/AIChat/UploadFigmaModal.js +1 -1
  6. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  7. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  8. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  9. package/dist/admin/components/AIChat/components/Messages/Message.js +8 -3
  10. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  11. package/dist/admin/components/AIChat/components/Messages/Message.mjs +8 -3
  12. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/lib/aiClient.js +8 -2
  14. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  15. package/dist/admin/components/AIChat/lib/aiClient.mjs +8 -2
  16. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +0 -3
  18. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
  19. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +0 -3
  20. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
  21. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +9 -7
  22. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  23. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +9 -7
  24. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  25. package/dist/admin/components/AIChat/providers/SchemaProvider.js +1 -1
  26. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  27. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +1 -1
  28. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  29. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  30. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
  31. package/dist/admin/components/AttributeIcon.js +1 -1
  32. package/dist/admin/components/AttributeIcon.js.map +1 -1
  33. package/dist/admin/components/AttributeIcon.mjs +1 -1
  34. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  35. package/dist/admin/components/BooleanDefaultValueSelect.js +3 -2
  36. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
  37. package/dist/admin/components/BooleanDefaultValueSelect.mjs +3 -2
  38. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
  39. package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
  40. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
  41. package/dist/admin/components/CTBSession/useCTBTracking.js +3 -3
  42. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  43. package/dist/admin/components/CTBSession/useCTBTracking.mjs +3 -3
  44. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  45. package/dist/admin/components/CheckboxWithNumberField.js +3 -2
  46. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  47. package/dist/admin/components/CheckboxWithNumberField.mjs +3 -2
  48. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  49. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  50. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  51. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +160 -162
  52. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  53. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +160 -162
  54. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  55. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +1 -1
  56. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  57. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +1 -1
  58. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  59. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
  60. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
  61. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +6 -5
  62. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
  63. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +6 -5
  64. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
  65. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
  66. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
  67. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
  68. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
  69. package/dist/admin/components/DataManager/DataManagerProvider.js +16 -4
  70. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  71. package/dist/admin/components/DataManager/DataManagerProvider.mjs +16 -4
  72. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  73. package/dist/admin/components/DataManager/reducer.js +2 -2
  74. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  75. package/dist/admin/components/DataManager/reducer.mjs +2 -2
  76. package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
  77. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  78. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
  81. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
  82. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
  83. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  84. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  85. package/dist/admin/components/FormModal/FormModal.js +91 -71
  86. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  87. package/dist/admin/components/FormModal/FormModal.mjs +91 -70
  88. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  89. package/dist/admin/components/FormModal/attributes/ConditionForm.js +20 -17
  90. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  91. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +20 -17
  92. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  93. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  94. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  95. package/dist/admin/components/FormModal/forms/forms.js +4 -6
  96. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  97. package/dist/admin/components/FormModal/forms/forms.mjs +4 -6
  98. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  99. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  100. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  101. package/dist/admin/components/FormModal/reducer.js +9 -6
  102. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  103. package/dist/admin/components/FormModal/reducer.mjs +9 -6
  104. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +3 -3
  106. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
  107. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +3 -3
  108. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/utils/getFormInputNames.js +1 -1
  110. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
  111. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +1 -1
  112. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/utils/relations.js +2 -2
  114. package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
  115. package/dist/admin/components/FormModal/utils/relations.mjs +2 -2
  116. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
  117. package/dist/admin/components/FormModalHeader.js.map +1 -1
  118. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  119. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  120. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
  121. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +13 -13
  122. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
  123. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +13 -13
  124. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
  125. package/dist/admin/components/GenericInputs.js +24 -12
  126. package/dist/admin/components/GenericInputs.js.map +1 -1
  127. package/dist/admin/components/GenericInputs.mjs +24 -12
  128. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  129. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
  130. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
  131. package/dist/admin/components/PluralName.js.map +1 -1
  132. package/dist/admin/components/PluralName.mjs.map +1 -1
  133. package/dist/admin/components/Relation/Relation.js +3 -3
  134. package/dist/admin/components/Relation/Relation.js.map +1 -1
  135. package/dist/admin/components/Relation/Relation.mjs +3 -3
  136. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  137. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  138. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  139. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  140. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  141. package/dist/admin/components/SelectCategory.js +6 -0
  142. package/dist/admin/components/SelectCategory.js.map +1 -1
  143. package/dist/admin/components/SelectCategory.mjs +6 -0
  144. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  145. package/dist/admin/components/SelectComponent.js +1 -1
  146. package/dist/admin/components/SelectComponent.js.map +1 -1
  147. package/dist/admin/components/SelectComponent.mjs +1 -1
  148. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  149. package/dist/admin/components/SingularName.js.map +1 -1
  150. package/dist/admin/components/SingularName.mjs.map +1 -1
  151. package/dist/admin/components/TabForm.js +50 -51
  152. package/dist/admin/components/TabForm.js.map +1 -1
  153. package/dist/admin/components/TabForm.mjs +51 -52
  154. package/dist/admin/components/TabForm.mjs.map +1 -1
  155. package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +1 -2
  156. package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +1 -1
  157. package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +6 -2
  158. package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +1 -1
  159. package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +5 -5
  160. package/dist/admin/src/components/AllowedTypesSelect.d.ts +3 -3
  161. package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +3 -3
  162. package/dist/admin/src/components/BooleanRadioGroup.d.ts +2 -2
  163. package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +1 -1
  164. package/dist/admin/src/components/CheckboxWithNumberField.d.ts +6 -4
  165. package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +3 -2
  166. package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +3 -2
  167. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +13 -11
  168. package/dist/admin/src/components/DataManager/reducer.d.ts +14 -10
  169. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +8 -8
  170. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -3
  171. package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -1
  172. package/dist/admin/src/components/DraftAndPublishToggle.d.ts +1 -6
  173. package/dist/admin/src/components/DynamicZoneList.d.ts +2 -2
  174. package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +3 -2
  175. package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +3 -1
  176. package/dist/admin/src/components/FormModal/forms/forms.d.ts +59 -26
  177. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +12 -2
  178. package/dist/admin/src/components/FormModal/reducer.d.ts +104 -32
  179. package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -1
  180. package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -1
  181. package/dist/admin/src/components/FormModal/utils/relations.d.ts +2 -2
  182. package/dist/admin/src/components/FormModalHeader.d.ts +5 -8
  183. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +2 -2
  184. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +17 -1
  185. package/dist/admin/src/components/GenericInputs.d.ts +12 -7
  186. package/dist/admin/src/components/IconPicker/IconPicker.d.ts +2 -7
  187. package/dist/admin/src/components/PluralName.d.ts +6 -14
  188. package/dist/admin/src/components/Relation/Relation.d.ts +12 -3
  189. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +3 -2
  190. package/dist/admin/src/components/SelectCategory.d.ts +3 -12
  191. package/dist/admin/src/components/SelectComponent.d.ts +8 -7
  192. package/dist/admin/src/components/SingularName.d.ts +5 -8
  193. package/dist/admin/src/components/TabForm.d.ts +38 -7
  194. package/dist/admin/src/types.d.ts +20 -12
  195. package/dist/admin/src/utils/conditions.d.ts +13 -4
  196. package/dist/admin/src/utils/formAPI.d.ts +38 -33
  197. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  198. package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
  199. package/dist/admin/utils/conditions.js +38 -28
  200. package/dist/admin/utils/conditions.js.map +1 -1
  201. package/dist/admin/utils/conditions.mjs +37 -28
  202. package/dist/admin/utils/conditions.mjs.map +1 -1
  203. package/dist/admin/utils/formAPI.js +9 -6
  204. package/dist/admin/utils/formAPI.js.map +1 -1
  205. package/dist/admin/utils/formAPI.mjs +9 -6
  206. package/dist/admin/utils/formAPI.mjs.map +1 -1
  207. package/dist/admin/utils/getRelationType.js +3 -0
  208. package/dist/admin/utils/getRelationType.js.map +1 -1
  209. package/dist/admin/utils/getRelationType.mjs +3 -0
  210. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  211. package/dist/admin/utils/getYupInnerErrors.js +6 -4
  212. package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
  213. package/dist/admin/utils/getYupInnerErrors.mjs +6 -4
  214. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
  215. package/dist/admin/utils/parseNumberInputValue.js +15 -0
  216. package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
  217. package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
  218. package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
  219. package/dist/server/controllers/validation/relations.js +1 -1
  220. package/dist/server/controllers/validation/relations.js.map +1 -1
  221. package/dist/server/controllers/validation/relations.mjs +1 -1
  222. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  223. package/dist/server/controllers/validation/types.js +4 -3
  224. package/dist/server/controllers/validation/types.js.map +1 -1
  225. package/dist/server/controllers/validation/types.mjs +4 -3
  226. package/dist/server/controllers/validation/types.mjs.map +1 -1
  227. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/DataManager/reducer.ts"],"sourcesContent":["import { PayloadAction } from '@reduxjs/toolkit';\nimport merge from 'lodash/merge';\nimport omit from 'lodash/omit';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { makeUnique } from '../../utils/makeUnique';\n\nimport { createUndoRedoSlice } from './undoRedo';\n\nimport type {\n Components,\n ContentTypes,\n ContentType,\n Component,\n Status,\n AnyAttribute,\n} from '../../types';\nimport type { Internal, Schema, Struct, UID } from '@strapi/types';\n\nexport interface DataManagerStateType {\n components: Components;\n initialComponents: Components;\n contentTypes: ContentTypes;\n initialContentTypes: ContentTypes;\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n isLoading: boolean;\n [key: string]: any;\n}\n\nconst initialState: DataManagerStateType = {\n components: {},\n contentTypes: {},\n initialComponents: {},\n initialContentTypes: {},\n reservedNames: {\n models: [],\n attributes: [],\n },\n isLoading: true,\n};\n\nconst ONE_SIDE_RELATIONS = ['oneWay', 'manyWay'];\n\nconst getOppositeRelation = (originalRelation?: Schema.Attribute.RelationKind.Any) => {\n if (originalRelation === 'manyToOne') {\n return 'oneToMany';\n }\n\n if (originalRelation === 'oneToMany') {\n return 'manyToOne';\n }\n\n return originalRelation;\n};\n\nconst findAttributeIndex = (type: any, attributeToFind?: string) => {\n return type.attributes.findIndex(({ name }: { name: string }) => name === attributeToFind);\n};\n\ntype InitPayload = {\n components: Record<string, Component>;\n contentTypes: Record<string, ContentType>;\n reservedNames: DataManagerStateType['reservedNames'];\n};\n\ntype AddAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype AddCreateComponentToDynamicZonePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n};\n\ntype AddCustomFieldAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype ChangeDynamicZoneComponentsPayload = {\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype CreateComponentSchemaPayload = {\n uid: string;\n data: {\n icon: string;\n displayName: string;\n };\n componentCategory: string;\n};\n\ntype CreateSchemaPayload = {\n uid: string;\n data: {\n displayName: string;\n singularName: string;\n pluralName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, any>;\n };\n};\n\ntype EditAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: string;\n name: string;\n};\n\ntype EditCustomFieldAttributePayload = {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: string;\n name: string;\n};\n\ntype RemoveComponentFromDynamicZonePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n dzName: string;\n componentToRemoveIndex: number;\n};\n\ntype RemoveFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n attributeToRemoveName: string;\n};\n\ntype UpdateComponentSchemaPayload = {\n data: {\n icon: string;\n displayName: string;\n };\n uid: Internal.UID.Component;\n};\n\ntype UpdateComponentUIDPayload = {\n uid: Internal.UID.Component;\n newComponentUID: Internal.UID.Component;\n};\n\ntype UpdateSchemaPayload = {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, any>;\n };\n uid: string;\n};\n\ntype MoveAttributePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n from: number;\n to: number;\n};\n\nconst getType = (\n state: DataManagerStateType,\n {\n forTarget,\n targetUid,\n }: {\n forTarget: Struct.ModelType;\n targetUid: string;\n }\n) => {\n return forTarget === 'contentType' ? state.contentTypes[targetUid] : state.components[targetUid];\n};\n\n// TODO: use initial state when chnaging back to the initial state without knowing\nconst setStatus = (type: ContentType | Component, status: Status) => {\n switch (type.status) {\n case 'NEW':\n case 'REMOVED': {\n break;\n }\n default: {\n type.status = status;\n }\n }\n};\n\nconst getNewStatus = (oldStatus: Status | undefined, newStatus: Status) => {\n if (oldStatus === 'NEW' || oldStatus === 'REMOVED') {\n return oldStatus;\n }\n\n return newStatus;\n};\n\nconst setAttributeStatus = (attribute: Record<string, any>, status: Status) => {\n attribute.status = getNewStatus(attribute.status, status);\n};\n\nconst createAttribute = (properties: Record<string, any>): AnyAttribute => {\n return {\n ...properties,\n status: 'NEW',\n } as AnyAttribute;\n};\n\nconst setAttributeAt = (type: ContentType | Component, index: number, attribute: AnyAttribute) => {\n const previousAttribute = type.attributes[index];\n\n const newStatus = getNewStatus(previousAttribute.status, 'CHANGED');\n\n type.attributes[index] = {\n ...attribute,\n status: newStatus,\n };\n\n setStatus(type, 'CHANGED');\n};\n\nconst pushAttribute = (type: ContentType | Component, attribute: AnyAttribute) => {\n type.attributes.push(attribute);\n setStatus(type, 'CHANGED');\n};\n\nconst removeAttributeAt = (type: ContentType | Component, index: number) => {\n const attr = type.attributes[index];\n\n setStatus(type, 'CHANGED');\n\n if (attr.status === 'NEW') {\n type.attributes.splice(index, 1);\n } else {\n setAttributeStatus(attr, 'REMOVED');\n }\n};\n\nconst replaceAttributeAt = (\n type: ContentType | Component,\n index: number,\n attribute: AnyAttribute\n) => {\n type.attributes[index] = attribute;\n setStatus(type, 'CHANGED');\n};\n\nconst removeAttributeByName = (type: ContentType | Component, name: string) => {\n const idx = type.attributes.findIndex((attr) => attr.name === name);\n\n const attr = type.attributes[idx];\n\n setStatus(type, 'CHANGED');\n\n if (attr.status === 'NEW') {\n type.attributes.splice(idx, 1);\n } else {\n setAttributeStatus(attr, 'REMOVED');\n }\n};\n\nconst updateType = (type: ContentType | Component, data: Record<string, any>) => {\n merge(type, data);\n setStatus(type, 'CHANGED');\n};\n\nconst slice = createUndoRedoSlice(\n {\n name: 'data-manager',\n initialState,\n reducers: {\n init: (state, action: PayloadAction<InitPayload>) => {\n const { components, contentTypes, reservedNames } = action.payload;\n\n state.components = components;\n state.initialComponents = components;\n state.initialContentTypes = contentTypes;\n state.contentTypes = contentTypes;\n state.reservedNames = reservedNames;\n state.isLoading = false;\n },\n createComponentSchema: (state, action: PayloadAction<CreateComponentSchemaPayload>) => {\n const { uid, data, componentCategory } = action.payload;\n\n const newSchema: Component = {\n uid: uid as Internal.UID.Component,\n status: 'NEW',\n category: componentCategory,\n modelName: data.displayName,\n globalId: data.displayName,\n info: {\n icon: data.icon,\n displayName: data.displayName,\n },\n attributes: [],\n modelType: 'component',\n };\n\n state.components[uid as string] = newSchema;\n },\n createSchema: (state, action: PayloadAction<CreateSchemaPayload>) => {\n const { uid, data } = action.payload;\n\n const { displayName, singularName, pluralName, kind, draftAndPublish, pluginOptions } =\n data;\n\n const newSchema: ContentType = {\n uid: uid as Internal.UID.ContentType,\n status: 'NEW',\n visible: true,\n modelType: 'contentType',\n restrictRelationsTo: null,\n attributes: [],\n kind,\n modelName: displayName,\n globalId: displayName,\n options: {\n draftAndPublish,\n },\n info: {\n displayName,\n singularName,\n pluralName,\n },\n pluginOptions,\n };\n\n state.contentTypes[uid] = newSchema;\n },\n addAttribute: (state, action: PayloadAction<AddAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attribute = createAttribute(omit(attributeToSet, 'createComponent'));\n\n if (attribute.type === 'relation') {\n const target = attribute.target;\n const targetAttribute = attribute.targetAttribute || null;\n const relation = attribute.relation;\n const relationType = getRelationType(relation, targetAttribute);\n\n const isBidirectionalRelation = !['oneWay', 'manyWay'].includes(relationType);\n\n if (isBidirectionalRelation) {\n const oppositeAttribute = createAttribute({\n name: targetAttribute,\n relation: getOppositeRelation(relationType),\n target: type.uid,\n targetAttribute: attribute.name,\n type: 'relation',\n private: attribute.private,\n });\n\n const targetType = getType(state, { forTarget, targetUid: target });\n pushAttribute(targetType, oppositeAttribute);\n }\n }\n\n pushAttribute(type, attribute);\n setStatus(type, 'CHANGED');\n },\n moveAttribute: (state, action: PayloadAction<MoveAttributePayload>) => {\n const { forTarget, targetUid, from, to } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attribute = type.attributes[from];\n type.attributes.splice(from, 1);\n type.attributes.splice(to, 0, attribute);\n setStatus(type, 'CHANGED');\n },\n addCustomFieldAttribute: (state, action: PayloadAction<AddCustomFieldAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n pushAttribute(type, createAttribute(attributeToSet));\n },\n addCreatedComponentToDynamicZone: (\n state,\n action: PayloadAction<AddCreateComponentToDynamicZonePayload>\n ) => {\n const { dynamicZoneTarget, componentsToAdd, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const dzAttributeIndex = findAttributeIndex(type, dynamicZoneTarget);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n\n componentsToAdd.forEach((componentUid: Internal.UID.Component) => {\n attr.components.push(componentUid);\n });\n\n setAttributeStatus(attr, 'CHANGED');\n setStatus(type, 'CHANGED');\n },\n changeDynamicZoneComponents: (\n state,\n action: PayloadAction<ChangeDynamicZoneComponentsPayload>\n ) => {\n const { dynamicZoneTarget, newComponents, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const dzAttributeIndex = findAttributeIndex(type, dynamicZoneTarget);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n const currentDZComponents = attr.components;\n\n const updatedComponents = makeUnique([...currentDZComponents, ...newComponents]);\n\n setStatus(type, 'CHANGED');\n setAttributeStatus(attr, 'CHANGED');\n attr.components = updatedComponents;\n },\n editAttribute: (state, action: PayloadAction<EditAttributePayload>) => {\n const { name, attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const initialAttributeIndex = findAttributeIndex(type, name);\n\n if (initialAttributeIndex === -1) {\n return;\n }\n\n const previousAttribute = type.attributes[initialAttributeIndex];\n\n setAttributeAt(type, initialAttributeIndex, attributeToSet as AnyAttribute);\n\n if (previousAttribute.type !== attributeToSet.type) {\n return;\n }\n\n if (previousAttribute.type !== 'relation' || attributeToSet.type !== 'relation') {\n return;\n }\n\n const previousTarget = getType(state, {\n forTarget: 'contentType',\n targetUid: previousAttribute.target,\n });\n const newTarget = getType(state, {\n forTarget: 'contentType',\n targetUid: attributeToSet.target,\n });\n\n const previousTargetAttributeIndex = findAttributeIndex(\n previousTarget,\n previousAttribute.targetAttribute ?? ''\n );\n\n // remove old targetAttribute\n if (previousAttribute.targetAttribute) {\n removeAttributeByName(previousTarget, previousAttribute.targetAttribute);\n }\n\n const newRelationType = getRelationType(\n attributeToSet.relation,\n attributeToSet.targetAttribute\n );\n const isBidirectionnal = !ONE_SIDE_RELATIONS.includes(newRelationType);\n\n if (isBidirectionnal) {\n const newTargetAttribute = {\n name: attributeToSet.targetAttribute,\n type: 'relation',\n relation: getOppositeRelation(attributeToSet.relation),\n targetAttribute: attributeToSet.name,\n target: type.uid,\n private: previousAttribute.private ?? attributeToSet.private,\n pluginOptions: previousAttribute.pluginOptions ?? attributeToSet.pluginOptions,\n status: 'CHANGED',\n } as AnyAttribute;\n\n // create or recreate(at old index) targetAttribute\n if (previousTargetAttributeIndex !== -1 && previousTarget.uid === newTarget.uid) {\n // re-create at previousIdx if possible\n replaceAttributeAt(newTarget, previousTargetAttributeIndex, newTargetAttribute);\n } else {\n pushAttribute(newTarget, {\n ...newTargetAttribute,\n status: 'NEW',\n });\n }\n }\n },\n editCustomFieldAttribute: (state, action: PayloadAction<EditCustomFieldAttributePayload>) => {\n const { forTarget, targetUid, name, attributeToSet } = action.payload;\n\n const initialAttributeName = name;\n const type = getType(state, { forTarget, targetUid });\n\n const initialAttributeIndex = findAttributeIndex(type, initialAttributeName);\n\n setAttributeAt(type, initialAttributeIndex, attributeToSet as AnyAttribute);\n },\n reloadPlugin: () => {\n return initialState;\n },\n removeComponentFromDynamicZone: (\n state,\n action: PayloadAction<RemoveComponentFromDynamicZonePayload>\n ) => {\n const { dzName, componentToRemoveIndex, forTarget, targetUid } = action.payload;\n\n const type =\n forTarget === 'contentType' ? state.contentTypes[targetUid] : state.components[targetUid];\n\n if (!type) {\n return;\n }\n\n const dzAttributeIndex = findAttributeIndex(type, dzName);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n\n setStatus(type, 'CHANGED');\n setAttributeStatus(attr, 'CHANGED');\n attr.components.splice(componentToRemoveIndex, 1);\n },\n removeField: (state, action: PayloadAction<RemoveFieldPayload>) => {\n const { forTarget, targetUid, attributeToRemoveName } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attributeToRemoveIndex = findAttributeIndex(type, attributeToRemoveName);\n const attribute = type.attributes[attributeToRemoveIndex];\n\n if (attribute.type === 'relation') {\n const { target, relation, targetAttribute: targetAttributeName } = attribute;\n const relationType = getRelationType(relation, targetAttributeName);\n\n const isBidirectionnal = !ONE_SIDE_RELATIONS.includes(relationType!);\n\n if (isBidirectionnal && targetAttributeName) {\n const targetContentType = getType(state, { forTarget, targetUid: target });\n const targetAttributeIndex = findAttributeIndex(targetContentType, targetAttributeName);\n\n removeAttributeAt(targetContentType, targetAttributeIndex);\n }\n }\n\n // Find all uid fields that have the targetField set to the field we are removing\n type.attributes.forEach((attribute) => {\n if (attribute.type === 'uid') {\n if (attribute.targetField === attributeToRemoveName) {\n delete attribute.targetField;\n }\n }\n });\n\n removeAttributeAt(type, attributeToRemoveIndex);\n },\n // only edits a component in practice\n updateComponentSchema: (state, action: PayloadAction<UpdateComponentSchemaPayload>) => {\n const { data, uid } = action.payload;\n\n const type = state.components[uid];\n if (!type) {\n return;\n }\n\n updateType(type, {\n info: {\n displayName: data.displayName,\n icon: data.icon,\n },\n });\n },\n updateComponentUid: (state, action: PayloadAction<UpdateComponentUIDPayload>) => {\n const { newComponentUID, uid } = action.payload;\n\n const type = state.components[uid];\n if (!type || type.status !== 'NEW') {\n return;\n }\n\n if (newComponentUID !== uid) {\n const newType = { ...type, uid: newComponentUID };\n state.components[newComponentUID] = newType;\n delete state.components[uid];\n\n // update the uid in the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'dynamiczone') {\n const newComponents = attribute.components.map((component: UID.Component) => {\n if (component === uid) {\n return newComponentUID;\n }\n\n return component;\n });\n\n attribute.components = newComponents;\n }\n });\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n attribute.component = newComponentUID;\n }\n });\n });\n\n // update the uid in the other components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n attribute.component = newComponentUID;\n }\n });\n });\n }\n },\n updateSchema: (state, action: PayloadAction<UpdateSchemaPayload>) => {\n const { data, uid } = action.payload;\n\n const { displayName, kind, draftAndPublish, pluginOptions } = data;\n\n const type = state.contentTypes[uid];\n if (!type) {\n return;\n }\n\n updateType(type, {\n info: {\n displayName,\n },\n kind,\n options: {\n draftAndPublish,\n },\n pluginOptions,\n });\n },\n deleteComponent: (state, action: PayloadAction<Internal.UID.Component>) => {\n const uid = action.payload;\n\n // remove the compo from the components\n if (state.components[uid].status === 'NEW') {\n delete state.components[uid];\n } else {\n setStatus(state.components[uid], 'REMOVED');\n }\n\n // remove the compo from the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n // remove from dynamic zones\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'dynamiczone') {\n const newComponents = attribute.components.filter(\n (component: unknown) => component !== uid\n );\n\n attribute.components = newComponents;\n }\n });\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n removeAttributeByName(contentType, attribute.name);\n }\n });\n });\n\n // remove the compo from other components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n removeAttributeByName(component, attribute.name);\n }\n });\n });\n },\n deleteContentType: (state, action: PayloadAction<Internal.UID.ContentType>) => {\n const uid = action.payload;\n const type = state.contentTypes[uid];\n\n // just drop new content types\n if (type.status === 'NEW') {\n delete state.contentTypes[uid];\n } else {\n setStatus(type, 'REMOVED');\n }\n\n // remove the content type from the components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'relation' && attribute.target === uid) {\n removeAttributeByName(component, attribute.name);\n }\n });\n });\n\n // remove the content type from the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'relation' && attribute.target === uid) {\n removeAttributeByName(contentType, attribute.name);\n }\n });\n });\n },\n\n applyChange(\n state,\n reducerAction: PayloadAction<{\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }>\n ) {\n const { action, schema } = reducerAction.payload;\n\n switch (action) {\n case 'add':\n {\n const uid = schema.uid;\n\n if (schema.modelType === 'component') {\n state.components[uid] = schema;\n } else {\n state.contentTypes[uid] = schema;\n }\n }\n break;\n case 'update':\n {\n const uid = schema.uid;\n\n // Find the schema, if the state was \"create\", we should keep it as it was before\n\n if (schema.modelType === 'component') {\n const component = state.components[uid];\n state.components[uid] = {\n ...schema,\n status: component?.status === 'NEW' ? 'NEW' : schema.status,\n };\n } else {\n const contentType = state.contentTypes[uid];\n state.contentTypes[uid] = {\n ...schema,\n status: contentType?.status === 'NEW' ? 'NEW' : schema.status,\n };\n }\n }\n break;\n case 'delete': {\n const uid = schema.uid;\n const isComponent = schema.modelType === 'component';\n // It's a component that has yet not been added\n if (isComponent) {\n const exists = state.components[uid];\n if (!exists) {\n return;\n }\n\n const isUnsaved = state.components[uid]?.status === 'NEW';\n if (isUnsaved) {\n delete state.components[uid];\n } else {\n state.components[uid].status = 'REMOVED';\n }\n } else {\n const exists = state.contentTypes[uid];\n if (!exists) {\n return;\n }\n\n const isUnsaved = state.contentTypes[uid]?.status === 'NEW';\n if (isUnsaved) {\n delete state.contentTypes[uid];\n } else {\n state.contentTypes[uid].status = 'REMOVED';\n }\n }\n\n break;\n }\n }\n },\n },\n },\n\n {\n limit: 50,\n excludeActionsFromHistory: ['reloadPlugin', 'init'],\n stateSelector: (state) => {\n if (!state) {\n return {};\n }\n\n return {\n components: state.components,\n contentTypes: state.contentTypes,\n };\n },\n discard: (state) => {\n state.components = state.initialComponents;\n state.contentTypes = state.initialContentTypes;\n },\n }\n);\n\nexport type State = ReturnType<typeof slice.reducer>;\nexport const { reducer, actions } = slice;\nexport { initialState };\n"],"names":["initialState","components","contentTypes","initialComponents","initialContentTypes","reservedNames","models","attributes","isLoading","ONE_SIDE_RELATIONS","getOppositeRelation","originalRelation","findAttributeIndex","type","attributeToFind","findIndex","name","getType","state","forTarget","targetUid","setStatus","status","getNewStatus","oldStatus","newStatus","setAttributeStatus","attribute","createAttribute","properties","setAttributeAt","index","previousAttribute","pushAttribute","push","removeAttributeAt","attr","splice","replaceAttributeAt","removeAttributeByName","idx","updateType","data","merge","slice","createUndoRedoSlice","reducers","init","action","payload","createComponentSchema","uid","componentCategory","newSchema","category","modelName","displayName","globalId","info","icon","modelType","createSchema","singularName","pluralName","kind","draftAndPublish","pluginOptions","visible","restrictRelationsTo","options","addAttribute","attributeToSet","omit","target","targetAttribute","relation","relationType","getRelationType","isBidirectionalRelation","includes","oppositeAttribute","private","targetType","moveAttribute","from","to","addCustomFieldAttribute","addCreatedComponentToDynamicZone","dynamicZoneTarget","componentsToAdd","dzAttributeIndex","forEach","componentUid","changeDynamicZoneComponents","newComponents","currentDZComponents","updatedComponents","makeUnique","editAttribute","initialAttributeIndex","previousTarget","newTarget","previousTargetAttributeIndex","newRelationType","isBidirectionnal","newTargetAttribute","editCustomFieldAttribute","initialAttributeName","reloadPlugin","removeComponentFromDynamicZone","dzName","componentToRemoveIndex","removeField","attributeToRemoveName","attributeToRemoveIndex","targetAttributeName","targetContentType","targetAttributeIndex","targetField","updateComponentSchema","updateComponentUid","newComponentUID","newType","Object","keys","contentTypeUid","contentType","map","component","updateSchema","deleteComponent","filter","deleteContentType","applyChange","reducerAction","schema","isComponent","exists","isUnsaved","limit","excludeActionsFromHistory","stateSelector","discard","reducer","actions"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/DataManager/reducer.ts"],"sourcesContent":["import { PayloadAction } from '@reduxjs/toolkit';\nimport merge from 'lodash/merge';\nimport omit from 'lodash/omit';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { makeUnique } from '../../utils/makeUnique';\n\nimport { createUndoRedoSlice } from './undoRedo';\n\nimport type {\n Components,\n ContentTypes,\n ContentType,\n Component,\n Status,\n AnyAttribute,\n} from '../../types';\nimport type { Internal, Schema, Struct, UID } from '@strapi/types';\n\nexport interface DataManagerStateType {\n components: Components;\n initialComponents: Components;\n contentTypes: ContentTypes;\n initialContentTypes: ContentTypes;\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n isLoading: boolean;\n [key: string]: unknown;\n}\n\nconst initialState: DataManagerStateType = {\n components: {},\n contentTypes: {},\n initialComponents: {},\n initialContentTypes: {},\n reservedNames: {\n models: [],\n attributes: [],\n },\n isLoading: true,\n};\n\nconst ONE_SIDE_RELATIONS = ['oneWay', 'manyWay'];\n\ntype AttributeMutation = AnyAttribute & {\n createComponent?: unknown;\n};\n\ntype PluginOptions = Record<string, unknown>;\n\nconst getOppositeRelation = (originalRelation?: Schema.Attribute.RelationKind.Any) => {\n if (originalRelation === 'manyToOne') {\n return 'oneToMany';\n }\n\n if (originalRelation === 'oneToMany') {\n return 'manyToOne';\n }\n\n return originalRelation;\n};\n\nconst findAttributeIndex = (type: ContentType | Component, attributeToFind?: string) => {\n return type.attributes.findIndex(({ name }: { name: string }) => name === attributeToFind);\n};\n\ntype InitPayload = {\n components: Record<string, Component>;\n contentTypes: Record<string, ContentType>;\n reservedNames: DataManagerStateType['reservedNames'];\n};\n\ntype AddAttributePayload = {\n attributeToSet: AttributeMutation;\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype AddCreateComponentToDynamicZonePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n};\n\ntype AddCustomFieldAttributePayload = {\n attributeToSet: AttributeMutation;\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype ChangeDynamicZoneComponentsPayload = {\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n forTarget: Struct.ModelType;\n targetUid: string;\n};\n\ntype CreateComponentSchemaPayload = {\n uid: string;\n data: {\n icon?: string;\n displayName: string;\n };\n componentCategory: string;\n};\n\ntype CreateSchemaPayload = {\n uid: string;\n data: {\n displayName: string;\n singularName: string;\n pluralName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: PluginOptions;\n };\n};\n\ntype EditAttributePayload = {\n attributeToSet: AttributeMutation;\n forTarget: Struct.ModelType;\n targetUid: string;\n name: string;\n};\n\ntype EditCustomFieldAttributePayload = {\n attributeToSet: AttributeMutation;\n forTarget: Struct.ModelType;\n targetUid: string;\n name: string;\n};\n\ntype RemoveComponentFromDynamicZonePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n dzName: string;\n componentToRemoveIndex: number;\n};\n\ntype RemoveFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n attributeToRemoveName: string;\n};\n\ntype UpdateComponentSchemaPayload = {\n data: {\n icon?: string;\n displayName: string;\n };\n uid: Internal.UID.Component;\n};\n\ntype UpdateComponentUIDPayload = {\n uid: Internal.UID.Component;\n newComponentUID: Internal.UID.Component;\n};\n\ntype UpdateSchemaPayload = {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: PluginOptions;\n };\n uid: string;\n};\n\ntype MoveAttributePayload = {\n forTarget: Struct.ModelType;\n targetUid: string;\n from: number;\n to: number;\n};\n\nconst getType = (\n state: DataManagerStateType,\n {\n forTarget,\n targetUid,\n }: {\n forTarget: Struct.ModelType;\n targetUid: string;\n }\n) => {\n return forTarget === 'contentType' ? state.contentTypes[targetUid] : state.components[targetUid];\n};\n\n// TODO: use initial state when chnaging back to the initial state without knowing\nconst setStatus = (type: ContentType | Component, status: Status) => {\n switch (type.status) {\n case 'NEW':\n case 'REMOVED': {\n break;\n }\n default: {\n type.status = status;\n }\n }\n};\n\nconst getNewStatus = (oldStatus: Status | undefined, newStatus: Status) => {\n if (oldStatus === 'NEW' || oldStatus === 'REMOVED') {\n return oldStatus;\n }\n\n return newStatus;\n};\n\nconst setAttributeStatus = (attribute: { status?: Status }, status: Status) => {\n attribute.status = getNewStatus(attribute.status, status);\n};\n\nconst createAttribute = (properties: Record<string, unknown>): AnyAttribute => {\n return {\n ...properties,\n status: 'NEW',\n } as AnyAttribute;\n};\n\nconst setAttributeAt = (type: ContentType | Component, index: number, attribute: AnyAttribute) => {\n const previousAttribute = type.attributes[index];\n\n const newStatus = getNewStatus(previousAttribute.status, 'CHANGED');\n\n type.attributes[index] = {\n ...attribute,\n status: newStatus,\n };\n\n setStatus(type, 'CHANGED');\n};\n\nconst pushAttribute = (type: ContentType | Component, attribute: AnyAttribute) => {\n type.attributes.push(attribute);\n setStatus(type, 'CHANGED');\n};\n\nconst removeAttributeAt = (type: ContentType | Component, index: number) => {\n const attr = type.attributes[index];\n\n setStatus(type, 'CHANGED');\n\n if (attr.status === 'NEW') {\n type.attributes.splice(index, 1);\n } else {\n setAttributeStatus(attr, 'REMOVED');\n }\n};\n\nconst replaceAttributeAt = (\n type: ContentType | Component,\n index: number,\n attribute: AnyAttribute\n) => {\n type.attributes[index] = attribute;\n setStatus(type, 'CHANGED');\n};\n\nconst removeAttributeByName = (type: ContentType | Component, name: string) => {\n const idx = type.attributes.findIndex((attr) => attr.name === name);\n\n const attr = type.attributes[idx];\n\n setStatus(type, 'CHANGED');\n\n if (attr.status === 'NEW') {\n type.attributes.splice(idx, 1);\n } else {\n setAttributeStatus(attr, 'REMOVED');\n }\n};\n\nconst updateType = (type: ContentType | Component, data: Record<string, unknown>) => {\n merge(type, data);\n setStatus(type, 'CHANGED');\n};\n\nconst slice = createUndoRedoSlice(\n {\n name: 'data-manager',\n initialState,\n reducers: {\n init: (state, action: PayloadAction<InitPayload>) => {\n const { components, contentTypes, reservedNames } = action.payload;\n\n state.components = components;\n state.initialComponents = components;\n state.initialContentTypes = contentTypes;\n state.contentTypes = contentTypes;\n state.reservedNames = reservedNames;\n state.isLoading = false;\n },\n createComponentSchema: (state, action: PayloadAction<CreateComponentSchemaPayload>) => {\n const { uid, data, componentCategory } = action.payload;\n\n const newSchema: Component = {\n uid: uid as Internal.UID.Component,\n status: 'NEW',\n category: componentCategory,\n modelName: data.displayName,\n globalId: data.displayName,\n info: {\n icon: data.icon,\n displayName: data.displayName,\n },\n attributes: [],\n modelType: 'component',\n };\n\n state.components[uid as string] = newSchema;\n },\n createSchema: (state, action: PayloadAction<CreateSchemaPayload>) => {\n const { uid, data } = action.payload;\n\n const { displayName, singularName, pluralName, kind, draftAndPublish, pluginOptions } =\n data;\n\n const newSchema: ContentType = {\n uid: uid as Internal.UID.ContentType,\n status: 'NEW',\n visible: true,\n modelType: 'contentType',\n restrictRelationsTo: null,\n attributes: [],\n kind,\n modelName: displayName,\n globalId: displayName,\n options: {\n draftAndPublish,\n },\n info: {\n displayName,\n singularName,\n pluralName,\n },\n pluginOptions,\n };\n\n state.contentTypes[uid] = newSchema;\n },\n addAttribute: (state, action: PayloadAction<AddAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attribute = createAttribute(omit(attributeToSet, 'createComponent'));\n\n if (attribute.type === 'relation') {\n const target = attribute.target;\n const targetAttribute = attribute.targetAttribute || null;\n const relation = attribute.relation;\n const relationType = getRelationType(relation, targetAttribute);\n\n const isBidirectionalRelation =\n relationType !== undefined && !['oneWay', 'manyWay'].includes(relationType);\n\n if (isBidirectionalRelation) {\n const oppositeAttribute = createAttribute({\n name: targetAttribute,\n relation: getOppositeRelation(relationType),\n target: type.uid,\n targetAttribute: attribute.name,\n type: 'relation',\n private: attribute.private,\n });\n\n const targetType = getType(state, { forTarget, targetUid: target });\n pushAttribute(targetType, oppositeAttribute);\n }\n }\n\n pushAttribute(type, attribute);\n setStatus(type, 'CHANGED');\n },\n moveAttribute: (state, action: PayloadAction<MoveAttributePayload>) => {\n const { forTarget, targetUid, from, to } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attribute = type.attributes[from];\n type.attributes.splice(from, 1);\n type.attributes.splice(to, 0, attribute);\n setStatus(type, 'CHANGED');\n },\n addCustomFieldAttribute: (state, action: PayloadAction<AddCustomFieldAttributePayload>) => {\n const { attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n pushAttribute(type, createAttribute(attributeToSet));\n },\n addCreatedComponentToDynamicZone: (\n state,\n action: PayloadAction<AddCreateComponentToDynamicZonePayload>\n ) => {\n const { dynamicZoneTarget, componentsToAdd, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const dzAttributeIndex = findAttributeIndex(type, dynamicZoneTarget);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n\n componentsToAdd.forEach((componentUid: Internal.UID.Component) => {\n attr.components.push(componentUid);\n });\n\n setAttributeStatus(attr as AnyAttribute, 'CHANGED');\n setStatus(type, 'CHANGED');\n },\n changeDynamicZoneComponents: (\n state,\n action: PayloadAction<ChangeDynamicZoneComponentsPayload>\n ) => {\n const { dynamicZoneTarget, newComponents, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const dzAttributeIndex = findAttributeIndex(type, dynamicZoneTarget);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n const currentDZComponents = attr.components;\n\n const updatedComponents = makeUnique([...currentDZComponents, ...newComponents]);\n\n setStatus(type, 'CHANGED');\n setAttributeStatus(attr as AnyAttribute, 'CHANGED');\n attr.components = updatedComponents;\n },\n editAttribute: (state, action: PayloadAction<EditAttributePayload>) => {\n const { name, attributeToSet, forTarget, targetUid } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const initialAttributeIndex = findAttributeIndex(type, name);\n\n if (initialAttributeIndex === -1) {\n return;\n }\n\n const previousAttribute = type.attributes[initialAttributeIndex];\n\n setAttributeAt(type, initialAttributeIndex, attributeToSet as AnyAttribute);\n\n if (previousAttribute.type !== attributeToSet.type) {\n return;\n }\n\n if (previousAttribute.type !== 'relation' || attributeToSet.type !== 'relation') {\n return;\n }\n\n const previousTarget = getType(state, {\n forTarget: 'contentType',\n targetUid: previousAttribute.target,\n });\n const newTarget = getType(state, {\n forTarget: 'contentType',\n targetUid: attributeToSet.target,\n });\n\n const previousTargetAttributeIndex = findAttributeIndex(\n previousTarget,\n previousAttribute.targetAttribute ?? ''\n );\n\n // remove old targetAttribute\n if (previousAttribute.targetAttribute) {\n removeAttributeByName(previousTarget, previousAttribute.targetAttribute);\n }\n\n const newRelationType = getRelationType(\n attributeToSet.relation,\n attributeToSet.targetAttribute\n );\n const isBidirectionnal =\n newRelationType !== undefined && !ONE_SIDE_RELATIONS.includes(newRelationType);\n\n if (isBidirectionnal) {\n const newTargetAttribute = {\n name: attributeToSet.targetAttribute,\n type: 'relation',\n relation: getOppositeRelation(attributeToSet.relation),\n targetAttribute: attributeToSet.name,\n target: type.uid,\n private: previousAttribute.private ?? attributeToSet.private,\n pluginOptions: previousAttribute.pluginOptions ?? attributeToSet.pluginOptions,\n status: 'CHANGED',\n } as AnyAttribute;\n\n // create or recreate(at old index) targetAttribute\n if (previousTargetAttributeIndex !== -1 && previousTarget.uid === newTarget.uid) {\n // re-create at previousIdx if possible\n replaceAttributeAt(newTarget, previousTargetAttributeIndex, newTargetAttribute);\n } else {\n pushAttribute(newTarget, {\n ...newTargetAttribute,\n status: 'NEW',\n });\n }\n }\n },\n editCustomFieldAttribute: (state, action: PayloadAction<EditCustomFieldAttributePayload>) => {\n const { forTarget, targetUid, name, attributeToSet } = action.payload;\n\n const initialAttributeName = name;\n const type = getType(state, { forTarget, targetUid });\n\n const initialAttributeIndex = findAttributeIndex(type, initialAttributeName);\n\n setAttributeAt(type, initialAttributeIndex, attributeToSet as AnyAttribute);\n },\n reloadPlugin: () => {\n return initialState;\n },\n removeComponentFromDynamicZone: (\n state,\n action: PayloadAction<RemoveComponentFromDynamicZonePayload>\n ) => {\n const { dzName, componentToRemoveIndex, forTarget, targetUid } = action.payload;\n\n const type =\n forTarget === 'contentType' ? state.contentTypes[targetUid] : state.components[targetUid];\n\n if (!type) {\n return;\n }\n\n const dzAttributeIndex = findAttributeIndex(type, dzName);\n const attr = type.attributes[dzAttributeIndex] as Schema.Attribute.DynamicZone;\n\n setStatus(type, 'CHANGED');\n setAttributeStatus(attr as AnyAttribute, 'CHANGED');\n attr.components.splice(componentToRemoveIndex, 1);\n },\n removeField: (state, action: PayloadAction<RemoveFieldPayload>) => {\n const { forTarget, targetUid, attributeToRemoveName } = action.payload;\n\n const type = getType(state, { forTarget, targetUid });\n\n const attributeToRemoveIndex = findAttributeIndex(type, attributeToRemoveName);\n const attribute = type.attributes[attributeToRemoveIndex];\n\n if (attribute.type === 'relation') {\n const { target, relation, targetAttribute: targetAttributeName } = attribute;\n const relationType = getRelationType(relation, targetAttributeName);\n\n const isBidirectionnal = !ONE_SIDE_RELATIONS.includes(relationType!);\n\n if (isBidirectionnal && targetAttributeName) {\n const targetContentType = getType(state, { forTarget, targetUid: target });\n const targetAttributeIndex = findAttributeIndex(targetContentType, targetAttributeName);\n\n removeAttributeAt(targetContentType, targetAttributeIndex);\n }\n }\n\n // Find all uid fields that have the targetField set to the field we are removing\n type.attributes.forEach((attribute) => {\n if (attribute.type === 'uid') {\n if (attribute.targetField === attributeToRemoveName) {\n delete attribute.targetField;\n }\n }\n });\n\n removeAttributeAt(type, attributeToRemoveIndex);\n },\n // only edits a component in practice\n updateComponentSchema: (state, action: PayloadAction<UpdateComponentSchemaPayload>) => {\n const { data, uid } = action.payload;\n\n const type = state.components[uid];\n if (!type) {\n return;\n }\n\n updateType(type, {\n info: {\n displayName: data.displayName,\n icon: data.icon,\n },\n });\n },\n updateComponentUid: (state, action: PayloadAction<UpdateComponentUIDPayload>) => {\n const { newComponentUID, uid } = action.payload;\n\n const type = state.components[uid];\n if (!type || type.status !== 'NEW') {\n return;\n }\n\n if (newComponentUID !== uid) {\n const newType = { ...type, uid: newComponentUID };\n state.components[newComponentUID] = newType;\n delete state.components[uid];\n\n // update the uid in the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'dynamiczone') {\n const newComponents = attribute.components.map((component: UID.Component) => {\n if (component === uid) {\n return newComponentUID;\n }\n\n return component;\n });\n\n attribute.components = newComponents;\n }\n });\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n attribute.component = newComponentUID;\n }\n });\n });\n\n // update the uid in the other components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n attribute.component = newComponentUID;\n }\n });\n });\n }\n },\n updateSchema: (state, action: PayloadAction<UpdateSchemaPayload>) => {\n const { data, uid } = action.payload;\n\n const { displayName, kind, draftAndPublish, pluginOptions } = data;\n\n const type = state.contentTypes[uid];\n if (!type) {\n return;\n }\n\n updateType(type, {\n info: {\n displayName,\n },\n kind,\n options: {\n draftAndPublish,\n },\n pluginOptions,\n });\n },\n deleteComponent: (state, action: PayloadAction<Internal.UID.Component>) => {\n const uid = action.payload;\n\n // remove the compo from the components\n if (state.components[uid].status === 'NEW') {\n delete state.components[uid];\n } else {\n setStatus(state.components[uid], 'REMOVED');\n }\n\n // remove the compo from the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n // remove from dynamic zones\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'dynamiczone') {\n const newComponents = attribute.components.filter(\n (component: unknown) => component !== uid\n );\n\n attribute.components = newComponents;\n }\n });\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n removeAttributeByName(contentType, attribute.name);\n }\n });\n });\n\n // remove the compo from other components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'component' && attribute.component === uid) {\n removeAttributeByName(component, attribute.name);\n }\n });\n });\n },\n deleteContentType: (state, action: PayloadAction<Internal.UID.ContentType>) => {\n const uid = action.payload;\n const type = state.contentTypes[uid];\n\n // just drop new content types\n if (type.status === 'NEW') {\n delete state.contentTypes[uid];\n } else {\n setStatus(type, 'REMOVED');\n }\n\n // remove the content type from the components\n Object.keys(state.components).forEach((componentUid) => {\n const component = state.components[componentUid];\n\n component.attributes.forEach((attribute) => {\n if (attribute.type === 'relation' && attribute.target === uid) {\n removeAttributeByName(component, attribute.name);\n }\n });\n });\n\n // remove the content type from the content types\n Object.keys(state.contentTypes).forEach((contentTypeUid) => {\n const contentType = state.contentTypes[contentTypeUid];\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.type === 'relation' && attribute.target === uid) {\n removeAttributeByName(contentType, attribute.name);\n }\n });\n });\n },\n\n applyChange(\n state,\n reducerAction: PayloadAction<{\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }>\n ) {\n const { action, schema } = reducerAction.payload;\n\n switch (action) {\n case 'add':\n {\n const uid = schema.uid;\n\n if (schema.modelType === 'component') {\n state.components[uid] = schema;\n } else {\n state.contentTypes[uid] = schema;\n }\n }\n break;\n case 'update':\n {\n const uid = schema.uid;\n\n // Find the schema, if the state was \"create\", we should keep it as it was before\n\n if (schema.modelType === 'component') {\n const component = state.components[uid];\n state.components[uid] = {\n ...schema,\n status: component?.status === 'NEW' ? 'NEW' : schema.status,\n };\n } else {\n const contentType = state.contentTypes[uid];\n state.contentTypes[uid] = {\n ...schema,\n status: contentType?.status === 'NEW' ? 'NEW' : schema.status,\n };\n }\n }\n break;\n case 'delete': {\n const uid = schema.uid;\n const isComponent = schema.modelType === 'component';\n // It's a component that has yet not been added\n if (isComponent) {\n const exists = state.components[uid];\n if (!exists) {\n return;\n }\n\n const isUnsaved = state.components[uid]?.status === 'NEW';\n if (isUnsaved) {\n delete state.components[uid];\n } else {\n state.components[uid].status = 'REMOVED';\n }\n } else {\n const exists = state.contentTypes[uid];\n if (!exists) {\n return;\n }\n\n const isUnsaved = state.contentTypes[uid]?.status === 'NEW';\n if (isUnsaved) {\n delete state.contentTypes[uid];\n } else {\n state.contentTypes[uid].status = 'REMOVED';\n }\n }\n\n break;\n }\n }\n },\n },\n },\n\n {\n limit: 50,\n excludeActionsFromHistory: ['reloadPlugin', 'init'],\n stateSelector: (state) => {\n if (!state) {\n return {};\n }\n\n return {\n components: state.components,\n contentTypes: state.contentTypes,\n };\n },\n discard: (state) => {\n state.components = state.initialComponents;\n state.contentTypes = state.initialContentTypes;\n },\n }\n);\n\nexport type State = ReturnType<typeof slice.reducer>;\nexport const { reducer, actions } = slice;\nexport { initialState };\n"],"names":["initialState","components","contentTypes","initialComponents","initialContentTypes","reservedNames","models","attributes","isLoading","ONE_SIDE_RELATIONS","getOppositeRelation","originalRelation","findAttributeIndex","type","attributeToFind","findIndex","name","getType","state","forTarget","targetUid","setStatus","status","getNewStatus","oldStatus","newStatus","setAttributeStatus","attribute","createAttribute","properties","setAttributeAt","index","previousAttribute","pushAttribute","push","removeAttributeAt","attr","splice","replaceAttributeAt","removeAttributeByName","idx","updateType","data","merge","slice","createUndoRedoSlice","reducers","init","action","payload","createComponentSchema","uid","componentCategory","newSchema","category","modelName","displayName","globalId","info","icon","modelType","createSchema","singularName","pluralName","kind","draftAndPublish","pluginOptions","visible","restrictRelationsTo","options","addAttribute","attributeToSet","omit","target","targetAttribute","relation","relationType","getRelationType","isBidirectionalRelation","undefined","includes","oppositeAttribute","private","targetType","moveAttribute","from","to","addCustomFieldAttribute","addCreatedComponentToDynamicZone","dynamicZoneTarget","componentsToAdd","dzAttributeIndex","forEach","componentUid","changeDynamicZoneComponents","newComponents","currentDZComponents","updatedComponents","makeUnique","editAttribute","initialAttributeIndex","previousTarget","newTarget","previousTargetAttributeIndex","newRelationType","isBidirectionnal","newTargetAttribute","editCustomFieldAttribute","initialAttributeName","reloadPlugin","removeComponentFromDynamicZone","dzName","componentToRemoveIndex","removeField","attributeToRemoveName","attributeToRemoveIndex","targetAttributeName","targetContentType","targetAttributeIndex","targetField","updateComponentSchema","updateComponentUid","newComponentUID","newType","Object","keys","contentTypeUid","contentType","map","component","updateSchema","deleteComponent","filter","deleteContentType","applyChange","reducerAction","schema","isComponent","exists","isUnsaved","limit","excludeActionsFromHistory","stateSelector","discard","reducer","actions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useServerRestartWatcher.js","sources":["../../../../admin/src/components/DataManager/useServerRestartWatcher.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\n\nconst TIMEOUT = 'timeout';\n\nconst timeout = 30 * 1000;\n\nexport const useServerRestartWatcher = () => {\n const { get } = useFetchClient();\n\n const serverRestartWatcher = async (initTime?: number) => {\n const startTime = initTime ?? Date.now();\n\n if (Date.now() - startTime > timeout) {\n throw new Error(TIMEOUT);\n }\n\n try {\n const res = await get(`/content-type-builder/update-schema-status`);\n\n if (res?.data?.data?.isUpdating === true) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n } catch (err) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n };\n\n return serverRestartWatcher;\n};\n"],"names":["TIMEOUT","timeout","useServerRestartWatcher","get","useFetchClient","serverRestartWatcher","initTime","startTime","Date","now","Error","res","data","isUpdating","Promise","resolve","setTimeout","then","err"],"mappings":";;;;AAEA,MAAMA,OAAAA,GAAU,SAAA;AAEhB,MAAMC,UAAU,EAAA,GAAK,IAAA;MAERC,uBAAAA,GAA0B,IAAA;IACrC,MAAM,EAAEC,GAAG,EAAE,GAAGC,0BAAAA,EAAAA;AAEhB,IAAA,MAAMC,uBAAuB,OAAOC,QAAAA,GAAAA;QAClC,MAAMC,SAAAA,GAAYD,QAAAA,IAAYE,IAAAA,CAAKC,GAAG,EAAA;AAEtC,QAAA,IAAID,IAAAA,CAAKC,GAAG,EAAA,GAAKF,SAAAA,GAAYN,OAAAA,EAAS;AACpC,YAAA,MAAM,IAAIS,KAAAA,CAAMV,OAAAA,CAAAA;AAClB,QAAA;QAEA,IAAI;AACF,YAAA,MAAMW,GAAAA,GAAM,MAAMR,GAAAA,CAAI,CAAC,0CAA0C,CAAC,CAAA;AAElE,YAAA,IAAIQ,GAAAA,EAAKC,IAAAA,EAAMA,IAAAA,EAAMC,UAAAA,KAAe,IAAA,EAAM;gBACxC,OAAO,IAAIC,QAAQ,CAACC,OAAAA,GAAAA;oBAClBC,UAAAA,CAAW,IAAA;wBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;oBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAE,OAAOG,GAAAA,EAAK;YACZ,OAAO,IAAIJ,QAAQ,CAACC,OAAAA,GAAAA;gBAClBC,UAAAA,CAAW,IAAA;oBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;gBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,YAAA,CAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,OAAOV,oBAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useServerRestartWatcher.js","sources":["../../../../admin/src/components/DataManager/useServerRestartWatcher.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\n\nconst TIMEOUT = 'timeout';\n\nconst timeout = 30 * 1000;\n\ntype UpdateSchemaStatusResponse = {\n data?: {\n isUpdating?: boolean;\n };\n};\n\nexport const useServerRestartWatcher = () => {\n const { get } = useFetchClient();\n\n const serverRestartWatcher = async (initTime?: number) => {\n const startTime = initTime ?? Date.now();\n\n if (Date.now() - startTime > timeout) {\n throw new Error(TIMEOUT);\n }\n\n try {\n const res = await get<UpdateSchemaStatusResponse>(\n `/content-type-builder/update-schema-status`\n );\n\n if (res?.data?.data?.isUpdating === true) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n } catch (err) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n };\n\n return serverRestartWatcher;\n};\n"],"names":["TIMEOUT","timeout","useServerRestartWatcher","get","useFetchClient","serverRestartWatcher","initTime","startTime","Date","now","Error","res","data","isUpdating","Promise","resolve","setTimeout","then","err"],"mappings":";;;;AAEA,MAAMA,OAAAA,GAAU,SAAA;AAEhB,MAAMC,UAAU,EAAA,GAAK,IAAA;MAQRC,uBAAAA,GAA0B,IAAA;IACrC,MAAM,EAAEC,GAAG,EAAE,GAAGC,0BAAAA,EAAAA;AAEhB,IAAA,MAAMC,uBAAuB,OAAOC,QAAAA,GAAAA;QAClC,MAAMC,SAAAA,GAAYD,QAAAA,IAAYE,IAAAA,CAAKC,GAAG,EAAA;AAEtC,QAAA,IAAID,IAAAA,CAAKC,GAAG,EAAA,GAAKF,SAAAA,GAAYN,OAAAA,EAAS;AACpC,YAAA,MAAM,IAAIS,KAAAA,CAAMV,OAAAA,CAAAA;AAClB,QAAA;QAEA,IAAI;AACF,YAAA,MAAMW,GAAAA,GAAM,MAAMR,GAAAA,CAChB,CAAC,0CAA0C,CAAC,CAAA;AAG9C,YAAA,IAAIQ,GAAAA,EAAKC,IAAAA,EAAMA,IAAAA,EAAMC,UAAAA,KAAe,IAAA,EAAM;gBACxC,OAAO,IAAIC,QAAQ,CAACC,OAAAA,GAAAA;oBAClBC,UAAAA,CAAW,IAAA;wBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;oBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAE,OAAOG,GAAAA,EAAK;YACZ,OAAO,IAAIJ,QAAQ,CAACC,OAAAA,GAAAA;gBAClBC,UAAAA,CAAW,IAAA;oBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;gBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,YAAA,CAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,OAAOV,oBAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useServerRestartWatcher.mjs","sources":["../../../../admin/src/components/DataManager/useServerRestartWatcher.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\n\nconst TIMEOUT = 'timeout';\n\nconst timeout = 30 * 1000;\n\nexport const useServerRestartWatcher = () => {\n const { get } = useFetchClient();\n\n const serverRestartWatcher = async (initTime?: number) => {\n const startTime = initTime ?? Date.now();\n\n if (Date.now() - startTime > timeout) {\n throw new Error(TIMEOUT);\n }\n\n try {\n const res = await get(`/content-type-builder/update-schema-status`);\n\n if (res?.data?.data?.isUpdating === true) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n } catch (err) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n };\n\n return serverRestartWatcher;\n};\n"],"names":["TIMEOUT","timeout","useServerRestartWatcher","get","useFetchClient","serverRestartWatcher","initTime","startTime","Date","now","Error","res","data","isUpdating","Promise","resolve","setTimeout","then","err"],"mappings":";;AAEA,MAAMA,OAAAA,GAAU,SAAA;AAEhB,MAAMC,UAAU,EAAA,GAAK,IAAA;MAERC,uBAAAA,GAA0B,IAAA;IACrC,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;AAEhB,IAAA,MAAMC,uBAAuB,OAAOC,QAAAA,GAAAA;QAClC,MAAMC,SAAAA,GAAYD,QAAAA,IAAYE,IAAAA,CAAKC,GAAG,EAAA;AAEtC,QAAA,IAAID,IAAAA,CAAKC,GAAG,EAAA,GAAKF,SAAAA,GAAYN,OAAAA,EAAS;AACpC,YAAA,MAAM,IAAIS,KAAAA,CAAMV,OAAAA,CAAAA;AAClB,QAAA;QAEA,IAAI;AACF,YAAA,MAAMW,GAAAA,GAAM,MAAMR,GAAAA,CAAI,CAAC,0CAA0C,CAAC,CAAA;AAElE,YAAA,IAAIQ,GAAAA,EAAKC,IAAAA,EAAMA,IAAAA,EAAMC,UAAAA,KAAe,IAAA,EAAM;gBACxC,OAAO,IAAIC,QAAQ,CAACC,OAAAA,GAAAA;oBAClBC,UAAAA,CAAW,IAAA;wBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;oBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAE,OAAOG,GAAAA,EAAK;YACZ,OAAO,IAAIJ,QAAQ,CAACC,OAAAA,GAAAA;gBAClBC,UAAAA,CAAW,IAAA;oBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;gBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,YAAA,CAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,OAAOV,oBAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useServerRestartWatcher.mjs","sources":["../../../../admin/src/components/DataManager/useServerRestartWatcher.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\n\nconst TIMEOUT = 'timeout';\n\nconst timeout = 30 * 1000;\n\ntype UpdateSchemaStatusResponse = {\n data?: {\n isUpdating?: boolean;\n };\n};\n\nexport const useServerRestartWatcher = () => {\n const { get } = useFetchClient();\n\n const serverRestartWatcher = async (initTime?: number) => {\n const startTime = initTime ?? Date.now();\n\n if (Date.now() - startTime > timeout) {\n throw new Error(TIMEOUT);\n }\n\n try {\n const res = await get<UpdateSchemaStatusResponse>(\n `/content-type-builder/update-schema-status`\n );\n\n if (res?.data?.data?.isUpdating === true) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n } catch (err) {\n return new Promise((resolve) => {\n setTimeout(() => {\n return serverRestartWatcher(startTime).then(resolve);\n }, 200);\n });\n }\n };\n\n return serverRestartWatcher;\n};\n"],"names":["TIMEOUT","timeout","useServerRestartWatcher","get","useFetchClient","serverRestartWatcher","initTime","startTime","Date","now","Error","res","data","isUpdating","Promise","resolve","setTimeout","then","err"],"mappings":";;AAEA,MAAMA,OAAAA,GAAU,SAAA;AAEhB,MAAMC,UAAU,EAAA,GAAK,IAAA;MAQRC,uBAAAA,GAA0B,IAAA;IACrC,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;AAEhB,IAAA,MAAMC,uBAAuB,OAAOC,QAAAA,GAAAA;QAClC,MAAMC,SAAAA,GAAYD,QAAAA,IAAYE,IAAAA,CAAKC,GAAG,EAAA;AAEtC,QAAA,IAAID,IAAAA,CAAKC,GAAG,EAAA,GAAKF,SAAAA,GAAYN,OAAAA,EAAS;AACpC,YAAA,MAAM,IAAIS,KAAAA,CAAMV,OAAAA,CAAAA;AAClB,QAAA;QAEA,IAAI;AACF,YAAA,MAAMW,GAAAA,GAAM,MAAMR,GAAAA,CAChB,CAAC,0CAA0C,CAAC,CAAA;AAG9C,YAAA,IAAIQ,GAAAA,EAAKC,IAAAA,EAAMA,IAAAA,EAAMC,UAAAA,KAAe,IAAA,EAAM;gBACxC,OAAO,IAAIC,QAAQ,CAACC,OAAAA,GAAAA;oBAClBC,UAAAA,CAAW,IAAA;wBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;oBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAE,OAAOG,GAAAA,EAAK;YACZ,OAAO,IAAIJ,QAAQ,CAACC,OAAAA,GAAAA;gBAClBC,UAAAA,CAAW,IAAA;oBACT,OAAOX,oBAAAA,CAAqBE,SAAAA,CAAAA,CAAWU,IAAI,CAACF,OAAAA,CAAAA;gBAC9C,CAAA,EAAG,GAAA,CAAA;AACL,YAAA,CAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,OAAOV,oBAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"retrieveSpecificInfoFromComponents.js","sources":["../../../../../admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { makeUnique } from '../../../utils/makeUnique';\n\nexport const retrieveSpecificInfoFromComponents = (allComponents: any, keysToRetrieve: any) => {\n const allData = Object.keys(allComponents).map((compo) => {\n return get(allComponents, [compo, ...keysToRetrieve], '');\n });\n\n return makeUnique(allData);\n};\n"],"names":["retrieveSpecificInfoFromComponents","allComponents","keysToRetrieve","allData","Object","keys","map","compo","get","makeUnique"],"mappings":";;;;;;;;;AAIO,MAAMA,kCAAAA,GAAqC,CAACC,aAAAA,EAAoBC,cAAAA,GAAAA;AACrE,IAAA,MAAMC,UAAUC,MAAAA,CAAOC,IAAI,CAACJ,aAAAA,CAAAA,CAAeK,GAAG,CAAC,CAACC,KAAAA,GAAAA;AAC9C,QAAA,OAAOC,qBAAIP,aAAAA,EAAe;AAACM,YAAAA,KAAAA;AAAUL,YAAAA,GAAAA;SAAe,EAAE,EAAA,CAAA;AACxD,IAAA,CAAA,CAAA;AAEA,IAAA,OAAOO,qBAAAA,CAAWN,OAAAA,CAAAA;AACpB;;;;"}
1
+ {"version":3,"file":"retrieveSpecificInfoFromComponents.js","sources":["../../../../../admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { makeUnique } from '../../../utils/makeUnique';\n\nimport type { Components } from '../../../types';\n\nexport const retrieveSpecificInfoFromComponents = (\n allComponents: Components,\n keysToRetrieve: string[]\n) => {\n const allData = Object.keys(allComponents).map((compo) => {\n return get(allComponents, [compo, ...keysToRetrieve], '') as string;\n });\n\n return makeUnique(allData);\n};\n"],"names":["retrieveSpecificInfoFromComponents","allComponents","keysToRetrieve","allData","Object","keys","map","compo","get","makeUnique"],"mappings":";;;;;;;;;AAMO,MAAMA,kCAAAA,GAAqC,CAChDC,aAAAA,EACAC,cAAAA,GAAAA;AAEA,IAAA,MAAMC,UAAUC,MAAAA,CAAOC,IAAI,CAACJ,aAAAA,CAAAA,CAAeK,GAAG,CAAC,CAACC,KAAAA,GAAAA;AAC9C,QAAA,OAAOC,qBAAIP,aAAAA,EAAe;AAACM,YAAAA,KAAAA;AAAUL,YAAAA,GAAAA;SAAe,EAAE,EAAA,CAAA;AACxD,IAAA,CAAA,CAAA;AAEA,IAAA,OAAOO,qBAAAA,CAAWN,OAAAA,CAAAA;AACpB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"retrieveSpecificInfoFromComponents.mjs","sources":["../../../../../admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { makeUnique } from '../../../utils/makeUnique';\n\nexport const retrieveSpecificInfoFromComponents = (allComponents: any, keysToRetrieve: any) => {\n const allData = Object.keys(allComponents).map((compo) => {\n return get(allComponents, [compo, ...keysToRetrieve], '');\n });\n\n return makeUnique(allData);\n};\n"],"names":["retrieveSpecificInfoFromComponents","allComponents","keysToRetrieve","allData","Object","keys","map","compo","get","makeUnique"],"mappings":";;;AAIO,MAAMA,kCAAAA,GAAqC,CAACC,aAAAA,EAAoBC,cAAAA,GAAAA;AACrE,IAAA,MAAMC,UAAUC,MAAAA,CAAOC,IAAI,CAACJ,aAAAA,CAAAA,CAAeK,GAAG,CAAC,CAACC,KAAAA,GAAAA;AAC9C,QAAA,OAAOC,IAAIP,aAAAA,EAAe;AAACM,YAAAA,KAAAA;AAAUL,YAAAA,GAAAA;SAAe,EAAE,EAAA,CAAA;AACxD,IAAA,CAAA,CAAA;AAEA,IAAA,OAAOO,UAAAA,CAAWN,OAAAA,CAAAA;AACpB;;;;"}
1
+ {"version":3,"file":"retrieveSpecificInfoFromComponents.mjs","sources":["../../../../../admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { makeUnique } from '../../../utils/makeUnique';\n\nimport type { Components } from '../../../types';\n\nexport const retrieveSpecificInfoFromComponents = (\n allComponents: Components,\n keysToRetrieve: string[]\n) => {\n const allData = Object.keys(allComponents).map((compo) => {\n return get(allComponents, [compo, ...keysToRetrieve], '') as string;\n });\n\n return makeUnique(allData);\n};\n"],"names":["retrieveSpecificInfoFromComponents","allComponents","keysToRetrieve","allData","Object","keys","map","compo","get","makeUnique"],"mappings":";;;AAMO,MAAMA,kCAAAA,GAAqC,CAChDC,aAAAA,EACAC,cAAAA,GAAAA;AAEA,IAAA,MAAMC,UAAUC,MAAAA,CAAOC,IAAI,CAACJ,aAAAA,CAAAA,CAAeK,GAAG,CAAC,CAACC,KAAAA,GAAAA;AAC9C,QAAA,OAAOC,IAAIP,aAAAA,EAAe;AAACM,YAAAA,KAAAA;AAAUL,YAAAA,GAAAA;SAAe,EAAE,EAAA,CAAA;AACxD,IAAA,CAAA,CAAA;AAEA,IAAA,OAAOO,UAAAA,CAAWN,OAAAA,CAAAA;AACpB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DraftAndPublishToggle.js","sources":["../../../admin/src/components/DraftAndPublishToggle.tsx"],"sourcesContent":["/**\n *\n * DraftAndPublishToggle\n *\n */\n\nimport { useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Checkbox, CheckboxProps, Dialog, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport type { IntlLabel } from '../types';\n\ninterface Description {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n}\n\ninterface DraftAndPublishToggleProps {\n description?: Description;\n disabled?: boolean;\n intlLabel: IntlLabel;\n isCreating: boolean;\n name: string;\n onChange: (value: { target: { name: string; value: boolean } }) => void;\n value?: boolean;\n}\n\nexport const DraftAndPublishToggle = ({\n description,\n disabled = false,\n intlLabel,\n isCreating,\n name,\n onChange,\n value = false,\n}: DraftAndPublishToggleProps) => {\n const { formatMessage } = useIntl();\n const [showWarning, setShowWarning] = useState(false);\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const handleConfirm = () => {\n onChange({ target: { name, value: false } });\n\n setShowWarning(false);\n };\n\n const handleChange: CheckboxProps['onCheckedChange'] = (checked) => {\n if (!checked && !isCreating) {\n setShowWarning(true);\n\n return;\n }\n\n onChange({ target: { name, value: !!checked } });\n };\n\n return (\n <>\n <Field.Root hint={hint} name={name}>\n <Checkbox checked={value} disabled={disabled} onCheckedChange={handleChange}>\n {label}\n </Checkbox>\n <Field.Hint />\n </Field.Root>\n\n <Dialog.Root open={showWarning} onOpenChange={(isOpen) => setShowWarning(isOpen)}>\n <ConfirmDialog\n endAction={\n <Button onClick={handleConfirm} variant=\"danger\" width=\"100%\" justifyContent=\"center\">\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.button.confirm'),\n defaultMessage: 'Yes, disable',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.message'),\n defaultMessage: 'If you disable the draft & publish, your drafts will be deleted.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </>\n );\n};\n"],"names":["DraftAndPublishToggle","description","disabled","intlLabel","isCreating","name","onChange","value","formatMessage","useIntl","showWarning","setShowWarning","useState","label","id","defaultMessage","values","hint","handleConfirm","target","handleChange","checked","_jsxs","_Fragment","Field","Root","_jsx","Checkbox","onCheckedChange","Hint","Dialog","open","onOpenChange","isOpen","ConfirmDialog","endAction","Button","onClick","variant","width","justifyContent","getTrad"],"mappings":";;;;;;;;;MAgCaA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,WAAW,KAAK,EAChBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,KAAK,EACc,GAAA;IAC3B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,cAAAA,CAAS,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAAA,GAAQV,SAAAA,CAAUW,EAAE,GACtBN,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAAe,EAC7D;AAAE,QAAA,GAAGZ,UAAUa;KAAO,CAAA,GAExBX,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAAe,EACjE;AAAE,QAAA,GAAGd,YAAYe;KAAO,CAAA,GAE1B,EAAA;AAEJ,IAAA,MAAME,aAAAA,GAAgB,IAAA;QACpBZ,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAME,KAAAA,EAAO;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAAA,CAAe,KAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAAA,IAAW,CAACjB,UAAAA,EAAY;YAC3BO,cAAAA,CAAe,IAAA,CAAA;AAEf,YAAA;AACF,QAAA;QAEAL,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,IAAA,CAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAD,eAAA,CAACE,mBAAMC,IAAI,EAAA;gBAACR,IAAAA,EAAMA,IAAAA;gBAAMZ,IAAAA,EAAMA,IAAAA;;kCAC5BqB,cAAA,CAACC,qBAAAA,EAAAA;wBAASN,OAAAA,EAASd,KAAAA;wBAAOL,QAAAA,EAAUA,QAAAA;wBAAU0B,eAAAA,EAAiBR,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,cAAA,CAACF,mBAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,cAAA,CAACI,oBAAOL,IAAI,EAAA;gBAACM,IAAAA,EAAMrB,WAAAA;gBAAasB,YAAAA,EAAc,CAACC,SAAWtB,cAAAA,CAAesB,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,cAAA,CAACQ,yBAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,cAAA,CAACU,mBAAAA,EAAAA;wBAAOC,OAAAA,EAASnB,aAAAA;wBAAeoB,OAAAA,EAAQ,QAAA;wBAASC,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;kCAC1EhC,aAAAA,CAAc;AACbM,4BAAAA,EAAAA,EAAI2B,eAAAA,CAAQ,2CAAA,CAAA;4BACZ1B,cAAAA,EAAgB;AAClB,yBAAA;;8BAIHP,aAAAA,CAAc;AACbM,wBAAAA,EAAAA,EAAI2B,eAAAA,CAAQ,oCAAA,CAAA;wBACZ1B,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
1
+ {"version":3,"file":"DraftAndPublishToggle.js","sources":["../../../admin/src/components/DraftAndPublishToggle.tsx"],"sourcesContent":["/**\n *\n * DraftAndPublishToggle\n *\n */\n\nimport { useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Checkbox, CheckboxProps, Dialog, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport type { IntlLabel } from '../types';\n\ninterface DraftAndPublishToggleProps {\n description?: IntlLabel;\n disabled?: boolean;\n intlLabel: IntlLabel;\n isCreating: boolean;\n name: string;\n onChange: (value: { target: { name: string; value: boolean } }) => void;\n value?: boolean;\n}\n\nexport const DraftAndPublishToggle = ({\n description,\n disabled = false,\n intlLabel,\n isCreating,\n name,\n onChange,\n value = false,\n}: DraftAndPublishToggleProps) => {\n const { formatMessage } = useIntl();\n const [showWarning, setShowWarning] = useState(false);\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const handleConfirm = () => {\n onChange({ target: { name, value: false } });\n\n setShowWarning(false);\n };\n\n const handleChange: CheckboxProps['onCheckedChange'] = (checked) => {\n if (!checked && !isCreating) {\n setShowWarning(true);\n\n return;\n }\n\n onChange({ target: { name, value: !!checked } });\n };\n\n return (\n <>\n <Field.Root hint={hint} name={name}>\n <Checkbox checked={value} disabled={disabled} onCheckedChange={handleChange}>\n {label}\n </Checkbox>\n <Field.Hint />\n </Field.Root>\n\n <Dialog.Root open={showWarning} onOpenChange={(isOpen) => setShowWarning(isOpen)}>\n <ConfirmDialog\n endAction={\n <Button onClick={handleConfirm} variant=\"danger\" width=\"100%\" justifyContent=\"center\">\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.button.confirm'),\n defaultMessage: 'Yes, disable',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.message'),\n defaultMessage: 'If you disable the draft & publish, your drafts will be deleted.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </>\n );\n};\n"],"names":["DraftAndPublishToggle","description","disabled","intlLabel","isCreating","name","onChange","value","formatMessage","useIntl","showWarning","setShowWarning","useState","label","id","defaultMessage","values","hint","handleConfirm","target","handleChange","checked","_jsxs","_Fragment","Field","Root","_jsx","Checkbox","onCheckedChange","Hint","Dialog","open","onOpenChange","isOpen","ConfirmDialog","endAction","Button","onClick","variant","width","justifyContent","getTrad"],"mappings":";;;;;;;;;MA0BaA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,WAAW,KAAK,EAChBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,KAAK,EACc,GAAA;IAC3B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,cAAAA,CAAS,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAAA,GAAQV,SAAAA,CAAUW,EAAE,GACtBN,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAAe,EAC7D;AAAE,QAAA,GAAGZ,UAAUa;KAAO,CAAA,GAExBX,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAAe,EACjE;AAAE,QAAA,GAAGd,YAAYe;KAAO,CAAA,GAE1B,EAAA;AAEJ,IAAA,MAAME,aAAAA,GAAgB,IAAA;QACpBZ,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAME,KAAAA,EAAO;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAAA,CAAe,KAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAAA,IAAW,CAACjB,UAAAA,EAAY;YAC3BO,cAAAA,CAAe,IAAA,CAAA;AAEf,YAAA;AACF,QAAA;QAEAL,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,IAAA,CAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAD,eAAA,CAACE,mBAAMC,IAAI,EAAA;gBAACR,IAAAA,EAAMA,IAAAA;gBAAMZ,IAAAA,EAAMA,IAAAA;;kCAC5BqB,cAAA,CAACC,qBAAAA,EAAAA;wBAASN,OAAAA,EAASd,KAAAA;wBAAOL,QAAAA,EAAUA,QAAAA;wBAAU0B,eAAAA,EAAiBR,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,cAAA,CAACF,mBAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,cAAA,CAACI,oBAAOL,IAAI,EAAA;gBAACM,IAAAA,EAAMrB,WAAAA;gBAAasB,YAAAA,EAAc,CAACC,SAAWtB,cAAAA,CAAesB,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,cAAA,CAACQ,yBAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,cAAA,CAACU,mBAAAA,EAAAA;wBAAOC,OAAAA,EAASnB,aAAAA;wBAAeoB,OAAAA,EAAQ,QAAA;wBAASC,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;kCAC1EhC,aAAAA,CAAc;AACbM,4BAAAA,EAAAA,EAAI2B,eAAAA,CAAQ,2CAAA,CAAA;4BACZ1B,cAAAA,EAAgB;AAClB,yBAAA;;8BAIHP,aAAAA,CAAc;AACbM,wBAAAA,EAAAA,EAAI2B,eAAAA,CAAQ,oCAAA,CAAA;wBACZ1B,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DraftAndPublishToggle.mjs","sources":["../../../admin/src/components/DraftAndPublishToggle.tsx"],"sourcesContent":["/**\n *\n * DraftAndPublishToggle\n *\n */\n\nimport { useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Checkbox, CheckboxProps, Dialog, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport type { IntlLabel } from '../types';\n\ninterface Description {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n}\n\ninterface DraftAndPublishToggleProps {\n description?: Description;\n disabled?: boolean;\n intlLabel: IntlLabel;\n isCreating: boolean;\n name: string;\n onChange: (value: { target: { name: string; value: boolean } }) => void;\n value?: boolean;\n}\n\nexport const DraftAndPublishToggle = ({\n description,\n disabled = false,\n intlLabel,\n isCreating,\n name,\n onChange,\n value = false,\n}: DraftAndPublishToggleProps) => {\n const { formatMessage } = useIntl();\n const [showWarning, setShowWarning] = useState(false);\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const handleConfirm = () => {\n onChange({ target: { name, value: false } });\n\n setShowWarning(false);\n };\n\n const handleChange: CheckboxProps['onCheckedChange'] = (checked) => {\n if (!checked && !isCreating) {\n setShowWarning(true);\n\n return;\n }\n\n onChange({ target: { name, value: !!checked } });\n };\n\n return (\n <>\n <Field.Root hint={hint} name={name}>\n <Checkbox checked={value} disabled={disabled} onCheckedChange={handleChange}>\n {label}\n </Checkbox>\n <Field.Hint />\n </Field.Root>\n\n <Dialog.Root open={showWarning} onOpenChange={(isOpen) => setShowWarning(isOpen)}>\n <ConfirmDialog\n endAction={\n <Button onClick={handleConfirm} variant=\"danger\" width=\"100%\" justifyContent=\"center\">\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.button.confirm'),\n defaultMessage: 'Yes, disable',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.message'),\n defaultMessage: 'If you disable the draft & publish, your drafts will be deleted.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </>\n );\n};\n"],"names":["DraftAndPublishToggle","description","disabled","intlLabel","isCreating","name","onChange","value","formatMessage","useIntl","showWarning","setShowWarning","useState","label","id","defaultMessage","values","hint","handleConfirm","target","handleChange","checked","_jsxs","_Fragment","Field","Root","_jsx","Checkbox","onCheckedChange","Hint","Dialog","open","onOpenChange","isOpen","ConfirmDialog","endAction","Button","onClick","variant","width","justifyContent","getTrad"],"mappings":";;;;;;;MAgCaA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,WAAW,KAAK,EAChBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,KAAK,EACc,GAAA;IAC3B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,QAAAA,CAAS,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAAA,GAAQV,SAAAA,CAAUW,EAAE,GACtBN,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAAe,EAC7D;AAAE,QAAA,GAAGZ,UAAUa;KAAO,CAAA,GAExBX,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAAe,EACjE;AAAE,QAAA,GAAGd,YAAYe;KAAO,CAAA,GAE1B,EAAA;AAEJ,IAAA,MAAME,aAAAA,GAAgB,IAAA;QACpBZ,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAME,KAAAA,EAAO;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAAA,CAAe,KAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAAA,IAAW,CAACjB,UAAAA,EAAY;YAC3BO,cAAAA,CAAe,IAAA,CAAA;AAEf,YAAA;AACF,QAAA;QAEAL,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,IAAA,CAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAD,IAAA,CAACE,MAAMC,IAAI,EAAA;gBAACR,IAAAA,EAAMA,IAAAA;gBAAMZ,IAAAA,EAAMA,IAAAA;;kCAC5BqB,GAAA,CAACC,QAAAA,EAAAA;wBAASN,OAAAA,EAASd,KAAAA;wBAAOL,QAAAA,EAAUA,QAAAA;wBAAU0B,eAAAA,EAAiBR,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,GAAA,CAACF,MAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,GAAA,CAACI,OAAOL,IAAI,EAAA;gBAACM,IAAAA,EAAMrB,WAAAA;gBAAasB,YAAAA,EAAc,CAACC,SAAWtB,cAAAA,CAAesB,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,GAAA,CAACQ,aAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,GAAA,CAACU,MAAAA,EAAAA;wBAAOC,OAAAA,EAASnB,aAAAA;wBAAeoB,OAAAA,EAAQ,QAAA;wBAASC,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;kCAC1EhC,aAAAA,CAAc;AACbM,4BAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,2CAAA,CAAA;4BACZ1B,cAAAA,EAAgB;AAClB,yBAAA;;8BAIHP,aAAAA,CAAc;AACbM,wBAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,oCAAA,CAAA;wBACZ1B,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
1
+ {"version":3,"file":"DraftAndPublishToggle.mjs","sources":["../../../admin/src/components/DraftAndPublishToggle.tsx"],"sourcesContent":["/**\n *\n * DraftAndPublishToggle\n *\n */\n\nimport { useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Checkbox, CheckboxProps, Dialog, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport type { IntlLabel } from '../types';\n\ninterface DraftAndPublishToggleProps {\n description?: IntlLabel;\n disabled?: boolean;\n intlLabel: IntlLabel;\n isCreating: boolean;\n name: string;\n onChange: (value: { target: { name: string; value: boolean } }) => void;\n value?: boolean;\n}\n\nexport const DraftAndPublishToggle = ({\n description,\n disabled = false,\n intlLabel,\n isCreating,\n name,\n onChange,\n value = false,\n}: DraftAndPublishToggleProps) => {\n const { formatMessage } = useIntl();\n const [showWarning, setShowWarning] = useState(false);\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const handleConfirm = () => {\n onChange({ target: { name, value: false } });\n\n setShowWarning(false);\n };\n\n const handleChange: CheckboxProps['onCheckedChange'] = (checked) => {\n if (!checked && !isCreating) {\n setShowWarning(true);\n\n return;\n }\n\n onChange({ target: { name, value: !!checked } });\n };\n\n return (\n <>\n <Field.Root hint={hint} name={name}>\n <Checkbox checked={value} disabled={disabled} onCheckedChange={handleChange}>\n {label}\n </Checkbox>\n <Field.Hint />\n </Field.Root>\n\n <Dialog.Root open={showWarning} onOpenChange={(isOpen) => setShowWarning(isOpen)}>\n <ConfirmDialog\n endAction={\n <Button onClick={handleConfirm} variant=\"danger\" width=\"100%\" justifyContent=\"center\">\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.button.confirm'),\n defaultMessage: 'Yes, disable',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: getTrad('popUpWarning.draft-publish.message'),\n defaultMessage: 'If you disable the draft & publish, your drafts will be deleted.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </>\n );\n};\n"],"names":["DraftAndPublishToggle","description","disabled","intlLabel","isCreating","name","onChange","value","formatMessage","useIntl","showWarning","setShowWarning","useState","label","id","defaultMessage","values","hint","handleConfirm","target","handleChange","checked","_jsxs","_Fragment","Field","Root","_jsx","Checkbox","onCheckedChange","Hint","Dialog","open","onOpenChange","isOpen","ConfirmDialog","endAction","Button","onClick","variant","width","justifyContent","getTrad"],"mappings":";;;;;;;MA0BaA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,WAAW,KAAK,EAChBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,KAAK,EACc,GAAA;IAC3B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,QAAAA,CAAS,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAAA,GAAQV,SAAAA,CAAUW,EAAE,GACtBN,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAAe,EAC7D;AAAE,QAAA,GAAGZ,UAAUa;KAAO,CAAA,GAExBX,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAAe,EACjE;AAAE,QAAA,GAAGd,YAAYe;KAAO,CAAA,GAE1B,EAAA;AAEJ,IAAA,MAAME,aAAAA,GAAgB,IAAA;QACpBZ,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAME,KAAAA,EAAO;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAAA,CAAe,KAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAAA,IAAW,CAACjB,UAAAA,EAAY;YAC3BO,cAAAA,CAAe,IAAA,CAAA;AAEf,YAAA;AACF,QAAA;QAEAL,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,IAAA,CAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAD,IAAA,CAACE,MAAMC,IAAI,EAAA;gBAACR,IAAAA,EAAMA,IAAAA;gBAAMZ,IAAAA,EAAMA,IAAAA;;kCAC5BqB,GAAA,CAACC,QAAAA,EAAAA;wBAASN,OAAAA,EAASd,KAAAA;wBAAOL,QAAAA,EAAUA,QAAAA;wBAAU0B,eAAAA,EAAiBR,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,GAAA,CAACF,MAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,GAAA,CAACI,OAAOL,IAAI,EAAA;gBAACM,IAAAA,EAAMrB,WAAAA;gBAAasB,YAAAA,EAAc,CAACC,SAAWtB,cAAAA,CAAesB,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,GAAA,CAACQ,aAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,GAAA,CAACU,MAAAA,EAAAA;wBAAOC,OAAAA,EAASnB,aAAAA;wBAAeoB,OAAAA,EAAQ,QAAA;wBAASC,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;kCAC1EhC,aAAAA,CAAc;AACbM,4BAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,2CAAA,CAAA;4BACZ1B,cAAAA,EAAgB;AAClB,yBAAA;;8BAIHP,aAAAA,CAAc;AACbM,wBAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,oCAAA,CAAA;wBACZ1B,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicZoneList.js","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicZoneList.js","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { type ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<Record<string, unknown>>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicZoneList.mjs","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicZoneList.mjs","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { type ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<Record<string, unknown>>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}