@strapi/admin 4.6.0 → 4.6.2

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 (418) hide show
  1. package/.browserslistrc +2 -1
  2. package/admin/src/StrapiApp.js +1 -1
  3. package/admin/src/assets/images/onboarding-preview.png +0 -0
  4. package/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
  5. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +3 -7
  6. package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +1 -2
  7. package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
  8. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  9. package/admin/src/components/GuidedTour/Homepage/index.js +2 -6
  10. package/admin/src/components/GuidedTour/Modal/components/Content.js +1 -3
  11. package/admin/src/components/GuidedTour/Modal/components/Modal.js +2 -8
  12. package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
  13. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
  14. package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
  15. package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
  16. package/admin/src/components/LeftMenu/index.js +12 -11
  17. package/admin/src/components/Notifications/Notification/index.js +2 -2
  18. package/admin/src/components/Notifications/index.js +1 -1
  19. package/admin/src/components/Theme/index.js +1 -1
  20. package/admin/src/components/UpgradePlanModal/index.js +3 -10
  21. package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
  22. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +24 -30
  23. package/admin/src/content-manager/components/ComponentInitializer/index.js +2 -5
  24. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
  25. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
  26. package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
  27. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +19 -16
  28. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
  29. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
  30. package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
  31. package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
  32. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +10 -7
  33. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +10 -7
  34. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
  35. package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
  36. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
  37. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +1 -3
  38. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
  39. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
  40. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
  41. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
  42. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
  43. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +1 -3
  44. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +6 -5
  45. package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
  46. package/admin/src/content-manager/components/FieldComponent/index.js +2 -5
  47. package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
  48. package/admin/src/content-manager/components/Hint/index.js +1 -1
  49. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  50. package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
  51. package/admin/src/content-manager/components/InputUID/index.js +6 -10
  52. package/admin/src/content-manager/components/Inputs/index.js +0 -2
  53. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +1 -3
  54. package/admin/src/content-manager/components/RelationInput/RelationInput.js +16 -12
  55. package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
  56. package/admin/src/content-manager/components/RelationInput/components/Relation.js +1 -2
  57. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
  58. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +39 -26
  59. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
  60. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
  61. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
  62. package/admin/src/content-manager/components/Wysiwyg/index.js +1 -3
  63. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +4 -3
  64. package/admin/src/content-manager/hooks/useLazyComponents/index.js +9 -13
  65. package/admin/src/content-manager/hooks/useRelation/useRelation.js +4 -4
  66. package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
  67. package/admin/src/content-manager/pages/App/index.js +1 -2
  68. package/admin/src/content-manager/pages/App/useModels.js +9 -4
  69. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
  70. package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +3 -2
  71. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
  72. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +4 -4
  73. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
  74. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
  75. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +2 -7
  76. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
  77. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
  78. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
  79. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
  80. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
  81. package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
  82. package/admin/src/content-manager/pages/EditSettingsView/index.js +15 -11
  83. package/admin/src/content-manager/pages/EditSettingsView/utils/api.js +4 -2
  84. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +8 -10
  85. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
  86. package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
  87. package/admin/src/content-manager/pages/EditView/Header/index.js +12 -10
  88. package/admin/src/content-manager/pages/EditView/index.js +2 -7
  89. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +2 -6
  90. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +2 -7
  91. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
  92. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +10 -6
  93. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +10 -7
  94. package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
  95. package/admin/src/content-manager/pages/ListSettingsView/utils/api.js +4 -2
  96. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
  97. package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
  98. package/admin/src/content-manager/pages/ListView/index.js +25 -28
  99. package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
  100. package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
  101. package/admin/src/core/utils/index.js +0 -1
  102. package/admin/src/hooks/useFetchEnabledPlugins/utils/api.js +3 -2
  103. package/admin/src/hooks/useInjectReducer/index.js +1 -0
  104. package/admin/src/hooks/useInjectReducer/useInjectReducer.js +19 -0
  105. package/admin/src/hooks/useMenu/reducer.js +1 -3
  106. package/admin/src/hooks/useRegenerate/index.js +3 -3
  107. package/admin/src/hooks/useRolesList/index.js +5 -3
  108. package/admin/src/index.js +4 -3
  109. package/admin/src/layouts/AppLayout/index.js +1 -3
  110. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  111. package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
  112. package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
  113. package/admin/src/pages/Admin/Onboarding/index.js +172 -87
  114. package/admin/src/pages/Admin/index.js +5 -2
  115. package/admin/src/pages/App/index.js +1 -1
  116. package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
  117. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -7
  118. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
  119. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +11 -10
  120. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
  121. package/admin/src/pages/AuthPage/components/Register/index.js +13 -11
  122. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +2 -9
  123. package/admin/src/pages/HomePage/ContentBlocks.js +2 -5
  124. package/admin/src/pages/HomePage/HomeHeader.js +3 -6
  125. package/admin/src/pages/HomePage/SocialLinks.js +33 -30
  126. package/admin/src/pages/HomePage/index.js +1 -4
  127. package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
  128. package/admin/src/pages/InternalErrorPage/index.js +2 -5
  129. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
  130. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
  131. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
  132. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
  133. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
  134. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +2 -7
  135. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +3 -9
  136. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
  137. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +1 -4
  138. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
  139. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
  140. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
  141. package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
  142. package/admin/src/pages/MarketplacePage/index.js +15 -8
  143. package/admin/src/pages/NotFoundPage/index.js +2 -5
  144. package/admin/src/pages/ProfilePage/index.js +17 -14
  145. package/admin/src/pages/ProfilePage/utils/api.js +5 -3
  146. package/admin/src/pages/SettingsPage/{pages/Users/ListPage → components}/Filters/index.js +2 -3
  147. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +16 -3
  148. package/admin/src/pages/SettingsPage/index.js +1 -1
  149. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +1 -3
  150. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +1 -3
  151. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
  152. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +13 -8
  153. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
  154. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContentBox/index.js +2 -3
  155. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +11 -7
  156. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +1 -2
  157. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +2 -5
  158. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
  159. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +1 -3
  160. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +2 -2
  161. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +7 -6
  162. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +2 -3
  163. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +1 -1
  164. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +1 -1
  165. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +1 -3
  166. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +6 -7
  167. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
  168. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
  169. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
  170. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +13 -9
  171. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
  172. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
  173. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
  174. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
  175. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +56 -70
  176. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +5 -3
  177. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
  178. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
  179. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +1 -4
  180. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
  181. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +2 -5
  182. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +1 -2
  183. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
  184. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
  185. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +1 -4
  186. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
  187. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  188. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
  189. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  190. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -4
  191. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
  192. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
  193. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
  194. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +1 -5
  195. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  196. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +11 -8
  197. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
  198. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +2 -6
  199. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
  200. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +16 -10
  201. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +12 -9
  202. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +6 -3
  203. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
  204. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +18 -10
  205. package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
  206. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +10 -6
  207. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +6 -3
  208. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
  209. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
  210. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +5 -4
  211. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
  212. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -3
  213. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
  214. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +11 -8
  215. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +2 -8
  216. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +11 -9
  217. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +4 -3
  218. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +26 -18
  219. package/admin/src/pages/UseCasePage/index.js +12 -9
  220. package/admin/src/permissions/defaultPermissions.js +2 -15
  221. package/admin/src/translations/ar.json +4 -4
  222. package/admin/src/translations/ca.json +4 -4
  223. package/admin/src/translations/cs.json +4 -4
  224. package/admin/src/translations/de.json +4 -4
  225. package/admin/src/translations/dk.json +4 -4
  226. package/admin/src/translations/en.json +17 -10
  227. package/admin/src/translations/es.json +4 -4
  228. package/admin/src/translations/eu.json +796 -0
  229. package/admin/src/translations/fr.json +4 -4
  230. package/admin/src/translations/gu.json +4 -4
  231. package/admin/src/translations/he.json +4 -4
  232. package/admin/src/translations/hi.json +4 -4
  233. package/admin/src/translations/hu.json +4 -4
  234. package/admin/src/translations/id.json +4 -4
  235. package/admin/src/translations/it.json +4 -4
  236. package/admin/src/translations/ja.json +4 -4
  237. package/admin/src/translations/ko.json +4 -4
  238. package/admin/src/translations/languageNativeNames.js +1 -0
  239. package/admin/src/translations/ml.json +4 -4
  240. package/admin/src/translations/ms.json +4 -4
  241. package/admin/src/translations/nl.json +4 -4
  242. package/admin/src/translations/no.json +4 -4
  243. package/admin/src/translations/pl.json +4 -4
  244. package/admin/src/translations/pt-BR.json +4 -4
  245. package/admin/src/translations/pt.json +4 -4
  246. package/admin/src/translations/ru.json +785 -789
  247. package/admin/src/translations/sa.json +4 -4
  248. package/admin/src/translations/sk.json +4 -4
  249. package/admin/src/translations/sv.json +4 -4
  250. package/admin/src/translations/th.json +4 -4
  251. package/admin/src/translations/tr.json +4 -4
  252. package/admin/src/translations/uk.json +4 -4
  253. package/admin/src/translations/vi.json +4 -4
  254. package/admin/src/translations/zh-Hans.json +4 -4
  255. package/admin/src/translations/zh.json +4 -4
  256. package/build/1341.5d48c79b.chunk.js +1 -0
  257. package/build/19eb2dfcf2603eb55733.png +0 -0
  258. package/build/2637.679b590b.chunk.js +1 -0
  259. package/build/4318.9b1ac9bc.chunk.js +30 -0
  260. package/build/4849.7abafe52.chunk.js +98 -0
  261. package/build/6487.83e219bf.chunk.js +14 -0
  262. package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
  263. package/build/9816.01ee964f.chunk.js +2 -0
  264. package/build/Admin-authenticatedApp.dd16edad.chunk.js +79 -0
  265. package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
  266. package/build/Admin_homePage.4b878f04.chunk.js +72 -0
  267. package/build/Admin_marketplace.a8ea585f.chunk.js +22 -0
  268. package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
  269. package/build/Admin_profilePage.b27e40f6.chunk.js +15 -0
  270. package/build/Admin_settingsPage.3cd54156.chunk.js +178 -0
  271. package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
  272. package/build/admin-app.3a084127.chunk.js +112 -0
  273. package/build/admin-edit-roles-page.fd041d89.chunk.js +1 -0
  274. package/build/admin-edit-users.08a60ea2.chunk.js +10 -0
  275. package/build/admin-users.74f5629d.chunk.js +11 -0
  276. package/build/{api-tokens-create-page.0e686c30.chunk.js → api-tokens-create-page.a31c7fba.chunk.js} +1 -1
  277. package/build/{api-tokens-edit-page.d6c7487b.chunk.js → api-tokens-edit-page.64fef287.chunk.js} +1 -1
  278. package/build/api-tokens-list-page.370459ba.chunk.js +16 -0
  279. package/build/ar-json.39e54aba.chunk.js +1 -0
  280. package/build/audit-logs-settings-page.bc1784fe.chunk.js +1 -0
  281. package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
  282. package/build/content-manager.d04b738f.chunk.js +1139 -0
  283. package/build/content-type-builder-list-view.c2f917b6.chunk.js +191 -0
  284. package/build/content-type-builder.b7fb1e65.chunk.js +126 -0
  285. package/build/cs-json.4b44411c.chunk.js +1 -0
  286. package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
  287. package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
  288. package/build/email-settings-page.884cfb8b.chunk.js +3 -0
  289. package/build/en-json.9cada7f3.chunk.js +1 -0
  290. package/build/es-json.ea15c957.chunk.js +1 -0
  291. package/build/eu-json.3bc24d60.chunk.js +1 -0
  292. package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
  293. package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
  294. package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
  295. package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
  296. package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
  297. package/build/i18n-settings-page.c7bc29fc.chunk.js +1 -0
  298. package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
  299. package/build/index.html +1 -1
  300. package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
  301. package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
  302. package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
  303. package/build/main.9c01de7f.js +3929 -0
  304. package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
  305. package/build/ms-json.0eddffd9.chunk.js +1 -0
  306. package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
  307. package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
  308. package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
  309. package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
  310. package/build/pt-json.ee554a41.chunk.js +1 -0
  311. package/build/ru-json.866f0ff1.chunk.js +1 -0
  312. package/build/runtime~main.bb1389c9.js +2 -0
  313. package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
  314. package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
  315. package/build/sso-settings-page.82d84043.chunk.js +1 -0
  316. package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
  317. package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
  318. package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
  319. package/build/uk-json.b7e38370.chunk.js +1 -0
  320. package/build/upload-settings.c18b010f.chunk.js +1 -0
  321. package/build/upload.0876ab69.chunk.js +13 -0
  322. package/build/users-advanced-settings-page.677e1973.chunk.js +1 -0
  323. package/build/users-email-settings-page.a3c80419.chunk.js +1 -0
  324. package/build/users-providers-settings-page.87a9c77d.chunk.js +1 -0
  325. package/build/users-roles-settings-page.79c19845.chunk.js +30 -0
  326. package/build/vi-json.ee4c5537.chunk.js +1 -0
  327. package/build/webhook-edit-page.cfbdd3fd.chunk.js +23 -0
  328. package/build/webhook-list-page.3daa4fe2.chunk.js +1 -0
  329. package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
  330. package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
  331. package/ee/admin/pages/AuthPage/components/Login/index.js +1 -5
  332. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
  333. package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -8
  334. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +41 -0
  335. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -9
  336. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
  337. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
  338. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
  339. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +3 -6
  340. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +47 -0
  341. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +30 -31
  342. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +7 -9
  343. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +88 -0
  344. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +15 -11
  345. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +20 -12
  346. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +15 -9
  347. package/ee/admin/permissions/customPermissions.js +4 -0
  348. package/ee/server/migrations/audit-logs-table.js +45 -0
  349. package/ee/server/register.js +2 -0
  350. package/ee/server/services/audit-logs.js +11 -1
  351. package/package.json +31 -31
  352. package/server/config/admin-actions.js +0 -16
  353. package/server/controllers/admin.js +16 -55
  354. package/server/routes/admin.js +0 -28
  355. package/webpack.alias.js +0 -1
  356. package/webpack.config.js +0 -3
  357. package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +0 -40
  358. package/admin/src/content-manager/components/InputJSON/Label.js +0 -35
  359. package/admin/src/content-manager/components/InputJSON/components.js +0 -36
  360. package/admin/src/content-manager/components/InputJSON/index.js +0 -223
  361. package/admin/src/content-manager/components/InputJSON/jsonlint.js +0 -680
  362. package/admin/src/core/utils/axiosInstance.js +0 -40
  363. package/build/2607.ce06608e.chunk.js +0 -66
  364. package/build/2743.dea372fb.chunk.js +0 -42
  365. package/build/3075.03ebe93d.chunk.js +0 -115
  366. package/build/3632.963ac97d.chunk.js +0 -138
  367. package/build/4318.8cb388a5.chunk.js +0 -30
  368. package/build/4656.a0d43cca.chunk.js +0 -159
  369. package/build/5910.a5374848.chunk.js +0 -209
  370. package/build/8633.4af74a50.chunk.js +0 -1
  371. package/build/9641.a311b612.chunk.js +0 -276
  372. package/build/9707.62831b4d.chunk.js +0 -101
  373. package/build/Admin-authenticatedApp.50dc27f9.chunk.js +0 -75
  374. package/build/Admin_InternalErrorPage.157152a8.chunk.js +0 -1
  375. package/build/Admin_homePage.79ab880c.chunk.js +0 -77
  376. package/build/Admin_marketplace.eabf21b2.chunk.js +0 -26
  377. package/build/Admin_pluginsPage.953e796b.chunk.js +0 -6
  378. package/build/Admin_profilePage.5c2efda5.chunk.js +0 -15
  379. package/build/Admin_settingsPage.19cfb9ca.chunk.js +0 -178
  380. package/build/Upload_ConfigureTheView.3f2b6e6a.chunk.js +0 -1
  381. package/build/admin-app.34295b50.chunk.js +0 -112
  382. package/build/admin-edit-roles-page.d50d9654.chunk.js +0 -1
  383. package/build/admin-edit-users.912b856d.chunk.js +0 -10
  384. package/build/admin-users.e36e7111.chunk.js +0 -11
  385. package/build/api-tokens-list-page.1cd86136.chunk.js +0 -16
  386. package/build/ar-json.932794f7.chunk.js +0 -1
  387. package/build/audit-logs-settings-page.308a6250.chunk.js +0 -1
  388. package/build/codemirror-addon-closebrackets.71aa4bbd.chunk.js +0 -2
  389. package/build/codemirror-addon-lint-js.405f70fb.chunk.js +0 -1
  390. package/build/codemirror-addon-lint.8487ad3d.chunk.js +0 -1
  391. package/build/codemirror-addon-mark-selection.1928c849.chunk.js +0 -1
  392. package/build/codemirror-css.359a2a4b.chunk.js +0 -345
  393. package/build/codemirror-javacript.af237b68.chunk.js +0 -1
  394. package/build/codemirror-theme.2fe63a16.chunk.js +0 -33
  395. package/build/content-manager.851f40ce.chunk.js +0 -1170
  396. package/build/content-type-builder-list-view.4243b2b1.chunk.js +0 -198
  397. package/build/content-type-builder.365b6bf4.chunk.js +0 -125
  398. package/build/cs-json.79879fb6.chunk.js +0 -1
  399. package/build/email-settings-page.379552b1.chunk.js +0 -15
  400. package/build/en-json.38d182e5.chunk.js +0 -1
  401. package/build/es-json.e275481d.chunk.js +0 -1
  402. package/build/i18n-settings-page.3ab28b1a.chunk.js +0 -65
  403. package/build/main.9f31732e.js +0 -4454
  404. package/build/ms-json.db87d8d3.chunk.js +0 -1
  405. package/build/pt-json.62927d1e.chunk.js +0 -1
  406. package/build/ru-json.3b411a39.chunk.js +0 -1
  407. package/build/runtime~main.2b8e2318.js +0 -2
  408. package/build/sso-settings-page.b64a44e8.chunk.js +0 -41
  409. package/build/uk-json.b2fcd567.chunk.js +0 -1
  410. package/build/upload-settings.6c26ff37.chunk.js +0 -89
  411. package/build/upload.2c69d238.chunk.js +0 -38
  412. package/build/users-advanced-settings-page.c4270682.chunk.js +0 -13
  413. package/build/users-email-settings-page.60422a2f.chunk.js +0 -28
  414. package/build/users-providers-settings-page.e1834060.chunk.js +0 -104
  415. package/build/users-roles-settings-page.3ef35132.chunk.js +0 -30
  416. package/build/vi-json.f08d7d03.chunk.js +0 -1
  417. package/build/webhook-edit-page.c0080dc1.chunk.js +0 -75
  418. package/build/webhook-list-page.f75ba3f2.chunk.js +0 -42
