@strapi/content-type-builder 5.13.1 → 5.15.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 +81514 -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 +14 -9
  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
@@ -7,10 +7,13 @@ var reactIntl = require('react-intl');
7
7
  var reactRouterDom = require('react-router-dom');
8
8
  var AutoReloadOverlayBlocker = require('../../components/AutoReloadOverlayBlocker.js');
9
9
  var ContentTypeBuilderNav = require('../../components/ContentTypeBuilderNav/ContentTypeBuilderNav.js');
10
- var DataManagerProvider = require('../../components/DataManagerProvider/DataManagerProvider.js');
11
- var FormModalNavigationProvider = require('../../components/FormModalNavigationProvider/FormModalNavigationProvider.js');
10
+ var DataManagerProvider = require('../../components/DataManager/DataManagerProvider.js');
11
+ var ExitPrompt = require('../../components/ExitPrompt.js');
12
+ var FormModal = require('../../components/FormModal/FormModal.js');
13
+ var FormModalNavigationProvider = require('../../components/FormModalNavigation/FormModalNavigationProvider.js');
12
14
  var constants = require('../../constants.js');
13
15
  var pluginId = require('../../pluginId.js');
16
+ var EmptyState = require('../ListView/EmptyState.js');
14
17
 
15
18
  function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
16
19
 
@@ -22,6 +25,7 @@ const App = ()=>{
22
25
  defaultMessage: 'Content Types Builder'
23
26
  });
24
27
  const startSection = strapiAdmin.useGuidedTour('App', (state)=>state.startSection);
28
+ const autoReload = strapiAdmin.useAppInfo('DataManagerProvider', (state)=>state.autoReload);
25
29
  const startSectionRef = React.useRef(startSection);
26
30
  React.useEffect(()=>{
27
31
  if (startSectionRef.current) {
@@ -36,25 +40,41 @@ const App = ()=>{
36
40
  }),
37
41
  /*#__PURE__*/ jsxRuntime.jsx(AutoReloadOverlayBlocker.AutoReloadOverlayBlockerProvider, {
38
42
  children: /*#__PURE__*/ jsxRuntime.jsx(FormModalNavigationProvider.FormModalNavigationProvider, {
39
- children: /*#__PURE__*/ jsxRuntime.jsx(DataManagerProvider, {
40
- children: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Root, {
41
- sideNav: /*#__PURE__*/ jsxRuntime.jsx(ContentTypeBuilderNav.ContentTypeBuilderNav, {}),
42
- children: /*#__PURE__*/ jsxRuntime.jsx(React.Suspense, {
43
- fallback: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {}),
44
- children: /*#__PURE__*/ jsxRuntime.jsxs(reactRouterDom.Routes, {
45
- children: [
46
- /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
47
- path: "content-types/:uid",
48
- element: /*#__PURE__*/ jsxRuntime.jsx(ListView, {})
49
- }),
50
- /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
51
- path: `component-categories/:categoryUid/:componentUid`,
52
- element: /*#__PURE__*/ jsxRuntime.jsx(ListView, {})
43
+ children: /*#__PURE__*/ jsxRuntime.jsxs(DataManagerProvider, {
44
+ children: [
45
+ /*#__PURE__*/ jsxRuntime.jsx(ExitPrompt.ExitPrompt, {}),
46
+ /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
47
+ children: [
48
+ autoReload && /*#__PURE__*/ jsxRuntime.jsx(FormModal.FormModal, {}),
49
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Root, {
50
+ sideNav: /*#__PURE__*/ jsxRuntime.jsx(ContentTypeBuilderNav.ContentTypeBuilderNav, {}),
51
+ children: /*#__PURE__*/ jsxRuntime.jsx(React.Suspense, {
52
+ fallback: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {}),
53
+ children: /*#__PURE__*/ jsxRuntime.jsxs(reactRouterDom.Routes, {
54
+ children: [
55
+ /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
56
+ path: "content-types/create-content-type",
57
+ element: /*#__PURE__*/ jsxRuntime.jsx(EmptyState.EmptyState, {})
58
+ }),
59
+ /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
60
+ path: "content-types/:contentTypeUid",
61
+ element: /*#__PURE__*/ jsxRuntime.jsx(ListView, {})
62
+ }),
63
+ /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
64
+ path: `component-categories/:categoryUid/:componentUid`,
65
+ element: /*#__PURE__*/ jsxRuntime.jsx(ListView, {})
66
+ }),
67
+ /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
68
+ path: "*",
69
+ element: /*#__PURE__*/ jsxRuntime.jsx(ListView, {})
70
+ })
71
+ ]
72
+ })
53
73
  })
54
- ]
55
- })
74
+ })
75
+ ]
56
76
  })
57
- })
77
+ ]
58
78
  })
59
79
  })
