@strapi/admin 4.5.1 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/admin/src/components/LeftMenu/index.js +22 -4
  2. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +4 -3
  3. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +79 -76
  4. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +2 -2
  5. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +1 -1
  6. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +1 -1
  7. package/admin/src/translations/nl.json +210 -23
  8. package/admin/src/translations/pt.json +33 -32
  9. package/admin/src/translations/zh.json +280 -95
  10. package/build/{7692.31e83caa.chunk.js → 1233.bddaaa76.chunk.js} +144 -445
  11. package/build/1920.208c77f8.chunk.js +245 -0
  12. package/build/2438.afe24949.chunk.js +2525 -0
  13. package/build/2517.5cc235ba.chunk.js +117 -0
  14. package/build/4306.e62b841c.chunk.js +98 -0
  15. package/build/4318.7931eee7.chunk.js +30 -0
  16. package/build/4986.3820d11d.chunk.js +145 -0
  17. package/build/{8469.41c8d25f.chunk.js → 5015.f080b64e.chunk.js} +6 -1
  18. package/build/504.9aeff724.chunk.js +758 -0
  19. package/build/805.a1894307.chunk.js +138 -0
  20. package/build/8633.8da5488a.chunk.js +1 -0
  21. package/build/9707.932a3c12.chunk.js +70 -0
  22. package/build/Admin-authenticatedApp.7484bdf1.chunk.js +80 -0
  23. package/build/Admin_InternalErrorPage.e0317a5e.chunk.js +1 -0
  24. package/build/Admin_homePage.54e33c2d.chunk.js +77 -0
  25. package/build/Admin_marketplace.ff012eb2.chunk.js +26 -0
  26. package/build/Admin_pluginsPage.3c872de7.chunk.js +6 -0
  27. package/build/Admin_profilePage.e9fcce92.chunk.js +15 -0
  28. package/build/Admin_settingsPage.a1a5218b.chunk.js +178 -0
  29. package/build/admin-app.9cb0abc7.chunk.js +112 -0
  30. package/build/admin-edit-roles-page.23f15909.chunk.js +1 -0
  31. package/build/admin-edit-users.283b49ed.chunk.js +10 -0
  32. package/build/admin-users.a0748674.chunk.js +11 -0
  33. package/build/api-tokens-list-page.700e575f.chunk.js +16 -0
  34. package/build/content-manager.577fddcb.chunk.js +1200 -0
  35. package/build/content-type-builder-list-view.95012cf0.chunk.js +201 -0
  36. package/build/content-type-builder-translation-pt-json.96a31576.chunk.js +1 -0
  37. package/build/content-type-builder-translation-zh-json.3b0afd31.chunk.js +1 -0
  38. package/build/content-type-builder.95b9d6a2.chunk.js +145 -0
  39. package/build/email-settings-page.4bb3606f.chunk.js +15 -0
  40. package/build/email-translation-pt-json.159505ab.chunk.js +1 -0
  41. package/build/email-translation-zh-json.62b1c6fe.chunk.js +1 -0
  42. package/build/i18n-settings-page.195d42fe.chunk.js +1 -0
  43. package/build/i18n-translation-zh-json.eeebb849.chunk.js +1 -0
  44. package/build/index.html +1 -1
  45. package/build/main.23670c4c.js +2026 -0
  46. package/build/nl-json.26f39180.chunk.js +1 -0
  47. package/build/pt-json.cd67ba86.chunk.js +1 -0
  48. package/build/runtime~main.4dc8c7c6.js +2 -0
  49. package/build/sso-settings-page.9f091262.chunk.js +1 -0
  50. package/build/upload-settings.3010911f.chunk.js +18 -0
  51. package/build/upload-translation-pt-json.5c452b48.chunk.js +1 -0
  52. package/build/upload-translation-zh-json.ac5711de.chunk.js +1 -0
  53. package/build/upload.9f19f2e8.chunk.js +64 -0
  54. package/build/users-advanced-settings-page.9df41d67.chunk.js +13 -0
  55. package/build/users-email-settings-page.56d82eaf.chunk.js +28 -0
  56. package/build/users-permissions-translation-zh-json.92f406f9.chunk.js +1 -0
  57. package/build/users-providers-settings-page.96bb7da0.chunk.js +33 -0
  58. package/build/users-roles-settings-page.445e5e16.chunk.js +30 -0
  59. package/build/webhook-edit-page.3285abc4.chunk.js +75 -0
  60. package/build/webhook-list-page.b87821f2.chunk.js +42 -0
  61. package/build/zh-json.2ecc6b99.chunk.js +1 -0
  62. package/jest.config.front.js +0 -1
  63. package/package.json +11 -10
  64. package/webpack.alias.js +3 -2
  65. package/webpack.config.js +13 -1
  66. package/build/1856.db9f5782.chunk.js +0 -174
  67. package/build/2077.fed8c9c3.chunk.js +0 -206
  68. package/build/2912.fccb2c43.chunk.js +0 -259
  69. package/build/4318.5e670740.chunk.js +0 -30
  70. package/build/4610.7614b003.chunk.js +0 -342
  71. package/build/4715.8e33d630.chunk.js +0 -387
  72. package/build/4800.a6935af6.chunk.js +0 -1
  73. package/build/4982.9e58ea3f.chunk.js +0 -325
  74. package/build/6925.bb6dd64d.chunk.js +0 -762
  75. package/build/7379.e972985f.chunk.js +0 -1
  76. package/build/7841.4804bd98.chunk.js +0 -259
  77. package/build/7866.6db2248d.chunk.js +0 -505
  78. package/build/8380.37126e0d.chunk.js +0 -299
  79. package/build/8549.5e5fb6b6.chunk.js +0 -159
  80. package/build/8738.5a02bffb.chunk.js +0 -463
  81. package/build/9066.5d980488.chunk.js +0 -101
  82. package/build/9420.7addc099.chunk.js +0 -505
  83. package/build/9649.b6afc945.chunk.js +0 -199
  84. package/build/Admin-authenticatedApp.c07d2a86.chunk.js +0 -80
  85. package/build/Admin_InternalErrorPage.12e24216.chunk.js +0 -1
  86. package/build/Admin_homePage.26d32e30.chunk.js +0 -72
  87. package/build/Admin_marketplace.444ff7b8.chunk.js +0 -22
  88. package/build/Admin_pluginsPage.4d59785a.chunk.js +0 -1
  89. package/build/Admin_profilePage.da32abbc.chunk.js +0 -15
  90. package/build/Admin_settingsPage.bf2234e1.chunk.js +0 -178
  91. package/build/admin-app.b157c10a.chunk.js +0 -112
  92. package/build/admin-edit-roles-page.69d9fcb2.chunk.js +0 -1
  93. package/build/admin-edit-users.c585212f.chunk.js +0 -10
  94. package/build/admin-users.d71f198a.chunk.js +0 -11
  95. package/build/api-tokens-list-page.bb36535f.chunk.js +0 -16
  96. package/build/content-manager.f38edbb6.chunk.js +0 -1202
  97. package/build/content-type-builder-list-view.5b3cd768.chunk.js +0 -194
  98. package/build/content-type-builder-translation-pt-json.766bd747.chunk.js +0 -1
  99. package/build/content-type-builder-translation-zh-json.2cc55621.chunk.js +0 -1
  100. package/build/content-type-builder.16af63a6.chunk.js +0 -145
  101. package/build/email-settings-page.91c925a5.chunk.js +0 -103
  102. package/build/email-translation-pt-json.959ea070.chunk.js +0 -1
  103. package/build/email-translation-zh-json.3455468b.chunk.js +0 -1
  104. package/build/i18n-settings-page.4ef64441.chunk.js +0 -101
  105. package/build/main.ca8b0ee3.js +0 -9465
  106. package/build/nl-json.2b8cc3a0.chunk.js +0 -1
  107. package/build/pt-json.3161ca22.chunk.js +0 -1
  108. package/build/runtime~main.ede9da1e.js +0 -2
  109. package/build/sso-settings-page.9ceb0140.chunk.js +0 -1
  110. package/build/upload-settings.3f7ad973.chunk.js +0 -101
  111. package/build/upload-translation-zh-json.ee8fba96.chunk.js +0 -1
  112. package/build/upload.7084cea6.chunk.js +0 -7
  113. package/build/users-advanced-settings-page.6a838320.chunk.js +0 -101
  114. package/build/users-email-settings-page.73c41236.chunk.js +0 -1
  115. package/build/users-permissions-translation-zh-json.e03ae2a4.chunk.js +0 -1
  116. package/build/users-providers-settings-page.f8e78537.chunk.js +0 -1
  117. package/build/users-roles-settings-page.b33ec5e5.chunk.js +0 -30
  118. package/build/webhook-edit-page.dc9442ce.chunk.js +0 -23
  119. package/build/webhook-list-page.a110c462.chunk.js +0 -134
  120. package/build/zh-json.608aaf24.chunk.js +0 -1