@@ -8,11 +8,12 @@ import {
8
8
  useQueryParams,
9
9
  useNotification,
10
10
  useGuidedTour,
11
+ useAPIErrorHandler,
12
+ useFetchClient,
11
13
  } from '@strapi/helper-plugin';
12
14
  import { useSelector, useDispatch } from 'react-redux';
13
15
  import PropTypes from 'prop-types';
14
16
  import axios from 'axios';
15
- import { axiosInstance } from '../../../core/utils';
16
17
  import { createDefaultForm, getTrad, removePasswordFieldsFromData } from '../../utils';
17
18
  import {
18
19
  getData,
@@ -39,6 +40,9 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
39
40
  const searchToSend = buildQueryString(query);
40
41
  const toggleNotification = useNotification();
41
42
  const dispatch = useDispatch();
43
+ const { formatAPIError } = useAPIErrorHandler(getTrad);
44
+ const fetchClient = useFetchClient();
45
+ const { post, put, del } = fetchClient;
42
46
 
43
47
  const { componentsDataStructure, contentTypeDataStructure, data, isLoading, status } =
44
48
  useSelector(selectCrudReducer);
@@ -103,7 +107,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
103
107
  setIsCreatingEntry(true);
104
108
 
105
109
  try {
106
- const { data } = await axiosInstance.get(getRequestUrl(`${slug}${searchToSend}`), {
110
+ const { data } = await fetchClient.get(getRequestUrl(`${slug}${searchToSend}`), {
107
111
  cancelToken: source.token,
108
112
  });
109
113
 
@@ -136,23 +140,22 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
136
140
  fetchData(source);
137
141
 
138
142
  return () => source.cancel('Operation canceled by the user.');
139
- }, [cleanReceivedData, push, slug, dispatch, searchToSend, rawQuery, toggleNotification]);
143
+ }, [
144
+ fetchClient,
145
+ cleanReceivedData,
146
+ push,
147
+ slug,
148
+ dispatch,
149
+ searchToSend,
150
+ rawQuery,
151
+ toggleNotification,
152
+ ]);
140
153
 
