@strapi/admin 4.2.0-beta.4 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/admin/src/app.js +4 -7
  2. package/admin/src/components/OverlayBlocker/index.js +4 -0
  3. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +1 -1
  4. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/index.js +4 -4
  5. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/utils/api.js +2 -2
  6. package/admin/src/hooks/useFetchMarketplaceProviders/index.js +23 -0
  7. package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +11 -0
  8. package/admin/src/pages/Admin/index.js +5 -15
  9. package/admin/src/pages/App/index.js +3 -17
  10. package/admin/src/pages/InstalledPluginsPage/Plugins.js +2 -2
  11. package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch/EmptyPluginGrid.js → EmptyNpmPackageSearch/EmptyNpmPackageGrid.js} +1 -1
  12. package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch → EmptyNpmPackageSearch}/index.js +6 -4
  13. package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/InstallPluginButton.js +0 -0
  14. package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/index.js +22 -11
  15. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +48 -0
  16. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +12 -5
  17. package/admin/src/pages/MarketplacePage/index.js +91 -59
  18. package/admin/src/reducers.js +2 -4
  19. package/admin/src/translations/en.json +7 -3
  20. package/admin/src/translations/hi.json +699 -0
  21. package/admin/src/translations/languageNativeNames.js +1 -0
  22. package/admin/src/translations/pl.json +335 -78
  23. package/admin/src/translations/vi.json +17 -17
  24. package/admin/src/translations/zh-Hans.json +28 -1
  25. package/build/1856.6a94980b.chunk.js +172 -0
  26. package/build/2077.5456ccd1.chunk.js +194 -0
  27. package/build/2758.9475712b.chunk.js +162 -0
  28. package/build/2912.dd031292.chunk.js +253 -0
  29. package/build/4715.a6e62860.chunk.js +385 -0
  30. package/build/4982.c57c5675.chunk.js +308 -0
  31. package/build/7197.74d81c4c.chunk.js +113 -0
  32. package/build/{6229.a5cca9f2.chunk.js → 7589.77ef4fbf.chunk.js} +2 -2
  33. package/build/{472.0350a5bd.chunk.js → 7757.f6eb5e92.chunk.js} +58 -58
  34. package/build/7841.9e9cf739.chunk.js +253 -0
  35. package/build/8681.2fd4020a.chunk.js +163 -0
  36. package/build/9066.2847fdff.chunk.js +101 -0
  37. package/build/{4073.e144a91a.chunk.js → 9115.623dc4f7.chunk.js} +1 -1
  38. package/build/9158.c5f772d6.chunk.js +503 -0
  39. package/build/{9298.aff28744.chunk.js → 9298.cb3b6bc1.chunk.js} +93 -93
  40. package/build/9420.ba035f29.chunk.js +508 -0
  41. package/build/Admin-authenticatedApp.2a22d6f4.chunk.js +80 -0
  42. package/build/{Admin_homePage.0ac648e8.chunk.js → Admin_homePage.447df176.chunk.js} +1 -1
  43. package/build/Admin_marketplace.0724f650.chunk.js +11 -0
  44. package/build/Admin_pluginsPage.6f1187fe.chunk.js +1 -0
  45. package/build/{Admin_profilePage.27191ed2.chunk.js → Admin_profilePage.249cbfc9.chunk.js} +2 -2
  46. package/build/Admin_settingsPage.0d138832.chunk.js +180 -0
  47. package/build/{admin-edit-roles-page.fb374555.chunk.js → admin-edit-roles-page.7c2c9752.chunk.js} +1 -1
  48. package/build/admin-edit-users.b835bc48.chunk.js +11 -0
  49. package/build/admin-users.19900b75.chunk.js +12 -0
  50. package/build/{api-tokens-create-page.698f132d.chunk.js → api-tokens-create-page.8d299dde.chunk.js} +1 -1
  51. package/build/{api-tokens-edit-page.afece2fe.chunk.js → api-tokens-edit-page.3e453fc1.chunk.js} +1 -1
  52. package/build/{api-tokens-list-page.46d96dee.chunk.js → api-tokens-list-page.872c3800.chunk.js} +1 -1
  53. package/build/{codemirror-css.b467b1de.chunk.js → codemirror-css.98490df3.chunk.js} +2 -2
  54. package/build/{codemirror-javacript.41bdefda.chunk.js → codemirror-javacript.cafbda9c.chunk.js} +1 -1
  55. package/build/codemirror-theme.b3c64617.chunk.js +34 -0
  56. package/build/{content-manager.7cd28f84.chunk.js → content-manager.18834aa8.chunk.js} +10 -10
  57. package/build/content-type-builder-translation-pl-json.4a42349b.chunk.js +1 -0
  58. package/build/content-type-builder.55dd9554.chunk.js +142 -0
  59. package/build/{cropper-css.ecc0d670.chunk.js → cropper-css.0055cd53.chunk.js} +2 -2
  60. package/build/email-settings-page.1f235173.chunk.js +103 -0
  61. package/build/email-translation-pl-json.a03bcf98.chunk.js +1 -0
  62. package/build/en-json.0a5ba154.chunk.js +1 -0
  63. package/build/{fontawesome-css-all.04f33619.chunk.js → fontawesome-css-all.b88d464e.chunk.js} +3 -3
  64. package/build/{fontawesome-css.477ba714.chunk.js → fontawesome-css.a92a7b6c.chunk.js} +2 -2
  65. package/build/hi-json.b4ae16d1.chunk.js +1 -0
  66. package/build/highlight.js.9d8ef460.chunk.js +86 -0
  67. package/build/i18n-settings-page.06e88cf2.chunk.js +101 -0
  68. package/build/i18n-translation-pl-json.cea5bf23.chunk.js +1 -0
  69. package/build/index.html +1 -1
  70. package/build/main.fcb539e3.js +8406 -0
  71. package/build/pl-json.4d11f53d.chunk.js +1 -0
  72. package/build/runtime~main.ade14a85.js +2 -0
  73. package/build/sso-settings-page.a7c2e854.chunk.js +1 -0
  74. package/build/upload-settings.4ee2f135.chunk.js +101 -0
  75. package/build/upload-translation-pl-json.bb2aa937.chunk.js +1 -0
  76. package/build/upload.0d4153e8.chunk.js +105 -0
  77. package/build/users-advanced-settings-page.583c5dda.chunk.js +101 -0
  78. package/build/users-email-settings-page.8b9a266d.chunk.js +1 -0
  79. package/build/users-permissions-translation-en-json.765abf48.chunk.js +1 -0
  80. package/build/users-permissions-translation-pl-json.1dbdd4a1.chunk.js +1 -0
  81. package/build/users-providers-settings-page.fc9d8f9d.chunk.js +1 -0
  82. package/build/{users-roles-settings-page.988ebc3b.chunk.js → users-roles-settings-page.1bf4ffc5.chunk.js} +2 -2
  83. package/build/vi-json.bf3424be.chunk.js +1 -0
  84. package/build/{webhook-edit-page.a7ae6e3b.chunk.js → webhook-edit-page.142b23ac.chunk.js} +2 -2
  85. package/build/webhook-list-page.671582a0.chunk.js +133 -0
  86. package/build/zh-Hans-json.562f3b6f.chunk.js +1 -0
  87. package/index.js +239 -53
  88. package/package.json +9 -11
  89. package/scripts/build.js +3 -17
  90. package/server/controllers/admin.js +2 -15
  91. package/server/policies/index.js +0 -1
  92. package/server/routes/admin.js +0 -9
  93. package/server/routes/serve-admin-panel.js +1 -1
  94. package/webpack.alias.js +30 -19
  95. package/webpack.config.js +9 -29
  96. package/admin/src/pages/App/constants.js +0 -1
  97. package/admin/src/pages/App/reducer.js +0 -22
  98. package/admin/src/pages/MarketplacePage/utils/api.js +0 -9
  99. package/admin/src/tsconfig.json +0 -10
  100. package/build/1541.6c1c96f9.chunk.js +0 -307
  101. package/build/1856.521a99fd.chunk.js +0 -172
  102. package/build/2077.51485bfb.chunk.js +0 -194
  103. package/build/2912.79c2b3c8.chunk.js +0 -253
  104. package/build/3214.9196aeff.chunk.js +0 -235
  105. package/build/3865.21cec9de.chunk.js +0 -310
  106. package/build/4715.77e04177.chunk.js +0 -385
  107. package/build/4982.f53b78a4.chunk.js +0 -308
  108. package/build/7351.b95e65ae.chunk.js +0 -428
  109. package/build/7418.6db737ce.chunk.js +0 -112
  110. package/build/7841.f0e7d629.chunk.js +0 -253
  111. package/build/8826.58e236d4.chunk.js +0 -1057
  112. package/build/9066.118ecccd.chunk.js +0 -101
  113. package/build/9420.cb0b75e8.chunk.js +0 -508
  114. package/build/9988.f84412d9.chunk.js +0 -162
  115. package/build/Admin-authenticatedApp.162a5805.chunk.js +0 -80
  116. package/build/Admin_marketplace.0bb91ec8.chunk.js +0 -11
  117. package/build/Admin_pluginsPage.788fb2f6.chunk.js +0 -1
  118. package/build/Admin_settingsPage.23e873f0.chunk.js +0 -178
  119. package/build/admin-edit-users.a360deaf.chunk.js +0 -10
  120. package/build/admin-users.47d06d24.chunk.js +0 -11
  121. package/build/codemirror-theme.cf9f9eb6.chunk.js +0 -34
  122. package/build/content-type-builder-translation-pl-json.a866acda.chunk.js +0 -1
  123. package/build/content-type-builder.7456cabe.chunk.js +0 -141
  124. package/build/email-settings-page.f67d13b2.chunk.js +0 -103
  125. package/build/email-translation-pl-json.6da50d0f.chunk.js +0 -1
  126. package/build/en-json.40ee00aa.chunk.js +0 -1
  127. package/build/highlight.js.3381ffc3.chunk.js +0 -86
  128. package/build/i18n-settings-page.6b67cb75.chunk.js +0 -101
  129. package/build/main.b632a0d6.js +0 -11625
  130. package/build/pl-json.94f05d2c.chunk.js +0 -1
  131. package/build/runtime~main.38d418e9.js +0 -2
  132. package/build/sso-settings-page.dfb0b917.chunk.js +0 -1
  133. package/build/upload-settings.3db55de0.chunk.js +0 -101
  134. package/build/upload-translation-pl-json.6071e38c.chunk.js +0 -1
  135. package/build/upload.070c189b.chunk.js +0 -105
  136. package/build/users-advanced-settings-page.a23cda17.chunk.js +0 -101
  137. package/build/users-email-settings-page.0a096388.chunk.js +0 -1
  138. package/build/users-permissions-translation-en-json.3fe86528.chunk.js +0 -1
  139. package/build/users-permissions-translation-pl-json.3c4fe81c.chunk.js +0 -1
  140. package/build/users-providers-settings-page.bfe7755a.chunk.js +0 -1
  141. package/build/vi-json.3d14e91e.chunk.js +0 -1
  142. package/build/webhook-list-page.83297d98.chunk.js +0 -133
  143. package/build/zh-Hans-json.c84ce330.chunk.js +0 -1
  144. package/server/policies/isTelemetryEnabled.js +0 -16
  145. package/utils/create-cache-dir.js +0 -161
  146. package/utils/get-custom-app-config-file.js +0 -23
  147. package/utils/get-custom-webpack-config.js +0 -38
  148. package/utils/get-plugins-path.js +0 -26
  149. package/utils/index.js +0 -13
  150. package/utils/should-build-admin.js +0 -52
  151. package/utils/watch-admin-files.js +0 -59
