@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":"ContentTypeRadioGroup.js","sources":["../../../admin/src/components/ContentTypeRadioGroup.tsx"],"sourcesContent":["import { useNotification } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { IntlLabel } from '../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: any;\n}\n\ninterface ContentTypeRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const ContentTypeRadioGroup = ({ onChange, ...rest }: ContentTypeRadioGroupProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const handleChange = (e: any) => {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTrad('contentType.kind.change.warning'),\n defaultMessage:\n 'You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten).',\n }),\n });\n\n onChange(e);\n };\n\n return <CustomRadioGroup {...rest} onChange={handleChange} />;\n};\n"],"names":["ContentTypeRadioGroup","onChange","rest","formatMessage","useIntl","toggleNotification","useNotification","handleChange","e","type","message","id","getTrad","defaultMessage","_jsx","CustomRadioGroup"],"mappings":";;;;;;;;MAuBaA,qBAAAA,GAAwB,CAAC,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAE/B,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;QACpBH,kBAAAA,CAAmB;YACjBI,IAAAA,EAAM,MAAA;AACNC,YAAAA,OAAAA,EAASP,aAAAA,CAAc;AACrBQ,gBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;gBACZC,cAAAA,EACE;AACJ,aAAA;AACF,SAAA,CAAA;QAEAZ,QAAAA,CAASO,CAAAA,CAAAA;AACX,IAAA,CAAA;AAEA,IAAA,qBAAOM,cAAA,CAACC,iCAAAA,EAAAA;AAAkB,QAAA,GAAGb,IAAI;QAAED,QAAAA,EAAUM;;AAC/C;;;;"}
1
+ {"version":3,"file":"ContentTypeRadioGroup.js","sources":["../../../admin/src/components/ContentTypeRadioGroup.tsx"],"sourcesContent":["import type { ChangeEventHandler } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { IntlLabel } from '../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: string | boolean;\n}\n\ninterface ContentTypeRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const ContentTypeRadioGroup = ({ onChange, ...rest }: ContentTypeRadioGroupProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTrad('contentType.kind.change.warning'),\n defaultMessage:\n 'You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten).',\n }),\n });\n\n onChange(e);\n };\n\n return <CustomRadioGroup {...rest} onChange={handleChange} />;\n};\n"],"names":["ContentTypeRadioGroup","onChange","rest","formatMessage","useIntl","toggleNotification","useNotification","handleChange","e","type","message","id","getTrad","defaultMessage","_jsx","CustomRadioGroup"],"mappings":";;;;;;;;MAyBaA,qBAAAA,GAAwB,CAAC,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAE/B,IAAA,MAAMC,eAAqD,CAACC,CAAAA,GAAAA;QAC1DH,kBAAAA,CAAmB;YACjBI,IAAAA,EAAM,MAAA;AACNC,YAAAA,OAAAA,EAASP,aAAAA,CAAc;AACrBQ,gBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;gBACZC,cAAAA,EACE;AACJ,aAAA;AACF,SAAA,CAAA;QAEAZ,QAAAA,CAASO,CAAAA,CAAAA;AACX,IAAA,CAAA;AAEA,IAAA,qBAAOM,cAAA,CAACC,iCAAAA,EAAAA;AAAkB,QAAA,GAAGb,IAAI;QAAED,QAAAA,EAAUM;;AAC/C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTypeRadioGroup.mjs","sources":["../../../admin/src/components/ContentTypeRadioGroup.tsx"],"sourcesContent":["import { useNotification } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { IntlLabel } from '../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: any;\n}\n\ninterface ContentTypeRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const ContentTypeRadioGroup = ({ onChange, ...rest }: ContentTypeRadioGroupProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const handleChange = (e: any) => {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTrad('contentType.kind.change.warning'),\n defaultMessage:\n 'You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten).',\n }),\n });\n\n onChange(e);\n };\n\n return <CustomRadioGroup {...rest} onChange={handleChange} />;\n};\n"],"names":["ContentTypeRadioGroup","onChange","rest","formatMessage","useIntl","toggleNotification","useNotification","handleChange","e","type","message","id","getTrad","defaultMessage","_jsx","CustomRadioGroup"],"mappings":";;;;;;MAuBaA,qBAAAA,GAAwB,CAAC,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAE/B,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;QACpBH,kBAAAA,CAAmB;YACjBI,IAAAA,EAAM,MAAA;AACNC,YAAAA,OAAAA,EAASP,aAAAA,CAAc;AACrBQ,gBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,iCAAA,CAAA;gBACZC,cAAAA,EACE;AACJ,aAAA;AACF,SAAA,CAAA;QAEAZ,QAAAA,CAASO,CAAAA,CAAAA;AACX,IAAA,CAAA;AAEA,IAAA,qBAAOM,GAAA,CAACC,gBAAAA,EAAAA;AAAkB,QAAA,GAAGb,IAAI;QAAED,QAAAA,EAAUM;;AAC/C;;;;"}
1
+ {"version":3,"file":"ContentTypeRadioGroup.mjs","sources":["../../../admin/src/components/ContentTypeRadioGroup.tsx"],"sourcesContent":["import type { ChangeEventHandler } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { IntlLabel } from '../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: string | boolean;\n}\n\ninterface ContentTypeRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const ContentTypeRadioGroup = ({ onChange, ...rest }: ContentTypeRadioGroupProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTrad('contentType.kind.change.warning'),\n defaultMessage:\n 'You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten).',\n }),\n });\n\n onChange(e);\n };\n\n return <CustomRadioGroup {...rest} onChange={handleChange} />;\n};\n"],"names":["ContentTypeRadioGroup","onChange","rest","formatMessage","useIntl","toggleNotification","useNotification","handleChange","e","type","message","id","getTrad","defaultMessage","_jsx","CustomRadioGroup"],"mappings":";;;;;;MAyBaA,qBAAAA,GAAwB,CAAC,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAE/B,IAAA,MAAMC,eAAqD,CAACC,CAAAA,GAAAA;QAC1DH,kBAAAA,CAAmB;YACjBI,IAAAA,EAAM,MAAA;AACNC,YAAAA,OAAAA,EAASP,aAAAA,CAAc;AACrBQ,gBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,iCAAA,CAAA;gBACZC,cAAAA,EACE;AACJ,aAAA;AACF,SAAA,CAAA;QAEAZ,QAAAA,CAASO,CAAAA,CAAAA;AACX,IAAA,CAAA;AAEA,IAAA,qBAAOM,GAAA,CAACC,gBAAAA,EAAAA;AAAkB,QAAA,GAAGb,IAAI;QAAED,QAAAA,EAAUM;;AAC/C;;;;"}
@@ -24,19 +24,20 @@ const CustomRadioGroup = ({ intlLabel, name, onChange, radios = [], value })=>{
24
24
  gap: 4,
25
25
  alignItems: "stretch",
26
26
  children: radios.map((radio)=>{
27
+ const radioValue = radio.value.toString();
27
28
  return /*#__PURE__*/ jsxRuntime.jsxs("label", {
28
- htmlFor: radio.value.toString(),
29
+ htmlFor: radioValue,
29
30
  className: "container",
30
31
  children: [
31
32
  /*#__PURE__*/ jsxRuntime.jsx("input", {
32
- id: radio.value.toString(),
33
+ id: radioValue,
33
34
  name: name,
34
35
  className: "option-input",
35
36
  checked: radio.value === value,
36
- value: radio.value,
37
+ value: radioValue,
37
38
  onChange: onChange,
38
39
  type: "radio"
39
- }, radio.value),
40
+ }, radioValue),
40
41
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
41
42
  className: "option",
42
43
  padding: 4,
@@ -68,7 +69,7 @@ const CustomRadioGroup = ({ intlLabel, name, onChange, radios = [], value })=>{
68
69
  })
69
70
  })
70
71
  ]
71
- }, radio.value);
72
+ }, radioValue);
72
73
  })
73
74
  })
