@strapi/admin 4.12.5 → 4.12.6

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 (159) hide show
  1. package/admin/src/StrapiApp.js +1 -1
  2. package/admin/src/components/AuthenticatedApp.js +229 -0
  3. package/admin/src/components/GuidedTour/Modal/index.js +1 -3
  4. package/admin/src/content-manager/pages/App/index.js +5 -16
  5. package/admin/src/content-manager/pages/EditView/Information/index.js +1 -1
  6. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +2 -2
  7. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +1 -1
  8. package/admin/src/hooks/useSettingsForm/index.js +14 -3
  9. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  10. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +1 -3
  11. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -3
  12. package/admin/src/index.js +1 -1
  13. package/admin/src/pages/Admin/Onboarding/index.js +1 -3
  14. package/admin/src/pages/Admin/index.js +80 -74
  15. package/admin/src/pages/App/constants.js +1 -1
  16. package/admin/src/pages/App/index.js +160 -122
  17. package/admin/src/pages/AuthPage/index.js +2 -4
  18. package/admin/src/pages/HomePage/index.js +1 -3
  19. package/admin/src/pages/InstalledPluginsPage/index.js +1 -3
  20. package/admin/src/pages/{InternalErrorPage/index.js → InternalErrorPage.js} +3 -4
  21. package/admin/src/pages/{NotFoundPage/index.js → NotFoundPage.js} +1 -3
  22. package/admin/src/pages/ProfilePage/index.js +2 -4
  23. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +3 -3
  24. package/admin/src/pages/SettingsPage/constants.js +67 -132
  25. package/admin/src/pages/SettingsPage/index.js +31 -36
  26. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -1
  27. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +69 -35
  28. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +1 -1
  29. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +2 -1
  30. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +1 -1
  31. package/admin/src/pages/UseCasePage.js +174 -0
  32. package/admin/src/utils/createRoute.js +5 -7
  33. package/admin/src/utils/formatAPIErrors.js +1 -3
  34. package/admin/src/utils/getFullName.js +1 -1
  35. package/admin/src/utils/sortLinks.js +1 -3
  36. package/admin/src/utils/uniqueAdminHash.js +2 -9
  37. package/build/{1049.f76cb14b.chunk.js → 1049.9d69d231.chunk.js} +1 -1
  38. package/build/1504.eff012f7.chunk.js +95 -0
  39. package/build/2166.c837469a.chunk.js +1 -0
  40. package/build/2225.33287e1b.chunk.js +79 -0
  41. package/build/2237.03792b63.chunk.js +114 -0
  42. package/build/2379.401f56f3.chunk.js +1 -0
  43. package/build/2395.e6a79fbb.chunk.js +26 -0
  44. package/build/{9806.5d5a0e8d.chunk.js → 2747.d1442a90.chunk.js} +72 -64
  45. package/build/2801.31393ffe.chunk.js +1 -0
  46. package/build/3483.8517171f.chunk.js +1 -0
  47. package/build/502.8dd074ff.chunk.js +1 -0
  48. package/build/5483.5bfbb00d.chunk.js +6 -0
  49. package/build/7464.592a9295.chunk.js +1 -0
  50. package/build/748.fd2e5afd.chunk.js +105 -0
  51. package/build/773.6381d62d.chunk.js +18 -0
  52. package/build/7826.399afe81.chunk.js +103 -0
  53. package/build/8261.2525d35c.chunk.js +7 -0
  54. package/build/8276.e519a707.chunk.js +26 -0
  55. package/build/8299.62b67c72.chunk.js +1 -0
  56. package/build/Admin-AuthPage.90d64342.chunk.js +35 -0
  57. package/build/Admin-AuthenticatedApp.379ac945.chunk.js +24 -0
  58. package/build/Admin-UseCasePage.1f757db5.chunk.js +13 -0
  59. package/build/Admin_GuidedTourModal.8ccf1fbc.chunk.js +12 -0
  60. package/build/Admin_InternalErrorPage.9de92c6d.chunk.js +9 -0
  61. package/build/Admin_NotFoundPage.21620424.chunk.js +9 -0
  62. package/build/Admin_Onboarding.dbfa32f6.chunk.js +43 -0
  63. package/build/Admin_homePage.2000cbe9.chunk.js +86 -0
  64. package/build/Admin_marketplace.ec80e29b.chunk.js +63 -0
  65. package/build/Admin_pluginsPage.0c6851f8.chunk.js +14 -0
  66. package/build/Admin_profilePage.78cd8495.chunk.js +21 -0
  67. package/build/Admin_settingsPage.1760c3ce.chunk.js +119 -0
  68. package/build/StrapiApp.221fac30.chunk.js +5 -0
  69. package/build/{admin-edit-roles-page.6d567273.chunk.js → admin-edit-roles-page.24bdf746.chunk.js} +1 -1
  70. package/build/admin-edit-users.5d10d444.chunk.js +10 -0
  71. package/build/{admin-users.00e20017.chunk.js → admin-users.2b3e4305.chunk.js} +2 -2
  72. package/build/{content-manager.b40f79c0.chunk.js → content-manager.fb0833bd.chunk.js} +78 -78
  73. package/build/{content-type-builder.cd999f6e.chunk.js → content-type-builder.66066281.chunk.js} +18 -18
  74. package/build/email-settings-page.2f7e35c0.chunk.js +11 -0
  75. package/build/index.html +1 -1
  76. package/build/main.ee3c1938.js +2859 -0
  77. package/build/review-workflows-settings-create-view.d24a32b9.chunk.js +1 -0
  78. package/build/review-workflows-settings-edit-view.6044b022.chunk.js +1 -0
  79. package/build/review-workflows-settings-list-view.3f0ef4bc.chunk.js +56 -0
  80. package/build/runtime~main.397ee447.js +2 -0
  81. package/build/{sso-settings-page.12b6d8ae.chunk.js → sso-settings-page.4dba0670.chunk.js} +1 -1
  82. package/build/users-advanced-settings-page.17052d72.chunk.js +9 -0
  83. package/build/users-email-settings-page.3de8ea50.chunk.js +9 -0
  84. package/build/users-providers-settings-page.0eaa916d.chunk.js +14 -0
  85. package/build/users-roles-settings-page.957ad48b.chunk.js +55 -0
  86. package/build/webhook-edit-page.665210af.chunk.js +33 -0
  87. package/ee/admin/hooks/useAuthProviders.js +25 -0
  88. package/ee/admin/hooks/{useLicenseLimitNotification/index.js → useLicenseLimitNotification.js} +2 -4
  89. package/ee/admin/hooks/{useLicenseLimits/useLicenseLimits.js → useLicenseLimits.js} +4 -1
  90. package/ee/admin/pages/App/constants.js +6 -5
  91. package/ee/admin/pages/AuthPage/components/Login/index.js +8 -4
  92. package/ee/admin/pages/AuthPage/components/Providers/index.js +8 -5
  93. package/ee/admin/pages/HomePage/index.js +1 -1
  94. package/ee/admin/pages/SettingsPage/constants.js +27 -42
  95. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +1 -1
  96. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +1 -1
  97. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +1 -1
  98. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +1 -1
  99. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
  100. package/package.json +8 -8
  101. package/admin/src/components/AuthenticatedApp/index.js +0 -118
  102. package/admin/src/components/AuthenticatedApp/utils/api.js +0 -85
  103. package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.js +0 -11
  104. package/admin/src/components/PluginsInitializer/index.js +0 -68
  105. package/admin/src/components/PluginsInitializer/init.js +0 -11
  106. package/admin/src/components/PluginsInitializer/reducer.js +0 -22
  107. package/admin/src/layouts/AppLayout/index.js +0 -33
  108. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +0 -23
  109. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +0 -17
  110. package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +0 -11
  111. package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +0 -5
  112. package/admin/src/pages/SettingsPage/utils/index.js +0 -2
  113. package/admin/src/pages/UseCasePage/index.js +0 -175
  114. package/admin/src/utils/checkFormValidity.js +0 -15
  115. package/admin/src/utils/getAttributesToDisplay.js +0 -19
  116. package/admin/src/utils/getExistingActions.js +0 -32
  117. package/admin/src/utils/index.js +0 -9
  118. package/admin/src/utils/makeUniqueRoutes.js +0 -6
  119. package/build/1386.879bcd90.chunk.js +0 -7
  120. package/build/2225.c6244756.chunk.js +0 -79
  121. package/build/2379.f1641312.chunk.js +0 -1
  122. package/build/2395.46f8d0c1.chunk.js +0 -26
  123. package/build/2801.5cef5ec8.chunk.js +0 -1
  124. package/build/3483.03c24f96.chunk.js +0 -1
  125. package/build/3739.63e352f1.chunk.js +0 -103
  126. package/build/3929.5632f24d.chunk.js +0 -114
  127. package/build/448.829e1344.chunk.js +0 -1
  128. package/build/502.8ae8ef60.chunk.js +0 -1
  129. package/build/5483.6dd2e776.chunk.js +0 -6
  130. package/build/5542.2415a393.chunk.js +0 -63
  131. package/build/6691.4985ef22.chunk.js +0 -105
  132. package/build/7464.3e64a1d5.chunk.js +0 -1
  133. package/build/8276.10a3f883.chunk.js +0 -26
  134. package/build/9944.7af075a5.chunk.js +0 -26
  135. package/build/Admin-authenticatedApp.01fc56de.chunk.js +0 -79
  136. package/build/Admin_InternalErrorPage.f45f2462.chunk.js +0 -1
  137. package/build/Admin_homePage.ac9dfb86.chunk.js +0 -81
  138. package/build/Admin_marketplace.c94239f6.chunk.js +0 -55
  139. package/build/Admin_pluginsPage.bbe79434.chunk.js +0 -6
  140. package/build/Admin_profilePage.192edc52.chunk.js +0 -13
  141. package/build/Admin_settingsPage.97cb9d41.chunk.js +0 -111
  142. package/build/admin-app.91898385.chunk.js +0 -36
  143. package/build/admin-edit-users.acfd4128.chunk.js +0 -10
  144. package/build/email-settings-page.d494d1eb.chunk.js +0 -11
  145. package/build/main.9dbe4579.js +0 -2859
  146. package/build/review-workflows-settings-create-view.cb08cfa2.chunk.js +0 -1
  147. package/build/review-workflows-settings-edit-view.3c7cbe63.chunk.js +0 -1
  148. package/build/review-workflows-settings-list-view.1611dc1f.chunk.js +0 -56
  149. package/build/runtime~main.46a609e9.js +0 -2
  150. package/build/users-advanced-settings-page.f0760eb8.chunk.js +0 -9
  151. package/build/users-email-settings-page.ff4b32f3.chunk.js +0 -9
  152. package/build/users-providers-settings-page.48de0306.chunk.js +0 -14
  153. package/build/users-roles-settings-page.9d9a1eff.chunk.js +0 -30
  154. package/build/webhook-edit-page.6cb479ff.chunk.js +0 -33
  155. package/ee/admin/hooks/index.js +0 -4
  156. package/ee/admin/hooks/useAuthProviders/index.js +0 -50
  157. package/ee/admin/hooks/useAuthProviders/reducer.js +0 -26
  158. package/ee/admin/hooks/useLicenseLimits/index.js +0 -1
  159. /package/ee/admin/hooks/{useLicenseLimits/__mocks__/index.js → __mocks__/useLicenseLimits.js} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8936],{80252:function(fe,y,t){t.r(y),t.d(y,{default:function(){return K}});var e=t(32735),i=t(19565),u=t(15062),x=t(30305),F=t(41415),m=t(87933),V=t(23866),E=t(49372),X=t(66456),d=t(92802),Y=t(3040),Z=t.n(Y),z=t(67879),B=t(20108),H=t(53038),N=t(90769),P=t(61234),j=t(98866),k=t(77061),g=t(27187),c=t(90562),J=t(45594),Q=t(165),n=t(2121),G=t(32329),S=t(79989),U=t(82920);function $(){const{formatMessage:s}=(0,z.Z)(),{post:b}=(0,i.kY)(),{push:q}=(0,H.k6)(),{formatAPIError:_}=(0,i.So)(),w=(0,u.I0)(),C=(0,i.lm)(),{collectionTypes:ee,singleTypes:te,isLoading:oe}=(0,N.G)(),{isLoading:T,meta:v,workflows:M}=(0,G.n)(),{clientState:{currentWorkflow:{data:l,isDirty:se}}}=(0,u.v9)(o=>o?.[n.sN]??S.E),[L,f]=e.useState(!1),{isLoading:I,getFeature:ne}=(0,j.q)(),[ae,le]=e.useState(null),[W,h]=e.useState({}),a=ne("review-workflows"),A=M.flatMap(o=>o.contentTypes),{mutateAsync:re,isLoading:R}=(0,B.useMutation)(async({workflow:o})=>{const{data:{data:r}}=await b("/admin/review-workflows/workflows",{data:o});return r},{onSuccess(){C({type:"success",message:{id:"Settings.review-workflows.create.page.notification.success",defaultMessage:"Workflow successfully created"}})}}),D=async()=>{h({});try{const o=await re({workflow:l});return q(`/settings/review-workflows/${o.id}`),o}catch(o){return o.response.data?.error?.name==="ValidationError"&&o.response.data?.error?.details?.errors?.length>0&&le(o.response.data?.error?.details?.errors.reduce((r,O)=>(Z()(r,O.path,O.message),r),{})),C({type:"warning",message:_(o)}),null}},ie=async()=>{await D()},ce=()=>{h({})},p=(0,d.TA)({enableReinitialize:!0,initialErrors:ae,initialValues:l,async onSubmit(){const o=l.contentTypes.some(r=>A.includes(r));a?.[n.Ef]&&v?.workflowCount>=parseInt(a[n.Ef],10)?f("workflow"):a?.[n._X]&&l.stages.length>=parseInt(a[n._X],10)?f("stage"):o?h(r=>({...r,hasReassignedContentTypes:!0})):D()},validate(o){return(0,U.V)({values:o,formatMessage:s})}});return(0,P.v)(n.sN,S.I),e.useEffect(()=>{w((0,k.Js)()),w((0,k.CI)({name:""}))},[w]),e.useEffect(()=>{!T&&!I&&(a?.[n.Ef]&&v?.workflowsTotal>=parseInt(a[n.Ef],10)?f("workflow"):a?.[n._X]&&l.stages.length>=parseInt(a[n._X],10)&&f("stage"))},[I,T,a,v?.workflowsTotal,l.stages.length]),e.createElement(e.Fragment,null,e.createElement(g.lx,null),e.createElement(d.Hy,{value:p},e.createElement(d.l0,{onSubmit:p.handleSubmit},e.createElement(g.h4,{navigationAction:e.createElement(g.eJ,{href:"/settings/review-workflows"}),primaryAction:e.createElement(F.z,{startIcon:e.createElement(X.Z,null),type:"submit",size:"M",disabled:!se,isLoading:R},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.review-workflows.create.page.title",defaultMessage:"Create Review Workflow"}),subtitle:s({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:l?.stages?.length??0})}),e.createElement(g.fC,null,e.createElement(m.k,{alignItems:"stretch",direction:"column",gap:7},oe?e.createElement(V.a,null,s({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})):e.createElement(m.k,{alignItems:"stretch",direction:"column",gap:7},e.createElement(Q.Y,{contentTypes:{collectionTypes:ee,singleTypes:te},workflows:M}),e.createElement(J.U,{stages:p.values?.stages})))))),e.createElement(i.QH.Root,{isConfirmButtonLoading:R,isOpen:Object.keys(W).length>0,onToggleDialog:ce,onConfirm:ie},e.createElement(i.QH.Body,null,e.createElement(m.k,{direction:"column",gap:5},W.hasReassignedContentTypes&&e.createElement(E.Z,{textAlign:"center",variant:"omega"},s({id:"Settings.review-workflows.page.delete.confirm.contentType.body",defaultMessage:"{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed."},{count:A.filter(o=>l.contentTypes.includes(o)).length})),e.createElement(E.Z,{textAlign:"center",variant:"omega"},s({id:"Settings.review-workflows.page.delete.confirm.confirm",defaultMessage:"Are you sure you want to save?"}))))),e.createElement(c.fC,{isOpen:L==="workflow",onClose:()=>f(!1)},e.createElement(c.Dx,null,s({id:"Settings.review-workflows.create.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),e.createElement(c.uT,null,s({id:"Settings.review-workflows.create.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."}))),e.createElement(c.fC,{isOpen:L==="stage",onClose:()=>f(!1)},e.createElement(c.Dx,null,s({id:"Settings.review-workflows.create.page.stages.limit.title",defaultMessage:"You have reached the limit of stages for this workflow in your plan"})),e.createElement(c.uT,null,s({id:"Settings.review-workflows.create.page.stages.limit.body",defaultMessage:"Try deleting some stages or contact Sales to enable more stages."}))))}function K(){const s=(0,u.v9)(x._);return e.createElement(i.O4,{permissions:s.settings["review-workflows"].create},e.createElement($,null))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4409],{45696:function(Ee,M,t){t.r(M),t.d(M,{default:function(){return oe}});var e=t(32735),i=t(19565),d=t(15062),T=t(30305),B=t(41415),h=t(87933),H=t(23866),p=t(49372),N=t(66456),y=t(92802),P=t(3040),U=t.n(P),J=t(67879),Q=t(20108),G=t(53038),$=t(90769),K=t(61234),b=t(98866),I=t(77061),g=t(27187),c=t(90562),q=t(45594),_=t(165),l=t(2121),ee=t(32329),L=t(79989),te=t(82920);function se(){const{workflowId:u}=(0,G.UO)(),ne=(0,d.v9)(T._),{formatMessage:n}=(0,J.Z)(),E=(0,d.I0)(),{put:ae}=(0,i.kY)(),{formatAPIError:le}=(0,i.So)(),A=(0,i.lm)(),{isLoading:D,meta:m,workflows:k,status:W,refetch:re}=(0,ee.n)(),{collectionTypes:ie,singleTypes:ce,isLoading:fe}=(0,$.G)(),{status:de,clientState:{currentWorkflow:{data:a,isDirty:ge,hasDeletedServerStages:O}}}=(0,d.v9)(s=>s?.[l.sN]??L.E),{allowedActions:{canDelete:ue,canUpdate:S}}=(0,i.ss)(ne.settings["review-workflows"]),[w,v]=e.useState({}),{getFeature:me,isLoading:R}=(0,b.q)(),[x,f]=e.useState(!1),[we,F]=e.useState(null),V=k.find(s=>s.id===parseInt(u,10)),Z=k.filter(s=>s.id!==parseInt(u,10)).flatMap(s=>s.contentTypes),{mutateAsync:ve,isLoading:j}=(0,Q.useMutation)(async({workflow:s})=>{const{data:{data:o}}=await ae(`/admin/review-workflows/workflows/${s.id}`,{data:s});return o},{onSuccess(){A({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),he=async s=>{F(null);try{return await ve({workflow:s})}catch(o){return o.response.data?.error?.name==="ValidationError"&&o.response.data?.error?.details?.errors?.length>0&&F(o.response.data?.error?.details?.errors.reduce((Y,z)=>(U()(Y,z.path,z.message),Y),{})),A({type:"warning",message:le(o)}),null}},X=async()=>{await he(a),await re(),v({})},pe=async()=>{await X()},ye=()=>{v({})},C=(0,y.TA)({enableReinitialize:!0,initialErrors:we,initialValues:a,async onSubmit(){const s=a.contentTypes.some(o=>Z.includes(o));r?.[l.Ef]&&m?.workflowCount>parseInt(r[l.Ef],10)?f("workflow"):r?.[l._X]&&a.stages.length>parseInt(r[l._X],10)?f("stage"):O||s?(O&&v(o=>({...o,hasDeletedServerStages:!0})),s&&v(o=>({...o,hasReassignedContentTypes:!0}))):X()},validate(s){return(0,te.V)({values:s,formatMessage:n})}});(0,K.v)(l.sN,L.I);const r=me("review-workflows");return e.useEffect(()=>(E((0,I.fC)({status:W,data:V})),()=>{E((0,I.Js)())}),[W,V,E]),e.useEffect(()=>{!D&&!R&&(r?.[l.Ef]&&m?.workflowCount>parseInt(r[l.Ef],10)?f("workflow"):r?.[l._X]&&a.stages.length>parseInt(r[l._X],10)&&f("stage"))},[a.stages.length,R,D,r,m?.workflowCount,m.workflowsTotal]),e.createElement(e.Fragment,null,e.createElement(g.lx,null),e.createElement(y.Hy,{value:C},e.createElement(y.l0,{onSubmit:C.handleSubmit},e.createElement(g.h4,{navigationAction:e.createElement(g.eJ,{href:"/settings/review-workflows"}),primaryAction:S&&e.createElement(B.z,{startIcon:e.createElement(N.Z,null),type:"submit",size:"M",disabled:!ge,loading:!Object.keys(w).length>0&&j},n({id:"global.save",defaultMessage:"Save"})),subtitle:a.stages.length>0&&n({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:a.stages.length}),title:a.name}),e.createElement(g.fC,null,fe||de==="loading"?e.createElement(h.k,{justifyContent:"center"},e.createElement(H.a,null,n({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"}))):e.createElement(h.k,{alignItems:"stretch",direction:"column",gap:7},e.createElement(_.Y,{canUpdate:S,contentTypes:{collectionTypes:ie,singleTypes:ce},currentWorkflow:a,workflows:k}),e.createElement(q.U,{canDelete:ue,canUpdate:S,stages:C.values?.stages}))))),e.createElement(i.QH.Root,{isConfirmButtonLoading:j,isOpen:Object.keys(w).length>0,onToggleDialog:ye,onConfirm:pe},e.createElement(i.QH.Body,null,e.createElement(h.k,{direction:"column",gap:5},w.hasDeletedServerStages&&e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.stages.body",defaultMessage:"All entries assigned to deleted stages will be moved to the previous stage."})),w.hasReassignedContentTypes&&e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.contentType.body",defaultMessage:"{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed."},{count:Z.filter(s=>a.contentTypes.includes(s)).length})),e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.confirm",defaultMessage:"Are you sure you want to save?"}))))),e.createElement(c.fC,{isOpen:x==="workflow",onClose:()=>f(!1)},e.createElement(c.Dx,null,n({id:"Settings.review-workflows.edit.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),e.createElement(c.uT,null,n({id:"Settings.review-workflows.edit.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."}))),e.createElement(c.fC,{isOpen:x==="stage",onClose:()=>f(!1)},e.createElement(c.Dx,null,n({id:"Settings.review-workflows.edit.page.stages.limit.title",defaultMessage:"You have reached the limit of stages for this workflow in your plan"})),e.createElement(c.uT,null,n({id:"Settings.review-workflows.edit.page.stages.limit.body",defaultMessage:"Try deleting some stages or contact Sales to enable more stages."}))))}function oe(){const u=(0,d.v9)(T._);return e.createElement(i.O4,{permissions:u.settings["review-workflows"].main},e.createElement(se,null))}}}]);
@@ -0,0 +1,56 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[349],{17379:function(O,u,t){t.d(u,{r:function(){return g}});var e=t(32735),n=t(72850),r=t(60216),f=t.n(r),E=t(74506);function d(m,l,s){if(!m||!l)return{display:"none"};const{x:a,y:o}=s;return{transform:`translate(${a}px, ${o}px)`}}function g({renderItem:m}){const{itemType:l,isDragging:s,item:a,initialOffset:o,currentOffset:y,mouseOffset:h}=(0,E.useDragLayer)(T=>({item:T.getItem(),itemType:T.getItemType(),initialOffset:T.getInitialSourceClientOffset(),currentOffset:T.getSourceClientOffset(),isDragging:T.isDragging(),mouseOffset:T.getClientOffset()}));return s?e.createElement(n.x,{height:"100%",left:0,position:"fixed",pointerEvents:"none",top:0,zIndex:100,width:"100%"},e.createElement(n.x,{style:d(o,y,h)},m({type:l,item:a}))):null}g.propTypes={renderItem:f().func.isRequired}},98866:function(O,u,t){t.d(u,{q:function(){return f}});var e=t(32735),n=t(19565),r=t(20108);function f({enabled:E}={enabled:!0}){const{get:d}=(0,n.kY)(),{data:g,isError:m,isLoading:l}=(0,r.useQuery)(["ee","license-limit-info"],async()=>{const{data:{data:o}}=await d("/admin/license-limit-information");return o},{enabled:E}),s=e.useMemo(()=>g??{},[g]),a=e.useCallback(o=>(s?.features??[]).find(h=>h.name===o)?.options??{},[s?.features]);return{license:s,getFeature:a,isError:m,isLoading:l}}},27187:function(O,u,t){t.d(u,{eJ:function(){return D},lx:function(){return P},h4:function(){return v},fC:function(){return I}});var e=t(32735),n=t(96709),r=t(27649),f=t(17e3),E=t(82055),d=t(19565),g=t(29439),m=t(67879),l=t(17379),s=t(2121),a=t(87933),o=t(49372),y=t(16899),h=t(60216),T=t.n(h),A=t(8471);const W=(0,A.ZP)(a.k)`
2
+ svg path {
3
+ fill: ${({theme:w})=>w.colors.neutral600};
4
+ }
5
+ `;function C({name:w}){return e.createElement(a.k,{background:"primary100",borderStyle:"dashed",borderColor:"primary600",borderWidth:"1px",gap:3,hasRadius:!0,padding:3,shadow:"tableShadow",width:(0,d.Q1)(300)},e.createElement(W,{alignItems:"center",background:"neutral200",borderRadius:"50%",height:6,justifyContent:"center",width:6},e.createElement(y.Z,{width:`${8/16}rem`})),e.createElement(o.Z,{fontWeight:"bold"},w))}C.propTypes={name:T().string.isRequired};function R({type:w,item:p}){switch(w){case s.uL.STAGE:return e.createElement(C,{...p});default:return null}}function P(){return e.createElement(l.r,{renderItem:R})}function I({children:w}){return e.createElement(n.A,null,e.createElement(r.o,{tabIndex:-1},e.createElement(f.D,null,w)))}function D({href:w}){const{formatMessage:p}=(0,m.Z)();return e.createElement(d.rU,{startIcon:e.createElement(g.Z,null),to:w},p({id:"global.back",defaultMessage:"Back"}))}function v({title:w,subtitle:p,navigationAction:M,primaryAction:L}){return e.createElement(e.Fragment,null,e.createElement(d.SL,{name:w}),e.createElement(E.T,{navigationAction:M,primaryAction:L,title:w,subtitle:p}))}},90562:function(O,u,t){t.d(u,{uT:function(){return R},fC:function(){return D},Dx:function(){return C}});var e=t(32735),n=t(49372),r=t(87933),f=t(85025),E=t(31600),d=t(72850),g=t(50563),m=t(95489),l=t(35331),s=t(60216),a=t.n(s),o=t(67879),y=t(8471),h=t.p+"0cd5f8915b265d5b1856.png";const T="limits-title",A="https://strapi.io/pricing-cloud",W="https://strapi.io/contact-sales";function C({children:v}){return e.createElement(n.Z,{variant:"alpha",id:T},v)}C.propTypes={children:a().node.isRequired};function R({children:v}){return e.createElement(n.Z,{variant:"omega"},v)}R.propTypes={children:a().node.isRequired};function P(){const{formatMessage:v}=(0,o.Z)();return e.createElement(r.k,{gap:2,paddingTop:4},e.createElement(m.Q,{variant:"default",isExternal:!0,href:A},v({id:"Settings.review-workflows.limit.cta.learn",defaultMessage:"Learn more"})),e.createElement(m.Q,{variant:"tertiary",isExternal:!0,href:W},v({id:"Settings.review-workflows.limit.cta.sales",defaultMessage:"Contact Sales"})))}const I=y.ZP.img`
6
+ // Margin top|right reverse the padding of ModalBody
7
+ margin-right: ${({theme:v})=>`-${v.spaces[7]}`};
8
+ margin-top: ${({theme:v})=>`-${v.spaces[7]}`};
9
+ width: 360px;
10
+ `;function D({children:v,isOpen:w,onClose:p}){const{formatMessage:M}=(0,o.Z)();return w?e.createElement(f.P,{labelledBy:T},e.createElement(E.f,null,e.createElement(r.k,{gap:2,paddingLeft:7,position:"relative"},e.createElement(r.k,{alignItems:"start",direction:"column",gap:2,width:"60%"},v,e.createElement(P,null)),e.createElement(r.k,{justifyContent:"end",height:"100%",width:"40%"},e.createElement(I,{src:h,"aria-hidden":!0,alt:"",loading:"lazy"}),e.createElement(d.x,{display:"flex",position:"absolute",right:0,top:0},e.createElement(g.h,{icon:e.createElement(l.Z,null),"aria-label":M({id:"global.close",defaultMessage:"Close"}),onClick:p})))))):null}D.defaultProps={isOpen:!1},D.propTypes={children:a().node.isRequired,isOpen:a().bool,onClose:a().func.isRequired}},2121:function(O,u,t){t.d(u,{$k:function(){return m},Ef:function(){return y},FT:function(){return a},Nj:function(){return g},Ot:function(){return d},VS:function(){return l},_X:function(){return h},gu:function(){return r},lv:function(){return s},qZ:function(){return f},sN:function(){return n},uL:function(){return o},x4:function(){return E}});var e=t(12301);const n="settings_review-workflows",r="Settings/Review_Workflows/RESET_WORKFLOW",f="Settings/Review_Workflows/SET_WORKFLOW",E="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",d="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",g="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE",m="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE_POSITION",l="Settings/Review_Workflows/WORKFLOW_UPDATE",s={primary600:"Blue",primary200:"Lilac",alternative600:"Violet",alternative200:"Lavender",success600:"Green",success200:"Pale Green",danger500:"Cherry",danger200:"Pink",warning600:"Orange",warning200:"Yellow",secondary600:"Teal",secondary200:"Baby Blue",neutral400:"Gray",neutral0:"White"},a=e.W.colors.primary600,o={STAGE:"stage"},y="numberOfWorkflows",h="stagesPerWorkflow"},32329:function(O,u,t){t.d(u,{n:function(){return r}});var e=t(19565),n=t(20108);function r(f={}){const{get:E}=(0,e.kY)(),{id:d="",...g}=f,m={populate:"stages"},{data:l,isLoading:s,status:a,refetch:o}=(0,n.useQuery)(["review-workflows","workflows",d],async()=>(await E(`/admin/review-workflows/workflows/${d}`,{params:{...m,...g}})).data);let y=[];return d&&l?.data?y=[l.data]:Array.isArray(l?.data)&&(y=l.data),{meta:l?.meta??{},workflows:y,isLoading:s,status:a,refetch:o}}},32033:function(O,u,t){t.r(u),t.d(u,{default:function(){return X}});var e=t(32735),n=t(19565),r=t(15062),f=t(30305),E=t(87933),d=t(23866),g=t(56755),m=t(73269),l=t(33827),s=t(94547),a=t(19786),o=t(49372),y=t(3685),h=t(35658),T=t(50563),A=t(19406),W=t(68625),C=t(4038),R=t(67879),P=t(20108),I=t(53038),D=t(8471),v=t(90769),w=t(98866),p=t(27187),M=t(90562),L=t(2121),Y=t(32329);const V=(0,D.ZP)(n.rU)`
11
+ align-items: center;
12
+ height: ${(0,n.Q1)(32)};
13
+ display: flex;
14
+ justify-content: center;
15
+ padding: ${({theme:i})=>`${i.spaces[2]}}`};
16
+ width: ${(0,n.Q1)(32)};
17
+
18
+ svg {
19
+ height: ${(0,n.Q1)(12)};
20
+ width: ${(0,n.Q1)(12)};
21
+
22
+ path {
23
+ fill: ${({theme:i})=>i.colors.neutral500};
24
+ }
25
+ }
26
+
27
+ &:hover,
28
+ &:focus {
29
+ svg {
30
+ path {
31
+ fill: ${({theme:i})=>i.colors.neutral800};
32
+ }
33
+ }
34
+ }
35
+ `;function z(){const{formatMessage:i}=(0,R.Z)(),{push:F}=(0,I.k6)(),{collectionTypes:J,singleTypes:b,isLoading:q}=(0,v.G)(),{meta:x,workflows:K,isLoading:Z,refetch:_}=(0,Y.n)(),[N,$]=e.useState(null),[ee,B]=e.useState(!1),{del:te}=(0,n.kY)(),{formatAPIError:ne}=(0,n.So)(),U=(0,n.lm)(),{getFeature:ae,isLoading:G}=(0,w.q)(),{trackUsage:Q}=(0,n.rS)(),se=(0,r.v9)(f._),{allowedActions:{canCreate:H,canDelete:oe}}=(0,n.ss)(se.settings["review-workflows"]),S=ae("review-workflows"),{mutateAsync:re,isLoading:le}=(0,P.useMutation)(async({workflowId:c,stages:k})=>{const{data:{data:j}}=await te(`/admin/review-workflows/workflows/${c}`,{data:k});return j},{onSuccess(){U({type:"success",message:{id:"notification.success.deleted",defaultMessage:"Deleted"}})}}),ie=c=>[...J,...b].find(j=>j.uid===c).info.displayName,ce=c=>{$(c)},de=()=>{$(null)},ue=async()=>{try{const c=await re({workflowId:N});return await _(),$(null),c}catch(c){return U({type:"warning",message:ne(c)}),null}};return e.useEffect(()=>{!Z&&!G&&S?.[L.Ef]&&x?.workflowCount>parseInt(S[L.Ef],10)&&B(!0)},[G,Z,S,x?.workflowCount,x.workflowsTotal]),e.createElement(e.Fragment,null,e.createElement(p.h4,{primaryAction:H&&e.createElement(n.Qj,{startIcon:e.createElement(A.Z,null),size:"S",to:"/settings/review-workflows/create",onClick:c=>{S?.[L.Ef]&&x?.workflowCount>=parseInt(S[L.Ef],10)?(c.preventDefault(),B(!0)):Q("willCreateWorkflow")}},i({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),subtitle:i({id:"Settings.review-workflows.list.page.subtitle",defaultMessage:"Manage your content review process"}),title:i({id:"Settings.review-workflows.list.page.title",defaultMessage:"Review Workflows"})}),e.createElement(p.fC,null,Z||q?e.createElement(E.k,{justifyContent:"center"},e.createElement(d.a,null,i({id:"Settings.review-workflows.page.list.isLoading",defaultMessage:"Workflows are loading"}))):e.createElement(g.i,{colCount:3,footer:H&&e.createElement(m.c,{icon:e.createElement(A.Z,null),onClick:()=>{S?.[L.Ef]&&x?.workflowCount>=parseInt(S[L.Ef],10)?B(!0):(F("/settings/review-workflows/create"),Q("willCreateWorkflow"))}},i({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),rowCount:1},e.createElement(l.h,null,e.createElement(s.Tr,null,e.createElement(a.Th,null,e.createElement(o.Z,{variant:"sigma"},i({id:"Settings.review-workflows.list.page.list.column.name.title",defaultMessage:"Name"}))),e.createElement(a.Th,null,e.createElement(o.Z,{variant:"sigma"},i({id:"Settings.review-workflows.list.page.list.column.stages.title",defaultMessage:"Stages"}))),e.createElement(a.Th,null,e.createElement(o.Z,{variant:"sigma"},i({id:"Settings.review-workflows.list.page.list.column.contentTypes.title",defaultMessage:"Content Types"}))),e.createElement(a.Th,null,e.createElement(y.T,null,i({id:"Settings.review-workflows.list.page.list.column.actions.title",defaultMessage:"Actions"}))))),e.createElement(h.p,null,K.map(c=>e.createElement(s.Tr,{...(0,n.X7)({fn(k){k.target.nodeName!=="BUTTON"&&F(`/settings/review-workflows/${c.id}`)}}),key:`workflow-${c.id}`},e.createElement(a.Td,{width:(0,n.Q1)(250)},e.createElement(o.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},c.name)),e.createElement(a.Td,null,e.createElement(o.Z,{textColor:"neutral800"},c.stages.length)),e.createElement(a.Td,null,e.createElement(o.Z,{textColor:"neutral800"},(c?.contentTypes??[]).map(ie).join(", "))),e.createElement(a.Td,null,e.createElement(E.k,{alignItems:"center",justifyContent:"end"},e.createElement(V,{to:`/settings/review-workflows/${c.id}`,"aria-label":i({id:"Settings.review-workflows.list.page.list.column.actions.edit.label",defaultMessage:"Edit {name}"},{name:c.name})},e.createElement(W.Z,null)),K.length>1&&oe&&e.createElement(T.h,{"aria-label":i({id:"Settings.review-workflows.list.page.list.column.actions.delete.label",defaultMessage:"Delete {name}"},{name:"Default workflow"}),icon:e.createElement(C.Z,null),noBorder:!0,onClick:()=>{ce(c.id)}}))))))),e.createElement(n.QH,{bodyText:{id:"Settings.review-workflows.list.page.delete.confirm.body",defaultMessage:"If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"},isConfirmButtonLoading:le,isOpen:!!N,onToggleDialog:de,onConfirm:ue}),e.createElement(M.fC,{isOpen:ee,onClose:()=>B(!1)},e.createElement(M.Dx,null,i({id:"Settings.review-workflows.list.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),e.createElement(M.uT,null,i({id:"Settings.review-workflows.list.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."})))))}function X(){const i=(0,r.v9)(f._);return e.createElement(n.O4,{permissions:i.settings["review-workflows"].main},e.createElement(z,null))}},73269:function(O,u,t){t.d(u,{c:function(){return l}});var e=t(74512),n=t(8471),r=t(72850),f=t(9026),E=t(87933),d=t(49372);const g=(0,n.ZP)(r.x)`
36
+ height: ${24/16}rem;
37
+ width: ${24/16}rem;
38
+ border-radius: 50%;
39
+ display: flex;
40
+ justify-content: center;
41
+ align-items: center;
42
+
43
+ svg {
44
+ height: ${10/16}rem;
45
+ width: ${10/16}rem;
46
+ }
47
+
48
+ svg path {
49
+ fill: ${({theme:s})=>s.colors.primary600};
50
+ }
51
+ `,m=(0,n.ZP)(r.x)`
52
+ border-radius: 0 0 ${({theme:s})=>s.borderRadius} ${({theme:s})=>s.borderRadius};
53
+ display: block;
54
+ width: 100%;
55
+ border: none;
56
+ `,l=({children:s,icon:a,...o})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(f.i,{}),(0,e.jsx)(m,{as:"button",background:"primary100",padding:5,...o,children:(0,e.jsxs)(E.k,{children:[(0,e.jsx)(g,{"aria-hidden":!0,background:"primary200",children:a}),(0,e.jsx)(r.x,{paddingLeft:3,children:(0,e.jsx)(d.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:s})})]})})]})},29439:function(O,u,t){t.d(u,{Z:function(){return r}});var e=t(74512);const n=f=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...f,children:(0,e.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),r=n}}]);
@@ -0,0 +1,2 @@
1
+ (function(){"use strict";var j={},m={};function e(n){var i=m[n];if(i!==void 0)return i.exports;var t=m[n]={id:n,loaded:!1,exports:{}};return j[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}e.m=j,function(){var n=[];e.O=function(i,t,o,r){if(t){r=r||0;for(var s=n.length;s>0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r];return}for(var a=1/0,s=0;s<n.length;s++){for(var t=n[s][0],o=n[s][1],r=n[s][2],c=!0,l=0;l<t.length;l++)(r&!1||a>=r)&&Object.keys(e.O).every(function(p){return e.O[p](t[l])})?t.splice(l--,1):(c=!1,r<a&&(a=r));if(c){n.splice(s--,1);var f=o();f!==void 0&&(i=f)}}return i}}(),function(){e.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;e.t=function(t,o){if(o&1&&(t=this(t)),o&8||typeof t=="object"&&t&&(o&4&&t.__esModule||o&16&&typeof t.then=="function"))return t;var r=Object.create(null);e.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var a=o&2&&t;typeof a=="object"&&!~i.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},e.d(r,s),r}}(),function(){e.d=function(n,i){for(var t in i)e.o(i,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){e.f={},e.e=function(n){return Promise.all(Object.keys(e.f).reduce(function(i,t){return e.f[t](n,i),i},[]))}}(),function(){e.u=function(n){return""+({46:"content-type-builder-translation-zh-Hans-json",90:"i18n-translation-de-json",92:"api-tokens-edit-page",96:"email-translation-de-json",123:"ru-json",129:"i18n-translation-es-json",302:"sso-settings-page",320:"en-json",349:"review-workflows-settings-list-view",395:"tr-json",435:"email-translation-it-json",562:"no-json",585:"upload-translation-pt-json",606:"sk-json",615:"upload-translation-uk-json",695:"upload-settings",742:"content-type-builder-translation-th-json",744:"email-translation-cs-json",749:"th-json",830:"he-json",891:"Admin_GuidedTourModal",931:"content-type-builder-translation-en-json",994:"content-manager",1001:"content-type-builder-translation-nl-json",1009:"upload-translation-ms-json",1011:"zh-json",1018:"email-translation-ko-json",1023:"content-type-builder-translation-it-json",1056:"upload-translation-tr-json",1157:"email-translation-pt-BR-json",1167:"users-permissions-translation-ko-json",1180:"i18n-translation-tr-json",1312:"ja-json",1331:"upload-translation-es-json",1375:"upload-translation-pt-BR-json",1377:"ko-json",1442:"users-permissions-translation-cs-json",1495:"email-settings-page",1674:"users-permissions-translation-ru-json",1930:"users-permissions-translation-pt-json",2137:"i18n-translation-fr-json",2151:"content-type-builder-translation-id-json",2246:"content-type-builder-translation-dk-json",2248:"gu-json",2282:"users-providers-settings-page",2380:"users-permissions-translation-tr-json",2411:"email-translation-tr-json",2464:"users-permissions-translation-de-json",2489:"upload-translation-ko-json",2492:"transfer-tokens-edit-page",2544:"admin-edit-roles-page",2553:"zh-Hans-json",2567:"content-type-builder-translation-ko-json",2603:"email-translation-en-json",2648:"email-translation-ar-json",2657:"content-type-builder-translation-cs-json",2671:"nl-json",2742:"users-permissions-translation-zh-Hans-json",2812:"audit-logs-settings-page",3025:"ms-json",3038:"upload-translation-sk-json",3043:"email-translation-zh-Hans-json",3095:"users-permissions-translation-sk-json",3098:"users-permissions-translation-fr-json",3166:"email-translation-pt-json",3206:"email-translation-nl-json",3278:"vi-json",3304:"content-type-builder-translation-tr-json",3340:"pt-json",3349:"Admin-AuthenticatedApp",3455:"admin-roles-list",3516:"ca-json",3530:"users-permissions-translation-vi-json",3552:"i18n-settings-page",3650:"upload",3677:"Admin_pluginsPage",3702:"users-permissions-translation-pl-json",3825:"email-translation-dk-json",3948:"content-type-builder-translation-pl-json",3964:"content-type-builder-translation-ms-json",3981:"Admin_homePage",4021:"upload-translation-de-json",4121:"webhook-list-page",4179:"users-permissions-translation-id-json",4263:"admin-edit-users",4299:"api-tokens-create-page",4302:"content-type-builder-translation-zh-json",4409:"review-workflows-settings-edit-view",4587:"email-translation-th-json",4693:"email-translation-fr-json",4804:"upload-translation-ru-json",4816:"transfer-tokens-create-page",4987:"upload-translation-pl-json",5053:"upload-translation-zh-json",5162:"webhook-edit-page",5199:"admin-users",5222:"upload-translation-it-json",5296:"i18n-translation-dk-json",5388:"email-translation-ru-json",5396:"users-permissions-translation-zh-json",5516:"Admin_marketplace",5751:"email-translation-es-json",5762:"StrapiApp",5788:"Admin_NotFoundPage",5880:"upload-translation-ja-json",5894:"hu-json",5895:"Admin_settingsPage",5905:"content-type-builder-list-view",5906:"content-type-builder-translation-pt-BR-json",6033:"Admin_Onboarding",6232:"upload-translation-th-json",6280:"i18n-translation-ko-json",6332:"hi-json",6377:"users-permissions-translation-dk-json",6434:"upload-translation-en-json",6460:"users-permissions-translation-en-json",6745:"email-translation-uk-json",6784:"email-translation-ms-json",6817:"it-json",6831:"upload-translation-zh-Hans-json",6836:"users-permissions-translation-uk-json",6848:"email-translation-zh-json",6901:"de-json",7048:"users-permissions-translation-nl-json",7094:"users-permissions-translation-ar-json",7155:"content-type-builder-translation-de-json",7186:"content-type-builder-translation-ru-json",7327:"email-translation-vi-json",7347:"highlight.js",7403:"uk-json",7465:"upload-translation-dk-json",7519:"cs-json",7663:"email-translation-id-json",7808:"i18n-translation-zh-json",7817:"users-permissions-translation-es-json",7828:"users-permissions-translation-th-json",7833:"upload-translation-fr-json",7846:"pl-json",7898:"dk-json",7934:"content-type-builder-translation-pt-json",7958:"ar-json",7997:"content-type-builder-translation-sk-json",8006:"fr-json",8056:"api-tokens-list-page",8175:"i18n-translation-en-json",8178:"email-translation-ja-json",8329:"content-type-builder-translation-sv-json",8342:"content-type-builder-translation-es-json",8360:"eu-json",8367:"es-json",8418:"users-email-settings-page",8423:"upload-translation-ca-json",8467:"users-permissions-translation-sv-json",8481:"email-translation-pl-json",8573:"content-type-builder-translation-uk-json",8736:"users-permissions-translation-pt-BR-json",8826:"Admin-AuthPage",8853:"users-roles-settings-page",8880:"content-type-builder",8897:"id-json",8907:"content-type-builder-translation-ja-json",8936:"review-workflows-settings-create-view",8965:"content-type-builder-translation-fr-json",9220:"users-permissions-translation-ms-json",9303:"sv-json",9366:"i18n-translation-pl-json",9412:"email-translation-sk-json",9460:"users-advanced-settings-page",9497:"Admin_profilePage",9501:"Admin_InternalErrorPage",9502:"users-permissions-translation-ja-json",9511:"content-type-builder-translation-ar-json",9514:"Upload_ConfigureTheView",9600:"transfer-tokens-list-page",9647:"pt-BR-json",9726:"sa-json",9737:"i18n-translation-ru-json",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9884:"Admin-UseCasePage",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"6ff57db6",90:"362384a6",92:"58139df9",96:"1b334230",123:"1c976644",129:"87b494d1",302:"4dba0670",311:"cb0884bb",320:"08c05fcf",349:"3f0ef4bc",395:"c9f22432",435:"a2ed8c78",502:"8dd074ff",562:"19a2dbfa",585:"6b937fdf",606:"b41847e8",615:"9950466a",695:"7f93d4c0",742:"122277cc",744:"6eaeec6a",748:"fd2e5afd",749:"5f659396",773:"6381d62d",830:"3cf0b48a",891:"8ccf1fbc",918:"54414509",931:"ed29ff4d",994:"fb0833bd",1001:"997fe8cc",1009:"74f6d746",1011:"bfc2e036",1018:"4de49b23",1023:"e268ab74",1049:"9d69d231",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"e1959a1c",1331:"ba2eb03a",1375:"d1704f0b",1377:"ce5d6d94",1387:"a86ac314",1442:"7e23424a",1495:"2f7e35c0",1504:"eff012f7",1674:"8e883c67",1727:"b49f0713",1930:"a7eda429",2137:"57ddc77e",2151:"65255f93",2166:"c837469a",2225:"33287e1b",2237:"03792b63",2246:"fd626b67",2248:"7efe8cc2",2282:"0eaa916d",2379:"401f56f3",2380:"2bd7ff98",2395:"e6a79fbb",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"8741529f",2544:"24bdf746",2553:"97efd015",2567:"04cb309d",2603:"4211d4d0",2648:"88304564",2657:"1ef9e106",2671:"fe38f0fb",2742:"8d82c809",2747:"d1442a90",2801:"31393ffe",2812:"0f73ccf8",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3095:"7f37180f",3098:"7e55bbbb",3100:"2ba4df95",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"41f44f77",3340:"ee554a41",3349:"379ac945",3455:"23ddff26",3483:"8517171f",3516:"fc6001d3",3530:"6722a8a2",3552:"47f78016",3650:"37488080",3677:"0c6851f8",3702:"0a7287d1",3825:"85402492",3948:"634f638b",3964:"f6b743b9",3981:"2000cbe9",3984:"dda474f7",4021:"420c943b",4121:"65e1b5bb",4179:"a5a0fb59",4263:"5d10d444",4299:"46c2ea84",4302:"3532b962",4409:"6044b022",4546:"7a3c0d03",4587:"660fa9a8",4628:"9cbb6df5",4693:"78be2787",4804:"675f6b93",4816:"1597e6ab",4987:"426f31c9",5053:"e1dd6eb2",5162:"665210af",5199:"2b3e4305",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5483:"5bfbb00d",5516:"ec80e29b",5751:"0b6b1006",5762:"221fac30",5788:"21620424",5880:"44b88e7a",5894:"c74b6a1e",5895:"1760c3ce",5905:"bf9be456",5906:"6a95dc71",6033:"dbfa32f6",6158:"c974fd83",6232:"98d35574",6280:"ef4f9471",6332:"0d633692",6377:"60e50f48",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"e72545cf",7030:"b98dcedf",7048:"c9f92a3c",7094:"7d87d54d",7155:"63fcff7b",7186:"3af65503",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7464:"592a9295",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7826:"399afe81",7828:"1e9c0247",7833:"baab9911",7846:"d55e8e78",7898:"e77140ef",7934:"ddb44f8c",7958:"74e40bc7",7997:"c6078082",8006:"33c6428b",8056:"0af7d431",8175:"1ec7becf",8178:"63eebd02",8261:"2525d35c",8276:"e519a707",8299:"62b67c72",8329:"a6df2462",8342:"a4a361a9",8360:"63d0a898",8367:"b1f2284b",8418:"3de8ea50",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"e1315acd",8736:"1b6d2920",8826:"90d64342",8853:"957ad48b",8880:"66066281",8897:"41e07c46",8907:"9be0d5b2",8936:"d24a32b9",8965:"499c3a46",9220:"c83f87c4",9303:"568cb7ae",9366:"dfac513d",9412:"53da2fcd",9460:"17052d72",9497:"78cd8495",9501:"9de92c6d",9502:"891fe76e",9511:"3e808e2f",9514:"345ac1e0",9600:"d6986b03",9647:"ae0a0d2e",9726:"2c03ef4e",9737:"a3dbc125",9762:"757ce62d",9797:"0a830937",9884:"1f757db5",9903:"940d7ace",9905:"0705465d"}[n]+".chunk.js"}}(),function(){e.miniCssF=function(n){}}(),function(){e.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){e.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";e.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var a,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),f=0;f<l.length;f++){var d=l[f];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==i+r){a=d;break}}a||(c=!0,a=document.createElement("script"),a.charset="utf-8",a.timeout=120,e.nc&&a.setAttribute("nonce",e.nc),a.setAttribute("data-webpack",i+r),a.src=t),n[t]=[o];var u=function(g,p){a.onerror=a.onload=null,clearTimeout(b);var h=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(function(v){return v(p)}),g)return g(p)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),c&&document.head.appendChild(a)}}(),function(){e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){e.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){e.p="/admin/"}(),function(){e.b=document.baseURI||self.location.href;var n={1303:0};e.f.j=function(o,r){var s=e.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var a=new Promise(function(d,u){s=n[o]=[d,u]});r.push(s[2]=a);var c=e.p+e.u(o),l=new Error,f=function(d){if(e.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=d&&(d.type==="load"?"missing":d.type),b=d&&d.target&&d.target.src;l.message="Loading chunk "+o+` failed.
2
+ (`+u+": "+b+")",l.name="ChunkLoadError",l.type=u,l.request=b,s[1](l)}};e.l(c,f,"chunk-"+o,o)}else n[o]=0},e.O.j=function(o){return n[o]===0};var i=function(o,r){var s=r[0],a=r[1],c=r[2],l,f,d=0;if(s.some(function(b){return n[b]!==0})){for(l in a)e.o(a,l)&&(e.m[l]=a[l]);if(c)var u=c(e)}for(o&&o(r);d<s.length;d++)f=s[d],e.o(n,f)&&n[f]&&n[f][0](),n[f]=0;return e.O(u)},t=self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))}(),function(){e.nc=void 0}()})();
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[302],{86409:function(U,m,e){e.d(m,{F:function(){return L}});var t=e(19565),S=e(67879),E=e(20108);const L=(p={},M={})=>{const{id:r="",...f}=p,{get:y}=(0,t.kY)(),{locale:d}=(0,S.Z)(),O=(0,t.Xe)(d,{sensitivity:"base"}),{data:l,error:C,isError:h,isLoading:o,refetch:I}=(0,E.useQuery)(["roles",r,f],async()=>{const{data:c}=await y(`/admin/roles/${r??""}`,{params:f});return c},M);let u=[];return r&&l?u=[l.data]:Array.isArray(l?.data)&&(u=l.data),{roles:u.sort((c,A)=>O.compare(c.name,A.name)),error:C,isError:h,isLoading:o,refetch:I}}},68951:function(U,m,e){e.r(m),e.d(m,{SingleSignOn:function(){return B},default:function(){return Z}});var t=e(32735),S=e(96709),E=e(27649),L=e(82055),p=e(41415),M=e(17e3),r=e(87933),f=e(49372),y=e(15335),d=e(5803),O=e(71842),l=e(68465),C=e(84967),h=e(6407),o=e(19565),I=e(66456),u=e(89793),c=e.n(u),A=e(67879),T=e(15062),x=e(79652),F=e(86409),b=e(30305),g=e(24346),W=g.Ry().shape({autoRegister:g.Xg().required(o.I0.required),defaultRole:g.nK().when("autoRegister",(a,n)=>a?n.required(o.I0.required):n.nullable()),ssoLockedRoles:g.IX().nullable().of(g.nK().when("ssoLockedRoles",(a,n)=>a?n.required(o.I0.required):n.nullable()))});const B=()=>{(0,o.go)();const{formatMessage:a}=(0,A.Z)(),n=(0,T.v9)(b._),{isLoading:G,allowedActions:{canUpdate:P,canReadRoles:X}}=(0,o.ss)({...n.settings.sso,readRoles:n.settings.roles.read}),[{formErrors:i,initialData:z,isLoading:H,modifiedData:v,showHeaderButtonLoader:k},,{handleChange:R,handleSubmit:N}]=(0,x.G4)("/admin/providers/options",W,()=>{},["autoRegister","defaultRole","ssoLockedRoles"]),{roles:K,isLoading:Q}=(0,F.F)(void 0,{enabled:X}),Y=G||Q||H;return t.createElement(S.A,null,t.createElement(o.SL,{name:"SSO"}),t.createElement(E.o,{tabIndex:-1},t.createElement("form",{onSubmit:N},t.createElement(L.T,{primaryAction:t.createElement(p.z,{"data-testid":"save-button",disabled:c()(z,v),loading:k,startIcon:t.createElement(I.Z,null),type:"submit",size:"L"},a({id:"global.save",defaultMessage:"Save"})),title:a({id:"Settings.sso.title",defaultMessage:"Single Sign-On"}),subtitle:a({id:"Settings.sso.description",defaultMessage:"Configure the settings for the Single Sign-On feature."})}),t.createElement(M.D,null,Y?t.createElement(o.dO,null):t.createElement(r.k,{direction:"column",alignItems:"stretch",gap:4,background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},t.createElement(f.Z,{variant:"delta",as:"h2"},a({id:"global.settings",defaultMessage:"Settings"})),t.createElement(y.r,{gap:4},t.createElement(d.P,{col:6,m:6,s:12},t.createElement(O.s,{"aria-label":"autoRegister","data-testid":"autoRegister",disabled:!P,checked:v.autoRegister,hint:a({id:"Settings.sso.form.registration.description",defaultMessage:"Create new user on SSO login if no account exists"}),label:a({id:"Settings.sso.form.registration.label",defaultMessage:"Auto-registration"}),name:"autoRegister",offLabel:a({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:a({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:s=>{R({target:{name:"autoRegister",value:s.target.checked}})}})),t.createElement(d.P,{col:6,m:6,s:12},t.createElement(l.P,{disabled:!P,hint:a({id:"Settings.sso.form.defaultRole.description",defaultMessage:"It will attach the new authenticated user to the selected role"}),error:i.defaultRole?a({id:i.defaultRole.id,defaultMessage:i.defaultRole.id}):"",label:a({id:"Settings.sso.form.defaultRole.label",defaultMessage:"Default role"}),name:"defaultRole",onChange:s=>{R({target:{name:"defaultRole",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),value:v.defaultRole},K.map(({id:s,name:D})=>t.createElement(C.W,{key:s,value:s.toString()},D)))),t.createElement(d.P,{col:6,m:6,s:12},t.createElement(h.NU,{disabled:!P,hint:a({id:"Settings.sso.form.localAuthenticationLock.description",defaultMessage:"Select the roles for which you want to disable the local authentication"}),error:i.ssoLockedRoles?a({id:i.ssoLockedRoles.id,defaultMessage:i.ssoLockedRoles.id}):"",label:a({id:"Settings.sso.form.localAuthenticationLock.label",defaultMessage:"Local authentication lock-out"}),name:"ssoLockedRoles",onChange:s=>{R({target:{name:"ssoLockedRoles",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),onClear:()=>{R({target:{name:"ssoLockedRoles",emptyArray:[]}})},value:v.ssoLockedRoles||[],withTags:!0},K.map(({id:s,name:D})=>t.createElement(h.ML,{key:s,value:s.toString()},D))))))))))};var Z=()=>{const a=(0,T.v9)(b._);return t.createElement(o.O4,{permissions:a.settings.sso.main},t.createElement(B,null))}}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[302],{86409:function(U,m,e){e.d(m,{F:function(){return L}});var t=e(19565),S=e(67879),E=e(20108);const L=(p={},M={})=>{const{id:r="",...f}=p,{get:y}=(0,t.kY)(),{locale:d}=(0,S.Z)(),O=(0,t.Xe)(d,{sensitivity:"base"}),{data:l,error:C,isError:h,isLoading:o,refetch:I}=(0,E.useQuery)(["roles",r,f],async()=>{const{data:c}=await y(`/admin/roles/${r??""}`,{params:f});return c},M);let u=[];return r&&l?u=[l.data]:Array.isArray(l?.data)&&(u=l.data),{roles:u.sort((c,A)=>O.compare(c.name,A.name)),error:C,isError:h,isLoading:o,refetch:I}}},68951:function(U,m,e){e.r(m),e.d(m,{SingleSignOn:function(){return B},default:function(){return Z}});var t=e(32735),S=e(96709),E=e(27649),L=e(82055),p=e(41415),M=e(17e3),r=e(87933),f=e(49372),y=e(15335),d=e(5803),O=e(71842),l=e(68465),C=e(84967),h=e(6407),o=e(19565),I=e(66456),u=e(89793),c=e.n(u),A=e(67879),T=e(15062),x=e(63465),F=e(86409),b=e(30305),g=e(24346),W=g.Ry().shape({autoRegister:g.Xg().required(o.I0.required),defaultRole:g.nK().when("autoRegister",(a,n)=>a?n.required(o.I0.required):n.nullable()),ssoLockedRoles:g.IX().nullable().of(g.nK().when("ssoLockedRoles",(a,n)=>a?n.required(o.I0.required):n.nullable()))});const B=()=>{(0,o.go)();const{formatMessage:a}=(0,A.Z)(),n=(0,T.v9)(b._),{isLoading:G,allowedActions:{canUpdate:P,canReadRoles:X}}=(0,o.ss)({...n.settings.sso,readRoles:n.settings.roles.read}),[{formErrors:i,initialData:z,isLoading:H,modifiedData:v,showHeaderButtonLoader:k},,{handleChange:R,handleSubmit:N}]=(0,x.G4)("/admin/providers/options",W,()=>{},["autoRegister","defaultRole","ssoLockedRoles"]),{roles:K,isLoading:Q}=(0,F.F)(void 0,{enabled:X}),Y=G||Q||H;return t.createElement(S.A,null,t.createElement(o.SL,{name:"SSO"}),t.createElement(E.o,{tabIndex:-1},t.createElement("form",{onSubmit:N},t.createElement(L.T,{primaryAction:t.createElement(p.z,{"data-testid":"save-button",disabled:c()(z,v),loading:k,startIcon:t.createElement(I.Z,null),type:"submit",size:"L"},a({id:"global.save",defaultMessage:"Save"})),title:a({id:"Settings.sso.title",defaultMessage:"Single Sign-On"}),subtitle:a({id:"Settings.sso.description",defaultMessage:"Configure the settings for the Single Sign-On feature."})}),t.createElement(M.D,null,Y?t.createElement(o.dO,null):t.createElement(r.k,{direction:"column",alignItems:"stretch",gap:4,background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},t.createElement(f.Z,{variant:"delta",as:"h2"},a({id:"global.settings",defaultMessage:"Settings"})),t.createElement(y.r,{gap:4},t.createElement(d.P,{col:6,m:6,s:12},t.createElement(O.s,{"aria-label":"autoRegister","data-testid":"autoRegister",disabled:!P,checked:v.autoRegister,hint:a({id:"Settings.sso.form.registration.description",defaultMessage:"Create new user on SSO login if no account exists"}),label:a({id:"Settings.sso.form.registration.label",defaultMessage:"Auto-registration"}),name:"autoRegister",offLabel:a({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:a({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:s=>{R({target:{name:"autoRegister",value:s.target.checked}})}})),t.createElement(d.P,{col:6,m:6,s:12},t.createElement(l.P,{disabled:!P,hint:a({id:"Settings.sso.form.defaultRole.description",defaultMessage:"It will attach the new authenticated user to the selected role"}),error:i.defaultRole?a({id:i.defaultRole.id,defaultMessage:i.defaultRole.id}):"",label:a({id:"Settings.sso.form.defaultRole.label",defaultMessage:"Default role"}),name:"defaultRole",onChange:s=>{R({target:{name:"defaultRole",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),value:v.defaultRole},K.map(({id:s,name:D})=>t.createElement(C.W,{key:s,value:s.toString()},D)))),t.createElement(d.P,{col:6,m:6,s:12},t.createElement(h.NU,{disabled:!P,hint:a({id:"Settings.sso.form.localAuthenticationLock.description",defaultMessage:"Select the roles for which you want to disable the local authentication"}),error:i.ssoLockedRoles?a({id:i.ssoLockedRoles.id,defaultMessage:i.ssoLockedRoles.id}):"",label:a({id:"Settings.sso.form.localAuthenticationLock.label",defaultMessage:"Local authentication lock-out"}),name:"ssoLockedRoles",onChange:s=>{R({target:{name:"ssoLockedRoles",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),onClear:()=>{R({target:{name:"ssoLockedRoles",emptyArray:[]}})},value:v.ssoLockedRoles||[],withTags:!0},K.map(({id:s,name:D})=>t.createElement(h.ML,{key:s,value:s.toString()},D))))))))))};var Z=()=>{const a=(0,T.v9)(b._);return t.createElement(o.O4,{permissions:a.settings.sso.main},t.createElement(B,null))}}}]);
@@ -0,0 +1,9 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{63669:function(j,g,t){t.r(g),t.d(g,{default:function(){return U}});var e=t(32735),s=t(94638),v=t(27649),f=t(82055),y=t(17e3),x=t(41415),o=t(72850),p=t(87933),h=t(49372),M=t(15335),O=t(5803),B=t(68465),a=t(84967),n=t(19565),d=t(66456),r=t(92802),l=t(67879),c=t(20108),S=t(19108),i=t(55733),L=[{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email"),defaultMessage:"Disallow the user to create multiple accounts using the same email address with different authentication providers."},name:"unique_email",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,i.OB)("EditForm.inputToggle.description.sign-up"),defaultMessage:"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."},name:"allow_register",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,i.OB)("EditForm.inputToggle.placeholder.email-reset-password"),defaultMessage:"ex: https://youtfrontend.com/reset-password"},name:"email_reset_password",type:"text",size:{col:6,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation"),defaultMessage:"When enabled (ON), new registered users receive a confirmation email."},name:"email_confirmation",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,i.OB)("EditForm.inputToggle.placeholder.email-confirmation-redirection"),defaultMessage:"ex: https://youtfrontend.com/email-confirmation"},name:"email_confirmation_redirection",type:"text",size:{col:6,xs:12}}],b=t(24346);const F=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var z=b.Ry().shape({email_confirmation_redirection:b.nK().when("email_confirmation",{is:!0,then:b.Z_().matches(F).required(),otherwise:b.Z_().nullable()}),email_reset_password:b.Z_(n.I0.string).matches(F,n.I0.regex).nullable()});const W=()=>e.createElement(n.O4,{permissions:S._.readAdvancedSettings},e.createElement(N,null)),N=()=>{const{formatMessage:E}=(0,l.Z)(),A=(0,n.lm)(),{lockApp:H,unlockApp:C}=(0,n.o1)(),{notifyStatus:K}=(0,s.G)(),G=(0,c.useQueryClient)(),{get:$,put:Q}=(0,n.kY)(),{formatAPIError:X}=(0,n.So)();(0,n.go)();const{isLoading:Y,allowedActions:{canUpdate:I}}=(0,n.ss)({update:S._.updateAdvancedSettings}),{isLoading:J,data:D}=(0,c.useQuery)(["users-permissions","advanced"],async()=>{const{data:m}=await $("/users-permissions/advanced");return m},{onSuccess(){K(E({id:(0,i.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}})}}),V=Y||J,w=(0,c.useMutation)(m=>Q("/users-permissions/advanced",m),{async onSuccess(){await G.invalidateQueries(["users-permissions","advanced"]),A({type:"success",message:{id:(0,i.OB)("notification.success.saved"),defaultMessage:"Saved"}}),C()},onError(m){A({type:"warning",message:X(m)}),C()},refetchActive:!0}),{isLoading:k}=w,q=async m=>{H(),w.mutate({...m,email_confirmation_redirection:m.email_confirmation?m.email_confirmation_redirection:""})};return V?e.createElement(v.o,{"aria-busy":"true"},e.createElement(n.SL,{name:E({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(f.T,{title:E({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(y.D,null,e.createElement(n.dO,null))):e.createElement(v.o,{"aria-busy":k},e.createElement(n.SL,{name:E({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(r.J9,{onSubmit:q,initialValues:D.settings,validateOnChange:!1,validationSchema:z,enableReinitialize:!0},({errors:m,values:T,handleChange:Z,isSubmitting:_,dirty:ee})=>e.createElement(n.l0,null,e.createElement(f.T,{title:E({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:e.createElement(x.z,{loading:_,type:"submit",disabled:I?!ee:!I,startIcon:e.createElement(d.Z,null),size:"S"},E({id:"global.save",defaultMessage:"Save"}))}),e.createElement(y.D,null,e.createElement(o.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(p.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(h.Z,{variant:"delta",as:"h2"},E({id:"global.settings",defaultMessage:"Settings"})),e.createElement(M.r,{gap:6},e.createElement(O.P,{col:6,s:12},e.createElement(B.P,{label:E({id:(0,i.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:T.default_role,hint:E({id:(0,i.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:u=>Z({target:{name:"default_role",value:u}})},D.roles.map(u=>e.createElement(a.W,{key:u.type,value:u.type},u.name)))),L.map(u=>{let R=T[u.name];return R||(R=u.type==="bool"?!1:""),e.createElement(O.P,{key:u.name,...u.size},e.createElement(n.jm,{...u,value:R,error:m[u.name],disabled:u.name==="email_confirmation_redirection"&&T.email_confirmation===!1,onChange:Z}))}))))))))};var U=W},55733:function(j,g,t){t.d(g,{YX:function(){return f},OB:function(){return y.Z}});var e=t(86834),s=t.n(e),f=x=>Object.keys(x).reduce((o,p)=>{const h=x[p].controllers,M=Object.keys(h).reduce((O,B)=>(s()(h[B])||(O[B]=h[B]),O),{});return s()(M)||(o[p]={controllers:M}),o},{}),y=t(48395)},17e3:function(j,g,t){t.d(g,{D:function(){return v}});var e=t(74512),s=t(72850);const v=({children:f})=>(0,e.jsx)(s.x,{paddingLeft:10,paddingRight:10,children:f})},82055:function(j,g,t){t.d(g,{T:function(){return M}});var e=t(74512),s=t(32735),v=t(8471);const f=a=>{const n=(0,s.useRef)(null),[d,r]=(0,s.useState)(!0),l=([c])=>{r(c.isIntersecting)};return(0,s.useEffect)(()=>{const c=n.current,S=new IntersectionObserver(l,a);return c&&S.observe(n.current),()=>{c&&S.disconnect()}},[n,a]),[n,d]};var y=t(81957);const x=(a,n)=>{const d=(0,y.W)(n);(0,s.useLayoutEffect)(()=>{const r=new ResizeObserver(d);return Array.isArray(a)?a.forEach(l=>{l.current&&r.observe(l.current)}):a.current&&r.observe(a.current),()=>{r.disconnect()}},[a,d])};var o=t(72850),p=t(87933),h=t(49372);const M=a=>{const n=(0,s.useRef)(null),[d,r]=(0,s.useState)(null),[l,c]=f({root:null,rootMargin:"0px",threshold:0});return x(l,()=>{l.current&&r(l.current.getBoundingClientRect())}),(0,s.useEffect)(()=>{n.current&&r(n.current.getBoundingClientRect())},[n]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:{height:d?.height},ref:l,children:c&&(0,e.jsx)(B,{ref:n,...a})}),!c&&(0,e.jsx)(B,{...a,sticky:!0,width:d?.width})]})};M.displayName="HeaderLayout";const O=(0,v.ZP)(o.x)`
2
+ width: ${({width:a})=>a?`${a/16}rem`:void 0};
3
+ z-index: ${({theme:a})=>a.zIndices[1]};
4
+ `,B=s.forwardRef(({navigationAction:a,primaryAction:n,secondaryAction:d,subtitle:r,title:l,sticky:c,width:S,...i},P)=>{const L=typeof r=="string";return c?(0,e.jsx)(O,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:S,"data-strapi-header-sticky":!0,children:(0,e.jsxs)(p.k,{justifyContent:"space-between",children:[(0,e.jsxs)(p.k,{children:[a&&(0,e.jsx)(o.x,{paddingRight:3,children:a}),(0,e.jsxs)(o.x,{children:[(0,e.jsx)(h.Z,{variant:"beta",as:"h1",...i,children:l}),L?(0,e.jsx)(h.Z,{variant:"pi",textColor:"neutral600",children:r}):r]}),d?(0,e.jsx)(o.x,{paddingLeft:4,children:d}):null]}),(0,e.jsx)(p.k,{children:n?(0,e.jsx)(o.x,{paddingLeft:2,children:n}):void 0})]})}):(0,e.jsxs)(o.x,{ref:P,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0,children:[a?(0,e.jsx)(o.x,{paddingBottom:2,children:a}):null,(0,e.jsxs)(p.k,{justifyContent:"space-between",children:[(0,e.jsxs)(p.k,{minWidth:0,children:[(0,e.jsx)(h.Z,{as:"h1",variant:"alpha",...i,children:l}),d?(0,e.jsx)(o.x,{paddingLeft:4,children:d}):null]}),n]}),L?(0,e.jsx)(h.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:r}):r]})})},27649:function(j,g,t){t.d(g,{o:function(){return y}});var e=t(74512),s=t(8471),v=t(72850);const f=(0,s.ZP)(v.x)`
5
+ // To prevent global outline on focus visible to force an outline when Main is focused
6
+ &:focus-visible {
7
+ outline: none;
8
+ }
9
+ `,y=({labelledBy:x="main-content-title",...o})=>(0,e.jsx)(f,{"aria-labelledby":x,as:"main",id:"main-content",tabIndex:-1,...o})}}]);
@@ -0,0 +1,9 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{61780:function(S,y,t){t.r(y),t.d(y,{default:function(){return ie}});var e=t(32735),o=t(94638),M=t(27649),T=t(82055),j=t(17e3),a=t(19565),s=t(67879),g=t(20108),v=t(19108),n=t(55733),L=t(85025),P=t(55225),l=t(31600),r=t(15335),i=t(5803),m=t(33475),c=t(11406),f=t(41415),I=t(26858),Z=t(51654),U=t(92802),A=t(60216),u=t.n(A),C=t(24346),w=C.Ry().shape({options:C.Ry().shape({from:C.Ry().shape({name:C.Z_().required(a.I0.required),email:C.Z_().email(a.I0.email).required(a.I0.required)}).required(),response_email:C.Z_().email(a.I0.email),object:C.Z_().required(a.I0.required),message:C.Z_().required(a.I0.required)}).required(a.I0.required)});const $=({template:d,onToggle:x,onSubmit:p})=>{const{formatMessage:h}=(0,s.Z)();return e.createElement(L.P,{onClose:x,labelledBy:`${h({id:(0,n.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${h({id:(0,n.OB)(d.display),defaultMessage:d.display})}`},e.createElement(P.x,null,e.createElement(I.O,{label:`${h({id:(0,n.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${h({id:(0,n.OB)(d.display),defaultMessage:d.display})}`},e.createElement(Z.$,null,h({id:(0,n.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(Z.$,{isCurrent:!0},h({id:(0,n.OB)(d.display),defaultMessage:d.display})))),e.createElement(U.J9,{onSubmit:p,initialValues:d,validateOnChange:!1,validationSchema:w,enableReinitialize:!0},({errors:O,values:b,handleChange:R,isSubmitting:H})=>e.createElement(a.l0,null,e.createElement(l.f,null,e.createElement(r.r,{gap:5},e.createElement(i.P,{col:6,s:12},e.createElement(a.jm,{intlLabel:{id:(0,n.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:R,value:b.options.from.name,error:O?.options?.from?.name,type:"text"})),e.createElement(i.P,{col:6,s:12},e.createElement(a.jm,{intlLabel:{id:(0,n.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:R,value:b.options.from.email,error:O?.options?.from?.email,type:"text"})),e.createElement(i.P,{col:6,s:12},e.createElement(a.jm,{intlLabel:{id:(0,n.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:R,value:b.options.response_email,error:O?.options?.response_email,type:"text"})),e.createElement(i.P,{col:6,s:12},e.createElement(a.jm,{intlLabel:{id:(0,n.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:R,value:b.options.object,error:O?.options?.object,type:"text"})),e.createElement(i.P,{col:12,s:12},e.createElement(m.g,{label:h({id:(0,n.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),id:"options.message",onChange:R,value:b.options.message,error:O?.options?.message&&h({id:O.options.message,defaultMessage:O.options.message})})))),e.createElement(c.m,{startActions:e.createElement(f.z,{onClick:x,variant:"tertiary"},"Cancel"),endActions:e.createElement(f.z,{loading:H,type:"submit"},"Finish")}))))};$.propTypes={template:u().shape({display:u().string,icon:u().string,options:u().shape({from:u().shape({name:u().string,email:u().string}),message:u().string,object:u().string,response_email:u().string})}).isRequired,onSubmit:u().func.isRequired,onToggle:u().func.isRequired};var k=$,q=t(56755),_=t(33827),F=t(94547),B=t(19786),N=t(3685),D=t(49372),ee=t(35658),z=t(99140),K=t(50563),te=t(44647),G=t(68625),ae=t(66456);const J=({canUpdate:d,onEditClick:x})=>{const{formatMessage:p}=(0,s.Z)();return e.createElement(q.i,{colCount:3,rowCount:3},e.createElement(_.h,null,e.createElement(F.Tr,null,e.createElement(B.Th,{width:"1%"},e.createElement(N.T,null,p({id:(0,n.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(B.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},p({id:(0,n.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(B.Th,{width:"1%"},e.createElement(N.T,null,p({id:(0,n.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(ee.p,null,e.createElement(F.Tr,{...(0,a.X7)({fn:()=>x("reset_password")})},e.createElement(B.Td,null,e.createElement(z.J,null,e.createElement(te.Z,{"aria-label":p({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(B.Td,null,e.createElement(D.Z,null,p({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(B.Td,{...a.UW},e.createElement(K.h,{onClick:()=>x("reset_password"),label:p({id:(0,n.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:d&&e.createElement(G.Z,null)}))),e.createElement(F.Tr,{...(0,a.X7)({fn:()=>x("email_confirmation")})},e.createElement(B.Td,null,e.createElement(z.J,null,e.createElement(ae.Z,{"aria-label":p({id:(0,n.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(B.Td,null,e.createElement(D.Z,null,p({id:(0,n.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(B.Td,{...a.UW},e.createElement(K.h,{onClick:()=>x("email_confirmation"),label:p({id:(0,n.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:d&&e.createElement(G.Z,null)})))))};J.propTypes={canUpdate:u().bool.isRequired,onEditClick:u().func.isRequired};var ne=J;const le=()=>e.createElement(a.O4,{permissions:v._.readEmailTemplates},e.createElement(se,null)),se=()=>{const{formatMessage:d}=(0,s.Z)(),{trackUsage:x}=(0,a.rS)(),{notifyStatus:p}=(0,o.G)(),h=(0,a.lm)(),{lockApp:O,unlockApp:b}=(0,a.o1)(),R=(0,g.useQueryClient)(),{get:H,put:oe}=(0,a.kY)(),{formatAPIError:Q}=(0,a.So)();(0,a.go)();const[re,me]=e.useState(!1),[X,de]=e.useState(null),{isLoading:ce,allowedActions:{canUpdate:ue}}=(0,a.ss)({update:v._.updateEmailTemplates}),{isLoading:pe,data:V}=(0,g.useQuery)(["users-permissions","email-templates"],async()=>{const{data:E}=await H("/users-permissions/email-templates");return E},{onSuccess(){p(d({id:(0,n.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(E){h({type:"warning",message:Q(E)})}}),Ee=ce||pe,W=()=>{me(E=>!E)},ge=E=>{de(E),W()},Y=(0,g.useMutation)(E=>oe("/users-permissions/email-templates",{"email-templates":E}),{async onSuccess(){await R.invalidateQueries(["users-permissions","email-templates"]),h({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),x("didEditEmailTemplates"),b(),W()},onError(E){h({type:"warning",message:Q(E)}),b()},refetchActive:!0}),fe=E=>{O(),x("willEditEmailTemplates");const he={...V,[X]:E};Y.mutate(he)};return Ee?e.createElement(M.o,{"aria-busy":"true"},e.createElement(a.SL,{name:d({id:(0,n.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(T.T,{title:d({id:(0,n.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(j.D,null,e.createElement(a.dO,null))):e.createElement(M.o,{"aria-busy":Y.isLoading},e.createElement(a.SL,{name:d({id:(0,n.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(T.T,{title:d({id:(0,n.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(j.D,null,e.createElement(ne,{onEditClick:ge,canUpdate:ue}),re&&e.createElement(k,{template:V[X],onToggle:W,onSubmit:fe})))};var ie=le},55733:function(S,y,t){t.d(y,{YX:function(){return T},OB:function(){return j.Z}});var e=t(86834),o=t.n(e),T=a=>Object.keys(a).reduce((s,g)=>{const v=a[g].controllers,n=Object.keys(v).reduce((L,P)=>(o()(v[P])||(L[P]=v[P]),L),{});return o()(n)||(s[g]={controllers:n}),s},{}),j=t(48395)},17e3:function(S,y,t){t.d(y,{D:function(){return M}});var e=t(74512),o=t(72850);const M=({children:T})=>(0,e.jsx)(o.x,{paddingLeft:10,paddingRight:10,children:T})},82055:function(S,y,t){t.d(y,{T:function(){return n}});var e=t(74512),o=t(32735),M=t(8471);const T=l=>{const r=(0,o.useRef)(null),[i,m]=(0,o.useState)(!0),c=([f])=>{m(f.isIntersecting)};return(0,o.useEffect)(()=>{const f=r.current,I=new IntersectionObserver(c,l);return f&&I.observe(r.current),()=>{f&&I.disconnect()}},[r,l]),[r,i]};var j=t(81957);const a=(l,r)=>{const i=(0,j.W)(r);(0,o.useLayoutEffect)(()=>{const m=new ResizeObserver(i);return Array.isArray(l)?l.forEach(c=>{c.current&&m.observe(c.current)}):l.current&&m.observe(l.current),()=>{m.disconnect()}},[l,i])};var s=t(72850),g=t(87933),v=t(49372);const n=l=>{const r=(0,o.useRef)(null),[i,m]=(0,o.useState)(null),[c,f]=T({root:null,rootMargin:"0px",threshold:0});return a(c,()=>{c.current&&m(c.current.getBoundingClientRect())}),(0,o.useEffect)(()=>{r.current&&m(r.current.getBoundingClientRect())},[r]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:{height:i?.height},ref:c,children:f&&(0,e.jsx)(P,{ref:r,...l})}),!f&&(0,e.jsx)(P,{...l,sticky:!0,width:i?.width})]})};n.displayName="HeaderLayout";const L=(0,M.ZP)(s.x)`
2
+ width: ${({width:l})=>l?`${l/16}rem`:void 0};
3
+ z-index: ${({theme:l})=>l.zIndices[1]};
4
+ `,P=o.forwardRef(({navigationAction:l,primaryAction:r,secondaryAction:i,subtitle:m,title:c,sticky:f,width:I,...Z},U)=>{const A=typeof m=="string";return f?(0,e.jsx)(L,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:I,"data-strapi-header-sticky":!0,children:(0,e.jsxs)(g.k,{justifyContent:"space-between",children:[(0,e.jsxs)(g.k,{children:[l&&(0,e.jsx)(s.x,{paddingRight:3,children:l}),(0,e.jsxs)(s.x,{children:[(0,e.jsx)(v.Z,{variant:"beta",as:"h1",...Z,children:c}),A?(0,e.jsx)(v.Z,{variant:"pi",textColor:"neutral600",children:m}):m]}),i?(0,e.jsx)(s.x,{paddingLeft:4,children:i}):null]}),(0,e.jsx)(g.k,{children:r?(0,e.jsx)(s.x,{paddingLeft:2,children:r}):void 0})]})}):(0,e.jsxs)(s.x,{ref:U,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:l?6:8,background:"neutral100","data-strapi-header":!0,children:[l?(0,e.jsx)(s.x,{paddingBottom:2,children:l}):null,(0,e.jsxs)(g.k,{justifyContent:"space-between",children:[(0,e.jsxs)(g.k,{minWidth:0,children:[(0,e.jsx)(v.Z,{as:"h1",variant:"alpha",...Z,children:c}),i?(0,e.jsx)(s.x,{paddingLeft:4,children:i}):null]}),r]}),A?(0,e.jsx)(v.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:m}):m]})})},27649:function(S,y,t){t.d(y,{o:function(){return j}});var e=t(74512),o=t(8471),M=t(72850);const T=(0,o.ZP)(M.x)`
5
+ // To prevent global outline on focus visible to force an outline when Main is focused
6
+ &:focus-visible {
7
+ outline: none;
8
+ }
9
+ `,j=({labelledBy:a="main-content-title",...s})=>(0,e.jsx)(T,{"aria-labelledby":a,as:"main",id:"main-content",tabIndex:-1,...s})}}]);
@@ -0,0 +1,14 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{30866:function(W,y,t){t.r(y),t.d(y,{ProvidersPage:function(){return de},default:function(){return Te}});var e=t(32735),o=t(96709),E=t(27649),x=t(82055),T=t(17e3),L=t(56755),l=t(33827),h=t(94547),m=t(19786),P=t(49372),I=t(3685),j=t(35658),i=t(50563),n=t(19565),g=t(68625),u=t(23940),p=t.n(u),f=t(67879),C=t(20108),$=t(85025),w=t(55225),X=t(31600),ge=t(87933),pe=t(15335),he=t(5803),fe=t(11406),ne=t(41415),be=t(26858),ye=t(51654),Ee=t(92802),xe=t(60216),a=t.n(xe),Pe=t(71842),Me=t(10369);const Q=({description:c,disabled:A,intlLabel:U,error:B,name:O,onChange:F,placeholder:d,providerToEditName:S,type:Z,value:M})=>{const{formatMessage:b}=(0,f.Z)(),D=O==="noName"?`${window.strapi.backendURL}/api/connect/${S}/callback`:M,z=b({id:U.id,defaultMessage:U.defaultMessage},{provider:S,...U.values}),R=c?b({id:c.id,defaultMessage:c.defaultMessage},{provider:S,...c.values}):"";if(Z==="bool")return e.createElement(Pe.s,{"aria-label":O,checked:M,disabled:A,hint:R,label:z,name:O,offLabel:b({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:b({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:K=>{F({target:{name:O,value:K.target.checked}})}});const q=d?b({id:d.id,defaultMessage:d.defaultMessage},{...d.values}):"",_=B?b({id:B,defaultMessage:B}):"";return e.createElement(Me.o,{"aria-label":O,disabled:A,error:_,label:z,name:O,onChange:F,placeholder:q,type:Z,value:D})};Q.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},Q.propTypes={description:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}),disabled:a().bool,error:a().string,intlLabel:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}).isRequired,name:a().string.isRequired,onChange:a().func.isRequired,placeholder:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}),providerToEditName:a().string.isRequired,type:a().string.isRequired,value:a().oneOfType([a().bool,a().string])};var Le=Q;const V=({headerBreadcrumbs:c,initialData:A,isSubmiting:U,layout:B,isOpen:O,onSubmit:F,onToggle:d,providerToEditName:S})=>{const{formatMessage:Z}=(0,f.Z)();return O?e.createElement($.P,{onClose:d,labelledBy:"title"},e.createElement(w.x,null,e.createElement(be.O,{label:c.join(", ")},c.map((M,b,D)=>e.createElement(ye.$,{isCurrent:b===D.length-1,key:M},M)))),e.createElement(Ee.J9,{onSubmit:M=>F(M),initialValues:A,validationSchema:B.schema,validateOnChange:!1},({errors:M,handleChange:b,values:D})=>e.createElement(n.l0,null,e.createElement(X.f,null,e.createElement(ge.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(pe.r,{gap:5},B.form.map(z=>z.map(R=>e.createElement(he.P,{key:R.name,col:R.size,xs:12},e.createElement(Le,{...R,error:M[R.name],onChange:b,value:D[R.name],providerToEditName:S}))))))),e.createElement(fe.m,{startActions:e.createElement(ne.z,{variant:"tertiary",onClick:d,type:"button"},Z({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(ne.z,{type:"submit",loading:U},Z({id:"global.save",defaultMessage:"Save"}))})))):null};V.defaultProps={initialData:null,providerToEditName:null},V.propTypes={headerBreadcrumbs:a().arrayOf(a().string).isRequired,initialData:a().object,layout:a().shape({form:a().arrayOf(a().array),schema:a().object}).isRequired,isOpen:a().bool.isRequired,isSubmiting:a().bool.isRequired,onSubmit:a().func.isRequired,onToggle:a().func.isRequired,providerToEditName:a().string};var Oe=V,ae=t(19108),v=t(55733),s=t(24346);const se={id:(0,v.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},re={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},G={id:(0,v.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},J={id:(0,v.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ie={id:(0,v.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},le={id:(0,v.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},N={id:(0,v.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},oe={id:(0,v.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var Y={email:{form:[[{intlLabel:J,name:"enabled",type:"bool",description:G,size:6}]],schema:s.Ry().shape({enabled:s.Xg().required(n.I0.required)})},providers:{form:[[{intlLabel:J,name:"enabled",type:"bool",description:G,size:6,validations:{required:!0}}],[{intlLabel:ie,name:"key",type:"text",placeholder:N,size:12,validations:{required:!0}}],[{intlLabel:oe,name:"secret",type:"text",placeholder:N,size:12,validations:{required:!0}}],[{intlLabel:se,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:le,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:s.Ry().shape({enabled:s.Xg().required(n.I0.required),key:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()}),secret:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()}),callback:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:J,name:"enabled",type:"bool",description:G,size:6,validations:{required:!0}}],[{intlLabel:ie,name:"key",type:"text",placeholder:N,size:12,validations:{required:!0}}],[{intlLabel:oe,name:"secret",type:"text",placeholder:N,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,v.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:N,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,v.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,v.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:se,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:le,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:s.Ry().shape({enabled:s.Xg().required(n.I0.required),key:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()}),secret:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()}),subdomain:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()}),callback:s.Z_().when("enabled",{is:!0,then:s.Z_().required(n.I0.required),otherwise:s.Z_()})})}};const de=()=>{const{formatMessage:c,locale:A}=(0,f.Z)(),U=(0,C.useQueryClient)(),{trackUsage:B}=(0,n.rS)(),[O,F]=e.useState(!1),[d,S]=e.useState(null),Z=(0,n.lm)(),{lockApp:M,unlockApp:b}=(0,n.o1)(),{get:D,put:z}=(0,n.kY)(),{formatAPIError:R}=(0,n.So)(),q=(0,n.Xe)(A,{sensitivity:"base"});(0,n.go)();const{isLoading:_,allowedActions:{canUpdate:K}}=(0,n.ss)({update:ae._.updateProviders}),{isLoading:Be,data:ee}=(0,C.useQuery)(["users-permissions","get-providers"],async()=>{const{data:r}=await D("/users-permissions/providers");return r},{initialData:{}}),ue=(0,C.useMutation)(r=>z("/users-permissions/providers",r),{async onSuccess(){await U.invalidateQueries(["users-permissions","providers"]),Z({type:"success",message:{id:(0,v.OB)("notification.success.submit")}}),B("didEditAuthenticationProvider"),te(),b()},onError(r){Z({type:"warning",message:R(r)}),b()},refetchActive:!1}),k=Object.entries(ee).reduce((r,[H,Ze])=>{const{icon:ve,enabled:Ie,subdomain:Ue}=Ze;return r.push({name:H,icon:ve==="envelope"?["fas","envelope"]:["fab",ve],enabled:Ie,subdomain:Ue}),r},[]).sort((r,H)=>q.compare(r.name,H.name)),Re=Be||_,ce=e.useMemo(()=>d?!!k.find(H=>H.name===d)?.subdomain:!1,[k,d]),je=e.useMemo(()=>d==="email"?Y.email:ce?Y.providersWithSubdomain:Y.providers,[d,ce]),te=()=>{F(r=>!r)},me=r=>{K&&(S(r.name),te())},Ce=async r=>{M(),B("willEditAuthenticationProvider"),ue.mutate({providers:{...ee,[d]:r}})};return e.createElement(o.A,null,e.createElement(n.SL,{name:c({id:(0,v.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),e.createElement(E.o,null,e.createElement(x.T,{title:c({id:(0,v.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Re?e.createElement(n.dO,null):e.createElement(T.D,null,e.createElement(L.i,{colCount:3,rowCount:k.length+1},e.createElement(l.h,null,e.createElement(h.Tr,null,e.createElement(m.Th,null,e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},c({id:"global.name",defaultMessage:"Name"}))),e.createElement(m.Th,null,e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},c({id:(0,v.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(m.Th,null,e.createElement(P.Z,{variant:"sigma"},e.createElement(I.T,null,c({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(j.p,null,k.map(r=>e.createElement(h.Tr,{key:r.name,...(0,n.X7)({fn:()=>me(r),condition:K})},e.createElement(m.Td,{width:"45%"},e.createElement(P.Z,{fontWeight:"semiBold",textColor:"neutral800"},r.name)),e.createElement(m.Td,{width:"65%"},e.createElement(P.Z,{textColor:r.enabled?"success600":"danger600","data-testid":`enable-${r.name}`},r.enabled?c({id:"global.enabled",defaultMessage:"Enabled"}):c({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(m.Td,{...n.UW},K&&e.createElement(i.h,{onClick:()=>me(r),noBorder:!0,icon:e.createElement(g.Z,null),label:"Edit"})))))))),e.createElement(Oe,{initialData:ee[d],isOpen:O,isSubmiting:ue.isLoading,layout:je,headerBreadcrumbs:[c({id:(0,v.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),p()(d)],onToggle:te,onSubmit:Ce,providerToEditName:d}))};var Te=()=>e.createElement(n.O4,{permissions:ae._.readProviders},e.createElement(de,null))},55733:function(W,y,t){t.d(y,{YX:function(){return x},OB:function(){return T.Z}});var e=t(86834),o=t.n(e),x=L=>Object.keys(L).reduce((l,h)=>{const m=L[h].controllers,P=Object.keys(m).reduce((I,j)=>(o()(m[j])||(I[j]=m[j]),I),{});return o()(P)||(l[h]={controllers:P}),l},{}),T=t(48395)},17e3:function(W,y,t){t.d(y,{D:function(){return E}});var e=t(74512),o=t(72850);const E=({children:x})=>(0,e.jsx)(o.x,{paddingLeft:10,paddingRight:10,children:x})},82055:function(W,y,t){t.d(y,{T:function(){return P}});var e=t(74512),o=t(32735),E=t(8471);const x=i=>{const n=(0,o.useRef)(null),[g,u]=(0,o.useState)(!0),p=([f])=>{u(f.isIntersecting)};return(0,o.useEffect)(()=>{const f=n.current,C=new IntersectionObserver(p,i);return f&&C.observe(n.current),()=>{f&&C.disconnect()}},[n,i]),[n,g]};var T=t(81957);const L=(i,n)=>{const g=(0,T.W)(n);(0,o.useLayoutEffect)(()=>{const u=new ResizeObserver(g);return Array.isArray(i)?i.forEach(p=>{p.current&&u.observe(p.current)}):i.current&&u.observe(i.current),()=>{u.disconnect()}},[i,g])};var l=t(72850),h=t(87933),m=t(49372);const P=i=>{const n=(0,o.useRef)(null),[g,u]=(0,o.useState)(null),[p,f]=x({root:null,rootMargin:"0px",threshold:0});return L(p,()=>{p.current&&u(p.current.getBoundingClientRect())}),(0,o.useEffect)(()=>{n.current&&u(n.current.getBoundingClientRect())},[n]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:{height:g?.height},ref:p,children:f&&(0,e.jsx)(j,{ref:n,...i})}),!f&&(0,e.jsx)(j,{...i,sticky:!0,width:g?.width})]})};P.displayName="HeaderLayout";const I=(0,E.ZP)(l.x)`
2
+ width: ${({width:i})=>i?`${i/16}rem`:void 0};
3
+ z-index: ${({theme:i})=>i.zIndices[1]};
4
+ `,j=o.forwardRef(({navigationAction:i,primaryAction:n,secondaryAction:g,subtitle:u,title:p,sticky:f,width:C,...$},w)=>{const X=typeof u=="string";return f?(0,e.jsx)(I,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:C,"data-strapi-header-sticky":!0,children:(0,e.jsxs)(h.k,{justifyContent:"space-between",children:[(0,e.jsxs)(h.k,{children:[i&&(0,e.jsx)(l.x,{paddingRight:3,children:i}),(0,e.jsxs)(l.x,{children:[(0,e.jsx)(m.Z,{variant:"beta",as:"h1",...$,children:p}),X?(0,e.jsx)(m.Z,{variant:"pi",textColor:"neutral600",children:u}):u]}),g?(0,e.jsx)(l.x,{paddingLeft:4,children:g}):null]}),(0,e.jsx)(h.k,{children:n?(0,e.jsx)(l.x,{paddingLeft:2,children:n}):void 0})]})}):(0,e.jsxs)(l.x,{ref:w,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:i?6:8,background:"neutral100","data-strapi-header":!0,children:[i?(0,e.jsx)(l.x,{paddingBottom:2,children:i}):null,(0,e.jsxs)(h.k,{justifyContent:"space-between",children:[(0,e.jsxs)(h.k,{minWidth:0,children:[(0,e.jsx)(m.Z,{as:"h1",variant:"alpha",...$,children:p}),g?(0,e.jsx)(l.x,{paddingLeft:4,children:g}):null]}),n]}),X?(0,e.jsx)(m.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:u}):u]})})},96709:function(W,y,t){t.d(y,{A:function(){return L}});var e=t(74512),o=t(8471),E=t(72850);const x=(0,o.ZP)(E.x)`
5
+ display: grid;
6
+ grid-template-columns: ${({hasSideNav:l})=>l?"auto 1fr":"1fr"};
7
+ `,T=(0,o.ZP)(E.x)`
8
+ overflow-x: hidden;
9
+ `,L=({sideNav:l,children:h})=>(0,e.jsxs)(x,{hasSideNav:!!l,children:[l,(0,e.jsx)(T,{paddingBottom:10,children:h})]})},27649:function(W,y,t){t.d(y,{o:function(){return T}});var e=t(74512),o=t(8471),E=t(72850);const x=(0,o.ZP)(E.x)`
10
+ // To prevent global outline on focus visible to force an outline when Main is focused
11
+ &:focus-visible {
12
+ outline: none;
13
+ }
14
+ `,T=({labelledBy:L="main-content-title",...l})=>(0,e.jsx)(x,{"aria-labelledby":L,as:"main",id:"main-content",tabIndex:-1,...l})}}]);
@@ -0,0 +1,55 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{34254:function(ve,G,s){s.r(G),s.d(G,{default:function(){return Tt}});var e=s(32735),a=s(19565),T=s(53038),P=s(19108),k=s(27649),x=s(82055),O=s(41415),B=s(17e3),E=s(87933),p=s(49372),A=s(15335),S=s(5803),K=s(10369),J=s(33475),w=s(66456),q=s(92802),b=s(67879),I=s(20108),ye=s(60216),y=s.n(ye);const _=(0,e.createContext)({}),ee=({children:t,value:n})=>e.createElement(_.Provider,{value:n},t),Q=()=>(0,e.useContext)(_);ee.propTypes={children:y().node.isRequired,value:y().object.isRequired};var $=s(48395),Re=s(83828),Ce=s(61762),Pe=s(89966),Se=s(23940),Te=s.n(Se);function be(t){switch(t){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Te()(t.replace("api::","").replace("plugin::",""))}}var Ae=be,Me=(t,n)=>{const o=Object.keys(n).sort().map(r=>({name:r,isOpen:!1}));return{...t,collapses:o}},L=s(72850),Le=s(98978),te=s.n(Le),se=s(8284),ne=s(3685),De=s(45112),Ze=s(33795),F=s.n(Ze),U=s(8471);const ae=(0,U.iv)`
2
+ background: ${t=>t.theme.colors.primary100};
3
+ svg {
4
+ opacity: 1;
5
+ }
6
+ `;var xe=(0,U.ZP)(L.x)`
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: center;
10
+
11
+ svg {
12
+ opacity: 0;
13
+ path {
14
+ fill: ${t=>t.theme.colors.primary600};
15
+ }
16
+ }
17
+
18
+ /* Show active style both on hover and when the action is selected */
19
+ ${t=>t.isActive&&ae}
20
+ &:hover {
21
+ ${ae}
22
+ }
23
+ `;const Oe=U.ZP.div`
24
+ flex: 1;
25
+ align-self: center;
26
+ border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
27
+ `,oe=({subCategory:t})=>{const{formatMessage:n}=(0,b.Z)(),{onChange:o,onChangeSelectAll:r,onSelectedAction:c,selectedAction:l,modifiedData:d}=Q(),u=(0,e.useMemo)(()=>F()(d,t.name,{}),[d,t]),m=(0,e.useMemo)(()=>Object.values(u).every(i=>i.enabled===!0),[u]),g=(0,e.useMemo)(()=>Object.values(u).some(i=>i.enabled===!0)&&!m,[u,m]),h=(0,e.useCallback)(({target:{name:i}})=>{r({target:{name:i,value:!m}})},[m,r]),f=(0,e.useCallback)(i=>l===i,[l]);return e.createElement(L.x,null,e.createElement(E.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(L.x,{paddingRight:4},e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},t.label)),e.createElement(Oe,null),e.createElement(L.x,{paddingLeft:4},e.createElement(se.X,{name:t.name,value:m,onValueChange:i=>h({target:{name:t.name,value:i}}),indeterminate:g},n({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(E.k,{paddingTop:6,paddingBottom:6},e.createElement(A.r,{gap:2,style:{flex:1}},t.actions.map(i=>{const v=`${i.name}.enabled`;return e.createElement(S.P,{col:6,key:i.name},e.createElement(xe,{isActive:f(i.name),padding:2,hasRadius:!0},e.createElement(se.X,{value:F()(d,v,!1),name:v,onValueChange:C=>o({target:{name:v,value:C}})},i.label),e.createElement("button",{type:"button",onClick:()=>c(i.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(ne.T,{as:"span"},n({id:"app.utils.show-bound-route",defaultMessage:"Show bound route for {route}"},{route:i.name})),e.createElement(De.Z,null))))}))))};oe.propTypes={subCategory:y().object.isRequired};var Be=oe;const re=({name:t,permissions:n})=>{const o=(0,e.useMemo)(()=>te()(Object.values(n.controllers).reduce((r,c,l)=>{const d=`${t}.controllers.${Object.keys(n.controllers)[l]}`,u=te()(Object.keys(c).reduce((m,g)=>[...m,{...c[g],label:g,name:`${d}.${g}`}],[]),"label");return[...r,{actions:u,label:Object.keys(n.controllers)[l],name:d}]},[]),"label"),[t,n]);return e.createElement(L.x,{padding:6},o.map(r=>e.createElement(Be,{key:r.name,subCategory:r})))};re.propTypes={name:y().string.isRequired,permissions:y().object.isRequired};var Ie=re,le=s(97889);const $e={collapses:[]},Ne=(t,n)=>(0,le.ZP)(t,o=>{switch(n.type){case"TOGGLE_COLLAPSE":{o.collapses=t.collapses.map((r,c)=>c===n.index?{...r,isOpen:!r.isOpen}:{...r,isOpen:!1});break}default:return o}});var je=()=>{const{modifiedData:t}=Q(),{formatMessage:n}=(0,b.Z)(),[{collapses:o},r]=(0,e.useReducer)(Ne,$e,l=>Me(l,t)),c=l=>r({type:"TOGGLE_COLLAPSE",index:l});return e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:1},o.map((l,d)=>e.createElement(Re.U,{expanded:l.isOpen,onToggle:()=>c(d),key:l.name,variant:d%2===0?"secondary":void 0},e.createElement(Ce.B,{title:Ae(l.name),description:n({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),e.createElement(Pe.v,null,e.createElement(Ie,{permissions:t[l.name],name:l.name})))))},ke=s(86834),Ue=s.n(ke),We=s(86205),Ge=s.n(We),Fe=s(37213),Ve=s.n(Fe),He=s(15738),Qe=s.n(He),Ye=t=>{switch(t){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const Xe=(0,U.ZP)(L.x)`
28
+ margin: -1px;
29
+ border-radius: ${({theme:t})=>t.spaces[1]} 0 0 ${({theme:t})=>t.spaces[1]};
30
+ `;function Y({route:t}){const{formatMessage:n}=(0,b.Z)(),{method:o,handler:r,path:c}=t,l=c?Qe()(c.split("/")):[],[d="",u=""]=r?r.split("."):[],m=Ye(t.method);return e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(p.Z,{variant:"delta",as:"h3"},n({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,d),e.createElement(p.Z,{variant:"delta",textColor:"primary600"},".",u)),e.createElement(E.k,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(Xe,{background:m.background,borderColor:m.border,padding:2},e.createElement(p.Z,{fontWeight:"bold",textColor:m.text},o)),e.createElement(L.x,{paddingLeft:2,paddingRight:2},Ve()(l,g=>e.createElement(p.Z,{key:g,textColor:g.includes(":")?"neutral600":"neutral900"},"/",g)))))}Y.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},Y.propTypes={route:y().shape({handler:y().string,method:y().string,path:y().string})};var ze=Y,Ke=()=>{const{formatMessage:t}=(0,b.Z)(),{selectedAction:n,routes:o}=Q(),r=Ge()(n.split("."),"controllers"),c=F()(o,r[0]),l=r.slice(1).join("."),d=Ue()(c)?[]:c.filter(u=>u.handler.endsWith(l));return e.createElement(S.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},n?e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:2},d.map((u,m)=>e.createElement(ze,{key:m,route:u}))):e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(p.Z,{variant:"delta",as:"h3"},t({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(p.Z,{as:"p",textColor:"neutral600"},t({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Je=(t,n,o)=>({...t,initialData:n,modifiedData:n,routes:o}),we=s(3040),ie=s.n(we),qe=s(88708),_e=s.n(qe);const et={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var tt=(t,n)=>(0,le.ZP)(t,o=>{switch(n.type){case"ON_CHANGE":{const r=n.keys.length,c=n.keys[r-1]==="enabled";if(n.value&&c){const l=_e()(n.keys,r-1).join(".");o.selectedAction=l}ie()(o,["modifiedData",...n.keys],n.value);break}case"ON_CHANGE_SELECT_ALL":{const r=["modifiedData",...n.keys],c=F()(t,r,{}),l=Object.keys(c).reduce((d,u)=>(d[u]={...c[u],enabled:n.value},d),{});ie()(o,r,l);break}case"ON_RESET":{o.modifiedData=t.initialData;break}case"ON_SUBMIT_SUCCEEDED":{o.initialData=t.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:r}=n;o.selectedAction=r===t.selectedAction?"":r;break}default:return o}});const ce=(0,e.forwardRef)(({permissions:t,routes:n},o)=>{const{formatMessage:r}=(0,b.Z)(),[c,l]=(0,e.useReducer)(tt,et,h=>Je(h,t,n));(0,e.useImperativeHandle)(o,()=>({getPermissions(){return{permissions:c.modifiedData}},resetForm(){l({type:"ON_RESET"})},setFormAfterSubmit(){l({type:"ON_SUBMIT_SUCCEEDED"})}}));const g={...c,onChange:({target:{name:h,value:f}})=>l({type:"ON_CHANGE",keys:h.split("."),value:f==="empty__string_value"?"":f}),onChangeSelectAll:({target:{name:h,value:f}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:h.split("."),value:f}),onSelectedAction:h=>l({type:"SELECT_ACTION",actionToSelect:h})};return e.createElement(ee,{value:g},e.createElement(A.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(S.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(p.Z,{variant:"delta",as:"h2"},r({id:(0,$.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(p.Z,{as:"p",textColor:"neutral600"},r({id:(0,$.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(je,null))),e.createElement(Ke,null)))});ce.propTypes={permissions:y().object.isRequired,routes:y().object.isRequired};var de=(0,e.memo)(ce),X=s(24346);const me=X.Ry().shape({name:X.Z_().required(a.I0.required),description:X.Z_().required(a.I0.required)});var W=s(55733);const ue=()=>{const t=(0,a.lm)(),{get:n}=(0,a.kY)(),{formatAPIError:o}=(0,a.So)(W.OB),[{data:r,isLoading:c,error:l,refetch:d},{data:u,isLoading:m,error:g,refetch:h}]=(0,I.useQueries)([{queryKey:["users-permissions","permissions"],async queryFn(){const{data:{permissions:v}}=await n("/users-permissions/permissions");return v}},{queryKey:["users-permissions","routes"],async queryFn(){const{data:{routes:v}}=await n("/users-permissions/routes");return v}}]),f=async()=>{await Promise.all([d(),h()])};(0,e.useEffect)(()=>{l&&t({type:"warning",message:o(l)})},[t,l,o]),(0,e.useEffect)(()=>{g&&t({type:"warning",message:o(g)})},[t,g,o]);const i=c||m;return{permissions:r?(0,W.YX)(r):{},routes:u??{},getData:f,isLoading:i}},st=()=>{const{formatMessage:t}=(0,b.Z)(),n=(0,a.lm)(),{goBack:o}=(0,T.k6)(),{lockApp:r,unlockApp:c}=(0,a.o1)(),{isLoading:l,permissions:d,routes:u}=ue(),{trackUsage:m}=(0,a.rS)(),g=e.useRef(),{post:h}=(0,a.kY)(),f=(0,I.useMutation)(v=>h("/users-permissions/roles",v),{onError(){n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})},onSuccess(){m("didCreateRole"),n({type:"success",message:{id:(0,$.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),o()}}),i=async v=>{r();const C=g.current.getPermissions();await f.mutate({...v,...C,users:[]}),c()};return e.createElement(k.o,null,e.createElement(a.SL,{name:"Roles"}),e.createElement(q.J9,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:i,validationSchema:me},({handleSubmit:v,values:C,handleChange:N,errors:R})=>e.createElement(a.l0,{noValidate:!0,onSubmit:v},e.createElement(x.T,{primaryAction:!l&&e.createElement(O.z,{type:"submit",loading:f.isLoading,startIcon:e.createElement(w.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:t({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(B.D,null,e.createElement(E.k,{background:"neutral0",direction:"column",alignItems:"stretch",gap:7,hasRadius:!0,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,shadow:"filterShadow"},e.createElement(E.k,{direction:"column",alignItems:"stretch"},e.createElement(p.Z,{variant:"delta",as:"h2"},t({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(A.r,{gap:4},e.createElement(S.P,{col:6},e.createElement(K.o,{name:"name",value:C.name||"",onChange:N,label:t({id:"global.name",defaultMessage:"Name"}),error:R?.name?t({id:R.name}):!1,required:!0})),e.createElement(S.P,{col:6},e.createElement(J.g,{id:"description",value:C.description||"",onChange:N,label:t({id:"global.description",defaultMessage:"Description"}),error:R?.description?t({id:R.description}):!1,required:!0})))),!l&&e.createElement(de,{ref:g,permissions:d,routes:u}))))))},nt=()=>e.createElement(a.O4,{permissions:P._.createRole},e.createElement(st,null));var at=s(29439);const ot=()=>{const{formatMessage:t}=(0,b.Z)(),n=(0,a.lm)(),{lockApp:o,unlockApp:r}=(0,a.o1)(),{params:{id:c}}=(0,T.$B)("/settings/users-permissions/roles/:id"),{get:l}=(0,a.kY)(),{isLoading:d,routes:u}=ue(),{data:m,isLoading:g,refetch:h}=(0,I.useQuery)(["users-permissions","role",c],async()=>{const{data:{role:R}}=await l(`/users-permissions/roles/${c}`);return R}),f=e.useRef(),{put:i}=(0,a.kY)(),{formatAPIError:v}=(0,a.So)(),C=(0,I.useMutation)(R=>i(`/users-permissions/roles/${c}`,R),{onError(R){n({type:"warning",message:v(R)})},async onSuccess(){n({type:"success",message:{id:(0,$.Z)("Settings.roles.created"),defaultMessage:"Role edited"}}),await h()}}),N=async R=>{o();const D=f.current.getPermissions();await C.mutate({...R,...D,users:[]}),r()};return g?e.createElement(a.dO,null):e.createElement(k.o,null,e.createElement(a.SL,{name:"Roles"}),e.createElement(q.J9,{enableReinitialize:!0,initialValues:{name:m.name,description:m.description},onSubmit:N,validationSchema:me},({handleSubmit:R,values:D,handleChange:V,errors:j})=>e.createElement(a.l0,{noValidate:!0,onSubmit:R},e.createElement(x.T,{primaryAction:!d&&e.createElement(O.z,{disabled:m.code==="strapi-super-admin",type:"submit",loading:C.isLoading,startIcon:e.createElement(w.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:m.name,subtitle:m.description,navigationAction:e.createElement(a.rU,{startIcon:e.createElement(at.Z,null),to:"/settings/users-permissions/roles"},t({id:"global.back",defaultMessage:"Back"}))}),e.createElement(B.D,null,e.createElement(E.k,{background:"neutral0",direction:"column",alignItems:"stretch",gap:7,hasRadius:!0,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,shadow:"filterShadow"},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(p.Z,{variant:"delta",as:"h2"},t({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(A.r,{gap:4},e.createElement(S.P,{col:6},e.createElement(K.o,{name:"name",value:D.name||"",onChange:V,label:t({id:"global.name",defaultMessage:"Name"}),error:j?.name?t({id:j.name}):!1,required:!0})),e.createElement(S.P,{col:6},e.createElement(J.g,{id:"description",value:D.description||"",onChange:V,label:t({id:"global.description",defaultMessage:"Description"}),error:j?.description?t({id:j.description}):!1,required:!0})))),!d&&e.createElement(de,{ref:f,permissions:m.permissions,routes:u}))))))},rt=()=>e.createElement(a.O4,{permissions:P._.updateRole},e.createElement(ot,null));var lt=s(94638),it=s(96709),ct=s(99223),dt=s(56755),mt=s(33827),ge=s(94547),M=s(19786),ut=s(19406),gt=s(50428),pt=s(35658),ht=s(50563),Et=s(68625),ft=s(4038);const vt=(0,U.ZP)(gt.r)`
31
+ align-items: center;
32
+ height: ${(0,a.Q1)(32)};
33
+ display: flex;
34
+ justify-content: center;
35
+ padding: ${({theme:t})=>`${t.spaces[2]}}`};
36
+ width: ${(0,a.Q1)(32)};
37
+
38
+ svg {
39
+ height: ${(0,a.Q1)(12)};
40
+ width: ${(0,a.Q1)(12)};
41
+
42
+ path {
43
+ fill: ${({theme:t})=>t.colors.neutral500};
44
+ }
45
+ }
46
+
47
+ &:hover,
48
+ &:focus {
49
+ svg {
50
+ path {
51
+ fill: ${({theme:t})=>t.colors.neutral800};
52
+ }
53
+ }
54
+ }
55
+ `,z=({sortedRoles:t,canDelete:n,permissions:o,setRoleToDelete:r,onDelete:c})=>{const{formatMessage:l}=(0,b.Z)(),{push:d}=(0,T.k6)(),[u,m]=c,g=i=>n&&!["public","authenticated"].includes(i.type),h=i=>{r(i),m(!u)},f=i=>{d(`/settings/users-permissions/roles/${i}`)};return e.createElement(pt.p,null,t?.map(i=>e.createElement(ge.Tr,{key:i.name,...(0,a.X7)({fn:()=>f(i.id)})},e.createElement(M.Td,{width:"20%"},e.createElement(p.Z,null,i.name)),e.createElement(M.Td,{width:"50%"},e.createElement(p.Z,null,i.description)),e.createElement(M.Td,{width:"30%"},e.createElement(p.Z,null,l({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:i.nb_users}))),e.createElement(M.Td,null,e.createElement(E.k,{justifyContent:"end",...a.UW},e.createElement(a.jW,{permissions:o.updateRole},e.createElement(vt,{to:`/settings/users-permissions/roles/${i.id}`,"aria-label":l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${i.name}`})},e.createElement(Et.Z,null))),g(i)&&e.createElement(a.jW,{permissions:o.deleteRole},e.createElement(ht.h,{onClick:()=>h(i.id),noBorder:!0,icon:e.createElement(ft.Z,null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${i.name}`})})))))))};var yt=z;z.defaultProps={canDelete:!1},z.propTypes={onDelete:y().array.isRequired,permissions:y().object.isRequired,setRoleToDelete:y().func.isRequired,sortedRoles:y().array.isRequired,canDelete:y().bool};const Rt=async(t,n)=>{try{const{get:o}=(0,a.tg)(),{data:r}=await o("/users-permissions/roles");return n("The roles have loaded successfully"),r}catch(o){throw t({type:"warning",message:{id:"notification.error"}}),new Error(o)}},Ct=async(t,n)=>{try{const{del:o}=(0,a.tg)();await o(`/users-permissions/roles/${t}`)}catch{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}},Pt=()=>{const{trackUsage:t}=(0,a.rS)(),{formatMessage:n,locale:o}=(0,b.Z)(),r=(0,a.lm)(),{notifyStatus:c}=(0,lt.G)(),[{query:l}]=(0,a.Kx)(),d=l?._q||"",[u,m]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!1),[f,i]=(0,e.useState)();(0,a.go)();const{isLoading:v,allowedActions:{canRead:C,canDelete:N}}=(0,a.ss)({create:P._.createRole,read:P._.readRoles,update:P._.updateRole,delete:P._.deleteRole}),{isLoading:R,data:{roles:D},isFetching:V,refetch:j}=(0,I.useQuery)("get-roles",()=>Rt(r,c),{initialData:{},enabled:C}),{includes:pe}=(0,a.L0)(o,{sensitivity:"base"}),he=(0,a.Xe)(o,{sensitivity:"base"}),Ee=R||V,bt=()=>{m(!u)},At={roles:{id:(0,W.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,W.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Mt=n({id:"global.roles",defaultMessage:"Roles"}),Lt=(0,I.useMutation)(Z=>Ct(Z,r),{async onSuccess(){await j()}}),Dt=async()=>{h(!0),await Lt.mutateAsync(f),m(!u),h(!1)},H=(D||[]).filter(Z=>pe(Z.name,d)||pe(Z.description,d)).sort((Z,fe)=>he.compare(Z.name,fe.name)||he.compare(Z.description,fe.description)),Zt=d&&!H.length?"search":"roles",xt=4,Ot=(D?.length||0)+1;return e.createElement(it.A,null,e.createElement(a.SL,{name:Mt}),e.createElement(k.o,{"aria-busy":Ee},e.createElement(x.T,{title:n({id:"global.roles",defaultMessage:"Roles"}),subtitle:n({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(a.jW,{permissions:P._.createRole},e.createElement(a.Qj,{to:"/settings/users-permissions/roles/new",onClick:()=>t("willCreateRole"),startIcon:e.createElement(ut.Z,null),size:"S"},n({id:(0,W.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(ct.Z,{startActions:e.createElement(a.m,{label:n({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(B.D,null,!C&&e.createElement(a.ZF,null),(Ee||v)&&e.createElement(a.dO,null),C&&H&&H?.length?e.createElement(dt.i,{colCount:xt,rowCount:Ot},e.createElement(mt.h,null,e.createElement(ge.Tr,null,e.createElement(M.Th,null,e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(M.Th,null,e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"Description"}))),e.createElement(M.Th,null,e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.users",defaultMessage:"Users"}))),e.createElement(M.Th,null,e.createElement(ne.T,null,n({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(yt,{sortedRoles:H,canDelete:N,permissions:P._,setRoleToDelete:i,onDelete:[u,m]})):e.createElement(a.x7,{content:At[Zt]})),e.createElement(a.QH,{isConfirmButtonLoading:g,onConfirm:Dt,onToggleDialog:bt,isOpen:u})))},St=()=>e.createElement(a.O4,{permissions:P._.accessRoles},e.createElement(Pt,null));var Tt=()=>e.createElement(a.O4,{permissions:P._.accessRoles},e.createElement(T.rs,null,e.createElement(T.AW,{path:"/settings/users-permissions/roles/new",component:nt,exact:!0}),e.createElement(T.AW,{path:"/settings/users-permissions/roles/:id",component:rt,exact:!0}),e.createElement(T.AW,{path:"/settings/users-permissions/roles",component:St,exact:!0}),e.createElement(T.AW,{path:"",component:a.Hn})))},55733:function(ve,G,s){s.d(G,{YX:function(){return P},OB:function(){return k.Z}});var e=s(86834),a=s.n(e),P=x=>Object.keys(x).reduce((O,B)=>{const E=x[B].controllers,p=Object.keys(E).reduce((A,S)=>(a()(E[S])||(A[S]=E[S]),A),{});return a()(p)||(O[B]={controllers:p}),O},{}),k=s(48395)}}]);
@@ -0,0 +1,33 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{36795:function(V,f,t){var e=t(32735),O=t(29397),u=t(87933),v=t(76437),W=t(23866),K=t(31121),U=t(35197),i=t(38837),se=t(3685),re=t(49372),_=t(40801),G=t(8284),A=t(82884),X=t(92802),ie=t(60216),M=t.n(ie),Q=t(67879),D=t(8471),de=t(90769);const m=s=>s.reduce((r,d)=>{const y=d.split(".")[0];return r[y]||(r[y]=[]),r[y].push(d),r},{}),B=(0,D.ZP)(O.w)`
2
+ tbody tr:nth-child(odd) {
3
+ background: ${({theme:s})=>s.colors.neutral100};
4
+ }
5
+
6
+ thead th span {
7
+ color: ${({theme:s})=>s.colors.neutral500};
8
+ }
9
+
10
+ td,
11
+ th {
12
+ padding-block-start: ${({theme:s})=>s.spaces[3]};
13
+ padding-block-end: ${({theme:s})=>s.spaces[3]};
14
+ width: 10%;
15
+ vertical-align: middle;
16
+ text-align: center;
17
+ }
18
+
19
+ tbody tr td:first-child {
20
+ /**
21
+ * Add padding to the start of the first column to avoid the checkbox appearing
22
+ * too close to the edge of the table
23
+ */
24
+ padding-inline-start: ${({theme:s})=>s.spaces[2]};
25
+ }
26
+ `,oe=s=>{const r=[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}];return s&&(r.push({id:"app.utils.publish",defaultMessage:"Publish"}),r.push({id:"app.utils.unpublish",defaultMessage:"Unpublish"})),r},Y=s=>{const r=["entry.create","entry.update","entry.delete"];return s&&r.push("entry.publish","entry.unpublish"),{entry:r,media:["media.create","media.update","media.delete"]}},J=e.createContext(),le=({children:s})=>{const{formatMessage:r}=(0,Q.Z)(),{collectionTypes:d,isLoading:y}=(0,de.G)(),P=e.useMemo(()=>d.some(L=>L.options.draftAndPublish===!0),[d]),C=r({id:"Settings.webhooks.form.events",defaultMessage:"Events"});return e.createElement(J.Provider,{value:{isDraftAndPublish:P}},e.createElement(u.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(v.Q,{"aria-hidden":!0},C),y&&e.createElement(W.a,null,r({id:"Settings.webhooks.events.isLoading",defaultMessage:"Events loading"})),e.createElement(B,{"aria-label":C},s)))};le.propTypes={children:M().oneOfType([M().arrayOf(M().node),M().node]).isRequired};const q=({getHeaders:s=oe})=>{const{isDraftAndPublish:r}=e.useContext(J),{formatMessage:d}=(0,Q.Z)(),y=s(r);return e.createElement(K.S,null,e.createElement(U.Z,null,e.createElement(i.g,null,e.createElement(se.T,null,d({id:"Settings.webhooks.event.select",defaultMessage:"Select event"}))),y.map(P=>["app.utils.publish","app.utils.unpublish"].includes(P.id)?e.createElement(i.g,{key:P.id,title:d({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(P))):e.createElement(i.g,{key:P.id},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(P))))))};q.defaultProps={getHeaders:oe},q.propTypes={getHeaders:M().func};const ee=({providedEvents:s})=>{const{isDraftAndPublish:r}=e.useContext(J),d=s||Y(r),{values:y,handleChange:P}=(0,X.u6)(),C="events",L=y.events,w=[],te=m(L),S=({target:{name:E,value:g}})=>{let b=new Set(L);g?b.add(E):b.delete(E),P({target:{name:C,value:Array.from(b)}})},$=({target:{name:E,value:g}})=>{let b=new Set(L);g?d[E].forEach(N=>{w.includes(N)||b.add(N)}):d[E].forEach(N=>b.delete(N)),P({target:{name:C,value:Array.from(b)}})};return e.createElement(_.X,null,Object.entries(d).map(([E,g])=>e.createElement(F,{disabledEvents:w,key:E,name:E,events:g,inputValue:te[E],handleSelect:S,handleSelectAll:$})))};ee.defaultProps={providedEvents:null},ee.propTypes={providedEvents:M().object};const ce=s=>s.replace(/-/g," ").split(" ").map(r=>r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),F=({disabledEvents:s,name:r,events:d,inputValue:y,handleSelect:P,handleSelectAll:C})=>{const{formatMessage:L}=(0,Q.Z)(),w=d.filter(g=>!s.includes(g)),te=y.length>0,S=y.length===w.length,$=({target:{name:g}})=>{C({target:{name:g,value:!S}})},E=5;return e.createElement(U.Z,null,e.createElement(i.f,null,e.createElement(G.X,{indeterminate:te&&!S,"aria-label":L({id:"global.select-all-entries",defaultMessage:"Select all entries"}),name:r,onChange:$,value:S},ce(r))),d.map(g=>e.createElement(i.f,{key:g},e.createElement(A.C,{disabled:s.includes(g),"aria-label":g,name:g,value:y.includes(g),onValueChange:b=>P({target:{name:g,value:b}})}))),d.length<E&&e.createElement(i.f,{colSpan:E-d.length}))};F.defaultProps={disabledEvents:[],events:[],inputValue:[],handleSelect(){},handleSelectAll(){}},F.propTypes={disabledEvents:M().array,events:M().array,inputValue:M().array,handleSelect:M().func,handleSelectAll:M().func,name:M().string.isRequired},f.Z={Root:le,Headers:q,Body:ee,EventRow:F}},77476:function(V,f,t){t.d(f,{Z:function(){return fe}});var e=t(32735),O=t(27649),u=t(19565),v=t(20108),W=t(53038),K=t(90769),U=t(82055),i=t(87933),se=t(41415),re=t(17e3),_=t(72850),G=t(15335),A=t(5803),X=t(10369),ie=t(2438),M=t(66456),Q=t(29439),D=t(92802),de=t(60216),m=t.n(de),B=t(67879),oe=t(9592),Y=t(36795);function J(){return e.createElement(Y.Z.Root,null,e.createElement(Y.Z.Headers,null),e.createElement(Y.Z.Body,null))}var le=t(76437),q=t(7563),ee=t(19406),ce=t(21428),F=t(90333);const s=["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"],r=({name:n,onChange:a,value:o,...c})=>{const{values:{headers:h}}=(0,D.u6)(),[T,l]=(0,e.useState)(s);(0,e.useEffect)(()=>{l(s.filter(p=>!h?.some(x=>x.key!==o&&x.key===p)))},[h,o]);const H=p=>{a({target:{name:n,value:p}})},z=p=>{l(x=>[...x,p]),H(p)};return e.createElement(ce.XU,{...c,onClear:()=>H(""),onChange:H,onCreateOption:z,placeholder:"",value:o},T.map(p=>e.createElement(F.O,{value:p,key:p},p)))};r.defaultProps={value:void 0},r.propTypes={name:m().string.isRequired,onChange:m().func.isRequired,value:m().string};var d=r,P=()=>{const{formatMessage:n}=(0,B.Z)(),{values:a,errors:o}=(0,D.u6)();return e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(le.Q,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(_.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(D.F2,{validateOnChange:!1,name:"headers",render:({push:c,remove:h})=>e.createElement(G.r,{gap:4},a.headers.map((T,l)=>e.createElement(e.Fragment,{key:`${l}.${T.key}`},e.createElement(A.P,{col:6},e.createElement(D.gN,{as:d,name:`headers.${l}.key`,"aria-label":`row ${l+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:o.headers?.[l]?.key&&o.headers[l].key})),e.createElement(A.P,{col:6},e.createElement(i.k,{alignItems:"flex-end"},e.createElement(_.x,{style:{flex:1}},e.createElement(D.gN,{as:X.o,name:`headers.${l}.value`,"aria-label":`row ${l+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),error:o.headers?.[l]?.value&&o.headers[l].value})),e.createElement(i.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:o.headers?.[l]?.value?0:5},e.createElement(u.fG,{disabled:a.headers.length===1,onClick:()=>h(l),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:l+1})})))))),e.createElement(A.P,{col:12},e.createElement(q.A,{type:"button",onClick:()=>{c({key:"",value:""})},startIcon:e.createElement(ee.Z,null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},C=t(49372),L=t(27169),w=t(35331),te=t(8471);const S=te.ZP.svg(({theme:n,color:a})=>`
27
+ width: ${12/16}rem;
28
+ height: ${12/16}rem;
29
+
30
+ path {
31
+ fill: ${n.colors[a]};
32
+ }
33
+ `),$=({isPending:n,statusCode:a})=>{const{formatMessage:o}=(0,B.Z)();return n?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(S,{as:L.Z}),e.createElement(C.Z,null,o({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):a>=200&&a<300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(S,{as:M.Z,color:"success700"}),e.createElement(C.Z,null,o({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):a>=300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(S,{as:w.Z,color:"danger700"}),e.createElement(C.Z,null,o({id:"Settings.error",defaultMessage:"error"})," ",a)):null};$.propTypes={isPending:m().bool.isRequired,statusCode:m().number},$.defaultProps={statusCode:void 0};const E=({statusCode:n,message:a})=>{const{formatMessage:o}=(0,B.Z)();return n>=200&&n<300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(C.Z,{textColor:"neutral600",ellipsis:!0},o({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(i.k,{maxWidth:(0,u.Q1)(250),justifyContent:"flex-end",title:a},e.createElement(C.Z,{ellipsis:!0,textColor:"neutral600"},a))):null};E.propTypes={statusCode:m().number,message:m().string},E.defaultProps={statusCode:void 0,message:void 0};const g=({onCancel:n})=>{const{formatMessage:a}=(0,B.Z)();return e.createElement(i.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(C.Z,{textColor:"neutral400"},a({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(S,{as:w.Z,color:"neutral400"}))))};g.propTypes={onCancel:m().func.isRequired};const b=({isPending:n,onCancel:a,response:o})=>{const{statusCode:c,message:h}=o,{formatMessage:T}=(0,B.Z)();return e.createElement(_.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(G.r,{gap:4,style:{alignItems:"center"}},e.createElement(A.P,{col:3},e.createElement(C.Z,null,T({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(A.P,{col:3},e.createElement($,{isPending:n,statusCode:c})),e.createElement(A.P,{col:6},n?e.createElement(g,{onCancel:a}):e.createElement(E,{statusCode:c,message:h}))))};b.defaultProps={isPending:!1,onCancel(){},response:{}},b.propTypes={isPending:m().bool,onCancel:m().func,response:m().object};var N=b,k=t(24346);const ge=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,Ee=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,he=({formatMessage:n})=>k.Ry().shape({name:k.Z_().required(n({id:"Settings.webhooks.validation.name.required",defaultMessage:"Name is required"})).matches(ge,n({id:"Settings.webhooks.validation.name.regex",defaultMessage:"The name must start with a letter and only contain letters, numbers, spaces and underscores"})),url:k.Z_().required(n({id:"Settings.webhooks.validation.url.required",defaultMessage:"Url is required"})).matches(Ee,n({id:"Settings.webhooks.validation.url.regex",defaultMessage:"The value must be a valid Url"})),headers:k.Vo(a=>{let o=k.IX();if(a.length===1){const{key:c,value:h}=a[0];if(!c&&!h)return o}return o.of(k.Ry().shape({key:k.Z_().required(n({id:"Settings.webhooks.validation.key",defaultMessage:"Key is required"})),value:k.Z_().required(n({id:"Settings.webhooks.validation.value",defaultMessage:"Value is required"}))}))}),events:k.IX()}),ue=({handleSubmit:n,triggerWebhook:a,isCreating:o,isTriggering:c,triggerResponse:h,data:T})=>{const{formatMessage:l}=(0,B.Z)(),[H,z]=(0,e.useState)(!1),p=(0,oe.c)(J,async()=>(await t.e(7030).then(t.bind(t,61442))).EventTableEE),x=Z=>Object.keys(Z).length?Object.entries(Z).map(([ne,ae])=>({key:ne,value:ae})):[{key:"",value:""}],R=(0,D.TA)({initialValues:{name:T?.name||"",url:T?.url||"",headers:x(T?.headers||{}),events:T?.events||[]},onSubmit(Z,{resetForm:ne,setSubmitting:ae}){n(Z),ne({values:Z}),ae(!1)},validationSchema:he({formatMessage:l}),validateOnChange:!1,validateOnBlur:!1});return p?e.createElement(D.Hy,{value:R},e.createElement(u.l0,{onSubmit:R.handleSubmit},e.createElement(U.T,{primaryAction:e.createElement(i.k,{gap:2},e.createElement(se.z,{onClick:()=>{a(),z(!0)},variant:"tertiary",startIcon:e.createElement(ie.Z,null),disabled:o||c,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(se.z,{startIcon:e.createElement(M.Z,null),type:"submit",size:"L",disabled:!R.dirty,loading:R.isSubmitting},l({id:"global.save",defaultMessage:"Save"}))),title:o?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):T?.name,navigationAction:e.createElement(u.rU,{startIcon:e.createElement(Q.Z,null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(re.D,null,e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:4},H&&e.createElement(N,{isPending:c,response:h,onCancel:()=>z(!1)}),e.createElement(_.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(G.r,{gap:6},e.createElement(A.P,{col:6},e.createElement(D.gN,{as:X.o,name:"name",error:R?.errors?.name&&R.errors.name,label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(A.P,{col:12},e.createElement(D.gN,{as:X.o,name:"url",error:R?.errors?.url&&R.errors.url,label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(P,null),e.createElement(p,null))))))):null};ue.propTypes={data:m().object,handleSubmit:m().func.isRequired,triggerWebhook:m().func.isRequired,isCreating:m().bool.isRequired,isTriggering:m().bool.isRequired,triggerResponse:m().object},ue.defaultProps={data:void 0,triggerResponse:void 0};var pe=ue;const me=n=>({...n,headers:n.headers.reduce((a,{key:o,value:c})=>(o!==""&&(a[o]=c),a),{})});var fe=()=>{const{params:{id:n}}=(0,W.$B)("/settings/webhooks/:id"),a=n==="create",{replace:o}=(0,W.k6)(),c=(0,u.lm)(),{formatAPIError:h}=(0,u.So)(),T=(0,v.useQueryClient)(),{isLoading:l}=(0,K.G)(),{put:H,get:z,post:p}=(0,u.kY)(),{isLoading:x,data:R,error:Z}=(0,v.useQuery)(["webhooks",n],async()=>{const{data:{data:I}}=await z(`/admin/webhooks/${n}`);return I},{enabled:!a});e.useEffect(()=>{Z&&c({type:"warning",message:h(Z)})},[Z,c,h]);const{isLoading:ne,data:ae,isIdle:ve,mutate:Me}=(0,v.useMutation)(()=>p(`/admin/webhooks/${n}/trigger`)),Ce=()=>Me(null,{onError(I){c({type:"warning",message:h(I)})}}),ye=(0,v.useMutation)(I=>p("/admin/webhooks",I)),Pe=(0,v.useMutation)(({id:I,body:j})=>H(`/admin/webhooks/${I}`,j)),be=async I=>{if(a){ye.mutate(me(I),{onSuccess({data:j}){c({type:"success",message:{id:"Settings.webhooks.created"}}),o(`/settings/webhooks/${j.data.id}`)},onError(j){c({type:"warning",message:h(j)})}});return}Pe.mutate({id:n,body:me(I)},{onSuccess(){T.invalidateQueries(["webhooks",n]),c({type:"success",message:{id:"notification.form.success.fields"}})},onError(j){c({type:"warning",message:h(j)})}})};return x||l?e.createElement(u.dO,null):e.createElement(O.o,null,e.createElement(u.SL,{name:"Webhooks"}),e.createElement(pe,{data:R,handleSubmit:be,triggerWebhook:Ce,isCreating:a,isTriggering:ne,isTriggerIdle:ve,triggerResponse:ae?.data.data}))}},5722:function(V,f,t){t.r(f);var e=t(32735),O=t(19565),u=t(15062),v=t(30305),W=t(77476);const K=()=>{const U=(0,u.v9)(v._);return e.createElement(O.O4,{permissions:U.settings.webhooks.create},e.createElement(W.Z,null))};f.default=K},63939:function(V,f,t){t.r(f);var e=t(32735),O=t(19565),u=t(15062),v=t(30305),W=t(77476);const K=()=>{const U=(0,u.v9)(v._);return e.createElement(O.O4,{permissions:U.settings.webhooks.update},e.createElement(W.Z,null))};f.default=K},90333:function(V,f,t){t.d(f,{O:function(){return O}});var e=t(21428);const O=e.Wx},29439:function(V,f,t){t.d(f,{Z:function(){return u}});var e=t(74512);const O=v=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...v,children:(0,e.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),u=O},2438:function(V,f,t){t.d(f,{Z:function(){return u}});var e=t(74512);const O=v=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 8 8",...v,children:(0,e.jsx)("path",{fill:"#212134",d:"M2 .93c0-.4.45-.63.78-.41l4.6 3.06c.3.2.3.64 0 .84l-4.6 3.06A.5.5 0 0 1 2 7.07V.93Z"})}),u=O}}]);
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+
3
+ import { useFetchClient } from '@strapi/helper-plugin';
4
+ import { useQuery } from 'react-query';
5
+
6
+ export const useAuthProviders = (queryOptions = {}) => {
7
+ const { get } = useFetchClient();
8
+
9
+ const { data, isLoading } = useQuery(
10
+ ['ee', 'providers'],
11
+ async () => {
12
+ const { data } = await get('/admin/providers');
13
+
14
+ return data;
15
+ },
16
+ queryOptions
17
+ );
18
+
19
+ // the return value needs to be memoized, because a fresh
20
+ // instantiated array would cause an infinite rendering loop
21
+ // when used as an effect dependency
22
+ const providers = React.useMemo(() => data ?? [], [data]);
23
+
24
+ return { providers, isLoading };
25
+ };
@@ -10,14 +10,14 @@ import isNil from 'lodash/isNil';
10
10
  import { useIntl } from 'react-intl';
11
11
  import { useLocation } from 'react-router-dom';
12
12
 
13
- import { useLicenseLimits } from '../useLicenseLimits';
13
+ import { useLicenseLimits } from './useLicenseLimits';
14
14
 
15
15
  const STORAGE_KEY_PREFIX = 'strapi-notification-seat-limit';
16
16
 
17
17
  const BILLING_STRAPI_CLOUD_URL = 'https://cloud.strapi.io/profile/billing';
18
18
  const BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';
19
19
 
20
- const useLicenseLimitNotification = () => {
20
+ export const useLicenseLimitNotification = () => {
21
21
  const { formatMessage } = useIntl();
22
22
  let { license, isError, isLoading } = useLicenseLimits();
23
23
  const toggleNotification = useNotification();
@@ -97,5 +97,3 @@ const useLicenseLimitNotification = () => {
97
97
  isError,
98
98
  ]);
99
99
  };
100
-
101
- export default useLicenseLimitNotification;
@@ -19,7 +19,10 @@ export function useLicenseLimits({ enabled } = { enabled: true }) {
19
19
  }
20
20
  );
21
21
 
22
- const license = data ?? {};
22
+ // this needs memoization, because a default value of `{}`
23
+ // would lead to infinite rendering loops, when used as
24
+ // effect dependency
25
+ const license = React.useMemo(() => data ?? {}, [data]);
23
26
 
24
27
  const getFeature = React.useCallback(
25
28
  (name) => {
@@ -1,9 +1,10 @@
1
- import { AuthResponse } from '../AuthResponse';
1
+ import * as React from 'react';
2
2
 
3
- export const ROUTES_EE = [
3
+ export const AUTH_ROUTES_EE = [
4
4
  {
5
- Component: () => ({ default: AuthResponse }),
6
- to: '/auth/login/:authResponse',
7
- exact: true,
5
+ component: React.lazy(() =>
6
+ import('../AuthResponse').then((module) => ({ default: module.AuthResponse }))
7
+ ),
8
+ path: '/auth/login/:authResponse',
8
9
  },
9
10
  ];
@@ -7,7 +7,7 @@ import styled from 'styled-components';
7
7
 
8
8
  import UnauthenticatedLayout from '../../../../../../admin/src/layouts/UnauthenticatedLayout';
9
9
  import BaseLogin from '../../../../../../admin/src/pages/AuthPage/components/Login/BaseLogin';
10
- import { useAuthProviders } from '../../../../hooks';
10
+ import { useAuthProviders } from '../../../../hooks/useAuthProviders';
11
11
  import SSOProviders from '../Providers/SSOProviders';
12
12
 
13
13
  const DividerFull = styled(Divider)`
@@ -15,11 +15,15 @@ const DividerFull = styled(Divider)`
15
15
  `;
16
16
 
17
17
  export const LoginEE = (loginProps) => {
18
- const ssoEnabled = window.strapi.features.isEnabled(window.strapi.features.SSO);
19
- const { isLoading, data: providers } = useAuthProviders({ ssoEnabled });
20
18
  const { formatMessage } = useIntl();
19
+ const { isLoading, providers } = useAuthProviders({
20
+ enabled: window.strapi.features.isEnabled(window.strapi.features.SSO),
21
+ });
21
22
 
22
- if (!ssoEnabled || (!isLoading && providers.length === 0)) {
23
+ if (
24
+ !window.strapi.features.isEnabled(window.strapi.features.SSO) ||
25
+ (!isLoading && providers.length === 0)
26
+ ) {
23
27
  return (
24
28
  <UnauthenticatedLayout>
25
29
  <BaseLogin {...loginProps} />