@strapi/admin 4.6.0-beta.2 → 4.6.1
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/.browserslistrc +2 -1
- package/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
- package/admin/src/components/ConfigurationsProvider/index.js +21 -18
- package/admin/src/components/ConfigurationsProvider/reducer.js +1 -0
- package/admin/src/components/LeftMenu/index.js +62 -53
- package/admin/src/components/UnauthenticatedLogo/index.js +1 -1
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +20 -16
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +5 -5
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +1 -3
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +6 -5
- package/admin/src/content-manager/components/Hint/index.js +4 -17
- package/admin/src/content-manager/components/InputUID/index.js +7 -18
- package/admin/src/content-manager/components/Inputs/index.js +0 -2
- package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +22 -27
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +35 -14
- package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +19 -28
- package/admin/src/content-manager/components/Wysiwyg/index.js +4 -8
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +4 -3
- package/admin/src/content-manager/hooks/useLazyComponents/index.js +9 -13
- package/admin/src/content-manager/hooks/useRelation/useRelation.js +4 -4
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +3 -8
- package/admin/src/content-manager/pages/App/LeftMenu/utils/index.js +1 -0
- package/admin/src/content-manager/pages/App/LeftMenu/utils/matchByTitle.js +24 -0
- package/admin/src/content-manager/pages/App/useModels.js +8 -3
- package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +3 -2
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +4 -4
- package/admin/src/content-manager/pages/EditSettingsView/utils/api.js +4 -2
- package/admin/src/content-manager/pages/EditView/{Informations → Information}/index.js +55 -39
- package/admin/src/content-manager/pages/EditView/{Informations → Information}/utils/getUnits.js +0 -0
- package/admin/src/content-manager/pages/EditView/index.js +3 -3
- package/admin/src/content-manager/pages/ListSettingsView/utils/api.js +4 -2
- package/admin/src/content-manager/pages/ListView/index.js +9 -9
- package/admin/src/core/store/configureStore.js +22 -4
- package/admin/src/core/utils/index.js +0 -1
- package/admin/src/hooks/useFetchEnabledPlugins/utils/api.js +3 -2
- package/admin/src/hooks/useInjectReducer/index.js +1 -0
- package/admin/src/hooks/useInjectReducer/useInjectReducer.js +19 -0
- package/admin/src/hooks/useRegenerate/index.js +3 -3
- package/admin/src/hooks/useRolesList/index.js +5 -3
- package/admin/src/hooks/useSettingsMenu/init.js +2 -25
- package/admin/src/hooks/useSettingsMenu/utils/adminLinks.js +4 -0
- package/admin/src/hooks/useSettingsMenu/utils/customAdminLinks.js +1 -0
- package/admin/src/hooks/useSettingsMenu/utils/defaultAdminLinks.js +21 -0
- package/admin/src/index.js +5 -4
- package/admin/src/pages/App/index.js +6 -2
- package/admin/src/pages/ProfilePage/utils/api.js +5 -3
- package/admin/src/pages/SettingsPage/{pages/Users/ListPage → components}/Filters/index.js +0 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +6 -5
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +4 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +142 -0
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/{Form → CustomizationInfos}/init.js +3 -0
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/{Form → CustomizationInfos}/reducer.js +20 -0
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +21 -17
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +68 -42
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +9 -3
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +6 -3
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +9 -3
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +6 -3
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +3 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +3 -2
- package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +0 -11
- package/admin/src/permissions/defaultPermissions.js +4 -0
- package/admin/src/translations/en.json +29 -21
- package/admin/src/translations/eu.json +796 -0
- package/admin/src/translations/languageNativeNames.js +1 -0
- package/admin/src/translations/ru.json +9 -9
- package/build/1412.936ed920.chunk.js +159 -0
- package/build/1683.c8aa7b7c.chunk.js +268 -0
- package/build/2607.2e48dbf8.chunk.js +66 -0
- package/build/2743.6d1632f9.chunk.js +45 -0
- package/build/3075.dc3894fe.chunk.js +108 -0
- package/build/3632.0317b618.chunk.js +138 -0
- package/build/4318.f96a9d4d.chunk.js +30 -0
- package/build/{3557.e7115160.chunk.js → 4855.bd092921.chunk.js} +131 -91
- package/build/{5015.f5e15fdb.chunk.js → 5015.8e3fe50b.chunk.js} +1 -1
- package/build/8633.00ccd382.chunk.js +1 -0
- package/build/9707.7290fd92.chunk.js +96 -0
- package/build/Admin-authenticatedApp.ce646f66.chunk.js +75 -0
- package/build/Admin_homePage.b1730882.chunk.js +77 -0
- package/build/Admin_marketplace.ea0316c2.chunk.js +26 -0
- package/build/Admin_pluginsPage.5c24f963.chunk.js +6 -0
- package/build/Admin_profilePage.59af1978.chunk.js +15 -0
- package/build/Admin_settingsPage.d1493824.chunk.js +178 -0
- package/build/{Upload_ConfigureTheView.9bdf41b5.chunk.js → Upload_ConfigureTheView.3f2b6e6a.chunk.js} +1 -1
- package/build/admin-app.25934eaa.chunk.js +112 -0
- package/build/admin-edit-roles-page.446b69dc.chunk.js +1 -0
- package/build/admin-edit-users.2ed69bfd.chunk.js +10 -0
- package/build/admin-users.fc003b10.chunk.js +11 -0
- package/build/{api-tokens-create-page.0e686c30.chunk.js → api-tokens-create-page.d248362d.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.d6c7487b.chunk.js → api-tokens-edit-page.8516fa20.chunk.js} +1 -1
- package/build/api-tokens-list-page.44a79fda.chunk.js +16 -0
- package/build/audit-logs-settings-page.c3dce30d.chunk.js +1 -0
- package/build/content-manager.35ff9726.chunk.js +1139 -0
- package/build/content-type-builder-list-view.79e84b36.chunk.js +193 -0
- package/build/{content-type-builder-translation-de-json.29df67b8.chunk.js → content-type-builder-translation-de-json.0979cccb.chunk.js} +1 -1
- package/build/{content-type-builder-translation-dk-json.e22d2527.chunk.js → content-type-builder-translation-dk-json.e05583e9.chunk.js} +1 -1
- package/build/content-type-builder-translation-en-json.e577d595.chunk.js +1 -0
- package/build/{content-type-builder-translation-es-json.1044b252.chunk.js → content-type-builder-translation-es-json.fe4daad8.chunk.js} +1 -1
- package/build/{content-type-builder-translation-fr-json.2183e6b3.chunk.js → content-type-builder-translation-fr-json.b1eb52f6.chunk.js} +1 -1
- package/build/{content-type-builder-translation-id-json.ba3e8891.chunk.js → content-type-builder-translation-id-json.ee3b36bb.chunk.js} +1 -1
- package/build/{content-type-builder-translation-it-json.d4661201.chunk.js → content-type-builder-translation-it-json.13b3c26a.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ko-json.57ff7f51.chunk.js → content-type-builder-translation-ko-json.8a274be5.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pl-json.a057b51e.chunk.js → content-type-builder-translation-pl-json.24a34349.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pt-BR-json.446df9da.chunk.js → content-type-builder-translation-pt-BR-json.97f71a9d.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ru-json.8c51843e.chunk.js → content-type-builder-translation-ru-json.54d11230.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sv-json.af6ecca1.chunk.js → content-type-builder-translation-sv-json.59f5e1e5.chunk.js} +1 -1
- package/build/{content-type-builder-translation-tr-json.da83a07e.chunk.js → content-type-builder-translation-tr-json.cea4d226.chunk.js} +1 -1
- package/build/{content-type-builder-translation-zh-json.42f94cb3.chunk.js → content-type-builder-translation-zh-json.faedd610.chunk.js} +1 -1
- package/build/content-type-builder.855db321.chunk.js +126 -0
- package/build/email-settings-page.d1fcc7a3.chunk.js +10 -0
- package/build/en-json.1f137a90.chunk.js +1 -0
- package/build/eu-json.fceecd8b.chunk.js +1 -0
- package/build/i18n-settings-page.b8d8753e.chunk.js +60 -0
- package/build/{i18n-translation-de-json.dc876c08.chunk.js → i18n-translation-de-json.362384a6.chunk.js} +1 -1
- package/build/{i18n-translation-dk-json.49aaf933.chunk.js → i18n-translation-dk-json.89401417.chunk.js} +1 -1
- package/build/{i18n-translation-en-json.ac9ebc1b.chunk.js → i18n-translation-en-json.60af6722.chunk.js} +1 -1
- package/build/{i18n-translation-es-json.57072ed3.chunk.js → i18n-translation-es-json.87b494d1.chunk.js} +1 -1
- package/build/{i18n-translation-fr-json.84733f34.chunk.js → i18n-translation-fr-json.57ddc77e.chunk.js} +1 -1
- package/build/{i18n-translation-ko-json.fc73fe20.chunk.js → i18n-translation-ko-json.ef4f9471.chunk.js} +1 -1
- package/build/{i18n-translation-pl-json.16e5df90.chunk.js → i18n-translation-pl-json.dfac513d.chunk.js} +1 -1
- package/build/{i18n-translation-tr-json.cb39c048.chunk.js → i18n-translation-tr-json.10f0600d.chunk.js} +1 -1
- package/build/{i18n-translation-zh-Hans-json.2cf82d2d.chunk.js → i18n-translation-zh-Hans-json.757ce62d.chunk.js} +1 -1
- package/build/{i18n-translation-zh-json.ed1d272e.chunk.js → i18n-translation-zh-json.bef2dc07.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/main.7b151630.js +4377 -0
- package/build/ru-json.aa5cd123.chunk.js +1 -0
- package/build/runtime~main.a20d633b.js +2 -0
- package/build/sso-settings-page.b85ad080.chunk.js +41 -0
- package/build/upload-settings.ef64bbf9.chunk.js +84 -0
- package/build/upload.c5730dfa.chunk.js +33 -0
- package/build/users-advanced-settings-page.fce9908e.chunk.js +8 -0
- package/build/users-email-settings-page.343d0ad2.chunk.js +23 -0
- package/build/users-providers-settings-page.e5a9a3f1.chunk.js +99 -0
- package/build/users-roles-settings-page.66312f31.chunk.js +30 -0
- package/build/webhook-edit-page.73e51e64.chunk.js +75 -0
- package/build/webhook-list-page.1134f130.chunk.js +42 -0
- package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +17 -0
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +41 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +1 -3
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +0 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +5 -1
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +0 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +47 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js +0 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/index.js +35 -36
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +10 -9
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +88 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +0 -0
- package/{admin/src → ee/admin}/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +4 -2
- package/ee/admin/pages/SettingsPage/{SingleSignOn → pages/SingleSignOn}/index.js +3 -3
- package/ee/admin/pages/SettingsPage/{SingleSignOn → pages/SingleSignOn}/utils/schema.js +0 -0
- package/ee/admin/pages/SettingsPage/utils/customRoutes.js +28 -16
- package/ee/server/bootstrap.js +2 -0
- package/ee/server/migrations/audit-logs-table.js +45 -0
- package/ee/server/register.js +2 -0
- package/ee/server/routes/index.js +94 -10
- package/ee/server/services/audit-logs.js +30 -2
- package/ee/server/services/passport/sso.js +13 -1
- package/ee/server/services/passport.js +1 -4
- package/package.json +27 -32
- package/server/controllers/admin.js +19 -2
- package/server/register.js +7 -7
- package/server/services/project-settings.js +10 -6
- package/server/services/user.js +3 -1
- package/server/validation/project-settings.js +19 -10
- package/strapi-server.js +1 -1
- package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +0 -40
- package/admin/src/content-manager/components/InputJSON/Label.js +0 -35
- package/admin/src/content-manager/components/InputJSON/components.js +0 -36
- package/admin/src/content-manager/components/InputJSON/index.js +0 -223
- package/admin/src/content-manager/components/InputJSON/jsonlint.js +0 -680
- package/admin/src/core/store/createReducer.js +0 -5
- package/admin/src/core/utils/axiosInstance.js +0 -38
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +0 -85
- package/build/2235.746d3cf7.chunk.js +0 -106
- package/build/2598.01c96bd5.chunk.js +0 -159
- package/build/2743.692b1f21.chunk.js +0 -42
- package/build/4318.87affaf2.chunk.js +0 -30
- package/build/4958.1979bbf5.chunk.js +0 -276
- package/build/5052.c2eacff2.chunk.js +0 -65
- package/build/7295.4e2dfbbb.chunk.js +0 -114
- package/build/805.da20168c.chunk.js +0 -138
- package/build/8633.6f546066.chunk.js +0 -1
- package/build/874.be41e4b3.chunk.js +0 -104
- package/build/9707.a07db355.chunk.js +0 -101
- package/build/Admin-authenticatedApp.9933974c.chunk.js +0 -75
- package/build/Admin_homePage.045bb0c8.chunk.js +0 -77
- package/build/Admin_marketplace.bf3ac090.chunk.js +0 -26
- package/build/Admin_pluginsPage.d2a9a619.chunk.js +0 -6
- package/build/Admin_profilePage.5e830ceb.chunk.js +0 -15
- package/build/Admin_settingsPage.53fa00a4.chunk.js +0 -178
- package/build/admin-app.8ed108ca.chunk.js +0 -112
- package/build/admin-audit-logs.68f833bf.chunk.js +0 -1
- package/build/admin-edit-roles-page.32bfe5ea.chunk.js +0 -1
- package/build/admin-edit-users.795f155c.chunk.js +0 -10
- package/build/admin-users.cbd9bcf7.chunk.js +0 -11
- package/build/api-tokens-list-page.a55e427c.chunk.js +0 -16
- package/build/codemirror-addon-closebrackets.71aa4bbd.chunk.js +0 -2
- package/build/codemirror-addon-lint-js.405f70fb.chunk.js +0 -1
- package/build/codemirror-addon-lint.8487ad3d.chunk.js +0 -1
- package/build/codemirror-addon-mark-selection.1928c849.chunk.js +0 -1
- package/build/codemirror-css.359a2a4b.chunk.js +0 -345
- package/build/codemirror-javacript.af237b68.chunk.js +0 -1
- package/build/codemirror-theme.2fe63a16.chunk.js +0 -33
- package/build/content-manager.ad929a94.chunk.js +0 -1174
- package/build/content-type-builder-list-view.3048854d.chunk.js +0 -198
- package/build/content-type-builder-translation-en-json.08e28f4e.chunk.js +0 -1
- package/build/content-type-builder.4edd1c22.chunk.js +0 -127
- package/build/email-settings-page.7c9e6c5e.chunk.js +0 -15
- package/build/en-json.d65a13ef.chunk.js +0 -1
- package/build/i18n-settings-page.fbccdf12.chunk.js +0 -1
- package/build/main.6bbf9950.js +0 -4417
- package/build/ru-json.3b411a39.chunk.js +0 -1
- package/build/runtime~main.c2bf62af.js +0 -2
- package/build/sso-settings-page.4031de9e.chunk.js +0 -41
- package/build/upload-settings.657790fd.chunk.js +0 -89
- package/build/upload.608a9856.chunk.js +0 -38
- package/build/users-advanced-settings-page.e3ab865f.chunk.js +0 -13
- package/build/users-email-settings-page.57adf9b7.chunk.js +0 -28
- package/build/users-providers-settings-page.7d1fb45c.chunk.js +0 -1
- package/build/users-roles-settings-page.ad28ab42.chunk.js +0 -30
- package/build/webhook-edit-page.1dd6d040.chunk.js +0 -75
- package/build/webhook-list-page.98afa3ea.chunk.js +0 -42
- package/ee/server/routes/features-routes.js +0 -66
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3650],{84837:function($,L,t){t.r(L),t.d(L,{default:function(){return xt}});var e=t(32735),E=t(5141),o=t(5636),C=t(99357),n=t(88425),B=t(27649),F=t(83292),R=t(33348),D=t(96709),V=t(99223),N=t(17e3),G=t(72850),H=t(9026),c=t(44426),A=t(3685),h=t(50563),v=t(49372),x=t(5803),Z=t(87933),J=t(68625),Y=t(45112),ae=t(62864),k=t(85370),ze=t(86588),We=t(61405),Ke=t(96852),Qe=t(35468),je=t(65790),$e=t(25005),Ve=t(89581),He=t(60216),p=t.n(He);const oe=({pagination:s})=>e.createElement(G.x,{paddingTop:6},e.createElement(Z.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.PageSizeURLQuery,null),e.createElement(n.PaginationURLQuery,{pagination:s})));oe.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},oe.propTypes={pagination:p().shape({page:p().number,pageCount:p().number,pageSize:p().number,total:p().number})};var se=t(27677),y=t(68781),Ne=t(20069),Q=t(41415),Ge=t(4038),Je=t(81094);const ve=({selected:s,onSuccess:r})=>{const{formatMessage:i}=(0,o.useIntl)(),[d,u]=(0,e.useState)(!1),{isLoading:g,remove:O}=(0,Je.K)(),M=async()=>{await O(s),r()};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"danger-light",size:"S",startIcon:e.createElement(Ge.default,null),onClick:()=>u(!0)},i({id:"global.delete",defaultMessage:"Delete"})),e.createElement(n.ConfirmDialog,{isConfirmButtonLoading:g,isOpen:d,onToggleDialog:()=>u(!1),onConfirm:M}))};ve.propTypes={selected:p().arrayOf(y.pw,y.nx).isRequired,onSuccess:p().func.isRequired};var Xe=t(78150),Ye=t(83281),ke=t(86834),we=t.n(ke),qe=t(15335),_e=t(97405),pe=t(85025),he=t(31600),et=t(55225),tt=t(11406),nt=t(76437),ye=t(84968),X=t(74951),m=t(15503);const at=()=>{const s=(0,n.useNotification)(),r=(0,ye.useQueryClient)(),i=(0,m.IF)("actions/bulk-move"),{post:d}=(0,n.useFetchClient)(),u=({destinationFolderId:M,filesAndFolders:f})=>{const T=f.reduce((P,l)=>{const{id:z,type:I}=l,j=I==="asset"?"fileIds":"folderIds";return P[j]||(P[j]=[]),P[j].push(z),P},{});return d(i,{...T,destinationFolderId:M})},g=(0,ye.useMutation)(u,{onSuccess(M){const{data:{data:f}}=M;f?.files?.length>0&&(r.refetchQueries([X.Z,"assets"],{active:!0}),r.refetchQueries([X.Z,"asset-count"],{active:!0})),r.refetchQueries([X.Z,"folders"],{active:!0}),s({type:"success",message:{id:(0,m.OB)("modal.move.success-label"),defaultMessage:"Elements have been moved successfully."}})}});return{...g,move:(M,f)=>g.mutateAsync({destinationFolderId:M,filesAndFolders:f})}};var ot=t(21375),st=t(72236);const le=({onClose:s,selected:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)(),{data:u,isLoading:g}=(0,st.v)(),{move:O}=at();if(!u)return null;const M=async(P,{setErrors:l})=>{try{await O(P.destination.value,r),s()}catch(z){const I=(0,n.getAPIInnerErrors)(z,{getTrad:m.OB}),j=Object.entries(I).reduce((q,[W,S])=>(q[W||"destination"]=S.defaultMessage,q),{});we()(j)||l(j)}},f=()=>{s()};if(g)return e.createElement(pe.P,{onClose:f,labelledBy:"title"},e.createElement(he.f,null,e.createElement(Z.k,{justifyContent:"center",paddingTop:4,paddingBottom:4},e.createElement(_e.a,null,d({id:(0,m.OB)("content.isLoading"),defaultMessage:"Content is loading."})))));const T={destination:{value:i?.id||"",label:i?.name||u[0].label}};return e.createElement(pe.P,{onClose:f,labelledBy:"title"},e.createElement(Ye.Formik,{validateOnChange:!1,onSubmit:M,initialValues:T},({values:P,errors:l,setFieldValue:z})=>e.createElement(n.Form,{noValidate:!0},e.createElement(et.x,null,e.createElement(v.Z,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},d({id:(0,m.OB)("modal.folder.move.title"),defaultMessage:"Move elements to"}))),e.createElement(he.f,null,e.createElement(qe.r,{gap:4},e.createElement(x.P,{xs:12,col:12},e.createElement(se.K,{spacing:1},e.createElement(nt.Q,{htmlFor:"folder-destination"},d({id:(0,m.OB)("form.input.label.folder-location"),defaultMessage:"Location"})),e.createElement(ot.Z,{options:u,onChange:I=>{z("destination",I)},defaultValue:P.destination,name:"destination",menuPortalTarget:document.querySelector("body"),inputId:"folder-destination",error:l?.destination,ariaErrorMessage:"destination-error"}),l.destination&&e.createElement(v.Z,{variant:"pi",as:"p",id:"folder-destination-error",textColor:"danger600"},l.destination))))),e.createElement(tt.m,{startActions:e.createElement(Q.z,{onClick:f,variant:"tertiary",name:"cancel"},d({id:"cancel",defaultMessage:"Cancel"})),endActions:e.createElement(Q.z,{type:"submit",loading:g},d({id:"modal.folder.move.submit",defaultMessage:"Move"}))}))))};le.defaultProps={currentFolder:void 0},le.propTypes={onClose:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.nx,y.pw).isRequired};const re=({selected:s,onSuccess:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)(),[u,g]=(0,e.useState)(!1),O=()=>{g(!1),r()};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"secondary",size:"S",startIcon:e.createElement(Xe.Z,null),onClick:()=>g(!0)},d({id:"global.move",defaultMessage:"Move"})),u&&e.createElement(le,{currentFolder:i,onClose:O,selected:s}))};re.defaultProps={currentFolder:void 0},re.propTypes={onSuccess:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.pw,y.nx).isRequired};const ie=({selected:s,onSuccess:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)();return e.createElement(se.K,{horizontal:!0,spacing:2,paddingBottom:5},e.createElement(v.Z,{variant:"epsilon",textColor:"neutral600"},d({id:(0,Ne.Z)("list.assets.selected"),defaultMessage:"{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected"},{numberFolders:s.filter(({type:u})=>u==="folder").length,numberAssets:s.filter(({type:u})=>u==="asset").length})),e.createElement(ve,{selected:s,onSuccess:r}),e.createElement(re,{currentFolder:i,selected:s,onSuccess:r}))};ie.defaultProps={currentFolder:void 0},ie.propTypes={onSuccess:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.pw,y.nx).isRequired};var lt=t(72295),de=t(19406),rt=t(1920);const it=({isFiltering:s,canCreate:r,canRead:i})=>s?{id:"list.assets-empty.title-withSearch",defaultMessage:"There are no elements with the applied filters"}:i?r?{id:"list.assets.empty-upload",defaultMessage:"Upload your first assets..."}:{id:"list.assets.empty",defaultMessage:"Media Library is empty"}:{id:"header.actions.no-permissions",defaultMessage:"No permissions to view"},Me=({canCreate:s,isFiltering:r,canRead:i,onActionClick:d})=>{const{formatMessage:u}=(0,o.useIntl)(),g=it({isFiltering:r,canCreate:s,canRead:i});return e.createElement(rt.i,{icon:i?null:lt.default,action:s&&!r&&e.createElement(Q.z,{variant:"secondary",startIcon:e.createElement(de.default,null),onClick:d},u({id:(0,m.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})),content:u({...g,id:(0,m.OB)(g.id)})})};Me.propTypes={canCreate:p().bool.isRequired,canRead:p().bool.isRequired,isFiltering:p().bool.isRequired,onActionClick:p().func.isRequired};var w=t(47359),dt=t(5644),ct=t(79996),ut=t(90768),Ce=t(90142);const mt=()=>{const s=(0,e.useRef)(null),[r,i]=(0,e.useState)(!1),{formatMessage:d}=(0,o.useIntl)(),{trackUsage:u}=(0,n.useTracking)(),[{query:g},O]=(0,n.useQueryParams)(),M=g?.filters?.$and||[],f=()=>i(l=>!l),T=l=>{O({filters:{$and:l},page:1})},P=l=>{u("didFilterMediaLibraryElements",{location:"content-manager",filter:Object.keys(l[l.length-1])[0]}),O({filters:{$and:l},page:1})};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"tertiary",ref:s,startIcon:e.createElement(dt.Z,null),onClick:f,size:"S"},d({id:"app.utils.filters",defaultMessage:"Filters"})),r&&e.createElement(ut.Z,{displayedFilters:Ce.Z,filters:M,onSubmit:P,onToggle:f,source:s}),e.createElement(ct.Z,{appliedFilters:M,filtersSchema:Ce.Z,onRemoveFilter:T}))};var gt=t(28356),ft=t(50428),Et=t(29439),vt=t(32353);const ce=({breadcrumbs:s,canCreate:r,folder:i,onToggleEditFolderDialog:d,onToggleUploadAssetDialog:u})=>{const{formatMessage:g}=(0,o.useIntl)(),{pathname:O}=(0,E.useLocation)(),[{query:M}]=(0,n.useQueryParams)(),f={...M,folder:i?.parent?.id??void 0};return e.createElement(gt.T,{title:g({id:(0,m.OB)("plugin.name"),defaultMessage:"Media Library"}),subtitle:s&&i&&e.createElement(vt.O,{as:"nav",label:g({id:(0,m.OB)("header.breadcrumbs.nav.label"),defaultMessage:"Folders navigation"}),breadcrumbs:s,currentFolderId:i?.id}),navigationAction:i&&e.createElement(ft.r,{startIcon:e.createElement(Et.Z,null),to:`${O}?${(0,R.stringify)(f,{encode:!1})}`},g({id:(0,m.OB)("header.actions.folder-level-up"),defaultMessage:"Back"})),primaryAction:r&&e.createElement(se.K,{horizontal:!0,spacing:2},e.createElement(Q.z,{startIcon:e.createElement(de.default,null),variant:"secondary",onClick:d},g({id:(0,m.OB)("header.actions.add-folder"),defaultMessage:"Add new folder"})),e.createElement(Q.z,{startIcon:e.createElement(de.default,null),onClick:u},g({id:(0,m.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})))})};ce.defaultProps={breadcrumbs:!1,folder:null},ce.propTypes={breadcrumbs:p().oneOfType([y.Fv,p().bool]),canCreate:p().bool.isRequired,folder:y.nx,onToggleEditFolderDialog:p().func.isRequired,onToggleUploadAssetDialog:p().func.isRequired};var pt=t(37293),ht=t(77935),yt=t(46891),Mt=t(36156),Ct=t(93826);const Lt=(0,F.default)(G.x)`
|
|
2
|
+
height: ${32/16}rem;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
`,Le=(0,F.default)(v.Z)`
|
|
6
|
+
max-width: 100%;
|
|
7
|
+
`,Ae=(0,F.default)(G.x)`
|
|
8
|
+
svg {
|
|
9
|
+
path {
|
|
10
|
+
fill: ${({theme:s})=>s.colors.neutral500};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
`,At=()=>{const{push:s}=(0,E.useHistory)(),{canRead:r,canCreate:i,canUpdate:d,canCopyLink:u,canDownload:g,isLoading:O}=(0,yt.y)(),M=(0,e.useRef)(),{formatMessage:f}=(0,o.useIntl)(),{pathname:T}=(0,E.useLocation)(),{trackUsage:P}=(0,n.useTracking)(),[{query:l},z]=(0,n.useQueryParams)(),I=Boolean(l._q||l.filters),[j,q]=(0,n.usePersistentState)(y.uf.view,y.Uk.GRID),W=j===y.Uk.GRID,{data:S,isLoading:Ot,errors:Ft}=(0,pt.L)({skipWhen:!r,query:l}),{data:Dt,isLoading:Pt,errors:Tt}=(0,ht.j)({enabled:r&&S?.pagination?.page===1&&!(0,m.rV)(l),query:l}),{data:ue,isLoading:Be,error:St}=(0,Mt.W)(l?.folder,{enabled:r&&!!l?.folder});St?.response?.status===404&&s(T);const _=Dt?.map(a=>({...a,type:"folder",folderURL:(0,m.Km)(T,l,a.id),isSelectable:d}))??[],b=_?.length||0,ee=S?.results?.map(a=>({...a,type:"asset",isSelectable:d}))||[],U=ee?.length??0,It=S?.pagination?.total,Re=Be||Pt||O||Ot,[bt,Ut]=(0,e.useState)(!1),[Zt,xe]=(0,e.useState)(!1),[Oe,me]=(0,e.useState)(void 0),[ge,Fe]=(0,e.useState)(void 0),[K,{selectOne:te,selectAll:De}]=(0,n.useSelectionState)(["type","id"],[]),Pe=K?.length>0&&K?.length!==U+b,fe=()=>Ut(a=>!a),Te=({created:a=!1}={})=>{a&&l?.page!=="1"&&z({...l,page:1}),xe(ne=>!ne)},Se=(a,ne)=>{a.target.checked&&P("didSelectAllMediaLibraryElements"),De(ne)},Ie=a=>{P("didSortMediaLibraryElements",{location:"upload",sort:a}),z({sort:a})},be=a=>{Fe(a),xe(!0)},zt=a=>{Fe(null),Te(a),M.current&&M.current.focus()},Ue=a=>{a===U&&S.pagination.page===S.pagination.pageCount&&S.pagination.page>1&&z({...l,page:S.pagination.page-1})},Wt=()=>{De(),Ue(K.length)};return(0,n.useFocusWhenNavigate)(),e.createElement(D.A,null,e.createElement(B.o,{"aria-busy":Re},e.createElement(ce,{breadcrumbs:!Be&&(0,m.M4)(ue,{pathname:T,query:l}),canCreate:i,onToggleEditFolderDialog:Te,onToggleUploadAssetDialog:fe,folder:ue}),e.createElement(V.Z,{startActions:e.createElement(e.Fragment,null,d&&W&&(U>0||b>0)&&e.createElement(Lt,{paddingLeft:2,paddingRight:2,background:"neutral0",hasRadius:!0,borderColor:"neutral200"},e.createElement(c.C,{"aria-label":f({id:(0,m.OB)("bulk.select.label"),defaultMessage:"Select all folders & assets"}),indeterminate:Pe,value:(U>0||b>0)&&K.length===U+b,onChange:a=>Se(a,[...ee,..._])})),r&&W&&e.createElement(Ve.Z,{onChangeSort:Ie}),r&&e.createElement(mt,null)),endActions:e.createElement(e.Fragment,null,e.createElement(n.CheckPermissions,{permissions:Ct.Z.configureView},e.createElement(Ae,{paddingTop:1,paddingBottom:1},e.createElement(h.h,{forwardedAs:E.Link,to:{pathname:`${T}/configuration`,search:(0,R.stringify)(l,{encode:!1})},icon:e.createElement(Y.Z,null),label:f({id:"app.links.configure-view",defaultMessage:"Configure the view"})}))),e.createElement(Ae,{paddingTop:1,paddingBottom:1},e.createElement(h.h,{icon:W?e.createElement(k.Z,null):e.createElement(ae.Z,null),label:f(W?{id:"view-switch.list",defaultMessage:"List View"}:{id:"view-switch.grid",defaultMessage:"Grid View"}),onClick:()=>q(W?y.Uk.LIST:y.Uk.GRID)})),e.createElement(n.SearchURLQuery,{label:f({id:(0,m.OB)("search.label"),defaultMessage:"Search for an asset"}),trackedEvent:"didSearchMediaLibraryElements",trackedEventDetails:{location:"upload"}}))}),e.createElement(N.D,null,K.length>0&&e.createElement(ie,{currentFolder:ue,selected:K,onSuccess:Wt}),Re&&e.createElement(n.LoadingIndicatorPage,null),(Ft||Tt)&&e.createElement(n.AnErrorOccurred,null),b===0&&U===0&&e.createElement(Me,{canCreate:i,canRead:r,isFiltering:I,onActionClick:fe}),r&&!W&&(U>0||b>0)&&e.createElement($e.b,{assetCount:U,folderCount:b,indeterminate:Pe,onChangeSort:Ie,onChangeFolder:a=>s((0,m.Km)(T,l,a)),onEditAsset:me,onEditFolder:be,onSelectOne:te,onSelectAll:Se,rows:[..._,...ee],selected:K,shouldDisableBulkSelect:!d,sortQuery:l?.sort??""}),r&&W&&e.createElement(e.Fragment,null,b>0&&e.createElement(je.a,{title:(I&&U>0||!I)&&f({id:(0,m.OB)("list.folders.title"),defaultMessage:"Folders ({count})"},{count:b})||""},_.map(a=>{const Kt=!!K.filter(({type:Ee})=>Ee==="folder").find(Ee=>Ee.id===a.id),Ze=(0,m.Km)(T,l,a?.id);return e.createElement(x.P,{col:3,key:`folder-${a.id}`},e.createElement(w.Ac,{ref:ge&&a.id===ge.id?M:void 0,ariaLabel:a.name,id:`folder-${a.id}`,to:Ze,startAction:te&&a.isSelectable?e.createElement(w.MM,{"data-testid":`folder-checkbox-${a.id}`,value:Kt,onChange:()=>te(a)}):null,cardActions:e.createElement(h.h,{icon:e.createElement(J.Z,null),"aria-label":f({id:(0,m.OB)("list.folder.edit"),defaultMessage:"Edit folder"}),onClick:()=>be(a)})},e.createElement(w.Bu,null,e.createElement(w.u6,{to:Ze},e.createElement(Z.k,{as:"h2",direction:"column",alignItems:"start",maxWidth:"100%"},e.createElement(Le,{fontWeight:"semiBold",ellipsis:!0},a.name,e.createElement(A.T,null,":")),e.createElement(Le,{as:"span",textColor:"neutral600",variant:"pi",ellipsis:!0},f({id:(0,m.OB)("list.folder.subtitle"),defaultMessage:"{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}"},{folderCount:a.children.count,filesCount:a.files.count})))))))})),U>0&&b>0&&e.createElement(G.x,{paddingTop:6,paddingBottom:4},e.createElement(H.i,null)),U>0&&e.createElement(Qe.r,{assets:ee,onEditAsset:me,onSelectAsset:te,selectedAssets:K.filter(({type:a})=>a==="asset"),title:(!I||I&&b>0)&&S?.pagination?.page===1&&f({id:(0,m.OB)("list.assets.title"),defaultMessage:"Assets ({count})"},{count:It})||""})),S?.pagination&&e.createElement(oe,{pagination:S.pagination}))),bt&&e.createElement(ze.x,{onClose:fe,trackedLocation:"upload",folderId:l?.folder}),Zt&&e.createElement(We.f,{onClose:zt,folder:ge,parentFolderId:l?.folder,location:"upload"}),Oe&&e.createElement(Ke.s,{onClose:a=>{a===null&&Ue(1),me(void 0)},asset:Oe,canUpdate:d,canCopyLink:u,canDownload:g,trackedLocation:"upload"}))};var Bt=t(68715);const Rt=(0,e.lazy)(()=>t.e(9514).then(t.bind(t,1372)));var xt=()=>{const{config:{isLoading:s,isError:r,data:i}}=(0,Bt.Z)(),[{rawQuery:d},u]=(0,n.useQueryParams)(),{formatMessage:g}=(0,o.useIntl)(),O=g({id:(0,m.OB)("plugin.name"),defaultMessage:"Media Library"});return(0,e.useEffect)(()=>{s||r||d||u({sort:i.sort,page:1,pageSize:i.pageSize})},[s,r,i,d,u]),(0,n.useFocusWhenNavigate)(),e.createElement(B.o,{"aria-busy":s},e.createElement(C.Helmet,{title:O}),s&&e.createElement(n.LoadingIndicatorPage,null),d?e.createElement(e.Suspense,{fallback:e.createElement(n.LoadingIndicatorPage,null)},e.createElement(E.Switch,null,e.createElement(E.Route,{exact:!0,path:`/plugins/${X.Z}`,component:At}),e.createElement(E.Route,{exact:!0,path:`/plugins/${X.Z}/configuration`,render:()=>e.createElement(Rt,{config:i})}))):null)}},99223:function($,L,t){t.d(L,{Z:function(){return R}});var e=t(32735),E=t(60216),o=t(83292),C=t(72850),n=t(87933);const B=(0,o.default)(n.k)`
|
|
14
|
+
& > * + * {
|
|
15
|
+
margin-left: ${({theme:D})=>D.spaces[2]};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
margin-left: ${({pullRight:D})=>D?"auto":void 0};
|
|
19
|
+
`,F=(0,o.default)(B)`
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
`,R=({startActions:D,endActions:V})=>D||V?e.createElement(C.x,{paddingLeft:10,paddingRight:10},e.createElement(C.x,{paddingBottom:4},e.createElement(n.k,{justifyContent:"space-between",alignItems:"flex-start"},D&&e.createElement(B,{wrap:"wrap"},D),V&&e.createElement(F,{pullRight:!0},V)))):null;R.defaultProps={endActions:void 0,startActions:void 0},R.propTypes={endActions:E.node,startActions:E.node}},17e3:function($,L,t){t.d(L,{D:function(){return C}});var e=t(32735),E=t(60216),o=t(72850);const C=({children:n})=>e.createElement(o.x,{paddingLeft:10,paddingRight:10},n);C.propTypes={children:E.node.isRequired}},28356:function($,L,t){t.d(L,{T:function(){return N}});var e=t(32735),E=t(83292),o=t(60216),C=t(49372),n=t(72850),B=t(87933);const F=c=>{const A=(0,e.useRef)(null),[h,v]=(0,e.useState)(!0),x=([Z])=>{v(Z.isIntersecting)};return(0,e.useEffect)(()=>{const Z=A.current,J=new IntersectionObserver(x,c);return Z&&J.observe(A.current),()=>{Z&&J.disconnect()}},[A,c]),[A,h]};var R=t(81002);const D=(c,A)=>{const h=(0,R.useCallbackRef)(A);(0,e.useLayoutEffect)(()=>{const v=new ResizeObserver(h);return Array.isArray(c)?c.forEach(x=>{x.current&&v.observe(x.current)}):c.current&&v.observe(c.current),()=>{v.disconnect()}},[c,h])},V=()=>{const c=(0,e.useRef)(null),[A,h]=(0,e.useState)(null),[v,x]=F({root:null,rootMargin:"0px",threshold:0});return D(v,()=>{v.current&&h(v.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{c.current&&h(c.current.getBoundingClientRect())},[c]),{containerRef:v,isVisible:x,baseHeaderLayoutRef:c,headerSize:A}},N=c=>{const{containerRef:A,isVisible:h,baseHeaderLayoutRef:v,headerSize:x}=V();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:x?.height},ref:A},h&&e.createElement(H,{ref:v,...c})),!h&&e.createElement(H,{...c,sticky:!0,width:x?.width}))};N.displayName="HeaderLayout";const G=(0,E.default)(n.x)`
|
|
22
|
+
width: ${c=>c.width}px;
|
|
23
|
+
`,H=e.forwardRef(({navigationAction:c,primaryAction:A,secondaryAction:h,subtitle:v,title:x,sticky:Z,width:J,...Y},ae)=>{const k=typeof v=="string";return Z?e.createElement(G,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:J,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(B.k,{justifyContent:"space-between"},e.createElement(B.k,null,c&&e.createElement(n.x,{paddingRight:3},c),e.createElement(n.x,null,e.createElement(C.Z,{variant:"beta",as:"h1",...Y},x),k?e.createElement(C.Z,{variant:"pi",textColor:"neutral600"},v):v),h?e.createElement(n.x,{paddingLeft:4},h):null),e.createElement(B.k,null,A?e.createElement(n.x,{paddingLeft:2},A):void 0))):e.createElement(n.x,{ref:ae,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:c?6:8,background:"neutral100","data-strapi-header":!0},c?e.createElement(n.x,{paddingBottom:2},c):null,e.createElement(B.k,{justifyContent:"space-between"},e.createElement(B.k,null,e.createElement(C.Z,{as:"h1",variant:"alpha",...Y},x),h?e.createElement(n.x,{paddingLeft:4},h):null),A),k?e.createElement(C.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},v):v)});H.displayName="BaseHeaderLayout",H.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},H.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,sticky:o.bool,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired,width:o.number},N.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},N.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired}},96709:function($,L,t){t.d(L,{A:function(){return F}});var e=t(32735),E=t(60216),o=t(83292),C=t(72850);const n=(0,o.default)(C.x)`
|
|
24
|
+
display: grid;
|
|
25
|
+
grid-template-columns: ${({hasSideNav:R})=>R?"auto 1fr":"1fr"};
|
|
26
|
+
`,B=(0,o.default)(C.x)`
|
|
27
|
+
overflow-x: hidden;
|
|
28
|
+
`,F=({sideNav:R,children:D})=>e.createElement(n,{hasSideNav:Boolean(R)},R,e.createElement(B,{paddingBottom:10},D));F.defaultProps={sideNav:void 0},F.propTypes={children:E.node.isRequired,sideNav:E.node}},27649:function($,L,t){t.d(L,{o:function(){return n}});var e=t(32735),E=t(60216),o=t(83292);const C=o.default.main`
|
|
29
|
+
// To prevent global outline on focus visible to force an outline when Main is focused
|
|
30
|
+
&:focus-visible {
|
|
31
|
+
outline: none;
|
|
32
|
+
}
|
|
33
|
+
`,n=({labelledBy:B,...F})=>{const R=B||"main-content-title";return e.createElement(C,{"aria-labelledby":R,id:"main-content",tabIndex:-1,...F})};n.defaultProps={labelledBy:void 0},n.propTypes={labelledBy:E.string}},29439:function($,L,t){t.d(L,{Z:function(){return E}});var e=t(74512);function E(o){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:(0,e.jsx)("path",{d:"M24 13.3a.2.2 0 01-.2.2H5.74l8.239 8.239a.2.2 0 010 .282L12.14 23.86a.2.2 0 01-.282 0L.14 12.14a.2.2 0 010-.282L11.86.14a.2.2 0 01.282 0L13.98 1.98a.2.2 0 010 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6z",fill:"#212134"})})}},45112:function($,L,t){t.d(L,{Z:function(){return E}});var e=t(74512);function E(o){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:(0,e.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.68 9.192c-.6.276-2.114 1.18-2.306 1.303a.792.792 0 00-.374.68v1.65a.797.797 0 00.384.687c.254.16 1.73 1.042 2.306 1.303l.744 1.8c-.24.634-.67 2.333-.72 2.554a.797.797 0 00.216.744l1.167 1.166a.801.801 0 00.744.216l.03-.008c.36-.092 1.946-.498 2.523-.712l1.8.744c.276.6 1.181 2.115 1.304 2.307a.805.805 0 00.679.374h1.649a.797.797 0 00.686-.384c.16-.254 1.042-1.73 1.303-2.306l1.8-.744c.634.24 2.333.67 2.554.72a.797.797 0 00.744-.216l1.166-1.167a.803.803 0 00.216-.744l-.008-.03c-.092-.36-.498-1.946-.712-2.523l.744-1.8c.6-.276 2.115-1.181 2.307-1.304a.804.804 0 00.374-.679v-1.649a.796.796 0 00-.382-.679c-.254-.16-1.73-1.041-2.306-1.303l-.744-1.8c.24-.634.67-2.333.72-2.554a.796.796 0 00-.216-.744l-1.166-1.173a.802.802 0 00-.744-.216l-.03.008c-.361.092-1.947.498-2.524.712l-1.8-.744c-.276-.6-1.18-2.115-1.303-2.307a.803.803 0 00-.68-.374h-1.65a.797.797 0 00-.68.382c-.16.254-1.041 1.73-1.303 2.306l-1.8.744c-.634-.24-2.333-.67-2.554-.72a.797.797 0 00-.744.216L2.921 4.094a.802.802 0 00-.216.744l.008.03c.092.361.498 1.947.712 2.524l-.744 1.8zM12 17a5 5 0 100-10 5 5 0 000 10z",fill:"#212134"})})}}}]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(T,v,t){t.r(v),t.d(v,{default:function(){return G}});var e=t(32735),E=t(84968),o=t(5636),c=t(83281),n=t(88425),g=t(94638),b=t(27649),p=t(28356),O=t(17e3),R=t(41415),y=t(72850),S=t(27677),f=t(70218),a=t(84967),l=t(49372),r=t(15335),s=t(5803),d=t(66456),h=t(88369),i=t(59677),P=[{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email"),defaultMessage:"Disallow the user to create multiple accounts using the same email address with different authentication providers."},name:"unique_email",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,i.OB)("EditForm.inputToggle.description.sign-up"),defaultMessage:"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."},name:"allow_register",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,i.OB)("EditForm.inputToggle.placeholder.email-reset-password"),defaultMessage:"ex: https://youtfrontend.com/reset-password"},name:"email_reset_password",type:"text",size:{col:6,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation"),defaultMessage:"When enabled (ON), new registered users receive a confirmation email."},name:"email_confirmation",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,i.OB)("EditForm.inputToggle.placeholder.email-confirmation-redirection"),defaultMessage:"ex: https://youtfrontend.com/email-confirmation"},name:"email_confirmation_redirection",type:"text",size:{col:6,xs:12}}],B=t(5173);const F=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var Z=B.Ry().shape({email_confirmation_redirection:B.nK().when("email_confirmation",{is:!0,then:B.Z_().matches(F).required(),otherwise:B.Z_().nullable()}),email_reset_password:B.Z_(n.translatedErrors.string).matches(F,n.translatedErrors.regex).nullable()});const N=async()=>{const{get:u}=(0,n.getFetchClient)(),{data:A}=await u((0,i.Gc)("advanced"));return A},U=u=>{const{put:A}=(0,n.getFetchClient)();return A((0,i.Gc)("advanced"),u)},W=()=>e.createElement(n.CheckPagePermissions,{permissions:h.Z.readAdvancedSettings},e.createElement(H,null)),H=()=>{const{formatMessage:u}=(0,o.useIntl)(),A=(0,n.useNotification)(),{lockApp:K,unlockApp:D}=(0,n.useOverlayBlocker)(),{notifyStatus:j}=(0,g.G)(),$=(0,E.useQueryClient)();(0,n.useFocusWhenNavigate)();const Q=(0,e.useMemo)(()=>({update:h.Z.updateAdvancedSettings}),[]),{isLoading:V,allowedActions:{canUpdate:k}}=(0,n.useRBAC)(Q),{status:X,data:I}=(0,E.useQuery)("advanced",()=>N(),{onSuccess(){j(u({id:(0,i.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}})}}),Y=V||X!=="success",w=(0,E.useMutation)(M=>U(M),{async onSuccess(){await $.invalidateQueries("advanced"),A({type:"success",message:{id:(0,i.OB)("notification.success.saved"),defaultMessage:"Saved"}}),D()},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}}),D()},refetchActive:!0}),{isLoading:J}=w,q=async M=>{K();const L=M.email_confirmation?M.email_confirmation_redirection:"";await w.mutateAsync({...M,email_confirmation_redirection:L})};return Y?e.createElement(b.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(O.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(b.o,{"aria-busy":J},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(c.Formik,{onSubmit:q,initialValues:I.settings,validateOnChange:!1,validationSchema:Z,enableReinitialize:!0},({errors:M,values:L,handleChange:z,isSubmitting:_})=>e.createElement(n.Form,null,e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:e.createElement(R.z,{loading:_,type:"submit",disabled:!k,startIcon:e.createElement(d.Z,null),size:"S"},u({id:"global.save",defaultMessage:"Save"}))}),e.createElement(O.D,null,e.createElement(y.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(S.K,{spacing:4},e.createElement(l.Z,{variant:"delta",as:"h2"},u({id:"global.settings",defaultMessage:"Settings"})),e.createElement(r.r,{gap:6},e.createElement(s.P,{col:6,s:12},e.createElement(f.P,{label:u({id:(0,i.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:L.default_role,hint:u({id:(0,i.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:m=>z({target:{name:"default_role",value:m}})},I.roles.map(m=>e.createElement(a.W,{key:m.type,value:m.type},m.name)))),P.map(m=>{let C=L[m.name];return C||(C=m.type==="bool"?!1:""),e.createElement(s.P,{key:m.name,...m.size},e.createElement(n.GenericInput,{...m,value:C,error:M[m.name],disabled:m.name==="email_confirmation_redirection"&&L.email_confirmation===!1,onChange:z}))}))))))))};var G=W},59677:function(T,v,t){t.d(v,{YX:function(){return o},Gc:function(){return g},OB:function(){return b.Z}});var e=t(92891),o=p=>Object.keys(p).reduce((O,R)=>{const y=p[R].controllers,S=Object.keys(y).reduce((f,a)=>((0,e.isEmpty)(y[a])||(f[a]=y[a]),f),{});return(0,e.isEmpty)(S)||(O[R]={controllers:S}),O},{}),c=t(90201),g=p=>`/${c.Z}/${p}`,b=t(82069)},17e3:function(T,v,t){t.d(v,{D:function(){return c}});var e=t(32735),E=t(60216),o=t(72850);const c=({children:n})=>e.createElement(o.x,{paddingLeft:10,paddingRight:10},n);c.propTypes={children:E.node.isRequired}},28356:function(T,v,t){t.d(v,{T:function(){return y}});var e=t(32735),E=t(83292),o=t(60216),c=t(49372),n=t(72850),g=t(87933);const b=a=>{const l=(0,e.useRef)(null),[r,s]=(0,e.useState)(!0),d=([h])=>{s(h.isIntersecting)};return(0,e.useEffect)(()=>{const h=l.current,i=new IntersectionObserver(d,a);return h&&i.observe(l.current),()=>{h&&i.disconnect()}},[l,a]),[l,r]};var p=t(81002);const O=(a,l)=>{const r=(0,p.useCallbackRef)(l);(0,e.useLayoutEffect)(()=>{const s=new ResizeObserver(r);return Array.isArray(a)?a.forEach(d=>{d.current&&s.observe(d.current)}):a.current&&s.observe(a.current),()=>{s.disconnect()}},[a,r])},R=()=>{const a=(0,e.useRef)(null),[l,r]=(0,e.useState)(null),[s,d]=b({root:null,rootMargin:"0px",threshold:0});return O(s,()=>{s.current&&r(s.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{a.current&&r(a.current.getBoundingClientRect())},[a]),{containerRef:s,isVisible:d,baseHeaderLayoutRef:a,headerSize:l}},y=a=>{const{containerRef:l,isVisible:r,baseHeaderLayoutRef:s,headerSize:d}=R();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:d?.height},ref:l},r&&e.createElement(f,{ref:s,...a})),!r&&e.createElement(f,{...a,sticky:!0,width:d?.width}))};y.displayName="HeaderLayout";const S=(0,E.default)(n.x)`
|
|
2
|
+
width: ${a=>a.width}px;
|
|
3
|
+
`,f=e.forwardRef(({navigationAction:a,primaryAction:l,secondaryAction:r,subtitle:s,title:d,sticky:h,width:i,...x},P)=>{const B=typeof s=="string";return h?e.createElement(S,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:i,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(g.k,{justifyContent:"space-between"},e.createElement(g.k,null,a&&e.createElement(n.x,{paddingRight:3},a),e.createElement(n.x,null,e.createElement(c.Z,{variant:"beta",as:"h1",...x},d),B?e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},s):s),r?e.createElement(n.x,{paddingLeft:4},r):null),e.createElement(g.k,null,l?e.createElement(n.x,{paddingLeft:2},l):void 0))):e.createElement(n.x,{ref:P,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0},a?e.createElement(n.x,{paddingBottom:2},a):null,e.createElement(g.k,{justifyContent:"space-between"},e.createElement(g.k,null,e.createElement(c.Z,{as:"h1",variant:"alpha",...x},d),r?e.createElement(n.x,{paddingLeft:4},r):null),l),B?e.createElement(c.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},s):s)});f.displayName="BaseHeaderLayout",f.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},f.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,sticky:o.bool,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired,width:o.number},y.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},y.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired}},27649:function(T,v,t){t.d(v,{o:function(){return n}});var e=t(32735),E=t(60216),o=t(83292);const c=o.default.main`
|
|
4
|
+
// To prevent global outline on focus visible to force an outline when Main is focused
|
|
5
|
+
&:focus-visible {
|
|
6
|
+
outline: none;
|
|
7
|
+
}
|
|
8
|
+
`,n=({labelledBy:g,...b})=>{const p=g||"main-content-title";return e.createElement(c,{"aria-labelledby":p,id:"main-content",tabIndex:-1,...b})};n.defaultProps={labelledBy:void 0},n.propTypes={labelledBy:E.string}}}]);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(D,E,t){t.r(E),t.d(E,{default:function(){return ie}});var e=t(32735),g=t(84968),s=t(5636),n=t(88425),r=t(94638),p=t(27649),O=t(28356),f=t(17e3),M=t(88369),l=t(59677);const d=async()=>{const{get:m}=(0,n.getFetchClient)(),{data:h}=await m((0,l.Gc)("email-templates"));return h},P=m=>{const{put:h}=(0,n.getFetchClient)();return h((0,l.Gc)("email-templates"),m)};var v=t(60216),a=t.n(v),u=t(94745),c=t(76330),i=t(29005),o=t(66735),R=t(3594),L=t(3685),I=t(49372),F=t(50563),U=t(99140),W=t(68625),Q=t(44647),J=t(66456);const H=({canUpdate:m,onEditClick:h})=>{const{formatMessage:y}=(0,s.useIntl)();return e.createElement(u.i,{colCount:3,rowCount:3},e.createElement(c.h,null,e.createElement(i.Tr,null,e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(o.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},y({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(R.p,null,e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("reset_password")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(Q.Z,{"aria-label":y({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("reset_password"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)}))),e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("email_confirmation")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(J.Z,{"aria-label":y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("email_confirmation"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)})))))};H.propTypes={canUpdate:a().bool.isRequired,onEditClick:a().func.isRequired};var X=H,Y=t(83281),w=t(85025),k=t(55225),q=t(31600),_=t(11406),ee=t(15335),j=t(5803),K=t(41415),Z=t(11299),te=t(10508),C=t(5173),ae=C.Ry().shape({options:C.Ry().shape({from:C.Ry().shape({name:C.Z_().required(n.translatedErrors.required),email:C.Z_().email(n.translatedErrors.email).required(n.translatedErrors.required)}).required(),response_email:C.Z_().email(n.translatedErrors.email),object:C.Z_().required(n.translatedErrors.required),message:C.Z_().required(n.translatedErrors.required)}).required(n.translatedErrors.required)});const N=({template:m,onToggle:h,onSubmit:y})=>{const{formatMessage:T}=(0,s.useIntl)();return e.createElement(w.P,{onClose:h,labelledBy:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(k.x,null,e.createElement(Z.O,{label:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(Z.$,null,T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(Z.$,null,T({id:(0,l.OB)(m.display),defaultMessage:m.display})))),e.createElement(Y.Formik,{onSubmit:y,initialValues:m,validateOnChange:!1,validationSchema:ae,enableReinitialize:!0},({errors:B,values:x,handleChange:b,isSubmitting:S})=>e.createElement(n.Form,null,e.createElement(q.f,null,e.createElement(ee.r,{gap:5},e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:b,value:x.options.from.name,error:B?.options?.from?.name,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:b,value:x.options.from.email,error:B?.options?.from?.email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:b,value:x.options.response_email,error:B?.options?.response_email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:b,value:x.options.object,error:B?.options?.object,type:"text"})),e.createElement(j.P,{col:12,s:12},e.createElement(te.g,{label:T({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:b,value:x.options.message,error:B?.options?.message&&T({id:B.options.message,defaultMessage:B.options.message})})))),e.createElement(_.m,{startActions:e.createElement(K.z,{onClick:h,variant:"tertiary"},"Cancel"),endActions:e.createElement(K.z,{loading:S,type:"submit"},"Finish")}))))};N.propTypes={template:a().shape({display:a().string,icon:a().string,options:a().shape({from:a().shape({name:a().string,email:a().string}),message:a().string,object:a().string,response_email:a().string})}).isRequired,onSubmit:a().func.isRequired,onToggle:a().func.isRequired};var ne=N;const le=()=>e.createElement(n.CheckPagePermissions,{permissions:M.Z.readEmailTemplates},e.createElement(se,null)),se=()=>{const{formatMessage:m}=(0,s.useIntl)(),{trackUsage:h}=(0,n.useTracking)(),{notifyStatus:y}=(0,r.G)(),T=(0,n.useNotification)(),{lockApp:B,unlockApp:x}=(0,n.useOverlayBlocker)(),b=(0,e.useRef)(h),S=(0,g.useQueryClient)();(0,n.useFocusWhenNavigate)();const[oe,re]=(0,e.useState)(!1),[z,de]=(0,e.useState)(null),me=(0,e.useMemo)(()=>({update:M.Z.updateEmailTemplates}),[]),{isLoading:ce,allowedActions:{canUpdate:ue}}=(0,n.useRBAC)(me),{status:pe,data:G}=(0,g.useQuery)("email-templates",()=>d(),{onSuccess(){y(m({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Ee=ce||pe!=="success",$=()=>{re(A=>!A)},ge=A=>{de(A),$()},V=(0,g.useMutation)(A=>P({"email-templates":A}),{async onSuccess(){await S.invalidateQueries("email-templates"),T({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),b.current("didEditEmailTemplates"),x(),$()},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),x()},refetchActive:!0}),{isLoading:fe}=V,ve=A=>{B(),b.current("willEditEmailTemplates");const he={...G,[z]:A};V.mutate(he)};return Ee?e.createElement(p.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(p.o,{"aria-busy":fe},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(X,{onEditClick:ge,canUpdate:ue}),oe&&e.createElement(ne,{template:G[z],onToggle:$,onSubmit:ve})))};var ie=le},59677:function(D,E,t){t.d(E,{YX:function(){return s},Gc:function(){return p},OB:function(){return O.Z}});var e=t(92891),s=f=>Object.keys(f).reduce((M,l)=>{const d=f[l].controllers,P=Object.keys(d).reduce((v,a)=>((0,e.isEmpty)(d[a])||(v[a]=d[a]),v),{});return(0,e.isEmpty)(P)||(M[l]={controllers:P}),M},{}),n=t(90201),p=f=>`/${n.Z}/${f}`,O=t(82069)},11299:function(D,E,t){t.d(E,{$:function(){return M},O:function(){return l}});var e=t(74512),g=t(83292),s=t(57269),n=t(49372),r=t(72850),p=t(87933),O=t(3685);const f=(0,g.default)(p.k)`
|
|
2
|
+
svg {
|
|
3
|
+
height: ${10/16}rem;
|
|
4
|
+
width: ${10/16}rem;
|
|
5
|
+
path {
|
|
6
|
+
fill: ${({theme:d})=>d.colors.neutral500};
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
:last-of-type ${r.x} {
|
|
10
|
+
display: none;
|
|
11
|
+
}
|
|
12
|
+
:last-of-type ${n.Z} {
|
|
13
|
+
color: ${({theme:d})=>d.colors.neutral800};
|
|
14
|
+
font-weight: ${({theme:d})=>d.fontWeights.bold};
|
|
15
|
+
}
|
|
16
|
+
`,M=({children:d})=>(0,e.jsxs)(f,{inline:!0,as:"li",children:[(0,e.jsx)(n.Z,{variant:"pi",textColor:"neutral600",children:d}),(0,e.jsx)(r.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(s.ChevronRight,{})})]});M.displayName="Crumb";const l=({children:d,label:P,...v})=>(0,e.jsxs)(p.k,{...v,children:[(0,e.jsx)(O.T,{children:P}),(0,e.jsx)("ol",{"aria-hidden":!0,children:d})]});l.displayName="Breadcrumbs"},17e3:function(D,E,t){t.d(E,{D:function(){return n}});var e=t(32735),g=t(60216),s=t(72850);const n=({children:r})=>e.createElement(s.x,{paddingLeft:10,paddingRight:10},r);n.propTypes={children:g.node.isRequired}},28356:function(D,E,t){t.d(E,{T:function(){return d}});var e=t(32735),g=t(83292),s=t(60216),n=t(49372),r=t(72850),p=t(87933);const O=a=>{const u=(0,e.useRef)(null),[c,i]=(0,e.useState)(!0),o=([R])=>{i(R.isIntersecting)};return(0,e.useEffect)(()=>{const R=u.current,L=new IntersectionObserver(o,a);return R&&L.observe(u.current),()=>{R&&L.disconnect()}},[u,a]),[u,c]};var f=t(81002);const M=(a,u)=>{const c=(0,f.useCallbackRef)(u);(0,e.useLayoutEffect)(()=>{const i=new ResizeObserver(c);return Array.isArray(a)?a.forEach(o=>{o.current&&i.observe(o.current)}):a.current&&i.observe(a.current),()=>{i.disconnect()}},[a,c])},l=()=>{const a=(0,e.useRef)(null),[u,c]=(0,e.useState)(null),[i,o]=O({root:null,rootMargin:"0px",threshold:0});return M(i,()=>{i.current&&c(i.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{a.current&&c(a.current.getBoundingClientRect())},[a]),{containerRef:i,isVisible:o,baseHeaderLayoutRef:a,headerSize:u}},d=a=>{const{containerRef:u,isVisible:c,baseHeaderLayoutRef:i,headerSize:o}=l();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:o?.height},ref:u},c&&e.createElement(v,{ref:i,...a})),!c&&e.createElement(v,{...a,sticky:!0,width:o?.width}))};d.displayName="HeaderLayout";const P=(0,g.default)(r.x)`
|
|
17
|
+
width: ${a=>a.width}px;
|
|
18
|
+
`,v=e.forwardRef(({navigationAction:a,primaryAction:u,secondaryAction:c,subtitle:i,title:o,sticky:R,width:L,...I},F)=>{const U=typeof i=="string";return R?e.createElement(P,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:L,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(p.k,{justifyContent:"space-between"},e.createElement(p.k,null,a&&e.createElement(r.x,{paddingRight:3},a),e.createElement(r.x,null,e.createElement(n.Z,{variant:"beta",as:"h1",...I},o),U?e.createElement(n.Z,{variant:"pi",textColor:"neutral600"},i):i),c?e.createElement(r.x,{paddingLeft:4},c):null),e.createElement(p.k,null,u?e.createElement(r.x,{paddingLeft:2},u):void 0))):e.createElement(r.x,{ref:F,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0},a?e.createElement(r.x,{paddingBottom:2},a):null,e.createElement(p.k,{justifyContent:"space-between"},e.createElement(p.k,null,e.createElement(n.Z,{as:"h1",variant:"alpha",...I},o),c?e.createElement(r.x,{paddingLeft:4},c):null),u),U?e.createElement(n.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},i):i)});v.displayName="BaseHeaderLayout",v.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},v.propTypes={navigationAction:s.node,primaryAction:s.node,secondaryAction:s.node,sticky:s.bool,subtitle:s.oneOfType([s.string,s.node]),title:s.string.isRequired,width:s.number},d.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},d.propTypes={navigationAction:s.node,primaryAction:s.node,secondaryAction:s.node,subtitle:s.oneOfType([s.string,s.node]),title:s.string.isRequired}},27649:function(D,E,t){t.d(E,{o:function(){return r}});var e=t(32735),g=t(60216),s=t(83292);const n=s.default.main`
|
|
19
|
+
// To prevent global outline on focus visible to force an outline when Main is focused
|
|
20
|
+
&:focus-visible {
|
|
21
|
+
outline: none;
|
|
22
|
+
}
|
|
23
|
+
`,r=({labelledBy:p,...O})=>{const f=p||"main-content-title";return e.createElement(n,{"aria-labelledby":f,id:"main-content",tabIndex:-1,...O})};r.defaultProps={labelledBy:void 0},r.propTypes={labelledBy:g.string}},44647:function(D,E,t){t.d(E,{Z:function(){return g}});var e=t(74512);function g(s){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s,children:(0,e.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.681 2.804A9.64 9.64 0 0011.818 2C6.398 2 2 6.48 2 12c0 5.521 4.397 10 9.818 10 2.03 0 4.011-.641 5.67-1.835a9.987 9.987 0 003.589-4.831 1.117 1.117 0 00-.664-1.418 1.086 1.086 0 00-1.393.676 7.769 7.769 0 01-2.792 3.758 7.546 7.546 0 01-4.41 1.428V4.222h.002a7.492 7.492 0 013.003.625 7.61 7.61 0 012.5 1.762l.464.551-2.986 3.042a.186.186 0 00.129.316H22V3.317a.188.188 0 00-.112-.172.179.179 0 00-.199.04l-2.355 2.4-.394-.468-.02-.02a9.791 9.791 0 00-3.239-2.293zm-3.863 1.418V2v2.222zm0 0v15.556c-4.216 0-7.636-3.484-7.636-7.778s3.42-7.777 7.636-7.778z",fill:"#212134"})})}}}]);
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(k,P,t){t.r(P),t.d(P,{ProvidersPage:function(){return ye},default:function(){return Ie}});var e=t(32735),c=t(5636),a=t(88425),u=t(23973),i=t.n(u),E=t(23940),M=t.n(E),f=t(96709),x=t(28356),B=t(17e3),s=t(27649),A=t(94638),h=t(94745),n=t(76330),v=t(29005),l=t(66735),d=t(3594),m=t(49372),U=t(3685),z=t(50563),H=t(68625),D=t(84968),o=t(5173),y=t(59677);const V={id:(0,y.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},g={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},j={id:(0,y.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},Z={id:(0,y.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Y={id:(0,y.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},T={id:(0,y.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},R={id:(0,y.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},w={id:(0,y.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,y.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:R,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,y.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,y.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})}};const q=async p=>{try{const{get:O}=(0,a.getFetchClient)(),{data:I}=await O((0,y.Gc)("providers"));return I}catch{throw p({type:"warning",message:{id:"notification.error"}}),new Error("error")}},_=p=>{const{put:O}=(0,a.getFetchClient)();return O((0,y.Gc)("providers"),p)};var X=t(92891),ee=p=>(0,X.sortBy)(Object.keys(p).reduce((O,I)=>{const{icon:S,enabled:C,subdomain:K}=p[I],F=S==="envelope"?["fas","envelope"]:["fab",S];return K!==void 0?O.push({name:I,icon:F,enabled:C,subdomain:K}):O.push({name:I,icon:F,enabled:C}),O},[]),"name"),ae=t(88369),se=t(41415),me=t(27677),de=t(11299),ne=t(15335),re=t(5803),Me=t(85025),xe=t(55225),Re=t(31600),Te=t(11406),Oe=t(60216),r=t.n(Oe),Le=t(83281),Ce=t(9139),Be=t(10369);const pe=({description:p,disabled:O,intlLabel:I,error:S,name:C,onChange:K,placeholder:F,providerToEditName:J,type:N,value:b})=>{const{formatMessage:W}=(0,c.useIntl)(),Q=C==="noName"?`${strapi.backendURL}/api/connect/${J}/callback`:b,te=W({id:I.id,defaultMessage:I.defaultMessage},{provider:J,...I.values}),$=p?W({id:p.id,defaultMessage:p.defaultMessage},{provider:J,...p.values}):"";if(N==="bool")return e.createElement(Ce.s,{"aria-label":C,checked:b,disabled:O,hint:$,label:te,name:C,offLabel:W({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:W({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:oe=>{K({target:{name:C,value:oe.target.checked}})}});const ge=F?W({id:F.id,defaultMessage:F.defaultMessage},{...F.values}):"",fe=S?W({id:S,defaultMessage:S}):"";return e.createElement(Be.o,{"aria-label":C,disabled:O,error:fe,label:te,name:C,onChange:K,placeholder:ge,type:N,value:Q})};pe.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},pe.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),providerToEditName:r().string.isRequired,type:r().string.isRequired,value:r().oneOfType([r().bool,r().string])};var Ae=pe;const ve=({headerBreadcrumbs:p,initialData:O,isSubmiting:I,layout:S,isOpen:C,onSubmit:K,onToggle:F,providerToEditName:J})=>{const{formatMessage:N}=(0,c.useIntl)();return C?e.createElement(Me.P,{onClose:F,labelledBy:"title"},e.createElement(xe.x,null,e.createElement(de.O,{label:p.join(", ")},p.map(b=>e.createElement(de.$,{key:b},b)))),e.createElement(Le.Formik,{onSubmit:b=>K(b),initialValues:O,validationSchema:S.schema,validateOnChange:!1},({errors:b,handleChange:W,values:Q})=>e.createElement(a.Form,null,e.createElement(Re.f,null,e.createElement(me.K,{spacing:1},e.createElement(ne.r,{gap:5},S.form.map(te=>te.map($=>e.createElement(re.P,{key:$.name,col:$.size,xs:12},e.createElement(Ae,{...$,error:b[$.name],onChange:W,value:Q[$.name],providerToEditName:J}))))))),e.createElement(Te.m,{startActions:e.createElement(se.z,{variant:"tertiary",onClick:F,type:"button"},N({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(se.z,{type:"submit",loading:I},N({id:"global.save",defaultMessage:"Save"}))})))):null};ve.defaultProps={initialData:null,providerToEditName:null},ve.propTypes={headerBreadcrumbs:r().arrayOf(r().string).isRequired,initialData:r().object,layout:r().shape({form:r().arrayOf(r().array),schema:r().object}).isRequired,isOpen:r().bool.isRequired,isSubmiting:r().bool.isRequired,onSubmit:r().func.isRequired,onToggle:r().func.isRequired,providerToEditName:r().string};var De=ve;const ye=()=>{const{formatMessage:p}=(0,c.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:O}=(0,A.G)(),I=(0,D.useQueryClient)(),{trackUsage:S}=(0,a.useTracking)(),C=(0,e.useRef)(S),[K,F]=(0,e.useState)(!1),[J,N]=(0,e.useState)(!1),[b,W]=(0,e.useState)(null),Q=(0,a.useNotification)(),{lockApp:te,unlockApp:$}=(0,a.useOverlayBlocker)(),ge=(0,e.useMemo)(()=>({update:ae.Z.updateProviders}),[]),{isLoading:fe,allowedActions:{canUpdate:oe}}=(0,a.useRBAC)(ge),{isLoading:Ue,data:ce,isFetching:je}=(0,D.useQuery)("get-providers",()=>q(Q),{onSuccess(){O(p({id:(0,y.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ze=Ue||je,Fe=(0,D.useMutation)(_,{async onSuccess(){await I.invalidateQueries("get-providers"),Q({type:"info",message:{id:(0,y.OB)("notification.success.submit")}}),C.current("didEditAuthenticationProvider"),N(!1),he(),$()},onError(){Q({type:"warning",message:{id:"notification.error"}}),$(),N(!1)},refetchActive:!1}),ue=(0,e.useMemo)(()=>ee(ce),[ce]),ze=ue.length,be=(0,e.useMemo)(()=>{if(!b)return!1;const L=ue.find(Ee=>Ee.name===b);return i()(L,"subdomain")},[ue,b]),Se=p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),We=(0,e.useMemo)(()=>b==="email"?G.email:be?G.providersWithSubdomain:G.providers,[b,be]),he=()=>{F(L=>!L)},Pe=L=>{oe&&(W(L.name),he())},$e=async L=>{N(!0),te(),C.current("willEditAuthenticationProvider");const Ee={...ce,[b]:L};Fe.mutate({providers:Ee})};return e.createElement(f.A,null,e.createElement(a.SettingsPageTitle,{name:Se}),e.createElement(s.o,null,e.createElement(x.T,{title:p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ze||fe?e.createElement(a.LoadingIndicatorPage,null):e.createElement(B.D,null,e.createElement(h.i,{colCount:3,rowCount:ze+1},e.createElement(n.h,null,e.createElement(v.Tr,null,e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:"global.name",defaultMessage:"Name"}))),e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:(0,y.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma"},e.createElement(U.T,null,p({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(d.p,null,ue.map(L=>e.createElement(v.Tr,{key:L.name,...(0,a.onRowClick)({fn:()=>Pe(L),condition:oe})},e.createElement(l.Td,{width:"45%"},e.createElement(m.Z,{fontWeight:"semiBold",textColor:"neutral800"},L.name)),e.createElement(l.Td,{width:"65%"},e.createElement(m.Z,{textColor:L.enabled?"success600":"danger600","data-testid":`enable-${L.name}`},L.enabled?p({id:"global.enabled",defaultMessage:"Enabled"}):p({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(l.Td,{...a.stopPropagation},oe&&e.createElement(z.h,{onClick:()=>Pe(L),noBorder:!0,icon:e.createElement(H.Z,null),label:"Edit"})))))))),e.createElement(De,{initialData:ce[b],isOpen:K,isSubmiting:J,layout:We,headerBreadcrumbs:[p({id:(0,y.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),M()(b)],onToggle:he,onSubmit:$e,providerToEditName:b}))};var Ie=()=>e.createElement(a.CheckPagePermissions,{permissions:ae.Z.readProviders},e.createElement(ye,null))},59677:function(k,P,t){t.d(P,{YX:function(){return a},Gc:function(){return E},OB:function(){return M.Z}});var e=t(92891),a=f=>Object.keys(f).reduce((x,B)=>{const s=f[B].controllers,A=Object.keys(s).reduce((h,n)=>((0,e.isEmpty)(s[n])||(h[n]=s[n]),h),{});return(0,e.isEmpty)(A)||(x[B]={controllers:A}),x},{}),u=t(90201),E=f=>`/${u.Z}/${f}`,M=t(82069)},11299:function(k,P,t){t.d(P,{$:function(){return x},O:function(){return B}});var e=t(74512),c=t(83292),a=t(57269),u=t(49372),i=t(72850),E=t(87933),M=t(3685);const f=(0,c.default)(E.k)`
|
|
2
|
+
svg {
|
|
3
|
+
height: ${10/16}rem;
|
|
4
|
+
width: ${10/16}rem;
|
|
5
|
+
path {
|
|
6
|
+
fill: ${({theme:s})=>s.colors.neutral500};
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
:last-of-type ${i.x} {
|
|
10
|
+
display: none;
|
|
11
|
+
}
|
|
12
|
+
:last-of-type ${u.Z} {
|
|
13
|
+
color: ${({theme:s})=>s.colors.neutral800};
|
|
14
|
+
font-weight: ${({theme:s})=>s.fontWeights.bold};
|
|
15
|
+
}
|
|
16
|
+
`,x=({children:s})=>(0,e.jsxs)(f,{inline:!0,as:"li",children:[(0,e.jsx)(u.Z,{variant:"pi",textColor:"neutral600",children:s}),(0,e.jsx)(i.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(a.ChevronRight,{})})]});x.displayName="Crumb";const B=({children:s,label:A,...h})=>(0,e.jsxs)(E.k,{...h,children:[(0,e.jsx)(M.T,{children:A}),(0,e.jsx)("ol",{"aria-hidden":!0,children:s})]});B.displayName="Breadcrumbs"},17e3:function(k,P,t){t.d(P,{D:function(){return u}});var e=t(32735),c=t(60216),a=t(72850);const u=({children:i})=>e.createElement(a.x,{paddingLeft:10,paddingRight:10},i);u.propTypes={children:c.node.isRequired}},28356:function(k,P,t){t.d(P,{T:function(){return s}});var e=t(32735),c=t(83292),a=t(60216),u=t(49372),i=t(72850),E=t(87933);const M=n=>{const v=(0,e.useRef)(null),[l,d]=(0,e.useState)(!0),m=([U])=>{d(U.isIntersecting)};return(0,e.useEffect)(()=>{const U=v.current,z=new IntersectionObserver(m,n);return U&&z.observe(v.current),()=>{U&&z.disconnect()}},[v,n]),[v,l]};var f=t(81002);const x=(n,v)=>{const l=(0,f.useCallbackRef)(v);(0,e.useLayoutEffect)(()=>{const d=new ResizeObserver(l);return Array.isArray(n)?n.forEach(m=>{m.current&&d.observe(m.current)}):n.current&&d.observe(n.current),()=>{d.disconnect()}},[n,l])},B=()=>{const n=(0,e.useRef)(null),[v,l]=(0,e.useState)(null),[d,m]=M({root:null,rootMargin:"0px",threshold:0});return x(d,()=>{d.current&&l(d.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{n.current&&l(n.current.getBoundingClientRect())},[n]),{containerRef:d,isVisible:m,baseHeaderLayoutRef:n,headerSize:v}},s=n=>{const{containerRef:v,isVisible:l,baseHeaderLayoutRef:d,headerSize:m}=B();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:m?.height},ref:v},l&&e.createElement(h,{ref:d,...n})),!l&&e.createElement(h,{...n,sticky:!0,width:m?.width}))};s.displayName="HeaderLayout";const A=(0,c.default)(i.x)`
|
|
17
|
+
width: ${n=>n.width}px;
|
|
18
|
+
`,h=e.forwardRef(({navigationAction:n,primaryAction:v,secondaryAction:l,subtitle:d,title:m,sticky:U,width:z,...H},D)=>{const o=typeof d=="string";return U?e.createElement(A,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:z,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,n&&e.createElement(i.x,{paddingRight:3},n),e.createElement(i.x,null,e.createElement(u.Z,{variant:"beta",as:"h1",...H},m),o?e.createElement(u.Z,{variant:"pi",textColor:"neutral600"},d):d),l?e.createElement(i.x,{paddingLeft:4},l):null),e.createElement(E.k,null,v?e.createElement(i.x,{paddingLeft:2},v):void 0))):e.createElement(i.x,{ref:D,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:n?6:8,background:"neutral100","data-strapi-header":!0},n?e.createElement(i.x,{paddingBottom:2},n):null,e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,e.createElement(u.Z,{as:"h1",variant:"alpha",...H},m),l?e.createElement(i.x,{paddingLeft:4},l):null),v),o?e.createElement(u.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},d):d)});h.displayName="BaseHeaderLayout",h.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},h.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,sticky:a.bool,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired,width:a.number},s.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},s.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired}},96709:function(k,P,t){t.d(P,{A:function(){return M}});var e=t(32735),c=t(60216),a=t(83292),u=t(72850);const i=(0,a.default)(u.x)`
|
|
19
|
+
display: grid;
|
|
20
|
+
grid-template-columns: ${({hasSideNav:f})=>f?"auto 1fr":"1fr"};
|
|
21
|
+
`,E=(0,a.default)(u.x)`
|
|
22
|
+
overflow-x: hidden;
|
|
23
|
+
`,M=({sideNav:f,children:x})=>e.createElement(i,{hasSideNav:Boolean(f)},f,e.createElement(E,{paddingBottom:10},x));M.defaultProps={sideNav:void 0},M.propTypes={children:c.node.isRequired,sideNav:c.node}},27649:function(k,P,t){t.d(P,{o:function(){return i}});var e=t(32735),c=t(60216),a=t(83292);const u=a.default.main`
|
|
24
|
+
// To prevent global outline on focus visible to force an outline when Main is focused
|
|
25
|
+
&:focus-visible {
|
|
26
|
+
outline: none;
|
|
27
|
+
}
|
|
28
|
+
`,i=({labelledBy:E,...M})=>{const f=E||"main-content-title";return e.createElement(u,{"aria-labelledby":f,id:"main-content",tabIndex:-1,...M})};i.defaultProps={labelledBy:void 0},i.propTypes={labelledBy:c.string}},7563:function(k,P,t){t.d(P,{A:function(){return A}});var e=t(74512),c=t(32735),a=t(83292),u=t(57269),i=t(72850),E=t(49372),M=t(87933),f=t(30350);const x=a.keyframes`
|
|
29
|
+
from {
|
|
30
|
+
transform: rotate(0deg);
|
|
31
|
+
}
|
|
32
|
+
to {
|
|
33
|
+
transform: rotate(359deg);
|
|
34
|
+
}
|
|
35
|
+
`,B=a.default.div`
|
|
36
|
+
animation: ${x} 2s infinite linear;
|
|
37
|
+
will-change: transform;
|
|
38
|
+
`,s=(0,a.default)(M.k)`
|
|
39
|
+
background: transparent;
|
|
40
|
+
border: none;
|
|
41
|
+
|
|
42
|
+
&[aria-disabled='true'] {
|
|
43
|
+
pointer-events: none;
|
|
44
|
+
svg path {
|
|
45
|
+
fill: ${({theme:h})=>h.colors.neutral600};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
svg {
|
|
50
|
+
display: flex;
|
|
51
|
+
font-size: ${10/16}rem;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
svg path {
|
|
55
|
+
fill: ${({theme:h})=>h.colors.primary600};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
${f.BF}
|
|
59
|
+
`,A=c.forwardRef(({children:h,startIcon:n,endIcon:v,onClick:l,disabled:d=!1,loading:m=!1,...U},z)=>{const H=l&&!d?l:void 0,D=d||m;return(0,e.jsxs)(s,{ref:z,"aria-disabled":D,onClick:H,as:"button",type:"button",...U,children:[(n||m)&&(0,e.jsx)(i.x,{as:"span",paddingRight:2,"aria-hidden":!0,children:m?(0,e.jsx)(B,{children:(0,e.jsx)(u.Loader,{})}):n}),(0,e.jsx)(E.Z,{variant:"pi",textColor:D?"neutral600":"primary600",children:h}),v&&(0,e.jsx)(i.x,{as:"span",paddingLeft:2,"aria-hidden":!0,children:v})]})});A.displayName="TextButton"},9139:function(k,P,t){t.d(P,{s:function(){return V}});var e=t(32735),c=t(83292),a=t(60216),u=t(78542),i=t(66436),E=t(87107),M=t(76437),f=t(67014),x=t(47851),B=t(27677),s=t(87933),A=t(7563),h=t(30350),n=t(49372),v=t(3685),l=t(72850),d=t(76144);const m=c.default.label`
|
|
60
|
+
position: relative;
|
|
61
|
+
display: inline-block;
|
|
62
|
+
z-index: 0;
|
|
63
|
+
width: 100%;
|
|
64
|
+
`,U=(0,c.default)(l.x)`
|
|
65
|
+
cursor: ${({disabled:g})=>g?"not-allowed":void 0};
|
|
66
|
+
// Masks the background of each value
|
|
67
|
+
overflow: hidden;
|
|
68
|
+
flex-wrap: wrap;
|
|
69
|
+
|
|
70
|
+
${(0,h.k3)()}
|
|
71
|
+
`,z=(0,c.default)(s.k).attrs({hasRadius:!0})`
|
|
72
|
+
background-color: ${({theme:g,checked:j,disabled:Z})=>j?Z?g.colors.neutral200:g.colors.neutral0:"transparent"};
|
|
73
|
+
border: 1px solid
|
|
74
|
+
${({theme:g,checked:j,disabled:Z})=>j&&j!==null?Z?g.colors.neutral300:g.colors.neutral200:Z?g.colors.neutral150:g.colors.neutral100};
|
|
75
|
+
position: relative;
|
|
76
|
+
user-select: none;
|
|
77
|
+
z-index: 2;
|
|
78
|
+
flex: 1 1 50%;
|
|
79
|
+
/**
|
|
80
|
+
We declare the defined value because we want the height of the input when
|
|
81
|
+
the values are in a row to be 40px. But defining a height on the label
|
|
82
|
+
would break the input when it wraps.
|
|
83
|
+
*/
|
|
84
|
+
padding-top: ${({size:g})=>`${g==="S"?"2px":"6px"}`};
|
|
85
|
+
padding-bottom: ${({size:g})=>`${g==="S"?"2px":"6px"}`};
|
|
86
|
+
`,H=c.default.input`
|
|
87
|
+
height: 100%;
|
|
88
|
+
left: 0;
|
|
89
|
+
opacity: 0;
|
|
90
|
+
position: absolute;
|
|
91
|
+
top: 0;
|
|
92
|
+
z-index: 1;
|
|
93
|
+
width: 100%;
|
|
94
|
+
`,D=e.forwardRef(({size:g,onLabel:j,offLabel:Z,children:Y,checked:T,disabled:R,onChange:w,...ie},G)=>{const{error:q,hint:_,id:X,name:le,required:ee}=(0,d.U)(),ae="neutral600";let se=!T&&T!==null?"danger700":ae,me=T?"primary600":ae;const de=re=>{R||w(re)};let ne;return q?ne=`${X}-error`:_&&(ne=`${X}-hint`),e.createElement(m,null,e.createElement(v.T,null,Y),e.createElement(U,{hasRadius:!0,disabled:R,padding:1,display:"flex",background:R?"neutral150":"neutral100",borderStyle:"solid",borderWidth:"1px",borderColor:"neutral200"},e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:!T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":se},Z)),e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":me},j)),e.createElement(H,{type:"checkbox","aria-disabled":R,"aria-describedby":ne,onChange:re=>de(re),name:le,ref:G,"aria-required":ee,...ie,checked:!(T===null||!T)})))});D.displayName="ToggleCheckbox",D.defaultProps={disabled:!1,checked:!1,onChange:void 0,size:"M"},D.propTypes={checked:a.bool,children:a.string.isRequired,disabled:a.bool,offLabel:a.string.isRequired,onChange:a.func,onLabel:a.string.isRequired,size:a.oneOf(Object.keys(u.J.input))};const o=(0,c.default)(E.g)`
|
|
95
|
+
max-width: 320px;
|
|
96
|
+
`,y=(0,c.default)(A.A)`
|
|
97
|
+
align-self: flex-end;
|
|
98
|
+
margin-left: auto;
|
|
99
|
+
`,V=({disabled:g,size:j,error:Z,hint:Y,label:T,name:R,labelAction:w,required:ie,id:G,onClear:q,clearLabel:_,checked:X,...le})=>{const ee=(0,i.M)(G);return e.createElement(o,{name:R,hint:Y,error:Z,id:ee,required:ie},e.createElement(B.K,{spacing:1},e.createElement(s.k,null,e.createElement(M.Q,{action:w},T),_&&q&&X!==null&&!g&&e.createElement(y,{onClick:q},_)),e.createElement(D,{id:ee,size:j,checked:X,disabled:g,...le},T),e.createElement(f.J,null),e.createElement(x.c,null)))};V.displayName="ToggleInput",V.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"},V.propTypes={checked:a.bool,clearLabel:a.string,disabled:a.bool,error:a.string,hint:a.oneOfType([a.string,a.node,a.arrayOf(a.node)]),id:a.string,label:a.string,labelAction:a.node,name:a.string,onClear:a.func,required:a.bool,size:a.oneOf(Object.keys(u.J.input))}}}]);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(ve,H,a){a.r(H),a.d(H,{default:function(){return Tt}});var e=a(32735),A=a(5141),i=a(88425),v=a(90201),P=a(88369),F=a(41415),X=a(96709),Z=a(28356),j=a(99223),x=a(17e3),U=a(27649),K=a(94745),w=a(76330),N=a(29005),O=a(66735),Re=a(3685),h=a(49372),Ce=a(94638),Pe=a(19406),L=a(5636),Y=a(84968),Te=a(58469),G=a(59677);const Ae=async(t,n)=>{try{const{get:s}=(0,i.getFetchClient)(),{data:r}=await s((0,G.Gc)("roles"));return n("The roles have loaded successfully"),r}catch{throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}},De=async(t,n)=>{try{const{del:s}=(0,i.getFetchClient)();await s(`${(0,G.Gc)("roles")}/${t}`)}catch{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var be=a(60216),f=a.n(be),te=a(50563),J=a(87933),Le=a(3594),Se=a(68625),Me=a(4038);const q=({sortedRoles:t,canDelete:n,permissions:s,setRoleToDelete:r,onDelete:c})=>{const{formatMessage:o}=(0,L.useIntl)(),{push:d}=(0,A.useHistory)(),[m,g]=c,u=l=>n&&!["public","authenticated"].includes(l.type),p=l=>{r(l),g(!m)},E=l=>{d(`/settings/${v.Z}/roles/${l}`)};return e.createElement(Le.p,null,t?.map(l=>e.createElement(N.Tr,{key:l.name,...(0,i.onRowClick)({fn:()=>E(l.id)})},e.createElement(O.Td,{width:"20%"},e.createElement(h.Z,null,l.name)),e.createElement(O.Td,{width:"50%"},e.createElement(h.Z,null,l.description)),e.createElement(O.Td,{width:"30%"},e.createElement(h.Z,null,`${l.nb_users} ${o({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(O.Td,null,e.createElement(J.k,{justifyContent:"end",...i.stopPropagation},e.createElement(i.CheckPermissions,{permissions:s.updateRole},e.createElement(te.h,{onClick:()=>E(l.id),noBorder:!0,icon:e.createElement(Se.Z,null),label:o({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${l.name}`})})),u(l)&&e.createElement(i.CheckPermissions,{permissions:s.deleteRole},e.createElement(te.h,{onClick:()=>p(l.id),noBorder:!0,icon:e.createElement(Me.default,null),label:o({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${l.name}`})})))))))};var Ze=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:f().array.isRequired,permissions:f().object.isRequired,setRoleToDelete:f().func.isRequired,sortedRoles:f().array.isRequired,canDelete:f().bool};var Oe=()=>{const{trackUsage:t}=(0,i.useTracking)(),{formatMessage:n}=(0,L.useIntl)(),{push:s}=(0,A.useHistory)(),r=(0,i.useNotification)(),{notifyStatus:c}=(0,Ce.G)(),[{query:o}]=(0,i.useQueryParams)(),d=o?._q||"",[m,g]=(0,e.useState)(!1),[u,p]=(0,e.useState)(!1),[E,l]=(0,e.useState)();(0,i.useFocusWhenNavigate)();const R=(0,Y.useQueryClient)(),S=(0,e.useMemo)(()=>({create:P.Z.createRole,read:P.Z.readRoles,update:P.Z.updateRole,delete:P.Z.deleteRole}),[]),{isLoading:y,allowedActions:{canRead:C,canDelete:M}}=(0,i.useRBAC)(S),{isLoading:$,data:{roles:fe},isFetching:At}=(0,Y.useQuery)("get-roles",()=>Ae(r,c),{initialData:{},enabled:C}),ye=$||At,Dt=()=>{t("willCreateRole"),s(`/settings/${v.Z}/roles/new`)},bt=()=>{g(!m)},Lt={roles:{id:(0,G.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,G.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},St=n({id:"global.roles",defaultMessage:"Roles"}),Mt=(0,Y.useMutation)(xt=>De(xt,r),{async onSuccess(){await R.invalidateQueries("get-roles")}}),Zt=async()=>{p(!0),await Mt.mutateAsync(E),g(!m),p(!1)},Q=(0,Te.ZP)(fe||[],d,{keys:["name","description"]}),Ot=d&&!Q.length?"search":"roles",Ut=4,kt=(fe?.length||0)+1;return e.createElement(X.A,null,e.createElement(i.SettingsPageTitle,{name:St}),e.createElement(U.o,{"aria-busy":ye},e.createElement(Z.T,{title:n({id:"global.roles",defaultMessage:"Roles"}),subtitle:n({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(i.CheckPermissions,{permissions:P.Z.createRole},e.createElement(F.z,{onClick:Dt,startIcon:e.createElement(Pe.default,null),size:"S"},n({id:(0,G.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(j.Z,{startActions:e.createElement(i.SearchURLQuery,{label:n({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(x.D,null,!C&&e.createElement(i.NoPermissions,null),(ye||y)&&e.createElement(i.LoadingIndicatorPage,null),C&&Q&&Q?.length?e.createElement(K.i,{colCount:Ut,rowCount:kt},e.createElement(w.h,null,e.createElement(N.Tr,null,e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"Description"}))),e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.users",defaultMessage:"Users"}))),e.createElement(O.Th,null,e.createElement(Re.T,null,n({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Ze,{sortedRoles:Q,canDelete:M,permissions:P.Z,setRoleToDelete:l,onDelete:[m,g]})):e.createElement(i.EmptyStateLayout,{content:Lt[Ot]})),e.createElement(i.ConfirmDialog,{isConfirmButtonLoading:u,onConfirm:Zt,onToggleDialog:bt,isOpen:m})))},Ue=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(Oe,null)),se=a(83281),T=a(27677),D=a(72850),ne=a(10369),ae=a(10508),ke=a(29439),re=a(66456),V=a(15335),k=a(5803),B=a(82069),b=a(92891);const oe=(0,e.createContext)({}),ie=({children:t,value:n})=>e.createElement(oe.Provider,{value:n},t),_=()=>(0,e.useContext)(oe);ie.propTypes={children:f().node.isRequired,value:f().object.isRequired};var z=a(83292),xe=a(37213),Ne=a.n(xe),Ge=a(15738),Be=a.n(Ge),Ie=t=>{switch(t){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const $e=(0,z.default)(D.x)`
|
|
2
|
+
margin: -1px;
|
|
3
|
+
border-radius: ${({theme:t})=>t.spaces[1]} 0 0 ${({theme:t})=>t.spaces[1]};
|
|
4
|
+
`;function ee({route:t}){const{formatMessage:n}=(0,L.useIntl)(),{method:s,handler:r,path:c}=t,o=c?Be()(c.split("/")):[],[d="",m=""]=r?r.split("."):[],g=Ie(t.method);return e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},n({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,d),e.createElement(h.Z,{variant:"delta",textColor:"primary600"},".",m)),e.createElement(T.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},e.createElement($e,{background:g.background,borderColor:g.border,padding:2},e.createElement(h.Z,{fontWeight:"bold",textColor:g.text},s)),e.createElement(D.x,{paddingLeft:2,paddingRight:2},Ne()(o,u=>e.createElement(h.Z,{key:u,textColor:u.includes(":")?"neutral600":"neutral900"},"/",u)))))}ee.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},ee.propTypes={route:f().shape({handler:f().string,method:f().string,path:f().string})};var Fe=ee,je=()=>{const{formatMessage:t}=(0,L.useIntl)(),{selectedAction:n,routes:s}=_(),r=(0,b.without)(n.split("."),"controllers"),c=(0,b.get)(s,r[0]),o=r.slice(1).join("."),d=(0,b.isEmpty)(c)?[]:c.filter(m=>m.handler.endsWith(o));return e.createElement(k.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},n?e.createElement(T.K,{spacing:2},d.map((m,g)=>e.createElement(Fe,{key:g,route:m}))):e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},t({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},t({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},we=a(83828),He=a(61762),Ke=a(89966),Ve=a(23940),ze=a.n(Ve);function We(t){switch(t){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return ze()(t.replace("api::","").replace("plugin::",""))}}var Qe=We,Xe=a(98978),le=a.n(Xe),ce=a(8284),Ye=a(45112);const de=z.css`
|
|
5
|
+
background: ${t=>t.theme.colors.primary100};
|
|
6
|
+
svg {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
`;var Je=(0,z.default)(D.x)`
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
align-items: center;
|
|
13
|
+
|
|
14
|
+
svg {
|
|
15
|
+
opacity: 0;
|
|
16
|
+
path {
|
|
17
|
+
fill: ${t=>t.theme.colors.primary600};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Show active style both on hover and when the action is selected */
|
|
22
|
+
${t=>t.isActive&&de}
|
|
23
|
+
&:hover {
|
|
24
|
+
${de}
|
|
25
|
+
}
|
|
26
|
+
`;const qe=z.default.div`
|
|
27
|
+
flex: 1;
|
|
28
|
+
align-self: center;
|
|
29
|
+
border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
|
|
30
|
+
`,ue=({subCategory:t})=>{const{formatMessage:n}=(0,L.useIntl)(),{onChange:s,onChangeSelectAll:r,onSelectedAction:c,selectedAction:o,modifiedData:d}=_(),m=(0,e.useMemo)(()=>(0,b.get)(d,t.name,{}),[d,t]),g=(0,e.useMemo)(()=>Object.values(m).every(l=>l.enabled===!0),[m]),u=(0,e.useMemo)(()=>Object.values(m).some(l=>l.enabled===!0)&&!g,[m,g]),p=(0,e.useCallback)(({target:{name:l}})=>{r({target:{name:l,value:!g}})},[g,r]),E=(0,e.useCallback)(l=>o===l,[o]);return e.createElement(D.x,null,e.createElement(J.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(D.x,{paddingRight:4},e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},t.label)),e.createElement(qe,null),e.createElement(D.x,{paddingLeft:4},e.createElement(ce.X,{name:t.name,value:g,onValueChange:l=>p({target:{name:t.name,value:l}}),indeterminate:u},n({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(J.k,{paddingTop:6,paddingBottom:6},e.createElement(V.r,{gap:2,style:{flex:1}},t.actions.map(l=>{const R=`${l.name}.enabled`;return e.createElement(k.P,{col:6,key:l.name},e.createElement(Je,{isActive:E(l.name),padding:2,hasRadius:!0},e.createElement(ce.X,{value:(0,b.get)(d,R,!1),name:R,onValueChange:S=>s({target:{name:R,value:S}})},l.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>c(l.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(Ye.Z,null))))}))))};ue.propTypes={subCategory:f().object.isRequired};var _e=ue;const me=({name:t,permissions:n})=>{const s=(0,e.useMemo)(()=>le()(Object.values(n.controllers).reduce((r,c,o)=>{const d=`${t}.controllers.${Object.keys(n.controllers)[o]}`,m=le()(Object.keys(c).reduce((g,u)=>[...g,{...c[u],label:u,name:`${d}.${u}`}],[]),"label");return[...r,{actions:m,label:Object.keys(n.controllers)[o],name:d}]},[]),"label"),[t,n]);return e.createElement(D.x,{padding:6},s.map(r=>e.createElement(_e,{key:r.name,subCategory:r})))};me.propTypes={name:f().string.isRequired,permissions:f().object.isRequired};var et=me,tt=(t,n)=>{const s=Object.keys(n).sort().map(r=>({name:r,isOpen:!1}));return{...t,collapses:s}},W=a(97889);const st={collapses:[]},nt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"TOGGLE_COLLAPSE":{s.collapses=t.collapses.map((r,c)=>c===n.index?{...r,isOpen:!r.isOpen}:{...r,isOpen:!1});break}default:return s}});var at=()=>{const{modifiedData:t}=_(),{formatMessage:n}=(0,L.useIntl)(),[{collapses:s},r]=(0,e.useReducer)(nt,st,o=>tt(o,t)),c=o=>r({type:"TOGGLE_COLLAPSE",index:o});return e.createElement(T.K,{spacing:1},s.map((o,d)=>e.createElement(we.U,{expanded:o.isOpen,onToggle:()=>c(d),key:o.name,variant:d%2===0?"secondary":void 0},e.createElement(He.B,{title:Qe(o.name),description:n({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:o.name}),variant:d%2?"primary":"secondary"}),e.createElement(Ke.v,null,e.createElement(D.x,null,e.createElement(et,{permissions:t[o.name],name:o.name}))))))};const rt={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var ot=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"ON_CHANGE":{const r=n.keys.length,c=n.keys[r-1]==="enabled";if(n.value&&c){const o=(0,b.take)(n.keys,r-1).join(".");s.selectedAction=o}(0,b.set)(s,["modifiedData",...n.keys],n.value);break}case"ON_CHANGE_SELECT_ALL":{const r=["modifiedData",...n.keys],c=(0,b.get)(t,r,{}),o=Object.keys(c).reduce((d,m)=>(d[m]={...c[m],enabled:n.value},d),{});(0,b.set)(s,r,o);break}case"ON_RESET":{s.modifiedData=t.initialData;break}case"ON_SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:r}=n;s.selectedAction=r===t.selectedAction?"":r;break}default:return s}}),it=(t,n,s)=>({...t,initialData:n,modifiedData:n,routes:s});const ge=(0,e.forwardRef)(({permissions:t,routes:n},s)=>{const{formatMessage:r}=(0,L.useIntl)(),[c,o]=(0,e.useReducer)(ot,rt,p=>it(p,t,n));(0,e.useImperativeHandle)(s,()=>({getPermissions(){return{permissions:c.modifiedData}},resetForm(){o({type:"ON_RESET"})},setFormAfterSubmit(){o({type:"ON_SUBMIT_SUCCEEDED"})}}));const u={...c,onChange:({target:{name:p,value:E}})=>o({type:"ON_CHANGE",keys:p.split("."),value:E==="empty__string_value"?"":E}),onChangeSelectAll:({target:{name:p,value:E}})=>o({type:"ON_CHANGE_SELECT_ALL",keys:p.split("."),value:E}),onSelectedAction:p=>o({type:"SELECT_ACTION",actionToSelect:p})};return e.createElement(ie,{value:u},e.createElement(V.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(k.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:6},e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h2"},r({id:(0,B.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},r({id:(0,B.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(at,null))),e.createElement(je,null)))});ge.propTypes={permissions:f().object.isRequired,routes:f().object.isRequired};var pe=(0,e.memo)(ge);const Kt={isLoading:!0,modifiedData:{}},Vt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.modifiedData={};break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.modifiedData=n.data;break}case"GET_DATA_ERROR":{s.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{s.modifiedData=n.data;break}default:return s}});var zt=null,lt=a(98399);const Wt=(t,n)=>{const{isLoading:s,allowedActions:r}=useRBAC(n),[{isLoading:c,modifiedData:o},d]=useReducer(reducer,initialState),m=useNotification(),g=useRef(!0),u=new AbortController,{signal:p}=u;useEffect(()=>(s||(async()=>{try{d({type:"GET_DATA"});const R=await request(getRequestURL(t),{method:"GET",signal:p});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){g.current&&(d({type:"GET_DATA_ERROR"}),lt.error(R),m({type:"warning",message:{id:"notification.error"}}))}})(),()=>{u.abort(),g.current=!1}),[s,t]);const E=useCallback(l=>{d({type:"ON_SUBMIT_SUCCEEDED",data:l})},[]);return{allowedActions:r,dispatchSubmitSucceeded:E,isLoading:c,isLoadingForPermissions:s,modifiedData:o}};var Qt=null;const Xt={roles:[],isLoading:!0},Yt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.roles=[];break}case"GET_DATA_SUCCEEDED":{s.roles=n.data,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}});var Jt=null;const qt=(t=!0)=>{const[{roles:n,isLoading:s},r]=useReducer(reducer,initialState,()=>init(initialState,t)),c=useNotification(),o=useRef(!0),d=new AbortController,{signal:m}=d;useEffect(()=>(t&&g(),()=>{d.abort(),o.current=!1}),[t]);const g=async()=>{try{r({type:"GET_DATA"});const{roles:u}=await request(`/${pluginId}/roles`,{method:"GET",signal:m});r({type:"GET_DATA_SUCCEEDED",data:u})}catch(u){const p=get(u,["response","payload","message"],"An error occured");o.current&&(r({type:"GET_DATA_ERROR"}),p!=="Forbidden"&&c({type:"warning",message:p}))}};return{roles:n,isLoading:s,getData:g}};var _t=null,ct=(t,n)=>({...t,isLoading:n});const Ee={permissions:{},routes:{},isLoading:!0};var dt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.permissions={},s.routes={};break}case"GET_DATA_SUCCEEDED":{s.permissions=n.permissions,s.routes=n.routes,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}}),he=(t=!0)=>{const n=(0,i.useNotification)(),[{permissions:s,routes:r,isLoading:c},o]=(0,e.useReducer)(dt,Ee,()=>ct(Ee,t)),d=(0,i.useFetchClient)(),m=(0,e.useCallback)(async()=>{try{o({type:"GET_DATA"});const[{permissions:g},{routes:u}]=await Promise.all([`/${v.Z}/permissions`,`/${v.Z}/routes`].map(async p=>(await d.get(p)).data));o({type:"GET_DATA_SUCCEEDED",permissions:(0,G.YX)(g),routes:u})}catch(g){const u=(0,b.get)(g,["response","payload","message"],"An error occured");o({type:"GET_DATA_ERROR"}),u!=="Forbidden"&&n({type:"warning",message:u})}},[n]);return(0,e.useEffect)(()=>{t&&m()},[m,t]),{permissions:s,routes:r,getData:m,isLoading:c}};const ut={role:{},isLoading:!0};var mt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA_SUCCEEDED":{s.role=n.role,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{s.role.name=n.name,s.role.description=n.description;break}default:return s}}),gt=a(98399),pt=t=>{const[n,s]=(0,e.useReducer)(mt,ut),r=(0,i.useNotification)(),c=(0,e.useRef)(null),{get:o}=(0,i.useFetchClient)();(0,e.useEffect)(()=>(c.current=!0,t?d(t):s({type:"GET_DATA_SUCCEEDED",role:{}}),()=>c.current=!1),[t]);const d=async g=>{try{const{data:{role:u}}=await o(`/${v.Z}/roles/${g}`);c.current&&s({type:"GET_DATA_SUCCEEDED",role:u})}catch(u){gt.error(u),s({type:"GET_DATA_ERROR"}),r({type:"warning",message:{id:"notification.error"}})}},m=(0,e.useCallback)(g=>{s({type:"ON_SUBMIT_SUCCEEDED",...g})},[]);return{...n,onSubmitSucceeded:m}},I=a(5173),Et=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),ht=a(98399),ft=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{lockApp:c,unlockApp:o}=(0,i.useOverlayBlocker)(),{params:{id:d}}=(0,A.useRouteMatch)(`/settings/${v.Z}/roles/:id`),{isLoading:m,routes:g}=he(),{role:u,onSubmitSucceeded:p,isLoading:E}=pt(d),l=(0,e.useRef)(),{put:R}=(0,i.useFetchClient)(),S=async y=>{c(),s(!0);try{const C=l.current.getPermissions();await R(`/${v.Z}/roles/${d}`,{...y,...C,users:[]}),p({name:y.name,description:y.description}),r({type:"success",message:{id:(0,B.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(C){ht.error(C),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),o()};return E?e.createElement(i.LoadingIndicatorPage,null):e.createElement(U.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:u.name,description:u.description},onSubmit:S,validationSchema:Et},({handleSubmit:y,values:C,handleChange:M,errors:$})=>e.createElement(i.Form,{noValidate:!0,onSubmit:y},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{disabled:u.code==="strapi-super-admin",type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:u.name,subtitle:u.description,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(ke.Z,null),to:"/settings/users-permissions/roles"},t({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(k.P,{col:6},e.createElement(ne.o,{name:"name",value:C.name||"",onChange:M,label:t({id:"global.name",defaultMessage:"Name"}),error:$.name?t({id:$.name,defaultMessage:"Invalid value"}):null})),e.createElement(k.P,{col:6},e.createElement(ae.g,{name:"description",value:C.description||"",onChange:M,label:t({id:"global.description",defaultMessage:"Description"}),error:$.description?t({id:$.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:l,permissions:u.permissions,routes:g}))))))},yt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.updateRole},e.createElement(ft,null)),vt=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),Rt=a(98399),Ct=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{goBack:c}=(0,A.useHistory)(),{lockApp:o,unlockApp:d}=(0,i.useOverlayBlocker)(),{isLoading:m,permissions:g,routes:u}=he(),{trackUsage:p}=(0,i.useTracking)(),E=(0,e.useRef)(),{post:l}=(0,i.useFetchClient)(),R=async S=>{o(),s(!0);try{const y=E.current.getPermissions();await l(`/${v.Z}/roles`,{...S,...y,users:[]}),p("didCreateRole"),r({type:"success",message:{id:(0,B.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),c()}catch(y){Rt.error(y),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),d()};return e.createElement(U.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:R,validationSchema:vt},({handleSubmit:S,values:y,handleChange:C,errors:M})=>e.createElement(i.Form,{noValidate:!0,onSubmit:S},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:t({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(k.P,{col:6},e.createElement(ne.o,{name:"name",value:y.name||"",onChange:C,label:t({id:"global.name",defaultMessage:"Name"}),error:M.name?t({id:M.name,defaultMessage:"Invalid value"}):null})),e.createElement(k.P,{col:6},e.createElement(ae.g,{name:"description",value:y.description||"",onChange:C,label:t({id:"global.description",defaultMessage:"Description"}),error:M.description?t({id:M.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:E,permissions:g,routes:u}))))))},Pt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.createRole},e.createElement(Ct,null)),Tt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(A.Switch,null,e.createElement(A.Route,{path:`/settings/${v.Z}/roles/new`,component:Pt,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles/:id`,component:yt,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles`,component:Ue,exact:!0}),e.createElement(A.Route,{path:"",component:i.NotFound})))},59677:function(ve,H,a){a.d(H,{YX:function(){return i},Gc:function(){return F},OB:function(){return X.Z}});var e=a(92891),i=Z=>Object.keys(Z).reduce((j,x)=>{const U=Z[x].controllers,K=Object.keys(U).reduce((w,N)=>((0,e.isEmpty)(U[N])||(w[N]=U[N]),w),{});return(0,e.isEmpty)(K)||(j[x]={controllers:K}),j},{}),v=a(90201),F=Z=>`/${v.Z}/${Z}`,X=a(82069)}}]);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{41513:function(re,x,t){t.d(x,{Z:function(){return We}});var e=t(32735),n=t(88425),D=t(27649),O=t(84968),S=t(5141),f=t(8888),u=t(60216),i=t.n(u),X=t(29439),m=t(66456),$=t(74512);function Te(a){return(0,$.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",...a,children:(0,$.jsx)("path",{d:"M2 .93c0-.4.45-.63.78-.41l4.6 3.06c.3.2.3.64 0 .84l-4.6 3.06A.5.5 0 012 7.07V.93z",fill:"#212134"})})}var ye=t(28356),Me=t(17e3),le=t(72850),Pe=t(41415),B=t(27677),ue=t(10369),Q=t(15335),U=t(5803),w=t(83281),j=t(5636),xe=t(76437),K=t(49372),Oe=t(83292),Ae=t(44426),G=t(8284),me=t(23940),s=t.n(me);const I=({disabledEvents:a,name:r,events:l,inputValue:o,handleChange:g,handleChangeAll:h})=>{const c=l.filter(M=>!a.includes(M)),p=o.length===c.length,E=o.length>0,v=({target:{name:M}})=>{h({target:{name:M,value:!p}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(G.X,{indeterminate:E&&!p,"aria-label":"Select all entries",name:r,onChange:v,value:p},s()(r))),l.map(M=>e.createElement("td",{key:M},e.createElement(Ae.C,{disabled:a.includes(M),"aria-label":M,name:M,value:o.includes(M),onValueChange:L=>g({target:{name:M,value:L}})}))))};I.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},I.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var k=I,T=a=>a.reduce((r,l)=>{const o=l.split(".")[0];return r[o]||(r[o]=[]),r[o].push(l),r},{});const oe=Oe.default.table`
|
|
2
|
+
td {
|
|
3
|
+
height: ${52/16}rem;
|
|
4
|
+
width: 10%;
|
|
5
|
+
vertical-align: middle;
|
|
6
|
+
text-align: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
tbody tr:nth-child(odd) {
|
|
10
|
+
background: ${({theme:a})=>a.colors.neutral100};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
tbody tr td:first-child {
|
|
14
|
+
padding-left: ${({theme:a})=>a.spaces[7]};
|
|
15
|
+
}
|
|
16
|
+
`,se={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},ie=({isDraftAndPublish:a})=>{const r=a?se.headers.draftAndPublish:se.headers.default,l=a?se.events.draftAndPublish:se.events.default,{formatMessage:o}=(0,j.useIntl)(),{values:g,handleChange:h}=(0,w.useFormikContext)(),c="events",p=g.events,E=[],v=T(p),M=({target:{name:b,value:ae}})=>{let F=new Set(p);ae?F.add(b):F.delete(b),h({target:{name:c,value:Array.from(F)}})},L=({target:{name:b,value:ae}})=>{let F=new Set(p);ae?l[b].forEach(z=>{E.includes(z)||F.add(z)}):l[b].forEach(z=>F.delete(z)),h({target:{name:c,value:Array.from(F)}})};return e.createElement(B.K,{spacing:1},e.createElement(xe.Q,null,o({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(oe,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),r.map(b=>b==="app.utils.publish"||b==="app.utils.unpublish"?e.createElement("td",{key:b.id,title:o({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(K.Z,{variant:"sigma",textColor:"neutral600"},o(b))):e.createElement("td",{key:b.id},e.createElement(K.Z,{variant:"sigma",textColor:"neutral600"},o(b)))))),e.createElement("tbody",null,Object.keys(l).map(b=>e.createElement(k,{disabledEvents:E,key:b,name:b,events:l[b],inputValue:v[b],handleChange:M,handleChangeAll:L})))))};ie.propTypes={isDraftAndPublish:i().bool.isRequired};var De=ie,ee=t(19406),J=t(87933),ge=t(7563),ke=t(42623),$e=t(90333),pe=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];const fe=({name:a,onChange:r,value:l,...o})=>{const[g,h]=(0,e.useState)(l?[...pe,l]:pe),c=E=>{r({target:{name:a,value:E}})},p=E=>{h(v=>[...v,E]),r({target:{name:a,value:E}})};return e.createElement(ke.X,{...o,onChange:c,onCreateOption:p,placeholder:"",value:l},g.map(E=>e.createElement($e.O,{value:E,key:E},E)))};fe.defaultProps={value:void 0},fe.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var Se=fe,Ke=()=>{const{formatMessage:a}=(0,j.useIntl)(),{values:r,errors:l}=(0,w.useFormikContext)();return e.createElement(B.K,{spacing:1},e.createElement(xe.Q,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(le.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(w.FieldArray,{validateOnChange:!1,name:"headers",render:({push:o,remove:g})=>e.createElement(Q.r,{gap:4},r.headers?.map((h,c)=>e.createElement(e.Fragment,{key:c},e.createElement(U.P,{col:6},e.createElement(w.Field,{as:Se,name:`headers.${c}.key`,"aria-label":`row ${c+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:l.headers?.[c]?.key&&a({id:l.headers[c]?.key,defaultMessage:l.headers[c]?.key})})),e.createElement(U.P,{col:6},e.createElement(J.k,{alignItems:"flex-end"},e.createElement(le.x,{style:{flex:1}},e.createElement(w.Field,{as:ue.o,"aria-label":`row ${c+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${c}.value`,error:l.headers?.[c]?.value&&a({id:l.headers[c]?.value,defaultMessage:l.headers[c]?.value})})),e.createElement(J.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:l.headers?.[c]?.value?0:5},e.createElement(n.RemoveRoundedButton,{onClick:()=>r.headers.length!==1&&g(c),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:c+1})})))))),e.createElement(U.P,{col:12},e.createElement(ge.A,{type:"button",onClick:()=>{o({key:"",value:""})},startIcon:e.createElement(ee.default,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},he=t(35331),Z=t(27169);const de=Oe.default.svg(({theme:a,color:r})=>`
|
|
17
|
+
width: ${12/16}rem;
|
|
18
|
+
height: ${12/16}rem;
|
|
19
|
+
|
|
20
|
+
path {
|
|
21
|
+
fill: ${a.colors[r]};
|
|
22
|
+
}
|
|
23
|
+
`),Ee=({isPending:a,statusCode:r})=>{const{formatMessage:l}=(0,j.useIntl)();return a?e.createElement(B.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:Z.Z}),e.createElement(K.Z,null,l({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):r>=200&&r<300?e.createElement(B.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:m.Z,color:"success700"}),e.createElement(K.Z,null,l({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):r>=300?e.createElement(B.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:he.default,color:"danger700"}),e.createElement(K.Z,null,l({id:"Settings.error",defaultMessage:"error"})," ",r)):null};Ee.propTypes={isPending:i().bool.isRequired,statusCode:i().number},Ee.defaultProps={statusCode:void 0};const P=({statusCode:a,message:r})=>{const{formatMessage:l}=(0,j.useIntl)();return a>=200&&a<300?e.createElement(J.k,{justifyContent:"flex-end"},e.createElement(K.Z,{textColor:"neutral600",ellipsis:!0},l({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(J.k,{justifyContent:"flex-end"},e.createElement(J.k,{maxWidth:(0,n.pxToRem)(250),justifyContent:"flex-end",title:r},e.createElement(K.Z,{ellipsis:!0,textColor:"neutral600"},r))):null};P.propTypes={statusCode:i().number,message:i().string},P.defaultProps={statusCode:void 0,message:void 0};const ve=({onCancel:a})=>{const{formatMessage:r}=(0,j.useIntl)();return e.createElement(J.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(B.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(K.Z,{textColor:"neutral400"},r({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(de,{as:he.default,color:"neutral400"}))))};ve.propTypes={onCancel:i().func.isRequired};const be=({isPending:a,onCancel:r,response:l})=>{const{statusCode:o,message:g}=l,{formatMessage:h}=(0,j.useIntl)();return e.createElement(le.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(Q.r,{gap:4,style:{alignItems:"center"}},e.createElement(U.P,{col:3},e.createElement(K.Z,null,h({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(U.P,{col:3},e.createElement(Ee,{isPending:a,statusCode:o})),e.createElement(U.P,{col:6},a?e.createElement(ve,{onCancel:r}):e.createElement(P,{statusCode:o,message:g}))))};be.defaultProps={isPending:!1,onCancel(){},response:{}},be.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var Fe=be,y=t(5173);const Ie=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,N=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var R=y.Ry().shape({name:y.Z_(n.translatedErrors.string).required(n.translatedErrors.required).matches(Ie,n.translatedErrors.regex),url:y.Z_(n.translatedErrors.string).required(n.translatedErrors.required).matches(N,n.translatedErrors.regex),headers:y.Vo(a=>{let r=y.IX();if(a.length===1){const{key:l,value:o}=a[0];if(!l&&!o)return r}return r.of(y.Ry().shape({key:y.Z_().required(n.translatedErrors.required),value:y.Z_().required(n.translatedErrors.required)}))}),events:y.IX()});const Y=({handleSubmit:a,data:r,triggerWebhook:l,isCreating:o,isTriggering:g,triggerResponse:h,isDraftAndPublishEvents:c})=>{const{formatMessage:p}=(0,j.useIntl)(),[E,v]=(0,e.useState)(!1);return e.createElement(w.Formik,{onSubmit:a,initialValues:{name:r?.name||"",url:r?.url||"",headers:Object.keys(r?.headers||[]).length?Object.entries(r.headers).map(([M,L])=>({key:M,value:L})):[{key:"",value:""}],events:r?.events||[]},validationSchema:R,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:M,errors:L})=>e.createElement(n.Form,{noValidate:!0},e.createElement(ye.T,{primaryAction:e.createElement(B.K,{horizontal:!0,spacing:2},e.createElement(Pe.z,{onClick:()=>{l(),v(!0)},variant:"tertiary",startIcon:e.createElement(Te,null),disabled:o||g,size:"L"},p({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(Pe.z,{startIcon:e.createElement(m.Z,null),onClick:M,type:"submit",size:"L"},p({id:"global.save",defaultMessage:"Save"}))),title:o?p({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):r?.name,navigationAction:e.createElement(n.Link,{startIcon:e.createElement(X.Z,null),to:"/settings/webhooks"},p({id:"global.back",defaultMessage:"Back"}))}),e.createElement(Me.D,null,e.createElement(B.K,{spacing:4},E&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(Fe,{isPending:g,response:h,onCancel:()=>v(!1)})),e.createElement(le.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(B.K,{spacing:6},e.createElement(Q.r,{gap:6},e.createElement(U.P,{col:6},e.createElement(w.Field,{as:ue.o,name:"name",error:L.name&&p({id:L.name}),label:p({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(U.P,{col:12},e.createElement(w.Field,{as:ue.o,name:"url",error:L.url&&p({id:L.url}),label:p({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ke,null),e.createElement(De,{isDraftAndPublish:c})))))))};Y.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},Y.defaultProps={data:void 0,triggerResponse:void 0};var te=Y,ce=t(92891);const ne=a=>{const r={...a};return(0,ce.set)(r,"headers",Re(a.headers)),r},Re=a=>a.reduce((r,l)=>{const{key:o,value:g}=l;return o!==""?{...r,[o]:g}:r},{});var Le=ne,Ce=t(98399),We=()=>{const{params:{id:a}}=(0,S.useRouteMatch)("/settings/webhooks/:id"),{replace:r}=(0,S.useHistory)(),{lockApp:l,unlockApp:o}=(0,n.useOverlayBlocker)(),g=(0,n.useNotification)(),h=(0,O.useQueryClient)(),{isLoading:c,collectionTypes:p}=(0,f.bP)(),{post:E}=(0,n.useFetchClient)(),v=a==="create",M=(0,e.useCallback)(async V=>{const[H,{data:Ve}]=await(0,n.to)((0,n.request)(`/admin/webhooks/${V}`,{method:"GET"}));return H?(g({type:"warning",message:{id:"notification.error"}}),null):Ve},[g]),{isLoading:L,data:b}=(0,O.useQuery)(["get-webhook",a],()=>M(a),{enabled:!v}),{isLoading:ae,data:F,isIdle:z,mutate:d}=(0,O.useMutation)(()=>E(`/admin/webhooks/${a}/trigger`)),C=()=>d(null,{onError(){g({type:"warning",message:{id:"notification.error"}})}}),W=(0,O.useMutation)(V=>(0,n.request)("/admin/webhooks",{method:"POST",body:V})),q=(0,O.useMutation)(({id:V,body:H})=>(0,n.request)(`/admin/webhooks/${V}`,{method:"PUT",body:H})),Ze=async V=>{v?(l(),W.mutate(Le(V),{onSuccess(H){g({type:"success",message:{id:"Settings.webhooks.created"}}),r(`/settings/webhooks/${H.data.id}`),o()},onError(H){g({type:"warning",message:{id:"notification.error"}}),Ce.log(H),o()}})):(l(),q.mutate({id:a,body:Le(V)},{onSuccess(){h.invalidateQueries(["get-webhook",a]),g({type:"success",message:{id:"notification.form.success.fields"}}),o()},onError(H){g({type:"warning",message:{id:"notification.error"}}),Ce.log(H),o()}}))},ze=(0,e.useMemo)(()=>p.some(V=>V.options.draftAndPublish===!0),[p]);return L||c?e.createElement(n.LoadingIndicatorPage,null):e.createElement(D.o,null,e.createElement(n.SettingsPageTitle,{name:"Webhooks"}),e.createElement(te,{handleSubmit:Ze,data:b,triggerWebhook:C,isCreating:v,isTriggering:ae,isTriggerIdle:z,triggerResponse:F?.data.data,isDraftAndPublishEvents:ze}))}},33238:function(re,x,t){t.r(x);var e=t(32735),n=t(88425),D=t.n(n),O=t(72041),S=t(41513);const f=()=>e.createElement(n.CheckPagePermissions,{permissions:O.Z.settings.webhooks.create},e.createElement(S.Z,null));x.default=f},59021:function(re,x,t){t.r(x);var e=t(32735),n=t(88425),D=t.n(n),O=t(72041),S=t(41513);const f=()=>e.createElement(n.CheckPagePermissions,{permissions:O.Z.settings.webhooks.update},e.createElement(S.Z,null));x.default=f},42623:function(re,x,t){t.d(x,{h:function(){return G},X:function(){return me}});var e=t(32735),n=t(60216),D=t(57269),O=t(66436),S=t(96892),f=t(94486);const u={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},i={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function X(s=[],I=null,k=[]){const _=String(I??"").toLowerCase();return _?s.filter(T=>T.props.children.toString().toLowerCase().includes(_)&&k.indexOf(T)<0):s}function m(s,I){if(!I&&s===f.y.DOWN)return u.Open;if(s===f.y.DOWN)return u.Next;if(s===f.y.UP)return u.Previous;if(s===f.y.HOME)return u.First;if(s===f.y.END)return u.Last;if(s===f.y.ESCAPE)return u.Close;if(s===f.y.ENTER)return u.CloseSelect;if(s===f.y.BACKSPACE||s===f.y.CLEAR||s.length===1)return u.Type}function $(s,I,k){switch(k){case u.First:return 0;case u.Last:return I;case u.Previous:return Math.max(0,s-1);case u.Next:return Math.min(I,s+1);default:return s}}function Te(s){S(s,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:I,top:k,left:_})=>{I.scrollTop=k,I.scrollLeft=_})}var ye=t(87933),Me=t(93958),le=t(46406),Pe=t(72850),B=t(49372),ue=t(97405),Q=t(91225),U=t(90333),w=t(87107),j=t(76437),xe=t(67014),K=t(47851),Oe=t(27677),Ae=t(3685);const G=({children:s,clearLabel:I,creatable:k,createMessage:_,disabled:T,error:oe,hasMoreItems:se,hint:ie,id:De,label:ee,labelAction:J,loading:ge,loadingMessage:ke,noOptionsMessage:$e,onChange:Be,onClear:pe,onCreateOption:fe,onInputChange:Se,onLoadMore:Ue,placeholder:Ke,required:he,value:Z,...de})=>{const Ee=()=>s.find(d=>d.props?.value.toLowerCase()===Z.toLowerCase()).props?.children,[P,ve]=(0,e.useState)(0),[be,Fe]=(0,e.useState)(null),[y,Ie]=(0,e.useState)(s),[N,we]=(0,e.useState)(!1),[R,Y]=(0,e.useState)(""),te=(0,e.useRef)(),ce=(0,e.useRef)(!1),ne=(0,e.useRef)(),Re=(0,e.useRef)(),Le=(0,e.useRef)(),Ce=(0,e.useRef)(!0),A=(0,O.M)(De),We=`${A}-label`;if(!ee&&!de["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');(0,e.useEffect)(()=>{Ie(X(s,R))},[R,s]),(0,e.useEffect)(()=>{N&&te.current&&Te(te.current)},[P,N]),(0,e.useLayoutEffect)(()=>{Ce.current&&(Ce.current=!1)},[Z]);const a=N?`${A}-${P}`:"",r=()=>{Be(null),Y("")},l=d=>{Se&&Se(d);const C=ne.current.value;Ie(X(s,C)),ve(0),Fe(null),R!==C&&Y(C),N||v(!0,!1)},o=d=>{const{key:C}=d,W=k&&R?y.length:y.length-1,q=m(C,N);switch(Z&&!R&&C===f.y.BACKSPACE&&r(),q){case u.Next:{if(P===W){h(0);break}h($(P,W,q));break}case u.Previous:{if(P===0){h(W);break}h($(P,W,q));break}case u.Last:case u.First:{if(P===W){h(0);break}h($(P,W,q));break}case u.CloseSelect:d.preventDefault(),E(P);break;case u.Close:d.preventDefault(),v(!1);break;case u.Open:v(!0);break}},g=d=>{if(d.preventDefault(),Z&&!ce.current&&Y(""),ce.current){ce.current=!1;return}v(!1,!1)},h=d=>{ve(d)},c=d=>{h(d),E(d)},p=()=>{ce.current=!0},E=d=>{const C=y[d];if(Y(""),C){Be(C.props.value),v(!1);return}k&&(fe(R),v(!1))},v=(d,C=!0)=>{we(d),C&&ne.current.focus()},M=e.Children.toArray(y).map((d,C)=>{const W=P===C;return(0,e.cloneElement)(d,{id:`${A}-${C}`,"aria-selected":be===C,"aria-posinset":C+1,"aria-setsize":e.Children.toArray(y).length,ref(q){W&&(te.current=q)},onClick:()=>c(C),onMouseDown:p,isSelected:W})}),L=()=>{ne.current.focus(),pe&&pe(),r()},b=()=>{ne.current.focus(),v(!0)},ae=()=>{const d=y.findIndex(C=>C.props?.children===R);return R&&d===-1},F=d=>{d.preventDefault(),v(d,!0)};let z;return oe?z=`${A}-error`:ie&&(z=`${A}-hint`),e.createElement(w.g,{hint:ie,error:oe,id:A,required:he},e.createElement(Ae.T,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},Z),e.createElement(Oe.K,{spacing:ee||ie||oe?1:0},ee&&e.createElement(j.Q,{action:J},ee),e.createElement(Q.d8,{ref:Re,$disabled:T,hasError:oe},e.createElement(Q.fv,{wrap:"wrap"},!R&&Z&&e.createElement(Q.K7,{id:`${A}-selected-value`},e.createElement(B.Z,null,Ee())),e.createElement(Q.II,{"aria-activedescendant":a,"aria-autocomplete":"list","aria-controls":`${A}-listbox`,"aria-disabled":T,"aria-expanded":N,"aria-haspopup":"listbox","aria-describedby":z,autoComplete:"off",autoCorrect:"off",id:A,onBlur:T?void 0:g,onClick:T?void 0:F,onInput:T?void 0:l,onKeyDown:T?void 0:o,placeholder:Z?"":Ke,readOnly:T,ref:ne,required:he,role:"combobox",spellCheck:"off",type:"text",value:R})),e.createElement(ye.k,null,(Z||R)&&e.createElement(Me.zb,{id:`${A}-clear`,"aria-label":I,disabled:T,paddingLeft:3,as:"button",onClick:L,type:"button"},e.createElement(D.Cross,null)),e.createElement(Me.AV,{disabled:T,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:b,tabIndex:-1,type:"button"},e.createElement(D.CarretDown,null)))),e.createElement(xe.J,null),e.createElement(K.c,null)),N&&e.createElement(le.J2,{id:`${A}-popover`,source:Re,spacing:4,fullWidth:!0,intersectionId:`${A}-listbox-popover-intersection`,onReachEnd:se&&!ge?Ue:void 0},e.createElement("div",{role:"listbox",ref:Le,id:`${A}-listbox`,"aria-labelledby":ee?We:void 0},(Boolean(y.length)||k)&&e.createElement(e.Fragment,null,M,ae()&&k&&e.createElement(U.O,{isSelected:P===y.length,ref:d=>{P===y.length&&(te.current=d)},onMouseDown:p,onClick:()=>E(),taindex:0},_(R))),!y.length&&!k&&!ge&&e.createElement(Pe.x,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:te},e.createElement(B.Z,{textColor:"neutral800"},$e(R))),ge&&e.createElement(ye.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},e.createElement(ue.a,{small:!0},ke)))))},me=s=>e.createElement(G,{...s,creatable:!0});G.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:s=>`Create "${s}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,id:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0},me.defaultProps=G.defaultProps,G.propTypes={"aria-label":n.string,children:n.oneOfType([n.arrayOf(n.node),n.node]),clearLabel:n.string,creatable:n.bool,createMessage:n.func,disabled:n.bool,error:n.string,hasMoreItems:n.bool,id:n.string,hint:n.oneOfType([n.string,n.node,n.arrayOf(n.node)]),label:n.string,labelAction:n.element,loading:n.bool,loadingMessage:n.string,noOptionsMessage:n.func,onChange:n.func.isRequired,onClear:n.func,onCreateOption:n.func,onInputChange:n.func,onLoadMore:n.func,placeholder:n.string,value:n.string},me.propTypes={...G.propTypes,onCreateOption:n.func.isRequired}},90333:function(re,x,t){t.d(x,{O:function(){return S}});var e=t(32735),n=t(60216),D=t(49372),O=t(91225);const S=(0,e.forwardRef)(({isSelected:f,children:u,...i},X)=>e.createElement(O.Zq,{hasRadius:!0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,role:"option",background:"neutral0",isSelected:f,ref:X,...i},e.createElement(D.Z,{textColor:f?"primary600":"neutral800",fontWeight:f?"bold":null},u)));S.defaultProps={isSelected:!1},S.propTypes={children:n.oneOfType([n.string,n.number]).isRequired,isSelected:n.bool},S.displayName="ComboboxOption"},91225:function(re,x,t){t.d(x,{II:function(){return i},K7:function(){return f},Zq:function(){return X},d8:function(){return S},fv:function(){return u}});var e=t(83292),n=t(72850),D=t(87933),O=t(30350);const S=(0,e.default)(D.k)`
|
|
24
|
+
position: relative;
|
|
25
|
+
border: 1px solid ${({theme:m,hasError:$})=>$?m.colors.danger600:m.colors.neutral200};
|
|
26
|
+
padding-right: ${({theme:m})=>m.spaces[3]};
|
|
27
|
+
padding-left: ${({theme:m})=>m.spaces[3]};
|
|
28
|
+
border-radius: ${({theme:m})=>m.borderRadius};
|
|
29
|
+
background: ${({theme:m})=>m.colors.neutral0};
|
|
30
|
+
|
|
31
|
+
${({theme:m,$disabled:$})=>$?`
|
|
32
|
+
color: ${m.colors.neutral600};
|
|
33
|
+
background: ${m.colors.neutral150};
|
|
34
|
+
`:void 0}
|
|
35
|
+
|
|
36
|
+
${(0,O.k3)()}
|
|
37
|
+
`,f=e.default.div`
|
|
38
|
+
padding: 1px 2px;
|
|
39
|
+
grid-area: 1 / 1 / 2 / 3;
|
|
40
|
+
`,u=(0,e.default)(D.k)`
|
|
41
|
+
display: grid;
|
|
42
|
+
flex: 1 1 0%;
|
|
43
|
+
position: relative;
|
|
44
|
+
`,i=e.default.input`
|
|
45
|
+
display: inline-grid;
|
|
46
|
+
grid-area: 1 / 1 / 2 / 3;
|
|
47
|
+
grid-template-columns: 0px min-content;
|
|
48
|
+
background: transparent;
|
|
49
|
+
min-height: ${40/16}rem;
|
|
50
|
+
border: none;
|
|
51
|
+
flex: 1;
|
|
52
|
+
font-size: ${14/16}rem;
|
|
53
|
+
color: ${({theme:m})=>m.colors.neutral800};
|
|
54
|
+
outline: none;
|
|
55
|
+
&:focus-visible {
|
|
56
|
+
outline: none;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
outline-offset: 0;
|
|
59
|
+
}
|
|
60
|
+
&[aria-disabled='true'] {
|
|
61
|
+
background: inherit;
|
|
62
|
+
color: inherit;
|
|
63
|
+
cursor: not-allowed;
|
|
64
|
+
}
|
|
65
|
+
`,X=(0,e.default)(n.x)`
|
|
66
|
+
width: 100%;
|
|
67
|
+
border: none;
|
|
68
|
+
text-align: left;
|
|
69
|
+
outline-offset: -3px;
|
|
70
|
+
${({isSelected:m,theme:$})=>m&&`background: ${$.colors.primary100};`}
|
|
71
|
+
|
|
72
|
+
&:hover {
|
|
73
|
+
background: ${({theme:m})=>m.colors.primary100};
|
|
74
|
+
}
|
|
75
|
+
`},27169:function(re,x,t){t.d(x,{Z:function(){return n}});var e=t(74512);function n(D){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...D,children:(0,e.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.057 18c.552 0 1 .451 1 .997v4.006a1 1 0 01-.941.995l-.059.002c-.552 0-1-.451-1-.997v-4.006a1 1 0 01.941-.995l.06-.002zm-3.06-.736l.055.03c.478.276.64.89.367 1.364l-2.002 3.468a1 1 0 01-1.31.394l-.055-.03a1.002 1.002 0 01-.368-1.363l2.003-3.469a1 1 0 011.31-.394zm7.42.394l2.002 3.468a1 1 0 01-.314 1.331l-.053.033a1.002 1.002 0 01-1.365-.363l-2.003-3.469a1 1 0 01.314-1.33l.054-.034a1.002 1.002 0 011.364.364zm-9.548-2.66l.033.054c.276.478.11 1.091-.364 1.364L3.07 18.42a1 1 0 01-1.331-.314l-.033-.053a1.001 1.001 0 01.364-1.365l3.468-2.003a1 1 0 011.33.314zm11.79-.313l3.468 2.002a1 1 0 01.393 1.31l-.03.055c-.276.478-.89.64-1.363.367l-3.469-2.003a1 1 0 01-.394-1.309l.03-.055c.276-.479.89-.64 1.364-.367zm4.344-3.628a1 1 0 01.995.941l.002.06c0 .551-.451 1-.997 1h-4.006a1 1 0 01-.995-.942L18 12.057c0-.552.451-1 .997-1h4.006zm-18 0a1 1 0 01.995.941l.002.06c0 .551-.451 1-.998 1H.998a1 1 0 01-.996-.942L0 12.057c0-.552.451-1 .998-1h4.004zm17.454-5.059l.033.054c.277.478.11 1.091-.363 1.365l-3.469 2.002a1 1 0 01-1.33-.314l-.034-.053a1.002 1.002 0 01.364-1.365l3.468-2.003a1 1 0 011.331.314zM3.07 5.684l3.468 2.003a1 1 0 01.394 1.31l-.03.055c-.276.478-.89.64-1.364.367L2.07 7.417a1 1 0 01-.394-1.31l.03-.055c.276-.479.89-.64 1.364-.368zm14.926-4.008l.056.03c.478.276.64.89.367 1.364l-2.003 3.468a1 1 0 01-1.309.394l-.055-.03a1.002 1.002 0 01-.367-1.364l2.002-3.468a1 1 0 011.31-.394zm-10.58.394L9.42 5.538a1 1 0 01-.314 1.33l-.053.034a1.002 1.002 0 01-1.365-.364L5.684 3.07a1 1 0 01.314-1.331l.054-.033a1.002 1.002 0 011.365.364zM12.058 0c.552 0 1 .451 1 .998v4.004a1 1 0 01-.941.996L12.057 6c-.552 0-1-.451-1-.998V.998a1 1 0 01.941-.996l.06-.002z",fill:"#212134"})})}}}]);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{74767:function(We,S,t){t.r(S),t.d(S,{default:function(){return ge}});var e=t(32735),s=t(88425),W=t(72041),B=t(5141),U=t(5636),F=t(96709),X=t(28356),j=t(99223),J=t(17e3),Q=t(9695),M=t(87933),Y=t(27677),A=t(50563),x=t(44426),q=t(94745),_=t(73269),ee=t(76330),$=t(29005),d=t(66735),te=t(3594),g=t(49372),H=t(41415),ne=t(3685),b=t(60216),P=t(83292),K=t(72850);const y=P.default.div`
|
|
2
|
+
background: ${({theme:a})=>a.colors.danger500};
|
|
3
|
+
border: none;
|
|
4
|
+
border-radius: 16px;
|
|
5
|
+
position: relative;
|
|
6
|
+
height: ${24/16}rem;
|
|
7
|
+
width: ${40/16}rem;
|
|
8
|
+
|
|
9
|
+
& span {
|
|
10
|
+
font-size: ${({visibleLabels:a})=>a?"1rem":0};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:before {
|
|
14
|
+
content: '';
|
|
15
|
+
background: ${({theme:a})=>a.colors.neutral0};
|
|
16
|
+
width: 1rem;
|
|
17
|
+
height: 1rem;
|
|
18
|
+
border-radius: 50%;
|
|
19
|
+
position: absolute;
|
|
20
|
+
transition: all 0.5s;
|
|
21
|
+
left: ${({theme:a})=>a.spaces[1]};
|
|
22
|
+
top: ${({theme:a})=>a.spaces[1]};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
&:before {
|
|
27
|
+
transition: none;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`,ae=P.default.button`
|
|
31
|
+
background: transparent;
|
|
32
|
+
padding: 0;
|
|
33
|
+
border: none;
|
|
34
|
+
|
|
35
|
+
&[aria-checked='true'] ${y} {
|
|
36
|
+
background: ${({theme:a})=>a.colors.success500};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&[aria-checked='true'] ${y}:before {
|
|
40
|
+
transform: translateX(1rem);
|
|
41
|
+
}
|
|
42
|
+
`,T=e.forwardRef(({label:a,onChange:i,onLabel:o,offLabel:r,selected:h,visibleLabels:m,...u},l)=>e.createElement(ae,{ref:l,role:"switch","aria-checked":h,"aria-label":a,onClick:i,visibleLabels:m,type:"button",...u},e.createElement(M.k,null,e.createElement(y,null,e.createElement("span",null,o),e.createElement("span",null,r)),m&&e.createElement(K.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:h?"success600":"danger600"},h?o:r))));T.defaultProps={onLabel:"On",offLabel:"Off",visibleLabels:!1},T.propTypes={label:b.string.isRequired,offLabel:b.string,onChange:b.func.isRequired,onLabel:b.string,selected:b.bool.isRequired,visibleLabels:b.bool},T.displayName="Switch";var le=t(27649),oe=t(94638),C=t(19406),se=t(68625),G=t(4038),ie=t(54725),re=t(97889),de=t(3040),ce=t.n(de);const ue={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0};var Ee=(a,i)=>(0,re.default)(a,o=>{switch(i.type){case"GET_DATA_SUCCEEDED":{o.webhooks=i.data,o.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{o.loadingWebhooks=!a.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{ce()(o,["webhooks",...i.keys],i.value);break}case"SET_WEBHOOK_TO_DELETE":{o.webhookToDelete=i.id;break}case"SET_WEBHOOKS_TO_DELETE":{i.value?o.webhooksToDelete.push(i.id):o.webhooksToDelete=a.webhooksToDelete.filter(r=>r!==i.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{a.webhooksToDelete.length===0?o.webhooksToDelete=a.webhooks.map(r=>r.id):o.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{o.webhooks=a.webhooks.filter(r=>!a.webhooksToDelete.includes(r.id)),o.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{o.webhooks=a.webhooks.filter((r,h)=>h!==i.index),o.webhookToDelete=null;break}default:return o}}),he=t(98399),me=()=>{const{isLoading:a,allowedActions:{canCreate:i,canRead:o,canUpdate:r,canDelete:h}}=(0,s.useRBAC)(W.Z.settings.webhooks),m=(0,s.useNotification)(),u=(0,e.useRef)(!0),{formatMessage:l}=(0,U.useIntl)(),[be,v]=(0,e.useState)(!1),[{webhooks:L,webhooksToDelete:O,webhookToDelete:p,loadingWebhooks:w},E]=(0,e.useReducer)(Ee,ue),{notifyStatus:fe}=(0,oe.G)();(0,s.useFocusWhenNavigate)();const{push:Te}=(0,B.useHistory)(),{pathname:N}=(0,B.useLocation)(),D=L.length,f=O.length,I=n=>L.findIndex(c=>c.id===n);(0,e.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),(0,e.useEffect)(()=>{o&&ve()},[o]);const ve=async()=>{try{const{data:n}=await(0,s.request)("/admin/webhooks",{method:"GET"});u.current&&(E({type:"GET_DATA_SUCCEEDED",data:n}),fe("webhooks have been loaded"))}catch(n){he.log(n),u.current&&(n.code!==20&&m({type:"warning",message:{id:"notification.error"}}),E({type:"TOGGLE_LOADING"}))}},Le=()=>{v(n=>!n)},De=()=>{p?ke():ye()},ke=async()=>{try{await(0,s.request)(`/admin/webhooks/${p}`,{method:"DELETE"}),E({type:"WEBHOOK_DELETED",index:I(p)})}catch(n){n.code!==20&&m({type:"warning",message:{id:"notification.error"}})}v(!1)},ye=async()=>{const n={ids:O};try{await(0,s.request)("/admin/webhooks/batch-delete",{method:"POST",body:n}),u.current&&E({type:"WEBHOOKS_DELETED"})}catch(c){u.current&&c.code!==20&&m({type:"warning",message:{id:"notification.error"}})}v(!1)},R=n=>{v(!0),n!=="all"&&E({type:"SET_WEBHOOK_TO_DELETE",id:n})},Ce=async(n,c)=>{const V=I(c),we=L[V],Z=[V,"isEnabled"],z={...we,isEnabled:n};delete z.id;try{E({type:"SET_WEBHOOK_ENABLED",keys:Z,value:n}),await(0,s.request)(`/admin/webhooks/${c}`,{method:"PUT",body:z})}catch(Se){u.current&&(E({type:"SET_WEBHOOK_ENABLED",keys:Z,value:!n}),Se.code!==20&&m({type:"warning",message:{id:"notification.error"}}))}},Oe=()=>{E({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},pe=(n,c)=>{E({type:"SET_WEBHOOKS_TO_DELETE",value:n,id:c})},k=n=>{Te(`${N}/${n}`)};return e.createElement(F.A,null,e.createElement(s.SettingsPageTitle,{name:"Webhooks"}),e.createElement(le.o,{"aria-busy":a||w},e.createElement(X.T,{title:l({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:l({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:i&&!w&&e.createElement(s.LinkButton,{startIcon:e.createElement(C.default,null),variant:"default",to:`${N}/create`,size:"S"},l({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),f>0&&h&&e.createElement(j.Z,{startActions:e.createElement(e.Fragment,null,e.createElement(g.Z,{variant:"epsilon",textColor:"neutral600"},l({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:f})),e.createElement(H.z,{onClick:()=>R("all"),startIcon:e.createElement(G.default,null),size:"L",variant:"danger-light"},l({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(J.D,null,a||w?e.createElement(K.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.LoadingIndicatorPage,null)):e.createElement(e.Fragment,null,D>0?e.createElement(q.i,{colCount:5,rowCount:D+1,footer:e.createElement(_.c,{onClick:()=>i?k("create"):{},icon:e.createElement(C.default,null)},l({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(ee.h,null,e.createElement($.Tr,null,e.createElement(d.Th,null,e.createElement(x.C,{"aria-label":l({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:f>0&&f<D,value:f===D,onValueChange:Oe})),e.createElement(d.Th,{width:"20%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},l({id:"global.name",defaultMessage:"Name"}))),e.createElement(d.Th,{width:"60%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},l({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(d.Th,{width:"20%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},l({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(d.Th,null,e.createElement(ne.T,null,l({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(te.p,null,L.map(n=>e.createElement($.Tr,{key:n.id,...(0,s.onRowClick)({fn:()=>k(n.id),condition:r})},e.createElement(d.Td,{...s.stopPropagation},e.createElement(x.C,{"aria-label":`${l({id:"global.select",defaultMessage:"Select"})} ${n.name}`,value:O?.includes(n.id),onValueChange:c=>pe(c,n.id),id:"select",name:"select"})),e.createElement(d.Td,null,e.createElement(g.Z,{fontWeight:"semiBold",textColor:"neutral800"},n.name)),e.createElement(d.Td,null,e.createElement(g.Z,{textColor:"neutral800"},n.url)),e.createElement(d.Td,null,e.createElement(M.k,{...s.stopPropagation},e.createElement(T,{onLabel:l({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:l({id:"global.disabled",defaultMessage:"Disabled"}),label:`${n.name} ${l({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:n.isEnabled,onChange:()=>Ce(!n.isEnabled,n.id),visibleLabels:!0}))),e.createElement(d.Td,null,e.createElement(Y.K,{horizontal:!0,spacing:1,...s.stopPropagation},r&&e.createElement(A.h,{onClick:()=>{k(n.id)},label:l({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(se.Z,null),noBorder:!0}),h&&e.createElement(A.h,{onClick:()=>R(n.id),label:l({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(G.default,null),noBorder:!0,id:`delete-${n.id}`}))))))):e.createElement(Q.x,{icon:e.createElement(ie.default,{width:"160px"}),content:l({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(H.z,{variant:"secondary",startIcon:e.createElement(C.default,null),onClick:()=>i?k("create"):{}},l({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),e.createElement(s.ConfirmDialog,{isOpen:be,onToggleDialog:Le,onConfirm:De}))},ge=()=>e.createElement(s.CheckPagePermissions,{permissions:W.Z.settings.webhooks.main},e.createElement(me,null))}}]);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import adminPermissions from '../../../../../admin/src/permissions';
|
|
2
|
+
|
|
3
|
+
const auditLogsRoutes = strapi.features.isEnabled(strapi.features.AUDIT_LOGS)
|
|
4
|
+
? [
|
|
5
|
+
{
|
|
6
|
+
intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },
|
|
7
|
+
to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
|
|
8
|
+
id: 'auditLogs',
|
|
9
|
+
isDisplayed: false,
|
|
10
|
+
permissions: adminPermissions.settings.auditLogs.main,
|
|
11
|
+
},
|
|
12
|
+
]
|
|
13
|
+
: [];
|
|
14
|
+
|
|
15
|
+
const customAdminLinks = [...auditLogsRoutes];
|
|
16
|
+
|
|
17
|
+
export default customAdminLinks;
|