@@ -0,0 +1,28 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:(H,C,t)=>{t.r(C),t.d(C,{default:()=>Le});var e=t(32735),T=t(84968),d=t(5636),o=t(88425),g=t(94638),b=t(27649),L=t(28356),O=t(17e3),f=t(88369),a=t(59677),P=(s,i,l)=>new Promise((D,R)=>{var U=A=>{try{W(l.next(A))}catch(w){R(w)}},S=A=>{try{W(l.throw(A))}catch(w){R(w)}},W=A=>A.done?D(A.value):Promise.resolve(A.value).then(U,S);W((l=l.apply(s,i)).next())});const B=()=>P(void 0,null,function*(){const{data:s}=yield a.be.get((0,a.Gc)("email-templates"));return s}),u=s=>a.be.put((0,a.Gc)("email-templates"),s);var E=t(60216),r=t.n(E),y=t(56755),j=t(33827),K=t(94547),x=t(19786),c=t(35658),M=t(3685),h=t(88860),n=t(50563),m=t(99140),p=t(68625),v=t(44647),I=t(66456),Z=Object.defineProperty,F=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,X=(s,i,l)=>i in s?Z(s,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):s[i]=l,N=(s,i)=>{for(var l in i||(i={}))J.call(i,l)&&X(s,l,i[l]);if(F)for(var l of F(i))ee.call(i,l)&&X(s,l,i[l]);return s};const V=({canUpdate:s,onEditClick:i})=>{const{formatMessage:l}=(0,d.useIntl)();return e.createElement(y.i,{colCount:3,rowCount:3},e.createElement(j.h,null,e.createElement(K.Tr,null,e.createElement(x.Th,{width:"1%"},e.createElement(M.T,null,l({id:(0,a.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(x.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},l({id:(0,a.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(x.Th,{width:"1%"},e.createElement(M.T,null,l({id:(0,a.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(c.p,null,e.createElement(K.Tr,N({},(0,o.onRowClick)({fn:()=>i("reset_password")})),e.createElement(x.Td,null,e.createElement(m.J,null,e.createElement(v.Z,{"aria-label":l({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(x.Td,null,e.createElement(h.Z,null,l({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(x.Td,N({},o.stopPropagation),e.createElement(n.h,{onClick:()=>i("reset_password"),label:l({id:(0,a.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(p.Z,null)}))),e.createElement(K.Tr,N({},(0,o.onRowClick)({fn:()=>i("email_confirmation")})),e.createElement(x.Td,null,e.createElement(m.J,null,e.createElement(I.Z,{"aria-label":l({id:(0,a.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(x.Td,null,e.createElement(h.Z,null,l({id:(0,a.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(x.Td,N({},o.stopPropagation),e.createElement(n.h,{onClick:()=>i("email_confirmation"),label:l({id:(0,a.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(p.Z,null)})))))};V.propTypes={canUpdate:r().bool.isRequired,onEditClick:r().func.isRequired};const de=V;var me=t(83281),ce=t(85025),pe=t(55225),ue=t(31600),Ee=t(11406),ve=t(15335),G=t(5803),ne=t(41415),te=t(11299),fe=t(10508),$=t(5173);const ye=$.Ry().shape({options:$.Ry().shape({from:$.Ry().shape({name:$.Z_().required(o.translatedErrors.required),email:$.Z_().email(o.translatedErrors.email).required(o.translatedErrors.required)}).required(),response_email:$.Z_().email(o.translatedErrors.email),object:$.Z_().required(o.translatedErrors.required),message:$.Z_().required(o.translatedErrors.required)}).required(o.translatedErrors.required)}),le=({template:s,onToggle:i,onSubmit:l})=>{const{formatMessage:D}=(0,d.useIntl)();return e.createElement(ce.P,{onClose:i,labelledBy:`${D({id:(0,a.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${D({id:(0,a.OB)(s.display),defaultMessage:s.display})}`},e.createElement(pe.x,null,e.createElement(te.O,{label:`${D({id:(0,a.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${D({id:(0,a.OB)(s.display),defaultMessage:s.display})}`},e.createElement(te.$,null,D({id:(0,a.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(te.$,null,D({id:(0,a.OB)(s.display),defaultMessage:s.display})))),e.createElement(me.Formik,{onSubmit:l,initialValues:s,validateOnChange:!1,validationSchema:ye,enableReinitialize:!0},({errors:R,values:U,handleChange:S,isSubmitting:W})=>{var A,w,Q,Y,k,_,q;return e.createElement(o.Form,null,e.createElement(ue.f,null,e.createElement(ve.r,{gap:5},e.createElement(G.P,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,a.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:S,value:U.options.from.name,error:(w=(A=R==null?void 0:R.options)==null?void 0:A.from)==null?void 0:w.name,type:"text"})),e.createElement(G.P,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,a.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:S,value:U.options.from.email,error:(Y=(Q=R==null?void 0:R.options)==null?void 0:Q.from)==null?void 0:Y.email,type:"text"})),e.createElement(G.P,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,a.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:S,value:U.options.response_email,error:(k=R==null?void 0:R.options)==null?void 0:k.response_email,type:"text"})),e.createElement(G.P,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,a.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:S,value:U.options.object,error:(_=R==null?void 0:R.options)==null?void 0:_.object,type:"text"})),e.createElement(G.P,{col:12,s:12},e.createElement(fe.g,{label:D({id:(0,a.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:S,value:U.options.message,error:((q=R==null?void 0:R.options)==null?void 0:q.message)&&D({id:R.options.message,defaultMessage:R.options.message})})))),e.createElement(Ee.m,{startActions:e.createElement(ne.z,{onClick:i,variant:"tertiary"},"Cancel"),endActions:e.createElement(ne.z,{loading:W,type:"submit"},"Finish")}))}))};le.propTypes={template:r().shape({display:r().string,icon:r().string,options:r().shape({from:r().shape({name:r().string,email:r().string}),message:r().string,object:r().string,response_email:r().string})}).isRequired,onSubmit:r().func.isRequired,onToggle:r().func.isRequired};const ge=le;var he=Object.defineProperty,Oe=Object.defineProperties,Pe=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,oe=(s,i,l)=>i in s?he(s,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):s[i]=l,Me=(s,i)=>{for(var l in i||(i={}))Te.call(i,l)&&oe(s,l,i[l]);if(re)for(var l of re(i))be.call(i,l)&&oe(s,l,i[l]);return s},Be=(s,i)=>Oe(s,Pe(i)),Re=(s,i,l)=>new Promise((D,R)=>{var U=A=>{try{W(l.next(A))}catch(w){R(w)}},S=A=>{try{W(l.throw(A))}catch(w){R(w)}},W=A=>A.done?D(A.value):Promise.resolve(A.value).then(U,S);W((l=l.apply(s,i)).next())});const Ae=()=>e.createElement(o.CheckPagePermissions,{permissions:f.Z.readEmailTemplates},e.createElement(Ce,null)),Ce=()=>{const{formatMessage:s}=(0,d.useIntl)(),{trackUsage:i}=(0,o.useTracking)(),{notifyStatus:l}=(0,g.G)(),D=(0,o.useNotification)(),{lockApp:R,unlockApp:U}=(0,o.useOverlayBlocker)(),S=(0,e.useRef)(i),W=(0,T.useQueryClient)();(0,o.useFocusWhenNavigate)();const[A,w]=(0,e.useState)(!1),[Q,Y]=(0,e.useState)(null),k=(0,e.useMemo)(()=>({update:f.Z.updateEmailTemplates}),[]),{isLoading:_,allowedActions:{canUpdate:q}}=(0,o.useRBAC)(k),{status:De,data:se}=(0,T.useQuery)("email-templates",()=>B(),{onSuccess(){l(s({id:(0,a.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),xe=_||De!=="success",ae=()=>{w(z=>!z)},je=z=>{Y(z),ae()},ie=(0,T.useMutation)(z=>u({"email-templates":z}),{onSuccess(){return Re(this,null,function*(){yield W.invalidateQueries("email-templates"),D({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),S.current("didEditEmailTemplates"),U(),ae()})},onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),U()},refetchActive:!0}),{isLoading:Ie}=ie,Ue=z=>{R(),S.current("willEditEmailTemplates");const Se=Be(Me({},se),{[Q]:z});ie.mutate(Se)};return xe?e.createElement(b.o,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:s({id:(0,a.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(L.T,{title:s({id:(0,a.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.D,null,e.createElement(o.LoadingIndicatorPage,null))):e.createElement(b.o,{"aria-busy":Ie},e.createElement(o.SettingsPageTitle,{name:s({id:(0,a.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(L.T,{title:s({id:(0,a.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.D,null,e.createElement(de,{onEditClick:je,canUpdate:q}),A&&e.createElement(ge,{template:se[Q],onToggle:ae,onSubmit:Ue})))},Le=Ae},8917:(H,C,t)=>{t.d(C,{Z:()=>L});var e=t(43653),T=t.n(e),d=t(88425),o=t.n(d),g=(O,f,a)=>new Promise((P,B)=>{var u=y=>{try{r(a.next(y))}catch(j){B(j)}},E=y=>{try{r(a.throw(y))}catch(j){B(j)}},r=y=>y.done?P(y.value):Promise.resolve(y.value).then(u,E);r((a=a.apply(O,f)).next())});const b=T().create({baseURL:"http://localhost:1337"});b.interceptors.request.use(O=>g(void 0,null,function*(){return O.headers={Authorization:`Bearer ${d.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},O}),O=>{Promise.reject(O)}),b.interceptors.response.use(O=>O,O=>{var f;throw((f=O.response)==null?void 0:f.status)===401&&(d.auth.clearAppStorage(),window.location.reload()),O});const L=b},59677:(H,C,t)=>{t.d(C,{be:()=>e.Z,YX:()=>o,Gc:()=>L,OB:()=>O.Z});var e=t(8917),T=t(92891);const o=f=>Object.keys(f).reduce((a,P)=>{const B=f[P].controllers,u=Object.keys(B).reduce((E,r)=>((0,T.isEmpty)(B[r])||(E[r]=B[r]),E),{});return(0,T.isEmpty)(u)||(a[P]={controllers:u}),a},{});var g=t(90201);const L=f=>`/${g.Z}/${f}`;var O=t(82069)},11299:(H,C,t)=>{t.d(C,{$:()=>j,O:()=>x});var e=t(32735),T=t(60216),d=t(83292),o=t(77277),g=t(88860),b=t(62345),L=t(36320),O=t(3685),f=Object.defineProperty,a=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,u=(c,M,h)=>M in c?f(c,M,{enumerable:!0,configurable:!0,writable:!0,value:h}):c[M]=h,E=(c,M)=>{for(var h in M||(M={}))P.call(M,h)&&u(c,h,M[h]);if(a)for(var h of a(M))B.call(M,h)&&u(c,h,M[h]);return c},r=(c,M)=>{var h={};for(var n in c)P.call(c,n)&&M.indexOf(n)<0&&(h[n]=c[n]);if(c!=null&&a)for(var n of a(c))M.indexOf(n)<0&&B.call(c,n)&&(h[n]=c[n]);return h};const y=(0,d.default)(L.k)`
2
+ svg {
3
+ height: ${10/16}rem;
4
+ width: ${10/16}rem;
5
+ path {
6
+ fill: ${({theme:c})=>c.colors.neutral500};
7
+ }
8
+ }
9
+ :last-of-type ${b.x} {
10
+ display: none;
11
+ }
12
+ :last-of-type ${g.Z} {
13
+ color: ${({theme:c})=>c.colors.neutral800};
14
+ font-weight: ${({theme:c})=>c.fontWeights.bold};
15
+ }
16
+ `,j=({children:c})=>e.createElement(y,{inline:!0,as:"li"},e.createElement(g.Z,{variant:"pi",textColor:"neutral600"},c),e.createElement(b.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3},e.createElement(o.default,null)));j.displayName="Crumb",j.propTypes={children:T.node.isRequired};const K=T.shape({type:T.oneOf([j])}),x=c=>{var M=c,{children:h,label:n}=M,m=r(M,["children","label"]);return e.createElement(L.k,E({},m),e.createElement(O.T,null,n),e.createElement("ol",{"aria-hidden":!0},h))};x.displayName="Breadcrumbs",x.propTypes={children:T.oneOfType([T.arrayOf(K),K]).isRequired,label:T.string.isRequired}},17e3:(H,C,t)=>{t.d(C,{D:()=>o});var e=t(32735),T=t(60216),d=t(62345);const o=({children:g})=>e.createElement(d.x,{paddingLeft:10,paddingRight:10},g);o.propTypes={children:T.node.isRequired}},28356:(H,C,t)=>{t.d(C,{T:()=>c});var e=t(32735),T=t(83292),d=t(60216),o=t(88860),g=t(62345),b=t(36320);const L=n=>{const m=(0,e.useRef)(null),[p,v]=(0,e.useState)(!0),I=([Z])=>{v(Z.isIntersecting)};return(0,e.useEffect)(()=>{const Z=m.current,F=new IntersectionObserver(I,n);return Z&&F.observe(m.current),()=>{Z&&F.disconnect()}},[m,n]),[m,p]},O=(n,m)=>{(0,e.useLayoutEffect)(()=>{const p=new ResizeObserver(m);return Array.isArray(n)?n.map(v=>{v.current&&p.observe(v.current)}):n.current&&p.observe(n.current),()=>{p.disconnect()}},[])};var f=Object.defineProperty,a=Object.defineProperties,P=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,r=(n,m,p)=>m in n?f(n,m,{enumerable:!0,configurable:!0,writable:!0,value:p}):n[m]=p,y=(n,m)=>{for(var p in m||(m={}))u.call(m,p)&&r(n,p,m[p]);if(B)for(var p of B(m))E.call(m,p)&&r(n,p,m[p]);return n},j=(n,m)=>a(n,P(m)),K=(n,m)=>{var p={};for(var v in n)u.call(n,v)&&m.indexOf(v)<0&&(p[v]=n[v]);if(n!=null&&B)for(var v of B(n))m.indexOf(v)<0&&E.call(n,v)&&(p[v]=n[v]);return p};const x=()=>{const n=(0,e.useRef)(null),[m,p]=(0,e.useState)(null),[v,I]=L({root:null,rootMargin:"0px",threshold:0});return O(v,()=>{v.current&&p(v.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{n.current&&p(n.current.getBoundingClientRect())},[n]),{containerRef:v,isVisible:I,baseHeaderLayoutRef:n,headerSize:m}},c=n=>{const{containerRef:m,isVisible:p,baseHeaderLayoutRef:v,headerSize:I}=x();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:I==null?void 0:I.height},ref:m},p&&e.createElement(h,y({ref:v},n))),!p&&e.createElement(h,j(y({},n),{sticky:!0,width:I==null?void 0:I.width})))};c.displayName="HeaderLayout";const M=(0,T.default)(g.x)`
17
+ position: fixed;
18
+ top: 0;
19
+ right: 0;
20
+ width: ${n=>n.width}px;
21
+ z-index: 4;
22
+ box-shadow: ${({theme:n})=>n.shadows.tableShadow};
23
+ `,h=e.forwardRef((n,m)=>{var p=n,{navigationAction:v,primaryAction:I,secondaryAction:Z,subtitle:F,title:J,sticky:ee,width:X}=p,N=K(p,["navigationAction","primaryAction","secondaryAction","subtitle","title","sticky","width"]);const V=typeof F=="string";return ee?e.createElement(M,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,background:"neutral0",width:X,"data-strapi-header-sticky":!0},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(b.k,null,v&&e.createElement(g.x,{paddingRight:3},v),e.createElement(g.x,null,e.createElement(o.Z,y({variant:"beta",as:"h1"},N),J),V?e.createElement(o.Z,{variant:"pi",textColor:"neutral600"},F):F),Z?e.createElement(g.x,{paddingLeft:4},Z):null),e.createElement(b.k,null,I?e.createElement(g.x,{paddingLeft:2},I):void 0))):e.createElement(g.x,{ref:m,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:v?6:8,background:"neutral100","data-strapi-header":!0},v?e.createElement(g.x,{paddingBottom:2},v):null,e.createElement(b.k,{justifyContent:"space-between"},e.createElement(b.k,null,e.createElement(o.Z,y({as:"h1",variant:"alpha"},N),J),Z?e.createElement(g.x,{paddingLeft:4},Z):null),I),V?e.createElement(o.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},F):F)});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:d.node,primaryAction:d.node,secondaryAction:d.node,sticky:d.bool,subtitle:d.oneOfType([d.string,d.node]),title:d.string.isRequired,width:d.number},c.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},c.propTypes={navigationAction:d.node,primaryAction:d.node,secondaryAction:d.node,subtitle:d.oneOfType([d.string,d.node]),title:d.string.isRequired}},27649:(H,C,t)=>{t.d(C,{o:()=>B});var e=t(32735),T=t(60216),d=t(83292),o=Object.defineProperty,g=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,O=(u,E,r)=>E in u?o(u,E,{enumerable:!0,configurable:!0,writable:!0,value:r}):u[E]=r,f=(u,E)=>{for(var r in E||(E={}))b.call(E,r)&&O(u,r,E[r]);if(g)for(var r of g(E))L.call(E,r)&&O(u,r,E[r]);return u},a=(u,E)=>{var r={};for(var y in u)b.call(u,y)&&E.indexOf(y)<0&&(r[y]=u[y]);if(u!=null&&g)for(var y of g(u))E.indexOf(y)<0&&L.call(u,y)&&(r[y]=u[y]);return r};const P=d.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
+ `,B=u=>{var E=u,{labelledBy:r}=E,y=a(E,["labelledBy"]);const j=r||"main-content-title";return e.createElement(P,f({"aria-labelledby":j,id:"main-content",tabIndex:-1},y))};B.defaultProps={labelledBy:void 0},B.propTypes={labelledBy:T.string}},44647:(H,C,t)=>{t.d(C,{Z:()=>O});var e=t(32735),T=Object.defineProperty,d=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,b=(f,a,P)=>a in f?T(f,a,{enumerable:!0,configurable:!0,writable:!0,value:P}):f[a]=P,L=(f,a)=>{for(var P in a||(a={}))o.call(a,P)&&b(f,P,a[P]);if(d)for(var P of d(a))g.call(a,P)&&b(f,P,a[P]);return f};function O(f){return e.createElement("svg",L({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},f),e.createElement("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 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5396],{58192:e=>{e.exports=JSON.parse(`{"BoundRoute.title":"\u7D81\u5B9A\u8DEF\u5F91\u5230","EditForm.inputSelect.description.role":"\u5C07\u65B0\u7684\u9A57\u8B49\u4F7F\u7528\u8005\u52A0\u5165\u6B64\u8EAB\u4EFD\u3002","EditForm.inputSelect.label.role":"\u9A57\u8B49\u4F7F\u7528\u8005\u9810\u8A2D\u8EAB\u4EFD","EditForm.inputToggle.description.email":"\u7981\u6B62\u4F7F\u7528\u8005\u4F7F\u7528\u540C\u4E00\u500B\u96FB\u5B50\u90F5\u4EF6\u5730\u5740 + \u4E0D\u540C\u7684\u9A57\u8B49\u65B9\u5F0F\u8A3B\u518A\u591A\u500B\u5E33\u865F","EditForm.inputToggle.description.email-confirmation":"\u7576\u555F\u7528\u5F8C\uFF0C\u65B0\u8A3B\u518A\u7684\u4F7F\u7528\u8005\u5C07\u6703\u6536\u5230\u4E00\u5C01\u8A8D\u8B49\u90F5\u4EF6\u3002","EditForm.inputToggle.description.email-confirmation-redirection":"\u8A8D\u8B49\u5B8C\u5F8C\u5F8C\uFF0C\u4F7F\u7528\u8005\u88AB\u91CD\u65B0\u5C0E\u5411\u7684\u7DB2\u5740\u3002","EditForm.inputToggle.description.email-reset-password":"\u60A8\u7684\u61C9\u7528\u7A0B\u5F0F\u7684\u91CD\u8A2D\u5BC6\u78BC\u9801\u9762\u7684\u7DB2\u5740","EditForm.inputToggle.description.sign-up":"\u7576\u505C\u7528\u5F8C\uFF0C\u4E0D\u8AD6\u4F7F\u7528\u4EFB\u4F55\u9A57\u8B49\u65B9\u5F0F\u4F7F\u7528\u8005\u5C07\u7121\u6CD5\u8A3B\u518A\u3002","EditForm.inputToggle.label.email":"\u96FB\u5B50\u90F5\u4EF6\u5730\u5740\u55AE\u4E00\u5E33\u865F\u9650\u5236","EditForm.inputToggle.label.email-confirmation":"\u555F\u7528\u96FB\u5B50\u90F5\u4EF6\u5730\u5740\u9A57\u8B49","EditForm.inputToggle.label.email-confirmation-redirection":"\u91CD\u65B0\u5C0E\u5411\u7DB2\u5740","EditForm.inputToggle.label.email-reset-password":"\u5BC6\u78BC\u91CD\u8A2D\u9801\u9762","EditForm.inputToggle.label.sign-up":"\u555F\u7528\u8A3B\u518A","EditForm.inputToggle.placeholder.email-confirmation-redirection":"\u4F8B\u5982\uFF1Ahttps://yourfrontend.com/email-confirmation-redirection","EditForm.inputToggle.placeholder.email-reset-password":"\u4F8B\u5982\uFF1Ahttps://yourfrontend.com/reset-password","EditPage.form.roles":"\u89D2\u8272\u8A73\u7D30\u8CC7\u8A0A","Email.template.data.loaded":"\u5DF2\u8F09\u5165\u96FB\u5B50\u90F5\u4EF6\u7BC4\u672C","Email.template.email_confirmation":"\u96FB\u5B50\u90F5\u4EF6\u5730\u5740\u78BA\u8A8D","Email.template.form.edit.label":"\u7DE8\u8F2F\u7BC4\u672C","Email.template.table.action.label":"\u64CD\u4F5C","Email.template.table.icon.label":"\u5716\u793A","Email.template.table.name.label":"\u540D\u7A31","Form.advancedSettings.data.loaded":"\u5DF2\u8F09\u5165\u9032\u968E\u8A2D\u5B9A\u8CC7\u6599","HeaderNav.link.advancedSettings":"\u9032\u968E\u8A2D\u5B9A","HeaderNav.link.emailTemplates":"\u90F5\u4EF6\u7BC4\u672C","HeaderNav.link.providers":"\u9A57\u8B49\u65B9\u5F0F","Plugin.permissions.plugins.description":"\u70BA {name} \u64F4\u5145\u529F\u80FD\u5B9A\u7FA9\u6240\u6709\u53EF\u7528\u7684\u64CD\u4F5C","Plugins.header.description":"\u53EA\u6709\u7D81\u5B9A\u8DEF\u5F91\u7684\u64CD\u4F5C\u6703\u986F\u793A\u5728\u4E0B\u65B9","Plugins.header.title":"\u6B0A\u9650","Policies.header.hint":"\u9078\u53D6\u61C9\u7528\u7A0B\u5F0F\u6216\u64F4\u5145\u529F\u80FD\u7684\u64CD\u4F5C\u7136\u5F8C\u9EDE\u64CA\u9F52\u8F2A\u5716\u793A\u4EE5\u986F\u793A\u7D81\u5B9A\u8DEF\u5F91","Policies.header.title":"\u9032\u968E\u8A2D\u5B9A","PopUpForm.Email.email_templates.inputDescription":"\u5982\u679C\u60A8\u4E0D\u78BA\u5B9A\u8981\u600E\u9EBC\u4F7F\u7528\u8B8A\u6578\uFF0C\u8ACB {link}","PopUpForm.Email.link.documentation":"\u67E5\u95B1\u6211\u5011\u7684\u8AAA\u660E\u6587\u4EF6\u3002","PopUpForm.Email.options.from.email.label":"\u5BC4\u4EF6\u4EBA\u5730\u5740","PopUpForm.Email.options.from.email.placeholder":"kai@doe.com","PopUpForm.Email.options.from.name.label":"\u5BC4\u4EF6\u4EBA\u540D\u7A31","PopUpForm.Email.options.from.name.placeholder":"Kai Doe","PopUpForm.Email.options.message.label":"\u8A0A\u606F","PopUpForm.Email.options.object.label":"\u4E3B\u65E8","PopUpForm.Email.options.object.placeholder":"\u8ACB\u9A57\u8B49 %APP_NAME% \u7684\u96FB\u5B50\u90F5\u4EF6\u5730\u5740","PopUpForm.Email.options.response_email.label":"\u56DE\u8986\u5730\u5740","PopUpForm.Email.options.response_email.placeholder":"kai@doe.com","PopUpForm.Providers.enabled.description":"\u5982\u679C\u505C\u7528\uFF0C\u4F7F\u7528\u8005\u5C07\u7121\u6CD5\u4F7F\u7528\u9019\u500B\u9A57\u8B49\u65B9\u5F0F","PopUpForm.Providers.enabled.label":"\u555F\u7528","PopUpForm.Providers.key.label":"\u5BA2\u6236\u7AEF ID","PopUpForm.Providers.key.placeholder":"TEXT","PopUpForm.Providers.redirectURL.front-end.label":"\u60A8\u61C9\u7528\u7A0B\u5F0F\u7684\u524D\u7AEF\u9801\u9762\u7DB2\u5740","PopUpForm.Providers.redirectURL.label":"The redirect URL to add in your {provider} application configurations","PopUpForm.Providers.secret.label":"\u5BA2\u6236\u7AEF\u5BC6\u9470","PopUpForm.Providers.secret.placeholder":"TEXT","PopUpForm.Providers.subdomain.label":"Host URI (\u5B50\u7DB2\u57DF)","PopUpForm.Providers.subdomain.placeholder":"my.subdomain.com","PopUpForm.header.edit.email-templates":"\u7DE8\u8F2F\u90F5\u4EF6\u7BC4\u672C","PopUpForm.header.edit.providers":"\u7DE8\u8F2F\u4F9B\u61C9\u8005","Providers.data.loaded":"\u5DF2\u8F09\u5165\u4F9B\u61C9\u8005","Providers.image":"\u5716\u7247","Providers.status":"\u72C0\u614B","Roles.empty":"\u60A8\u76EE\u524D\u6C92\u6709\u4EFB\u4F55\u89D2\u8272\u3002","Roles.empty.search":"\u6C92\u6709\u7B26\u5408\u641C\u5C0B\u7684\u89D2\u8272\u3002","Settings.roles.deleted":"\u5DF2\u522A\u9664\u89D2\u8272","Settings.roles.edited":"\u5DF2\u7DE8\u8F2F\u89D2\u8272","Settings.section-label":"\u4F7F\u7528\u8005\u8207\u6B0A\u9650\u5916\u639B\u7A0B\u5F0F","components.Input.error.validation.email":"\u6B64\u96FB\u5B50\u90F5\u4EF6\u5730\u5740\u7121\u6548","components.Input.error.validation.json":"\u4E0D\u7B26\u5408 JSON \u683C\u5F0F","components.Input.error.validation.max":"\u6578\u503C\u904E\u9AD8\u3002","components.Input.error.validation.maxLength":"\u6578\u503C\u904E\u9577\u3002","components.Input.error.validation.min":"\u6578\u503C\u904E\u4F4E\u3002","components.Input.error.validation.minLength":"\u6578\u503C\u904E\u77ED\u3002","components.Input.error.validation.minSupMax":"Can't be superior","components.Input.error.validation.regex":"\u6578\u503C\u8207 regex \u4E0D\u7B26\u3002","components.Input.error.validation.required":"\u6B64\u6578\u503C\u70BA\u5FC5\u586B\u3002","components.Input.error.validation.unique":"\u6B64\u503C\u5DF2\u88AB\u4F7F\u7528\u3002","notification.success.submit":"\u8A2D\u5B9A\u5DF2\u66F4\u65B0","page.title":"\u8A2D\u5B9A - \u89D2\u8272","plugin.description.long":"\u4F7F\u7528 JWT \u8A8D\u8B49\u4FDD\u8B77\u60A8\u7684 API\u3002\u9019\u500B\u64F4\u5145\u529F\u80FD\u4E5F\u4F7F\u7528 ACL \u4F86\u8B93\u4F60\u7BA1\u7406\u4E0D\u540C\u7FA4\u7D44\u4F7F\u7528\u8005\u7684\u6B0A\u9650\u3002","plugin.description.short":"\u4F7F\u7528 JWT \u8A8D\u8B49\u4FDD\u8B77\u60A8\u7684 API","plugin.name":"\u8EAB\u4EFD\u8207\u6B0A\u9650","popUpWarning.button.cancel":"\u53D6\u6D88","popUpWarning.button.confirm":"\u78BA\u8A8D","popUpWarning.title":"\u8ACB\u78BA\u8A8D","popUpWarning.warning.cancel":"\u60A8\u78BA\u5B9A\u8981\u53D6\u6D88\u8B8A\u66F4\u55CE\uFF1F"}`)}}]);
@@ -0,0 +1,33 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:(H,D,t)=>{t.r(D),t.d(D,{ProvidersPage:()=>be,default:()=>nt});var e=t(32735),P=t(5636),s=t(88425),L=t(23973),h=t.n(L),T=t(23940),A=t.n(T),g=t(10504),C=t(96709),x=t(28356),w=t(17e3),R=t(27649),p=t(94638),v=t(56755),u=t(33827),f=t(94547),O=t(19786),G=t(35658),N=t(88860),d=t(3685),M=t(50563),b=t(68625),o=t(84968),r=t(5173),i=t(59677);const m={id:(0,i.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},j={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},F={id:(0,i.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},K={id:(0,i.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Y={id:(0,i.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},q={id:(0,i.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},X={id:(0,i.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},J={id:(0,i.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},re={email:{form:[[{intlLabel:K,name:"enabled",type:"bool",description:F,size:6}]],schema:r.Ry().shape({enabled:r.Xg().required(s.translatedErrors.required)})},providers:{form:[[{intlLabel:K,name:"enabled",type:"bool",description:F,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:X,size:12,validations:{required:!0}}],[{intlLabel:J,name:"secret",type:"text",placeholder:X,size:12,validations:{required:!0}}],[{intlLabel:m,placeholder:j,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:q,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:r.Ry().shape({enabled:r.Xg().required(s.translatedErrors.required),key:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()}),secret:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()}),callback:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:K,name:"enabled",type:"bool",description:F,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:X,size:12,validations:{required:!0}}],[{intlLabel:J,name:"secret",type:"text",placeholder:X,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,i.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,i.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:m,placeholder:j,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:q,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:r.Ry().shape({enabled:r.Xg().required(s.translatedErrors.required),key:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()}),secret:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()}),subdomain:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()}),callback:r.Z_().when("enabled",{is:!0,then:r.Z_().required(s.translatedErrors.required),otherwise:r.Z_()})})}};var Te=(a,n,l)=>new Promise((S,B)=>{var W=E=>{try{Z(l.next(E))}catch(y){B(y)}},I=E=>{try{Z(l.throw(E))}catch(y){B(y)}},Z=E=>E.done?S(E.value):Promise.resolve(E.value).then(W,I);Z((l=l.apply(a,n)).next())});const Re=a=>Te(void 0,null,function*(){try{const{data:n}=yield i.be.get((0,i.Gc)("providers"));return n}catch(n){throw a({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Be=a=>i.be.put((0,i.Gc)("providers"),a);var Le=t(92891);const Ce=a=>(0,Le.sortBy)(Object.keys(a).reduce((n,l)=>{const{icon:S,enabled:B,subdomain:W}=a[l],I=S==="envelope"?["fas","envelope"]:["fab",S];return W!==void 0?n.push({name:l,icon:I,enabled:B,subdomain:W}):n.push({name:l,icon:I,enabled:B}),n},[]),"name");var ue=t(88369),pe=t(41415),xe=t(27677),ve=t(11299),Ae=t(15335),De=t(5803),Ie=t(85025),Ue=t(55225),je=t(31600),Se=t(11406),Ze=t(60216),c=t.n(Ze),we=t(83281),Fe=t(9139),We=t(10369),Ne=Object.defineProperty,me=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,fe=(a,n,l)=>n in a?Ne(a,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[n]=l,ae=(a,n)=>{for(var l in n||(n={}))Ke.call(n,l)&&fe(a,l,n[l]);if(me)for(var l of me(n))ze.call(n,l)&&fe(a,l,n[l]);return a};const ne=({description:a,disabled:n,intlLabel:l,error:S,name:B,onChange:W,placeholder:I,providerToEditName:Z,type:E,value:y})=>{const{formatMessage:z}=(0,P.useIntl)(),V=B==="noName"?`${strapi.backendURL}/api/connect/${Z}/callback`:y,Q=z({id:l.id,defaultMessage:l.defaultMessage},ae({provider:Z},l.values)),$=a?z({id:a.id,defaultMessage:a.defaultMessage},ae({provider:Z},a.values)):"";if(E==="bool")return e.createElement(Fe.s,{"aria-label":B,checked:y,disabled:n,hint:$,label:Q,name:B,offLabel:z({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:z({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:k=>{W({target:{name:B,value:k.target.checked}})}});const se=I?z({id:I.id,defaultMessage:I.defaultMessage},ae({},I.values)):"",ie=S?z({id:S,defaultMessage:S}):"";return e.createElement(We.o,{"aria-label":B,disabled:n,error:ie,label:Q,name:B,onChange:W,placeholder:se,type:E,value:V})};ne.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},ne.propTypes={description:c().shape({id:c().string.isRequired,defaultMessage:c().string.isRequired,values:c().object}),disabled:c().bool,error:c().string,intlLabel:c().shape({id:c().string.isRequired,defaultMessage:c().string.isRequired,values:c().object}).isRequired,name:c().string.isRequired,onChange:c().func.isRequired,placeholder:c().shape({id:c().string.isRequired,defaultMessage:c().string.isRequired,values:c().object}),providerToEditName:c().string.isRequired,type:c().string.isRequired,value:c().oneOfType([c().bool,c().string])};const $e=ne;var He=Object.defineProperty,Ve=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,ye=(a,n,l)=>n in a?He(a,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[n]=l,Ye=(a,n)=>{for(var l in n||(n={}))Xe.call(n,l)&&ye(a,l,n[l]);if(ge)for(var l of ge(n))Qe.call(n,l)&&ye(a,l,n[l]);return a},Je=(a,n)=>Ve(a,Ge(n));const oe=({headerBreadcrumbs:a,initialData:n,isSubmiting:l,layout:S,isOpen:B,onSubmit:W,onToggle:I,providerToEditName:Z})=>{const{formatMessage:E}=(0,P.useIntl)();return B?e.createElement(Ie.P,{onClose:I,labelledBy:"title"},e.createElement(Ue.x,null,e.createElement(ve.O,{label:a.join(", ")},a.map(y=>e.createElement(ve.$,{key:y},y)))),e.createElement(we.Formik,{onSubmit:y=>W(y),initialValues:n,validationSchema:S.schema,validateOnChange:!1},({errors:y,handleChange:z,values:V})=>e.createElement(s.Form,null,e.createElement(je.f,null,e.createElement(xe.K,{spacing:1},e.createElement(Ae.r,{gap:5},S.form.map(Q=>Q.map($=>e.createElement(De.P,{key:$.name,col:$.size,xs:12},e.createElement($e,Je(Ye({},$),{error:y[$.name],onChange:z,value:V[$.name],providerToEditName:Z})))))))),e.createElement(Se.m,{startActions:e.createElement(pe.z,{variant:"tertiary",onClick:I,type:"button"},E({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(pe.z,{type:"submit",loading:l},E({id:"global.save",defaultMessage:"Save"}))})))):null};oe.defaultProps={initialData:null,providerToEditName:null},oe.propTypes={headerBreadcrumbs:c().arrayOf(c().string).isRequired,initialData:c().object,layout:c().shape({form:c().arrayOf(c().array),schema:c().object}).isRequired,isOpen:c().bool.isRequired,isSubmiting:c().bool.isRequired,onSubmit:c().func.isRequired,onToggle:c().func.isRequired,providerToEditName:c().string};const ke=oe;var qe=Object.defineProperty,_e=Object.defineProperties,et=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,Ee=(a,n,l)=>n in a?qe(a,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[n]=l,le=(a,n)=>{for(var l in n||(n={}))tt.call(n,l)&&Ee(a,l,n[l]);if(he)for(var l of he(n))rt.call(n,l)&&Ee(a,l,n[l]);return a},at=(a,n)=>_e(a,et(n)),Pe=(a,n,l)=>new Promise((S,B)=>{var W=E=>{try{Z(l.next(E))}catch(y){B(y)}},I=E=>{try{Z(l.throw(E))}catch(y){B(y)}},Z=E=>E.done?S(E.value):Promise.resolve(E.value).then(W,I);Z((l=l.apply(a,n)).next())});const be=()=>{const{formatMessage:a}=(0,P.useIntl)();(0,s.useFocusWhenNavigate)();const{notifyStatus:n}=(0,p.G)(),l=(0,o.useQueryClient)(),{trackUsage:S}=(0,s.useTracking)(),B=(0,e.useRef)(S),[W,I]=(0,e.useState)(!1),[Z,E]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),V=(0,s.useNotification)(),{lockApp:Q,unlockApp:$}=(0,s.useOverlayBlocker)(),se=(0,e.useMemo)(()=>({update:ue.Z.updateProviders}),[]),{isLoading:ie,allowedActions:{canUpdate:k}}=(0,s.useRBAC)(se),{isLoading:ot,data:_,isFetching:lt}=(0,o.useQuery)("get-providers",()=>Re(V),{onSuccess(){n(a({id:(0,i.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),st=ot||lt,it=(0,o.useMutation)(Be,{onSuccess(){return Pe(this,null,function*(){yield l.invalidateQueries("get-providers"),V({type:"info",message:{id:(0,i.OB)("notification.success.submit")}}),B.current("didEditAuthenticationProvider"),E(!1),de(),$()})},onError(){V({type:"warning",message:{id:"notification.error"}}),$(),E(!1)},refetchActive:!1}),ee=(0,e.useMemo)(()=>Ce(_),[_]),dt=ee.length,Oe=(0,e.useMemo)(()=>{if(!y)return!1;const U=ee.find(ce=>ce.name===y);return h()(U,"subdomain")},[ee,y]),ct=a({id:(0,i.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),ut=(0,e.useMemo)(()=>y==="email"?re.email:Oe?re.providersWithSubdomain:re.providers,[y,Oe]),de=()=>{I(U=>!U)},Me=U=>{k&&(z(U.name),de())},pt=U=>Pe(void 0,null,function*(){E(!0),Q(),B.current("willEditAuthenticationProvider");const ce=at(le({},_),{[y]:U});it.mutate({providers:ce})});return e.createElement(C.A,null,e.createElement(s.SettingsPageTitle,{name:ct}),e.createElement(R.o,null,e.createElement(x.T,{title:a({id:(0,i.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),st||ie?e.createElement(s.LoadingIndicatorPage,null):e.createElement(w.D,null,e.createElement(v.i,{colCount:4,rowCount:dt+1},e.createElement(u.h,null,e.createElement(f.Tr,null,e.createElement(O.Th,null,e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},e.createElement(d.T,null,a({id:(0,i.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(O.Th,null,e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(O.Th,null,e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},a({id:(0,i.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(O.Th,null,e.createElement(N.Z,{variant:"sigma"},e.createElement(d.T,null,a({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(G.p,null,ee.map(U=>e.createElement(f.Tr,le({key:U.name},(0,s.onRowClick)({fn:()=>Me(U),condition:k})),e.createElement(O.Td,{width:""},e.createElement(g.G,{icon:U.icon})),e.createElement(O.Td,{width:"45%"},e.createElement(N.Z,{fontWeight:"semiBold",textColor:"neutral800"},U.name)),e.createElement(O.Td,{width:"65%"},e.createElement(N.Z,{textColor:U.enabled?"success600":"danger600","data-testid":`enable-${U.name}`},U.enabled?a({id:"global.enabled",defaultMessage:"Enabled"}):a({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(O.Td,le({},s.stopPropagation),k&&e.createElement(M.h,{onClick:()=>Me(U),noBorder:!0,icon:e.createElement(b.Z,null),label:"Edit"})))))))),e.createElement(ke,{initialData:_[y],isOpen:W,isSubmiting:Z,layout:ut,headerBreadcrumbs:[a({id:(0,i.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),A()(y)],onToggle:de,onSubmit:pt,providerToEditName:y}))},nt=()=>e.createElement(s.CheckPagePermissions,{permissions:ue.Z.readProviders},e.createElement(be,null))},8917:(H,D,t)=>{t.d(D,{Z:()=>A});var e=t(43653),P=t.n(e),s=t(88425),L=t.n(s),h=(g,C,x)=>new Promise((w,R)=>{var p=f=>{try{u(x.next(f))}catch(O){R(O)}},v=f=>{try{u(x.throw(f))}catch(O){R(O)}},u=f=>f.done?w(f.value):Promise.resolve(f.value).then(p,v);u((x=x.apply(g,C)).next())});const T=P().create({baseURL:"http://localhost:1337"});T.interceptors.request.use(g=>h(void 0,null,function*(){return g.headers={Authorization:`Bearer ${s.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},g}),g=>{Promise.reject(g)}),T.interceptors.response.use(g=>g,g=>{var C;throw((C=g.response)==null?void 0:C.status)===401&&(s.auth.clearAppStorage(),window.location.reload()),g});const A=T},59677:(H,D,t)=>{t.d(D,{be:()=>e.Z,YX:()=>L,Gc:()=>A,OB:()=>g.Z});var e=t(8917),P=t(92891);const L=C=>Object.keys(C).reduce((x,w)=>{const R=C[w].controllers,p=Object.keys(R).reduce((v,u)=>((0,P.isEmpty)(R[u])||(v[u]=R[u]),v),{});return(0,P.isEmpty)(p)||(x[w]={controllers:p}),x},{});var h=t(90201);const A=C=>`/${h.Z}/${C}`;var g=t(82069)},11299:(H,D,t)=>{t.d(D,{$:()=>O,O:()=>N});var e=t(32735),P=t(60216),s=t(83292),L=t(77277),h=t(88860),T=t(62345),A=t(36320),g=t(3685),C=Object.defineProperty,x=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,p=(d,M,b)=>M in d?C(d,M,{enumerable:!0,configurable:!0,writable:!0,value:b}):d[M]=b,v=(d,M)=>{for(var b in M||(M={}))w.call(M,b)&&p(d,b,M[b]);if(x)for(var b of x(M))R.call(M,b)&&p(d,b,M[b]);return d},u=(d,M)=>{var b={};for(var o in d)w.call(d,o)&&M.indexOf(o)<0&&(b[o]=d[o]);if(d!=null&&x)for(var o of x(d))M.indexOf(o)<0&&R.call(d,o)&&(b[o]=d[o]);return b};const f=(0,s.default)(A.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 ${T.x} {
10
+ display: none;
11
+ }
12
+ :last-of-type ${h.Z} {
13
+ color: ${({theme:d})=>d.colors.neutral800};
14
+ font-weight: ${({theme:d})=>d.fontWeights.bold};
15
+ }
16
+ `,O=({children:d})=>e.createElement(f,{inline:!0,as:"li"},e.createElement(h.Z,{variant:"pi",textColor:"neutral600"},d),e.createElement(T.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3},e.createElement(L.default,null)));O.displayName="Crumb",O.propTypes={children:P.node.isRequired};const G=P.shape({type:P.oneOf([O])}),N=d=>{var M=d,{children:b,label:o}=M,r=u(M,["children","label"]);return e.createElement(A.k,v({},r),e.createElement(g.T,null,o),e.createElement("ol",{"aria-hidden":!0},b))};N.displayName="Breadcrumbs",N.propTypes={children:P.oneOfType([P.arrayOf(G),G]).isRequired,label:P.string.isRequired}},17e3:(H,D,t)=>{t.d(D,{D:()=>L});var e=t(32735),P=t(60216),s=t(62345);const L=({children:h})=>e.createElement(s.x,{paddingLeft:10,paddingRight:10},h);L.propTypes={children:P.node.isRequired}},28356:(H,D,t)=>{t.d(D,{T:()=>d});var e=t(32735),P=t(83292),s=t(60216),L=t(88860),h=t(62345),T=t(36320);const A=o=>{const r=(0,e.useRef)(null),[i,m]=(0,e.useState)(!0),j=([F])=>{m(F.isIntersecting)};return(0,e.useEffect)(()=>{const F=r.current,K=new IntersectionObserver(j,o);return F&&K.observe(r.current),()=>{F&&K.disconnect()}},[r,o]),[r,i]},g=(o,r)=>{(0,e.useLayoutEffect)(()=>{const i=new ResizeObserver(r);return Array.isArray(o)?o.map(m=>{m.current&&i.observe(m.current)}):o.current&&i.observe(o.current),()=>{i.disconnect()}},[])};var C=Object.defineProperty,x=Object.defineProperties,w=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,u=(o,r,i)=>r in o?C(o,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[r]=i,f=(o,r)=>{for(var i in r||(r={}))p.call(r,i)&&u(o,i,r[i]);if(R)for(var i of R(r))v.call(r,i)&&u(o,i,r[i]);return o},O=(o,r)=>x(o,w(r)),G=(o,r)=>{var i={};for(var m in o)p.call(o,m)&&r.indexOf(m)<0&&(i[m]=o[m]);if(o!=null&&R)for(var m of R(o))r.indexOf(m)<0&&v.call(o,m)&&(i[m]=o[m]);return i};const N=()=>{const o=(0,e.useRef)(null),[r,i]=(0,e.useState)(null),[m,j]=A({root:null,rootMargin:"0px",threshold:0});return g(m,()=>{m.current&&i(m.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{o.current&&i(o.current.getBoundingClientRect())},[o]),{containerRef:m,isVisible:j,baseHeaderLayoutRef:o,headerSize:r}},d=o=>{const{containerRef:r,isVisible:i,baseHeaderLayoutRef:m,headerSize:j}=N();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:j==null?void 0:j.height},ref:r},i&&e.createElement(b,f({ref:m},o))),!i&&e.createElement(b,O(f({},o),{sticky:!0,width:j==null?void 0:j.width})))};d.displayName="HeaderLayout";const M=(0,P.default)(h.x)`
17
+ position: fixed;
18
+ top: 0;
19
+ right: 0;
20
+ width: ${o=>o.width}px;
21
+ z-index: 4;
22
+ box-shadow: ${({theme:o})=>o.shadows.tableShadow};
23
+ `,b=e.forwardRef((o,r)=>{var i=o,{navigationAction:m,primaryAction:j,secondaryAction:F,subtitle:K,title:Y,sticky:q,width:X}=i,J=G(i,["navigationAction","primaryAction","secondaryAction","subtitle","title","sticky","width"]);const te=typeof K=="string";return q?e.createElement(M,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,background:"neutral0",width:X,"data-strapi-header-sticky":!0},e.createElement(T.k,{justifyContent:"space-between"},e.createElement(T.k,null,m&&e.createElement(h.x,{paddingRight:3},m),e.createElement(h.x,null,e.createElement(L.Z,f({variant:"beta",as:"h1"},J),Y),te?e.createElement(L.Z,{variant:"pi",textColor:"neutral600"},K):K),F?e.createElement(h.x,{paddingLeft:4},F):null),e.createElement(T.k,null,j?e.createElement(h.x,{paddingLeft:2},j):void 0))):e.createElement(h.x,{ref:r,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:m?6:8,background:"neutral100","data-strapi-header":!0},m?e.createElement(h.x,{paddingBottom:2},m):null,e.createElement(T.k,{justifyContent:"space-between"},e.createElement(T.k,null,e.createElement(L.Z,f({as:"h1",variant:"alpha"},J),Y),F?e.createElement(h.x,{paddingLeft:4},F):null),j),te?e.createElement(L.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},K):K)});b.displayName="BaseHeaderLayout",b.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},b.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}},96709:(H,D,t)=>{t.d(D,{A:()=>A});var e=t(32735),P=t(60216),s=t(83292),L=t(62345);const h=(0,s.default)(L.x)`
24
+ display: grid;
25
+ grid-template-columns: ${({hasSideNav:g})=>g?"auto 1fr":"1fr"};
26
+ `,T=(0,s.default)(L.x)`
27
+ overflow-x: hidden;
28
+ `,A=({sideNav:g,children:C})=>e.createElement(h,{hasSideNav:Boolean(g)},g,e.createElement(T,{paddingBottom:10},C));A.defaultProps={sideNav:void 0},A.propTypes={children:P.node.isRequired,sideNav:P.node}},27649:(H,D,t)=>{t.d(D,{o:()=>R});var e=t(32735),P=t(60216),s=t(83292),L=Object.defineProperty,h=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,g=(p,v,u)=>v in p?L(p,v,{enumerable:!0,configurable:!0,writable:!0,value:u}):p[v]=u,C=(p,v)=>{for(var u in v||(v={}))T.call(v,u)&&g(p,u,v[u]);if(h)for(var u of h(v))A.call(v,u)&&g(p,u,v[u]);return p},x=(p,v)=>{var u={};for(var f in p)T.call(p,f)&&v.indexOf(f)<0&&(u[f]=p[f]);if(p!=null&&h)for(var f of h(p))v.indexOf(f)<0&&A.call(p,f)&&(u[f]=p[f]);return u};const w=s.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
+ `,R=p=>{var v=p,{labelledBy:u}=v,f=x(v,["labelledBy"]);const O=u||"main-content-title";return e.createElement(w,C({"aria-labelledby":O,id:"main-content",tabIndex:-1},f))};R.defaultProps={labelledBy:void 0},R.propTypes={labelledBy:P.string}}}]);
@@ -0,0 +1,30 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(re,F,o)=>{o.r(F),o.d(F,{default:()=>Lr});var r=o(32735),R=o(5141),m=o(88425),C=o(90201),b=o(88369),I=o(41415),K=o(96709),v=o(28356),T=o(99223),D=o(17e3),Z=o(27649),N=o(56755),_=o(33827),x=o(94547),E=o(19786),U=o(3685),f=o(88860),et=o(94638),tt=o(19406),j=o(5636),Y=o(84968),st=o(58469),B=o(59677),ne=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const rt=(s,e)=>ne(void 0,null,function*(){try{const{data:t}=yield B.be.get((0,B.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),nt=(s,e)=>ne(void 0,null,function*(){try{yield B.be.delete(`${(0,B.Gc)("roles")}/${s}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var ot=o(60216),h=o.n(ot),oe=o(50563),J=o(36320),at=o(35658),it=o(68625),lt=o(4038),ct=Object.defineProperty,ae=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,ie=(s,e,t)=>e in s?ct(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,le=(s,e)=>{for(var t in e||(e={}))ut.call(e,t)&&ie(s,t,e[t]);if(ae)for(var t of ae(e))dt.call(e,t)&&ie(s,t,e[t]);return s};const q=({sortedRoles:s,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,j.useIntl)(),{push:d}=(0,R.useHistory)(),[a,n]=u,c=p=>e&&!["public","authenticated"].includes(p.type),g=p=>{i(p),n(!a)},P=p=>{d(`/settings/${C.Z}/roles/${p}`)};return r.createElement(at.p,null,s==null?void 0:s.map(p=>r.createElement(x.Tr,le({key:p.name},(0,m.onRowClick)({fn:()=>P(p.id)})),r.createElement(E.Td,{width:"20%"},r.createElement(f.Z,null,p.name)),r.createElement(E.Td,{width:"50%"},r.createElement(f.Z,null,p.description)),r.createElement(E.Td,{width:"30%"},r.createElement(f.Z,null,`${p.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),r.createElement(E.Td,null,r.createElement(J.k,le({justifyContent:"end"},m.stopPropagation),r.createElement(m.CheckPermissions,{permissions:t.updateRole},r.createElement(oe.h,{onClick:()=>P(p.id),noBorder:!0,icon:r.createElement(it.Z,null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${p.name}`})})),c(p)&&r.createElement(m.CheckPermissions,{permissions:t.deleteRole},r.createElement(oe.h,{onClick:()=>g(p.id),noBorder:!0,icon:r.createElement(lt.default,null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${p.name}`})})))))))},mt=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ce=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const pt=()=>{const{trackUsage:s}=(0,m.useTracking)(),{formatMessage:e}=(0,j.useIntl)(),{push:t}=(0,R.useHistory)(),i=(0,m.useNotification)(),{notifyStatus:u}=(0,et.G)(),[{query:l}]=(0,m.useQueryParams)(),d=(l==null?void 0:l._q)||"",[a,n]=(0,r.useState)(!1),[c,g]=(0,r.useState)(!1),[P,p]=(0,r.useState)();(0,m.useFocusWhenNavigate)();const O=(0,Y.useQueryClient)(),y=(0,r.useMemo)(()=>({create:b.Z.createRole,read:b.Z.readRoles,update:b.Z.updateRole,delete:b.Z.deleteRole}),[]),{isLoading:L,allowedActions:{canRead:w,canDelete:k}}=(0,m.useRBAC)(y),{isLoading:wr,data:{roles:se},isFetching:Sr}=(0,Y.useQuery)("get-roles",()=>rt(i,u),{initialData:{},enabled:w}),qe=wr||Sr,Mr=()=>{s("willCreateRole"),t(`/settings/${C.Z}/roles/new`)},Ur=()=>{n(!a)},jr={roles:{id:(0,B.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,B.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Ir=e({id:"global.roles",defaultMessage:"Roles"}),Zr=(0,Y.useMutation)(Fr=>nt(Fr,i),{onSuccess(){return ce(this,null,function*(){yield O.invalidateQueries("get-roles")})}}),Nr=()=>ce(void 0,null,function*(){g(!0),yield Zr.mutateAsync(P),n(!a),g(!1)}),W=(0,st.ZP)(se||[],d,{keys:["name","description"]}),xr=d&&!W.length?"search":"roles",Br=4,Gr=((se==null?void 0:se.length)||0)+1;return r.createElement(K.A,null,r.createElement(m.SettingsPageTitle,{name:Ir}),r.createElement(Z.o,{"aria-busy":qe},r.createElement(v.T,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:r.createElement(m.CheckPermissions,{permissions:b.Z.createRole},r.createElement(I.z,{onClick:Mr,startIcon:r.createElement(tt.default,null),size:"S"},e({id:(0,B.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),r.createElement(T.Z,{startActions:r.createElement(m.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),r.createElement(D.D,null,!w&&r.createElement(m.NoPermissions,null),(qe||L)&&r.createElement(m.LoadingIndicatorPage,null),w&&W&&(W==null?void 0:W.length)?r.createElement(N.i,{colCount:Br,rowCount:Gr},r.createElement(_.h,null,r.createElement(x.Tr,null,r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),r.createElement(E.Th,null,r.createElement(U.T,null,e({id:"global.actions",defaultMessage:"Actions"}))))),r.createElement(mt,{sortedRoles:W,canDelete:k,permissions:b.Z,setRoleToDelete:p,onDelete:[a,n]})):r.createElement(m.EmptyStateLayout,{content:jr[xr]})),r.createElement(m.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Nr,onToggleDialog:Ur,isOpen:a})))},gt=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.accessRoles},r.createElement(pt,null));var ue=o(83281),A=o(27677),S=o(62345),de=o(10369),me=o(10508),ft=o(29439),pe=o(66456),H=o(15335),G=o(5803),$=o(82069),M=o(92891);const ge=(0,r.createContext)({}),fe=({children:s,value:e})=>r.createElement(ge.Provider,{value:e},s),ee=()=>(0,r.useContext)(ge);fe.propTypes={children:h().node.isRequired,value:h().object.isRequired};var z=o(83292),Pt=o(37213),vt=o.n(Pt),Et=o(15738),ht=o.n(Et);const yt=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Ot=(0,z.default)(S.x)`
2
+ margin: -1px;
3
+ border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
4
+ `;function te({route:s}){const{formatMessage:e}=(0,j.useIntl)(),{method:t,handler:i,path:u}=s,l=u?ht()(u.split("/")):[],[d="",a=""]=i?i.split("."):[],n=yt(s.method);return r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",r.createElement("span",null,d),r.createElement(f.Z,{variant:"delta",textColor:"primary600"},".",a)),r.createElement(A.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},r.createElement(Ot,{background:n.background,borderColor:n.border,padding:2},r.createElement(f.Z,{fontWeight:"bold",textColor:n.text},t)),r.createElement(S.x,{paddingLeft:2,paddingRight:2},vt()(l,c=>r.createElement(f.Z,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}te.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},te.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const Rt=te,Ct=()=>{const{formatMessage:s}=(0,j.useIntl)(),{selectedAction:e,routes:t}=ee(),i=(0,M.without)(e.split("."),"controllers"),u=(0,M.get)(t,i[0]),l=i.slice(1).join("."),d=(0,M.isEmpty)(u)?[]:u.filter(a=>a.handler.endsWith(l));return r.createElement(G.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?r.createElement(A.K,{spacing:2},d.map((a,n)=>r.createElement(Rt,{key:n,route:a}))):r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),r.createElement(f.Z,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var bt=o(83828),Dt=o(61762),Tt=o(89966),At=o(23940),Lt=o.n(At);function wt(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Lt()(s.replace("api::","").replace("plugin::",""))}}const St=wt;var Mt=o(98978),Pe=o.n(Mt),ve=o(8284),Ut=o(45112);const Ee=z.css`
5
+ background: ${s=>s.theme.colors.primary100};
6
+ svg {
7
+ opacity: 1;
8
+ }
9
+ `,jt=(0,z.default)(S.x)`
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+
14
+ svg {
15
+ opacity: 0;
16
+ path {
17
+ fill: ${s=>s.theme.colors.primary600};
18
+ }
19
+ }
20
+
21
+ /* Show active style both on hover and when the action is selected */
22
+ ${s=>s.isActive&&Ee}
23
+ &:hover {
24
+ ${Ee}
25
+ }
26
+ `,It=z.default.div`
27
+ flex: 1;
28
+ align-self: center;
29
+ border-top: 1px solid ${({theme:s})=>s.colors.neutral150};
30
+ `,he=({subCategory:s})=>{const{formatMessage:e}=(0,j.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=ee(),a=(0,r.useMemo)(()=>(0,M.get)(d,s.name,{}),[d,s]),n=(0,r.useMemo)(()=>Object.values(a).every(p=>p.enabled===!0),[a]),c=(0,r.useMemo)(()=>Object.values(a).some(p=>p.enabled===!0)&&!n,[a,n]),g=(0,r.useCallback)(({target:{name:p}})=>{i({target:{name:p,value:!n}})},[n,i]),P=(0,r.useCallback)(p=>l===p,[l]);return r.createElement(S.x,null,r.createElement(J.k,{justifyContent:"space-between",alignItems:"center"},r.createElement(S.x,{paddingRight:4},r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},s.label)),r.createElement(It,null),r.createElement(S.x,{paddingLeft:4},r.createElement(ve.X,{name:s.name,value:n,onValueChange:p=>g({target:{name:s.name,value:p}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),r.createElement(J.k,{paddingTop:6,paddingBottom:6},r.createElement(H.r,{gap:2,style:{flex:1}},s.actions.map(p=>{const O=`${p.name}.enabled`;return r.createElement(G.P,{col:6,key:p.name},r.createElement(jt,{isActive:P(p.name),padding:2,hasRadius:!0},r.createElement(ve.X,{value:(0,M.get)(d,O,!1),name:O,onValueChange:y=>t({target:{name:O,value:y}})},p.label),r.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(p.name),style:{display:"inline-flex",alignItems:"center"}},r.createElement(Ut.Z,null))))}))))};he.propTypes={subCategory:h().object.isRequired};const Zt=he;var Nt=Object.defineProperty,xt=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,Oe=(s,e,t)=>e in s?Nt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_t=(s,e)=>{for(var t in e||(e={}))Gt.call(e,t)&&Oe(s,t,e[t]);if(ye)for(var t of ye(e))Ft.call(e,t)&&Oe(s,t,e[t]);return s},$t=(s,e)=>xt(s,Bt(e));const Re=({name:s,permissions:e})=>{const t=(0,r.useMemo)(()=>Pe()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${s}.controllers.${Object.keys(e.controllers)[l]}`,a=Pe()(Object.keys(u).reduce((n,c)=>[...n,$t(_t({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:a,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[s,e]);return r.createElement(S.x,{padding:6},t.map(i=>r.createElement(Zt,{key:i.name,subCategory:i})))};Re.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Vt=Re;var kt=Object.defineProperty,Kt=Object.defineProperties,Wt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,be=(s,e,t)=>e in s?kt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Qt=(s,e)=>{for(var t in e||(e={}))Ht.call(e,t)&&be(s,t,e[t]);if(Ce)for(var t of Ce(e))zt.call(e,t)&&be(s,t,e[t]);return s},Xt=(s,e)=>Kt(s,Wt(e));const Yt=(s,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Xt(Qt({},s),{collapses:t})};var Q=o(97889),Jt=Object.defineProperty,qt=Object.defineProperties,es=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertySymbols,ts=Object.prototype.hasOwnProperty,ss=Object.prototype.propertyIsEnumerable,Te=(s,e,t)=>e in s?Jt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ae=(s,e)=>{for(var t in e||(e={}))ts.call(e,t)&&Te(s,t,e[t]);if(De)for(var t of De(e))ss.call(e,t)&&Te(s,t,e[t]);return s},Le=(s,e)=>qt(s,es(e));const rs={collapses:[]},ns=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=s.collapses.map((i,u)=>u===e.index?Le(Ae({},i),{isOpen:!i.isOpen}):Le(Ae({},i),{isOpen:!1}));break}default:return t}}),os=()=>{const{modifiedData:s}=ee(),{formatMessage:e}=(0,j.useIntl)(),[{collapses:t},i]=(0,r.useReducer)(ns,rs,l=>Yt(l,s)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return r.createElement(A.K,{spacing:1},t.map((l,d)=>r.createElement(bt.U,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},r.createElement(Dt.B,{title:St(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),r.createElement(Tt.v,null,r.createElement(S.x,null,r.createElement(Vt,{permissions:s[l.name],name:l.name}))))))};var as=Object.defineProperty,is=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,cs=Object.prototype.hasOwnProperty,us=Object.prototype.propertyIsEnumerable,Se=(s,e,t)=>e in s?as(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ds=(s,e)=>{for(var t in e||(e={}))cs.call(e,t)&&Se(s,t,e[t]);if(we)for(var t of we(e))us.call(e,t)&&Se(s,t,e[t]);return s},ms=(s,e)=>is(s,ls(e));const ps={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},gs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,M.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,M.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,M.get)(s,i,{}),l=Object.keys(u).reduce((d,a)=>(d[a]=ms(ds({},u[a]),{enabled:e.value}),d),{});(0,M.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=s.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=s.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===s.selectedAction?"":i;break}default:return t}});var fs=Object.defineProperty,Ps=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,Ue=(s,e,t)=>e in s?fs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ys=(s,e)=>{for(var t in e||(e={}))Es.call(e,t)&&Ue(s,t,e[t]);if(Me)for(var t of Me(e))hs.call(e,t)&&Ue(s,t,e[t]);return s},Os=(s,e)=>Ps(s,vs(e));const Rs=(s,e,t)=>Os(ys({},s),{initialData:e,modifiedData:e,routes:t});var Cs=Object.defineProperty,bs=Object.defineProperties,Ds=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,As=Object.prototype.propertyIsEnumerable,Ie=(s,e,t)=>e in s?Cs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ls=(s,e)=>{for(var t in e||(e={}))Ts.call(e,t)&&Ie(s,t,e[t]);if(je)for(var t of je(e))As.call(e,t)&&Ie(s,t,e[t]);return s},ws=(s,e)=>bs(s,Ds(e));const Ze=(0,r.forwardRef)(({permissions:s,routes:e},t)=>{const{formatMessage:i}=(0,j.useIntl)(),[u,l]=(0,r.useReducer)(gs,ps,g=>Rs(g,s,e));(0,r.useImperativeHandle)(t,()=>({getPermissions(){return{permissions:u.modifiedData}},resetForm(){l({type:"ON_RESET"})},setFormAfterSubmit(){l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:P}})=>l({type:"ON_CHANGE",keys:g.split("."),value:P==="empty__string_value"?"":P}),a=({target:{name:g,value:P}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:P}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=ws(Ls({},u),{onChange:d,onChangeSelectAll:a,onSelectedAction:n});return r.createElement(fe,{value:c},r.createElement(H.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},r.createElement(G.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:6},r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h2"},i({id:(0,$.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),r.createElement(f.Z,{as:"p",textColor:"neutral600"},i({id:(0,$.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),r.createElement(os,null))),r.createElement(Ct,null)))});Ze.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const Ne=(0,r.memo)(Ze),Xr={isLoading:!0,modifiedData:{}},Yr=(s,e)=>produce(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Jr=null;var Ss=o(98399),Ms=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const qr=(s,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),a=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ms(void 0,null,function*(){try{d({type:"GET_DATA"});const O=yield request(getRequestURL(s),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:O})}catch(O){n.current&&(d({type:"GET_DATA_ERROR"}),Ss.error(O),a({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,s]);const P=useCallback(p=>{d({type:"ON_SUBMIT_SUCCEEDED",data:p})},[]);return{allowedActions:i,dispatchSubmitSucceeded:P,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},en=null;var Us=Object.defineProperty,js=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Zs=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,Be=(s,e,t)=>e in s?Us(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,xs=(s,e)=>{for(var t in e||(e={}))Zs.call(e,t)&&Be(s,t,e[t]);if(xe)for(var t of xe(e))Ns.call(e,t)&&Be(s,t,e[t]);return s},Bs=(s,e)=>js(s,Is(e));const tn=(s,e)=>Bs(xs({},s),{isLoading:e}),sn=null,rn={roles:[],isLoading:!0},nn=(s,e)=>produce(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),on=null;var Gs=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const an=(s=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,s)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:a}=d;useEffect(()=>(s&&n(),()=>{d.abort(),l.current=!1}),[s]);const n=()=>Gs(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:a});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},ln=null;var Fs=Object.defineProperty,_s=Object.defineProperties,$s=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,ks=Object.prototype.propertyIsEnumerable,Fe=(s,e,t)=>e in s?Fs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ks=(s,e)=>{for(var t in e||(e={}))Vs.call(e,t)&&Fe(s,t,e[t]);if(Ge)for(var t of Ge(e))ks.call(e,t)&&Fe(s,t,e[t]);return s},Ws=(s,e)=>_s(s,$s(e));const Hs=(s,e)=>Ws(Ks({},s),{isLoading:e});var X=o(8917);const _e={permissions:{},routes:{},isLoading:!0},zs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var $e=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const Ve=(s=!0)=>{const e=(0,m.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,r.useReducer)(zs,_e,()=>Hs(_e,s)),d=(0,r.useCallback)(()=>$e(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:a},{routes:n}]=yield Promise.all([`/${C.Z}/permissions`,`/${C.Z}/routes`].map(c=>$e(void 0,null,function*(){return(yield X.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,B.YX)(a),routes:n})}catch(a){const n=(0,M.get)(a,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,r.useEffect)(()=>{s&&d()},[d,s]),{permissions:t,routes:i,getData:d,isLoading:u}},Qs={role:{},isLoading:!0},Xs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var Ys=o(98399),Js=Object.defineProperty,qs=Object.defineProperties,er=Object.getOwnPropertyDescriptors,ke=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,Ke=(s,e,t)=>e in s?Js(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,We=(s,e)=>{for(var t in e||(e={}))tr.call(e,t)&&Ke(s,t,e[t]);if(ke)for(var t of ke(e))sr.call(e,t)&&Ke(s,t,e[t]);return s},rr=(s,e)=>qs(s,er(e)),nr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const or=s=>{const[e,t]=(0,r.useReducer)(Xs,Qs),i=(0,m.useNotification)(),u=(0,r.useRef)(null);(0,r.useEffect)(()=>(u.current=!0,s?l(s):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[s]);const l=a=>nr(void 0,null,function*(){try{const{data:{role:n}}=yield X.Z.get(`/${C.Z}/roles/${a}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){Ys.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,r.useCallback)(a=>{t(We({type:"ON_SUBMIT_SUCCEEDED"},a))},[]);return rr(We({},e),{onSubmitSucceeded:d})};var V=o(5173);const ar=V.Ry().shape({name:V.Z_().required(m.translatedErrors.required),description:V.Z_().required(m.translatedErrors.required)});var ir=o(98399),lr=Object.defineProperty,cr=Object.defineProperties,ur=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,ze=(s,e,t)=>e in s?lr(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Qe=(s,e)=>{for(var t in e||(e={}))dr.call(e,t)&&ze(s,t,e[t]);if(He)for(var t of He(e))mr.call(e,t)&&ze(s,t,e[t]);return s},pr=(s,e)=>cr(s,ur(e)),gr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const fr=()=>{const{formatMessage:s}=(0,j.useIntl)(),[e,t]=(0,r.useState)(!1),i=(0,m.useNotification)(),{lockApp:u,unlockApp:l}=(0,m.useOverlayBlocker)(),{params:{id:d}}=(0,R.useRouteMatch)(`/settings/${C.Z}/roles/:id`),{isLoading:a,routes:n}=Ve(),{role:c,onSubmitSucceeded:g,isLoading:P}=or(d),p=(0,r.useRef)(),O=y=>gr(void 0,null,function*(){u(),t(!0);try{const L=p.current.getPermissions();yield X.Z.put(`/${C.Z}/roles/${d}`,pr(Qe(Qe({},y),L),{users:[]})),g({name:y.name,description:y.description}),i({type:"success",message:{id:(0,$.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(L){ir.error(L),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return P?r.createElement(m.LoadingIndicatorPage,null):r.createElement(Z.o,null,r.createElement(m.SettingsPageTitle,{name:"Roles"}),r.createElement(ue.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:O,validationSchema:ar},({handleSubmit:y,values:L,handleChange:w,errors:k})=>r.createElement(m.Form,{noValidate:!0,onSubmit:y},r.createElement(v.T,{primaryAction:!a&&r.createElement(I.z,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:r.createElement(pe.Z,null)},s({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:r.createElement(m.Link,{startIcon:r.createElement(ft.Z,null),to:"/settings/users-permissions/roles"},s({id:"global.back",defaultMessage:"Back"}))}),r.createElement(D.D,null,r.createElement(A.K,{spacing:7},r.createElement(S.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:4},r.createElement(f.Z,{variant:"delta",as:"h2"},s({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),r.createElement(H.r,{gap:4},r.createElement(G.P,{col:6},r.createElement(de.o,{name:"name",value:L.name||"",onChange:w,label:s({id:"global.name",defaultMessage:"Name"}),error:k.name?s({id:k.name,defaultMessage:"Invalid value"}):null})),r.createElement(G.P,{col:6},r.createElement(me.g,{name:"description",value:L.description||"",onChange:w,label:s({id:"global.description",defaultMessage:"Description"}),error:k.description?s({id:k.description,defaultMessage:"Invalid value"}):null}))))),!a&&r.createElement(Ne,{ref:p,permissions:c.permissions,routes:n}))))))},Pr=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.updateRole},r.createElement(fr,null)),vr=V.Ry().shape({name:V.Z_().required(m.translatedErrors.required),description:V.Z_().required(m.translatedErrors.required)});var Er=o(98399),hr=Object.defineProperty,yr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ye=(s,e,t)=>e in s?hr(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Je=(s,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ye(s,t,e[t]);if(Xe)for(var t of Xe(e))Cr.call(e,t)&&Ye(s,t,e[t]);return s},br=(s,e)=>yr(s,Or(e)),Dr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const Tr=()=>{const{formatMessage:s}=(0,j.useIntl)(),[e,t]=(0,r.useState)(!1),i=(0,m.useNotification)(),{goBack:u}=(0,R.useHistory)(),{lockApp:l,unlockApp:d}=(0,m.useOverlayBlocker)(),{isLoading:a,permissions:n,routes:c}=Ve(),{trackUsage:g}=(0,m.useTracking)(),P=(0,r.useRef)(),p=O=>Dr(void 0,null,function*(){l(),t(!0);try{const y=P.current.getPermissions();yield X.Z.post(`/${C.Z}/roles`,br(Je(Je({},O),y),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,$.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(y){Er.error(y),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return r.createElement(Z.o,null,r.createElement(m.SettingsPageTitle,{name:"Roles"}),r.createElement(ue.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:p,validationSchema:vr},({handleSubmit:O,values:y,handleChange:L,errors:w})=>r.createElement(m.Form,{noValidate:!0,onSubmit:O},r.createElement(v.T,{primaryAction:!a&&r.createElement(I.z,{type:"submit",loading:e,startIcon:r.createElement(pe.Z,null)},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:s({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),r.createElement(D.D,null,r.createElement(A.K,{spacing:7},r.createElement(S.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:4},r.createElement(f.Z,{variant:"delta",as:"h2"},s({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),r.createElement(H.r,{gap:4},r.createElement(G.P,{col:6},r.createElement(de.o,{name:"name",value:y.name||"",onChange:L,label:s({id:"global.name",defaultMessage:"Name"}),error:w.name?s({id:w.name,defaultMessage:"Invalid value"}):null})),r.createElement(G.P,{col:6},r.createElement(me.g,{name:"description",value:y.description||"",onChange:L,label:s({id:"global.description",defaultMessage:"Description"}),error:w.description?s({id:w.description,defaultMessage:"Invalid value"}):null}))))),!a&&r.createElement(Ne,{ref:P,permissions:n,routes:c}))))))},Ar=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.createRole},r.createElement(Tr,null)),Lr=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.accessRoles},r.createElement(R.Switch,null,r.createElement(R.Route,{path:`/settings/${C.Z}/roles/new`,component:Ar,exact:!0}),r.createElement(R.Route,{path:`/settings/${C.Z}/roles/:id`,component:Pr,exact:!0}),r.createElement(R.Route,{path:`/settings/${C.Z}/roles`,component:gt,exact:!0}),r.createElement(R.Route,{path:"",component:m.NotFound})))},8917:(re,F,o)=>{o.d(F,{Z:()=>K});var r=o(43653),R=o.n(r),m=o(88425),C=o.n(m),b=(v,T,D)=>new Promise((Z,N)=>{var _=U=>{try{E(D.next(U))}catch(f){N(f)}},x=U=>{try{E(D.throw(U))}catch(f){N(f)}},E=U=>U.done?Z(U.value):Promise.resolve(U.value).then(_,x);E((D=D.apply(v,T)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(v=>b(void 0,null,function*(){return v.headers={Authorization:`Bearer ${m.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},v}),v=>{Promise.reject(v)}),I.interceptors.response.use(v=>v,v=>{var T;throw((T=v.response)==null?void 0:T.status)===401&&(m.auth.clearAppStorage(),window.location.reload()),v});const K=I},59677:(re,F,o)=>{o.d(F,{be:()=>r.Z,YX:()=>C,Gc:()=>K,OB:()=>v.Z});var r=o(8917),R=o(92891);const C=T=>Object.keys(T).reduce((D,Z)=>{const N=T[Z].controllers,_=Object.keys(N).reduce((x,E)=>((0,R.isEmpty)(N[E])||(x[E]=N[E]),x),{});return(0,R.isEmpty)(_)||(D[Z]={controllers:_}),D},{});var b=o(90201);const K=T=>`/${b.Z}/${T}`;var v=o(82069)}}]);
@@ -0,0 +1,75 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{41513:(Pe,$,n)=>{n.d($,{Z:()=>le});var e=n(32735),o=n(88425),k=n(27649),T=n(84968),K=n(5141),W=n(775),P=n(17247),f=n(60216),c=n.n(f),v=n(29439),U=n(66456),Q=Object.defineProperty,E=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,M=(r,t,a)=>t in r?Q(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a,Oe=(r,t)=>{for(var a in t||(t={}))O.call(t,a)&&M(r,a,t[a]);if(E)for(var a of E(t))y.call(t,a)&&M(r,a,t[a]);return r};function ce(r){return e.createElement("svg",Oe({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r),e.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}var rt=n(28356),ue=n(17e3),me=n(62345),pe=n(41415),Z=n(27677),Me=n(10369),xe=n(15335),G=n(5803),J=n(83281),q=n(5636),je=n(76437),N=n(88860),Be=n(83292),ge=n(44426),Fe=n(8284),Ke=n(23940),We=n.n(Ke);const fe=({disabledEvents:r,name:t,events:a,inputValue:s,handleChange:g,handleChangeAll:I})=>{const F=a.filter(m=>!r.includes(m)),i=s.length===F.length,b=s.length>0,R=({target:{name:m}})=>{I({target:{name:m,value:!i}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Fe.X,{indeterminate:b&&!i,"aria-label":"Select all entries",name:t,onChange:R,value:i},We()(t))),a.map(m=>e.createElement("td",{key:m},e.createElement(ge.C,{disabled:r.includes(m),"aria-label":m,name:m,value:s.includes(m),onValueChange:S=>g({target:{name:m,value:S}})}))))};fe.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},fe.propTypes={disabledEvents:c().array,events:c().array,inputValue:c().array,handleChange:c().func,handleChangeAll:c().func,name:c().string.isRequired};const Ue=fe,se=r=>r.reduce((t,a)=>{const s=a.split(".")[0];return t[s]||(t[s]=[]),t[s].push(a),t},{}),Se=Be.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:r})=>r.colors.neutral100};
11
+ }
12
+
13
+ tbody tr td:first-child {
14
+ padding-left: ${({theme:r})=>r.spaces[7]};
15
+ }
16
+ `,l={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"]}}},d=({isDraftAndPublish:r})=>{const t=r?l.headers.draftAndPublish:l.headers.default,a=r?l.events.draftAndPublish:l.events.default,{formatMessage:s}=(0,q.useIntl)(),{values:g,handleChange:I}=(0,J.useFormikContext)(),F="events",i=g.events,b=[],R=se(i),m=({target:{name:C,value:te}})=>{let V=new Set(i);te?V.add(C):V.delete(C),I({target:{name:F,value:Array.from(V)}})},S=({target:{name:C,value:te}})=>{let V=new Set(i);te?a[C].forEach(re=>{b.includes(re)||V.add(re)}):a[C].forEach(re=>V.delete(re)),I({target:{name:F,value:Array.from(V)}})};return e.createElement(Z.K,{spacing:1},e.createElement(je.Q,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(Se,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(C=>C==="app.utils.publish"||C==="app.utils.unpublish"?e.createElement("td",{key:C.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},s(C))):e.createElement("td",{key:C.id},e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},s(C)))))),e.createElement("tbody",null,Object.keys(a).map(C=>e.createElement(Ue,{disabledEvents:b,key:C,name:C,events:a[C],inputValue:R[C],handleChange:m,handleChangeAll:S})))))};d.propTypes={isDraftAndPublish:c().bool.isRequired};const p=d;var x=n(19406),A=n(36320),at=n(7563),z=n(21590),Ie=n(90333);const Re=["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"];var ne=Object.defineProperty,nt=Object.defineProperties,De=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Ae=(r,t,a)=>t in r?ne(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a,ot=(r,t)=>{for(var a in t||(t={}))Ve.call(t,a)&&Ae(r,a,t[a]);if(ve)for(var a of ve(t))Te.call(t,a)&&Ae(r,a,t[a]);return r},Ze=(r,t)=>nt(r,De(t)),lt=(r,t)=>{var a={};for(var s in r)Ve.call(r,s)&&t.indexOf(s)<0&&(a[s]=r[s]);if(r!=null&&ve)for(var s of ve(r))t.indexOf(s)<0&&Te.call(r,s)&&(a[s]=r[s]);return a};const Le=r=>{var t=r,{name:a,onChange:s,value:g}=t,I=lt(t,["name","onChange","value"]);const[F,i]=(0,e.useState)(g?[...Re,g]:Re),b=m=>{s({target:{name:a,value:m}})},R=m=>{i(S=>[...S,m]),s({target:{name:a,value:m}})};return e.createElement(z.X,Ze(ot({},I),{onChange:b,onCreateOption:R,placeholder:"",value:g}),F.map(m=>e.createElement(Ie.O,{value:m,key:m},m)))};Le.defaultProps={value:void 0},Le.propTypes={name:c().string.isRequired,onChange:c().func.isRequired,value:c().string};const st=Le,it=()=>{const{formatMessage:r}=(0,q.useIntl)(),{values:t,errors:a}=(0,J.useFormikContext)();return e.createElement(Z.K,{spacing:1},e.createElement(je.Q,null,r({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(me.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(J.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:g})=>{var I;return e.createElement(xe.r,{gap:4},(I=t.headers)==null?void 0:I.map((F,i)=>{var b,R,m,S,C,te,V,re,et,tt;return e.createElement(e.Fragment,{key:i},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:st,name:`headers.${i}.key`,"aria-label":`row ${i+1} key`,label:r({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:((R=(b=a.headers)==null?void 0:b[i])==null?void 0:R.key)&&r({id:(m=a.headers[i])==null?void 0:m.key,defaultMessage:(S=a.headers[i])==null?void 0:S.key})})),e.createElement(G.P,{col:6},e.createElement(A.k,{alignItems:"flex-end"},e.createElement(me.x,{style:{flex:1}},e.createElement(J.Field,{as:Me.o,"aria-label":`row ${i+1} value`,label:r({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${i}.value`,error:((te=(C=a.headers)==null?void 0:C[i])==null?void 0:te.value)&&r({id:(V=a.headers[i])==null?void 0:V.value,defaultMessage:(re=a.headers[i])==null?void 0:re.value})})),e.createElement(A.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:(tt=(et=a.headers)==null?void 0:et[i])!=null&&tt.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>t.headers.length!==1&&g(i),label:r({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:i+1})})))))}),e.createElement(G.P,{col:12},e.createElement(at.A,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(x.default,null)},r({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))}})))};var Ne=n(35331),w=n(27169);const ie=Be.default.svg(({theme:r,color:t})=>`
17
+ width: ${12/16}rem;
18
+ height: ${12/16}rem;
19
+
20
+ path {
21
+ fill: ${r.colors[t]};
22
+ }
23
+ `),we=({isPending:r,statusCode:t})=>{const{formatMessage:a}=(0,q.useIntl)();return r?e.createElement(Z.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(ie,{as:w.default}),e.createElement(N.Z,null,a({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(Z.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(ie,{as:U.Z,color:"success700"}),e.createElement(N.Z,null,a({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(Z.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(ie,{as:Ne.default,color:"danger700"}),e.createElement(N.Z,null,a({id:"Settings.error",defaultMessage:"error"})," ",t)):null};we.propTypes={isPending:c().bool.isRequired,statusCode:c().number},we.defaultProps={statusCode:void 0};const $e=({statusCode:r,message:t})=>{const{formatMessage:a}=(0,q.useIntl)();return r>=200&&r<300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(N.Z,{textColor:"neutral600",ellipsis:!0},a({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):r>=300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(A.k,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(N.Z,{ellipsis:!0,textColor:"neutral600"},t))):null};$e.propTypes={statusCode:c().number,message:c().string},$e.defaultProps={statusCode:void 0,message:void 0};const j=({onCancel:r})=>{const{formatMessage:t}=(0,q.useIntl)();return e.createElement(A.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:r,type:"button"},e.createElement(Z.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(N.Z,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(ie,{as:Ne.default,color:"neutral400"}))))};j.propTypes={onCancel:c().func.isRequired};const he=({isPending:r,onCancel:t,response:a})=>{const{statusCode:s,message:g}=a,{formatMessage:I}=(0,q.useIntl)();return e.createElement(me.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(xe.r,{gap:4,style:{alignItems:"center"}},e.createElement(G.P,{col:3},e.createElement(N.Z,null,I({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(G.P,{col:3},e.createElement(we,{isPending:r,statusCode:s})),e.createElement(G.P,{col:6},r?e.createElement(j,{onCancel:t}):e.createElement($e,{statusCode:s,message:g}))))};he.defaultProps={isPending:!1,onCancel(){},response:{}},he.propTypes={isPending:c().bool,onCancel:c().func,response:c().object};const oe=he;var H=n(5173);const L=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,Ee=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,be=H.Ry().shape({name:H.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(L,o.translatedErrors.regex),url:H.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(Ee,o.translatedErrors.regex),headers:H.Vo(r=>{let t=H.IX();if(r.length===1){const{key:a,value:s}=r[0];if(!a&&!s)return t}return t.of(H.Ry().shape({key:H.Z_().required(o.translatedErrors.required),value:H.Z_().required(o.translatedErrors.required)}))}),events:H.IX()}),ee=({handleSubmit:r,data:t,triggerWebhook:a,isCreating:s,isTriggering:g,triggerResponse:I,isDraftAndPublishEvents:F})=>{const{formatMessage:i}=(0,q.useIntl)(),[b,R]=(0,e.useState)(!1);return e.createElement(J.Formik,{onSubmit:r,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([m,S])=>({key:m,value:S})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:be,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:m,errors:S})=>e.createElement(o.Form,{noValidate:!0},e.createElement(rt.T,{primaryAction:e.createElement(Z.K,{horizontal:!0,spacing:2},e.createElement(pe.z,{onClick:()=>{a(),R(!0)},variant:"tertiary",startIcon:e.createElement(ce,null),disabled:s||g,size:"L"},i({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(pe.z,{startIcon:e.createElement(U.Z,null),onClick:m,type:"submit",size:"L"},i({id:"global.save",defaultMessage:"Save"}))),title:s?i({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(v.Z,null),to:"/settings/webhooks"},i({id:"global.back",defaultMessage:"Back"}))}),e.createElement(ue.D,null,e.createElement(Z.K,{spacing:4},b&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(oe,{isPending:g,response:I,onCancel:()=>R(!1)})),e.createElement(me.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(Z.K,{spacing:6},e.createElement(xe.r,{gap:6},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:Me.o,name:"name",error:S.name&&i({id:S.name}),label:i({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(G.P,{col:12},e.createElement(J.Field,{as:Me.o,name:"url",error:S.url&&i({id:S.url}),label:i({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(it,null),e.createElement(p,{isDraftAndPublish:F})))))))};ee.propTypes={data:c().object,handleSubmit:c().func.isRequired,triggerWebhook:c().func.isRequired,isCreating:c().bool.isRequired,isDraftAndPublishEvents:c().bool.isRequired,isTriggering:c().bool.isRequired,triggerResponse:c().object},ee.defaultProps={data:void 0,triggerResponse:void 0};const ze=ee;var dt=n(92891),He=Object.defineProperty,B=Object.defineProperties,ke=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable,Ge=(r,t,a)=>t in r?He(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a,Je=(r,t)=>{for(var a in t||(t={}))Qe.call(t,a)&&Ge(r,a,t[a]);if(Xe)for(var a of Xe(t))ct.call(t,a)&&Ge(r,a,t[a]);return r},ye=(r,t)=>B(r,ke(t));const ut=r=>{const t=Je({},r);return(0,dt.set)(t,"headers",Ye(r.headers)),t},Ye=r=>r.reduce((t,a)=>{const{key:s,value:g}=a;return s!==""?ye(Je({},t),{[s]:g}):t},{}),Ce=ut;var X=n(98399),mt=Object.defineProperty,qe=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,_e=(r,t,a)=>t in r?mt(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a,u=(r,t)=>{for(var a in t||(t={}))pt.call(t,a)&&_e(r,a,t[a]);if(qe)for(var a of qe(t))gt.call(t,a)&&_e(r,a,t[a]);return r},h=(r,t,a)=>new Promise((s,g)=>{var I=b=>{try{i(a.next(b))}catch(R){g(R)}},F=b=>{try{i(a.throw(b))}catch(R){g(R)}},i=b=>b.done?s(b.value):Promise.resolve(b.value).then(I,F);i((a=a.apply(r,t)).next())});const le=()=>{const{params:{id:r}}=(0,K.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,K.useHistory)(),{lockApp:a,unlockApp:s}=(0,o.useOverlayBlocker)(),g=(0,o.useNotification)(),I=(0,T.useQueryClient)(),{isLoading:F,collectionTypes:i}=(0,W.bP)(),b=r==="create",R=(0,e.useCallback)(Y=>h(void 0,null,function*(){const[ae,{data:yt}]=yield(0,o.to)((0,o.request)(`/admin/webhooks/${Y}`,{method:"GET"}));return ae?(g({type:"warning",message:{id:"notification.error"}}),null):yt}),[g]),{isLoading:m,data:S}=(0,T.useQuery)(["get-webhook",r],()=>R(r),{enabled:!b}),{isLoading:C,data:te,isIdle:V,mutate:re}=(0,T.useMutation)(()=>P.be.post(`/admin/webhooks/${r}/trigger`)),et=()=>re(null,{onError(){g({type:"warning",message:{id:"notification.error"}})}}),tt=(0,T.useMutation)(Y=>(0,o.request)("/admin/webhooks",{method:"POST",body:Y})),ht=(0,T.useMutation)(({id:Y,body:ae})=>(0,o.request)(`/admin/webhooks/${Y}`,{method:"PUT",body:ae})),Et=Y=>h(void 0,null,function*(){b?(a(),tt.mutate(Ce(Y),{onSuccess(ae){g({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${ae.data.id}`),s()},onError(ae){g({type:"warning",message:{id:"notification.error"}}),X.log(ae),s()}})):(a(),ht.mutate({id:r,body:Ce(Y)},{onSuccess(){I.invalidateQueries(["get-webhook",r]),g({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(ae){g({type:"warning",message:{id:"notification.error"}}),X.log(ae),s()}}))}),bt=(0,e.useMemo)(()=>i.some(Y=>Y.options.draftAndPublish===!0),[i]);return m||F?e.createElement(o.LoadingIndicatorPage,null):e.createElement(k.o,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(ze,u({},{handleSubmit:Et,data:S,triggerWebhook:et,isCreating:b,isTriggering:C,isTriggerIdle:V,triggerResponse:te==null?void 0:te.data.data,isDraftAndPublishEvents:bt})))}},33238:(Pe,$,n)=>{n.r($),n.d($,{default:()=>P});var e=n(32735),o=n(88425),k=n.n(o),T=n(83983),K=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.create},e.createElement(K.Z,null))},59021:(Pe,$,n)=>{n.r($),n.d($,{default:()=>P});var e=n(32735),o=n(88425),k=n.n(o),T=n(83983),K=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.update},e.createElement(K.Z,null))},21590:(Pe,$,n)=>{n.d($,{h:()=>se,X:()=>Se});var e=n(32735),o=n(60216),k=n(59002),T=n(16899),K=n(35331),W=n(96892),P=n(94486);const f={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},c={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function v(l=[],d,p=[]){const x=String(d!=null?d:"").toLowerCase();return x?l.filter(A=>A.props.children.toString().toLowerCase().includes(x)&&p.indexOf(A)<0):l}function U(l,d){if(!d&&l===P.y.DOWN)return f.Open;if(l===P.y.DOWN)return f.Next;if(l===P.y.UP)return f.Previous;if(l===P.y.HOME)return f.First;if(l===P.y.END)return f.Last;if(l===P.y.ESCAPE)return f.Close;if(l===P.y.ENTER)return f.CloseSelect;if(l===P.y.BACKSPACE||l===P.y.CLEAR||l.length===1)return f.Type}function Q(l,d,p){switch(p){case f.First:return 0;case f.Last:return d;case f.Previous:return Math.max(0,l-1);case f.Next:return Math.min(d,l+1);default:return l}}function E(l){W(l,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:d,top:p,left:x})=>{d.scrollTop=p,d.scrollLeft=x})}var O=n(36320),y=n(93958),M=n(46406),Oe=n(62345),ce=n(88860),rt=n(97405),ue=n(91225),me=n(90333);const pe=({options:l,activeOptionRef:d})=>((0,e.useEffect)(()=>{d.current&&E(d.current)},[]),l);pe.defaultProps={activeOptionRef:void 0},pe.propTypes={options:o.array.isRequired};var Z=n(87107),Me=n(76437),xe=n(67014),G=n(47851),J=n(27677),q=n(3685),je=Object.defineProperty,N=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable,We=(l,d,p)=>d in l?je(l,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):l[d]=p,fe=(l,d)=>{for(var p in d||(d={}))Fe.call(d,p)&&We(l,p,d[p]);if(ge)for(var p of ge(d))Ke.call(d,p)&&We(l,p,d[p]);return l},Ue=(l,d)=>N(l,Be(d)),ft=(l,d)=>{var p={};for(var x in l)Fe.call(l,x)&&d.indexOf(x)<0&&(p[x]=l[x]);if(l!=null&&ge)for(var x of ge(l))d.indexOf(x)<0&&Ke.call(l,x)&&(p[x]=l[x]);return p};const se=l=>{var d=l,{children:p,clearLabel:x,creatable:A,createMessage:at,disabled:z,error:Ie,hasMoreItems:vt,hint:Re,label:ne,labelAction:nt,loading:De,loadingMessage:ve,noOptionsMessage:Ve,onChange:Te,onClear:Ae,onCreateOption:ot,onInputChange:Ze,onLoadMore:lt,placeholder:Le,required:st,value:_}=d,it=ft(d,["children","clearLabel","creatable","createMessage","disabled","error","hasMoreItems","hint","label","labelAction","loading","loadingMessage","noOptionsMessage","onChange","onClear","onCreateOption","onInputChange","onLoadMore","placeholder","required","value"]);const Ne=()=>{var u;return(u=p.find(h=>{var D;return((D=h.props)==null?void 0:D.value.toLowerCase())===_.toLowerCase()}).props)==null?void 0:u.children},[w,ie]=(0,e.useState)(0),[we,$e]=(0,e.useState)(null),[j,he]=(0,e.useState)(p),[oe,H]=(0,e.useState)(!1),[L,Ee]=(0,e.useState)(""),de=(0,e.useRef)(),be=(0,e.useRef)(!1),ee=(0,e.useRef)(),ze=(0,e.useRef)(),dt=(0,e.useRef)(),He=(0,e.useRef)(!0),B=(0,k.M)("combobox"),ke=`${B}-label`;if(!ne&&!it["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');(0,e.useEffect)(()=>{he(v(p,L))},[L,p]),(0,e.useEffect)(()=>{oe&&de.current&&E(de.current)},[w]),(0,e.useLayoutEffect)(()=>{if(He.current){He.current=!1;return}},[_]);const Xe=oe?`${B}-${w}`:"",Qe=()=>{Te(null),Ee("")},ct=u=>{Ze&&Ze(u);const h=ee.current.value;he(v(p,h)),ie(0),$e(null),L!==h&&Ee(h),oe||X(!0,!1)},Ge=u=>{const{key:h}=u,D=A&&L?j.length:j.length-1,le=U(h,oe);switch(_&&!L&&h===P.y.BACKSPACE&&Qe(),le){case f.Next:return ye(w===D?0:Q(w,D,le));case f.Previous:return ye(w===0?D:Q(w,D,le));case f.Last:case f.First:return ye(w===D?0:Q(w,D,le));case f.CloseSelect:u.preventDefault(),Ce(w);return;case f.Close:return u.preventDefault(),X(!1);case f.Open:return X(!0);default:return}},Je=u=>{if(u.preventDefault(),_&&!be.current&&Ee(""),be.current){be.current=!1;return}X(!1,!1)},ye=u=>{ie(u)},ut=u=>{ye(u),Ce(u)},Ye=()=>{be.current=!0},Ce=u=>{const h=j[u];if(Ee(""),h)return Te(h.props.value),X(!1);A&&(ot(L),X(!1))},X=(u,h=!0)=>{H(u),h&&ee.current.focus()},mt=e.Children.toArray(j).map((u,h)=>{const D=w===h;return(0,e.cloneElement)(u,{id:`${B}-${h}`,"aria-selected":we===h,"aria-posinset":h+1,"aria-setsize":e.Children.toArray(j).length,ref:le=>{D&&(de.current=le)},onClick:()=>ut(h),onMouseDown:Ye,isSelected:D})}),qe=()=>{ee.current.focus(),Ae&&Ae(),Qe()},pt=()=>{ee.current.focus(),X(!0)},gt=()=>{const u=j.findIndex(h=>{var D;return((D=h.props)==null?void 0:D.children)===L});return L&&u===-1},_e=u=>{u.preventDefault(),X(u,!0)};return e.createElement(Z.g,{hint:Re,error:Ie,id:B},e.createElement(q.T,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},_),e.createElement(J.K,{spacing:ne||Re||Ie?1:0},ne&&e.createElement(Me.Q,{action:nt,required:st,id:ke},ne),e.createElement(ue.d8,{ref:ze,$disabled:z,hasError:Ie},e.createElement(ue.fv,{wrap:"wrap"},!L&&_&&e.createElement(ue.K7,{id:`${B}-selected-value`},e.createElement(ce.Z,null,Ne())),e.createElement(ue.II,{"aria-activedescendant":Xe,"aria-autocomplete":"list","aria-controls":`${B}-listbox`,"aria-disabled":z,"aria-expanded":oe,"aria-haspopup":"listbox","aria-labelledby":ne?ke:void 0,id:B,onBlur:z?void 0:Je,onClick:z?void 0:_e,onInput:z?void 0:ct,onKeyDown:z?void 0:Ge,placeholder:_?"":Le,readOnly:z,ref:ee,role:"combobox",autoComplete:"off",autoCorrect:"off",spellCheck:"off",type:"text",value:L})),e.createElement(O.k,null,(_||L)&&e.createElement(y.zb,{id:`${B}-clear`,"aria-label":x,disabled:z,paddingLeft:3,as:"button",onClick:qe,type:"button"},e.createElement(K.default,null)),e.createElement(y.AV,{disabled:z,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:pt,tabIndex:-1,type:"button"},e.createElement(T.default,null)))),e.createElement(xe.J,null),e.createElement(G.c,null)),oe&&e.createElement(M.J,{id:`${B}-popover`,source:ze,spacing:4,fullWidth:!0,intersectionId:`${B}-listbox-popover-intersection`,onReachEnd:vt&&!De?lt:void 0},e.createElement("div",{role:"listbox",ref:dt,id:`${B}-listbox`,"aria-labelledby":ne?ke:void 0},(Boolean(j.length)||A)&&e.createElement(e.Fragment,null,e.createElement(pe,{activeOptionRef:de,options:mt}),gt()&&A&&e.createElement(me.O,{isSelected:w===j.length,ref:u=>{w===j.length&&(de.current=u)},onMouseDown:Ye,onClick:()=>Ce(),taindex:0},at(L))),!Boolean(j.length)&&!A&&!De&&e.createElement(Oe.x,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:de},e.createElement(ce.Z,{textColor:"neutral800"},Ve(L))),De&&e.createElement(O.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},e.createElement(rt.a,{small:!0},ve)))))},Se=l=>e.createElement(se,Ue(fe({},l),{creatable:!0}));se.defaultProps=Se.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:l=>`Create "${l}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint: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},se.propTypes={"aria-label":o.string,children:o.oneOfType([o.arrayOf(o.node),o.node]),clearLabel:o.string,creatable:o.bool,createMessage:o.func,disabled:o.bool,error:o.string,hasMoreItems:o.bool,hint:o.oneOfType([o.string,o.node,o.arrayOf(o.node)]),label:o.string,labelAction:o.element,loading:o.bool,loadingMessage:o.string,noOptionsMessage:o.func,onChange:o.func.isRequired,onClear:o.func,onCreateOption:o.func,onInputChange:o.func,onLoadMore:o.func,placeholder:o.string,value:o.string},Se.propTypes=Ue(fe({},se.propTypes),{onCreateOption:o.func.isRequired})},90333:(Pe,$,n)=>{n.d($,{O:()=>Q});var e=n(32735),o=n(60216),k=n(88860),T=n(91225),K=Object.defineProperty,W=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,c=(E,O,y)=>O in E?K(E,O,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[O]=y,v=(E,O)=>{for(var y in O||(O={}))P.call(O,y)&&c(E,y,O[y]);if(W)for(var y of W(O))f.call(O,y)&&c(E,y,O[y]);return E},U=(E,O)=>{var y={};for(var M in E)P.call(E,M)&&O.indexOf(M)<0&&(y[M]=E[M]);if(E!=null&&W)for(var M of W(E))O.indexOf(M)<0&&f.call(E,M)&&(y[M]=E[M]);return y};const Q=(0,e.forwardRef)((E,O)=>{var y=E,{isSelected:M,children:Oe}=y,ce=U(y,["isSelected","children"]);return e.createElement(T.Zq,v({hasRadius:!0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,role:"option",background:"neutral0",isSelected:M,ref:O},ce),e.createElement(k.Z,{textColor:M?"primary600":"neutral800",fontWeight:M?"bold":null},Oe))});Q.defaultProps={isSelected:!1},Q.propTypes={children:o.oneOfType([o.string,o.number]).isRequired,isSelected:o.bool},Q.displayName="ComboboxOption"},91225:(Pe,$,n)=>{n.d($,{II:()=>f,K7:()=>W,Zq:()=>c,d8:()=>K,fv:()=>P});var e=n(62345),o=n(36320),k=n(83292),T=n(30350);const K=(0,k.default)(o.k)`
24
+ position: relative;
25
+ border: 1px solid ${({theme:v,hasError:U})=>U?v.colors.danger600:v.colors.neutral200};
26
+ padding-right: ${({theme:v})=>v.spaces[3]};
27
+ padding-left: ${({theme:v})=>v.spaces[3]};
28
+ border-radius: ${({theme:v})=>v.borderRadius};
29
+ background: ${({theme:v})=>v.colors.neutral0};
30
+
31
+ ${({theme:v,$disabled:U})=>U?`
32
+ color: ${v.colors.neutral600};
33
+ background: ${v.colors.neutral150};
34
+ `:void 0}
35
+
36
+ ${(0,T.k3)()}
37
+ `,W=k.default.div`
38
+ padding: 1px 2px;
39
+ grid-area: 1 / 1 / 2 / 3;
40
+ `,P=(0,k.default)(o.k)`
41
+ display: grid;
42
+ flex: 1 1 0%;
43
+ position: relative;
44
+ `,f=k.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:v})=>v.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
+ `,c=(0,k.default)(e.x)`
66
+ width: 100%;
67
+ border: none;
68
+ text-align: left;
69
+ outline-offset: -3px;
70
+ ${({isSelected:v,theme:U})=>v&&`background: ${U.colors.primary100};`}
71
+
72
+ &:hover {
73
+ background: ${({theme:v})=>v.colors.primary100};
74
+ }
75
+ `}}]);
@@ -0,0 +1,42 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{74767:(Ue,M,o)=>{o.r(M),o.d(M,{default:()=>xe});var e=o(32735),i=o(88425),x=o(83983),A=o(5141),ee=o(5636),te=o(96709),le=o(28356),ne=o(99223),oe=o(17e3),ae=o(9695),$=o(36320),se=o(27677),H=o(50563),I=o(44426),re=o(56755),ie=o(73269),de=o(33827),K=o(94547),u=o(19786),ce=o(35658),g=o(88860),N=o(41415),ue=o(3685),v=o(60216),G=o(83292),R=o(62345),he=Object.defineProperty,y=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,j=(t,n,l)=>n in t?he(t,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[n]=l,Ee=(t,n)=>{for(var l in n||(n={}))V.call(n,l)&&j(t,l,n[l]);if(y)for(var l of y(n))Z.call(n,l)&&j(t,l,n[l]);return t},me=(t,n)=>{var l={};for(var r in t)V.call(t,r)&&n.indexOf(r)<0&&(l[r]=t[r]);if(t!=null&&y)for(var r of y(t))n.indexOf(r)<0&&Z.call(t,r)&&(l[r]=t[r]);return l};const S=G.default.div`
2
+ background: ${({theme:t})=>t.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:t})=>t?"1rem":0};
11
+ }
12
+
13
+ &:before {
14
+ content: '';
15
+ background: ${({theme:t})=>t.colors.neutral0};
16
+ width: 1rem;
17
+ height: 1rem;
18
+ border-radius: 50%;
19
+ position: absolute;
20
+ transition: all 0.5s;
21
+ left: ${({theme:t})=>t.spaces[1]};
22
+ top: ${({theme:t})=>t.spaces[1]};
23
+ }
24
+
25
+ @media (prefers-reduced-motion: reduce) {
26
+ &:before {
27
+ transition: none;
28
+ }
29
+ }
30
+ `,fe=G.default.button`
31
+ background: transparent;
32
+ padding: 0;
33
+ border: none;
34
+
35
+ &[aria-checked='true'] ${S} {
36
+ background: ${({theme:t})=>t.colors.success500};
37
+ }
38
+
39
+ &[aria-checked='true'] ${S}:before {
40
+ transform: translateX(1rem);
41
+ }
42
+ `,O=e.forwardRef((t,n)=>{var l=t,{label:r,onChange:m,onLabel:f,offLabel:d,selected:s,visibleLabels:c}=l,h=me(l,["label","onChange","onLabel","offLabel","selected","visibleLabels"]);return e.createElement(fe,Ee({ref:n,role:"switch","aria-checked":s,"aria-label":r,onClick:m,visibleLabels:c,type:"button"},h),e.createElement($.k,null,e.createElement(S,null,e.createElement("span",null,f),e.createElement("span",null,d)),c&&e.createElement(R.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:s?"success600":"danger600"},s?f:d)))});O.defaultProps={onLabel:"On",offLabel:"Off",visibleLabels:!1},O.propTypes={label:v.string.isRequired,offLabel:v.string,onChange:v.func.isRequired,onLabel:v.string,selected:v.bool.isRequired,visibleLabels:v.bool},O.displayName="Switch";var be=o(27649),ge=o(94638),P=o(19406),ve=o(68625),z=o(4038),Te=o(54725),pe=o(97889),ye=o(3040),Oe=o.n(ye);const Le={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},De=(t,n)=>(0,pe.default)(t,l=>{switch(n.type){case"GET_DATA_SUCCEEDED":{l.webhooks=n.data,l.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{l.loadingWebhooks=!t.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{Oe()(l,["webhooks",...n.keys],n.value);break}case"SET_WEBHOOK_TO_DELETE":{l.webhookToDelete=n.id;break}case"SET_WEBHOOKS_TO_DELETE":{n.value?l.webhooksToDelete.push(n.id):l.webhooksToDelete=t.webhooksToDelete.filter(r=>r!==n.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{t.webhooksToDelete.length===0?l.webhooksToDelete=t.webhooks.map(r=>r.id):l.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{l.webhooks=t.webhooks.filter(r=>!t.webhooksToDelete.includes(r.id)),l.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{l.webhooks=t.webhooks.filter((r,m)=>m!==n.index),l.webhookToDelete=null;break}default:return l}});var ke=o(98399),Ce=Object.defineProperty,we=Object.defineProperties,Se=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,F=(t,n,l)=>n in t?Ce(t,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[n]=l,T=(t,n)=>{for(var l in n||(n={}))Pe.call(n,l)&&F(t,l,n[l]);if(U)for(var l of U(n))We.call(n,l)&&F(t,l,n[l]);return t},Be=(t,n)=>we(t,Se(n)),L=(t,n,l)=>new Promise((r,m)=>{var f=c=>{try{s(l.next(c))}catch(h){m(h)}},d=c=>{try{s(l.throw(c))}catch(h){m(h)}},s=c=>c.done?r(c.value):Promise.resolve(c.value).then(f,d);s((l=l.apply(t,n)).next())});const Me=()=>{const{isLoading:t,allowedActions:{canCreate:n,canRead:l,canUpdate:r,canDelete:m}}=(0,i.useRBAC)(x.Z.settings.webhooks),f=(0,i.useNotification)(),d=(0,e.useRef)(!0),{formatMessage:s}=(0,ee.useIntl)(),[c,h]=(0,e.useState)(!1),[{webhooks:D,webhooksToDelete:k,webhookToDelete:W,loadingWebhooks:B},b]=(0,e.useReducer)(De,Le),{notifyStatus:Ae}=(0,ge.G)();(0,i.useFocusWhenNavigate)();const{push:$e}=(0,A.useHistory)(),{pathname:X}=(0,A.useLocation)(),C=D.length,p=k.length,J=a=>D.findIndex(E=>E.id===a);(0,e.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]),(0,e.useEffect)(()=>{l&&He()},[l]);const He=()=>L(void 0,null,function*(){try{const{data:a}=yield(0,i.request)("/admin/webhooks",{method:"GET"});d.current&&(b({type:"GET_DATA_SUCCEEDED",data:a}),Ae("webhooks have been loaded"))}catch(a){ke.log(a),d.current&&(a.code!==20&&f({type:"warning",message:{id:"notification.error"}}),b({type:"TOGGLE_LOADING"}))}}),Ie=()=>{h(a=>!a)},Ke=()=>{W?Ne():Ge()},Ne=()=>L(void 0,null,function*(){try{yield(0,i.request)(`/admin/webhooks/${W}`,{method:"DELETE"}),b({type:"WEBHOOK_DELETED",index:J(W)})}catch(a){a.code!==20&&f({type:"warning",message:{id:"notification.error"}})}h(!1)}),Ge=()=>L(void 0,null,function*(){const a={ids:k};try{yield(0,i.request)("/admin/webhooks/batch-delete",{method:"POST",body:a}),d.current&&b({type:"WEBHOOKS_DELETED"})}catch(E){d.current&&E.code!==20&&f({type:"warning",message:{id:"notification.error"}})}h(!1)}),Q=a=>{h(!0),a!=="all"&&b({type:"SET_WEBHOOK_TO_DELETE",id:a})},Re=(a,E)=>L(void 0,null,function*(){const Y=J(E),je=D[Y],q=[Y,"isEnabled"],_=Be(T({},je),{isEnabled:a});delete _.id;try{b({type:"SET_WEBHOOK_ENABLED",keys:q,value:a}),yield(0,i.request)(`/admin/webhooks/${E}`,{method:"PUT",body:_})}catch(ze){d.current&&(b({type:"SET_WEBHOOK_ENABLED",keys:q,value:!a}),ze.code!==20&&f({type:"warning",message:{id:"notification.error"}}))}}),Ve=()=>{b({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Ze=(a,E)=>{b({type:"SET_WEBHOOKS_TO_DELETE",value:a,id:E})},w=a=>{$e(`${X}/${a}`)};return e.createElement(te.A,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(be.o,{"aria-busy":t||B},e.createElement(le.T,{title:s({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:s({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:n&&!B&&e.createElement(i.LinkButton,{startIcon:e.createElement(P.default,null),variant:"default",to:`${X}/create`,size:"S"},s({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),p>0&&m&&e.createElement(ne.Z,{startActions:e.createElement(e.Fragment,null,e.createElement(g.Z,{variant:"epsilon",textColor:"neutral600"},s({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:p})),e.createElement(N.z,{onClick:()=>Q("all"),startIcon:e.createElement(z.default,null),size:"L",variant:"danger-light"},s({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(oe.D,null,t||B?e.createElement(R.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(i.LoadingIndicatorPage,null)):e.createElement(e.Fragment,null,C>0?e.createElement(re.i,{colCount:5,rowCount:C+1,footer:e.createElement(ie.c,{onClick:()=>n?w("create"):{},icon:e.createElement(P.default,null)},s({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(de.h,null,e.createElement(K.Tr,null,e.createElement(u.Th,null,e.createElement(I.C,{"aria-label":s({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:p>0&&p<C,value:p===C,onValueChange:Ve})),e.createElement(u.Th,{width:"20%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},s({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,{width:"60%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},s({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(u.Th,{width:"20%"},e.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},s({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(ue.T,null,s({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(ce.p,null,D.map(a=>e.createElement(K.Tr,T({key:a.id},(0,i.onRowClick)({fn:()=>w(a.id),condition:r})),e.createElement(u.Td,T({},i.stopPropagation),e.createElement(I.C,{"aria-label":`${s({id:"global.select",defaultMessage:"Select"})} ${a.name}`,value:k==null?void 0:k.includes(a.id),onValueChange:E=>Ze(E,a.id),id:"select",name:"select"})),e.createElement(u.Td,null,e.createElement(g.Z,{fontWeight:"semiBold",textColor:"neutral800"},a.name)),e.createElement(u.Td,null,e.createElement(g.Z,{textColor:"neutral800"},a.url)),e.createElement(u.Td,null,e.createElement($.k,T({},i.stopPropagation),e.createElement(O,{onLabel:s({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:s({id:"global.disabled",defaultMessage:"Disabled"}),label:`${a.name} ${s({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:a.isEnabled,onChange:()=>Re(!a.isEnabled,a.id),visibleLabels:!0}))),e.createElement(u.Td,null,e.createElement(se.K,T({horizontal:!0,spacing:1},i.stopPropagation),r&&e.createElement(H.h,{onClick:()=>{w(a.id)},label:s({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(ve.Z,null),noBorder:!0}),m&&e.createElement(H.h,{onClick:()=>Q(a.id),label:s({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(z.default,null),noBorder:!0,id:`delete-${a.id}`}))))))):e.createElement(ae.x,{icon:e.createElement(Te.default,{width:"160px"}),content:s({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(N.z,{variant:"secondary",startIcon:e.createElement(P.default,null),onClick:()=>n?w("create"):{}},s({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),e.createElement(i.ConfirmDialog,{isOpen:c,onToggleDialog:Ie,onConfirm:Ke}))},xe=()=>e.createElement(i.CheckPagePermissions,{permissions:x.Z.settings.webhooks.main},e.createElement(Me,null))}}]);