@strapi/admin 4.9.0-alpha.0 → 4.9.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/admin/src/StrapiApp.js +1 -1
  2. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +6 -10
  3. package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +2 -3
  4. package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
  5. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  6. package/admin/src/components/GuidedTour/Homepage/index.js +4 -8
  7. package/admin/src/components/GuidedTour/Modal/components/Content.js +35 -25
  8. package/admin/src/components/GuidedTour/Modal/components/Modal.js +7 -11
  9. package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
  10. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
  11. package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
  12. package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
  13. package/admin/src/components/LeftMenu/index.js +5 -10
  14. package/admin/src/components/Notifications/Notification/index.js +10 -3
  15. package/admin/src/components/Notifications/index.js +6 -4
  16. package/admin/src/components/Theme/index.js +1 -1
  17. package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
  18. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -2
  19. package/admin/src/content-manager/components/ComponentInitializer/index.js +4 -7
  20. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +3 -3
  21. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
  22. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
  23. package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
  24. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +14 -11
  25. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
  26. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
  27. package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
  28. package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
  29. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +4 -9
  30. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +4 -9
  31. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
  32. package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
  33. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
  34. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +4 -6
  35. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
  36. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
  37. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +3 -6
  38. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
  39. package/admin/src/content-manager/components/DynamicZone/index.js +3 -3
  40. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  41. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +3 -31
  42. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +65 -134
  43. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +85 -0
  44. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +1 -2
  45. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +7 -1
  46. package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
  47. package/admin/src/content-manager/components/FieldComponent/index.js +4 -7
  48. package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
  49. package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
  50. package/admin/src/content-manager/components/Hint/index.js +1 -1
  51. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  52. package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
  53. package/admin/src/content-manager/components/InputUID/index.js +2 -6
  54. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
  55. package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
  56. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +3 -5
  57. package/admin/src/content-manager/components/RelationInput/RelationInput.js +17 -14
  58. package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
  59. package/admin/src/content-manager/components/RelationInput/components/Relation.js +9 -4
  60. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +4 -4
  61. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
  62. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +39 -33
  63. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +12 -6
  64. package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -2
  65. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
  66. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
  67. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
  68. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -7
  69. package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +3 -3
  70. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
  71. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
  72. package/admin/src/content-manager/hooks/useRelation/useRelation.js +2 -2
  73. package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
  74. package/admin/src/content-manager/pages/App/index.js +1 -2
  75. package/admin/src/content-manager/pages/App/useModels.js +1 -1
  76. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
  77. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
  78. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
  79. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
  80. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
  81. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +6 -11
  82. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +3 -3
  83. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
  84. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
  85. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
  86. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
  87. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
  88. package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
  89. package/admin/src/content-manager/pages/EditSettingsView/index.js +17 -13
  90. package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
  91. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
  92. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +2 -2
  93. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
  94. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
  95. package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
  96. package/admin/src/content-manager/pages/EditView/Header/index.js +17 -16
  97. package/admin/src/content-manager/pages/EditView/Information/index.js +9 -9
  98. package/admin/src/content-manager/pages/EditView/index.js +10 -15
  99. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
  100. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
  101. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +4 -8
  102. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +4 -9
  103. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
  104. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +14 -10
  105. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +4 -9
  106. package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
  107. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
  108. package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
  109. package/admin/src/content-manager/pages/ListView/index.js +12 -10
  110. package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
  111. package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
  112. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  113. package/admin/src/content-manager/utils/createDefaultForm.js +2 -10
  114. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
  115. package/admin/src/content-manager/utils/getFieldName.js +1 -1
  116. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
  117. package/admin/src/content-manager/utils/paths.js +1 -1
  118. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
  119. package/admin/src/hooks/index.js +2 -0
  120. package/admin/src/hooks/useLicenseLimitNotification/index.js +5 -0
  121. package/admin/src/hooks/useLicenseLimits/index.js +3 -0
  122. package/admin/src/hooks/useMenu/reducer.js +1 -3
  123. package/admin/src/hooks/useRegenerate/index.js +13 -8
  124. package/admin/src/hooks/useSettingsForm/index.js +3 -3
  125. package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
  126. package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
  127. package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +7 -0
  128. package/admin/src/index.js +0 -1
  129. package/admin/src/layouts/AppLayout/index.js +1 -3
  130. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  131. package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
  132. package/admin/src/pages/Admin/Onboarding/index.js +26 -7
  133. package/admin/src/pages/App/index.js +1 -1
  134. package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
  135. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +3 -9
  136. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
  137. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -12
  138. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
  139. package/admin/src/pages/AuthPage/components/Register/index.js +14 -13
  140. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +4 -11
  141. package/admin/src/pages/AuthPage/reducer.js +1 -1
  142. package/admin/src/pages/HomePage/CloudBox.js +83 -0
  143. package/admin/src/pages/HomePage/ContentBlocks.js +6 -7
  144. package/admin/src/pages/HomePage/HomeHeader.js +5 -12
  145. package/admin/src/pages/HomePage/SocialLinks.js +37 -34
  146. package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
  147. package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +1 -0
  148. package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +1 -0
  149. package/admin/src/pages/HomePage/index.js +3 -4
  150. package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
  151. package/admin/src/pages/InternalErrorPage/index.js +2 -5
  152. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
  153. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
  154. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
  155. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
  156. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
  157. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +4 -9
  158. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +5 -11
  159. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
  160. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +3 -6
  161. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
  162. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
  163. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
  164. package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
  165. package/admin/src/pages/MarketplacePage/index.js +15 -8
  166. package/admin/src/pages/NotFoundPage/index.js +2 -5
  167. package/admin/src/pages/ProfilePage/index.js +27 -24
  168. package/admin/src/pages/SettingsPage/components/Filters/index.js +2 -3
  169. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +1 -1
  170. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components → components/Tokens}/FormHead/index.js +45 -26
  171. package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +97 -0
  172. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +75 -0
  173. package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +52 -0
  174. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/ReadButton/index.js +1 -1
  175. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/UpdateButton/index.js +1 -1
  176. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +145 -0
  177. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components/ContentBox → components/Tokens/TokenBox}/index.js +20 -18
  178. package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +51 -0
  179. package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +46 -0
  180. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +71 -0
  181. package/admin/src/pages/SettingsPage/components/Tokens/constants.js +2 -0
  182. package/admin/src/pages/SettingsPage/index.js +1 -1
  183. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +5 -7
  184. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +5 -7
  185. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
  186. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +17 -10
  187. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
  188. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +56 -149
  189. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
  190. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +3 -5
  191. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +12 -8
  192. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +48 -19
  193. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
  194. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +1 -1
  195. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
  196. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +18 -20
  197. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +5 -0
  198. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
  199. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
  200. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
  201. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +14 -11
  202. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
  203. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
  204. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
  205. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
  206. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +63 -74
  207. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +266 -4
  208. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
  209. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
  210. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +2 -6
  211. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
  212. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
  213. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +4 -8
  214. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
  215. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -5
  216. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
  217. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
  218. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
  219. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +3 -7
  220. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
  221. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  222. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
  223. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  224. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +12 -12
  225. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
  226. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
  227. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
  228. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
  229. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
  230. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  231. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
  232. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
  233. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
  234. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
  235. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +4 -12
  236. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
  237. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  238. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +12 -10
  239. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
  240. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
  241. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
  242. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
  243. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +314 -129
  244. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +142 -0
  245. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +48 -0
  246. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +263 -0
  247. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +16 -0
  248. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +4 -0
  249. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +11 -0
  250. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +216 -0
  251. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +48 -0
  252. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +14 -0
  253. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +14 -0
  254. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +12 -0
  255. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +19 -19
  256. package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +24 -0
  257. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
  258. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +17 -12
  259. package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
  260. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +32 -34
  261. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
  262. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
  263. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
  264. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
  265. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +3 -5
  266. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
  267. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +12 -10
  268. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +10 -16
  269. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +17 -15
  270. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +1 -1
  271. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
  272. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +183 -182
  273. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +51 -10
  274. package/admin/src/pages/UseCasePage/index.js +13 -11
  275. package/admin/src/permissions/defaultPermissions.js +8 -0
  276. package/admin/src/permissions/index.js +1 -1
  277. package/admin/src/translations/ca.json +13 -19
  278. package/admin/src/translations/de.json +6 -12
  279. package/admin/src/translations/dk.json +6 -12
  280. package/admin/src/translations/en.json +221 -190
  281. package/admin/src/translations/es.json +6 -12
  282. package/admin/src/translations/eu.json +178 -184
  283. package/admin/src/translations/fr.json +6 -12
  284. package/admin/src/translations/gu.json +0 -6
  285. package/admin/src/translations/he.json +0 -6
  286. package/admin/src/translations/hi.json +6 -12
  287. package/admin/src/translations/hu.json +19 -25
  288. package/admin/src/translations/id.json +0 -6
  289. package/admin/src/translations/it.json +0 -6
  290. package/admin/src/translations/ja.json +6 -12
  291. package/admin/src/translations/ko.json +6 -12
  292. package/admin/src/translations/ml.json +6 -12
  293. package/admin/src/translations/nl.json +19 -25
  294. package/admin/src/translations/no.json +0 -6
  295. package/admin/src/translations/pl.json +6 -12
  296. package/admin/src/translations/pt-BR.json +6 -12
  297. package/admin/src/translations/ru.json +859 -785
  298. package/admin/src/translations/sa.json +6 -12
  299. package/admin/src/translations/sk.json +2 -8
  300. package/admin/src/translations/sv.json +19 -25
  301. package/admin/src/translations/th.json +0 -6
  302. package/admin/src/translations/tr.json +19 -25
  303. package/admin/src/translations/zh-Hans.json +895 -669
  304. package/admin/src/translations/zh.json +19 -25
  305. package/admin/src/utils/getAttributesToDisplay.js +2 -4
  306. package/admin/src/utils/getExistingActions.js +1 -3
  307. package/admin/src/utils/sortLinks.js +1 -1
  308. package/build/{2223.1bfea951.chunk.js → 2263.4c5916f9.chunk.js} +66 -177
  309. package/build/27d16aefee06412db90a.png +0 -0
  310. package/build/4049.64715f20.chunk.js +1 -0
  311. package/build/5563.aa832e5f.chunk.js +30 -0
  312. package/build/6985.66cca29c.chunk.js +1 -0
  313. package/build/7259.e6ef3b8e.chunk.js +1 -0
  314. package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
  315. package/build/9505.dbe702ab.chunk.js +14 -0
  316. package/build/9816.01ee964f.chunk.js +2 -0
  317. package/build/Admin-authenticatedApp.5a090404.chunk.js +79 -0
  318. package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
  319. package/build/Admin_homePage.1411fb7c.chunk.js +68 -0
  320. package/build/Admin_marketplace.02608d56.chunk.js +22 -0
  321. package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
  322. package/build/Admin_profilePage.76afeca0.chunk.js +15 -0
  323. package/build/Admin_settingsPage.0aa4fcdc.chunk.js +9 -0
  324. package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
  325. package/build/admin-app.50584489.chunk.js +112 -0
  326. package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
  327. package/build/admin-edit-users.31c20712.chunk.js +10 -0
  328. package/build/admin-roles-list.489c501f.chunk.js +2 -0
  329. package/build/admin-users.3e111a7d.chunk.js +11 -0
  330. package/build/{api-tokens-create-page.a31c7fba.chunk.js → api-tokens-create-page.2a6e22bd.chunk.js} +1 -1
  331. package/build/{api-tokens-edit-page.64fef287.chunk.js → api-tokens-edit-page.fa38cd63.chunk.js} +1 -1
  332. package/build/api-tokens-list-page.93f24348.chunk.js +16 -0
  333. package/build/audit-logs-settings-page.7be97e82.chunk.js +1 -0
  334. package/build/bb3108f7fd1e6179bde1.svg +1 -0
  335. package/build/bb4d0d527bdfb161bc5a.svg +1 -0
  336. package/build/ca-json.43e14418.chunk.js +1 -0
  337. package/build/content-manager.f8b9710b.chunk.js +1139 -0
  338. package/build/content-type-builder-list-view.cf38fe2f.chunk.js +191 -0
  339. package/build/content-type-builder-translation-zh-Hans-json.415577fb.chunk.js +1 -0
  340. package/build/content-type-builder.0f5dbcf1.chunk.js +126 -0
  341. package/build/de-json.fcac7381.chunk.js +1 -0
  342. package/build/dk-json.e34cad0d.chunk.js +1 -0
  343. package/build/email-settings-page.4bdbef9a.chunk.js +3 -0
  344. package/build/en-json.b052667a.chunk.js +1 -0
  345. package/build/es-json.715b6fd8.chunk.js +1 -0
  346. package/build/eu-json.fb17c8f9.chunk.js +1 -0
  347. package/build/fr-json.f66c3211.chunk.js +1 -0
  348. package/build/gu-json.4d667d0c.chunk.js +1 -0
  349. package/build/{he-json.f0de8cdb.chunk.js → he-json.3cf0b48a.chunk.js} +1 -1
  350. package/build/hi-json.323be97d.chunk.js +1 -0
  351. package/build/hu-json.fe71e6c8.chunk.js +1 -0
  352. package/build/i18n-settings-page.2bb5be96.chunk.js +1 -0
  353. package/build/id-json.41e07c46.chunk.js +1 -0
  354. package/build/index.html +1 -1
  355. package/build/it-json.bfe27ed8.chunk.js +1 -0
  356. package/build/ja-json.81b6d1e3.chunk.js +1 -0
  357. package/build/ko-json.4539f4ba.chunk.js +1 -0
  358. package/build/main.7fa3d343.js +3783 -0
  359. package/build/ml-json.8988e374.chunk.js +1 -0
  360. package/build/nl-json.98345913.chunk.js +1 -0
  361. package/build/{no-json.9b3cd181.chunk.js → no-json.19a2dbfa.chunk.js} +1 -1
  362. package/build/pl-json.59a5dab3.chunk.js +1 -0
  363. package/build/pt-BR-json.9410688b.chunk.js +1 -0
  364. package/build/ru-json.6a01cea6.chunk.js +1 -0
  365. package/build/runtime~main.ee2bfeea.js +2 -0
  366. package/build/sa-json.6359a11c.chunk.js +1 -0
  367. package/build/sk-json.2374f129.chunk.js +1 -0
  368. package/build/sso-settings-page.272b87c8.chunk.js +1 -0
  369. package/build/sv-json.ae6e71ea.chunk.js +1 -0
  370. package/build/th-json.5f659396.chunk.js +1 -0
  371. package/build/tr-json.bac5dbd3.chunk.js +1 -0
  372. package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +1 -0
  373. package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +1 -0
  374. package/build/transfer-tokens-list-page.3c9b0280.chunk.js +16 -0
  375. package/build/upload-settings.0875e973.chunk.js +1 -0
  376. package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +1 -0
  377. package/build/upload.c7da1611.chunk.js +13 -0
  378. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
  379. package/build/users-email-settings-page.e8db68c4.chunk.js +1 -0
  380. package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +1 -0
  381. package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
  382. package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
  383. package/build/webhook-edit-page.329141a5.chunk.js +23 -0
  384. package/build/webhook-list-page.029957a4.chunk.js +1 -0
  385. package/build/zh-Hans-json.4cfef87d.chunk.js +1 -0
  386. package/build/zh-json.3529f1e5.chunk.js +1 -0
  387. package/ee/admin/hooks/index.js +2 -0
  388. package/ee/admin/hooks/useLicenseLimitNotification/index.js +88 -0
  389. package/ee/admin/hooks/useLicenseLimits/index.js +31 -0
  390. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  391. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +13 -21
  392. package/ee/admin/pages/AuthPage/components/Login/index.js +3 -7
  393. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
  394. package/ee/admin/pages/AuthPage/components/Providers/index.js +3 -10
  395. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +88 -0
  396. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -7
  397. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
  398. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
  399. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
  400. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +2 -5
  401. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +21 -10
  402. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +1 -1
  403. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +25 -11
  404. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +52 -0
  405. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +2 -16
  406. package/ee/admin/permissions/customPermissions.js +0 -3
  407. package/ee/server/bootstrap.js +4 -7
  408. package/ee/server/config/admin-actions.js +0 -10
  409. package/ee/server/controllers/admin.js +49 -0
  410. package/ee/server/controllers/index.js +1 -3
  411. package/ee/server/controllers/role.js +0 -39
  412. package/ee/server/controllers/user.js +62 -4
  413. package/ee/server/index.js +0 -1
  414. package/ee/server/routes/index.js +9 -122
  415. package/ee/server/services/audit-logs.js +15 -5
  416. package/ee/server/services/index.js +2 -3
  417. package/ee/server/services/seat-enforcement.js +114 -0
  418. package/ee/server/services/user.js +234 -0
  419. package/ee/server/utils/persisted-tables.js +49 -0
  420. package/ee/server/validation/role.js +28 -20
  421. package/package.json +18 -17
  422. package/server/bootstrap.js +2 -1
  423. package/server/config/admin-actions.js +48 -0
  424. package/server/content-types/User.js +4 -0
  425. package/server/content-types/api-token.js +1 -0
  426. package/server/content-types/index.js +2 -0
  427. package/server/content-types/transfer-token-permission.js +36 -0
  428. package/server/content-types/transfer-token.js +66 -0
  429. package/server/controllers/api-token.js +8 -7
  430. package/server/controllers/index.js +1 -0
  431. package/server/controllers/permission.js +2 -4
  432. package/server/controllers/role.js +70 -23
  433. package/server/controllers/transfer/index.js +13 -0
  434. package/server/controllers/transfer/runner.js +28 -0
  435. package/server/controllers/transfer/token.js +131 -0
  436. package/server/controllers/user.js +7 -1
  437. package/server/domain/user.js +3 -0
  438. package/server/middlewares/data-transfer.js +29 -0
  439. package/server/middlewares/index.js +1 -0
  440. package/server/register.js +2 -9
  441. package/server/routes/index.js +2 -0
  442. package/server/routes/roles.js +48 -0
  443. package/server/routes/transfer.js +102 -0
  444. package/server/services/api-token.js +2 -3
  445. package/server/services/constants.js +10 -0
  446. package/server/services/index.js +1 -0
  447. package/server/services/permission/permissions-manager/index.js +9 -5
  448. package/server/services/permission/permissions-manager/sanitize.js +103 -4
  449. package/server/services/permission/queries.js +1 -74
  450. package/server/services/transfer/index.js +7 -0
  451. package/server/services/transfer/permission.js +22 -0
  452. package/server/services/transfer/token.js +426 -0
  453. package/server/services/transfer/utils.js +38 -0
  454. package/server/strategies/api-token.js +4 -2
  455. package/server/strategies/data-transfer.js +109 -0
  456. package/server/strategies/index.js +1 -0
  457. package/server/utils/index.d.ts +2 -0
  458. package/server/validation/api-tokens.js +1 -6
  459. package/server/validation/permission.js +1 -82
  460. package/server/validation/role.js +44 -0
  461. package/server/validation/transfer/index.js +5 -0
  462. package/server/validation/transfer/token.js +42 -0
  463. package/webpack.alias.js +0 -1
  464. package/admin/src/assets/images/hot-air-balloon.png +0 -0
  465. package/admin/src/assets/images/upgrade-details.png +0 -0
  466. package/admin/src/components/UpgradePlanModal/index.js +0 -131
  467. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +0 -51
  468. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/recursivelyFindPathsBasedOnCondition.js +0 -79
  469. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +0 -78
  470. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +0 -40
  471. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +0 -112
  472. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
  473. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
  474. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
  475. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
  476. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
  477. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
  478. package/build/1412.936ed920.chunk.js +0 -159
  479. package/build/1683.d59d0f23.chunk.js +0 -268
  480. package/build/2607.2e48dbf8.chunk.js +0 -66
  481. package/build/2743.646a1015.chunk.js +0 -45
  482. package/build/3075.3ee481f1.chunk.js +0 -108
  483. package/build/3632.2e378cf8.chunk.js +0 -138
  484. package/build/4318.cd55ce02.chunk.js +0 -30
  485. package/build/617f9c948fa79e6d73bd.png +0 -0
  486. package/build/6d21938306785f176538.png +0 -0
  487. package/build/8633.00ccd382.chunk.js +0 -1
  488. package/build/9707.b36ed71e.chunk.js +0 -96
  489. package/build/Admin-authenticatedApp.a73577e1.chunk.js +0 -79
  490. package/build/Admin_InternalErrorPage.178ddb90.chunk.js +0 -1
  491. package/build/Admin_homePage.c2f5f27d.chunk.js +0 -77
  492. package/build/Admin_marketplace.1df49c42.chunk.js +0 -26
  493. package/build/Admin_pluginsPage.8d824408.chunk.js +0 -6
  494. package/build/Admin_profilePage.cb667bc5.chunk.js +0 -15
  495. package/build/Admin_settingsPage.f90615fb.chunk.js +0 -178
  496. package/build/Upload_ConfigureTheView.d306009d.chunk.js +0 -1
  497. package/build/admin-app.06f07029.chunk.js +0 -112
  498. package/build/admin-edit-roles-page.35199b9d.chunk.js +0 -1
  499. package/build/admin-edit-users.9e48b00d.chunk.js +0 -10
  500. package/build/admin-users.cf7b4151.chunk.js +0 -11
  501. package/build/api-tokens-list-page.e600ad3e.chunk.js +0 -16
  502. package/build/audit-logs-settings-page.d4da4579.chunk.js +0 -1
  503. package/build/ca-json.4d999055.chunk.js +0 -1
  504. package/build/content-manager.255c3a59.chunk.js +0 -1139
  505. package/build/content-type-builder-list-view.8d7a3d68.chunk.js +0 -193
  506. package/build/content-type-builder-translation-zh-Hans-json.52a30266.chunk.js +0 -1
  507. package/build/content-type-builder.3c8558a5.chunk.js +0 -126
  508. package/build/de-json.866f8a28.chunk.js +0 -1
  509. package/build/dk-json.10f7b1d1.chunk.js +0 -1
  510. package/build/email-settings-page.b19f2eb2.chunk.js +0 -10
  511. package/build/en-json.1997583c.chunk.js +0 -1
  512. package/build/es-json.ea15c957.chunk.js +0 -1
  513. package/build/eu-json.3bc24d60.chunk.js +0 -1
  514. package/build/fr-json.e88fbdfd.chunk.js +0 -1
  515. package/build/gu-json.94f0d242.chunk.js +0 -1
  516. package/build/hi-json.df3a7be2.chunk.js +0 -1
  517. package/build/hu-json.680e6eef.chunk.js +0 -1
  518. package/build/i18n-settings-page.a6b49eac.chunk.js +0 -60
  519. package/build/id-json.e0d83d41.chunk.js +0 -1
  520. package/build/it-json.8be59205.chunk.js +0 -1
  521. package/build/ja-json.97ee41ba.chunk.js +0 -1
  522. package/build/ko-json.4cbbf4f2.chunk.js +0 -1
  523. package/build/main.7f308c20.js +0 -4322
  524. package/build/ml-json.e3747091.chunk.js +0 -1
  525. package/build/nl-json.371a15ee.chunk.js +0 -1
  526. package/build/pl-json.e535cbce.chunk.js +0 -1
  527. package/build/pt-BR-json.e5fafa46.chunk.js +0 -1
  528. package/build/review-workflows-settings.7b4be1b0.chunk.js +0 -63
  529. package/build/ru-json.866f0ff1.chunk.js +0 -1
  530. package/build/runtime~main.bf374148.js +0 -2
  531. package/build/sa-json.7efeb257.chunk.js +0 -1
  532. package/build/sk-json.7bbeb0af.chunk.js +0 -1
  533. package/build/sso-settings-page.ad2143dd.chunk.js +0 -41
  534. package/build/sv-json.dc40951f.chunk.js +0 -1
  535. package/build/th-json.f664b96d.chunk.js +0 -1
  536. package/build/tr-json.b79eae31.chunk.js +0 -1
  537. package/build/upload-settings.eb1a7908.chunk.js +0 -84
  538. package/build/upload-translation-zh-Hans-json.3da5cf56.chunk.js +0 -1
  539. package/build/upload.700e2c84.chunk.js +0 -33
  540. package/build/users-advanced-settings-page.aae212f2.chunk.js +0 -8
  541. package/build/users-email-settings-page.8a9b0da1.chunk.js +0 -23
  542. package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +0 -1
  543. package/build/users-providers-settings-page.e6be909d.chunk.js +0 -99
  544. package/build/users-roles-settings-page.97d06a80.chunk.js +0 -30
  545. package/build/webhook-edit-page.9eb0f789.chunk.js +0 -75
  546. package/build/webhook-list-page.66082323.chunk.js +0 -42
  547. package/build/zh-Hans-json.30a18940.chunk.js +0 -1
  548. package/build/zh-json.49d84433.chunk.js +0 -1
  549. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +0 -137
  550. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +0 -42
  551. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +0 -87
  552. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +0 -1
  553. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +0 -90
  554. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +0 -1
  555. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +0 -77
  556. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +0 -1
  557. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +0 -6
  558. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +0 -63
  559. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +0 -3
  560. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +0 -102
  561. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +0 -25
  562. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +0 -267
  563. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
  564. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ConditionsSelect/MenuList/utils/constants.js +0 -3
  565. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
  566. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
  567. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
  568. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
  569. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
  570. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +0 -370
  571. package/ee/admin/pages/SettingsPage/pages/Roles/ProtectedListPage/index.js +0 -12
  572. package/ee/server/constants/default-stages.json +0 -14
  573. package/ee/server/constants/default-workflow.json +0 -1
  574. package/ee/server/constants/workflows.js +0 -7
  575. package/ee/server/content-types/index.js +0 -9
  576. package/ee/server/content-types/workflow/index.js +0 -34
  577. package/ee/server/content-types/workflow-stage/index.js +0 -36
  578. package/ee/server/controllers/permission.js +0 -21
  579. package/ee/server/controllers/workflows/index.js +0 -36
  580. package/ee/server/controllers/workflows/stages/index.js +0 -57
  581. package/ee/server/services/review-workflows/review-workflows.js +0 -54
  582. package/ee/server/services/review-workflows/stages.js +0 -133
  583. package/ee/server/services/review-workflows/workflows.js +0 -25
  584. package/ee/server/utils/index.js +0 -8
  585. package/ee/server/utils/test.js +0 -11
  586. package/ee/server/validation/permission.js +0 -8
  587. package/ee/server/validation/review-workflows.js +0 -17
  588. package/server/domain/role.js +0 -29
  589. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DefaultButton/index.js +1 -1
  590. /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/CreatePage/utils/schema.js +0 -0
  591. /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/ListPage/reducer.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[6831],{96081:function(e){e.exports=JSON.parse('{"header.actions.add-assets":"\u6DFB\u52A0\u65B0\u7D20\u6750","header.actions.add-folder":"\u6DFB\u52A0\u65B0\u6587\u4EF6\u5939","button.next":"\u4E0B\u4E00\u6B65","checkControl.crop-duplicate":"\u590D\u5236\u88C1\u526A\u7D20\u6750","checkControl.crop-original":"\u88C1\u526A\u539F\u59CB\u7D20\u6750","control-card.add":"\u6DFB\u52A0","control-card.cancel":"\u53D6\u6D88","control-card.copy-link":"\u590D\u5236\u94FE\u63A5","control-card.crop":"\u88C1\u526A","control-card.download":"\u4E0B\u8F7D","control-card.edit":"\u7F16\u8F91","control-card.replace-media":"\u66FF\u6362\u5A92\u4F53\u6587\u4EF6","control-card.save":"\u4FDD\u5B58","filter.add":"\u6DFB\u52A0\u7B5B\u9009\u6761\u4EF6","form.button.replace-media":"\u66FF\u6362\u5A92\u4F53","form.input.decription.file-alt":"\u5F53\u6B64\u7D20\u6750\u65E0\u6CD5\u663E\u793A\u65F6\uFF0C\u4F1A\u663E\u793A\u8BE5\u6587\u672C\u3002","form.input.label.file-alt":"\u5907\u7528\u6587\u672C","form.input.label.file-caption":"\u6807\u9898","form.input.label.file-name":"\u6587\u4EF6\u540D","form.input.label.file-location":"\u4F4D\u7F6E","form.input.label.folder-name":"\u6587\u4EF6\u5939\u540D\u79F0","form.input.label.folder-location":"\u4F4D\u7F6E","form.input.label.folder-location-default-label":"\u5A92\u4F53\u5E93","form.upload-url.error.url.invalid":"\u6709\u4E00\u4E2A\u94FE\u63A5\u683C\u5F0F\u4E0D\u5408\u6CD5","form.upload-url.error.url.invalids":"{number}\u4E2A\u94FE\u63A5\u683C\u5F0F\u4E0D\u5408\u6CD5","header.actions.upload-assets":"\u4E0A\u4F20\u7D20\u6750","header.content.assets":"{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 \u4E2A\u7D20\u6750} other {# \u4E2A\u7D20\u6750}}","input.button.label":"\u6D4F\u89C8\u6587\u4EF6","input.label-bold":"\u62D6\u62FD\u81F3\u6B64","input.label-normal":"\u5E76\u4E0A\u4F20","input.placeholder":"\u70B9\u51FB\u9009\u62E9\u4E00\u4E2A\u7D20\u6750\uFF0C\u6216\u8005\u62D6\u62FD\u6587\u4EF6\u81F3\u533A\u57DF","input.placeholder.icon":"\u5728\u6B64\u533A\u57DF\u5185\u653E\u7F6E\u7D20\u6750","input.url.description":"\u56DE\u8F66\u952E\u5206\u9694URL\u94FE\u63A5","input.url.label":"URL","list.assets-empty.subtitle":"\u6DFB\u52A0\u4E00\u4E2A\u5230\u5217\u8868\u4E2D","list.assets-empty.title":"\u6682\u65E0\u7D20\u6750","list.assets-empty.title-withSearch":"\u65E0\u7D20\u6750\u7B26\u5408\u5F53\u524D\u7B5B\u9009\u6761\u4EF6","list.assets.empty":"\u4E0A\u4F20\u4F60\u7684\u7B2C\u4E00\u4E2A\u7D20\u6750","list.assets.loading-asset":"\u6B63\u5728\u4E3A\u5A92\u4F53\u52A0\u8F7D\u9884\u89C8: {path}","list.assets.not-supported-content":"\u65E0\u53EF\u7528\u9884\u89C8","list.assets.preview-asset":"\u9884\u89C8\u89C6\u9891\uFF08\u8DEF\u5F84\uFF1A{path}\uFF09","list.assets.selected":"{number, plural, one {# \u4E2A\u7D20\u6750} other {# \u4E2A\u7D20\u6750}}\u51C6\u5907\u4E0A\u4F20","list.assets.type-not-allowed":"\u6587\u4EF6\u7C7B\u578B\u4E0D\u5408\u6CD5","list.table.header.actions":"\u64CD\u4F5C","list.table.header.preview":"\u9884\u89C8","list.table.header.name":"\u540D\u79F0","list.table.header.ext":"\u6269\u5C55\u540D","list.table.header.size":"\u5927\u5C0F","list.table.header.createdAt":"\u521B\u5EFA\u65F6\u95F4","list.table.header.updatedAt":"\u6700\u540E\u66F4\u65B0\u65F6\u95F4","list.table.header.sort":"\u6309{label}\u6392\u5E8F","list.table.content.empty-label":"\u6B64\u5B57\u6BB5\u4E3A\u7A7A","list.assets.title":"\u8D44\u6E90({count})","list.asset.at.finished":"\u8D44\u6E90\u5DF2\u7ECF\u52A0\u8F7D\u5B8C\u6BD5","list.assets-empty.search":"\u672A\u627E\u5230\u7ED3\u679C","list.assets.empty-upload":"\u4E0A\u4F20\u4F60\u7684\u7B2C\u4E00\u4E2A\u8D44\u6E90...","list.assets.empty.no-permissions":"\u6CA1\u6709\u67E5\u770B\u6743\u9650","list-assets-select":"\u9009\u62E9{name}\u8D44\u6E90","list.assets.to-upload":"\u6709{number, plural, =0 {\u6CA1\u6709\u8D44\u6E90} one {1\u4E2A\u8D44\u6E90} other {#\u4E2A\u8D44\u4EA7}}\u53EF\u4EE5\u4E0A\u4F20","list.folder.edit":"\u7F16\u8F91\u6587\u4EF6\u5939","list.folder.select":"\u9009\u62E9{name}\u6587\u4EF6\u5939","list.folder.subtitle":"{folderCount, plural, =0 {#\u4E2A\u6587\u4EF6\u5939} one {#\u4E2A\u6587\u4EF6\u5939} other {#\u4E2A\u6587\u4EF6\u5939}}, {filesCount, plural, =0 {#\u4E2A\u8D44\u6E90} one {#\u4E2A\u8D44\u6E90} other {#\u4E2A\u8D44\u6E90}}","list.folders.title":"\u6587\u4EF6\u5939\uFF08{count}\uFF09","list.folders.link-label":"\u8BBF\u95EE\u6587\u4EF6\u5939","mediaLibraryInput.actions.nextSlide":"\u4E0B\u4E00\u5F20\u5E7B\u706F\u7247","mediaLibraryInput.actions.previousSlide":"\u4E0A\u4E00\u5F20\u5E7B\u706F\u7247","mediaLibraryInput.placeholder":"\u70B9\u51FB\u6DFB\u52A0\u7D20\u6750\uFF0C\u6216\u62D6\u653E\u4E00\u4E2A\u7D20\u6750\u5230\u5F53\u524D\u533A\u57DF","mediaLibraryInput.slideCount":"\u5171 {m} \u5F20\uFF0C\u7B2C {n} \u5F20","modal.file-details.date":"\u65E5\u671F","modal.file-details.dimensions":"\u5C3A\u5BF8","modal.file-details.extension":"\u6269\u5C55\u540D","modal.file-details.size":"\u5927\u5C0F","modal.file-details.id":"\u8D44\u6E90ID","modal.folder.elements.count":"{folderCount}\u4E2A\u6587\u4EF6\u5939\uFF0C{assetCount}\u4E2A\u8D44\u6E90","modal.folder.move.title":"\u5C06\u5143\u7D20\u79FB\u52A8\u5230","modal.remove.success-label":"\u5143\u7D20\u5DF2\u6210\u529F\u5220\u9664","modal.move.success-label":"\u5143\u7D20\u5DF2\u6210\u529F\u79FB\u52A8","modal.upload.cancelled":"\u624B\u52A8\u4E0A\u4F20\u5DF2\u4E2D\u6B62","modal.folder.create.title":"\u65B0\u589E\u6587\u4EF6\u5939","modal.folder.create.submit":"\u65B0\u589E","modal.folder.cancel":"\u53D6\u6D88","modal.header.go-back":"\u8FD4\u56DE","modal.header.browse":"\u4E0A\u4F20\u7D20\u6750","modal.header.file-detail":"\u8BE6\u60C5","modal.header.pending-assets":"\u7D20\u6750\u4E0A\u4F20\u4E2D","modal.header.select-files":"\u9009\u4E2D\u6587\u4EF6","modal.nav.browse":"\u6D4F\u89C8","modal.nav.computer":"\u4ECE\u672C\u5730","modal.nav.selected":"\u9009\u4E2D","modal.nav.url":"\u4ECE\u94FE\u63A5","modal.selected-list.sub-header-subtitle":"\u62D6\u62FD\u6392\u5E8F\u5B57\u6BB5\u4E2D\u7684\u7D20\u6750","modal.upload-list.footer.button":"\u4E0A\u4F20 {number, plural, one {# \u4E2A\u7D20\u6750} other {# \u4E2A\u7D20\u6750}}\u5230\u5A92\u4F53\u5E93","modal.upload-list.sub-header-subtitle":"\u5728\u6DFB\u52A0\u5230\u5A92\u4F53\u5E93\u4E4B\u524D\uFF0C\u7BA1\u7406\u4F60\u7684\u7D20\u6750","modal.upload-list.sub-header.button":"\u6DFB\u52A0\u66F4\u591A\u7684\u7D20\u6750","page.title":"\u8BBE\u7F6E - \u5A92\u4F53\u5E93","plugin.description.long":"\u5A92\u4F53\u6587\u4EF6\u7BA1\u7406","plugin.description.short":"\u5A92\u4F53\u6587\u4EF6\u7BA1\u7406","plugin.name":"\u5A92\u4F53\u5E93","settings.section.doc.label":"\u6587\u6863","search.placeholder":"\u641C\u7D22\u7D20\u6750...","search.clear.label":"\u6E05\u9664\u641C\u7D22","search.label":"\u641C\u7D22\u8D44\u6E90","settings.blockTitle":"\u8D44\u6E90\u7BA1\u7406","settings.form.autoOrientation.description":"\u6839\u636EEXIF orientation\u6807\u7B7E\u81EA\u52A8\u65CB\u8F6C\u56FE\u50CF","settings.form.autoOrientation.label":"\u5F00\u59CB\u81EA\u52A8\u65CB\u8F6C\u529F\u80FD","settings.form.responsiveDimensions.description":"\u4E0A\u4F20\u7D20\u6750\u5C06\u4F1A\u81EA\u52A8\u751F\u6210\u5927\uFF0C\u4E2D\uFF0C\u5C0F\u4E09\u79CD\u5C3A\u5BF8","settings.form.responsiveDimensions.label":"\u542F\u52A8\u54CD\u5E94\u5F0F\u56FE\u7247\u4E0A\u4F20","settings.form.sizeOptimization.label":"\u5F00\u542F\u56FE\u7247\u5927\u5C0F\u4F18\u5316(\u65E0\u635F)","settings.form.sizeOptimization.description":"\u542F\u7528\u6B64\u9009\u9879\u5C06\u7F29\u5C0F\u56FE\u50CF\u5927\u5C0F\u5E76\u7565\u5FAE\u964D\u4F4E\u5176\u8D28\u91CF\u3002","settings.form.videoPreview.description":"\u81EA\u52A8\u751F\u62106\u79D2\u949F\u7684\u89C6\u9891\u9884\u89C8\uFF08GIF\uFF09","settings.form.videoPreview.label":"\u9884\u89C8","settings.header.label":"\u5A92\u4F53\u5E93 - \u8BBE\u7F6E","settings.section.image.label":"\u56FE\u7247","settings.section.video.label":"\u89C6\u9891","settings.sub-header.label":"\u5A92\u4F53\u5E93\u8BBE\u7F6E","sort.created_at_asc":"\u6700\u65E9\u4E0A\u4F20","sort.created_at_desc":"\u6700\u8FD1\u4E0A\u4F20","sort.label":"\u6392\u5E8F","sort.name_asc":"\u5B57\u6BCD\u987A\u5E8F (A to Z)","sort.name_desc":"\u5B57\u6BCD\u5012\u5E8F (Z to A)","sort.updated_at_asc":"\u6700\u65E9\u66F4\u65B0","sort.updated_at_desc":"\u6700\u8FD1\u66F4\u65B0","window.confirm.close-modal.file":"\u4F60\u786E\u5B9A\u5417\uFF1F\u4F60\u7684\u66F4\u6539\u5C06\u4F1A\u4E22\u5931","window.confirm.close-modal.files":"\u4F60\u786E\u5B9A\u5417\uFF1F\u4F60\u8FD8\u6709\u4E00\u4E9B\u6587\u4EF6\u8FD8\u6CA1\u6709\u88AB\u4E0A\u4F20","apiError.FileTooBig":"\u4E0A\u4F20\u7684\u6587\u4EF6\u8D85\u8FC7\u5141\u8BB8\u7684\u6700\u5927\u8D44\u6E90\u5927\u5C0F","upload.generic-error":"\u4E0A\u4F20\u6587\u4EF6\u65F6\u53D1\u751F\u9519\u8BEF","bulk.select.label":"\u9009\u62E9\u6240\u6709\u8D44\u6E90","content.isLoading":"\u5185\u5BB9\u6B63\u5728\u52A0\u8F7D\u4E2D","control-card.stop-crop":"\u505C\u6B62\u88C1\u526A","header.actions.add-assets.folder":"\u6587\u4EF6\u5939","header.actions.upload-new-asset":"\u4E0A\u4F20\u65B0\u8D44\u6E90","header.content.assets-empty":"\u65E0\u8D44\u6E90","input.label":"\u62D6\u62FD\u5230\u6B64\u5904\u6216","input.notification.not-supported":"\u60A8\u65E0\u6CD5\u4E0A\u4F20\u6B64\u7C7B\u578B\u7684\u6587\u4EF6\uFF0C\u4EC5\u63A5\u53D7\u4EE5\u4E0B\u7C7B\u578B - {fileTypes}","permissions.not-allowed.update":"\u60A8\u65E0\u6743\u7F16\u8F91\u6B64\u6587\u4EF6","tabs.title":"\u60A8\u5E0C\u671B\u5982\u4F55\u4E0A\u4F20\u60A8\u7684\u8D44\u6E90\uFF1F","config.title":"\u914D\u7F6E\u89C6\u56FE - \u5A92\u4F53\u5E93","config.back":"\u8FD4\u56DE","config.subtitle":"\u5B9A\u4E49\u5A92\u4F53\u5E93\u7684\u89C6\u56FE\u8BBE\u7F6E","config.entries.title":"\u6BCF\u9875\u6761\u76EE\u6570","config.sort.title":"\u9ED8\u8BA4\u6392\u5E8F\u987A\u5E8F","config.entries.note":"\u5A92\u4F53\u5E93\u4E2D\u9ED8\u8BA4\u663E\u793A\u7684\u8D44\u6E90\u6570\u91CF","config.note":"\u6CE8\u610F\uFF1A\u60A8\u53EF\u4EE5\u5728\u5A92\u4F53\u5E93\u4E2D\u8986\u76D6\u6B64\u503C","config.popUpWarning.warning.updateAllSettings":"\u8FD9\u5C06\u4FEE\u6539\u60A8\u7684\u6240\u6709\u8BBE\u7F6E","view-switch.list":"\u5217\u8868\u89C6\u56FE","view-switch.grid":"\u7F51\u683C\u89C6\u56FE"}')}}]);
