@strapi/admin 4.3.4 → 4.4.0-alpha.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 (517) hide show
  1. package/admin/src/StrapiApp.js +27 -35
  2. package/admin/src/components/AuthenticatedApp/index.js +15 -12
  3. package/admin/src/components/AuthenticatedApp/utils/api.js +1 -1
  4. package/admin/src/components/AutoReloadOverlayBlockerProvider/index.js +8 -6
  5. package/admin/src/components/ConfigurationsProvider/index.js +21 -12
  6. package/admin/src/components/ConfigurationsProvider/reducer.js +1 -1
  7. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  8. package/admin/src/components/GuidedTour/Homepage/index.js +2 -2
  9. package/admin/src/components/GuidedTour/Modal/components/Content.js +6 -6
  10. package/admin/src/components/GuidedTour/Modal/components/Modal.js +1 -1
  11. package/admin/src/components/GuidedTour/Modal/index.js +2 -4
  12. package/admin/src/components/GuidedTour/Modal/reducer.js +1 -1
  13. package/admin/src/components/GuidedTour/index.js +4 -4
  14. package/admin/src/components/GuidedTour/init.js +2 -2
  15. package/admin/src/components/GuidedTour/reducer.js +1 -1
  16. package/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +1 -1
  17. package/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +4 -4
  18. package/admin/src/components/LanguageProvider/index.js +1 -1
  19. package/admin/src/components/LanguageProvider/init.js +1 -1
  20. package/admin/src/components/LeftMenu/index.js +6 -6
  21. package/admin/src/components/Notifications/Notification/index.js +3 -4
  22. package/admin/src/components/Notifications/index.js +2 -2
  23. package/admin/src/components/Notifications/reducer.js +2 -2
  24. package/admin/src/components/PluginsInitializer/index.js +4 -2
  25. package/admin/src/components/PluginsInitializer/init.js +1 -1
  26. package/admin/src/components/PluginsInitializer/reducer.js +1 -1
  27. package/admin/src/components/PrivateRoute/index.js +1 -1
  28. package/admin/src/components/Providers/index.js +14 -10
  29. package/admin/src/components/RBACProvider/actions.js +1 -1
  30. package/admin/src/components/RBACProvider/index.js +1 -1
  31. package/admin/src/components/RBACProvider/reducer.js +2 -2
  32. package/admin/src/components/ThemeToggleProvider/index.js +1 -1
  33. package/admin/src/components/UpgradePlanModal/index.js +1 -1
  34. package/admin/src/content-manager/components/AttributeFilter/Filters.js +1 -1
  35. package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +1 -1
  36. package/admin/src/content-manager/components/AttributeFilter/index.js +1 -1
  37. package/admin/src/content-manager/components/Block/index.js +1 -1
  38. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +7 -12
  39. package/admin/src/content-manager/components/DragLayer/index.js +1 -1
  40. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
  41. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -1
  42. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +4 -4
  43. package/admin/src/content-manager/components/DynamicTable/index.js +25 -4
  44. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js +18 -20
  45. package/admin/src/content-manager/components/DynamicZone/components/Component/index.js +1 -1
  46. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
  47. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js +3 -3
  48. package/admin/src/content-manager/components/DynamicZone/index.js +10 -10
  49. package/admin/src/content-manager/components/DynamicZone/utils/connect.js +1 -1
  50. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  51. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +6 -6
  52. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +1 -1
  53. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +4 -4
  54. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +18 -18
  55. package/admin/src/content-manager/components/FieldComponent/utils/connect.js +1 -1
  56. package/admin/src/content-manager/components/FieldComponent/utils/select.js +6 -6
  57. package/admin/src/content-manager/components/FieldTypeIcon/index.js +31 -1
  58. package/admin/src/content-manager/components/FormTitle/index.js +1 -1
  59. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  60. package/admin/src/content-manager/components/InputJSON/index.js +5 -6
  61. package/admin/src/content-manager/components/InputJSON/jsonlint.js +13 -13
  62. package/admin/src/content-manager/components/InputUID/index.js +1 -1
  63. package/admin/src/content-manager/components/InputUID/regex.js +1 -1
  64. package/admin/src/content-manager/components/Inputs/index.js +62 -15
  65. package/admin/src/content-manager/components/Inputs/utils/connect.js +1 -1
  66. package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +1 -1
  67. package/admin/src/content-manager/components/Inputs/utils/getStep.js +1 -5
  68. package/admin/src/content-manager/components/LayoutDndProvider/index.js +6 -6
  69. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +4 -4
  70. package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
  71. package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +1 -1
  72. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +1 -1
  73. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +9 -15
  74. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +1 -1
  75. package/admin/src/content-manager/components/RepeatableComponent/index.js +5 -5
  76. package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +1 -1
  77. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +2 -2
  78. package/admin/src/content-manager/components/SectionTitle/index.js +1 -1
  79. package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -1
  80. package/admin/src/content-manager/components/SelectMany/index.js +1 -1
  81. package/admin/src/content-manager/components/SelectOne/SingleValue.js +1 -1
  82. package/admin/src/content-manager/components/SelectWrapper/Option.js +1 -1
  83. package/admin/src/content-manager/components/SelectWrapper/index.js +16 -26
  84. package/admin/src/content-manager/components/SelectWrapper/utils/connect.js +1 -1
  85. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +6 -11
  86. package/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js +1 -1
  87. package/admin/src/content-manager/components/Wysiwyg/Editor.js +1 -1
  88. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
  89. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +1 -1
  90. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +4 -4
  91. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -5
  92. package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +4 -4
  93. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -1
  94. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -3
  95. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +1 -1
  96. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +7 -7
  97. package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +1 -1
  98. package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +1 -1
  99. package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +1 -1
  100. package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +2 -2
  101. package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -8
  102. package/admin/src/content-manager/pages/App/index.js +3 -3
  103. package/admin/src/content-manager/pages/App/reducer.js +1 -1
  104. package/admin/src/content-manager/pages/App/selectors.js +4 -4
  105. package/admin/src/content-manager/pages/App/useModels.js +1 -1
  106. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
  107. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -1
  108. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -2
  109. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
  110. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +5 -5
  111. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -1
  112. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +1 -1
  113. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +7 -2
  114. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +3 -3
  115. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +36 -5
  116. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +3 -3
  117. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js +1 -1
  118. package/admin/src/content-manager/pages/EditSettingsView/index.js +23 -22
  119. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +1 -1
  120. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -2
  121. package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +1 -1
  122. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +12 -12
  123. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
  124. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +1 -1
  125. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +1 -1
  126. package/admin/src/content-manager/pages/EditView/Header/index.js +4 -4
  127. package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +1 -1
  128. package/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js +3 -3
  129. package/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js +1 -1
  130. package/admin/src/content-manager/pages/EditView/index.js +98 -94
  131. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -2
  132. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +1 -1
  133. package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
  134. package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +1 -1
  135. package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +1 -1
  136. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +6 -6
  137. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +4 -3
  138. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +9 -9
  139. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +2 -2
  140. package/admin/src/content-manager/pages/ListSettingsView/index.js +9 -9
  141. package/admin/src/content-manager/pages/ListSettingsView/reducer.js +1 -1
  142. package/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js +1 -1
  143. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +8 -7
  144. package/admin/src/content-manager/pages/ListView/FieldPicker/utils/getAllAllowedHeader.js +1 -1
  145. package/admin/src/content-manager/pages/ListView/actions.js +1 -1
  146. package/admin/src/content-manager/pages/ListView/index.js +3 -3
  147. package/admin/src/content-manager/pages/ListView/reducer.js +2 -2
  148. package/admin/src/content-manager/pages/ListView/selectors.js +3 -3
  149. package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +1 -1
  150. package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +2 -2
  151. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +3 -3
  152. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +1 -1
  153. package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +1 -1
  154. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  155. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -2
  156. package/admin/src/content-manager/utils/generatePermissionsObject.js +3 -2
  157. package/admin/src/content-manager/utils/getFieldName.js +2 -2
  158. package/admin/src/content-manager/utils/getMaxTempKey.js +2 -2
  159. package/admin/src/content-manager/utils/getRequestUrl.js +1 -1
  160. package/admin/src/content-manager/utils/getTrad.js +1 -1
  161. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +2 -2
  162. package/admin/src/content-manager/utils/removeKeyInObject.js +1 -1
  163. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +2 -2
  164. package/admin/src/core/apis/CustomFields.js +80 -0
  165. package/admin/src/core/apis/Plugin.js +1 -1
  166. package/admin/src/core/apis/index.js +1 -0
  167. package/admin/src/core/store/configureStore.js +1 -1
  168. package/admin/src/core/store/createReducer.js +1 -1
  169. package/admin/src/core/utils/axiosInstance.js +4 -4
  170. package/admin/src/core/utils/createHook.js +2 -2
  171. package/admin/src/hooks/useFetchEnabledPlugins/index.js +3 -3
  172. package/admin/src/hooks/useFetchMarketplacePlugins/index.js +3 -3
  173. package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +1 -1
  174. package/admin/src/hooks/useFetchMarketplaceProviders/index.js +3 -3
  175. package/admin/src/hooks/useFetchPermissionsLayout/index.js +1 -1
  176. package/admin/src/hooks/useFetchPermissionsLayout/reducer.js +1 -1
  177. package/admin/src/hooks/useFetchRole/index.js +4 -4
  178. package/admin/src/hooks/useFetchRole/reducer.js +1 -1
  179. package/admin/src/hooks/useMenu/reducer.js +1 -1
  180. package/admin/src/hooks/useMenu/utils/getGeneralLinks.js +3 -1
  181. package/admin/src/hooks/useModels/index.js +1 -1
  182. package/admin/src/hooks/useModels/reducer.js +3 -3
  183. package/admin/src/hooks/useRolesList/reducer.js +1 -1
  184. package/admin/src/hooks/useSettingsForm/index.js +2 -2
  185. package/admin/src/hooks/useSettingsForm/reducer.js +1 -1
  186. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  187. package/admin/src/hooks/useSettingsMenu/init.js +1 -1
  188. package/admin/src/hooks/useSettingsMenu/reducer.js +3 -3
  189. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +3 -3
  190. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -1
  191. package/admin/src/index.js +1 -1
  192. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  193. package/admin/src/pages/Admin/Onboarding/index.js +2 -2
  194. package/admin/src/pages/Admin/index.js +2 -2
  195. package/admin/src/pages/App/index.js +13 -5
  196. package/admin/src/pages/App/reducer.js +1 -1
  197. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
  198. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -4
  199. package/admin/src/pages/AuthPage/components/Login/index.js +2 -2
  200. package/admin/src/pages/AuthPage/components/Register/index.js +6 -6
  201. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +5 -5
  202. package/admin/src/pages/AuthPage/init.js +1 -1
  203. package/admin/src/pages/AuthPage/reducer.js +1 -1
  204. package/admin/src/pages/AuthPage/utils/forms.js +2 -8
  205. package/admin/src/pages/HomePage/ContentBlocks.js +1 -1
  206. package/admin/src/pages/HomePage/SocialLinks.js +1 -1
  207. package/admin/src/pages/HomePage/index.js +3 -3
  208. package/admin/src/pages/InstalledPluginsPage/Plugins.js +1 -1
  209. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +2 -2
  210. package/admin/src/pages/MarketplacePage/index.js +6 -10
  211. package/admin/src/pages/ProfilePage/index.js +20 -23
  212. package/admin/src/pages/ProfilePage/utils/api.js +1 -1
  213. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +4 -4
  214. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
  215. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +8 -6
  216. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +25 -13
  217. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +16 -4
  218. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +1 -1
  219. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +1 -1
  220. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +1 -1
  221. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +1 -1
  222. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +1 -1
  223. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +2 -2
  224. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -1
  225. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +1 -1
  226. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +4 -4
  227. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +1 -1
  228. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +1 -1
  229. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +4 -4
  230. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +1 -1
  231. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +1 -1
  232. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +4 -4
  233. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +2 -2
  234. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +5 -8
  235. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +1 -1
  236. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -3
  237. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +1 -1
  238. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -1
  239. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +8 -12
  240. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +1 -1
  241. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  242. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +1 -1
  243. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +1 -1
  244. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  245. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -1
  246. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +1 -1
  247. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +2 -2
  248. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +9 -8
  249. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +4 -4
  250. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +1 -1
  251. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +1 -1
  252. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  253. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +1 -1
  254. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +1 -1
  255. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +4 -4
  256. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +2 -2
  257. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +5 -8
  258. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +2 -2
  259. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +2 -2
  260. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  261. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +67 -69
  262. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +4 -3
  263. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -2
  264. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +3 -3
  265. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +1 -1
  266. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +58 -60
  267. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -10
  268. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +3 -3
  269. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -1
  270. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +4 -4
  271. package/admin/src/pages/SettingsPage/pages/Users/ListPage/Filters/index.js +1 -1
  272. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +8 -8
  273. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/schema.js +2 -8
  274. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +17 -11
  275. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +1 -1
  276. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +46 -14
  277. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
  278. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +1 -5
  279. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +1 -4
  280. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +5 -5
  281. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +4 -4
  282. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +1 -1
  283. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +4 -4
  284. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +1 -1
  285. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/fieldsRegex.js +2 -2
  286. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -1
  287. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +9 -9
  288. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/reducer.js +2 -2
  289. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +2 -2
  290. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +6 -6
  291. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +4 -4
  292. package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +3 -3
  293. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +12 -12
  294. package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +2 -2
  295. package/admin/src/pages/UseCasePage/index.js +2 -2
  296. package/admin/src/shared/components/InjectionZone/index.js +1 -1
  297. package/admin/src/shared/hooks/useInjectionZone/index.js +1 -1
  298. package/admin/src/translations/ca.json +4 -4
  299. package/admin/src/translations/de.json +4 -4
  300. package/admin/src/translations/dk.json +4 -4
  301. package/admin/src/translations/en.json +16 -15
  302. package/admin/src/translations/es.json +163 -6
  303. package/admin/src/translations/fr.json +4 -4
  304. package/admin/src/translations/gu.json +4 -4
  305. package/admin/src/translations/he.json +3 -3
  306. package/admin/src/translations/hi.json +4 -4
  307. package/admin/src/translations/hu.json +4 -4
  308. package/admin/src/translations/id.json +4 -4
  309. package/admin/src/translations/it.json +4 -4
  310. package/admin/src/translations/ja.json +4 -4
  311. package/admin/src/translations/ko.json +4 -4
  312. package/admin/src/translations/ml.json +4 -4
  313. package/admin/src/translations/nl.json +4 -4
  314. package/admin/src/translations/no.json +3 -3
  315. package/admin/src/translations/pl.json +4 -4
  316. package/admin/src/translations/pt-BR.json +177 -24
  317. package/admin/src/translations/ru.json +4 -4
  318. package/admin/src/translations/sa.json +4 -4
  319. package/admin/src/translations/sk.json +4 -4
  320. package/admin/src/translations/sv.json +665 -11
  321. package/admin/src/translations/th.json +3 -3
  322. package/admin/src/translations/zh-Hans.json +12 -15
  323. package/admin/src/translations/zh.json +4 -4
  324. package/admin/src/utils/getAttributesToDisplay.js +1 -1
  325. package/admin/src/utils/getExistingActions.js +2 -2
  326. package/admin/src/utils/getFullName.js +1 -1
  327. package/admin/src/utils/getRequestUrl.js +1 -1
  328. package/admin/src/utils/makeUniqueRoutes.js +2 -2
  329. package/admin/src/utils/sortLinks.js +1 -1
  330. package/build/{1669.0551026a.chunk.js → 1669.4ce92b2f.chunk.js} +1 -1
  331. package/build/524.2437fb56.chunk.js +644 -0
  332. package/build/{6925.fb35248e.chunk.js → 6925.f5c8b6fc.chunk.js} +4 -4
  333. package/build/{7866.29d1f169.chunk.js → 7866.22e3c9f8.chunk.js} +1 -1
  334. package/build/8773.4e36117f.chunk.js +325 -0
  335. package/build/Admin-authenticatedApp.aaa66872.chunk.js +80 -0
  336. package/build/Admin_InternalErrorPage.12e24216.chunk.js +1 -0
  337. package/build/{Admin_marketplace.0b758aac.chunk.js → Admin_marketplace.2d181ad7.chunk.js} +1 -1
  338. package/build/Admin_pluginsPage.4d59785a.chunk.js +1 -0
  339. package/build/Admin_profilePage.8617313a.chunk.js +15 -0
  340. package/build/Admin_settingsPage.e58753c8.chunk.js +178 -0
  341. package/build/admin-app.1f9e13f8.chunk.js +112 -0
  342. package/build/admin-edit-roles-page.554ba3fa.chunk.js +1 -0
  343. package/build/admin-edit-users.5bebf473.chunk.js +10 -0
  344. package/build/admin-users.1d0aa7a0.chunk.js +11 -0
  345. package/build/{api-tokens-create-page.442e3be0.chunk.js → api-tokens-create-page.b4a9987d.chunk.js} +1 -1
  346. package/build/{api-tokens-edit-page.5f34eec7.chunk.js → api-tokens-edit-page.6f5b4e26.chunk.js} +1 -1
  347. package/build/api-tokens-list-page.06938769.chunk.js +15 -0
  348. package/build/ca-json.d16c1d28.chunk.js +1 -0
  349. package/build/content-manager.86f7594d.chunk.js +1178 -0
  350. package/build/content-type-builder-list-view.9b874fd4.chunk.js +194 -0
  351. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +1 -0
  352. package/build/content-type-builder-translation-pt-BR-json.d6c7fcc1.chunk.js +1 -0
  353. package/build/content-type-builder.47ab07ad.chunk.js +145 -0
  354. package/build/de-json.a9b514dc.chunk.js +1 -0
  355. package/build/dk-json.09e8d145.chunk.js +1 -0
  356. package/build/en-json.1bf20384.chunk.js +1 -0
  357. package/build/es-json.bb1fc425.chunk.js +1 -0
  358. package/build/fr-json.a3cf2e0b.chunk.js +1 -0
  359. package/build/gu-json.d8311297.chunk.js +1 -0
  360. package/build/he-json.3b825d80.chunk.js +1 -0
  361. package/build/hi-json.0edb8d29.chunk.js +1 -0
  362. package/build/hu-json.7855529a.chunk.js +1 -0
  363. package/build/i18n-settings-page.bf1304b0.chunk.js +101 -0
  364. package/build/i18n-translation-fr-json.b401aa34.chunk.js +1 -0
  365. package/build/id-json.df9618f2.chunk.js +1 -0
  366. package/build/index.html +1 -1
  367. package/build/it-json.a21bf078.chunk.js +1 -0
  368. package/build/ja-json.7b0d9067.chunk.js +1 -0
  369. package/build/ko-json.983c1f8f.chunk.js +1 -0
  370. package/build/main.7db3414f.js +9321 -0
  371. package/build/ml-json.8dd021c8.chunk.js +1 -0
  372. package/build/nl-json.29d2eb37.chunk.js +1 -0
  373. package/build/no-json.40386397.chunk.js +1 -0
  374. package/build/pl-json.1f04f00c.chunk.js +1 -0
  375. package/build/pt-BR-json.b4bc8efe.chunk.js +1 -0
  376. package/build/ru-json.7ab40ccf.chunk.js +1 -0
  377. package/build/{runtime~main.3dfda620.js → runtime~main.c1c5510b.js} +2 -2
  378. package/build/sa-json.c5a9f4ea.chunk.js +1 -0
  379. package/build/sk-json.e4c24c4e.chunk.js +1 -0
  380. package/build/sv-json.c3f471ae.chunk.js +1 -0
  381. package/build/th-json.a59ffb32.chunk.js +1 -0
  382. package/build/upload-translation-es-json.0f90db48.chunk.js +1 -0
  383. package/build/{upload-translation-th-json.64dd70ce.chunk.js → upload-translation-th-json.9e1fda51.chunk.js} +1 -1
  384. package/build/upload.7084cea6.chunk.js +7 -0
  385. package/build/{users-advanced-settings-page.f38654fc.chunk.js → users-advanced-settings-page.f11c8af4.chunk.js} +1 -1
  386. package/build/{users-email-settings-page.899e7fbd.chunk.js → users-email-settings-page.73c41236.chunk.js} +1 -1
  387. package/build/{users-providers-settings-page.a0b0fe39.chunk.js → users-providers-settings-page.f8e78537.chunk.js} +1 -1
  388. package/build/users-roles-settings-page.cafb4fe5.chunk.js +30 -0
  389. package/build/{webhook-edit-page.3417d93c.chunk.js → webhook-edit-page.9aba79b2.chunk.js} +3 -3
  390. package/build/zh-Hans-json.77a42bc5.chunk.js +1 -0
  391. package/build/zh-json.451a0271.chunk.js +1 -0
  392. package/ee/admin/hooks/useAuthProviders/reducer.js +1 -1
  393. package/ee/admin/pages/AuthPage/components/Login/index.js +2 -2
  394. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +3 -3
  395. package/ee/admin/pages/SettingsPage/SingleSignOn/index.js +3 -3
  396. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +11 -9
  397. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +8 -8
  398. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/reducer.js +1 -1
  399. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +1 -1
  400. package/ee/server/controllers/authentication/middlewares.js +1 -1
  401. package/ee/server/controllers/authentication/utils.js +1 -1
  402. package/ee/server/controllers/role.js +4 -4
  403. package/ee/server/services/passport/provider-registry.js +1 -1
  404. package/ee/server/services/passport/sso.js +1 -1
  405. package/ee/server/services/passport.js +1 -1
  406. package/ee/server/services/role.js +1 -1
  407. package/ee/server/validation/authentication.js +1 -1
  408. package/ee/server/validation/role.js +3 -6
  409. package/ee/server/validation/user.js +1 -1
  410. package/env.js +2 -2
  411. package/index.js +2 -2
  412. package/jest.config.front.js +3 -1
  413. package/package.json +24 -15
  414. package/scripts/build.js +2 -2
  415. package/scripts/create-dev-plugins-file.js +5 -7
  416. package/scripts/create-plugins-file.js +2 -2
  417. package/server/config/admin-conditions.js +3 -3
  418. package/server/controllers/admin.js +1 -1
  419. package/server/controllers/authentication.js +1 -1
  420. package/server/controllers/formatters/format-actions-by-sections.js +8 -5
  421. package/server/controllers/role.js +1 -1
  422. package/server/controllers/user.js +1 -1
  423. package/server/controllers/webhooks.js +6 -16
  424. package/server/domain/action/index.js +3 -3
  425. package/server/domain/action/provider.js +2 -2
  426. package/server/domain/condition/index.js +2 -2
  427. package/server/domain/condition/provider.js +1 -1
  428. package/server/domain/permission/index.js +3 -3
  429. package/server/domain/user.js +2 -2
  430. package/server/policies/hasPermissions.js +5 -5
  431. package/server/policies/isAuthenticatedAdmin.js +1 -1
  432. package/server/routes/serve-admin-panel.js +1 -1
  433. package/server/services/action.js +1 -1
  434. package/server/services/api-token.js +5 -5
  435. package/server/services/auth.js +2 -2
  436. package/server/services/condition.js +1 -1
  437. package/server/services/content-type.js +5 -3
  438. package/server/services/passport/local-strategy.js +2 -2
  439. package/server/services/passport.js +2 -4
  440. package/server/services/permission/engine-hooks.js +1 -1
  441. package/server/services/permission/engine.js +9 -9
  442. package/server/services/permission/permissions-manager/query-builers.js +5 -5
  443. package/server/services/permission/permissions-manager/sanitize.js +6 -10
  444. package/server/services/permission/queries.js +12 -13
  445. package/server/services/permission/sections-builder/handlers.js +21 -19
  446. package/server/services/permission/sections-builder/section.js +2 -2
  447. package/server/services/permission/sections-builder/utils.js +5 -5
  448. package/server/services/project-settings.js +9 -12
  449. package/server/services/role.js +15 -13
  450. package/server/services/token.js +2 -2
  451. package/server/services/user.js +11 -11
  452. package/server/strategies/admin.js +1 -1
  453. package/server/strategies/api-token.js +3 -3
  454. package/server/utils/index.js +1 -1
  455. package/server/validation/action-provider.js +6 -12
  456. package/server/validation/api-tokens.js +4 -16
  457. package/server/validation/authentication/renew-token.js +1 -5
  458. package/server/validation/common-functions/check-fields-are-correctly-nested.js +5 -3
  459. package/server/validation/common-functions/check-fields-dont-have-duplicates.js +3 -2
  460. package/server/validation/common-validators.js +74 -71
  461. package/server/validation/permission.js +13 -13
  462. package/server/validation/policies/hasPermissions.js +2 -6
  463. package/server/validation/user.js +1 -5
  464. package/utils/create-cache-dir.js +3 -3
  465. package/utils/get-custom-app-config-file.js +3 -3
  466. package/utils/get-plugins-path.js +3 -2
  467. package/utils/should-build-admin.js +4 -4
  468. package/webpack.config.js +2 -7
  469. package/build/611.aa894d27.chunk.js +0 -158
  470. package/build/8773.c190837d.chunk.js +0 -330
  471. package/build/Admin-authenticatedApp.380e5e99.chunk.js +0 -80
  472. package/build/Admin_InternalErrorPage.25c53284.chunk.js +0 -1
  473. package/build/Admin_pluginsPage.0992c2b5.chunk.js +0 -1
  474. package/build/Admin_profilePage.35ce8e94.chunk.js +0 -15
  475. package/build/Admin_settingsPage.76ee4c17.chunk.js +0 -178
  476. package/build/admin-app.93ff2e38.chunk.js +0 -112
  477. package/build/admin-edit-roles-page.358d98c1.chunk.js +0 -1
  478. package/build/admin-edit-users.7d9cf406.chunk.js +0 -10
  479. package/build/admin-users.bb3a8eb6.chunk.js +0 -11
  480. package/build/api-tokens-list-page.5ea3f6ce.chunk.js +0 -15
  481. package/build/ca-json.0097e443.chunk.js +0 -1
  482. package/build/content-manager.55791f82.chunk.js +0 -1178
  483. package/build/content-type-builder-list-view.4a704844.chunk.js +0 -194
  484. package/build/content-type-builder-translation-en-json.201bfb78.chunk.js +0 -1
  485. package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +0 -1
  486. package/build/content-type-builder.f48a28f9.chunk.js +0 -142
  487. package/build/de-json.0b92acd2.chunk.js +0 -1
  488. package/build/dk-json.9f1bc016.chunk.js +0 -1
  489. package/build/en-json.6d70e9ff.chunk.js +0 -1
  490. package/build/es-json.2a5a9fc1.chunk.js +0 -1
  491. package/build/fr-json.84064a0b.chunk.js +0 -1
  492. package/build/gu-json.dafa6f0d.chunk.js +0 -1
  493. package/build/he-json.d40da459.chunk.js +0 -1
  494. package/build/hi-json.b4ae16d1.chunk.js +0 -1
  495. package/build/hu-json.c81ce352.chunk.js +0 -1
  496. package/build/i18n-settings-page.9d426e96.chunk.js +0 -101
  497. package/build/i18n-translation-fr-json.0839d68d.chunk.js +0 -1
  498. package/build/id-json.fad45d17.chunk.js +0 -1
  499. package/build/it-json.12df4cdf.chunk.js +0 -1
  500. package/build/ja-json.850237e9.chunk.js +0 -1
  501. package/build/ko-json.2f3d256e.chunk.js +0 -1
  502. package/build/main.66ef8611.js +0 -9317
  503. package/build/ml-json.dc946c7f.chunk.js +0 -1
  504. package/build/nl-json.465b173f.chunk.js +0 -1
  505. package/build/no-json.e8749dd4.chunk.js +0 -1
  506. package/build/pl-json.4d11f53d.chunk.js +0 -1
  507. package/build/pt-BR-json.6301d49b.chunk.js +0 -1
  508. package/build/ru-json.28147733.chunk.js +0 -1
  509. package/build/sa-json.be504091.chunk.js +0 -1
  510. package/build/sk-json.5b33afc2.chunk.js +0 -1
  511. package/build/sv-json.cdcac02d.chunk.js +0 -1
  512. package/build/th-json.3aadaec6.chunk.js +0 -1
  513. package/build/upload-translation-es-json.6b1813b6.chunk.js +0 -1
  514. package/build/upload.0af4feca.chunk.js +0 -7
  515. package/build/users-roles-settings-page.1206751f.chunk.js +0 -30
  516. package/build/zh-Hans-json.eac1d90a.chunk.js +0 -1
  517. package/build/zh-json.96bf6019.chunk.js +0 -1