@@ -0,0 +1,101 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{16540:(_,j,c)=>{"use strict";_.exports=c(67468)},67468:function(_,j,c){(function(g,M){_.exports=M(c(32735),c(19615))})(this,function(g,M){return function(n){var f={};function t(a){if(f[a])return f[a].exports;var r=f[a]={i:a,l:!1,exports:{}};return n[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=n,t.c=f,t.d=function(a,r,l){t.o(a,r)||Object.defineProperty(a,r,{enumerable:!0,get:l})},t.r=function(a){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},t.t=function(a,r){if(1&r&&(a=t(a)),8&r||4&r&&typeof a=="object"&&a&&a.__esModule)return a;var l=Object.create(null);if(t.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:a}),2&r&&typeof a!="string")for(var i in a)t.d(l,i,function(u){return a[u]}.bind(null,i));return l},t.n=function(a){var r=a&&a.__esModule?function(){return a.default}:function(){return a};return t.d(r,"a",r),r},t.o=function(a,r){return Object.prototype.hasOwnProperty.call(a,r)},t.p="",t(t.s=110)}({0:function(n,f,t){n.exports=t(19)()},1:function(n,f){n.exports=g},10:function(n,f,t){var a=t(25),r=t(26),l=t(22),i=t(27);n.exports=function(u,d){return a(u)||r(u,d)||l(u,d)||i()},n.exports.default=n.exports,n.exports.__esModule=!0},110:function(n,f,t){"use strict";t.r(f),t.d(f,"Main",function(){return e}),t.d(f,"SkipToContent",function(){return z});var a,r=t(5),l=t.n(r),i=t(4),u=t.n(i),d=t(3),v=t.n(d),x=t(1),E=t.n(x),s=t(0),O=t.n(s),P=t(2),p=t.n(P),L=["labelledBy"],B=p.a.main(a||(a=v()([`
2
+ // To prevent global outline on focus visible to force an outline when Main is focused
3
+ &:focus-visible {
4
+ outline: none;
5
+ }
6
+ `]))),e=function(w){var U=w.labelledBy,H=u()(w,L),G=U||"main-content-title";return E.a.createElement(B,l()({"aria-labelledby":G,id:"main-content",tabIndex:-1},H))};e.defaultProps={labelledBy:void 0},e.propTypes={labelledBy:O.a.string};var o,m=t(6),C=p()(m.Box)(o||(o=v()([`
7
+ text-decoration: none;
8
+ position: absolute;
9
+ z-index: 9999;
10
+ left: -100%;
11
+ top: -100%;
12
+
13
+ &:focus {
14
+ left: `,`;
15
+ top: `,`;
16
+ }
17
+ `])),function(w){return w.theme.spaces[3]},function(w){return w.theme.spaces[3]}),z=function(w){var U=w.children;return E.a.createElement(C,{as:"a",href:"#main-content",background:"primary600",color:"neutral0",padding:3,hasRadius:!0},U)};z.propTypes={children:O.a.node.isRequired}},13:function(n,f){function t(a){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?(n.exports=t=function(r){return typeof r},n.exports.default=n.exports,n.exports.__esModule=!0):(n.exports=t=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},n.exports.default=n.exports,n.exports.__esModule=!0),t(a)}n.exports=t,n.exports.default=n.exports,n.exports.__esModule=!0},19:function(n,f,t){"use strict";var a=t(20);function r(){}function l(){}l.resetWarningCache=r,n.exports=function(){function i(v,x,E,s,O,P){if(P!==a){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}function u(){return i}i.isRequired=i;var d={array:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:u,element:i,elementType:i,instanceOf:u,node:i,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:l,resetWarningCache:r};return d.PropTypes=d,d}},2:function(n,f){n.exports=M},20:function(n,f,t){"use strict";n.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},21:function(n,f){n.exports=function(t,a){(a==null||a>t.length)&&(a=t.length);for(var r=0,l=new Array(a);r<a;r++)l[r]=t[r];return l},n.exports.default=n.exports,n.exports.__esModule=!0},22:function(n,f,t){var a=t(21);n.exports=function(r,l){if(r){if(typeof r=="string")return a(r,l);var i=Object.prototype.toString.call(r).slice(8,-1);return i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set"?Array.from(r):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?a(r,l):void 0}},n.exports.default=n.exports,n.exports.__esModule=!0},24:function(n,f){n.exports=function(t,a){if(t==null)return{};var r,l,i={},u=Object.keys(t);for(l=0;l<u.length;l++)r=u[l],a.indexOf(r)>=0||(i[r]=t[r]);return i},n.exports.default=n.exports,n.exports.__esModule=!0},25:function(n,f){n.exports=function(t){if(Array.isArray(t))return t},n.exports.default=n.exports,n.exports.__esModule=!0},26:function(n,f){n.exports=function(t,a){var r=t==null?null:typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var l,i,u=[],d=!0,v=!1;try{for(r=r.call(t);!(d=(l=r.next()).done)&&(u.push(l.value),!a||u.length!==a);d=!0);}catch(x){v=!0,i=x}finally{try{d||r.return==null||r.return()}finally{if(v)throw i}}return u}},n.exports.default=n.exports,n.exports.__esModule=!0},27:function(n,f){n.exports=function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
18
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},n.exports.default=n.exports,n.exports.__esModule=!0},3:function(n,f){n.exports=function(t,a){return a||(a=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(a)}}))},n.exports.default=n.exports,n.exports.__esModule=!0},4:function(n,f,t){var a=t(24);n.exports=function(r,l){if(r==null)return{};var i,u,d=a(r,l);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(r);for(u=0;u<v.length;u++)i=v[u],l.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(r,i)&&(d[i]=r[i])}return d},n.exports.default=n.exports,n.exports.__esModule=!0},5:function(n,f){function t(){return n.exports=t=Object.assign||function(a){for(var r=1;r<arguments.length;r++){var l=arguments[r];for(var i in l)Object.prototype.hasOwnProperty.call(l,i)&&(a[i]=l[i])}return a},n.exports.default=n.exports,n.exports.__esModule=!0,t.apply(this,arguments)}n.exports=t,n.exports.default=n.exports,n.exports.__esModule=!0},6:function(n,f,t){"use strict";t.r(f),t.d(f,"Box",function(){return B});var a,r=t(3),l=t.n(r),i=t(2),u=t.n(i),d=t(7),v=t(1),x=t.n(v),E=t(0),s=t.n(E),O=function(e){return x.a.createElement("div",e)},P={background:void 0,borderColor:void 0,color:void 0,hiddenS:!1,hiddenXS:!1,padding:void 0,paddingTop:void 0,paddingRight:void 0,paddingBottom:void 0,paddingLeft:void 0,hasRadius:!1,shadow:void 0,children:null,shrink:void 0,grow:void 0,basis:void 0,flex:void 0,_hover:function(){}},p={_hover:s.a.func,background:s.a.string,basis:s.a.oneOfType([s.a.string,s.a.string]),borderColor:s.a.string,children:s.a.oneOfType([s.a.node,s.a.string]),color:s.a.string,flex:s.a.oneOfType([s.a.string,s.a.string]),grow:s.a.oneOfType([s.a.string,s.a.string]),hasRadius:s.a.bool,hiddenS:s.a.bool,hiddenXS:s.a.bool,padding:s.a.oneOfType([s.a.number,s.a.arrayOf(s.a.number)]),paddingBottom:s.a.oneOfType([s.a.number,s.a.arrayOf(s.a.number)]),paddingLeft:s.a.oneOfType([s.a.number,s.a.arrayOf(s.a.number)]),paddingRight:s.a.oneOfType([s.a.number,s.a.arrayOf(s.a.number)]),paddingTop:s.a.oneOfType([s.a.number,s.a.arrayOf(s.a.number)]),shadow:s.a.string,shrink:s.a.oneOfType([s.a.string,s.a.string])};O.defaultProps=P,O.propTypes=p;var L={color:!0},B=u.a.div.withConfig({shouldForwardProp:function(e,o){return!L[e]&&o(e)}})(a||(a=l()([`
19
+ // Font
20
+ font-size: `,`;
21
+
22
+ // Colors
23
+ background: `,`;
24
+ color: `,`;
25
+
26
+ // Spaces
27
+ `,`
28
+ `,`
29
+ `,`
30
+ `,`
31
+ `,`
32
+ `,`
33
+ `,`
34
+ `,`
35
+ `,`
36
+
37
+ // Responsive hiding
38
+ `,`
39
+ `,`
40
+
41
+
42
+ // Borders
43
+ border-radius: `,`;
44
+ border-style: `,`;
45
+ border-width: `,`;
46
+ border-color: `,`;
47
+ border: `,`;
48
+
49
+ // Shadows
50
+ box-shadow: `,`;
51
+
52
+ // Handlers
53
+ pointer-events: `,`;
54
+ &:hover {
55
+ `,`
56
+ }
57
+
58
+ // Display
59
+ display: `,`;
60
+
61
+ // Position
62
+ position: `,`;
63
+ left: `,`;
64
+ right: `,`;
65
+ top: `,`;
66
+ bottom: `,`;
67
+ z-index: `,`;
68
+ overflow: `,`;
69
+ cursor: `,`;
70
+
71
+ // Size
72
+ width: `,`;
73
+ max-width: `,`;
74
+ min-width: `,`;
75
+ height: `,`;
76
+ max-height: `,`;
77
+ min-height: `,`;
78
+
79
+ // Animation
80
+ transition: `,`;
81
+ transform: `,`;
82
+ animation: `,`;
83
+
84
+ //Flexbox children props
85
+ flex-shrink: `,`;
86
+ flex-grow: `,`;
87
+ flex-basis: `,`;
88
+ flex: `,`;
89
+
90
+ // Text
91
+ text-align: `,`;
92
+ text-transform: `,`;
93
+ line-height: `,`;
94
+
95
+ // Cursor
96
+ cursor: `,`;
97
+ `])),function(e){var o=e.fontSize;return e.theme.fontSizes[o]||o},function(e){var o=e.theme,m=e.background;return o.colors[m]},function(e){var o=e.theme,m=e.color;return o.colors[m]},function(e){var o=e.theme,m=e.padding;return Object(d.a)("padding",m,o)},function(e){var o=e.theme,m=e.paddingTop;return Object(d.a)("padding-top",m,o)},function(e){var o=e.theme,m=e.paddingRight;return Object(d.a)("padding-right",m,o)},function(e){var o=e.theme,m=e.paddingBottom;return Object(d.a)("padding-bottom",m,o)},function(e){var o=e.theme,m=e.paddingLeft;return Object(d.a)("padding-left",m,o)},function(e){var o=e.theme,m=e.marginLeft;return Object(d.a)("margin-left",m,o)},function(e){var o=e.theme,m=e.marginRight;return Object(d.a)("margin-right",m,o)},function(e){var o=e.theme,m=e.marginTop;return Object(d.a)("margin-top",m,o)},function(e){var o=e.theme,m=e.marginBottom;return Object(d.a)("margin-bottom",m,o)},function(e){var o=e.theme;return e.hiddenS?"".concat(o.mediaQueries.tablet," { display: none; }"):void 0},function(e){var o=e.theme;return e.hiddenXS?"".concat(o.mediaQueries.mobile," { display: none; }"):void 0},function(e){var o=e.theme,m=e.hasRadius,C=e.borderRadius;return m?o.borderRadius:C},function(e){return e.borderStyle},function(e){return e.borderWidth},function(e){var o=e.borderColor;return e.theme.colors[o]},function(e){var o=e.theme,m=e.borderColor,C=e.borderStyle,z=e.borderWidth;if(m&&!C&&!z)return"1px solid ".concat(o.colors[m])},function(e){var o=e.theme,m=e.shadow;return o.shadows[m]},function(e){return e.pointerEvents},function(e){var o=e._hover,m=e.theme;return o?o(m):void 0},function(e){return e.display},function(e){return e.position},function(e){var o=e.left;return e.theme.spaces[o]||o},function(e){var o=e.right;return e.theme.spaces[o]||o},function(e){var o=e.top;return e.theme.spaces[o]||o},function(e){var o=e.bottom;return e.theme.spaces[o]||o},function(e){return e.zIndex},function(e){return e.overflow},function(e){return e.cursor},function(e){var o=e.width;return e.theme.spaces[o]||o},function(e){var o=e.maxWidth;return e.theme.spaces[o]||o},function(e){var o=e.minWidth;return e.theme.spaces[o]||o},function(e){var o=e.height;return e.theme.spaces[o]||o},function(e){var o=e.maxHeight;return e.theme.spaces[o]||o},function(e){var o=e.minHeight;return e.theme.spaces[o]||o},function(e){return e.transition},function(e){return e.transform},function(e){return e.animation},function(e){return e.shrink},function(e){return e.grow},function(e){return e.basis},function(e){return e.flex},function(e){return e.textAlign},function(e){return e.textTransform},function(e){return e.lineHeight},function(e){return e.cursor});B.defaultProps=P,B.propTypes=p},7:function(n,f,t){"use strict";var a=t(10),r=t.n(a),l=t(13),i=t.n(l);f.a=function(u,d,v){var x=d;if(Array.isArray(d)||i()(d)!=="object"||(x=[d==null?void 0:d.desktop,d==null?void 0:d.tablet,d==null?void 0:d.mobile]),x!==void 0){if(Array.isArray(x)){var E=x,s=r()(E,3),O=s[0],P=s[1],p=s[2],L="".concat(u,": ").concat(v.spaces[O],";");return P!==void 0&&(L+="".concat(v.mediaQueries.tablet,`{
98
+ `).concat(u,": ").concat(v.spaces[P],`;
99
+ }`)),p!==void 0&&(L+="".concat(v.mediaQueries.mobile,`{
100
+ `).concat(u,": ").concat(v.spaces[p],`;
101
+ }`)),L}var B=v.spaces[x]||x;return"".concat(u,": ").concat(B,";")}}}})})},81253:(_,j,c)=>{"use strict";c.r(j),c.d(j,{default:()=>ae});var g=c(32735),M=c(84968),n=c(5636),f=c(83281),t=c(83985),a=c(29270),r=c(16540),l=c(11856),i=c(44526),u=c(9808),d=c(90662),v=c(25716),x=c(95602),E=c(78330),s=c(88677),O=c.n(s),P=c(13087),p=c(13810);const B=[{intlLabel:{id:(0,p.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,p.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,p.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,p.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,p.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,p.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,p.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,p.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,p.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,p.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,p.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,p.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}}];var e=c(5173);const o=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))"),C=e.Ry().shape({email_confirmation_redirection:e.nK().when("email_confirmation",{is:!0,then:e.Z_().matches(o).required(),otherwise:e.Z_().nullable()}),email_reset_password:e.Z_(t.translatedErrors.string).matches(o,t.translatedErrors.regex).nullable()});var z=(h,b,y)=>new Promise((D,F)=>{var W=S=>{try{A(y.next(S))}catch(R){F(R)}},k=S=>{try{A(y.throw(S))}catch(R){F(R)}},A=S=>S.done?D(S.value):Promise.resolve(S.value).then(W,k);A((y=y.apply(h,b)).next())});const w=()=>z(void 0,null,function*(){const{data:h}=yield p.be.get((0,p.Gc)("advanced"));return h}),U=h=>p.be.put((0,p.Gc)("advanced"),h);var H=Object.defineProperty,G=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,X=(h,b,y)=>b in h?H(h,b,{enumerable:!0,configurable:!0,writable:!0,value:y}):h[b]=y,Z=(h,b)=>{for(var y in b||(b={}))te.call(b,y)&&X(h,y,b[y]);if(K)for(var y of K(b))ne.call(b,y)&&X(h,y,b[y]);return h},$=(h,b)=>G(h,ee(b)),V=(h,b,y)=>new Promise((D,F)=>{var W=S=>{try{A(y.next(S))}catch(R){F(R)}},k=S=>{try{A(y.throw(S))}catch(R){F(R)}},A=S=>S.done?D(S.value):Promise.resolve(S.value).then(W,k);A((y=y.apply(h,b)).next())});const re=()=>g.createElement(t.CheckPagePermissions,{permissions:P.Z.readAdvancedSettings},g.createElement(oe,null)),oe=()=>{const{formatMessage:h}=(0,n.useIntl)(),b=(0,t.useNotification)(),{lockApp:y,unlockApp:D}=(0,t.useOverlayBlocker)(),{notifyStatus:F}=(0,a.useNotifyAT)(),W=(0,M.useQueryClient)();(0,t.useFocusWhenNavigate)();const k=(0,g.useMemo)(()=>({update:P.Z.updateAdvancedSettings}),[]),{isLoading:A,allowedActions:{canUpdate:S}}=(0,t.useRBAC)(k),{status:R,data:Y}=(0,M.useQuery)("advanced",()=>w(),{onSuccess:()=>{F(h({id:(0,p.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError:()=>{b({type:"warning",message:{id:(0,p.OB)("notification.error"),defaultMessage:"An error occured"}})}}),ie=A||R!=="success",J=(0,M.useMutation)(I=>U(I),{onSuccess:()=>V(void 0,null,function*(){yield W.invalidateQueries("advanced"),b({type:"success",message:{id:(0,p.OB)("notification.success.saved"),defaultMessage:"Saved"}}),D()}),onError:()=>{b({type:"warning",message:{id:(0,p.OB)("notification.error"),defaultMessage:"An error occured"}}),D()},refetchActive:!0}),{isLoading:se}=J,le=I=>V(void 0,null,function*(){y();const N=I.email_confirmation?I.email_confirmation_redirection:"";yield J.mutateAsync($(Z({},I),{email_confirmation_redirection:N}))});return ie?g.createElement(r.Main,{"aria-busy":"true"},g.createElement(t.SettingsPageTitle,{name:h({id:(0,p.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),g.createElement(l.HeaderLayout,{title:h({id:(0,p.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),g.createElement(l.ContentLayout,null,g.createElement(t.LoadingIndicatorPage,null))):g.createElement(r.Main,{"aria-busy":se},g.createElement(t.SettingsPageTitle,{name:h({id:(0,p.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),g.createElement(f.Formik,{onSubmit:le,initialValues:Y.settings,validateOnChange:!1,validationSchema:C,enableReinitialize:!0},({errors:I,values:N,handleChange:q,isSubmitting:ue})=>g.createElement(t.Form,null,g.createElement(l.HeaderLayout,{title:h({id:(0,p.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:g.createElement(i.Button,{loading:ue,type:"submit",disabled:!S,startIcon:g.createElement(O(),null),size:"L"},h({id:"global.save",defaultMessage:"Save"}))}),g.createElement(l.ContentLayout,null,g.createElement(u.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},g.createElement(d.Stack,{spacing:4},g.createElement(x.Typography,{variant:"delta",as:"h2"},h({id:"global.settings",defaultMessage:"Settings"})),g.createElement(E.Grid,{gap:6},g.createElement(E.GridItem,{col:6,s:12},g.createElement(v.Select,{label:h({id:(0,p.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:N.default_role,hint:h({id:(0,p.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:T=>q({target:{name:"default_role",value:T}})},Y.roles.map(T=>g.createElement(v.Option,{key:T.type,value:T.type},T.name)))),B.map(T=>{let Q=N[T.name];return Q||(Q=T.type==="bool"?!1:""),g.createElement(E.GridItem,Z({key:T.name},T.size),g.createElement(t.GenericInput,$(Z({},T),{value:Q,error:I[T.name],disabled:T.name==="email_confirmation_redirection"&&N.email_confirmation===!1,onChange:q})))}))))))))},ae=re},54080:(_,j,c)=>{"use strict";c.d(j,{Z:()=>r});var g=c(43653),M=c.n(g),n=c(83985),f=c.n(n),t=(l,i,u)=>new Promise((d,v)=>{var x=O=>{try{s(u.next(O))}catch(P){v(P)}},E=O=>{try{s(u.throw(O))}catch(P){v(P)}},s=O=>O.done?d(O.value):Promise.resolve(O.value).then(x,E);s((u=u.apply(l,i)).next())});const a=M().create({baseURL:"http://localhost:1337"});a.interceptors.request.use(l=>t(void 0,null,function*(){return l.headers={Authorization:`Bearer ${n.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},l}),l=>{Promise.reject(l)}),a.interceptors.response.use(l=>l,l=>{var i;throw((i=l.response)==null?void 0:i.status)===401&&(n.auth.clearAppStorage(),window.location.reload()),l});const r=a},13810:(_,j,c)=>{"use strict";c.d(j,{be:()=>g.Z,YX:()=>f,Gc:()=>r,OB:()=>l.Z});var g=c(54080),M=c(92891);const f=i=>Object.keys(i).reduce((u,d)=>{const v=i[d].controllers,x=Object.keys(v).reduce((E,s)=>((0,M.isEmpty)(v[s])||(E[s]=v[s]),E),{});return(0,M.isEmpty)(x)||(u[d]={controllers:x}),u},{});var t=c(46354);const r=i=>`/${t.Z}/${i}`;var l=c(39650)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{56555:($,C,a)=>{a.r(C),a.d(C,{default:()=>Me});var e=a(32735),h=a(84968),T=a(5636),o=a(83985),U=a(29270),B=a(16540),P=a(11856),u=a(13087),s=a(13810),g=(l,n,t)=>new Promise((c,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?c(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const I=()=>g(void 0,null,function*(){const{data:l}=yield s.be.get((0,s.Gc)("email-templates"));return l}),O=l=>s.be.put((0,s.Gc)("email-templates"),l);var L=a(60216),i=a.n(L),r=a(53214),y=a(28004),b=a(95602),V=a(20763),W=a(78752),ee=a(95717),K=a.n(ee),te=a(23101),ae=a.n(te),le=a(88677),ne=a.n(le),se=Object.defineProperty,Q=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(l,n,t)=>n in l?se(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,j=(l,n)=>{for(var t in n||(n={}))oe.call(n,t)&&w(l,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&w(l,t,n[t]);return l};const z=({canUpdate:l,onEditClick:n})=>{const{formatMessage:t}=(0,T.useIntl)();return e.createElement(r.Table,{colCount:3,rowCount:3},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(r.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,s.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(r.Tbody,null,e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("reset_password")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ae(),{"aria-label":t({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("reset_password"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)}))),e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("email_confirmation")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ne(),{"aria-label":t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("email_confirmation"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)})))))};z.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};const ie=z;var me=a(83281),F=a(4122),S=a(78330),X=a(44526),N=a(71657),de=a(90353),M=a(5173);const ue=M.Ry().shape({options:M.Ry().shape({from:M.Ry().shape({name:M.Z_().required(o.translatedErrors.required),email:M.Z_().email(o.translatedErrors.email).required(o.translatedErrors.required)}).required(),response_email:M.Z_().email(o.translatedErrors.email),object:M.Z_().required(o.translatedErrors.required),message:M.Z_().required(o.translatedErrors.required)}).required(o.translatedErrors.required)}),Y=({template:l,onToggle:n,onSubmit:t})=>{const{formatMessage:c}=(0,T.useIntl)();return e.createElement(F.ModalLayout,{onClose:n,labelledBy:`${c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${c({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(F.ModalHeader,null,e.createElement(N.Breadcrumbs,{label:`${c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${c({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(N.Crumb,null,c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(N.Crumb,null,c({id:(0,s.OB)(l.display),defaultMessage:l.display})))),e.createElement(me.Formik,{onSubmit:t,initialValues:l,validateOnChange:!1,validationSchema:ue,enableReinitialize:!0},({errors:m,values:p,handleChange:E,isSubmitting:v})=>{var d,f,A,G,D,Z,H;return e.createElement(o.Form,null,e.createElement(F.ModalBody,null,e.createElement(S.Grid,{gap:5},e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:(f=(d=m==null?void 0:m.options)==null?void 0:d.from)==null?void 0:f.name,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:(G=(A=m==null?void 0:m.options)==null?void 0:A.from)==null?void 0:G.email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:(D=m==null?void 0:m.options)==null?void 0:D.response_email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:(Z=m==null?void 0:m.options)==null?void 0:Z.object,type:"text"})),e.createElement(S.GridItem,{col:12,s:12},e.createElement(de.Textarea,{label:c({id:(0,s.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:((H=m==null?void 0:m.options)==null?void 0:H.message)&&c({id:m.options.message,defaultMessage:m.options.message})})))),e.createElement(F.ModalFooter,{startActions:e.createElement(X.Button,{onClick:n,variant:"tertiary"},"Cancel"),endActions:e.createElement(X.Button,{loading:v,type:"submit"},"Finish")}))}))};Y.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};const ce=Y;var pe=Object.defineProperty,Ee=Object.defineProperties,fe=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,k=(l,n,t)=>n in l?pe(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,ye=(l,n)=>{for(var t in n||(n={}))ve.call(n,t)&&k(l,t,n[t]);if(J)for(var t of J(n))ge.call(n,t)&&k(l,t,n[t]);return l},he=(l,n)=>Ee(l,fe(n)),Te=(l,n,t)=>new Promise((c,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?c(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const Pe=()=>e.createElement(o.CheckPagePermissions,{permissions:u.Z.readEmailTemplates},e.createElement(Oe,null)),Oe=()=>{const{formatMessage:l}=(0,T.useIntl)(),{trackUsage:n}=(0,o.useTracking)(),{notifyStatus:t}=(0,U.useNotifyAT)(),c=(0,o.useNotification)(),{lockApp:m,unlockApp:p}=(0,o.useOverlayBlocker)(),E=(0,e.useRef)(n),v=(0,h.useQueryClient)();(0,o.useFocusWhenNavigate)();const[d,f]=(0,e.useState)(!1),[A,G]=(0,e.useState)(null),D=(0,e.useMemo)(()=>({update:u.Z.updateEmailTemplates}),[]),{isLoading:Z,allowedActions:{canUpdate:H}}=(0,o.useRBAC)(D),{status:Be,data:q}=(0,h.useQuery)("email-templates",()=>I(),{onSuccess:()=>{t(l({id:(0,s.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError:()=>{c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),be=Z||Be!=="success",x=()=>{f(R=>!R)},Re=R=>{G(R),x()},_=(0,h.useMutation)(R=>O({"email-templates":R}),{onSuccess:()=>Te(void 0,null,function*(){yield v.invalidateQueries("email-templates"),c({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),x()}),onError:()=>{c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:Ce}=_,Ie=R=>{m(),E.current("willEditEmailTemplates");const Le=he(ye({},q),{[A]:R});_.mutate(Le)};return be?e.createElement(B.Main,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null))):e.createElement(B.Main,{"aria-busy":Ce},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(ie,{onEditClick:Re,canUpdate:H}),d&&e.createElement(ce,{template:q[A],onToggle:x,onSubmit:Ie})))},Me=Pe},54080:($,C,a)=>{a.d(C,{Z:()=>P});var e=a(43653),h=a.n(e),T=a(83985),o=a.n(T),U=(u,s,g)=>new Promise((I,O)=>{var L=y=>{try{r(g.next(y))}catch(b){O(b)}},i=y=>{try{r(g.throw(y))}catch(b){O(b)}},r=y=>y.done?I(y.value):Promise.resolve(y.value).then(L,i);r((g=g.apply(u,s)).next())});const B=h().create({baseURL:"http://localhost:1337"});B.interceptors.request.use(u=>U(void 0,null,function*(){return u.headers={Authorization:`Bearer ${T.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},u}),u=>{Promise.reject(u)}),B.interceptors.response.use(u=>u,u=>{var s;throw((s=u.response)==null?void 0:s.status)===401&&(T.auth.clearAppStorage(),window.location.reload()),u});const P=B},13810:($,C,a)=>{a.d(C,{be:()=>e.Z,YX:()=>o,Gc:()=>P,OB:()=>u.Z});var e=a(54080),h=a(92891);const o=s=>Object.keys(s).reduce((g,I)=>{const O=s[I].controllers,L=Object.keys(O).reduce((i,r)=>((0,h.isEmpty)(O[r])||(i[r]=O[r]),i),{});return(0,h.isEmpty)(L)||(g[I]={controllers:L}),g},{});var U=a(46354);const P=s=>`/${U.Z}/${s}`;var u=a(39650)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[6460],{39229:e=>{e.exports=JSON.parse(`{"BoundRoute.title":"Bound route to","EditForm.inputSelect.description.role":"It will attach the new authenticated user to the selected role.","EditForm.inputSelect.label.role":"Default role for authenticated users","EditForm.inputToggle.description.email":"Disallow the user to create multiple accounts using the same email address with different authentication providers.","EditForm.inputToggle.description.email-confirmation":"When enabled (ON), new registered users receive a confirmation email.","EditForm.inputToggle.description.email-confirmation-redirection":"After you confirmed your email, choose where you will be redirected.","EditForm.inputToggle.description.email-reset-password":"URL of your application's reset password page","EditForm.inputToggle.description.sign-up":"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.","EditForm.inputToggle.label.email":"One account per email address","EditForm.inputToggle.label.email-confirmation":"Enable email confirmation","EditForm.inputToggle.label.email-confirmation-redirection":"Redirection url","EditForm.inputToggle.label.email-reset-password":"Reset password page","EditForm.inputToggle.label.sign-up":"Enable sign-ups","EditForm.inputToggle.placeholder.email-confirmation-redirection":"ex: https://yourfrontend.com/email-confirmation-redirection","EditForm.inputToggle.placeholder.email-reset-password":"ex: https://yourfrontend.com/reset-password","EditPage.form.roles":"Role details","Email.template.data.loaded":"Email templates has been loaded","Email.template.email_confirmation":"Email address confirmation","Email.template.form.edit.label":"Edit a template","Email.template.table.action.label":"action","Email.template.table.icon.label":"icon","Email.template.table.name.label":"name","Form.advancedSettings.data.loaded":"Advanced settings data has been loaded","HeaderNav.link.advancedSettings":"Advanced settings","HeaderNav.link.emailTemplates":"Email templates","HeaderNav.link.providers":"Providers","Plugin.permissions.plugins.description":"Define all allowed actions for the {name} plugin.","Plugins.header.description":"Only actions bound by a route are listed below.","Plugins.header.title":"Permissions","Policies.header.hint":"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route","Policies.header.title":"Advanced settings","PopUpForm.Email.email_templates.inputDescription":"If you're unsure how to use variables, {link}","PopUpForm.Email.link.documentation":"check out our documentation.","PopUpForm.Email.options.from.email.label":"Shipper email","PopUpForm.Email.options.from.email.placeholder":"kai@doe.com","PopUpForm.Email.options.from.name.label":"Shipper name","PopUpForm.Email.options.from.name.placeholder":"Kai Doe","PopUpForm.Email.options.message.label":"Message","PopUpForm.Email.options.object.label":"Subject","PopUpForm.Email.options.object.placeholder":"Please confirm your email address for %APP_NAME%","PopUpForm.Email.options.response_email.label":"Response email","PopUpForm.Email.options.response_email.placeholder":"kai@doe.com","PopUpForm.Providers.enabled.description":"If disabled, users won't be able to use this provider.","PopUpForm.Providers.enabled.label":"Enable","PopUpForm.Providers.key.label":"Client ID","PopUpForm.Providers.key.placeholder":"TEXT","PopUpForm.Providers.redirectURL.front-end.label":"The redirect URL to your front-end app","PopUpForm.Providers.redirectURL.label":"The redirect URL to add in your {provider} application configurations","PopUpForm.Providers.secret.label":"Client Secret","PopUpForm.Providers.secret.placeholder":"TEXT","PopUpForm.Providers.subdomain.label":"Host URI (Subdomain)","PopUpForm.Providers.subdomain.placeholder":"my.subdomain.com","PopUpForm.header.edit.email-templates":"Edit email template","PopUpForm.header.edit.providers":"Edit Provider","Providers.data.loaded":"Providers have been loaded","Providers.image":"Image","Providers.status":"Status","Roles.empty":"You don't have any roles yet.","Roles.empty.search":"No roles match the search.","Settings.roles.deleted":"Role deleted","Settings.roles.edited":"Role edited","Settings.section-label":"Users & Permissions plugin","components.Input.error.validation.email":"This is an invalid email","components.Input.error.validation.json":"This doesn't match the JSON format","components.Input.error.validation.max":"The value is too high.","components.Input.error.validation.maxLength":"The value is too long.","components.Input.error.validation.min":"The value is too low.","components.Input.error.validation.minLength":"The value is too short.","components.Input.error.validation.minSupMax":"Can't be superior","components.Input.error.validation.regex":"The value does not match the regex.","components.Input.error.validation.required":"This value is required.","components.Input.error.validation.unique":"This value is already used.","notification.success.submit":"Settings have been updated","page.title":"Settings - Roles","plugin.description.long":"Protect your API with a full authentication process based on JWT. This plugin comes also with an ACL strategy that allows you to manage the permissions between the groups of users.","plugin.description.short":"Protect your API with a full authentication process based on JWT.","plugin.name":"Users & Permissions Plugin","popUpWarning.button.cancel":"Cancel","popUpWarning.button.confirm":"Confirm","popUpWarning.title":"Please confirm","popUpWarning.warning.cancel":"Are you sure you want to cancel your modifications?"}`)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3702],{63880:e=>{e.exports=JSON.parse('{"BoundRoute.title":"Wywo\u0142ywanie","EditForm.inputSelect.description.role":"Po\u0142\u0105czy nowego uwierzytelnionego u\u017Cytkownika z wybran\u0105 rol\u0105.","EditForm.inputSelect.label.role":"Domy\u015Blna rola dla uwierzytelnionych u\u017Cytkownik\xF3w","EditForm.inputToggle.description.email":"Nie zezwalaj u\u017Cytkownikowi na tworzenie wielu kont za pomoc\u0105 tego samego adresu e-mail u r\xF3\u017Cnych dostawc\xF3w uwierzytelniania.","EditForm.inputToggle.description.email-confirmation":"Gdy w\u0142\u0105czone (ON), nowo zarejestrowani uzytkownicy otrzymaj\u0105 wiadomo\u015B\u0107 potwierdzaj\u0105c\u0105.","EditForm.inputToggle.description.email-confirmation-redirection":"Po potwierdzeniu adresu email, wybierz gdzie zostaniesz przekierowany.","EditForm.inputToggle.description.email-reset-password":"Adres URL strony resetowania has\u0142a aplikacji","EditForm.inputToggle.description.sign-up":"Po wy\u0142\u0105czeniu (OFF) proces rejestracji jest zabroniony. Nikt nie mo\u017Ce ju\u017C do\u0142\u0105czy\u0107 bez wzgl\u0119du na u\u017Cywanego dostawc\u0119.","EditForm.inputToggle.label.email":"Jedno konto na adres email","EditForm.inputToggle.label.email-confirmation":"Zezw\xF3l na potwierdzenie adresu email","EditForm.inputToggle.label.email-confirmation-redirection":"Url przekierowania","EditForm.inputToggle.label.email-reset-password":"Strona resetowania has\u0142a","EditForm.inputToggle.label.sign-up":"W\u0142\u0105cz mo\u017Cliwo\u015B\u0107 rejestracji","EditForm.inputToggle.placeholder.email-confirmation-redirection":"ex: https://yourfrontend.com/confirmation-redirection","EditForm.inputToggle.placeholder.email-reset-password":"ex: https://yourfrontend.com/reset-password","EditPage.form.roles":"Szczeg\xF3\u0142y roli","Email.template.data.loaded":"Szablon email zosta\u0142 za\u0142adowany","Email.template.email_confirmation":"Potwierdzenie adresu email","Email.template.form.edit.label":"Edytuj szablon","Email.template.table.action.label":"akcja","Email.template.table.icon.label":"ikonka","Email.template.table.name.label":"nazwa","Form.advancedSettings.data.loaded":"Ustawienia zaawansowane zosta\u0142y za\u0142adowane","HeaderNav.link.advancedSettings":"Zaawansowane","HeaderNav.link.emailTemplates":"Szablony e-mail","HeaderNav.link.providers":"Dostawcy","Plugin.permissions.plugins.description":"Okre\u015Bl dozwolone dzia\u0142ania dla pluginu {name}.","Plugins.header.description":"Jedynie akcje zwi\u0105zane z wywo\u0142ywaniami s\u0105 wymienione poni\u017Cej.","Plugins.header.title":"Uprawnienia","Policies.header.hint":"Wybierz dzia\u0142ania aplikacji lub dzia\u0142ania pluginu i kliknij ikon\u0119 ko\u0142a z\u0119batego, aby wy\u015Bwietli\u0107 wywo\u0142ywania","Policies.header.title":"Zaawansowane","PopUpForm.Email.email_templates.inputDescription":"Nie wiesz jak skonfigurowa\u0107 zmienne? {link}","PopUpForm.Email.link.documentation":"sprawd\u017A dokumentacj\u0119.","PopUpForm.Email.options.from.email.label":"Email nadawcy","PopUpForm.Email.options.from.email.placeholder":"jannowak@gmail.com","PopUpForm.Email.options.from.name.label":"Nazwa nadawcy","PopUpForm.Email.options.from.name.placeholder":"Jan Nowak","PopUpForm.Email.options.message.label":"Wiadomo\u015B\u0107","PopUpForm.Email.options.object.label":"Temat","PopUpForm.Email.options.object.placeholder":"Prosz\u0119 potwierd\u017A adres email dla %APP_NAME%","PopUpForm.Email.options.response_email.label":"Email zwrotny","PopUpForm.Email.options.response_email.placeholder":"jannowak@gmail.com","PopUpForm.Providers.enabled.description":"W przypadku wy\u0142\u0105czenia, u\u017Cytkownicy nie b\u0119d\u0105 mogli skorzysta\u0107 z tego dostawcy.","PopUpForm.Providers.enabled.label":"W\u0142\u0105czony","PopUpForm.Providers.key.label":"ID klienta","PopUpForm.Providers.key.placeholder":"TEKST","PopUpForm.Providers.redirectURL.front-end.label":"Adres przekierowania do w\u0142asnej aplikacji","PopUpForm.Providers.redirectURL.label":"Adres przekierowania do dodania w twoich ustawieniach aplikacji: {provider}","PopUpForm.Providers.secret.label":"Klucz sekretny klienta","PopUpForm.Providers.secret.placeholder":"TEKST","PopUpForm.Providers.subdomain.label":"Host URI (Subdomain)","PopUpForm.Providers.subdomain.placeholder":"my.subdomain.com","PopUpForm.header.edit.email-templates":"Zmie\u0144 szablony e-mail","PopUpForm.header.edit.providers":"Edytuj dostawc\u0119","Providers.data.loaded":"Dostawcy zostali za\u0142adowani","Providers.image":"Obrazek","Providers.status":"Status","Roles.empty":"Nie masz jeszcze \u017Cadnych r\xF3l.","Roles.empty.search":"\u017Badne role nie pasuj\u0105 do wyszukiwania.","Settings.roles.deleted":"Rola usuni\u0119ta","Settings.roles.edited":"Rola edytowana","Settings.section-label":"U\u017Cytkownicy i Uprawnienia","components.Input.error.validation.email":"Ten email jest niepoprawny","components.Input.error.validation.json":"Nie pasuje do formatu JSON","components.Input.error.validation.max":"Warto\u015B\u0107 zbyt du\u017Ca.","components.Input.error.validation.maxLength":"Warto\u015B\u0107 zbyt d\u0142uga.","components.Input.error.validation.min":"Warto\u015B\u0107 zbyt ma\u0142a.","components.Input.error.validation.minLength":"Warto\u015B\u0107 zbyt kr\xF3tka.","components.Input.error.validation.minSupMax":"Nie mo\u017Ce by\u0107 wy\u017Cszy","components.Input.error.validation.regex":"Warto\u015B\u0107 nie pasuje do regexa.","components.Input.error.validation.required":"Warto\u015B\u0107 wymagana.","components.Input.error.validation.unique":"Warto\u015B\u0107 ju\u017C u\u017Cywana.","notification.success.submit":"Ustawienia zosta\u0142y zaktualizowane","page.title":"Ustawienia - Role","plugin.description.long":"Chro\u0144 API za pomoc\u0105 procesu pe\u0142nego uwierzytelniania opartego na JWT. Ten plugin zawiera r\xF3wnie\u017C strategi\u0119 ACL, kt\xF3ra pozwala zarz\u0105dza\u0107 uprawnieniami mi\u0119dzy grupami u\u017Cytkownik\xF3w.","plugin.description.short":"Chro\u0144 API za pomoc\u0105 procesu pe\u0142nego uwierzytelniania opartego na JWT","plugin.name":"Role i Uprawnienia","popUpWarning.button.cancel":"Anuluj","popUpWarning.button.confirm":"Potwierd\u017A","popUpWarning.title":"Prosz\u0119 potwierd\u017A","popUpWarning.warning.cancel":"Czy jeste\u015B pewny, \u017Ce chcesz anulowa\u0107 zmiany?"}')}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{36455:(ee,S,n)=>{n.r(S),n.d(S,{ProvidersPage:()=>he,default:()=>Ke});var e=n(32735),R=n(5636),i=n(83985),j=n(23973),Z=n.n(j),I=n(23940),w=n.n(I),f=n(16925),y=n(11856),E=n(16540),F=n(29270),u=n(53214),b=n(95602),B=n(28004),T=n(20763),L=n(95717),x=n.n(L),W=n(84968),o=n(5173),c=n(13810);const te={id:(0,c.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"},H={id:(0,c.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},V={id:(0,c.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ae={id:(0,c.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},ne={id:(0,c.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},A={id:(0,c.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},se={id:(0,c.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},G={email:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required)})},providers:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:se,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:ne,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:se,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,c.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,c.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:ne,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})}};var be=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const Ee=t=>be(void 0,null,function*(){try{const{data:r}=yield c.be.get((0,c.Gc)("providers"));return r}catch(r){throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Oe=t=>c.be.put((0,c.Gc)("providers"),t);var Me=n(92891);const Te=t=>(0,Me.sortBy)(Object.keys(t).reduce((r,a)=>{const{icon:g,enabled:m,subdomain:P}=t[a],p=g==="envelope"?["fas","envelope"]:["fab",g];return P!==void 0?r.push({name:a,icon:p,enabled:m,subdomain:P}):r.push({name:a,icon:p,enabled:m}),r},[]),"name");var oe=n(13087),le=n(44526),Le=n(90662),ie=n(71657),de=n(78330),N=n(4122),Re=n(60216),s=n.n(Re),Be=n(83281),Ce=n(63865),Se=n(37178),Ie=Object.defineProperty,ue=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ce=(t,r,a)=>r in t?Ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,X=(t,r)=>{for(var a in r||(r={}))Fe.call(r,a)&&ce(t,a,r[a]);if(ue)for(var a of ue(r))Ue.call(r,a)&&ce(t,a,r[a]);return t};const $=({description:t,disabled:r,intlLabel:a,error:g,name:m,onChange:P,placeholder:p,providerToEditName:h,type:d,value:l})=>{const{formatMessage:O}=(0,R.useIntl)(),C=m==="noName"?`${strapi.backendURL}/api/connect/${h}/callback`:l,U=O({id:a.id,defaultMessage:a.defaultMessage},X({provider:h},a.values)),M=t?O({id:t.id,defaultMessage:t.defaultMessage},X({provider:h},t.values)):"";if(d==="bool")return e.createElement(Ce.ToggleInput,{"aria-label":m,checked:l,disabled:r,hint:M,label:U,name:m,offLabel:O({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:O({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:D=>{P({target:{name:m,value:D.target.checked}})}});const k=p?O({id:p.id,defaultMessage:p.defaultMessage},X({},p.values)):"",Y=g?O({id:g,defaultMessage:g}):"";return e.createElement(Se.TextInput,{"aria-label":m,disabled:r,error:Y,label:U,name:m,onChange:P,placeholder:k,type:d,value:C})};$.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},$.propTypes={description:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}),disabled:s().bool,error:s().string,intlLabel:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}).isRequired,name:s().string.isRequired,onChange:s().func.isRequired,placeholder:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}),providerToEditName:s().string.isRequired,type:s().string.isRequired,value:s().oneOfType([s().bool,s().string])};const Ze=$;var we=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,pe=(t,r,a)=>r in t?we(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Ne=(t,r)=>{for(var a in r||(r={}))je.call(r,a)&&pe(t,a,r[a]);if(me)for(var a of me(r))Ae.call(r,a)&&pe(t,a,r[a]);return t},ze=(t,r)=>xe(t,De(r));const K=({headerBreadcrumbs:t,initialData:r,isSubmiting:a,layout:g,isOpen:m,onSubmit:P,onToggle:p,providerToEditName:h})=>{const{formatMessage:d}=(0,R.useIntl)();return m?e.createElement(N.ModalLayout,{onClose:p,labelledBy:"title"},e.createElement(N.ModalHeader,null,e.createElement(ie.Breadcrumbs,{label:t.join(", ")},t.map(l=>e.createElement(ie.Crumb,{key:l},l)))),e.createElement(Be.Formik,{onSubmit:l=>P(l),initialValues:r,validationSchema:g.schema,validateOnChange:!1},({errors:l,handleChange:O,values:C})=>e.createElement(i.Form,null,e.createElement(N.ModalBody,null,e.createElement(Le.Stack,{spacing:1},e.createElement(de.Grid,{gap:5},g.form.map(U=>U.map(M=>e.createElement(de.GridItem,{key:M.name,col:M.size,xs:12},e.createElement(Ze,ze(Ne({},M),{error:l[M.name],onChange:O,value:C[M.name],providerToEditName:h})))))))),e.createElement(N.ModalFooter,{startActions:e.createElement(le.Button,{variant:"tertiary",onClick:p,type:"button"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(e.Fragment,null,e.createElement(le.Button,{type:"submit",loading:a},d({id:"global.save",defaultMessage:"Save"})))})))):null};K.defaultProps={initialData:null,providerToEditName:null},K.propTypes={headerBreadcrumbs:s().arrayOf(s().string).isRequired,initialData:s().object,layout:s().shape({form:s().arrayOf(s().array),schema:s().object}).isRequired,isOpen:s().bool.isRequired,isSubmiting:s().bool.isRequired,onSubmit:s().func.isRequired,onToggle:s().func.isRequired,providerToEditName:s().string};const qe=K;var We=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,fe=(t,r,a)=>r in t?We(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Q=(t,r)=>{for(var a in r||(r={}))Ge.call(r,a)&&fe(t,a,r[a]);if(ve)for(var a of ve(r))Xe.call(r,a)&&fe(t,a,r[a]);return t},$e=(t,r)=>He(t,Ve(r)),ge=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const he=()=>{const{formatMessage:t}=(0,R.useIntl)();(0,i.useFocusWhenNavigate)();const{notifyStatus:r}=(0,F.useNotifyAT)(),a=(0,W.useQueryClient)(),{trackUsage:g}=(0,i.useTracking)(),m=(0,e.useRef)(g),[P,p]=(0,e.useState)(!1),[h,d]=(0,e.useState)(!1),[l,O]=(0,e.useState)(null),C=(0,i.useNotification)(),{lockApp:U,unlockApp:M}=(0,i.useOverlayBlocker)(),k=(0,e.useMemo)(()=>({update:oe.Z.updateProviders}),[]),{isLoading:Y,allowedActions:{canUpdate:D}}=(0,i.useRBAC)(k),{isLoading:Qe,data:z,isFetching:ke}=(0,W.useQuery)("get-providers",()=>Ee(C),{onSuccess:()=>{r(t({id:(0,c.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ye=Qe||ke,Je=(0,W.useMutation)(Oe,{onSuccess:()=>ge(void 0,null,function*(){yield a.invalidateQueries("get-providers"),C({type:"info",message:{id:(0,c.OB)("notification.success.submit")}}),m.current("didEditAuthenticationProvider"),d(!1),J(),M()}),onError:()=>{C({type:"warning",message:{id:"notification.error"}}),M(),d(!1)},refetchActive:!1}),q=(0,e.useMemo)(()=>Te(z),[z]),_e=q.length,ye=(0,e.useMemo)(()=>{if(!l)return!1;const v=q.find(_=>_.name===l);return Z()(v,"subdomain")},[q,l]),et=t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),tt=(0,e.useMemo)(()=>l==="email"?G.email:ye?G.providersWithSubdomain:G.providers,[l,ye]),J=()=>{p(v=>!v)},Pe=v=>{D&&(O(v.name),J())},rt=v=>ge(void 0,null,function*(){d(!0),U(),m.current("willEditAuthenticationProvider");const _=$e(Q({},z),{[l]:v});Je.mutate({providers:_})});return e.createElement(y.Layout,null,e.createElement(i.SettingsPageTitle,{name:et}),e.createElement(E.Main,null,e.createElement(y.HeaderLayout,{title:t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ye||Y?e.createElement(i.LoadingIndicatorPage,null):e.createElement(y.ContentLayout,null,e.createElement(u.Table,{colCount:4,rowCount:_e+1},e.createElement(u.Thead,null,e.createElement(u.Tr,null,e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},e.createElement(B.VisuallyHidden,null,t({id:(0,c.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,c.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma"},e.createElement(B.VisuallyHidden,null,t({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(u.Tbody,null,q.map(v=>e.createElement(u.Tr,Q({key:v.name},(0,i.onRowClick)({fn:()=>Pe(v),condition:D})),e.createElement(u.Td,{width:""},e.createElement(f.G,{icon:v.icon})),e.createElement(u.Td,{width:"45%"},e.createElement(b.Typography,{fontWeight:"semiBold",textColor:"neutral800"},v.name)),e.createElement(u.Td,{width:"65%"},e.createElement(b.Typography,{textColor:v.enabled?"success600":"danger600","data-testid":`enable-${v.name}`},v.enabled?t({id:"global.enabled",defaultMessage:"Enabled"}):t({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(u.Td,Q({},i.stopPropagation),D&&e.createElement(T.IconButton,{onClick:()=>Pe(v),noBorder:!0,icon:e.createElement(x(),null),label:"Edit"})))))))),e.createElement(qe,{initialData:z[l],isOpen:P,isSubmiting:h,layout:tt,headerBreadcrumbs:[t({id:(0,c.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),w()(l)],onToggle:J,onSubmit:rt,providerToEditName:l}))},Ke=()=>e.createElement(i.CheckPagePermissions,{permissions:oe.Z.readProviders},e.createElement(he,null))},54080:(ee,S,n)=>{n.d(S,{Z:()=>w});var e=n(43653),R=n.n(e),i=n(83985),j=n.n(i),Z=(f,y,E)=>new Promise((F,u)=>{var b=L=>{try{T(E.next(L))}catch(x){u(x)}},B=L=>{try{T(E.throw(L))}catch(x){u(x)}},T=L=>L.done?F(L.value):Promise.resolve(L.value).then(b,B);T((E=E.apply(f,y)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(f=>Z(void 0,null,function*(){return f.headers={Authorization:`Bearer ${i.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),I.interceptors.response.use(f=>f,f=>{var y;throw((y=f.response)==null?void 0:y.status)===401&&(i.auth.clearAppStorage(),window.location.reload()),f});const w=I},13810:(ee,S,n)=>{n.d(S,{be:()=>e.Z,YX:()=>j,Gc:()=>w,OB:()=>f.Z});var e=n(54080),R=n(92891);const j=y=>Object.keys(y).reduce((E,F)=>{const u=y[F].controllers,b=Object.keys(u).reduce((B,T)=>((0,R.isEmpty)(u[T])||(B[T]=u[T]),B),{});return(0,R.isEmpty)(b)||(E[F]={controllers:b}),E},{});var Z=n(46354);const w=y=>`/${Z.Z}/${y}`;var f=n(39650)}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{79634:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(10938),b=a(42296),T=a(8091),_=a(44526),D=a(11856),E=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),v=a(5636),A=a(84968),V=a(58469),x=a(33234),re=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Je=(r,e)=>re(void 0,null,function*(){try{const{data:t}=yield x.be.get((0,x.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw r({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),qe=(r,e)=>re(void 0,null,function*(){try{yield x.be.delete(`${(0,x.Gc)("roles")}/${r}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var et=a(60216),h=a.n(et),se=a(20763),Q=a(19192),tt=a(95717),rt=a.n(tt),st=a(76470),nt=a.n(st),ot=Object.defineProperty,ne=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,oe=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ae=(r,e)=>{for(var t in e||(e={}))at.call(e,t)&&oe(r,t,e[t]);if(ne)for(var t of ne(e))it.call(e,t)&&oe(r,t,e[t]);return r};const X=({sortedRoles:r,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,v.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},y=m=>{d(`/settings/${b.Z}/roles/${m}`)};return s.createElement(f.Tbody,null,r==null?void 0:r.map(m=>s.createElement(f.Tr,ae({key:m.name},(0,p.onRowClick)({fn:()=>y(m.id)})),s.createElement(f.Td,{width:"20%"},s.createElement(P.Typography,null,m.name)),s.createElement(f.Td,{width:"50%"},s.createElement(P.Typography,null,m.description)),s.createElement(f.Td,{width:"30%"},s.createElement(P.Typography,null,`${m.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),s.createElement(f.Td,null,s.createElement(Q.Flex,ae({justifyContent:"end"},p.stopPropagation),s.createElement(p.CheckPermissions,{permissions:t.updateRole},s.createElement(se.IconButton,{onClick:()=>y(m.id),noBorder:!0,icon:s.createElement(rt(),null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${m.name}`})})),c(m)&&s.createElement(p.CheckPermissions,{permissions:t.deleteRole},s.createElement(se.IconButton,{onClick:()=>g(m.id),noBorder:!0,icon:s.createElement(nt(),null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${m.name}`})})))))))},lt=X;X.defaultProps={canDelete:!1},X.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ie=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ct=()=>{const{trackUsage:r}=(0,p.useTracking)(),{formatMessage:e}=(0,v.useIntl)(),{push:t}=(0,C.useHistory)(),i=(0,p.useNotification)(),{notifyStatus:u}=(0,B.useNotifyAT)(),[{query:l}]=(0,p.useQueryParams)(),d=(l==null?void 0:l._q)||"",[o,n]=(0,s.useState)(!1),[c,g]=(0,s.useState)(!1),[y,m]=(0,s.useState)();(0,p.useFocusWhenNavigate)();const R=(0,A.useQueryClient)(),O=(0,s.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:w,allowedActions:{canRead:M,canDelete:k}}=(0,p.useRBAC)(O),{isLoading:Ts,data:{roles:ee},isFetching:Ds}=(0,A.useQuery)("get-roles",()=>Je(i,u),{initialData:{},enabled:M}),Ye=Ts||Ds,As=()=>{r("willCreateRole"),t(`/settings/${b.Z}/roles/new`)},Ls=()=>{n(!o)},Ss={roles:{id:(0,x.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,x.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},ws=e({id:"global.roles",defaultMessage:"Roles"}),Ms=(0,A.useMutation)(Bs=>qe(Bs,i),{onSuccess:()=>ie(void 0,null,function*(){yield R.invalidateQueries("get-roles")})}),Us=()=>ie(void 0,null,function*(){g(!0),yield Ms.mutateAsync(y),n(!o),g(!1)}),H=(0,V.ZP)(ee||[],d,{keys:["name","description"]}),Is=d&&!H.length?"search":"roles",js=4,_s=((ee==null?void 0:ee.length)||0)+1;return s.createElement(D.Layout,null,s.createElement(p.SettingsPageTitle,{name:ws}),s.createElement(E.Main,{"aria-busy":Ye},s.createElement(D.HeaderLayout,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:s.createElement(p.CheckPermissions,{permissions:T.Z.createRole},s.createElement(_.Button,{onClick:As,startIcon:s.createElement(N(),null),size:"L"},e({id:(0,x.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),s.createElement(D.ActionLayout,{startActions:s.createElement(p.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),s.createElement(D.ContentLayout,null,!M&&s.createElement(p.NoPermissions,null),(Ye||w)&&s.createElement(p.LoadingIndicatorPage,null),M&&H&&(H==null?void 0:H.length)?s.createElement(f.Table,{colCount:js,rowCount:_s},s.createElement(f.Thead,null,s.createElement(f.Tr,null,s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),s.createElement(f.Th,null,s.createElement(U.VisuallyHidden,null,e({id:"global.actions",defaultMessage:"Actions"}))))),s.createElement(lt,{sortedRoles:H,canDelete:k,permissions:T.Z,setRoleToDelete:m,onDelete:[o,n]})):s.createElement(p.EmptyStateLayout,{content:Ss[Is]})),s.createElement(p.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Us,onToggleDialog:Ls,isOpen:o})))},ut=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(ct,null));var le=a(83281),L=a(90662),I=a(9808),ce=a(37178),ue=a(90353),dt=a(98599),pt=a.n(dt),mt=a(88677),de=a.n(mt),S=a(78330),Z=a(71810),j=a(92891);const pe=(0,s.createContext)({}),me=({children:r,value:e})=>s.createElement(pe.Provider,{value:e},r),Y=()=>(0,s.useContext)(pe);me.propTypes={children:h().node.isRequired,value:h().object.isRequired};var W=a(19615),gt=a(37213),ft=a.n(gt),Pt=a(15738),yt=a.n(Pt);const Et=r=>{switch(r){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"}}},vt=(0,W.default)(I.Box)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{67872:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(83985),b=a(46354),T=a(13087),_=a(44526),D=a(11856),E=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),v=a(5636),A=a(84968),V=a(58469),x=a(13810),re=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Je=(r,e)=>re(void 0,null,function*(){try{const{data:t}=yield x.be.get((0,x.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw r({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),qe=(r,e)=>re(void 0,null,function*(){try{yield x.be.delete(`${(0,x.Gc)("roles")}/${r}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var et=a(60216),h=a.n(et),se=a(20763),Q=a(19192),tt=a(95717),rt=a.n(tt),st=a(76470),nt=a.n(st),ot=Object.defineProperty,ne=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,oe=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ae=(r,e)=>{for(var t in e||(e={}))at.call(e,t)&&oe(r,t,e[t]);if(ne)for(var t of ne(e))it.call(e,t)&&oe(r,t,e[t]);return r};const X=({sortedRoles:r,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,v.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},y=m=>{d(`/settings/${b.Z}/roles/${m}`)};return s.createElement(f.Tbody,null,r==null?void 0:r.map(m=>s.createElement(f.Tr,ae({key:m.name},(0,p.onRowClick)({fn:()=>y(m.id)})),s.createElement(f.Td,{width:"20%"},s.createElement(P.Typography,null,m.name)),s.createElement(f.Td,{width:"50%"},s.createElement(P.Typography,null,m.description)),s.createElement(f.Td,{width:"30%"},s.createElement(P.Typography,null,`${m.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),s.createElement(f.Td,null,s.createElement(Q.Flex,ae({justifyContent:"end"},p.stopPropagation),s.createElement(p.CheckPermissions,{permissions:t.updateRole},s.createElement(se.IconButton,{onClick:()=>y(m.id),noBorder:!0,icon:s.createElement(rt(),null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${m.name}`})})),c(m)&&s.createElement(p.CheckPermissions,{permissions:t.deleteRole},s.createElement(se.IconButton,{onClick:()=>g(m.id),noBorder:!0,icon:s.createElement(nt(),null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${m.name}`})})))))))},lt=X;X.defaultProps={canDelete:!1},X.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ie=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ct=()=>{const{trackUsage:r}=(0,p.useTracking)(),{formatMessage:e}=(0,v.useIntl)(),{push:t}=(0,C.useHistory)(),i=(0,p.useNotification)(),{notifyStatus:u}=(0,B.useNotifyAT)(),[{query:l}]=(0,p.useQueryParams)(),d=(l==null?void 0:l._q)||"",[o,n]=(0,s.useState)(!1),[c,g]=(0,s.useState)(!1),[y,m]=(0,s.useState)();(0,p.useFocusWhenNavigate)();const R=(0,A.useQueryClient)(),O=(0,s.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:w,allowedActions:{canRead:M,canDelete:k}}=(0,p.useRBAC)(O),{isLoading:Ts,data:{roles:ee},isFetching:Ds}=(0,A.useQuery)("get-roles",()=>Je(i,u),{initialData:{},enabled:M}),Ye=Ts||Ds,As=()=>{r("willCreateRole"),t(`/settings/${b.Z}/roles/new`)},Ls=()=>{n(!o)},Ss={roles:{id:(0,x.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,x.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},ws=e({id:"global.roles",defaultMessage:"Roles"}),Ms=(0,A.useMutation)(Bs=>qe(Bs,i),{onSuccess:()=>ie(void 0,null,function*(){yield R.invalidateQueries("get-roles")})}),Us=()=>ie(void 0,null,function*(){g(!0),yield Ms.mutateAsync(y),n(!o),g(!1)}),H=(0,V.ZP)(ee||[],d,{keys:["name","description"]}),Is=d&&!H.length?"search":"roles",js=4,_s=((ee==null?void 0:ee.length)||0)+1;return s.createElement(D.Layout,null,s.createElement(p.SettingsPageTitle,{name:ws}),s.createElement(E.Main,{"aria-busy":Ye},s.createElement(D.HeaderLayout,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:s.createElement(p.CheckPermissions,{permissions:T.Z.createRole},s.createElement(_.Button,{onClick:As,startIcon:s.createElement(N(),null),size:"L"},e({id:(0,x.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),s.createElement(D.ActionLayout,{startActions:s.createElement(p.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),s.createElement(D.ContentLayout,null,!M&&s.createElement(p.NoPermissions,null),(Ye||w)&&s.createElement(p.LoadingIndicatorPage,null),M&&H&&(H==null?void 0:H.length)?s.createElement(f.Table,{colCount:js,rowCount:_s},s.createElement(f.Thead,null,s.createElement(f.Tr,null,s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),s.createElement(f.Th,null,s.createElement(U.VisuallyHidden,null,e({id:"global.actions",defaultMessage:"Actions"}))))),s.createElement(lt,{sortedRoles:H,canDelete:k,permissions:T.Z,setRoleToDelete:m,onDelete:[o,n]})):s.createElement(p.EmptyStateLayout,{content:Ss[Is]})),s.createElement(p.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Us,onToggleDialog:Ls,isOpen:o})))},ut=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(ct,null));var le=a(83281),L=a(90662),I=a(9808),ce=a(37178),ue=a(90353),dt=a(98599),pt=a.n(dt),mt=a(88677),de=a.n(mt),S=a(78330),Z=a(39650),j=a(92891);const pe=(0,s.createContext)({}),me=({children:r,value:e})=>s.createElement(pe.Provider,{value:e},r),Y=()=>(0,s.useContext)(pe);me.propTypes={children:h().node.isRequired,value:h().object.isRequired};var W=a(19615),gt=a(37213),ft=a.n(gt),Pt=a(15738),yt=a.n(Pt);const Et=r=>{switch(r){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"}}},vt=(0,W.default)(I.Box)`
2
2
  margin: -1px;