141
154
  const displayErrors = useCallback(
142
155
  (err) => {
143
- const errorPayload = err.response.data;
144
- let errorMessage = get(errorPayload, ['error', 'message'], 'Bad Request');
145
-
146
- // TODO handle errors correctly when back-end ready
147
- if (Array.isArray(errorMessage)) {
148
- errorMessage = get(errorMessage, ['0', 'messages', '0', 'id']);
149
- }
150
-
151
- if (typeof errorMessage === 'string') {
152
- toggleNotification({ type: 'warning', message: errorMessage });
153
- }
156
+ toggleNotification({ type: 'warning', message: formatAPIError(err) });
154
157
  },
155
- [toggleNotification]
158
+ [toggleNotification, formatAPIError]
156
159
  );
157
160
 
158
161
  const onDelete = useCallback(
@@ -160,7 +163,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
160
163
  try {
161
164
  trackUsageRef.current('willDeleteEntry', trackerProperty);
162
165
 
163
- const { data } = await axiosInstance.delete(getRequestUrl(`${slug}${searchToSend}`));
166
+ const { data } = await del(getRequestUrl(`${slug}${searchToSend}`));
164
167
 
165
168
  toggleNotification({
166
169
  type: 'success',
@@ -178,7 +181,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
178
181
  return Promise.reject(err);
179
182
  }
180
183
  },
181
- [slug, displayErrors, toggleNotification, searchToSend]
184
+ [del, slug, displayErrors, toggleNotification, searchToSend]
182
185
  );
183
186
 
184
187
  const onDeleteSucceeded = useCallback(() => {
@@ -194,7 +197,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
194
197
  try {
195
198
  dispatch(setStatus('submit-pending'));
196
199
 
197
- const { data } = await axiosInstance.put(endPoint, body);
200
+ const { data } = await put(endPoint, body);
198
201
 
199
202
  trackUsageRef.current('didCreateEntry', trackerProperty);
200
203
  toggleNotification({
@@ -224,6 +227,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
224
227
  }
225
228
  },
226
229
  [
230
+ put,
227
231
  cleanReceivedData,
228
232
  displayErrors,
229
233
  slug,
@@ -242,7 +246,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
242
246
  const endPoint = getRequestUrl(`${slug}/actions/numberOfDraftRelations`);
243
247
  dispatch(setStatus('draft-relation-check-pending'));
244
248
 
245
- const numberOfDraftRelations = await axiosInstance.get(endPoint);
249
+ const numberOfDraftRelations = await fetchClient.get(endPoint);
246
250
  trackUsageRef.current('didCheckDraftRelations');
247
251
 
248
252
  dispatch(setStatus('resolved'));
@@ -254,7 +258,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
254
258
 
255
259
  return Promise.reject(err);
256
260
  }
257
- }, [displayErrors, slug, dispatch]);
261
+ }, [fetchClient, displayErrors, slug, dispatch]);
258
262
 