74
75
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CustomRadioGroup.js","sources":["../../../../admin/src/components/CustomRadioGroup/CustomRadioGroup.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Wrapper } from './Styles';\n\nimport type { IntlLabel } from '../../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: any;\n}\n\ninterface CustomRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const CustomRadioGroup = ({\n intlLabel,\n name,\n onChange,\n radios = [],\n value,\n}: CustomRadioGroupProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\" htmlFor={name} tag=\"label\">\n {formatMessage(intlLabel)}\n </Typography>\n <Wrapper gap={4} alignItems=\"stretch\">\n {radios.map((radio) => {\n return (\n <label htmlFor={radio.value.toString()} key={radio.value} className=\"container\">\n <input\n id={radio.value.toString()}\n name={name}\n className=\"option-input\"\n checked={radio.value === value}\n value={radio.value}\n key={radio.value}\n onChange={onChange}\n type=\"radio\"\n />\n <Box className=\"option\" padding={4}>\n <Flex>\n <Box paddingRight={4}>\n <span className=\"checkmark\" />\n </Box>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography fontWeight=\"bold\">{formatMessage(radio.title)}</Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(radio.description)}\n </Typography>\n </Flex>\n </Flex>\n </Box>\n </label>\n );\n })}\n </Wrapper>\n </Flex>\n );\n};\n"],"names":["CustomRadioGroup","intlLabel","name","onChange","radios","value","formatMessage","useIntl","_jsxs","Flex","direction","alignItems","gap","_jsx","Typography","variant","fontWeight","textColor","htmlFor","tag","Wrapper","map","radio","label","toString","className","input","id","checked","type","Box","padding","paddingRight","span","title","description"],"mappings":";;;;;;;AAqBO,MAAMA,gBAAAA,GAAmB,CAAC,EAC/BC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,MAAAA,GAAS,EAAE,EACXC,KAAK,EACiB,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;0BACjDC,cAAA,CAACC,uBAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,IAAA;gBAAKC,UAAAA,EAAW,MAAA;gBAAOC,SAAAA,EAAU,YAAA;gBAAaC,OAAAA,EAAShB,IAAAA;gBAAMiB,GAAAA,EAAI,OAAA;0BAClFb,aAAAA,CAAcL,SAAAA;;0BAEjBY,cAAA,CAACO,cAAAA,EAAAA;gBAAQR,GAAAA,EAAK,CAAA;gBAAGD,UAAAA,EAAW,SAAA;0BACzBP,MAAAA,CAAOiB,GAAG,CAAC,CAACC,KAAAA,GAAAA;AACX,oBAAA,qBACEd,eAAA,CAACe,OAAAA,EAAAA;wBAAML,OAAAA,EAASI,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;wBAAsBC,SAAAA,EAAU,WAAA;;0CAClEZ,cAAA,CAACa,OAAAA,EAAAA;gCACCC,EAAAA,EAAIL,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;gCACxBtB,IAAAA,EAAMA,IAAAA;gCACNuB,SAAAA,EAAU,cAAA;gCACVG,OAAAA,EAASN,KAAAA,CAAMjB,KAAK,KAAKA,KAAAA;AACzBA,gCAAAA,KAAAA,EAAOiB,MAAMjB,KAAK;gCAElBF,QAAAA,EAAUA,QAAAA;gCACV0B,IAAAA,EAAK;AAFAP,6BAAAA,EAAAA,KAAAA,CAAMjB,KAAK,CAAA;0CAIlBQ,cAAA,CAACiB,gBAAAA,EAAAA;gCAAIL,SAAAA,EAAU,QAAA;gCAASM,OAAAA,EAAS,CAAA;AAC/B,gCAAA,QAAA,gBAAAvB,eAAA,CAACC,iBAAAA,EAAAA;;sDACCI,cAAA,CAACiB,gBAAAA,EAAAA;4CAAIE,YAAAA,EAAc,CAAA;AACjB,4CAAA,QAAA,gBAAAnB,cAAA,CAACoB,MAAAA,EAAAA;gDAAKR,SAAAA,EAAU;;;sDAElBjB,eAAA,CAACC,iBAAAA,EAAAA;4CAAKC,SAAAA,EAAU,QAAA;4CAASC,UAAAA,EAAW,SAAA;4CAAUC,GAAAA,EAAK,CAAA;;8DACjDC,cAAA,CAACC,uBAAAA,EAAAA;oDAAWE,UAAAA,EAAW,MAAA;AAAQV,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMY,KAAK;;8DACxDrB,cAAA,CAACC,uBAAAA,EAAAA;oDAAWC,OAAAA,EAAQ,IAAA;oDAAKE,SAAAA,EAAU,YAAA;AAChCX,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMa,WAAW;;;;;;;;AAnBGb,qBAAAA,EAAAA,KAAAA,CAAMjB,KAAK,CAAA;AA0B5D,gBAAA,CAAA;;;;AAIR;;;;"}
1
+ {"version":3,"file":"CustomRadioGroup.js","sources":["../../../../admin/src/components/CustomRadioGroup/CustomRadioGroup.tsx"],"sourcesContent":["import type { ChangeEventHandler } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Wrapper } from './Styles';\n\nimport type { IntlLabel } from '../../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: string | boolean;\n}\n\ninterface CustomRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const CustomRadioGroup = ({\n intlLabel,\n name,\n onChange,\n radios = [],\n value,\n}: CustomRadioGroupProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\" htmlFor={name} tag=\"label\">\n {formatMessage(intlLabel)}\n </Typography>\n <Wrapper gap={4} alignItems=\"stretch\">\n {radios.map((radio) => {\n const radioValue = radio.value.toString();\n\n return (\n <label htmlFor={radioValue} key={radioValue} className=\"container\">\n <input\n id={radioValue}\n name={name}\n className=\"option-input\"\n checked={radio.value === value}\n value={radioValue}\n key={radioValue}\n onChange={onChange}\n type=\"radio\"\n />\n <Box className=\"option\" padding={4}>\n <Flex>\n <Box paddingRight={4}>\n <span className=\"checkmark\" />\n </Box>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography fontWeight=\"bold\">{formatMessage(radio.title)}</Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(radio.description)}\n </Typography>\n </Flex>\n </Flex>\n </Box>\n </label>\n );\n })}\n </Wrapper>\n </Flex>\n );\n};\n"],"names":["CustomRadioGroup","intlLabel","name","onChange","radios","value","formatMessage","useIntl","_jsxs","Flex","direction","alignItems","gap","_jsx","Typography","variant","fontWeight","textColor","htmlFor","tag","Wrapper","map","radio","radioValue","toString","label","className","input","id","checked","type","Box","padding","paddingRight","span","title","description"],"mappings":";;;;;;;AAuBO,MAAMA,gBAAAA,GAAmB,CAAC,EAC/BC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,MAAAA,GAAS,EAAE,EACXC,KAAK,EACiB,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;0BACjDC,cAAA,CAACC,uBAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,IAAA;gBAAKC,UAAAA,EAAW,MAAA;gBAAOC,SAAAA,EAAU,YAAA;gBAAaC,OAAAA,EAAShB,IAAAA;gBAAMiB,GAAAA,EAAI,OAAA;0BAClFb,aAAAA,CAAcL,SAAAA;;0BAEjBY,cAAA,CAACO,cAAAA,EAAAA;gBAAQR,GAAAA,EAAK,CAAA;gBAAGD,UAAAA,EAAW,SAAA;0BACzBP,MAAAA,CAAOiB,GAAG,CAAC,CAACC,KAAAA,GAAAA;AACX,oBAAA,MAAMC,UAAAA,GAAaD,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;AAEvC,oBAAA,qBACEhB,eAAA,CAACiB,OAAAA,EAAAA;wBAAMP,OAAAA,EAASK,UAAAA;wBAA6BG,SAAAA,EAAU,WAAA;;0CACrDb,cAAA,CAACc,OAAAA,EAAAA;gCACCC,EAAAA,EAAIL,UAAAA;gCACJrB,IAAAA,EAAMA,IAAAA;gCACNwB,SAAAA,EAAU,cAAA;gCACVG,OAAAA,EAASP,KAAAA,CAAMjB,KAAK,KAAKA,KAAAA;gCACzBA,KAAAA,EAAOkB,UAAAA;gCAEPpB,QAAAA,EAAUA,QAAAA;gCACV2B,IAAAA,EAAK;AAFAP,6BAAAA,EAAAA,UAAAA,CAAAA;0CAIPV,cAAA,CAACkB,gBAAAA,EAAAA;gCAAIL,SAAAA,EAAU,QAAA;gCAASM,OAAAA,EAAS,CAAA;AAC/B,gCAAA,QAAA,gBAAAxB,eAAA,CAACC,iBAAAA,EAAAA;;sDACCI,cAAA,CAACkB,gBAAAA,EAAAA;4CAAIE,YAAAA,EAAc,CAAA;AACjB,4CAAA,QAAA,gBAAApB,cAAA,CAACqB,MAAAA,EAAAA;gDAAKR,SAAAA,EAAU;;;sDAElBlB,eAAA,CAACC,iBAAAA,EAAAA;4CAAKC,SAAAA,EAAU,QAAA;4CAASC,UAAAA,EAAW,SAAA;4CAAUC,GAAAA,EAAK,CAAA;;8DACjDC,cAAA,CAACC,uBAAAA,EAAAA;oDAAWE,UAAAA,EAAW,MAAA;AAAQV,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMa,KAAK;;8DACxDtB,cAAA,CAACC,uBAAAA,EAAAA;oDAAWC,OAAAA,EAAQ,IAAA;oDAAKE,SAAAA,EAAU,YAAA;AAChCX,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMc,WAAW;;;;;;;;AAnBTb,qBAAAA,EAAAA,UAAAA,CAAAA;AA0BrC,gBAAA,CAAA;;;;AAIR;;;;"}
@@ -22,19 +22,20 @@ const CustomRadioGroup = ({ intlLabel, name, onChange, radios = [], value })=>{
22
22
  gap: 4,
23
23
  alignItems: "stretch",
24
24
  children: radios.map((radio)=>{
25
+ const radioValue = radio.value.toString();
25
26
  return /*#__PURE__*/ jsxs("label", {
26
- htmlFor: radio.value.toString(),
27
+ htmlFor: radioValue,
27
28
  className: "container",
28
29
  children: [
29
30
  /*#__PURE__*/ jsx("input", {
30
- id: radio.value.toString(),
31
+ id: radioValue,
31
32
  name: name,
32
33
  className: "option-input",
33
34
  checked: radio.value === value,
34
- value: radio.value,
35
+ value: radioValue,
35
36
  onChange: onChange,
36
37
  type: "radio"
37
- }, radio.value),
38
+ }, radioValue),
38
39
  /*#__PURE__*/ jsx(Box, {
39
40
  className: "option",
40
41
  padding: 4,
@@ -66,7 +67,7 @@ const CustomRadioGroup = ({ intlLabel, name, onChange, radios = [], value })=>{
66
67
  })
67
68
  })
68
69
  ]
69
- }, radio.value);
70
+ }, radioValue);
70
71
  })
71
72
  })