3
3
  border-radius: ${({theme:r})=>r.spaces[1]} 0 0 ${({theme:r})=>r.spaces[1]};
4
4
  `;function J({route:r}){const{formatMessage:e}=(0,v.useIntl)(),{method:t,handler:i,path:u}=r,l=u?yt()(u.split("/")):[],[d="",o=""]=i?i.split("."):[],n=Et(r.method);return s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",s.createElement("span",null,d),s.createElement(P.Typography,{variant:"delta",textColor:"primary600"},".",o)),s.createElement(L.Stack,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},s.createElement(vt,{background:n.background,borderColor:n.border,padding:2},s.createElement(P.Typography,{fontWeight:"bold",textColor:n.text},t)),s.createElement(I.Box,{paddingLeft:2,paddingRight:2},ft()(l,c=>s.createElement(P.Typography,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const ht=J,Ot=()=>{const{formatMessage:r}=(0,v.useIntl)(),{selectedAction:e,routes:t}=Y(),i=(0,j.without)(e.split("."),"controllers"),u=(0,j.get)(t,i[0]),l=i.slice(1).join("."),d=(0,j.isEmpty)(u)?[]:u.filter(o=>o.handler.endsWith(l));return s.createElement(S.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?s.createElement(L.Stack,{spacing:2},d.map((o,n)=>s.createElement(ht,{key:n,route:o}))):s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},r({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},r({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var q=a(12001),Rt=a(23940),Ct=a.n(Rt);function bt(r){switch(r){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 Ct()(r.replace("api::","").replace("plugin::",""))}}const Tt=bt;var Dt=a(98978),ge=a.n(Dt),fe=a(52111),At=a(42258),Lt=a.n(At);const Pe=W.css`