@@ -0,0 +1,13 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3650],{84837:function(it,J,t){t.r(J),t.d(J,{default:function(){return we}});var e=t(32735),R=t(5141),A=t(5636),Ee=t(99357),g=t(13478),n=t(39161),Z=t(83292),X=t(33348),y=t(57269),he=t(86588),ve=t(61405),ye=t(91575),Ce=t(35468),Me=t(65790),Fe=t(25005),Be=t(89581),Se=t(60216),f=t.n(Se);const V=({pagination:s})=>e.createElement(n.Box,{paddingTop:6},e.createElement(n.Flex,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(g.PageSizeURLQuery,null),e.createElement(g.PaginationURLQuery,{pagination:s})));V.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},V.propTypes={pagination:f().shape({page:f().number,pageCount:f().number,pageSize:f().number,total:f().number})};var p=t(68781),Le=t(20069),Ae=t(81094);const Y=({selected:s,onSuccess:l})=>{const{formatMessage:r}=(0,A.useIntl)(),[i,c]=(0,e.useState)(!1),{isLoading:u,remove:h}=(0,Ae.K)(),E=async()=>{await h(s),l()};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"danger-light",size:"S",startIcon:e.createElement(y.Trash,null),onClick:()=>c(!0)},r({id:"global.delete",defaultMessage:"Delete"})),e.createElement(g.ConfirmDialog,{isConfirmButtonLoading:u,isOpen:i,onToggleDialog:()=>c(!1),onConfirm:E}))};Y.propTypes={selected:f().arrayOf(p.pw,p.nx).isRequired,onSuccess:f().func.isRequired};var be=t(83281),Ie=t(86834),Te=t.n(Ie),q=t(84968),x=t(74951),d=t(15503);const Re=()=>{const s=(0,g.useNotification)(),l=(0,q.useQueryClient)(),r=(0,d.IF)("actions/bulk-move"),{post:i}=(0,g.useFetchClient)(),c=({destinationFolderId:E,filesAndFolders:m})=>{const C=m.reduce((v,o)=>{const{id:b,type:B}=o,T=B==="asset"?"fileIds":"folderIds";return v[T]||(v[T]=[]),v[T].push(b),v},{});return i(r,{...C,destinationFolderId:E})},u=(0,q.useMutation)(c,{onSuccess(E){const{data:{data:m}}=E;m?.files?.length>0&&(l.refetchQueries([x.Z,"assets"],{active:!0}),l.refetchQueries([x.Z,"asset-count"],{active:!0})),l.refetchQueries([x.Z,"folders"],{active:!0}),s({type:"success",message:{id:(0,d.OB)("modal.move.success-label"),defaultMessage:"Elements have been moved successfully."}})}});return{...u,move:(E,m)=>u.mutateAsync({destinationFolderId:E,filesAndFolders:m})}};var xe=t(21375),De=t(72236);const $=({onClose:s,selected:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)(),{data:c,isLoading:u}=(0,De.v)(),{move:h}=Re();if(!c)return null;const E=async(v,{setErrors:o})=>{try{await h(v.destination.value,l),s()}catch(b){const T=(0,g.normalizeAPIError)(b).errors.reduce((O,S)=>(O[S.values?.path?.length||"destination"]=S.defaultMessage,O),{});Te()(T)||o(T)}},m=()=>{s()};if(u)return e.createElement(n.ModalLayout,{onClose:m,labelledBy:"title"},e.createElement(n.ModalBody,null,e.createElement(n.Flex,{justifyContent:"center",paddingTop:4,paddingBottom:4},e.createElement(n.Loader,null,i({id:(0,d.OB)("content.isLoading"),defaultMessage:"Content is loading."})))));const C={destination:{value:r?.id||"",label:r?.name||c[0].label}};return e.createElement(n.ModalLayout,{onClose:m,labelledBy:"title"},e.createElement(be.Formik,{validateOnChange:!1,onSubmit:E,initialValues:C},({values:v,errors:o,setFieldValue:b})=>e.createElement(g.Form,{noValidate:!0},e.createElement(n.ModalHeader,null,e.createElement(n.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},i({id:(0,d.OB)("modal.folder.move.title"),defaultMessage:"Move elements to"}))),e.createElement(n.ModalBody,null,e.createElement(n.Grid,{gap:4},e.createElement(n.GridItem,{xs:12,col:12},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(n.FieldLabel,{htmlFor:"folder-destination"},i({id:(0,d.OB)("form.input.label.folder-location"),defaultMessage:"Location"})),e.createElement(xe.Z,{options:c,onChange:B=>{b("destination",B)},defaultValue:v.destination,name:"destination",menuPortalTarget:document.querySelector("body"),inputId:"folder-destination",error:o?.destination,ariaErrorMessage:"destination-error"}),o.destination&&e.createElement(n.Typography,{variant:"pi",as:"p",id:"folder-destination-error",textColor:"danger600"},o.destination))))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:m,variant:"tertiary",name:"cancel"},i({id:"cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{type:"submit",loading:u},i({id:"modal.folder.move.submit",defaultMessage:"Move"}))}))))};$.defaultProps={currentFolder:void 0},$.propTypes={onClose:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.nx,p.pw).isRequired};const z=({selected:s,onSuccess:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)(),[c,u]=(0,e.useState)(!1),h=()=>{u(!1),l()};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"secondary",size:"S",startIcon:e.createElement(y.Folder,null),onClick:()=>u(!0)},i({id:"global.move",defaultMessage:"Move"})),c&&e.createElement($,{currentFolder:r,onClose:h,selected:s}))};z.defaultProps={currentFolder:void 0},z.propTypes={onSuccess:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.pw,p.nx).isRequired};const G=({selected:s,onSuccess:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)();return e.createElement(n.Flex,{gap:2,paddingBottom:5},e.createElement(n.Typography,{variant:"epsilon",textColor:"neutral600"},i({id:(0,Le.Z)("list.assets.selected"),defaultMessage:"{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected"},{numberFolders:s.filter(({type:c})=>c==="folder").length,numberAssets:s.filter(({type:c})=>c==="asset").length})),e.createElement(Y,{selected:s,onSuccess:l}),e.createElement(z,{currentFolder:r,selected:s,onSuccess:l}))};G.defaultProps={currentFolder:void 0},G.propTypes={onSuccess:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.pw,p.nx).isRequired};var Oe=t(1920);const Pe=({isFiltering:s,canCreate:l,canRead:r})=>s?{id:"list.assets-empty.title-withSearch",defaultMessage:"There are no elements with the applied filters"}:r?l?{id:"list.assets.empty-upload",defaultMessage:"Upload your first assets..."}:{id:"list.assets.empty",defaultMessage:"Media Library is empty"}:{id:"header.actions.no-permissions",defaultMessage:"No permissions to view"},_=({canCreate:s,isFiltering:l,canRead:r,onActionClick:i})=>{const{formatMessage:c}=(0,A.useIntl)(),u=Pe({isFiltering:l,canCreate:s,canRead:r});return e.createElement(Oe.i,{icon:r?null:y.EmptyPermissions,action:s&&!l&&e.createElement(n.Button,{variant:"secondary",startIcon:e.createElement(y.Plus,null),onClick:i},c({id:(0,d.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})),content:c({...u,id:(0,d.OB)(u.id)})})};_.propTypes={canCreate:f().bool.isRequired,canRead:f().bool.isRequired,isFiltering:f().bool.isRequired,onActionClick:f().func.isRequired};var D=t(47359),Ue=t(79996),Qe=t(90768),ee=t(90142);const ke=()=>{const s=(0,e.useRef)(null),[l,r]=(0,e.useState)(!1),{formatMessage:i}=(0,A.useIntl)(),{trackUsage:c}=(0,g.useTracking)(),[{query:u},h]=(0,g.useQueryParams)(),E=u?.filters?.$and||[],m=()=>r(o=>!o),C=o=>{h({filters:{$and:o},page:1})},v=o=>{c("didFilterMediaLibraryElements",{location:"content-manager",filter:Object.keys(o[o.length-1])[0]}),h({filters:{$and:o},page:1})};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"tertiary",ref:s,startIcon:e.createElement(y.Filter,null),onClick:m,size:"S"},i({id:"app.utils.filters",defaultMessage:"Filters"})),l&&e.createElement(Qe.Z,{displayedFilters:ee.Z,filters:E,onSubmit:v,onToggle:m,source:s}),e.createElement(Ue.Z,{appliedFilters:E,filtersSchema:ee.Z,onRemoveFilter:C}))};var Ze=t(17837);const W=({breadcrumbs:s,canCreate:l,folder:r,onToggleEditFolderDialog:i,onToggleUploadAssetDialog:c})=>{const{formatMessage:u}=(0,A.useIntl)(),{pathname:h}=(0,R.useLocation)(),[{query:E}]=(0,g.useQueryParams)(),m={...E,folder:r?.parent?.id??void 0};return e.createElement(n.HeaderLayout,{title:u({id:(0,d.OB)("plugin.name"),defaultMessage:"Media Library"}),subtitle:s&&r&&e.createElement(Ze.O,{as:"nav",label:u({id:(0,d.OB)("header.breadcrumbs.nav.label"),defaultMessage:"Folders navigation"}),breadcrumbs:s,currentFolderId:r?.id}),navigationAction:r&&e.createElement(n.Link,{startIcon:e.createElement(y.ArrowLeft,null),to:`${h}?${(0,X.stringify)(m,{encode:!1})}`},u({id:(0,d.OB)("header.actions.folder-level-up"),defaultMessage:"Back"})),primaryAction:l&&e.createElement(n.Flex,{gap:2},e.createElement(n.Button,{startIcon:e.createElement(y.Plus,null),variant:"secondary",onClick:i},u({id:(0,d.OB)("header.actions.add-folder"),defaultMessage:"Add new folder"})),e.createElement(n.Button,{startIcon:e.createElement(y.Plus,null),onClick:c},u({id:(0,d.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})))})};W.defaultProps={breadcrumbs:!1,folder:null},W.propTypes={breadcrumbs:f().oneOfType([p.Fv,f().bool]),canCreate:f().bool.isRequired,folder:p.nx,onToggleEditFolderDialog:f().func.isRequired,onToggleUploadAssetDialog:f().func.isRequired};var Ve=t(37293),$e=t(77935),ze=t(46891),Ge=t(36156),We=t(93826);const He=(0,Z.default)(n.Box)`
2
+ height: ${32/16}rem;
3
+ display: flex;
4
+ align-items: center;
5
+ `,te=(0,Z.default)(n.Typography)`
6
+ max-width: 100%;
7
+ `,ne=(0,Z.default)(n.Box)`
8
+ svg {
9
+ path {
10
+ fill: ${({theme:s})=>s.colors.neutral500};
11
+ }
12
+ }
13
+ `,Ne=()=>{const{push:s}=(0,R.useHistory)(),{canRead:l,canCreate:r,canUpdate:i,canCopyLink:c,canDownload:u,isLoading:h}=(0,ze.y)(),E=(0,e.useRef)(),{formatMessage:m}=(0,A.useIntl)(),{pathname:C}=(0,R.useLocation)(),{trackUsage:v}=(0,g.useTracking)(),[{query:o},b]=(0,g.useQueryParams)(),B=Boolean(o._q||o.filters),[T,O]=(0,g.usePersistentState)(p.uf.view,p.Uk.GRID),S=T===p.Uk.GRID,{data:L,isLoading:Je,errors:Xe}=(0,Ve.L)({skipWhen:!l,query:o}),{data:Ye,isLoading:qe,errors:_e}=(0,$e.j)({enabled:l&&L?.pagination?.page===1&&!(0,d.rV)(o),query:o}),{data:H,isLoading:ae,error:et}=(0,Ge.W)(o?.folder,{enabled:l&&!!o?.folder});et?.response?.status===404&&s(C);const P=Ye?.map(a=>({...a,type:"folder",folderURL:(0,d.Km)(C,o,a.id),isSelectable:i}))??[],M=P?.length||0,U=L?.results?.map(a=>({...a,type:"asset",isSelectable:i}))||[],F=U?.length??0,tt=L?.pagination?.total,se=ae||qe||h||Je,[nt,at]=(0,e.useState)(!1),[st,oe]=(0,e.useState)(!1),[le,N]=(0,e.useState)(void 0),[j,re]=(0,e.useState)(void 0),[I,{selectOne:Q,selectAll:ie}]=(0,g.useSelectionState)(["type","id"],[]),de=I?.length>0&&I?.length!==F+M,K=()=>at(a=>!a),ce=({created:a=!1}={})=>{a&&o?.page!=="1"&&b({...o,page:1}),oe(k=>!k)},ue=(a,k)=>{a.target.checked&&v("didSelectAllMediaLibraryElements"),ie(k)},me=a=>{v("didSortMediaLibraryElements",{location:"upload",sort:a}),b({sort:a})},ge=a=>{re(a),oe(!0)},ot=a=>{re(null),ce(a),E.current&&E.current.focus()},fe=a=>{a===F&&L.pagination.page===L.pagination.pageCount&&L.pagination.page>1&&b({...o,page:L.pagination.page-1})},lt=()=>{ie(),fe(I.length)};return(0,g.useFocusWhenNavigate)(),e.createElement(n.Layout,null,e.createElement(n.Main,{"aria-busy":se},e.createElement(W,{breadcrumbs:!ae&&(0,d.M4)(H,{pathname:C,query:o}),canCreate:r,onToggleEditFolderDialog:ce,onToggleUploadAssetDialog:K,folder:H}),e.createElement(n.ActionLayout,{startActions:e.createElement(e.Fragment,null,i&&S&&(F>0||M>0)&&e.createElement(He,{paddingLeft:2,paddingRight:2,background:"neutral0",hasRadius:!0,borderColor:"neutral200"},e.createElement(n.BaseCheckbox,{"aria-label":m({id:(0,d.OB)("bulk.select.label"),defaultMessage:"Select all folders & assets"}),indeterminate:de,value:(F>0||M>0)&&I.length===F+M,onChange:a=>ue(a,[...U,...P])})),l&&S&&e.createElement(Be.Z,{onChangeSort:me}),l&&e.createElement(ke,null)),endActions:e.createElement(e.Fragment,null,e.createElement(g.CheckPermissions,{permissions:We.Z.configureView},e.createElement(ne,{paddingTop:1,paddingBottom:1},e.createElement(n.IconButton,{forwardedAs:R.Link,to:{pathname:`${C}/configuration`,search:(0,X.stringify)(o,{encode:!1})},icon:e.createElement(y.Cog,null),label:m({id:"app.links.configure-view",defaultMessage:"Configure the view"})}))),e.createElement(ne,{paddingTop:1,paddingBottom:1},e.createElement(n.IconButton,{icon:S?e.createElement(y.List,null):e.createElement(y.Grid,null),label:m(S?{id:(0,d.OB)("view-switch.list"),defaultMessage:"List View"}:{id:(0,d.OB)("view-switch.grid"),defaultMessage:"Grid View"}),onClick:()=>O(S?p.Uk.LIST:p.Uk.GRID)})),e.createElement(g.SearchURLQuery,{label:m({id:(0,d.OB)("search.label"),defaultMessage:"Search for an asset"}),trackedEvent:"didSearchMediaLibraryElements",trackedEventDetails:{location:"upload"}}))}),e.createElement(n.ContentLayout,null,I.length>0&&e.createElement(G,{currentFolder:H,selected:I,onSuccess:lt}),se&&e.createElement(g.LoadingIndicatorPage,null),(Xe||_e)&&e.createElement(g.AnErrorOccurred,null),M===0&&F===0&&e.createElement(_,{canCreate:r,canRead:l,isFiltering:B,onActionClick:K}),l&&!S&&(F>0||M>0)&&e.createElement(Fe.b,{assetCount:F,folderCount:M,indeterminate:de,onChangeSort:me,onChangeFolder:a=>s((0,d.Km)(C,o,a)),onEditAsset:N,onEditFolder:ge,onSelectOne:Q,onSelectAll:ue,rows:[...P,...U],selected:I,shouldDisableBulkSelect:!i,sortQuery:o?.sort??""}),l&&S&&e.createElement(e.Fragment,null,M>0&&e.createElement(Me.a,{title:(B&&F>0||!B)&&m({id:(0,d.OB)("list.folders.title"),defaultMessage:"Folders ({count})"},{count:M})||""},P.map(a=>{const rt=!!I.filter(({type:w})=>w==="folder").find(w=>w.id===a.id),pe=(0,d.Km)(C,o,a?.id);return e.createElement(n.GridItem,{col:3,key:`folder-${a.id}`},e.createElement(D.Ac,{ref:j&&a.id===j.id?E:void 0,ariaLabel:a.name,id:`folder-${a.id}`,to:pe,startAction:Q&&a.isSelectable?e.createElement(D.MM,{"data-testid":`folder-checkbox-${a.id}`,value:rt,onChange:()=>Q(a)}):null,cardActions:e.createElement(n.IconButton,{icon:e.createElement(y.Pencil,null),"aria-label":m({id:(0,d.OB)("list.folder.edit"),defaultMessage:"Edit folder"}),onClick:()=>ge(a)})},e.createElement(D.Bu,null,e.createElement(D.u6,{to:pe},e.createElement(n.Flex,{as:"h2",direction:"column",alignItems:"start",maxWidth:"100%"},e.createElement(te,{fontWeight:"semiBold",ellipsis:!0},a.name,e.createElement(n.VisuallyHidden,null,":")),e.createElement(te,{as:"span",textColor:"neutral600",variant:"pi",ellipsis:!0},m({id:(0,d.OB)("list.folder.subtitle"),defaultMessage:"{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}"},{folderCount:a.children.count,filesCount:a.files.count})))))))})),F>0&&M>0&&e.createElement(n.Box,{paddingTop:6,paddingBottom:4},e.createElement(n.Divider,null)),F>0&&e.createElement(Ce.r,{assets:U,onEditAsset:N,onSelectAsset:Q,selectedAssets:I.filter(({type:a})=>a==="asset"),title:(!B||B&&M>0)&&L?.pagination?.page===1&&m({id:(0,d.OB)("list.assets.title"),defaultMessage:"Assets ({count})"},{count:tt})||""})),L?.pagination&&e.createElement(V,{pagination:L.pagination}))),nt&&e.createElement(he.x,{onClose:K,trackedLocation:"upload",folderId:o?.folder}),st&&e.createElement(ve.f,{onClose:ot,folder:j,parentFolderId:o?.folder,location:"upload"}),le&&e.createElement(ye.s,{onClose:a=>{a===null&&fe(1),N(void 0)},asset:le,canUpdate:i,canCopyLink:c,canDownload:u,trackedLocation:"upload"}))};var je=t(68715);const Ke=(0,e.lazy)(()=>t.e(9514).then(t.bind(t,1372)));var we=()=>{const{config:{isLoading:s,isError:l,data:r}}=(0,je.Z)(),[{rawQuery:i},c]=(0,g.useQueryParams)(),{formatMessage:u}=(0,A.useIntl)(),h=u({id:(0,d.OB)("plugin.name"),defaultMessage:"Media Library"});return(0,e.useEffect)(()=>{s||l||i||c({sort:r.sort,page:1,pageSize:r.pageSize})},[s,l,r,i,c]),(0,g.useFocusWhenNavigate)(),e.createElement(n.Main,{"aria-busy":s},e.createElement(Ee.Helmet,{title:h}),s&&e.createElement(g.LoadingIndicatorPage,null),i?e.createElement(e.Suspense,{fallback:e.createElement(g.LoadingIndicatorPage,null)},e.createElement(R.Switch,null,e.createElement(R.Route,{exact:!0,path:`/plugins/${x.Z}`,component:Ne}),e.createElement(R.Route,{exact:!0,path:`/plugins/${x.Z}/configuration`,render:()=>e.createElement(Ke,{config:r})}))):null)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(L,f,a){a.r(f),a.d(f,{default:function(){return P}});var t=a(32735),c=a(84968),b=a(5636),y=a(83281),i=a(13478),n=a(39161),S=a(57269),p=a(88369),e=a(59677),h=[{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email"),defaultMessage:"Disallow the user to create multiple accounts using the same email address with different authentication providers."},name:"unique_email",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,e.OB)("EditForm.inputToggle.description.sign-up"),defaultMessage:"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."},name:"allow_register",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-reset-password"),defaultMessage:"ex: https://youtfrontend.com/reset-password"},name:"email_reset_password",type:"text",size:{col:6,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation"),defaultMessage:"When enabled (ON), new registered users receive a confirmation email."},name:"email_confirmation",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-confirmation-redirection"),defaultMessage:"ex: https://youtfrontend.com/email-confirmation"},name:"email_confirmation_redirection",type:"text",size:{col:6,xs:12}}],r=a(5173);const u=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var m=r.Ry().shape({email_confirmation_redirection:r.nK().when("email_confirmation",{is:!0,then:r.Z_().matches(u).required(),otherwise:r.Z_().nullable()}),email_reset_password:r.Z_(i.translatedErrors.string).matches(u,i.translatedErrors.regex).nullable()});const T=async()=>{const{get:s}=(0,i.getFetchClient)(),{data:l}=await s((0,e.Gc)("advanced"));return l},R=s=>{const{put:l}=(0,i.getFetchClient)();return l((0,e.Gc)("advanced"),s)},w=()=>t.createElement(i.CheckPagePermissions,{permissions:p.Z.readAdvancedSettings},t.createElement(C,null)),C=()=>{const{formatMessage:s}=(0,b.useIntl)(),l=(0,i.useNotification)(),{lockApp:x,unlockApp:M}=(0,i.useOverlayBlocker)(),{notifyStatus:N}=(0,n.useNotifyAT)(),I=(0,c.useQueryClient)();(0,i.useFocusWhenNavigate)();const z=(0,t.useMemo)(()=>({update:p.Z.updateAdvancedSettings}),[]),{isLoading:G,allowedActions:{canUpdate:Z}}=(0,i.useRBAC)(z),{status:H,data:B}=(0,c.useQuery)("advanced",()=>T(),{onSuccess(){N(s({id:(0,e.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}})}}),U=G||H!=="success",F=(0,c.useMutation)(d=>R(d),{async onSuccess(){await I.invalidateQueries("advanced"),l({type:"success",message:{id:(0,e.OB)("notification.success.saved"),defaultMessage:"Saved"}}),M()},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}}),M()},refetchActive:!0}),{isLoading:k}=F,D=async d=>{x();const g=d.email_confirmation?d.email_confirmation_redirection:"";await F.mutateAsync({...d,email_confirmation_redirection:g})};return U?t.createElement(n.Main,{"aria-busy":"true"},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.ContentLayout,null,t.createElement(i.LoadingIndicatorPage,null))):t.createElement(n.Main,{"aria-busy":k},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(y.Formik,{onSubmit:D,initialValues:B.settings,validateOnChange:!1,validationSchema:m,enableReinitialize:!0},({errors:d,values:g,handleChange:A,isSubmitting:Q})=>t.createElement(i.Form,null,t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:t.createElement(n.Button,{loading:Q,type:"submit",disabled:!Z,startIcon:t.createElement(S.Check,null),size:"S"},s({id:"global.save",defaultMessage:"Save"}))}),t.createElement(n.ContentLayout,null,t.createElement(n.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(n.Typography,{variant:"delta",as:"h2"},s({id:"global.settings",defaultMessage:"Settings"})),t.createElement(n.Grid,{gap:6},t.createElement(n.GridItem,{col:6,s:12},t.createElement(n.Select,{label:s({id:(0,e.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:g.default_role,hint:s({id:(0,e.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:o=>A({target:{name:"default_role",value:o}})},B.roles.map(o=>t.createElement(n.Option,{key:o.type,value:o.type},o.name)))),h.map(o=>{let O=g[o.name];return O||(O=o.type==="bool"?!1:""),t.createElement(n.GridItem,{key:o.name,...o.size},t.createElement(i.GenericInput,{...o,value:O,error:d[o.name],disabled:o.name==="email_confirmation_redirection"&&g.email_confirmation===!1,onChange:A}))}))))))))};var P=w},59677:function(L,f,a){a.d(f,{YX:function(){return y},Gc:function(){return S},OB:function(){return p.Z}});var t=a(86834),c=a.n(t),y=e=>Object.keys(e).reduce((v,h)=>{const r=e[h].controllers,u=Object.keys(r).reduce((E,m)=>(c()(r[m])||(E[m]=r[m]),E),{});return c()(u)||(v[h]={controllers:u}),v},{}),i=a(90201),S=e=>`/${i.Z}/${e}`,p=a(82069)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(U,v,n){n.r(v),n.d(v,{default:function(){return H}});var e=n(32735),f=n(84968),B=n(5636),a=n(13478),t=n(39161),O=n(88369),l=n(59677);const C=async()=>{const{get:s}=(0,a.getFetchClient)(),{data:o}=await s((0,l.Gc)("email-templates"));return o},y=s=>{const{put:o}=(0,a.getFetchClient)();return o((0,l.Gc)("email-templates"),s)};var T=n(60216),i=n.n(T),c=n(57269);const M=({canUpdate:s,onEditClick:o})=>{const{formatMessage:r}=(0,B.useIntl)();return e.createElement(t.Table,{colCount:3,rowCount:3},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},r({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(t.Tbody,null,e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("reset_password")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Refresh,{"aria-label":r({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("reset_password"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)}))),e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("email_confirmation")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Check,{"aria-label":r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("email_confirmation"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)})))))};M.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};var b=M,h=n(83281),u=n(5173),G=u.Ry().shape({options:u.Ry().shape({from:u.Ry().shape({name:u.Z_().required(a.translatedErrors.required),email:u.Z_().email(a.translatedErrors.email).required(a.translatedErrors.required)}).required(),response_email:u.Z_().email(a.translatedErrors.email),object:u.Z_().required(a.translatedErrors.required),message:u.Z_().required(a.translatedErrors.required)}).required(a.translatedErrors.required)});const F=({template:s,onToggle:o,onSubmit:r})=>{const{formatMessage:m}=(0,B.useIntl)();return e.createElement(t.ModalLayout,{onClose:o,labelledBy:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.ModalHeader,null,e.createElement(t.Breadcrumbs,{label:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.Crumb,null,m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(t.Crumb,null,m({id:(0,l.OB)(s.display),defaultMessage:s.display})))),e.createElement(h.Formik,{onSubmit:r,initialValues:s,validateOnChange:!1,validationSchema:G,enableReinitialize:!0},({errors:d,values:p,handleChange:E,isSubmitting:P})=>e.createElement(a.Form,null,e.createElement(t.ModalBody,null,e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:d?.options?.from?.name,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:d?.options?.from?.email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:d?.options?.response_email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:d?.options?.object,type:"text"})),e.createElement(t.GridItem,{col:12,s:12},e.createElement(t.Textarea,{label:m({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:d?.options?.message&&m({id:d.options.message,defaultMessage:d.options.message})})))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{onClick:o,variant:"tertiary"},"Cancel"),endActions:e.createElement(t.Button,{loading:P,type:"submit"},"Finish")}))))};F.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};var A=F;const j=()=>e.createElement(a.CheckPagePermissions,{permissions:O.Z.readEmailTemplates},e.createElement(k,null)),k=()=>{const{formatMessage:s}=(0,B.useIntl)(),{trackUsage:o}=(0,a.useTracking)(),{notifyStatus:r}=(0,t.useNotifyAT)(),m=(0,a.useNotification)(),{lockApp:d,unlockApp:p}=(0,a.useOverlayBlocker)(),E=(0,e.useRef)(o),P=(0,f.useQueryClient)();(0,a.useFocusWhenNavigate)();const[Z,N]=(0,e.useState)(!1),[I,$]=(0,e.useState)(null),x=(0,e.useMemo)(()=>({update:O.Z.updateEmailTemplates}),[]),{isLoading:q,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(x),{status:Q,data:L}=(0,f.useQuery)("email-templates",()=>C(),{onSuccess(){r(s({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),V=q||Q!=="success",R=()=>{N(g=>!g)},D=g=>{$(g),R()},S=(0,f.useMutation)(g=>y({"email-templates":g}),{async onSuccess(){await P.invalidateQueries("email-templates"),m({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),R()},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:z}=S,W=g=>{d(),E.current("willEditEmailTemplates");const X={...L,[I]:g};S.mutate(X)};return V?e.createElement(t.Main,{"aria-busy":"true"},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(a.LoadingIndicatorPage,null))):e.createElement(t.Main,{"aria-busy":z},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(b,{onEditClick:D,canUpdate:w}),Z&&e.createElement(A,{template:L[I],onToggle:R,onSubmit:W})))};var H=j},59677:function(U,v,n){n.d(v,{YX:function(){return a},Gc:function(){return l},OB:function(){return C.Z}});var e=n(86834),f=n.n(e),a=y=>Object.keys(y).reduce((T,i)=>{const c=y[i].controllers,M=Object.keys(c).reduce((b,h)=>(f()(c[h])||(b[h]=c[h]),b),{});return f()(M)||(T[i]={controllers:M}),T},{}),t=n(90201),l=y=>`/${t.Z}/${y}`,C=n(82069)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2742],{52343:function(e){e.exports=JSON.parse('{"BoundRoute.title":"\u7ED1\u5B9A\u8DEF\u7531\u5230","EditForm.inputSelect.description.role":"\u65B0\u9A8C\u8BC1\u8EAB\u4EFD\u7684\u7528\u6237\u5C06\u88AB\u8D4B\u4E88\u6240\u9009\u89D2\u8272\u3002","EditForm.inputSelect.label.role":"\u8BA4\u8BC1\u7528\u6237\u7684\u9ED8\u8BA4\u89D2\u8272","EditForm.inputToggle.description.email":"\u4E0D\u5141\u8BB8\u7528\u6237\u4F7F\u7528\u4E0D\u540C\u7684\u8BA4\u8BC1\u63D0\u4F9B\u8005\uFF08\u7ED1\u5B9A\u7684\u76F8\u540C\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\uFF09\u6765\u521B\u5EFA\u591A\u4E2A\u5E10\u6237\u3002","EditForm.inputToggle.description.email-confirmation":"\u542F\u7528\uFF08ON\uFF09\u540E\uFF0C\u65B0\u6CE8\u518C\u7684\u7528\u6237\u4F1A\u6536\u5230\u4E00\u5C01\u786E\u8BA4\u7535\u5B50\u90AE\u4EF6\u3002","EditForm.inputToggle.description.email-confirmation-redirection":"\u786E\u8BA4\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u540E\uFF0C\u9009\u62E9\u5C06\u60A8\u91CD\u5B9A\u5411\u5230\u7684\u4F4D\u7F6E\u3002","EditForm.inputToggle.description.email-reset-password":"\u5E94\u7528\u7A0B\u5E8F\u7684\u91CD\u7F6E\u5BC6\u7801\u9875\u9762\u7684 URL","EditForm.inputToggle.description.sign-up":"\u5F53\u7981\u7528\uFF08OFF\uFF09\u65F6\uFF0C\u6CE8\u518C\u8FC7\u7A0B\u5C06\u88AB\u7981\u6B62\u3002\u4EFB\u4F55\u4EBA\u65E0\u8BBA\u4F7F\u7528\u4EFB\u4F55\u7684\u4F9B\u5E94\u5546\u90FD\u4E0D\u53EF\u4EE5\u8BA2\u9605\u3002","EditForm.inputToggle.label.email":"\u6BCF\u4E2A\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u4E00\u4E2A\u5E10\u6237","EditForm.inputToggle.label.email-confirmation":"\u542F\u7528\u7535\u5B50\u90AE\u4EF6\u786E\u8BA4","EditForm.inputToggle.label.email-confirmation-redirection":"\u91CD\u5B9A\u5411 URL","EditForm.inputToggle.label.email-reset-password":"\u91CD\u7F6E\u5BC6\u7801\u9875\u9762 URL","EditForm.inputToggle.label.sign-up":"\u542F\u7528\u6CE8\u518C","EditForm.inputToggle.placeholder.email-confirmation-redirection":"\u4F8B\u5982: https://yourfrontend.com/reset-password","EditForm.inputToggle.placeholder.email-reset-password":"\u4F8B\u5982: https://yourfrontend.com/reset-password","EditPage.form.roles":"\u89D2\u8272\u8BE6\u60C5","Email.template.data.loaded":"\u7535\u5B50\u90AE\u4EF6\u6A21\u677F\u5DF2\u52A0\u8F7D","Email.template.email_confirmation":"\u90AE\u7BB1\u5730\u5740\u786E\u8BA4","Email.template.form.edit.label":"\u7F16\u8F91\u6A21\u677F","Email.template.table.action.label":"\u64CD\u4F5C","Email.template.table.icon.label":"\u56FE\u6807","Email.template.table.name.label":"\u540D\u79F0","Form.advancedSettings.data.loaded":"\u9AD8\u7EA7\u8BBE\u7F6E\u6570\u636E\u5DF2\u52A0\u8F7D","HeaderNav.link.advancedSettings":"\u9AD8\u7EA7\u8BBE\u7F6E","HeaderNav.link.emailTemplates":"\u7535\u5B50\u90AE\u4EF6\u6A21\u677F","HeaderNav.link.providers":"\u63D0\u4F9B\u8005","Plugin.permissions.plugins.description":"\u5B9A\u4E49 {name} \u63D2\u4EF6\u6240\u6709\u5141\u8BB8\u7684\u64CD\u4F5C\u3002","Plugins.header.description":"\u4E0B\u9762\u53EA\u5217\u51FA\u8DEF\u7531\u7ED1\u5B9A\u7684\u64CD\u4F5C\u3002","Plugins.header.title":"\u6743\u9650","Policies.header.hint":"\u9009\u62E9\u5E94\u7528\u7A0B\u5E8F\u6216\u63D2\u4EF6\u7684\u64CD\u4F5C\uFF0C\u7136\u540E\u70B9\u51FB COG \u56FE\u6807\u663E\u793A\u7ED1\u5B9A\u7684\u8DEF\u7531","Policies.header.title":"\u9AD8\u7EA7\u8BBE\u7F6E","PopUpForm.Email.email_templates.inputDescription":"\u5982\u679C\u4F60\u4E0D\u786E\u5B9A\u5982\u4F55\u4F7F\u7528\u53D8\u91CF\uFF0C {link}","PopUpForm.Email.link.documentation":"\u67E5\u770B\u6211\u4EEC\u7684\u6587\u6863","PopUpForm.Email.options.from.email.label":"\u53D1\u4EF6\u4EBA\u5730\u5740","PopUpForm.Email.options.from.email.placeholder":"kai@doe.com","PopUpForm.Email.options.from.name.label":"\u53D1\u4EF6\u4EBA\u540D\u79F0","PopUpForm.Email.options.from.name.placeholder":"Kai Doe","PopUpForm.Email.options.message.label":"\u6D88\u606F","PopUpForm.Email.options.object.label":"\u4E3B\u9898","PopUpForm.Email.options.object.placeholder":"\u8BF7\u4E3A%APP_NAME%\u786E\u8BA4\u90AE\u7BB1\u5730\u5740","PopUpForm.Email.options.response_email.label":"\u56DE\u590D\u90AE\u4EF6","PopUpForm.Email.options.response_email.placeholder":"kai@doe.com","PopUpForm.Providers.enabled.description":"\u5982\u679C\u7981\u7528\uFF0C\u7528\u6237\u5C06\u65E0\u6CD5\u4F7F\u7528\u6B64\u4F9B\u5E94\u5546\u3002","PopUpForm.Providers.enabled.label":"\u542F\u7528","PopUpForm.Providers.key.label":"\u5BA2\u6237\u7AEF ID","PopUpForm.Providers.key.placeholder":"\u6587\u672C","PopUpForm.Providers.redirectURL.front-end.label":"\u91CD\u5B9A\u5411 URL","PopUpForm.Providers.redirectURL.label":"\u6DFB\u52A0\u5230{provider}\u5E94\u7528\u914D\u7F6E\u7684\u8DF3\u8F6CURL","PopUpForm.Providers.secret.label":"\u5BA2\u6237\u7AEF\u79D8\u94A5","PopUpForm.Providers.secret.placeholder":"\u6587\u672C","PopUpForm.Providers.subdomain.label":"\u4E3B\u673AURI\uFF08\u5B50\u57DF\u540D\uFF09","PopUpForm.Providers.subdomain.placeholder":"my.subdomain.com","PopUpForm.header.edit.email-templates":"\u7F16\u8F91\u7535\u5B50\u90AE\u4EF6\u6A21\u7248","PopUpForm.header.edit.providers":"\u7F16\u8F91\u63D0\u4F9B\u5546","Providers.data.loaded":"\u63D0\u4F9B\u5546\u5DF2\u52A0\u8F7D","Providers.status":"\u72B6\u6001","Roles.empty":"\u60A8\u8FD8\u6CA1\u6709\u4EFB\u4F55\u89D2\u8272\u3002","Roles.empty.search":"\u6CA1\u6709\u4E0E\u641C\u7D22\u76F8\u5339\u914D\u7684\u89D2\u8272\u3002","Settings.roles.deleted":"\u89D2\u8272\u5DF2\u88AB\u5220\u9664","Settings.roles.edited":"\u89D2\u8272\u7F16\u8F91\u5B8C\u6210","Settings.section-label":"\u7528\u6237\u53CA\u6743\u9650\u63D2\u4EF6","components.Input.error.validation.email":"\u8FD9\u662F\u4E00\u4E2A\u65E0\u6548\u7684\u7535\u5B50\u90AE\u4EF6","components.Input.error.validation.json":"\u8FD9\u4E0D\u7B26\u5408JSON\u683C\u5F0F","components.Input.error.validation.max":"\u503C\u8FC7\u9AD8\u3002","components.Input.error.validation.maxLength":"\u503C\u8FC7\u957F\u3002","components.Input.error.validation.min":"\u503C\u592A\u4F4E\u3002","components.Input.error.validation.minLength":"\u503C\u592A\u77ED\u3002","components.Input.error.validation.minSupMax":"\u4E0D\u80FD\u8D85\u8FC7\u4E0A\u9650","components.Input.error.validation.regex":"\u8BE5\u503C\u4E0D\u7B26\u5408\u6B63\u5219\u8868\u8FBE\u5F0F\u3002","components.Input.error.validation.required":"\u8BE5\u503C\u4E3A\u5FC5\u586B\u9879\u3002","components.Input.error.validation.unique":"\u8BE5\u503C\u5DF2\u88AB\u4F7F\u7528\u3002","notification.success.submit":"\u8BBE\u7F6E\u5DF2\u88AB\u66F4\u65B0","page.title":"\u8BBE\u7F6E - \u89D2\u8272","plugin.description.long":"\u4F7F\u7528\u57FA\u4E8E JWT \u7684\u5B8C\u6574\u8EAB\u4EFD\u9A8C\u8BC1\u8FC7\u7A0B\u6765\u4FDD\u62A4 API\u3002\u8FD9\u4E2A\u63D2\u4EF6\u8FD8\u6709\u4E00\u4E2A ACL \u7B56\u7565\uFF0C\u5141\u8BB8\u4F60\u7BA1\u7406\u7528\u6237\u7EC4\u4E4B\u95F4\u7684\u6743\u9650\u3002","plugin.description.short":"\u4F7F\u7528\u57FA\u4E8E JWT \u7684\u5B8C\u6574\u8EAB\u4EFD\u9A8C\u8BC1\u8FC7\u7A0B\u4FDD\u62A4 API","plugin.name":"\u89D2\u8272\u53CA\u6743\u9650","popUpWarning.button.cancel":"\u53D6\u6D88","popUpWarning.button.confirm":"\u786E\u8BA4","popUpWarning.title":"\u8BF7\u786E\u8BA4","popUpWarning.warning.cancel":"\u4F60\u786E\u5B9A\u4F60\u8981\u53D6\u6D88\u4F60\u7684\u4FEE\u6539\uFF1F"}')}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(f,P,t){"use strict";t.r(P),t.d(P,{ProvidersPage:function(){return K},default:function(){return le}});var e=t(32735),d=t(5636),a=t(13478),l=t(23973),u=t.n(l),m=t(23940),o=t.n(m),r=t(39161),p=t(57269),b=t(84968),n=t(5173),s=t(59677);const U={id:(0,s.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},F={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},C={id:(0,s.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},y={id:(0,s.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Z={id:(0,s.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},D={id:(0,s.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},k={id:(0,s.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},z={id:(0,s.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,s.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:k,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,s.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,s.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),subdomain:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})}};const _=async c=>{try{const{get:v}=(0,a.getFetchClient)(),{data:M}=await v((0,s.Gc)("providers"));return M}catch{throw c({type:"warning",message:{id:"notification.error"}}),new Error("error")}},ee=c=>{const{put:v}=(0,a.getFetchClient)();return v((0,s.Gc)("providers"),c)};var te=t(98978),re=t.n(te),ae=c=>re()(Object.keys(c).reduce((v,M)=>{const{icon:T,enabled:E,subdomain:O}=c[M],L=T==="envelope"?["fas","envelope"]:["fab",T];return O!==void 0?v.push({name:M,icon:L,enabled:E,subdomain:O}):v.push({name:M,icon:L,enabled:E}),v},[]),"name"),J=t(88369),ne=t(60216),i=t.n(ne),se=t(83281);const H=({description:c,disabled:v,intlLabel:M,error:T,name:E,onChange:O,placeholder:L,providerToEditName:S,type:R,value:g})=>{const{formatMessage:B}=(0,d.useIntl)(),A=E==="noName"?`${strapi.backendURL}/api/connect/${S}/callback`:g,q=B({id:M.id,defaultMessage:M.defaultMessage},{provider:S,...M.values}),x=c?B({id:c.id,defaultMessage:c.defaultMessage},{provider:S,...c.values}):"";if(R==="bool")return e.createElement(r.ToggleInput,{"aria-label":E,checked:g,disabled:v,hint:x,label:q,name:E,offLabel:B({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:B({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:w=>{O({target:{name:E,value:w.target.checked}})}});const X=L?B({id:L.id,defaultMessage:L.defaultMessage},{...L.values}):"",$=T?B({id:T,defaultMessage:T}):"";return e.createElement(r.TextInput,{"aria-label":E,disabled:v,error:$,label:q,name:E,onChange:O,placeholder:X,type:R,value:A})};H.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},H.propTypes={description:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),disabled:i().bool,error:i().string,intlLabel:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}).isRequired,name:i().string.isRequired,onChange:i().func.isRequired,placeholder:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),providerToEditName:i().string.isRequired,type:i().string.isRequired,value:i().oneOfType([i().bool,i().string])};var ie=H;const W=({headerBreadcrumbs:c,initialData:v,isSubmiting:M,layout:T,isOpen:E,onSubmit:O,onToggle:L,providerToEditName:S})=>{const{formatMessage:R}=(0,d.useIntl)();return E?e.createElement(r.ModalLayout,{onClose:L,labelledBy:"title"},e.createElement(r.ModalHeader,null,e.createElement(r.Breadcrumbs,{label:c.join(", ")},c.map(g=>e.createElement(r.Crumb,{key:g},g)))),e.createElement(se.Formik,{onSubmit:g=>O(g),initialValues:v,validationSchema:T.schema,validateOnChange:!1},({errors:g,handleChange:B,values:A})=>e.createElement(a.Form,null,e.createElement(r.ModalBody,null,e.createElement(r.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(r.Grid,{gap:5},T.form.map(q=>q.map(x=>e.createElement(r.GridItem,{key:x.name,col:x.size,xs:12},e.createElement(ie,{...x,error:g[x.name],onChange:B,value:A[x.name],providerToEditName:S}))))))),e.createElement(r.ModalFooter,{startActions:e.createElement(r.Button,{variant:"tertiary",onClick:L,type:"button"},R({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(r.Button,{type:"submit",loading:M},R({id:"global.save",defaultMessage:"Save"}))})))):null};W.defaultProps={initialData:null,providerToEditName:null},W.propTypes={headerBreadcrumbs:i().arrayOf(i().string).isRequired,initialData:i().object,layout:i().shape({form:i().arrayOf(i().array),schema:i().object}).isRequired,isOpen:i().bool.isRequired,isSubmiting:i().bool.isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired,providerToEditName:i().string};var oe=W;const K=()=>{const{formatMessage:c}=(0,d.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:v}=(0,r.useNotifyAT)(),M=(0,b.useQueryClient)(),{trackUsage:T}=(0,a.useTracking)(),E=(0,e.useRef)(T),[O,L]=(0,e.useState)(!1),[S,R]=(0,e.useState)(!1),[g,B]=(0,e.useState)(null),A=(0,a.useNotification)(),{lockApp:q,unlockApp:x}=(0,a.useOverlayBlocker)(),X=(0,e.useMemo)(()=>({update:J.Z.updateProviders}),[]),{isLoading:$,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(X),{isLoading:de,data:j,isFetching:ue}=(0,b.useQuery)("get-providers",()=>_(A),{onSuccess(){v(c({id:(0,s.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),ce=de||ue,me=(0,b.useMutation)(ee,{async onSuccess(){await M.invalidateQueries("get-providers"),A({type:"info",message:{id:(0,s.OB)("notification.success.submit")}}),E.current("didEditAuthenticationProvider"),R(!1),Q(),x()},onError(){A({type:"warning",message:{id:"notification.error"}}),x(),R(!1)},refetchActive:!1}),N=(0,e.useMemo)(()=>ae(j),[j]),pe=N.length,Y=(0,e.useMemo)(()=>{if(!g)return!1;const h=N.find(V=>V.name===g);return u()(h,"subdomain")},[N,g]),ge=c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),fe=(0,e.useMemo)(()=>g==="email"?G.email:Y?G.providersWithSubdomain:G.providers,[g,Y]),Q=()=>{L(h=>!h)},I=h=>{w&&(B(h.name),Q())},be=async h=>{R(!0),q(),E.current("willEditAuthenticationProvider");const V={...j,[g]:h};me.mutate({providers:V})};return e.createElement(r.Layout,null,e.createElement(a.SettingsPageTitle,{name:ge}),e.createElement(r.Main,null,e.createElement(r.HeaderLayout,{title:c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),ce||$?e.createElement(a.LoadingIndicatorPage,null):e.createElement(r.ContentLayout,null,e.createElement(r.Table,{colCount:3,rowCount:pe+1},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:"global.name",defaultMessage:"Name"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:(0,s.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma"},e.createElement(r.VisuallyHidden,null,c({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(r.Tbody,null,N.map(h=>e.createElement(r.Tr,{key:h.name,...(0,a.onRowClick)({fn:()=>I(h),condition:w})},e.createElement(r.Td,{width:"45%"},e.createElement(r.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),e.createElement(r.Td,{width:"65%"},e.createElement(r.Typography,{textColor:h.enabled?"success600":"danger600","data-testid":`enable-${h.name}`},h.enabled?c({id:"global.enabled",defaultMessage:"Enabled"}):c({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(r.Td,{...a.stopPropagation},w&&e.createElement(r.IconButton,{onClick:()=>I(h),noBorder:!0,icon:e.createElement(p.Pencil,null),label:"Edit"})))))))),e.createElement(oe,{initialData:j[g],isOpen:O,isSubmiting:S,layout:fe,headerBreadcrumbs:[c({id:(0,s.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),o()(g)],onToggle:Q,onSubmit:be,providerToEditName:g}))};var le=()=>e.createElement(a.CheckPagePermissions,{permissions:J.Z.readProviders},e.createElement(K,null))},59677:function(f,P,t){"use strict";t.d(P,{YX:function(){return l},Gc:function(){return o},OB:function(){return r.Z}});var e=t(86834),d=t.n(e),l=p=>Object.keys(p).reduce((b,n)=>{const s=p[n].controllers,U=Object.keys(s).reduce((F,C)=>(d()(s[C])||(F[C]=s[C]),F),{});return d()(U)||(b[n]={controllers:U}),b},{}),u=t(90201),o=p=>`/${u.Z}/${p}`,r=t(82069)},56671:function(f,P,t){var e=t(35897),d=t(74741),a=d(e);f.exports=a},52920:function(f,P,t){var e=t(56671),d=t(81580);function a(l,u){var m=-1,o=d(l)?Array(l.length):[];return e(l,function(r,p,b){o[++m]=u(r,p,b)}),o}f.exports=a},50690:function(f,P,t){var e=t(26460),d=t(80166),a=t(88904),l=t(52920),u=t(36024),m=t(76535),o=t(1397),r=t(15362),p=t(77236);function b(n,s,U){s.length?s=e(s,function(y){return p(y)?function(Z){return d(Z,y.length===1?y[0]:y)}:y}):s=[r];var F=-1;s=e(s,m(a));var C=l(n,function(y,Z,D){var k=e(s,function(z){return z(y)});return{criteria:k,index:++F,value:y}});return u(C,function(y,Z){return o(y,Z,U)})}f.exports=b},36024:function(f){function P(t,e){var d=t.length;for(t.sort(e);d--;)t[d]=t[d].value;return t}f.exports=P},40709:function(f,P,t){var e=t(22945);function d(a,l){if(a!==l){var u=a!==void 0,m=a===null,o=a===a,r=e(a),p=l!==void 0,b=l===null,n=l===l,s=e(l);if(!b&&!s&&!r&&a>l||r&&p&&n&&!b&&!s||m&&p&&n||!u&&n||!o)return 1;if(!m&&!r&&!s&&a<l||s&&u&&o&&!m&&!r||b&&u&&o||!p&&o||!n)return-1}return 0}f.exports=d},1397:function(f,P,t){var e=t(40709);function d(a,l,u){for(var m=-1,o=a.criteria,r=l.criteria,p=o.length,b=u.length;++m<p;){var n=e(o[m],r[m]);if(n){if(m>=b)return n;var s=u[m];return n*(s=="desc"?-1:1)}}return a.index-l.index}f.exports=d},74741:function(f,P,t){var e=t(81580);function d(a,l){return function(u,m){if(u==null)return u;if(!e(u))return a(u,m);for(var o=u.length,r=l?o:-1,p=Object(u);(l?r--:++r<o)&&m(p[r],r,p)!==!1;);return u}}f.exports=d},98978:function(f,P,t){var e=t(40314),d=t(50690),a=t(94569),l=t(63108),u=a(function(m,o){if(m==null)return[];var r=o.length;return r>1&&l(m,o[0],o[1])?o=[]:r>2&&l(o[0],o[1],o[2])&&(o=[o[0]]),d(m,e(o,1),[])});f.exports=u}}]);
@@ -0,0 +1,30 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(f,b,n){"use strict";n.r(b),n.d(b,{default:function(){return et}});var e=n(32735),d=n(5141),r=n(13478),i=n(90201),l=n(88369),t=n(39161),m=n(57269),R=n(5636),P=n(84968),x=n(58469),T=n(59677);const D=async(s,o)=>{try{const{get:a}=(0,r.getFetchClient)(),{data:c}=await a((0,T.Gc)("roles"));return o("The roles have loaded successfully"),c}catch{throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}},F=async(s,o)=>{try{const{del:a}=(0,r.getFetchClient)();await a(`${(0,T.Gc)("roles")}/${s}`)}catch{o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var B=n(60216),v=n.n(B);const M=({sortedRoles:s,canDelete:o,permissions:a,setRoleToDelete:c,onDelete:p})=>{const{formatMessage:u}=(0,R.useIntl)(),{push:E}=(0,d.useHistory)(),[y,C]=p,h=g=>o&&!["public","authenticated"].includes(g.type),A=g=>{c(g),C(!y)},L=g=>{E(`/settings/${i.Z}/roles/${g}`)};return e.createElement(t.Tbody,null,s?.map(g=>e.createElement(t.Tr,{key:g.name,...(0,r.onRowClick)({fn:()=>L(g.id)})},e.createElement(t.Td,{width:"20%"},e.createElement(t.Typography,null,g.name)),e.createElement(t.Td,{width:"50%"},e.createElement(t.Typography,null,g.description)),e.createElement(t.Td,{width:"30%"},e.createElement(t.Typography,null,`${g.nb_users} ${u({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(t.Td,null,e.createElement(t.Flex,{justifyContent:"end",...r.stopPropagation},e.createElement(r.CheckPermissions,{permissions:a.updateRole},e.createElement(t.IconButton,{onClick:()=>L(g.id),noBorder:!0,icon:e.createElement(m.Pencil,null),label:u({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${g.name}`})})),h(g)&&e.createElement(r.CheckPermissions,{permissions:a.deleteRole},e.createElement(t.IconButton,{onClick:()=>A(g.id),noBorder:!0,icon:e.createElement(m.Trash,null),label:u({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${g.name}`})})))))))};var I=M;M.defaultProps={canDelete:!1},M.propTypes={onDelete:v().array.isRequired,permissions:v().object.isRequired,setRoleToDelete:v().func.isRequired,sortedRoles:v().array.isRequired,canDelete:v().bool};var G=()=>{const{trackUsage:s}=(0,r.useTracking)(),{formatMessage:o}=(0,R.useIntl)(),{push:a}=(0,d.useHistory)(),c=(0,r.useNotification)(),{notifyStatus:p}=(0,t.useNotifyAT)(),[{query:u}]=(0,r.useQueryParams)(),E=u?._q||"",[y,C]=(0,e.useState)(!1),[h,A]=(0,e.useState)(!1),[L,g]=(0,e.useState)();(0,r.useFocusWhenNavigate)();const k=(0,P.useQueryClient)(),U=(0,e.useMemo)(()=>({create:l.Z.createRole,read:l.Z.readRoles,update:l.Z.updateRole,delete:l.Z.deleteRole}),[]),{isLoading:S,allowedActions:{canRead:O,canDelete:N}}=(0,r.useRBAC)(U),{isLoading:j,data:{roles:ce},isFetching:tt}=(0,P.useQuery)("get-roles",()=>D(c,p),{initialData:{},enabled:O}),ue=j||tt,nt=()=>{s("willCreateRole"),a(`/settings/${i.Z}/roles/new`)},st=()=>{C(!y)},rt={roles:{id:(0,T.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,T.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},at=o({id:"global.roles",defaultMessage:"Roles"}),ot=(0,P.useMutation)(dt=>F(dt,c),{async onSuccess(){await k.invalidateQueries("get-roles")}}),it=async()=>{A(!0),await ot.mutateAsync(L),C(!y),A(!1)},Y=(0,x.ZP)(ce||[],E,{keys:["name","description"]}),lt=E&&!Y.length?"search":"roles",ct=4,ut=(ce?.length||0)+1;return e.createElement(t.Layout,null,e.createElement(r.SettingsPageTitle,{name:at}),e.createElement(t.Main,{"aria-busy":ue},e.createElement(t.HeaderLayout,{title:o({id:"global.roles",defaultMessage:"Roles"}),subtitle:o({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(r.CheckPermissions,{permissions:l.Z.createRole},e.createElement(t.Button,{onClick:nt,startIcon:e.createElement(m.Plus,null),size:"S"},o({id:(0,T.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(t.ActionLayout,{startActions:e.createElement(r.SearchURLQuery,{label:o({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(t.ContentLayout,null,!O&&e.createElement(r.NoPermissions,null),(ue||S)&&e.createElement(r.LoadingIndicatorPage,null),O&&Y&&Y?.length?e.createElement(t.Table,{colCount:ct,rowCount:ut},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.description",defaultMessage:"Description"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.users",defaultMessage:"Users"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,o({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(I,{sortedRoles:Y,canDelete:N,permissions:l.Z,setRoleToDelete:g,onDelete:[y,C]})):e.createElement(r.EmptyStateLayout,{content:rt[lt]})),e.createElement(r.ConfirmDialog,{isConfirmButtonLoading:h,onConfirm:it,onToggleDialog:st,isOpen:y})))},V=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(G,null)),K=n(83281),Z=n(82069),de=n(33795),H=n.n(de),me=n(86834),ge=n.n(me),pe=n(86205),Ee=n.n(pe);const q=(0,e.createContext)({}),_=({children:s,value:o})=>e.createElement(q.Provider,{value:o},s),X=()=>(0,e.useContext)(q);_.propTypes={children:v().node.isRequired,value:v().object.isRequired};var W=n(83292),he=n(37213),fe=n.n(he),ye=n(15738),Ce=n.n(ye),Re=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const be=(0,W.default)(t.Box)`
2
+ margin: -1px;
3
+ border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
4
+ `;function J({route:s}){const{formatMessage:o}=(0,R.useIntl)(),{method:a,handler:c,path:p}=s,u=p?Ce()(p.split("/")):[],[E="",y=""]=c?c.split("."):[],C=Re(s.method);return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},o({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,E),e.createElement(t.Typography,{variant:"delta",textColor:"primary600"},".",y)),e.createElement(t.Flex,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(be,{background:C.background,borderColor:C.border,padding:2},e.createElement(t.Typography,{fontWeight:"bold",textColor:C.text},a)),e.createElement(t.Box,{paddingLeft:2,paddingRight:2},fe()(u,h=>e.createElement(t.Typography,{key:h,textColor:h.includes(":")?"neutral600":"neutral900"},"/",h)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:v().shape({handler:v().string,method:v().string,path:v().string})};var ve=J,Te=()=>{const{formatMessage:s}=(0,R.useIntl)(),{selectedAction:o,routes:a}=X(),c=Ee()(o.split("."),"controllers"),p=H()(a,c[0]),u=c.slice(1).join("."),E=ge()(p)?[]:p.filter(y=>y.handler.endsWith(u));return e.createElement(t.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},o?e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},E.map((y,C)=>e.createElement(ve,{key:C,route:y}))):e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Ae=n(23940),Pe=n.n(Ae);function xe(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Pe()(s.replace("api::","").replace("plugin::",""))}}var De=xe,Le=n(98978),ee=n.n(Le);const te=W.css`
5
+ background: ${s=>s.theme.colors.primary100};
6
+ svg {
7
+ opacity: 1;
8
+ }
9
+ `;var Me=(0,W.default)(t.Box)`
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+
14
+ svg {
15
+ opacity: 0;
16
+ path {
17
+ fill: ${s=>s.theme.colors.primary600};
18
+ }
19
+ }
20
+
21
+ /* Show active style both on hover and when the action is selected */
22
+ ${s=>s.isActive&&te}
23
+ &:hover {
24
+ ${te}
25
+ }
26
+ `;const Se=W.default.div`
27
+ flex: 1;
28
+ align-self: center;
29
+ border-top: 1px solid ${({theme:s})=>s.colors.neutral150};
30
+ `,ne=({subCategory:s})=>{const{formatMessage:o}=(0,R.useIntl)(),{onChange:a,onChangeSelectAll:c,onSelectedAction:p,selectedAction:u,modifiedData:E}=X(),y=(0,e.useMemo)(()=>H()(E,s.name,{}),[E,s]),C=(0,e.useMemo)(()=>Object.values(y).every(g=>g.enabled===!0),[y]),h=(0,e.useMemo)(()=>Object.values(y).some(g=>g.enabled===!0)&&!C,[y,C]),A=(0,e.useCallback)(({target:{name:g}})=>{c({target:{name:g,value:!C}})},[C,c]),L=(0,e.useCallback)(g=>u===g,[u]);return e.createElement(t.Box,null,e.createElement(t.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(t.Box,{paddingRight:4},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s.label)),e.createElement(Se,null),e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Checkbox,{name:s.name,value:C,onValueChange:g=>A({target:{name:s.name,value:g}}),indeterminate:h},o({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(t.Flex,{paddingTop:6,paddingBottom:6},e.createElement(t.Grid,{gap:2,style:{flex:1}},s.actions.map(g=>{const k=`${g.name}.enabled`;return e.createElement(t.GridItem,{col:6,key:g.name},e.createElement(Me,{isActive:L(g.name),padding:2,hasRadius:!0},e.createElement(t.Checkbox,{value:H()(E,k,!1),name:k,onValueChange:U=>a({target:{name:k,value:U}})},g.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>p(g.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(m.Cog,null))))}))))};ne.propTypes={subCategory:v().object.isRequired};var ke=ne;const se=({name:s,permissions:o})=>{const a=(0,e.useMemo)(()=>ee()(Object.values(o.controllers).reduce((c,p,u)=>{const E=`${s}.controllers.${Object.keys(o.controllers)[u]}`,y=ee()(Object.keys(p).reduce((C,h)=>[...C,{...p[h],label:h,name:`${E}.${h}`}],[]),"label");return[...c,{actions:y,label:Object.keys(o.controllers)[u],name:E}]},[]),"label"),[s,o]);return e.createElement(t.Box,{padding:6},a.map(c=>e.createElement(ke,{key:c.name,subCategory:c})))};se.propTypes={name:v().string.isRequired,permissions:v().object.isRequired};var Oe=se,Be=(s,o)=>{const a=Object.keys(o).sort().map(c=>({name:c,isOpen:!1}));return{...s,collapses:a}},Q=n(97889);const Ie={collapses:[]},Ge=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"TOGGLE_COLLAPSE":{a.collapses=s.collapses.map((c,p)=>p===o.index?{...c,isOpen:!c.isOpen}:{...c,isOpen:!1});break}default:return a}});var Fe=()=>{const{modifiedData:s}=X(),{formatMessage:o}=(0,R.useIntl)(),[{collapses:a},c]=(0,e.useReducer)(Ge,Ie,u=>Be(u,s)),p=u=>c({type:"TOGGLE_COLLAPSE",index:u});return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},a.map((u,E)=>e.createElement(t.Accordion,{expanded:u.isOpen,onToggle:()=>p(E),key:u.name,variant:E%2===0?"secondary":void 0},e.createElement(t.AccordionToggle,{title:De(u.name),description:o({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:u.name}),variant:E%2?"primary":"secondary"}),e.createElement(t.AccordionContent,null,e.createElement(t.Box,null,e.createElement(Oe,{permissions:s[u.name],name:u.name}))))))},Ue=n(3040),re=n.n(Ue),Ne=n(88708),we=n.n(Ne);const Ze={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var $e=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"ON_CHANGE":{const c=o.keys.length,p=o.keys[c-1]==="enabled";if(o.value&&p){const u=we()(o.keys,c-1).join(".");a.selectedAction=u}re()(a,["modifiedData",...o.keys],o.value);break}case"ON_CHANGE_SELECT_ALL":{const c=["modifiedData",...o.keys],p=H()(s,c,{}),u=Object.keys(p).reduce((E,y)=>(E[y]={...p[y],enabled:o.value},E),{});re()(a,c,u);break}case"ON_RESET":{a.modifiedData=s.initialData;break}case"ON_SUBMIT_SUCCEEDED":{a.initialData=s.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:c}=o;a.selectedAction=c===s.selectedAction?"":c;break}default:return a}}),je=(s,o,a)=>({...s,initialData:o,modifiedData:o,routes:a});const ae=(0,e.forwardRef)(({permissions:s,routes:o},a)=>{const{formatMessage:c}=(0,R.useIntl)(),[p,u]=(0,e.useReducer)($e,Ze,A=>je(A,s,o));(0,e.useImperativeHandle)(a,()=>({getPermissions(){return{permissions:p.modifiedData}},resetForm(){u({type:"ON_RESET"})},setFormAfterSubmit(){u({type:"ON_SUBMIT_SUCCEEDED"})}}));const h={...p,onChange:({target:{name:A,value:L}})=>u({type:"ON_CHANGE",keys:A.split("."),value:L==="empty__string_value"?"":L}),onChangeSelectAll:({target:{name:A,value:L}})=>u({type:"ON_CHANGE_SELECT_ALL",keys:A.split("."),value:L}),onSelectedAction:A=>u({type:"SELECT_ACTION",actionToSelect:A})};return e.createElement(_,{value:h},e.createElement(t.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(t.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h2"},c({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},c({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(Fe,null))),e.createElement(Te,null)))});ae.propTypes={permissions:v().object.isRequired,routes:v().object.isRequired};var oe=(0,e.memo)(ae);const Ct={isLoading:!0,modifiedData:{}},Rt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.modifiedData={};break}case"GET_DATA_SUCCEEDED":{a.isLoading=!1,a.modifiedData=o.data;break}case"GET_DATA_ERROR":{a.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{a.modifiedData=o.data;break}default:return a}});var bt=null;const vt=(s,o)=>{const{isLoading:a,allowedActions:c}=useRBAC(o),[{isLoading:p,modifiedData:u},E]=useReducer(reducer,initialState),y=useNotification(),C=useRef(!0),h=new AbortController,{signal:A}=h;useEffect(()=>(a||(async()=>{try{E({type:"GET_DATA"});const k=await request(getRequestURL(s),{method:"GET",signal:A});E({type:"GET_DATA_SUCCEEDED",data:k})}catch(k){C.current&&(E({type:"GET_DATA_ERROR"}),console.error(k),y({type:"warning",message:{id:"notification.error"}}))}})(),()=>{h.abort(),C.current=!1}),[a,s]);const L=useCallback(g=>{E({type:"ON_SUBMIT_SUCCEEDED",data:g})},[]);return{allowedActions:c,dispatchSubmitSucceeded:L,isLoading:p,isLoadingForPermissions:a,modifiedData:u}};var Tt=null;const At={roles:[],isLoading:!0},Pt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.roles=[];break}case"GET_DATA_SUCCEEDED":{a.roles=o.data,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}});var xt=null;const Dt=(s=!0)=>{const[{roles:o,isLoading:a},c]=useReducer(reducer,initialState,()=>init(initialState,s)),p=useNotification(),u=useRef(!0),E=new AbortController,{signal:y}=E;useEffect(()=>(s&&C(),()=>{E.abort(),u.current=!1}),[s]);const C=async()=>{try{c({type:"GET_DATA"});const{roles:h}=await request(`/${pluginId}/roles`,{method:"GET",signal:y});c({type:"GET_DATA_SUCCEEDED",data:h})}catch(h){const A=get(h,["response","payload","message"],"An error occured");u.current&&(c({type:"GET_DATA_ERROR"}),A!=="Forbidden"&&p({type:"warning",message:A}))}};return{roles:o,isLoading:a,getData:C}};var Lt=null,He=(s,o)=>({...s,isLoading:o});const ie={permissions:{},routes:{},isLoading:!0};var Ve=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.permissions={},a.routes={};break}case"GET_DATA_SUCCEEDED":{a.permissions=o.permissions,a.routes=o.routes,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}}),le=(s=!0)=>{const o=(0,r.useNotification)(),[{permissions:a,routes:c,isLoading:p},u]=(0,e.useReducer)(Ve,ie,()=>He(ie,s)),E=(0,r.useFetchClient)(),y=(0,e.useCallback)(async()=>{try{u({type:"GET_DATA"});const[{permissions:C},{routes:h}]=await Promise.all([`/${i.Z}/permissions`,`/${i.Z}/routes`].map(async A=>(await E.get(A)).data));u({type:"GET_DATA_SUCCEEDED",permissions:(0,T.YX)(C),routes:h})}catch(C){const h=H()(C,["response","payload","message"],"An error occured");u({type:"GET_DATA_ERROR"}),h!=="Forbidden"&&o({type:"warning",message:h})}},[o]);return(0,e.useEffect)(()=>{s&&y()},[y,s]),{permissions:a,routes:c,getData:y,isLoading:p}};const We={role:{},isLoading:!0};var Qe=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA_SUCCEEDED":{a.role=o.role,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{a.role.name=o.name,a.role.description=o.description;break}default:return a}}),Ye=s=>{const[o,a]=(0,e.useReducer)(Qe,We),c=(0,r.useNotification)(),p=(0,e.useRef)(null),{get:u}=(0,r.useFetchClient)();(0,e.useEffect)(()=>(p.current=!0,s?E(s):a({type:"GET_DATA_SUCCEEDED",role:{}}),()=>p.current=!1),[s]);const E=async C=>{try{const{data:{role:h}}=await u(`/${i.Z}/roles/${C}`);p.current&&a({type:"GET_DATA_SUCCEEDED",role:h})}catch(h){console.error(h),a({type:"GET_DATA_ERROR"}),c({type:"warning",message:{id:"notification.error"}})}},y=(0,e.useCallback)(C=>{a({type:"ON_SUBMIT_SUCCEEDED",...C})},[]);return{...o,onSubmitSucceeded:y}},$=n(5173),ze=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),Xe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{lockApp:p,unlockApp:u}=(0,r.useOverlayBlocker)(),{params:{id:E}}=(0,d.useRouteMatch)(`/settings/${i.Z}/roles/:id`),{isLoading:y,routes:C}=le(),{role:h,onSubmitSucceeded:A,isLoading:L}=Ye(E),g=(0,e.useRef)(),{put:k}=(0,r.useFetchClient)(),U=async S=>{p(),a(!0);try{const O=g.current.getPermissions();await k(`/${i.Z}/roles/${E}`,{...S,...O,users:[]}),A({name:S.name,description:S.description}),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(O){console.error(O),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),u()};return L?e.createElement(r.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:h.name,description:h.description},onSubmit:U,validationSchema:ze},({handleSubmit:S,values:O,handleChange:N,errors:j})=>e.createElement(r.Form,{noValidate:!0,onSubmit:S},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{disabled:h.code==="strapi-super-admin",type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:h.name,subtitle:h.description,navigationAction:e.createElement(r.Link,{startIcon:e.createElement(m.ArrowLeft,null),to:"/settings/users-permissions/roles"},s({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:O.name||"",onChange:N,label:s({id:"global.name",defaultMessage:"Name"}),error:j.name?s({id:j.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:O.description||"",onChange:N,label:s({id:"global.description",defaultMessage:"Description"}),error:j.description?s({id:j.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:g,permissions:h.permissions,routes:C}))))))},Je=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.updateRole},e.createElement(Xe,null)),Ke=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),qe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{goBack:p}=(0,d.useHistory)(),{lockApp:u,unlockApp:E}=(0,r.useOverlayBlocker)(),{isLoading:y,permissions:C,routes:h}=le(),{trackUsage:A}=(0,r.useTracking)(),L=(0,e.useRef)(),{post:g}=(0,r.useFetchClient)(),k=async U=>{u(),a(!0);try{const S=L.current.getPermissions();await g(`/${i.Z}/roles`,{...U,...S,users:[]}),A("didCreateRole"),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),p()}catch(S){console.error(S),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),E()};return e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:k,validationSchema:Ke},({handleSubmit:U,values:S,handleChange:O,errors:N})=>e.createElement(r.Form,{noValidate:!0,onSubmit:U},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:s({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:S.name||"",onChange:O,label:s({id:"global.name",defaultMessage:"Name"}),error:N.name?s({id:N.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:S.description||"",onChange:O,label:s({id:"global.description",defaultMessage:"Description"}),error:N.description?s({id:N.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:L,permissions:C,routes:h}))))))},_e=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.createRole},e.createElement(qe,null)),et=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(d.Switch,null,e.createElement(d.Route,{path:`/settings/${i.Z}/roles/new`,component:_e,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles/:id`,component:Je,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles`,component:V,exact:!0}),e.createElement(d.Route,{path:"",component:r.NotFound})))},59677:function(f,b,n){"use strict";n.d(b,{YX:function(){return i},Gc:function(){return m},OB:function(){return R.Z}});var e=n(86834),d=n.n(e),i=P=>Object.keys(P).reduce((x,T)=>{const D=P[T].controllers,F=Object.keys(D).reduce((B,v)=>(d()(D[v])||(B[v]=D[v]),B),{});return d()(F)||(x[T]={controllers:F}),x},{}),l=n(90201),m=P=>`/${l.Z}/${P}`,R=n(82069)},88058:function(f,b,n){var e=n(87650);function d(r,i){var l=r==null?0:r.length;return!!l&&e(r,i,0)>-1}f.exports=d},37431:function(f){function b(n,e,d){for(var r=-1,i=n==null?0:n.length;++r<i;)if(d(e,n[r]))return!0;return!1}f.exports=b},91096:function(f,b,n){var e=n(61124),d=n(88058),r=n(37431),i=n(26460),l=n(76535),t=n(30555),m=200;function R(P,x,T,D){var F=-1,B=d,v=!0,M=P.length,I=[],z=x.length;if(!M)return I;T&&(x=i(x,l(T))),D?(B=r,v=!1):x.length>=m&&(B=t,v=!1,x=new e(x));e:for(;++F<M;){var G=P[F],w=T==null?G:T(G);if(G=D||G!==0?G:0,v&&w===w){for(var V=z;V--;)if(x[V]===w)continue e;I.push(G)}else B(x,w,D)||I.push(G)}return I}f.exports=R},56671:function(f,b,n){var e=n(35897),d=n(74741),r=d(e);f.exports=r},60528:function(f){function b(n,e,d,r){for(var i=n.length,l=d+(r?1:-1);r?l--:++l<i;)if(e(n[l],l,n))return l;return-1}f.exports=b},87650:function(f,b,n){var e=n(60528),d=n(25556),r=n(54256);function i(l,t,m){return t===t?r(l,t,m):e(l,d,m)}f.exports=i},25556:function(f){function b(n){return n!==n}f.exports=b},52920:function(f,b,n){var e=n(56671),d=n(81580);function r(i,l){var t=-1,m=d(i)?Array(i.length):[];return e(i,function(R,P,x){m[++t]=l(R,P,x)}),m}f.exports=r},50690:function(f,b,n){var e=n(26460),d=n(80166),r=n(88904),i=n(52920),l=n(36024),t=n(76535),m=n(1397),R=n(15362),P=n(77236);function x(T,D,F){D.length?D=e(D,function(M){return P(M)?function(I){return d(I,M.length===1?M[0]:M)}:M}):D=[R];var B=-1;D=e(D,t(r));var v=i(T,function(M,I,z){var G=e(D,function(w){return w(M)});return{criteria:G,index:++B,value:M}});return l(v,function(M,I){return m(M,I,F)})}f.exports=x},36024:function(f){function b(n,e){var d=n.length;for(n.sort(e);d--;)n[d]=n[d].value;return n}f.exports=b},40709:function(f,b,n){var e=n(22945);function d(r,i){if(r!==i){var l=r!==void 0,t=r===null,m=r===r,R=e(r),P=i!==void 0,x=i===null,T=i===i,D=e(i);if(!x&&!D&&!R&&r>i||R&&P&&T&&!x&&!D||t&&P&&T||!l&&T||!m)return 1;if(!t&&!R&&!D&&r<i||D&&l&&m&&!t&&!R||x&&l&&m||!P&&m||!T)return-1}return 0}f.exports=d},1397:function(f,b,n){var e=n(40709);function d(r,i,l){for(var t=-1,m=r.criteria,R=i.criteria,P=m.length,x=l.length;++t<P;){var T=e(m[t],R[t]);if(T){if(t>=x)return T;var D=l[t];return T*(D=="desc"?-1:1)}}return r.index-i.index}f.exports=d},74741:function(f,b,n){var e=n(81580);function d(r,i){return function(l,t){if(l==null)return l;if(!e(l))return r(l,t);for(var m=l.length,R=i?m:-1,P=Object(l);(i?R--:++R<m)&&t(P[R],R,P)!==!1;);return l}}f.exports=d},54256:function(f){function b(n,e,d){for(var r=d-1,i=n.length;++r<i;)if(n[r]===e)return r;return-1}f.exports=b},37213:function(f,b,n){var e=n(26460),d=n(88904),r=n(52920),i=n(77236);function l(t,m){var R=i(t)?e:r;return R(t,d(m,3))}f.exports=l},98978:function(f,b,n){var e=n(40314),d=n(50690),r=n(94569),i=n(63108),l=r(function(t,m){if(t==null)return[];var R=m.length;return R>1&&i(t,m[0],m[1])?m=[]:R>2&&i(m[0],m[1],m[2])&&(m=[m[0]]),d(t,e(m,1),[])});f.exports=l},15738:function(f,b,n){var e=n(4293);function d(r){var i=r==null?0:r.length;return i?e(r,1,i):[]}f.exports=d},88708:function(f,b,n){var e=n(4293),d=n(25225);function r(i,l,t){return i&&i.length?(l=t||l===void 0?1:d(l),e(i,0,l<0?0:l)):[]}f.exports=r},86205:function(f,b,n){var e=n(91096),d=n(94569),r=n(99747),i=d(function(l,t){return r(l)?e(l,t):[]});f.exports=i}}]);
@@ -0,0 +1,23 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{47272:function(V,P,l){l.d(P,{Z:function(){return oe}});var e=l(32735),o=l(13478),t=l(39161),y=l(84968),x=l(5141),R=l(8888),j=l(60216),i=l.n(j),k=l(57269),I=l(83281),T=l(5636),$=l(83292),N=l(23940),z=l.n(N);const O=({disabledEvents:a,name:n,events:r,inputValue:s,handleChange:u,handleChangeAll:p})=>{const d=r.filter(g=>!a.includes(g)),c=s.length===d.length,h=s.length>0,f=({target:{name:g}})=>{p({target:{name:g,value:!c}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(t.Checkbox,{indeterminate:h&&!c,"aria-label":"Select all entries",name:n,onChange:f,value:c},z()(n))),r.map(g=>e.createElement("td",{key:g},e.createElement(t.BaseCheckbox,{disabled:a.includes(g),"aria-label":g,name:g,value:s.includes(g),onValueChange:E=>u({target:{name:g,value:E}})}))))};O.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},O.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var X=O,Q=a=>a.reduce((n,r)=>{const s=r.split(".")[0];return n[s]||(n[s]=[]),n[s].push(r),n},{});const q=$.default.table`
2
+ td {
3
+ height: ${52/16}rem;
4
+ width: 10%;
5
+ vertical-align: middle;
6
+ text-align: center;
7
+ }
8
+
9
+ tbody tr:nth-child(odd) {
10
+ background: ${({theme:a})=>a.colors.neutral100};
11
+ }
12
+
13
+ tbody tr td:first-child {
14
+ padding-left: ${({theme:a})=>a.spaces[7]};
15
+ }
16
+ `,w={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},G=({isDraftAndPublish:a})=>{const n=a?w.headers.draftAndPublish:w.headers.default,r=a?w.events.draftAndPublish:w.events.default,{formatMessage:s}=(0,T.useIntl)(),{values:u,handleChange:p}=(0,I.useFormikContext)(),d="events",c=u.events,h=[],f=Q(c),g=({target:{name:m,value:A}})=>{let C=new Set(c);A?C.add(m):C.delete(m),p({target:{name:d,value:Array.from(C)}})},E=({target:{name:m,value:A}})=>{let C=new Set(c);A?r[m].forEach(S=>{h.includes(S)||C.add(S)}):r[m].forEach(S=>C.delete(S)),p({target:{name:d,value:Array.from(C)}})};return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(q,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),n.map(m=>m==="app.utils.publish"||m==="app.utils.unpublish"?e.createElement("td",{key:m.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m))):e.createElement("td",{key:m.id},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m)))))),e.createElement("tbody",null,Object.keys(r).map(m=>e.createElement(X,{disabledEvents:h,key:m,name:m,events:r[m],inputValue:f[m],handleChange:g,handleChangeAll:E})))))};G.propTypes={isDraftAndPublish:i().bool.isRequired};var _=G,H=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];const D=({name:a,onChange:n,value:r,...s})=>{const[u,p]=(0,e.useState)(r?[...H,r]:H),d=h=>{n({target:{name:a,value:h}})},c=h=>{p(f=>[...f,h]),n({target:{name:a,value:h}})};return e.createElement(t.CreatableCombobox,{...s,onChange:d,onCreateOption:c,placeholder:"",value:r},u.map(h=>e.createElement(t.ComboboxOption,{value:h,key:h},h)))};D.defaultProps={value:void 0},D.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var J=D,Y=()=>{const{formatMessage:a}=(0,T.useIntl)(),{values:n,errors:r}=(0,I.useFormikContext)();return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(t.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(I.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:u})=>e.createElement(t.Grid,{gap:4},n.headers?.map((p,d)=>e.createElement(e.Fragment,{key:d},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:J,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:r.headers?.[d]?.key&&a({id:r.headers[d]?.key,defaultMessage:r.headers[d]?.key})})),e.createElement(t.GridItem,{col:6},e.createElement(t.Flex,{alignItems:"flex-end"},e.createElement(t.Box,{style:{flex:1}},e.createElement(I.Field,{as:t.TextInput,"aria-label":`row ${d+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:r.headers?.[d]?.value&&a({id:r.headers[d]?.value,defaultMessage:r.headers[d]?.value})})),e.createElement(t.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:r.headers?.[d]?.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>n.headers.length!==1&&u(d),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))),e.createElement(t.GridItem,{col:12},e.createElement(t.TextButton,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(k.Plus,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))};const F=$.default.svg(({theme:a,color:n})=>`
17
+ width: ${12/16}rem;
18
+ height: ${12/16}rem;
19
+
20
+ path {
21
+ fill: ${a.colors[n]};
22
+ }
23
+ `),L=({isPending:a,statusCode:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Loader}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):n>=200&&n<300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Check,color:"success700"}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):n>=300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Cross,color:"danger700"}),e.createElement(t.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",n)):null};L.propTypes={isPending:i().bool.isRequired,statusCode:i().number},L.defaultProps={statusCode:void 0};const B=({statusCode:a,message:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a>=200&&a<300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Flex,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:n},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral600"},n))):null};B.propTypes={statusCode:i().number,message:i().string},B.defaultProps={statusCode:void 0,message:void 0};const K=({onCancel:a})=>{const{formatMessage:n}=(0,T.useIntl)();return e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(t.Typography,{textColor:"neutral400"},n({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(F,{as:k.Cross,color:"neutral400"}))))};K.propTypes={onCancel:i().func.isRequired};const W=({isPending:a,onCancel:n,response:r})=>{const{statusCode:s,message:u}=r,{formatMessage:p}=(0,T.useIntl)();return e.createElement(t.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(t.GridItem,{col:3},e.createElement(t.Typography,null,p({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(t.GridItem,{col:3},e.createElement(L,{isPending:a,statusCode:s})),e.createElement(t.GridItem,{col:6},a?e.createElement(K,{onCancel:n}):e.createElement(B,{statusCode:s,message:u}))))};W.defaultProps={isPending:!1,onCancel(){},response:{}},W.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var ee=W,v=l(5173);const te=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,ae=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var ne=v.Ry().shape({name:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(te,o.translatedErrors.regex),url:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(ae,o.translatedErrors.regex),headers:v.Vo(a=>{let n=v.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return n}return n.of(v.Ry().shape({key:v.Z_().required(o.translatedErrors.required),value:v.Z_().required(o.translatedErrors.required)}))}),events:v.IX()});const U=({handleSubmit:a,data:n,triggerWebhook:r,isCreating:s,isTriggering:u,triggerResponse:p,isDraftAndPublishEvents:d})=>{const{formatMessage:c}=(0,T.useIntl)(),[h,f]=(0,e.useState)(!1);return e.createElement(I.Formik,{onSubmit:a,initialValues:{name:n?.name||"",url:n?.url||"",headers:Object.keys(n?.headers||[]).length?Object.entries(n.headers).map(([g,E])=>({key:g,value:E})):[{key:"",value:""}],events:n?.events||[]},validationSchema:ne,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:g,errors:E})=>e.createElement(o.Form,{noValidate:!0},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Flex,{gap:2},e.createElement(t.Button,{onClick:()=>{r(),f(!0)},variant:"tertiary",startIcon:e.createElement(k.Play,null),disabled:s||u,size:"L"},c({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(t.Button,{startIcon:e.createElement(k.Check,null),onClick:g,type:"submit",size:"L"},c({id:"global.save",defaultMessage:"Save"}))),title:s?c({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):n?.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(k.ArrowLeft,null),to:"/settings/webhooks"},c({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},h&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:u,response:p,onCancel:()=>f(!1)})),e.createElement(t.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Grid,{gap:6},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:t.TextInput,name:"name",error:E.name&&c({id:E.name}),label:c({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(t.GridItem,{col:12},e.createElement(I.Field,{as:t.TextInput,name:"url",error:E.url&&c({id:E.url}),label:c({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Y,null),e.createElement(_,{isDraftAndPublish:d})))))))};U.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},U.defaultProps={data:void 0,triggerResponse:void 0};var re=U;const se=a=>({...a,headers:le(a.headers)}),le=a=>a.reduce((n,r)=>{const{key:s,value:u}=r;return s!==""?{...n,[s]:u}:n},{});var Z=se,oe=()=>{const{params:{id:a}}=(0,x.useRouteMatch)("/settings/webhooks/:id"),{replace:n}=(0,x.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),u=(0,o.useNotification)(),p=(0,y.useQueryClient)(),{isLoading:d,collectionTypes:c}=(0,R.bP)(),{post:h}=(0,o.useFetchClient)(),f=a==="create",g=(0,e.useCallback)(async b=>{const[M,{data:he}]=await(0,o.to)((0,o.request)(`/admin/webhooks/${b}`,{method:"GET"}));return M?(u({type:"warning",message:{id:"notification.error"}}),null):he},[u]),{isLoading:E,data:m}=(0,y.useQuery)(["get-webhook",a],()=>g(a),{enabled:!f}),{isLoading:A,data:C,isIdle:S,mutate:ie}=(0,y.useMutation)(()=>h(`/admin/webhooks/${a}/trigger`)),de=()=>ie(null,{onError(){u({type:"warning",message:{id:"notification.error"}})}}),ue=(0,y.useMutation)(b=>(0,o.request)("/admin/webhooks",{method:"POST",body:b})),ce=(0,y.useMutation)(({id:b,body:M})=>(0,o.request)(`/admin/webhooks/${b}`,{method:"PUT",body:M})),me=async b=>{f?(r(),ue.mutate(Z(b),{onSuccess(M){u({type:"success",message:{id:"Settings.webhooks.created"}}),n(`/settings/webhooks/${M.data.id}`),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}})):(r(),ce.mutate({id:a,body:Z(b)},{onSuccess(){p.invalidateQueries(["get-webhook",a]),u({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}}))},ge=(0,e.useMemo)(()=>c.some(b=>b.options.draftAndPublish===!0),[c]);return E||d?e.createElement(o.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(re,{handleSubmit:me,data:m,triggerWebhook:de,isCreating:f,isTriggering:A,isTriggerIdle:S,triggerResponse:C?.data.data,isDraftAndPublishEvents:ge}))}},33238:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.create},e.createElement(x.Z,null));P.default=R},59021:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.update},e.createElement(x.Z,null));P.default=R}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{70791:function(ee,L,i){i.r(L),i.d(L,{default:function(){return V}});var e=i(32735),a=i(13478),C=i(72041),O=i(5141),x=i(5636),t=i(39161),E=i(57269),P=i(97889),H=i(3040),K=i.n(H);const I={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0};var G=(r,s)=>(0,P.default)(r,l=>{switch(s.type){case"GET_DATA_SUCCEEDED":{l.webhooks=s.data,l.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{l.loadingWebhooks=!r.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{K()(l,["webhooks",...s.keys],s.value);break}case"SET_WEBHOOK_TO_DELETE":{l.webhookToDelete=s.id;break}case"SET_WEBHOOKS_TO_DELETE":{s.value?l.webhooksToDelete.push(s.id):l.webhooksToDelete=r.webhooksToDelete.filter(d=>d!==s.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{r.webhooksToDelete.length===0?l.webhooksToDelete=r.webhooks.map(d=>d.id):l.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{l.webhooks=r.webhooks.filter(d=>!r.webhooksToDelete.includes(d.id)),l.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{l.webhooks=r.webhooks.filter((d,g)=>g!==s.index),l.webhookToDelete=null;break}default:return l}}),N=()=>{const{isLoading:r,allowedActions:{canCreate:s,canRead:l,canUpdate:d,canDelete:g}}=(0,a.useRBAC)(C.Z.settings.webhooks),b=(0,a.useNotification)(),h=(0,e.useRef)(!0),{formatMessage:n}=(0,x.useIntl)(),[$,T]=(0,e.useState)(!1),[{webhooks:f,webhooksToDelete:y,webhookToDelete:D,loadingWebhooks:p},u]=(0,e.useReducer)(G,I),{notifyStatus:R}=(0,t.useNotifyAT)();(0,a.useFocusWhenNavigate)();const{push:U}=(0,O.useHistory)(),{pathname:S}=(0,O.useLocation)(),k=f.length,m=y.length,B=o=>f.findIndex(c=>c.id===o);(0,e.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,e.useEffect)(()=>{l&&F()},[l]);const F=async()=>{try{const{data:o}=await(0,a.request)("/admin/webhooks",{method:"GET"});h.current&&(u({type:"GET_DATA_SUCCEEDED",data:o}),R("webhooks have been loaded"))}catch(o){console.log(o),h.current&&(o.code!==20&&b({type:"warning",message:{id:"notification.error"}}),u({type:"TOGGLE_LOADING"}))}},z=()=>{T(o=>!o)},Z=()=>{D?j():J()},j=async()=>{try{await(0,a.request)(`/admin/webhooks/${D}`,{method:"DELETE"}),u({type:"WEBHOOK_DELETED",index:B(D)})}catch(o){o.code!==20&&b({type:"warning",message:{id:"notification.error"}})}T(!1)},J=async()=>{const o={ids:y};try{await(0,a.request)("/admin/webhooks/batch-delete",{method:"POST",body:o}),h.current&&u({type:"WEBHOOKS_DELETED"})}catch(c){h.current&&c.code!==20&&b({type:"warning",message:{id:"notification.error"}})}T(!1)},v=o=>{T(!0),o!=="all"&&u({type:"SET_WEBHOOK_TO_DELETE",id:o})},Q=async(o,c)=>{const W=B(c),_=f[W],M=[W,"isEnabled"],A={..._,isEnabled:o};delete A.id;try{u({type:"SET_WEBHOOK_ENABLED",keys:M,value:o}),await(0,a.request)(`/admin/webhooks/${c}`,{method:"PUT",body:A})}catch(q){h.current&&(u({type:"SET_WEBHOOK_ENABLED",keys:M,value:!o}),q.code!==20&&b({type:"warning",message:{id:"notification.error"}}))}},X=()=>{u({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Y=(o,c)=>{u({type:"SET_WEBHOOKS_TO_DELETE",value:o,id:c})},w=o=>{U(`${S}/${o}`)};return e.createElement(t.Layout,null,e.createElement(a.SettingsPageTitle,{name:"Webhooks"}),e.createElement(t.Main,{"aria-busy":r||p},e.createElement(t.HeaderLayout,{title:n({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:n({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:s&&!p&&e.createElement(a.LinkButton,{startIcon:e.createElement(E.Plus,null),variant:"default",to:`${S}/create`,size:"S"},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),m>0&&g&&e.createElement(t.ActionLayout,{startActions:e.createElement(e.Fragment,null,e.createElement(t.Typography,{variant:"epsilon",textColor:"neutral600"},n({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:m})),e.createElement(t.Button,{onClick:()=>v("all"),startIcon:e.createElement(E.Trash,null),size:"L",variant:"danger-light"},n({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(t.ContentLayout,null,r||p?e.createElement(t.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.LoadingIndicatorPage,null)):k>0?e.createElement(t.Table,{colCount:5,rowCount:k+1,footer:e.createElement(t.TFooter,{onClick:()=>s?w("create"):{},icon:e.createElement(E.Plus,null)},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.BaseCheckbox,{"aria-label":n({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:m>0&&m<k,value:m===k,onValueChange:X})),e.createElement(t.Th,{width:"20%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,{width:"60%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(t.Th,{width:"20%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,n({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(t.Tbody,null,f.map(o=>e.createElement(t.Tr,{key:o.id,...(0,a.onRowClick)({fn:()=>w(o.id),condition:d})},e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.BaseCheckbox,{"aria-label":`${n({id:"global.select",defaultMessage:"Select"})} ${o.name}`,value:y?.includes(o.id),onValueChange:c=>Y(c,o.id),id:"select",name:"select"})),e.createElement(t.Td,null,e.createElement(t.Typography,{fontWeight:"semiBold",textColor:"neutral800"},o.name)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},o.url)),e.createElement(t.Td,null,e.createElement(t.Flex,{...a.stopPropagation},e.createElement(t.Switch,{onLabel:n({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:n({id:"global.disabled",defaultMessage:"Disabled"}),label:`${o.name} ${n({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:o.isEnabled,onChange:()=>Q(!o.isEnabled,o.id),visibleLabels:!0}))),e.createElement(t.Td,null,e.createElement(t.Flex,{gap:1,...a.stopPropagation},d&&e.createElement(t.IconButton,{onClick:()=>{w(o.id)},label:n({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(E.Pencil,null),noBorder:!0}),g&&e.createElement(t.IconButton,{onClick:()=>v(o.id),label:n({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(E.Trash,null),noBorder:!0,id:`delete-${o.id}`}))))))):e.createElement(t.EmptyStateLayout,{icon:e.createElement(E.EmptyDocuments,{width:"160px"}),content:n({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(t.Button,{variant:"secondary",startIcon:e.createElement(E.Plus,null),onClick:()=>s?w("create"):{}},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}))),e.createElement(a.ConfirmDialog,{isOpen:$,onToggleDialog:z,onConfirm:Z}))},V=()=>e.createElement(a.CheckPagePermissions,{permissions:C.Z.settings.webhooks.main},e.createElement(N,null))}}]);