@strapi/content-type-builder 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/dist/admin/components/AttributeIcon.js +1 -0
  2. package/dist/admin/components/AttributeIcon.js.map +1 -1
  3. package/dist/admin/components/AttributeIcon.mjs +1 -0
  4. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  5. package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
  6. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  7. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
  8. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  9. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
  10. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  11. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
  12. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  13. package/dist/admin/components/AttributeRow.js +342 -0
  14. package/dist/admin/components/AttributeRow.js.map +1 -0
  15. package/dist/admin/components/AttributeRow.mjs +339 -0
  16. package/dist/admin/components/AttributeRow.mjs.map +1 -0
  17. package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
  18. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  19. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
  20. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  21. package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
  22. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  23. package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
  24. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  25. package/dist/admin/components/ComponentList.js +12 -26
  26. package/dist/admin/components/ComponentList.js.map +1 -1
  27. package/dist/admin/components/ComponentList.mjs +12 -26
  28. package/dist/admin/components/ComponentList.mjs.map +1 -1
  29. package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
  30. package/dist/admin/components/ComponentRow.js.map +1 -0
  31. package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
  32. package/dist/admin/components/ComponentRow.mjs.map +1 -0
  33. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
  34. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  35. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
  36. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  37. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
  38. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  39. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
  40. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  41. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
  42. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
  43. package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
  44. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
  45. package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
  46. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
  47. package/dist/admin/components/DataManager/reducer.js +546 -0
  48. package/dist/admin/components/DataManager/reducer.js.map +1 -0
  49. package/dist/admin/components/DataManager/reducer.mjs +542 -0
  50. package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
  51. package/dist/admin/components/DataManager/undoRedo.js +102 -0
  52. package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
  53. package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
  54. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
  55. package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
  56. package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
  57. package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
  58. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
  59. package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
  60. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
  61. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
  62. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
  63. package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
  64. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
  65. package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
  66. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
  67. package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
  68. package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
  69. package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
  70. package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
  71. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
  72. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  73. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
  74. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  75. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
  76. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
  77. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
  78. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  81. package/dist/admin/components/DisplayedType.js +14 -14
  82. package/dist/admin/components/DisplayedType.js.map +1 -1
  83. package/dist/admin/components/DisplayedType.mjs +15 -15
  84. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  85. package/dist/admin/components/DynamicZoneList.js +34 -38
  86. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  87. package/dist/admin/components/DynamicZoneList.mjs +36 -40
  88. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  89. package/dist/admin/components/ExitPrompt.js +50 -0
  90. package/dist/admin/components/ExitPrompt.js.map +1 -0
  91. package/dist/admin/components/ExitPrompt.mjs +48 -0
  92. package/dist/admin/components/ExitPrompt.mjs.map +1 -0
  93. package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
  94. package/dist/admin/components/Footers.js.map +1 -0
  95. package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
  96. package/dist/admin/components/Footers.mjs.map +1 -0
  97. package/dist/admin/components/FormModal/FormModal.js +198 -164
  98. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  99. package/dist/admin/components/FormModal/FormModal.mjs +198 -165
  100. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  101. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  102. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  103. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  104. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
  106. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  107. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  108. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/forms/forms.js +10 -27
  110. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  111. package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
  112. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  114. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  115. package/dist/admin/components/FormModal/reducer.js +4 -4
  116. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  117. package/dist/admin/components/FormModal/reducer.mjs +4 -4
  118. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  119. package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
  120. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  121. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
  122. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  123. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  124. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  125. package/dist/admin/components/FormModalEndActions.js +1 -34
  126. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  127. package/dist/admin/components/FormModalEndActions.mjs +1 -34
  128. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  129. package/dist/admin/components/FormModalHeader.js +10 -28
  130. package/dist/admin/components/FormModalHeader.js.map +1 -1
  131. package/dist/admin/components/FormModalHeader.mjs +10 -28
  132. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  133. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
  134. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
  135. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
  136. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
  137. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
  138. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
  139. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
  140. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
  141. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
  142. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
  143. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  144. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  145. package/dist/admin/components/GenericInputs.js +9 -5
  146. package/dist/admin/components/GenericInputs.js.map +1 -1
  147. package/dist/admin/components/GenericInputs.mjs +9 -5
  148. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  149. package/dist/admin/components/List.js +149 -199
  150. package/dist/admin/components/List.js.map +1 -1
  151. package/dist/admin/components/List.mjs +151 -202
  152. package/dist/admin/components/List.mjs.map +1 -1
  153. package/dist/admin/components/Relation/Relation.js +3 -2
  154. package/dist/admin/components/Relation/Relation.js.map +1 -1
  155. package/dist/admin/components/Relation/Relation.mjs +3 -2
  156. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  157. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  158. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  159. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  160. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  161. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
  162. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  163. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
  164. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  165. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
  166. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  167. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
  168. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  169. package/dist/admin/components/SelectCategory.js +1 -1
  170. package/dist/admin/components/SelectCategory.js.map +1 -1
  171. package/dist/admin/components/SelectCategory.mjs +1 -1
  172. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  173. package/dist/admin/components/SelectComponent.js +3 -6
  174. package/dist/admin/components/SelectComponent.js.map +1 -1
  175. package/dist/admin/components/SelectComponent.mjs +3 -6
  176. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  177. package/dist/admin/components/SelectComponents.js +9 -6
  178. package/dist/admin/components/SelectComponents.js.map +1 -1
  179. package/dist/admin/components/SelectComponents.mjs +9 -6
  180. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  181. package/dist/admin/components/SelectNumber.js +0 -4
  182. package/dist/admin/components/SelectNumber.js.map +1 -1
  183. package/dist/admin/components/SelectNumber.mjs +0 -4
  184. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  185. package/dist/admin/components/Status.js +73 -0
  186. package/dist/admin/components/Status.js.map +1 -0
  187. package/dist/admin/components/Status.mjs +70 -0
  188. package/dist/admin/components/Status.mjs.map +1 -0
  189. package/dist/admin/components/TabForm.js +2 -1
  190. package/dist/admin/components/TabForm.js.map +1 -1
  191. package/dist/admin/components/TabForm.mjs +2 -1
  192. package/dist/admin/components/TabForm.mjs.map +1 -1
  193. package/dist/admin/icons/Curve.js +1 -1
  194. package/dist/admin/icons/Curve.js.map +1 -1
  195. package/dist/admin/icons/Curve.mjs +1 -1
  196. package/dist/admin/icons/Curve.mjs.map +1 -1
  197. package/dist/admin/pages/App/index.js +39 -19
  198. package/dist/admin/pages/App/index.js.map +1 -1
  199. package/dist/admin/pages/App/index.mjs +41 -21
  200. package/dist/admin/pages/App/index.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/EmptyState.js +38 -0
  202. package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
  203. package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
  204. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
  205. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
  206. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  207. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
  208. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/ListView.js +105 -158
  210. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  211. package/dist/admin/pages/ListView/ListView.mjs +110 -163
  212. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  213. package/dist/admin/reducers.js +3 -4
  214. package/dist/admin/reducers.js.map +1 -1
  215. package/dist/admin/reducers.mjs +3 -4
  216. package/dist/admin/reducers.mjs.map +1 -1
  217. package/dist/admin/src/components/AttributeRow.d.ts +28 -0
  218. package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
  219. package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
  220. package/dist/admin/src/components/ComponentList.d.ts +4 -6
  221. package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
  222. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
  223. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
  224. package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
  225. package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
  226. package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
  227. package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
  228. package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
  229. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
  230. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
  231. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
  232. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
  233. package/dist/admin/src/components/DisplayedType.d.ts +2 -1
  234. package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
  235. package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
  236. package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
  237. package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
  238. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
  239. package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
  240. package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
  241. package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
  242. package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
  243. package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
  244. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
  245. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
  246. package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
  247. package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
  248. package/dist/admin/src/components/GenericInputs.d.ts +2 -1
  249. package/dist/admin/src/components/List.d.ts +16 -13
  250. package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
  251. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
  252. package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
  253. package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
  254. package/dist/admin/src/components/SelectComponents.d.ts +3 -1
  255. package/dist/admin/src/components/SelectNumber.d.ts +1 -7
  256. package/dist/admin/src/components/Status.d.ts +6 -0
  257. package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
  258. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
  259. package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
  260. package/dist/admin/src/reducers.d.ts +2 -8
  261. package/dist/admin/src/types.d.ts +40 -43
  262. package/dist/admin/src/utils/findAttribute.d.ts +2 -2
  263. package/dist/admin/src/utils/formAPI.d.ts +43 -1
  264. package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
  265. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  266. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  267. package/dist/admin/translations/de.json.js +0 -1
  268. package/dist/admin/translations/de.json.js.map +1 -1
  269. package/dist/admin/translations/de.json.mjs +0 -1
  270. package/dist/admin/translations/de.json.mjs.map +1 -1
  271. package/dist/admin/translations/dk.json.js +0 -1
  272. package/dist/admin/translations/dk.json.js.map +1 -1
  273. package/dist/admin/translations/dk.json.mjs +0 -1
  274. package/dist/admin/translations/dk.json.mjs.map +1 -1
  275. package/dist/admin/translations/en.json.js +4 -2
  276. package/dist/admin/translations/en.json.js.map +1 -1
  277. package/dist/admin/translations/en.json.mjs +4 -2
  278. package/dist/admin/translations/en.json.mjs.map +1 -1
  279. package/dist/admin/translations/es.json.js +0 -1
  280. package/dist/admin/translations/es.json.js.map +1 -1
  281. package/dist/admin/translations/es.json.mjs +0 -1
  282. package/dist/admin/translations/es.json.mjs.map +1 -1
  283. package/dist/admin/translations/ko.json.js +0 -1
  284. package/dist/admin/translations/ko.json.js.map +1 -1
  285. package/dist/admin/translations/ko.json.mjs +0 -1
  286. package/dist/admin/translations/ko.json.mjs.map +1 -1
  287. package/dist/admin/translations/pl.json.js +0 -1
  288. package/dist/admin/translations/pl.json.js.map +1 -1
  289. package/dist/admin/translations/pl.json.mjs +0 -1
  290. package/dist/admin/translations/pl.json.mjs.map +1 -1
  291. package/dist/admin/translations/pt-BR.json.js +0 -1
  292. package/dist/admin/translations/pt-BR.json.js.map +1 -1
  293. package/dist/admin/translations/pt-BR.json.mjs +0 -1
  294. package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
  295. package/dist/admin/translations/sv.json.js +0 -1
  296. package/dist/admin/translations/sv.json.js.map +1 -1
  297. package/dist/admin/translations/sv.json.mjs +0 -1
  298. package/dist/admin/translations/sv.json.mjs.map +1 -1
  299. package/dist/admin/translations/tr.json.js +0 -1
  300. package/dist/admin/translations/tr.json.js.map +1 -1
  301. package/dist/admin/translations/tr.json.mjs +0 -1
  302. package/dist/admin/translations/tr.json.mjs.map +1 -1
  303. package/dist/admin/translations/zh.json.js +0 -1
  304. package/dist/admin/translations/zh.json.js.map +1 -1
  305. package/dist/admin/translations/zh.json.mjs +0 -1
  306. package/dist/admin/translations/zh.json.mjs.map +1 -1
  307. package/dist/admin/utils/findAttribute.js.map +1 -1
  308. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  309. package/dist/admin/utils/formAPI.js +0 -1
  310. package/dist/admin/utils/formAPI.js.map +1 -1
  311. package/dist/admin/utils/formAPI.mjs +0 -1
  312. package/dist/admin/utils/formAPI.mjs.map +1 -1
  313. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  314. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  315. package/dist/admin/utils/getRelationType.js.map +1 -1
  316. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  317. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  318. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  319. package/dist/server/controllers/index.js +3 -1
  320. package/dist/server/controllers/index.js.map +1 -1
  321. package/dist/server/controllers/index.mjs +3 -1
  322. package/dist/server/controllers/index.mjs.map +1 -1
  323. package/dist/server/controllers/schema.js +55 -0
  324. package/dist/server/controllers/schema.js.map +1 -0
  325. package/dist/server/controllers/schema.mjs +53 -0
  326. package/dist/server/controllers/schema.mjs.map +1 -0
  327. package/dist/server/controllers/validation/common.js +2 -0
  328. package/dist/server/controllers/validation/common.js.map +1 -1
  329. package/dist/server/controllers/validation/common.mjs +2 -1
  330. package/dist/server/controllers/validation/common.mjs.map +1 -1
  331. package/dist/server/controllers/validation/content-type.js.map +1 -1
  332. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  333. package/dist/server/controllers/validation/schema.js +612 -0
  334. package/dist/server/controllers/validation/schema.js.map +1 -0
  335. package/dist/server/controllers/validation/schema.mjs +610 -0
  336. package/dist/server/controllers/validation/schema.mjs.map +1 -0
  337. package/dist/server/routes/admin.js +51 -0
  338. package/dist/server/routes/admin.js.map +1 -1
  339. package/dist/server/routes/admin.mjs +51 -0
  340. package/dist/server/routes/admin.mjs.map +1 -1
  341. package/dist/server/services/index.js +3 -1
  342. package/dist/server/services/index.js.map +1 -1
  343. package/dist/server/services/index.mjs +3 -1
  344. package/dist/server/services/index.mjs.map +1 -1
  345. package/dist/server/services/schema-builder/component-builder.js +12 -2
  346. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  347. package/dist/server/services/schema-builder/component-builder.mjs +12 -2
  348. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  349. package/dist/server/services/schema-builder/content-type-builder.js +43 -28
  350. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  351. package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
  352. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  353. package/dist/server/services/schema-builder/index.js +51 -49
  354. package/dist/server/services/schema-builder/index.js.map +1 -1
  355. package/dist/server/services/schema-builder/index.mjs +51 -49
  356. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  357. package/dist/server/services/schema.js +246 -0
  358. package/dist/server/services/schema.js.map +1 -0
  359. package/dist/server/services/schema.mjs +242 -0
  360. package/dist/server/services/schema.mjs.map +1 -0
  361. package/dist/server/src/controllers/index.d.ts +5 -0
  362. package/dist/server/src/controllers/index.d.ts.map +1 -1
  363. package/dist/server/src/controllers/schema.d.ts +8 -0
  364. package/dist/server/src/controllers/schema.d.ts.map +1 -0
  365. package/dist/server/src/controllers/validation/common.d.ts +1 -0
  366. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  367. package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
  368. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  369. package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
  370. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
  371. package/dist/server/src/index.d.ts +6 -0
  372. package/dist/server/src/index.d.ts.map +1 -1
  373. package/dist/server/src/routes/admin.d.ts.map +1 -1
  374. package/dist/server/src/services/index.d.ts +2 -0
  375. package/dist/server/src/services/index.d.ts.map +1 -1
  376. package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
  377. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  378. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
  379. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  380. package/dist/server/src/services/schema-builder/index.d.ts +3 -0
  381. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  382. package/dist/server/src/services/schema.d.ts +2756 -0
  383. package/dist/server/src/services/schema.d.ts.map +1 -0
  384. package/dist/server/src/utils/index.d.ts +2 -0
  385. package/dist/server/src/utils/index.d.ts.map +1 -1
  386. package/dist/server/utils/index.js.map +1 -1
  387. package/dist/server/utils/index.mjs.map +1 -1
  388. package/package.json +13 -8
  389. package/dist/admin/components/BoxWrapper.js +0 -44
  390. package/dist/admin/components/BoxWrapper.js.map +0 -1
  391. package/dist/admin/components/BoxWrapper.mjs +0 -42
  392. package/dist/admin/components/BoxWrapper.mjs.map +0 -1
  393. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
  394. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
  395. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
  396. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
  397. package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
  398. package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
  399. package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
  400. package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
  401. package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
  402. package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
  403. package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
  404. package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
  405. package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
  406. package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
  407. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
  408. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
  409. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
  410. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
  411. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
  412. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
  413. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
  414. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
  415. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
  416. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
  417. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
  418. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
  419. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
  420. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
  421. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
  422. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
  423. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
  424. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
  425. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
  426. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
  427. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
  428. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
  429. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
  430. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
  431. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
  432. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
  433. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
  434. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
  435. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
  436. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
  437. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
  438. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
  439. package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
  440. package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
  441. package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
  442. package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
  443. package/dist/admin/components/FormModal/category/form.js +0 -34
  444. package/dist/admin/components/FormModal/category/form.js.map +0 -1
  445. package/dist/admin/components/FormModal/category/form.mjs +0 -32
  446. package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
  447. package/dist/admin/components/FormModal/category/regex.js +0 -6
  448. package/dist/admin/components/FormModal/category/regex.js.map +0 -1
  449. package/dist/admin/components/FormModal/category/regex.mjs +0 -4
  450. package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
  451. package/dist/admin/components/FormModal/selectors.js +0 -20
  452. package/dist/admin/components/FormModal/selectors.js.map +0 -1
  453. package/dist/admin/components/FormModal/selectors.mjs +0 -17
  454. package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
  455. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
  456. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
  457. package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
  458. package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
  459. package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
  460. package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
  461. package/dist/admin/components/ListRow.js +0 -164
  462. package/dist/admin/components/ListRow.js.map +0 -1
  463. package/dist/admin/components/ListRow.mjs +0 -161
  464. package/dist/admin/components/ListRow.mjs.map +0 -1
  465. package/dist/admin/components/NestedFooter.js.map +0 -1
  466. package/dist/admin/components/NestedFooter.mjs.map +0 -1
  467. package/dist/admin/components/Tr.js.map +0 -1
  468. package/dist/admin/components/Tr.mjs.map +0 -1
  469. package/dist/admin/components/UpperFirst.js +0 -11
  470. package/dist/admin/components/UpperFirst.js.map +0 -1
  471. package/dist/admin/components/UpperFirst.mjs +0 -9
  472. package/dist/admin/components/UpperFirst.mjs.map +0 -1
  473. package/dist/admin/contexts/DataManagerContext.js.map +0 -1
  474. package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
  475. package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
  476. package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
  477. package/dist/admin/hooks/useDataManager.js.map +0 -1
  478. package/dist/admin/hooks/useDataManager.mjs.map +0 -1
  479. package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
  480. package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
  481. package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
  482. package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
  483. package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
  484. package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
  485. package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
  486. package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
  487. package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
  488. package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
  489. package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
  490. package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
  491. package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
  492. package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
  493. package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
  494. package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
  495. package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
  496. package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
  497. package/dist/admin/src/components/ListRow.d.ts +0 -27
  498. package/dist/admin/src/components/Tr.d.ts +0 -5
  499. package/dist/admin/src/components/UpperFirst.d.ts +0 -3
  500. package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
  501. package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
  502. package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
  503. package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
  504. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
  505. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
  506. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
  507. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
  508. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
  509. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
  510. /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