259
263
  const onPublish = useCallback(async () => {
260
264
  try {
@@ -263,7 +267,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
263
267
 
264
268
  dispatch(setStatus('publish-pending'));
265
269
 
266
- const { data } = await axiosInstance.post(endPoint);
270
+ const { data } = await post(endPoint);
267
271
 
268
272
  trackUsageRef.current('didPublishEntry');
269
273
  toggleNotification({
@@ -283,7 +287,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
283
287
 
284
288
  return Promise.reject(err);
285
289
  }
286
- }, [cleanReceivedData, displayErrors, slug, searchToSend, dispatch, toggleNotification]);
290
+ }, [post, cleanReceivedData, displayErrors, slug, searchToSend, dispatch, toggleNotification]);
287
291
 
288
292
  const onPut = useCallback(
289
293
  async (body, trackerProperty) => {
@@ -294,7 +298,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
294
298
 
295
299
  dispatch(setStatus('submit-pending'));
296
300
 
297
- const { data } = await axiosInstance.put(endPoint, body);
301
+ const { data } = await put(endPoint, body);
298
302
 
299
303
  toggleNotification({
300
304
  type: 'success',
@@ -321,7 +325,16 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
321
325
  return Promise.reject(err);
322
326
  }
323
327
  },
324
- [cleanReceivedData, displayErrors, slug, dispatch, rawQuery, toggleNotification, queryClient]
328
+ [
329
+ put,
330
+ cleanReceivedData,
331
+ displayErrors,
332
+ slug,
333
+ dispatch,
334
+ rawQuery,
335
+ toggleNotification,
336
+ queryClient,
337
+ ]
325
338
  );
326
339
 
327
340
  // The publish and unpublish method could be refactored but let's leave the duplication for now
@@ -333,7 +346,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
333
346
  try {
334
347
  trackUsageRef.current('willUnpublishEntry');
335
348
 
336
- const { data } = await axiosInstance.post(endPoint);
349
+ const { data } = await post(endPoint);
337
350
 
338
351
  trackUsageRef.current('didUnpublishEntry');
339
352
  toggleNotification({
@@ -348,7 +361,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => {
348
361
  dispatch(setStatus('resolved'));
349
362
  displayErrors(err);
350
363
  }
351
- }, [cleanReceivedData, toggleNotification, displayErrors, slug, dispatch, searchToSend]);
364
+ }, [post, cleanReceivedData, toggleNotification, displayErrors, slug, dispatch, searchToSend]);
352
365
 