60
80
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect, useRef } from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport DataManagerProvider from '../../components/DataManagerProvider/DataManagerProvider';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigationProvider/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n const startSection = useGuidedTour('App', (state) => state.startSection);\n const startSectionRef = useRef(startSection);\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentTypeBuilder');\n }\n }, []);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/:uid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n </Routes>\n </Suspense>\n </Layouts.Root>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","startSection","useGuidedTour","state","startSectionRef","useRef","useEffect","current","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","FormModalNavigationProvider","DataManagerProvider","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAMA,QAAWC,iBAAAA,UAAAA,CAAK,IAAM,8FAAO,yBAAA,MAAA,CAAA;AAEnC,MAAMC,GAAM,GAAA,IAAA;IACV,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAc,CAAA;AAC1BG,QAAAA,EAAAA,EAAI,CAAC,EAAEC,iBAAS,CAAA,YAAY,CAAC;QAC7BC,cAAgB,EAAA;AAClB,KAAA,CAAA;AACA,IAAA,MAAMC,eAAeC,yBAAc,CAAA,KAAA,EAAO,CAACC,KAAAA,GAAUA,MAAMF,YAAY,CAAA;AACvE,IAAA,MAAMG,kBAAkBC,YAAOJ,CAAAA,YAAAA,CAAAA;IAE/BK,eAAU,CAAA,IAAA;QACR,IAAIF,eAAAA,CAAgBG,OAAO,EAAE;AAC3BH,YAAAA,eAAAA,CAAgBG,OAAO,CAAC,oBAAA,CAAA;AAC1B;AACF,KAAA,EAAG,EAAE,CAAA;IAEL,qBACEC,eAAA,CAACC,iBAAKC,OAAO,EAAA;AAACC,QAAAA,WAAAA,EAAaC,sBAAYC,IAAI;;AACzC,0BAAAC,cAAA,CAACL,iBAAKM,KAAK,EAAA;AAAElB,gBAAAA,QAAAA,EAAAA;;0BACbiB,cAACE,CAAAA,yDAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAF,cAACG,CAAAA,uDAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAH,cAACI,CAAAA,mBAAAA,EAAAA;gDACCJ,cAAA,CAACK,oBAAQC,IAAI,EAAA;AAACC,4BAAAA,OAAAA,gBAASP,cAACQ,CAAAA,2CAAAA,EAAAA,EAAAA,CAAAA;AACtB,4BAAA,QAAA,gBAAAR,cAACS,CAAAA,cAAAA,EAAAA;gCAASC,QAAU,gBAAAV,cAAA,CAACL,iBAAKgB,OAAO,EAAA,EAAA,CAAA;AAC/B,gCAAA,QAAA,gBAAAjB,eAACkB,CAAAA,qBAAAA,EAAAA;;sDACCZ,cAACa,CAAAA,oBAAAA,EAAAA;4CAAMC,IAAK,EAAA,oBAAA;AAAqBC,4CAAAA,OAAAA,gBAASf,cAACtB,CAAAA,QAAAA,EAAAA,EAAAA;;sDAC3CsB,cAACa,CAAAA,oBAAAA,EAAAA;4CACCC,IAAM,EAAA,CAAC,+CAA+C,CAAC;AACvDC,4CAAAA,OAAAA,gBAASf,cAACtB,CAAAA,QAAAA,EAAAA,EAAAA;;;;;;;;;;;AAU9B;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect, useRef } from 'react';\n\nimport { Page, useGuidedTour, Layouts, useAppInfo } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n const startSection = useGuidedTour('App', (state) => state.startSection);\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const startSectionRef = useRef(startSection);\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentTypeBuilder');\n }\n }, []);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n </>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","startSection","useGuidedTour","state","autoReload","useAppInfo","startSectionRef","useRef","useEffect","current","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,MAAMA,QAAWC,iBAAAA,UAAAA,CAAK,IAAM,8FAAO,yBAAA,MAAA,CAAA;AAEnC,MAAMC,GAAM,GAAA,IAAA;IACV,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAc,CAAA;AAC1BG,QAAAA,EAAAA,EAAI,CAAC,EAAEC,iBAAS,CAAA,YAAY,CAAC;QAC7BC,cAAgB,EAAA;AAClB,KAAA,CAAA;AACA,IAAA,MAAMC,eAAeC,yBAAc,CAAA,KAAA,EAAO,CAACC,KAAAA,GAAUA,MAAMF,YAAY,CAAA;AACvE,IAAA,MAAMG,aAAaC,sBAAW,CAAA,qBAAA,EAAuB,CAACF,KAAAA,GAAUA,MAAMC,UAAU,CAAA;AAChF,IAAA,MAAME,kBAAkBC,YAAON,CAAAA,YAAAA,CAAAA;IAE/BO,eAAU,CAAA,IAAA;QACR,IAAIF,eAAAA,CAAgBG,OAAO,EAAE;AAC3BH,YAAAA,eAAAA,CAAgBG,OAAO,CAAC,oBAAA,CAAA;AAC1B;AACF,KAAA,EAAG,EAAE,CAAA;IAEL,qBACEC,eAAA,CAACC,iBAAKC,OAAO,EAAA;AAACC,QAAAA,WAAAA,EAAaC,sBAAYC,IAAI;;AACzC,0BAAAC,cAAA,CAACL,iBAAKM,KAAK,EAAA;AAAEpB,gBAAAA,QAAAA,EAAAA;;0BACbmB,cAACE,CAAAA,yDAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAF,cAACG,CAAAA,uDAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAT,eAACU,CAAAA,mBAAAA,EAAAA;;0CACCJ,cAACK,CAAAA,qBAAAA,EAAAA,EAAAA,CAAAA;AACD,0CAAAX,eAAA,CAAAY,mBAAA,EAAA;;AACGlB,oCAAAA,UAAAA,kBAAcY,cAACO,CAAAA,mBAAAA,EAAAA,EAAAA,CAAAA;AAChB,kDAAAP,cAAA,CAACQ,oBAAQC,IAAI,EAAA;AAACC,wCAAAA,OAAAA,gBAASV,cAACW,CAAAA,2CAAAA,EAAAA,EAAAA,CAAAA;AACtB,wCAAA,QAAA,gBAAAX,cAACY,CAAAA,cAAAA,EAAAA;4CAASC,QAAU,gBAAAb,cAAA,CAACL,iBAAKmB,OAAO,EAAA,EAAA,CAAA;AAC/B,4CAAA,QAAA,gBAAApB,eAACqB,CAAAA,qBAAAA,EAAAA;;kEACCf,cAACgB,CAAAA,oBAAAA,EAAAA;wDAAMC,IAAK,EAAA,mCAAA;AAAoCC,wDAAAA,OAAAA,gBAASlB,cAACmB,CAAAA,qBAAAA,EAAAA,EAAAA;;kEAC1DnB,cAACgB,CAAAA,oBAAAA,EAAAA;wDAAMC,IAAK,EAAA,+BAAA;AAAgCC,wDAAAA,OAAAA,gBAASlB,cAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;kEACtDwB,cAACgB,CAAAA,oBAAAA,EAAAA;wDACCC,IAAM,EAAA,CAAC,+CAA+C,CAAC;AACvDC,wDAAAA,OAAAA,gBAASlB,cAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;kEAEZwB,cAACgB,CAAAA,oBAAAA,EAAAA;wDAAMC,IAAK,EAAA,GAAA;AAAIC,wDAAAA,OAAAA,gBAASlB,cAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;;;;;;;;;;;;;AAU9C;;;;"}
@@ -1,14 +1,17 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { useRef, useEffect, Suspense, lazy } from 'react';
3
- import { useGuidedTour, Page, Layouts } from '@strapi/admin/strapi-admin';
3
+ import { useGuidedTour, useAppInfo, Page, Layouts } from '@strapi/admin/strapi-admin';
4
4
  import { useIntl } from 'react-intl';
5
5
  import { Routes, Route } from 'react-router-dom';