@@ -1,520 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var strapiAdmin = require('@strapi/admin/strapi-admin');
6
- var get = require('lodash/get');
7
- var groupBy = require('lodash/groupBy');
8
- var set = require('lodash/set');
9
- var size = require('lodash/size');
10
- var reactIntl = require('react-intl');
11
- var reactRedux = require('react-redux');
12
- var reactRouterDom = require('react-router-dom');
13
- var DataManagerContext = require('../../contexts/DataManagerContext.js');
14
- var useFormModalNavigation = require('../../hooks/useFormModalNavigation.js');
15
- var pluginId = require('../../pluginId.js');
16
- var getTrad = require('../../utils/getTrad.js');
17
- var AutoReloadOverlayBlocker = require('../AutoReloadOverlayBlocker.js');
18
- var FormModal = require('../FormModal/FormModal.js');
19
- var reducer = require('./reducer.js');
20
- var selectors = require('./selectors.js');
21
- var cleanData = require('./utils/cleanData.js');
22
- var createDataObject = require('./utils/createDataObject.js');
23
- var createModifiedDataSchema = require('./utils/createModifiedDataSchema.js');
24
- var formatSchemas = require('./utils/formatSchemas.js');
25
- var retrieveComponentsFromSchema = require('./utils/retrieveComponentsFromSchema.js');
26
- var retrieveComponentsThatHaveComponents = require('./utils/retrieveComponentsThatHaveComponents.js');
27
- var retrieveNestedComponents = require('./utils/retrieveNestedComponents.js');
28
- var retrieveSpecificInfoFromComponents = require('./utils/retrieveSpecificInfoFromComponents.js');
29
- var serverRestartWatcher = require('./utils/serverRestartWatcher.js');
30
- var validateSchema = require('./utils/validateSchema.js');
31
-
32
- const DataManagerProvider = ({ children })=>{
33
- const dispatch = reactRedux.useDispatch();
34
- // refactor
35
- const { components, contentTypes, isLoading, initialData, modifiedData, reservedNames } = reactRedux.useSelector(selectors.makeSelectDataManagerProvider());
36
- const { toggleNotification } = strapiAdmin.useNotification();
37
- const { lockAppWithAutoreload, unlockAppWithAutoreload } = AutoReloadOverlayBlocker.useAutoReloadOverlayBlocker();
38
- const { setCurrentStep, setStepState } = strapiAdmin.useGuidedTour('DataManagerProvider', (state)=>state);
39
- const getPlugin = strapiAdmin.useStrapiApp('DataManagerProvider', (state)=>state.getPlugin);
40
- const plugin = getPlugin(pluginId.pluginId);
41
- const autoReload = strapiAdmin.useAppInfo('DataManagerProvider', (state)=>state.autoReload);
42
- const { formatMessage } = reactIntl.useIntl();
43
- const { trackUsage } = strapiAdmin.useTracking();
44
- const refetchPermissions = strapiAdmin.useAuth('DataManagerProvider', (state)=>state.refetchPermissions);
45
- const { pathname } = reactRouterDom.useLocation();
46
- const { onCloseModal } = useFormModalNavigation.useFormModalNavigation();
47
- const contentTypeMatch = reactRouterDom.useMatch(`/plugins/${pluginId.pluginId}/content-types/:uid`);
48
- const componentMatch = reactRouterDom.useMatch(`/plugins/${pluginId.pluginId}/component-categories/:categoryUid/:componentUid`);
49
- const fetchClient = strapiAdmin.useFetchClient();
50
- const { put, post, del } = fetchClient;
51
- const isInDevelopmentMode = autoReload;
52
- const isInContentTypeView = contentTypeMatch !== null;
53
- const firstKeyToMainSchema = isInContentTypeView ? 'contentType' : 'component';
54
- const currentUid = isInContentTypeView ? get(contentTypeMatch, 'params.uid', null) : get(componentMatch, 'params.componentUid', null);
55
- const getDataRef = React.useRef();
56
- const endPoint = isInContentTypeView ? 'content-types' : 'components';
57
- getDataRef.current = async ()=>{
58
- try {
59
- const [componentsResponse, contentTypesResponse, reservedNamesResponse] = await Promise.all([
60
- fetchClient.get(`/content-type-builder/components`),
61
- fetchClient.get(`/content-type-builder/content-types`),
62
- fetchClient.get(`/content-type-builder/reserved-names`)
63
- ]);
64
- const components = createDataObject.createDataObject(componentsResponse.data.data);
65
- const formattedComponents = formatSchemas.formatSchemas(components);
66
- const contentTypes = createDataObject.createDataObject(contentTypesResponse.data.data);
67
- const formattedContentTypes = formatSchemas.formatSchemas(contentTypes);
68
- dispatch(reducer.actions.init({
69
- components: formattedComponents,
70
- contentTypes: formattedContentTypes,
71
- reservedNames: reservedNamesResponse.data
72
- }));
73
- } catch (err) {
74
- console.error({
75
- err
76
- });
77
- toggleNotification({
78
- type: 'danger',
79
- message: formatMessage({
80
- id: 'notification.error',
81
- defaultMessage: 'An error occurred'
82
- })
83
- });
84
- }
85
- };
86
- React.useEffect(()=>{
87
- getDataRef.current();
88
- return ()=>{
89
- // Reload the plugin so the cycle is new again
90
- dispatch(reducer.actions.reloadPlugin());
91
- };
92
- // eslint-disable-next-line react-hooks/exhaustive-deps
93
- }, []);
94
- React.useEffect(()=>{
95
- // We need to set the modifiedData after the data has been retrieved
96
- // and also on pathname change
97
- if (!isLoading && currentUid) {
98
- setModifiedData();
99
- }
100
- // eslint-disable-next-line react-hooks/exhaustive-deps
101
- }, [
102
- isLoading,
103
- pathname,
104
- currentUid
105
- ]);
106
- React.useEffect(()=>{
107
- if (!autoReload) {
108
- toggleNotification({
109
- type: 'info',
110
- message: formatMessage({
111
- id: getTrad.getTrad('notification.info.autoreaload-disable')
112
- })
113
- });
114
- }
115
- }, [
116
- autoReload,
117
- toggleNotification,
118
- formatMessage
119
- ]);
120
- const addAttribute = (attributeToSet, forTarget, targetUid, isEditing = false, initialAttribute, shouldAddComponentToData = false)=>{
121
- if (isEditing) {
122
- const payload = {
123
- attributeToSet,
124
- forTarget,
125
- targetUid,
126
- // NOTE: using ! here to avoid changing the code logic before bigger refactorings
127
- initialAttribute: initialAttribute,
128
- shouldAddComponentToData
129
- };
130
- dispatch(reducer.actions.editAttribute(payload));
131
- } else {
132
- const payload = {
133
- attributeToSet,
134
- forTarget,
135
- targetUid,
136
- shouldAddComponentToData
137
- };
138
- dispatch(reducer.actions.addAttribute(payload));
139
- }
140
- };
141
- const addCustomFieldAttribute = ({ attributeToSet, forTarget, targetUid })=>{
142
- dispatch(reducer.actions.addCustomFieldAttribute({
143
- attributeToSet,
144
- forTarget,
145
- targetUid
146
- }));
147
- };
148
- const editCustomFieldAttribute = ({ attributeToSet, forTarget, targetUid, initialAttribute })=>{
149
- dispatch(reducer.actions.editCustomFieldAttribute({
150
- attributeToSet,
151
- forTarget,
152
- targetUid,
153
- initialAttribute
154
- }));
155
- };
156
- const addCreatedComponentToDynamicZone = (dynamicZoneTarget, componentsToAdd)=>{
157
- dispatch(reducer.actions.addCreatedComponentToDynamicZone({
158
- dynamicZoneTarget,
159
- componentsToAdd
160
- }));
161
- };
162
- const createSchema = (data, schemaType, uid, componentCategory, shouldAddComponentToData = false)=>{
163
- if (schemaType === 'contentType') {
164
- const payload = {
165
- data,
166
- uid
167
- };
168
- dispatch(reducer.actions.createSchema(payload));
169
- } else {
170
- const payload = {
171
- data,
172
- uid,
173
- componentCategory: componentCategory,
174
- shouldAddComponentToData
175
- };
176
- dispatch(reducer.actions.createComponentSchema(payload));
177
- }
178
- };
179
- const changeDynamicZoneComponents = (dynamicZoneTarget, newComponents)=>{
180
- dispatch(reducer.actions.changeDynamicZoneComponents({
181
- dynamicZoneTarget,
182
- newComponents
183
- }));
184
- };
185
- const removeAttribute = (mainDataKey, attributeToRemoveName, componentUid = '')=>{
186
- if (mainDataKey === 'components') {
187
- dispatch(reducer.actions.removeFieldFromDisplayedComponent({
188
- attributeToRemoveName,
189
- componentUid
190
- }));
191
- } else {
192
- if (mainDataKey === 'contentType') {
193
- trackUsage('willDeleteFieldOfContentType');
194
- }
195
- dispatch(reducer.actions.removeField({
196
- mainDataKey,
197
- attributeToRemoveName
198
- }));
199
- }
200
- };
201
- const deleteCategory = async (categoryUid)=>{
202
- try {
203
- const requestURL = `/${pluginId.pluginId}/component-categories/${categoryUid}`;
204
- // eslint-disable-next-line no-alert
205
- const userConfirm = window.confirm(formatMessage({
206
- id: getTrad.getTrad('popUpWarning.bodyMessage.category.delete')
207
- }));
208
- // Close the modal
209
- onCloseModal();
210
- if (userConfirm) {
211
- lockAppWithAutoreload?.();
212
- await del(requestURL);
213
- // Make sure the server has restarted
214
- await serverRestartWatcher.serverRestartWatcher(true);
215
- // Unlock the app
216
- unlockAppWithAutoreload?.();
217
- await updatePermissions();
218
- }
219
- } catch (err) {
220
- console.error({
221
- err
222
- });
223
- toggleNotification({
224
- type: 'danger',
225
- message: formatMessage({
226
- id: 'notification.error',
227
- defaultMessage: 'An error occurred'
228
- })
229
- });
230
- } finally{
231
- unlockAppWithAutoreload?.();
232
- }
233
- };
234
- const deleteData = async ()=>{
235
- try {
236
- const requestURL = `/${pluginId.pluginId}/${endPoint}/${currentUid}`;
237
- const isTemporary = get(modifiedData, [
238
- firstKeyToMainSchema,
239
- 'isTemporary'
240
- ], false);
241
- // eslint-disable-next-line no-alert
242
- const userConfirm = window.confirm(formatMessage({
243
- id: getTrad.getTrad(`popUpWarning.bodyMessage.${isInContentTypeView ? 'contentType' : 'component'}.delete`)
244
- }));
245
- // Close the modal
246
- onCloseModal();
247
- if (userConfirm) {
248
- if (isTemporary) {
249
- // Delete the not saved type
250
- // Here we just need to reset the components to the initial ones and also the content types
251
- // Doing so will trigging a url change since the type doesn't exist in either the contentTypes or the components
252
- // so the modified and the initial data will also be reset in the useEffect...
253
- dispatch(reducer.actions.deleteNotSavedType());
254
- return;
255
- }
256
- lockAppWithAutoreload?.();
257
- await del(requestURL);
258
- // Make sure the server has restarted
259
- await serverRestartWatcher.serverRestartWatcher(true);
260
- // Unlock the app
261
- await unlockAppWithAutoreload?.();
262
- await getDataRef.current();
263
- // Refetch the permissions
264
- await updatePermissions();
265
- }
266
- } catch (err) {
267
- console.error({
268
- err
269
- });
270
- toggleNotification({
271
- type: 'danger',
272
- message: formatMessage({
273
- id: 'notification.error',
274
- defaultMessage: 'An error occurred'
275
- })
276
- });
277
- } finally{
278
- unlockAppWithAutoreload?.();
279
- }
280
- };
281
- const editCategory = async (categoryUid, body)=>{
282
- try {
283
- const requestURL = `/${pluginId.pluginId}/component-categories/${categoryUid}`;
284
- // Close the modal
285
- onCloseModal();
286
- // Lock the app
287
- lockAppWithAutoreload?.();
288
- // Update the category
289
- await put(requestURL, body);
290
- // Make sure the server has restarted
291
- await serverRestartWatcher.serverRestartWatcher(true);
292
- // Unlock the app
293
- await unlockAppWithAutoreload?.();
294
- await updatePermissions();
295
- } catch (err) {
296
- console.error({
297
- err
298
- });
299
- toggleNotification({
300
- type: 'danger',
301
- message: formatMessage({
302
- id: 'notification.error',
303
- defaultMessage: 'An error occurred'
304
- })
305
- });
306
- } finally{
307
- unlockAppWithAutoreload?.();
308
- }
309
- };
310
- const getAllComponentsThatHaveAComponentInTheirAttributes = ()=>{
311
- // We need to create an object with all the non modified compos
312
- // plus the ones that are created on the fly
313
- const allCompos = Object.assign({}, components, modifiedData.components);
314
- // Since we apply the modification of a specific component only in the modified data
315
- // we need to update all compos with the modifications
316
- if (!isInContentTypeView) {
317
- const currentEditedCompo = get(modifiedData, 'component', {});
318
- set(allCompos, get(currentEditedCompo, [
319
- 'uid'
320
- ], ''), currentEditedCompo);
321
- }
322
- const composWithCompos = retrieveComponentsThatHaveComponents.retrieveComponentsThatHaveComponents(allCompos);
323
- return composWithCompos;
324
- };
325
- const getAllNestedComponents = ()=>{
326
- const appNestedCompo = retrieveNestedComponents.retrieveNestedComponents(components);
327
- return appNestedCompo;
328
- };
329
- const removeComponentFromDynamicZone = (dzName, componentToRemoveIndex)=>{
330
- dispatch(reducer.actions.removeComponentFromDynamicZone({
331
- dzName,
332
- componentToRemoveIndex
333
- }));
334
- };
335
- const setModifiedData = ()=>{
336
- const currentSchemas = isInContentTypeView ? contentTypes : components;
337
- const schemaToSet = get(currentSchemas, currentUid ?? '', {
338
- schema: {
339
- attributes: []
340
- }
341
- });
342
- const retrievedComponents = retrieveComponentsFromSchema.retrieveComponentsFromSchema(schemaToSet.schema.attributes, components);
343
- const newSchemaToSet = createModifiedDataSchema.createModifiedDataSchema(schemaToSet, retrievedComponents, components, isInContentTypeView);
344
- const hasJustCreatedSchema = get(schemaToSet, 'isTemporary', false) && size(get(schemaToSet, 'schema.attributes', [])) === 0;
345
- dispatch(reducer.actions.setModifiedData({
346
- schemaToSet: newSchemaToSet,
347
- hasJustCreatedSchema
348
- }));
349
- };
350
- const shouldRedirect = React.useMemo(()=>{
351
- const dataSet = isInContentTypeView ? contentTypes : components;
352
- if (currentUid === 'create-content-type') {
353
- return false;
354
- }
355
- return !Object.keys(dataSet).includes(currentUid || '') && !isLoading;
356
- }, [
357
- components,
358
- contentTypes,
359
- currentUid,
360
- isInContentTypeView,
361
- isLoading
362
- ]);
363
- const redirectEndpoint = React.useMemo(()=>{
364
- const allowedEndpoints = Object.keys(contentTypes).filter((uid)=>get(contentTypes, [
365
- uid,
366
- 'schema',
367
- 'visible'
368
- ], true)).sort();
369
- return get(allowedEndpoints, '0', 'create-content-type');
370
- }, [
371
- contentTypes
372
- ]);
373
- if (shouldRedirect) {
374
- return /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Navigate, {
375
- to: `/plugins/${pluginId.pluginId}/content-types/${redirectEndpoint}`
376
- });
377
- }
378
- const submitData = async (additionalContentTypeData)=>{
379
- try {
380
- const isCreating = get(modifiedData, [
381
- firstKeyToMainSchema,
382
- 'isTemporary'
383
- ], false);
384
- const body = {
385
- components: cleanData.getComponentsToPost(modifiedData.components, components, currentUid)
386
- };
387
- if (isInContentTypeView) {
388
- const PluginForms = plugin?.apis?.forms;
389
- const contentType = PluginForms.mutateContentTypeSchema({
390
- ...cleanData.formatMainDataType(modifiedData.contentType),
391
- ...additionalContentTypeData
392
- }, initialData.contentType);
393
- const isValidSchema = validateSchema.validateSchema(contentType);
394
- if (!isValidSchema) {
395
- toggleNotification({
396
- type: 'danger',
397
- message: formatMessage({
398
- id: getTrad.getTrad('notification.error.dynamiczone-min.validation'),
399
- defaultMessage: 'At least one component is required in a dynamic zone to be able to save a content type'
400
- })
401
- });
402
- return;
403
- }
404
- body.contentType = contentType;
405
- trackUsage('willSaveContentType');
406
- } else {
407
- body.component = cleanData.formatMainDataType(modifiedData.component, true);
408
- trackUsage('willSaveComponent');
409
- }
410
- // Lock the app
411
- lockAppWithAutoreload?.();
412
- const baseURL = `/${pluginId.pluginId}/${endPoint}`;
413
- const requestURL = isCreating ? baseURL : `${baseURL}/${currentUid}`;
414
- if (isCreating) {
415
- await post(requestURL, body);
416
- } else {
417
- await put(requestURL, body);
418
- }
419
- if (isCreating && (initialData.contentType?.schema.kind === 'collectionType' || initialData.contentType?.schema.kind === 'singleType')) {
420
- setStepState('contentTypeBuilder.success', true);
421
- trackUsage('didCreateGuidedTourCollectionType');
422
- setCurrentStep(null);
423
- }
424
- // Submit ct tracking success
425
- if (isInContentTypeView) {
426
- trackUsage('didSaveContentType');
427
- const oldName = get(body, [
428
- 'contentType',
429
- 'schema',
430
- 'name'
431
- ], '');
432
- const newName = get(initialData, [
433
- 'contentType',
434
- 'schema',
435
- 'name'
436
- ], '');
437
- if (!isCreating && oldName !== newName) {
438
- trackUsage('didEditNameOfContentType');
439
- }
440
- } else {
441
- trackUsage('didSaveComponent');
442
- }
443
- // Make sure the server has restarted
444
- await serverRestartWatcher.serverRestartWatcher(true);
445
- // Unlock the app
446
- unlockAppWithAutoreload?.();
447
- // refetch and update initial state after the data has been saved
448
- await getDataRef.current();
449
- // Update the app's permissions
450
- await updatePermissions();
451
- } catch (err) {
452
- if (!isInContentTypeView) {
453
- trackUsage('didNotSaveComponent');
454
- }
455
- console.error({
456
- err: err.response
457
- });
458
- toggleNotification({
459
- type: 'danger',
460
- message: formatMessage({
461
- id: 'notification.error',
462
- defaultMessage: 'An error occurred'
463
- })
464
- });
465
- } finally{
466
- unlockAppWithAutoreload?.();
467
- }
468
- };
469
- const updatePermissions = async ()=>{
470
- await refetchPermissions();
471
- };
472
- const updateSchema = (data, schemaType, componentUID)=>{
473
- dispatch(reducer.actions.updateSchema({
474
- data,
475
- schemaType,
476
- uid: componentUID
477
- }));
478
- };
479
- return /*#__PURE__*/ jsxRuntime.jsxs(DataManagerContext.DataManagerContext.Provider, {
480
- value: {
481
- addAttribute,
482
- addCustomFieldAttribute,
483
- addCreatedComponentToDynamicZone,
484
- allComponentsCategories: retrieveSpecificInfoFromComponents.retrieveSpecificInfoFromComponents(components, [
485
- 'category'
486
- ]),
487
- changeDynamicZoneComponents,
488
- components,
489
- componentsGroupedByCategory: groupBy(components, 'category'),
490
- componentsThatHaveOtherComponentInTheirAttributes: getAllComponentsThatHaveAComponentInTheirAttributes(),
491
- contentTypes,
492
- createSchema,
493
- deleteCategory,
494
- deleteData,
495
- editCategory,
496
- editCustomFieldAttribute,
497
- isInDevelopmentMode,
498
- initialData,
499
- isInContentTypeView,
500
- modifiedData,
501
- nestedComponents: getAllNestedComponents(),
502
- removeAttribute,
503
- removeComponentFromDynamicZone,
504
- reservedNames,
505
- setModifiedData,
506
- sortedContentTypesList: cleanData.sortContentType(contentTypes),
507
- submitData,
508
- updateSchema
509
- },
510
- children: [
511
- children,
512
- isInDevelopmentMode && /*#__PURE__*/ jsxRuntime.jsx(FormModal.FormModal, {})
513
- ]
514
- });
515
- };
516
- // eslint-disable-next-line import/no-default-export
517
- var DataManagerProvider$1 = /*#__PURE__*/ React.memo(DataManagerProvider);
518
-
519
- module.exports = DataManagerProvider$1;
520
- //# sourceMappingURL=DataManagerProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataManagerProvider.js","sources":["../../../../admin/src/components/DataManagerProvider/DataManagerProvider.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, useRef, ReactNode } from 'react';\n\nimport {\n useGuidedTour,\n useTracking,\n useStrapiApp,\n useNotification,\n useAppInfo,\n useFetchClient,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport set from 'lodash/set';\nimport size from 'lodash/size';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DataManagerContext } from '../../contexts/DataManagerContext';\nimport { useFormModalNavigation } from '../../hooks/useFormModalNavigation';\nimport { pluginId } from '../../pluginId';\nimport { getTrad } from '../../utils/getTrad';\nimport { useAutoReloadOverlayBlocker } from '../AutoReloadOverlayBlocker';\nimport { FormModal } from '../FormModal/FormModal';\n\nimport { actions } from './reducer';\nimport { makeSelectDataManagerProvider } from './selectors';\nimport { formatMainDataType, getComponentsToPost, sortContentType } from './utils/cleanData';\nimport { createDataObject } from './utils/createDataObject';\nimport { createModifiedDataSchema } from './utils/createModifiedDataSchema';\nimport { formatSchemas } from './utils/formatSchemas';\nimport { retrieveComponentsFromSchema } from './utils/retrieveComponentsFromSchema';\nimport { retrieveComponentsThatHaveComponents } from './utils/retrieveComponentsThatHaveComponents';\nimport { retrieveNestedComponents } from './utils/retrieveNestedComponents';\nimport { retrieveSpecificInfoFromComponents } from './utils/retrieveSpecificInfoFromComponents';\nimport { serverRestartWatcher } from './utils/serverRestartWatcher';\nimport { validateSchema } from './utils/validateSchema';\n\nimport type { ContentType, SchemaType, Components } from '../../types';\nimport type { Internal } from '@strapi/types';\n\ninterface DataManagerProviderProps {\n children: ReactNode;\n}\n\ninterface CustomFieldAttributeParams {\n attributeToSet: Record<string, any>;\n forTarget: SchemaType;\n targetUid: Internal.UID.Schema;\n initialAttribute: Record<string, any>;\n}\n\nconst DataManagerProvider = ({ children }: DataManagerProviderProps) => {\n const dispatch = useDispatch();\n // refactor\n const { components, contentTypes, isLoading, initialData, modifiedData, reservedNames } =\n useSelector(makeSelectDataManagerProvider());\n const { toggleNotification } = useNotification();\n const { lockAppWithAutoreload, unlockAppWithAutoreload } = useAutoReloadOverlayBlocker();\n const { setCurrentStep, setStepState } = useGuidedTour('DataManagerProvider', (state) => state);\n\n const getPlugin = useStrapiApp('DataManagerProvider', (state) => state.getPlugin);\n\n const plugin = getPlugin(pluginId);\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const refetchPermissions = useAuth('DataManagerProvider', (state) => state.refetchPermissions);\n const { pathname } = useLocation();\n const { onCloseModal } = useFormModalNavigation();\n const contentTypeMatch = useMatch(`/plugins/${pluginId}/content-types/:uid`);\n const componentMatch = useMatch(\n `/plugins/${pluginId}/component-categories/:categoryUid/:componentUid`\n );\n\n const fetchClient = useFetchClient();\n const { put, post, del } = fetchClient;\n\n const isInDevelopmentMode = autoReload;\n\n const isInContentTypeView = contentTypeMatch !== null;\n const firstKeyToMainSchema = isInContentTypeView ? 'contentType' : 'component';\n const currentUid = isInContentTypeView\n ? get(contentTypeMatch, 'params.uid', null)\n : get(componentMatch, 'params.componentUid', null);\n\n const getDataRef = useRef<any>();\n const endPoint = isInContentTypeView ? 'content-types' : 'components';\n\n getDataRef.current = async () => {\n try {\n const [componentsResponse, contentTypesResponse, reservedNamesResponse] = await Promise.all([\n fetchClient.get(`/content-type-builder/components`),\n fetchClient.get(`/content-type-builder/content-types`),\n fetchClient.get(`/content-type-builder/reserved-names`),\n ]);\n\n const components = createDataObject(componentsResponse.data.data);\n const formattedComponents = formatSchemas(components);\n const contentTypes = createDataObject(contentTypesResponse.data.data);\n const formattedContentTypes = formatSchemas(contentTypes);\n\n dispatch(\n actions.init({\n components: formattedComponents,\n contentTypes: formattedContentTypes,\n reservedNames: reservedNamesResponse.data,\n })\n );\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 useEffect(() => {\n getDataRef.current();\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 useEffect(() => {\n // We need to set the modifiedData after the data has been retrieved\n // and also on pathname change\n if (!isLoading && currentUid) {\n setModifiedData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoading, pathname, currentUid]);\n\n 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 addAttribute = (\n attributeToSet: Record<string, any>,\n forTarget: SchemaType,\n targetUid: Internal.UID.Schema,\n isEditing = false,\n initialAttribute?: Record<string, any>,\n shouldAddComponentToData = false\n ) => {\n if (isEditing) {\n const payload = {\n attributeToSet,\n forTarget,\n targetUid,\n // NOTE: using ! here to avoid changing the code logic before bigger refactorings\n initialAttribute: initialAttribute!,\n shouldAddComponentToData,\n };\n\n dispatch(actions.editAttribute(payload));\n } else {\n const payload = {\n attributeToSet,\n forTarget,\n targetUid,\n shouldAddComponentToData,\n };\n\n dispatch(actions.addAttribute(payload));\n }\n };\n\n const addCustomFieldAttribute = ({\n attributeToSet,\n forTarget,\n targetUid,\n }: CustomFieldAttributeParams) => {\n dispatch(actions.addCustomFieldAttribute({ attributeToSet, forTarget, targetUid }));\n };\n\n const editCustomFieldAttribute = ({\n attributeToSet,\n forTarget,\n targetUid,\n initialAttribute,\n }: CustomFieldAttributeParams) => {\n dispatch(\n actions.editCustomFieldAttribute({\n attributeToSet,\n forTarget,\n targetUid,\n initialAttribute,\n })\n );\n };\n\n const addCreatedComponentToDynamicZone = (\n dynamicZoneTarget: string,\n componentsToAdd: Internal.UID.Component[]\n ) => {\n dispatch(actions.addCreatedComponentToDynamicZone({ dynamicZoneTarget, componentsToAdd }));\n };\n\n const createSchema = (\n data: Record<string, any>,\n schemaType: SchemaType,\n uid: Internal.UID.Schema,\n componentCategory?: string,\n shouldAddComponentToData = false\n ) => {\n if (schemaType === 'contentType') {\n const payload = {\n data,\n uid,\n };\n\n dispatch(actions.createSchema(payload));\n } else {\n const payload = {\n data,\n uid,\n componentCategory: componentCategory!,\n shouldAddComponentToData,\n };\n\n dispatch(actions.createComponentSchema(payload));\n }\n };\n\n const changeDynamicZoneComponents = (\n dynamicZoneTarget: string,\n newComponents: Internal.UID.Component[]\n ) => {\n dispatch(actions.changeDynamicZoneComponents({ dynamicZoneTarget, newComponents }));\n };\n\n const removeAttribute = (\n mainDataKey: 'components' | 'contentType' | 'component' | 'contentTypes',\n attributeToRemoveName: string,\n componentUid = ''\n ) => {\n if (mainDataKey === 'components') {\n dispatch(\n actions.removeFieldFromDisplayedComponent({\n attributeToRemoveName,\n componentUid,\n })\n );\n } else {\n if (mainDataKey === 'contentType') {\n trackUsage('willDeleteFieldOfContentType');\n }\n\n dispatch(\n actions.removeField({\n mainDataKey,\n attributeToRemoveName,\n })\n );\n }\n };\n\n const deleteCategory = async (categoryUid: string) => {\n try {\n const requestURL = `/${pluginId}/component-categories/${categoryUid}`;\n // eslint-disable-next-line no-alert\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad('popUpWarning.bodyMessage.category.delete'),\n })\n );\n // Close the modal\n onCloseModal();\n\n if (userConfirm) {\n lockAppWithAutoreload?.();\n\n await del(requestURL);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n unlockAppWithAutoreload?.();\n\n await updatePermissions();\n }\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const deleteData = async () => {\n try {\n const requestURL = `/${pluginId}/${endPoint}/${currentUid}`;\n const isTemporary = get(modifiedData, [firstKeyToMainSchema, 'isTemporary'], false);\n\n // eslint-disable-next-line no-alert\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(\n `popUpWarning.bodyMessage.${isInContentTypeView ? 'contentType' : 'component'}.delete`\n ),\n })\n );\n\n // Close the modal\n onCloseModal();\n\n if (userConfirm) {\n if (isTemporary) {\n // Delete the not saved type\n // Here we just need to reset the components to the initial ones and also the content types\n // Doing so will trigging a url change since the type doesn't exist in either the contentTypes or the components\n // so the modified and the initial data will also be reset in the useEffect...\n dispatch(actions.deleteNotSavedType());\n\n return;\n }\n\n lockAppWithAutoreload?.();\n\n await del(requestURL);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n await unlockAppWithAutoreload?.();\n\n await getDataRef.current();\n // Refetch the permissions\n await updatePermissions();\n }\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const editCategory = async (categoryUid: string, body: any) => {\n try {\n const requestURL = `/${pluginId}/component-categories/${categoryUid}`;\n\n // Close the modal\n onCloseModal();\n\n // Lock the app\n lockAppWithAutoreload?.();\n\n // Update the category\n await put(requestURL, body);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n await unlockAppWithAutoreload?.();\n\n await updatePermissions();\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const getAllComponentsThatHaveAComponentInTheirAttributes = () => {\n // We need to create an object with all the non modified compos\n // plus the ones that are created on the fly\n const allCompos = Object.assign({}, components, modifiedData.components);\n\n // Since we apply the modification of a specific component only in the modified data\n // we need to update all compos with the modifications\n if (!isInContentTypeView) {\n const currentEditedCompo = get(modifiedData, 'component', {});\n\n set(allCompos, get(currentEditedCompo, ['uid'], ''), currentEditedCompo);\n }\n\n const composWithCompos = retrieveComponentsThatHaveComponents(allCompos);\n\n return composWithCompos;\n };\n\n const getAllNestedComponents = () => {\n const appNestedCompo = retrieveNestedComponents(components);\n\n return appNestedCompo;\n };\n\n const removeComponentFromDynamicZone = (dzName: string, componentToRemoveIndex: number) => {\n dispatch(\n actions.removeComponentFromDynamicZone({\n dzName,\n componentToRemoveIndex,\n })\n );\n };\n\n const setModifiedData = () => {\n const currentSchemas = isInContentTypeView ? contentTypes : components;\n const schemaToSet = get(currentSchemas, currentUid ?? '', {\n schema: { attributes: [] },\n });\n\n const retrievedComponents = retrieveComponentsFromSchema(\n schemaToSet.schema.attributes,\n components\n );\n\n const newSchemaToSet = createModifiedDataSchema(\n schemaToSet,\n retrievedComponents,\n components,\n isInContentTypeView\n );\n\n const hasJustCreatedSchema =\n get(schemaToSet, 'isTemporary', false) &&\n size(get(schemaToSet, 'schema.attributes', [])) === 0;\n\n dispatch(\n actions.setModifiedData({\n schemaToSet: newSchemaToSet,\n hasJustCreatedSchema,\n })\n );\n };\n\n const shouldRedirect = useMemo(() => {\n const dataSet = isInContentTypeView ? contentTypes : components;\n if (currentUid === 'create-content-type') {\n return false;\n }\n\n return !Object.keys(dataSet).includes(currentUid || '') && !isLoading;\n }, [components, contentTypes, currentUid, isInContentTypeView, isLoading]);\n\n const redirectEndpoint = useMemo(() => {\n const allowedEndpoints = Object.keys(contentTypes)\n .filter((uid) => get(contentTypes, [uid, 'schema', 'visible'], true))\n .sort();\n\n return get(allowedEndpoints, '0', 'create-content-type');\n }, [contentTypes]);\n\n if (shouldRedirect) {\n return <Navigate to={`/plugins/${pluginId}/content-types/${redirectEndpoint}`} />;\n }\n\n const submitData = async (additionalContentTypeData?: Record<string, any>) => {\n try {\n const isCreating = get(modifiedData, [firstKeyToMainSchema, 'isTemporary'], false);\n\n const body: {\n components: any[];\n contentType?: Record<string, any>;\n component?: any;\n } = {\n components: getComponentsToPost(\n modifiedData.components as Components,\n components as Components,\n currentUid as Internal.UID.Schema\n ),\n };\n\n if (isInContentTypeView) {\n const PluginForms = plugin?.apis?.forms as any;\n const contentType = PluginForms.mutateContentTypeSchema(\n {\n ...formatMainDataType(modifiedData.contentType),\n ...additionalContentTypeData,\n },\n initialData.contentType\n ) as ContentType;\n\n const isValidSchema = validateSchema(contentType);\n\n if (!isValidSchema) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.error.dynamiczone-min.validation'),\n defaultMessage:\n 'At least one component is required in a dynamic zone to be able to save a content type',\n }),\n });\n\n return;\n }\n\n body.contentType = contentType;\n\n trackUsage('willSaveContentType');\n } else {\n body.component = formatMainDataType(modifiedData.component, true);\n\n trackUsage('willSaveComponent');\n }\n\n // Lock the app\n lockAppWithAutoreload?.();\n\n const baseURL = `/${pluginId}/${endPoint}`;\n const requestURL = isCreating ? baseURL : `${baseURL}/${currentUid}`;\n\n if (isCreating) {\n await post(requestURL, body);\n } else {\n await put(requestURL, body);\n }\n\n if (\n isCreating &&\n (initialData.contentType?.schema.kind === 'collectionType' ||\n initialData.contentType?.schema.kind === 'singleType')\n ) {\n setStepState('contentTypeBuilder.success', true);\n trackUsage('didCreateGuidedTourCollectionType');\n setCurrentStep(null);\n }\n\n // Submit ct tracking success\n if (isInContentTypeView) {\n trackUsage('didSaveContentType');\n\n const oldName = get(body, ['contentType', 'schema', 'name'], '');\n const newName = get(initialData, ['contentType', 'schema', 'name'], '');\n\n if (!isCreating && oldName !== newName) {\n trackUsage('didEditNameOfContentType');\n }\n } else {\n trackUsage('didSaveComponent');\n }\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n unlockAppWithAutoreload?.();\n\n // refetch and update initial state after the data has been saved\n await getDataRef.current();\n\n // Update the app's permissions\n await updatePermissions();\n } catch (err: any) {\n if (!isInContentTypeView) {\n trackUsage('didNotSaveComponent');\n }\n\n console.error({ err: err.response });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const updatePermissions = async () => {\n await refetchPermissions();\n };\n\n const updateSchema = (\n data: Record<string, any>,\n schemaType: 'contentType' | 'component',\n componentUID: Internal.UID.Schema\n ) => {\n dispatch(\n actions.updateSchema({\n data,\n schemaType,\n uid: componentUID,\n })\n );\n };\n\n return (\n <DataManagerContext.Provider\n value={{\n addAttribute,\n addCustomFieldAttribute,\n addCreatedComponentToDynamicZone,\n allComponentsCategories: retrieveSpecificInfoFromComponents(components, ['category']),\n changeDynamicZoneComponents,\n components,\n componentsGroupedByCategory: groupBy(components, 'category') as Record<string, any[]>,\n componentsThatHaveOtherComponentInTheirAttributes:\n getAllComponentsThatHaveAComponentInTheirAttributes(),\n contentTypes,\n createSchema,\n deleteCategory,\n deleteData,\n editCategory,\n editCustomFieldAttribute,\n isInDevelopmentMode,\n initialData,\n isInContentTypeView,\n modifiedData,\n nestedComponents: getAllNestedComponents(),\n removeAttribute,\n removeComponentFromDynamicZone,\n reservedNames,\n setModifiedData,\n sortedContentTypesList: sortContentType(contentTypes),\n submitData,\n updateSchema,\n }}\n >\n {children}\n {isInDevelopmentMode && <FormModal />}\n </DataManagerContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default memo(DataManagerProvider);\n"],"names":["DataManagerProvider","children","dispatch","useDispatch","components","contentTypes","isLoading","initialData","modifiedData","reservedNames","useSelector","makeSelectDataManagerProvider","toggleNotification","useNotification","lockAppWithAutoreload","unlockAppWithAutoreload","useAutoReloadOverlayBlocker","setCurrentStep","setStepState","useGuidedTour","state","getPlugin","useStrapiApp","plugin","pluginId","autoReload","useAppInfo","formatMessage","useIntl","trackUsage","useTracking","refetchPermissions","useAuth","pathname","useLocation","onCloseModal","useFormModalNavigation","contentTypeMatch","useMatch","componentMatch","fetchClient","useFetchClient","put","post","del","isInDevelopmentMode","isInContentTypeView","firstKeyToMainSchema","currentUid","get","getDataRef","useRef","endPoint","current","componentsResponse","contentTypesResponse","reservedNamesResponse","Promise","all","createDataObject","data","formattedComponents","formatSchemas","formattedContentTypes","actions","init","err","console","error","type","message","id","defaultMessage","useEffect","reloadPlugin","setModifiedData","getTrad","addAttribute","attributeToSet","forTarget","targetUid","isEditing","initialAttribute","shouldAddComponentToData","payload","editAttribute","addCustomFieldAttribute","editCustomFieldAttribute","addCreatedComponentToDynamicZone","dynamicZoneTarget","componentsToAdd","createSchema","schemaType","uid","componentCategory","createComponentSchema","changeDynamicZoneComponents","newComponents","removeAttribute","mainDataKey","attributeToRemoveName","componentUid","removeFieldFromDisplayedComponent","removeField","deleteCategory","categoryUid","requestURL","userConfirm","window","confirm","serverRestartWatcher","updatePermissions","deleteData","isTemporary","deleteNotSavedType","editCategory","body","getAllComponentsThatHaveAComponentInTheirAttributes","allCompos","Object","assign","currentEditedCompo","set","composWithCompos","retrieveComponentsThatHaveComponents","getAllNestedComponents","appNestedCompo","retrieveNestedComponents","removeComponentFromDynamicZone","dzName","componentToRemoveIndex","currentSchemas","schemaToSet","schema","attributes","retrievedComponents","retrieveComponentsFromSchema","newSchemaToSet","createModifiedDataSchema","hasJustCreatedSchema","size","shouldRedirect","useMemo","dataSet","keys","includes","redirectEndpoint","allowedEndpoints","filter","sort","_jsx","Navigate","to","submitData","additionalContentTypeData","isCreating","getComponentsToPost","PluginForms","apis","forms","contentType","mutateContentTypeSchema","formatMainDataType","isValidSchema","validateSchema","component","baseURL","kind","oldName","newName","response","updateSchema","componentUID","_jsxs","DataManagerContext","Provider","value","allComponentsCategories","retrieveSpecificInfoFromComponents","componentsGroupedByCategory","groupBy","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","sortedContentTypesList","sortContentType","FormModal","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,MAAMA,mBAAsB,GAAA,CAAC,EAAEC,QAAQ,EAA4B,GAAA;AACjE,IAAA,MAAMC,QAAWC,GAAAA,sBAAAA,EAAAA;;AAEjB,IAAA,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,aAAa,EAAE,GACrFC,sBAAYC,CAAAA,uCAAAA,EAAAA,CAAAA;IACd,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,qBAAqB,EAAEC,uBAAuB,EAAE,GAAGC,oDAAAA,EAAAA;IAC3D,MAAM,EAAEC,cAAc,EAAEC,YAAY,EAAE,GAAGC,yBAAAA,CAAc,qBAAuB,EAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAAA;AAEzF,IAAA,MAAMC,YAAYC,wBAAa,CAAA,qBAAA,EAAuB,CAACF,KAAAA,GAAUA,MAAMC,SAAS,CAAA;AAEhF,IAAA,MAAME,SAASF,SAAUG,CAAAA,iBAAAA,CAAAA;AACzB,IAAA,MAAMC,aAAaC,sBAAW,CAAA,qBAAA,EAAuB,CAACN,KAAAA,GAAUA,MAAMK,UAAU,CAAA;IAChF,MAAM,EAAEE,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;AACvB,IAAA,MAAMC,qBAAqBC,mBAAQ,CAAA,qBAAA,EAAuB,CAACZ,KAAAA,GAAUA,MAAMW,kBAAkB,CAAA;IAC7F,MAAM,EAAEE,QAAQ,EAAE,GAAGC,0BAAAA,EAAAA;IACrB,MAAM,EAAEC,YAAY,EAAE,GAAGC,6CAAAA,EAAAA;AACzB,IAAA,MAAMC,mBAAmBC,uBAAS,CAAA,CAAC,SAAS,EAAEd,iBAAAA,CAAS,mBAAmB,CAAC,CAAA;AAC3E,IAAA,MAAMe,iBAAiBD,uBACrB,CAAA,CAAC,SAAS,EAAEd,iBAAAA,CAAS,gDAAgD,CAAC,CAAA;AAGxE,IAAA,MAAMgB,WAAcC,GAAAA,0BAAAA,EAAAA;AACpB,IAAA,MAAM,EAAEC,GAAG,EAAEC,IAAI,EAAEC,GAAG,EAAE,GAAGJ,WAAAA;AAE3B,IAAA,MAAMK,mBAAsBpB,GAAAA,UAAAA;AAE5B,IAAA,MAAMqB,sBAAsBT,gBAAqB,KAAA,IAAA;IACjD,MAAMU,oBAAAA,GAAuBD,sBAAsB,aAAgB,GAAA,WAAA;IACnE,MAAME,UAAAA,GAAaF,sBACfG,GAAIZ,CAAAA,gBAAAA,EAAkB,cAAc,IACpCY,CAAAA,GAAAA,GAAAA,CAAIV,gBAAgB,qBAAuB,EAAA,IAAA,CAAA;AAE/C,IAAA,MAAMW,UAAaC,GAAAA,YAAAA,EAAAA;IACnB,MAAMC,QAAAA,GAAWN,sBAAsB,eAAkB,GAAA,YAAA;AAEzDI,IAAAA,UAAAA,CAAWG,OAAO,GAAG,UAAA;QACnB,IAAI;YACF,MAAM,CAACC,oBAAoBC,oBAAsBC,EAAAA,qBAAAA,CAAsB,GAAG,MAAMC,OAAAA,CAAQC,GAAG,CAAC;AAC1FlB,gBAAAA,WAAAA,CAAYS,GAAG,CAAC,CAAC,gCAAgC,CAAC,CAAA;AAClDT,gBAAAA,WAAAA,CAAYS,GAAG,CAAC,CAAC,mCAAmC,CAAC,CAAA;AACrDT,gBAAAA,WAAAA,CAAYS,GAAG,CAAC,CAAC,oCAAoC,CAAC;AACvD,aAAA,CAAA;AAED,YAAA,MAAM7C,UAAauD,GAAAA,iCAAAA,CAAiBL,kBAAmBM,CAAAA,IAAI,CAACA,IAAI,CAAA;AAChE,YAAA,MAAMC,sBAAsBC,2BAAc1D,CAAAA,UAAAA,CAAAA;AAC1C,YAAA,MAAMC,YAAesD,GAAAA,iCAAAA,CAAiBJ,oBAAqBK,CAAAA,IAAI,CAACA,IAAI,CAAA;AACpE,YAAA,MAAMG,wBAAwBD,2BAAczD,CAAAA,YAAAA,CAAAA;YAE5CH,QACE8D,CAAAA,eAAAA,CAAQC,IAAI,CAAC;gBACX7D,UAAYyD,EAAAA,mBAAAA;gBACZxD,YAAc0D,EAAAA,qBAAAA;AACdtD,gBAAAA,aAAAA,EAAe+C,sBAAsBI;AACvC,aAAA,CAAA,CAAA;AAEJ,SAAA,CAAE,OAAOM,GAAK,EAAA;AACZC,YAAAA,OAAAA,CAAQC,KAAK,CAAC;AAAEF,gBAAAA;AAAI,aAAA,CAAA;YACpBtD,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;oBAAE4C,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;AACF;AACF,KAAA;IAEAC,eAAU,CAAA,IAAA;AACRvB,QAAAA,UAAAA,CAAWG,OAAO,EAAA;QAElB,OAAO,IAAA;;AAELnD,YAAAA,QAAAA,CAAS8D,gBAAQU,YAAY,EAAA,CAAA;AAC/B,SAAA;;AAEF,KAAA,EAAG,EAAE,CAAA;IAELD,eAAU,CAAA,IAAA;;;QAGR,IAAI,CAACnE,aAAa0C,UAAY,EAAA;AAC5B2B,YAAAA,eAAAA,EAAAA;AACF;;KAEC,EAAA;AAACrE,QAAAA,SAAAA;AAAW2B,QAAAA,QAAAA;AAAUe,QAAAA;AAAW,KAAA,CAAA;IAEpCyB,eAAU,CAAA,IAAA;AACR,QAAA,IAAI,CAAChD,UAAY,EAAA;YACfb,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,MAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;AAAE4C,oBAAAA,EAAAA,EAAIK,eAAQ,CAAA,uCAAA;AAAyC,iBAAA;AAChF,aAAA,CAAA;AACF;KACC,EAAA;AAACnD,QAAAA,UAAAA;AAAYb,QAAAA,kBAAAA;AAAoBe,QAAAA;AAAc,KAAA,CAAA;IAElD,MAAMkD,YAAAA,GAAe,CACnBC,cAAAA,EACAC,SACAC,EAAAA,SAAAA,EACAC,YAAY,KAAK,EACjBC,gBACAC,EAAAA,wBAAAA,GAA2B,KAAK,GAAA;AAEhC,QAAA,IAAIF,SAAW,EAAA;AACb,YAAA,MAAMG,OAAU,GAAA;AACdN,gBAAAA,cAAAA;AACAC,gBAAAA,SAAAA;AACAC,gBAAAA,SAAAA;;gBAEAE,gBAAkBA,EAAAA,gBAAAA;AAClBC,gBAAAA;AACF,aAAA;YAEAjF,QAAS8D,CAAAA,eAAAA,CAAQqB,aAAa,CAACD,OAAAA,CAAAA,CAAAA;SAC1B,MAAA;AACL,YAAA,MAAMA,OAAU,GAAA;AACdN,gBAAAA,cAAAA;AACAC,gBAAAA,SAAAA;AACAC,gBAAAA,SAAAA;AACAG,gBAAAA;AACF,aAAA;YAEAjF,QAAS8D,CAAAA,eAAAA,CAAQa,YAAY,CAACO,OAAAA,CAAAA,CAAAA;AAChC;AACF,KAAA;IAEA,MAAME,uBAAAA,GAA0B,CAAC,EAC/BR,cAAc,EACdC,SAAS,EACTC,SAAS,EACkB,GAAA;QAC3B9E,QAAS8D,CAAAA,eAAAA,CAAQsB,uBAAuB,CAAC;AAAER,YAAAA,cAAAA;AAAgBC,YAAAA,SAAAA;AAAWC,YAAAA;AAAU,SAAA,CAAA,CAAA;AAClF,KAAA;IAEA,MAAMO,wBAAAA,GAA2B,CAAC,EAChCT,cAAc,EACdC,SAAS,EACTC,SAAS,EACTE,gBAAgB,EACW,GAAA;QAC3BhF,QACE8D,CAAAA,eAAAA,CAAQuB,wBAAwB,CAAC;AAC/BT,YAAAA,cAAAA;AACAC,YAAAA,SAAAA;AACAC,YAAAA,SAAAA;AACAE,YAAAA;AACF,SAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMM,gCAAAA,GAAmC,CACvCC,iBACAC,EAAAA,eAAAA,GAAAA;QAEAxF,QAAS8D,CAAAA,eAAAA,CAAQwB,gCAAgC,CAAC;AAAEC,YAAAA,iBAAAA;AAAmBC,YAAAA;AAAgB,SAAA,CAAA,CAAA;AACzF,KAAA;AAEA,IAAA,MAAMC,eAAe,CACnB/B,IAAAA,EACAgC,YACAC,GACAC,EAAAA,iBAAAA,EACAX,2BAA2B,KAAK,GAAA;AAEhC,QAAA,IAAIS,eAAe,aAAe,EAAA;AAChC,YAAA,MAAMR,OAAU,GAAA;AACdxB,gBAAAA,IAAAA;AACAiC,gBAAAA;AACF,aAAA;YAEA3F,QAAS8D,CAAAA,eAAAA,CAAQ2B,YAAY,CAACP,OAAAA,CAAAA,CAAAA;SACzB,MAAA;AACL,YAAA,MAAMA,OAAU,GAAA;AACdxB,gBAAAA,IAAAA;AACAiC,gBAAAA,GAAAA;gBACAC,iBAAmBA,EAAAA,iBAAAA;AACnBX,gBAAAA;AACF,aAAA;YAEAjF,QAAS8D,CAAAA,eAAAA,CAAQ+B,qBAAqB,CAACX,OAAAA,CAAAA,CAAAA;AACzC;AACF,KAAA;IAEA,MAAMY,2BAAAA,GAA8B,CAClCP,iBACAQ,EAAAA,aAAAA,GAAAA;QAEA/F,QAAS8D,CAAAA,eAAAA,CAAQgC,2BAA2B,CAAC;AAAEP,YAAAA,iBAAAA;AAAmBQ,YAAAA;AAAc,SAAA,CAAA,CAAA;AAClF,KAAA;AAEA,IAAA,MAAMC,eAAkB,GAAA,CACtBC,WACAC,EAAAA,qBAAAA,EACAC,eAAe,EAAE,GAAA;AAEjB,QAAA,IAAIF,gBAAgB,YAAc,EAAA;YAChCjG,QACE8D,CAAAA,eAAAA,CAAQsC,iCAAiC,CAAC;AACxCF,gBAAAA,qBAAAA;AACAC,gBAAAA;AACF,aAAA,CAAA,CAAA;SAEG,MAAA;AACL,YAAA,IAAIF,gBAAgB,aAAe,EAAA;gBACjCtE,UAAW,CAAA,8BAAA,CAAA;AACb;YAEA3B,QACE8D,CAAAA,eAAAA,CAAQuC,WAAW,CAAC;AAClBJ,gBAAAA,WAAAA;AACAC,gBAAAA;AACF,aAAA,CAAA,CAAA;AAEJ;AACF,KAAA;AAEA,IAAA,MAAMI,iBAAiB,OAAOC,WAAAA,GAAAA;QAC5B,IAAI;YACF,MAAMC,UAAAA,GAAa,CAAC,CAAC,EAAElF,kBAAS,sBAAsB,EAAEiF,YAAY,CAAC;;AAErE,YAAA,MAAME,WAAcC,GAAAA,MAAAA,CAAOC,OAAO,CAChClF,aAAc,CAAA;AACZ4C,gBAAAA,EAAAA,EAAIK,eAAQ,CAAA,0CAAA;AACd,aAAA,CAAA,CAAA;;AAGFzC,YAAAA,YAAAA,EAAAA;AAEA,YAAA,IAAIwE,WAAa,EAAA;AACf7F,gBAAAA,qBAAAA,IAAAA;AAEA,gBAAA,MAAM8B,GAAI8D,CAAAA,UAAAA,CAAAA;;AAGV,gBAAA,MAAMI,yCAAqB,CAAA,IAAA,CAAA;;AAG3B/F,gBAAAA,uBAAAA,IAAAA;gBAEA,MAAMgG,iBAAAA,EAAAA;AACR;AACF,SAAA,CAAE,OAAO7C,GAAK,EAAA;AACZC,YAAAA,OAAAA,CAAQC,KAAK,CAAC;AAAEF,gBAAAA;AAAI,aAAA,CAAA;YACpBtD,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;oBAAE4C,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;SACQ,QAAA;AACRzD,YAAAA,uBAAAA,IAAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMiG,UAAa,GAAA,UAAA;QACjB,IAAI;YACF,MAAMN,UAAAA,GAAa,CAAC,CAAC,EAAElF,iBAAAA,CAAS,CAAC,EAAE4B,QAAS,CAAA,CAAC,EAAEJ,UAAAA,CAAW,CAAC;YAC3D,MAAMiE,WAAAA,GAAchE,IAAIzC,YAAc,EAAA;AAACuC,gBAAAA,oBAAAA;AAAsB,gBAAA;aAAc,EAAE,KAAA,CAAA;;AAG7E,YAAA,MAAM4D,WAAcC,GAAAA,MAAAA,CAAOC,OAAO,CAChClF,aAAc,CAAA;gBACZ4C,EAAIK,EAAAA,eAAAA,CACF,CAAC,yBAAyB,EAAE9B,sBAAsB,aAAgB,GAAA,WAAA,CAAY,OAAO,CAAC;AAE1F,aAAA,CAAA,CAAA;;AAIFX,YAAAA,YAAAA,EAAAA;AAEA,YAAA,IAAIwE,WAAa,EAAA;AACf,gBAAA,IAAIM,WAAa,EAAA;;;;;AAKf/G,oBAAAA,QAAAA,CAAS8D,gBAAQkD,kBAAkB,EAAA,CAAA;AAEnC,oBAAA;AACF;AAEApG,gBAAAA,qBAAAA,IAAAA;AAEA,gBAAA,MAAM8B,GAAI8D,CAAAA,UAAAA,CAAAA;;AAGV,gBAAA,MAAMI,yCAAqB,CAAA,IAAA,CAAA;;gBAG3B,MAAM/F,uBAAAA,IAAAA;AAEN,gBAAA,MAAMmC,WAAWG,OAAO,EAAA;;gBAExB,MAAM0D,iBAAAA,EAAAA;AACR;AACF,SAAA,CAAE,OAAO7C,GAAK,EAAA;AACZC,YAAAA,OAAAA,CAAQC,KAAK,CAAC;AAAEF,gBAAAA;AAAI,aAAA,CAAA;YACpBtD,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;oBAAE4C,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;SACQ,QAAA;AACRzD,YAAAA,uBAAAA,IAAAA;AACF;AACF,KAAA;IAEA,MAAMoG,YAAAA,GAAe,OAAOV,WAAqBW,EAAAA,IAAAA,GAAAA;QAC/C,IAAI;YACF,MAAMV,UAAAA,GAAa,CAAC,CAAC,EAAElF,kBAAS,sBAAsB,EAAEiF,YAAY,CAAC;;AAGrEtE,YAAAA,YAAAA,EAAAA;;AAGArB,YAAAA,qBAAAA,IAAAA;;AAGA,YAAA,MAAM4B,IAAIgE,UAAYU,EAAAA,IAAAA,CAAAA;;AAGtB,YAAA,MAAMN,yCAAqB,CAAA,IAAA,CAAA;;YAG3B,MAAM/F,uBAAAA,IAAAA;YAEN,MAAMgG,iBAAAA,EAAAA;AACR,SAAA,CAAE,OAAO7C,GAAK,EAAA;AACZC,YAAAA,OAAAA,CAAQC,KAAK,CAAC;AAAEF,gBAAAA;AAAI,aAAA,CAAA;YACpBtD,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;oBAAE4C,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;SACQ,QAAA;AACRzD,YAAAA,uBAAAA,IAAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMsG,mDAAsD,GAAA,IAAA;;;QAG1D,MAAMC,SAAAA,GAAYC,OAAOC,MAAM,CAAC,EAAIpH,EAAAA,UAAAA,EAAYI,aAAaJ,UAAU,CAAA;;;AAIvE,QAAA,IAAI,CAAC0C,mBAAqB,EAAA;AACxB,YAAA,MAAM2E,kBAAqBxE,GAAAA,GAAAA,CAAIzC,YAAc,EAAA,WAAA,EAAa,EAAC,CAAA;YAE3DkH,GAAIJ,CAAAA,SAAAA,EAAWrE,IAAIwE,kBAAoB,EAAA;AAAC,gBAAA;AAAM,aAAA,EAAE,EAAKA,CAAAA,EAAAA,kBAAAA,CAAAA;AACvD;AAEA,QAAA,MAAME,mBAAmBC,yEAAqCN,CAAAA,SAAAA,CAAAA;QAE9D,OAAOK,gBAAAA;AACT,KAAA;AAEA,IAAA,MAAME,sBAAyB,GAAA,IAAA;AAC7B,QAAA,MAAMC,iBAAiBC,iDAAyB3H,CAAAA,UAAAA,CAAAA;QAEhD,OAAO0H,cAAAA;AACT,KAAA;IAEA,MAAME,8BAAAA,GAAiC,CAACC,MAAgBC,EAAAA,sBAAAA,GAAAA;QACtDhI,QACE8D,CAAAA,eAAAA,CAAQgE,8BAA8B,CAAC;AACrCC,YAAAA,MAAAA;AACAC,YAAAA;AACF,SAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAMvD,eAAkB,GAAA,IAAA;QACtB,MAAMwD,cAAAA,GAAiBrF,sBAAsBzC,YAAeD,GAAAA,UAAAA;AAC5D,QAAA,MAAMgI,WAAcnF,GAAAA,GAAAA,CAAIkF,cAAgBnF,EAAAA,UAAAA,IAAc,EAAI,EAAA;YACxDqF,MAAQ,EAAA;AAAEC,gBAAAA,UAAAA,EAAY;AAAG;AAC3B,SAAA,CAAA;AAEA,QAAA,MAAMC,sBAAsBC,yDAC1BJ,CAAAA,WAAAA,CAAYC,MAAM,CAACC,UAAU,EAC7BlI,UAAAA,CAAAA;AAGF,QAAA,MAAMqI,cAAiBC,GAAAA,iDAAAA,CACrBN,WACAG,EAAAA,mBAAAA,EACAnI,UACA0C,EAAAA,mBAAAA,CAAAA;QAGF,MAAM6F,oBAAAA,GACJ1F,GAAImF,CAAAA,WAAAA,EAAa,aAAe,EAAA,KAAA,CAAA,IAChCQ,KAAK3F,GAAImF,CAAAA,WAAAA,EAAa,mBAAqB,EAAA,EAAE,CAAO,CAAA,KAAA,CAAA;QAEtDlI,QACE8D,CAAAA,eAAAA,CAAQW,eAAe,CAAC;YACtByD,WAAaK,EAAAA,cAAAA;AACbE,YAAAA;AACF,SAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAME,iBAAiBC,aAAQ,CAAA,IAAA;QAC7B,MAAMC,OAAAA,GAAUjG,sBAAsBzC,YAAeD,GAAAA,UAAAA;AACrD,QAAA,IAAI4C,eAAe,qBAAuB,EAAA;YACxC,OAAO,KAAA;AACT;QAEA,OAAO,CAACuE,OAAOyB,IAAI,CAACD,SAASE,QAAQ,CAACjG,UAAc,IAAA,EAAA,CAAA,IAAO,CAAC1C,SAAAA;KAC3D,EAAA;AAACF,QAAAA,UAAAA;AAAYC,QAAAA,YAAAA;AAAc2C,QAAAA,UAAAA;AAAYF,QAAAA,mBAAAA;AAAqBxC,QAAAA;AAAU,KAAA,CAAA;AAEzE,IAAA,MAAM4I,mBAAmBJ,aAAQ,CAAA,IAAA;QAC/B,MAAMK,gBAAAA,GAAmB5B,MAAOyB,CAAAA,IAAI,CAAC3I,YAAAA,CAAAA,CAClC+I,MAAM,CAAC,CAACvD,GAAQ5C,GAAAA,GAAAA,CAAI5C,YAAc,EAAA;AAACwF,gBAAAA,GAAAA;AAAK,gBAAA,QAAA;AAAU,gBAAA;AAAU,aAAA,EAAE,OAC9DwD,IAAI,EAAA;QAEP,OAAOpG,GAAAA,CAAIkG,kBAAkB,GAAK,EAAA,qBAAA,CAAA;KACjC,EAAA;AAAC9I,QAAAA;AAAa,KAAA,CAAA;AAEjB,IAAA,IAAIwI,cAAgB,EAAA;AAClB,QAAA,qBAAOS,cAACC,CAAAA,uBAAAA,EAAAA;AAASC,YAAAA,EAAAA,EAAI,CAAC,SAAS,EAAEhI,kBAAS,eAAe,EAAE0H,iBAAiB;;AAC9E;AAEA,IAAA,MAAMO,aAAa,OAAOC,yBAAAA,GAAAA;QACxB,IAAI;YACF,MAAMC,UAAAA,GAAa1G,IAAIzC,YAAc,EAAA;AAACuC,gBAAAA,oBAAAA;AAAsB,gBAAA;aAAc,EAAE,KAAA,CAAA;AAE5E,YAAA,MAAMqE,IAIF,GAAA;AACFhH,gBAAAA,UAAAA,EAAYwJ,6BACVpJ,CAAAA,YAAAA,CAAaJ,UAAU,EACvBA,UACA4C,EAAAA,UAAAA;AAEJ,aAAA;AAEA,YAAA,IAAIF,mBAAqB,EAAA;gBACvB,MAAM+G,WAAAA,GAActI,QAAQuI,IAAMC,EAAAA,KAAAA;gBAClC,MAAMC,WAAAA,GAAcH,WAAYI,CAAAA,uBAAuB,CACrD;oBACE,GAAGC,4BAAAA,CAAmB1J,YAAawJ,CAAAA,WAAW,CAAC;AAC/C,oBAAA,GAAGN;AACL,iBAAA,EACAnJ,YAAYyJ,WAAW,CAAA;AAGzB,gBAAA,MAAMG,gBAAgBC,6BAAeJ,CAAAA,WAAAA,CAAAA;AAErC,gBAAA,IAAI,CAACG,aAAe,EAAA;oBAClBvJ,kBAAmB,CAAA;wBACjByD,IAAM,EAAA,QAAA;AACNC,wBAAAA,OAAAA,EAAS3C,aAAc,CAAA;AACrB4C,4BAAAA,EAAAA,EAAIK,eAAQ,CAAA,+CAAA,CAAA;4BACZJ,cACE,EAAA;AACJ,yBAAA;AACF,qBAAA,CAAA;AAEA,oBAAA;AACF;AAEA4C,gBAAAA,IAAAA,CAAK4C,WAAW,GAAGA,WAAAA;gBAEnBnI,UAAW,CAAA,qBAAA,CAAA;aACN,MAAA;AACLuF,gBAAAA,IAAAA,CAAKiD,SAAS,GAAGH,4BAAmB1J,CAAAA,YAAAA,CAAa6J,SAAS,EAAE,IAAA,CAAA;gBAE5DxI,UAAW,CAAA,mBAAA,CAAA;AACb;;AAGAf,YAAAA,qBAAAA,IAAAA;YAEA,MAAMwJ,OAAAA,GAAU,CAAC,CAAC,EAAE9I,kBAAS,CAAC,EAAE4B,SAAS,CAAC;YAC1C,MAAMsD,UAAAA,GAAaiD,aAAaW,OAAU,GAAA,CAAC,EAAEA,OAAQ,CAAA,CAAC,EAAEtH,UAAAA,CAAW,CAAC;AAEpE,YAAA,IAAI2G,UAAY,EAAA;AACd,gBAAA,MAAMhH,KAAK+D,UAAYU,EAAAA,IAAAA,CAAAA;aAClB,MAAA;AACL,gBAAA,MAAM1E,IAAIgE,UAAYU,EAAAA,IAAAA,CAAAA;AACxB;AAEA,YAAA,IACEuC,UACCpJ,KAAAA,WAAYyJ,CAAAA,WAAW,EAAE3B,MAAOkC,CAAAA,IAAAA,KAAS,gBACxChK,IAAAA,WAAAA,CAAYyJ,WAAW,EAAE3B,MAAOkC,CAAAA,IAAAA,KAAS,YAAW,CACtD,EAAA;AACArJ,gBAAAA,YAAAA,CAAa,4BAA8B,EAAA,IAAA,CAAA;gBAC3CW,UAAW,CAAA,mCAAA,CAAA;gBACXZ,cAAe,CAAA,IAAA,CAAA;AACjB;;AAGA,YAAA,IAAI6B,mBAAqB,EAAA;gBACvBjB,UAAW,CAAA,oBAAA,CAAA;gBAEX,MAAM2I,OAAAA,GAAUvH,IAAImE,IAAM,EAAA;AAAC,oBAAA,aAAA;AAAe,oBAAA,QAAA;AAAU,oBAAA;iBAAO,EAAE,EAAA,CAAA;gBAC7D,MAAMqD,OAAAA,GAAUxH,IAAI1C,WAAa,EAAA;AAAC,oBAAA,aAAA;AAAe,oBAAA,QAAA;AAAU,oBAAA;iBAAO,EAAE,EAAA,CAAA;gBAEpE,IAAI,CAACoJ,UAAca,IAAAA,OAAAA,KAAYC,OAAS,EAAA;oBACtC5I,UAAW,CAAA,0BAAA,CAAA;AACb;aACK,MAAA;gBACLA,UAAW,CAAA,kBAAA,CAAA;AACb;;AAGA,YAAA,MAAMiF,yCAAqB,CAAA,IAAA,CAAA;;AAG3B/F,YAAAA,uBAAAA,IAAAA;;AAGA,YAAA,MAAMmC,WAAWG,OAAO,EAAA;;YAGxB,MAAM0D,iBAAAA,EAAAA;AACR,SAAA,CAAE,OAAO7C,GAAU,EAAA;AACjB,YAAA,IAAI,CAACpB,mBAAqB,EAAA;gBACxBjB,UAAW,CAAA,qBAAA,CAAA;AACb;AAEAsC,YAAAA,OAAAA,CAAQC,KAAK,CAAC;AAAEF,gBAAAA,GAAAA,EAAKA,IAAIwG;AAAS,aAAA,CAAA;YAClC9J,kBAAmB,CAAA;gBACjByD,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS3C,aAAc,CAAA;oBAAE4C,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;SACQ,QAAA;AACRzD,YAAAA,uBAAAA,IAAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMgG,iBAAoB,GAAA,UAAA;QACxB,MAAMhF,kBAAAA,EAAAA;AACR,KAAA;IAEA,MAAM4I,YAAAA,GAAe,CACnB/G,IAAAA,EACAgC,UACAgF,EAAAA,YAAAA,GAAAA;QAEA1K,QACE8D,CAAAA,eAAAA,CAAQ2G,YAAY,CAAC;AACnB/G,YAAAA,IAAAA;AACAgC,YAAAA,UAAAA;YACAC,GAAK+E,EAAAA;AACP,SAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,qBACEC,eAAA,CAACC,sCAAmBC,QAAQ,EAAA;QAC1BC,KAAO,EAAA;AACLnG,YAAAA,YAAAA;AACAS,YAAAA,uBAAAA;AACAE,YAAAA,gCAAAA;AACAyF,YAAAA,uBAAAA,EAAyBC,sEAAmC9K,UAAY,EAAA;AAAC,gBAAA;AAAW,aAAA,CAAA;AACpF4F,YAAAA,2BAAAA;AACA5F,YAAAA,UAAAA;AACA+K,YAAAA,2BAAAA,EAA6BC,QAAQhL,UAAY,EAAA,UAAA,CAAA;YACjDiL,iDACEhE,EAAAA,mDAAAA,EAAAA;AACFhH,YAAAA,YAAAA;AACAsF,YAAAA,YAAAA;AACAa,YAAAA,cAAAA;AACAQ,YAAAA,UAAAA;AACAG,YAAAA,YAAAA;AACA5B,YAAAA,wBAAAA;AACA1C,YAAAA,mBAAAA;AACAtC,YAAAA,WAAAA;AACAuC,YAAAA,mBAAAA;AACAtC,YAAAA,YAAAA;YACA8K,gBAAkBzD,EAAAA,sBAAAA,EAAAA;AAClB3B,YAAAA,eAAAA;AACA8B,YAAAA,8BAAAA;AACAvH,YAAAA,aAAAA;AACAkE,YAAAA,eAAAA;AACA4G,YAAAA,sBAAAA,EAAwBC,yBAAgBnL,CAAAA,YAAAA,CAAAA;AACxCoJ,YAAAA,UAAAA;AACAkB,YAAAA;AACF,SAAA;;AAEC1K,YAAAA,QAAAA;AACA4C,YAAAA,mBAAAA,kBAAuByG,cAACmC,CAAAA,mBAAAA,EAAAA,EAAAA;;;AAG/B,CAAA;AAEA;AACA,4BAAA,cAAeC,WAAK1L,mBAAqB,CAAA;;;;"}