@strapi/admin 4.7.0-beta.0 → 4.7.0-exp.117579f4c13806c2cd518e7d7d2f9d0c8a20107d
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 +3 -7
- package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +1 -2
- 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 +2 -6
- package/admin/src/components/GuidedTour/Modal/components/Content.js +1 -3
- package/admin/src/components/GuidedTour/Modal/components/Modal.js +2 -8
- 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 +3 -8
- package/admin/src/components/Notifications/Notification/index.js +2 -2
- package/admin/src/components/Notifications/index.js +1 -1
- package/admin/src/components/Theme/index.js +1 -1
- package/admin/src/components/UpgradePlanModal/index.js +3 -10
- package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +4 -14
- package/admin/src/content-manager/components/ComponentInitializer/index.js +2 -5
- 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 +15 -12
- 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 +10 -7
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +10 -7
- 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 +1 -3
- 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/DynamicZoneLabel.js +1 -3
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
- package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
- package/admin/src/content-manager/components/FieldComponent/index.js +2 -5
- 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/NonRepeatableComponent/index.js +1 -3
- package/admin/src/content-manager/components/RelationInput/RelationInput.js +16 -12
- package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
- package/admin/src/content-manager/components/RelationInput/components/Relation.js +1 -2
- package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +4 -12
- 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 +1 -3
- 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/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 +2 -7
- 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 +15 -11
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +8 -10
- 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 +12 -10
- package/admin/src/content-manager/pages/EditView/index.js +2 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +2 -6
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +2 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +10 -6
- package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +10 -7
- 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 +18 -21
- 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/hooks/useMenu/reducer.js +1 -3
- 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 +15 -2
- 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 +1 -7
- package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +11 -10
- package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Register/index.js +13 -11
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +2 -9
- package/admin/src/pages/HomePage/CloudBox.js +83 -0
- package/admin/src/pages/HomePage/ContentBlocks.js +4 -5
- package/admin/src/pages/HomePage/HomeHeader.js +3 -6
- package/admin/src/pages/HomePage/SocialLinks.js +33 -30
- 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 +1 -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 +2 -7
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +3 -9
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +1 -4
- 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 +17 -14
- package/admin/src/pages/SettingsPage/components/Filters/index.js +2 -3
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +16 -3
- package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +2 -5
- package/admin/src/pages/SettingsPage/components/Tokens/FormiTokenContainer/LifeSpanInput.js +1 -2
- package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +1 -2
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +2 -2
- package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +22 -10
- package/admin/src/pages/SettingsPage/components/Tokens/Table/ReadButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/Table/UpdateButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +15 -5
- package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +8 -6
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +1 -1
- 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 +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +1 -3
- 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 +13 -8
- 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 +1 -4
- 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 +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +12 -6
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +13 -7
- 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 +13 -9
- 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 +56 -70
- 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 +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +2 -5
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +1 -2
- 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 +1 -4
- 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 +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
- 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 +1 -5
- 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 +11 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +2 -6
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +16 -10
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +1 -5
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +2 -4
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +23 -5
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +16 -4
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +12 -9
- 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 +9 -7
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +9 -5
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
- 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 +1 -3
- 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 +11 -8
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +2 -8
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +11 -9
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +26 -18
- package/admin/src/pages/UseCasePage/index.js +12 -9
- package/admin/src/permissions/defaultPermissions.js +2 -15
- package/admin/src/translations/ar.json +4 -4
- package/admin/src/translations/ca.json +4 -4
- package/admin/src/translations/cs.json +4 -4
- package/admin/src/translations/de.json +4 -4
- package/admin/src/translations/dk.json +4 -4
- package/admin/src/translations/en.json +7 -4
- package/admin/src/translations/es.json +4 -4
- package/admin/src/translations/eu.json +4 -4
- package/admin/src/translations/fr.json +4 -4
- package/admin/src/translations/gu.json +4 -4
- package/admin/src/translations/he.json +4 -4
- package/admin/src/translations/hi.json +4 -4
- package/admin/src/translations/hu.json +4 -4
- package/admin/src/translations/id.json +4 -4
- package/admin/src/translations/it.json +4 -4
- package/admin/src/translations/ja.json +4 -4
- package/admin/src/translations/ko.json +4 -4
- package/admin/src/translations/ml.json +4 -4
- package/admin/src/translations/ms.json +4 -4
- package/admin/src/translations/nl.json +4 -4
- package/admin/src/translations/no.json +4 -4
- package/admin/src/translations/pl.json +4 -4
- package/admin/src/translations/pt-BR.json +4 -4
- package/admin/src/translations/pt.json +4 -4
- package/admin/src/translations/ru.json +785 -789
- package/admin/src/translations/sa.json +4 -4
- package/admin/src/translations/sk.json +4 -4
- package/admin/src/translations/sv.json +4 -4
- package/admin/src/translations/th.json +4 -4
- package/admin/src/translations/tr.json +4 -4
- package/admin/src/translations/uk.json +4 -4
- package/admin/src/translations/vi.json +4 -4
- package/admin/src/translations/zh-Hans.json +4 -4
- package/admin/src/translations/zh.json +4 -4
- package/build/2637.679b590b.chunk.js +1 -0
- package/build/27d16aefee06412db90a.png +0 -0
- package/build/{7407.883fb1f5.chunk.js → 4049.16583eee.chunk.js} +1 -1
- package/build/4649.b7e84a29.chunk.js +30 -0
- package/build/4849.7abafe52.chunk.js +98 -0
- package/build/6487.83e219bf.chunk.js +14 -0
- package/build/7259.3f04094f.chunk.js +1 -0
- package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
- package/build/9816.01ee964f.chunk.js +2 -0
- package/build/Admin-authenticatedApp.49265c1c.chunk.js +79 -0
- package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
- package/build/Admin_homePage.1f10437f.chunk.js +78 -0
- package/build/Admin_marketplace.a8ea585f.chunk.js +22 -0
- package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
- package/build/Admin_profilePage.b27e40f6.chunk.js +15 -0
- package/build/Admin_settingsPage.5a329b58.chunk.js +178 -0
- package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
- package/build/admin-app.df9adf93.chunk.js +112 -0
- package/build/admin-edit-roles-page.fd041d89.chunk.js +1 -0
- package/build/admin-edit-users.08a60ea2.chunk.js +10 -0
- package/build/admin-users.74f5629d.chunk.js +11 -0
- package/build/{api-tokens-create-page.0db3aec1.chunk.js → api-tokens-create-page.4328b852.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.671e0e26.chunk.js → api-tokens-edit-page.bce5050f.chunk.js} +1 -1
- package/build/api-tokens-list-page.149903c8.chunk.js +16 -0
- package/build/ar-json.39e54aba.chunk.js +1 -0
- package/build/audit-logs-settings-page.bc1784fe.chunk.js +1 -0
- package/build/bb3108f7fd1e6179bde1.svg +1 -0
- package/build/bb4d0d527bdfb161bc5a.svg +1 -0
- package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
- package/build/content-manager.6ed87531.chunk.js +1139 -0
- package/build/content-type-builder-list-view.c2f917b6.chunk.js +191 -0
- package/build/content-type-builder.b7fb1e65.chunk.js +126 -0
- package/build/cs-json.4b44411c.chunk.js +1 -0
- package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
- package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
- package/build/email-settings-page.884cfb8b.chunk.js +3 -0
- package/build/en-json.8e5451b1.chunk.js +1 -0
- package/build/es-json.ea15c957.chunk.js +1 -0
- package/build/{eu-json.fceecd8b.chunk.js → eu-json.3bc24d60.chunk.js} +1 -1
- package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
- package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
- package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
- package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
- package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
- package/build/i18n-settings-page.c7bc29fc.chunk.js +1 -0
- package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
- package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
- package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
- package/build/main.8009bfe8.js +3930 -0
- package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
- package/build/ms-json.0eddffd9.chunk.js +1 -0
- package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
- package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
- package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
- package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
- package/build/pt-json.ee554a41.chunk.js +1 -0
- package/build/{ru-json.aa5cd123.chunk.js → ru-json.866f0ff1.chunk.js} +1 -1
- package/build/{runtime~main.84941a97.js → runtime~main.86cd21d5.js} +2 -2
- package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
- package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
- package/build/sso-settings-page.82d84043.chunk.js +1 -0
- package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
- package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
- package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
- package/build/{transfer-tokens-create-page.16e23791.chunk.js → transfer-tokens-create-page.a1f14bb1.chunk.js} +1 -1
- package/build/{transfer-tokens-edit-page.3886c973.chunk.js → transfer-tokens-edit-page.00ee1c74.chunk.js} +1 -1
- package/build/transfer-tokens-list-page.1e15926d.chunk.js +16 -0
- package/build/uk-json.b7e38370.chunk.js +1 -0
- package/build/upload-settings.c18b010f.chunk.js +1 -0
- package/build/upload.0876ab69.chunk.js +13 -0
- package/build/users-advanced-settings-page.677e1973.chunk.js +1 -0
- package/build/users-email-settings-page.a3c80419.chunk.js +1 -0
- package/build/users-providers-settings-page.87a9c77d.chunk.js +1 -0
- package/build/users-roles-settings-page.79c19845.chunk.js +30 -0
- package/build/vi-json.ee4c5537.chunk.js +1 -0
- package/build/webhook-edit-page.cfbdd3fd.chunk.js +23 -0
- package/build/webhook-list-page.3daa4fe2.chunk.js +1 -0
- package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
- package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
- package/ee/admin/pages/AuthPage/components/Login/index.js +1 -5
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
- package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -8
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +1 -6
- 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/Roles/CreatePage/index.js +15 -11
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +16 -10
- package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +15 -9
- package/ee/admin/permissions/customPermissions.js +4 -0
- package/package.json +13 -13
- package/server/config/admin-actions.js +0 -16
- package/server/controllers/admin.js +0 -55
- package/server/routes/admin.js +0 -28
- package/webpack.alias.js +0 -1
- package/webpack.config.js +0 -3
- package/build/1412.936ed920.chunk.js +0 -159
- package/build/1683.c8aa7b7c.chunk.js +0 -268
- package/build/2607.2e48dbf8.chunk.js +0 -66
- package/build/2743.6d1632f9.chunk.js +0 -45
- package/build/3075.dc3894fe.chunk.js +0 -108
- package/build/3632.0317b618.chunk.js +0 -138
- package/build/4649.15cc0afe.chunk.js +0 -30
- package/build/4855.bd092921.chunk.js +0 -209
- package/build/7259.aa68d808.chunk.js +0 -1
- package/build/9707.7290fd92.chunk.js +0 -96
- package/build/Admin-authenticatedApp.f29f6021.chunk.js +0 -79
- package/build/Admin_InternalErrorPage.157152a8.chunk.js +0 -1
- package/build/Admin_homePage.b1730882.chunk.js +0 -77
- package/build/Admin_marketplace.ea0316c2.chunk.js +0 -26
- package/build/Admin_pluginsPage.5c24f963.chunk.js +0 -6
- package/build/Admin_profilePage.59af1978.chunk.js +0 -15
- package/build/Admin_settingsPage.178dc6e3.chunk.js +0 -178
- package/build/Upload_ConfigureTheView.3f2b6e6a.chunk.js +0 -1
- package/build/admin-app.77a50e1f.chunk.js +0 -112
- package/build/admin-edit-roles-page.446b69dc.chunk.js +0 -1
- package/build/admin-edit-users.2ed69bfd.chunk.js +0 -10
- package/build/admin-users.fc003b10.chunk.js +0 -11
- package/build/api-tokens-list-page.7387102c.chunk.js +0 -16
- package/build/ar-json.932794f7.chunk.js +0 -1
- package/build/audit-logs-settings-page.c3dce30d.chunk.js +0 -1
- package/build/content-manager.42b24d46.chunk.js +0 -1139
- package/build/content-type-builder-list-view.79e84b36.chunk.js +0 -193
- package/build/content-type-builder.855db321.chunk.js +0 -126
- package/build/cs-json.79879fb6.chunk.js +0 -1
- package/build/email-settings-page.d1fcc7a3.chunk.js +0 -10
- package/build/en-json.b0748970.chunk.js +0 -1
- package/build/es-json.e275481d.chunk.js +0 -1
- package/build/i18n-settings-page.b8d8753e.chunk.js +0 -60
- package/build/main.1022ed01.js +0 -4393
- package/build/ms-json.db87d8d3.chunk.js +0 -1
- package/build/pt-json.62927d1e.chunk.js +0 -1
- package/build/sso-settings-page.b85ad080.chunk.js +0 -41
- package/build/transfer-tokens-list-page.e8010a89.chunk.js +0 -16
- package/build/uk-json.b2fcd567.chunk.js +0 -1
- package/build/upload-settings.ef64bbf9.chunk.js +0 -84
- package/build/upload.c5730dfa.chunk.js +0 -33
- package/build/users-advanced-settings-page.fce9908e.chunk.js +0 -8
- package/build/users-email-settings-page.343d0ad2.chunk.js +0 -23
- package/build/users-providers-settings-page.e5a9a3f1.chunk.js +0 -99
- package/build/users-roles-settings-page.66312f31.chunk.js +0 -30
- package/build/vi-json.f08d7d03.chunk.js +0 -1
- package/build/webhook-edit-page.73e51e64.chunk.js +0 -75
- package/build/webhook-list-page.1134f130.chunk.js +0 -42
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3981],{41570:function(me,T,o){o.r(T),o.d(T,{default:function(){return se}});var e=o(32735),f=o(5636),c=o(83292),M=o(99357),H=o(5141),l=o(13478),n=o(39161),L=o.p+"7e9af4fb7e723fcebf1f.svg",P=o(8888),R=t=>Object.entries(t).every(([,r])=>Object.entries(r).every(([,a])=>a)),d=o(57269),G=o(60216),i=o.n(G),w=o(14317),I=o(78024),p=o(23678);const E=({type:t,title:r,number:a,content:s,hasLine:m})=>{const{formatMessage:h}=(0,f.useIntl)();return e.createElement(n.Box,null,e.createElement(n.Flex,null,e.createElement(n.Box,{minWidth:(0,l.pxToRem)(30),marginRight:5},e.createElement(w.Z,{type:t,number:a})),e.createElement(n.Typography,{variant:"delta",as:"h3"},h(r))),e.createElement(n.Flex,{alignItems:"flex-start"},e.createElement(n.Flex,{justifyContent:"center",minWidth:(0,l.pxToRem)(30),marginBottom:3,marginTop:3,marginRight:5},m&&e.createElement(I.Z,{type:t,minHeight:t===p.lW?(0,l.pxToRem)(85):(0,l.pxToRem)(65)})),e.createElement(n.Box,{marginTop:2},t===p.lW&&s)))};E.defaultProps={content:void 0,number:void 0,type:p.VM,hasLine:!0},E.propTypes={content:i().node,number:i().number,title:i().shape({id:i().string,defaultMessage:i().string}).isRequired,type:i().oneOf([p.lW,p.hx,p.VM]),hasLine:i().bool};var j=E;const W=(t,r)=>t===-1||r<t?p.hx:r>t?p.VM:p.lW,b=({sections:t,currentSectionKey:r})=>{const a=t.findIndex(s=>s.key===r);return e.createElement(n.Box,null,t.map((s,m)=>e.createElement(j,{key:s.key,title:s.title,content:s.content,number:m+1,type:W(a,m),hasLine:m!==t.length-1})))};b.defaultProps={currentSectionKey:void 0},b.propTypes={sections:i().arrayOf(i().shape({key:i().string.isRequired,title:i().shape({id:i().string,defaultMessage:i().string}).isRequired,content:i().node})).isRequired,currentSectionKey:i().string};var F=b,D=o(58107),O=()=>{const{guidedTourState:t,setSkipped:r}=(0,l.useGuidedTour)(),{formatMessage:a}=(0,f.useIntl)(),{trackUsage:s}=(0,l.useTracking)(),m=Object.entries(D.Z).map(([u,g])=>({key:u,title:g.home.title,content:e.createElement(l.LinkButton,{onClick:()=>s(g.home.trackingEvent),to:g.home.cta.target,endIcon:e.createElement(d.ArrowRight,null)},a(g.home.cta.title))})),S=m.map(u=>({isDone:Object.entries(t[u.key]).every(([,g])=>g),...u})).find(u=>!u.isDone)?.key,B=()=>{r(!0),s("didSkipGuidedtour")};return e.createElement(n.Box,{hasRadius:!0,shadow:"tableShadow",paddingTop:7,paddingRight:4,paddingLeft:7,paddingBottom:4,background:"neutral0"},e.createElement(n.Stack,{spacing:6},e.createElement(n.Typography,{variant:"beta",as:"h2"},a({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"})),e.createElement(F,{sections:m,currentSectionKey:S})),e.createElement(n.Flex,{justifyContent:"flex-end"},e.createElement(n.Button,{variant:"tertiary",onClick:B},a({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"}))))},A=o(95489),x=o(41502);const $=(0,c.default)(d.Discord)`
|
|
2
|
+
path {
|
|
3
|
+
fill: #7289da !important;
|
|
4
|
+
}
|
|
5
|
+
`,V=(0,c.default)(d.Reddit)`
|
|
6
|
+
> path:first-child {
|
|
7
|
+
fill: #ff4500;
|
|
8
|
+
}
|
|
9
|
+
`,C=(0,c.default)(d.Strapi)`
|
|
10
|
+
> path:first-child {
|
|
11
|
+
fill: #4945ff;
|
|
12
|
+
}
|
|
13
|
+
> path:nth-child(2) {
|
|
14
|
+
fill: #fff;
|
|
15
|
+
}
|
|
16
|
+
> path:nth-child(4) {
|
|
17
|
+
fill: #9593ff;
|
|
18
|
+
}
|
|
19
|
+
`,z=(0,c.default)(d.Twitter)`
|
|
20
|
+
path {
|
|
21
|
+
fill: #1da1f2 !important;
|
|
22
|
+
}
|
|
23
|
+
`,K=(0,c.default)(d.Discourse)`
|
|
24
|
+
> path:first-child {
|
|
25
|
+
fill: #231f20;
|
|
26
|
+
}
|
|
27
|
+
> path:nth-child(2) {
|
|
28
|
+
fill: #fff9ae;
|
|
29
|
+
}
|
|
30
|
+
> path:nth-child(3) {
|
|
31
|
+
fill: #00aeef;
|
|
32
|
+
}
|
|
33
|
+
> path:nth-child(4) {
|
|
34
|
+
fill: #00a94f;
|
|
35
|
+
}
|
|
36
|
+
> path:nth-child(5) {
|
|
37
|
+
fill: #f15d22;
|
|
38
|
+
}
|
|
39
|
+
> path:nth-child(6) {
|
|
40
|
+
fill: #e31b23;
|
|
41
|
+
}
|
|
42
|
+
`,U=[{name:{id:"app.components.HomePage.community.links.github",defaultMessage:"Github"},link:"https://github.com/strapi/strapi/",icon:e.createElement(d.Github,{fill:"#7289DA"}),alt:"github"},{name:{id:"app.components.HomePage.community.links.discord",defaultMessage:"Discord"},link:"https://discord.strapi.io/",icon:e.createElement($,null),alt:"discord"},{name:{id:"app.components.HomePage.community.links.reddit",defaultMessage:"Reddit"},link:"https://www.reddit.com/r/Strapi/",icon:e.createElement(V,null),alt:"reddit"},{name:{id:"app.components.HomePage.community.links.twitter",defaultMessage:"Twitter"},link:"https://twitter.com/strapijs",icon:e.createElement(z,null),alt:"twitter"},{name:{id:"app.components.HomePage.community.links.forum",defaultMessage:"Forum"},link:"https://forum.strapi.io",icon:e.createElement(K,null),alt:"forum"},{name:{id:"app.components.HomePage.community.links.blog",defaultMessage:"Blog"},link:"https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page",icon:e.createElement(C,null),alt:"blog"},{name:{id:"app.components.HomePage.community.links.career",defaultMessage:"We are hiring!"},link:"https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog",icon:e.createElement(C,null),alt:"career"}],Z=(0,c.default)(A.Q)`
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
border: none;
|
|
46
|
+
|
|
47
|
+
svg {
|
|
48
|
+
width: ${({theme:t})=>t.spaces[6]};
|
|
49
|
+
height: ${({theme:t})=>t.spaces[6]};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
span {
|
|
53
|
+
word-break: keep-all;
|
|
54
|
+
}
|
|
55
|
+
`,J=(0,c.default)(n.Grid)`
|
|
56
|
+
row-gap: ${({theme:t})=>t.spaces[2]};
|
|
57
|
+
column-gap: ${({theme:t})=>t.spaces[4]};
|
|
58
|
+
`;var N=()=>{const{formatMessage:t}=(0,f.useIntl)(),{communityEdition:r}=(0,l.useAppInfos)(),a=[...U,{icon:e.createElement(C,null),link:r?"https://discord.strapi.io":"https://support.strapi.io/support/home",name:{id:"Settings.application.get-help",defaultMessage:"Get help"}}];return e.createElement(n.Box,{as:"aside","aria-labelledby":"join-the-community",background:"neutral0",hasRadius:!0,paddingRight:5,paddingLeft:5,paddingTop:6,paddingBottom:6,shadow:"tableShadow"},e.createElement(n.Box,{paddingBottom:7},e.createElement(n.Stack,{spacing:5},e.createElement(n.Stack,{spacing:3},e.createElement(n.Typography,{variant:"delta",as:"h2",id:"join-the-community"},t({id:"app.components.HomePage.community",defaultMessage:"Join the community"})),e.createElement(n.Typography,{textColor:"neutral600"},t({id:"app.components.HomePage.community.content",defaultMessage:"Discuss with team members, contributors and developers on different channels"}))),e.createElement(x.r,{href:"https://feedback.strapi.io/",isExternal:!0,endIcon:e.createElement(d.ExternalLink,null)},t({id:"app.components.HomePage.roadmap",defaultMessage:"See our road map"})))),e.createElement(J,null,a.map(({icon:s,link:m,name:h})=>e.createElement(n.GridItem,{col:6,s:12,key:h},e.createElement(Z,{size:"L",startIcon:s,variant:"tertiary",href:m,isExternal:!0},t(h))))))};const Q=(0,c.default)(n.Typography)`
|
|
59
|
+
word-break: break-word;
|
|
60
|
+
`,Y=(0,c.default)(n.Stack)`
|
|
61
|
+
align-items: flex-start;
|
|
62
|
+
`,v=({hasCreatedContentType:t,onCreateCT:r})=>{const{formatMessage:a}=(0,f.useIntl)();return e.createElement("div",null,e.createElement(n.Box,{paddingLeft:6,paddingBottom:10},e.createElement(Y,{spacing:5},e.createElement(n.Typography,{as:"h1",variant:"alpha"},a(t?{id:"app.components.HomePage.welcome.again",defaultMessage:"Welcome \u{1F44B}"}:{id:"app.components.HomePage.welcome",defaultMessage:"Welcome on board!"})),e.createElement(Q,{textColor:"neutral600",variant:"epsilon"},a(t?{id:"app.components.HomePage.welcomeBlock.content.again",defaultMessage:"We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback."}:{id:"app.components.HomePage.welcomeBlock.content",defaultMessage:"Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!"})),t?e.createElement(x.r,{isExternal:!0,href:"https://strapi.io/blog"},a({id:"app.components.HomePage.button.blog",defaultMessage:"See more on the blog"})):e.createElement(n.Button,{size:"L",onClick:r,endIcon:e.createElement(d.ArrowRight,null)},a({id:"app.components.HomePage.create",defaultMessage:"Create your first Content type"})))))};v.defaultProps={hasCreatedContentType:void 0,onCreateCT:void 0},v.propTypes={hasCreatedContentType:i().bool,onCreateCT:i().func};var X=v,q=o.p+"27d16aefee06412db90a.png",_=o.p+"bb3108f7fd1e6179bde1.svg",ee=o.p+"bb4d0d527bdfb161bc5a.svg";const te=c.default.a`
|
|
63
|
+
text-decoration: none;
|
|
64
|
+
`,ne=(0,c.default)(n.Box)`
|
|
65
|
+
background-image: url(${({backgroundImage:t})=>t});
|
|
66
|
+
`,ae=(0,c.default)(n.Flex)`
|
|
67
|
+
background: rgba(255, 255, 255, 0.3);
|
|
68
|
+
`;var oe=()=>{const{formatMessage:t}=(0,f.useIntl)(),{trackUsage:r}=(0,l.useTracking)();return e.createElement(te,{href:"https://cloud.strapi.io",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>{r("didClickOnTryStrapiCloudSection")}},e.createElement(n.Flex,{shadow:"tableShadow",hasRadius:!0,padding:6,background:"neutral0",position:"relative",gap:6},e.createElement(ne,{backgroundImage:q,hasRadius:!0,padding:3},e.createElement(ae,{width:(0,l.pxToRem)(32),height:(0,l.pxToRem)(32),justifyContent:"center",hasRadius:!0,alignItems:"center"},e.createElement("img",{src:_,alt:t({id:"app.components.BlockLink.cloud",defaultMessage:"Strapi Cloud"})}))),e.createElement(n.Flex,{gap:1,direction:"column",alignItems:"start"},e.createElement(n.Flex,null,e.createElement(n.Typography,{fontWeight:"semiBold",variant:"pi"},t({id:"app.components.BlockLink.cloud",defaultMessage:"Strapi Cloud"}))),e.createElement(n.Typography,{textColor:"neutral600"},t({id:"app.components.BlockLink.cloud.content",defaultMessage:"A fully composable, and collaborative platform to boost your team velocity."})),e.createElement(n.Box,{src:ee,position:"absolute",top:0,right:0,as:"img"}))))};const y=c.default.a`
|
|
69
|
+
text-decoration: none;
|
|
70
|
+
`;var re=()=>{const{formatMessage:t}=(0,f.useIntl)(),{trackUsage:r}=(0,l.useTracking)(),a=s=>{r(s)};return e.createElement(n.Stack,{spacing:5},e.createElement(oe,null),e.createElement(y,{href:"https://strapi.io/resource-center",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>a("didClickonReadTheDocumentationSection")},e.createElement(l.ContentBox,{title:t({id:"global.documentation",defaultMessage:"Documentation"}),subtitle:t({id:"app.components.BlockLink.documentation.content",defaultMessage:"Discover the essential concepts, guides and instructions."}),icon:e.createElement(d.InformationSquare,null),iconBackground:"primary100"})),e.createElement(y,{href:"https://strapi.io/starters",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>a("didClickonCodeExampleSection")},e.createElement(l.ContentBox,{title:t({id:"app.components.BlockLink.code",defaultMessage:"Code example"}),subtitle:t({id:"app.components.BlockLink.code.content",defaultMessage:"Learn by using ready-made starters for your projects."}),icon:e.createElement(d.CodeSquare,null),iconBackground:"warning100"})),e.createElement(y,{href:"https://strapi.io/blog/categories/tutorials",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>a("didClickonTutorialSection")},e.createElement(l.ContentBox,{title:t({id:"app.components.BlockLink.tutorial",defaultMessage:"Tutorials"}),subtitle:t({id:"app.components.BlockLink.tutorial.content",defaultMessage:"Follow step-by-step instructions to use and customize Strapi."}),icon:e.createElement(d.PlaySquare,null),iconBackground:"secondary100"})),e.createElement(y,{href:"https://strapi.io/blog",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>a("didClickonBlogSection")},e.createElement(l.ContentBox,{title:t({id:"app.components.BlockLink.blog",defaultMessage:"Blog"}),subtitle:t({id:"app.components.BlockLink.blog.content",defaultMessage:"Read the latest news about Strapi and the ecosystem."}),icon:e.createElement(d.FeatherSquare,null),iconBackground:"alternative100"})))};const le=(0,c.default)(n.Box)`
|
|
71
|
+
position: absolute;
|
|
72
|
+
top: 0;
|
|
73
|
+
right: 0;
|
|
74
|
+
|
|
75
|
+
img {
|
|
76
|
+
width: ${150/16}rem;
|
|
77
|
+
}
|
|
78
|
+
`,ie=()=>{const{collectionTypes:t,singleTypes:r,isLoading:a}=(0,P.bP)(),{guidedTourState:s,isGuidedTourVisible:m,isSkipped:h}=(0,l.useGuidedTour)(),S=!R(s)&&m&&!h,{push:B}=(0,H.useHistory)(),u=k=>{k.preventDefault(),B("/plugins/content-type-builder/content-types/create-content-type")},g=(0,e.useMemo)(()=>{const k=ce=>ce.filter(de=>de.isDisplayed);return k(t).length>1||k(r).length>0},[t,r]);return a?e.createElement(l.LoadingIndicatorPage,null):e.createElement(n.Layout,null,e.createElement(f.FormattedMessage,{id:"HomePage.helmet.title",defaultMessage:"Homepage"},k=>e.createElement(M.Helmet,{title:k[0]})),e.createElement(n.Main,null,e.createElement(le,null,e.createElement("img",{alt:"","aria-hidden":!0,src:L})),e.createElement(n.Box,{padding:10},e.createElement(n.Grid,null,e.createElement(n.GridItem,{col:8,s:12},e.createElement(X,{onCreateCT:u,hasCreatedContentType:g}))),e.createElement(n.Grid,{gap:6},e.createElement(n.GridItem,{col:8,s:12},S?e.createElement(O,null):e.createElement(re,null)),e.createElement(n.GridItem,{col:4,s:12},e.createElement(N,null))))))};var se=(0,e.memo)(ie)}}]);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5516],{92698:function(Qe,O,p){p.r(O),p.d(O,{MarketPlacePage:function(){return _},default:function(){return Ae}});var e=p(32735),E=p(5636),oe=p(99357),C=p(58469),u=p(13478),t=p(39161),ce=p(60216),a=p.n(ce),f=p(57269),T=p(83292);const de=(0,T.default)(t.Box)`
|
|
2
|
+
background: ${({theme:n})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${n.colors.neutral150} 100%)`};
|
|
3
|
+
opacity: 0.33;
|
|
4
|
+
`,ue=()=>e.createElement(t.GridLayout,null,Array(12).fill(null).map((n,s)=>e.createElement(de,{key:`empty-plugin-card-${s}`,height:"234px",hasRadius:!0}))),$=({content:n})=>e.createElement(t.Box,{position:"relative"},e.createElement(ue,null),e.createElement(t.Box,{position:"absolute",top:11,width:"100%"},e.createElement(t.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},e.createElement(t.Icon,{as:f.EmptyStateDocument,color:"",width:"160px",height:"88px"}),e.createElement(t.Box,{paddingTop:6},e.createElement(t.Typography,{variant:"delta",as:"p",textColor:"neutral600"},n)))));$.propTypes={content:a().string.isRequired};var V=$,j=p(95489);const x=({isOnline:n,npmPackageType:s})=>{const{formatMessage:r}=(0,E.useIntl)(),{trackUsage:i}=(0,u.useTracking)(),o=s==="provider"?"didSubmitProvider":"didSubmitPlugin";return e.createElement(t.HeaderLayout,{title:r({id:"global.marketplace",defaultMessage:"Marketplace"}),subtitle:r({id:"admin.pages.MarketPlacePage.subtitle",defaultMessage:"Get more out of Strapi"}),primaryAction:n&&e.createElement(j.Q,{startIcon:e.createElement(f.Upload,null),variant:"tertiary",href:`https://market.strapi.io/submit-${s}`,onClick:()=>i(o),isExternal:!0},r({id:`admin.pages.MarketPlacePage.submit.${s}.link`,defaultMessage:`Submit ${s}`}))})};var z=x;x.defaultProps={npmPackageType:"plugin"},x.propTypes={isOnline:a().bool.isRequired,npmPackageType:a().string};var G=p(84968),H=p(55721);const pe="https://market-api.strapi.io",ge=async(n={})=>{const{data:s}=await H.Z.get(`${pe}/providers`,{params:n});return s};var me=(n,s)=>{const r=(0,u.useNotification)();return(0,G.useQuery)(["list-marketplace-providers",s],()=>ge(s),{onSuccess(){n&&n()},onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};const fe="https://market-api.strapi.io",he=async(n={})=>{const{data:s}=await H.Z.get(`${fe}/plugins`,{params:n});return{...s,data:s.data.filter(i=>i.attributes.strapiCompatibility==="v4")}};var Pe=(n,s)=>{const r=(0,u.useNotification)();return(0,G.useQuery)(["list-marketplace-plugins",s],()=>he(s),{onSuccess(){n&&n()},onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})},Ee=p(72041),ke=p.p+"9d5d788027e86620c234.svg",ye=()=>{const n=typeof navigator<"u"&&typeof navigator.onLine=="boolean"?navigator.onLine:!0,[s,r]=(0,e.useState)(n),i=()=>r(!0),o=()=>r(!1);return(0,e.useEffect)(()=>(window.addEventListener("online",i),window.addEventListener("offline",o),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",o)}),[]),s},ve=()=>{const{formatMessage:n}=(0,E.useIntl)(),{trackUsage:s}=(0,u.useTracking)();return e.createElement("a",{href:"https://strapi.canny.io/plugin-requests",target:"_blank",rel:"noopener noreferrer nofollow",style:{textDecoration:"none"},onClick:()=>s("didMissMarketplacePlugin")},e.createElement(u.ContentBox,{title:n({id:"admin.pages.MarketPlacePage.missingPlugin.title",defaultMessage:"Documentation"}),subtitle:n({id:"admin.pages.MarketPlacePage.missingPlugin.description",defaultMessage:"Tell us what plugin you are looking for and we'll let our community plugin developers know in case they are in search for inspiration!"}),icon:e.createElement(f.GlassesSquare,null),iconBackground:"alternative100",endAction:e.createElement(t.Icon,{as:f.ExternalLink,color:"neutral600",width:3,height:3,marginLeft:2})}))},Me=p(24443),be=p.n(Me),Re=p(47750),Te=p(54770),U=p.n(Te);const S=({description:n,installMessage:s,disabled:r,handleCopy:i,pluginName:o})=>e.createElement(t.Tooltip,{"data-testid":`tooltip-${o}`,description:n},e.createElement(t.Box,null,e.createElement(t.Button,{size:"S",startIcon:e.createElement(f.Duplicate,null),variant:"secondary",disabled:r,onClick:i},s))),B=({strapiPeerDepVersion:n,strapiAppVersion:s,handleCopy:r,pluginName:i})=>{const{formatMessage:o}=(0,E.useIntl)(),d=U().validRange(n),c=U().satisfies(s,d),l=o({id:"admin.pages.MarketPlacePage.plugin.copy",defaultMessage:"Copy install command"});if(s){if(!d)return e.createElement(S,{installMessage:l,pluginName:i,description:o({id:"admin.pages.MarketPlacePage.plugin.version.null",defaultMessage:'Unable to verify compatibility with your Strapi version: "{strapiAppVersion}"'},{strapiAppVersion:s}),handleCopy:r});if(!c)return e.createElement(S,{installMessage:l,pluginName:i,description:o({id:"admin.pages.MarketPlacePage.plugin.version",defaultMessage:'Update your Strapi version: "{strapiAppVersion}" to: "{versionRange}"'},{strapiAppVersion:s,versionRange:d}),disabled:!0})}return e.createElement(t.Button,{size:"S",startIcon:e.createElement(f.Duplicate,null),variant:"secondary",onClick:r},l)};S.defaultProps={disabled:!1,handleCopy:null},S.propTypes={description:a().string.isRequired,installMessage:a().string.isRequired,disabled:a().bool,handleCopy:a().func,pluginName:a().string.isRequired},B.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},B.propTypes={strapiAppVersion:a().string,strapiPeerDepVersion:a().string,handleCopy:a().func.isRequired,pluginName:a().string.isRequired};var Se=B;const I=({isInstalled:n,isInDevelopmentMode:s,commandToCopy:r,strapiAppVersion:i,strapiPeerDepVersion:o,pluginName:d})=>{const c=(0,u.useNotification)(),{formatMessage:l}=(0,E.useIntl)(),{trackUsage:g}=(0,u.useTracking)(),m=()=>{navigator.clipboard.writeText(r),g("willInstallPlugin"),c({type:"success",message:{id:"admin.pages.MarketPlacePage.plugin.copy.success"}})};return n?e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Icon,{as:f.Check,marginRight:2,width:12,height:12,color:"success600"}),e.createElement(t.Typography,{variant:"omega",textColor:"success600",fontWeight:"bold"},l({id:"admin.pages.MarketPlacePage.plugin.installed",defaultMessage:"Installed"}))):s?e.createElement(Se,{strapiAppVersion:i,strapiPeerDepVersion:o,handleCopy:m,pluginName:d}):null};I.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},I.propTypes={isInstalled:a().bool.isRequired,isInDevelopmentMode:a().bool.isRequired,commandToCopy:a().string.isRequired,strapiAppVersion:a().string,strapiPeerDepVersion:a().string,pluginName:a().string.isRequired};var Ce=I;const xe=(0,T.default)(t.Divider)`
|
|
5
|
+
width: ${(0,u.pxToRem)(12)};
|
|
6
|
+
transform: rotate(90deg);
|
|
7
|
+
`,w=({githubStars:n,npmDownloads:s,npmPackageType:r})=>{const{formatMessage:i}=(0,E.useIntl)();return e.createElement(t.Stack,{horizontal:!0,spacing:1},!!n&&e.createElement(e.Fragment,null,e.createElement(t.Icon,{as:f.Github,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),"aria-hidden":!0}),e.createElement(t.Icon,{as:f.Star,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),color:"warning500","aria-hidden":!0}),e.createElement("p",{"aria-label":i({id:`admin.pages.MarketPlacePage.${r}.githubStars`,defaultMessage:"This {package} was starred {starsCount} on GitHub"},{starsCount:n,package:r})},e.createElement(t.Typography,{variant:"pi",textColor:"neutral800",lineHeight:16},n)),e.createElement(xe,{unsetMargin:!1,background:"neutral200"})),e.createElement(t.Icon,{as:f.Download,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),"aria-hidden":!0}),e.createElement("p",{"aria-label":i({id:`admin.pages.MarketPlacePage.${r}.downloads`,defaultMessage:"This {package} has {downloadsCount} weekly downloads"},{downloadsCount:s,package:r})},e.createElement(t.Typography,{variant:"pi",textColor:"neutral800",lineHeight:16},s)))};w.defaultProps={githubStars:0,npmDownloads:0},w.propTypes={githubStars:a().number,npmDownloads:a().number,npmPackageType:a().string.isRequired};var Be=w;const Ie=(0,T.default)(t.Typography)`
|
|
8
|
+
/* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
|
|
9
|
+
display: -webkit-box;
|
|
10
|
+
-webkit-box-orient: vertical;
|
|
11
|
+
-webkit-line-clamp: 2;
|
|
12
|
+
/* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
`,N=({npmPackage:n,isInstalled:s,useYarn:r,isInDevelopmentMode:i,npmPackageType:o,strapiAppVersion:d})=>{const{attributes:c}=n,{formatMessage:l}=(0,E.useIntl)(),{trackUsage:g}=(0,u.useTracking)(),m=r?`yarn add ${c.npmPackageName}`:`npm install ${c.npmPackageName}`,y=l({id:"admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi",defaultMessage:"Made by Strapi"}),M=`https://market.strapi.io/${be().plural(o)}/${c.slug}`;return e.createElement(t.Flex,{direction:"column",justifyContent:"space-between",paddingTop:4,paddingRight:4,paddingBottom:4,paddingLeft:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",height:"100%",alignItems:"normal","data-testid":"npm-package-card"},e.createElement(t.Box,null,e.createElement(t.Flex,{direction:"row",justifyContent:"space-between",alignItems:"flex-start"},e.createElement(t.Box,{as:"img",src:c.logo.url,alt:`${c.name} logo`,hasRadius:!0,width:11,height:11}),e.createElement(Be,{githubStars:c.githubStars,npmDownloads:c.npmDownloads,npmPackageType:o})),e.createElement(t.Box,{paddingTop:4},e.createElement(t.Typography,{as:"h3",variant:"delta"},e.createElement(t.Flex,{alignItems:"center"},c.name,c.validated&&!c.madeByStrapi&&e.createElement(t.Tooltip,{description:l({id:"admin.pages.MarketPlacePage.plugin.tooltip.verified",defaultMessage:"Plugin verified by Strapi"})},e.createElement(t.Flex,null,e.createElement(t.Icon,{as:f.CheckCircle,marginLeft:2,color:"success600"}))),c.madeByStrapi&&e.createElement(t.Tooltip,{description:y},e.createElement(t.Flex,null,e.createElement(t.Box,{as:"img",src:Re,alt:y,marginLeft:1,width:6,height:"auto"})))))),e.createElement(t.Box,{paddingTop:2},e.createElement(Ie,{as:"p",variant:"omega",textColor:"neutral600"},c.description))),e.createElement(t.Stack,{horizontal:!0,spacing:2,style:{alignSelf:"flex-end"},paddingTop:6},e.createElement(j.Q,{size:"S",href:M,isExternal:!0,endIcon:e.createElement(f.ExternalLink,null),"aria-label":l({id:"admin.pages.MarketPlacePage.plugin.info.label",defaultMessage:"Learn more about {pluginName}"},{pluginName:c.name}),variant:"tertiary",onClick:()=>g("didPluginLearnMore")},l({id:"admin.pages.MarketPlacePage.plugin.info.text",defaultMessage:"More"})),e.createElement(Ce,{isInstalled:s,isInDevelopmentMode:i,commandToCopy:m,strapiAppVersion:d,strapiPeerDepVersion:c.strapiVersion,pluginName:c.name})))};N.defaultProps={isInDevelopmentMode:!1,strapiAppVersion:null},N.propTypes={npmPackage:a().shape({id:a().string.isRequired,attributes:a().shape({name:a().string.isRequired,description:a().string.isRequired,slug:a().string.isRequired,npmPackageName:a().string.isRequired,npmPackageUrl:a().string.isRequired,repositoryUrl:a().string.isRequired,logo:a().object.isRequired,developerName:a().string.isRequired,validated:a().bool.isRequired,madeByStrapi:a().bool.isRequired,strapiCompatibility:a().oneOf(["v3","v4"]),strapiVersion:a().string,githubStars:a().number,npmDownloads:a().number}).isRequired}).isRequired,isInstalled:a().bool.isRequired,useYarn:a().bool.isRequired,isInDevelopmentMode:a().bool,npmPackageType:a().string.isRequired,strapiAppVersion:a().string};var we=N;const q=({npmPackages:n,installedPackageNames:s,useYarn:r,isInDevelopmentMode:i,npmPackageType:o,strapiAppVersion:d})=>{const c=(0,e.useCallback)(l=>s.includes(l),[s]);return e.createElement(t.Grid,{gap:4},n.map(l=>e.createElement(t.GridItem,{col:4,s:6,xs:12,style:{height:"100%"},key:l.id},e.createElement(we,{npmPackage:l,isInstalled:c(l.attributes.npmPackageName),useYarn:r,isInDevelopmentMode:i,npmPackageType:o,strapiAppVersion:d}))))};q.defaultProps={installedPackageNames:[],strapiAppVersion:null},q.propTypes={npmPackages:a().array.isRequired,installedPackageNames:a().arrayOf(a().string),useYarn:a().bool.isRequired,isInDevelopmentMode:a().bool.isRequired,npmPackageType:a().string.isRequired,strapiAppVersion:a().string};var Q=q;const Ne=(0,T.default)(t.Box)`
|
|
15
|
+
font-weight: ${({theme:n})=>n.fontWeights.semiBold};
|
|
16
|
+
|
|
17
|
+
span {
|
|
18
|
+
font-size: ${({theme:n})=>n.fontSizes[1]};
|
|
19
|
+
}
|
|
20
|
+
`,W=({sortQuery:n,handleSelectChange:s})=>{const{formatMessage:r}=(0,E.useIntl)(),i={"name:asc":{selected:{id:"admin.pages.MarketPlacePage.sort.alphabetical.selected",defaultMessage:"Sort by alphabetical order"},option:{id:"admin.pages.MarketPlacePage.sort.alphabetical",defaultMessage:"Alphabetical order"}},"submissionDate:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.newest.selected",defaultMessage:"Sort by newest"},option:{id:"admin.pages.MarketPlacePage.sort.newest",defaultMessage:"Newest"}},"githubStars:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.githubStars.selected",defaultMessage:"Sort by GitHub stars"},option:{id:"admin.pages.MarketPlacePage.sort.githubStars",defaultMessage:"Number of GitHub stars"}},"npmDownloads:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.npmDownloads.selected",defaultMessage:"Sort by npm downloads"},option:{id:"admin.pages.MarketPlacePage.sort.npmDownloads",defaultMessage:"Number of downloads"}}};return e.createElement(Ne,null,e.createElement(t.Select,{size:"S",id:"sort-by-select",value:n,customizeContent:()=>r(i[n].selected),onChange:o=>{s({sort:o})}},Object.entries(i).map(([o,d])=>e.createElement(t.Option,{key:o,value:o},r(d.option)))))};W.propTypes={sortQuery:a().string.isRequired,handleSelectChange:a().func.isRequired};var qe=W;const Z=({message:n,value:s,onChange:r,possibleFilters:i,onClear:o,customizeContent:d})=>{const c=(l,g)=>`${l} (${g})`;return e.createElement(t.Select,{"data-testid":`${n}-button`,"aria-label":n,placeholder:n,size:"M",onChange:r,onClear:o,value:s,customizeContent:d,multi:!0},Object.entries(i).map(([l,g])=>e.createElement(t.Option,{"data-testid":`${l}-${g}`,key:l,value:l},c(l,g))))};Z.propTypes={message:a().string.isRequired,value:a().array.isRequired,onChange:a().func.isRequired,possibleFilters:a().object.isRequired,onClear:a().func.isRequired,customizeContent:a().func.isRequired};var Y=Z;const K=({source:n,onToggle:s,query:r,npmPackageType:i,possibleCategories:o,possibleCollections:d,handleSelectChange:c,handleSelectClear:l})=>{const{formatMessage:g}=(0,E.useIntl)();return e.createElement(t.Popover,{source:n,padding:3,spacing:4,onBlur:()=>{}},e.createElement(t.FocusTrap,{onEscape:s},e.createElement(t.Stack,{spacing:1},e.createElement(t.Box,null,e.createElement(Y,{message:g({id:"admin.pages.MarketPlacePage.filters.collections",defaultMessage:"Collections"}),value:r?.collections||[],onChange:m=>{c({collections:m})},onClear:()=>l("collections"),possibleFilters:d,customizeContent:m=>g({id:"admin.pages.MarketPlacePage.filters.collectionsSelected",defaultMessage:"{count, plural, =0 {No collections} one {# collection} other {# collections}} selected"},{count:m.length})})),i==="plugin"&&e.createElement(t.Box,null,e.createElement(Y,{message:g({id:"admin.pages.MarketPlacePage.filters.categories",defaultMessage:"Categories"}),value:r?.categories||[],onChange:m=>{c({categories:m})},onClear:()=>l("categories"),possibleFilters:o,customizeContent:m=>g({id:"admin.pages.MarketPlacePage.filters.categoriesSelected",defaultMessage:"{count, plural, =0 {No categories} one {# category} other {# categories}} selected"},{count:m.length}),name:"categories"})))))};K.propTypes={onToggle:a().func.isRequired,source:a().shape({current:a().instanceOf(Element)}).isRequired,query:a().object.isRequired,npmPackageType:a().oneOf(["plugin","provider"]).isRequired,possibleCollections:a().object.isRequired,possibleCategories:a().object.isRequired,handleSelectChange:a().func.isRequired,handleSelectClear:a().func.isRequired};var Fe=K;const F=({name:n,handleRemove:s})=>e.createElement(t.Box,{padding:1},e.createElement(t.Tag,{icon:e.createElement(f.Cross,null),onClick:s},n)),Le=(0,T.default)(t.Button)`
|
|
21
|
+
height: ${({theme:n})=>n.sizes.input.S};
|
|
22
|
+
`,J=({possibleCollections:n,possibleCategories:s,npmPackageType:r,query:i,handleSelectClear:o,handleSelectChange:d})=>{const[c,l]=(0,e.useState)(!1),g=(0,e.useRef)(),{formatMessage:m}=(0,E.useIntl)(),y=()=>l(h=>!h),M=(h,R)=>{const P={[R]:i[R].filter(b=>b!==h)};d(P)};return e.createElement(e.Fragment,null,e.createElement(t.Box,{paddingTop:1,paddingBottom:1},e.createElement(Le,{variant:"tertiary",ref:g,"data-testid":"filters-button",startIcon:e.createElement(f.Filter,null),onClick:y,size:"S"},m({id:"app.utils.filters",defaultMessage:"Filters"})),c&&e.createElement(Fe,{onToggle:y,source:g,query:i,handleSelectClear:o,handleSelectChange:d,possibleCollections:n,possibleCategories:s,npmPackageType:r})),i.collections?.map(h=>e.createElement(F,{name:h,key:h,handleRemove:()=>M(h,"collections")})),r==="plugin"&&i.categories?.map(h=>e.createElement(F,{name:h,key:h,handleRemove:()=>M(h,"categories")})))};F.propTypes={name:a().string.isRequired,handleRemove:a().func.isRequired},J.propTypes={npmPackageType:a().oneOf(["plugin","provider"]).isRequired,possibleCollections:a().object.isRequired,possibleCategories:a().object.isRequired,query:a().object.isRequired,handleSelectChange:a().func.isRequired,handleSelectClear:a().func.isRequired};var De=J;const X=(n,s)=>(0,C.ZP)(n,s,{keys:[{threshold:C.ZP.rankings.WORD_STARTS_WITH,key:"attributes.name"},{threshold:C.ZP.rankings.WORD_STARTS_WITH,key:"attributes.description"}],baseSort:(r,i)=>r.index<i.index?-1:1}),_=()=>{const{formatMessage:n}=(0,E.useIntl)(),{trackUsage:s}=(0,u.useTracking)(),{notifyStatus:r}=(0,t.useNotifyAT)(),i=(0,e.useRef)(s),o=(0,u.useNotification)(),[d,c]=(0,e.useState)(""),[{query:l},g]=(0,u.useQueryParams)(),{autoReload:m,dependencies:y,useYarn:M,strapiVersion:h}=(0,u.useAppInfos)(),R=ye(),P=l?.npmPackageType||"plugin",[b,ee]=(0,e.useState)({plugin:P==="plugin"?{...l}:{},provider:P==="provider"?{...l}:{}});(0,u.useFocusWhenNavigate)();const Oe=n({id:"global.marketplace",defaultMessage:"Marketplace"}),te=()=>{r(n({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:Oe}))},{status:ae,data:ne}=me(te,b.provider),{status:se,data:L}=Pe(te,b.plugin),$e=[se,ae].includes("loading"),Ve=[se,ae].includes("error");if((0,e.useEffect)(()=>{i.current("didGoToMarketplace")},[]),(0,e.useEffect)(()=>{m||o({type:"info",message:{id:"admin.pages.MarketPlacePage.production",defaultMessage:"Manage plugins from the development environment"},blockTransition:!0})},[o,m]),!R)return e.createElement(t.Layout,null,e.createElement(t.Main,null,e.createElement(z,{isOnline:R}),e.createElement(t.Flex,{width:"100%",direction:"column",alignItems:"center",justifyContent:"center",style:{paddingTop:"120px"}},e.createElement(t.Box,{paddingBottom:2},e.createElement(t.Typography,{textColor:"neutral700",variant:"alpha"},n({id:"admin.pages.MarketPlacePage.offline.title",defaultMessage:"You are offline"}))),e.createElement(t.Box,{paddingBottom:6},e.createElement(t.Typography,{textColor:"neutral700",variant:"epsilon"},n({id:"admin.pages.MarketPlacePage.offline.subtitle",defaultMessage:"You need to be connected to the Internet to access Strapi Market."}))),e.createElement("img",{src:ke,alt:"offline",style:{width:"88px",height:"88px"}}))));if(Ve)return e.createElement(t.Layout,null,e.createElement(t.ContentLayout,null,e.createElement(t.Box,{paddingTop:8},e.createElement(u.AnErrorOccurred,null))));if($e)return e.createElement(t.Layout,null,e.createElement(t.Main,{"aria-busy":!0},e.createElement(u.LoadingIndicatorPage,null)));const D=X(L.data,d),A=X(ne.data,d),re=n({id:"admin.pages.MarketPlacePage.search.empty",defaultMessage:'No result for "{target}"'},{target:d}),je=v=>{const k=v===0?"plugin":"provider",Ue=b[k]&&Object.keys(b[k]).length;g(Ue?{...b[k],npmPackageType:k}:{npmPackageType:k,collections:[],categories:[],sort:"name:asc"})},ie=v=>{g(v),ee(k=>({...k,[P]:{...k[P],...v}}))},ze=v=>{g({[v]:[]},"remove"),ee(k=>({...k,[P]:{}}))},le=Object.keys(y),Ge=P==="plugin"?L.meta.collections:ne.meta.collections,He=L.meta.categories;return e.createElement(t.Layout,null,e.createElement(t.Main,null,e.createElement(oe.Helmet,{title:n({id:"admin.pages.MarketPlacePage.helmet",defaultMessage:"Marketplace - Plugins"})}),e.createElement(z,{isOnline:R,npmPackageType:P}),e.createElement(t.ContentLayout,null,e.createElement(t.Box,{width:"25%",paddingBottom:4},e.createElement(t.Searchbar,{name:"searchbar",onClear:()=>c(""),value:d,onChange:v=>c(v.target.value),clearLabel:n({id:"admin.pages.MarketPlacePage.search.clear",defaultMessage:"Clear the search"}),placeholder:n({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search"})},n({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search"}))),e.createElement(t.TabGroup,{label:n({id:"admin.pages.MarketPlacePage.tab-group.label",defaultMessage:"Plugins and Providers for Strapi"}),id:"tabs",variant:"simple",initialSelectedTabIndex:["plugin","provider"].indexOf(P),onTabChange:je},e.createElement(t.Box,{paddingBottom:4},e.createElement(t.Tabs,null,e.createElement(t.Tab,null,n({id:"admin.pages.MarketPlacePage.plugins",defaultMessage:"Plugins"})," ","(",D.length,")"),e.createElement(t.Tab,null,n({id:"admin.pages.MarketPlacePage.providers",defaultMessage:"Providers"})," ","(",A.length,")"))),e.createElement(t.Flex,{paddingBottom:4,gap:2},e.createElement(qe,{sortQuery:l?.sort||"name:asc",handleSelectChange:ie}),e.createElement(De,{npmPackageType:P,possibleCollections:Ge,possibleCategories:He,query:l||{},handleSelectChange:ie,handleSelectClear:ze})),e.createElement(t.TabPanels,null,e.createElement(t.TabPanel,null,d.length>0&&!D.length?e.createElement(V,{content:re}):e.createElement(Q,{npmPackages:D,installedPackageNames:le,useYarn:M,isInDevelopmentMode:m,npmPackageType:"plugin",strapiAppVersion:h})),e.createElement(t.TabPanel,null,d.length>0&&!A.length?e.createElement(V,{content:re}):e.createElement(Q,{npmPackages:A,installedPackageNames:le,useYarn:M,isInDevelopmentMode:m,npmPackageType:"provider"})))),e.createElement(t.Box,{paddingTop:7},e.createElement(ve,null)))))};var Ae=()=>e.createElement(u.CheckPagePermissions,{permissions:Ee.Z.marketplace.main},e.createElement(_,null))}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3677],{15415:function(M,o,a){a.r(o),a.d(o,{default:function(){return P}});var e=a(32735),s=a(13478),d=a(99357),r=a(5636),m=a(72041),t=a(39161),p=a(84968);const E=async()=>{const{get:n}=(0,s.getFetchClient)(),{data:l}=await n("/admin/plugins");return l};var f=n=>{const l=(0,s.useNotification)();return(0,p.useQuery)("list-enabled-plugins",()=>E(),{onSuccess(){n&&n()},onError(){l({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})},h=()=>{const{formatMessage:n}=(0,r.useIntl)(),{notifyStatus:l}=(0,t.useNotifyAT)();(0,s.useFocusWhenNavigate)();const u=n({id:"global.plugins",defaultMessage:"Plugins"}),y=()=>{l(n({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:u}))},{status:g,data:c}=f(y);return g!=="success"&&g!=="error"?e.createElement(t.Layout,null,e.createElement(t.Main,{"aria-busy":!0},e.createElement(s.LoadingIndicatorPage,null))):e.createElement(t.Layout,null,e.createElement(t.Main,null,e.createElement(t.HeaderLayout,{title:u,subtitle:n({id:"app.components.ListPluginsPage.description",defaultMessage:"List of the installed plugins in the project."})}),e.createElement(t.ContentLayout,null,e.createElement(t.Table,{colCount:2,rowCount:c?.plugins?.length??0+1},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"description"}))))),e.createElement(t.Tbody,null,c.plugins.map(({name:i,displayName:T,description:v})=>e.createElement(t.Tr,{key:i},e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800",variant:"omega",fontWeight:"bold"},n({id:`global.plugins.${i}`,defaultMessage:T}))),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},n({id:`global.plugins.${i}.description`,defaultMessage:v}))))))))))},P=()=>{const{formatMessage:n}=(0,r.useIntl)(),l=n({id:"global.plugins",defaultMessage:"Plugins"});return e.createElement(s.CheckPagePermissions,{permissions:m.Z.marketplace.main},e.createElement(d.Helmet,{title:l}),e.createElement(h,null))}}}]);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9497],{9972:function(B,w,n){n.r(w),n.d(w,{default:function(){return X}});var e=n(32735),l=n(83292),o=n(13478),C=n(5636),v=n(83281),x=n(23940),S=n.n(x),E=n(84968),M=n(88423),f=n.n(M),m=n(99357),t=n(39161),u=n(57269),H=n(20139),Z=n(8888),U=n(9086),N=n.n(U);const O=async()=>{const{get:d}=(0,o.getFetchClient)(),{data:g}=await d("/admin/users/me");return g.data},D=async d=>{const g=N()(d,["confirmPassword","currentTheme"]),{put:h}=(0,o.getFetchClient)(),{data:A}=await h("/admin/users/me",g);return{...A.data,currentTheme:d.currentTheme}};var z=n(5173),Q=n(1057),j=z.Ry().shape(Q.Rw),G=n(64421);const W=l.default.a`
|
|
2
|
+
color: ${({theme:d})=>d.colors.primary600};
|
|
3
|
+
`,P=(0,l.default)(t.TextInput)`
|
|
4
|
+
::-ms-reveal {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
`,L=(0,l.default)(t.FieldAction)`
|
|
8
|
+
svg {
|
|
9
|
+
height: 1rem;
|
|
10
|
+
width: 1rem;
|
|
11
|
+
path {
|
|
12
|
+
fill: ${({theme:d})=>d.colors.neutral600};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
`;var X=()=>{const[d,g]=(0,e.useState)(!1),[h,A]=(0,e.useState)(!1),[b,Y]=(0,e.useState)(!1),{changeLocale:$,localeNames:k}=(0,H.Z)(),{setUserDisplayName:V}=(0,o.useAppInfos)(),J=(0,E.useQueryClient)(),{formatMessage:a}=(0,C.useIntl)(),{trackUsage:K}=(0,o.useTracking)(),I=(0,o.useNotification)(),{lockApp:q,unlockApp:_}=(0,o.useOverlayBlocker)(),{notifyStatus:ee}=(0,t.useNotifyAT)(),{currentTheme:te,themes:F,onChangeTheme:ae}=(0,Z.M1)();(0,o.useFocusWhenNavigate)();const{status:re,data:y}=(0,E.useQuery)("user",()=>O(),{onSuccess(){ee(a({id:"Settings.profile.form.notify.data.loaded",defaultMessage:"Your profile data has been loaded"}))},onError(){I({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ne=re!=="success",R=(0,E.useMutation)(r=>D(r),{async onSuccess(r){await J.invalidateQueries("user"),o.auth.setUserInfo(f()(r,["email","firstname","lastname","username","preferedLanguage"]));const i=r.username||(0,G.Pp)(r.firstname,r.lastname);V(i),$(r.preferedLanguage),ae(r.currentTheme),K("didChangeMode",{newMode:r.currentTheme}),I({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})},onSettled(){_()},refetchActive:!0}),{isLoading:se}=R,oe=async(r,{setErrors:i})=>{q();const c=r.username||null;R.mutate({...r,username:c},{onError(T){const s=T?.response?.data;return s?.data?i(s.data):I({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})},le=["currentTheme","email","firstname","lastname","username","preferedLanguage"],ie=f()({...y,currentTheme:te},le);if(ne)return e.createElement(t.Main,{"aria-busy":"true"},e.createElement(m.Helmet,{title:a({id:"Settings.profile.form.section.helmet.title",defaultMessage:"User profile"})}),e.createElement(t.HeaderLayout,{title:a({id:"Settings.profile.form.section.profile.page.title",defaultMessage:"Profile page"})}),e.createElement(t.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null)));const de=Object.keys(F).filter(r=>F[r]);return e.createElement(t.Main,{"aria-busy":se},e.createElement(m.Helmet,{title:a({id:"Settings.profile.form.section.helmet.title",defaultMessage:"User profile"})}),e.createElement(v.Formik,{onSubmit:oe,initialValues:ie,validateOnChange:!1,validationSchema:j,enableReinitialize:!0},({errors:r,values:i,handleChange:c,isSubmitting:T})=>e.createElement(o.Form,null,e.createElement(t.HeaderLayout,{title:y.username||(0,G.Pp)(y.firstname,y.lastname),primaryAction:e.createElement(t.Button,{startIcon:e.createElement(u.Check,null),loading:T,type:"submit"},a({id:"global.save",defaultMessage:"Save"}))}),e.createElement(t.Box,{paddingBottom:10},e.createElement(t.ContentLayout,null,e.createElement(t.Stack,{spacing:6},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Stack,{spacing:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},a({id:"global.profile",defaultMessage:"Profile"})),e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{s:12,col:6},e.createElement(o.GenericInput,{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},error:r.firstname,onChange:c,value:i.firstname||"",type:"text",name:"firstname",required:!0})),e.createElement(t.GridItem,{s:12,col:6},e.createElement(o.GenericInput,{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},error:r.lastname,onChange:c,value:i.lastname||"",type:"text",name:"lastname"})),e.createElement(t.GridItem,{s:12,col:6},e.createElement(o.GenericInput,{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},error:r.email,onChange:c,value:i.email||"",type:"email",name:"email",required:!0})),e.createElement(t.GridItem,{s:12,col:6},e.createElement(o.GenericInput,{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},error:r.username,onChange:c,value:i.username||"",type:"text",name:"username"}))))),e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Stack,{spacing:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},a({id:"global.change-password",defaultMessage:"Change password"})),e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{s:12,col:6},e.createElement(P,{error:r.currentPassword?a({id:r.currentPassword,defaultMessage:r.currentPassword}):"",onChange:c,value:i.currentPassword||"",label:a({id:"Auth.form.currentPassword.label",defaultMessage:"Current Password"}),name:"currentPassword",type:b?"text":"password",endAction:e.createElement(L,{onClick:s=>{s.stopPropagation(),Y(p=>!p)},label:a(b?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},b?e.createElement(u.Eye,null):e.createElement(u.EyeStriked,null))}))),e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{s:12,col:6},e.createElement(P,{error:r.password?a({id:r.password,defaultMessage:r.password}):"",onChange:c,value:i.password||"",label:a({id:"global.password",defaultMessage:"Password"}),name:"password",type:d?"text":"password",autoComplete:"new-password",endAction:e.createElement(L,{onClick:s=>{s.stopPropagation(),g(p=>!p)},label:a(d?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},d?e.createElement(u.Eye,null):e.createElement(u.EyeStriked,null))})),e.createElement(t.GridItem,{s:12,col:6},e.createElement(P,{error:r.confirmPassword?a({id:r.confirmPassword,defaultMessage:r.confirmPassword}):"",onChange:c,value:i.confirmPassword||"",label:a({id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"}),name:"confirmPassword",type:h?"text":"password",autoComplete:"new-password",endAction:e.createElement(L,{onClick:s=>{s.stopPropagation(),A(p=>!p)},label:a(h?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},h?e.createElement(u.Eye,null):e.createElement(u.EyeStriked,null))}))))),e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Stack,{spacing:4},e.createElement(t.Stack,{spacing:1},e.createElement(t.Typography,{variant:"delta",as:"h2"},a({id:"Settings.profile.form.section.experience.title",defaultMessage:"Experience"})),e.createElement(t.Typography,null,a({id:"Settings.profile.form.section.experience.interfaceLanguageHelp",defaultMessage:"Preference changes will apply only to you. More information is available {here}."},{here:e.createElement(W,{target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales"},a({id:"Settings.profile.form.section.experience.here",defaultMessage:"here"}))}))),e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{s:12,col:6},e.createElement(t.Select,{label:a({id:"Settings.profile.form.section.experience.interfaceLanguage",defaultMessage:"Interface language"}),placeholder:a({id:"global.select",defaultMessage:"Select"}),hint:a({id:"Settings.profile.form.section.experience.interfaceLanguage.hint",defaultMessage:"This will only display your own interface in the chosen language."}),onClear:()=>{c({target:{name:"preferedLanguage",value:null}})},clearLabel:a({id:"Settings.profile.form.section.experience.clear.select",defaultMessage:"Clear the interface language selected"}),value:i.preferedLanguage,onChange:s=>{c({target:{name:"preferedLanguage",value:s}})}},Object.keys(k).map(s=>{const p=k[s];return e.createElement(t.Option,{value:s,key:s},p)}))),e.createElement(t.GridItem,{s:12,col:6},e.createElement(t.Select,{label:a({id:"Settings.profile.form.section.experience.mode.label",defaultMessage:"Interface mode"}),placeholder:a({id:"components.Select.placeholder",defaultMessage:"Select"}),hint:a({id:"Settings.profile.form.section.experience.mode.hint",defaultMessage:"Displays your interface in the chosen mode."}),value:i.currentTheme,onChange:s=>{c({target:{name:"currentTheme",value:s}})}},de.map(s=>e.createElement(t.Option,{value:s,key:s},a({id:"Settings.profile.form.section.experience.mode.option-label",defaultMessage:"{name} mode"},{name:a({id:s,defaultMessage:S()(s)})}))))))))))))))}},1057:function(B,w,n){n.d(w,{YM:function(){return M},Rw:function(){return v}});var e=n(5173),l=n(13478);const o={firstname:e.Z_().trim().required(l.translatedErrors.required),lastname:e.Z_(),email:e.Z_().email(l.translatedErrors.email).lowercase().required(l.translatedErrors.required),username:e.Z_().nullable(),password:e.Z_().min(8,l.translatedErrors.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:e.Z_().min(8,l.translatedErrors.minLength).oneOf([e.iH("password"),null],"components.Input.error.password.noMatch").when("password",(f,m)=>f?m.required(l.translatedErrors.required):m)};var v={...o,currentPassword:e.Z_().when(["password","confirmPassword"],(f,m,t)=>f||m?t.required(l.translatedErrors.required):t),preferedLanguage:e.Z_().nullable()},S={roles:e.IX().min(1,l.translatedErrors.required).required(l.translatedErrors.required)},M=e.Ry().shape({...o,isActive:e.Xg(),...S})}}]);
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{96822:function(P,R,t){"use strict";t.r(R),t.d(R,{SettingsPage:function(){return st},default:function(){return ft}});var e=t(32735),b=t(13478),a=t(5141),l=t(39161),c=t(5636),E=t(99357),K=t(8888),Q=t(64421),le=t(84968),$=t(57269),x=t(72041),De=t(60216),f=t.n(De);const oe=750,Ee=100,se=["image/jpeg","image/png","image/svg+xml"];var be=t(97889);const ve={localImage:void 0};var Ue=(g=ve,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_LOCAL_IMAGE":{h.localImage=p.value;break}default:return h}});const Ie=({onChangeLogo:g,customLogo:p,goTo:h,Component:v,modalTitle:F,next:z,prev:ee,currentStep:H})=>{const[{localImage:W},O]=(0,e.useReducer)(Ue,ve),{formatMessage:de}=(0,c.useIntl)(),Y=fe=>{O({type:"SET_LOCAL_IMAGE",value:fe})},Ae=()=>{h(null)};return H?e.createElement(l.ModalLayout,{labelledBy:"modal",onClose:Ae},e.createElement(l.ModalHeader,null,e.createElement(l.Typography,{fontWeight:"bold",as:"h2",id:"modal"},de(F))),e.createElement(v,{setLocalImage:Y,goTo:h,next:z,prev:ee,onClose:Ae,asset:W||p,onChangeLogo:g})):null};Ie.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},Ie.propTypes={Component:f().elementType,currentStep:f().string,customLogo:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}),goTo:f().func.isRequired,modalTitle:f().shape({id:f().string,defaultMessage:f().string}),next:f().string,onChangeLogo:f().func.isRequired,prev:f().string};var Oe=Ie;const D={currentStep:void 0};var G=(g=D,p)=>(0,be.default)(g,h=>{switch(p.type){case"GO_TO":{h.currentStep=p.to;break}default:return h}}),j=t(83292);const ae={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},ie={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)"},xe=g=>new Promise(p=>{const h=new FileReader;h.onload=()=>{const v=new Image;v.onload=function(){p({width:v.width,height:v.height})},v.src=h.result},h.readAsDataURL(g)}),M=(g,p)=>({ext:g.name.split(".").pop(),size:g.size/1e3,name:g.name,url:URL.createObjectURL(g),rawFile:g,width:p.width,height:p.height}),k=async g=>{let p;if(!se.includes(g.type))throw p=new Error("File format"),p.displayMessage=ae,p;const v=await xe(g);if(!(v.width<=oe&&v.height<=oe))throw p=new Error("File sizing"),p.displayMessage=ie,p;const z=M(g,v);if(!(z.size<=Ee))throw p=new Error("File sizing"),p.displayMessage=ie,p;return z},X=(0,j.default)(l.FieldInput)`
|
|
2
|
+
opacity: 0;
|
|
3
|
+
position: absolute;
|
|
4
|
+
top: 0;
|
|
5
|
+
bottom: 0;
|
|
6
|
+
left: 0;
|
|
7
|
+
right: 0;
|
|
8
|
+
z-index: 1;
|
|
9
|
+
`,J=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(!1),[H,W]=(0,e.useState)(void 0),O=(0,e.useRef)(null),de=()=>ee(!0),Y=()=>ee(!1),Ae=$e=>{$e.preventDefault(),O.current.click()},fe=async()=>{Y();const $e=O.current.files[0];if($e)try{const Me=await k($e);g(Me),p(h)}catch(Me){if(Me.displayMessage)W(F(Me.displayMessage,{size:Ee,dimension:oe})),O.current.focus();else throw Me}},Fe=()=>z?"primary500":H?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Field,{name:"logo-upload",error:H},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(l.Stack,{spacing:2},e.createElement(l.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:z?"primary100":"neutral100",borderColor:Fe(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:de,onDragLeave:Y},e.createElement(l.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:$.PicturePlus,"aria-hidden":!0}),e.createElement(l.Box,{paddingTop:3,paddingBottom:5},e.createElement(l.Typography,{variant:"delta",as:"span"},F({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(X,{accept:se,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:fe,ref:O,id:"logo-upload"}),e.createElement(l.Button,{type:"button",onClick:Ae},F({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(l.Box,{paddingTop:6},e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},F({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:Ee,dimension:oe})))),e.createElement(l.FieldError,null)))))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:v,variant:"tertiary"},F({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};J.defaultProps={next:null},J.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var y=J,me=t(55721),Pe=async g=>{try{const p=await me.Z.get(g,{responseType:"blob",timeout:8e3});return new File([p.data],p.config.url,{type:p.headers["content-type"]})}catch(p){throw p.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},p}};const pe=({goTo:g,next:p,onClose:h,setLocalImage:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(""),[H,W]=(0,e.useState)(null),O=Y=>{ee(Y.target.value)},de=async()=>{try{const Y=await Pe(z),Ae=await k(Y);v(Ae),g(p)}catch(Y){if(Y.displayMessage)W(F(Y.displayMessage,{size:Ee,dimension:oe}));else throw Y}};return e.createElement("form",{onSubmit:Y=>{Y.preventDefault(),de()}},e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.TextInput,{label:F({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:H,onChange:O,value:z,name:"logo-url"})),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:h,variant:"tertiary"},F({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{type:"submit"},F({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};pe.defaultProps={next:null},pe.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var q=pe;const ce=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)();return e.createElement(l.TabGroup,{label:F({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(l.Box,{paddingLeft:8,paddingRight:8},e.createElement(l.Tabs,null,e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(l.Divider,null)),e.createElement(l.TabPanels,null,e.createElement(l.TabPanel,null,e.createElement(y,{onClose:v,setLocalImage:g,goTo:p,next:h})),e.createElement(l.TabPanel,null,e.createElement(q,{onClose:v,setLocalImage:g,goTo:p,next:h}))))};ce.defaultProps={next:null},ce.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var w=ce;const re=({asset:g})=>{const{formatMessage:p}=(0,c.useIntl)();return e.createElement(l.Card,null,e.createElement(l.CardHeader,null,e.createElement(l.CardAsset,{size:"S",src:g.url})),e.createElement(l.CardBody,null,e.createElement(l.CardContent,null,e.createElement(l.CardTitle,null,g.name),e.createElement(l.CardSubtitle,null,`${g.ext.toUpperCase()} - ${g.width}\u2715${g.height}`)),e.createElement(l.CardBadge,null,p({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};re.propTypes={asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired};var ke=re;const Ne=({onClose:g,asset:p,prev:h,next:v,goTo:F,setLocalImage:z,onChangeLogo:ee})=>{const{formatMessage:H}=(0,c.useIntl)(),W=()=>{z(void 0),F(h)},O=()=>{ee(p),F(v)};return e.createElement(e.Fragment,null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(l.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(l.Typography,{variant:"pi",fontWeight:"bold"},H({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral500"},H({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(l.Button,{onClick:W,variant:"secondary"},H({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(l.Box,{maxWidth:(0,b.pxToRem)(180)},e.createElement(ke,{asset:p}))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:g,variant:"tertiary"},H({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{onClick:O},H({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};Ne.defaultProps={next:null,prev:null},Ne.propTypes={goTo:f().func.isRequired,asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired,next:f().string,onClose:f().func.isRequired,onChangeLogo:f().func.isRequired,prev:f().string,setLocalImage:f().func.isRequired};var Ze=Ne,ge={upload:{Component:w,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Ze,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const Ge=({canUpdate:g,customLogo:p,defaultLogo:h,hint:v,label:F,onChangeLogo:z,onResetLogo:ee})=>{const[{currentStep:H},W]=(0,e.useReducer)(G,D),{Component:O,next:de,prev:Y,modalTitle:Ae}=ge[H]||{},{formatMessage:fe}=(0,c.useIntl)(),Fe=$e=>{W({type:"GO_TO",to:$e})};return e.createElement(e.Fragment,null,e.createElement(l.CarouselInput,{label:F,selectedSlide:0,hint:v,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:p?.name||"logo.png",actions:e.createElement(l.CarouselActions,null,e.createElement(l.IconButton,{disabled:!g,onClick:()=>Fe(p?"pending":"upload"),label:fe({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement($.Plus,null)}),p&&e.createElement(l.IconButton,{disabled:!g,onClick:ee,label:fe({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement($.Refresh,null)}))},e.createElement(l.CarouselSlide,{label:fe({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(l.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:p?.url||h,alt:fe({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(Oe,{Component:O,currentStep:H,onChangeLogo:z,customLogo:p,goTo:Fe,next:de,prev:Y,modalTitle:Ae}))};Ge.defaultProps={canUpdate:!1,customLogo:null,hint:null},Ge.propTypes={canUpdate:f().bool,customLogo:f().shape({url:f().string,name:f().string}),label:f().string.isRequired,hint:f().string,defaultLogo:f().string.isRequired,onChangeLogo:f().func.isRequired,onResetLogo:f().func.isRequired};var _e=Ge;const Xe={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var kt=(g=Xe,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_CUSTOM_MENU_LOGO":{h.menuLogo.display=p.value,h.menuLogo.submit.rawFile=p.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{h.authLogo.display=p.value,h.authLogo.submit.rawFile=p.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{h.menuLogo.display=null,h.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{h.authLogo.display=null,h.authLogo.submit={rawFile:null,isReset:!0};break}default:return h}}),et=t(86349),wt=t.n(et),Nt=(g,p)=>wt()(g,{menuLogo:{display:p.menuLogo},authLogo:{display:p.authLogo}});const tt=(0,e.forwardRef)(({canUpdate:g,projectSettingsStored:p},h)=>{const{formatMessage:v}=(0,c.useIntl)(),{trackUsage:F}=(0,b.useTracking)(),{logos:{menu:z,auth:ee}}=(0,K.um)(),[{menuLogo:H,authLogo:W},O]=(0,e.useReducer)(kt,Xe,()=>Nt(Xe,p)),de=Fe=>{O({type:"SET_CUSTOM_MENU_LOGO",value:Fe})},Y=()=>{F("didClickResetLogo",{logo:"menu"}),O({type:"RESET_CUSTOM_MENU_LOGO"})},Ae=Fe=>{O({type:"SET_CUSTOM_AUTH_LOGO",value:Fe})},fe=()=>{F("didClickResetLogo",{logo:"auth"}),O({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(h,()=>({getValues:()=>({menuLogo:H.submit,authLogo:W.submit})})),e.createElement(l.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},v({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:oe,size:Ee})),e.createElement(l.Grid,{paddingTop:4,gap:4},e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:H.display,defaultLogo:z.default,hint:v({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:v({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:de,onResetLogo:Y})),e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:W.display,defaultLogo:ee.default,hint:v({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:v({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:Ae,onResetLogo:fe}))))});tt.defaultProps={canUpdate:!1,projectSettingsStored:null},tt.propTypes={canUpdate:f().bool,projectSettingsStored:f().shape({menuLogo:f().shape({url:f().string,name:f().string})})};var $t=tt,Ve=t(48344),jt=t.n(Ve),nt=g=>jt()(g,(p,h,v)=>{h&&h.url?p[v]={...h,url:(0,b.prefixFileUrlWithBackendUrl)(h.url)}:p[v]=h},{});const ot=async()=>{const{get:g}=(0,b.getFetchClient)(),{data:p}=await g("/admin/project-settings");return nt(p)},rt=async g=>{const{post:p}=(0,b.getFetchClient)(),{data:h}=await p("/admin/project-settings",g,{headers:{"Content-Type":"multipart/form-data"}});return nt(h)};var lt=g=>{const p=new FormData;return Object.entries(g).forEach(([h,v])=>{v&&v.rawFile instanceof File&&p.append(h,v.rawFile),v&&v.isReset&&p.append(h,null)}),p},ct=()=>{const g=(0,e.useRef)(),p=(0,b.useNotification)(),{trackUsage:h}=(0,b.useTracking)(),{formatMessage:v}=(0,c.useIntl)(),F=(0,le.useQueryClient)();(0,b.useFocusWhenNavigate)();const z=(0,b.useAppInfos)(),{latestStrapiReleaseTag:ee,shouldUpdateStrapi:H,strapiVersion:W}=z,{updateProjectSettings:O}=(0,K.um)(),{allowedActions:{canRead:de,canUpdate:Y}}=(0,b.useRBAC)(x.Z.settings["project-settings"]),Ae=de&&Y,{data:fe}=(0,le.useQuery)("project-settings",ot,{enabled:de}),Fe=(0,le.useMutation)(Me=>rt(Me),{async onSuccess({menuLogo:Me,authLogo:Je}){await F.invalidateQueries("project-settings",{refetchActive:!0}),O({menuLogo:Me?.url,authLogo:Je?.url})}}),$e=Me=>{if(Me.preventDefault(),!Y)return;const Je=g.current.getValues(),At=lt(Je);Fe.mutate(At,{onSuccess(){const{menuLogo:ht,authLogo:Mt}=Je;ht.rawFile&&h("didChangeLogo",{logo:"menu"}),Mt.rawFile&&h("didChangeLogo",{logo:"auth"}),p({type:"success",message:v({id:"app",defaultMessage:"Saved"})})},onError(){p({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(l.Layout,null,e.createElement(b.SettingsPageTitle,{name:"Application"}),e.createElement(l.Main,null,e.createElement("form",{onSubmit:$e},e.createElement(l.HeaderLayout,{title:v({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:v({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:Ae&&e.createElement(l.Button,{type:"submit",startIcon:e.createElement($.Check,null)},v({id:"global.save",defaultMessage:"Save"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Stack,{spacing:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"global.details",defaultMessage:"Details"})),e.createElement(l.Grid,{gap:5,as:"dl"},e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,"v",W),H&&e.createElement(l.Link,{href:`https://github.com/strapi/strapi/releases/tag/${ee}`,isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,v({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:z.communityEdition})),e.createElement(l.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(l.Typography,{as:"dd"},z.nodeVersion)))),de&&fe&&e.createElement($t,{canUpdate:Y,ref:g,projectSettingsStored:fe}))))))},Et=t(3704),dt=t.n(Et),Gt=g=>dt()(g,h=>h.links).map(h=>(0,Q.ot)(h.Component,h.to,h.exact||!1)),ut=g=>g.filter(p=>!p.links.every(h=>h.isDisplayed===!1));const mt=(()=>window&&window.strapi&&window.strapi.isEE?t(20178).Z:t(16329).Z)(),pt=(()=>window&&window.strapi&&window.strapi.isEE?t(51899).Z:t(45677).Z)();var bt=[{Component(){return{default:pt}},to:"/settings/roles",exact:!0},{Component(){return{default:mt}},to:"/settings/roles/duplicate/:id",exact:!0},{Component(){return{default:mt}},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,70791))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,37168))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(7259),t.e(4816)]).then(t.bind(t,76411))},to:"/settings/transfer-tokens/create",exact:!0},{async Component(){return await t.e(9600).then(t.bind(t,38286))},to:"/settings/transfer-tokens",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(7259),t.e(2492)]).then(t.bind(t,32392))},to:"/settings/transfer-tokens/:id",exact:!0}],gt=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...bt],Ht=t(61590),vt=t(64669),St=t(77013),Tt=t(79318),Rt=t(66618);const Qe=({menu:g})=>{const{formatMessage:p}=(0,c.useIntl)(),{trackUsage:h}=(0,b.useTracking)(),{pathname:v}=(0,a.useLocation)(),z=ut(g).map(W=>({...W,title:W.intlLabel,links:W.links.map(O=>({...O,title:O.intlLabel,name:O.id}))})),ee=p({id:"global.settings",defaultMessage:"Settings"}),H=(W=null)=>{h("willNavigate",{from:v,to:W})};return e.createElement(Ht.m,{ariaLabel:ee},e.createElement(vt.p,{label:ee}),e.createElement(St.Z,null,z.map(W=>e.createElement(Tt.D,{key:W.id,label:p(W.intlLabel)},W.links.map(O=>e.createElement(Rt.E,{as:a.NavLink,withBullet:O.hasNotification,to:O.to,onClick:()=>H(O.to),key:O.id},p(O.intlLabel)))))))};Qe.propTypes={menu:f().array.isRequired};var xt=Qe;function st(){const{settingId:g}=(0,a.useParams)(),{settings:p}=(0,b.useStrapiApp)(),{formatMessage:h}=(0,c.useIntl)(),{isLoading:v,menu:F}=(0,K.Te)(),z=(0,e.useMemo)(()=>(0,Q.WW)(gt.map(({to:W,Component:O,exact:de})=>(0,Q.ot)(O,W,de))),[]),ee=Gt(p);if(v)return e.createElement(b.LoadingIndicatorPage,null);if(!g)return e.createElement(a.Redirect,{to:"/settings/application-infos"});const H=h({id:"global.settings",defaultMessage:"Settings"});return e.createElement(l.Layout,{sideNav:e.createElement(xt,{menu:F})},e.createElement(E.Helmet,{title:H}),e.createElement(a.Switch,null,e.createElement(a.Route,{path:"/settings/application-infos",component:ct,exact:!0}),z,ee))}var ft=(0,e.memo)(st)},16329:function(P,R,t){"use strict";var e=t(32735),b=t(5141);const a=()=>e.createElement(b.Redirect,{to:"/404"});R.Z=a},49466:function(P,R){"use strict";R.Z=!0},35123:function(P,R){"use strict";R.Z=!0},18318:function(P,R){"use strict";R.Z=!0},52124:function(P,R){"use strict";R.Z=!0},61526:function(P,R){"use strict";R.Z=!0},78974:function(P,R,t){"use strict";t.d(R,{Z:function(){return Wn}});var e=t(32735),b=t(60216),a=t.n(b),l=t(13478),c=t(39161),E=t(23973),K=t.n(E),Q=t(86834),le=t.n(Q),$=t(5636),x=t(83292),De=t(98978),f=t.n(De),oe=t(57269),Ee=t(33795),se=t.n(Ee),be=t(9086),ve=t.n(be),Re=t(8888);const Ue=x.default.div`
|
|
10
|
+
position: relative;
|
|
11
|
+
|
|
12
|
+
${({hasConditions:o,disabled:n,theme:s})=>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?s.colors.neutral100:s.colors.primary600};
|
|
22
|
+
}
|
|
23
|
+
`}
|
|
24
|
+
`,Ie=({onClick:o,className:n,hasConditions:s,variant:i})=>{const{formatMessage:r}=(0,$.useIntl)();return e.createElement(Ue,{hasConditions:s,className:n},e.createElement(c.Button,{variant:i,startIcon:e.createElement(oe.Cog,null),onClick:o},r({id:"global.settings",defaultMessage:"Settings"})))};Ie.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Ie.propTypes={onClick:a().func.isRequired,className:a().string,hasConditions:a().bool,variant:a().string};var Oe=(0,x.default)(Ie)``,D=t(97889),he=t(81346),G=t.n(he),j=t(23940),ae=t.n(j);const ie=o=>Object.values(o).map(n=>Object.entries(n).filter(([,s])=>s).map(([s])=>s)).flat(),xe=o=>o.reduce((n,[s,i])=>(n.push({label:ae()(s),children:i.map(r=>({label:r.displayName,value:r.id}))}),n),[]),M=(o,n)=>o.map(([,s])=>s).flat().reduce((s,i)=>({[i.id]:n.includes(i.id),...s}),{}),k=(()=>window&&window.strapi&&window.strapi.isEE?t(56899).Z:t(49466).Z)(),X=o=>{let{arrayOfOptionsGroupedByCategory:n,isFormDisabled:s,isGrey:i,label:r,name:d,onChange:u,value:m}=o;const{formatMessage:C}=(0,$.useIntl)(),S=T=>{u(d,M(n,T))};return e.createElement(c.Flex,{as:"li",background:i?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(c.Flex,{paddingLeft:6,style:{width:180}},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},C({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(c.Typography,{variant:"sigma",title:r,textColor:"primary600",ellipsis:!0},C({id:`Settings.roles.form.permissions.${r.toLowerCase()}`,defaultMessage:r})),e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},"\xA0",C({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(c.Box,{style:{maxWidth:430,width:"100%"}},e.createElement(c.MultiSelectNested,{id:d,customizeContent:T=>`${T.length} currently selected`,onChange:S,value:ie(m),options:xe(n),disabled:s||k})))};X.propTypes={arrayOfOptionsGroupedByCategory:a().array.isRequired,isFormDisabled:a().bool.isRequired,isGrey:a().bool.isRequired,label:a().string.isRequired,name:a().string.isRequired,value:a().object.isRequired,onChange:a().func.isRequired};var J=X,y=t(92891);const me=(o,n)=>o.reduce((s,i)=>(s[i.id]=(0,y.get)(n,i.id,!1),s),{}),Se=(o,n)=>o.reduce((s,i)=>{const[r,d]=i,u=me(d,n);return s[r]=u,s},{});var pe=(o,n,s)=>o.reduce((i,r)=>{const d=(0,y.get)(n,[...r.pathToConditionsObject,"conditions"],{}),u=Se(s,d);return i[r.pathToConditionsObject.join("..")]=u,i},{});const q=({actions:o,headerBreadCrumbs:n,isFormDisabled:s,onClosed:i,onToggle:r})=>{const{formatMessage:d}=(0,$.useIntl)(),{availableConditions:u,modifiedData:m,onChangeConditions:C}=(0,Re.$_)(),S=(0,e.useMemo)(()=>Object.entries(G()(u,"category")),[u]),T=o.filter(({isDisplayed:A,hasSomeActionsSelected:B,hasAllActionsSelected:U})=>A&&(B||U)),L=(0,e.useMemo)(()=>pe(T,m,S),[T,m,S]),[I,_]=(0,e.useState)(L),N=(A,B)=>{_((0,D.default)(U=>{U[A]||(U[A]={}),U[A].default||(U[A].default={}),U[A].default=B}))},Z=()=>{const A=Object.entries(I).reduce((B,U)=>{const[V,ne]=U,Le=Object.values(ne).reduce((ye,ue)=>({...ye,...ue}),{});return B[V]=Le,B},{});C(A),r()};return e.createElement(c.ModalLayout,{labelledBy:"condition-modal-breadcrumbs",onClose:i},e.createElement(c.ModalHeader,null,e.createElement(c.Breadcrumbs,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(A=>e.createElement(c.Crumb,{key:A},ae()(d({id:A,defaultMessage:A})))))),e.createElement(c.ModalBody,null,T.length===0&&e.createElement(c.Typography,null,d({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,T.map(({actionId:A,label:B,pathToConditionsObject:U},V)=>{const ne=U.join("..");return e.createElement(J,{key:A,arrayOfOptionsGroupedByCategory:S,label:B,isFormDisabled:s,isGrey:V%2===0,name:ne,onChange:N,value:se()(I,ne,{})})}))),e.createElement(c.ModalFooter,{startActions:e.createElement(c.Button,{variant:"tertiary",onClick:r},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(c.Button,{onClick:Z},d({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};q.propTypes={actions:a().arrayOf(a().shape({actionId:a().string.isRequired,checkboxName:a().string,hasSomeActionsSelected:a().bool.isRequired,hasAllActionsSelected:a().bool,isDisplayed:a().bool.isRequired,label:a().string})).isRequired,headerBreadCrumbs:a().arrayOf(a().string).isRequired,isFormDisabled:a().bool.isRequired,onClosed:a().func.isRequired,onToggle:a().func.isRequired};var ce=q;const w=`${120/16}rem`,re=`${200/16}rem`,ke=`${53/16}rem`;var Ze=x.default.div`
|
|
25
|
+
width: ${w};
|
|
26
|
+
`,ge=(0,x.default)(c.Flex)`
|
|
27
|
+
padding-right: ${({theme:o})=>o.spaces[2]};
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
flex: 1;
|
|
30
|
+
${({isCollapsable:o})=>o&&"cursor: pointer;"}
|
|
31
|
+
`;const Ge=({children:o,isCollapsable:n,isActive:s,isFormDisabled:i,label:r,onChange:d,onClick:u,checkboxName:m,someChecked:C,value:S})=>{const{formatMessage:T}=(0,$.useIntl)();return e.createElement(c.Flex,{alignItems:"center",paddingLeft:6,style:{width:re,flexShrink:0}},e.createElement(c.Box,{paddingRight:2},e.createElement(c.BaseCheckbox,{name:m,"aria-label":T({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r}),disabled:i,onValueChange:L=>d({target:{name:m,value:L}}),indeterminate:C,value:S})),e.createElement(ge,{title:r,alignItems:"center",isCollapsable:n,...n&&{onClick:u,"aria-expanded":s,onKeyDown:({key:L})=>(L==="Enter"||L===" ")&&u(),tabIndex:0,role:"button"}},e.createElement(c.Typography,{fontWeight:s?"bold":"",textColor:s?"primary600":"neutral800",ellipsis:!0},ae()(r)),o))};Ge.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},Ge.propTypes={checkboxName:a().string,children:a().node,label:a().string.isRequired,isCollapsable:a().bool,isFormDisabled:a().bool.isRequired,onChange:a().func,onClick:a().func.isRequired,someChecked:a().bool,value:a().bool,isActive:a().bool.isRequired};var _e=(0,e.memo)(Ge);const Xe=o=>(0,y.isObject)(o)?(0,y.flattenDeep)(Object.values(o).map(n=>(0,y.isObject)(n)?Xe(n):n)):[];var He=Xe,et=o=>o?Object.keys(o).reduce((n,s)=>(s!=="conditions"&&(n[s]=o[s]),n),{}):null,We=o=>{const n=et(o),s=He(n);if(!s.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const i=s.every(d=>d),r=s.some(d=>d)&&!i;return{hasAllActionsSelected:i,hasSomeActionsSelected:r}},tt=(o,n,s)=>o.map(({actionId:i,isDisplayed:r,applyToProperties:d,label:u})=>{if(!r)return{actionId:i,hasSomeActionsSelected:!1,isDisplayed:r};const m=[...s.split(".."),i],C=(0,y.isEmpty)(d)?[...m,"properties","enabled"]:m,S=C.join(".."),T=(0,y.get)(n,[...m,"conditions"],null),L=He(T).some(Z=>Z);if((0,y.isEmpty)(d)){const Z=(0,y.get)(n,C,!1);return{actionId:i,checkboxName:S,hasAllActionsSelected:Z,hasConditions:L,hasSomeActionsSelected:Z,isDisplayed:r,isParentCheckbox:!1,label:u,pathToConditionsObject:m}}const I=(0,y.get)(n,C,null),{hasAllActionsSelected:_,hasSomeActionsSelected:N}=We(I);return{actionId:i,checkboxName:S,hasAllActionsSelected:_,hasConditions:L,hasSomeActionsSelected:N,isDisplayed:r,isParentCheckbox:!0,label:u,pathToConditionsObject:m}}),Ve=(0,x.default)(oe.CarretDown)`
|
|
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
|
+
`,Ye=o=>`
|
|
37
|
+
${c.Typography} {
|
|
38
|
+
color: ${o.colors.primary600};
|
|
39
|
+
font-weight: ${o.fontWeights.bold}
|
|
40
|
+
}
|
|
41
|
+
${Ve} {
|
|
42
|
+
display: block;
|
|
43
|
+
path {
|
|
44
|
+
fill: ${o.colors.primary600}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
`;const nt=(()=>window&&window.strapi&&window.strapi.isEE?t(68464).Z:t(35123).Z)(),ot=(o,n)=>`
|
|
48
|
+
${rt} {
|
|
49
|
+
background-color: ${o.colors.primary100};
|
|
50
|
+
color: ${o.colors.primary600};
|
|
51
|
+
border-radius: ${n?"2px 2px 0 0":"2px"};
|
|
52
|
+
}
|
|
53
|
+
${Ct} {
|
|
54
|
+
display: flex;
|
|
55
|
+
}
|
|
56
|
+
${Oe} {
|
|
57
|
+
display: block;
|
|
58
|
+
}
|
|
59
|
+
&:hover {
|
|
60
|
+
${Ye(o)}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&:focus-within {
|
|
64
|
+
${s=>{let{theme:i,isActive:r}=s;return ot(i,r)}}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
`,rt=x.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],ke,o=>{let{isGrey:n,theme:s}=o;return n?s.colors.neutral100:s.colors.neutral0}),zt=x.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],Oe,o=>{let{isActive:n,theme:s}=o;return n&&ot(s,n)},o=>{let{theme:n,isActive:s}=o;return ot(n,s)}),lt=(0,x.default)(c.Flex).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],w),Ct=(0,x.default)(c.Box).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],o=>{let{theme:n}=o;return n.colors.primary600}),ct=x.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}),Et=(0,x.default)(c.Box).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),dt=o=>{let{availableActions:n,isActive:s,isGrey:i,isFormDisabled:r,label:d,onClickToggle:u,pathToData:m}=o;const[C,S]=(0,e.useState)(!1),{formatMessage:T}=(0,$.useIntl)(),{modifiedData:L,onChangeParentCheckbox:I,onChangeSimpleCheckbox:_}=(0,Re.$_)(),N=()=>{S(ye=>!ye)},Z=()=>{S(!1)},A=se()(L,m.split(".."),{}),B=(0,e.useMemo)(()=>Object.keys(A).reduce((ye,ue)=>(ye[ue]=ve()(A[ue],"conditions"),ye),{}),[A]),{hasAllActionsSelected:U,hasSomeActionsSelected:V}=We(B),ne=(0,e.useMemo)(()=>tt(n,L,m),[n,L,m]),Le=ne.some(ye=>{let{hasConditions:ue}=ye;return ue});return e.createElement(zt,{isActive:s},e.createElement(rt,{isGrey:i},e.createElement(_e,{isCollapsable:!0,isFormDisabled:r,label:d,checkboxName:m,onChange:I,onClick:u,someChecked:V,value:U,isActive:s},e.createElement(Ct,{paddingLeft:2},s?e.createElement(oe.ChevronUp,null):e.createElement(oe.ChevronDown,null))),e.createElement(c.Flex,{style:{flex:1}},ne.map(ye=>{let{actionId:ue,hasConditions:Ce,hasAllActionsSelected:Te,hasSomeActionsSelected:we,isDisplayed:je,isParentCheckbox:ze,checkboxName:Be,label:qe}=ye;return je?ze?e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,name:Be,"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${qe} ${d}`}),onValueChange:Ke=>{I({target:{name:Be,value:Ke}})},indeterminate:we,value:Te})):e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,indeterminate:Ce,name:Be,onValueChange:Ke=>{_({target:{name:Be,value:Ke}})},value:Te})):e.createElement(Ze,{key:ue})})),C&&e.createElement(ce,{headerBreadCrumbs:[d,"Settings.permissions.conditions.conditions"],actions:ne,isFormDisabled:r,onClosed:Z,onToggle:N})),e.createElement(Et,null,e.createElement(Oe,{onClick:N,hasConditions:Le})))};dt.propTypes={availableActions:a().array.isRequired,isActive:a().bool.isRequired,isGrey:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggle:a().func.isRequired,pathToData:a().string.isRequired};var Ut=dt,Wt=(o,n)=>o.map(s=>{const i=Array.isArray(s.applyToProperties)&&s.applyToProperties.indexOf(n)!==-1&&s.isDisplayed;return{label:s.label,actionId:s.actionId,isActionRelatedToCurrentProperty:i}});const ut=(0,x.default)(c.Flex)`
|
|
68
|
+
width: ${w};
|
|
69
|
+
flex-shrink: 0;
|
|
70
|
+
`,mt=(0,x.default)(c.Flex)`
|
|
71
|
+
width: ${re};
|
|
72
|
+
height: ${ke};
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
`,pt=({headers:o,label:n})=>{const{formatMessage:s}=(0,$.useIntl)(),i=s({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(c.Flex,null,e.createElement(mt,{alignItems:"center",paddingLeft:6},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},i)),o.map(r=>r.isActionRelatedToCurrentProperty?e.createElement(ut,{justifyContent:"center",key:r.label},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${r.label.toLowerCase()}`,defaultMessage:r.label}))):e.createElement(ut,{key:r.label})))};pt.propTypes={headers:a().arrayOf(a().shape({label:a().string.isRequired,isActionRelatedToCurrentProperty:a().bool.isRequired})).isRequired,label:a().string.isRequired};var Zt=pt;const bt=x.default.span`
|
|
75
|
+
color: ${({theme:o})=>o.colors.danger700};
|
|
76
|
+
padding-left: ${({theme:o})=>o.spaces[1]}px;
|
|
77
|
+
`;var gt=()=>e.createElement(bt,null,"*"),vt=(o,n)=>o.map(s=>{const i=Array.isArray(s.subjects)&&s.subjects.indexOf(n)!==-1;return{...s,isDisplayed:i}}),St=t(41925);const Tt=(0,x.default)(c.Box)`
|
|
78
|
+
transform: translate(-4px, -12px);
|
|
79
|
+
|
|
80
|
+
&:before {
|
|
81
|
+
content: '';
|
|
82
|
+
width: ${4/16}rem;
|
|
83
|
+
height: ${12/16}rem;
|
|
84
|
+
background: ${({theme:o})=>o.colors.primary200};
|
|
85
|
+
display: block;
|
|
86
|
+
}
|
|
87
|
+
`,Rt=x.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
|
+
`,Qe=o=>e.createElement(Tt,null,e.createElement(Rt,{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"})));Qe.defaultProps={fill:"primary200"},Qe.propTypes={fill:a().string};var xt=(0,e.memo)(Qe);const st=(()=>window&&window.strapi&&window.strapi.isEE?t(19665).Z:t(52124).Z)(),ft=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],w),g=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],ke),p=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),h=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__LeftBorderTimeline",componentId:"sc-7y8yzq-3"})(["border-left:",";"],o=>{let{isVisible:n,theme:s}=o;return n?`4px solid ${s.colors.primary200}`:"4px solid transparent"}),v=(0,x.default)(c.Flex).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:s}=o;return n&&`
|
|
96
|
+
${Ve} {
|
|
97
|
+
display: block;
|
|
98
|
+
color: ${s.colors.neutral100};
|
|
99
|
+
}
|
|
100
|
+
&:hover {
|
|
101
|
+
${Ye(s)}
|
|
102
|
+
}
|
|
103
|
+
`},o=>{let{isActive:n,theme:s}=o;return n&&Ye(s)}),F=x.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}),z=o=>{let{childrenForm:n,isFormDisabled:s,recursiveLevel:i,pathToDataFromActionRow:r,propertyActions:d,parentName:u,propertyName:m}=o;const{formatMessage:C}=(0,$.useIntl)(),{modifiedData:S,onChangeParentCheckbox:T,onChangeSimpleCheckbox:L}=(0,Re.$_)(),[I,_]=(0,e.useState)(null),N=A=>{_(B=>B===A?null:A)},Z=(0,e.useMemo)(()=>I?n.find(A=>{let{value:B}=A;return B===I}):null,[I,n]);return e.createElement(p,null,e.createElement(F,null),n.map((A,B)=>{let{label:U,value:V,required:ne,children:Le}=A;const ye=B+1<n.length,ue=Array.isArray(Le),Ce=I===V;return e.createElement(h,{key:V,isVisible:ye},e.createElement(g,null,e.createElement(xt,{color:"primary200"}),e.createElement(c.Flex,{style:{flex:1}},e.createElement(v,{level:i,isActive:Ce,isCollapsable:ue},e.createElement(ge,(0,St.Z)({alignItems:"center",isCollapsable:ue},ue&&{onClick:()=>N(V),"aria-expanded":Ce,onKeyDown:Te=>{let{key:we}=Te;return(we==="Enter"||we===" ")&&N(V)},tabIndex:0,role:"button"},{title:U}),e.createElement(c.Typography,{ellipsis:!0},ae()(U)),ne&&e.createElement(gt,null),e.createElement(Ve,{$isActive:Ce}))),e.createElement(c.Flex,{style:{flex:1}},d.map(Te=>{let{actionId:we,label:je,isActionRelatedToCurrentProperty:ze}=Te;if(!ze)return e.createElement(Ze,{key:we});const Be=[...r.split(".."),we,"properties",m,...u.split(".."),V],qe=se()(S,Be,!1);if(!Le)return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:s||st,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{L({target:{name:Be.join(".."),value:it}})},value:qe}));const{hasAllActionsSelected:Ke,hasSomeActionsSelected:at}=We(qe);return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{key:je,disabled:s||st,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{T({target:{name:Be.join(".."),value:it}})},value:Ke,indeterminate:at}))})))),Z&&Ce&&e.createElement(c.Box,{paddingBottom:2},e.createElement(z,{isFormDisabled:s,parentName:`${u}..${V}`,pathToDataFromActionRow:r,propertyActions:d,propertyName:m,recursiveLevel:i+1,childrenForm:Z.children})))}))};z.propTypes={childrenForm:a().array.isRequired,isFormDisabled:a().bool.isRequired,parentName:a().string.isRequired,pathToDataFromActionRow:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,recursiveLevel:a().number.isRequired};var ee=(0,e.memo)(z);const H=o=>o.reduce((s,i)=>(i.isActionRelatedToCurrentProperty&&s.push(i.actionId),s),[]);var O=(o,n,s,i,r)=>{const u=H(o).reduce((m,C)=>{const S=[...s.split(".."),C,"properties",i,r],T=(0,y.get)(n,S,!1);return m[C]=T,m},{});return We(u)};const de=(()=>window&&window.strapi&&window.strapi.isEE?t(32741).Z:t(18318).Z)(),Y=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],w),Ae=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],ke,o=>{let{isCollapsable:n,theme:s}=o;return n&&`
|
|
104
|
+
${Ve} {
|
|
105
|
+
display: block;
|
|
106
|
+
color: ${s.colors.neutral100};
|
|
107
|
+
}
|
|
108
|
+
&:hover {
|
|
109
|
+
${Ye(s)}
|
|
110
|
+
}
|
|
111
|
+
`},o=>{let{isActive:n,theme:s}=o;return n&&Ye(s)}),fe=o=>{let{childrenForm:n,label:s,isFormDisabled:i,name:r,required:d,pathToData:u,propertyActions:m,propertyName:C,isOdd:S}=o;const{formatMessage:T}=(0,$.useIntl)(),[L,I]=(0,e.useState)(null),{modifiedData:_,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:Z,onChangeSimpleCheckbox:A}=(0,Re.$_)(),B=L===r,U=(0,e.useMemo)(()=>Array.isArray(n)?n:[],[n]),V=U.length>0,ne=(0,e.useCallback)(()=>{V&&I(Ce=>Ce===r?null:r)},[V,r]),Le=Ce=>{let{target:{value:Te}}=Ce;N(u,C,r,Te)},{hasAllActionsSelected:ye,hasSomeActionsSelected:ue}=(0,e.useMemo)(()=>O(m,_,u,C,r),[m,_,u,C,r]);return e.createElement(e.Fragment,null,e.createElement(Ae,{alignItems:"center",isCollapsable:V,isActive:B,background:S?"neutral100":"neutral0"},e.createElement(c.Flex,null,e.createElement(_e,{onChange:Le,onClick:ne,isCollapsable:V,isFormDisabled:i,label:s,someChecked:ue,value:ye,isActive:B},d&&e.createElement(gt,null),e.createElement(Ve,{$isActive:B})),e.createElement(c.Flex,null,m.map(Ce=>{let{label:Te,isActionRelatedToCurrentProperty:we,actionId:je}=Ce;if(!we)return e.createElement(Ze,{key:Te});const ze=[...u.split(".."),je,"properties",C,r];if(!V){const at=se()(_,ze,!1);return e.createElement(Y,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),onValueChange:it=>{A({target:{name:ze.join(".."),value:it}})},value:at}))}const Be=se()(_,ze,{}),{hasAllActionsSelected:qe,hasSomeActionsSelected:Ke}=We(Be);return e.createElement(Y,{key:Te,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),onValueChange:at=>{Z({target:{name:ze.join(".."),value:at}})},"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),value:qe,indeterminate:Ke}))})))),B&&e.createElement(ee,{childrenForm:U,isFormDisabled:i,parentName:r,pathToDataFromActionRow:u,propertyName:C,propertyActions:m,recursiveLevel:0}))};fe.defaultProps={childrenForm:[],required:!1},fe.propTypes={childrenForm:a().array,label:a().string.isRequired,isFormDisabled:a().bool.isRequired,name:a().string.isRequired,pathToData:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,required:a().bool,isOdd:a().bool.isRequired};var Fe=(0,e.memo)(fe);const $e=x.default.div`
|
|
112
|
+
display: inline-flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
min-width: 0;
|
|
115
|
+
`,Me=({availableActions:o,childrenForm:n,isFormDisabled:s,label:i,pathToData:r,propertyName:d})=>{const u=(0,e.useMemo)(()=>Wt(o,d),[o,d]);return e.createElement($e,null,e.createElement(Zt,{label:i,headers:u}),e.createElement(c.Box,null,n.map(({children:m,label:C,value:S,required:T},L)=>e.createElement(Fe,{childrenForm:m,key:S,label:C,isFormDisabled:s,name:S,required:T,propertyActions:u,pathToData:r,propertyName:d,isOdd:L%2===0}))))};Me.propTypes={childrenForm:a().array.isRequired,availableActions:a().array.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,pathToData:a().string.isRequired,propertyName:a().string.isRequired};var Je=Me;const At=x.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
|
+
`,ht=({allActions:o,contentTypeName:n,label:s,index:i,isActive:r,isFormDisabled:d,onClickToggleCollapse:u,pathToData:m,properties:C})=>{const S=(0,e.useCallback)(()=>{u(n)},[n,u]),T=(0,e.useMemo)(()=>vt(o,n),[o,n]);return e.createElement(At,{isActive:r},e.createElement(Ut,{availableActions:T,isActive:r,isGrey:i%2===0,isFormDisabled:d,label:s,onClickToggle:S,pathToData:m}),r&&C.map(({label:L,value:I,children:_})=>e.createElement(Je,{availableActions:T,childrenForm:_,isFormDisabled:d,label:L,pathToData:m,propertyName:I,key:I})))};ht.propTypes={allActions:a().array.isRequired,contentTypeName:a().string.isRequired,index:a().number.isRequired,isActive:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggleCollapse:a().func.isRequired,pathToData:a().string.isRequired,properties:a().array.isRequired};var Mt=ht;const Lt=({actions:o,isFormDisabled:n,pathToData:s,subjects:i})=>{const[r,d]=(0,e.useState)(null),u=m=>{d(r===m?null:m)};return i.map(({uid:m,label:C,properties:S},T)=>e.createElement(Mt,{allActions:o,key:m,contentTypeName:m,label:C,isActive:r===m,isFormDisabled:n,index:T,onClickToggleCollapse:u,pathToData:`${s}..${m}`,properties:S}))};Lt.defaultProps={actions:[],subjects:[]},Lt.propTypes={actions:a().array.isRequired,isFormDisabled:a().bool.isRequired,pathToData:a().string.isRequired,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))};var mn=(0,e.memo)(Lt),pn=o=>o.filter(({subjects:n})=>n&&n.length);const gn=o=>o.map(({actionId:n})=>n),fn=(o,n)=>o.reduce((s,i)=>(Object.keys(n).forEach(r=>{const d=(0,y.get)(n,[r,i],{}),u={[r]:et(d)};s[i]?s[i]={...s[i],...u}:s[i]=u}),s),{});var hn=(o,n)=>{const s=gn(o),i=fn(s,n);return Object.keys(i).reduce((d,u)=>(d[u]=We(i[u]),d),{})};const yn=(()=>window&&window.strapi&&window.strapi.isEE?t(36950).Z:t(61526).Z)(),Cn=(0,x.default)(c.Stack).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],w),Dt=o=>{let{actions:n,isFormDisabled:s,kind:i}=o;const{formatMessage:r}=(0,$.useIntl)(),{modifiedData:d,onChangeCollectionTypeGlobalActionCheckbox:u}=(0,Re.$_)(),m=(0,e.useMemo)(()=>pn(n),[n]),C=(0,e.useMemo)(()=>hn(m,d[i]),[d,m,i]);return e.createElement(c.Box,{paddingBottom:4,paddingTop:6,style:{paddingLeft:re}},e.createElement(c.Stack,{horizontal:!0,spacing:0},m.map(S=>{let{label:T,actionId:L}=S;return e.createElement(Cn,{key:L,spacing:3},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})),e.createElement(c.BaseCheckbox,{disabled:s||yn,onValueChange:I=>{u(i,L,I)},name:L,"aria-label":r({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})}),value:se()(C,[L,"hasAllActionsSelected"],!1),indeterminate:se()(C,[L,"hasSomeActionsSelected"],!1)}))})))};Dt.defaultProps={actions:[]},Dt.propTypes={actions:a().arrayOf(a().shape({label:a().string.isRequired,actionId:a().string.isRequired,subjects:a().array.isRequired})),isFormDisabled:a().bool.isRequired,kind:a().string.isRequired};var En=(0,e.memo)(Dt);const bn=(0,x.default)(c.Box)`
|
|
121
|
+
overflow-x: auto;
|
|
122
|
+
`,Vt=({isFormDisabled:o,kind:n,layout:{actions:s,subjects:i}})=>{const r=f()([...i],"label");return e.createElement(bn,{background:"neutral0"},e.createElement(En,{actions:s,kind:n,isFormDisabled:o}),e.createElement(mn,{actions:s,isFormDisabled:o,pathToData:n,subjects:r}))};Vt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().shape({actions:a().array,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))}).isRequired};var Kt=(0,e.memo)(Vt),vn=t(66694);const Xt=({children:o,value:n})=>e.createElement(vn.$l.Provider,{value:n},o);Xt.propTypes={children:a().node.isRequired,value:a().exact({availableConditions:a().array.isRequired,modifiedData:a().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:a().func.isRequired,onChangeConditions:a().func.isRequired,onChangeSimpleCheckbox:a().func.isRequired,onChangeParentCheckbox:a().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:a().func.isRequired}).isRequired};var Sn=Xt,Tn=(o,n,s)=>o.map(i=>{const r=[...s,i.action,"properties","enabled"],d=(0,y.get)(n,r,!1),u=(0,y.get)(n,[...s,i.action,"conditions"],{}),m=He(u).some(C=>C);return{...i,isDisplayed:d,checkboxName:r.join(".."),hasSomeActionsSelected:d,value:d,hasConditions:m,label:i.displayName,actionId:i.action,pathToConditionsObject:[...s,i.action]}}),Rn=o=>{const n=Object.entries(o).reduce((i,r)=>{const[d,{conditions:u}]=r;return i[d]=u,i},{});return He(n).some(i=>i)};const It=(()=>window&&window.strapi&&window.strapi.isEE?t(96556).Z:t(16437).Z)(),xn=x.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}),An=x.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],o=>{let{hasConditions:n,disabled:s,theme:i}=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: ${s?i.colors.neutral100:i.colors.primary600};
|
|
132
|
+
}
|
|
133
|
+
`}),Yt=o=>{let{categoryName:n,isFormDisabled:s,subCategoryName:i,actions:r,pathToData:d}=o;const[u,m]=(0,e.useState)(!1),{modifiedData:C,onChangeParentCheckbox:S,onChangeSimpleCheckbox:T}=(0,Re.$_)(),{formatMessage:L}=(0,$.useIntl)(),I=se()(C,d,{}),_=(0,e.useMemo)(()=>Object.keys(I).reduce((ne,Le)=>(ne[Le]=et(I[Le]),ne),{}),[I]),{hasAllActionsSelected:N,hasSomeActionsSelected:Z}=We(_),A=()=>{m(ne=>!ne)},B=()=>{m(!1)},U=Tn(r,C,d),V=Rn(se()(C,[...d],{}));return e.createElement(e.Fragment,null,e.createElement(c.Box,null,e.createElement(c.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(c.Box,{paddingRight:4},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},i)),e.createElement(xn,null),e.createElement(c.Box,{paddingLeft:4},e.createElement(c.Checkbox,{name:d.join(".."),disabled:s||It,onValueChange:ne=>{S({target:{name:d.join(".."),value:ne}})},indeterminate:Z,value:N},L({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(c.Flex,{paddingTop:6,paddingBottom:6},e.createElement(c.Grid,{gap:2,style:{flex:1}},U.map(ne=>{let{checkboxName:Le,value:ye,action:ue,displayName:Ce,hasConditions:Te}=ne;return e.createElement(c.GridItem,{col:3,key:ue},e.createElement(An,{disabled:s||It,hasConditions:Te},e.createElement(c.Checkbox,{name:Le,disabled:s||It,onValueChange:we=>{T({target:{name:Le,value:we}})},value:ye},Ce)))})),e.createElement(Oe,{hasConditions:V,onClick:A}))),u&&e.createElement(ce,{headerBreadCrumbs:[n,i],actions:U,isFormDisabled:s,onClosed:B,onToggle:A}))};Yt.propTypes={actions:a().array.isRequired,categoryName:a().string.isRequired,isFormDisabled:a().bool.isRequired,subCategoryName:a().string.isRequired,pathToData:a().array.isRequired};var Mn=Yt;const Pt=({childrenForm:o,kind:n,name:s,isOpen:i,isFormDisabled:r,isWhite:d,onOpenCategory:u,pathToData:m})=>{const{formatMessage:C}=(0,$.useIntl)(),S=()=>{u(s)},T=(0,e.useMemo)(()=>s.split("::").pop(),[s]);return e.createElement(c.Accordion,{expanded:i,onToggle:S,id:`accordion-${s}`,variant:d?"primary":"secondary"},e.createElement(c.AccordionToggle,{title:ae()(T),description:`${C({id:"Settings.permissions.category"},{category:T})} ${n==="plugins"?"plugin":n}`}),e.createElement(c.AccordionContent,null,e.createElement(c.Box,{padding:6},o.map(({actions:L,subCategoryName:I,subCategoryId:_})=>e.createElement(Mn,{key:I,actions:L,categoryName:T,isFormDisabled:r,subCategoryName:I,pathToData:[...m,_]})))))};Pt.defaultProps={},Pt.propTypes={childrenForm:a().array.isRequired,isOpen:a().bool.isRequired,isFormDisabled:a().bool.isRequired,isWhite:a().bool.isRequired,kind:a().string.isRequired,name:a().string.isRequired,onOpenCategory:a().func.isRequired,pathToData:a().array.isRequired};var Ln=Pt;const Qt=({isFormDisabled:o,kind:n,layout:s})=>{const[i,r]=(0,e.useState)(null),d=u=>{r(u===i?null:u)};return e.createElement(c.Box,{padding:6,background:"neutral0"},s.map(({category:u,categoryId:m,childrenForm:C},S)=>e.createElement(Ln,{key:u,childrenForm:C,kind:n,isFormDisabled:o,isOpen:i===u,isWhite:S%2===1,name:u,onOpenCategory:d,pathToData:[n,m]})))};Qt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().arrayOf(a().shape({category:a().string.isRequired,categoryId:a().string.isRequired,childrenForm:a().arrayOf(a().shape({actions:a().array.isRequired})).isRequired}).isRequired).isRequired};var Jt=Qt,qt=(o,n,s)=>o.find(i=>i.action===n&&i.subject===s);const _t=(o,n=[])=>o.reduce((s,i)=>(s[i.id]=n.indexOf(i.id)!==-1,s),{}),en=({children:o},n,s="")=>o.reduce((i,r)=>{if(r.children)return{...i,[r.value]:en(r,n,`${s}${r.value}.`)};const d=n.indexOf(`${s}${r.value}`)!==-1;return i[r.value]=d,i},{}),Dn=(o,n,s)=>o.reduce((i,r)=>{const d=n.properties.find(({value:u})=>u===r);if(d){const u=(0,y.get)(s,["properties",d.value],[]),m=en(d,u);i.properties[r]=m}return i},{properties:{}}),In=(o,n)=>n.reduce((s,i)=>{const r=o.find(({uid:d})=>d===i)||null;return r&&(s[i]=r),s},{});var tn=({subjects:o},n,s,i=[])=>n.reduce((r,d)=>{const u=d.subjects,m=In(o,u);if((0,y.isEmpty)(m))return r;const C=Object.keys(m).reduce((S,T)=>{const{actionId:L,applyToProperties:I}=d,Z=m[T].properties.map(({value:V})=>V).every(V=>(I||[]).indexOf(V)===-1),A=qt(i,L,T),B=_t(s,(0,y.get)(A,"conditions",[]));if((0,y.isEmpty)(I)||Z)return(0,y.set)(S,[T,L],{properties:{enabled:A!==void 0},conditions:B}),S;const U=Dn(I,m[T],A);return(0,y.set)(S,[T,L],{...U,conditions:B}),S},{});return(0,y.merge)(r,C)},{});const Pn=(o,n,s)=>o.reduce((i,r)=>{const d=qt(s,r.action,null);return i[r.action]={properties:{enabled:d!==void 0},conditions:_t(n,(0,y.get)(d,"conditions",[]))},i},{}),On=(o,n,s)=>o.reduce((i,r)=>(i[r.subCategoryId]=Pn(r.actions,n,s),i),{});var nn=(o,n,s=[])=>o.reduce((i,{categoryId:r,childrenForm:d})=>{const u=On(d,n,s);return i[r]=u,i},{});const on=o=>o.split(" ").join("-");var sn=(o,n)=>Object.entries(G()(o,n)).map(([s,i])=>({category:s,categoryId:on(s),childrenForm:Object.entries(G()(i,"subCategory")).map(([r,d])=>({subCategoryName:r,subCategoryId:on(r),actions:d}))})),Fn=(o,n)=>{const{conditions:s,sections:{collectionTypes:i,singleTypes:r,plugins:d,settings:u}}=o,m={collectionTypes:i,singleTypes:r,plugins:sn(d,"plugin"),settings:sn(u,"category")},C={collectionTypes:tn(i,i.actions||[],s,n),singleTypes:tn(r,r.actions||[],s,n),plugins:nn(m.plugins,s,n),settings:nn(m.settings,s,n)};return{initialData:C,modifiedData:C,layouts:m}};const an=o=>Object.keys(o).reduce((n,s)=>{const i=o[s];if((0,y.isObject)(i)&&!(0,y.has)(i,"conditions"))return{...n,[s]:an(i)};if((0,y.isObject)(i)&&(0,y.has)(i,"conditions")&&!He((0,y.omit)(i,"conditions")).some(d=>d)){const d=Object.keys(i.conditions).reduce((u,m)=>(u[m]=!1,u),{});return{...n,[s]:{...i,conditions:d}}}return n[s]=i,n},{});var Ot=an;const rn=(o,n)=>Object.keys(o).reduce((s,i)=>{const r=o[i];return i==="conditions"?(s[i]=r,s):(0,y.isObject)(r)?{...s,[i]:rn(r,n)}:(s[i]=n,s)},{});var yt=rn;const Bn={initialData:{},modifiedData:{},layouts:{}};var kn=(o,n)=>(0,D.default)(o,s=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:i,actionId:r,value:d}=n,u=["modifiedData",i];Object.keys((0,y.get)(o,u)).forEach(m=>{const C=(0,y.get)(o,[...u,m,r],void 0);if(C){let S=yt(C,d);if(!d&&S.conditions){const T=yt(S.conditions,!1);S={...S,conditions:T}}(0,y.set)(s,[...u,m,r],S)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:i,propertyName:r,rowName:d,value:u}=n;let m=(0,y.cloneDeep)(o.modifiedData);const C=i.split(".."),S=(0,y.get)(m,C,{});Object.keys(S).forEach(T=>{if((0,y.has)(S[T],`properties.${r}`)){const L=(0,y.get)(S,[T,"properties",r,d]),I=[...C,T,"properties",r,d];if(!(0,y.isObject)(L))(0,y.set)(m,I,u);else{const _=yt(L,u);(0,y.set)(m,I,_)}}}),u||(m=Ot(m)),(0,y.set)(s,"modifiedData",m);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(i=>{const[r,d]=i;(0,y.set)(s,["modifiedData",...r.split(".."),"conditions"],d)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let i=(0,y.cloneDeep)(o.modifiedData);(0,y.set)(i,[...n.keys.split("..")],n.value),n.value||(i=Ot(i)),(0,y.set)(s,"modifiedData",i);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:i,value:r}=n,d=[...i.split("..")];let u=(0,y.cloneDeep)(o.modifiedData);const m=(0,y.get)(u,d,{}),C=yt(m,r);(0,y.set)(u,d,C),r||(u=Ot(u)),(0,y.set)(s,["modifiedData"],u);break}case"RESET_FORM":{s.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{s.initialData=o.modifiedData;break}default:return s}});const Ft=o=>Object.entries(o).filter(([,n])=>n).map(([n])=>n),wn=o=>{const[n,{conditions:s}]=o;return{action:n,subject:null,conditions:Ft(s),properties:{}}},Nn=o=>Object.values(o).reduce((n,s)=>{const i=Object.entries(s).reduce((r,d)=>{const[,{properties:{enabled:u}}]=d;if(!u)return r;const m=wn(d);return r.push(m),r},[]);return[...n,...i]},[]);var ln=o=>Object.values(o).reduce((n,s)=>{const i=Nn(s);return[...n,...i]},[]);const cn=(o,n="")=>Object.entries(o).reduce((s,i)=>{const[r,d]=i;return(0,y.isObject)(d)?[...s,...cn(d,`${n}${r}.`)]:(d&&!(0,y.isObject)(d)&&s.push(`${n}${r}`),s)},[]),$n=(o,n,{conditions:s,properties:i})=>Object.entries(i).reduce((r,d)=>{const[u,m]=d;return r.properties[u]=cn(m),r},{action:o,subject:n,conditions:Ft(s),properties:{}}),jn=(o,n,{conditions:s})=>({action:o,subject:n,properties:{},conditions:Ft(s)}),zn=(o,n)=>Object.entries(n).reduce((i,r)=>{const[d,u]=r;if(!He(u).some(S=>S))return i;if(!(0,y.has)(u,"properties.enabled")){const S=$n(d,o,u);return[...i,S]}if(!u.properties.enabled)return i;const C=jn(d,o,u);return i.push(C),i},[]);var dn=o=>Object.entries(o).reduce((s,i)=>{const[r,d]=i,u=zn(r,d);return[...s,...u]},[]),Un=o=>{const n=ln(o.plugins),s=ln(o.settings),i=dn(o.collectionTypes),r=dn(o.singleTypes);return[...n,...s,...i,...r]},Gn=[{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 Bt=(0,e.forwardRef)(({layout:o,isFormDisabled:n,permissions:s},i)=>{const[{initialData:r,layouts:d,modifiedData:u},m]=(0,e.useReducer)(kn,Bn,()=>Fn(o,s)),{formatMessage:C}=(0,$.useIntl)();(0,e.useImperativeHandle)(i,()=>({getPermissions(){const N=(0,l.difference)(r.collectionTypes,u.collectionTypes),Z=(0,l.difference)(r.singleTypes,u.singleTypes),A={...N,...Z};let B;return le()(A)?B=!1:B=Object.values(A).some(U=>Object.values(U).some(V=>K()(V,"conditions"))),{permissionsToSend:Un(u),didUpdateConditions:B}},resetForm(){m({type:"RESET_FORM"})},setFormAfterSubmit(){m({type:"SET_FORM_AFTER_SUBMIT"})}}));const S=(N,Z,A,B)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:N,propertyName:Z,rowName:A,value:B})},T=(N,Z,A)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:N,actionId:Z,value:A})},L=N=>{m({type:"ON_CHANGE_CONDITIONS",conditions:N})},I=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:N,value:Z})},[]),_=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:N,value:Z})},[]);return e.createElement(Sn,{value:{availableConditions:o.conditions,modifiedData:u,onChangeConditions:L,onChangeSimpleCheckbox:I,onChangeParentCheckbox:_,onChangeCollectionTypeLeftActionRowCheckbox:S,onChangeCollectionTypeGlobalActionCheckbox:T}},e.createElement(c.TabGroup,{id:"tabs",label:C({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(c.Tabs,null,Gn.map(N=>e.createElement(c.Tab,{key:N.id},C({id:N.labelId,defaultMessage:N.defaultMessage})))),e.createElement(c.TabPanels,{style:{position:"relative"}},e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.settings,kind:"settings",isFormDisabled:n})))))});Bt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},Bt.propTypes={layout:a().object,isFormDisabled:a().bool.isRequired,permissions:a().array};var Wn=(0,e.memo)(Bt)},16437:function(P,R){"use strict";R.Z=!0},78522:function(P,R){"use strict";R.Z=()=>"todo empty role"},80779:function(P,R,t){"use strict";var e=t(32735),b=t(60216),a=t.n(b),l=t(39161),c=t.n(l),E=t(13478),K=t.n(E),Q=t(5636);const le=({id:$,name:x,description:De,usersCount:f,icons:oe,rowIndex:Ee})=>{const{formatMessage:se}=(0,Q.useIntl)(),be=se({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:f});return e.createElement(l.Tr,{"aria-rowindex":Ee,key:$,...(0,E.onRowClick)({fn:oe[1].onClick})},e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(130)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},x)),e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(250)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},De)),e.createElement(l.Td,null,e.createElement(l.Typography,{textColor:"neutral800"},be)),e.createElement(l.Td,null,e.createElement(l.Flex,{justifyContent:"flex-end",...E.stopPropagation},oe.map((ve,Re)=>ve?e.createElement(l.Box,{key:ve.label,paddingLeft:Re===0?0:1},e.createElement(l.IconButton,{onClick:ve.onClick,label:ve.label,noBorder:!0,icon:ve.icon})):null))))};le.propTypes={id:a().number.isRequired,name:a().string.isRequired,description:a().string.isRequired,usersCount:a().number.isRequired,icons:a().array.isRequired,rowIndex:a().number.isRequired},R.Z=le},45677:function(P,R,t){"use strict";t.d(R,{Z:function(){return xe}});var e=t(32735),b=t(13478),a=t(72041),l=t(58469),c=t(57269),E=t(39161),K=t(5636),Q=t(5141),le=t(80779),$=t(78522),x=t(60216),De=t.n(x),f=t(83292),oe=t(95489),Ee=t.p+"6d21938306785f176538.png",se=t.p+"617f9c948fa79e6d73bd.png";const be=f.default.div`
|
|
134
|
+
position: absolute;
|
|
135
|
+
z-index: 3;
|
|
136
|
+
inset: 0;
|
|
137
|
+
background: ${({theme:M})=>(0,b.setHexOpacity)(M.colors.neutral800,.2)};
|
|
138
|
+
padding: 0 ${({theme:M})=>M.spaces[8]};
|
|
139
|
+
`,ve=(0,f.default)(E.Flex)`
|
|
140
|
+
position: relative;
|
|
141
|
+
max-width: ${830/16}rem;
|
|
142
|
+
height: ${415/16}rem;
|
|
143
|
+
margin: 0 auto;
|
|
144
|
+
overflow: hidden;
|
|
145
|
+
margin-top: 10%;
|
|
146
|
+
padding-left: ${64/16}rem;
|
|
147
|
+
|
|
148
|
+
img:first-of-type {
|
|
149
|
+
position: absolute;
|
|
150
|
+
right: 0;
|
|
151
|
+
top: 0;
|
|
152
|
+
max-width: ${360/16}rem;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
img:not(:first-of-type) {
|
|
156
|
+
width: ${130/16}rem;
|
|
157
|
+
margin-left: 12%;
|
|
158
|
+
margin-right: ${20/16}rem;
|
|
159
|
+
z-index: 0;
|
|
160
|
+
}
|
|
161
|
+
`,Re=(0,f.default)(E.Stack)`
|
|
162
|
+
align-items: flex-start;
|
|
163
|
+
max-width: ${400/16}rem;
|
|
164
|
+
z-index: 0;
|
|
165
|
+
`,Ue=(0,f.default)(E.Box)`
|
|
166
|
+
position: absolute;
|
|
167
|
+
right: ${({theme:M})=>M.spaces[4]};
|
|
168
|
+
top: ${({theme:M})=>M.spaces[4]};
|
|
169
|
+
`,Ie=({onClose:M,isOpen:k})=>{(0,b.useLockScroll)(k);const{formatMessage:X}=(0,K.useIntl)();return k?e.createElement(E.Portal,null,e.createElement(be,{onClick:M},e.createElement(E.FocusTrap,{onEscape:M},e.createElement(ve,{onClick:J=>J.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:Ee,alt:"air-balloon"}),e.createElement(Ue,null,e.createElement(E.IconButton,{onClick:M,"aria-label":"Close",icon:e.createElement(c.Cross,null)})),e.createElement(Re,{spacing:6},e.createElement(E.Typography,{fontWeight:"bold",textColor:"primary600"},X({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(E.Stack,{spacing:2},e.createElement(E.Typography,{variant:"alpha",as:"h2",id:"upgrade-plan"},X({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(E.Typography,null,X({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(oe.Q,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(c.ExternalLink,null)},X({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:se,alt:"upgrade-arrow"}))))):null};Ie.propTypes={onClose:De().func.isRequired,isOpen:De().bool.isRequired};var Oe=Ie,D=t(8888);const he=()=>{const{roles:M,isLoading:k}=(0,D.bF)(),X=(0,b.useQuery)(),J=decodeURIComponent(X.get("_q")||""),y=(0,l.ZP)(M,J,{keys:["name","description"]});return{isLoading:k,sortedRoles:y}},G=()=>{const{formatMessage:M}=(0,K.useIntl)(),[k,X]=(0,e.useState)(!1),{trackUsage:J}=(0,b.useTracking)(),{push:y}=(0,Q.useHistory)(),me=(0,e.useCallback)(q=>{y(`/settings/roles/${q}`)},[y]),Se=(0,e.useCallback)(()=>{X(q=>!q)},[]),Pe=(0,e.useCallback)(()=>{J("didShowRBACUpgradeModal"),X(!0)},[J]),pe=(0,e.useCallback)(q=>[{onClick:Se,label:M({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(c.Duplicate,null)},{onClick:()=>me(q.id),label:M({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(c.Pencil,null)},{onClick:Se,label:M({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(c.Trash,null)}],[M,Se,me]);return{isModalOpen:k,handleToggleModalForCreatingRole:Pe,handleToggle:Se,getIcons:pe}};var ae=()=>{const{formatMessage:M}=(0,K.useIntl)();(0,b.useFocusWhenNavigate)();const{sortedRoles:k,isLoading:X}=he(),{isModalOpen:J,handleToggle:y,handleToggleModalForCreatingRole:me,getIcons:Se}=G(),Pe=k.length+1,pe=5;return e.createElement(E.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(E.HeaderLayout,{primaryAction:e.createElement(E.Button,{onClick:me,startIcon:e.createElement(c.Plus,null),size:"S"},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:M({id:"global.roles",defaultMessage:"roles"}),subtitle:M({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(E.ContentLayout,null,e.createElement(E.Table,{colCount:pe,rowCount:Pe,footer:e.createElement(E.TFooter,{onClick:me,icon:e.createElement(c.Plus,null)},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(E.Thead,null,e.createElement(E.Tr,null,e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.name",defaultMessage:"Name"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.description",defaultMessage:"Description"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.users",defaultMessage:"Users"}))),e.createElement(E.Th,null,e.createElement(E.VisuallyHidden,null,M({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(E.Tbody,null,k?.map((q,ce)=>e.createElement(le.Z,{key:q.id,id:q.id,name:q.name,description:q.description,usersCount:q.usersCount,icons:Se(q),rowIndex:ce+2})))),!Pe&&!X&&e.createElement($.Z,null)),e.createElement(Oe,{isOpen:J,onClose:y}))},xe=()=>e.createElement(b.CheckPagePermissions,{permissions:a.Z.settings.roles.main},e.createElement(ae,null))},75936:function(P,R){"use strict";const t=[];R.Z=t},20178:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(64213),a=t(13478),l=t(39161),c=t(57269),E=t(83281),K=t(33795),Q=t.n(K),le=t(86834),$=t.n(le),x=t(5636),De=t(5141),f=t(83292),oe=t(78974),Ee=t(8888),se=t(72041),be=t(5173),Re=be.Ry().shape({name:be.Z_().required(a.translatedErrors.required),description:be.Z_().required(a.translatedErrors.required)});const Ue=f.default.div`
|
|
170
|
+
border: 1px solid ${({theme:D})=>D.colors.primary200};
|
|
171
|
+
background: ${({theme:D})=>D.colors.primary100};
|
|
172
|
+
padding: ${({theme:D})=>`${D.spaces[2]} ${D.spaces[4]}`};
|
|
173
|
+
color: ${({theme:D})=>D.colors.primary600};
|
|
174
|
+
border-radius: ${({theme:D})=>D.borderRadius};
|
|
175
|
+
font-size: ${12/16}rem;
|
|
176
|
+
font-weight: bold;
|
|
177
|
+
`,Ie=()=>{const D=(0,a.useNotification)(),{lockApp:he,unlockApp:G}=(0,a.useOverlayBlocker)(),{formatMessage:j}=(0,x.useIntl)(),[ae,ie]=(0,e.useState)(!1),{replace:xe}=(0,De.useHistory)(),M=(0,e.useRef)(),{trackUsage:k}=(0,a.useTracking)(),X=(0,De.useRouteMatch)("/settings/roles/duplicate/:id"),J=Q()(X,"params.id",null),{isLoading:y,data:me}=(0,Ee.U_)(),{permissions:Se,isLoading:Pe}=(0,Ee.Dq)(J),pe=ce=>{he(),ie(!0),k(J?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,a.request)("/admin/roles",{method:"POST",body:ce})).then(async w=>{const{permissionsToSend:re}=M.current.getPermissions();return k(J?"didDuplicateRole":"didCreateNewRole"),w.data.id&&!$()(re)&&await(0,a.request)(`/admin/roles/${w.data.id}/permissions`,{method:"PUT",body:{permissions:re}}),w}).then(w=>{ie(!1),D({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),xe(`/settings/roles/${w.data.id}`)}).catch(w=>{console.error(w),ie(!1),D({type:"warning",message:{id:"notification.error"}})}).finally(()=>{G()})},q=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,b.format)(new Date,"PPP")}`;return e.createElement(l.Main,null,e.createElement(a.SettingsPageTitle,{name:"Roles"}),e.createElement(E.Formik,{initialValues:{name:"",description:q},onSubmit:pe,validationSchema:Re,validateOnChange:!1},({handleSubmit:ce,values:w,errors:re,handleReset:ke,handleChange:Ne})=>e.createElement(a.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(l.HeaderLayout,{primaryAction:e.createElement(l.Stack,{horizontal:!0,spacing:2},e.createElement(l.Button,{variant:"secondary",onClick:()=>{ke(),M.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(l.Button,{onClick:ce,loading:ae,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(a.Link,{startIcon:e.createElement(c.ArrowLeft,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(l.Stack,{spacing:4},e.createElement(l.Flex,{justifyContent:"space-between"},e.createElement(l.Box,null,e.createElement(l.Box,null,e.createElement(l.Typography,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(l.Box,null,e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(Ue,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(l.Grid,{gap:4},e.createElement(l.GridItem,{col:6},e.createElement(l.TextInput,{name:"name",error:re.name&&j({id:re.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:Ne,value:w.name})),e.createElement(l.GridItem,{col:6},e.createElement(l.Textarea,{label:j({id:"global.description",defaultMessage:"Description"}),name:"description",error:re.description&&j({id:re.description}),onChange:Ne},w.description))))),!y&&!Pe?e.createElement(l.Box,{shadow:"filterShadow",hasRadius:!0},e.createElement(oe.Z,{isFormDisabled:!1,ref:M,permissions:Se,layout:me})):e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.LoadingIndicatorPage,null))))))))};function Oe(){return e.createElement(a.CheckPagePermissions,{permissions:se.Z.settings.roles.create},e.createElement(Ie,null))}},56899:function(P,R){"use strict";R.Z=!1},68464:function(P,R){"use strict";R.Z=!1},32741:function(P,R){"use strict";R.Z=!1},19665:function(P,R){"use strict";R.Z=!1},36950:function(P,R){"use strict";R.Z=!1},96556:function(P,R){"use strict";R.Z=!1},51899:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(13478),a=t(72041),l=t(57269),c=t(39161),E=t(92891),K=t(58469),Q=t(5636),le=t(5141),$=t(8888),x=t(78522),De=t(80779),f=t(97889);const oe={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var se=(D,he)=>(0,f.default)(D,G=>{switch(he.type){case"ON_REMOVE_ROLES":{G.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{G.shouldRefetchData=!0,G.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{G.shouldRefetchData=!1,G.roleToDelete=null,G.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{G.roleToDelete=he.id;break}default:return G}});const be=()=>{(0,b.useFocusWhenNavigate)();const{isLoading:D,allowedActions:{canCreate:he,canDelete:G,canRead:j,canUpdate:ae}}=(0,b.useRBAC)(a.Z.settings.roles),{getData:ie,roles:xe,isLoading:M}=(0,$.bF)(!1),[{query:k}]=(0,b.useQueryParams)(),X=k?._q||"",J=(0,K.ZP)(xe,X,{keys:["name","description"]});return(0,e.useEffect)(()=>{!D&&j&&ie()},[D,j,ie]),{isLoadingForPermissions:D,canCreate:he,canDelete:G,canRead:j,canUpdate:ae,isLoading:M,getData:ie,sortedRoles:J,roles:xe}},ve=({getData:D,canCreate:he,canDelete:G,canUpdate:j})=>{const{formatMessage:ae}=(0,Q.useIntl)(),ie=(0,b.useNotification)(),[xe,M]=(0,e.useState)(!1),{push:k}=(0,le.useHistory)(),[{selectedRoles:X,showModalConfirmButtonLoading:J,roleToDelete:y},me]=(0,e.useReducer)(se,oe),{post:Se}=(0,b.getFetchClient)(),Pe=async()=>{try{me({type:"ON_REMOVE_ROLES"}),await Se("/admin/roles/batch-delete",{ids:[y]}),await D(),me({type:"RESET_DATA_TO_DELETE"})}catch(te){const ge=(0,E.get)(te,["response","payload","data","ids"],null);if(ge&&Array.isArray(ge)){const Ge=ge.join(`
|
|
178
|
+
`);ie({type:"warning",message:Ge})}else ie({type:"warning",message:{id:"notification.error"}})}w()},pe=(0,e.useCallback)(te=>{k(`/settings/roles/duplicate/${te}`)},[k]),q=()=>k("/settings/roles/new"),ce=(0,e.useCallback)(te=>{me({type:"SET_ROLE_TO_DELETE",id:te}),w()},[]),w=()=>M(te=>!te),re=(0,e.useCallback)(te=>{k(`/settings/roles/${te}`)},[k]),ke=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),ge.usersCount?ie({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):ce(ge.id)},[ie,ce]),Ne=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),pe(ge.id)},[pe]),Ze=(0,e.useCallback)(te=>[...he?[{onClick:ge=>Ne(ge,te),label:ae({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(l.Duplicate,null)}]:[],...j?[{onClick:()=>re(te.id),label:ae({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(l.Pencil,null)}]:[],...G?[{onClick:ge=>ke(ge,te),label:ae({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(l.Trash,null)}]:[]],[ae,ke,Ne,re,he,j,G]);return{handleNewRoleClick:q,getIcons:Ze,selectedRoles:X,isWarningDeleteAllOpened:xe,showModalConfirmButtonLoading:J,handleToggleModal:w,handleDeleteData:Pe}};var Ue=()=>{const{formatMessage:D}=(0,Q.useIntl)(),{isLoadingForPermissions:he,canCreate:G,canRead:j,canDelete:ae,canUpdate:ie,isLoading:xe,getData:M,sortedRoles:k}=be(),{handleNewRoleClick:X,getIcons:J,isWarningDeleteAllOpened:y,showModalConfirmButtonLoading:me,handleToggleModal:Se,handleDeleteData:Pe}=ve({getData:M,canCreate:G,canDelete:ae,canUpdate:ie}),pe=k.length+1,q=6;if(he)return e.createElement(c.Main,null,e.createElement(b.LoadingIndicatorPage,null));const ce=D({id:"global.roles",defaultMessage:"roles"});return e.createElement(c.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(c.HeaderLayout,{primaryAction:G?e.createElement(c.Button,{onClick:X,startIcon:e.createElement(l.Plus,null),size:"S"},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:ce,subtitle:D({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),j&&e.createElement(c.ActionLayout,{startActions:e.createElement(b.SearchURLQuery,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ce})})}),j&&e.createElement(c.ContentLayout,null,e.createElement(c.Table,{colCount:q,rowCount:pe,footer:G?e.createElement(c.TFooter,{onClick:X,icon:e.createElement(l.Plus,null)},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(c.Thead,null,e.createElement(c.Tr,{"aria-rowindex":1},e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.name",defaultMessage:"Name"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.description",defaultMessage:"Description"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.users",defaultMessage:"Users"}))),e.createElement(c.Th,null,e.createElement(c.VisuallyHidden,null,D({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(c.Tbody,null,k?.map((w,re)=>e.createElement(De.Z,{key:w.id,id:w.id,name:w.name,description:w.description,usersCount:w.usersCount,icons:J(w),rowIndex:re+2})))),!pe&&!xe&&e.createElement(x.Z,null)),e.createElement(b.ConfirmDialog,{isOpen:y,onConfirm:Pe,isConfirmButtonLoading:me,onToggleDialog:Se}))},Oe=()=>e.createElement(b.CheckPagePermissions,{permissions:a.Z.settings.roles.main},e.createElement(Ue,null))},63775:function(P,R,t){"use strict";const e=[];strapi.features.isEnabled(strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),R.Z=e},84802:function(P){function R(t,e,b,a){for(var l=-1,c=t==null?0:t.length;++l<c;){var E=t[l];e(a,E,b(E),t)}return a}P.exports=R},62435:function(P,R,t){var e=t(56671);function b(a,l,c,E){return e(a,function(K,Q,le){l(E,K,c(K),le)}),E}P.exports=b},85580:function(P,R,t){var e=t(84802),b=t(62435),a=t(88904),l=t(77236);function c(E,K){return function(Q,le){var $=l(Q)?e:b,x=K?K():{};return $(Q,E,a(le,2),x)}}P.exports=c},3704:function(P,R,t){var e=t(40314),b=t(37213);function a(l,c){return e(b(l,c),1)}P.exports=a},81346:function(P,R,t){var e=t(40999),b=t(85580),a=Object.prototype,l=a.hasOwnProperty,c=b(function(E,K,Q){l.call(E,Q)?E[Q].push(K):e(E,Q,[K])});P.exports=c},37213:function(P,R,t){var e=t(26460),b=t(88904),a=t(52920),l=t(77236);function c(E,K){var Q=l(E)?e:a;return Q(E,b(K,3))}P.exports=c}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9514],{1372:function(P,p,t){t.r(p),t.d(p,{default:function(){return H}});var e=t(32735),y=t(5636),T=t(89793),A=t.n(T),N=t(60216),r=t.n(N),n=t(39161),u=t(13478),m=t(57269),d=t(20069),E=t(68781);const C=({sort:s="",pageSize:o=10,onChange:i})=>{const{formatMessage:l}=(0,y.useIntl)();return e.createElement(n.Box,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(n.Grid,{gap:4},e.createElement(n.GridItem,{s:12,col:6},e.createElement(n.Select,{label:l({id:(0,d.Z)("config.entries.title"),defaultMessage:"Entries per page"}),hint:l({id:(0,d.Z)("config.entries.note"),defaultMessage:"Number of assets displayed by default in the Media Library"}),onChange:a=>i({target:{name:"pageSize",value:a}}),name:"pageSize",value:o,"test-pageSize":o,"data-testid":"pageSize-select"},E.ay.map(a=>e.createElement(n.Option,{"data-testid":`pageSize-option-${a}`,key:a,value:a},a)))),e.createElement(n.GridItem,{s:12,col:6},e.createElement(n.Select,{label:l({id:(0,d.Z)("config.sort.title"),defaultMessage:"Default sort order"}),hint:l({id:(0,d.Z)("config.note"),defaultMessage:"Note: You can override this value in the media library."}),onChange:a=>i({target:{name:"sort",value:a}}),name:"sort",value:s,"test-sort":s,"data-testid":"sort-select"},E.Fo.map(a=>e.createElement(n.Option,{"data-testid":`sort-option-${a.value}`,key:a.key,value:a.value},l({id:(0,d.Z)(a.key),defaultMessage:`${a.value}`})))))))};C.propTypes={sort:r().string.isRequired,pageSize:r().number.isRequired,onChange:r().func.isRequired};var R=t(97889),I=t(3040),B=t.n(I),O=t(33795),z=t.n(O),f=t(74951);const D=`${f.Z}/ON_CHANGE`,S=`${f.Z}/SET_LOADED`,v={initialData:{},modifiedData:{}},M=s=>({...v,initialData:s,modifiedData:s});var $=(s=v,o)=>(0,R.default)(s,i=>{switch(o.type){case D:{B()(i,["modifiedData",...o.keys.split(".")],o.value);break}case S:{const l=M(z()(i,["modifiedData"],{}));i.initialData=l.initialData,i.modifiedData=l.modifiedData;break}default:return i}});const G=({name:s,value:o})=>({type:D,keys:s,value:o}),W=()=>({type:S});var F=t(68715);const L=({config:s})=>{const{trackUsage:o}=(0,u.useTracking)(),{formatMessage:i}=(0,y.useIntl)(),l=(0,u.useNotification)(),{mutateConfig:a}=(0,F.Z)(),{isLoading:b}=a,[k,U]=(0,e.useState)(!1),h=()=>U(g=>!g),[V,Z]=(0,e.useReducer)($,v,()=>M(s)),{initialData:x,modifiedData:c}=V,Y=g=>{g.preventDefault(),h()},j=async()=>{o("willEditMediaLibraryConfig"),await a.mutateAsync(c),h(),Z(W()),l({type:"success",message:{id:"notification.form.success.fields",defaultMessage:"Changes saved"}})},J=({target:{name:g,value:K}})=>{Z(G({name:g,value:K}))};return(0,u.useFocusWhenNavigate)(),e.createElement(n.Layout,null,e.createElement(n.Main,{"aria-busy":b},e.createElement("form",{onSubmit:Y},e.createElement(n.HeaderLayout,{navigationAction:e.createElement(u.Link,{startIcon:e.createElement(m.ArrowLeft,null),to:`/plugins/${f.Z}`,id:"go-back"},i({id:(0,d.Z)("config.back"),defaultMessage:"Back"})),primaryAction:e.createElement(n.Button,{size:"S",startIcon:e.createElement(m.Check,null),disabled:A()(c,x),type:"submit"},i({id:"global.save",defaultMessage:"Save"})),subtitle:i({id:(0,d.Z)("config.subtitle"),defaultMessage:"Define the view settings of the media library."}),title:i({id:(0,d.Z)("config.title"),defaultMessage:"Configure the view - Media Library"})}),e.createElement(n.ContentLayout,null,e.createElement(C,{"data-testid":"settings",pageSize:c.pageSize||"",sort:c.sort||"",onChange:J})),e.createElement(u.ConfirmDialog,{bodyText:{id:(0,d.Z)("config.popUpWarning.warning.updateAllSettings"),defaultMessage:"This will modify all your settings"},iconRightButton:e.createElement(m.Check,null),isConfirmButtonLoading:b,isOpen:k,onToggleDialog:h,onConfirm:j,variantRightButton:"success-light"}))))};L.propTypes={config:r().shape({pageSize:r().number,sort:r().string}).isRequired};var H=L}}]);
|