353
366
  return children({
354
367
  componentsDataStructure,
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useIntl } from 'react-intl';
4
- import { Box } from '@strapi/design-system/Box';
5
- import { Flex } from '@strapi/design-system/Flex';
6
- import { Typography } from '@strapi/design-system/Typography';
7
- import Expand from '@strapi/icons/Expand';
4
+ import { Box, Flex, Typography } from '@strapi/design-system';
5
+ import { Expand } from '@strapi/icons';
8
6
  import { ExpandButton } from './WysiwygStyles';
9
7
 
10
8
  const WysiwygFooter = ({ onToggleExpand }) => {
@@ -1,24 +1,30 @@
1
1
  import React, { useRef, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useIntl } from 'react-intl';
4
- import { FocusTrap } from '@strapi/design-system/FocusTrap';
5
- import { Box } from '@strapi/design-system/Box';
6
- import { Button } from '@strapi/design-system/Button';
7
- import { IconButtonGroup } from '@strapi/design-system/IconButton';
8
- import { Option, Select } from '@strapi/design-system/Select';
9
- import { Popover } from '@strapi/design-system/Popover';
10
- import { Flex } from '@strapi/design-system/Flex';
11
- import Bold from '@strapi/icons/Bold';
12
- import Italic from '@strapi/icons/Italic';
13
- import Underline from '@strapi/icons/Underline';
14
- import StrikeThrough from '@strapi/icons/StrikeThrough';
15
- import BulletList from '@strapi/icons/BulletList';
16
- import NumberList from '@strapi/icons/NumberList';
17
- import Code from '@strapi/icons/Code';
18
- import Image from '@strapi/icons/Picture';
19
- import Link from '@strapi/icons/Link';
20
- import Quote from '@strapi/icons/Quote';
21
- import More from '@strapi/icons/More';
4
+ import {
5
+ FocusTrap,
6
+ Box,
7
+ Button,
8
+ IconButtonGroup,
9
+ Option,
10
+ Select,
11
+ Popover,
12
+ Flex,
13
+ } from '@strapi/design-system';
14
+ import {
15
+ Bold,
16
+ Italic,
17
+ Underline,
18
+ StrikeThrough,
19
+ BulletList,
20
+ NumberList,
21
+ Code,
22
+ Picture as Image,
23
+ Link,
24
+ Quote,
25
+ More,
26
+ } from '@strapi/icons';
27
+
22
28
  import {
23
29
  MainButtons,
24
30
  CustomIconButton,
@@ -1,6 +1,5 @@
1
1
  import styled from 'styled-components';
2
- import { IconButtonGroup, IconButton } from '@strapi/design-system/IconButton';
3
- import { BaseButton } from '@strapi/design-system/BaseButton';
2
+ import { IconButtonGroup, IconButton, BaseButton } from '@strapi/design-system';
4
3
 
5
4
  // NAV BUTTONS
6
5
  export const CustomIconButton = styled(IconButton)`
@@ -2,9 +2,7 @@ import React, { useRef, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import styled from 'styled-components';
4
4
  import { useIntl } from 'react-intl';
5
- import { Typography } from '@strapi/design-system/Typography';
6
- import { Box } from '@strapi/design-system/Box';
7
- import { Stack } from '@strapi/design-system/Stack';
5
+ import { Typography, Box, Stack } from '@strapi/design-system';
8
6
  import { prefixFileUrlWithBackendUrl, useLibrary } from '@strapi/helper-plugin';
9
7
  import Editor from './Editor';
10
8
  import WysiwygNav from './WysiwygNav';
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';
2
2
  import { useSelector, shallowEqual } from 'react-redux';
3
3
  import axios from 'axios';
4
- import { axiosInstance } from '../../../core/utils';
4
+ import { useFetchClient } from '@strapi/helper-plugin';
5
5
  import formatLayouts from './utils/formatLayouts';
6
6
  import reducer, { initialState } from './reducer';
7
7
  import { makeSelectModelAndComponentSchemas } from '../../pages/App/selectors';
@@ -12,6 +12,7 @@ const useFetchContentTypeLayout = (contentTypeUID) => {
12
12
  const schemasSelector = useMemo(makeSelectModelAndComponentSchemas, []);
13
13
  const { schemas } = useSelector((state) => schemasSelector(state), shallowEqual);
14
14
  const isMounted = useRef(true);
15
+ const { get } = useFetchClient();
15
16
 
16
17
  const getData = useCallback(
17
18
  async (uid, source) => {
@@ -27,7 +28,7 @@ const useFetchContentTypeLayout = (contentTypeUID) => {
27
28
 
28
29
  const {
29
30
  data: { data },
30
- } = await axiosInstance.get(endPoint, { cancelToken: source.token });
31
+ } = await get(endPoint, { cancelToken: source.token });
31
32
 
32
33
  dispatch({
33
34
  type: 'GET_DATA_SUCCEEDED',
@@ -47,7 +48,7 @@ const useFetchContentTypeLayout = (contentTypeUID) => {
47
48
  }
48
49
  }
49
50
  },
50
- [layouts, schemas]
51
+ [layouts, schemas, get]
51
52
  );
52
53
 
53
54
  useEffect(() => {
@@ -11,13 +11,12 @@ const componentStore = new Map();
11
11
  */
12
12
  const useLazyComponents = (componentUids = []) => {
13
13
  const [lazyComponentStore, setLazyComponentStore] = useState(Object.fromEntries(componentStore));
14
- const [loading, setLoading] = useState(() => {
15
- if (componentStore.size === 0 && componentUids.length > 0) {
16
- return true;
17
- }
18
-
19
- return false;
20
- });
14
+ /**
15
+ * Start loading only if there are any components passed in
16
+ * and there are some new to load
17
+ */
18
+ const newUids = componentUids.filter((uid) => !componentStore.get(uid));
19
+ const [loading, setLoading] = useState(() => !!newUids.length);
21
20
  const customFieldsRegistry = useCustomFields();
22
21
 
23
22
  useEffect(() => {
@@ -36,11 +35,8 @@ const useLazyComponents = (componentUids = []) => {
36
35
  setStore(Object.fromEntries(componentStore));
37
36
  };
38
37
 
39
- if (componentUids.length && loading) {
40
- /**
41
- * These uids are not in the component store therefore we need to get the components
42
- */
43
- const newUids = componentUids.filter((uid) => !componentStore.get(uid));
38
+ if (newUids.length > 0) {
39
+ setLoading(true);
44
40
 
45
41
  const componentPromises = newUids.map((uid) => {
46
42
  const customField = customFieldsRegistry.get(uid);
@@ -52,7 +48,7 @@ const useLazyComponents = (componentUids = []) => {
52
48
  lazyLoadComponents(newUids, componentPromises);
53
49
  }
54
50
  }
55
- }, [componentUids, customFieldsRegistry, loading]);
51
+ }, [newUids, customFieldsRegistry]);
56
52
 
57
53
  /**
58
54
  * Wrap this in a callback so it can be used in
@@ -1,7 +1,7 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { useInfiniteQuery } from 'react-query';
3
3
 
4
- import { axiosInstance } from '../../../core/utils';
4
+ import { useFetchClient } from '@strapi/helper-plugin';
5
5
 
6
6
  import { normalizeRelations } from '../../components/RelationInputDataManager/utils';
7
7
 
@@ -10,13 +10,13 @@ import { useCallbackRef } from '../useCallbackRef';
10
10
  export const useRelation = (cacheKey, { relation, search }) => {
11
11
  const [searchParams, setSearchParams] = useState({});
12
12
  const [currentPage, setCurrentPage] = useState(0);
13
-
13
+ const { get } = useFetchClient();
14
14
  /**
15
15
  * This runs in `useInfiniteQuery` to actually fetch the data
16
16
  */
17
17
  const fetchRelations = async ({ pageParam = 1 }) => {
18
18
  try {
19
- const { data } = await axiosInstance.get(relation?.endpoint, {
19
+ const { data } = await get(relation?.endpoint, {
20
20
  params: {
21
21
  ...(relation.pageParams ?? {}),
22
22
  page: pageParam,
@@ -33,7 +33,7 @@ export const useRelation = (cacheKey, { relation, search }) => {
33
33
 
34
34
  const fetchSearch = async ({ pageParam = 1 }) => {
35
35
  try {
36
- const { data } = await axiosInstance.get(search.endpoint, {
36
+ const { data } = await get(search.endpoint, {
37
37
  params: {
38
38
  ...(search.pageParams ?? {}),
39
39
  ...searchParams,
@@ -15,7 +15,7 @@ import {
15
15
  SubNavSection,
16
16
  SubNavSections,
17
17
  SubNavLink,
18
- } from '@strapi/design-system/v2/SubNav';
18
+ } from '@strapi/design-system/v2';
19
19
 
20
20
  import { matchByTitle } from './utils';
21
21
  import getTrad from '../../../utils/getTrad';
@@ -7,8 +7,7 @@ import {
7
7
  NotFound,
8
8
  useGuidedTour,
9
9
  } from '@strapi/helper-plugin';
10
- import { Layout, HeaderLayout } from '@strapi/design-system/Layout';
11
- import { Main } from '@strapi/design-system/Main';
10
+ import { Layout, HeaderLayout, Main } from '@strapi/design-system';
12
11
  import { useIntl } from 'react-intl';
13
12
  import sortBy from 'lodash/sortBy';
14
13
  import permissions from '../../../permissions';
@@ -1,10 +1,14 @@
1
- import { useNotification, useRBACProvider, useStrapiApp } from '@strapi/helper-plugin';
1
+ import {
2
+ useNotification,
3
+ useRBACProvider,
4
+ useStrapiApp,
5
+ useFetchClient,
6
+ } from '@strapi/helper-plugin';
2
7
  import { useEffect, useRef } from 'react';
3
8
  import { useDispatch, useSelector } from 'react-redux';
4
- import { useNotifyAT } from '@strapi/design-system/LiveRegions';
9
+ import { useNotifyAT } from '@strapi/design-system';
5
10
  import axios from 'axios';
6
11
  import { useIntl } from 'react-intl';
7
- import { axiosInstance } from '../../../core/utils';
8
12
  import { MUTATE_COLLECTION_TYPES_LINKS, MUTATE_SINGLE_TYPES_LINKS } from '../../../exposedHooks';
9
13
  import { getRequestUrl, getTrad } from '../../utils';
10
14
  import { getData, resetProps, setContentTypeLinks } from './actions';
@@ -22,6 +26,7 @@ const useModels = () => {
22
26
  const source = CancelToken.source();
23
27
  const { notifyStatus } = useNotifyAT();
24
28
  const { formatMessage } = useIntl();
29
+ const { get } = useFetchClient();
25
30
 
26
31
  const fetchData = async () => {
27
32
  dispatch(getData());
@@ -36,7 +41,7 @@ const useModels = () => {
36
41
  },
37
42
  ] = await Promise.all(
38
43
  ['components', 'content-types'].map((endPoint) =>
39
- axiosInstance.get(getRequestUrl(endPoint), { cancelToken: source.token })
44
+ get(getRequestUrl(endPoint), { cancelToken: source.token })
40
45
  )
41
46
  );
42
47
 
@@ -1,4 +1,5 @@
1
- import { chain, get } from 'lodash';
1
+ import groupBy from 'lodash/groupBy';
2
+ import sortBy from 'lodash/sortBy';
2
3
  import { stringify } from 'qs';
3
4
 
4
5
  const generateLinks = (links, type, configurations = []) => {
@@ -44,19 +45,19 @@ const generateLinks = (links, type, configurations = []) => {
44
45
  };
45
46
 
46
47
  const generateModelsLinks = (models, modelsConfigurations) => {
47
- const [collectionTypes, singleTypes] = chain(models)
48
- .groupBy('kind')
49
- .map((value, key) => ({ name: key, links: value }))
50
- .sortBy('name')
51
- .value();
48
+ const groupedModels = Object.entries(groupBy(models, 'kind')).map(([key, value]) => ({
49
+ name: key,
50
+ links: value,
51
+ }));
52
+ const [collectionTypes, singleTypes] = sortBy(groupedModels, 'name');
52
53
 
53
54
  return {
54
55
  collectionTypesSectionLinks: generateLinks(
55
- get(collectionTypes, 'links', []),
56
+ collectionTypes?.links || [],
56
57
  'collectionTypes',
57
58
  modelsConfigurations
58
59
  ),
59
- singleTypesSectionLinks: generateLinks(get(singleTypes, 'links', []), 'singleTypes'),
60
+ singleTypesSectionLinks: generateLinks(singleTypes?.links ?? [], 'singleTypes'),
60
61
  };
61
62
  };
62
63
 
@@ -1,13 +1,14 @@
1
- import { axiosInstance } from '../../../../core/utils';
1
+ import { getFetchClient } from '@strapi/helper-plugin';
2
2
  import generateModelsLinks from './generateModelsLinks';
3
3
  import checkPermissions from './checkPermissions';
4
4
  import { getRequestUrl } from '../../../utils';
5
5
 
6
6
  const getContentTypeLinks = async (models, userPermissions, toggleNotification) => {
7
+ const { get } = getFetchClient();
7
8
  try {
8
9
  const {
9
10
  data: { data: contentTypeConfigurations },
10
- } = await axiosInstance.get(getRequestUrl('content-types-settings'));
11
+ } = await get(getRequestUrl('content-types-settings'));
11
12
 
12
13
  const { collectionTypesSectionLinks, singleTypesSectionLinks } = generateModelsLinks(
13
14
  models,
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AnErrorOccurred } from '@strapi/helper-plugin';
3
- import { Box } from '@strapi/design-system/Box';
3
+ import { Box } from '@strapi/design-system';
4
4
 
5
5
  const ErrorFallback = () => {
6
6
  return (
@@ -1,9 +1,8 @@
1
1
  import React, { memo, useEffect, useMemo, useReducer } from 'react';
2
2
  import { useParams } from 'react-router-dom';
3
- import { CheckPagePermissions, LoadingIndicatorPage } from '@strapi/helper-plugin';
3
+ import { CheckPagePermissions, LoadingIndicatorPage, useFetchClient } from '@strapi/helper-plugin';
4
4
  import { useSelector, shallowEqual } from 'react-redux';
5
5
  import axios from 'axios';
6
- import { axiosInstance } from '../../../core/utils';
7
6
  import { getRequestUrl, mergeMetasWithSchema } from '../../utils';
8
7
  import { makeSelectModelAndComponentSchemas } from '../App/selectors';
9
8
  import permissions from '../../../permissions';
@@ -18,6 +17,7 @@ const ComponentSettingsView = () => {
18
17
  const schemasSelector = useMemo(makeSelectModelAndComponentSchemas, []);
19
18
  const { schemas } = useSelector((state) => schemasSelector(state), shallowEqual);
20
19
  const { uid } = useParams();
20
+ const { get } = useFetchClient();
21
21
 
22
22
  useEffect(() => {
23
23
  const CancelToken = axios.CancelToken;
@@ -29,7 +29,7 @@ const ComponentSettingsView = () => {
29
29
 
30
30
  const {
31
31
  data: { data },
32
- } = await axiosInstance.get(getRequestUrl(`components/${uid}/configuration`), {
32
+ } = await get(getRequestUrl(`components/${uid}/configuration`), {
33
33
  cancelToken: source.token,
34
34
  });
35
35
 
@@ -48,7 +48,7 @@ const ComponentSettingsView = () => {
48
48
  return () => {
49
49
  source.cancel('Operation canceled by the user.');
50
50
  };
51
- }, [uid, schemas]);
51
+ }, [uid, schemas, get]);
52
52
 
53
53
  if (isLoading) {
54
54
  return <LoadingIndicatorPage />;
@@ -1,13 +1,10 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Link } from '@strapi/helper-plugin';
4
- import { Box } from '@strapi/design-system/Box';
5
- import { Flex } from '@strapi/design-system/Flex';
6
- import { Typography } from '@strapi/design-system/Typography';
7
- import Cog from '@strapi/icons/Cog';
4
+ import { Box, Flex, Typography, Grid, GridItem } from '@strapi/design-system';
5
+ import { Cog } from '@strapi/icons';
8
6
  import { useIntl } from 'react-intl';
9
7
  import get from 'lodash/get';
10
- import { Grid, GridItem } from '@strapi/design-system/Grid';
11
8
  import useLayoutDnd from '../../../hooks/useLayoutDnd';
12
9
  import getTrad from '../../../utils/getTrad';
13
10
 
@@ -3,10 +3,8 @@ import styled from 'styled-components';
3
3
  import PropTypes from 'prop-types';
4
4
  import { useDrop, useDrag } from 'react-dnd';
5
5
  import { getEmptyImage } from 'react-dnd-html5-backend';
6
- import { Flex } from '@strapi/design-system/Flex';
7
- import { Box } from '@strapi/design-system/Box';
8
- import { GridItem } from '@strapi/design-system/Grid';
9
- import Drag from '@strapi/icons/Drag';
6
+ import { Flex, Box, GridItem } from '@strapi/design-system';
7
+ import { Drag } from '@strapi/icons';
10
8
  import { ItemTypes } from '../../../utils';
11
9
  import FieldButtonContent from './FieldButtonContent';
12
10
  import { useLayoutDnd } from '../../../hooks';
@@ -1,13 +1,8 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useIntl } from 'react-intl';
4
- import { Button } from '@strapi/design-system/Button';
5
- import { Box } from '@strapi/design-system/Box';
6
- import { Typography } from '@strapi/design-system/Typography';
7
- import { Stack } from '@strapi/design-system/Stack';
8
- import { Flex } from '@strapi/design-system/Flex';
9
- import { SimpleMenu, MenuItem } from '@strapi/design-system/SimpleMenu';
10
- import Plus from '@strapi/icons/Plus';
4
+ import { Button, Box, Typography, Stack, Flex, SimpleMenu, MenuItem } from '@strapi/design-system';
5
+ import { Plus } from '@strapi/icons';
11
6
  import { getTrad } from '../../../utils';
12
7
  import RowsLayout from './RowsLayout';
13
8
  import LinkToCTB from './LinkToCTB';
@@ -2,12 +2,8 @@ import React from 'react';
2
2
  import styled from 'styled-components';
3
3
  import PropTypes from 'prop-types';
4
4
  import { useIntl } from 'react-intl';
5
- import { Box } from '@strapi/design-system/Box';
6
- import { Flex } from '@strapi/design-system/Flex';
7
- import { IconButton } from '@strapi/design-system/IconButton';
8
- import { Typography } from '@strapi/design-system/Typography';
9
- import Pencil from '@strapi/icons/Pencil';
10
- import Trash from '@strapi/icons/Trash';
5
+ import { Box, Flex, IconButton, Typography } from '@strapi/design-system';
6
+ import { Pencil, Trash } from '@strapi/icons';
11
7
  import { getTrad } from '../../../utils';
12
8
  import ComponentFieldList from './ComponentFieldList';
13
9
  import DynamicZoneList from './DynamicZoneList';
@@ -7,11 +7,11 @@ import {
7
7
  ModalHeader,
8
8
  ModalFooter,
9
9
  ModalBody,
10
- } from '@strapi/design-system/ModalLayout';
11
- import { Typography } from '@strapi/design-system/Typography';
12
- import { Button } from '@strapi/design-system/Button';
13
- import { Flex } from '@strapi/design-system/Flex';
14
- import { Grid } from '@strapi/design-system/Grid';
10
+ Typography,
11
+ Button,
12
+ Flex,
13
+ Grid,
14
+ } from '@strapi/design-system';
15
15
  import styled from 'styled-components';
16
16
  import { getTrad } from '../../../utils';
17
17
  import { useLayoutDnd } from '../../../hooks';
@@ -1,8 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { TextInput } from '@strapi/design-system/TextInput';
4
- import { ToggleInput } from '@strapi/design-system/ToggleInput';
5
- import { Select, Option } from '@strapi/design-system/Select';
3
+ import { TextInput, ToggleInput, Select, Option } from '@strapi/design-system';
6
4
  import { useIntl } from 'react-intl';
7
5
 
8
6
  const GenericInput = ({ type, options, onChange, value, name, ...inputProps }) => {
@@ -8,7 +8,7 @@ import React from 'react';
8
8
  import { useTracking, CheckPermissions, LinkButton } from '@strapi/helper-plugin';
9
9
  import { useIntl } from 'react-intl';
10
10
  import get from 'lodash/get';
11
- import Pencil from '@strapi/icons/Pencil';
11
+ import { Pencil } from '@strapi/icons';
12
12
  import getTrad from '../../../utils/getTrad';
13
13
  import useLayoutDnd from '../../../hooks/useLayoutDnd';
14
14
 
@@ -1,8 +1,7 @@
1
1
  import React, { useMemo, useCallback } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import get from 'lodash/get';
4
- import { GridItem } from '@strapi/design-system/Grid';
5
- import { Select, Option } from '@strapi/design-system/Select';
4
+ import { GridItem, Select, Option } from '@strapi/design-system';
6
5
  import { useSelector, shallowEqual } from 'react-redux';
7
6
  import { useIntl } from 'react-intl';
8
7
  import { useLayoutDnd } from '../../../hooks';