6
6
  import { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker.mjs';
7
7
  import { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs';
8
- import DataManagerProvider from '../../components/DataManagerProvider/DataManagerProvider.mjs';
9
- import { FormModalNavigationProvider } from '../../components/FormModalNavigationProvider/FormModalNavigationProvider.mjs';
8
+ import DataManagerProvider from '../../components/DataManager/DataManagerProvider.mjs';
9
+ import { ExitPrompt } from '../../components/ExitPrompt.mjs';
10
+ import { FormModal } from '../../components/FormModal/FormModal.mjs';
11
+ import { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider.mjs';
10
12
  import { PERMISSIONS } from '../../constants.mjs';
11
13
  import { pluginId } from '../../pluginId.mjs';
14
+ import { EmptyState } from '../ListView/EmptyState.mjs';
12
15
 
13
16
  const ListView = /*#__PURE__*/ lazy(()=>import('../ListView/ListView.mjs'));
14
17
  const App = ()=>{
@@ -18,6 +21,7 @@ const App = ()=>{
18
21
  defaultMessage: 'Content Types Builder'
19
22
  });
20
23
  const startSection = useGuidedTour('App', (state)=>state.startSection);
24
+ const autoReload = useAppInfo('DataManagerProvider', (state)=>state.autoReload);
21
25
  const startSectionRef = useRef(startSection);
22
26
  useEffect(()=>{
23
27
  if (startSectionRef.current) {
@@ -32,25 +36,41 @@ const App = ()=>{
32
36
  }),
33
37
  /*#__PURE__*/ jsx(AutoReloadOverlayBlockerProvider, {
34
38
  children: /*#__PURE__*/ jsx(FormModalNavigationProvider, {
35
- children: /*#__PURE__*/ jsx(DataManagerProvider, {
36
- children: /*#__PURE__*/ jsx(Layouts.Root, {
37
- sideNav: /*#__PURE__*/ jsx(ContentTypeBuilderNav, {}),
38
- children: /*#__PURE__*/ jsx(Suspense, {
39
- fallback: /*#__PURE__*/ jsx(Page.Loading, {}),
40
- children: /*#__PURE__*/ jsxs(Routes, {
41
- children: [
42
- /*#__PURE__*/ jsx(Route, {
43
- path: "content-types/:uid",
44
- element: /*#__PURE__*/ jsx(ListView, {})
45
- }),
46
- /*#__PURE__*/ jsx(Route, {
47
- path: `component-categories/:categoryUid/:componentUid`,
48
- element: /*#__PURE__*/ jsx(ListView, {})
39
+ children: /*#__PURE__*/ jsxs(DataManagerProvider, {
40
+ children: [
41
+ /*#__PURE__*/ jsx(ExitPrompt, {}),
42
+ /*#__PURE__*/ jsxs(Fragment, {
43
+ children: [
44
+ autoReload && /*#__PURE__*/ jsx(FormModal, {}),
45
+ /*#__PURE__*/ jsx(Layouts.Root, {
46
+ sideNav: /*#__PURE__*/ jsx(ContentTypeBuilderNav, {}),
47
+ children: /*#__PURE__*/ jsx(Suspense, {
48
+ fallback: /*#__PURE__*/ jsx(Page.Loading, {}),
49
+ children: /*#__PURE__*/ jsxs(Routes, {
50
+ children: [
51
+ /*#__PURE__*/ jsx(Route, {
52
+ path: "content-types/create-content-type",
53
+ element: /*#__PURE__*/ jsx(EmptyState, {})
54
+ }),
55
+ /*#__PURE__*/ jsx(Route, {
56
+ path: "content-types/:contentTypeUid",
57
+ element: /*#__PURE__*/ jsx(ListView, {})
58
+ }),
59
+ /*#__PURE__*/ jsx(Route, {
60
+ path: `component-categories/:categoryUid/:componentUid`,
61
+ element: /*#__PURE__*/ jsx(ListView, {})
62
+ }),
63
+ /*#__PURE__*/ jsx(Route, {
64
+ path: "*",
65
+ element: /*#__PURE__*/ jsx(ListView, {})
66
+ })
67
+ ]
68
+ })
49
69
  })
50
- ]
51
- })
70
+ })
71
+ ]
52
72
  })
53
- })
73
+ ]
54
74
  })
55
75
  })
56
76
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect, useRef } from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport DataManagerProvider from '../../components/DataManagerProvider/DataManagerProvider';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigationProvider/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n const startSection = useGuidedTour('App', (state) => state.startSection);\n const startSectionRef = useRef(startSection);\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentTypeBuilder');\n }\n }, []);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/:uid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n </Routes>\n </Suspense>\n </Layouts.Root>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","startSection","useGuidedTour","state","startSectionRef","useRef","useEffect","current","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","FormModalNavigationProvider","DataManagerProvider","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element"],"mappings":";;;;;;;;;;;;AAgBA,MAAMA,QAAWC,iBAAAA,IAAAA,CAAK,IAAM,OAAO,0BAAA,CAAA,CAAA;AAEnC,MAAMC,GAAM,GAAA,IAAA;IACV,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAc,CAAA;AAC1BG,QAAAA,EAAAA,EAAI,CAAC,EAAEC,QAAS,CAAA,YAAY,CAAC;QAC7BC,cAAgB,EAAA;AAClB,KAAA,CAAA;AACA,IAAA,MAAMC,eAAeC,aAAc,CAAA,KAAA,EAAO,CAACC,KAAAA,GAAUA,MAAMF,YAAY,CAAA;AACvE,IAAA,MAAMG,kBAAkBC,MAAOJ,CAAAA,YAAAA,CAAAA;IAE/BK,SAAU,CAAA,IAAA;QACR,IAAIF,eAAAA,CAAgBG,OAAO,EAAE;AAC3BH,YAAAA,eAAAA,CAAgBG,OAAO,CAAC,oBAAA,CAAA;AAC1B;AACF,KAAA,EAAG,EAAE,CAAA;IAEL,qBACEC,IAAA,CAACC,KAAKC,OAAO,EAAA;AAACC,QAAAA,WAAAA,EAAaC,YAAYC,IAAI;;AACzC,0BAAAC,GAAA,CAACL,KAAKM,KAAK,EAAA;AAAElB,gBAAAA,QAAAA,EAAAA;;0BACbiB,GAACE,CAAAA,gCAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAF,GAACG,CAAAA,2BAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAH,GAACI,CAAAA,mBAAAA,EAAAA;gDACCJ,GAAA,CAACK,QAAQC,IAAI,EAAA;AAACC,4BAAAA,OAAAA,gBAASP,GAACQ,CAAAA,qBAAAA,EAAAA,EAAAA,CAAAA;AACtB,4BAAA,QAAA,gBAAAR,GAACS,CAAAA,QAAAA,EAAAA;gCAASC,QAAU,gBAAAV,GAAA,CAACL,KAAKgB,OAAO,EAAA,EAAA,CAAA;AAC/B,gCAAA,QAAA,gBAAAjB,IAACkB,CAAAA,MAAAA,EAAAA;;sDACCZ,GAACa,CAAAA,KAAAA,EAAAA;4CAAMC,IAAK,EAAA,oBAAA;AAAqBC,4CAAAA,OAAAA,gBAASf,GAACtB,CAAAA,QAAAA,EAAAA,EAAAA;;sDAC3CsB,GAACa,CAAAA,KAAAA,EAAAA;4CACCC,IAAM,EAAA,CAAC,+CAA+C,CAAC;AACvDC,4CAAAA,OAAAA,gBAASf,GAACtB,CAAAA,QAAAA,EAAAA,EAAAA;;;;;;;;;;;AAU9B;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect, useRef } from 'react';\n\nimport { Page, useGuidedTour, Layouts, useAppInfo } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n const startSection = useGuidedTour('App', (state) => state.startSection);\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const startSectionRef = useRef(startSection);\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentTypeBuilder');\n }\n }, []);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n </>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","startSection","useGuidedTour","state","autoReload","useAppInfo","startSectionRef","useRef","useEffect","current","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAMA,QAAWC,iBAAAA,IAAAA,CAAK,IAAM,OAAO,0BAAA,CAAA,CAAA;AAEnC,MAAMC,GAAM,GAAA,IAAA;IACV,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAc,CAAA;AAC1BG,QAAAA,EAAAA,EAAI,CAAC,EAAEC,QAAS,CAAA,YAAY,CAAC;QAC7BC,cAAgB,EAAA;AAClB,KAAA,CAAA;AACA,IAAA,MAAMC,eAAeC,aAAc,CAAA,KAAA,EAAO,CAACC,KAAAA,GAAUA,MAAMF,YAAY,CAAA;AACvE,IAAA,MAAMG,aAAaC,UAAW,CAAA,qBAAA,EAAuB,CAACF,KAAAA,GAAUA,MAAMC,UAAU,CAAA;AAChF,IAAA,MAAME,kBAAkBC,MAAON,CAAAA,YAAAA,CAAAA;IAE/BO,SAAU,CAAA,IAAA;QACR,IAAIF,eAAAA,CAAgBG,OAAO,EAAE;AAC3BH,YAAAA,eAAAA,CAAgBG,OAAO,CAAC,oBAAA,CAAA;AAC1B;AACF,KAAA,EAAG,EAAE,CAAA;IAEL,qBACEC,IAAA,CAACC,KAAKC,OAAO,EAAA;AAACC,QAAAA,WAAAA,EAAaC,YAAYC,IAAI;;AACzC,0BAAAC,GAAA,CAACL,KAAKM,KAAK,EAAA;AAAEpB,gBAAAA,QAAAA,EAAAA;;0BACbmB,GAACE,CAAAA,gCAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAF,GAACG,CAAAA,2BAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAT,IAACU,CAAAA,mBAAAA,EAAAA;;0CACCJ,GAACK,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;AACD,0CAAAX,IAAA,CAAAY,QAAA,EAAA;;AACGlB,oCAAAA,UAAAA,kBAAcY,GAACO,CAAAA,SAAAA,EAAAA,EAAAA,CAAAA;AAChB,kDAAAP,GAAA,CAACQ,QAAQC,IAAI,EAAA;AAACC,wCAAAA,OAAAA,gBAASV,GAACW,CAAAA,qBAAAA,EAAAA,EAAAA,CAAAA;AACtB,wCAAA,QAAA,gBAAAX,GAACY,CAAAA,QAAAA,EAAAA;4CAASC,QAAU,gBAAAb,GAAA,CAACL,KAAKmB,OAAO,EAAA,EAAA,CAAA;AAC/B,4CAAA,QAAA,gBAAApB,IAACqB,CAAAA,MAAAA,EAAAA;;kEACCf,GAACgB,CAAAA,KAAAA,EAAAA;wDAAMC,IAAK,EAAA,mCAAA;AAAoCC,wDAAAA,OAAAA,gBAASlB,GAACmB,CAAAA,UAAAA,EAAAA,EAAAA;;kEAC1DnB,GAACgB,CAAAA,KAAAA,EAAAA;wDAAMC,IAAK,EAAA,+BAAA;AAAgCC,wDAAAA,OAAAA,gBAASlB,GAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;kEACtDwB,GAACgB,CAAAA,KAAAA,EAAAA;wDACCC,IAAM,EAAA,CAAC,+CAA+C,CAAC;AACvDC,wDAAAA,OAAAA,gBAASlB,GAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;kEAEZwB,GAACgB,CAAAA,KAAAA,EAAAA;wDAAMC,IAAK,EAAA,GAAA;AAAIC,wDAAAA,OAAAA,gBAASlB,GAACxB,CAAAA,QAAAA,EAAAA,EAAAA;;;;;;;;;;;;;;AAU9C;;;;"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var designSystem = require('@strapi/design-system');
5
+ var reactIntl = require('react-intl');
6
+ var getTrad = require('../../utils/getTrad.js');
7
+
8
+ const EmptyState = ()=>{
9
+ const { formatMessage } = reactIntl.useIntl();
10
+ const pluginName = formatMessage({
11
+ id: getTrad.getTrad('plugin.name'),
12
+ defaultMessage: 'Content-Type Builder'
13
+ });
14
+ return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
15
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
16
+ justifyContent: "center",
17
+ alignItems: "center",
18
+ height: "100%",
19
+ direction: "column",
20
+ children: [
21
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
22
+ variant: "alpha",
23
+ children: pluginName
24
+ }),
25
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
26
+ variant: "delta",
27
+ children: formatMessage({
28
+ id: getTrad.getTrad('table.content.create-first-content-type'),
29
+ defaultMessage: 'Create your first Collection-Type'
30
+ })
31
+ })
32
+ ]
33
+ })
34
+ });
35
+ };
36
+
37
+ exports.EmptyState = EmptyState;
38
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../utils/getTrad';\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Content-Type Builder',\n });\n\n return (\n <>\n <Flex justifyContent=\"center\" alignItems=\"center\" height=\"100%\" direction=\"column\">\n <Typography variant=\"alpha\">{pluginName}</Typography>\n <Typography variant=\"delta\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type'),\n defaultMessage: 'Create your first Collection-Type',\n })}\n </Typography>\n </Flex>\n </>\n );\n};\n"],"names":["EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","_jsx","_Fragment","_jsxs","Flex","justifyContent","alignItems","height","direction","Typography","variant"],"mappings":";;;;;;;MAKaA,UAAa,GAAA,IAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,aAAaF,aAAc,CAAA;AAC/BG,QAAAA,EAAAA,EAAIC,eAAQ,CAAA,aAAA,CAAA;QACZC,cAAgB,EAAA;AAClB,KAAA,CAAA;IAEA,qBACEC,cAAA,CAAAC,mBAAA,EAAA;AACE,QAAA,QAAA,gBAAAC,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,cAAe,EAAA,QAAA;YAASC,UAAW,EAAA,QAAA;YAASC,MAAO,EAAA,MAAA;YAAOC,SAAU,EAAA,QAAA;;8BACxEP,cAACQ,CAAAA,uBAAAA,EAAAA;oBAAWC,OAAQ,EAAA,OAAA;AAASb,oBAAAA,QAAAA,EAAAA;;8BAC7BI,cAACQ,CAAAA,uBAAAA,EAAAA;oBAAWC,OAAQ,EAAA,OAAA;8BACjBf,aAAc,CAAA;AACbG,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,yCAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -0,0 +1,36 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { Flex, Typography } from '@strapi/design-system';
3
+ import { useIntl } from 'react-intl';
4
+ import { getTrad } from '../../utils/getTrad.mjs';
5
+
6
+ const EmptyState = ()=>{
7
+ const { formatMessage } = useIntl();
8
+ const pluginName = formatMessage({
9
+ id: getTrad('plugin.name'),
10
+ defaultMessage: 'Content-Type Builder'
11
+ });
12
+ return /*#__PURE__*/ jsx(Fragment, {
13
+ children: /*#__PURE__*/ jsxs(Flex, {
14
+ justifyContent: "center",
15
+ alignItems: "center",
16
+ height: "100%",
17
+ direction: "column",
18
+ children: [
19
+ /*#__PURE__*/ jsx(Typography, {
20
+ variant: "alpha",
21
+ children: pluginName
22
+ }),
23
+ /*#__PURE__*/ jsx(Typography, {
24
+ variant: "delta",
25
+ children: formatMessage({
26
+ id: getTrad('table.content.create-first-content-type'),
27
+ defaultMessage: 'Create your first Collection-Type'
28
+ })
29
+ })
30
+ ]
31
+ })
32
+ });
33
+ };
34
+
35
+ export { EmptyState };
36
+ //# sourceMappingURL=EmptyState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.mjs","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../utils/getTrad';\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Content-Type Builder',\n });\n\n return (\n <>\n <Flex justifyContent=\"center\" alignItems=\"center\" height=\"100%\" direction=\"column\">\n <Typography variant=\"alpha\">{pluginName}</Typography>\n <Typography variant=\"delta\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type'),\n defaultMessage: 'Create your first Collection-Type',\n })}\n </Typography>\n </Flex>\n </>\n );\n};\n"],"names":["EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","_jsx","_Fragment","_jsxs","Flex","justifyContent","alignItems","height","direction","Typography","variant"],"mappings":";;;;;MAKaA,UAAa,GAAA,IAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,aAAaF,aAAc,CAAA;AAC/BG,QAAAA,EAAAA,EAAIC,OAAQ,CAAA,aAAA,CAAA;QACZC,cAAgB,EAAA;AAClB,KAAA,CAAA;IAEA,qBACEC,GAAA,CAAAC,QAAA,EAAA;AACE,QAAA,QAAA,gBAAAC,IAACC,CAAAA,IAAAA,EAAAA;YAAKC,cAAe,EAAA,QAAA;YAASC,UAAW,EAAA,QAAA;YAASC,MAAO,EAAA,MAAA;YAAOC,SAAU,EAAA,QAAA;;8BACxEP,GAACQ,CAAAA,UAAAA,EAAAA;oBAAWC,OAAQ,EAAA,OAAA;AAASb,oBAAAA,QAAAA,EAAAA;;8BAC7BI,GAACQ,CAAAA,UAAAA,EAAAA;oBAAWC,OAAQ,EAAA,OAAA;8BACjBf,aAAc,CAAA;AACbG,wBAAAA,EAAAA,EAAIC,OAAQ,CAAA,yCAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -7,6 +7,7 @@ var designSystem = require('@strapi/design-system');
7
7
  var Icons = require('@strapi/icons');