@@ -27,4 +27,4 @@
27
27
  flex: 1;
28
28
  align-self: center;
29
29
  border-top: 1px solid ${({theme:r})=>r.colors.neutral150};
30
- `,ye=({subCategory:r})=>{const{formatMessage:e}=(0,v.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=Y(),o=(0,s.useMemo)(()=>(0,j.get)(d,r.name,{}),[d,r]),n=(0,s.useMemo)(()=>Object.values(o).every(m=>m.enabled===!0),[o]),c=(0,s.useMemo)(()=>Object.values(o).some(m=>m.enabled===!0)&&!n,[o,n]),g=(0,s.useCallback)(({target:{name:m}})=>{i({target:{name:m,value:!n}})},[n,i]),y=(0,s.useCallback)(m=>l===m,[l]);return s.createElement(I.Box,null,s.createElement(Q.Flex,{justifyContent:"space-between",alignItems:"center"},s.createElement(I.Box,{paddingRight:4},s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},r.label)),s.createElement(wt,null),s.createElement(I.Box,{paddingLeft:4},s.createElement(fe.Checkbox,{name:r.name,value:n,onValueChange:m=>g({target:{name:r.name,value:m}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),s.createElement(Q.Flex,{paddingTop:6,paddingBottom:6},s.createElement(S.Grid,{gap:2,style:{flex:1}},r.actions.map(m=>{const R=`${m.name}.enabled`;return s.createElement(S.GridItem,{col:6,key:m.name},s.createElement(St,{isActive:y(m.name),padding:2,hasRadius:!0},s.createElement(fe.Checkbox,{value:(0,j.get)(d,R,!1),name:R,onValueChange:O=>t({target:{name:R,value:O}})},m.label),s.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(m.name),style:{display:"inline-flex",alignItems:"center"}},s.createElement(Lt(),null))))}))))};ye.propTypes={subCategory:h().object.isRequired};const Mt=ye;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,ve=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xt=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&ve(r,t,e[t]);if(Ee)for(var t of Ee(e))Bt.call(e,t)&&ve(r,t,e[t]);return r},Nt=(r,e)=>It(r,jt(e));const he=({name:r,permissions:e})=>{const t=(0,s.useMemo)(()=>ge()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${r}.controllers.${Object.keys(e.controllers)[l]}`,o=ge()(Object.keys(u).reduce((n,c)=>[...n,Nt(xt({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:o,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[r,e]);return s.createElement(I.Box,{padding:6},t.map(i=>s.createElement(Mt,{key:i.name,subCategory:i})))};he.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Gt=he;var Ft=Object.defineProperty,Zt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Re=(r,e,t)=>e in r?Ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ht=(r,e)=>{for(var t in e||(e={}))kt.call(e,t)&&Re(r,t,e[t]);if(Oe)for(var t of Oe(e))Vt.call(e,t)&&Re(r,t,e[t]);return r},Wt=(r,e)=>Zt(r,$t(e));const zt=(r,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Wt(Ht({},r),{collapses:t})};var z=a(49415),Kt=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,be=(r,e,t)=>e in r?Kt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Te=(r,e)=>{for(var t in e||(e={}))Yt.call(e,t)&&be(r,t,e[t]);if(Ce)for(var t of Ce(e))Jt.call(e,t)&&be(r,t,e[t]);return r},De=(r,e)=>Qt(r,Xt(e));const qt={collapses:[]},er=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=r.collapses.map((i,u)=>u===e.index?De(Te({},i),{isOpen:!i.isOpen}):De(Te({},i),{isOpen:!1}));break}default:return t}}),tr=()=>{const{modifiedData:r}=Y(),{formatMessage:e}=(0,v.useIntl)(),[{collapses:t},i]=(0,s.useReducer)(er,qt,l=>zt(l,r)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return s.createElement(L.Stack,{spacing:1},t.map((l,d)=>s.createElement(q.Accordion,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},s.createElement(q.AccordionToggle,{title:Tt(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),s.createElement(q.AccordionContent,null,s.createElement(I.Box,null,s.createElement(Gt,{permissions:r[l.name],name:l.name}))))))};var rr=Object.defineProperty,sr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,Le=(r,e,t)=>e in r?rr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ir=(r,e)=>{for(var t in e||(e={}))or.call(e,t)&&Le(r,t,e[t]);if(Ae)for(var t of Ae(e))ar.call(e,t)&&Le(r,t,e[t]);return r},lr=(r,e)=>sr(r,nr(e));const cr={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},ur=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,j.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,j.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,j.get)(r,i,{}),l=Object.keys(u).reduce((d,o)=>(d[o]=lr(ir({},u[o]),{enabled:e.value}),d),{});(0,j.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=r.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=r.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===r.selectedAction?"":i;break}default:return t}});var dr=Object.defineProperty,pr=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,we=(r,e,t)=>e in r?dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e)=>{for(var t in e||(e={}))gr.call(e,t)&&we(r,t,e[t]);if(Se)for(var t of Se(e))fr.call(e,t)&&we(r,t,e[t]);return r},yr=(r,e)=>pr(r,mr(e));const Er=(r,e,t)=>yr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var vr=Object.defineProperty,hr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ue=(r,e,t)=>e in r?vr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,br=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ue(r,t,e[t]);if(Me)for(var t of Me(e))Cr.call(e,t)&&Ue(r,t,e[t]);return r},Tr=(r,e)=>hr(r,Or(e));const Ie=(0,s.forwardRef)(({permissions:r,routes:e},t)=>{const{formatMessage:i}=(0,v.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>Er(g,r,e));(0,s.useImperativeHandle)(t,()=>({getPermissions:()=>({permissions:u.modifiedData}),resetForm:()=>{l({type:"ON_RESET"})},setFormAfterSubmit:()=>{l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:y}})=>l({type:"ON_CHANGE",keys:g.split("."),value:y==="empty__string_value"?"":y}),o=({target:{name:g,value:y}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:y}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=Tr(br({},u),{onChange:d,onChangeSelectAll:o,onSelectedAction:n});return s.createElement(me,{value:c},s.createElement(S.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},s.createElement(S.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:6},s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h2"},i({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},i({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),s.createElement(tr,null))),s.createElement(Ot,null)))});Ie.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const je=(0,s.memo)(Ie),Ws={isLoading:!0,modifiedData:{}},zs=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Ks=null;var Dr=a(98399),Ar=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Qs=(r,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),o=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ar(void 0,null,function*(){try{d({type:"GET_DATA"});const R=yield request(getRequestURL(r),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){n.current&&(d({type:"GET_DATA_ERROR"}),Dr.error(R),o({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,r]);const y=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:y,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},Xs=null;var Lr=Object.defineProperty,Sr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Be=(r,e,t)=>e in r?Lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ir=(r,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Be(r,t,e[t]);if(_e)for(var t of _e(e))Ur.call(e,t)&&Be(r,t,e[t]);return r},jr=(r,e)=>Sr(r,wr(e));const Ys=(r,e)=>jr(Ir({},r),{isLoading:e}),Js=null,qs={roles:[],isLoading:!0},en=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),tn=null;var _r=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const rn=(r=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,r)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:o}=d;useEffect(()=>(r&&n(),()=>{d.abort(),l.current=!1}),[r]);const n=()=>_r(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:o});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},sn=null;var Br=Object.defineProperty,xr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ne=(r,e,t)=>e in r?Br(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Zr=(r,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&Ne(r,t,e[t]);if(xe)for(var t of xe(e))Fr.call(e,t)&&Ne(r,t,e[t]);return r},$r=(r,e)=>xr(r,Nr(e));const kr=(r,e)=>$r(Zr({},r),{isLoading:e});var K=a(15506);const Ge={permissions:{},routes:{},isLoading:!0},Vr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var Fe=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Ze=(r=!0)=>{const e=(0,p.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,s.useReducer)(Vr,Ge,()=>kr(Ge,r)),d=(0,s.useCallback)(()=>Fe(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:o},{routes:n}]=yield Promise.all([`/${b.Z}/permissions`,`/${b.Z}/routes`].map(c=>Fe(this,null,function*(){return(yield K.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,x.YX)(o),routes:n})}catch(o){const n=(0,j.get)(o,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,s.useEffect)(()=>{r&&d()},[d,r]),{permissions:t,routes:i,getData:d,isLoading:u}},Hr={role:{},isLoading:!0},Wr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var zr=a(98399),Kr=Object.defineProperty,Qr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ke=(r,e,t)=>e in r?Kr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ve=(r,e)=>{for(var t in e||(e={}))Yr.call(e,t)&&ke(r,t,e[t]);if($e)for(var t of $e(e))Jr.call(e,t)&&ke(r,t,e[t]);return r},qr=(r,e)=>Qr(r,Xr(e)),es=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ts=r=>{const[e,t]=(0,s.useReducer)(Wr,Hr),i=(0,p.useNotification)(),u=(0,s.useRef)(null);(0,s.useEffect)(()=>(u.current=!0,r?l(r):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[r]);const l=o=>es(void 0,null,function*(){try{const{data:{role:n}}=yield K.Z.get(`/${b.Z}/roles/${o}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){zr.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,s.useCallback)(o=>{t(Ve({type:"ON_SUBMIT_SUCCEEDED"},o))},[]);return qr(Ve({},e),{onSubmitSucceeded:d})};var $=a(5173);const rs=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var ss=a(98399),ns=Object.defineProperty,os=Object.defineProperties,as=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?ns(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ze=(r,e)=>{for(var t in e||(e={}))is.call(e,t)&&We(r,t,e[t]);if(He)for(var t of He(e))ls.call(e,t)&&We(r,t,e[t]);return r},cs=(r,e)=>os(r,as(e)),us=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ds=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{lockApp:u,unlockApp:l}=(0,p.useOverlayBlocker)(),{params:{id:d}}=(0,C.useRouteMatch)(`/settings/${b.Z}/roles/:id`),{isLoading:o,routes:n}=Ze(),{role:c,onSubmitSucceeded:g,isLoading:y}=ts(d),m=(0,s.useRef)(),R=O=>us(void 0,null,function*(){u(),t(!0);try{const w=m.current.getPermissions();yield K.Z.put(`/${b.Z}/roles/${d}`,cs(ze(ze({},O),w),{users:[]})),g({name:O.name,description:O.description}),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(w){ss.error(w),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return y?s.createElement(p.LoadingIndicatorPage,null):s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:R,validationSchema:rs},({handleSubmit:O,values:w,handleChange:M,errors:k})=>s.createElement(p.Form,{noValidate:!0,onSubmit:O},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:s.createElement(p.Link,{startIcon:s.createElement(pt(),null),to:"/settings/users-permissions/roles"},r({id:"global.back",defaultMessage:"Back"}))}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:w.name||"",onChange:M,label:r({id:"global.name",defaultMessage:"Name"}),error:k.name?r({id:k.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:w.description||"",onChange:M,label:r({id:"global.description",defaultMessage:"Description"}),error:k.description?r({id:k.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:m,permissions:c.permissions,routes:n}))))))},ps=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.updateRole},s.createElement(ds,null)),ms=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var gs=a(98399),fs=Object.defineProperty,Ps=Object.defineProperties,ys=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,vs=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?fs(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xe=(r,e)=>{for(var t in e||(e={}))Es.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))vs.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,ys(e)),Os=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Rs=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{goBack:u}=(0,C.useHistory)(),{lockApp:l,unlockApp:d}=(0,p.useOverlayBlocker)(),{isLoading:o,permissions:n,routes:c}=Ze(),{trackUsage:g}=(0,p.useTracking)(),y=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=y.current.getPermissions();yield K.Z.post(`/${b.Z}/roles`,hs(Xe(Xe({},R),O),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(O){gs.error(O),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:m,validationSchema:ms},({handleSubmit:R,values:O,handleChange:w,errors:M})=>s.createElement(p.Form,{noValidate:!0,onSubmit:R},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:r({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:r({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:O.name||"",onChange:w,label:r({id:"global.name",defaultMessage:"Name"}),error:M.name?r({id:M.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:O.description||"",onChange:w,label:r({id:"global.description",defaultMessage:"Description"}),error:M.description?r({id:M.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:y,permissions:n,routes:c}))))))},Cs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.createRole},s.createElement(Rs,null)),bs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(C.Switch,null,s.createElement(C.Route,{path:`/settings/${b.Z}/roles/new`,component:Cs,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles/:id`,component:ps,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles`,component:ut,exact:!0}),s.createElement(C.Route,{path:"",component:p.NotFound})))},15506:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(10938),b=a.n(p),T=(E,f,U)=>new Promise((P,B)=>{var F=A=>{try{v(U.next(A))}catch(V){B(V)}},N=A=>{try{v(U.throw(A))}catch(V){B(V)}},v=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);v((U=U.apply(E,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(E=>T(void 0,null,function*(){return E.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},E}),E=>{Promise.reject(E)}),_.interceptors.response.use(E=>E,E=>{var f;throw((f=E.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),E});const D=_},33234:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>E.Z});var s=a(15506),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,v)=>((0,C.isEmpty)(B[v])||(N[v]=B[v]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(42296);const D=f=>`/${T.Z}/${f}`;var E=a(71810)}}]);
30
+ `,ye=({subCategory:r})=>{const{formatMessage:e}=(0,v.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=Y(),o=(0,s.useMemo)(()=>(0,j.get)(d,r.name,{}),[d,r]),n=(0,s.useMemo)(()=>Object.values(o).every(m=>m.enabled===!0),[o]),c=(0,s.useMemo)(()=>Object.values(o).some(m=>m.enabled===!0)&&!n,[o,n]),g=(0,s.useCallback)(({target:{name:m}})=>{i({target:{name:m,value:!n}})},[n,i]),y=(0,s.useCallback)(m=>l===m,[l]);return s.createElement(I.Box,null,s.createElement(Q.Flex,{justifyContent:"space-between",alignItems:"center"},s.createElement(I.Box,{paddingRight:4},s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},r.label)),s.createElement(wt,null),s.createElement(I.Box,{paddingLeft:4},s.createElement(fe.Checkbox,{name:r.name,value:n,onValueChange:m=>g({target:{name:r.name,value:m}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),s.createElement(Q.Flex,{paddingTop:6,paddingBottom:6},s.createElement(S.Grid,{gap:2,style:{flex:1}},r.actions.map(m=>{const R=`${m.name}.enabled`;return s.createElement(S.GridItem,{col:6,key:m.name},s.createElement(St,{isActive:y(m.name),padding:2,hasRadius:!0},s.createElement(fe.Checkbox,{value:(0,j.get)(d,R,!1),name:R,onValueChange:O=>t({target:{name:R,value:O}})},m.label),s.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(m.name),style:{display:"inline-flex",alignItems:"center"}},s.createElement(Lt(),null))))}))))};ye.propTypes={subCategory:h().object.isRequired};const Mt=ye;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,ve=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xt=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&ve(r,t,e[t]);if(Ee)for(var t of Ee(e))Bt.call(e,t)&&ve(r,t,e[t]);return r},Nt=(r,e)=>It(r,jt(e));const he=({name:r,permissions:e})=>{const t=(0,s.useMemo)(()=>ge()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${r}.controllers.${Object.keys(e.controllers)[l]}`,o=ge()(Object.keys(u).reduce((n,c)=>[...n,Nt(xt({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:o,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[r,e]);return s.createElement(I.Box,{padding:6},t.map(i=>s.createElement(Mt,{key:i.name,subCategory:i})))};he.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Gt=he;var Ft=Object.defineProperty,Zt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Re=(r,e,t)=>e in r?Ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ht=(r,e)=>{for(var t in e||(e={}))kt.call(e,t)&&Re(r,t,e[t]);if(Oe)for(var t of Oe(e))Vt.call(e,t)&&Re(r,t,e[t]);return r},Wt=(r,e)=>Zt(r,$t(e));const zt=(r,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Wt(Ht({},r),{collapses:t})};var z=a(49415),Kt=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,be=(r,e,t)=>e in r?Kt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Te=(r,e)=>{for(var t in e||(e={}))Yt.call(e,t)&&be(r,t,e[t]);if(Ce)for(var t of Ce(e))Jt.call(e,t)&&be(r,t,e[t]);return r},De=(r,e)=>Qt(r,Xt(e));const qt={collapses:[]},er=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=r.collapses.map((i,u)=>u===e.index?De(Te({},i),{isOpen:!i.isOpen}):De(Te({},i),{isOpen:!1}));break}default:return t}}),tr=()=>{const{modifiedData:r}=Y(),{formatMessage:e}=(0,v.useIntl)(),[{collapses:t},i]=(0,s.useReducer)(er,qt,l=>zt(l,r)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return s.createElement(L.Stack,{spacing:1},t.map((l,d)=>s.createElement(q.Accordion,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},s.createElement(q.AccordionToggle,{title:Tt(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),s.createElement(q.AccordionContent,null,s.createElement(I.Box,null,s.createElement(Gt,{permissions:r[l.name],name:l.name}))))))};var rr=Object.defineProperty,sr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,Le=(r,e,t)=>e in r?rr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ir=(r,e)=>{for(var t in e||(e={}))or.call(e,t)&&Le(r,t,e[t]);if(Ae)for(var t of Ae(e))ar.call(e,t)&&Le(r,t,e[t]);return r},lr=(r,e)=>sr(r,nr(e));const cr={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},ur=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,j.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,j.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,j.get)(r,i,{}),l=Object.keys(u).reduce((d,o)=>(d[o]=lr(ir({},u[o]),{enabled:e.value}),d),{});(0,j.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=r.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=r.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===r.selectedAction?"":i;break}default:return t}});var dr=Object.defineProperty,pr=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,we=(r,e,t)=>e in r?dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e)=>{for(var t in e||(e={}))gr.call(e,t)&&we(r,t,e[t]);if(Se)for(var t of Se(e))fr.call(e,t)&&we(r,t,e[t]);return r},yr=(r,e)=>pr(r,mr(e));const Er=(r,e,t)=>yr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var vr=Object.defineProperty,hr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ue=(r,e,t)=>e in r?vr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,br=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ue(r,t,e[t]);if(Me)for(var t of Me(e))Cr.call(e,t)&&Ue(r,t,e[t]);return r},Tr=(r,e)=>hr(r,Or(e));const Ie=(0,s.forwardRef)(({permissions:r,routes:e},t)=>{const{formatMessage:i}=(0,v.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>Er(g,r,e));(0,s.useImperativeHandle)(t,()=>({getPermissions:()=>({permissions:u.modifiedData}),resetForm:()=>{l({type:"ON_RESET"})},setFormAfterSubmit:()=>{l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:y}})=>l({type:"ON_CHANGE",keys:g.split("."),value:y==="empty__string_value"?"":y}),o=({target:{name:g,value:y}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:y}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=Tr(br({},u),{onChange:d,onChangeSelectAll:o,onSelectedAction:n});return s.createElement(me,{value:c},s.createElement(S.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},s.createElement(S.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:6},s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h2"},i({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},i({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),s.createElement(tr,null))),s.createElement(Ot,null)))});Ie.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const je=(0,s.memo)(Ie),Ws={isLoading:!0,modifiedData:{}},zs=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Ks=null;var Dr=a(98399),Ar=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Qs=(r,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),o=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ar(void 0,null,function*(){try{d({type:"GET_DATA"});const R=yield request(getRequestURL(r),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){n.current&&(d({type:"GET_DATA_ERROR"}),Dr.error(R),o({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,r]);const y=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:y,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},Xs=null;var Lr=Object.defineProperty,Sr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Be=(r,e,t)=>e in r?Lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ir=(r,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Be(r,t,e[t]);if(_e)for(var t of _e(e))Ur.call(e,t)&&Be(r,t,e[t]);return r},jr=(r,e)=>Sr(r,wr(e));const Ys=(r,e)=>jr(Ir({},r),{isLoading:e}),Js=null,qs={roles:[],isLoading:!0},en=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),tn=null;var _r=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const rn=(r=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,r)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:o}=d;useEffect(()=>(r&&n(),()=>{d.abort(),l.current=!1}),[r]);const n=()=>_r(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:o});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},sn=null;var Br=Object.defineProperty,xr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ne=(r,e,t)=>e in r?Br(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Zr=(r,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&Ne(r,t,e[t]);if(xe)for(var t of xe(e))Fr.call(e,t)&&Ne(r,t,e[t]);return r},$r=(r,e)=>xr(r,Nr(e));const kr=(r,e)=>$r(Zr({},r),{isLoading:e});var K=a(54080);const Ge={permissions:{},routes:{},isLoading:!0},Vr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var Fe=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Ze=(r=!0)=>{const e=(0,p.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,s.useReducer)(Vr,Ge,()=>kr(Ge,r)),d=(0,s.useCallback)(()=>Fe(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:o},{routes:n}]=yield Promise.all([`/${b.Z}/permissions`,`/${b.Z}/routes`].map(c=>Fe(this,null,function*(){return(yield K.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,x.YX)(o),routes:n})}catch(o){const n=(0,j.get)(o,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,s.useEffect)(()=>{r&&d()},[d,r]),{permissions:t,routes:i,getData:d,isLoading:u}},Hr={role:{},isLoading:!0},Wr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var zr=a(98399),Kr=Object.defineProperty,Qr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ke=(r,e,t)=>e in r?Kr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ve=(r,e)=>{for(var t in e||(e={}))Yr.call(e,t)&&ke(r,t,e[t]);if($e)for(var t of $e(e))Jr.call(e,t)&&ke(r,t,e[t]);return r},qr=(r,e)=>Qr(r,Xr(e)),es=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ts=r=>{const[e,t]=(0,s.useReducer)(Wr,Hr),i=(0,p.useNotification)(),u=(0,s.useRef)(null);(0,s.useEffect)(()=>(u.current=!0,r?l(r):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[r]);const l=o=>es(void 0,null,function*(){try{const{data:{role:n}}=yield K.Z.get(`/${b.Z}/roles/${o}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){zr.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,s.useCallback)(o=>{t(Ve({type:"ON_SUBMIT_SUCCEEDED"},o))},[]);return qr(Ve({},e),{onSubmitSucceeded:d})};var $=a(5173);const rs=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var ss=a(98399),ns=Object.defineProperty,os=Object.defineProperties,as=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?ns(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ze=(r,e)=>{for(var t in e||(e={}))is.call(e,t)&&We(r,t,e[t]);if(He)for(var t of He(e))ls.call(e,t)&&We(r,t,e[t]);return r},cs=(r,e)=>os(r,as(e)),us=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ds=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{lockApp:u,unlockApp:l}=(0,p.useOverlayBlocker)(),{params:{id:d}}=(0,C.useRouteMatch)(`/settings/${b.Z}/roles/:id`),{isLoading:o,routes:n}=Ze(),{role:c,onSubmitSucceeded:g,isLoading:y}=ts(d),m=(0,s.useRef)(),R=O=>us(void 0,null,function*(){u(),t(!0);try{const w=m.current.getPermissions();yield K.Z.put(`/${b.Z}/roles/${d}`,cs(ze(ze({},O),w),{users:[]})),g({name:O.name,description:O.description}),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(w){ss.error(w),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return y?s.createElement(p.LoadingIndicatorPage,null):s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:R,validationSchema:rs},({handleSubmit:O,values:w,handleChange:M,errors:k})=>s.createElement(p.Form,{noValidate:!0,onSubmit:O},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:s.createElement(p.Link,{startIcon:s.createElement(pt(),null),to:"/settings/users-permissions/roles"},r({id:"global.back",defaultMessage:"Back"}))}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:w.name||"",onChange:M,label:r({id:"global.name",defaultMessage:"Name"}),error:k.name?r({id:k.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:w.description||"",onChange:M,label:r({id:"global.description",defaultMessage:"Description"}),error:k.description?r({id:k.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:m,permissions:c.permissions,routes:n}))))))},ps=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.updateRole},s.createElement(ds,null)),ms=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var gs=a(98399),fs=Object.defineProperty,Ps=Object.defineProperties,ys=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,vs=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?fs(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xe=(r,e)=>{for(var t in e||(e={}))Es.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))vs.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,ys(e)),Os=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Rs=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{goBack:u}=(0,C.useHistory)(),{lockApp:l,unlockApp:d}=(0,p.useOverlayBlocker)(),{isLoading:o,permissions:n,routes:c}=Ze(),{trackUsage:g}=(0,p.useTracking)(),y=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=y.current.getPermissions();yield K.Z.post(`/${b.Z}/roles`,hs(Xe(Xe({},R),O),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(O){gs.error(O),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:m,validationSchema:ms},({handleSubmit:R,values:O,handleChange:w,errors:M})=>s.createElement(p.Form,{noValidate:!0,onSubmit:R},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:r({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:r({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:O.name||"",onChange:w,label:r({id:"global.name",defaultMessage:"Name"}),error:M.name?r({id:M.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:O.description||"",onChange:w,label:r({id:"global.description",defaultMessage:"Description"}),error:M.description?r({id:M.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:y,permissions:n,routes:c}))))))},Cs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.createRole},s.createElement(Rs,null)),bs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(C.Switch,null,s.createElement(C.Route,{path:`/settings/${b.Z}/roles/new`,component:Cs,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles/:id`,component:ps,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles`,component:ut,exact:!0}),s.createElement(C.Route,{path:"",component:p.NotFound})))},54080:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(83985),b=a.n(p),T=(E,f,U)=>new Promise((P,B)=>{var F=A=>{try{v(U.next(A))}catch(V){B(V)}},N=A=>{try{v(U.throw(A))}catch(V){B(V)}},v=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);v((U=U.apply(E,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(E=>T(void 0,null,function*(){return E.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},E}),E=>{Promise.reject(E)}),_.interceptors.response.use(E=>E,E=>{var f;throw((f=E.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),E});const D=_},13810:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>E.Z});var s=a(54080),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,v)=>((0,C.isEmpty)(B[v])||(N[v]=B[v]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(46354);const D=f=>`/${T.Z}/${f}`;var E=a(39650)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3278],{50576:n=>{n.exports=JSON.parse('{"Analytics":"Ph\xE2n T\xEDch","Auth.components.Oops.text":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n \u0111\xE3 b\u1ECB kho\xE1","Auth.components.Oops.text.admin":"N\u1EBFu c\xF3 s\u1EF1 nh\u1EA7m l\u1EABn, h\xE3y li\xEAn h\u1EC7 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB","Auth.form.button.forgot-password":"G\u1EEDi Email","Auth.form.button.go-home":"QUAY V\u1EC0 TRANG CH\u1EE6","Auth.form.button.login":"\u0110\u0103ng nh\u1EADp","Auth.form.button.login.providers.error":"Kh\xF4ng th\u1EC3 k\u1EBFt n\u1ED1i b\u1EA1n v\u1EDBi d\u1ECBch v\u1EE5 \u0111\xE3 ch\u1ECDn.","Auth.form.button.login.strapi":"\u0110\u0103ng nh\u1EADp v\u1EDBi Strapi","Auth.form.button.password-recovery":"Kh\xF4i ph\u1EE5c m\u1EADt kh\u1EA9u","Auth.form.button.register":"S\u1EB5n s\xE0ng \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u","Auth.form.confirmPassword.label":"Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u","Auth.form.currentPassword.label":"M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i","Auth.form.email.label":"Email","Auth.form.email.placeholder":"kai@doe.com","Auth.form.error.blocked":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n b\u1ECB kh\xF3a b\u1EDFi ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB.","Auth.form.error.code.provide":"M\xE3 \u0111\u01B0\u1EE3c cung c\u1EA5p kh\xF4ng ch\xEDnh x\xE1c.","Auth.form.error.confirmed":"T\xE0i kho\u1EA3n Email c\u1EE7a b\u1EA1n ch\u01B0a \u0111\u01B0\u1EE3c x\xE1c nh\u1EADn.","Auth.form.error.email.invalid":"Email sai.","Auth.form.error.email.provide":"Vui l\xF2ng cung c\u1EA5p t\xEAn \u0111\u0103ng nh\u1EADp ho\u1EB7c email.","Auth.form.error.email.taken":"Email \u0111\xE3 t\u1ED3n t\u1EA1i.","Auth.form.error.invalid":"\u0110\u1ECBnh danh ho\u1EB7c m\u1EADt kh\u1EA9u sai.","Auth.form.error.params.provide":"Tham s\u1ED1 \u0111\u01B0\u1EE3c cung c\u1EA5p kh\xF4ng ch\xEDnh x\xE1c.","Auth.form.error.password.format":"M\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n kh\xF4ng th\u1EC3 ch\u1EE9a k\xFD t\u1EF1 `$` h\u01A1n ba l\u1EA7n","Auth.form.error.password.local":"Ng\u01B0\u1EDDi d\xF9ng n\xE0y ch\u01B0a t\u1EEBng \u0111\u1EB7t m\u1EADt kh\u1EA9u c\u1EE5c b\u1ED9, vui l\xF2ng \u0111\u0103ng nh\u1EADp th\xF4ng qua nh\xE0 cung c\u1EA5p \u0111\xE3 d\xF9ng trong l\xFAc t\u1EA1o t\xE0i kho\u1EA3n ban \u0111\u1EA7u","Auth.form.error.password.matching":"M\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp.","Auth.form.error.password.provide":"Vui l\xF2ng cung c\u1EA5p m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n.","Auth.form.error.ratelimit":"Th\u1EED qu\xE1 nhi\u1EC1u l\u1EA7n, vui l\xF2ng th\u1EED l\u1EA1i sau m\u1ED9t ph\xFAt","Auth.form.error.user.not-exist":"Email n\xE0y ch\u01B0a t\u1ED3n t\u1EA1i.","Auth.form.error.username.taken":"T\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 t\u1ED3n t\u1EA1i.","Auth.form.firstname.label":"H\u1ECD","Auth.form.firstname.placeholder":"v.d. Kai","Auth.form.forgot-password.email.label":"Nh\u1EADp email c\u1EE7a b\u1EA1n","Auth.form.forgot-password.email.label.success":"Email \u0111\xE3 g\u1EEDi th\xE0nh c\xF4ng \u0111\u1EBFn","Auth.form.lastname.label":"T\xEAn","Auth.form.lastname.placeholder":"v.d. Doe","Auth.form.password.hide-password":"\u1EA8n m\u1EADt kh\u1EA9u","Auth.form.password.hint":"M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 8 k\xFD t\u1EF1, 1 vi\u1EBFt hoa, 1 vi\u1EBFt th\u01B0\u1EDDng v\xE0 1 s\u1ED1","Auth.form.password.show-password":"Hi\u1EC3n th\u1ECB password","Auth.form.register.news.label":"C\u1EADp nh\u1EADt cho t\xF4i v\u1EC1 ch\u1EE9c n\u0103ng m\u1EDBi v\xE0 nh\u1EEFng c\u1EA3i thi\u1EC7n s\u1EAFp t\u1EDBi (th\xF4ng qua vi\u1EC7c n\xE0y b\u1EA1n \u0111\xE3 ch\u1EA5p nh\u1EADn {terms} v\xE0 {policy}).","Auth.form.register.subtitle":"Th\xF4ng tin c\u1EE7a b\u1EA1n ch\u1EC9 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u0111\u1EC3 \u0111\u0103ng nh\u1EADp v\xE0o trang qu\u1EA3n tr\u1ECB. T\u1EA5t c\u1EA3 c\xE1c d\u1EEF li\u1EC7u \u0111\u01B0\u1EE3c l\u01B0u \u1EDF c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","Auth.form.rememberMe.label":"Nh\u1EDB t\xF4i","Auth.form.username.label":"T\xEAn \u0111\u0103ng nh\u1EADp","Auth.form.username.placeholder":"Kai Doe","Auth.form.welcome.subtitle":"\u0110\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Strapi c\u1EE7a b\u1EA1n","Auth.form.welcome.title":"Ch\xE0o m\u1EEBng!","Auth.link.forgot-password":"Qu\xEAn m\u1EADt kh\u1EA9u?","Auth.link.ready":"S\u1EB5n s\xE0ng \u0111\u0103ng nh\u1EADp?","Auth.link.signin":"\u0110\u0103ng nh\u1EADp","Auth.link.signin.account":"\u0110\xE3 c\xF3 t\xE0i kho\u1EA3n?","Auth.login.sso.divider":"Ho\u1EB7c \u0111\u0103ng nh\u1EADp v\u1EDBi","Auth.login.sso.loading":"\u0110ang t\u1EA3i c\xE1c d\u1ECBch v\u1EE5 cung c\u1EA5p...","Auth.login.sso.subtitle":"\u0110\u0103ng nh\u1EADp qua SSO","Auth.privacy-policy-agreement.policy":"ch\xEDnh s\xE1ch b\u1EA3o m\u1EADt","Auth.privacy-policy-agreement.terms":"c\xE1c \u0111i\u1EC1u kho\u1EA3n","Auth.reset-password.title":"\u0110\u1EB7t l\u1EA1i m\u1EADt kh\u1EA9u","Content Manager":"Qu\u1EA3n L\xFD N\u1ED9i Dung","Documentation":"T\xE0i li\u1EC7u","Email":"Email","Files Upload":"T\u1EA3i T\xE2p Tin L\xEAn","HomePage.helmet.title":"Trang ch\u1EE7","HomePage.roadmap":"Xem l\u1ED9 tr\xECnh c\u1EE7a ch\xFAng t\xF4i","HomePage.welcome.congrats":"Ch\xFAc m\u1EEBng!","HomePage.welcome.congrats.content":"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp nh\u01B0 l\xE0 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB \u0111\u1EA7u ti\xEAn. \u0110\u1EC3 kh\xE1m ph\xE1 nh\u1EEFng t\xEDnh n\u0103ng m\u1EA1nh m\u1EBD \u0111\u01B0\u1EE3c cung c\u1EA5p b\u1EDFi Strapi.","New entry":"B\u1EA3n ghi m\u1EDBi","Password":"M\u1EADt Kh\u1EA9u","Provider":"Nh\xE0 Cung C\u1EA5p","ResetPasswordToken":"C\xE0i L\u1EA1i Chu\u1ED7i Kh\xF3a M\u1EADt Kh\u1EA9u","Role":"Vai tr\xF2","Username":"T\xEAn \u0111\u0103ng nh\u1EADp","Users":"Ng\u01B0\u1EDDi d\xF9ng","Users & Permissions":"Ng\u01B0\u1EDDi d\xF9ng v\xE0 Ph\xE2n quy\u1EC1n","app.components.BlockLink.code":"Code v\xED d\u1EE5","app.components.Button.cancel":"H\u1EE7y b\u1ECF","app.components.ComingSoonPage.comingSoon":"S\u1EAFp c\xF3","app.components.DownloadInfo.download":"\u0110ang t\u1EA3i v\u1EC1","app.components.DownloadInfo.text":"Vi\u1EC7c n\xE0y c\xF3 th\u1EC3 t\u1ED1n m\u1ED9t ph\xFAt. C\u1EA3m \u01A1n b\u1EA1n v\xEC s\u1EF1 ki\xEAn nh\u1EABn.","app.components.EmptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0o","app.components.HomePage.button.blog":"XEM TH\xCAM TR\xCAN BLOG","app.components.HomePage.community":"T\xECm c\u1ED9ng \u0111\u1ED3ng tr\xEAn web","app.components.HomePage.community.content":"Th\u1EA3o lu\u1EADn v\u1EDBi th\xE0nh vi\xEAn, ng\u01B0\u1EDDi \u0111\xF3ng g\xF3p v\xE0 l\u1EADp tr\xECnh vi\xEAn tr\xEAn nh\u1EEFng k\xEAnh kh\xE1c nhau.","app.components.HomePage.welcome":"Ch\xE0o m\u1EEBng b\u1EA1n \u0111\xE3 tham gia \u{1F44B}","app.components.HomePage.welcome.again":"Ch\xE0o m\u1EEBng \u{1F44B}","app.components.HomePage.welcomeBlock.content":"Ch\xFAng t\xF4i h\u1EA1nh ph\xFAc khi c\xF3 b\u1EA1n l\xE0 m\u1ED9t ph\u1EA7n c\u1EE7a c\u1ED9ng \u0111\u1ED3ng. Ch\xFAng t\xF4i li\xEAn t\u1EE5c t\xECm ki\u1EBFm s\u1EF1 ph\u1EA3n h\u1ED3i, do \u0111\xF3 b\u1EA1n c\xF3 th\u1EC3 Li\xEAn h\u1EC7 tr\u1EF1c ti\u1EBFp v\u1EDBi ch\xFAng t\xF4i tr\xEAn ","app.components.HomePage.welcomeBlock.content.again":"Ch\xFAng t\xF4i hi v\u1ECDng b\u1EA1n c\xF3 ti\u1EBFn tri\u1EC3n tr\xEAn d\u1EF1 \xE1n c\u1EE7a b\u1EA1n... B\u1EA1n t\u1EF1 do \u0111\u1ECDc tin t\u1EE9c m\u1EDBi nh\u1EA5t v\u1EC1 Strapi. Ch\xFAng t\xF4i \u0111ang c\u1ED1 g\u1EAFng h\u1EBFt m\u1EE9c \u0111\u1EC3 c\u1EA3i thi\u1EC7n s\u1EA3n ph\u1EA9m d\u1EF1a tr\xEAn ph\u1EA3n h\u1ED3i c\u1EE7a b\u1EA1n.","app.components.HomePage.welcomeBlock.content.issues":"v\u1EA5n \u0111\u1EC1.","app.components.HomePage.welcomeBlock.content.raise":" ho\u1EB7c n\xEAu l\xEAn ","app.components.ImgPreview.hint":"K\xE9o v\xE0 th\u1EA3 t\u1EADp tin c\u1EE7a b\u1EA1n v\xE0o khu v\u1EF1c n\xE0y ho\u1EB7c {browse} \u0111\u1EC3 t\xECm t\u1EADp tin t\u1EA3i l\xEAn","app.components.ImgPreview.hint.browse":"duy\u1EC7t","app.components.InputFile.newFile":"Th\xEAm t\u1EADp tin m\u1EDBi","app.components.InputFileDetails.open":"M\u1EDF ra \u1EDF th\u1EBB m\u1EDBi","app.components.InputFileDetails.originalName":"T\xEAn g\u1ED1c:","app.components.InputFileDetails.remove":"Xo\xE1 t\u1EADp tin n\xE0y","app.components.InputFileDetails.size":"K\xEDch th\u01B0\u1EDBc:","app.components.InstallPluginPage.Download.description":"N\xF3 s\u1EBD t\u1ED1n m\u1ED9t v\xE0i gi\xE2y \u0111\u1EC3 t\u1EA3i v\u1EC1 v\xE0 c\xE0i \u0111\u1EB7t plugin.","app.components.InstallPluginPage.Download.title":"\u0110ang t\u1EA3i v\u1EC1...","app.components.InstallPluginPage.description":"M\u1EDF r\u1ED9ng \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n d\u1EC5 d\xE0ng","app.components.LeftMenuFooter.help":"Gi\xFAp \u0111\u1EE1","app.components.LeftMenuFooter.poweredBy":"Cung c\u1EA5p b\u1EDFi ","app.components.LeftMenuLinkContainer.configuration":"C\xE1c c\u1EA5u h\xECnh","app.components.LeftMenuLinkContainer.general":"Chung","app.components.LeftMenuLinkContainer.noPluginsInstalled":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.LeftMenuLinkContainer.plugins":"Plugins","app.components.ListPluginsPage.description":"Danh s\xE1ch plugins \u0111\xE3 c\xE0i trong d\u1EF1 \xE1n.","app.components.ListPluginsPage.helmet.title":"Danh s\xE1ch plugins","app.components.Logout.logout":"\u0110\u0103ng xu\u1EA5t","app.components.Logout.profile":"H\u1ED3 s\u01A1","app.components.NotFoundPage.back":"Tr\u1EDF v\u1EC1 trang ch\u1EE7","app.components.NotFoundPage.description":"Kh\xF4ng T\xECm Th\u1EA5y","app.components.Official":"Ch\xEDnh Th\u1EE9c","app.components.Onboarding.label.completed":"% \u0111\xE3 ho\xE0n th\xE0nh","app.components.Onboarding.title":"Videos B\u1EAFt \u0110\u1EA7u","app.components.PluginCard.Button.label.download":"T\u1EA3i v\u1EC1","app.components.PluginCard.Button.label.install":"\u0110\xE3 \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed":"Ch\u1EE9c n\u0103ng autoReload kh\xF4ng ho\u1EA1t \u0111\u1ED9ng. Vui l\xF2ng ch\u1EA1y \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n v\u1EDBi `yarn develop`.","app.components.PluginCard.PopUpWarning.install.impossible.confirm":"T\xF4i hi\u1EC3u!","app.components.PluginCard.PopUpWarning.install.impossible.environment":"V\xEC nh\u1EEFng l\xFD do b\u1EA3o m\u1EADt, ch\u1EC9 m\u1ED9t plugin c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c t\u1EA3i v\u1EC1 trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n.","app.components.PluginCard.PopUpWarning.install.impossible.title":"T\u1EA3i v\u1EC1 kh\xF4ng kh\u1EA3 thi","app.components.PluginCard.compatible":"T\u01B0\u01A1ng th\xEDch v\u1EDBi \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n","app.components.PluginCard.compatibleCommunity":"T\u01B0\u01A1ng th\xEDch v\u1EDBi c\u1ED9ng \u0111\u1ED3ng","app.components.PluginCard.more-details":"Th\xEAm chi ti\u1EBFt","app.components.listPlugins.button":"Th\xEAm m\u1EDBi Plugin","app.components.listPlugins.title.none":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.listPluginsPage.deletePlugin.error":"M\u1ED9t l\u1ED7i x\u1EA3y ra trong khi g\u1EE1 b\u1ECF plugin","app.containers.App.notification.error.init":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi g\u1EEDi y\xEAu c\u1EA7u \u0111\u1EBFn API","app.utils.SelectOption.defaultMessage":" ","app.utils.defaultMessage":" ","app.utils.placeholder.defaultMessage":" ","components.AutoReloadBlocker.description":"Ch\u1EA1y Strapi v\u1EDBi m\u1ED9t trong c\xE1c l\u1EC7nh sau:","components.AutoReloadBlocker.header":"T\xEDnh n\u0103ng T\u1EA3i l\u1EA1i b\u1ECB b\u1EAFt bu\u1ED9c cho plugin n\xE0y.","components.ErrorBoundary.title":"\u0110i\u1EC1u g\xEC \u0111\xF3 kh\xF4ng \u1ED5n...","components.Input.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","components.Input.error.attribute.taken":"Tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.custom-error":"{errorMessage} ","components.Input.error.password.noMatch":"M\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp","components.Input.error.validation.email":"Email kh\xF4ng h\u1EE3p l\u1EC7","components.Input.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 \u0111\u1ECBnh d\u1EA1ng JSON","components.Input.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao.","components.Input.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i.","components.Input.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p.","components.Input.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn.","components.Input.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","components.Input.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","components.Input.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","components.InputSelect.option.placeholder":"Ch\u1ECDn \u1EDF \u0111\xE2y","components.ListRow.empty":"Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u \u0111\u1EC3 hi\u1EC3n th\u1ECB.","components.OverlayBlocker.description":"B\u1EA1n \u0111ang d\xF9ng m\u1ED9t t\xEDnh n\u0103ng m\xE0 n\xF3 c\u1EA7n ph\u1EA3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i m\xE1y ch\u1EE7. Vui l\xF2ng ch\u1EDD cho m\xE1y ch\u1EE7 kh\u1EDFi \u0111\u1ED9ng xong.","components.OverlayBlocker.description.serverError":"M\xE1y ch\u1EE7 n\xEAn \u0111\u01B0\u1EE3c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i, vui l\xF2ng ki\u1EC3m tra nh\u1EADt k\xFD c\u1EE7a b\u1EA1n trong c\u1EEDa s\u1ED5 l\u1EC7nh","components.OverlayBlocker.title":"\u0110ang \u0111\u1EE3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i...","components.OverlayBlocker.title.serverError":"Vi\u1EC7c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i t\u1ED1n nhi\u1EC1u th\u1EDDi gian h\u01A1n mong \u0111\u1EE3i","components.PageFooter.select":"b\u1EA3n ghi tr\xEAn trang","components.ProductionBlocker.description":"V\xEC l\xFD do an to\xE0n ch\xFAng t\xF4i ph\u1EA3i v\xF4 hi\u1EC7u ho\xE1 plugin trong c\xE1c m\xF4i tr\u01B0\u1EDDng kh\xE1c","components.ProductionBlocker.header":"Plugin n\xE0y ch\u1EC9 hi\u1EC7u l\u1EE9c trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n","components.Wysiwyg.collapse":"Thu l\u1EA1i","components.Wysiwyg.selectOptions.H1":"Ti\xEAu \u0111\u1EC1 H1","components.Wysiwyg.selectOptions.H2":"Ti\xEAu \u0111\u1EC1 H2","components.Wysiwyg.selectOptions.H3":"Ti\xEAu \u0111\u1EC1 H3","components.Wysiwyg.selectOptions.H4":"Ti\xEAu \u0111\u1EC1 H4","components.Wysiwyg.selectOptions.H5":"Ti\xEAu \u0111\u1EC1 H5","components.Wysiwyg.selectOptions.H6":"Ti\xEAu \u0111\u1EC1 H6","components.Wysiwyg.selectOptions.title":"Th\xEAm m\u1ED9t ti\xEAu \u0111\u1EC1","components.WysiwygBottomControls.charactersIndicators":"k\xFD t\u1EF1","components.WysiwygBottomControls.fullscreen":"M\u1EDF r\u1ED9ng","components.WysiwygBottomControls.uploadFiles":"K\xE9o v\xE0 th\u1EA3 c\xE1c t\u1EADp tin, d\xE1n t\u1EEB b\u1ED9 nh\u1EDB t\u1EA1m hay {browse}.","components.WysiwygBottomControls.uploadFiles.browse":"ch\u1ECDn t\u1EC7p","components.popUpWarning.message":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 b\u1EA1n mu\u1ED1n xo\xE1 n\xF3?","components.popUpWarning.title":"Vui l\xF2ng x\xE1c nh\u1EADn","content-manager.EditRelations.title":"D\u1EEF Li\u1EC7u Quan H\u1EC7","content-manager.components.AddFilterCTA.add":"L\u1ECDc","content-manager.components.AddFilterCTA.hide":"L\u1ECDc","content-manager.components.DraggableAttr.edit":"Nh\u1EA5n \u0111\u1EC3 ch\u1EC9nh s\u1EEDa","content-manager.components.EmptyAttributesBlock.button":"\u0110\u1EBFn trang c\xE0i \u0111\u1EB7t","content-manager.components.EmptyAttributesBlock.description":"B\u1EA1n c\xF3 th\u1EC3 thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.components.FilterOptions.button.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.FiltersPickWrapper.PluginHeader.description":"C\xE0i \u0111\u1EB7t c\xE1c \u0111i\u1EC1u ki\u1EC7n \u0111\u1EC3 \xE1p d\u1EE5ng cho vi\u1EC7c l\u1ECDc c\xE1c b\u1EA3n ghi","content-manager.components.FiltersPickWrapper.PluginHeader.title.filter":"C\xE1c b\u1ED9 l\u1ECDc","content-manager.components.FiltersPickWrapper.hide":"\u1EA8n \u0111i","content-manager.components.LimitSelect.itemsPerPage":"S\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi trong trang","content-manager.components.Search.placeholder":"T\xECm m\u1ED9t b\u1EA3n ghi...","content-manager.components.TableDelete.delete":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.TableDelete.deleteSelected":"X\xF3a \u0111\xE3 ch\u1ECDn","content-manager.components.TableEmpty.withFilters":"Kh\xF4ng c\xF3 {contentType} v\u1EDBi b\u1ED9 l\u1ECDc \u0111\u01B0\u1EE3c d\xF9ng","content-manager.components.TableEmpty.withSearch":"Kh\xF4ng c\xF3 {contentType} t\u01B0\u01A1ng \u1EE9ng v\u1EDBi t\xECm ki\u1EBFm ({search})...","content-manager.components.TableEmpty.withoutFilter":"Kh\xF4ng c\xF3 {contentType}...","content-manager.containers.Edit.Link.Layout":"C\u1EA5u h\xECnh b\u1ED1 c\u1EE5c","content-manager.containers.Edit.addAnItem":"Th\xEAm m\u1ED9t b\u1EA3n ghi...","content-manager.containers.Edit.clickToJump":"Nh\u1EA5n \u0111\u1EC3 nh\u1EA3y v\xE0o b\u1EA3n ghi","content-manager.containers.Edit.delete":"X\xF3a","content-manager.containers.Edit.editing":"\u0110\u0103ng s\u1EEDa...","content-manager.containers.Edit.pluginHeader.title.new":"T\u1EA1o m\u1ED9t B\u1EA3n ghi","content-manager.containers.Edit.reset":"L\xE0m l\u1EA1i","content-manager.containers.Edit.returnList":"Tr\u1EDF v\u1EC1 danh s\xE1ch","content-manager.containers.Edit.seeDetails":"Chi ti\u1EBFt","content-manager.containers.Edit.submit":"L\u01B0u","content-manager.containers.EditView.notification.errors":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","content-manager.containers.Home.introduction":"\u0110\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c b\u1EA3n ghi c\u1EE7a b\u1EA1n, \u0111i \u0111\u1EBFn li\xEAn k\u1EBFt \u1EDF menu b\xEAn tr\xE1i. Plugin n\xE0y ch\u01B0a c\xF3 c\xE1ch th\xEDch h\u1EE3p \u0111\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c c\xE0i \u0111\u1EB7t v\xE0 n\xF3 v\u1EABn \u0111ang \u0111\u01B0\u1EE3c ph\xE1t tri\u1EC3n.","content-manager.containers.Home.pluginHeaderDescription":"Qu\u1EA3n l\xFD c\xE1c b\u1EA3n ghi th\xF4ng qua m\u1ED9t giao di\u1EC7n m\u1EA1nh v\xE0 \u0111\u1EB9p.","content-manager.containers.Home.pluginHeaderTitle":"Qu\u1EA3n L\xFD N\u1ED9i Dung","content-manager.containers.List.errorFetchRecords":"L\u1ED7i","content-manager.containers.ListPage.displayedFields":"C\xE1c tr\u01B0\u1EDDng \u0111\xE3 \u0111\u01B0\u1EE3c tr\xECnh b\xE0y","content-manager.containers.SettingPage.attributes":"C\xE1c tr\u01B0\u1EDDng thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.attributes.description":"\u0110\u1ECBnh ngh\u0129a th\u1EE9 t\u1EF1 c\xE1c thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.editSettings.description":"K\xE9o & th\u1EA3 c\xE1c tr\u01B0\u1EDDng \u0111\u1EC3 x\xE2y d\u1EF1ng b\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.editSettings.entry.title":"T\xEAn b\u1EA3n ghi","content-manager.containers.SettingPage.editSettings.entry.title.description":"C\xE0i \u0111\u1EB7t tr\u01B0\u1EDDng \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong b\u1EA3n ghi c\u1EE7a b\u1EA1n","content-manager.containers.SettingPage.editSettings.title":"Ch\u1EC9nh s\u1EEDa hi\u1EC3n th\u1ECB (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.layout":"B\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.listSettings.title":"Hi\u1EC3n th\u1ECB danh s\xE1ch (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.relations":"C\xE1c tr\u01B0\u1EDDng Quan H\u1EC7","content-manager.containers.SettingPage.settings":"C\xE1c c\xE0i \u0111\u1EB7t","content-manager.containers.SettingViewModel.pluginHeader.title":"Qu\u1EA3n L\xFD N\u1ED9i Dung - {name}","content-manager.containers.SettingsPage.Block.contentType.description":"C\u1EA5u h\xECnh c\xE1c c\xE0i \u0111\u1EB7t ri\xEAng","content-manager.containers.SettingsPage.Block.generalSettings.title":"Chung","content-manager.containers.SettingsView.list.title":"C\xE1c c\u1EA5u h\xECnh v\u1EC1 Tr\xECnh b\xE0y","content-manager.emptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng n\xE0o h\u1EBFt","content-manager.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","content-manager.error.attribute.taken":"T\xEAn tr\u01B0\u1EDDng n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.model.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\u1EA5u h\xECnh n\u1ED9i dung.","content-manager.error.record.create":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA1o b\u1EA3n ghi.","content-manager.error.record.delete":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi xo\xE1 b\u1EA3n ghi.","content-manager.error.record.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 b\u1EA3n ghi.","content-manager.error.record.update":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi c\u1EADp nh\u1EADt b\u1EA3n ghi.","content-manager.error.records.count":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 s\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi.","content-manager.error.records.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\xE1c b\u1EA3n ghi.","content-manager.error.schema.generation":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi qu\xE1 tr\xECnh t\u1EA1o ra l\u01B0\u1EE3c \u0111\u1ED3.","content-manager.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 \u0111\u1ECBnh d\u1EA1ng JSON","content-manager.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao.","content-manager.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i.","content-manager.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p.","content-manager.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn.","content-manager.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","content-manager.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","content-manager.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","content-manager.form.Input.bulkActions":"K\xEDch ho\u1EA1t ho\u1EA1t \u0111\u1ED9ng g\u1ED9p","content-manager.form.Input.defaultSort":"Thu\u1ED9c t\xEDnh s\u1EAFp x\u1EBFp m\u1EB7c \u0111\u1ECBnh","content-manager.form.Input.description":"M\xF4 t\u1EA3","content-manager.form.Input.description.placeholder":"T\xEAn hi\u1EC3n th\u1ECB trong h\u1ED3 s\u01A1","content-manager.form.Input.editable":"Tr\u01B0\u1EDDng ch\u1EC9nh s\u1EEDa \u0111\u01B0\u1EE3c","content-manager.form.Input.filters":"K\xEDch ho\u1EA1t c\xE1c b\u1ED9 l\u1ECDc","content-manager.form.Input.label":"Nh\xE3n","content-manager.form.Input.label.inputDescription":"Gi\xE1 tr\u1ECB n\xE0y ghi \u0111\xE8 l\xEAn nh\xE3n \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong ph\u1EA7n \u0111\u1EA7u c\u1EE7a b\u1EA3ng","content-manager.form.Input.pageEntries":"B\u1EA3n ghi trong trang","content-manager.form.Input.placeholder":"Ch\u1ED7 ch\u1EDD gi\xE1 tr\u1ECB","content-manager.form.Input.placeholder.placeholder":"Gi\xE1 tr\u1ECB tuy\u1EC7t v\u1EDDi c\u1EE7a t\xF4i","content-manager.form.Input.search":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm","content-manager.form.Input.search.field":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm cho tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.sort.field":"K\xEDch ho\u1EA1t s\u1EAFp x\u1EBFp tr\xEAn tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.wysiwyg":"Tr\xECnh b\xE0y nh\u01B0 l\xE0 WYSIWYG","content-manager.global.displayedFields":"C\xE1c Tr\u01B0\u1EDDng \u0110\xE3 \u0110\u01B0\u1EE3c Tr\xECnh B\xE0y","content-manager.groups":"Nh\xF3m","content-manager.groups.numbered":"Nh\xF3m ({number})","content-manager.notification.error.displayedFields":"B\u1EA1n c\u1EA7n tr\xECnh b\xE0y \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.error.relationship.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 m\u1ED1i quan h\u1EC7.","content-manager.notification.info.SettingPage.disableSort":"B\u1EA1n c\u1EA7n c\xF3 m\u1ED9t thu\u1ED9c t\xEDnh \u0111\u01B0\u1EE3c ph\xE9p s\u1EAFp x\u1EBFp","content-manager.notification.info.minimumFields":"B\u1EA1n c\u1EA7n hi\u1EC3n th\u1ECB \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.upload.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA3i l\xEAn c\xE1c t\u1EADp tin c\u1EE7a b\u1EA1n","content-manager.pageNotFound":"Kh\xF4ng T\xECm Th\u1EA5y Trang","content-manager.plugin.description.long":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.plugin.description.short":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.popUpWarning.bodyMessage.contentType.delete":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.bodyMessage.contentType.delete.all":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 c\xE1c b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.warning.cancelAllSettings":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n h\u1EE7y b\u1ECF c\xE1c thay \u0111\u1ED5i c\u1EE7a b\u1EA1n?","content-manager.popUpWarning.warning.updateAllSettings":"N\xF3 s\u1EBD thay \u0111\u1ED5i t\u1EA5t c\u1EA3 c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.success.record.delete":"\u0110\xE3 xo\xE1","content-manager.success.record.save":"\u0110\xE3 l\u01B0u","form.button.done":"Ho\xE0n th\xE0nh","notification.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra","notification.error.layout":"Kh\xF4ng th\u1EC3 kh\xF4i ph\u1EE5c","notification.form.error.fields":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","request.error.model.unknown":"C\u1EA5u tr\xFAc n\xE0y kh\xF4ng t\u1ED3n t\u1EA1i"}')}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,A,a){(function(e,i){B.exports=i(a(32735))})(this,function(e){return function(i){var P={};function c(o){if(P[o])return P[o].exports;var g=P[o]={i:o,l:!1,exports:{}};return i[o].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=P,c.d=function(o,g,v){c.o(o,g)||Object.defineProperty(o,g,{enumerable:!0,get:v})},c.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},c.t=function(o,g){if(1&g&&(o=c(o)),8&g||4&g&&typeof o=="object"&&o&&o.__esModule)return o;var v=Object.create(null);if(c.r(v),Object.defineProperty(v,"default",{enumerable:!0,value:o}),2&g&&typeof o!="string")for(var k in o)c.d(v,k,function(d){return o[d]}.bind(null,k));return v},c.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return c.d(g,"a",g),g},c.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},c.p="",c(c.s=145)}({0:function(i,P){i.exports=e},145:function(i,P,c){"use strict";c.r(P);var o=c(0);function g(){return(g=Object.assign||function(v){for(var k=1;k<arguments.length;k++){var d=arguments[k];for(var V in d)Object.prototype.hasOwnProperty.call(d,V)&&(v[V]=d[V])}return v}).apply(this,arguments)}P.default=function(v){return o.createElement("svg",g({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v),o.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})},26972:(B,A,a)=>{"use strict";a.d(A,{Z:()=>it});var e=a(32735),i=a(10938),P=a(16540),c=a(84968),o=a(5141),g=a(41072),v=a(16558),k=a(60216),d=a.n(k),V=a(98599),Ee=a.n(V),ye=a(88677),Y=a.n(ye),be=a(49750),Pe=a.n(be),q=a(11856),F=a(9808),_=a(44526),S=a(90662),z=a(37178),O=a(78330),D=a(83281),L=a(5636),ee=a(20001),I=a(95602),te=a(19615),Ce=a(35980),Oe=a(52111),Me=a(23940),Se=a.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:s,handleChange:m,handleChangeAll:E})=>{const b=r.filter(u=>!n.includes(u)),l=s.length===b.length,f=s.length>0,y=({target:{name:u}})=>{E({target:{name:u,value:!l}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:f&&!l,"aria-label":"Select all entries",name:t,onChange:y,value:l},Se()(t))),r.map(u=>e.createElement("td",{key:u},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(u),"aria-label":u,name:u,value:s.includes(u),onValueChange:h=>m({target:{name:u,value:h}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange:()=>{},handleChangeAll:()=>{}},H.propTypes={disabledEvents:d().array,events:d().array,inputValue:d().array,handleChange:d().func,handleChangeAll:d().func,name:d().string.isRequired};const Ie=H,xe=n=>n.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Te=te.default.table`
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,A,a){(function(e,i){B.exports=i(a(32735))})(this,function(e){return function(i){var P={};function c(o){if(P[o])return P[o].exports;var g=P[o]={i:o,l:!1,exports:{}};return i[o].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=P,c.d=function(o,g,v){c.o(o,g)||Object.defineProperty(o,g,{enumerable:!0,get:v})},c.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},c.t=function(o,g){if(1&g&&(o=c(o)),8&g||4&g&&typeof o=="object"&&o&&o.__esModule)return o;var v=Object.create(null);if(c.r(v),Object.defineProperty(v,"default",{enumerable:!0,value:o}),2&g&&typeof o!="string")for(var k in o)c.d(v,k,function(d){return o[d]}.bind(null,k));return v},c.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return c.d(g,"a",g),g},c.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},c.p="",c(c.s=145)}({0:function(i,P){i.exports=e},145:function(i,P,c){"use strict";c.r(P);var o=c(0);function g(){return(g=Object.assign||function(v){for(var k=1;k<arguments.length;k++){var d=arguments[k];for(var V in d)Object.prototype.hasOwnProperty.call(d,V)&&(v[V]=d[V])}return v}).apply(this,arguments)}P.default=function(v){return o.createElement("svg",g({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v),o.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})},1430:(B,A,a)=>{"use strict";a.d(A,{Z:()=>it});var e=a(32735),i=a(83985),P=a(16540),c=a(84968),o=a(5141),g=a(28492),v=a(81999),k=a(60216),d=a.n(k),V=a(98599),Ee=a.n(V),ye=a(88677),Y=a.n(ye),be=a(49750),Pe=a.n(be),q=a(11856),F=a(9808),_=a(44526),S=a(90662),z=a(37178),O=a(78330),D=a(83281),L=a(5636),ee=a(20001),I=a(95602),te=a(19615),Ce=a(35980),Oe=a(52111),Me=a(23940),Se=a.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:s,handleChange:m,handleChangeAll:E})=>{const b=r.filter(u=>!n.includes(u)),l=s.length===b.length,f=s.length>0,y=({target:{name:u}})=>{E({target:{name:u,value:!l}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:f&&!l,"aria-label":"Select all entries",name:t,onChange:y,value:l},Se()(t))),r.map(u=>e.createElement("td",{key:u},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(u),"aria-label":u,name:u,value:s.includes(u),onValueChange:h=>m({target:{name:u,value:h}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange:()=>{},handleChangeAll:()=>{}},H.propTypes={disabledEvents:d().array,events:d().array,inputValue:d().array,handleChange:d().func,handleChangeAll:d().func,name:d().string.isRequired};const Ie=H,xe=n=>n.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Te=te.default.table`
2
2
  td {
3
3
  height: ${52/16}rem;
4
4
  width: 10%;
@@ -20,4 +20,4 @@
20
20
  path {
21
21
  fill: ${n.colors[t]};
22
22
  }
23
- `),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel:()=>{},response:{}},Q.propTypes={isPending:d().bool,onCancel:d().func,response:d().object};const ze=Q;var x=a(5173);const He=new RegExp("(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)"),Ne=new RegExp("(^$)|((https?://.*)(d*)/?(.*))"),Ze=x.Ry().shape({name:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(He,i.translatedErrors.regex),url:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(Ne,i.translatedErrors.regex),headers:x.Vo(n=>{let t=x.IX();if(n.length===1){const{key:r,value:s}=n[0];if(!r&&!s)return t}return t.of(x.Ry().shape({key:x.Z_().required(i.translatedErrors.required),value:x.Z_().required(i.translatedErrors.required)}))}),events:x.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:s,isTriggering:m,triggerResponse:E,isDraftAndPublishEvents:b})=>{const{formatMessage:l}=(0,L.useIntl)(),[f,y]=(0,e.useState)(!1);return e.createElement(D.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([u,h])=>({key:u,value:h})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:u,errors:h})=>e.createElement(i.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(S.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),y(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:s||m,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:u,type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"}))),title:s?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(S.Stack,{spacing:4},f&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ze,{isPending:m,response:E,onCancel:()=>y(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(S.Stack,{spacing:6},e.createElement(O.Grid,{gap:6},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:z.TextInput,name:"name",error:h.name&&l({id:h.name}),label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(O.GridItem,{col:12},e.createElement(D.Field,{as:z.TextInput,name:"url",error:h.url&&l({id:h.url}),label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ue,null),e.createElement(we,{isDraftAndPublish:b})))))))};J.propTypes={data:d().object,handleSubmit:d().func.isRequired,triggerWebhook:d().func.isRequired,isCreating:d().bool.isRequired,isDraftAndPublishEvents:d().bool.isRequired,isTriggering:d().bool.isRequired,triggerResponse:d().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=a(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(ue)for(var r of ue(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:s,value:m}=r;return s!==""?tt(me({},t),{[s]:m}):t},{}),ge=nt;var pe=a(98399),at=Object.defineProperty,fe=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,lt=(n,t)=>{for(var r in t||(t={}))st.call(t,r)&&he(n,r,t[r]);if(fe)for(var r of fe(t))ot.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((s,m)=>{var E=f=>{try{l(r.next(f))}catch(y){m(y)}},b=f=>{try{l(r.throw(f))}catch(y){m(y)}},l=f=>f.done?s(f.value):Promise.resolve(f.value).then(E,b);l((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,o.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,o.useHistory)(),{lockApp:r,unlockApp:s}=(0,i.useOverlayBlocker)(),m=(0,i.useNotification)(),E=(0,c.useQueryClient)(),{isLoading:b,collectionTypes:l}=(0,g.bP)(),f=n==="create",y=(0,e.useCallback)(M=>ve(void 0,null,function*(){const[R,{data:mt}]=yield(0,i.to)((0,i.request)(`/admin/webhooks/${M}`,{method:"GET"}));return R?(m({type:"warning",message:{id:"notification.error"}}),null):mt}),[m]),{isLoading:u,data:h}=(0,c.useQuery)(["get-webhook",n],()=>y(n),{enabled:!f}),{isLoading:p,data:T,isIdle:C,mutate:w}=(0,c.useMutation)(()=>v.be.post(`/admin/webhooks/${n}/trigger`)),G=()=>w(null,{onError:()=>{m({type:"warning",message:{id:"notification.error"}})}}),K=(0,c.useMutation)(M=>(0,i.request)("/admin/webhooks",{method:"POST",body:M})),dt=(0,c.useMutation)(({id:M,body:R})=>(0,i.request)(`/admin/webhooks/${M}`,{method:"PUT",body:R})),ut=M=>ve(void 0,null,function*(){f?(r(),K.mutate(ge(M),{onSuccess:R=>{m({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${R.data.id}`),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}})):(r(),dt.mutate({id:n,body:ge(M)},{onSuccess:()=>{E.invalidateQueries(["get-webhook",n]),m({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}}))}),ct=(0,e.useMemo)(()=>l.some(M=>M.options.draftAndPublish===!0),[l]);return u||b?e.createElement(i.LoadingIndicatorPage,null):e.createElement(P.Main,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,lt({},{handleSubmit:ut,data:h,triggerWebhook:G,isCreating:f,isTriggering:p,isTriggerIdle:C,triggerResponse:T==null?void 0:T.data.data,isDraftAndPublishEvents:ct})))}},12935:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(10938),P=a.n(i),c=a(2805),o=a(26972);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},91849:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(10938),P=a.n(i),c=a(2805),o=a(26972);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);
23
+ `),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel:()=>{},response:{}},Q.propTypes={isPending:d().bool,onCancel:d().func,response:d().object};const ze=Q;var x=a(5173);const He=new RegExp("(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)"),Ne=new RegExp("(^$)|((https?://.*)(d*)/?(.*))"),Ze=x.Ry().shape({name:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(He,i.translatedErrors.regex),url:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(Ne,i.translatedErrors.regex),headers:x.Vo(n=>{let t=x.IX();if(n.length===1){const{key:r,value:s}=n[0];if(!r&&!s)return t}return t.of(x.Ry().shape({key:x.Z_().required(i.translatedErrors.required),value:x.Z_().required(i.translatedErrors.required)}))}),events:x.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:s,isTriggering:m,triggerResponse:E,isDraftAndPublishEvents:b})=>{const{formatMessage:l}=(0,L.useIntl)(),[f,y]=(0,e.useState)(!1);return e.createElement(D.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([u,h])=>({key:u,value:h})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:u,errors:h})=>e.createElement(i.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(S.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),y(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:s||m,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:u,type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"}))),title:s?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(S.Stack,{spacing:4},f&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ze,{isPending:m,response:E,onCancel:()=>y(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(S.Stack,{spacing:6},e.createElement(O.Grid,{gap:6},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:z.TextInput,name:"name",error:h.name&&l({id:h.name}),label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(O.GridItem,{col:12},e.createElement(D.Field,{as:z.TextInput,name:"url",error:h.url&&l({id:h.url}),label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ue,null),e.createElement(we,{isDraftAndPublish:b})))))))};J.propTypes={data:d().object,handleSubmit:d().func.isRequired,triggerWebhook:d().func.isRequired,isCreating:d().bool.isRequired,isDraftAndPublishEvents:d().bool.isRequired,isTriggering:d().bool.isRequired,triggerResponse:d().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=a(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(ue)for(var r of ue(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:s,value:m}=r;return s!==""?tt(me({},t),{[s]:m}):t},{}),ge=nt;var pe=a(98399),at=Object.defineProperty,fe=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,lt=(n,t)=>{for(var r in t||(t={}))st.call(t,r)&&he(n,r,t[r]);if(fe)for(var r of fe(t))ot.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((s,m)=>{var E=f=>{try{l(r.next(f))}catch(y){m(y)}},b=f=>{try{l(r.throw(f))}catch(y){m(y)}},l=f=>f.done?s(f.value):Promise.resolve(f.value).then(E,b);l((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,o.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,o.useHistory)(),{lockApp:r,unlockApp:s}=(0,i.useOverlayBlocker)(),m=(0,i.useNotification)(),E=(0,c.useQueryClient)(),{isLoading:b,collectionTypes:l}=(0,g.bP)(),f=n==="create",y=(0,e.useCallback)(M=>ve(void 0,null,function*(){const[R,{data:mt}]=yield(0,i.to)((0,i.request)(`/admin/webhooks/${M}`,{method:"GET"}));return R?(m({type:"warning",message:{id:"notification.error"}}),null):mt}),[m]),{isLoading:u,data:h}=(0,c.useQuery)(["get-webhook",n],()=>y(n),{enabled:!f}),{isLoading:p,data:T,isIdle:C,mutate:w}=(0,c.useMutation)(()=>v.be.post(`/admin/webhooks/${n}/trigger`)),G=()=>w(null,{onError:()=>{m({type:"warning",message:{id:"notification.error"}})}}),K=(0,c.useMutation)(M=>(0,i.request)("/admin/webhooks",{method:"POST",body:M})),dt=(0,c.useMutation)(({id:M,body:R})=>(0,i.request)(`/admin/webhooks/${M}`,{method:"PUT",body:R})),ut=M=>ve(void 0,null,function*(){f?(r(),K.mutate(ge(M),{onSuccess:R=>{m({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${R.data.id}`),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}})):(r(),dt.mutate({id:n,body:ge(M)},{onSuccess:()=>{E.invalidateQueries(["get-webhook",n]),m({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}}))}),ct=(0,e.useMemo)(()=>l.some(M=>M.options.draftAndPublish===!0),[l]);return u||b?e.createElement(i.LoadingIndicatorPage,null):e.createElement(P.Main,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,lt({},{handleSubmit:ut,data:h,triggerWebhook:G,isCreating:f,isTriggering:p,isTriggerIdle:C,triggerResponse:T==null?void 0:T.data.data,isDraftAndPublishEvents:ct})))}},31854:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(83985),P=a.n(i),c=a(79613),o=a(1430);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},24305:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(83985),P=a.n(i),c=a(79613),o=a(1430);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);