72
73
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CustomRadioGroup.mjs","sources":["../../../../admin/src/components/CustomRadioGroup/CustomRadioGroup.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Wrapper } from './Styles';\n\nimport type { IntlLabel } from '../../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: any;\n}\n\ninterface CustomRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const CustomRadioGroup = ({\n intlLabel,\n name,\n onChange,\n radios = [],\n value,\n}: CustomRadioGroupProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\" htmlFor={name} tag=\"label\">\n {formatMessage(intlLabel)}\n </Typography>\n <Wrapper gap={4} alignItems=\"stretch\">\n {radios.map((radio) => {\n return (\n <label htmlFor={radio.value.toString()} key={radio.value} className=\"container\">\n <input\n id={radio.value.toString()}\n name={name}\n className=\"option-input\"\n checked={radio.value === value}\n value={radio.value}\n key={radio.value}\n onChange={onChange}\n type=\"radio\"\n />\n <Box className=\"option\" padding={4}>\n <Flex>\n <Box paddingRight={4}>\n <span className=\"checkmark\" />\n </Box>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography fontWeight=\"bold\">{formatMessage(radio.title)}</Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(radio.description)}\n </Typography>\n </Flex>\n </Flex>\n </Box>\n </label>\n );\n })}\n </Wrapper>\n </Flex>\n );\n};\n"],"names":["CustomRadioGroup","intlLabel","name","onChange","radios","value","formatMessage","useIntl","_jsxs","Flex","direction","alignItems","gap","_jsx","Typography","variant","fontWeight","textColor","htmlFor","tag","Wrapper","map","radio","label","toString","className","input","id","checked","type","Box","padding","paddingRight","span","title","description"],"mappings":";;;;;AAqBO,MAAMA,gBAAAA,GAAmB,CAAC,EAC/BC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,MAAAA,GAAS,EAAE,EACXC,KAAK,EACiB,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,IAAA,CAACC,IAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;0BACjDC,GAAA,CAACC,UAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,IAAA;gBAAKC,UAAAA,EAAW,MAAA;gBAAOC,SAAAA,EAAU,YAAA;gBAAaC,OAAAA,EAAShB,IAAAA;gBAAMiB,GAAAA,EAAI,OAAA;0BAClFb,aAAAA,CAAcL,SAAAA;;0BAEjBY,GAAA,CAACO,OAAAA,EAAAA;gBAAQR,GAAAA,EAAK,CAAA;gBAAGD,UAAAA,EAAW,SAAA;0BACzBP,MAAAA,CAAOiB,GAAG,CAAC,CAACC,KAAAA,GAAAA;AACX,oBAAA,qBACEd,IAAA,CAACe,OAAAA,EAAAA;wBAAML,OAAAA,EAASI,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;wBAAsBC,SAAAA,EAAU,WAAA;;0CAClEZ,GAAA,CAACa,OAAAA,EAAAA;gCACCC,EAAAA,EAAIL,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;gCACxBtB,IAAAA,EAAMA,IAAAA;gCACNuB,SAAAA,EAAU,cAAA;gCACVG,OAAAA,EAASN,KAAAA,CAAMjB,KAAK,KAAKA,KAAAA;AACzBA,gCAAAA,KAAAA,EAAOiB,MAAMjB,KAAK;gCAElBF,QAAAA,EAAUA,QAAAA;gCACV0B,IAAAA,EAAK;AAFAP,6BAAAA,EAAAA,KAAAA,CAAMjB,KAAK,CAAA;0CAIlBQ,GAAA,CAACiB,GAAAA,EAAAA;gCAAIL,SAAAA,EAAU,QAAA;gCAASM,OAAAA,EAAS,CAAA;AAC/B,gCAAA,QAAA,gBAAAvB,IAAA,CAACC,IAAAA,EAAAA;;sDACCI,GAAA,CAACiB,GAAAA,EAAAA;4CAAIE,YAAAA,EAAc,CAAA;AACjB,4CAAA,QAAA,gBAAAnB,GAAA,CAACoB,MAAAA,EAAAA;gDAAKR,SAAAA,EAAU;;;sDAElBjB,IAAA,CAACC,IAAAA,EAAAA;4CAAKC,SAAAA,EAAU,QAAA;4CAASC,UAAAA,EAAW,SAAA;4CAAUC,GAAAA,EAAK,CAAA;;8DACjDC,GAAA,CAACC,UAAAA,EAAAA;oDAAWE,UAAAA,EAAW,MAAA;AAAQV,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMY,KAAK;;8DACxDrB,GAAA,CAACC,UAAAA,EAAAA;oDAAWC,OAAAA,EAAQ,IAAA;oDAAKE,SAAAA,EAAU,YAAA;AAChCX,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMa,WAAW;;;;;;;;AAnBGb,qBAAAA,EAAAA,KAAAA,CAAMjB,KAAK,CAAA;AA0B5D,gBAAA,CAAA;;;;AAIR;;;;"}
1
+ {"version":3,"file":"CustomRadioGroup.mjs","sources":["../../../../admin/src/components/CustomRadioGroup/CustomRadioGroup.tsx"],"sourcesContent":["import type { ChangeEventHandler } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Wrapper } from './Styles';\n\nimport type { IntlLabel } from '../../types';\n\ninterface Radio {\n title: IntlLabel;\n description: IntlLabel;\n value: string | boolean;\n}\n\ninterface CustomRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n radios?: Radio[];\n value?: string | boolean;\n}\n\nexport const CustomRadioGroup = ({\n intlLabel,\n name,\n onChange,\n radios = [],\n value,\n}: CustomRadioGroupProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\" htmlFor={name} tag=\"label\">\n {formatMessage(intlLabel)}\n </Typography>\n <Wrapper gap={4} alignItems=\"stretch\">\n {radios.map((radio) => {\n const radioValue = radio.value.toString();\n\n return (\n <label htmlFor={radioValue} key={radioValue} className=\"container\">\n <input\n id={radioValue}\n name={name}\n className=\"option-input\"\n checked={radio.value === value}\n value={radioValue}\n key={radioValue}\n onChange={onChange}\n type=\"radio\"\n />\n <Box className=\"option\" padding={4}>\n <Flex>\n <Box paddingRight={4}>\n <span className=\"checkmark\" />\n </Box>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography fontWeight=\"bold\">{formatMessage(radio.title)}</Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(radio.description)}\n </Typography>\n </Flex>\n </Flex>\n </Box>\n </label>\n );\n })}\n </Wrapper>\n </Flex>\n );\n};\n"],"names":["CustomRadioGroup","intlLabel","name","onChange","radios","value","formatMessage","useIntl","_jsxs","Flex","direction","alignItems","gap","_jsx","Typography","variant","fontWeight","textColor","htmlFor","tag","Wrapper","map","radio","radioValue","toString","label","className","input","id","checked","type","Box","padding","paddingRight","span","title","description"],"mappings":";;;;;AAuBO,MAAMA,gBAAAA,GAAmB,CAAC,EAC/BC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,MAAAA,GAAS,EAAE,EACXC,KAAK,EACiB,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,IAAA,CAACC,IAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;0BACjDC,GAAA,CAACC,UAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,IAAA;gBAAKC,UAAAA,EAAW,MAAA;gBAAOC,SAAAA,EAAU,YAAA;gBAAaC,OAAAA,EAAShB,IAAAA;gBAAMiB,GAAAA,EAAI,OAAA;0BAClFb,aAAAA,CAAcL,SAAAA;;0BAEjBY,GAAA,CAACO,OAAAA,EAAAA;gBAAQR,GAAAA,EAAK,CAAA;gBAAGD,UAAAA,EAAW,SAAA;0BACzBP,MAAAA,CAAOiB,GAAG,CAAC,CAACC,KAAAA,GAAAA;AACX,oBAAA,MAAMC,UAAAA,GAAaD,KAAAA,CAAMjB,KAAK,CAACmB,QAAQ,EAAA;AAEvC,oBAAA,qBACEhB,IAAA,CAACiB,OAAAA,EAAAA;wBAAMP,OAAAA,EAASK,UAAAA;wBAA6BG,SAAAA,EAAU,WAAA;;0CACrDb,GAAA,CAACc,OAAAA,EAAAA;gCACCC,EAAAA,EAAIL,UAAAA;gCACJrB,IAAAA,EAAMA,IAAAA;gCACNwB,SAAAA,EAAU,cAAA;gCACVG,OAAAA,EAASP,KAAAA,CAAMjB,KAAK,KAAKA,KAAAA;gCACzBA,KAAAA,EAAOkB,UAAAA;gCAEPpB,QAAAA,EAAUA,QAAAA;gCACV2B,IAAAA,EAAK;AAFAP,6BAAAA,EAAAA,UAAAA,CAAAA;0CAIPV,GAAA,CAACkB,GAAAA,EAAAA;gCAAIL,SAAAA,EAAU,QAAA;gCAASM,OAAAA,EAAS,CAAA;AAC/B,gCAAA,QAAA,gBAAAxB,IAAA,CAACC,IAAAA,EAAAA;;sDACCI,GAAA,CAACkB,GAAAA,EAAAA;4CAAIE,YAAAA,EAAc,CAAA;AACjB,4CAAA,QAAA,gBAAApB,GAAA,CAACqB,MAAAA,EAAAA;gDAAKR,SAAAA,EAAU;;;sDAElBlB,IAAA,CAACC,IAAAA,EAAAA;4CAAKC,SAAAA,EAAU,QAAA;4CAASC,UAAAA,EAAW,SAAA;4CAAUC,GAAAA,EAAK,CAAA;;8DACjDC,GAAA,CAACC,UAAAA,EAAAA;oDAAWE,UAAAA,EAAW,MAAA;AAAQV,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMa,KAAK;;8DACxDtB,GAAA,CAACC,UAAAA,EAAAA;oDAAWC,OAAAA,EAAQ,IAAA;oDAAKE,SAAAA,EAAU,YAAA;AAChCX,oDAAAA,QAAAA,EAAAA,aAAAA,CAAcgB,MAAMc,WAAW;;;;;;;;AAnBTb,qBAAAA,EAAAA,UAAAA,CAAAA;AA0BrC,gBAAA,CAAA;;;;AAIR;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","sources":["../../../../admin/src/components/CustomRadioGroup/Styles.tsx"],"sourcesContent":["import { Flex, inputFocusStyle } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst Wrapper = styled(Flex)`\n position: relative;\n align-items: stretch;\n\n label {\n max-width: 50%;\n cursor: pointer;\n user-select: none;\n flex: 1;\n\n ${inputFocusStyle() as any}\n }\n\n input {\n position: absolute;\n opacity: 0;\n }\n\n .option {\n height: 100%;\n will-change: transform, opacity;\n background: ${({ theme }) => theme.colors.neutral0};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n .checkmark {\n position: relative;\n display: block;\n will-change: transform;\n background: ${({ theme }) => theme.colors.neutral0};\n width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n border: solid 1px ${({ theme }) => theme.colors.neutral300};\n border-radius: 50%;\n\n &:before,\n &:after {\n content: '';\n display: block;\n border-radius: 50%;\n width: ${({ theme }) => theme.spaces[3]};\n height: ${({ theme }) => theme.spaces[3]};\n position: absolute;\n top: 3px;\n left: 3px;\n }\n\n &:after {\n transform: scale(0);\n transition: inherit;\n will-change: transform;\n }\n }\n }\n\n .container input:checked ~ div {\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n .checkmark {\n border: solid 1px ${({ theme }) => theme.colors.primary600};\n &::after {\n background: ${({ theme }) => theme.colors.primary600};\n transform: scale(1);\n }\n }\n }\n`;\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","Flex","inputFocusStyle","theme","colors","neutral0","neutral200","borderRadius","spaces","neutral300","primary100","primary600"],"mappings":";;;;;AAGA,MAAMA,OAAAA,GAAUC,uBAAAA,CAAOC,iBAAAA,CAAK;;;;;;;;;;AAUxB,IAAA,EAAEC,4BAAAA,EAAAA;;;;;;;;;;;gBAWU,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;sBACjC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAC5C,mBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;;kBAMrC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;aAC5C,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;cAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;wBACvB,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;;;;;;;;eAQlD,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;gBAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;;;;;;;;;;gBAejC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;wBAE5B,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;oBAE7C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;;;;AAK7D;;;;"}
1
+ {"version":3,"file":"Styles.js","sources":["../../../../admin/src/components/CustomRadioGroup/Styles.tsx"],"sourcesContent":["import { Flex, inputFocusStyle } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst Wrapper = styled(Flex)`\n position: relative;\n align-items: stretch;\n\n label {\n max-width: 50%;\n cursor: pointer;\n user-select: none;\n flex: 1;\n\n ${inputFocusStyle()}\n }\n\n input {\n position: absolute;\n opacity: 0;\n }\n\n .option {\n height: 100%;\n will-change: transform, opacity;\n background: ${({ theme }) => theme.colors.neutral0};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n .checkmark {\n position: relative;\n display: block;\n will-change: transform;\n background: ${({ theme }) => theme.colors.neutral0};\n width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n border: solid 1px ${({ theme }) => theme.colors.neutral300};\n border-radius: 50%;\n\n &:before,\n &:after {\n content: '';\n display: block;\n border-radius: 50%;\n width: ${({ theme }) => theme.spaces[3]};\n height: ${({ theme }) => theme.spaces[3]};\n position: absolute;\n top: 3px;\n left: 3px;\n }\n\n &:after {\n transform: scale(0);\n transition: inherit;\n will-change: transform;\n }\n }\n }\n\n .container input:checked ~ div {\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n .checkmark {\n border: solid 1px ${({ theme }) => theme.colors.primary600};\n &::after {\n background: ${({ theme }) => theme.colors.primary600};\n transform: scale(1);\n }\n }\n }\n`;\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","Flex","inputFocusStyle","theme","colors","neutral0","neutral200","borderRadius","spaces","neutral300","primary100","primary600"],"mappings":";;;;;AAGA,MAAMA,OAAAA,GAAUC,uBAAAA,CAAOC,iBAAAA,CAAK;;;;;;;;;;AAUxB,IAAA,EAAEC,4BAAAA,EAAAA;;;;;;;;;;;gBAWU,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;sBACjC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAC5C,mBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;;kBAMrC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;aAC5C,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;cAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;wBACvB,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;;;;;;;;eAQlD,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;gBAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;;;;;;;;;;gBAejC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;wBAE5B,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;oBAE7C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;;;;AAK7D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.mjs","sources":["../../../../admin/src/components/CustomRadioGroup/Styles.tsx"],"sourcesContent":["import { Flex, inputFocusStyle } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst Wrapper = styled(Flex)`\n position: relative;\n align-items: stretch;\n\n label {\n max-width: 50%;\n cursor: pointer;\n user-select: none;\n flex: 1;\n\n ${inputFocusStyle() as any}\n }\n\n input {\n position: absolute;\n opacity: 0;\n }\n\n .option {\n height: 100%;\n will-change: transform, opacity;\n background: ${({ theme }) => theme.colors.neutral0};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n .checkmark {\n position: relative;\n display: block;\n will-change: transform;\n background: ${({ theme }) => theme.colors.neutral0};\n width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n border: solid 1px ${({ theme }) => theme.colors.neutral300};\n border-radius: 50%;\n\n &:before,\n &:after {\n content: '';\n display: block;\n border-radius: 50%;\n width: ${({ theme }) => theme.spaces[3]};\n height: ${({ theme }) => theme.spaces[3]};\n position: absolute;\n top: 3px;\n left: 3px;\n }\n\n &:after {\n transform: scale(0);\n transition: inherit;\n will-change: transform;\n }\n }\n }\n\n .container input:checked ~ div {\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n .checkmark {\n border: solid 1px ${({ theme }) => theme.colors.primary600};\n &::after {\n background: ${({ theme }) => theme.colors.primary600};\n transform: scale(1);\n }\n }\n }\n`;\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","Flex","inputFocusStyle","theme","colors","neutral0","neutral200","borderRadius","spaces","neutral300","primary100","primary600"],"mappings":";;;AAGA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,IAAAA,CAAK;;;;;;;;;;AAUxB,IAAA,EAAEC,eAAAA,EAAAA;;;;;;;;;;;gBAWU,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;sBACjC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAC5C,mBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;;kBAMrC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;aAC5C,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;cAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;wBACvB,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;;;;;;;;eAQlD,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;gBAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;;;;;;;;;;gBAejC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;wBAE5B,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;oBAE7C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;;;;AAK7D;;;;"}
1
+ {"version":3,"file":"Styles.mjs","sources":["../../../../admin/src/components/CustomRadioGroup/Styles.tsx"],"sourcesContent":["import { Flex, inputFocusStyle } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst Wrapper = styled(Flex)`\n position: relative;\n align-items: stretch;\n\n label {\n max-width: 50%;\n cursor: pointer;\n user-select: none;\n flex: 1;\n\n ${inputFocusStyle()}\n }\n\n input {\n position: absolute;\n opacity: 0;\n }\n\n .option {\n height: 100%;\n will-change: transform, opacity;\n background: ${({ theme }) => theme.colors.neutral0};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n .checkmark {\n position: relative;\n display: block;\n will-change: transform;\n background: ${({ theme }) => theme.colors.neutral0};\n width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n border: solid 1px ${({ theme }) => theme.colors.neutral300};\n border-radius: 50%;\n\n &:before,\n &:after {\n content: '';\n display: block;\n border-radius: 50%;\n width: ${({ theme }) => theme.spaces[3]};\n height: ${({ theme }) => theme.spaces[3]};\n position: absolute;\n top: 3px;\n left: 3px;\n }\n\n &:after {\n transform: scale(0);\n transition: inherit;\n will-change: transform;\n }\n }\n }\n\n .container input:checked ~ div {\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n .checkmark {\n border: solid 1px ${({ theme }) => theme.colors.primary600};\n &::after {\n background: ${({ theme }) => theme.colors.primary600};\n transform: scale(1);\n }\n }\n }\n`;\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","Flex","inputFocusStyle","theme","colors","neutral0","neutral200","borderRadius","spaces","neutral300","primary100","primary600"],"mappings":";;;AAGA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,IAAAA,CAAK;;;;;;;;;;AAUxB,IAAA,EAAEC,eAAAA,EAAAA;;;;;;;;;;;gBAWU,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;sBACjC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAC5C,mBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;;kBAMrC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,QAAQ,CAAC;aAC5C,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;cAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;wBACvB,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;;;;;;;;eAQlD,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;gBAChC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;;;;;;;;;;gBAejC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;wBAE5B,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;oBAE7C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;;;;;AAK7D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataManagerContext.js","sources":["../../../../admin/src/components/DataManager/DataManagerContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { createContext } from 'react';\n\nimport type { Component, ContentType } from '../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport interface DataManagerContextValue {\n isLoading: boolean;\n addAttribute: (opts: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editAttribute: (opts: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n moveAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n from: number;\n to: number;\n }) => void;\n addCustomFieldAttribute: (params: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editCustomFieldAttribute: (params: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n addCreatedComponentToDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n }) => void;\n createComponentSchema: (opts: {\n data: {\n icon: string;\n displayName: string;\n };\n componentCategory: string;\n uid: Internal.UID.Component;\n }) => void;\n createSchema: (opts: {\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 uid: Internal.UID.Schema;\n }) => void;\n changeDynamicZoneComponents: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n }) => void;\n removeAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeToRemoveName: string;\n }) => void;\n deleteComponent(uid: Internal.UID.Component): void;\n deleteContentType(uid: Internal.UID.ContentType): void;\n removeComponentFromDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dzName: string;\n componentToRemoveIndex: number;\n }) => void;\n sortedContentTypesList: {\n visible: ContentType['visible'];\n name: ContentType['uid'];\n title: ContentType['info']['displayName'];\n plugin: ContentType['plugin'];\n uid: ContentType['uid'];\n to: string;\n kind: ContentType['kind'];\n restrictRelationsTo: ContentType['restrictRelationsTo'];\n status: ContentType['status'];\n }[];\n updateComponentSchema: (opts: {\n data: {\n icon: string;\n displayName: string;\n };\n componentUID: Internal.UID.Component;\n }) => void;\n updateComponentUid: (opts: {\n newComponentUID: Internal.UID.Component;\n componentUID: Internal.UID.Component;\n }) => void;\n updateSchema: (opts: {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, any>;\n };\n uid: Internal.UID.ContentType;\n }) => void;\n initialComponents: Record<Internal.UID.Component, Component>;\n components: Record<Internal.UID.Component, Component>;\n componentsGroupedByCategory: Record<string, Component[]>;\n componentsThatHaveOtherComponentInTheirAttributes: any[]; // Define the actual type\n initialContentTypes: Record<Internal.UID.ContentType, ContentType>;\n contentTypes: Record<Internal.UID.ContentType, ContentType>;\n isInDevelopmentMode?: boolean;\n nestedComponents: any[]; // Define the actual type\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n allComponentsCategories: any[];\n saveSchema(): Promise<void>;\n isModified: boolean;\n isSaving: boolean;\n applyChange: (opts: {\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }) => void;\n history: {\n undo(): void;\n redo(): void;\n discardAllChanges(): void;\n canUndo: boolean;\n canRedo: boolean;\n canDiscardAll: boolean;\n };\n}\n\n// @ts-expect-error need to pass initial value to params\nexport const DataManagerContext = createContext<DataManagerContextValue>();\n"],"names":["DataManagerContext","createContext"],"mappings":";;;;AA6IA;AACO,MAAMA,qBAAqBC,mBAAAA;;;;"}
1
+ {"version":3,"file":"DataManagerContext.js","sources":["../../../../admin/src/components/DataManager/DataManagerContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { createContext } from 'react';\n\nimport type { Component, ContentType } from '../../types';\nimport type { ComponentWithChildren } from './utils/retrieveComponentsThatHaveComponents';\nimport type { NestedComponent } from './utils/retrieveNestedComponents';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport interface DataManagerContextValue {\n isLoading: boolean;\n addAttribute: (opts: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editAttribute: (opts: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n moveAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n from: number;\n to: number;\n }) => void;\n addCustomFieldAttribute: (params: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editCustomFieldAttribute: (params: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n addCreatedComponentToDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n }) => void;\n createComponentSchema: (opts: {\n data: {\n icon?: string;\n displayName: string;\n };\n componentCategory: string;\n uid: Internal.UID.Component;\n }) => void;\n createSchema: (opts: {\n data: {\n displayName: string;\n singularName: string;\n pluralName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, unknown>;\n };\n uid: Internal.UID.Schema;\n }) => void;\n changeDynamicZoneComponents: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n }) => void;\n removeAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeToRemoveName: string;\n }) => void;\n deleteComponent(uid: Internal.UID.Component): void;\n deleteContentType(uid: Internal.UID.ContentType): void;\n removeComponentFromDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dzName: string;\n componentToRemoveIndex: number;\n }) => void;\n sortedContentTypesList: {\n visible: ContentType['visible'];\n name: ContentType['uid'];\n title: ContentType['info']['displayName'];\n plugin: ContentType['plugin'];\n uid: ContentType['uid'];\n to: string;\n kind: ContentType['kind'];\n restrictRelationsTo: ContentType['restrictRelationsTo'];\n status: ContentType['status'];\n }[];\n updateComponentSchema: (opts: {\n data: {\n icon?: string;\n displayName: string;\n };\n componentUID: Internal.UID.Component;\n }) => void;\n updateComponentUid: (opts: {\n newComponentUID: Internal.UID.Component;\n componentUID: Internal.UID.Component;\n }) => void;\n updateSchema: (opts: {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, unknown>;\n };\n uid: Internal.UID.ContentType;\n }) => void;\n initialComponents: Record<Internal.UID.Component, Component>;\n components: Record<Internal.UID.Component, Component>;\n componentsGroupedByCategory: Record<string, Component[]>;\n componentsThatHaveOtherComponentInTheirAttributes: ComponentWithChildren[];\n initialContentTypes: Record<Internal.UID.ContentType, ContentType>;\n contentTypes: Record<Internal.UID.ContentType, ContentType>;\n isInDevelopmentMode?: boolean;\n nestedComponents: NestedComponent[];\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n allComponentsCategories: string[];\n saveSchema(): Promise<void>;\n isModified: boolean;\n isSaving: boolean;\n applyChange: (opts: {\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }) => void;\n history: {\n undo(): void;\n redo(): void;\n discardAllChanges(): void;\n canUndo: boolean;\n canRedo: boolean;\n canDiscardAll: boolean;\n };\n}\n\n// @ts-expect-error need to pass initial value to params\nexport const DataManagerContext = createContext<DataManagerContextValue>();\n"],"names":["DataManagerContext","createContext"],"mappings":";;;;AA+IA;AACO,MAAMA,qBAAqBC,mBAAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataManagerContext.mjs","sources":["../../../../admin/src/components/DataManager/DataManagerContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { createContext } from 'react';\n\nimport type { Component, ContentType } from '../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport interface DataManagerContextValue {\n isLoading: boolean;\n addAttribute: (opts: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editAttribute: (opts: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n moveAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n from: number;\n to: number;\n }) => void;\n addCustomFieldAttribute: (params: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editCustomFieldAttribute: (params: {\n attributeToSet: Record<string, any>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n addCreatedComponentToDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n }) => void;\n createComponentSchema: (opts: {\n data: {\n icon: string;\n displayName: string;\n };\n componentCategory: string;\n uid: Internal.UID.Component;\n }) => void;\n createSchema: (opts: {\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 uid: Internal.UID.Schema;\n }) => void;\n changeDynamicZoneComponents: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n }) => void;\n removeAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeToRemoveName: string;\n }) => void;\n deleteComponent(uid: Internal.UID.Component): void;\n deleteContentType(uid: Internal.UID.ContentType): void;\n removeComponentFromDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dzName: string;\n componentToRemoveIndex: number;\n }) => void;\n sortedContentTypesList: {\n visible: ContentType['visible'];\n name: ContentType['uid'];\n title: ContentType['info']['displayName'];\n plugin: ContentType['plugin'];\n uid: ContentType['uid'];\n to: string;\n kind: ContentType['kind'];\n restrictRelationsTo: ContentType['restrictRelationsTo'];\n status: ContentType['status'];\n }[];\n updateComponentSchema: (opts: {\n data: {\n icon: string;\n displayName: string;\n };\n componentUID: Internal.UID.Component;\n }) => void;\n updateComponentUid: (opts: {\n newComponentUID: Internal.UID.Component;\n componentUID: Internal.UID.Component;\n }) => void;\n updateSchema: (opts: {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, any>;\n };\n uid: Internal.UID.ContentType;\n }) => void;\n initialComponents: Record<Internal.UID.Component, Component>;\n components: Record<Internal.UID.Component, Component>;\n componentsGroupedByCategory: Record<string, Component[]>;\n componentsThatHaveOtherComponentInTheirAttributes: any[]; // Define the actual type\n initialContentTypes: Record<Internal.UID.ContentType, ContentType>;\n contentTypes: Record<Internal.UID.ContentType, ContentType>;\n isInDevelopmentMode?: boolean;\n nestedComponents: any[]; // Define the actual type\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n allComponentsCategories: any[];\n saveSchema(): Promise<void>;\n isModified: boolean;\n isSaving: boolean;\n applyChange: (opts: {\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }) => void;\n history: {\n undo(): void;\n redo(): void;\n discardAllChanges(): void;\n canUndo: boolean;\n canRedo: boolean;\n canDiscardAll: boolean;\n };\n}\n\n// @ts-expect-error need to pass initial value to params\nexport const DataManagerContext = createContext<DataManagerContextValue>();\n"],"names":["DataManagerContext","createContext"],"mappings":";;AA6IA;AACO,MAAMA,qBAAqBC,aAAAA;;;;"}
1
+ {"version":3,"file":"DataManagerContext.mjs","sources":["../../../../admin/src/components/DataManager/DataManagerContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { createContext } from 'react';\n\nimport type { Component, ContentType } from '../../types';\nimport type { ComponentWithChildren } from './utils/retrieveComponentsThatHaveComponents';\nimport type { NestedComponent } from './utils/retrieveNestedComponents';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport interface DataManagerContextValue {\n isLoading: boolean;\n addAttribute: (opts: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editAttribute: (opts: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n moveAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n from: number;\n to: number;\n }) => void;\n addCustomFieldAttribute: (params: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n }) => void;\n editCustomFieldAttribute: (params: {\n attributeToSet: Record<string, unknown>;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n name: string;\n }) => void;\n addCreatedComponentToDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n componentsToAdd: Internal.UID.Component[];\n }) => void;\n createComponentSchema: (opts: {\n data: {\n icon?: string;\n displayName: string;\n };\n componentCategory: string;\n uid: Internal.UID.Component;\n }) => void;\n createSchema: (opts: {\n data: {\n displayName: string;\n singularName: string;\n pluralName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, unknown>;\n };\n uid: Internal.UID.Schema;\n }) => void;\n changeDynamicZoneComponents: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dynamicZoneTarget: string;\n newComponents: Internal.UID.Component[];\n }) => void;\n removeAttribute: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeToRemoveName: string;\n }) => void;\n deleteComponent(uid: Internal.UID.Component): void;\n deleteContentType(uid: Internal.UID.ContentType): void;\n removeComponentFromDynamicZone: (opts: {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n dzName: string;\n componentToRemoveIndex: number;\n }) => void;\n sortedContentTypesList: {\n visible: ContentType['visible'];\n name: ContentType['uid'];\n title: ContentType['info']['displayName'];\n plugin: ContentType['plugin'];\n uid: ContentType['uid'];\n to: string;\n kind: ContentType['kind'];\n restrictRelationsTo: ContentType['restrictRelationsTo'];\n status: ContentType['status'];\n }[];\n updateComponentSchema: (opts: {\n data: {\n icon?: string;\n displayName: string;\n };\n componentUID: Internal.UID.Component;\n }) => void;\n updateComponentUid: (opts: {\n newComponentUID: Internal.UID.Component;\n componentUID: Internal.UID.Component;\n }) => void;\n updateSchema: (opts: {\n data: {\n displayName: string;\n kind: Struct.ContentTypeKind;\n draftAndPublish: boolean;\n pluginOptions: Record<string, unknown>;\n };\n uid: Internal.UID.ContentType;\n }) => void;\n initialComponents: Record<Internal.UID.Component, Component>;\n components: Record<Internal.UID.Component, Component>;\n componentsGroupedByCategory: Record<string, Component[]>;\n componentsThatHaveOtherComponentInTheirAttributes: ComponentWithChildren[];\n initialContentTypes: Record<Internal.UID.ContentType, ContentType>;\n contentTypes: Record<Internal.UID.ContentType, ContentType>;\n isInDevelopmentMode?: boolean;\n nestedComponents: NestedComponent[];\n reservedNames: {\n models: string[];\n attributes: string[];\n };\n allComponentsCategories: string[];\n saveSchema(): Promise<void>;\n isModified: boolean;\n isSaving: boolean;\n applyChange: (opts: {\n action: 'add' | 'update' | 'delete';\n schema: ContentType | Component;\n }) => void;\n history: {\n undo(): void;\n redo(): void;\n discardAllChanges(): void;\n canUndo: boolean;\n canRedo: boolean;\n canDiscardAll: boolean;\n };\n}\n\n// @ts-expect-error need to pass initial value to params\nexport const DataManagerContext = createContext<DataManagerContextValue>();\n"],"names":["DataManagerContext","createContext"],"mappings":";;AA+IA;AACO,MAAMA,qBAAqBC,aAAAA;;;;"}
@@ -293,16 +293,28 @@ const DataManagerProvider = ({ children })=>{
293
293
  sortedContentTypesList,
294
294
  isLoading,
295
295
  addAttribute (payload) {
296
- dispatch(reducer.actions.addAttribute(payload));
296
+ dispatch(reducer.actions.addAttribute({
297
+ ...payload,
298
+ attributeToSet: payload.attributeToSet
299
+ }));
297
300
  },
298
301
  editAttribute (payload) {
299
- dispatch(reducer.actions.editAttribute(payload));
302
+ dispatch(reducer.actions.editAttribute({
303
+ ...payload,
304
+ attributeToSet: payload.attributeToSet
305
+ }));
300
306
  },
301
307
  addCustomFieldAttribute (payload) {
302
- dispatch(reducer.actions.addCustomFieldAttribute(payload));
308
+ dispatch(reducer.actions.addCustomFieldAttribute({
309
+ ...payload,
310
+ attributeToSet: payload.attributeToSet
311
+ }));
303
312
  },
304
313
  editCustomFieldAttribute (payload) {
305
- dispatch(reducer.actions.editCustomFieldAttribute(payload));
314
+ dispatch(reducer.actions.editCustomFieldAttribute({
315
+ ...payload,
316
+ attributeToSet: payload.attributeToSet
317
+ }));
306
318
  },
307
319
  addCreatedComponentToDynamicZone (payload) {
308
320
  dispatch(reducer.actions.addCreatedComponentToDynamicZone(payload));
@@ -1 +1 @@
1
- {"version":3,"file":"DataManagerProvider.js","sources":["../../../../admin/src/components/DataManager/DataManagerProvider.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useNotification,\n useAppInfo,\n useFetchClient,\n useAuth,\n adminApi,\n useGuidedTour,\n GUIDED_TOUR_REQUIRED_ACTIONS,\n} from '@strapi/admin/strapi-admin';\nimport groupBy from 'lodash/groupBy';\nimport isEqual from 'lodash/isEqual';\nimport mapValues from 'lodash/mapValues';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { getTrad } from '../../utils/getTrad';\nimport { useAutoReloadOverlayBlocker } from '../AutoReloadOverlayBlocker';\nimport { useCTBTracking } from '../CTBSession/ctbSession';\nimport { useCTBSession } from '../CTBSession/useCTBSession';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\n\nimport { DataManagerContext, type DataManagerContextValue } from './DataManagerContext';\nimport { actions, initialState, type State } from './reducer';\nimport { useServerRestartWatcher } from './useServerRestartWatcher';\nimport { sortContentType, stateToRequestData } from './utils/cleanData';\nimport { retrieveComponentsThatHaveComponents } from './utils/retrieveComponentsThatHaveComponents';\nimport { retrieveNestedComponents } from './utils/retrieveNestedComponents';\nimport { retrieveSpecificInfoFromComponents } from './utils/retrieveSpecificInfoFromComponents';\n\nimport type { ContentTypes, ContentType, Components } from '../../types';\nimport type { FormAPI } from '../../utils/formAPI';\nimport type { Internal } from '@strapi/types';\n\ninterface DataManagerProviderProps {\n children: React.ReactNode;\n}\n\nconst selectState = (state: Record<string, unknown>) =>\n (state['content-type-builder_dataManagerProvider'] || initialState) as State;\n\n/**\n * Tag types registered on the shared `adminApi` instance at runtime by\n * `@strapi/content-manager` via `enhanceEndpoints({ addTagTypes: [...] })`\n * (see packages/core/content-manager/admin/src/services/api.ts).\n *\n * The cast is only required because adminApi's compile-time tag union doesn't see\n * tags added downstream from this side of the dependency graph.\n */\nconst CONTENT_MANAGER_SCHEMA_CACHE_TAGS = [\n 'InitialData',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'ComponentConfiguration',\n] as const;\n\nconst invalidateContentManagerSchemaCaches = () =>\n adminApi.util.invalidateTags(CONTENT_MANAGER_SCHEMA_CACHE_TAGS as never);\n\nconst DataManagerProvider = ({ children }: DataManagerProviderProps) => {\n const dispatch = useDispatch();\n const state = useSelector(selectState);\n const dispatchGuidedTour = useGuidedTour('DataManagerProvider', (s) => s.dispatch);\n const location = useLocation();\n const { sessionId: ctbSessionId, regenerateSessionId } = useCTBSession();\n\n const {\n components,\n contentTypes,\n reservedNames,\n initialComponents,\n initialContentTypes,\n isLoading,\n } = state.current;\n\n const { toggleNotification } = useNotification();\n const { lockAppWithAutoreload, unlockAppWithAutoreload } = useAutoReloadOverlayBlocker();\n const serverRestartWatcher = useServerRestartWatcher();\n\n const getPlugin = useStrapiApp('DataManagerProvider', (state) => state.getPlugin);\n const plugin = getPlugin('content-type-builder');\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const { formatMessage } = useIntl();\n const { trackUsage } = useCTBTracking();\n const refetchPermissions = useAuth('DataManagerProvider', (state) => state.refetchPermissions);\n const { onCloseModal } = useFormModalNavigation();\n\n const [isSaving, setIsSaving] = React.useState(false);\n const previousLocationRef = React.useRef<string | null>(null);\n\n const isModified = React.useMemo(() => {\n return !(isEqual(components, initialComponents) && isEqual(contentTypes, initialContentTypes));\n }, [components, contentTypes, initialComponents, initialContentTypes]);\n\n const fetchClient = useFetchClient();\n\n const isInDevelopmentMode = autoReload;\n\n const getDataRef = React.useRef<() => Promise<void>>(async () => undefined);\n\n getDataRef.current = async () => {\n try {\n const [schemaResponse, reservedNamesResponse] = await Promise.all([\n fetchClient.get(`/content-type-builder/schema`),\n fetchClient.get(`/content-type-builder/reserved-names`),\n ]);\n\n const { components, contentTypes } = schemaResponse.data.data;\n\n dispatch(\n actions.init({\n components: mapValues(components, (component) => ({\n ...component,\n status: 'UNCHANGED',\n })) as Components,\n contentTypes: mapValues(contentTypes, (contentType) => ({\n ...contentType,\n status: 'UNCHANGED',\n })) as ContentTypes,\n reservedNames: reservedNamesResponse.data,\n })\n );\n\n dispatch(actions.clearHistory());\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n React.useEffect(() => {\n getDataRef.current();\n previousLocationRef.current = location.pathname;\n\n return () => {\n // Reload the plugin so the cycle is new again\n dispatch(actions.reloadPlugin());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Detect navigation away and back to CTB to regenerate session\n React.useEffect(() => {\n const currentPath = location.pathname;\n const previousPath = previousLocationRef.current;\n const CTB_PATH = '/plugins/content-type-builder';\n\n if (previousPath) {\n const isCTBPath = currentPath.includes(CTB_PATH);\n const wasCTBPath = previousPath.includes(CTB_PATH);\n\n // Regenerate session when returning to CTB after navigating away\n if (!wasCTBPath && isCTBPath) {\n regenerateSessionId();\n }\n }\n\n previousLocationRef.current = currentPath;\n }, [location.pathname, regenerateSessionId]);\n\n React.useEffect(() => {\n if (!autoReload) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: getTrad('notification.info.autoreaload-disable') }),\n });\n }\n }, [autoReload, toggleNotification, formatMessage]);\n\n const getAllComponentsThatHaveAComponentInTheirAttributes = (components: Components) => {\n const composWithCompos = retrieveComponentsThatHaveComponents(components);\n\n return composWithCompos;\n };\n\n const getAllNestedComponents = (components: Components) => {\n const appNestedCompo = retrieveNestedComponents(components);\n\n return appNestedCompo;\n };\n\n const updatePermissions = async () => {\n await refetchPermissions();\n };\n\n const saveSchema = async () => {\n setIsSaving(true);\n\n const PluginForms = plugin?.apis?.forms as FormAPI;\n\n const mutatedCTs = Object.entries(state.current.contentTypes).reduce(\n (acc, [uid, contentType]) => {\n acc[uid] = PluginForms.mutateContentTypeSchema(\n contentType,\n initialContentTypes[uid]\n ) as ContentType;\n\n return acc;\n },\n {} as ContentTypes\n );\n\n const { requestData, trackingEventProperties } = stateToRequestData({\n components: state.current.components,\n contentTypes: mutatedCTs,\n });\n\n // Track that the save button was clicked (includes session ID via useCTBTracking)\n trackUsage('willUpdateCTBSchema', {\n ...trackingEventProperties,\n ctbSessionId,\n });\n\n const isSendingContentTypes = Object.keys(state.current.contentTypes).length > 0;\n\n lockAppWithAutoreload();\n\n try {\n await fetchClient.post(`/content-type-builder/update-schema`, { data: requestData });\n\n if (isSendingContentTypes) {\n // Note: didCreateGuidedTourCollectionType doesn't accept properties\n trackUsage('didCreateGuidedTourCollectionType');\n }\n\n // Make sure the server has restarted\n await serverRestartWatcher();\n // Generate new session ID after server restart\n regenerateSessionId();\n // refetch and update initial state after the data has been saved\n await getDataRef.current();\n // Update the app's permissions\n await updatePermissions();\n // Refresh content-manager caches that depend on the CT/component schema.\n dispatch(invalidateContentManagerSchemaCaches());\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n\n trackUsage('didUpdateCTBSchema', {\n ...trackingEventProperties,\n success: false,\n ctbSessionId,\n });\n } finally {\n setIsSaving(false);\n unlockAppWithAutoreload();\n\n dispatch(adminApi.util.invalidateTags(['GuidedTourMeta', 'HomepageKeyStatistics']));\n dispatchGuidedTour({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema],\n });\n\n trackUsage('didUpdateCTBSchema', {\n ...trackingEventProperties,\n success: true,\n ctbSessionId,\n });\n }\n };\n\n const componentsThatHaveOtherComponentInTheirAttributes = React.useMemo(() => {\n return getAllComponentsThatHaveAComponentInTheirAttributes(components);\n }, [components]);\n\n const nestedComponents = React.useMemo(() => {\n return getAllNestedComponents(components);\n }, [components]);\n\n const allComponentsCategories = React.useMemo(() => {\n return retrieveSpecificInfoFromComponents(components, ['category']);\n }, [components]);\n\n const componentsGroupedByCategory = React.useMemo(() => {\n return groupBy(components, 'category');\n }, [components]);\n\n const sortedContentTypesList = React.useMemo(() => {\n return sortContentType(contentTypes);\n }, [contentTypes]);\n\n const context: DataManagerContextValue = {\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n saveSchema,\n reservedNames,\n components,\n contentTypes,\n initialComponents,\n initialContentTypes,\n isSaving,\n isModified,\n isInDevelopmentMode,\n allComponentsCategories,\n componentsGroupedByCategory,\n sortedContentTypesList,\n isLoading,\n addAttribute(payload) {\n dispatch(actions.addAttribute(payload));\n },\n editAttribute(payload) {\n dispatch(actions.editAttribute(payload));\n },\n addCustomFieldAttribute(payload) {\n dispatch(actions.addCustomFieldAttribute(payload));\n },\n editCustomFieldAttribute(payload) {\n dispatch(actions.editCustomFieldAttribute(payload));\n },\n addCreatedComponentToDynamicZone(payload) {\n dispatch(actions.addCreatedComponentToDynamicZone(payload));\n },\n createSchema(payload) {\n dispatch(actions.createSchema(payload));\n },\n createComponentSchema({ data, uid, componentCategory }) {\n dispatch(actions.createComponentSchema({ data, uid, componentCategory }));\n },\n changeDynamicZoneComponents({ forTarget, targetUid, dynamicZoneTarget, newComponents }) {\n dispatch(\n actions.changeDynamicZoneComponents({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n newComponents,\n })\n );\n },\n removeAttribute(payload) {\n if (payload.forTarget === 'contentType') {\n // Note: willDeleteFieldOfContentType doesn't accept properties\n trackUsage('willDeleteFieldOfContentType');\n }\n\n dispatch(actions.removeField(payload));\n },\n removeComponentFromDynamicZone(payload) {\n dispatch(actions.removeComponentFromDynamicZone(payload));\n },\n deleteComponent(uid: Internal.UID.Component) {\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(`popUpWarning.bodyMessage.component.delete`),\n })\n );\n\n if (userConfirm) {\n onCloseModal();\n\n dispatch(actions.deleteComponent(uid));\n }\n },\n deleteContentType(uid: Internal.UID.ContentType) {\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(`popUpWarning.bodyMessage.contentType.delete`),\n })\n );\n\n if (userConfirm) {\n onCloseModal();\n\n dispatch(actions.deleteContentType(uid));\n }\n },\n\n updateComponentSchema({ data, componentUID }) {\n dispatch(\n actions.updateComponentSchema({\n data,\n uid: componentUID,\n })\n );\n },\n\n updateComponentUid({ componentUID, newComponentUID }) {\n dispatch(\n actions.updateComponentUid({\n uid: componentUID,\n newComponentUID,\n })\n );\n },\n\n updateSchema(args) {\n dispatch(actions.updateSchema(args));\n },\n\n moveAttribute(args) {\n dispatch(actions.moveAttribute(args));\n },\n\n applyChange(args) {\n dispatch(actions.applyChange(args));\n },\n\n history: {\n undo() {\n dispatch(actions.undo());\n },\n\n redo() {\n dispatch(actions.redo());\n },\n\n discardAllChanges() {\n dispatch(actions.discardAll());\n },\n\n canUndo: state.past.length > 0,\n canRedo: state.future.length > 0,\n canDiscardAll: isModified,\n },\n };\n\n return <DataManagerContext.Provider value={context}>{children}</DataManagerContext.Provider>;\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default DataManagerProvider;\n"],"names":["selectState","state","initialState","CONTENT_MANAGER_SCHEMA_CACHE_TAGS","invalidateContentManagerSchemaCaches","adminApi","util","invalidateTags","DataManagerProvider","children","dispatch","useDispatch","useSelector","dispatchGuidedTour","useGuidedTour","s","location","useLocation","sessionId","ctbSessionId","regenerateSessionId","useCTBSession","components","contentTypes","reservedNames","initialComponents","initialContentTypes","isLoading","current","toggleNotification","useNotification","lockAppWithAutoreload","unlockAppWithAutoreload","useAutoReloadOverlayBlocker","serverRestartWatcher","useServerRestartWatcher","getPlugin","useStrapiApp","plugin","autoReload","useAppInfo","formatMessage","useIntl","trackUsage","useCTBTracking","refetchPermissions","useAuth","onCloseModal","useFormModalNavigation","isSaving","setIsSaving","React","useState","previousLocationRef","useRef","isModified","useMemo","isEqual","fetchClient","useFetchClient","isInDevelopmentMode","getDataRef","undefined","schemaResponse","reservedNamesResponse","Promise","all","get","data","actions","init","mapValues","component","status","contentType","clearHistory","err","console","error","type","message","id","defaultMessage","useEffect","pathname","reloadPlugin","currentPath","previousPath","CTB_PATH","isCTBPath","includes","wasCTBPath","getTrad","getAllComponentsThatHaveAComponentInTheirAttributes","composWithCompos","retrieveComponentsThatHaveComponents","getAllNestedComponents","appNestedCompo","retrieveNestedComponents","updatePermissions","saveSchema","PluginForms","apis","forms","mutatedCTs","Object","entries","reduce","acc","uid","mutateContentTypeSchema","requestData","trackingEventProperties","stateToRequestData","isSendingContentTypes","keys","length","post","success","payload","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","allComponentsCategories","retrieveSpecificInfoFromComponents","componentsGroupedByCategory","groupBy","sortedContentTypesList","sortContentType","context","addAttribute","editAttribute","addCustomFieldAttribute","editCustomFieldAttribute","addCreatedComponentToDynamicZone","createComponentSchema","componentCategory","changeDynamicZoneComponents","forTarget","targetUid","dynamicZoneTarget","newComponents","removeAttribute","removeField","removeComponentFromDynamicZone","deleteComponent","userConfirm","window","confirm","deleteContentType","updateComponentSchema","componentUID","updateComponentUid","newComponentUID","updateSchema","args","moveAttribute","applyChange","history","undo","redo","discardAllChanges","discardAll","canUndo","past","canRedo","future","canDiscardAll","_jsx","DataManagerContext","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"DataManagerProvider.js","sources":["../../../../admin/src/components/DataManager/DataManagerProvider.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useNotification,\n useAppInfo,\n useFetchClient,\n useAuth,\n adminApi,\n useGuidedTour,\n GUIDED_TOUR_REQUIRED_ACTIONS,\n} from '@strapi/admin/strapi-admin';\nimport groupBy from 'lodash/groupBy';\nimport isEqual from 'lodash/isEqual';\nimport mapValues from 'lodash/mapValues';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { getTrad } from '../../utils/getTrad';\nimport { useAutoReloadOverlayBlocker } from '../AutoReloadOverlayBlocker';\nimport { useCTBTracking } from '../CTBSession/ctbSession';\nimport { useCTBSession } from '../CTBSession/useCTBSession';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\n\nimport { DataManagerContext, type DataManagerContextValue } from './DataManagerContext';\nimport { actions, initialState, type State } from './reducer';\nimport { useServerRestartWatcher } from './useServerRestartWatcher';\nimport { sortContentType, stateToRequestData } from './utils/cleanData';\nimport { retrieveComponentsThatHaveComponents } from './utils/retrieveComponentsThatHaveComponents';\nimport { retrieveNestedComponents } from './utils/retrieveNestedComponents';\nimport { retrieveSpecificInfoFromComponents } from './utils/retrieveSpecificInfoFromComponents';\n\nimport type { AnyAttribute, ContentTypes, ContentType, Components } from '../../types';\nimport type { FormAPI } from '../../utils/formAPI';\nimport type { Internal } from '@strapi/types';\n\ninterface DataManagerProviderProps {\n children: React.ReactNode;\n}\n\ntype SchemaResponse = {\n data: {\n components: Components;\n contentTypes: ContentTypes;\n };\n};\n\ntype ReservedNamesResponse = DataManagerContextValue['reservedNames'];\n\nconst selectState = (state: Record<string, unknown>) =>\n (state['content-type-builder_dataManagerProvider'] || initialState) as State;\n\n/**\n * Tag types registered on the shared `adminApi` instance at runtime by\n * `@strapi/content-manager` via `enhanceEndpoints({ addTagTypes: [...] })`\n * (see packages/core/content-manager/admin/src/services/api.ts).\n *\n * The cast is only required because adminApi's compile-time tag union doesn't see\n * tags added downstream from this side of the dependency graph.\n */\nconst CONTENT_MANAGER_SCHEMA_CACHE_TAGS = [\n 'InitialData',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'ComponentConfiguration',\n] as const;\n\nconst invalidateContentManagerSchemaCaches = () =>\n adminApi.util.invalidateTags(CONTENT_MANAGER_SCHEMA_CACHE_TAGS as never);\n\nconst DataManagerProvider = ({ children }: DataManagerProviderProps) => {\n const dispatch = useDispatch();\n const state = useSelector(selectState);\n const dispatchGuidedTour = useGuidedTour('DataManagerProvider', (s) => s.dispatch);\n const location = useLocation();\n const { sessionId: ctbSessionId, regenerateSessionId } = useCTBSession();\n\n const {\n components,\n contentTypes,\n reservedNames,\n initialComponents,\n initialContentTypes,\n isLoading,\n } = state.current;\n\n const { toggleNotification } = useNotification();\n const { lockAppWithAutoreload, unlockAppWithAutoreload } = useAutoReloadOverlayBlocker();\n const serverRestartWatcher = useServerRestartWatcher();\n\n const getPlugin = useStrapiApp('DataManagerProvider', (state) => state.getPlugin);\n const plugin = getPlugin('content-type-builder');\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const { formatMessage } = useIntl();\n const { trackUsage } = useCTBTracking();\n const refetchPermissions = useAuth('DataManagerProvider', (state) => state.refetchPermissions);\n const { onCloseModal } = useFormModalNavigation();\n\n const [isSaving, setIsSaving] = React.useState(false);\n const previousLocationRef = React.useRef<string | null>(null);\n\n const isModified = React.useMemo(() => {\n return !(isEqual(components, initialComponents) && isEqual(contentTypes, initialContentTypes));\n }, [components, contentTypes, initialComponents, initialContentTypes]);\n\n const fetchClient = useFetchClient();\n\n const isInDevelopmentMode = autoReload;\n\n const getDataRef = React.useRef<() => Promise<void>>(async () => undefined);\n\n getDataRef.current = async () => {\n try {\n const [schemaResponse, reservedNamesResponse] = await Promise.all([\n fetchClient.get<SchemaResponse>(`/content-type-builder/schema`),\n fetchClient.get<ReservedNamesResponse>(`/content-type-builder/reserved-names`),\n ]);\n\n const { components, contentTypes } = schemaResponse.data.data;\n\n dispatch(\n actions.init({\n components: mapValues(components, (component) => ({\n ...component,\n status: 'UNCHANGED',\n })) as Components,\n contentTypes: mapValues(contentTypes, (contentType) => ({\n ...contentType,\n status: 'UNCHANGED',\n })) as ContentTypes,\n reservedNames: reservedNamesResponse.data,\n })\n );\n\n dispatch(actions.clearHistory());\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n React.useEffect(() => {\n getDataRef.current();\n previousLocationRef.current = location.pathname;\n\n return () => {\n // Reload the plugin so the cycle is new again\n dispatch(actions.reloadPlugin());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Detect navigation away and back to CTB to regenerate session\n React.useEffect(() => {\n const currentPath = location.pathname;\n const previousPath = previousLocationRef.current;\n const CTB_PATH = '/plugins/content-type-builder';\n\n if (previousPath) {\n const isCTBPath = currentPath.includes(CTB_PATH);\n const wasCTBPath = previousPath.includes(CTB_PATH);\n\n // Regenerate session when returning to CTB after navigating away\n if (!wasCTBPath && isCTBPath) {\n regenerateSessionId();\n }\n }\n\n previousLocationRef.current = currentPath;\n }, [location.pathname, regenerateSessionId]);\n\n React.useEffect(() => {\n if (!autoReload) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: getTrad('notification.info.autoreaload-disable') }),\n });\n }\n }, [autoReload, toggleNotification, formatMessage]);\n\n const getAllComponentsThatHaveAComponentInTheirAttributes = (components: Components) => {\n const composWithCompos = retrieveComponentsThatHaveComponents(components);\n\n return composWithCompos;\n };\n\n const getAllNestedComponents = (components: Components) => {\n const appNestedCompo = retrieveNestedComponents(components);\n\n return appNestedCompo;\n };\n\n const updatePermissions = async () => {\n await refetchPermissions();\n };\n\n const saveSchema = async () => {\n setIsSaving(true);\n\n const PluginForms = plugin?.apis?.forms as FormAPI;\n\n const mutatedCTs = Object.entries(state.current.contentTypes).reduce(\n (acc, [uid, contentType]) => {\n acc[uid] = PluginForms.mutateContentTypeSchema(\n contentType,\n initialContentTypes[uid]\n ) as ContentType;\n\n return acc;\n },\n {} as ContentTypes\n );\n\n const { requestData, trackingEventProperties } = stateToRequestData({\n components: state.current.components,\n contentTypes: mutatedCTs,\n });\n\n // Track that the save button was clicked (includes session ID via useCTBTracking)\n trackUsage('willUpdateCTBSchema', {\n ...trackingEventProperties,\n ctbSessionId,\n });\n\n const isSendingContentTypes = Object.keys(state.current.contentTypes).length > 0;\n\n lockAppWithAutoreload();\n\n try {\n await fetchClient.post(`/content-type-builder/update-schema`, { data: requestData });\n\n if (isSendingContentTypes) {\n // Note: didCreateGuidedTourCollectionType doesn't accept properties\n trackUsage('didCreateGuidedTourCollectionType');\n }\n\n // Make sure the server has restarted\n await serverRestartWatcher();\n // Generate new session ID after server restart\n regenerateSessionId();\n // refetch and update initial state after the data has been saved\n await getDataRef.current();\n // Update the app's permissions\n await updatePermissions();\n // Refresh content-manager caches that depend on the CT/component schema.\n dispatch(invalidateContentManagerSchemaCaches());\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n\n trackUsage('didUpdateCTBSchema', {\n ...trackingEventProperties,\n success: false,\n ctbSessionId,\n });\n } finally {\n setIsSaving(false);\n unlockAppWithAutoreload();\n\n dispatch(adminApi.util.invalidateTags(['GuidedTourMeta', 'HomepageKeyStatistics']));\n dispatchGuidedTour({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema],\n });\n\n trackUsage('didUpdateCTBSchema', {\n ...trackingEventProperties,\n success: true,\n ctbSessionId,\n });\n }\n };\n\n const componentsThatHaveOtherComponentInTheirAttributes = React.useMemo(() => {\n return getAllComponentsThatHaveAComponentInTheirAttributes(components);\n }, [components]);\n\n const nestedComponents = React.useMemo(() => {\n return getAllNestedComponents(components);\n }, [components]);\n\n const allComponentsCategories = React.useMemo(() => {\n return retrieveSpecificInfoFromComponents(components, ['category']);\n }, [components]);\n\n const componentsGroupedByCategory = React.useMemo(() => {\n return groupBy(components, 'category');\n }, [components]);\n\n const sortedContentTypesList = React.useMemo(() => {\n return sortContentType(contentTypes);\n }, [contentTypes]);\n\n const context: DataManagerContextValue = {\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n saveSchema,\n reservedNames,\n components,\n contentTypes,\n initialComponents,\n initialContentTypes,\n isSaving,\n isModified,\n isInDevelopmentMode,\n allComponentsCategories,\n componentsGroupedByCategory,\n sortedContentTypesList,\n isLoading,\n addAttribute(payload) {\n dispatch(\n actions.addAttribute({\n ...payload,\n attributeToSet: payload.attributeToSet as AnyAttribute,\n })\n );\n },\n editAttribute(payload) {\n dispatch(\n actions.editAttribute({\n ...payload,\n attributeToSet: payload.attributeToSet as AnyAttribute,\n })\n );\n },\n addCustomFieldAttribute(payload) {\n dispatch(\n actions.addCustomFieldAttribute({\n ...payload,\n attributeToSet: payload.attributeToSet as AnyAttribute,\n })\n );\n },\n editCustomFieldAttribute(payload) {\n dispatch(\n actions.editCustomFieldAttribute({\n ...payload,\n attributeToSet: payload.attributeToSet as AnyAttribute,\n })\n );\n },\n addCreatedComponentToDynamicZone(payload) {\n dispatch(actions.addCreatedComponentToDynamicZone(payload));\n },\n createSchema(payload) {\n dispatch(actions.createSchema(payload));\n },\n createComponentSchema({ data, uid, componentCategory }) {\n dispatch(actions.createComponentSchema({ data, uid, componentCategory }));\n },\n changeDynamicZoneComponents({ forTarget, targetUid, dynamicZoneTarget, newComponents }) {\n dispatch(\n actions.changeDynamicZoneComponents({\n forTarget,\n targetUid,\n dynamicZoneTarget,\n newComponents,\n })\n );\n },\n removeAttribute(payload) {\n if (payload.forTarget === 'contentType') {\n // Note: willDeleteFieldOfContentType doesn't accept properties\n trackUsage('willDeleteFieldOfContentType');\n }\n\n dispatch(actions.removeField(payload));\n },\n removeComponentFromDynamicZone(payload) {\n dispatch(actions.removeComponentFromDynamicZone(payload));\n },\n deleteComponent(uid: Internal.UID.Component) {\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(`popUpWarning.bodyMessage.component.delete`),\n })\n );\n\n if (userConfirm) {\n onCloseModal();\n\n dispatch(actions.deleteComponent(uid));\n }\n },\n deleteContentType(uid: Internal.UID.ContentType) {\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(`popUpWarning.bodyMessage.contentType.delete`),\n })\n );\n\n if (userConfirm) {\n onCloseModal();\n\n dispatch(actions.deleteContentType(uid));\n }\n },\n\n updateComponentSchema({ data, componentUID }) {\n dispatch(\n actions.updateComponentSchema({\n data,\n uid: componentUID,\n })\n );\n },\n\n updateComponentUid({ componentUID, newComponentUID }) {\n dispatch(\n actions.updateComponentUid({\n uid: componentUID,\n newComponentUID,\n })\n );\n },\n\n updateSchema(args) {\n dispatch(actions.updateSchema(args));\n },\n\n moveAttribute(args) {\n dispatch(actions.moveAttribute(args));\n },\n\n applyChange(args) {\n dispatch(actions.applyChange(args));\n },\n\n history: {\n undo() {\n dispatch(actions.undo());\n },\n\n redo() {\n dispatch(actions.redo());\n },\n\n discardAllChanges() {\n dispatch(actions.discardAll());\n },\n\n canUndo: state.past.length > 0,\n canRedo: state.future.length > 0,\n canDiscardAll: isModified,\n },\n };\n\n return <DataManagerContext.Provider value={context}>{children}</DataManagerContext.Provider>;\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default DataManagerProvider;\n"],"names":["selectState","state","initialState","CONTENT_MANAGER_SCHEMA_CACHE_TAGS","invalidateContentManagerSchemaCaches","adminApi","util","invalidateTags","DataManagerProvider","children","dispatch","useDispatch","useSelector","dispatchGuidedTour","useGuidedTour","s","location","useLocation","sessionId","ctbSessionId","regenerateSessionId","useCTBSession","components","contentTypes","reservedNames","initialComponents","initialContentTypes","isLoading","current","toggleNotification","useNotification","lockAppWithAutoreload","unlockAppWithAutoreload","useAutoReloadOverlayBlocker","serverRestartWatcher","useServerRestartWatcher","getPlugin","useStrapiApp","plugin","autoReload","useAppInfo","formatMessage","useIntl","trackUsage","useCTBTracking","refetchPermissions","useAuth","onCloseModal","useFormModalNavigation","isSaving","setIsSaving","React","useState","previousLocationRef","useRef","isModified","useMemo","isEqual","fetchClient","useFetchClient","isInDevelopmentMode","getDataRef","undefined","schemaResponse","reservedNamesResponse","Promise","all","get","data","actions","init","mapValues","component","status","contentType","clearHistory","err","console","error","type","message","id","defaultMessage","useEffect","pathname","reloadPlugin","currentPath","previousPath","CTB_PATH","isCTBPath","includes","wasCTBPath","getTrad","getAllComponentsThatHaveAComponentInTheirAttributes","composWithCompos","retrieveComponentsThatHaveComponents","getAllNestedComponents","appNestedCompo","retrieveNestedComponents","updatePermissions","saveSchema","PluginForms","apis","forms","mutatedCTs","Object","entries","reduce","acc","uid","mutateContentTypeSchema","requestData","trackingEventProperties","stateToRequestData","isSendingContentTypes","keys","length","post","success","payload","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","allComponentsCategories","retrieveSpecificInfoFromComponents","componentsGroupedByCategory","groupBy","sortedContentTypesList","sortContentType","context","addAttribute","attributeToSet","editAttribute","addCustomFieldAttribute","editCustomFieldAttribute","addCreatedComponentToDynamicZone","createComponentSchema","componentCategory","changeDynamicZoneComponents","forTarget","targetUid","dynamicZoneTarget","newComponents","removeAttribute","removeField","removeComponentFromDynamicZone","deleteComponent","userConfirm","window","confirm","deleteContentType","updateComponentSchema","componentUID","updateComponentUid","newComponentUID","updateSchema","args","moveAttribute","applyChange","history","undo","redo","discardAllChanges","discardAll","canUndo","past","canRedo","future","canDiscardAll","_jsx","DataManagerContext","Provider","value"],"mappings":"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"}
@@ -266,16 +266,28 @@ const DataManagerProvider = ({ children })=>{
266
266
  sortedContentTypesList,
267
267
  isLoading,
268
268
  addAttribute (payload) {
269
- dispatch(actions.addAttribute(payload));
269
+ dispatch(actions.addAttribute({
270
+ ...payload,
271
+ attributeToSet: payload.attributeToSet
272
+ }));
270
273
  },
271
274
  editAttribute (payload) {
272
- dispatch(actions.editAttribute(payload));
275
+ dispatch(actions.editAttribute({
276
+ ...payload,
277
+ attributeToSet: payload.attributeToSet
278
+ }));
273
279
  },
274
280
  addCustomFieldAttribute (payload) {
275
- dispatch(actions.addCustomFieldAttribute(payload));
281
+ dispatch(actions.addCustomFieldAttribute({
282
+ ...payload,
283
+ attributeToSet: payload.attributeToSet
284
+ }));
276
285
  },
277
286
  editCustomFieldAttribute (payload) {
278
- dispatch(actions.editCustomFieldAttribute(payload));
287
+ dispatch(actions.editCustomFieldAttribute({
288
+ ...payload,
289
+ attributeToSet: payload.attributeToSet
290
+ }));
279
291
  },
280
292
  addCreatedComponentToDynamicZone (payload) {
281
293
  dispatch(actions.addCreatedComponentToDynamicZone(payload));