8
8
  var reactIntl = require('react-intl');
9
9
  var reactRouterDom = require('react-router-dom');
10
+ var styledComponents = require('styled-components');
10
11
 
11
12
  const cmPermissions = {
12
13
  collectionTypesConfigurations: [
@@ -28,22 +29,35 @@ const cmPermissions = {
28
29
  }
29
30
  ]
30
31
  };
31
- const getPermission = ({ isInContentTypeView, contentTypeKind })=>{
32
- if (isInContentTypeView) {
33
- if (contentTypeKind === 'singleType') {
32
+ const getPermission = (type)=>{
33
+ if (type.modelType === 'contentType') {
34
+ if (type.kind === 'singleType') {
34
35
  return cmPermissions.singleTypesConfigurations;
35
36
  }
36
37
  return cmPermissions.collectionTypesConfigurations;
37
38
  }
38
39
  return cmPermissions.componentsConfigurations;
39
40
  };
40
- const LinkToCMSettingsView = /*#__PURE__*/ React.memo(({ disabled, isInContentTypeView = true, contentTypeKind = 'collectionType', targetUid = '' })=>{
41
+ const getLink = (type)=>{
42
+ switch(type.modelType){
43
+ case 'contentType':
44
+ switch(type.kind){
45
+ case 'singleType':
46
+ return `/content-manager/single-types/${type.uid}/configurations/edit`;
47
+ case 'collectionType':
48
+ return `/content-manager/collection-types/${type.uid}/configurations/edit`;
49
+ }
50
+ case 'component':
51
+ return `/content-manager/components/${type.uid}/configurations/edit`;
52
+ }
53
+ };
54
+ const StyledButton = styledComponents.styled(designSystem.Button)`
55
+ white-space: nowrap;
56
+ `;
57
+ const LinkToCMSettingsView = /*#__PURE__*/ React.memo(({ disabled, type })=>{
41
58
  const { formatMessage } = reactIntl.useIntl();
42
59
  const navigate = reactRouterDom.useNavigate();
43
- const permissionsToApply = getPermission({
44
- isInContentTypeView,
45
- contentTypeKind
46
- });
60
+ const permissionsToApply = getPermission(type);
47
61
  const label = formatMessage({
48
62
  id: 'content-type-builder.form.button.configure-view',
49
63
  defaultMessage: 'Configure the view'
@@ -52,23 +66,18 @@ const LinkToCMSettingsView = /*#__PURE__*/ React.memo(({ disabled, isInContentTy
52
66
  if (disabled) {
53
67
  return false;
54
68
  }
55
- if (isInContentTypeView) {
56
- navigate(`/content-manager/collection-types/${targetUid}/configurations/edit`);
57
- } else {
58
- navigate(`/content-manager/components/${targetUid}/configurations/edit`);
59
- }
69
+ const link = getLink(type);
70
+ navigate(link);
60
71
  return false;
61
72
  };
62
- const { isLoading, allowedActions } = strapiAdmin.useRBAC({
63
- viewConfig: permissionsToApply
64
- });
73
+ const { isLoading, allowedActions } = strapiAdmin.useRBAC(permissionsToApply);
65
74
  if (isLoading) {
66
75
  return null;
67
76
  }
68
77
  if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {
69
78
  return null;
70
79
  }
71
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
80
+ return /*#__PURE__*/ jsxRuntime.jsx(StyledButton, {
72
81
  startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.ListPlus, {}),
73
82
  variant: "tertiary",
74
83
  onClick: handleClick,
@@ -1 +1 @@
1
- {"version":3,"file":"LinkToCMSettingsView.js","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = ({\n isInContentTypeView,\n contentTypeKind,\n}: {\n isInContentTypeView: boolean;\n contentTypeKind: string;\n}) => {\n if (isInContentTypeView) {\n if (contentTypeKind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n contentTypeKind?: string;\n isInContentTypeView?: boolean;\n targetUid?: string;\n}\n\nexport const LinkToCMSettingsView = memo(\n ({\n disabled,\n isInContentTypeView = true,\n contentTypeKind = 'collectionType',\n targetUid = '',\n }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission({ isInContentTypeView, contentTypeKind });\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n if (isInContentTypeView) {\n navigate(`/content-manager/collection-types/${targetUid}/configurations/edit`);\n } else {\n navigate(`/content-manager/components/${targetUid}/configurations/edit`);\n }\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC({\n viewConfig: permissionsToApply,\n });\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <Button startIcon={<ListPlus />} variant=\"tertiary\" onClick={handleClick} disabled={disabled}>\n {label}\n </Button>\n );\n }\n);\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","isInContentTypeView","contentTypeKind","LinkToCMSettingsView","memo","disabled","targetUid","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","isLoading","allowedActions","useRBAC","viewConfig","canConfigureView","canConfigureLayout","_jsx","Button","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;;AAQA,MAAMA,aAA8C,GAAA;IAClDC,6BAA+B,EAAA;AAC7B,QAAA;YACEC,MAAQ,EAAA,yDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDC,wBAA0B,EAAA;AACxB,QAAA;YACEF,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDE,yBAA2B,EAAA;AACzB,QAAA;YACEH,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAAC,EACrBC,mBAAmB,EACnBC,eAAe,EAIhB,GAAA;AACC,IAAA,IAAID,mBAAqB,EAAA;AACvB,QAAA,IAAIC,oBAAoB,YAAc,EAAA;AACpC,YAAA,OAAOR,cAAcK,yBAAyB;AAChD;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AASaK,MAAAA,oBAAAA,iBAAuBC,UAClC,CAAA,CAAC,EACCC,QAAQ,EACRJ,mBAAsB,GAAA,IAAI,EAC1BC,eAAkB,GAAA,gBAAgB,EAClCI,SAAAA,GAAY,EAAE,EACY,GAAA;IAC1B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAWC,GAAAA,0BAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBX,aAAc,CAAA;AAAEC,QAAAA,mBAAAA;AAAqBC,QAAAA;AAAgB,KAAA,CAAA;AAEhF,IAAA,MAAMU,QAAQL,aAAc,CAAA;QAC1BM,EAAI,EAAA,iDAAA;QACJC,cAAgB,EAAA;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAc,GAAA,IAAA;AAClB,QAAA,IAAIV,QAAU,EAAA;YACZ,OAAO,KAAA;AACT;AAEA,QAAA,IAAIJ,mBAAqB,EAAA;AACvBQ,YAAAA,QAAAA,CAAS,CAAC,kCAAkC,EAAEH,SAAAA,CAAU,oBAAoB,CAAC,CAAA;SACxE,MAAA;AACLG,YAAAA,QAAAA,CAAS,CAAC,4BAA4B,EAAEH,SAAAA,CAAU,oBAAoB,CAAC,CAAA;AACzE;QAEA,OAAO,KAAA;AACT,KAAA;AAEA,IAAA,MAAM,EAAEU,SAAS,EAAEC,cAAc,EAAE,GAAGC,mBAAQ,CAAA;QAC5CC,UAAYR,EAAAA;AACd,KAAA,CAAA;AAEA,IAAA,IAAIK,SAAW,EAAA;QACb,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACC,cAAeG,CAAAA,gBAAgB,IAAI,CAACH,cAAAA,CAAeI,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT;AAEA,IAAA,qBACEC,cAACC,CAAAA,mBAAAA,EAAAA;AAAOC,QAAAA,SAAAA,gBAAWF,cAACG,CAAAA,cAAAA,EAAAA,EAAAA,CAAAA;QAAaC,OAAQ,EAAA,UAAA;QAAWC,OAASZ,EAAAA,WAAAA;QAAaV,QAAUA,EAAAA,QAAAA;AACjFO,QAAAA,QAAAA,EAAAA;;AAGP,CACA;;;;"}
1
+ {"version":3,"file":"LinkToCMSettingsView.js","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;;;AAWA,MAAMA,aAA8C,GAAA;IAClDC,6BAA+B,EAAA;AAC7B,QAAA;YACEC,MAAQ,EAAA,yDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDC,wBAA0B,EAAA;AACxB,QAAA;YACEF,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDE,yBAA2B,EAAA;AACzB,QAAA;YACEH,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAACC,IAAAA,GAAAA;IACrB,IAAIA,IAAAA,CAAKC,SAAS,KAAK,aAAe,EAAA;QACpC,IAAID,IAAAA,CAAKE,IAAI,KAAK,YAAc,EAAA;AAC9B,YAAA,OAAOT,cAAcK,yBAAyB;AAChD;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AAOA,MAAMM,UAAU,CAACH,IAAAA,GAAAA;AACf,IAAA,OAAQA,KAAKC,SAAS;QACpB,KAAK,aAAA;AACH,YAAA,OAAQD,KAAKE,IAAI;gBACf,KAAK,YAAA;AACH,oBAAA,OAAO,CAAC,8BAA8B,EAAEF,KAAKI,GAAG,CAAC,oBAAoB,CAAC;gBACxE,KAAK,gBAAA;AACH,oBAAA,OAAO,CAAC,kCAAkC,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AAC9E;QACF,KAAK,WAAA;AACH,YAAA,OAAO,CAAC,4BAA4B,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AACxE;AACF,CAAA;AAEA,MAAMC,YAAAA,GAAeC,uBAAOC,CAAAA,mBAAAA,CAAO;;AAEnC,CAAC;AAEM,MAAMC,qCAAuBC,UAAK,CAAA,CAAC,EAAEC,QAAQ,EAAEV,IAAI,EAA6B,GAAA;IACrF,MAAM,EAAEW,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAWC,GAAAA,0BAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBhB,aAAcC,CAAAA,IAAAA,CAAAA;AAEzC,IAAA,MAAMgB,QAAQL,aAAc,CAAA;QAC1BM,EAAI,EAAA,iDAAA;QACJC,cAAgB,EAAA;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAc,GAAA,IAAA;AAClB,QAAA,IAAIT,QAAU,EAAA;YACZ,OAAO,KAAA;AACT;AAEA,QAAA,MAAMU,OAAOjB,OAAQH,CAAAA,IAAAA,CAAAA;QAErBa,QAASO,CAAAA,IAAAA,CAAAA;QAET,OAAO,KAAA;AACT,KAAA;AAEA,IAAA,MAAM,EAAEC,SAAS,EAAEC,cAAc,EAAE,GAAGC,mBAAQR,CAAAA,kBAAAA,CAAAA;AAE9C,IAAA,IAAIM,SAAW,EAAA;QACb,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACC,cAAeE,CAAAA,gBAAgB,IAAI,CAACF,cAAAA,CAAeG,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT;AAEA,IAAA,qBACEC,cAACrB,CAAAA,YAAAA,EAAAA;AACCsB,QAAAA,SAAAA,gBAAWD,cAACE,CAAAA,cAAAA,EAAAA,EAAAA,CAAAA;QACZC,OAAQ,EAAA,UAAA;QACRC,OAASX,EAAAA,WAAAA;QACTT,QAAUA,EAAAA,QAAAA;AAETM,QAAAA,QAAAA,EAAAA;;AAGP,CAAG;;;;"}
@@ -5,6 +5,7 @@ import { Button } from '@strapi/design-system';
5
5
  import { ListPlus } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useNavigate } from 'react-router-dom';
8
+ import { styled } from 'styled-components';
8
9
 
9
10
  const cmPermissions = {
10
11
  collectionTypesConfigurations: [
@@ -26,22 +27,35 @@ const cmPermissions = {
26
27
  }
27
28
  ]
28
29
  };
29
- const getPermission = ({ isInContentTypeView, contentTypeKind })=>{
30
- if (isInContentTypeView) {
31
- if (contentTypeKind === 'singleType') {
30
+ const getPermission = (type)=>{
31
+ if (type.modelType === 'contentType') {
32
+ if (type.kind === 'singleType') {
32
33
  return cmPermissions.singleTypesConfigurations;
33
34
  }
34
35
  return cmPermissions.collectionTypesConfigurations;
35
36
  }
36
37
  return cmPermissions.componentsConfigurations;
37
38
  };
38
- const LinkToCMSettingsView = /*#__PURE__*/ memo(({ disabled, isInContentTypeView = true, contentTypeKind = 'collectionType', targetUid = '' })=>{
39
+ const getLink = (type)=>{
40
+ switch(type.modelType){
41
+ case 'contentType':
42
+ switch(type.kind){
43
+ case 'singleType':
44
+ return `/content-manager/single-types/${type.uid}/configurations/edit`;
45
+ case 'collectionType':
46
+ return `/content-manager/collection-types/${type.uid}/configurations/edit`;
47
+ }
48
+ case 'component':
49
+ return `/content-manager/components/${type.uid}/configurations/edit`;
50
+ }
51
+ };
52
+ const StyledButton = styled(Button)`
53
+ white-space: nowrap;
54
+ `;
55
+ const LinkToCMSettingsView = /*#__PURE__*/ memo(({ disabled, type })=>{
39
56
  const { formatMessage } = useIntl();
40
57
  const navigate = useNavigate();
41
- const permissionsToApply = getPermission({
42
- isInContentTypeView,
43
- contentTypeKind
44
- });
58
+ const permissionsToApply = getPermission(type);
45
59
  const label = formatMessage({
46
60
  id: 'content-type-builder.form.button.configure-view',
47
61
  defaultMessage: 'Configure the view'
@@ -50,23 +64,18 @@ const LinkToCMSettingsView = /*#__PURE__*/ memo(({ disabled, isInContentTypeView
50
64
  if (disabled) {
51
65
  return false;
52
66
  }
53
- if (isInContentTypeView) {
54
- navigate(`/content-manager/collection-types/${targetUid}/configurations/edit`);
55
- } else {
56
- navigate(`/content-manager/components/${targetUid}/configurations/edit`);
57
- }
67
+ const link = getLink(type);
68
+ navigate(link);
58
69
  return false;
59
70
  };
60
- const { isLoading, allowedActions } = useRBAC({
61
- viewConfig: permissionsToApply
62
- });
71
+ const { isLoading, allowedActions } = useRBAC(permissionsToApply);
63
72
  if (isLoading) {
64
73
  return null;
65
74
  }
66
75
  if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {
67
76
  return null;
68
77
  }
69
- return /*#__PURE__*/ jsx(Button, {
78
+ return /*#__PURE__*/ jsx(StyledButton, {
70
79
  startIcon: /*#__PURE__*/ jsx(ListPlus, {}),
71
80
  variant: "tertiary",
72
81
  onClick: handleClick,
@@ -1 +1 @@
1
- {"version":3,"file":"LinkToCMSettingsView.mjs","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = ({\n isInContentTypeView,\n contentTypeKind,\n}: {\n isInContentTypeView: boolean;\n contentTypeKind: string;\n}) => {\n if (isInContentTypeView) {\n if (contentTypeKind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n contentTypeKind?: string;\n isInContentTypeView?: boolean;\n targetUid?: string;\n}\n\nexport const LinkToCMSettingsView = memo(\n ({\n disabled,\n isInContentTypeView = true,\n contentTypeKind = 'collectionType',\n targetUid = '',\n }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission({ isInContentTypeView, contentTypeKind });\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n if (isInContentTypeView) {\n navigate(`/content-manager/collection-types/${targetUid}/configurations/edit`);\n } else {\n navigate(`/content-manager/components/${targetUid}/configurations/edit`);\n }\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC({\n viewConfig: permissionsToApply,\n });\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <Button startIcon={<ListPlus />} variant=\"tertiary\" onClick={handleClick} disabled={disabled}>\n {label}\n </Button>\n );\n }\n);\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","isInContentTypeView","contentTypeKind","LinkToCMSettingsView","memo","disabled","targetUid","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","isLoading","allowedActions","useRBAC","viewConfig","canConfigureView","canConfigureLayout","_jsx","Button","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;AAQA,MAAMA,aAA8C,GAAA;IAClDC,6BAA+B,EAAA;AAC7B,QAAA;YACEC,MAAQ,EAAA,yDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDC,wBAA0B,EAAA;AACxB,QAAA;YACEF,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDE,yBAA2B,EAAA;AACzB,QAAA;YACEH,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAAC,EACrBC,mBAAmB,EACnBC,eAAe,EAIhB,GAAA;AACC,IAAA,IAAID,mBAAqB,EAAA;AACvB,QAAA,IAAIC,oBAAoB,YAAc,EAAA;AACpC,YAAA,OAAOR,cAAcK,yBAAyB;AAChD;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AASaK,MAAAA,oBAAAA,iBAAuBC,IAClC,CAAA,CAAC,EACCC,QAAQ,EACRJ,mBAAsB,GAAA,IAAI,EAC1BC,eAAkB,GAAA,gBAAgB,EAClCI,SAAAA,GAAY,EAAE,EACY,GAAA;IAC1B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBX,aAAc,CAAA;AAAEC,QAAAA,mBAAAA;AAAqBC,QAAAA;AAAgB,KAAA,CAAA;AAEhF,IAAA,MAAMU,QAAQL,aAAc,CAAA;QAC1BM,EAAI,EAAA,iDAAA;QACJC,cAAgB,EAAA;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAc,GAAA,IAAA;AAClB,QAAA,IAAIV,QAAU,EAAA;YACZ,OAAO,KAAA;AACT;AAEA,QAAA,IAAIJ,mBAAqB,EAAA;AACvBQ,YAAAA,QAAAA,CAAS,CAAC,kCAAkC,EAAEH,SAAAA,CAAU,oBAAoB,CAAC,CAAA;SACxE,MAAA;AACLG,YAAAA,QAAAA,CAAS,CAAC,4BAA4B,EAAEH,SAAAA,CAAU,oBAAoB,CAAC,CAAA;AACzE;QAEA,OAAO,KAAA;AACT,KAAA;AAEA,IAAA,MAAM,EAAEU,SAAS,EAAEC,cAAc,EAAE,GAAGC,OAAQ,CAAA;QAC5CC,UAAYR,EAAAA;AACd,KAAA,CAAA;AAEA,IAAA,IAAIK,SAAW,EAAA;QACb,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACC,cAAeG,CAAAA,gBAAgB,IAAI,CAACH,cAAAA,CAAeI,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT;AAEA,IAAA,qBACEC,GAACC,CAAAA,MAAAA,EAAAA;AAAOC,QAAAA,SAAAA,gBAAWF,GAACG,CAAAA,QAAAA,EAAAA,EAAAA,CAAAA;QAAaC,OAAQ,EAAA,UAAA;QAAWC,OAASZ,EAAAA,WAAAA;QAAaV,QAAUA,EAAAA,QAAAA;AACjFO,QAAAA,QAAAA,EAAAA;;AAGP,CACA;;;;"}
1
+ {"version":3,"file":"LinkToCMSettingsView.mjs","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;AAWA,MAAMA,aAA8C,GAAA;IAClDC,6BAA+B,EAAA;AAC7B,QAAA;YACEC,MAAQ,EAAA,yDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDC,wBAA0B,EAAA;AACxB,QAAA;YACEF,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD,KAAA;IACDE,yBAA2B,EAAA;AACzB,QAAA;YACEH,MAAQ,EAAA,qDAAA;YACRC,OAAS,EAAA;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAACC,IAAAA,GAAAA;IACrB,IAAIA,IAAAA,CAAKC,SAAS,KAAK,aAAe,EAAA;QACpC,IAAID,IAAAA,CAAKE,IAAI,KAAK,YAAc,EAAA;AAC9B,YAAA,OAAOT,cAAcK,yBAAyB;AAChD;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AAOA,MAAMM,UAAU,CAACH,IAAAA,GAAAA;AACf,IAAA,OAAQA,KAAKC,SAAS;QACpB,KAAK,aAAA;AACH,YAAA,OAAQD,KAAKE,IAAI;gBACf,KAAK,YAAA;AACH,oBAAA,OAAO,CAAC,8BAA8B,EAAEF,KAAKI,GAAG,CAAC,oBAAoB,CAAC;gBACxE,KAAK,gBAAA;AACH,oBAAA,OAAO,CAAC,kCAAkC,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AAC9E;QACF,KAAK,WAAA;AACH,YAAA,OAAO,CAAC,4BAA4B,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AACxE;AACF,CAAA;AAEA,MAAMC,YAAAA,GAAeC,MAAOC,CAAAA,MAAAA,CAAO;;AAEnC,CAAC;AAEM,MAAMC,qCAAuBC,IAAK,CAAA,CAAC,EAAEC,QAAQ,EAAEV,IAAI,EAA6B,GAAA;IACrF,MAAM,EAAEW,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBhB,aAAcC,CAAAA,IAAAA,CAAAA;AAEzC,IAAA,MAAMgB,QAAQL,aAAc,CAAA;QAC1BM,EAAI,EAAA,iDAAA;QACJC,cAAgB,EAAA;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAc,GAAA,IAAA;AAClB,QAAA,IAAIT,QAAU,EAAA;YACZ,OAAO,KAAA;AACT;AAEA,QAAA,MAAMU,OAAOjB,OAAQH,CAAAA,IAAAA,CAAAA;QAErBa,QAASO,CAAAA,IAAAA,CAAAA;QAET,OAAO,KAAA;AACT,KAAA;AAEA,IAAA,MAAM,EAAEC,SAAS,EAAEC,cAAc,EAAE,GAAGC,OAAQR,CAAAA,kBAAAA,CAAAA;AAE9C,IAAA,IAAIM,SAAW,EAAA;QACb,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACC,cAAeE,CAAAA,gBAAgB,IAAI,CAACF,cAAAA,CAAeG,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT;AAEA,IAAA,qBACEC,GAACrB,CAAAA,YAAAA,EAAAA;AACCsB,QAAAA,SAAAA,gBAAWD,GAACE,CAAAA,QAAAA,EAAAA,EAAAA,CAAAA;QACZC,OAAQ,EAAA,UAAA;QACRC,OAASX,EAAAA,WAAAA;QACTT,QAAUA,EAAAA,QAAAA;AAETM,QAAAA,QAAAA,EAAAA;;AAGP,CAAG;;;;"}