@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.
- package/admin/src/StrapiApp.js +1 -1
- package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +6 -10
- package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +2 -3
- package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
- package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
- package/admin/src/components/GuidedTour/Homepage/index.js +4 -8
- package/admin/src/components/GuidedTour/Modal/components/Content.js +35 -25
- package/admin/src/components/GuidedTour/Modal/components/Modal.js +7 -11
- package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
- package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
- package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
- package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
- package/admin/src/components/LeftMenu/index.js +5 -10
- package/admin/src/components/Notifications/Notification/index.js +10 -3
- package/admin/src/components/Notifications/index.js +6 -4
- package/admin/src/components/Theme/index.js +1 -1
- package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -2
- package/admin/src/content-manager/components/ComponentInitializer/index.js +4 -7
- package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +3 -3
- package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
- package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +14 -11
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
- package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +4 -9
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +4 -9
- package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
- package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +4 -6
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
- package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +3 -6
- package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
- package/admin/src/content-manager/components/DynamicZone/index.js +3 -3
- package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
- package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +3 -31
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +65 -134
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +85 -0
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +1 -2
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +7 -1
- package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
- package/admin/src/content-manager/components/FieldComponent/index.js +4 -7
- package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
- package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
- package/admin/src/content-manager/components/Hint/index.js +1 -1
- package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
- package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
- package/admin/src/content-manager/components/InputUID/index.js +2 -6
- package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
- package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
- package/admin/src/content-manager/components/NonRepeatableComponent/index.js +3 -5
- package/admin/src/content-manager/components/RelationInput/RelationInput.js +17 -14
- package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
- package/admin/src/content-manager/components/RelationInput/components/Relation.js +9 -4
- package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +4 -4
- package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
- package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +39 -33
- package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +12 -6
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -2
- package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
- package/admin/src/content-manager/components/Wysiwyg/index.js +5 -7
- package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +3 -3
- package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
- package/admin/src/content-manager/hooks/useRelation/useRelation.js +2 -2
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
- package/admin/src/content-manager/pages/App/index.js +1 -2
- package/admin/src/content-manager/pages/App/useModels.js +1 -1
- package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
- package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +6 -11
- package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +3 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
- package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
- package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/index.js +17 -13
- package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
- package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +2 -2
- package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
- package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/index.js +17 -16
- package/admin/src/content-manager/pages/EditView/Information/index.js +9 -9
- package/admin/src/content-manager/pages/EditView/index.js +10 -15
- package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
- package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
- package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +4 -8
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +4 -9
- package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +14 -10
- package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +4 -9
- package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
- package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
- package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
- package/admin/src/content-manager/pages/ListView/index.js +12 -10
- package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
- package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
- package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
- package/admin/src/content-manager/utils/createDefaultForm.js +2 -10
- package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
- package/admin/src/content-manager/utils/getFieldName.js +1 -1
- package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
- package/admin/src/content-manager/utils/paths.js +1 -1
- package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
- package/admin/src/hooks/index.js +2 -0
- package/admin/src/hooks/useLicenseLimitNotification/index.js +5 -0
- package/admin/src/hooks/useLicenseLimits/index.js +3 -0
- package/admin/src/hooks/useMenu/reducer.js +1 -3
- package/admin/src/hooks/useRegenerate/index.js +13 -8
- package/admin/src/hooks/useSettingsForm/index.js +3 -3
- package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
- package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
- package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +7 -0
- package/admin/src/index.js +0 -1
- package/admin/src/layouts/AppLayout/index.js +1 -3
- package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
- package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
- package/admin/src/pages/Admin/Onboarding/index.js +26 -7
- package/admin/src/pages/App/index.js +1 -1
- package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
- package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +3 -9
- package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -12
- package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Register/index.js +14 -13
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +4 -11
- package/admin/src/pages/AuthPage/reducer.js +1 -1
- package/admin/src/pages/HomePage/CloudBox.js +83 -0
- package/admin/src/pages/HomePage/ContentBlocks.js +6 -7
- package/admin/src/pages/HomePage/HomeHeader.js +5 -12
- package/admin/src/pages/HomePage/SocialLinks.js +37 -34
- package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
- package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +1 -0
- package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +1 -0
- package/admin/src/pages/HomePage/index.js +3 -4
- package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
- package/admin/src/pages/InternalErrorPage/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +4 -9
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +5 -11
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +3 -6
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
- package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
- package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
- package/admin/src/pages/MarketplacePage/index.js +15 -8
- package/admin/src/pages/NotFoundPage/index.js +2 -5
- package/admin/src/pages/ProfilePage/index.js +27 -24
- package/admin/src/pages/SettingsPage/components/Filters/index.js +2 -3
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +1 -1
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components → components/Tokens}/FormHead/index.js +45 -26
- package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +97 -0
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +75 -0
- package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +52 -0
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/ReadButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/UpdateButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +145 -0
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components/ContentBox → components/Tokens/TokenBox}/index.js +20 -18
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +51 -0
- package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +46 -0
- package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +71 -0
- package/admin/src/pages/SettingsPage/components/Tokens/constants.js +2 -0
- package/admin/src/pages/SettingsPage/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +5 -7
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +5 -7
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +17 -10
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +56 -149
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +3 -5
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +12 -8
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +48 -19
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +18 -20
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +5 -0
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +14 -11
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +63 -74
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +266 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +2 -6
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +4 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -5
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +3 -7
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +12 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +4 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +12 -10
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +314 -129
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +142 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +48 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +263 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +16 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +4 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +11 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +216 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +48 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +14 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +14 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +12 -0
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +19 -19
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +24 -0
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +17 -12
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +32 -34
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +3 -5
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +12 -10
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +10 -16
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +17 -15
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +183 -182
- package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +51 -10
- package/admin/src/pages/UseCasePage/index.js +13 -11
- package/admin/src/permissions/defaultPermissions.js +8 -0
- package/admin/src/permissions/index.js +1 -1
- package/admin/src/translations/ca.json +13 -19
- package/admin/src/translations/de.json +6 -12
- package/admin/src/translations/dk.json +6 -12
- package/admin/src/translations/en.json +221 -190
- package/admin/src/translations/es.json +6 -12
- package/admin/src/translations/eu.json +178 -184
- package/admin/src/translations/fr.json +6 -12
- package/admin/src/translations/gu.json +0 -6
- package/admin/src/translations/he.json +0 -6
- package/admin/src/translations/hi.json +6 -12
- package/admin/src/translations/hu.json +19 -25
- package/admin/src/translations/id.json +0 -6
- package/admin/src/translations/it.json +0 -6
- package/admin/src/translations/ja.json +6 -12
- package/admin/src/translations/ko.json +6 -12
- package/admin/src/translations/ml.json +6 -12
- package/admin/src/translations/nl.json +19 -25
- package/admin/src/translations/no.json +0 -6
- package/admin/src/translations/pl.json +6 -12
- package/admin/src/translations/pt-BR.json +6 -12
- package/admin/src/translations/ru.json +859 -785
- package/admin/src/translations/sa.json +6 -12
- package/admin/src/translations/sk.json +2 -8
- package/admin/src/translations/sv.json +19 -25
- package/admin/src/translations/th.json +0 -6
- package/admin/src/translations/tr.json +19 -25
- package/admin/src/translations/zh-Hans.json +895 -669
- package/admin/src/translations/zh.json +19 -25
- package/admin/src/utils/getAttributesToDisplay.js +2 -4
- package/admin/src/utils/getExistingActions.js +1 -3
- package/admin/src/utils/sortLinks.js +1 -1
- package/build/{2223.1bfea951.chunk.js → 2263.4c5916f9.chunk.js} +66 -177
- package/build/27d16aefee06412db90a.png +0 -0
- package/build/4049.64715f20.chunk.js +1 -0
- package/build/5563.aa832e5f.chunk.js +30 -0
- package/build/6985.66cca29c.chunk.js +1 -0
- package/build/7259.e6ef3b8e.chunk.js +1 -0
- package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
- package/build/9505.dbe702ab.chunk.js +14 -0
- package/build/9816.01ee964f.chunk.js +2 -0
- package/build/Admin-authenticatedApp.5a090404.chunk.js +79 -0
- package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
- package/build/Admin_homePage.1411fb7c.chunk.js +68 -0
- package/build/Admin_marketplace.02608d56.chunk.js +22 -0
- package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
- package/build/Admin_profilePage.76afeca0.chunk.js +15 -0
- package/build/Admin_settingsPage.0aa4fcdc.chunk.js +9 -0
- package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
- package/build/admin-app.50584489.chunk.js +112 -0
- package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
- package/build/admin-edit-users.31c20712.chunk.js +10 -0
- package/build/admin-roles-list.489c501f.chunk.js +2 -0
- package/build/admin-users.3e111a7d.chunk.js +11 -0
- package/build/{api-tokens-create-page.a31c7fba.chunk.js → api-tokens-create-page.2a6e22bd.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.64fef287.chunk.js → api-tokens-edit-page.fa38cd63.chunk.js} +1 -1
- package/build/api-tokens-list-page.93f24348.chunk.js +16 -0
- package/build/audit-logs-settings-page.7be97e82.chunk.js +1 -0
- package/build/bb3108f7fd1e6179bde1.svg +1 -0
- package/build/bb4d0d527bdfb161bc5a.svg +1 -0
- package/build/ca-json.43e14418.chunk.js +1 -0
- package/build/content-manager.f8b9710b.chunk.js +1139 -0
- package/build/content-type-builder-list-view.cf38fe2f.chunk.js +191 -0
- package/build/content-type-builder-translation-zh-Hans-json.415577fb.chunk.js +1 -0
- package/build/content-type-builder.0f5dbcf1.chunk.js +126 -0
- package/build/de-json.fcac7381.chunk.js +1 -0
- package/build/dk-json.e34cad0d.chunk.js +1 -0
- package/build/email-settings-page.4bdbef9a.chunk.js +3 -0
- package/build/en-json.b052667a.chunk.js +1 -0
- package/build/es-json.715b6fd8.chunk.js +1 -0
- package/build/eu-json.fb17c8f9.chunk.js +1 -0
- package/build/fr-json.f66c3211.chunk.js +1 -0
- package/build/gu-json.4d667d0c.chunk.js +1 -0
- package/build/{he-json.f0de8cdb.chunk.js → he-json.3cf0b48a.chunk.js} +1 -1
- package/build/hi-json.323be97d.chunk.js +1 -0
- package/build/hu-json.fe71e6c8.chunk.js +1 -0
- package/build/i18n-settings-page.2bb5be96.chunk.js +1 -0
- package/build/id-json.41e07c46.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/it-json.bfe27ed8.chunk.js +1 -0
- package/build/ja-json.81b6d1e3.chunk.js +1 -0
- package/build/ko-json.4539f4ba.chunk.js +1 -0
- package/build/main.7fa3d343.js +3783 -0
- package/build/ml-json.8988e374.chunk.js +1 -0
- package/build/nl-json.98345913.chunk.js +1 -0
- package/build/{no-json.9b3cd181.chunk.js → no-json.19a2dbfa.chunk.js} +1 -1
- package/build/pl-json.59a5dab3.chunk.js +1 -0
- package/build/pt-BR-json.9410688b.chunk.js +1 -0
- package/build/ru-json.6a01cea6.chunk.js +1 -0
- package/build/runtime~main.ee2bfeea.js +2 -0
- package/build/sa-json.6359a11c.chunk.js +1 -0
- package/build/sk-json.2374f129.chunk.js +1 -0
- package/build/sso-settings-page.272b87c8.chunk.js +1 -0
- package/build/sv-json.ae6e71ea.chunk.js +1 -0
- package/build/th-json.5f659396.chunk.js +1 -0
- package/build/tr-json.bac5dbd3.chunk.js +1 -0
- package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +1 -0
- package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +1 -0
- package/build/transfer-tokens-list-page.3c9b0280.chunk.js +16 -0
- package/build/upload-settings.0875e973.chunk.js +1 -0
- package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +1 -0
- package/build/upload.c7da1611.chunk.js +13 -0
- package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
- package/build/users-email-settings-page.e8db68c4.chunk.js +1 -0
- package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +1 -0
- package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
- package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
- package/build/webhook-edit-page.329141a5.chunk.js +23 -0
- package/build/webhook-list-page.029957a4.chunk.js +1 -0
- package/build/zh-Hans-json.4cfef87d.chunk.js +1 -0
- package/build/zh-json.3529f1e5.chunk.js +1 -0
- package/ee/admin/hooks/index.js +2 -0
- package/ee/admin/hooks/useLicenseLimitNotification/index.js +88 -0
- package/ee/admin/hooks/useLicenseLimits/index.js +31 -0
- package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
- package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +13 -21
- package/ee/admin/pages/AuthPage/components/Login/index.js +3 -7
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
- package/ee/admin/pages/AuthPage/components/Providers/index.js +3 -10
- package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +88 -0
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -7
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +2 -5
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +21 -10
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +25 -11
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +52 -0
- package/ee/admin/pages/SettingsPage/utils/customRoutes.js +2 -16
- package/ee/admin/permissions/customPermissions.js +0 -3
- package/ee/server/bootstrap.js +4 -7
- package/ee/server/config/admin-actions.js +0 -10
- package/ee/server/controllers/admin.js +49 -0
- package/ee/server/controllers/index.js +1 -3
- package/ee/server/controllers/role.js +0 -39
- package/ee/server/controllers/user.js +62 -4
- package/ee/server/index.js +0 -1
- package/ee/server/routes/index.js +9 -122
- package/ee/server/services/audit-logs.js +15 -5
- package/ee/server/services/index.js +2 -3
- package/ee/server/services/seat-enforcement.js +114 -0
- package/ee/server/services/user.js +234 -0
- package/ee/server/utils/persisted-tables.js +49 -0
- package/ee/server/validation/role.js +28 -20
- package/package.json +18 -17
- package/server/bootstrap.js +2 -1
- package/server/config/admin-actions.js +48 -0
- package/server/content-types/User.js +4 -0
- package/server/content-types/api-token.js +1 -0
- package/server/content-types/index.js +2 -0
- package/server/content-types/transfer-token-permission.js +36 -0
- package/server/content-types/transfer-token.js +66 -0
- package/server/controllers/api-token.js +8 -7
- package/server/controllers/index.js +1 -0
- package/server/controllers/permission.js +2 -4
- package/server/controllers/role.js +70 -23
- package/server/controllers/transfer/index.js +13 -0
- package/server/controllers/transfer/runner.js +28 -0
- package/server/controllers/transfer/token.js +131 -0
- package/server/controllers/user.js +7 -1
- package/server/domain/user.js +3 -0
- package/server/middlewares/data-transfer.js +29 -0
- package/server/middlewares/index.js +1 -0
- package/server/register.js +2 -9
- package/server/routes/index.js +2 -0
- package/server/routes/roles.js +48 -0
- package/server/routes/transfer.js +102 -0
- package/server/services/api-token.js +2 -3
- package/server/services/constants.js +10 -0
- package/server/services/index.js +1 -0
- package/server/services/permission/permissions-manager/index.js +9 -5
- package/server/services/permission/permissions-manager/sanitize.js +103 -4
- package/server/services/permission/queries.js +1 -74
- package/server/services/transfer/index.js +7 -0
- package/server/services/transfer/permission.js +22 -0
- package/server/services/transfer/token.js +426 -0
- package/server/services/transfer/utils.js +38 -0
- package/server/strategies/api-token.js +4 -2
- package/server/strategies/data-transfer.js +109 -0
- package/server/strategies/index.js +1 -0
- package/server/utils/index.d.ts +2 -0
- package/server/validation/api-tokens.js +1 -6
- package/server/validation/permission.js +1 -82
- package/server/validation/role.js +44 -0
- package/server/validation/transfer/index.js +5 -0
- package/server/validation/transfer/token.js +42 -0
- package/webpack.alias.js +0 -1
- package/admin/src/assets/images/hot-air-balloon.png +0 -0
- package/admin/src/assets/images/upgrade-details.png +0 -0
- package/admin/src/components/UpgradePlanModal/index.js +0 -131
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +0 -51
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/recursivelyFindPathsBasedOnCondition.js +0 -79
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +0 -78
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +0 -40
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +0 -112
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
- package/build/1412.936ed920.chunk.js +0 -159
- package/build/1683.d59d0f23.chunk.js +0 -268
- package/build/2607.2e48dbf8.chunk.js +0 -66
- package/build/2743.646a1015.chunk.js +0 -45
- package/build/3075.3ee481f1.chunk.js +0 -108
- package/build/3632.2e378cf8.chunk.js +0 -138
- package/build/4318.cd55ce02.chunk.js +0 -30
- package/build/617f9c948fa79e6d73bd.png +0 -0
- package/build/6d21938306785f176538.png +0 -0
- package/build/8633.00ccd382.chunk.js +0 -1
- package/build/9707.b36ed71e.chunk.js +0 -96
- package/build/Admin-authenticatedApp.a73577e1.chunk.js +0 -79
- package/build/Admin_InternalErrorPage.178ddb90.chunk.js +0 -1
- package/build/Admin_homePage.c2f5f27d.chunk.js +0 -77
- package/build/Admin_marketplace.1df49c42.chunk.js +0 -26
- package/build/Admin_pluginsPage.8d824408.chunk.js +0 -6
- package/build/Admin_profilePage.cb667bc5.chunk.js +0 -15
- package/build/Admin_settingsPage.f90615fb.chunk.js +0 -178
- package/build/Upload_ConfigureTheView.d306009d.chunk.js +0 -1
- package/build/admin-app.06f07029.chunk.js +0 -112
- package/build/admin-edit-roles-page.35199b9d.chunk.js +0 -1
- package/build/admin-edit-users.9e48b00d.chunk.js +0 -10
- package/build/admin-users.cf7b4151.chunk.js +0 -11
- package/build/api-tokens-list-page.e600ad3e.chunk.js +0 -16
- package/build/audit-logs-settings-page.d4da4579.chunk.js +0 -1
- package/build/ca-json.4d999055.chunk.js +0 -1
- package/build/content-manager.255c3a59.chunk.js +0 -1139
- package/build/content-type-builder-list-view.8d7a3d68.chunk.js +0 -193
- package/build/content-type-builder-translation-zh-Hans-json.52a30266.chunk.js +0 -1
- package/build/content-type-builder.3c8558a5.chunk.js +0 -126
- package/build/de-json.866f8a28.chunk.js +0 -1
- package/build/dk-json.10f7b1d1.chunk.js +0 -1
- package/build/email-settings-page.b19f2eb2.chunk.js +0 -10
- package/build/en-json.1997583c.chunk.js +0 -1
- package/build/es-json.ea15c957.chunk.js +0 -1
- package/build/eu-json.3bc24d60.chunk.js +0 -1
- package/build/fr-json.e88fbdfd.chunk.js +0 -1
- package/build/gu-json.94f0d242.chunk.js +0 -1
- package/build/hi-json.df3a7be2.chunk.js +0 -1
- package/build/hu-json.680e6eef.chunk.js +0 -1
- package/build/i18n-settings-page.a6b49eac.chunk.js +0 -60
- package/build/id-json.e0d83d41.chunk.js +0 -1
- package/build/it-json.8be59205.chunk.js +0 -1
- package/build/ja-json.97ee41ba.chunk.js +0 -1
- package/build/ko-json.4cbbf4f2.chunk.js +0 -1
- package/build/main.7f308c20.js +0 -4322
- package/build/ml-json.e3747091.chunk.js +0 -1
- package/build/nl-json.371a15ee.chunk.js +0 -1
- package/build/pl-json.e535cbce.chunk.js +0 -1
- package/build/pt-BR-json.e5fafa46.chunk.js +0 -1
- package/build/review-workflows-settings.7b4be1b0.chunk.js +0 -63
- package/build/ru-json.866f0ff1.chunk.js +0 -1
- package/build/runtime~main.bf374148.js +0 -2
- package/build/sa-json.7efeb257.chunk.js +0 -1
- package/build/sk-json.7bbeb0af.chunk.js +0 -1
- package/build/sso-settings-page.ad2143dd.chunk.js +0 -41
- package/build/sv-json.dc40951f.chunk.js +0 -1
- package/build/th-json.f664b96d.chunk.js +0 -1
- package/build/tr-json.b79eae31.chunk.js +0 -1
- package/build/upload-settings.eb1a7908.chunk.js +0 -84
- package/build/upload-translation-zh-Hans-json.3da5cf56.chunk.js +0 -1
- package/build/upload.700e2c84.chunk.js +0 -33
- package/build/users-advanced-settings-page.aae212f2.chunk.js +0 -8
- package/build/users-email-settings-page.8a9b0da1.chunk.js +0 -23
- package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +0 -1
- package/build/users-providers-settings-page.e6be909d.chunk.js +0 -99
- package/build/users-roles-settings-page.97d06a80.chunk.js +0 -30
- package/build/webhook-edit-page.9eb0f789.chunk.js +0 -75
- package/build/webhook-list-page.66082323.chunk.js +0 -42
- package/build/zh-Hans-json.30a18940.chunk.js +0 -1
- package/build/zh-json.49d84433.chunk.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +0 -137
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +0 -42
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +0 -87
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +0 -90
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +0 -77
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +0 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +0 -6
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +0 -63
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +0 -102
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +0 -25
- package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +0 -267
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ConditionsSelect/MenuList/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +0 -370
- package/ee/admin/pages/SettingsPage/pages/Roles/ProtectedListPage/index.js +0 -12
- package/ee/server/constants/default-stages.json +0 -14
- package/ee/server/constants/default-workflow.json +0 -1
- package/ee/server/constants/workflows.js +0 -7
- package/ee/server/content-types/index.js +0 -9
- package/ee/server/content-types/workflow/index.js +0 -34
- package/ee/server/content-types/workflow-stage/index.js +0 -36
- package/ee/server/controllers/permission.js +0 -21
- package/ee/server/controllers/workflows/index.js +0 -36
- package/ee/server/controllers/workflows/stages/index.js +0 -57
- package/ee/server/services/review-workflows/review-workflows.js +0 -54
- package/ee/server/services/review-workflows/stages.js +0 -133
- package/ee/server/services/review-workflows/workflows.js +0 -25
- package/ee/server/utils/index.js +0 -8
- package/ee/server/utils/test.js +0 -11
- package/ee/server/validation/permission.js +0 -8
- package/ee/server/validation/review-workflows.js +0 -17
- package/server/domain/role.js +0 -29
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DefaultButton/index.js +1 -1
- /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/CreatePage/utils/schema.js +0 -0
- /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/ListPage/reducer.js +0 -0
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{96822:function(te,S,t){t.r(S),t.d(S,{SettingsPage:function(){return Gt},default:function(){return St}});var e=t(32735),R=t(13478),i=t(5141),de=t(96709),X=t(5636),Ue=t(99357),se=t(8888),Ae=t(64421),Ie=t(84968),xe=t(28356),Ke=t(17e3),H=t(27649),x=t(72850),T=t(15335),Ce=t(5803),Z=t(49372),Be=t(27677),j=t(41415),ie=t(41502),D=t(47361),Ne=t(66456),Q=t(72041),$e=t(60216),p=t.n($e);const ue=750,Me=100,Le=["image/jpeg","image/png","image/svg+xml"];var Ge=t(23272),Xe=t(68387),we=t(98779),Qe=t(50563),nt=t(19406),ot=t(44647),ne=t(85025),Ye=t(55225),le=t(97889);const Y={localImage:void 0};var me=(m=Y,u)=>(0,le.default)(m,g=>{switch(u.type){case"SET_LOCAL_IMAGE":{g.localImage=u.value;break}default:return g}});const z=({onChangeLogo:m,customLogo:u,goTo:g,Component:E,modalTitle:P,next:B,prev:oe,currentStep:G})=>{const[{localImage:N},I]=(0,e.useReducer)(me,Y),{formatMessage:ge}=(0,X.useIntl)(),K=Re=>{I({type:"SET_LOCAL_IMAGE",value:Re})},Oe=()=>{g(null)};return G?e.createElement(ne.P,{labelledBy:"modal",onClose:Oe},e.createElement(Ye.x,null,e.createElement(Z.Z,{fontWeight:"bold",as:"h2",id:"modal"},ge(P))),e.createElement(E,{setLocalImage:K,goTo:g,next:B,prev:oe,onClose:Oe,asset:N||u,onChangeLogo:m})):null};z.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},z.propTypes={Component:p().elementType,currentStep:p().string,customLogo:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}),goTo:p().func.isRequired,modalTitle:p().shape({id:p().string,defaultMessage:p().string}),next:p().string,onChangeLogo:p().func.isRequired,prev:p().string};var J=z;const re={currentStep:void 0};var ve=(m=re,u)=>(0,le.default)(m,g=>{switch(u.type){case"GO_TO":{g.currentStep=u.to;break}default:return g}}),Ze=t(35540),ce=t(39291),Ee=t(3653),We=t(9026),h=t(83292),Pe=t(87933),je=t(99140),v=t(11406),U=t(98275),_=t(87107),ee=t(47851),k=t(47284);const Se={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},ye={id:"Settings.application.customization.modal.upload.error-size",defaultMessage:"The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"},Je=m=>new Promise(u=>{const g=new FileReader;g.onload=()=>{const E=new Image;E.onload=function(){u({width:E.width,height:E.height})},E.src=g.result},g.readAsDataURL(m)}),He=(m,u)=>({ext:m.name.split(".").pop(),size:m.size/1e3,name:m.name,url:URL.createObjectURL(m),rawFile:m,width:u.width,height:u.height}),M=async m=>{let u;if(!Le.includes(m.type))throw u=new Error("File format"),u.displayMessage=Se,u;const E=await Je(m);if(!(E.width<=ue&&E.height<=ue))throw u=new Error("File sizing"),u.displayMessage=ye,u;const B=He(m,E);if(!(B.size<=Me))throw u=new Error("File sizing"),u.displayMessage=ye,u;return B},pe=(0,h.default)(U._)`
|
|
2
|
-
opacity: 0;
|
|
3
|
-
position: absolute;
|
|
4
|
-
top: 0;
|
|
5
|
-
bottom: 0;
|
|
6
|
-
left: 0;
|
|
7
|
-
right: 0;
|
|
8
|
-
z-index: 1;
|
|
9
|
-
`,at=({setLocalImage:m,goTo:u,next:g,onClose:E})=>{const{formatMessage:P}=(0,X.useIntl)(),[B,oe]=(0,e.useState)(!1),[G,N]=(0,e.useState)(void 0),I=(0,e.useRef)(null),ge=()=>oe(!0),K=()=>oe(!1),Oe=qe=>{qe.preventDefault(),I.current.click()},Re=async()=>{K();const qe=I.current.files[0];if(qe)try{const _e=await M(qe);m(_e),u(g)}catch(_e){if(_e.displayMessage)N(P(_e.displayMessage,{size:Me,dimension:ue})),I.current.focus();else throw _e}},ze=()=>B?"primary500":G?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(_.g,{name:"logo-upload",error:G},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(Be.K,{spacing:2},e.createElement(Pe.k,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:B?"primary100":"neutral100",borderColor:ze(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:ge,onDragLeave:K},e.createElement(je.J,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:k.Z,"aria-hidden":!0}),e.createElement(x.x,{paddingTop:3,paddingBottom:5},e.createElement(Z.Z,{variant:"delta",as:"span"},P({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(pe,{accept:Le,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:Re,ref:I,id:"logo-upload"}),e.createElement(j.z,{type:"button",onClick:Oe},P({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(x.x,{paddingTop:6},e.createElement(Z.Z,{variant:"pi",textColor:"neutral600"},P({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:Me,dimension:ue})))),e.createElement(ee.c,null)))))),e.createElement(v.m,{startActions:e.createElement(j.z,{onClick:E,variant:"tertiary"},P({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};at.defaultProps={next:null},at.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var bt=at,At=t(10369),it=t(55721),ft=async m=>{try{const u=await it.Z.get(m,{responseType:"blob",timeout:8e3});return new File([u.data],u.config.url,{type:u.headers["content-type"]})}catch(u){throw u.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},u}};const xt=({goTo:m,next:u,onClose:g,setLocalImage:E})=>{const{formatMessage:P}=(0,X.useIntl)(),[B,oe]=(0,e.useState)(""),[G,N]=(0,e.useState)(null),I=K=>{oe(K.target.value)},ge=async()=>{try{const K=await ft(B),Oe=await M(K);E(Oe),m(u)}catch(K){if(K.displayMessage)N(P(K.displayMessage,{size:Me,dimension:ue}));else throw K}};return e.createElement("form",{onSubmit:K=>{K.preventDefault(),ge()}},e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(At.o,{label:P({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:G,onChange:I,value:B,name:"logo-url"})),e.createElement(v.m,{startActions:e.createElement(j.z,{onClick:g,variant:"tertiary"},P({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(j.z,{type:"submit"},P({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};xt.defaultProps={next:null},xt.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var st=xt;const Mt=({setLocalImage:m,goTo:u,next:g,onClose:E})=>{const{formatMessage:P}=(0,X.useIntl)();return e.createElement(Ze.v,{label:P({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(x.x,{paddingLeft:8,paddingRight:8},e.createElement(ce.m,null,e.createElement(ce.O,null,P({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(ce.O,null,P({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(We.i,null)),e.createElement(Ee.n,null,e.createElement(Ee.x,null,e.createElement(bt,{onClose:E,setLocalImage:m,goTo:u,next:g})),e.createElement(Ee.x,null,e.createElement(st,{onClose:E,setLocalImage:m,goTo:u,next:g}))))};Mt.defaultProps={next:null},Mt.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var Ht=Mt,Vt=t(42466),vn=t(20853),lt=t(2800),Sn=t(26835),rt=t(41048),ht=t(37083),Et=t(11505);const yt=({asset:m})=>{const{formatMessage:u}=(0,X.useIntl)();return e.createElement(Vt.Z,null,e.createElement(vn.O,null,e.createElement(lt.H,{size:"S",src:m.url})),e.createElement(Sn.e,null,e.createElement(rt.a,null,e.createElement(ht.l,null,m.name),e.createElement(ht._,null,`${m.ext.toUpperCase()} - ${m.width}\u2715${m.height}`)),e.createElement(Et.E,null,u({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};yt.propTypes={asset:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}).isRequired};var Kt=yt;const ut=({onClose:m,asset:u,prev:g,next:E,goTo:P,setLocalImage:B,onChangeLogo:oe})=>{const{formatMessage:G}=(0,X.useIntl)(),N=()=>{B(void 0),P(g)},I=()=>{oe(u),P(E)};return e.createElement(e.Fragment,null,e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Pe.k,{justifyContent:"space-between",paddingBottom:6},e.createElement(Pe.k,{direction:"column",alignItems:"flex-start"},e.createElement(Z.Z,{variant:"pi",fontWeight:"bold"},G({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(Z.Z,{variant:"pi",textColor:"neutral500"},G({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(j.z,{onClick:N,variant:"secondary"},G({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(x.x,{maxWidth:(0,R.pxToRem)(180)},e.createElement(Kt,{asset:u}))),e.createElement(v.m,{startActions:e.createElement(j.z,{onClick:m,variant:"tertiary"},G({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(j.z,{onClick:I},G({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};ut.defaultProps={next:null,prev:null},ut.propTypes={goTo:p().func.isRequired,asset:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}).isRequired,next:p().string,onClose:p().func.isRequired,onChangeLogo:p().func.isRequired,prev:p().string,setLocalImage:p().func.isRequired};var Lt=ut,Qt={upload:{Component:Ht,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Lt,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const mt=({canUpdate:m,customLogo:u,defaultLogo:g,hint:E,label:P,onChangeLogo:B,onResetLogo:oe})=>{const[{currentStep:G},N]=(0,e.useReducer)(ve,re),{Component:I,next:ge,prev:K,modalTitle:Oe}=Qt[G]||{},{formatMessage:Re}=(0,X.useIntl)(),ze=qe=>{N({type:"GO_TO",to:qe})};return e.createElement(e.Fragment,null,e.createElement(Ge.F,{label:P,selectedSlide:0,hint:E,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:u?.name||"logo.png",actions:e.createElement(Xe.b,null,e.createElement(Qe.h,{disabled:!m,onClick:()=>ze(u?"pending":"upload"),label:Re({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(nt.default,null)}),u&&e.createElement(Qe.h,{disabled:!m,onClick:oe,label:Re({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(ot.Z,null)}))},e.createElement(we.q,{label:Re({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(x.x,{maxHeight:"40%",maxWidth:"40%",as:"img",src:u?.url||g,alt:Re({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(J,{Component:I,currentStep:G,onChangeLogo:B,customLogo:u,goTo:ze,next:ge,prev:K,modalTitle:Oe}))};mt.defaultProps={canUpdate:!1,customLogo:null,hint:null},mt.propTypes={canUpdate:p().bool,customLogo:p().shape({url:p().string,name:p().string}),label:p().string.isRequired,hint:p().string,defaultLogo:p().string.isRequired,onChangeLogo:p().func.isRequired,onResetLogo:p().func.isRequired};var Dt=mt;const It={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var Pt=(m=It,u)=>(0,le.default)(m,g=>{switch(u.type){case"SET_CUSTOM_MENU_LOGO":{g.menuLogo.display=u.value,g.menuLogo.submit.rawFile=u.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{g.authLogo.display=u.value,g.authLogo.submit.rawFile=u.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{g.menuLogo.display=null,g.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{g.authLogo.display=null,g.authLogo.submit={rawFile:null,isReset:!0};break}default:return g}}),Yt=t(86349),Ot=t.n(Yt),Jt=(m,u)=>Ot()(m,{menuLogo:{display:u.menuLogo},authLogo:{display:u.authLogo}});const Ft=(0,e.forwardRef)(({canUpdate:m,projectSettingsStored:u},g)=>{const{formatMessage:E}=(0,X.useIntl)(),{trackUsage:P}=(0,R.useTracking)(),{logos:{menu:B,auth:oe}}=(0,se.um)(),[{menuLogo:G,authLogo:N},I]=(0,e.useReducer)(Pt,It,()=>Jt(It,u)),ge=ze=>{I({type:"SET_CUSTOM_MENU_LOGO",value:ze})},K=()=>{P("didClickResetLogo",{logo:"menu"}),I({type:"RESET_CUSTOM_MENU_LOGO"})},Oe=ze=>{I({type:"SET_CUSTOM_AUTH_LOGO",value:ze})},Re=()=>{P("didClickResetLogo",{logo:"auth"}),I({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(g,()=>({getValues:()=>({menuLogo:G.submit,authLogo:N.submit})})),e.createElement(x.x,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(Z.Z,{variant:"delta",as:"h3"},E({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(Z.Z,{variant:"pi",textColor:"neutral600"},E({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:ue,size:Me})),e.createElement(T.r,{paddingTop:4,gap:4},e.createElement(Ce.P,{col:6,s:12},e.createElement(Dt,{canUpdate:m,customLogo:G.display,defaultLogo:B.default,hint:E({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:E({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:ge,onResetLogo:K})),e.createElement(Ce.P,{col:6,s:12},e.createElement(Dt,{canUpdate:m,customLogo:N.display,defaultLogo:oe.default,hint:E({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:E({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:Oe,onResetLogo:Re}))))});Ft.defaultProps={canUpdate:!1,projectSettingsStored:null},Ft.propTypes={canUpdate:p().bool,projectSettingsStored:p().shape({menuLogo:p().shape({url:p().string,name:p().string})})};var Bt=Ft,bn=t(48344),qt=t.n(bn),Nt=m=>qt()(m,(u,g,E)=>{g&&g.url?u[E]={...g,url:(0,R.prefixFileUrlWithBackendUrl)(g.url)}:u[E]=g},{});const _t=async()=>{const{get:m}=(0,R.getFetchClient)(),{data:u}=await m("/admin/project-settings");return Nt(u)},Ct=async m=>{const{post:u}=(0,R.getFetchClient)(),{data:g}=await u("/admin/project-settings",m,{headers:{"Content-Type":"multipart/form-data"}});return Nt(g)};var $t=m=>{const u=new FormData;return Object.entries(m).forEach(([g,E])=>{E&&E.rawFile instanceof File&&u.append(g,E.rawFile),E&&E.isReset&&u.append(g,null)}),u},tn=()=>{const m=(0,e.useRef)(),u=(0,R.useNotification)(),{trackUsage:g}=(0,R.useTracking)(),{formatMessage:E}=(0,X.useIntl)(),P=(0,Ie.useQueryClient)();(0,R.useFocusWhenNavigate)();const B=(0,R.useAppInfos)(),{shouldUpdateStrapi:oe,latestStrapiReleaseTag:G,strapiVersion:N}=B,{updateProjectSettings:I}=(0,se.um)(),{allowedActions:{canRead:ge,canUpdate:K}}=(0,R.useRBAC)(Q.Z.settings["project-settings"]),Oe=ge&&K,{data:Re}=(0,Ie.useQuery)("project-settings",_t,{enabled:ge}),ze=B.communityEdition?"app.components.UpgradePlanModal.text-ce":"app.components.UpgradePlanModal.text-ee",qe=(0,Ie.useMutation)(ct=>Ct(ct),{async onSuccess({menuLogo:ct,authLogo:pt}){await P.invalidateQueries("project-settings",{refetchActive:!0}),I({menuLogo:ct?.url,authLogo:pt?.url})}}),_e=ct=>{if(ct.preventDefault(),!K)return;const pt=m.current.getValues(),mn=$t(pt);qe.mutate(mn,{onSuccess(){const{menuLogo:pn,authLogo:gn}=pt;pn.rawFile&&g("didChangeLogo",{logo:"menu"}),gn.rawFile&&g("didChangeLogo",{logo:"auth"}),u({type:"success",message:E({id:"app",defaultMessage:"Saved"})})},onError(){u({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(de.A,null,e.createElement(R.SettingsPageTitle,{name:"Application"}),e.createElement(H.o,null,e.createElement("form",{onSubmit:_e},e.createElement(xe.T,{title:E({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:E({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:Oe&&e.createElement(j.z,{type:"submit",startIcon:e.createElement(Ne.Z,null)},E({id:"global.save",defaultMessage:"Save"}))}),e.createElement(Ke.D,null,e.createElement(Be.K,{spacing:6},e.createElement(Be.K,{spacing:5,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(Z.Z,{variant:"delta",as:"h3"},E({id:"global.details",defaultMessage:"Details"})),e.createElement(T.r,{paddingTop:1},e.createElement(Ce.P,{col:6,s:12},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(Z.Z,{as:"p"},"v",N),e.createElement(ie.r,{href:B.communityEdition?"https://discord.strapi.io":"https://support.strapi.io/support/home",isExternal:!0,endIcon:e.createElement(D.Z,null)},E({id:"Settings.application.get-help",defaultMessage:"Get help"}))),e.createElement(Ce.P,{col:6,s:12},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(Z.Z,{as:"p"},E({id:ze,defaultMessage:`${B.communityEdition?"Community Edition":"Enterprise Edition"}`})))),e.createElement(T.r,{paddingTop:1},e.createElement(Ce.P,{col:6,s:12},oe&&e.createElement(ie.r,{href:`https://github.com/strapi/strapi/releases/tag/${G}`,isExternal:!0,endIcon:e.createElement(D.Z,null)},E({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"}))),e.createElement(Ce.P,{col:6,s:12},e.createElement(ie.r,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(D.Z,null)},E({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(x.x,{paddingTop:1},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(Z.Z,{as:"p"},B.nodeVersion))),ge&&Re&&e.createElement(Bt,{canUpdate:K,ref:m,projectSettingsStored:Re}))))))},nn=t(3704),on=t.n(nn),an=m=>on()(m,g=>g.links).map(g=>(0,Ae.ot)(g.Component,g.to,g.exact||!1)),sn=m=>m.filter(u=>!u.links.every(g=>g.isDisplayed===!1));const jt=(()=>window&&window.strapi&&window.strapi.isEE?t(20178).Z:t(16329).Z)(),Ln=(()=>window&&window.strapi&&window.strapi.isEE?t(51899).Z:t(45677).Z)();var zt=[{Component(){return{default:Ln}},to:"/settings/roles",exact:!0},{Component(){return{default:jt}},to:"/settings/roles/duplicate/:id",exact:!0},{Component(){return{default:jt}},to:"/settings/roles/new",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,33778))},to:"/settings/roles/:id",exact:!0},{async Component(){return await t.e(5199).then(t.bind(t,27549))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,34669))},to:"/settings/users/:id",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,33238))},to:"/settings/webhooks/create",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,59021))},to:"/settings/webhooks/:id",exact:!0},{async Component(){return await t.e(4121).then(t.bind(t,74767))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,83782))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(8633),t.e(4318),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(8633),t.e(4318),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0}],rn=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...zt],vt=t(90700),cn=t(8598),dn=t(77013),Ut=t(79318),un=t(66618);const Wt=({menu:m})=>{const{formatMessage:u}=(0,X.useIntl)(),{trackUsage:g}=(0,R.useTracking)(),{pathname:E}=(0,i.useLocation)(),B=sn(m).map(N=>({...N,title:N.intlLabel,links:N.links.map(I=>({...I,title:I.intlLabel,name:I.id}))})),oe=u({id:"global.settings",defaultMessage:"Settings"}),G=(N=null)=>{g("willNavigate",{from:E,to:N})};return e.createElement(vt.m,{ariaLabel:oe},e.createElement(cn.p,{label:oe}),e.createElement(dn.Z,null,B.map(N=>e.createElement(Ut.D,{key:N.id,label:u(N.intlLabel)},N.links.map(I=>e.createElement(un.E,{as:i.NavLink,withBullet:I.hasNotification,to:I.to,onClick:()=>G(I.to),key:I.id},u(I.intlLabel)))))))};Wt.propTypes={menu:p().array.isRequired};var kt=Wt;function Gt(){const{settingId:m}=(0,i.useParams)(),{settings:u}=(0,R.useStrapiApp)(),{formatMessage:g}=(0,X.useIntl)(),{isLoading:E,menu:P}=(0,se.Te)(),B=(0,e.useMemo)(()=>(0,Ae.WW)(rn.map(({to:N,Component:I,exact:ge})=>(0,Ae.ot)(I,N,ge))),[]),oe=an(u);if(E)return e.createElement(R.LoadingIndicatorPage,null);if(!m)return e.createElement(i.Redirect,{to:"/settings/application-infos"});const G=g({id:"global.settings",defaultMessage:"Settings"});return e.createElement(de.A,{sideNav:e.createElement(kt,{menu:P})},e.createElement(Ue.Helmet,{title:G}),e.createElement(i.Switch,null,e.createElement(i.Route,{path:"/settings/application-infos",component:tn,exact:!0}),B,oe))}var St=(0,e.memo)(Gt)},16329:function(te,S,t){var e=t(32735),R=t(5141);const i=()=>e.createElement(R.Redirect,{to:"/404"});S.Z=i},49466:function(te,S){S.Z=!0},35123:function(te,S){S.Z=!0},18318:function(te,S){S.Z=!0},52124:function(te,S){S.Z=!0},61526:function(te,S){S.Z=!0},78974:function(te,S,t){t.d(S,{Z:function(){return fo}});var e=t(32735),R=t(60216),i=t.n(R),de=t(13478),X=t(35540),Ue=t(39291),se=t(3653),Ae=t(23973),Ie=t.n(Ae),xe=t(86834),Ke=t.n(xe),H=t(5636),x=t(72850),T=t(83292),Ce=t(98978),Z=t.n(Ce),Be=t(96441),j=t(15974),ie=t(44426),D=t(87933),Ne=t(33795),Q=t.n(Ne),$e=t(9086),p=t.n($e),ue=t(8888),Me=t(45112),Le=t(41415);const Ge=T.default.div`
|
|
10
|
-
position: relative;
|
|
11
|
-
|
|
12
|
-
${({hasConditions:o,disabled:n,theme:a})=>o&&`
|
|
13
|
-
&:before {
|
|
14
|
-
content: '';
|
|
15
|
-
position: absolute;
|
|
16
|
-
top: -3px;
|
|
17
|
-
left: -10px;
|
|
18
|
-
width: 6px;
|
|
19
|
-
height: 6px;
|
|
20
|
-
border-radius: ${20/16}rem;;
|
|
21
|
-
background: ${n?a.colors.neutral100:a.colors.primary600};
|
|
22
|
-
}
|
|
23
|
-
`}
|
|
24
|
-
`,Xe=({onClick:o,className:n,hasConditions:a,variant:s})=>{const{formatMessage:l}=(0,H.useIntl)();return e.createElement(Ge,{hasConditions:a,className:n},e.createElement(Le.z,{variant:s,startIcon:e.createElement(Me.Z,null),onClick:o},l({id:"global.settings",defaultMessage:"Settings"})))};Xe.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Xe.propTypes={onClick:i().func.isRequired,className:i().string,hasConditions:i().bool,variant:i().string};var we=(0,T.default)(Xe)``,Qe=t(85025),nt=t(55225),ot=t(31600),ne=t(11406),Ye=t(11299),le=t(49372),Y=t(97889),V=t(81346),me=t.n(V),z=t(23940),J=t.n(z),re=t(27799);const fe=o=>Object.values(o).map(n=>Object.entries(n).filter(([,a])=>a).map(([a])=>a)).flat(),ve=o=>o.reduce((n,[a,s])=>(n.push({label:J()(a),children:s.map(l=>({label:l.displayName,value:l.id}))}),n),[]),Ze=(o,n)=>o.map(([,a])=>a).flat().reduce((a,s)=>({[s.id]:n.includes(s.id),...a}),{}),ce=(()=>window&&window.strapi&&window.strapi.isEE?t(56899).Z:t(49466).Z)(),Ee=o=>{let{arrayOfOptionsGroupedByCategory:n,isFormDisabled:a,isGrey:s,label:l,name:r,onChange:c,value:d}=o;const{formatMessage:f}=(0,H.useIntl)(),y=C=>{c(r,Ze(n,C))};return e.createElement(D.k,{as:"li",background:s?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(D.k,{paddingLeft:6,style:{width:180}},e.createElement(le.Z,{variant:"sigma",textColor:"neutral600"},f({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(le.Z,{variant:"sigma",title:l,textColor:"primary600",ellipsis:!0},f({id:`Settings.roles.form.permissions.${l.toLowerCase()}`,defaultMessage:l})),e.createElement(le.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",f({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(x.x,{style:{maxWidth:430,width:"100%"}},e.createElement(re.Q,{id:r,customizeContent:C=>`${C.length} currently selected`,onChange:y,value:fe(d),options:ve(n),disabled:a||ce})))};Ee.propTypes={arrayOfOptionsGroupedByCategory:i().array.isRequired,isFormDisabled:i().bool.isRequired,isGrey:i().bool.isRequired,label:i().string.isRequired,name:i().string.isRequired,value:i().object.isRequired,onChange:i().func.isRequired};var We=Ee,h=t(92891);const Pe=(o,n)=>o.reduce((a,s)=>(a[s.id]=(0,h.get)(n,s.id,!1),a),{}),je=(o,n)=>o.reduce((a,s)=>{const[l,r]=s,c=Pe(r,n);return a[l]=c,a},{});var U=(o,n,a)=>o.reduce((s,l)=>{const r=(0,h.get)(n,[...l.pathToConditionsObject,"conditions"],{}),c=je(a,r);return s[l.pathToConditionsObject.join("..")]=c,s},{});const _=({actions:o,headerBreadCrumbs:n,isFormDisabled:a,onClosed:s,onToggle:l})=>{const{formatMessage:r}=(0,H.useIntl)(),{availableConditions:c,modifiedData:d,onChangeConditions:f}=(0,ue.$_)(),y=(0,e.useMemo)(()=>Object.entries(me()(c,"category")),[c]),C=o.filter(({isDisplayed:b,hasSomeActionsSelected:O,hasAllActionsSelected:$})=>b&&(O||$)),A=(0,e.useMemo)(()=>U(C,d,y),[C,d,y]),[L,q]=(0,e.useState)(A),F=(b,O)=>{q((0,Y.default)($=>{$[b]||($[b]={}),$[b].default||($[b].default={}),$[b].default=O}))},W=()=>{const b=Object.entries(L).reduce((O,$)=>{const[w,ae]=$,Fe=Object.values(ae).reduce((Te,he)=>({...Te,...he}),{});return O[w]=Fe,O},{});f(b),l()};return e.createElement(Qe.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(nt.x,null,e.createElement(Ye.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(b=>e.createElement(Ye.$,{key:b},J()(r({id:b,defaultMessage:b})))))),e.createElement(ot.f,null,C.length===0&&e.createElement(le.Z,null,r({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,C.map(({actionId:b,label:O,pathToConditionsObject:$},w)=>{const ae=$.join("..");return e.createElement(We,{key:b,arrayOfOptionsGroupedByCategory:y,label:O,isFormDisabled:a,isGrey:w%2===0,name:ae,onChange:F,value:Q()(L,ae,{})})}))),e.createElement(ne.m,{startActions:e.createElement(Le.z,{variant:"tertiary",onClick:l},r({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(Le.z,{onClick:W},r({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};_.propTypes={actions:i().arrayOf(i().shape({actionId:i().string.isRequired,checkboxName:i().string,hasSomeActionsSelected:i().bool.isRequired,hasAllActionsSelected:i().bool,isDisplayed:i().bool.isRequired,label:i().string})).isRequired,headerBreadCrumbs:i().arrayOf(i().string).isRequired,isFormDisabled:i().bool.isRequired,onClosed:i().func.isRequired,onToggle:i().func.isRequired};var ee=_;const k=`${120/16}rem`,Se=`${200/16}rem`,ye=`${53/16}rem`;var He=T.default.div`
|
|
25
|
-
width: ${k};
|
|
26
|
-
`,pe=(0,T.default)(D.k)`
|
|
27
|
-
padding-right: ${({theme:o})=>o.spaces[2]};
|
|
28
|
-
overflow: hidden;
|
|
29
|
-
flex: 1;
|
|
30
|
-
${({isCollapsable:o})=>o&&"cursor: pointer;"}
|
|
31
|
-
`;const at=({children:o,isCollapsable:n,isActive:a,isFormDisabled:s,label:l,onChange:r,onClick:c,checkboxName:d,someChecked:f,value:y})=>{const{formatMessage:C}=(0,H.useIntl)();return e.createElement(D.k,{alignItems:"center",paddingLeft:6,style:{width:Se,flexShrink:0}},e.createElement(x.x,{paddingRight:2},e.createElement(ie.C,{name:d,"aria-label":C({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:l}),disabled:s,onValueChange:A=>r({target:{name:d,value:A}}),indeterminate:f,value:y})),e.createElement(pe,{title:l,alignItems:"center",isCollapsable:n,...n&&{onClick:c,"aria-expanded":a,onKeyDown:({key:A})=>(A==="Enter"||A===" ")&&c(),tabIndex:0,role:"button"}},e.createElement(le.Z,{fontWeight:a?"bold":"",textColor:a?"primary600":"neutral800",ellipsis:!0},J()(l)),o))};at.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},at.propTypes={checkboxName:i().string,children:i().node,label:i().string.isRequired,isCollapsable:i().bool,isFormDisabled:i().bool.isRequired,onChange:i().func,onClick:i().func.isRequired,someChecked:i().bool,value:i().bool,isActive:i().bool.isRequired};var bt=(0,e.memo)(at);const At=o=>(0,h.isObject)(o)?(0,h.flattenDeep)(Object.values(o).map(n=>(0,h.isObject)(n)?At(n):n)):[];var it=At,ft=o=>o?Object.keys(o).reduce((n,a)=>(a!=="conditions"&&(n[a]=o[a]),n),{}):null,st=o=>{const n=ft(o),a=it(n);if(!a.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=a.every(r=>r),l=a.some(r=>r)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:l}},Ht=(o,n,a)=>o.map(({actionId:s,isDisplayed:l,applyToProperties:r,label:c})=>{if(!l)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:l};const d=[...a.split(".."),s],f=(0,h.isEmpty)(r)?[...d,"properties","enabled"]:d,y=f.join(".."),C=(0,h.get)(n,[...d,"conditions"],null),A=it(C).some(W=>W);if((0,h.isEmpty)(r)){const W=(0,h.get)(n,f,!1);return{actionId:s,checkboxName:y,hasAllActionsSelected:W,hasConditions:A,hasSomeActionsSelected:W,isDisplayed:l,isParentCheckbox:!1,label:c,pathToConditionsObject:d}}const L=(0,h.get)(n,f,null),{hasAllActionsSelected:q,hasSomeActionsSelected:F}=st(L);return{actionId:s,checkboxName:y,hasAllActionsSelected:q,hasConditions:A,hasSomeActionsSelected:F,isDisplayed:l,isParentCheckbox:!0,label:c,pathToConditionsObject:d}}),Vt=t(16899),lt=(0,T.default)(Vt.default)`
|
|
32
|
-
display: none;
|
|
33
|
-
width: ${10/16}rem;
|
|
34
|
-
transform: rotate(${({$isActive:o})=>o?"180":"0"}deg);
|
|
35
|
-
margin-left: ${({theme:o})=>o.spaces[2]};
|
|
36
|
-
`,rt=o=>`
|
|
37
|
-
${le.Z} {
|
|
38
|
-
color: ${o.colors.primary600};
|
|
39
|
-
font-weight: ${o.fontWeights.bold}
|
|
40
|
-
}
|
|
41
|
-
${lt} {
|
|
42
|
-
display: block;
|
|
43
|
-
path {
|
|
44
|
-
fill: ${o.colors.primary600}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
`;const ht=(()=>window&&window.strapi&&window.strapi.isEE?t(68464).Z:t(35123).Z)(),Et=(o,n)=>`
|
|
48
|
-
${yt} {
|
|
49
|
-
background-color: ${o.colors.primary100};
|
|
50
|
-
color: ${o.colors.primary600};
|
|
51
|
-
border-radius: ${n?"2px 2px 0 0":"2px"};
|
|
52
|
-
}
|
|
53
|
-
${Lt} {
|
|
54
|
-
display: flex;
|
|
55
|
-
}
|
|
56
|
-
${we} {
|
|
57
|
-
display: block;
|
|
58
|
-
}
|
|
59
|
-
&:hover {
|
|
60
|
-
${rt(o)}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&:focus-within {
|
|
64
|
-
${a=>{let{theme:s,isActive:l}=a;return Et(s,l)}}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
`,yt=T.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],ye,o=>{let{isGrey:n,theme:a}=o;return n?a.colors.neutral100:a.colors.neutral0}),Kt=T.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],we,o=>{let{isActive:n,theme:a}=o;return n&&Et(a,n)},o=>{let{theme:n,isActive:a}=o;return Et(n,a)}),ut=(0,T.default)(D.k).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],k),Lt=(0,T.default)(x.x).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],o=>{let{theme:n}=o;return n.colors.primary600}),Xt=T.default.span.withConfig({displayName:"Collapse__TinyDot",componentId:"sc-132fji1-4"})(["position:absolute;top:-6px;left:37px;width:6px;height:6px;border-radius:20px;background:",";"],o=>{let{theme:n}=o;return n.colors.primary600}),Qt=(0,T.default)(x.x).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),mt=o=>{let{availableActions:n,isActive:a,isGrey:s,isFormDisabled:l,label:r,onClickToggle:c,pathToData:d}=o;const[f,y]=(0,e.useState)(!1),{formatMessage:C}=(0,H.useIntl)(),{modifiedData:A,onChangeParentCheckbox:L,onChangeSimpleCheckbox:q}=(0,ue.$_)(),F=()=>{y(Te=>!Te)},W=()=>{y(!1)},b=Q()(A,d.split(".."),{}),O=(0,e.useMemo)(()=>Object.keys(b).reduce((Te,he)=>(Te[he]=p()(b[he],"conditions"),Te),{}),[b]),{hasAllActionsSelected:$,hasSomeActionsSelected:w}=st(O),ae=(0,e.useMemo)(()=>Ht(n,A,d),[n,A,d]),Fe=ae.some(Te=>{let{hasConditions:he}=Te;return he});return e.createElement(Kt,{isActive:a},e.createElement(yt,{isGrey:s},e.createElement(bt,{isCollapsable:!0,isFormDisabled:l,label:r,checkboxName:d,onChange:L,onClick:c,someChecked:w,value:$,isActive:a},e.createElement(Lt,{paddingLeft:2},a?e.createElement(j.Z,null):e.createElement(Be.Z,null))),e.createElement(D.k,{style:{flex:1}},ae.map(Te=>{let{actionId:he,hasConditions:be,hasAllActionsSelected:De,hasSomeActionsSelected:Ve,isDisplayed:et,isParentCheckbox:tt,checkboxName:ke,label:gt}=Te;return et?tt?e.createElement(ut,{key:he,justifyContent:"center",alignItems:"center"},be&&e.createElement(Xt,null),e.createElement(ie.C,{disabled:l||ht,name:ke,"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${gt} ${r}`}),onValueChange:dt=>{L({target:{name:ke,value:dt}})},indeterminate:Ve,value:De})):e.createElement(ut,{key:he,justifyContent:"center",alignItems:"center"},be&&e.createElement(Xt,null),e.createElement(ie.C,{disabled:l||ht,indeterminate:be,name:ke,onValueChange:dt=>{q({target:{name:ke,value:dt}})},value:De})):e.createElement(He,{key:he})})),f&&e.createElement(ee,{headerBreadCrumbs:[r,"Settings.permissions.conditions.conditions"],actions:ae,isFormDisabled:l,onClosed:W,onToggle:F})),e.createElement(Qt,null,e.createElement(we,{onClick:F,hasConditions:Fe})))};mt.propTypes={availableActions:i().array.isRequired,isActive:i().bool.isRequired,isGrey:i().bool.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,onClickToggle:i().func.isRequired,pathToData:i().string.isRequired};var Dt=mt,Rn=(o,n)=>o.map(a=>{const s=Array.isArray(a.applyToProperties)&&a.applyToProperties.indexOf(n)!==-1&&a.isDisplayed;return{label:a.label,actionId:a.actionId,isActionRelatedToCurrentProperty:s}});const Pt=(0,T.default)(D.k)`
|
|
68
|
-
width: ${k};
|
|
69
|
-
flex-shrink: 0;
|
|
70
|
-
`,Yt=(0,T.default)(D.k)`
|
|
71
|
-
width: ${Se};
|
|
72
|
-
height: ${ye};
|
|
73
|
-
flex-shrink: 0;
|
|
74
|
-
`,Ot=({headers:o,label:n})=>{const{formatMessage:a}=(0,H.useIntl)(),s=a({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(D.k,null,e.createElement(Yt,{alignItems:"center",paddingLeft:6},e.createElement(le.Z,{variant:"sigma",textColor:"neutral500"},s)),o.map(l=>l.isActionRelatedToCurrentProperty?e.createElement(Pt,{justifyContent:"center",key:l.label},e.createElement(le.Z,{variant:"sigma",textColor:"neutral500"},a({id:`Settings.roles.form.permissions.${l.label.toLowerCase()}`,defaultMessage:l.label}))):e.createElement(Pt,{key:l.label})))};Ot.propTypes={headers:i().arrayOf(i().shape({label:i().string.isRequired,isActionRelatedToCurrentProperty:i().bool.isRequired})).isRequired,label:i().string.isRequired};var Tn=Ot;const Jt=T.default.span`
|
|
75
|
-
color: ${({theme:o})=>o.colors.danger700};
|
|
76
|
-
padding-left: ${({theme:o})=>o.spaces[1]}px;
|
|
77
|
-
`;var Bt=()=>e.createElement(Jt,null,"*"),qt=(o,n)=>o.map(a=>{const s=Array.isArray(a.subjects)&&a.subjects.indexOf(n)!==-1;return{...a,isDisplayed:s}}),An=t(41925);const Nt=(0,T.default)(x.x)`
|
|
78
|
-
transform: translate(-4px, -12px);
|
|
79
|
-
|
|
80
|
-
&:before {
|
|
81
|
-
content: '';
|
|
82
|
-
width: ${4/16}rem;
|
|
83
|
-
height: ${12/16}rem;
|
|
84
|
-
background: ${({theme:o})=>o.colors.primary200};
|
|
85
|
-
display: block;
|
|
86
|
-
}
|
|
87
|
-
`,_t=T.default.svg`
|
|
88
|
-
position: relative;
|
|
89
|
-
flex-shrink: 0;
|
|
90
|
-
transform: translate(-0.5px, -1px);
|
|
91
|
-
|
|
92
|
-
* {
|
|
93
|
-
fill: ${({theme:o,color:n})=>o.colors[n]};
|
|
94
|
-
}
|
|
95
|
-
`,Ct=o=>e.createElement(Nt,null,e.createElement(_t,{width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));Ct.defaultProps={fill:"primary200"},Ct.propTypes={fill:i().string};var xn=(0,e.memo)(Ct);const $t=(()=>window&&window.strapi&&window.strapi.isEE?t(19665).Z:t(52124).Z)(),en=(0,T.default)(D.k).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],k),tn=(0,T.default)(D.k).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],ye),nn=(0,T.default)(x.x).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),on=(0,T.default)(x.x).withConfig({displayName:"SubActionRow__LeftBorderTimeline",componentId:"sc-7y8yzq-3"})(["border-left:",";"],o=>{let{isVisible:n,theme:a}=o;return n?`4px solid ${a.colors.primary200}`:"4px solid transparent"}),Mn=(0,T.default)(D.k).withConfig({displayName:"SubActionRow__RowStyle",componentId:"sc-7y8yzq-4"})(["padding-left:",";width:","px;"," ",";"],o=>{let{theme:n}=o;return n.spaces[4]},o=>{let{level:n}=o;return 145-n*36},o=>{let{isCollapsable:n,theme:a}=o;return n&&`
|
|
96
|
-
${lt} {
|
|
97
|
-
display: block;
|
|
98
|
-
color: ${a.colors.neutral100};
|
|
99
|
-
}
|
|
100
|
-
&:hover {
|
|
101
|
-
${rt(a)}
|
|
102
|
-
}
|
|
103
|
-
`},o=>{let{isActive:n,theme:a}=o;return n&&rt(a)}),an=T.default.div.withConfig({displayName:"SubActionRow__TopTimeline",componentId:"sc-7y8yzq-5"})(["padding-top:",";margin-top:",";width:","rem;background-color:",";border-top-left-radius:2px;border-top-right-radius:2px;"],o=>{let{theme:n}=o;return n.spaces[2]},o=>{let{theme:n}=o;return n.spaces[2]},4/16,o=>{let{theme:n}=o;return n.colors.primary200}),Zt=o=>{let{childrenForm:n,isFormDisabled:a,recursiveLevel:s,pathToDataFromActionRow:l,propertyActions:r,parentName:c,propertyName:d}=o;const{formatMessage:f}=(0,H.useIntl)(),{modifiedData:y,onChangeParentCheckbox:C,onChangeSimpleCheckbox:A}=(0,ue.$_)(),[L,q]=(0,e.useState)(null),F=b=>{q(O=>O===b?null:b)},W=(0,e.useMemo)(()=>L?n.find(b=>{let{value:O}=b;return O===L}):null,[L,n]);return e.createElement(nn,null,e.createElement(an,null),n.map((b,O)=>{let{label:$,value:w,required:ae,children:Fe}=b;const Te=O+1<n.length,he=Array.isArray(Fe),be=L===w;return e.createElement(on,{key:w,isVisible:Te},e.createElement(tn,null,e.createElement(xn,{color:"primary200"}),e.createElement(D.k,{style:{flex:1}},e.createElement(Mn,{level:s,isActive:be,isCollapsable:he},e.createElement(pe,(0,An.Z)({alignItems:"center",isCollapsable:he},he&&{onClick:()=>F(w),"aria-expanded":be,onKeyDown:De=>{let{key:Ve}=De;return(Ve==="Enter"||Ve===" ")&&F(w)},tabIndex:0,role:"button"},{title:$}),e.createElement(le.Z,{ellipsis:!0},J()($)),ae&&e.createElement(Bt,null),e.createElement(lt,{$isActive:be}))),e.createElement(D.k,{style:{flex:1}},r.map(De=>{let{actionId:Ve,label:et,isActionRelatedToCurrentProperty:tt}=De;if(!tt)return e.createElement(He,{key:Ve});const ke=[...l.split(".."),Ve,"properties",d,...c.split(".."),w],gt=Q()(y,ke,!1);if(!Fe)return e.createElement(en,{key:et,justifyContent:"center",alignItems:"center"},e.createElement(ie.C,{disabled:a||$t,name:ke.join(".."),"aria-label":f({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${c} ${$} ${et}`}),onValueChange:Tt=>{A({target:{name:ke.join(".."),value:Tt}})},value:gt}));const{hasAllActionsSelected:dt,hasSomeActionsSelected:Rt}=st(gt);return e.createElement(en,{key:et,justifyContent:"center",alignItems:"center"},e.createElement(ie.C,{key:et,disabled:a||$t,name:ke.join(".."),"aria-label":f({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${c} ${$} ${et}`}),onValueChange:Tt=>{C({target:{name:ke.join(".."),value:Tt}})},value:dt,indeterminate:Rt}))})))),W&&be&&e.createElement(x.x,{paddingBottom:2},e.createElement(Zt,{isFormDisabled:a,parentName:`${c}..${w}`,pathToDataFromActionRow:l,propertyActions:r,propertyName:d,recursiveLevel:s+1,childrenForm:W.children})))}))};Zt.propTypes={childrenForm:i().array.isRequired,isFormDisabled:i().bool.isRequired,parentName:i().string.isRequired,pathToDataFromActionRow:i().string.isRequired,propertyActions:i().array.isRequired,propertyName:i().string.isRequired,recursiveLevel:i().number.isRequired};var sn=(0,e.memo)(Zt);const jt=o=>o.reduce((a,s)=>(s.isActionRelatedToCurrentProperty&&a.push(s.actionId),a),[]);var Dn=(o,n,a,s,l)=>{const c=jt(o).reduce((d,f)=>{const y=[...a.split(".."),f,"properties",s,l],C=(0,h.get)(n,y,!1);return d[f]=C,d},{});return st(c)};const zt=(()=>window&&window.strapi&&window.strapi.isEE?t(32741).Z:t(18318).Z)(),ln=(0,T.default)(D.k).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],k),rn=(0,T.default)(D.k).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],ye,o=>{let{isCollapsable:n,theme:a}=o;return n&&`
|
|
104
|
-
${lt} {
|
|
105
|
-
display: block;
|
|
106
|
-
color: ${a.colors.neutral100};
|
|
107
|
-
}
|
|
108
|
-
&:hover {
|
|
109
|
-
${rt(a)}
|
|
110
|
-
}
|
|
111
|
-
`},o=>{let{isActive:n,theme:a}=o;return n&&rt(a)}),vt=o=>{let{childrenForm:n,label:a,isFormDisabled:s,name:l,required:r,pathToData:c,propertyActions:d,propertyName:f,isOdd:y}=o;const{formatMessage:C}=(0,H.useIntl)(),[A,L]=(0,e.useState)(null),{modifiedData:q,onChangeCollectionTypeLeftActionRowCheckbox:F,onChangeParentCheckbox:W,onChangeSimpleCheckbox:b}=(0,ue.$_)(),O=A===l,$=(0,e.useMemo)(()=>Array.isArray(n)?n:[],[n]),w=$.length>0,ae=(0,e.useCallback)(()=>{w&&L(be=>be===l?null:l)},[w,l]),Fe=be=>{let{target:{value:De}}=be;F(c,f,l,De)},{hasAllActionsSelected:Te,hasSomeActionsSelected:he}=(0,e.useMemo)(()=>Dn(d,q,c,f,l),[d,q,c,f,l]);return e.createElement(e.Fragment,null,e.createElement(rn,{alignItems:"center",isCollapsable:w,isActive:O,background:y?"neutral100":"neutral0"},e.createElement(D.k,null,e.createElement(bt,{onChange:Fe,onClick:ae,isCollapsable:w,isFormDisabled:s,label:a,someChecked:he,value:Te,isActive:O},r&&e.createElement(Bt,null),e.createElement(lt,{$isActive:O})),e.createElement(D.k,null,d.map(be=>{let{label:De,isActionRelatedToCurrentProperty:Ve,actionId:et}=be;if(!Ve)return e.createElement(He,{key:De});const tt=[...c.split(".."),et,"properties",f,l];if(!w){const Rt=Q()(q,tt,!1);return e.createElement(ln,{key:et,justifyContent:"center",alignItems:"center"},e.createElement(ie.C,{disabled:s||zt,name:tt.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${De}`}),onValueChange:Tt=>{b({target:{name:tt.join(".."),value:Tt}})},value:Rt}))}const ke=Q()(q,tt,{}),{hasAllActionsSelected:gt,hasSomeActionsSelected:dt}=st(ke);return e.createElement(ln,{key:De,justifyContent:"center",alignItems:"center"},e.createElement(ie.C,{disabled:s||zt,name:tt.join(".."),onValueChange:Rt=>{W({target:{name:tt.join(".."),value:Rt}})},"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${De}`}),value:gt,indeterminate:dt}))})))),O&&e.createElement(sn,{childrenForm:$,isFormDisabled:s,parentName:l,pathToDataFromActionRow:c,propertyName:f,propertyActions:d,recursiveLevel:0}))};vt.defaultProps={childrenForm:[],required:!1},vt.propTypes={childrenForm:i().array,label:i().string.isRequired,isFormDisabled:i().bool.isRequired,name:i().string.isRequired,pathToData:i().string.isRequired,propertyActions:i().array.isRequired,propertyName:i().string.isRequired,required:i().bool,isOdd:i().bool.isRequired};var cn=(0,e.memo)(vt);const dn=T.default.div`
|
|
112
|
-
display: inline-flex;
|
|
113
|
-
flex-direction: column;
|
|
114
|
-
min-width: 0;
|
|
115
|
-
`,Ut=({availableActions:o,childrenForm:n,isFormDisabled:a,label:s,pathToData:l,propertyName:r})=>{const c=(0,e.useMemo)(()=>Rn(o,r),[o,r]);return e.createElement(dn,null,e.createElement(Tn,{label:s,headers:c}),e.createElement(x.x,null,n.map(({children:d,label:f,value:y,required:C},A)=>e.createElement(cn,{childrenForm:d,key:y,label:f,isFormDisabled:a,name:y,required:C,propertyActions:c,pathToData:l,propertyName:r,isOdd:A%2===0}))))};Ut.propTypes={childrenForm:i().array.isRequired,availableActions:i().array.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,pathToData:i().string.isRequired,propertyName:i().string.isRequired};var un=Ut;const Wt=T.default.div`
|
|
116
|
-
flex-direction: column;
|
|
117
|
-
display: inline-flex;
|
|
118
|
-
min-width: 100%;
|
|
119
|
-
${({theme:o,isActive:n})=>n&&`border: 1px solid ${o.colors.primary600};`}
|
|
120
|
-
`,kt=({allActions:o,contentTypeName:n,label:a,index:s,isActive:l,isFormDisabled:r,onClickToggleCollapse:c,pathToData:d,properties:f})=>{const y=(0,e.useCallback)(()=>{c(n)},[n,c]),C=(0,e.useMemo)(()=>qt(o,n),[o,n]);return e.createElement(Wt,{isActive:l},e.createElement(Dt,{availableActions:C,isActive:l,isGrey:s%2===0,isFormDisabled:r,label:a,onClickToggle:y,pathToData:d}),l&&f.map(({label:A,value:L,children:q})=>e.createElement(un,{availableActions:C,childrenForm:q,isFormDisabled:r,label:A,pathToData:d,propertyName:L,key:L})))};kt.propTypes={allActions:i().array.isRequired,contentTypeName:i().string.isRequired,index:i().number.isRequired,isActive:i().bool.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,onClickToggleCollapse:i().func.isRequired,pathToData:i().string.isRequired,properties:i().array.isRequired};var Gt=kt;const St=({actions:o,isFormDisabled:n,pathToData:a,subjects:s})=>{const[l,r]=(0,e.useState)(null),c=d=>{r(l===d?null:d)};return s.map(({uid:d,label:f,properties:y},C)=>e.createElement(Gt,{allActions:o,key:d,contentTypeName:d,label:f,isActive:l===d,isFormDisabled:n,index:C,onClickToggleCollapse:c,pathToData:`${a}..${d}`,properties:y}))};St.defaultProps={actions:[],subjects:[]},St.propTypes={actions:i().array.isRequired,isFormDisabled:i().bool.isRequired,pathToData:i().string.isRequired,subjects:i().arrayOf(i().shape({uid:i().string.isRequired,label:i().string.isRequired,properties:i().array.isRequired}))};var m=(0,e.memo)(St),u=t(27677),E=o=>o.filter(({subjects:n})=>n&&n.length);const P=o=>o.map(({actionId:n})=>n),B=(o,n)=>o.reduce((a,s)=>(Object.keys(n).forEach(l=>{const r=(0,h.get)(n,[l,s],{}),c={[l]:ft(r)};a[s]?a[s]={...a[s],...c}:a[s]=c}),a),{});var G=(o,n)=>{const a=P(o),s=B(a,n);return Object.keys(s).reduce((r,c)=>(r[c]=st(s[c]),r),{})};const N=(()=>window&&window.strapi&&window.strapi.isEE?t(36950).Z:t(61526).Z)(),I=(0,T.default)(u.K).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],k),ge=o=>{let{actions:n,isFormDisabled:a,kind:s}=o;const{formatMessage:l}=(0,H.useIntl)(),{modifiedData:r,onChangeCollectionTypeGlobalActionCheckbox:c}=(0,ue.$_)(),d=(0,e.useMemo)(()=>E(n),[n]),f=(0,e.useMemo)(()=>G(d,r[s]),[r,d,s]);return e.createElement(x.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:Se}},e.createElement(u.K,{horizontal:!0,spacing:0},d.map(y=>{let{label:C,actionId:A}=y;return e.createElement(I,{key:A,spacing:3},e.createElement(le.Z,{variant:"sigma",textColor:"neutral500"},l({id:`Settings.roles.form.permissions.${C.toLowerCase()}`,defaultMessage:C})),e.createElement(ie.C,{disabled:a||N,onValueChange:L=>{c(s,A,L)},name:A,"aria-label":l({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:l({id:`Settings.roles.form.permissions.${C.toLowerCase()}`,defaultMessage:C})}),value:Q()(f,[A,"hasAllActionsSelected"],!1),indeterminate:Q()(f,[A,"hasSomeActionsSelected"],!1)}))})))};ge.defaultProps={actions:[]},ge.propTypes={actions:i().arrayOf(i().shape({label:i().string.isRequired,actionId:i().string.isRequired,subjects:i().array.isRequired})),isFormDisabled:i().bool.isRequired,kind:i().string.isRequired};var K=(0,e.memo)(ge);const Oe=(0,T.default)(x.x)`
|
|
121
|
-
overflow-x: auto;
|
|
122
|
-
`,Re=({isFormDisabled:o,kind:n,layout:{actions:a,subjects:s}})=>{const l=Z()([...s],"label");return e.createElement(Oe,{background:"neutral0"},e.createElement(K,{actions:a,kind:n,isFormDisabled:o}),e.createElement(m,{actions:a,isFormDisabled:o,pathToData:n,subjects:l}))};Re.propTypes={isFormDisabled:i().bool.isRequired,kind:i().string.isRequired,layout:i().shape({actions:i().array,subjects:i().arrayOf(i().shape({uid:i().string.isRequired,label:i().string.isRequired,properties:i().array.isRequired}))}).isRequired};var ze=(0,e.memo)(Re),qe=t(66694);const _e=({children:o,value:n})=>e.createElement(qe.$l.Provider,{value:n},o);_e.propTypes={children:i().node.isRequired,value:i().exact({availableConditions:i().array.isRequired,modifiedData:i().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:i().func.isRequired,onChangeConditions:i().func.isRequired,onChangeSimpleCheckbox:i().func.isRequired,onChangeParentCheckbox:i().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:i().func.isRequired}).isRequired};var ct=_e,pt=t(83828),mn=t(61762),pn=t(89966),gn=t(15335),Kn=t(5803),In=t(8284),Xn=(o,n,a)=>o.map(s=>{const l=[...a,s.action,"properties","enabled"],r=(0,h.get)(n,l,!1),c=(0,h.get)(n,[...a,s.action,"conditions"],{}),d=it(c).some(f=>f);return{...s,isDisplayed:r,checkboxName:l.join(".."),hasSomeActionsSelected:r,value:r,hasConditions:d,label:s.displayName,actionId:s.action,pathToConditionsObject:[...a,s.action]}}),Qn=o=>{const n=Object.entries(o).reduce((s,l)=>{const[r,{conditions:c}]=l;return s[r]=c,s},{});return it(n).some(s=>s)};const fn=(()=>window&&window.strapi&&window.strapi.isEE?t(96556).Z:t(16437).Z)(),Yn=T.default.div.withConfig({displayName:"SubCategory__Border",componentId:"sc-akgczm-0"})(["flex:1;align-self:center;border-top:1px solid ",";"],o=>{let{theme:n}=o;return n.colors.neutral150}),Jn=T.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],o=>{let{hasConditions:n,disabled:a,theme:s}=o;return n&&`
|
|
123
|
-
&:before {
|
|
124
|
-
content: '';
|
|
125
|
-
position: absolute;
|
|
126
|
-
top: ${-4/16}rem;
|
|
127
|
-
left: ${-8/16}rem;
|
|
128
|
-
width: ${6/16}rem;
|
|
129
|
-
height: ${6/16}rem;
|
|
130
|
-
border-radius: ${20/16}rem;
|
|
131
|
-
background: ${a?s.colors.neutral100:s.colors.primary600};
|
|
132
|
-
}
|
|
133
|
-
`}),Pn=o=>{let{categoryName:n,isFormDisabled:a,subCategoryName:s,actions:l,pathToData:r}=o;const[c,d]=(0,e.useState)(!1),{modifiedData:f,onChangeParentCheckbox:y,onChangeSimpleCheckbox:C}=(0,ue.$_)(),{formatMessage:A}=(0,H.useIntl)(),L=Q()(f,r,{}),q=(0,e.useMemo)(()=>Object.keys(L).reduce((ae,Fe)=>(ae[Fe]=ft(L[Fe]),ae),{}),[L]),{hasAllActionsSelected:F,hasSomeActionsSelected:W}=st(q),b=()=>{d(ae=>!ae)},O=()=>{d(!1)},$=Xn(l,f,r),w=Qn(Q()(f,[...r],{}));return e.createElement(e.Fragment,null,e.createElement(x.x,null,e.createElement(D.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(x.x,{paddingRight:4},e.createElement(le.Z,{variant:"sigma",textColor:"neutral600"},s)),e.createElement(Yn,null),e.createElement(x.x,{paddingLeft:4},e.createElement(In.X,{name:r.join(".."),disabled:a||fn,onValueChange:ae=>{y({target:{name:r.join(".."),value:ae}})},indeterminate:W,value:F},A({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(D.k,{paddingTop:6,paddingBottom:6},e.createElement(gn.r,{gap:2,style:{flex:1}},$.map(ae=>{let{checkboxName:Fe,value:Te,action:he,displayName:be,hasConditions:De}=ae;return e.createElement(Kn.P,{col:3,key:he},e.createElement(Jn,{disabled:a||fn,hasConditions:De},e.createElement(In.X,{name:Fe,disabled:a||fn,onValueChange:Ve=>{C({target:{name:Fe,value:Ve}})},value:Te},be)))})),e.createElement(we,{hasConditions:w,onClick:b}))),c&&e.createElement(ee,{headerBreadCrumbs:[n,s],actions:$,isFormDisabled:a,onClosed:O,onToggle:b}))};Pn.propTypes={actions:i().array.isRequired,categoryName:i().string.isRequired,isFormDisabled:i().bool.isRequired,subCategoryName:i().string.isRequired,pathToData:i().array.isRequired};var qn=Pn;const hn=({childrenForm:o,kind:n,name:a,isOpen:s,isFormDisabled:l,isWhite:r,onOpenCategory:c,pathToData:d})=>{const{formatMessage:f}=(0,H.useIntl)(),y=()=>{c(a)},C=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(pt.U,{expanded:s,onToggle:y,id:`accordion-${a}`,variant:r?"primary":"secondary"},e.createElement(mn.B,{title:J()(C),description:`${f({id:"Settings.permissions.category"},{category:C})} ${n==="plugins"?"plugin":n}`}),e.createElement(pn.v,null,e.createElement(x.x,{padding:6},o.map(({actions:A,subCategoryName:L,subCategoryId:q})=>e.createElement(qn,{key:L,actions:A,categoryName:C,isFormDisabled:l,subCategoryName:L,pathToData:[...d,q]})))))};hn.defaultProps={},hn.propTypes={childrenForm:i().array.isRequired,isOpen:i().bool.isRequired,isFormDisabled:i().bool.isRequired,isWhite:i().bool.isRequired,kind:i().string.isRequired,name:i().string.isRequired,onOpenCategory:i().func.isRequired,pathToData:i().array.isRequired};var _n=hn;const On=({isFormDisabled:o,kind:n,layout:a})=>{const[s,l]=(0,e.useState)(null),r=c=>{l(c===s?null:c)};return e.createElement(x.x,{padding:6,background:"neutral0"},a.map(({category:c,categoryId:d,childrenForm:f},y)=>e.createElement(_n,{key:c,childrenForm:f,kind:n,isFormDisabled:o,isOpen:s===c,isWhite:y%2===1,name:c,onOpenCategory:r,pathToData:[n,d]})))};On.propTypes={isFormDisabled:i().bool.isRequired,kind:i().string.isRequired,layout:i().arrayOf(i().shape({category:i().string.isRequired,categoryId:i().string.isRequired,childrenForm:i().arrayOf(i().shape({actions:i().array.isRequired})).isRequired}).isRequired).isRequired};var Fn=On,Bn=(o,n,a)=>o.find(s=>s.action===n&&s.subject===a);const Nn=(o,n=[])=>o.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),$n=({children:o},n,a="")=>o.reduce((s,l)=>{if(l.children)return{...s,[l.value]:$n(l,n,`${a}${l.value}.`)};const r=n.indexOf(`${a}${l.value}`)!==-1;return s[l.value]=r,s},{}),eo=(o,n,a)=>o.reduce((s,l)=>{const r=n.properties.find(({value:c})=>c===l);if(r){const c=(0,h.get)(a,["properties",r.value],[]),d=$n(r,c);s.properties[l]=d}return s},{properties:{}}),to=(o,n)=>n.reduce((a,s)=>{const l=o.find(({uid:r})=>r===s)||null;return l&&(a[s]=l),a},{});var Zn=({subjects:o},n,a,s=[])=>n.reduce((l,r)=>{const c=r.subjects,d=to(o,c);if((0,h.isEmpty)(d))return l;const f=Object.keys(d).reduce((y,C)=>{const{actionId:A,applyToProperties:L}=r,W=d[C].properties.map(({value:w})=>w).every(w=>(L||[]).indexOf(w)===-1),b=Bn(s,A,C),O=Nn(a,(0,h.get)(b,"conditions",[]));if((0,h.isEmpty)(L)||W)return(0,h.set)(y,[C,A],{properties:{enabled:b!==void 0},conditions:O}),y;const $=eo(L,d[C],b);return(0,h.set)(y,[C,A],{...$,conditions:O}),y},{});return(0,h.merge)(l,f)},{});const no=(o,n,a)=>o.reduce((s,l)=>{const r=Bn(a,l.action,null);return s[l.action]={properties:{enabled:r!==void 0},conditions:Nn(n,(0,h.get)(r,"conditions",[]))},s},{}),oo=(o,n,a)=>o.reduce((s,l)=>(s[l.subCategoryId]=no(l.actions,n,a),s),{});var jn=(o,n,a=[])=>o.reduce((s,{categoryId:l,childrenForm:r})=>{const c=oo(r,n,a);return s[l]=c,s},{});const zn=o=>o.split(" ").join("-");var Un=(o,n)=>(0,h.chain)(o).groupBy(n).map((a,s)=>({category:s,categoryId:zn(s),childrenForm:(0,h.chain)(a).groupBy("subCategory").map((l,r)=>({subCategoryName:r,subCategoryId:zn(r),actions:l})).value()})).value(),ao=(o,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:l,plugins:r,settings:c}}=o,d={collectionTypes:s,singleTypes:l,plugins:Un(r,"plugin"),settings:Un(c,"category")},f={collectionTypes:Zn(s,s.actions||[],a,n),singleTypes:Zn(l,l.actions||[],a,n),plugins:jn(d.plugins,a,n),settings:jn(d.settings,a,n)};return{initialData:f,modifiedData:f,layouts:d}};const Wn=o=>Object.keys(o).reduce((n,a)=>{const s=o[a];if((0,h.isObject)(s)&&!(0,h.has)(s,"conditions"))return{...n,[a]:Wn(s)};if((0,h.isObject)(s)&&(0,h.has)(s,"conditions")&&!it((0,h.omit)(s,"conditions")).some(r=>r)){const r=Object.keys(s.conditions).reduce((c,d)=>(c[d]=!1,c),{});return{...n,[a]:{...s,conditions:r}}}return n[a]=s,n},{});var En=Wn;const kn=(o,n)=>Object.keys(o).reduce((a,s)=>{const l=o[s];return s==="conditions"?(a[s]=l,a):(0,h.isObject)(l)?{...a,[s]:kn(l,n)}:(a[s]=n,a)},{});var wt=kn;const so={initialData:{},modifiedData:{},layouts:{}};var io=(o,n)=>(0,Y.default)(o,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:l,value:r}=n,c=["modifiedData",s];Object.keys((0,h.get)(o,c)).forEach(d=>{const f=(0,h.get)(o,[...c,d,l],void 0);if(f){let y=wt(f,r);if(!r&&y.conditions){const C=wt(y.conditions,!1);y={...y,conditions:C}}(0,h.set)(a,[...c,d,l],y)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:l,rowName:r,value:c}=n;let d=(0,h.cloneDeep)(o.modifiedData);const f=s.split(".."),y=(0,h.get)(d,f,{});Object.keys(y).forEach(C=>{if((0,h.has)(y[C],`properties.${l}`)){const A=(0,h.get)(y,[C,"properties",l,r]),L=[...f,C,"properties",l,r];if(!(0,h.isObject)(A))(0,h.set)(d,L,c);else{const q=wt(A,c);(0,h.set)(d,L,q)}}}),c||(d=En(d)),(0,h.set)(a,"modifiedData",d);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[l,r]=s;(0,h.set)(a,["modifiedData",...l.split(".."),"conditions"],r)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=(0,h.cloneDeep)(o.modifiedData);(0,h.set)(s,[...n.keys.split("..")],n.value),n.value||(s=En(s)),(0,h.set)(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:l}=n,r=[...s.split("..")];let c=(0,h.cloneDeep)(o.modifiedData);const d=(0,h.get)(c,r,{}),f=wt(d,l);(0,h.set)(c,r,f),l||(c=En(c)),(0,h.set)(a,["modifiedData"],c);break}case"RESET_FORM":{a.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=o.modifiedData;break}default:return a}});const yn=o=>Object.entries(o).filter(([,n])=>n).map(([n])=>n),lo=o=>{const[n,{conditions:a}]=o;return{action:n,subject:null,conditions:yn(a),properties:{}}},ro=o=>Object.values(o).reduce((n,a)=>{const s=Object.entries(a).reduce((l,r)=>{const[,{properties:{enabled:c}}]=r;if(!c)return l;const d=lo(r);return l.push(d),l},[]);return[...n,...s]},[]);var Gn=o=>Object.values(o).reduce((n,a)=>{const s=ro(a);return[...n,...s]},[]);const wn=(o,n="")=>Object.entries(o).reduce((a,s)=>{const[l,r]=s;return(0,h.isObject)(r)?[...a,...wn(r,`${n}${l}.`)]:(r&&!(0,h.isObject)(r)&&a.push(`${n}${l}`),a)},[]),co=(o,n,{conditions:a,properties:s})=>Object.entries(s).reduce((l,r)=>{const[c,d]=r;return l.properties[c]=wn(d),l},{action:o,subject:n,conditions:yn(a),properties:{}}),uo=(o,n,{conditions:a})=>({action:o,subject:n,properties:{},conditions:yn(a)}),mo=(o,n)=>Object.entries(n).reduce((s,l)=>{const[r,c]=l;if(!it(c).some(y=>y))return s;if(!(0,h.has)(c,"properties.enabled")){const y=co(r,o,c);return[...s,y]}if(!c.properties.enabled)return s;const f=uo(r,o,c);return s.push(f),s},[]);var Hn=o=>Object.entries(o).reduce((a,s)=>{const[l,r]=s,c=mo(l,r);return[...a,...c]},[]),po=o=>{const n=Gn(o.plugins),a=Gn(o.settings),s=Hn(o.collectionTypes),l=Hn(o.singleTypes);return[...n,...a,...s,...l]},go=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const Cn=(0,e.forwardRef)(({layout:o,isFormDisabled:n,permissions:a},s)=>{const[{initialData:l,layouts:r,modifiedData:c},d]=(0,e.useReducer)(io,so,()=>ao(o,a)),{formatMessage:f}=(0,H.useIntl)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const F=(0,de.difference)(l.collectionTypes,c.collectionTypes),W=(0,de.difference)(l.singleTypes,c.singleTypes),b={...F,...W};let O;return Ke()(b)?O=!1:O=Object.values(b).some($=>Object.values($).some(w=>Ie()(w,"conditions"))),{permissionsToSend:po(c),didUpdateConditions:O}},resetForm(){d({type:"RESET_FORM"})},setFormAfterSubmit(){d({type:"SET_FORM_AFTER_SUBMIT"})}}));const y=(F,W,b,O)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:F,propertyName:W,rowName:b,value:O})},C=(F,W,b)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:F,actionId:W,value:b})},A=F=>{d({type:"ON_CHANGE_CONDITIONS",conditions:F})},L=(0,e.useCallback)(({target:{name:F,value:W}})=>{d({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:F,value:W})},[]),q=(0,e.useCallback)(({target:{name:F,value:W}})=>{d({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:F,value:W})},[]);return e.createElement(ct,{value:{availableConditions:o.conditions,modifiedData:c,onChangeConditions:A,onChangeSimpleCheckbox:L,onChangeParentCheckbox:q,onChangeCollectionTypeLeftActionRowCheckbox:y,onChangeCollectionTypeGlobalActionCheckbox:C}},e.createElement(X.v,{id:"tabs",label:f({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(Ue.m,null,go.map(F=>e.createElement(Ue.O,{key:F.id},f({id:F.labelId,defaultMessage:F.defaultMessage})))),e.createElement(se.n,{style:{position:"relative"}},e.createElement(se.x,null,e.createElement(ze,{layout:r.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(se.x,null,e.createElement(ze,{layout:r.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(se.x,null,e.createElement(Fn,{layout:r.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(se.x,null,e.createElement(Fn,{layout:r.settings,kind:"settings",isFormDisabled:n})))))});Cn.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},Cn.propTypes={layout:i().object,isFormDisabled:i().bool.isRequired,permissions:i().array};var fo=(0,e.memo)(Cn)},16437:function(te,S){S.Z=!0},78522:function(te,S){S.Z=()=>"todo empty role"},80779:function(te,S,t){var e=t(32735),R=t(60216),i=t.n(R),de=t(72850),X=t(87933),Ue=t(29005),se=t(66735),Ae=t(49372),Ie=t(50563),xe=t(13478),Ke=t.n(xe),H=t(5636);const x=({id:T,name:Ce,description:Z,usersCount:Be,icons:j,rowIndex:ie})=>{const{formatMessage:D}=(0,H.useIntl)(),Ne=D({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:Be});return e.createElement(Ue.Tr,{"aria-rowindex":ie,key:T,...(0,xe.onRowClick)({fn:j[1].onClick})},e.createElement(se.Td,{maxWidth:(0,xe.pxToRem)(130)},e.createElement(Ae.Z,{ellipsis:!0,textColor:"neutral800"},Ce)),e.createElement(se.Td,{maxWidth:(0,xe.pxToRem)(250)},e.createElement(Ae.Z,{ellipsis:!0,textColor:"neutral800"},Z)),e.createElement(se.Td,null,e.createElement(Ae.Z,{textColor:"neutral800"},Ne)),e.createElement(se.Td,null,e.createElement(X.k,{justifyContent:"flex-end",...xe.stopPropagation},j.map((Q,$e)=>Q?e.createElement(de.x,{key:Q.label,paddingLeft:$e===0?0:1},e.createElement(Ie.h,{onClick:Q.onClick,label:Q.label,noBorder:!0,icon:Q.icon})):null))))};x.propTypes={id:i().number.isRequired,name:i().string.isRequired,description:i().string.isRequired,usersCount:i().number.isRequired,icons:i().array.isRequired,rowIndex:i().number.isRequired},S.Z=x},45677:function(te,S,t){t.d(S,{Z:function(){return je}});var e=t(32735),R=t(13478),i=t(72041),de=t(58469),X=t(19406),Ue=t(4038),se=t(68625),Ae=t(47765),Ie=t(41415),xe=t(28356),Ke=t(17e3),H=t(94745),x=t(73269),T=t(76330),Ce=t(29005),Z=t(66735),Be=t(3594),j=t(49372),ie=t(27649),D=t(3685),Ne=t(5636),Q=t(5141),$e=t(80779),p=t(78522),ue=t(60216),Me=t.n(ue),Le=t(83292),Ge=t(71933),Xe=t(67563),we=t(50563),Qe=t(95489),nt=t(72850),ot=t(87933),ne=t(27677),Ye=t(47361),le=t(35331),Y=t.p+"6d21938306785f176538.png",V=t.p+"617f9c948fa79e6d73bd.png";const me=Le.default.div`
|
|
134
|
-
position: absolute;
|
|
135
|
-
z-index: 3;
|
|
136
|
-
inset: 0;
|
|
137
|
-
background: ${({theme:v})=>(0,R.setHexOpacity)(v.colors.neutral800,.2)};
|
|
138
|
-
padding: 0 ${({theme:v})=>v.spaces[8]};
|
|
139
|
-
`,z=(0,Le.default)(ot.k)`
|
|
140
|
-
position: relative;
|
|
141
|
-
max-width: ${830/16}rem;
|
|
142
|
-
height: ${415/16}rem;
|
|
143
|
-
margin: 0 auto;
|
|
144
|
-
overflow: hidden;
|
|
145
|
-
margin-top: 10%;
|
|
146
|
-
padding-left: ${64/16}rem;
|
|
147
|
-
|
|
148
|
-
img:first-of-type {
|
|
149
|
-
position: absolute;
|
|
150
|
-
right: 0;
|
|
151
|
-
top: 0;
|
|
152
|
-
max-width: ${360/16}rem;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
img:not(:first-of-type) {
|
|
156
|
-
width: ${130/16}rem;
|
|
157
|
-
margin-left: 12%;
|
|
158
|
-
margin-right: ${20/16}rem;
|
|
159
|
-
z-index: 0;
|
|
160
|
-
}
|
|
161
|
-
`,J=(0,Le.default)(ne.K)`
|
|
162
|
-
align-items: flex-start;
|
|
163
|
-
max-width: ${400/16}rem;
|
|
164
|
-
z-index: 0;
|
|
165
|
-
`,re=(0,Le.default)(nt.x)`
|
|
166
|
-
position: absolute;
|
|
167
|
-
right: ${({theme:v})=>v.spaces[4]};
|
|
168
|
-
top: ${({theme:v})=>v.spaces[4]};
|
|
169
|
-
`,fe=({onClose:v,isOpen:U})=>{(0,R.useLockScroll)(U);const{formatMessage:_}=(0,Ne.useIntl)();return U?e.createElement(Ge.h,null,e.createElement(me,{onClick:v},e.createElement(Xe.i,{onEscape:v},e.createElement(z,{onClick:ee=>ee.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:Y,alt:"air-balloon"}),e.createElement(re,null,e.createElement(we.h,{onClick:v,"aria-label":"Close",icon:e.createElement(le.default,null)})),e.createElement(J,{spacing:6},e.createElement(j.Z,{fontWeight:"bold",textColor:"primary600"},_({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(ne.K,{spacing:2},e.createElement(j.Z,{variant:"alpha",as:"h2",id:"upgrade-plan"},_({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(j.Z,null,_({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(Qe.Q,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(Ye.Z,null)},_({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:V,alt:"upgrade-arrow"}))))):null};fe.propTypes={onClose:Me().func.isRequired,isOpen:Me().bool.isRequired};var ve=fe,Ze=t(8888);const ce=()=>{const{roles:v,isLoading:U}=(0,Ze.bF)(),_=(0,R.useQuery)(),ee=decodeURIComponent(_.get("_q")||""),k=(0,de.ZP)(v,ee,{keys:["name","description"]});return{isLoading:U,sortedRoles:k}},Ee=()=>{const{formatMessage:v}=(0,Ne.useIntl)(),[U,_]=(0,e.useState)(!1),{trackUsage:ee}=(0,R.useTracking)(),{push:k}=(0,Q.useHistory)(),Se=(0,e.useCallback)(M=>{k(`/settings/roles/${M}`)},[k]),ye=(0,e.useCallback)(()=>{_(M=>!M)},[]),Je=(0,e.useCallback)(()=>{ee("didShowRBACUpgradeModal"),_(!0)},[ee]),He=(0,e.useCallback)(M=>[{onClick:ye,label:v({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(Ae.Z,null)},{onClick:()=>Se(M.id),label:v({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(se.Z,null)},{onClick:ye,label:v({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(Ue.default,null)}],[v,ye,Se]);return{isModalOpen:U,handleToggleModalForCreatingRole:Je,handleToggle:ye,getIcons:He}};var h=()=>{const{formatMessage:v}=(0,Ne.useIntl)();(0,R.useFocusWhenNavigate)();const{sortedRoles:U,isLoading:_}=ce(),{isModalOpen:ee,handleToggle:k,handleToggleModalForCreatingRole:Se,getIcons:ye}=Ee(),Je=U.length+1,He=5;return e.createElement(ie.o,null,e.createElement(R.SettingsPageTitle,{name:"Roles"}),e.createElement(xe.T,{primaryAction:e.createElement(Ie.z,{onClick:Se,startIcon:e.createElement(X.default,null),size:"S"},v({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:v({id:"global.roles",defaultMessage:"roles"}),subtitle:v({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(Ke.D,null,e.createElement(H.i,{colCount:He,rowCount:Je,footer:e.createElement(x.c,{onClick:Se,icon:e.createElement(X.default,null)},v({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(T.h,null,e.createElement(Ce.Tr,null,e.createElement(Z.Th,null,e.createElement(j.Z,{variant:"sigma",textColor:"neutral600"},v({id:"global.name",defaultMessage:"Name"}))),e.createElement(Z.Th,null,e.createElement(j.Z,{variant:"sigma",textColor:"neutral600"},v({id:"global.description",defaultMessage:"Description"}))),e.createElement(Z.Th,null,e.createElement(j.Z,{variant:"sigma",textColor:"neutral600"},v({id:"global.users",defaultMessage:"Users"}))),e.createElement(Z.Th,null,e.createElement(D.T,null,v({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Be.p,null,U?.map((M,pe)=>e.createElement($e.Z,{key:M.id,id:M.id,name:M.name,description:M.description,usersCount:M.usersCount,icons:ye(M),rowIndex:pe+2})))),!Je&&!_&&e.createElement(p.Z,null)),e.createElement(ve,{isOpen:ee,onClose:k}))},je=()=>e.createElement(R.CheckPagePermissions,{permissions:i.Z.settings.roles.main},e.createElement(h,null))},75936:function(te,S){const t=[];S.Z=t},20178:function(te,S,t){t.d(S,{Z:function(){return ot}});var e=t(32735),R=t(64213),i=t(13478),de=t(72850),X=t(41415),Ue=t(28356),se=t(17e3),Ae=t(15335),Ie=t(5803),xe=t(27649),Ke=t(87933),H=t(27677),x=t(49372),T=t(10369),Ce=t(10508),Z=t(29439),Be=t(83281),j=t(33795),ie=t.n(j),D=t(86834),Ne=t.n(D),Q=t(5636),$e=t(5141),p=t(83292),ue=t(78974),Me=t(8888),Le=t(72041),Ge=t(5173),we=Ge.Ry().shape({name:Ge.Z_().required(i.translatedErrors.required),description:Ge.Z_().required(i.translatedErrors.required)});const Qe=p.default.div`
|
|
170
|
-
border: 1px solid ${({theme:ne})=>ne.colors.primary200};
|
|
171
|
-
background: ${({theme:ne})=>ne.colors.primary100};
|
|
172
|
-
padding: ${({theme:ne})=>`${ne.spaces[2]} ${ne.spaces[4]}`};
|
|
173
|
-
color: ${({theme:ne})=>ne.colors.primary600};
|
|
174
|
-
border-radius: ${({theme:ne})=>ne.borderRadius};
|
|
175
|
-
font-size: ${12/16}rem;
|
|
176
|
-
font-weight: bold;
|
|
177
|
-
`,nt=()=>{const ne=(0,i.useNotification)(),{lockApp:Ye,unlockApp:le}=(0,i.useOverlayBlocker)(),{formatMessage:Y}=(0,Q.useIntl)(),[V,me]=(0,e.useState)(!1),{replace:z}=(0,$e.useHistory)(),J=(0,e.useRef)(),{trackUsage:re}=(0,i.useTracking)(),fe=(0,$e.useRouteMatch)("/settings/roles/duplicate/:id"),ve=ie()(fe,"params.id",null),{isLoading:Ze,data:ce}=(0,Me.U_)(),{permissions:Ee,isLoading:We}=(0,Me.Dq)(ve),h=je=>{Ye(),me(!0),re(ve?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,i.request)("/admin/roles",{method:"POST",body:je})).then(async v=>{const{permissionsToSend:U}=J.current.getPermissions();return re(ve?"didDuplicateRole":"didCreateNewRole"),v.data.id&&!Ne()(U)&&await(0,i.request)(`/admin/roles/${v.data.id}/permissions`,{method:"PUT",body:{permissions:U}}),v}).then(v=>{me(!1),ne({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),z(`/settings/roles/${v.data.id}`)}).catch(v=>{console.error(v),me(!1),ne({type:"warning",message:{id:"notification.error"}})}).finally(()=>{le()})},Pe=`${Y({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,R.format)(new Date,"PPP")}`;return e.createElement(xe.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(Be.Formik,{initialValues:{name:"",description:Pe},onSubmit:h,validationSchema:we,validateOnChange:!1},({handleSubmit:je,values:v,errors:U,handleReset:_,handleChange:ee})=>e.createElement(i.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(Ue.T,{primaryAction:e.createElement(H.K,{horizontal:!0,spacing:2},e.createElement(X.z,{variant:"secondary",onClick:()=>{_(),J.current.resetForm()},size:"L"},Y({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(X.z,{onClick:je,loading:V,size:"L"},Y({id:"global.save",defaultMessage:"Save"}))),title:Y({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:Y({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Z.Z,null),to:"/settings/roles"},Y({id:"global.back",defaultMessage:"Back"}))}),e.createElement(se.D,null,e.createElement(H.K,{spacing:6},e.createElement(de.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(H.K,{spacing:4},e.createElement(Ke.k,{justifyContent:"space-between"},e.createElement(de.x,null,e.createElement(de.x,null,e.createElement(x.Z,{fontWeight:"bold"},Y({id:"global.details",defaultMessage:"Details"}))),e.createElement(de.x,null,e.createElement(x.Z,{variant:"pi",textColor:"neutral600"},Y({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(Qe,null,Y({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(Ae.r,{gap:4},e.createElement(Ie.P,{col:6},e.createElement(T.o,{name:"name",error:U.name&&Y({id:U.name}),label:Y({id:"global.name",defaultMessage:"Name"}),onChange:ee,value:v.name})),e.createElement(Ie.P,{col:6},e.createElement(Ce.g,{label:Y({id:"global.description",defaultMessage:"Description"}),name:"description",error:U.description&&Y({id:U.description}),onChange:ee},v.description))))),!Ze&&!We?e.createElement(de.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(ue.Z,{isFormDisabled:!1,ref:J,permissions:Ee,layout:ce})):e.createElement(de.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(i.LoadingIndicatorPage,null))))))))};function ot(){return e.createElement(i.CheckPagePermissions,{permissions:Le.Z.settings.roles.create},e.createElement(nt,null))}},56899:function(te,S){S.Z=!1},68464:function(te,S){S.Z=!1},32741:function(te,S){S.Z=!1},19665:function(te,S){S.Z=!1},36950:function(te,S){S.Z=!1},96556:function(te,S){S.Z=!1},51899:function(te,S,t){t.d(S,{Z:function(){return Y}});var e=t(32735),R=t(13478),i=t(72041),de=t(19406),X=t(4038),Ue=t(47765),se=t(68625),Ae=t(41415),Ie=t(28356),xe=t(99223),Ke=t(17e3),H=t(3685),x=t(27649),T=t(94745),Ce=t(73269),Z=t(76330),Be=t(29005),j=t(66735),ie=t(3594),D=t(49372),Ne=t(92891),Q=t(58469),$e=t(5636),p=t(5141),ue=t(8888),Me=t(78522),Le=t(80779),Ge=t(97889);const Xe={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var Qe=(V,me)=>(0,Ge.default)(V,z=>{switch(me.type){case"ON_REMOVE_ROLES":{z.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{z.shouldRefetchData=!0,z.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{z.shouldRefetchData=!1,z.roleToDelete=null,z.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{z.roleToDelete=me.id;break}default:return z}});const nt=()=>{(0,R.useFocusWhenNavigate)();const{isLoading:V,allowedActions:{canCreate:me,canDelete:z,canRead:J,canUpdate:re}}=(0,R.useRBAC)(i.Z.settings.roles),{getData:fe,roles:ve,isLoading:Ze}=(0,ue.bF)(!1),[{query:ce}]=(0,R.useQueryParams)(),Ee=ce?._q||"",We=(0,Q.ZP)(ve,Ee,{keys:["name","description"]});return(0,e.useEffect)(()=>{!V&&J&&fe()},[V,J,fe]),{isLoadingForPermissions:V,canCreate:me,canDelete:z,canRead:J,canUpdate:re,isLoading:Ze,getData:fe,sortedRoles:We,roles:ve}},ot=({getData:V,canCreate:me,canDelete:z,canUpdate:J})=>{const{formatMessage:re}=(0,$e.useIntl)(),fe=(0,R.useNotification)(),[ve,Ze]=(0,e.useState)(!1),{push:ce}=(0,p.useHistory)(),[{selectedRoles:Ee,showModalConfirmButtonLoading:We,roleToDelete:h},Pe]=(0,e.useReducer)(Qe,Xe),{post:je}=(0,R.getFetchClient)(),v=async()=>{try{Pe({type:"ON_REMOVE_ROLES"}),await je("/admin/roles/batch-delete",{ids:[h]}),await V(),Pe({type:"RESET_DATA_TO_DELETE"})}catch(M){const pe=(0,Ne.get)(M,["response","payload","data","ids"],null);if(pe&&Array.isArray(pe)){const at=pe.join(`
|
|
178
|
-
`);fe({type:"warning",message:at})}else fe({type:"warning",message:{id:"notification.error"}})}k()},U=(0,e.useCallback)(M=>{ce(`/settings/roles/duplicate/${M}`)},[ce]),_=()=>ce("/settings/roles/new"),ee=(0,e.useCallback)(M=>{Pe({type:"SET_ROLE_TO_DELETE",id:M}),k()},[]),k=()=>Ze(M=>!M),Se=(0,e.useCallback)(M=>{ce(`/settings/roles/${M}`)},[ce]),ye=(0,e.useCallback)((M,pe)=>{M.preventDefault(),M.stopPropagation(),pe.usersCount?fe({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):ee(pe.id)},[fe,ee]),Je=(0,e.useCallback)((M,pe)=>{M.preventDefault(),M.stopPropagation(),U(pe.id)},[U]),He=(0,e.useCallback)(M=>[...me?[{onClick:pe=>Je(pe,M),label:re({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(Ue.Z,null)}]:[],...J?[{onClick:()=>Se(M.id),label:re({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(se.Z,null)}]:[],...z?[{onClick:pe=>ye(pe,M),label:re({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(X.default,null)}]:[]],[re,ye,Je,Se,me,J,z]);return{handleNewRoleClick:_,getIcons:He,selectedRoles:Ee,isWarningDeleteAllOpened:ve,showModalConfirmButtonLoading:We,handleToggleModal:k,handleDeleteData:v}};var Ye=()=>{const{formatMessage:V}=(0,$e.useIntl)(),{isLoadingForPermissions:me,canCreate:z,canRead:J,canDelete:re,canUpdate:fe,isLoading:ve,getData:Ze,sortedRoles:ce}=nt(),{handleNewRoleClick:Ee,getIcons:We,isWarningDeleteAllOpened:h,showModalConfirmButtonLoading:Pe,handleToggleModal:je,handleDeleteData:v}=ot({getData:Ze,canCreate:z,canDelete:re,canUpdate:fe}),U=ce.length+1,_=6;if(me)return e.createElement(x.o,null,e.createElement(R.LoadingIndicatorPage,null));const ee=V({id:"global.roles",defaultMessage:"roles"});return e.createElement(x.o,null,e.createElement(R.SettingsPageTitle,{name:"Roles"}),e.createElement(Ie.T,{primaryAction:z?e.createElement(Ae.z,{onClick:Ee,startIcon:e.createElement(de.default,null),size:"S"},V({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:ee,subtitle:V({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),J&&e.createElement(xe.Z,{startActions:e.createElement(R.SearchURLQuery,{label:V({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ee})})}),J&&e.createElement(Ke.D,null,e.createElement(T.i,{colCount:_,rowCount:U,footer:z?e.createElement(Ce.c,{onClick:Ee,icon:e.createElement(de.default,null)},V({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(Z.h,null,e.createElement(Be.Tr,{"aria-rowindex":1},e.createElement(j.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},V({id:"global.name",defaultMessage:"Name"}))),e.createElement(j.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},V({id:"global.description",defaultMessage:"Description"}))),e.createElement(j.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},V({id:"global.users",defaultMessage:"Users"}))),e.createElement(j.Th,null,e.createElement(H.T,null,V({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(ie.p,null,ce?.map((k,Se)=>e.createElement(Le.Z,{key:k.id,id:k.id,name:k.name,description:k.description,usersCount:k.usersCount,icons:We(k),rowIndex:Se+2})))),!U&&!ve&&e.createElement(Me.Z,null)),e.createElement(R.ConfirmDialog,{isOpen:h,onConfirm:v,isConfirmButtonLoading:Pe,onToggleDialog:je}))},Y=()=>e.createElement(R.CheckPagePermissions,{permissions:i.Z.settings.roles.main},e.createElement(Ye,null))},63775:function(te,S,t){const e=[];window.strapi.features.isEnabled(window.strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),window.strapi.isEE&&e.push({async Component(){return await t.e(8155).then(t.bind(t,61501))},to:"/settings/review-workflows",exact:!0}),window.strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await Promise.all([t.e(2743),t.e(2812)]).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),S.Z=e}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9514],{1372:function(it,v,t){t.r(v),t.d(v,{default:function(){return X}});var e=t(32735),h=t(5636),R=t(89793),z=t.n(R),B=t(60216),d=t.n(B),I=t(96709),W=t(28356),O=t(17e3),r=t(13478),y=t(66456),$=t(41415),G=t(29439),P=t(27649),b=t(15335),E=t(5803),F=t(72850),p=t(70218),C=t(84967),l=t(20069),D=t(68781);const S=({sort:i="",pageSize:s=10,onChange:n})=>{const{formatMessage:o}=(0,h.useIntl)();return e.createElement(F.x,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(b.r,{gap:4},e.createElement(E.P,{s:12,col:6},e.createElement(p.P,{label:o({id:(0,l.Z)("config.entries.title"),defaultMessage:"Entries per page"}),hint:o({id:(0,l.Z)("config.entries.note"),defaultMessage:"Number of assets displayed by default in the Media Library"}),onChange:a=>n({target:{name:"pageSize",value:a}}),name:"pageSize",value:s,"test-pageSize":s,"data-testid":"pageSize-select"},D.ay.map(a=>e.createElement(C.W,{"data-testid":`pageSize-option-${a}`,key:a,value:a},a)))),e.createElement(E.P,{s:12,col:6},e.createElement(p.P,{label:o({id:(0,l.Z)("config.sort.title"),defaultMessage:"Default sort order"}),hint:o({id:(0,l.Z)("config.note"),defaultMessage:"Note: You can override this value in the media library."}),onChange:a=>n({target:{name:"sort",value:a}}),name:"sort",value:i,"test-sort":i,"data-testid":"sort-select"},D.Fo.map(a=>e.createElement(C.W,{"data-testid":`sort-option-${a.value}`,key:a.key,value:a.value},o({id:(0,l.Z)(a.key),defaultMessage:`${a.value}`})))))))};S.propTypes={sort:d().string.isRequired,pageSize:d().number.isRequired,onChange:d().func.isRequired};var H=t(97889),x=t(3040),U=t.n(x),V=t(33795),Y=t.n(V),c=t(74951);const M=`${c.Z}/ON_CHANGE`,Z=`${c.Z}/SET_LOADED`,m={initialData:{},modifiedData:{}},L=i=>({...m,initialData:i,modifiedData:i});var j=(i=m,s)=>(0,H.default)(i,n=>{switch(s.type){case M:{U()(n,["modifiedData",...s.keys.split(".")],s.value);break}case Z:{const o=L(Y()(n,["modifiedData"],{}));n.initialData=o.initialData,n.modifiedData=o.modifiedData;break}default:return n}});const J=({name:i,value:s})=>({type:M,keys:i,value:s}),K=()=>({type:Z});var Q=t(68715);const T=({config:i})=>{const{trackUsage:s}=(0,r.useTracking)(),{formatMessage:n}=(0,h.useIntl)(),o=(0,r.useNotification)(),{mutateConfig:a}=(0,Q.Z)(),{isLoading:A}=a,[k,w]=(0,e.useState)(!1),f=()=>w(g=>!g),[q,N]=(0,e.useReducer)(j,m,()=>L(i)),{initialData:_,modifiedData:u}=q,tt=g=>{g.preventDefault(),f()},et=async()=>{s("willEditMediaLibraryConfig"),await a.mutateAsync(u),f(),N(K()),o({type:"success",message:{id:"notification.form.success.fields",defaultMessage:"Changes saved"}})},at=({target:{name:g,value:nt}})=>{N(J({name:g,value:nt}))};return(0,r.useFocusWhenNavigate)(),e.createElement(I.A,null,e.createElement(P.o,{"aria-busy":A},e.createElement("form",{onSubmit:tt},e.createElement(W.T,{navigationAction:e.createElement(r.Link,{startIcon:e.createElement(G.Z,null),to:`/plugins/${c.Z}`,id:"go-back"},n({id:(0,l.Z)("config.back"),defaultMessage:"Back"})),primaryAction:e.createElement($.z,{size:"S",startIcon:e.createElement(y.Z,null),disabled:z()(u,_),type:"submit"},n({id:"global.save",defaultMessage:"Save"})),subtitle:n({id:(0,l.Z)("config.subtitle"),defaultMessage:"Define the view settings of the media library."}),title:n({id:(0,l.Z)("config.title"),defaultMessage:"Configure the view - Media Library"})}),e.createElement(O.D,null,e.createElement(S,{"data-testid":"settings",pageSize:u.pageSize||"",sort:u.sort||"",onChange:at})),e.createElement(r.ConfirmDialog,{bodyText:{id:(0,l.Z)("config.popUpWarning.warning.updateAllSettings"),defaultMessage:"This will modify all your settings"},iconRightButton:e.createElement(y.Z,null),isConfirmButtonLoading:A,isOpen:k,onToggleDialog:f,onConfirm:et,variantRightButton:"success-light"}))))};T.propTypes={config:d().shape({pageSize:d().number,sort:d().string}).isRequired};var X=T}}]);
|