@@ -0,0 +1,178 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{50020:(ge,D,a)=>{a.r(D),a.d(D,{SettingsPage:()=>_t,default:()=>Rn});var e=a(32735),C=a(88425),r=a(5141),ne=a(11856),V=a(5636),Le=a(99357),Ee=a(73869),fe=a(7602),Ne=a(84968),Y=a(16540),F=a(9808),P=a(78330),Z=a(95602),de=a(90662),k=a(44526),te=a(14983),Ge=a(82372),$e=a.n(Ge),ze=a(88677),be=a.n(ze),z=a(60216),y=a.n(z),ue=a(69898),Ke=a(20763),re=a(59290),J=a.n(re),ae=a(23101),it=a.n(ae),Ie=a(49415);const Xe={currentStep:void 0},Se=(p=Xe,c)=>(0,Ie.default)(p,l=>{switch(c.type){case"GO_TO":{l.currentStep=c.to;break}default:return l}});var ke=a(4122);const Qe={localImage:void 0},Je=(p=Qe,c)=>(0,Ie.default)(p,l=>{switch(c.type){case"SET_LOCAL_IMAGE":{l.localImage=c.value;break}default:return l}}),R=({onChangeLogo:p,customLogo:c,goTo:l,Component:h,modalTitle:u,next:T,prev:M,currentStep:O})=>{const[{localImage:v},x]=(0,e.useReducer)(Je,Qe),{formatMessage:Te}=(0,V.useIntl)(),me=yt=>{x({type:"SET_LOCAL_IMAGE",value:yt})},tt=()=>{l(null)};return O?e.createElement(ke.ModalLayout,{labelledBy:"modal",onClose:tt},e.createElement(ke.ModalHeader,null,e.createElement(Z.Typography,{fontWeight:"bold",as:"h2",id:"modal"},Te(u))),e.createElement(h,{setLocalImage:me,goTo:l,next:T,prev:M,onClose:tt,asset:v||c,onChangeLogo:p})):null};R.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},R.propTypes={Component:y().elementType,currentStep:y().string,customLogo:y().shape({name:y().string,url:y().string,width:y().number,height:y().number,ext:y().string}),goTo:y().func.isRequired,modalTitle:y().shape({id:y().string,defaultMessage:y().string}),next:y().string,onChangeLogo:y().func.isRequired,prev:y().string};const U=R,N=750,_=100,pe=["image/jpeg","image/png","image/svg+xml"];var W=a(81700),Q=a(27635),oe=a(19615),G=a(19192),le=a(78752),xe=a(20001),Ue=a(22795),Ve=a.n(Ue),st=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const qe={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},B={id:"Settings.application.customization.modal.upload.error-size",defaultMessage:"The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"},K=p=>new Promise(c=>{const l=new FileReader;l.onload=()=>{const h=new Image;h.onload=function(){c({width:h.width,height:h.height})},h.src=l.result},l.readAsDataURL(p)}),H=(p,c)=>({ext:p.name.split(".").pop(),size:p.size/1e3,name:p.name,url:URL.createObjectURL(p),rawFile:p,width:c.width,height:c.height}),f=p=>st(void 0,null,function*(){let c;if(!pe.includes(p.type))throw c=new Error("File format"),c.displayMessage=qe,c;const h=yield K(p);if(!(h.width<=N&&h.height<=N))throw c=new Error("File sizing"),c.displayMessage=B,c;const T=H(p,h);if(!(T.size<=_))throw c=new Error("File sizing"),c.displayMessage=B,c;return T});var Fe=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const _e=(0,oe.default)(xe.FieldInput)`
2
+ opacity: 0;
3
+ position: absolute;
4
+ top: 0;
5
+ bottom: 0;
6
+ left: 0;
7
+ right: 0;
8
+ z-index: 1;
9
+ `,He=({setLocalImage:p,goTo:c,next:l,onClose:h})=>{const{formatMessage:u}=(0,V.useIntl)(),[T,M]=(0,e.useState)(!1),[O,v]=(0,e.useState)(void 0),x=(0,e.useRef)(null),Te=()=>M(!0),me=()=>M(!1),tt=ot=>{ot.preventDefault(),x.current.click()},yt=()=>Fe(void 0,null,function*(){me();const ot=x.current.files[0];if(!!ot)try{const at=yield f(ot);p(at),c(l)}catch(at){if(at.displayMessage)v(u(at.displayMessage,{size:_,dimension:N})),x.current.focus();else throw at}}),rt=()=>T?"primary500":O?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(F.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(xe.Field,{name:"logo-upload",error:O},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(de.Stack,{spacing:2},e.createElement(G.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:T?"primary100":"neutral100",borderColor:rt(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:Te,onDragLeave:me},e.createElement(le.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:Ve(),"aria-hidden":!0}),e.createElement(F.Box,{paddingTop:3,paddingBottom:5},e.createElement(Z.Typography,{variant:"delta",as:"span"},u({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(_e,{accept:pe,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:yt,ref:x,id:"logo-upload"}),e.createElement(k.Button,{type:"button",onClick:tt},u({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(F.Box,{paddingTop:6},e.createElement(Z.Typography,{variant:"pi",textColor:"neutral600"},u({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:_,dimension:N})))),e.createElement(xe.FieldError,null)))))),e.createElement(ke.ModalFooter,{startActions:e.createElement(k.Button,{onClick:h,variant:"tertiary"},u({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};He.defaultProps={next:null},He.propTypes={goTo:y().func.isRequired,next:y().string,onClose:y().func.isRequired,setLocalImage:y().func.isRequired};const q=He;var he=a(37178),Pe=a(43653),tn=a.n(Pe),nn=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const Bt=p=>nn(void 0,null,function*(){try{const c=yield tn().get(p,{responseType:"blob",timeout:8e3});return new File([c.data],c.config.url,{type:c.headers["content-type"]})}catch(c){throw c.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},c}});var wt=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const Et=({goTo:p,next:c,onClose:l,setLocalImage:h})=>{const{formatMessage:u}=(0,V.useIntl)(),[T,M]=(0,e.useState)(""),[O,v]=(0,e.useState)(null),x=me=>{M(me.target.value)},Te=()=>wt(void 0,null,function*(){try{const me=yield Bt(T),tt=yield f(me);h(tt),p(c)}catch(me){if(me.displayMessage)v(u(me.displayMessage,{size:_,dimension:N}));else throw me}});return e.createElement("form",{onSubmit:me=>{me.preventDefault(),Te()}},e.createElement(F.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(he.TextInput,{label:u({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:O,onChange:x,value:T,name:"logo-url"})),e.createElement(ke.ModalFooter,{startActions:e.createElement(k.Button,{onClick:l,variant:"tertiary"},u({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(k.Button,{type:"submit"},u({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};Et.defaultProps={next:null},Et.propTypes={goTo:y().func.isRequired,next:y().string,onClose:y().func.isRequired,setLocalImage:y().func.isRequired};const $n=Et,ut=({setLocalImage:p,goTo:c,next:l,onClose:h})=>{const{formatMessage:u}=(0,V.useIntl)();return e.createElement(W.TabGroup,{label:u({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(F.Box,{paddingLeft:8,paddingRight:8},e.createElement(W.Tabs,null,e.createElement(W.Tab,null,u({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(W.Tab,null,u({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(Q.Divider,null)),e.createElement(W.TabPanels,null,e.createElement(W.TabPanel,null,e.createElement(q,{onClose:h,setLocalImage:p,goTo:c,next:l})),e.createElement(W.TabPanel,null,e.createElement($n,{onClose:h,setLocalImage:p,goTo:c,next:l}))))};ut.defaultProps={next:null},ut.propTypes={goTo:y().func.isRequired,next:y().string,onClose:y().func.isRequired,setLocalImage:y().func.isRequired};const kn=ut;var nt=a(31998);const jt=({asset:p})=>{const{formatMessage:c}=(0,V.useIntl)();return e.createElement(nt.Card,null,e.createElement(nt.CardHeader,null,e.createElement(nt.CardAsset,{size:"S",src:p.url})),e.createElement(nt.CardBody,null,e.createElement(nt.CardContent,null,e.createElement(nt.CardTitle,null,p.name),e.createElement(nt.CardSubtitle,null,`${p.ext.toUpperCase()} - ${p.width}\u2715${p.height}`)),e.createElement(nt.CardBadge,null,c({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};jt.propTypes={asset:y().shape({name:y().string,url:y().string,width:y().number,height:y().number,ext:y().string}).isRequired};const Nt=jt,Tt=({onClose:p,asset:c,prev:l,next:h,goTo:u,setLocalImage:T,onChangeLogo:M})=>{const{formatMessage:O}=(0,V.useIntl)(),v=()=>{T(void 0),u(l)},x=()=>{M(c),u(h)};return e.createElement(e.Fragment,null,e.createElement(F.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(G.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(G.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(Z.Typography,{variant:"pi",fontWeight:"bold"},O({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(Z.Typography,{variant:"pi",textColor:"neutral500"},O({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(k.Button,{onClick:v,variant:"secondary"},O({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(F.Box,{maxWidth:(0,C.pxToRem)(180)},e.createElement(Nt,{asset:c}))),e.createElement(ke.ModalFooter,{startActions:e.createElement(k.Button,{onClick:p,variant:"tertiary"},O({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(k.Button,{onClick:x},O({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};Tt.defaultProps={next:null,prev:null},Tt.propTypes={goTo:y().func.isRequired,asset:y().shape({name:y().string,url:y().string,width:y().number,height:y().number,ext:y().string}).isRequired,next:y().string,onClose:y().func.isRequired,onChangeLogo:y().func.isRequired,prev:y().string,setLocalImage:y().func.isRequired};const sn={upload:{Component:kn,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Tt,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}},pt=({customLogo:p,defaultLogo:c,onChangeLogo:l,onResetMenuLogo:h})=>{const[{currentStep:u},T]=(0,e.useReducer)(Se,Xe),{Component:M,next:O,prev:v,modalTitle:x}=sn[u]||{},{formatMessage:Te}=(0,V.useIntl)(),me=tt=>{T({type:"GO_TO",to:tt})};return e.createElement(e.Fragment,null,e.createElement(ue.CarouselInput,{label:Te({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"}),selectedSlide:0,hint:Te({id:"Settings.application.customization.carousel-hint",defaultMessage:"Change the admin panel logo (Max dimension: {dimension}x{dimension}, Max file size: {size}KB)"},{size:_,dimension:N}),previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:(p==null?void 0:p.name)||"logo.png",actions:e.createElement(ue.CarouselActions,null,e.createElement(Ke.IconButton,{onClick:()=>me(p?"pending":"upload"),label:Te({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(J(),null)}),p&&e.createElement(Ke.IconButton,{onClick:h,label:Te({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(it(),null)}))},e.createElement(ue.CarouselSlide,{label:Te({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(F.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:(p==null?void 0:p.url)||c,alt:Te({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(U,{Component:M,currentStep:u,onChangeLogo:l,customLogo:p,goTo:me,next:O,prev:v,modalTitle:x}))};pt.defaultProps={customLogo:null},pt.propTypes={customLogo:y().shape({url:y().string,name:y().string}),defaultLogo:y().string.isRequired,onChangeLogo:y().func.isRequired,onResetMenuLogo:y().func.isRequired};const Wt=pt,bt={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}}},Vn=(p=bt,c)=>(0,Ie.default)(p,l=>{switch(c.type){case"SET_CUSTOM_MENU_LOGO":{l.menuLogo.display=c.value,l.menuLogo.submit.rawFile=c.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{l.menuLogo.display=null,l.menuLogo.submit={rawFile:null,isReset:!0};break}default:return l}});var At=a(86349),Zn=a.n(At);const Gn=(p,c)=>Zn()(p,{menuLogo:{display:c.menuLogo}}),Ot=(0,e.forwardRef)(({projectSettingsStored:p},c)=>{const{formatMessage:l}=(0,V.useIntl)(),{trackUsage:h}=(0,C.useTracking)(),{logos:{menu:u}}=(0,Ee.um)(),[{menuLogo:T},M]=(0,e.useReducer)(Vn,bt,()=>Gn(bt,p)),O=x=>{M({type:"SET_CUSTOM_MENU_LOGO",value:x})},v=()=>{h("didClickResetLogo"),M({type:"RESET_CUSTOM_MENU_LOGO"})};return(0,e.useImperativeHandle)(c,()=>({getValues:()=>({menuLogo:T.submit})})),e.createElement(F.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(Z.Typography,{variant:"delta",as:"h3"},l({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(P.Grid,{paddingTop:4},e.createElement(P.GridItem,{col:6,s:12},e.createElement(Wt,{onChangeLogo:O,customLogo:T.display,defaultLogo:u.default,onResetMenuLogo:v}))))});Ot.defaultProps={projectSettingsStored:null},Ot.propTypes={projectSettingsStored:y().shape({menuLogo:y().shape({url:y().string,name:y().string})})};const rn=Ot;var $t=a(17247),zn=a(48344),gt=a.n(zn),Kn=Object.defineProperty,ft=Object.defineProperties,kt=Object.getOwnPropertyDescriptors,Rt=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,Dt=(p,c,l)=>c in p?Kn(p,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):p[c]=l,Vt=(p,c)=>{for(var l in c||(c={}))Ut.call(c,l)&&Dt(p,l,c[l]);if(Rt)for(var l of Rt(c))ln.call(c,l)&&Dt(p,l,c[l]);return p},Zt=(p,c)=>ft(p,kt(c));const xt=p=>gt()(p,(c,l,h)=>{l&&l.url?c[h]=Zt(Vt({},l),{url:(0,C.prefixFileUrlWithBackendUrl)(l.url)}):c[h]=l},{});var Gt=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const Xn=()=>Gt(void 0,null,function*(){const{data:p}=yield $t.be.get("/admin/project-settings");return xt(p)}),cn=p=>Gt(void 0,null,function*(){const{data:c}=yield $t.be.post("/admin/project-settings",p);return xt(c)}),un=p=>{const c=new FormData;return Object.entries(p).forEach(([l,h])=>{h&&h.rawFile instanceof File&&c.append(l,h.rawFile),h&&h.isReset&&c.append(l,null)}),c};var zt=(p,c,l)=>new Promise((h,u)=>{var T=v=>{try{O(l.next(v))}catch(x){u(x)}},M=v=>{try{O(l.throw(v))}catch(x){u(x)}},O=v=>v.done?h(v.value):Promise.resolve(v.value).then(T,M);O((l=l.apply(p,c)).next())});const pn=[{action:"admin::project-settings.update",subject:null}],Qn=()=>{const p=(0,e.useRef)(),c=(0,C.useNotification)(),{trackUsage:l}=(0,C.useTracking)(),{formatMessage:h}=(0,V.useIntl)(),u=(0,Ne.useQueryClient)();(0,C.useFocusWhenNavigate)();const T=(0,C.useAppInfos)(),{shouldUpdateStrapi:M,latestStrapiReleaseTag:O,strapiVersion:v}=T,{updateProjectSettings:x}=(0,Ee.um)(),{data:Te}=(0,Ne.useQuery)("project-settings",Xn),me=T.communityEdition?"app.components.UpgradePlanModal.text-ce":"app.components.UpgradePlanModal.text-ee",tt=(0,Ne.useMutation)(rt=>cn(rt),{onSuccess(rt){return zt(this,arguments,function*({menuLogo:ot}){yield u.invalidateQueries("project-settings",{refetchActive:!0}),x({menuLogo:ot==null?void 0:ot.url})})}}),yt=()=>{const rt=p.current.getValues(),ot=un(rt);tt.mutate(ot,{onSuccess(){const{menuLogo:at}=rt;at.rawFile&&l("didChangeLogo")},onError(){c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(ne.Layout,null,e.createElement(C.SettingsPageTitle,{name:"Application"}),e.createElement(Y.Main,null,e.createElement(ne.HeaderLayout,{title:h({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:h({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:e.createElement(k.Button,{onClick:yt,startIcon:e.createElement(be(),null)},h({id:"global.save",defaultMessage:"Save"}))}),e.createElement(ne.ContentLayout,null,e.createElement(de.Stack,{spacing:6},e.createElement(F.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(de.Stack,{spacing:5},e.createElement(Z.Typography,{variant:"delta",as:"h3"},h({id:"global.details",defaultMessage:"Details"})),e.createElement(P.Grid,{paddingTop:1},e.createElement(P.GridItem,{col:6,s:12},e.createElement(Z.Typography,{variant:"sigma",textColor:"neutral600"},h({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(Z.Typography,{as:"p"},"v",v),e.createElement(te.Link,{href:T.communityEdition?"https://discord.strapi.io":"https://support.strapi.io/support/home",isExternal:!0,endIcon:e.createElement($e(),null)},h({id:"Settings.application.get-help",defaultMessage:"Get help"}))),e.createElement(P.GridItem,{col:6,s:12},e.createElement(Z.Typography,{variant:"sigma",textColor:"neutral600"},h({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(Z.Typography,{as:"p"},h({id:me,defaultMessage:`${T.communityEdition?"Community Edition":"Enterprise Edition"}`})))),e.createElement(P.Grid,{paddingTop:1},e.createElement(P.GridItem,{col:6,s:12},M&&e.createElement(te.Link,{href:`https://github.com/strapi/strapi/releases/tag/${O}`,isExternal:!0,endIcon:e.createElement($e(),null)},h({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"}))),e.createElement(P.GridItem,{col:6,s:12},e.createElement(te.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement($e(),null)},h({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(F.Box,{paddingTop:1},e.createElement(Z.Typography,{variant:"sigma",textColor:"neutral600"},h({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(Z.Typography,{as:"p"},T.nodeVersion)))),Te&&e.createElement(C.CheckPermissions,{permissions:pn},e.createElement(rn,{ref:p,projectSettingsStored:Te}))))))};var Kt=a(3704),mn=a.n(Kt);const gn=p=>mn()(p,l=>l.links).map(l=>(0,fe.ot)(l.Component,l.to,l.exact||!1)),hn=p=>p.filter(c=>!c.links.every(l=>l.isDisplayed===!1));var Ht=a(21930),et=a(18950),yn=a(72975),ye=a.n(yn),vn=function(){return window&&window.strapi&&window.strapi.isEE?a(20178).Z:a(16329).Z}(),Cn=function(){return window&&window.strapi&&window.strapi.isEE?a(51899).Z:a(45677).Z}(),En=[{Component:function(){return{default:Cn}},to:"/settings/roles",exact:!0},{Component:function(){return{default:vn}},to:"/settings/roles/duplicate/:id",exact:!0},{Component:function(){return{default:vn}},to:"/settings/roles/new",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(2544).then(a.bind(a,33778));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/roles/:id",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(5199).then(a.bind(a,31904));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/users",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(4263).then(a.bind(a,40874));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/users/:id",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,Promise.all([a.e(4715),a.e(5162)]).then(a.bind(a,33238));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/webhooks/create",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,Promise.all([a.e(4715),a.e(5162)]).then(a.bind(a,59021));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/webhooks/:id",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(4121).then(a.bind(a,70791));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/webhooks",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(8056).then(a.bind(a,23923));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/api-tokens",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(4299).then(a.bind(a,3330));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/api-tokens/create",exact:!0},{Component:function(){return(0,et.Z)(ye().mark(function c(){var l;return ye().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,a.e(92).then(a.bind(a,97841));case 2:return l=u.sent,u.abrupt("return",l);case 4:case"end":return u.stop()}},c)}))()},to:"/settings/api-tokens/:id",exact:!0}];const bn=En;var Xt=function(){return window&&window.strapi&&window.strapi.isEE?a(63775).Z:a(75936).Z}();const Sn=[].concat((0,Ht.Z)(Xt),(0,Ht.Z)(bn));var ht=a(89420),Yt=Object.defineProperty,Pn=Object.defineProperties,Tn=Object.getOwnPropertyDescriptors,Qt=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,An=Object.prototype.propertyIsEnumerable,Lt=(p,c,l)=>c in p?Yt(p,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):p[c]=l,It=(p,c)=>{for(var l in c||(c={}))Mt.call(c,l)&&Lt(p,l,c[l]);if(Qt)for(var l of Qt(c))An.call(c,l)&&Lt(p,l,c[l]);return p},Jt=(p,c)=>Pn(p,Tn(c));const qt=({menu:p})=>{const{formatMessage:c}=(0,V.useIntl)(),h=hn(p).map(T=>Jt(It({},T),{title:T.intlLabel,links:T.links.map(M=>Jt(It({},M),{title:M.intlLabel,name:M.id}))})),u=c({id:"global.settings",defaultMessage:"Settings"});return e.createElement(ht.SubNav,{ariaLabel:u},e.createElement(ht.SubNavHeader,{label:u}),e.createElement(ht.SubNavSections,null,h.map(T=>e.createElement(ht.SubNavSection,{key:T.id,label:c(T.intlLabel)},T.links.map(M=>e.createElement(ht.SubNavLink,{as:r.NavLink,withBullet:M.hasNotification,to:M.to,key:M.id},c(M.intlLabel)))))))};qt.propTypes={menu:y().array.isRequired};const On=qt;function _t(){const{settingId:p}=(0,r.useParams)(),{settings:c}=(0,C.useStrapiApp)(),{formatMessage:l}=(0,V.useIntl)(),{isLoading:h,menu:u}=(0,Ee.Te)(),T=(0,e.useMemo)(()=>(0,fe.WW)(Sn.map(({to:v,Component:x,exact:Te})=>(0,fe.ot)(x,v,Te))),[]),M=gn(c);if(h)return e.createElement(C.LoadingIndicatorPage,null);if(!p)return e.createElement(r.Redirect,{to:"/settings/application-infos"});const O=l({id:"global.settings",defaultMessage:"Settings"});return e.createElement(ne.Layout,{sideNav:e.createElement(On,{menu:u})},e.createElement(Le.Helmet,{title:O}),e.createElement(r.Switch,null,e.createElement(r.Route,{path:"/settings/application-infos",component:Qn,exact:!0}),T,M))}const Rn=(0,e.memo)(_t)},16329:(ge,D,a)=>{a.d(D,{Z:()=>ne});var e=a(32735),C=a(5141);const ne=()=>e.createElement(C.Redirect,{to:"/404"})},49466:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},35123:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},18318:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},52124:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},61526:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},25793:(ge,D,a)=>{a.d(D,{Z:()=>Ja});var e=a(32735),C=a(60216),r=a.n(C),ne=a(88425),V=a(81700),Le=a(23973),Ee=a.n(Le),fe=a(86834),Ne=a.n(fe),Y=a(5636),F=a(9808),P=a(19615),Z=a(98978),de=a.n(Z),k=a(92577),te=a(67793),Ge=a.n(te),$e=a(31476),ze=a.n($e),be=a(35980),z=a(19192),y=a(33795),ue=a.n(y),Ke=a(9086),re=a.n(Ke),J=a(73869),ae=a(42258),it=a.n(ae),Ie=a(44526);const Xe=P.default.div`
10
+ position: relative;
11
+
12
+ ${({hasConditions:o,disabled:t,theme:n})=>o&&`
13
+ &:before {
14
+ content: '';
15
+ position: absolute;
16
+ top: -3px;
17
+ left: -10px;
18
+ width: 6px;
19
+ height: 6px;
20
+ border-radius: ${20/16}rem;;
21
+ background: ${t?n.colors.neutral100:n.colors.primary600};
22
+ }
23
+ `}
24
+ `,Ye=({onClick:o,className:t,hasConditions:n,variant:s})=>{const{formatMessage:i}=(0,Y.useIntl)();return e.createElement(Xe,{hasConditions:n,className:t},e.createElement(Ie.Button,{variant:s,startIcon:e.createElement(it(),null),onClick:o},i({id:"global.settings",defaultMessage:"Settings"})))};Ye.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Ye.propTypes={onClick:r().func.isRequired,className:r().string,hasConditions:r().bool,variant:r().string};const Se=(0,P.default)(Ye)``;var ke=a(27635),Qe=a(90662),ie=a(4122),Je=a(71657),R=a(95602),U=a(49415),N=a(81346),_=a.n(N),pe=a(23940),W=a.n(pe),Q=a(47169),oe=a(21930),G=a(25716);const le=`${120/16}rem`,xe=`${200/16}rem`,Ue=`${53/16}rem`;function Ve(o,t){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(o);t&&(s=s.filter(function(i){return Object.getOwnPropertyDescriptor(o,i).enumerable})),n.push.apply(n,s)}return n}function st(o){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ve(Object(n),!0).forEach(function(s){(0,Q.Z)(o,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):Ve(Object(n)).forEach(function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(n,s))})}return o}var qe=function(){return window&&window.strapi&&window.strapi.isEE?a(56899).Z:a(49466).Z}(),B=(0,P.default)(z.Flex).withConfig({displayName:"ActionRow__FlexWrapper",componentId:"sc-1bqpgdl-0"})(["height:",";"],Ue),K=function(t){var n=t.arrayOfOptionsGroupedByCategory,s=t.isFormDisabled,i=t.isGrey,d=t.label,m=t.name,g=t.onChange,E=t.value,b=(0,Y.useIntl)(),S=b.formatMessage,L=n.reduce(function(w,j){var A=(0,k.Z)(j,2),I=A[0],X=A[1],se={label:W()(I),children:X.map(function(Oe){return{label:Oe.displayName,value:Oe.id}})};return[].concat((0,oe.Z)(w),[se])},[]),$=Object.values(E).map(function(w){return Object.entries(w).filter(function(j){var A=(0,k.Z)(j,2),I=A[1];return I}).map(function(j){var A=(0,k.Z)(j,1),I=A[0];return I})}).flat(),ee=function(j){var A=(0,k.Z)(n,1),I=(0,k.Z)(A[0],2),X=I[1],se=X.reduce(function(Oe,ve){return st((0,Q.Z)({},ve.id,j.includes(ve.id)),Oe)},{});g(m,se)};return e.createElement(B,{as:"li",background:i?"neutral100":"neutral0"},e.createElement(z.Flex,{paddingLeft:6,style:{width:180}},e.createElement(R.Typography,{variant:"sigma",textColor:"neutral600"},S({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(R.Typography,{variant:"sigma",title:d,textColor:"primary600",ellipsis:!0},S({id:"Settings.roles.form.permissions.".concat(d.toLowerCase()),defaultMessage:d})),e.createElement(R.Typography,{variant:"sigma",textColor:"neutral600"},"\xA0",S({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(F.Box,{style:{maxWidth:430,width:"100%"}},e.createElement(G.MultiSelectNested,{id:m,customizeContent:function(j){return"".concat(j.length," currently selected")},onChange:ee,value:$,options:L,disabled:s||qe})))};K.propTypes={arrayOfOptionsGroupedByCategory:r().array.isRequired,isFormDisabled:r().bool.isRequired,isGrey:r().bool.isRequired,label:r().string.isRequired,name:r().string.isRequired,value:r().object.isRequired,onChange:r().func.isRequired};const H=K;var f=a(92891);const Fe=(o,t)=>o.reduce((n,s)=>(n[s.id]=(0,f.get)(t,s.id,!1),n),{}),_e=(o,t)=>o.reduce((n,s)=>{const[i,d]=s,m=Fe(d,t);return n[i]=m,n},{}),q=(o,t,n)=>o.reduce((s,i)=>{const d=(0,f.get)(t,[...i.pathToConditionsObject,"conditions"],{}),m=_e(n,d);return s[i.pathToConditionsObject.join("..")]=m,s},{});var he=Object.defineProperty,Pe=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable,on=(o,t,n)=>t in o?he(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,Bt=(o,t)=>{for(var n in t||(t={}))tn.call(t,n)&&on(o,n,t[n]);if(Pe)for(var n of Pe(t))nn.call(t,n)&&on(o,n,t[n]);return o};const wt=({actions:o,headerBreadCrumbs:t,isFormDisabled:n,onClosed:s,onToggle:i})=>{const{formatMessage:d}=(0,Y.useIntl)(),{availableConditions:m,modifiedData:g,onChangeConditions:E}=(0,J.$_)(),b=(0,e.useMemo)(()=>Object.entries(_()(m,"category")),[m]),S=o.filter(({isDisplayed:A,hasSomeActionsSelected:I,hasAllActionsSelected:X})=>A&&(I||X)),L=(0,e.useMemo)(()=>q(S,g,b),[S,g,b]),[$,ee]=(0,e.useState)(L),w=(A,I)=>{ee((0,U.default)(X=>{X[A]||(X[A]={}),X[A].default||(X[A].default={}),X[A].default=I}))},j=()=>{const A=Object.entries($).reduce((I,X)=>{const[se,Oe]=X,ve=Object.values(Oe).reduce((Re,Be)=>Bt(Bt({},Re),Be),{});return I[se]=ve,I},{});E(A),i()};return e.createElement(ie.ModalLayout,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(ie.ModalHeader,null,e.createElement(Je.Breadcrumbs,{id:"condition-modal-breadcrumbs",label:t.join(", ")},t.map(A=>e.createElement(Je.Crumb,{key:A},W()(d({id:A,defaultMessage:A})))))),e.createElement(F.Box,{padding:8},e.createElement(Qe.Stack,{spacing:6},e.createElement(R.Typography,{variant:"beta",as:"h2"},d({id:"Settings.permissions.conditions.define-conditions",defaultMessage:"Define conditions"})),e.createElement(F.Box,null,e.createElement(ke.Divider,null)),e.createElement(F.Box,null,S.length===0&&e.createElement(R.Typography,null,d({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,S.map(({actionId:A,label:I,pathToConditionsObject:X},se)=>{const Oe=X.join("..");return e.createElement(H,{key:A,arrayOfOptionsGroupedByCategory:b,label:I,isFormDisabled:n,isGrey:se%2===0,name:Oe,onChange:w,value:ue()($,Oe,{})})}))))),e.createElement(ie.ModalFooter,{startActions:e.createElement(Ie.Button,{variant:"tertiary",onClick:i},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(Ie.Button,{onClick:j},d({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};wt.propTypes={actions:r().arrayOf(r().shape({actionId:r().string.isRequired,checkboxName:r().string,hasSomeActionsSelected:r().bool.isRequired,hasAllActionsSelected:r().bool,isDisplayed:r().bool.isRequired,label:r().string})).isRequired,headerBreadCrumbs:r().arrayOf(r().string).isRequired,isFormDisabled:r().bool.isRequired,onClosed:r().func.isRequired,onToggle:r().func.isRequired};const Et=wt,ut=P.default.div`
25
+ width: ${le};
26
+ `,nt=(0,P.default)(z.Flex)`
27
+ padding-right: ${({theme:o})=>o.spaces[2]};
28
+ overflow: hidden;
29
+ flex: 1;
30
+ ${({isCollapsable:o})=>o&&"cursor: pointer;"}
31
+ `;var jt=Object.defineProperty,Nt=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Un=Object.prototype.propertyIsEnumerable,an=(o,t,n)=>t in o?jt(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,sn=(o,t)=>{for(var n in t||(t={}))Tt.call(t,n)&&an(o,n,t[n]);if(Nt)for(var n of Nt(t))Un.call(t,n)&&an(o,n,t[n]);return o};const pt=({children:o,isCollapsable:t,isActive:n,isFormDisabled:s,label:i,onChange:d,onClick:m,checkboxName:g,someChecked:E,value:b})=>{const{formatMessage:S}=(0,Y.useIntl)();return e.createElement(z.Flex,{alignItems:"center",paddingLeft:6,style:{width:xe,flexShrink:0}},e.createElement(F.Box,{paddingRight:2},e.createElement(be.BaseCheckbox,{name:g,"aria-label":S({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:i}),disabled:s,onValueChange:L=>d({target:{name:g,value:L}}),indeterminate:E,value:b})),e.createElement(nt,sn({title:i,alignItems:"center",isCollapsable:t},t&&{onClick:m,"aria-expanded":n,onKeyDown:({key:L})=>(L==="Enter"||L===" ")&&m(),tabIndex:0,role:"button"}),e.createElement(R.Typography,{fontWeight:n?"bold":"",textColor:n?"primary600":"neutral800",ellipsis:!0},W()(i)),o))};pt.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},pt.propTypes={checkboxName:r().string,children:r().node,label:r().string.isRequired,isCollapsable:r().bool,isFormDisabled:r().bool.isRequired,onChange:r().func,onClick:r().func.isRequired,someChecked:r().bool,value:r().bool,isActive:r().bool.isRequired};const Wt=(0,e.memo)(pt),bt=o=>(0,f.isObject)(o)?(0,f.flattenDeep)(Object.values(o).map(t=>(0,f.isObject)(t)?bt(t):t)):[],mt=bt,At=o=>o?Object.keys(o).reduce((t,n)=>(n!=="conditions"&&(t[n]=o[n]),t),{}):null,ct=o=>{const t=At(o),n=mt(t);if(!n.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=n.every(d=>d),i=n.some(d=>d)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:i}},Ot=(o,t,n)=>o.map(({actionId:s,isDisplayed:i,applyToProperties:d,label:m})=>{if(!i)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:i};const g=[...n.split(".."),s],E=(0,f.isEmpty)(d)?[...g,"properties","enabled"]:g,b=E.join(".."),S=(0,f.get)(t,[...g,"conditions"],null),L=mt(S).some(j=>j);if((0,f.isEmpty)(d)){const j=(0,f.get)(t,E,!1);return{actionId:s,checkboxName:b,hasAllActionsSelected:j,hasConditions:L,hasSomeActionsSelected:j,isDisplayed:i,isParentCheckbox:!1,label:m,pathToConditionsObject:g}}const $=(0,f.get)(t,E,null),{hasAllActionsSelected:ee,hasSomeActionsSelected:w}=ct($);return{actionId:s,checkboxName:b,hasAllActionsSelected:ee,hasConditions:L,hasSomeActionsSelected:w,isDisplayed:i,isParentCheckbox:!0,label:m,pathToConditionsObject:g}});var rn=a(60672),$t=a.n(rn);const gt=(0,P.default)($t())`
32
+ display: none;
33
+ width: ${10/16}rem;
34
+ transform: rotate(${({$isActive:o})=>o?"180":"0"}deg);
35
+ margin-left: ${({theme:o})=>o.spaces[2]};
36
+ `,ft=o=>`
37
+ ${R.Typography} {
38
+ color: ${o.colors.primary600};
39
+ font-weight: ${o.fontWeights.bold}
40
+ }
41
+ ${gt} {
42
+ display: block;
43
+ path {
44
+ fill: ${o.colors.primary600}
45
+ };
46
+ }
47
+ `;var kt=function(){return window&&window.strapi&&window.strapi.isEE?a(68464).Z:a(35123).Z}(),Rt=function o(t,n){return`
48
+ `.concat(Ut,` {
49
+ background-color: `).concat(t.colors.primary100,`;
50
+ color: `).concat(t.colors.primary600,`;
51
+ border-radius: `).concat(n?"2px 2px 0 0":"2px",`;
52
+ }
53
+ `).concat(Vt,` {
54
+ display: flex;
55
+ }
56
+ `).concat(Se,` {
57
+ display: block;
58
+ }
59
+ &:hover {
60
+ `).concat(ft(t),`
61
+ }
62
+
63
+ &:focus-within {
64
+ `).concat(function(s){var i=s.theme,d=s.isActive;return o(i,d)},`
65
+ }
66
+
67
+ `)},Ut=P.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],Ue,function(o){var t=o.isGrey,n=o.theme;return t?n.colors.neutral100:n.colors.neutral0}),ln=P.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],Se,function(o){var t=o.isActive,n=o.theme;return t&&Rt(n,t)},function(o){var t=o.theme,n=o.isActive;return Rt(t,n)}),Dt=(0,P.default)(z.Flex).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],le),Vt=(0,P.default)(F.Box).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],function(o){var t=o.theme;return t.colors.primary600}),Zt=P.default.span.withConfig({displayName:"Collapse__TinyDot",componentId:"sc-132fji1-4"})(["position:absolute;top:-6px;left:37px;width:6px;height:6px;border-radius:20px;background:",";"],function(o){var t=o.theme;return t.colors.primary600}),Hn=(0,P.default)(F.Box).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),xt=function(t){var n=t.availableActions,s=t.isActive,i=t.isGrey,d=t.isFormDisabled,m=t.label,g=t.onClickToggle,E=t.pathToData,b=(0,e.useState)(!1),S=(0,k.Z)(b,2),L=S[0],$=S[1],ee=(0,Y.useIntl)(),w=ee.formatMessage,j=(0,J.$_)(),A=j.modifiedData,I=j.onChangeParentCheckbox,X=j.onChangeSimpleCheckbox,se=function(){$(function(Ae){return!Ae})},Oe=function(){$(!1)},ve=ue()(A,E.split(".."),{}),Re=(0,e.useMemo)(function(){return Object.keys(ve).reduce(function(ce,Ae){return ce[Ae]=re()(ve[Ae],"conditions"),ce},{})},[ve]),Be=ct(Re),Me=Be.hasAllActionsSelected,vt=Be.hasSomeActionsSelected,Ce=(0,e.useMemo)(function(){return Ot(n,A,E)},[n,A,E]),we=Ce.some(function(ce){var Ae=ce.hasConditions;return Ae});return e.createElement(ln,{isActive:s},e.createElement(Ut,{isGrey:i},e.createElement(Wt,{isCollapsable:!0,isFormDisabled:d,label:m,checkboxName:E,onChange:I,onClick:g,someChecked:vt,value:Me,isActive:s},e.createElement(Vt,{paddingLeft:2},s?e.createElement(ze(),null):e.createElement(Ge(),null))),e.createElement(z.Flex,{style:{flex:1}},Ce.map(function(ce){var Ae=ce.actionId,De=ce.hasConditions,je=ce.hasAllActionsSelected,We=ce.hasSomeActionsSelected,dt=ce.isDisplayed,Ze=ce.isParentCheckbox,lt=ce.checkboxName,St=ce.label;return dt?Ze?e.createElement(Dt,{key:Ae,justifyContent:"center",alignItems:"center"},De&&e.createElement(Zt,null),e.createElement(be.BaseCheckbox,{disabled:d||kt,name:lt,"aria-label":w({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:"".concat(St," ").concat(m)}),onValueChange:function(Ct){I({target:{name:lt,value:Ct}})},indeterminate:We,value:je})):e.createElement(Dt,{key:Ae,justifyContent:"center",alignItems:"center"},De&&e.createElement(Zt,null),e.createElement(be.BaseCheckbox,{disabled:d||kt,indeterminate:De,name:lt,onValueChange:function(Ct){X({target:{name:lt,value:Ct}})},value:je})):e.createElement(ut,{key:Ae})})),L&&e.createElement(Et,{headerBreadCrumbs:[m,"app.components.LeftMenuLinkContainer.settings"],actions:Ce,isFormDisabled:d,onClosed:Oe,onToggle:se})),e.createElement(Hn,null,e.createElement(Se,{onClick:se,hasConditions:we})))};xt.propTypes={availableActions:r().array.isRequired,isActive:r().bool.isRequired,isGrey:r().bool.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,onClickToggle:r().func.isRequired,pathToData:r().string.isRequired};const Gt=xt,cn=(o,t)=>o.map(n=>{const s=Array.isArray(n.applyToProperties)&&n.applyToProperties.indexOf(t)!==-1&&n.isDisplayed;return{label:n.label,actionId:n.actionId,isActionRelatedToCurrentProperty:s}}),dn=(0,P.default)(z.Flex)`
68
+ width: ${le};
69
+ flex-shrink: 0;
70
+ `,un=(0,P.default)(z.Flex)`
71
+ width: ${xe};
72
+ height: ${Ue};
73
+ flex-shrink: 0;
74
+ `,zt=({headers:o,label:t})=>{const{formatMessage:n}=(0,Y.useIntl)(),s=n({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:t});return e.createElement(z.Flex,null,e.createElement(un,{alignItems:"center",paddingLeft:6},e.createElement(R.Typography,{variant:"sigma",textColor:"neutral500"},s)),o.map(i=>i.isActionRelatedToCurrentProperty?e.createElement(dn,{justifyContent:"center",key:i.label},e.createElement(R.Typography,{variant:"sigma",textColor:"neutral500"},n({id:`Settings.roles.form.permissions.${i.label.toLowerCase()}`,defaultMessage:i.label}))):e.createElement(dn,{key:i.label})))};zt.propTypes={headers:r().arrayOf(r().shape({label:r().string.isRequired,isActionRelatedToCurrentProperty:r().bool.isRequired})).isRequired,label:r().string.isRequired};const pn=zt,Yn=P.default.span`
75
+ color: ${({theme:o})=>o.colors.danger700};
76
+ padding-left: ${({theme:o})=>o.spaces[1]}px;
77
+ `,Kt=()=>e.createElement(Yn,null,"*");var mn=Object.defineProperty,Jn=Object.defineProperties,gn=Object.getOwnPropertyDescriptors,fn=Object.getOwnPropertySymbols,hn=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,et=(o,t,n)=>t in o?mn(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,yn=(o,t)=>{for(var n in t||(t={}))hn.call(t,n)&&et(o,n,t[n]);if(fn)for(var n of fn(t))Ht.call(t,n)&&et(o,n,t[n]);return o},ye=(o,t)=>Jn(o,gn(t));const Cn=(o,t)=>o.map(n=>{const s=Array.isArray(n.subjects)&&n.subjects.indexOf(t)!==-1;return ye(yn({},n),{isDisplayed:s})});var En=a(20011),bn=Object.defineProperty,Xt=Object.getOwnPropertySymbols,Sn=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable,Yt=(o,t,n)=>t in o?bn(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,Pn=(o,t)=>{for(var n in t||(t={}))Sn.call(t,n)&&Yt(o,n,t[n]);if(Xt)for(var n of Xt(t))ht.call(t,n)&&Yt(o,n,t[n]);return o};const Tn=(0,P.default)(F.Box)`
78
+ transform: translate(-4px, -12px);
79
+
80
+ &:before {
81
+ content: '';
82
+ width: ${4/16}rem;
83
+ height: ${12/16}rem;
84
+ background: ${({theme:o})=>o.colors.primary200};
85
+ display: block;
86
+ }
87
+ `,Qt=P.default.svg`
88
+ position: relative;
89
+ flex-shrink: 0;
90
+ transform: translate(-0.5px, -1px);
91
+
92
+ * {
93
+ fill: ${({theme:o,color:t})=>o.colors[t]};
94
+ }
95
+ `,Mt=o=>e.createElement(Tn,null,e.createElement(Qt,Pn({width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));Mt.defaultProps={fill:"primary200"},Mt.propTypes={fill:r().string};const An=(0,e.memo)(Mt);var Lt=function(){return window&&window.strapi&&window.strapi.isEE?a(19665).Z:a(52124).Z}(),It=(0,P.default)(z.Flex).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],le),Jt=(0,P.default)(z.Flex).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],Ue),qt=(0,P.default)(F.Box).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),On=(0,P.default)(F.Box).withConfig({displayName:"SubActionRow__LeftBorderTimeline",componentId:"sc-7y8yzq-3"})(["border-left:",";"],function(o){var t=o.isVisible,n=o.theme;return t?"4px solid ".concat(n.colors.primary200):"4px solid transparent"}),_t=(0,P.default)(z.Flex).withConfig({displayName:"SubActionRow__RowStyle",componentId:"sc-7y8yzq-4"})(["padding-left:",";width:","px;"," ",";"],function(o){var t=o.theme;return t.spaces[4]},function(o){var t=o.level;return 145-t*36},function(o){var t=o.isCollapsable,n=o.theme;return t&&`
96
+ `.concat(gt,` {
97
+ display: block;
98
+ color: `).concat(n.colors.neutral100,`;
99
+ }
100
+ &:hover {
101
+ `).concat(ft(n),`
102
+ }
103
+ `)},function(o){var t=o.isActive,n=o.theme;return t&&ft(n)}),Rn=P.default.div.withConfig({displayName:"SubActionRow__TopTimeline",componentId:"sc-7y8yzq-5"})(["padding-top:",";margin-top:",";width:","rem;background-color:",";border-top-left-radius:2px;border-top-right-radius:2px;"],function(o){var t=o.theme;return t.spaces[2]},function(o){var t=o.theme;return t.spaces[2]},4/16,function(o){var t=o.theme;return t.colors.primary200}),p=function o(t){var n=t.childrenForm,s=t.isFormDisabled,i=t.recursiveLevel,d=t.pathToDataFromActionRow,m=t.propertyActions,g=t.parentName,E=t.propertyName,b=(0,Y.useIntl)(),S=b.formatMessage,L=(0,J.$_)(),$=L.modifiedData,ee=L.onChangeParentCheckbox,w=L.onChangeSimpleCheckbox,j=(0,e.useState)(null),A=(0,k.Z)(j,2),I=A[0],X=A[1],se=function(Re){X(function(Be){return Be===Re?null:Re})},Oe=(0,e.useMemo)(function(){return I?n.find(function(ve){var Re=ve.value;return Re===I}):null},[I,n]);return e.createElement(qt,null,e.createElement(Rn,null),n.map(function(ve,Re){var Be=ve.label,Me=ve.value,vt=ve.required,Ce=ve.children,we=Re+1<n.length,ce=Array.isArray(Ce),Ae=I===Me;return e.createElement(On,{key:Me,isVisible:we},e.createElement(Jt,null,e.createElement(An,{color:"primary200"}),e.createElement(z.Flex,{style:{flex:1}},e.createElement(_t,{level:i,isActive:Ae,isCollapsable:ce},e.createElement(nt,(0,En.Z)({alignItems:"center",isCollapsable:ce},ce&&{onClick:function(){return se(Me)},"aria-expanded":Ae,onKeyDown:function(je){var We=je.key;return(We==="Enter"||We===" ")&&se(Me)},tabIndex:0,role:"button"},{title:Be}),e.createElement(R.Typography,{ellipsis:!0},W()(Be)),vt&&e.createElement(Kt,null),e.createElement(gt,{$isActive:Ae}))),e.createElement(z.Flex,{style:{flex:1}},m.map(function(De){var je=De.actionId,We=De.label,dt=De.isActionRelatedToCurrentProperty;if(!dt)return e.createElement(ut,{key:je});var Ze=[].concat((0,oe.Z)(d.split("..")),[je,"properties",E],(0,oe.Z)(g.split("..")),[Me]),lt=ue()($,Ze,!1);if(!Ce)return e.createElement(It,{key:We,justifyContent:"center",alignItems:"center"},e.createElement(be.BaseCheckbox,{disabled:s||Lt,name:Ze.join(".."),"aria-label":S({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:"".concat(g," ").concat(Be," ").concat(We)}),onValueChange:function(Ft){w({target:{name:Ze.join(".."),value:Ft}})},value:lt}));var St=ct(lt),Pt=St.hasAllActionsSelected,Ct=St.hasSomeActionsSelected;return e.createElement(It,{key:We,justifyContent:"center",alignItems:"center"},e.createElement(be.BaseCheckbox,{key:We,disabled:s||Lt,name:Ze.join(".."),"aria-label":S({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:"".concat(g," ").concat(Be," ").concat(We)}),onValueChange:function(Ft){ee({target:{name:Ze.join(".."),value:Ft}})},value:Pt,indeterminate:Ct}))})))),Oe&&Ae&&e.createElement(F.Box,{paddingBottom:2},e.createElement(o,{isFormDisabled:s,parentName:"".concat(g,"..").concat(Me),pathToDataFromActionRow:d,propertyActions:m,propertyName:E,recursiveLevel:i+1,childrenForm:Oe.children})))}))};p.propTypes={childrenForm:r().array.isRequired,isFormDisabled:r().bool.isRequired,parentName:r().string.isRequired,pathToDataFromActionRow:r().string.isRequired,propertyActions:r().array.isRequired,propertyName:r().string.isRequired,recursiveLevel:r().number.isRequired};const c=(0,e.memo)(p),l=o=>o.reduce((n,s)=>(s.isActionRelatedToCurrentProperty&&n.push(s.actionId),n),[]),u=(o,t,n,s,i)=>{const m=l(o).reduce((g,E)=>{const b=[...n.split(".."),E,"properties",s,i],S=(0,f.get)(t,b,!1);return g[E]=S,g},{});return ct(m)};var T=function(){return window&&window.strapi&&window.strapi.isEE?a(32741).Z:a(18318).Z}(),M=(0,P.default)(z.Flex).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],le),O=(0,P.default)(z.Flex).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],Ue,function(o){var t=o.isCollapsable,n=o.theme;return t&&`
104
+ `.concat(gt,` {
105
+ display: block;
106
+ color: `).concat(n.colors.neutral100,`;
107
+ }
108
+ &:hover {
109
+ `).concat(ft(n),`
110
+ }
111
+ `)},function(o){var t=o.isActive,n=o.theme;return t&&ft(n)}),v=function(t){var n=t.childrenForm,s=t.label,i=t.isFormDisabled,d=t.name,m=t.required,g=t.pathToData,E=t.propertyActions,b=t.propertyName,S=t.isOdd,L=(0,Y.useIntl)(),$=L.formatMessage,ee=(0,e.useState)(null),w=(0,k.Z)(ee,2),j=w[0],A=w[1],I=(0,J.$_)(),X=I.modifiedData,se=I.onChangeCollectionTypeLeftActionRowCheckbox,Oe=I.onChangeParentCheckbox,ve=I.onChangeSimpleCheckbox,Re=j===d,Be=(0,e.useMemo)(function(){return Array.isArray(n)?n:[]},[n]),Me=Be.length>0,vt=(0,e.useCallback)(function(){Me&&A(function(De){return De===d?null:d})},[Me,d]),Ce=function(je){var We=je.target.value;se(g,b,d,We)},we=(0,e.useMemo)(function(){return u(E,X,g,b,d)},[E,X,g,b,d]),ce=we.hasAllActionsSelected,Ae=we.hasSomeActionsSelected;return e.createElement(e.Fragment,null,e.createElement(O,{alignItems:"center",isCollapsable:Me,isActive:Re,background:S?"neutral100":"neutral0"},e.createElement(z.Flex,null,e.createElement(Wt,{onChange:Ce,onClick:vt,isCollapsable:Me,isFormDisabled:i,label:s,someChecked:Ae,value:ce,isActive:Re},m&&e.createElement(Kt,null),e.createElement(gt,{$isActive:Re})),e.createElement(z.Flex,null,E.map(function(De){var je=De.label,We=De.isActionRelatedToCurrentProperty,dt=De.actionId;if(!We)return e.createElement(ut,{key:je});var Ze=[].concat((0,oe.Z)(g.split("..")),[dt,"properties",b,d]);if(!Me){var lt=ue()(X,Ze,!1);return e.createElement(M,{key:dt,justifyContent:"center",alignItems:"center"},e.createElement(be.BaseCheckbox,{disabled:i||T,name:Ze.join(".."),"aria-label":$({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:"".concat(d," ").concat(je)}),onValueChange:function(Wn){ve({target:{name:Ze.join(".."),value:Wn}})},value:lt}))}var St=ue()(X,Ze,{}),Pt=ct(St),Ct=Pt.hasAllActionsSelected,Nn=Pt.hasSomeActionsSelected;return e.createElement(M,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(be.BaseCheckbox,{disabled:i||T,name:Ze.join(".."),onValueChange:function(Wn){Oe({target:{name:Ze.join(".."),value:Wn}})},"aria-label":$({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:"".concat(d," ").concat(je)}),value:Ct,indeterminate:Nn}))})))),Re&&e.createElement(c,{childrenForm:Be,isFormDisabled:i,parentName:d,pathToDataFromActionRow:g,propertyName:b,propertyActions:E,recursiveLevel:0}))};v.defaultProps={childrenForm:[],required:!1},v.propTypes={childrenForm:r().array,label:r().string.isRequired,isFormDisabled:r().bool.isRequired,name:r().string.isRequired,pathToData:r().string.isRequired,propertyActions:r().array.isRequired,propertyName:r().string.isRequired,required:r().bool,isOdd:r().bool.isRequired};const x=(0,e.memo)(v),Te=P.default.div`
112
+ display: inline-flex;
113
+ flex-direction: column;
114
+ min-width: 0;
115
+ `,me=({availableActions:o,childrenForm:t,isFormDisabled:n,label:s,pathToData:i,propertyName:d})=>{const m=(0,e.useMemo)(()=>cn(o,d),[o,d]);return e.createElement(Te,null,e.createElement(pn,{label:s,headers:m}),e.createElement(F.Box,null,t.map(({children:g,label:E,value:b,required:S},L)=>e.createElement(x,{childrenForm:g,key:b,label:E,isFormDisabled:n,name:b,required:S,propertyActions:m,pathToData:i,propertyName:d,isOdd:L%2===0}))))};me.propTypes={childrenForm:r().array.isRequired,availableActions:r().array.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,pathToData:r().string.isRequired,propertyName:r().string.isRequired};const tt=me,yt=P.default.div`
116
+ flex-direction: column;
117
+ display: inline-flex;
118
+ min-width: 100%;
119
+ ${({theme:o,isActive:t})=>t&&`border: 1px solid ${o.colors.primary600};`}
120
+ `,rt=({allActions:o,contentTypeName:t,label:n,index:s,isActive:i,isFormDisabled:d,onClickToggleCollapse:m,pathToData:g,properties:E})=>{const b=(0,e.useCallback)(()=>{m(t)},[t,m]),S=(0,e.useMemo)(()=>Cn(o,t),[o,t]);return e.createElement(yt,{isActive:i},e.createElement(Gt,{availableActions:S,isActive:i,isGrey:s%2===0,isFormDisabled:d,label:n,onClickToggle:b,pathToData:g}),i&&E.map(({label:L,value:$,children:ee})=>e.createElement(tt,{availableActions:S,childrenForm:ee,isFormDisabled:d,label:L,pathToData:g,propertyName:$,key:$})))};rt.propTypes={allActions:r().array.isRequired,contentTypeName:r().string.isRequired,index:r().number.isRequired,isActive:r().bool.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,onClickToggleCollapse:r().func.isRequired,pathToData:r().string.isRequired,properties:r().array.isRequired};const ot=rt,at=({actions:o,isFormDisabled:t,pathToData:n,subjects:s})=>{const[i,d]=(0,e.useState)(null),m=g=>{d(i===g?null:g)};return s.map(({uid:g,label:E,properties:b},S)=>e.createElement(ot,{allActions:o,key:g,contentTypeName:g,label:E,isActive:i===g,isFormDisabled:t,index:S,onClickToggleCollapse:m,pathToData:`${n}..${g}`,properties:b}))};at.defaultProps={actions:[],subjects:[]},at.propTypes={actions:r().array.isRequired,isFormDisabled:r().bool.isRequired,pathToData:r().string.isRequired,subjects:r().arrayOf(r().shape({uid:r().string.isRequired,label:r().string.isRequired,properties:r().array.isRequired}))};const No=(0,e.memo)(at),Wo=o=>o.filter(({subjects:t})=>t&&t.length);var $o=Object.defineProperty,qn=Object.getOwnPropertySymbols,ko=Object.prototype.hasOwnProperty,Uo=Object.prototype.propertyIsEnumerable,_n=(o,t,n)=>t in o?$o(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,eo=(o,t)=>{for(var n in t||(t={}))ko.call(t,n)&&_n(o,n,t[n]);if(qn)for(var n of qn(t))Uo.call(t,n)&&_n(o,n,t[n]);return o};const Vo=o=>o.map(({actionId:t})=>t),Zo=(o,t)=>o.reduce((n,s)=>(Object.keys(t).forEach(i=>{const d=(0,f.get)(t,[i,s],{}),m={[i]:At(d)};n[s]?n[s]=eo(eo({},n[s]),m):n[s]=m}),n),{}),Go=(o,t)=>{const n=Vo(o),s=Zo(n,t);return Object.keys(s).reduce((d,m)=>(d[m]=ct(s[m]),d),{})};var zo=function(){return window&&window.strapi&&window.strapi.isEE?a(36950).Z:a(61526).Z}(),Ko=(0,P.default)(Qe.Stack).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],le),Dn=function(t){var n=t.actions,s=t.isFormDisabled,i=t.kind,d=(0,Y.useIntl)(),m=d.formatMessage,g=(0,J.$_)(),E=g.modifiedData,b=g.onChangeCollectionTypeGlobalActionCheckbox,S=(0,e.useMemo)(function(){return Wo(n)},[n]),L=(0,e.useMemo)(function(){return Go(S,E[i])},[E,S,i]);return e.createElement(F.Box,{paddingBottom:4,paddingTop:6,style:{paddingLeft:xe}},e.createElement(Qe.Stack,{horizontal:!0,spacing:0},S.map(function($){var ee=$.label,w=$.actionId;return e.createElement(Ko,{key:w,spacing:3},e.createElement(R.Typography,{variant:"sigma",textColor:"neutral500"},m({id:"Settings.roles.form.permissions.".concat(ee.toLowerCase()),defaultMessage:ee})),e.createElement(be.BaseCheckbox,{disabled:s||zo,onValueChange:function(A){b(i,w,A)},name:w,"aria-label":m({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:m({id:"Settings.roles.form.permissions.".concat(ee.toLowerCase()),defaultMessage:ee})}),value:ue()(L,[w,"hasAllActionsSelected"],!1),indeterminate:ue()(L,[w,"hasSomeActionsSelected"],!1)}))})))};Dn.defaultProps={actions:[]},Dn.propTypes={actions:r().arrayOf(r().shape({label:r().string.isRequired,actionId:r().string.isRequired,subjects:r().array.isRequired})),isFormDisabled:r().bool.isRequired,kind:r().string.isRequired};const Ho=(0,e.memo)(Dn),Xo=(0,P.default)(F.Box)`
121
+ overflow-x: auto;
122
+ `,to=({isFormDisabled:o,kind:t,layout:{actions:n,subjects:s}})=>{const i=de()([...s],"label");return e.createElement(Xo,{background:"neutral0"},e.createElement(Ho,{actions:n,kind:t,isFormDisabled:o}),e.createElement(No,{actions:n,isFormDisabled:o,pathToData:t,subjects:i}))};to.propTypes={isFormDisabled:r().bool.isRequired,kind:r().string.isRequired,layout:r().shape({actions:r().array,subjects:r().arrayOf(r().shape({uid:r().string.isRequired,label:r().string.isRequired,properties:r().array.isRequired}))}).isRequired};const no=(0,e.memo)(to);var Yo=a(66694);const oo=({children:o,value:t})=>e.createElement(Yo.$l.Provider,{value:t},o);oo.propTypes={children:r().node.isRequired,value:r().exact({availableConditions:r().array.isRequired,modifiedData:r().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:r().func.isRequired,onChangeConditions:r().func.isRequired,onChangeSimpleCheckbox:r().func.isRequired,onChangeParentCheckbox:r().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:r().func.isRequired}).isRequired};const Qo=oo;var xn=a(12001),ao=a(78330),so=a(52111),Jo=Object.defineProperty,qo=Object.defineProperties,_o=Object.getOwnPropertyDescriptors,ro=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,ta=Object.prototype.propertyIsEnumerable,io=(o,t,n)=>t in o?Jo(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,na=(o,t)=>{for(var n in t||(t={}))ea.call(t,n)&&io(o,n,t[n]);if(ro)for(var n of ro(t))ta.call(t,n)&&io(o,n,t[n]);return o},oa=(o,t)=>qo(o,_o(t));const aa=(o,t,n)=>o.map(s=>{const i=[...n,s.action,"properties","enabled"],d=(0,f.get)(t,i,!1),m=(0,f.get)(t,[...n,s.action,"conditions"],{}),g=mt(m).some(E=>E);return oa(na({},s),{isDisplayed:d,checkboxName:i.join(".."),hasSomeActionsSelected:d,value:d,hasConditions:g,label:s.displayName,actionId:s.action,pathToConditionsObject:[...n,s.action]})}),sa=o=>{const t=Object.entries(o).reduce((s,i)=>{const[d,{conditions:m}]=i;return s[d]=m,s},{});return mt(t).some(s=>s)};var Mn=function(){return window&&window.strapi&&window.strapi.isEE?a(96556).Z:a(16437).Z}(),ra=P.default.div.withConfig({displayName:"SubCategory__Border",componentId:"sc-akgczm-0"})(["flex:1;align-self:center;border-top:1px solid ",";"],function(o){var t=o.theme;return t.colors.neutral150}),ia=P.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],function(o){var t=o.hasConditions,n=o.disabled,s=o.theme;return t&&`
123
+ &:before {
124
+ content: '';
125
+ position: absolute;
126
+ top: `.concat(-4/16,`rem;
127
+ left: `).concat(-8/16,`rem;
128
+ width: `).concat(6/16,`rem;
129
+ height: `).concat(6/16,`rem;
130
+ border-radius: `).concat(20/16,`rem;
131
+ background: `).concat(n?s.colors.neutral100:s.colors.primary600,`;
132
+ }
133
+ `)}),lo=function(t){var n=t.categoryName,s=t.isFormDisabled,i=t.subCategoryName,d=t.actions,m=t.pathToData,g=(0,e.useState)(!1),E=(0,k.Z)(g,2),b=E[0],S=E[1],L=(0,J.$_)(),$=L.modifiedData,ee=L.onChangeParentCheckbox,w=L.onChangeSimpleCheckbox,j=(0,Y.useIntl)(),A=j.formatMessage,I=ue()($,m,{}),X=(0,e.useMemo)(function(){return Object.keys(I).reduce(function(Ce,we){return Ce[we]=At(I[we]),Ce},{})},[I]),se=ct(X),Oe=se.hasAllActionsSelected,ve=se.hasSomeActionsSelected,Re=function(){S(function(we){return!we})},Be=function(){S(!1)},Me=aa(d,$,m),vt=sa(ue()($,(0,oe.Z)(m),{}));return e.createElement(e.Fragment,null,e.createElement(F.Box,null,e.createElement(z.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(F.Box,{paddingRight:4},e.createElement(R.Typography,{variant:"sigma",textColor:"neutral600"},i)),e.createElement(ra,null),e.createElement(F.Box,{paddingLeft:4},e.createElement(so.Checkbox,{name:m.join(".."),disabled:s||Mn,onValueChange:function(we){ee({target:{name:m.join(".."),value:we}})},indeterminate:ve,value:Oe},A({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(z.Flex,{paddingTop:6,paddingBottom:6},e.createElement(ao.Grid,{gap:2,style:{flex:1}},Me.map(function(Ce){var we=Ce.checkboxName,ce=Ce.value,Ae=Ce.action,De=Ce.displayName,je=Ce.hasConditions;return e.createElement(ao.GridItem,{col:3,key:Ae},e.createElement(ia,{disabled:s||Mn,hasConditions:je},e.createElement(so.Checkbox,{name:we,disabled:s||Mn,onValueChange:function(dt){w({target:{name:we,value:dt}})},value:ce},De)))})),e.createElement(Se,{hasConditions:vt,onClick:Re}))),b&&e.createElement(Et,{headerBreadCrumbs:[n,i],actions:Me,isFormDisabled:s,onClosed:Be,onToggle:Re}))};lo.propTypes={actions:r().array.isRequired,categoryName:r().string.isRequired,isFormDisabled:r().bool.isRequired,subCategoryName:r().string.isRequired,pathToData:r().array.isRequired};const la=lo,Ln=({childrenForm:o,kind:t,name:n,isOpen:s,isFormDisabled:i,isWhite:d,onOpenCategory:m,pathToData:g})=>{const{formatMessage:E}=(0,Y.useIntl)(),b=()=>{m(n)},S=(0,e.useMemo)(()=>n.split("::").pop(),[n]);return e.createElement(xn.Accordion,{expanded:s,onToggle:b,id:`accordion-${n}`,variant:d?"primary":"secondary"},e.createElement(xn.AccordionToggle,{title:W()(S),description:`${E({id:"Settings.permissions.category"},{category:S})} ${t==="plugins"?"plugin":t}`}),e.createElement(xn.AccordionContent,null,e.createElement(F.Box,{padding:6},o.map(({actions:L,subCategoryName:$,subCategoryId:ee})=>e.createElement(la,{key:$,actions:L,categoryName:S,isFormDisabled:i,subCategoryName:$,pathToData:[...g,ee]})))))};Ln.defaultProps={},Ln.propTypes={childrenForm:r().array.isRequired,isOpen:r().bool.isRequired,isFormDisabled:r().bool.isRequired,isWhite:r().bool.isRequired,kind:r().string.isRequired,name:r().string.isRequired,onOpenCategory:r().func.isRequired,pathToData:r().array.isRequired};const ca=Ln,co=({isFormDisabled:o,kind:t,layout:n})=>{const[s,i]=(0,e.useState)(null),d=m=>{i(m===s?null:m)};return e.createElement(F.Box,{padding:6,background:"neutral0"},n.map(({category:m,categoryId:g,childrenForm:E},b)=>e.createElement(ca,{key:m,childrenForm:E,kind:t,isFormDisabled:o,isOpen:s===m,isWhite:b%2===1,name:m,onOpenCategory:d,pathToData:[t,g]})))};co.propTypes={isFormDisabled:r().bool.isRequired,kind:r().string.isRequired,layout:r().arrayOf(r().shape({category:r().string.isRequired,categoryId:r().string.isRequired,childrenForm:r().arrayOf(r().shape({actions:r().array.isRequired})).isRequired}).isRequired).isRequired};const uo=co,po=(o,t,n)=>o.find(s=>s.action===t&&s.subject===n);var da=Object.defineProperty,ua=Object.defineProperties,pa=Object.getOwnPropertyDescriptors,mo=Object.getOwnPropertySymbols,ma=Object.prototype.hasOwnProperty,ga=Object.prototype.propertyIsEnumerable,go=(o,t,n)=>t in o?da(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,fo=(o,t)=>{for(var n in t||(t={}))ma.call(t,n)&&go(o,n,t[n]);if(mo)for(var n of mo(t))ga.call(t,n)&&go(o,n,t[n]);return o},ho=(o,t)=>ua(o,pa(t));const yo=(o,t=[])=>o.reduce((n,s)=>(n[s.id]=t.indexOf(s.id)!==-1,n),{}),vo=({children:o},t,n="")=>o.reduce((s,i)=>{if(i.children)return ho(fo({},s),{[i.value]:vo(i,t,`${n}${i.value}.`)});const d=t.indexOf(`${n}${i.value}`)!==-1;return s[i.value]=d,s},{}),fa=(o,t,n)=>o.reduce((s,i)=>{const d=t.properties.find(({value:m})=>m===i);if(d){const m=(0,f.get)(n,["properties",d.value],[]),g=vo(d,m);s.properties[i]=g}return s},{properties:{}}),ha=(o,t)=>t.reduce((n,s)=>{const i=o.find(({uid:d})=>d===s)||null;return i&&(n[s]=i),n},{}),Co=({subjects:o},t,n,s=[])=>t.reduce((i,d)=>{const m=d.subjects,g=ha(o,m);if((0,f.isEmpty)(g))return i;const E=Object.keys(g).reduce((b,S)=>{const{actionId:L,applyToProperties:$}=d,j=g[S].properties.map(({value:se})=>se).every(se=>($||[]).indexOf(se)===-1),A=po(s,L,S),I=yo(n,(0,f.get)(A,"conditions",[]));if((0,f.isEmpty)($)||j)return(0,f.set)(b,[S,L],{properties:{enabled:A!==void 0},conditions:I}),b;const X=fa($,g[S],A);return(0,f.set)(b,[S,L],ho(fo({},X),{conditions:I})),b},{});return(0,f.merge)(i,E)},{}),ya=(o,t,n)=>o.reduce((s,i)=>{const d=po(n,i.action,null);return s[i.action]={properties:{enabled:d!==void 0},conditions:yo(t,(0,f.get)(d,"conditions",[]))},s},{}),va=(o,t,n)=>o.reduce((s,i)=>(s[i.subCategoryId]=ya(i.actions,t,n),s),{}),Eo=(o,t,n=[])=>o.reduce((s,{categoryId:i,childrenForm:d})=>{const m=va(d,t,n);return s[i]=m,s},{}),bo=o=>o.split(" ").join("-"),So=(o,t)=>(0,f.chain)(o).groupBy(t).map((n,s)=>({category:s,categoryId:bo(s),childrenForm:(0,f.chain)(n).groupBy("subCategory").map((i,d)=>({subCategoryName:d,subCategoryId:bo(d),actions:i})).value()})).value(),Ca=(o,t)=>{const{conditions:n,sections:{collectionTypes:s,singleTypes:i,plugins:d,settings:m}}=o,g={collectionTypes:s,singleTypes:i,plugins:So(d,"plugin"),settings:So(m,"category")},E={collectionTypes:Co(s,s.actions||[],n,t),singleTypes:Co(i,i.actions||[],n,t),plugins:Eo(g.plugins,n,t),settings:Eo(g.settings,n,t)};return{initialData:E,modifiedData:E,layouts:g}};var Ea=Object.defineProperty,ba=Object.defineProperties,Sa=Object.getOwnPropertyDescriptors,Po=Object.getOwnPropertySymbols,Pa=Object.prototype.hasOwnProperty,Ta=Object.prototype.propertyIsEnumerable,To=(o,t,n)=>t in o?Ea(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,In=(o,t)=>{for(var n in t||(t={}))Pa.call(t,n)&&To(o,n,t[n]);if(Po)for(var n of Po(t))Ta.call(t,n)&&To(o,n,t[n]);return o},Fn=(o,t)=>ba(o,Sa(t));const Ao=o=>Object.keys(o).reduce((t,n)=>{const s=o[n];if((0,f.isObject)(s)&&!(0,f.has)(s,"conditions"))return Fn(In({},t),{[n]:Ao(s)});if((0,f.isObject)(s)&&(0,f.has)(s,"conditions")&&!mt((0,f.omit)(s,"conditions")).some(d=>d)){const d=Object.keys(s.conditions).reduce((m,g)=>(m[g]=!1,m),{});return Fn(In({},t),{[n]:Fn(In({},s),{conditions:d})})}return t[n]=s,t},{}),Bn=Ao;var Aa=Object.defineProperty,Oa=Object.defineProperties,Ra=Object.getOwnPropertyDescriptors,Oo=Object.getOwnPropertySymbols,Da=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,Ro=(o,t,n)=>t in o?Aa(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,Ma=(o,t)=>{for(var n in t||(t={}))Da.call(t,n)&&Ro(o,n,t[n]);if(Oo)for(var n of Oo(t))xa.call(t,n)&&Ro(o,n,t[n]);return o},La=(o,t)=>Oa(o,Ra(t));const Do=(o,t)=>Object.keys(o).reduce((n,s)=>{const i=o[s];return s==="conditions"?(n[s]=i,n):(0,f.isObject)(i)?La(Ma({},n),{[s]:Do(i,t)}):(n[s]=t,n)},{}),en=Do;var Ia=Object.defineProperty,Fa=Object.defineProperties,Ba=Object.getOwnPropertyDescriptors,xo=Object.getOwnPropertySymbols,wa=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Mo=(o,t,n)=>t in o?Ia(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,Na=(o,t)=>{for(var n in t||(t={}))wa.call(t,n)&&Mo(o,n,t[n]);if(xo)for(var n of xo(t))ja.call(t,n)&&Mo(o,n,t[n]);return o},Wa=(o,t)=>Fa(o,Ba(t));const $a={initialData:{},modifiedData:{},layouts:{}},ka=(o,t)=>(0,U.default)(o,n=>{switch(t.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:d}=t,m=["modifiedData",s];Object.keys((0,f.get)(o,m)).forEach(g=>{const E=(0,f.get)(o,[...m,g,i],void 0);if(E){let b=en(E,d);if(!d&&b.conditions){const S=en(b.conditions,!1);b=Wa(Na({},b),{conditions:S})}(0,f.set)(n,[...m,g,i],b)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:d,value:m}=t;let g=(0,f.cloneDeep)(o.modifiedData);const E=s.split(".."),b=(0,f.get)(g,E,{});Object.keys(b).forEach(S=>{if((0,f.has)(b[S],`properties.${i}`)){const L=(0,f.get)(b,[S,"properties",i,d]),$=[...E,S,"properties",i,d];if(!(0,f.isObject)(L))(0,f.set)(g,$,m);else{const ee=en(L,m);(0,f.set)(g,$,ee)}}}),m||(g=Bn(g)),(0,f.set)(n,"modifiedData",g);break}case"ON_CHANGE_CONDITIONS":{Object.entries(t.conditions).forEach(s=>{const[i,d]=s;(0,f.set)(n,["modifiedData",...i.split(".."),"conditions"],d)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=(0,f.cloneDeep)(o.modifiedData);(0,f.set)(s,[...t.keys.split("..")],t.value),t.value||(s=Bn(s)),(0,f.set)(n,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=t,d=[...s.split("..")];let m=(0,f.cloneDeep)(o.modifiedData);const g=(0,f.get)(m,d,{}),E=en(g,i);(0,f.set)(m,d,E),i||(m=Bn(m)),(0,f.set)(n,["modifiedData"],m);break}case"RESET_FORM":{n.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{n.initialData=o.modifiedData;break}default:return n}}),wn=o=>Object.entries(o).filter(([,t])=>t).map(([t])=>t),Ua=o=>{const[t,{conditions:n}]=o;return{action:t,subject:null,conditions:wn(n),properties:{}}},Va=o=>Object.values(o).reduce((t,n)=>{const s=Object.entries(n).reduce((i,d)=>{const[,{properties:{enabled:m}}]=d;if(!m)return i;const g=Ua(d);return i.push(g),i},[]);return[...t,...s]},[]),Lo=o=>Object.values(o).reduce((t,n)=>{const s=Va(n);return[...t,...s]},[]),Io=(o,t="")=>Object.entries(o).reduce((n,s)=>{const[i,d]=s;return(0,f.isObject)(d)?[...n,...Io(d,`${t}${i}.`)]:(d&&!(0,f.isObject)(d)&&n.push(`${t}${i}`),n)},[]),Za=(o,t,{conditions:n,properties:s})=>Object.entries(s).reduce((i,d)=>{const[m,g]=d;return i.properties[m]=Io(g),i},{action:o,subject:t,conditions:wn(n),properties:{}}),Ga=(o,t,{conditions:n})=>({action:o,subject:t,properties:{},conditions:wn(n)}),za=(o,t)=>Object.entries(t).reduce((s,i)=>{const[d,m]=i;if(!mt(m).some(b=>b))return s;if(!(0,f.has)(m,"properties.enabled")){const b=Za(d,o,m);return[...s,b]}if(!m.properties.enabled)return s;const E=Ga(d,o,m);return s.push(E),s},[]),Fo=o=>Object.entries(o).reduce((n,s)=>{const[i,d]=s,m=za(i,d);return[...n,...m]},[]),Ka=o=>{const t=Lo(o.plugins),n=Lo(o.settings),s=Fo(o.collectionTypes),i=Fo(o.singleTypes);return[...t,...n,...s,...i]},Ha=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];var Xa=Object.defineProperty,Bo=Object.getOwnPropertySymbols,Ya=Object.prototype.hasOwnProperty,Qa=Object.prototype.propertyIsEnumerable,wo=(o,t,n)=>t in o?Xa(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,jo=(o,t)=>{for(var n in t||(t={}))Ya.call(t,n)&&wo(o,n,t[n]);if(Bo)for(var n of Bo(t))Qa.call(t,n)&&wo(o,n,t[n]);return o};const jn=(0,e.forwardRef)(({layout:o,isFormDisabled:t,permissions:n},s)=>{const[{initialData:i,layouts:d,modifiedData:m},g]=(0,e.useReducer)(ka,$a,()=>Ca(o,n)),{formatMessage:E}=(0,Y.useIntl)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const w=(0,ne.difference)(i.collectionTypes,m.collectionTypes),j=(0,ne.difference)(i.singleTypes,m.singleTypes),A=jo(jo({},w),j);let I;return Ne()(A)?I=!1:I=Object.values(A).some(X=>Object.values(X).some(se=>Ee()(se,"conditions"))),{permissionsToSend:Ka(m),didUpdateConditions:I}},resetForm(){g({type:"RESET_FORM"})},setFormAfterSubmit(){g({type:"SET_FORM_AFTER_SUBMIT"})}}));const b=(w,j,A,I)=>{g({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:w,propertyName:j,rowName:A,value:I})},S=(w,j,A)=>{g({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:w,actionId:j,value:A})},L=w=>{g({type:"ON_CHANGE_CONDITIONS",conditions:w})},$=(0,e.useCallback)(({target:{name:w,value:j}})=>{g({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:w,value:j})},[]),ee=(0,e.useCallback)(({target:{name:w,value:j}})=>{g({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:w,value:j})},[]);return e.createElement(Qo,{value:{availableConditions:o.conditions,modifiedData:m,onChangeConditions:L,onChangeSimpleCheckbox:$,onChangeParentCheckbox:ee,onChangeCollectionTypeLeftActionRowCheckbox:b,onChangeCollectionTypeGlobalActionCheckbox:S}},e.createElement(V.TabGroup,{id:"tabs",label:E({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(V.Tabs,null,Ha.map(w=>e.createElement(V.Tab,{key:w.id},E({id:w.labelId,defaultMessage:w.defaultMessage})))),e.createElement(V.TabPanels,{style:{position:"relative"}},e.createElement(V.TabPanel,null,e.createElement(no,{layout:d.collectionTypes,kind:"collectionTypes",isFormDisabled:t})),e.createElement(V.TabPanel,null,e.createElement(no,{layout:d.singleTypes,kind:"singleTypes",isFormDisabled:t})),e.createElement(V.TabPanel,null,e.createElement(uo,{layout:d.plugins,kind:"plugins",isFormDisabled:t})),e.createElement(V.TabPanel,null,e.createElement(uo,{layout:d.settings,kind:"settings",isFormDisabled:t})))))});jn.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},jn.propTypes={layout:r().object,isFormDisabled:r().bool.isRequired,permissions:r().array};const Ja=(0,e.memo)(jn)},16437:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!0},78522:(ge,D,a)=>{a.d(D,{Z:()=>e});const e=()=>"todo empty role"},80779:(ge,D,a)=>{a.d(D,{Z:()=>Ke});var e=a(32735),C=a(60216),r=a.n(C),ne=a(9808),V=a.n(ne),Le=a(19192),Ee=a.n(Le),fe=a(53214),Ne=a.n(fe),Y=a(95602),F=a.n(Y),P=a(20763),Z=a.n(P),de=a(88425),k=a.n(de),te=a(5636),Ge=Object.defineProperty,$e=Object.getOwnPropertySymbols,ze=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,z=(re,J,ae)=>J in re?Ge(re,J,{enumerable:!0,configurable:!0,writable:!0,value:ae}):re[J]=ae,y=(re,J)=>{for(var ae in J||(J={}))ze.call(J,ae)&&z(re,ae,J[ae]);if($e)for(var ae of $e(J))be.call(J,ae)&&z(re,ae,J[ae]);return re};const ue=({id:re,name:J,description:ae,usersCount:it,icons:Ie})=>{const{formatMessage:Xe}=(0,te.useIntl)(),Ye=Xe({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:it});return e.createElement(fe.Tr,y({key:re},(0,de.onRowClick)({fn:Ie[1].onClick})),e.createElement(fe.Td,{maxWidth:(0,de.pxToRem)(130)},e.createElement(Y.Typography,{ellipsis:!0,textColor:"neutral800"},J)),e.createElement(fe.Td,{maxWidth:(0,de.pxToRem)(250)},e.createElement(Y.Typography,{ellipsis:!0,textColor:"neutral800"},ae)),e.createElement(fe.Td,null,e.createElement(Y.Typography,{textColor:"neutral800"},Ye)),e.createElement(fe.Td,null,e.createElement(Le.Flex,y({justifyContent:"flex-end"},de.stopPropagation),Ie.map((Se,ke)=>Se?e.createElement(ne.Box,{key:Se.label,paddingLeft:ke===0?0:1},e.createElement(P.IconButton,{onClick:Se.onClick,label:Se.label,noBorder:!0,icon:Se.icon})):null))))};ue.propTypes={id:r().number.isRequired,name:r().string.isRequired,description:r().string.isRequired,usersCount:r().number.isRequired,icons:r().array.isRequired};const Ke=ue},45677:(ge,D,a)=>{a.d(D,{Z:()=>qe});var e=a(32735),C=a(88425),r=a(83983),ne=a(58469),V=a(59290),Le=a.n(V),Ee=a(76470),fe=a.n(Ee),Ne=a(95717),Y=a.n(Ne),F=a(68192),P=a.n(F),Z=a(44526),de=a(11856),k=a(53214),te=a(95602),Ge=a(16540),$e=a(28004),ze=a(5636),be=a(5141),z=a(80779),y=a(78522),ue=a(60216),Ke=a.n(ue),re=a(19615),J=a(64410),ae=a(54742),it=a(20763),Ie=a(61541),Xe=a(9808),Ye=a(19192),Se=a(90662),ke=a(82372),Qe=a.n(ke),ie=a(94009),Je=a.n(ie);const R=a.p+"c3de6118ef47086ad05c.png",U=a.p+"bd81ba6c07827282255d.png",N=re.default.div`
134
+ position: absolute;
135
+ z-index: 3;
136
+ inset: 0;
137
+ background: ${({theme:B})=>(0,C.setHexOpacity)(B.colors.neutral800,.2)};
138
+ padding: 0 ${({theme:B})=>B.spaces[8]};
139
+ `,_=(0,re.default)(Ye.Flex)`
140
+ position: relative;
141
+ max-width: ${830/16}rem;
142
+ height: ${415/16}rem;
143
+ margin: 0 auto;
144
+ overflow: hidden;
145
+ margin-top: 10%;
146
+ padding-left: ${64/16}rem;
147
+
148
+ img:first-of-type {
149
+ position: absolute;
150
+ right: 0;
151
+ top: 0;
152
+ max-width: ${360/16}rem;
153
+ }
154
+
155
+ img:not(:first-of-type) {
156
+ width: ${130/16}rem;
157
+ margin-left: 12%;
158
+ margin-right: ${20/16}rem;
159
+ z-index: 0;
160
+ }
161
+ `,pe=(0,re.default)(Se.Stack)`
162
+ align-items: flex-start;
163
+ max-width: ${400/16}rem;
164
+ z-index: 0;
165
+ `,W=(0,re.default)(Xe.Box)`
166
+ position: absolute;
167
+ right: ${({theme:B})=>B.spaces[4]};
168
+ top: ${({theme:B})=>B.spaces[4]};
169
+ `,Q=({onClose:B,isOpen:K})=>{(0,C.useLockScroll)(K);const{formatMessage:H}=(0,ze.useIntl)();return K?e.createElement(J.Portal,null,e.createElement(N,{onClick:B},e.createElement(ae.FocusTrap,{onEscape:B},e.createElement(_,{onClick:f=>f.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:R,alt:"air-balloon"}),e.createElement(W,null,e.createElement(it.IconButton,{onClick:B,"aria-label":"Close",icon:e.createElement(Je(),null)})),e.createElement(pe,{spacing:6},e.createElement(te.Typography,{fontWeight:"bold",textColor:"primary600"},H({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(Se.Stack,{spacing:2},e.createElement(te.Typography,{variant:"alpha",as:"h2",id:"upgrade-plan"},H({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(te.Typography,null,H({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(Ie.LinkButton,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(Qe(),null)},H({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:U,alt:"upgrade-arrow"}))))):null};Q.propTypes={onClose:Ke().func.isRequired,isOpen:Ke().bool.isRequired};const oe=Q;var G=a(73869);const le=()=>{const{roles:B,isLoading:K}=(0,G.bF)(),H=(0,C.useQuery)(),f=decodeURIComponent(H.get("_q")||""),Fe=(0,ne.ZP)(B,f,{keys:["name","description"]});return{isLoading:K,sortedRoles:Fe}},xe=()=>{const{formatMessage:B}=(0,ze.useIntl)(),[K,H]=(0,e.useState)(!1),{trackUsage:f}=(0,C.useTracking)(),{push:Fe}=(0,be.useHistory)(),_e=(0,e.useCallback)(Pe=>{Fe(`/settings/roles/${Pe}`)},[Fe]),He=(0,e.useCallback)(()=>{H(Pe=>!Pe)},[]),q=(0,e.useCallback)(()=>{f("didShowRBACUpgradeModal"),H(!0)},[f]),he=(0,e.useCallback)(Pe=>[{onClick:He,label:B({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(P(),null)},{onClick:()=>_e(Pe.id),label:B({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(Y(),null)},{onClick:He,label:B({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(fe(),null)}],[B,He,_e]);return{isModalOpen:K,handleToggleModalForCreatingRole:q,handleToggle:He,getIcons:he}},Ve=()=>{const{formatMessage:B}=(0,ze.useIntl)();(0,C.useFocusWhenNavigate)();const{sortedRoles:K,isLoading:H}=le(),{isModalOpen:f,handleToggle:Fe,handleToggleModalForCreatingRole:_e,getIcons:He}=xe(),q=K.length+1,he=5;return e.createElement(Ge.Main,null,e.createElement(C.SettingsPageTitle,{name:"Roles"}),e.createElement(de.HeaderLayout,{primaryAction:e.createElement(Z.Button,{onClick:_e,startIcon:e.createElement(Le(),null),size:"L"},B({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:B({id:"global.roles",defaultMessage:"roles"}),subtitle:B({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(de.ContentLayout,null,e.createElement(k.Table,{colCount:he,rowCount:q,footer:e.createElement(k.TFooter,{onClick:_e,icon:e.createElement(Le(),null)},B({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(k.Thead,null,e.createElement(k.Tr,null,e.createElement(k.Th,null,e.createElement(te.Typography,{variant:"sigma",textColor:"neutral600"},B({id:"global.name",defaultMessage:"Name"}))),e.createElement(k.Th,null,e.createElement(te.Typography,{variant:"sigma",textColor:"neutral600"},B({id:"global.description",defaultMessage:"Description"}))),e.createElement(k.Th,null,e.createElement(te.Typography,{variant:"sigma",textColor:"neutral600"},B({id:"global.users",defaultMessage:"Users"}))),e.createElement(k.Th,null,e.createElement($e.VisuallyHidden,null,B({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(k.Tbody,null,K==null?void 0:K.map(Pe=>e.createElement(z.Z,{key:Pe.id,id:Pe.id,name:Pe.name,description:Pe.description,usersCount:Pe.usersCount,icons:He(Pe)})))),!q&&!H&&e.createElement(y.Z,null)),e.createElement(oe,{isOpen:f,onClose:Fe}))},qe=()=>e.createElement(C.CheckPagePermissions,{permissions:r.Z.settings.roles.main},e.createElement(Ve,null))},75936:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=[]},20178:(ge,D,a)=>{a.d(D,{Z:()=>Qe});var e=a(32735),C=a(64213),r=a(88425),ne=a(9808),V=a(44526),Le=a(11856),Ee=a(78330),fe=a(16540),Ne=a(19192),Y=a(90662),F=a(95602),P=a(37178),Z=a(90353),de=a(98599),k=a.n(de),te=a(83281),Ge=a(33795),$e=a.n(Ge),ze=a(86834),be=a.n(ze),z=a(5636),y=a(5141),ue=a(19615),Ke=a(25793),re=a(73869),J=a(83983),ae=a(5173);const Ie=ae.Ry().shape({name:ae.Z_().required(r.translatedErrors.required),description:ae.Z_().required(r.translatedErrors.required)});var Xe=a(98399),Ye=(ie,Je,R)=>new Promise((U,N)=>{var _=Q=>{try{W(R.next(Q))}catch(oe){N(oe)}},pe=Q=>{try{W(R.throw(Q))}catch(oe){N(oe)}},W=Q=>Q.done?U(Q.value):Promise.resolve(Q.value).then(_,pe);W((R=R.apply(ie,Je)).next())});const Se=ue.default.div`
170
+ border: 1px solid ${({theme:ie})=>ie.colors.primary200};
171
+ background: ${({theme:ie})=>ie.colors.primary100};
172
+ padding: ${({theme:ie})=>`${ie.spaces[2]} ${ie.spaces[4]}`};
173
+ color: ${({theme:ie})=>ie.colors.primary600};
174
+ border-radius: ${({theme:ie})=>ie.borderRadius};
175
+ font-size: ${12/16}rem;
176
+ font-weight: bold;
177
+ `,ke=()=>{const ie=(0,r.useNotification)(),{lockApp:Je,unlockApp:R}=(0,r.useOverlayBlocker)(),{formatMessage:U}=(0,z.useIntl)(),[N,_]=(0,e.useState)(!1),{replace:pe}=(0,y.useHistory)(),W=(0,e.useRef)(),{trackUsage:Q}=(0,r.useTracking)(),oe=(0,y.useRouteMatch)("/settings/roles/duplicate/:id"),G=$e()(oe,"params.id",null),{isLoading:le,data:xe}=(0,re.U_)(),{permissions:Ue,isLoading:Ve}=(0,re.Dq)(G),st=B=>{Je(),_(!0),Q(G?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,r.request)("/admin/roles",{method:"POST",body:B})).then(K=>Ye(void 0,null,function*(){const{permissionsToSend:H}=W.current.getPermissions();return Q(G?"didDuplicateRole":"didCreateNewRole"),K.data.id&&!be()(H)&&(yield(0,r.request)(`/admin/roles/${K.data.id}/permissions`,{method:"PUT",body:{permissions:H}})),K})).then(K=>{_(!1),ie({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),pe(`/settings/roles/${K.data.id}`)}).catch(K=>{Xe.error(K),_(!1),ie({type:"warning",message:{id:"notification.error"}})}).finally(()=>{R()})},qe=`${U({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,C.format)(new Date,"PPP")}`;return e.createElement(fe.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(te.Formik,{initialValues:{name:"",description:qe},onSubmit:st,validationSchema:Ie,validateOnChange:!1},({handleSubmit:B,values:K,errors:H,handleReset:f,handleChange:Fe})=>e.createElement(r.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(Le.HeaderLayout,{primaryAction:e.createElement(Y.Stack,{horizontal:!0,spacing:2},e.createElement(V.Button,{variant:"secondary",onClick:()=>{f(),W.current.resetForm()},size:"L"},U({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(V.Button,{onClick:B,loading:N,size:"L"},U({id:"global.save",defaultMessage:"Save"}))),title:U({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:U({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(r.Link,{startIcon:e.createElement(k(),null),to:"/settings/roles"},U({id:"global.back",defaultMessage:"Back"}))}),e.createElement(Le.ContentLayout,null,e.createElement(Y.Stack,{spacing:6},e.createElement(ne.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(Y.Stack,{spacing:4},e.createElement(Ne.Flex,{justifyContent:"space-between"},e.createElement(ne.Box,null,e.createElement(ne.Box,null,e.createElement(F.Typography,{fontWeight:"bold"},U({id:"global.details",defaultMessage:"Details"}))),e.createElement(ne.Box,null,e.createElement(F.Typography,{variant:"pi",textColor:"neutral600"},U({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(Se,null,U({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(Ee.Grid,{gap:4},e.createElement(Ee.GridItem,{col:6},e.createElement(P.TextInput,{name:"name",error:H.name&&U({id:H.name}),label:U({id:"global.name",defaultMessage:"Name"}),onChange:Fe,value:K.name})),e.createElement(Ee.GridItem,{col:6},e.createElement(Z.Textarea,{label:U({id:"global.description",defaultMessage:"Description"}),name:"description",error:H.description&&U({id:H.description}),onChange:Fe},K.description))))),!le&&!Ve?e.createElement(ne.Box,{shadow:"filterShadow",hasRadius:!0},e.createElement(Ke.Z,{isFormDisabled:!1,ref:W,permissions:Ue,layout:xe})):e.createElement(ne.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(r.LoadingIndicatorPage,null))))))))};function Qe(){return e.createElement(r.CheckPagePermissions,{permissions:J.Z.settings.roles.create},e.createElement(ke,null))}},56899:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},68464:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},32741:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},19665:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},36950:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},96556:(ge,D,a)=>{a.d(D,{Z:()=>C});const C=!1},51899:(ge,D,a)=>{a.d(D,{Z:()=>Je});var e=a(32735),C=a(88425),r=a(83983),ne=a(59290),V=a.n(ne),Le=a(76470),Ee=a.n(Le),fe=a(68192),Ne=a.n(fe),Y=a(95717),F=a.n(Y),P=a(44526),Z=a(11856),de=a(28004),k=a(16540),te=a(53214),Ge=a(95602),$e=a(92891),ze=a(58469),be=a(5636),z=a(5141),y=a(17247),ue=a(73869),Ke=a(78522),re=a(80779),J=a(49415);const ae={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1},Ie=(R,U)=>(0,J.default)(R,N=>{switch(U.type){case"ON_REMOVE_ROLES":{N.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{N.shouldRefetchData=!0,N.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{N.shouldRefetchData=!1,N.roleToDelete=null,N.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{N.roleToDelete=U.id;break}default:return N}});var Xe=(R,U,N)=>new Promise((_,pe)=>{var W=G=>{try{oe(N.next(G))}catch(le){pe(le)}},Q=G=>{try{oe(N.throw(G))}catch(le){pe(le)}},oe=G=>G.done?_(G.value):Promise.resolve(G.value).then(W,Q);oe((N=N.apply(R,U)).next())});const Ye=()=>{(0,C.useFocusWhenNavigate)();const{isLoading:R,allowedActions:{canCreate:U,canDelete:N,canRead:_,canUpdate:pe}}=(0,C.useRBAC)(r.Z.settings.roles),{getData:W,roles:Q,isLoading:oe}=(0,ue.bF)(!1),[{query:G}]=(0,C.useQueryParams)(),le=(G==null?void 0:G._q)||"",xe=(0,ze.ZP)(Q,le,{keys:["name","description"]});return(0,e.useEffect)(()=>{!R&&_&&W()},[R,_,W]),{isLoadingForPermissions:R,canCreate:U,canDelete:N,canRead:_,canUpdate:pe,isLoading:oe,getData:W,sortedRoles:xe,roles:Q}},Se=({getData:R,canCreate:U,canDelete:N,canUpdate:_})=>{const{formatMessage:pe}=(0,be.useIntl)(),W=(0,C.useNotification)(),[Q,oe]=(0,e.useState)(!1),{push:G}=(0,z.useHistory)(),[{selectedRoles:le,showModalConfirmButtonLoading:xe,roleToDelete:Ue},Ve]=(0,e.useReducer)(Ie,ae),st=()=>Xe(void 0,null,function*(){try{Ve({type:"ON_REMOVE_ROLES"}),yield y.be.post("/admin/roles/batch-delete",{ids:[Ue]}),yield R(),Ve({type:"RESET_DATA_TO_DELETE"})}catch(q){const he=(0,$e.get)(q,["response","payload","data","ids"],null);if(he&&Array.isArray(he)){const Pe=he.join(`
178
+ `);W({type:"warning",message:Pe})}else W({type:"warning",message:{id:"notification.error"}})}H()}),qe=(0,e.useCallback)(q=>{G(`/settings/roles/duplicate/${q}`)},[G]),B=()=>G("/settings/roles/new"),K=(0,e.useCallback)(q=>{Ve({type:"SET_ROLE_TO_DELETE",id:q}),H()},[]),H=()=>oe(q=>!q),f=(0,e.useCallback)(q=>{G(`/settings/roles/${q}`)},[G]),Fe=(0,e.useCallback)((q,he)=>{q.preventDefault(),q.stopPropagation(),he.usersCount?W({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):K(he.id)},[W,K]),_e=(0,e.useCallback)((q,he)=>{q.preventDefault(),q.stopPropagation(),qe(he.id)},[qe]),He=(0,e.useCallback)(q=>[...U?[{onClick:he=>_e(he,q),label:pe({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(Ne(),null)}]:[],..._?[{onClick:()=>f(q.id),label:pe({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(F(),null)}]:[],...N?[{onClick:he=>Fe(he,q),label:pe({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(Ee(),null)}]:[]],[pe,Fe,_e,f,U,_,N]);return{handleNewRoleClick:B,getIcons:He,selectedRoles:le,isWarningDeleteAllOpened:Q,showModalConfirmButtonLoading:xe,handleToggleModal:H,handleDeleteData:st}},Qe=()=>{const{formatMessage:R}=(0,be.useIntl)(),{isLoadingForPermissions:U,canCreate:N,canRead:_,canDelete:pe,canUpdate:W,isLoading:Q,getData:oe,sortedRoles:G}=Ye(),{handleNewRoleClick:le,getIcons:xe,isWarningDeleteAllOpened:Ue,showModalConfirmButtonLoading:Ve,handleToggleModal:st,handleDeleteData:qe}=Se({getData:oe,canCreate:N,canDelete:pe,canUpdate:W}),B=G.length+1,K=6;if(U)return e.createElement(k.Main,null,e.createElement(C.LoadingIndicatorPage,null));const H=R({id:"global.roles",defaultMessage:"roles"});return e.createElement(k.Main,null,e.createElement(C.SettingsPageTitle,{name:"Roles"}),e.createElement(Z.HeaderLayout,{primaryAction:N?e.createElement(P.Button,{onClick:le,startIcon:e.createElement(V(),null),size:"L"},R({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:H,subtitle:R({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),_&&e.createElement(Z.ActionLayout,{startActions:e.createElement(C.SearchURLQuery,{label:R({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:H})})}),_&&e.createElement(Z.ContentLayout,null,e.createElement(te.Table,{colCount:K,rowCount:B,footer:N?e.createElement(te.TFooter,{onClick:le,icon:e.createElement(V(),null)},R({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(te.Thead,null,e.createElement(te.Tr,null,e.createElement(te.Th,null,e.createElement(Ge.Typography,{variant:"sigma",textColor:"neutral600"},R({id:"global.name",defaultMessage:"Name"}))),e.createElement(te.Th,null,e.createElement(Ge.Typography,{variant:"sigma",textColor:"neutral600"},R({id:"global.description",defaultMessage:"Description"}))),e.createElement(te.Th,null,e.createElement(Ge.Typography,{variant:"sigma",textColor:"neutral600"},R({id:"global.users",defaultMessage:"Users"}))),e.createElement(te.Th,null,e.createElement(de.VisuallyHidden,null,R({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(te.Tbody,null,G==null?void 0:G.map(f=>e.createElement(re.Z,{key:f.id,id:f.id,name:f.name,description:f.description,usersCount:f.usersCount,icons:xe(f)})))),!B&&!Q&&e.createElement(Ke.Z,null)),e.createElement(C.ConfirmDialog,{isOpen:Ue,onConfirm:qe,isConfirmButtonLoading:Ve,onToggleDialog:st}))},Je=()=>e.createElement(C.CheckPagePermissions,{permissions:r.Z.settings.roles.main},e.createElement(Qe,null))},63775:(ge,D,a)=>{a.d(D,{Z:()=>ne});var e=(V,Le,Ee)=>new Promise((fe,Ne)=>{var Y=Z=>{try{P(Ee.next(Z))}catch(de){Ne(de)}},F=Z=>{try{P(Ee.throw(Z))}catch(de){Ne(de)}},P=Z=>Z.done?fe(Z.value):Promise.resolve(Z.value).then(Y,F);P((Ee=Ee.apply(V,Le)).next())});const ne=[...strapi.features.isEnabled(strapi.features.SSO)?[{Component(){return e(this,null,function*(){return yield a.e(302).then(a.bind(a,49851))})},to:"/settings/single-sign-on",exact:!0}]:[]]}}]);