@strapi/admin 4.3.0-beta.1 → 4.3.0-beta.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 (108) hide show
  1. package/admin/src/components/OverlayBlocker/index.js +4 -0
  2. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +1 -1
  3. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +7 -13
  4. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +1 -0
  5. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +1 -1
  6. package/admin/src/content-manager/pages/ListView/index.js +2 -2
  7. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/index.js +4 -4
  8. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/utils/api.js +2 -2
  9. package/admin/src/pages/InstalledPluginsPage/Plugins.js +2 -2
  10. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +7 -8
  11. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +8 -2
  12. package/admin/src/pages/MarketplacePage/index.js +9 -39
  13. package/admin/src/translations/en.json +2 -0
  14. package/admin/src/translations/hi.json +699 -0
  15. package/admin/src/translations/languageNativeNames.js +2 -0
  16. package/admin/src/translations/pl.json +238 -233
  17. package/admin/src/translations/sa.json +698 -0
  18. package/admin/src/translations/zh-Hans.json +28 -1
  19. package/build/{4073.e144a91a.chunk.js → 2336.cb1c0d6e.chunk.js} +1 -1
  20. package/build/{6229.53b33cf0.chunk.js → 2863.bf3c1eff.chunk.js} +2 -2
  21. package/build/3531.ef1d2cfc.chunk.js +10 -0
  22. package/build/{4715.4588fdf5.chunk.js → 4715.a6e62860.chunk.js} +8 -8
  23. package/build/5250.9988a0ad.chunk.js +12 -0
  24. package/build/{1820.ca954075.chunk.js → 5520.9dcd6a9f.chunk.js} +6 -6
  25. package/build/5833.970a963d.chunk.js +112 -0
  26. package/build/6925.fb35248e.chunk.js +761 -0
  27. package/build/8773.16dea88d.chunk.js +327 -0
  28. package/build/{472.d43be8bb.chunk.js → 9166.5c585d7c.chunk.js} +25 -25
  29. package/build/Admin-authenticatedApp.d38dc4dd.chunk.js +80 -0
  30. package/build/Admin_homePage.e3571a75.chunk.js +71 -0
  31. package/build/Admin_marketplace.284bf8fc.chunk.js +11 -0
  32. package/build/Admin_pluginsPage.8537476f.chunk.js +1 -0
  33. package/build/{Admin_profilePage.27191ed2.chunk.js → Admin_profilePage.b7f85e78.chunk.js} +2 -2
  34. package/build/Admin_settingsPage.858ef0d7.chunk.js +178 -0
  35. package/build/admin-edit-roles-page.33647266.chunk.js +1 -0
  36. package/build/admin-edit-users.8cd7519b.chunk.js +10 -0
  37. package/build/{admin-users.47d06d24.chunk.js → admin-users.6581eec5.chunk.js} +3 -3
  38. package/build/{api-tokens-edit-page.afece2fe.chunk.js → api-tokens-create-page.efa1d2aa.chunk.js} +1 -1
  39. package/build/api-tokens-edit-page.6101f051.chunk.js +1 -0
  40. package/build/{api-tokens-list-page.46d96dee.chunk.js → api-tokens-list-page.782e872f.chunk.js} +2 -2
  41. package/build/{codemirror-css.b467b1de.chunk.js → codemirror-css.4e2bbed3.chunk.js} +2 -2
  42. package/build/codemirror-theme.a82cae4e.chunk.js +34 -0
  43. package/build/{content-manager.afcc3624.chunk.js → content-manager.adf6fc82.chunk.js} +58 -58
  44. package/build/content-type-builder-translation-pl-json.4a42349b.chunk.js +1 -0
  45. package/build/content-type-builder.366a3b10.chunk.js +142 -0
  46. package/build/{cropper-css.ecc0d670.chunk.js → cropper-css.12fe038c.chunk.js} +4 -4
  47. package/build/{email-settings-page.8871dfe8.chunk.js → email-settings-page.d72e7f4c.chunk.js} +2 -2
  48. package/build/email-translation-pl-json.a03bcf98.chunk.js +1 -0
  49. package/build/{en-json.0a5ba154.chunk.js → en-json.729eb94d.chunk.js} +1 -1
  50. package/build/{fontawesome-css-all.04f33619.chunk.js → fontawesome-css-all.15068c6e.chunk.js} +2 -2
  51. package/build/{fontawesome-css.477ba714.chunk.js → fontawesome-css.418f40da.chunk.js} +2 -2
  52. package/build/hi-json.b4ae16d1.chunk.js +1 -0
  53. package/build/highlight.js.af2de364.chunk.js +86 -0
  54. package/build/i18n-settings-page.8803df0b.chunk.js +101 -0
  55. package/build/i18n-translation-pl-json.cea5bf23.chunk.js +1 -0
  56. package/build/index.html +1 -1
  57. package/build/main.689d6439.js +8688 -0
  58. package/build/pl-json.4d11f53d.chunk.js +1 -0
  59. package/build/runtime~main.308a7c41.js +2 -0
  60. package/build/sa-json.be504091.chunk.js +1 -0
  61. package/build/{sso-settings-page.dfb0b917.chunk.js → sso-settings-page.2bae79df.chunk.js} +1 -1
  62. package/build/{upload-settings.8d8c672a.chunk.js → upload-settings.f1e587c0.chunk.js} +6 -6
  63. package/build/upload-translation-en-json.fddec9a6.chunk.js +1 -0
  64. package/build/upload-translation-pl-json.c1f86b50.chunk.js +1 -0
  65. package/build/upload.1346f4b1.chunk.js +7 -0
  66. package/build/{users-advanced-settings-page.4af9e241.chunk.js → users-advanced-settings-page.f38654fc.chunk.js} +1 -1
  67. package/build/{users-email-settings-page.d69c0d87.chunk.js → users-email-settings-page.824a3cdb.chunk.js} +5 -5
  68. package/build/users-permissions-translation-en-json.765abf48.chunk.js +1 -0
  69. package/build/users-permissions-translation-pl-json.1dbdd4a1.chunk.js +1 -0
  70. package/build/{users-providers-settings-page.fc1fda6d.chunk.js → users-providers-settings-page.82a4ba58.chunk.js} +1 -1
  71. package/build/users-roles-settings-page.1206751f.chunk.js +30 -0
  72. package/build/{webhook-edit-page.a7ae6e3b.chunk.js → webhook-edit-page.5c9bada0.chunk.js} +2 -2
  73. package/build/{webhook-list-page.057f396c.chunk.js → webhook-list-page.822927af.chunk.js} +1 -1
  74. package/build/zh-Hans-json.cbc69f3d.chunk.js +1 -0
  75. package/package.json +27 -25
  76. package/server/controllers/admin.js +2 -0
  77. package/webpack.alias.js +30 -19
  78. package/webpack.config.js +6 -1
  79. package/admin/src/pages/MarketplacePage/utils/api.js +0 -9
  80. package/build/3531.231e0eb6.chunk.js +0 -10
  81. package/build/5250.24040688.chunk.js +0 -11
  82. package/build/6925.fafef528.chunk.js +0 -761
  83. package/build/7418.6db737ce.chunk.js +0 -112
  84. package/build/8773.54a26ded.chunk.js +0 -327
  85. package/build/Admin-authenticatedApp.52f3c150.chunk.js +0 -80
  86. package/build/Admin_homePage.0ac648e8.chunk.js +0 -71
  87. package/build/Admin_marketplace.71c66b49.chunk.js +0 -11
  88. package/build/Admin_pluginsPage.788fb2f6.chunk.js +0 -1
  89. package/build/Admin_settingsPage.021da806.chunk.js +0 -178
  90. package/build/admin-edit-roles-page.fb374555.chunk.js +0 -1
  91. package/build/admin-edit-users.a360deaf.chunk.js +0 -10
  92. package/build/api-tokens-create-page.698f132d.chunk.js +0 -1
  93. package/build/codemirror-theme.cf9f9eb6.chunk.js +0 -34
  94. package/build/content-type-builder-translation-pl-json.a866acda.chunk.js +0 -1
  95. package/build/content-type-builder.e73879b9.chunk.js +0 -141
  96. package/build/email-translation-pl-json.6da50d0f.chunk.js +0 -1
  97. package/build/highlight.js.3381ffc3.chunk.js +0 -86
  98. package/build/i18n-settings-page.dfb4eb01.chunk.js +0 -101
  99. package/build/main.ca3856ed.js +0 -8640
  100. package/build/pl-json.f65302c2.chunk.js +0 -1
  101. package/build/runtime~main.48a46dd2.js +0 -2
  102. package/build/upload-translation-en-json.e78688a0.chunk.js +0 -1
  103. package/build/upload-translation-pl-json.e534b676.chunk.js +0 -1
  104. package/build/upload.5622b777.chunk.js +0 -7
  105. package/build/users-permissions-translation-en-json.3fe86528.chunk.js +0 -1
  106. package/build/users-permissions-translation-pl-json.3c4fe81c.chunk.js +0 -1
  107. package/build/users-roles-settings-page.988ebc3b.chunk.js +0 -30
  108. package/build/zh-Hans-json.c84ce330.chunk.js +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(88425),b=a(90201),T=a(88369),_=a(44526),D=a(11856),y=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),E=a(5636),A=a(84968),V=a(58469),x=a(59677),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,E.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},v=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:()=>v(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:()=>v(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,E.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),[v,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(v),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(y.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(82069),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),vt=a.n(Pt);const yt=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"}}},Et=(0,W.default)(I.Box)`
2
+ margin: -1px;
3
+ border-radius: ${({theme:r})=>r.spaces[1]} 0 0 ${({theme:r})=>r.spaces[1]};
4
+ `;function J({route:r}){const{formatMessage:e}=(0,E.useIntl)(),{method:t,handler:i,path:u}=r,l=u?vt()(u.split("/")):[],[d="",o=""]=i?i.split("."):[],n=yt(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(Et,{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,E.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`
5
+ background: ${r=>r.theme.colors.primary100};
6
+ svg {
7
+ opacity: 1;
8
+ }
9
+ `,St=(0,W.default)(I.Box)`
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+
14
+ svg {
15
+ opacity: 0;
16
+ path {
17
+ fill: ${r=>r.theme.colors.primary600};
18
+ }
19
+ }
20
+
21
+ /* Show active style both on hover and when the action is selected */
22
+ ${r=>r.isActive&&Pe}
23
+ &:hover {
24
+ ${Pe}
25
+ }
26
+ `,wt=W.default.div`
27
+ flex: 1;
28
+ align-self: center;
29
+ border-top: 1px solid ${({theme:r})=>r.colors.neutral150};
30
+ `,ve=({subCategory:r})=>{const{formatMessage:e}=(0,E.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]),v=(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:v(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))))}))))};ve.propTypes={subCategory:h().object.isRequired};const Mt=ve;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Ee=(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)&&Ee(r,t,e[t]);if(ye)for(var t of ye(e))Bt.call(e,t)&&Ee(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,E.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},vr=(r,e)=>pr(r,mr(e));const yr=(r,e,t)=>vr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var Er=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?Er(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,E.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>yr(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:v}})=>l({type:"ON_CHANGE",keys:g.split("."),value:v==="empty__string_value"?"":v}),o=({target:{name:g,value:v}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:v}),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 v=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:v,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(8917);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(void 0,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,E.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:v}=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 v?s.createElement(p.LoadingIndicatorPage,null):s.createElement(y.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,vs=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,Es=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={}))ys.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))Es.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,vs(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,E.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)(),v=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=v.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(y.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:v,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})))},8917:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(88425),b=a.n(p),T=(y,f,U)=>new Promise((P,B)=>{var F=A=>{try{E(U.next(A))}catch(V){B(V)}},N=A=>{try{E(U.throw(A))}catch(V){B(V)}},E=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);E((U=U.apply(y,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(y=>T(void 0,null,function*(){return y.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},y}),y=>{Promise.reject(y)}),_.interceptors.response.use(y=>y,y=>{var f;throw((f=y.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),y});const D=_},59677:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>y.Z});var s=a(8917),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,E)=>((0,C.isEmpty)(B[E])||(N[E]=B[E]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(90201);const D=f=>`/${T.Z}/${f}`;var y=a(82069)}}]);
@@ -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"}))}}})})},47272:(B,A,a)=>{"use strict";a.d(A,{Z:()=>it});var e=a(32735),i=a(88425),P=a(16540),c=a(84968),o=a(5141),g=a(45861),v=a(17247),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})))}},33238:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(88425),P=a.n(i),c=a(72041),o=a(47272);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},59021:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(88425),P=a.n(i),c=a(72041),o=a(47272);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);
@@ -130,4 +130,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
130
130
  flex-wrap: `,`;
131
131
  `,`};
132
132
  justify-content: `,`;
133
- `])),function(t){return t.alignItems},function(t){return t.inline?"inline-flex":"flex"},function(t){return t.direction},function(t){return t.wrap},function(t){var d=t.gap,j=t.theme;return Object(m.a)("gap",d,j)},function(t){return t.justifyContent});e.defaultProps=k,e.propTypes=L}})})},54999:(V,z,p)=>{"use strict";p.r(z),p.d(z,{default:()=>Ee});var i=p(32735),w=p(10938),o=p(2805),b=p(5141),n=p(5636),a=p(11856),r=p(64354),u=p(19192),l=p(90662),f=p(20763),c=p(35980),m=p(53214),E=p(95602),C=p(44526),s=p(28004),y=p(55470),S=p(16540),k=p(29270),L=p(9808),D=p(59290),e=p.n(D),t=p(95717),d=p.n(t),j=p(76470),B=p.n(j),O=p(97042),_=p.n(O),ee=p(49415),ne=p(3040),G=p.n(ne);const $={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},Q=(x,v)=>(0,ee.default)(x,g=>{switch(v.type){case"GET_DATA_SUCCEEDED":{g.webhooks=v.data,g.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{g.loadingWebhooks=!x.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{G()(g,["webhooks",...v.keys],v.value);break}case"SET_WEBHOOK_TO_DELETE":{g.webhookToDelete=v.id;break}case"SET_WEBHOOKS_TO_DELETE":{v.value?g.webhooksToDelete.push(v.id):g.webhooksToDelete=x.webhooksToDelete.filter(P=>P!==v.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{x.webhooksToDelete.length===0?g.webhooksToDelete=x.webhooks.map(P=>P.id):g.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{g.webhooks=x.webhooks.filter(P=>!x.webhooksToDelete.includes(P.id)),g.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{g.webhooks=x.webhooks.filter((P,H)=>H!==v.index),g.webhookToDelete=null;break}default:return g}});var te=p(98399),pe=Object.defineProperty,he=Object.defineProperties,me=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,ie=(x,v,g)=>v in x?pe(x,v,{enumerable:!0,configurable:!0,writable:!0,value:g}):x[v]=g,F=(x,v)=>{for(var g in v||(v={}))be.call(v,g)&&ie(x,g,v[g]);if(ae)for(var g of ae(v))ge.call(v,g)&&ie(x,g,v[g]);return x},ve=(x,v)=>he(x,me(v)),X=(x,v,g)=>new Promise((P,H)=>{var N=A=>{try{T(g.next(A))}catch(R){H(R)}},W=A=>{try{T(g.throw(A))}catch(R){H(R)}},T=A=>A.done?P(A.value):Promise.resolve(A.value).then(N,W);T((g=g.apply(x,v)).next())});const ye=()=>{const{isLoading:x,allowedActions:{canCreate:v,canRead:g,canUpdate:P,canDelete:H}}=(0,w.useRBAC)(o.Z.settings.webhooks),N=(0,w.useNotification)(),W=(0,i.useRef)(!0),{formatMessage:T}=(0,n.useIntl)(),[A,R]=(0,i.useState)(!1),[{webhooks:Z,webhooksToDelete:Y,webhookToDelete:oe,loadingWebhooks:re},I]=(0,i.useReducer)(Q,$),{notifyStatus:xe}=(0,k.useNotifyAT)();(0,w.useFocusWhenNavigate)();const{push:Te}=(0,b.useHistory)(),{pathname:se}=(0,b.useLocation)(),J=Z.length,K=Y.length,le=h=>Z.findIndex(M=>M.id===h);(0,i.useEffect)(()=>(W.current=!0,()=>{W.current=!1}),[]),(0,i.useEffect)(()=>{g&&Oe()},[g]);const Oe=()=>X(void 0,null,function*(){try{const{data:h}=yield(0,w.request)("/admin/webhooks",{method:"GET"});W.current&&(I({type:"GET_DATA_SUCCEEDED",data:h}),xe("webhooks have been loaded"))}catch(h){te.log(h),W.current&&(h.code!==20&&N({type:"warning",message:{id:"notification.error"}}),I({type:"TOGGLE_LOADING"}))}}),we=()=>{R(h=>!h)},Se=()=>{oe?ke():Le()},ke=()=>X(void 0,null,function*(){try{yield(0,w.request)(`/admin/webhooks/${oe}`,{method:"DELETE"}),I({type:"WEBHOOK_DELETED",index:le(oe)})}catch(h){h.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),Le=()=>X(void 0,null,function*(){const h={ids:Y};try{yield(0,w.request)("/admin/webhooks/batch-delete",{method:"POST",body:h}),W.current&&I({type:"WEBHOOKS_DELETED"})}catch(M){W.current&&M.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),ue=h=>{R(!0),h!=="all"&&I({type:"SET_WEBHOOK_TO_DELETE",id:h})},Ce=(h,M)=>X(void 0,null,function*(){const ce=le(M),Me=Z[ce],de=[ce,"isEnabled"],fe=ve(F({},Me),{isEnabled:h});delete fe.id;try{I({type:"SET_WEBHOOK_ENABLED",keys:de,value:h}),yield(0,w.request)(`/admin/webhooks/${M}`,{method:"PUT",body:fe})}catch(je){W.current&&(I({type:"SET_WEBHOOK_ENABLED",keys:de,value:!h}),je.code!==20&&N({type:"warning",message:{id:"notification.error"}}))}}),De=()=>{I({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Pe=(h,M)=>{I({type:"SET_WEBHOOKS_TO_DELETE",value:h,id:M})},q=h=>{Te(`${se}/${h}`)};return i.createElement(a.Layout,null,i.createElement(w.SettingsPageTitle,{name:"Webhooks"}),i.createElement(S.Main,{"aria-busy":x||re},i.createElement(a.HeaderLayout,{title:T({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:T({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:v&&!re&&i.createElement(w.LinkButton,{startIcon:i.createElement(e(),null),variant:"default",to:`${se}/create`,size:"L"},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),K>0&&H&&i.createElement(a.ActionLayout,{startActions:i.createElement(i.Fragment,null,i.createElement(E.Typography,{variant:"epsilon",textColor:"neutral600"},T({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:K})),i.createElement(C.Button,{onClick:()=>ue("all"),startIcon:i.createElement(B(),null),size:"L",variant:"danger-light"},T({id:"global.delete",defaultMessage:"Delete"})))}),i.createElement(a.ContentLayout,null,x||re?i.createElement(L.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},i.createElement(w.LoadingIndicatorPage,null)):i.createElement(i.Fragment,null,J>0?i.createElement(m.Table,{colCount:5,rowCount:J+1,footer:i.createElement(m.TFooter,{onClick:()=>v?q("create"):{},icon:i.createElement(e(),null)},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},i.createElement(m.Thead,null,i.createElement(m.Tr,null,i.createElement(m.Th,null,i.createElement(c.BaseCheckbox,{"aria-label":T({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:K>0&&K<J,value:K===J,onValueChange:De})),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"global.name",defaultMessage:"Name"}))),i.createElement(m.Th,{width:"60%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),i.createElement(m.Th,null,i.createElement(s.VisuallyHidden,null,T({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),i.createElement(m.Tbody,null,Z.map(h=>i.createElement(m.Tr,F({key:h.id},(0,w.onRowClick)({fn:()=>q(h.id),condition:P})),i.createElement(m.Td,F({},w.stopPropagation),i.createElement(c.BaseCheckbox,{"aria-label":`${T({id:"global.select",defaultMessage:"Select"})} ${h.name}`,value:Y==null?void 0:Y.includes(h.id),onValueChange:M=>Pe(M,h.id),id:"select",name:"select"})),i.createElement(m.Td,null,i.createElement(E.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),i.createElement(m.Td,null,i.createElement(E.Typography,{textColor:"neutral800"},h.url)),i.createElement(m.Td,null,i.createElement(u.Flex,F({},w.stopPropagation),i.createElement(y.Switch,{onLabel:T({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:T({id:"global.disabled",defaultMessage:"Disabled"}),label:`${h.name} ${T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:h.isEnabled,onChange:()=>Ce(!h.isEnabled,h.id),visibleLabels:!0}))),i.createElement(m.Td,null,i.createElement(l.Stack,F({horizontal:!0,spacing:1},w.stopPropagation),P&&i.createElement(f.IconButton,{onClick:()=>{q(h.id)},label:T({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:i.createElement(d(),null),noBorder:!0}),H&&i.createElement(f.IconButton,{onClick:()=>ue(h.id),label:T({id:"global.delete",defaultMessage:"Delete"}),icon:i.createElement(B(),null),noBorder:!0,id:`delete-${h.id}`}))))))):i.createElement(r.EmptyStateLayout,{icon:i.createElement(_(),{width:"160px"}),content:T({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:i.createElement(C.Button,{variant:"secondary",startIcon:i.createElement(e(),null),onClick:()=>v?q("create"):{}},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),i.createElement(w.ConfirmDialog,{isOpen:A,onToggleDialog:we,onConfirm:Se}))},Ee=()=>i.createElement(w.CheckPagePermissions,{permissions:o.Z.settings.webhooks.main},i.createElement(ye,null))}}]);
133
+ `])),function(t){return t.alignItems},function(t){return t.inline?"inline-flex":"flex"},function(t){return t.direction},function(t){return t.wrap},function(t){var d=t.gap,j=t.theme;return Object(m.a)("gap",d,j)},function(t){return t.justifyContent});e.defaultProps=k,e.propTypes=L}})})},70791:(V,z,p)=>{"use strict";p.r(z),p.d(z,{default:()=>Ee});var i=p(32735),w=p(88425),o=p(72041),b=p(5141),n=p(5636),a=p(11856),r=p(64354),u=p(19192),l=p(90662),f=p(20763),c=p(35980),m=p(53214),E=p(95602),C=p(44526),s=p(28004),y=p(55470),S=p(16540),k=p(29270),L=p(9808),D=p(59290),e=p.n(D),t=p(95717),d=p.n(t),j=p(76470),B=p.n(j),O=p(97042),_=p.n(O),ee=p(49415),ne=p(3040),G=p.n(ne);const $={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},Q=(x,v)=>(0,ee.default)(x,g=>{switch(v.type){case"GET_DATA_SUCCEEDED":{g.webhooks=v.data,g.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{g.loadingWebhooks=!x.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{G()(g,["webhooks",...v.keys],v.value);break}case"SET_WEBHOOK_TO_DELETE":{g.webhookToDelete=v.id;break}case"SET_WEBHOOKS_TO_DELETE":{v.value?g.webhooksToDelete.push(v.id):g.webhooksToDelete=x.webhooksToDelete.filter(P=>P!==v.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{x.webhooksToDelete.length===0?g.webhooksToDelete=x.webhooks.map(P=>P.id):g.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{g.webhooks=x.webhooks.filter(P=>!x.webhooksToDelete.includes(P.id)),g.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{g.webhooks=x.webhooks.filter((P,H)=>H!==v.index),g.webhookToDelete=null;break}default:return g}});var te=p(98399),pe=Object.defineProperty,he=Object.defineProperties,me=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,ie=(x,v,g)=>v in x?pe(x,v,{enumerable:!0,configurable:!0,writable:!0,value:g}):x[v]=g,F=(x,v)=>{for(var g in v||(v={}))be.call(v,g)&&ie(x,g,v[g]);if(ae)for(var g of ae(v))ge.call(v,g)&&ie(x,g,v[g]);return x},ve=(x,v)=>he(x,me(v)),X=(x,v,g)=>new Promise((P,H)=>{var N=A=>{try{T(g.next(A))}catch(R){H(R)}},W=A=>{try{T(g.throw(A))}catch(R){H(R)}},T=A=>A.done?P(A.value):Promise.resolve(A.value).then(N,W);T((g=g.apply(x,v)).next())});const ye=()=>{const{isLoading:x,allowedActions:{canCreate:v,canRead:g,canUpdate:P,canDelete:H}}=(0,w.useRBAC)(o.Z.settings.webhooks),N=(0,w.useNotification)(),W=(0,i.useRef)(!0),{formatMessage:T}=(0,n.useIntl)(),[A,R]=(0,i.useState)(!1),[{webhooks:Z,webhooksToDelete:Y,webhookToDelete:oe,loadingWebhooks:re},I]=(0,i.useReducer)(Q,$),{notifyStatus:xe}=(0,k.useNotifyAT)();(0,w.useFocusWhenNavigate)();const{push:Te}=(0,b.useHistory)(),{pathname:se}=(0,b.useLocation)(),J=Z.length,K=Y.length,le=h=>Z.findIndex(M=>M.id===h);(0,i.useEffect)(()=>(W.current=!0,()=>{W.current=!1}),[]),(0,i.useEffect)(()=>{g&&Oe()},[g]);const Oe=()=>X(void 0,null,function*(){try{const{data:h}=yield(0,w.request)("/admin/webhooks",{method:"GET"});W.current&&(I({type:"GET_DATA_SUCCEEDED",data:h}),xe("webhooks have been loaded"))}catch(h){te.log(h),W.current&&(h.code!==20&&N({type:"warning",message:{id:"notification.error"}}),I({type:"TOGGLE_LOADING"}))}}),we=()=>{R(h=>!h)},Se=()=>{oe?ke():Le()},ke=()=>X(void 0,null,function*(){try{yield(0,w.request)(`/admin/webhooks/${oe}`,{method:"DELETE"}),I({type:"WEBHOOK_DELETED",index:le(oe)})}catch(h){h.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),Le=()=>X(void 0,null,function*(){const h={ids:Y};try{yield(0,w.request)("/admin/webhooks/batch-delete",{method:"POST",body:h}),W.current&&I({type:"WEBHOOKS_DELETED"})}catch(M){W.current&&M.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),ue=h=>{R(!0),h!=="all"&&I({type:"SET_WEBHOOK_TO_DELETE",id:h})},Ce=(h,M)=>X(void 0,null,function*(){const ce=le(M),Me=Z[ce],de=[ce,"isEnabled"],fe=ve(F({},Me),{isEnabled:h});delete fe.id;try{I({type:"SET_WEBHOOK_ENABLED",keys:de,value:h}),yield(0,w.request)(`/admin/webhooks/${M}`,{method:"PUT",body:fe})}catch(je){W.current&&(I({type:"SET_WEBHOOK_ENABLED",keys:de,value:!h}),je.code!==20&&N({type:"warning",message:{id:"notification.error"}}))}}),De=()=>{I({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Pe=(h,M)=>{I({type:"SET_WEBHOOKS_TO_DELETE",value:h,id:M})},q=h=>{Te(`${se}/${h}`)};return i.createElement(a.Layout,null,i.createElement(w.SettingsPageTitle,{name:"Webhooks"}),i.createElement(S.Main,{"aria-busy":x||re},i.createElement(a.HeaderLayout,{title:T({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:T({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:v&&!re&&i.createElement(w.LinkButton,{startIcon:i.createElement(e(),null),variant:"default",to:`${se}/create`,size:"L"},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),K>0&&H&&i.createElement(a.ActionLayout,{startActions:i.createElement(i.Fragment,null,i.createElement(E.Typography,{variant:"epsilon",textColor:"neutral600"},T({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:K})),i.createElement(C.Button,{onClick:()=>ue("all"),startIcon:i.createElement(B(),null),size:"L",variant:"danger-light"},T({id:"global.delete",defaultMessage:"Delete"})))}),i.createElement(a.ContentLayout,null,x||re?i.createElement(L.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},i.createElement(w.LoadingIndicatorPage,null)):i.createElement(i.Fragment,null,J>0?i.createElement(m.Table,{colCount:5,rowCount:J+1,footer:i.createElement(m.TFooter,{onClick:()=>v?q("create"):{},icon:i.createElement(e(),null)},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},i.createElement(m.Thead,null,i.createElement(m.Tr,null,i.createElement(m.Th,null,i.createElement(c.BaseCheckbox,{"aria-label":T({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:K>0&&K<J,value:K===J,onValueChange:De})),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"global.name",defaultMessage:"Name"}))),i.createElement(m.Th,{width:"60%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),i.createElement(m.Th,null,i.createElement(s.VisuallyHidden,null,T({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),i.createElement(m.Tbody,null,Z.map(h=>i.createElement(m.Tr,F({key:h.id},(0,w.onRowClick)({fn:()=>q(h.id),condition:P})),i.createElement(m.Td,F({},w.stopPropagation),i.createElement(c.BaseCheckbox,{"aria-label":`${T({id:"global.select",defaultMessage:"Select"})} ${h.name}`,value:Y==null?void 0:Y.includes(h.id),onValueChange:M=>Pe(M,h.id),id:"select",name:"select"})),i.createElement(m.Td,null,i.createElement(E.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),i.createElement(m.Td,null,i.createElement(E.Typography,{textColor:"neutral800"},h.url)),i.createElement(m.Td,null,i.createElement(u.Flex,F({},w.stopPropagation),i.createElement(y.Switch,{onLabel:T({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:T({id:"global.disabled",defaultMessage:"Disabled"}),label:`${h.name} ${T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:h.isEnabled,onChange:()=>Ce(!h.isEnabled,h.id),visibleLabels:!0}))),i.createElement(m.Td,null,i.createElement(l.Stack,F({horizontal:!0,spacing:1},w.stopPropagation),P&&i.createElement(f.IconButton,{onClick:()=>{q(h.id)},label:T({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:i.createElement(d(),null),noBorder:!0}),H&&i.createElement(f.IconButton,{onClick:()=>ue(h.id),label:T({id:"global.delete",defaultMessage:"Delete"}),icon:i.createElement(B(),null),noBorder:!0,id:`delete-${h.id}`}))))))):i.createElement(r.EmptyStateLayout,{icon:i.createElement(_(),{width:"160px"}),content:T({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:i.createElement(C.Button,{variant:"secondary",startIcon:i.createElement(e(),null),onClick:()=>v?q("create"):{}},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),i.createElement(w.ConfirmDialog,{isOpen:A,onToggleDialog:we,onConfirm:Se}))},Ee=()=>i.createElement(w.CheckPagePermissions,{permissions:o.Z.settings.webhooks.main},i.createElement(ye,null))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2553],{35964:e=>{e.exports=JSON.parse('{"Analytics":"\u5206\u6790","Auth.components.Oops.text":"\u4F60\u7684\u5E10\u53F7\u5DF2\u7ECF\u88AB\u505C\u7528\u3002","Auth.components.Oops.text.admin":"\u5982\u679C\u8FD9\u662F\u4E2A\u9519\u8BEF\uFF0C\u8BF7\u8054\u7CFB\u4F60\u7684\u7BA1\u7406\u5458\u3002","Auth.components.Oops.title":"\u54CE\u5440...","Auth.form.button.forgot-password":"\u53D1\u9001\u7535\u5B50\u90AE\u4EF6","Auth.form.button.go-home":"\u56DE\u5230\u9996\u9875","Auth.form.button.login":"\u767B\u5F55","Auth.form.button.login.providers.error":"\u65E0\u6CD5\u901A\u8FC7\u9009\u5B9A\u7684\u9A8C\u8BC1\u65B9\u5F0F\u8FDE\u63A5\u4F60\u7684\u5E10\u53F7\u3002","Auth.form.button.login.strapi":"\u901A\u8FC7 Strapi \u767B\u5F55","Auth.form.button.password-recovery":"\u627E\u56DE\u5BC6\u7801","Auth.form.button.register":"\u51C6\u5907\u5F00\u59CB","Auth.form.confirmPassword.label":"\u786E\u8BA4\u5BC6\u7801","Auth.form.currentPassword.label":"\u5F53\u524D\u5BC6\u7801","Auth.form.email.label":"\u7535\u5B50\u90AE\u4EF6","Auth.form.email.placeholder":"\u4F8B\u5982 kai@doe.com","Auth.form.error.blocked":"\u4F60\u7684\u5E10\u53F7\u5DF2\u7ECF\u88AB\u7BA1\u7406\u5458\u7981\u7528\u3002","Auth.form.error.code.provide":"\u63D0\u4F9B\u7684\u4EE3\u7801\u4E0D\u6B63\u786E\u3002","Auth.form.error.confirmed":"\u60A8\u7684\u5E10\u53F7\u5173\u8054\u7684\u7535\u5B50\u90AE\u4EF6\u8FD8\u672A\u5F97\u5230\u786E\u8BA4\u3002","Auth.form.error.email.invalid":"\u7535\u5B50\u90AE\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","Auth.form.error.email.provide":"\u8BF7\u63D0\u4F9B\u60A8\u7684\u7528\u6237\u540D\u6216\u7535\u5B50\u90AE\u4EF6\u3002","Auth.form.error.email.taken":"\u6B64\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u88AB\u5360\u7528","Auth.form.error.invalid":"\u4F7F\u7528\u8005\u540D\u79F0\u6216\u5BC6\u7801\u65E0\u6548\u3002","Auth.form.error.params.provide":"\u5BC6\u7801\u4E0D\u6B63\u786E\u3002","Auth.form.error.password.format":"\u60A8\u7684\u5BC6\u7801\u4E0D\u80FD\u5305\u542B `$` \u7B26\u53F7\u8D85\u8FC7\u4E09\u6B21\u3002","Auth.form.error.password.local":"\u8FD9\u4E2A\u7528\u6237\u4ECE\u672A\u8BBE\u7F6E\u672C\u5730\u5BC6\u7801\uFF0C\u8BF7\u4F7F\u7528\u8D26\u6237\u521B\u5EFA\u65F6\u4F7F\u7528\u7684\u9A8C\u8BC1\u65B9\u5F0F\u767B\u5F55\u3002","Auth.form.error.password.matching":"\u5BC6\u7801\u4E0D\u5339\u914D\u3002","Auth.form.error.password.provide":"\u8BF7\u63D0\u4F9B\u60A8\u7684\u5BC6\u7801\u3002","Auth.form.error.ratelimit":"\u5C1D\u8BD5\u7684\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","Auth.form.error.user.not-exist":"\u8FD9\u4E2A\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u4E0D\u5B58\u5728\u3002","Auth.form.error.username.taken":"\u7528\u6237\u540D\u5DF2\u88AB\u5360\u7528\u3002","Auth.form.firstname.label":"\u540D\u5B57","Auth.form.firstname.placeholder":"\u4F8B\u5982\uFF1A\u4E09","Auth.form.forgot-password.email.label":"\u8F93\u5165\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740","Auth.form.forgot-password.email.label.success":"\u90AE\u4EF6\u6210\u529F\u53D1\u9001","Auth.form.lastname.label":"\u59D3\u6C0F","Auth.form.lastname.placeholder":"\u4F8B\u5982\uFF1A\u5F20","Auth.form.password.hide-password":"\u9690\u85CF\u5BC6\u7801","Auth.form.password.hint":"\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u81F3\u5C11 8 \u4E2A\u5B57\u7B26\uFF0C1 \u4E2A\u5927\u5199\u5B57\u6BCD\uFF0C1 \u4E2A\u5C0F\u5199\u5B57\u6BCD\uFF0C1 \u4E2A\u6570\u5B57","Auth.form.password.show-password":"\u663E\u793A\u5BC6\u7801","Auth.form.register.news.label":"\u8BA9\u6211\u4E86\u89E3\u65B0\u7684\u529F\u80FD\u548C\u5373\u5C06\u5230\u6765\u7684\u6539\u8FDB (\u6253\u52FE\u8868\u793A\u4F60\u63A5\u53D7 {terms} \u548C {policy}))\u3002","Auth.form.register.subtitle":"\u4F60\u7684\u51ED\u8BC1\u53EA\u7528\u4E8E\u7BA1\u7406\u540E\u53F0\u9A8C\u8BC1\u4F60\u7684\u8EAB\u4EFD\u3002\u6240\u6709\u4FDD\u5B58\u7684\u6570\u636E\u90FD\u5C06\u50A8\u5B58\u5728\u4F60\u81EA\u5DF1\u7684\u6570\u636E\u5E93\u4E2D\u3002","Auth.form.rememberMe.label":"\u8BB0\u4F4F\u6211","Auth.form.username.label":"\u7528\u6237\u540D","Auth.form.username.placeholder":"\u5F20\u4E09","Auth.form.welcome.subtitle":"\u767B\u5F55\u60A8\u7684Strapi\u8D26\u6237","Auth.form.welcome.title":"\u6B22\u8FCE\uFF01","Auth.link.forgot-password":"\u5FD8\u8BB0\u5BC6\u7801\uFF1F","Auth.link.ready":"\u51C6\u5907\u597D\u767B\u5F55\u4E86\u5417\uFF1F","Auth.link.signin":"\u767B\u5F55","Auth.link.signin.account":"\u5DF2\u7ECF\u6709\u4E86\u4E00\u4E2A\u8D26\u6237\uFF1F","Auth.login.sso.divider":"\u6216\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55","Auth.login.sso.loading":"\u6B63\u5728\u52A0\u8F7DSSO\u670D\u52A1\u63D0\u4F9B\u5546...","Auth.login.sso.subtitle":"\u901A\u8FC7SSO\u767B\u5F55\u5230\u4F60\u7684\u8D26\u6237","Auth.privacy-policy-agreement.policy":"\u9690\u79C1\u653F\u7B56","Auth.privacy-policy-agreement.terms":"\u4F7F\u7528\u6761\u6B3E","Content Manager":"\u5185\u5BB9\u7BA1\u7406","Content Type Builder":"\u5185\u5BB9\u7C7B\u578B\u6784\u5EFA\u5668","Documentation":"\u6587\u6863","Email":"\u7535\u5B50\u90AE\u4EF6","Files Upload":"\u6587\u4EF6\u4E0A\u4F20","HomePage.helmet.title":"\u9996\u9875","HomePage.roadmap":"\u67E5\u770B\u6211\u4EEC\u7684\u8DEF\u7EBF\u56FE","HomePage.welcome.congrats":"\u606D\u559C\uFF01","HomePage.welcome.congrats.content":"\u4F60\u767B\u5F55\u6210\u4E3A\u7B2C\u4E00\u4E2A\u7BA1\u7406\u5458\uFF0C\u63A2\u7D22 Strapi \u7684\u5F37\u5927\u529F\u80FD\uFF0C","HomePage.welcome.congrats.content.bold":"\u6211\u4EEC\u5EFA\u8BAE\u4F60\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u96C6\u5408\u7C7B\u578B\u3002","Media Library":"\u5A92\u4F53\u5E93","New entry":"\u65B0\u6761\u76EE","Password":"\u5BC6\u7801","Provider":"\u63D0\u4F9B\u5546","ResetPasswordToken":"\u91CD\u7F6E\u5BC6\u7801\u4EE4\u724C","Role":"\u89D2\u8272","Roles & Permissions":"\u89D2\u8272\u548C\u6743\u9650","Roles.ListPage.notification.delete-all-not-allowed":"\u4E00\u4E9B\u89D2\u8272\u4E0D\u80FD\u88AB\u5220\u9664\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u4E0E\u7528\u6237\u76F8\u5173\u3002","Roles.ListPage.notification.delete-not-allowed":"\u5982\u679C\u4E00\u4E2A\u89D2\u8272\u4E0E\u7528\u6237\u76F8\u5173\u8054\uFF0C\u5219\u4E0D\u80FD\u88AB\u5220\u9664","Roles.RoleRow.select-all":"\u9009\u62E9 {name} \u8FDB\u884C\u6279\u91CF\u64CD\u4F5C","Roles.components.List.empty.withSearch":"\u627E\u4E0D\u5230\u4F60\u641C\u7D22\u7684\u89D2\u8272 ({search})...","Settings.PageTitle":"\u8BBE\u7F6E - {name}","Settings.apiTokens.addFirstToken":"\u6DFB\u52A0\u4F60\u7684\u7B2C\u4E00\u4E2A API \u4EE4\u724C\u3002","Settings.apiTokens.addNewToken":"\u6DFB\u52A0\u65B0\u7684 API \u4EE4\u724C","Settings.apiTokens.copy.editMessage":"\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u4F60\u53EA\u80FD\u770B\u5230\u4F60\u7684\u4EE4\u724C\u4E00\u6B21\u3002","Settings.apiTokens.copy.editTitle":"\u8FD9\u4E2A\u4EE4\u724C\u5DF2\u7ECF\u65E0\u6CD5\u4F7F\u7528\u4E86\u3002","Settings.apiTokens.copy.lastWarning":"\u8BF7\u786E\u4FDD\u590D\u5236\u8FD9\u4E2A\u4EE4\u724C\uFF0C\u4F60\u5C06\u65E0\u6CD5\u518D\u770B\u5230\u5B83\u4E86!","Settings.apiTokens.create":"\u521B\u5EFA","Settings.apiTokens.description":"\u5DF2\u6DFB\u52A0\u7684\u53EF\u4F7F\u7528 API \u7684\u4EE4\u724C\u5217\u8868","Settings.apiTokens.emptyStateLayout":"\u4F60\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9...","Settings.apiTokens.notification.copied":"\u4EE4\u724C\u5DF2\u88AB\u590D\u5236\u81F3\u526A\u8D34\u677F\u3002","Settings.apiTokens.title":"API \u4EE4\u724C","Settings.apiTokens.types.full-access":"\u5B8C\u5168\u8BBF\u95EE","Settings.apiTokens.types.read-only":"\u53EA\u8BFB","Settings.application.description":"\u67E5\u770B\u9879\u76EE\u7684\u8BE6\u7EC6\u4FE1\u606F","Settings.application.edition-title":"\u5F53\u524D\u65B9\u6848","Settings.application.get-help":"\u83B7\u53D6\u5E2E\u52A9","Settings.application.link-pricing":"\u67E5\u770B\u6240\u6709\u4EF7\u683C","Settings.application.link-upgrade":"\u5347\u7EA7\u4F60\u7684\u7BA1\u7406\u540E\u53F0","Settings.application.node-version":"node \u7248\u672C","Settings.application.strapi-version":"strapi \u7248\u672C","Settings.application.strapiVersion":"strapi \u7248\u672C","Settings.application.title":"\u5E94\u7528\u7A0B\u5E8F","Settings.error":"\u9519\u8BEF","Settings.global":"\u5168\u5C40\u8BBE\u7F6E","Settings.permissions":"\u7BA1\u7406\u5458\u6743\u9650","Settings.permissions.category":"{category} \u7684\u6743\u9650\u8BBE\u7F6E","Settings.permissions.category.plugins":"{category} \u63D2\u4EF6\u7684\u6743\u9650\u8BBE\u7F6E","Settings.permissions.conditions.anytime":"\u4EFB\u4F55\u65F6\u5019","Settings.permissions.conditions.apply":"\u542F\u7528","Settings.permissions.conditions.can":"\u53EF\u4EE5","Settings.permissions.conditions.define-conditions":"\u5B9A\u4E49\u6761\u4EF6","Settings.permissions.conditions.links":"\u94FE\u63A5","Settings.permissions.conditions.no-actions":"\u4F60\u9996\u5148\u9700\u8981\u9009\u62E9\u52A8\u4F5C\uFF08\u521B\u5EFA\u3001\u8BFB\u53D6\u3001\u66F4\u65B0......\uFF09\uFF0C\u7136\u540E\u518D\u5BF9\u5176\u5B9A\u4E49\u6761\u4EF6\u3002","Settings.permissions.conditions.none-selected":"\u4EFB\u4F55\u65F6\u5019","Settings.permissions.conditions.or":"\u6216","Settings.permissions.conditions.when":"\u5F53","Settings.permissions.select-all-by-permission":"\u9009\u62E9\u6240\u6709 {label} \u6743\u9650","Settings.permissions.select-by-permission":"\u9009\u62E9 {label} \u6743\u9650","Settings.permissions.users.create":"\u9080\u8BF7\u65B0\u7528\u6237","Settings.permissions.users.form.email":"\u7535\u5B50\u90AE\u4EF6","Settings.permissions.users.form.firstname":"\u540D\u5B57","Settings.permissions.users.form.lastname":"\u59D3\u6C0F","Settings.permissions.users.form.sso":"\u901A\u8FC7 SSO \u767B\u5F55","Settings.permissions.users.form.sso.description":"\u5F53\u542F\u7528\u8FD9\u4E2A\u9009\u9879\uFF08ON\uFF09\u65F6\uFF0C\u7528\u6237\u53EF\u4EE5\u901A\u8FC7SSO\u767B\u5F55","Settings.permissions.users.listview.header.subtitle":"\u6240\u6709\u80FD\u591F\u8BBF\u95EE Strapi \u7BA1\u7406\u540E\u53F0\u7684\u7528\u6237","Settings.permissions.users.tabs.label":"\u6807\u7B7E\u9875\u6743\u9650","Settings.profile.form.notify.data.loaded":"\u4F60\u7684\u4E2A\u4EBA\u6570\u636E\u5DF2\u7ECF\u52A0\u8F7D\u5B8C\u6210","Settings.profile.form.section.experience.clear.select":"\u6E05\u9664\u5DF2\u9009\u62E9\u7684\u754C\u9762\u8BED\u8A00","Settings.profile.form.section.experience.documentation":"\u6587\u6863","Settings.profile.form.section.experience.interfaceLanguage":"\u754C\u9762\u8BED\u8A00","Settings.profile.form.section.experience.interfaceLanguage.hint":"\u5C06\u4F1A\u7528\u6240\u9009\u62E9\u7684\u8BED\u8A00\u663E\u793A\u4F60\u7684\u754C\u9762","Settings.profile.form.section.experience.interfaceLanguageHelp":"\u5F53\u524D\u7684\u8BED\u8A00\u9009\u62E9\u53EA\u4F1A\u66F4\u6539\u4F60\u5F53\u524D\u5E10\u53F7\u754C\u9762\u8BED\u8A00\u3002 \u8BF7\u53C2\u8003\u6B64 {documentation} \u4E3A\u4F60\u7684\u56E2\u961F\u63D0\u4F9B\u5176\u4ED6\u8BED\u8A00\u3002","Settings.profile.form.section.experience.title":"\u4F53\u9A8C","Settings.profile.form.section.helmet.title":"\u7528\u6237\u4E2A\u4EBA\u4FE1\u606F","Settings.profile.form.section.profile.page.title":"\u4E2A\u4EBA\u4FE1\u606F\u9875\u9762","Settings.roles.create.description":"\u5B9A\u4E49\u8D4B\u4E88\u89D2\u8272\u7684\u6743\u9650","Settings.roles.create.title":"\u521B\u5EFA\u89D2\u8272","Settings.roles.created":"\u89D2\u8272\u5DF2\u521B\u5EFA","Settings.roles.edit.title":"\u7F16\u8F91\u89D2\u8272","Settings.roles.form.button.users-with-role":"{number, plural, =0 {# users} one {# user} other {# users}} \u662F\u8FD9\u4E2A\u89D2\u8272","Settings.roles.form.created":"\u5DF2\u521B\u5EFA","Settings.roles.form.description":"\u89D2\u8272\u7684\u540D\u79F0\u4E0E\u63CF\u8FF0","Settings.roles.form.permission.property-label":"{label} \u6743\u9650","Settings.roles.form.permissions.attributesPermissions":"\u5C5E\u6027\u6743\u9650","Settings.roles.form.permissions.create":"\u521B\u5EFA","Settings.roles.form.permissions.delete":"\u5220\u9664","Settings.roles.form.permissions.publish":"\u53D1\u5E03","Settings.roles.form.permissions.read":"\u8BFB\u53D6","Settings.roles.form.permissions.update":"\u66F4\u65B0","Settings.roles.list.button.add":"\u6DFB\u52A0\u89D2\u8272","Settings.roles.list.description":"\u89D2\u8272\u5217\u8868","Settings.roles.title.singular":"\u89D2\u8272","Settings.sso.description":"\u914D\u7F6E Single Sign-On \u5355\u70B9\u767B\u5F55 \u529F\u80FD\u7684\u8BBE\u7F6E\u3002","Settings.sso.form.defaultRole.description":"\u5B83\u5C06\u628A\u65B0\u7684\u8BA4\u8BC1\u7528\u6237\u9644\u52A0\u5230\u9009\u5B9A\u7684\u89D2\u8272\u4E0A\u3002","Settings.sso.form.defaultRole.description-not-allowed":"\u4F60\u9700\u8981\u6709\u8BFB\u53D6\u7BA1\u7406\u5458\u89D2\u8272\u7684\u6743\u9650","Settings.sso.form.defaultRole.label":"\u9ED8\u8BA4\u89D2\u8272","Settings.sso.form.registration.description":"\u5982\u679C\u6CA1\u6709\u8D26\u6237\u5B58\u5728\uFF0C\u5728SSO\u767B\u5F55\u65F6\u521B\u5EFA\u65B0\u7528\u6237\u3002","Settings.sso.form.registration.label":"\u81EA\u52A8\u6CE8\u518C","Settings.sso.title":"\u5355\u70B9\u767B\u5F55","Settings.webhooks.create":"\u521B\u5EFA Webhook","Settings.webhooks.create.header":"\u521B\u5EFA Header","Settings.webhooks.created":"Webhook \u5DF2\u521B\u5EFA","Settings.webhooks.event.publish-tooltip":"\u8FD9\u4E2A\u4E8B\u4EF6\u53EA\u9002\u7528\u4E8E\u542F\u7528\u4E86\u8349\u7A3F/\u53D1\u5E03\u7CFB\u7EDF\u7684\u5185\u5BB9","Settings.webhooks.events.create":"\u521B\u5EFA","Settings.webhooks.events.update":"\u66F4\u65B0","Settings.webhooks.form.events":"\u4E8B\u4EF6","Settings.webhooks.form.headers":"\u8BF7\u6C42\u5934","Settings.webhooks.form.url":"\u8BF7\u6C42\u5730\u5740","Settings.webhooks.headers.remove":"\u79FB\u9664\u7B2C {number} \u884C header","Settings.webhooks.key":"\u952E","Settings.webhooks.list.button.add":"\u6DFB\u52A0 Webhook","Settings.webhooks.list.description":"\u83B7\u5F97 POST \u8BF7\u6C42\u7684\u66F4\u65B0\u901A\u77E5","Settings.webhooks.list.empty.description":"\u6CA1\u6709\u627E\u5230 Webhooks","Settings.webhooks.list.empty.link":"\u67E5\u770B\u6211\u4EEC\u7684\u6587\u6863","Settings.webhooks.list.empty.title":"\u8FD8\u6CA1\u6709 Webhooks","Settings.webhooks.list.th.actions":"\u64CD\u4F5C","Settings.webhooks.list.th.status":"\u72B6\u6001","Settings.webhooks.singular":"webhook","Settings.webhooks.title":"Webhooks","Settings.webhooks.to.delete":"\u5DF2\u9009\u62E9{webhooksToDeleteLength, plural, one {# asset} other {# assets}}","Settings.webhooks.trigger":"\u89E6\u53D1","Settings.webhooks.trigger.cancel":"\u53D6\u6D88\u89E6\u53D1","Settings.webhooks.trigger.pending":"\u7B49\u5F85\u2026","Settings.webhooks.trigger.save":"\u8BF7\u4FDD\u5B58\u5230\u89E6\u53D1","Settings.webhooks.trigger.success":"\u6210\u529F\uFF01","Settings.webhooks.trigger.success.label":"\u89E6\u53D1\u6210\u529F","Settings.webhooks.trigger.test":"\u6D4B\u8BD5\u89E6\u53D1","Settings.webhooks.trigger.title":"\u89E6\u53D1\u524D\u5148\u4FDD\u5B58","Settings.webhooks.value":"\u503C","Username":"\u7528\u6237\u540D","Users":"\u7528\u6237","Users & Permissions":"\u7528\u6237\u548C\u6743\u9650","Users.components.List.empty":"\u8FD8\u6CA1\u6709\u7528\u6237...","Users.components.List.empty.withFilters":"\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u7528\u6237...","Users.components.List.empty.withSearch":"\u6CA1\u6709\u7B26\u5408\u641C\u7D22\u6761\u4EF6 ({search}) \u7684\u7528\u6237...","admin.pages.MarketPlacePage.helmet":"\u5E02\u573A - \u63D2\u4EF6","admin.pages.MarketPlacePage.submit.plugin.link":"\u63D0\u4EA4\u60A8\u7684\u63D2\u4EF6","admin.pages.MarketPlacePage.subtitle":"\u4ECEStrapi\u4E2D\u83B7\u5F97\u66F4\u591A","anErrorOccurred":"\u5509\u5440! \u51FA\u9519\u4E86\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002","app.component.CopyToClipboard.label":"\u590D\u5236\u5230\u526A\u8D34\u677F","app.component.search.label":"\u641C\u7D22 {target}","app.component.table.duplicate":"\u521B\u5EFA\u526F\u672C {target}","app.component.table.edit":"\u7F16\u8F91 {target}","app.component.table.select.one-entry":"\u9009\u62E9 {target}","app.components.BlockLink.blog":"\u535A\u5BA2","app.components.BlockLink.blog.content":"\u9605\u8BFB\u6709\u5173Strapi\u548C\u751F\u6001\u7CFB\u7EDF\u7684\u6700\u65B0\u6D88\u606F\u3002","app.components.BlockLink.code":"\u4EE3\u7801\u793A\u4F8B","app.components.BlockLink.code.content":"\u901A\u8FC7\u8BD5\u7528\u793E\u533A\u5F00\u53D1\u7684\u771F\u5B9E\u9879\u76EE\u6765\u5B66\u4E60\u3002","app.components.BlockLink.documentation.content":"\u63A2\u7D22\u57FA\u672C\u6982\u5FF5\u3001\u6307\u5357\u548C\u8BF4\u660E\u3002","app.components.BlockLink.tutorial":"\u6559\u7A0B","app.components.BlockLink.tutorial.content":"\u6309\u7167\u624B\u628A\u624B\u6307\u5F15\u6765\u4F7F\u7528\u548C\u5B9A\u5236Strapi\u3002","app.components.Button.cancel":"\u53D6\u6D88","app.components.Button.confirm":"\u786E\u8BA4","app.components.Button.reset":"\u91CD\u7F6E","app.components.ComingSoonPage.comingSoon":"\u5373\u5C06\u63A8\u51FA","app.components.ConfirmDialog.title":"\u786E\u8BA4","app.components.DownloadInfo.download":"\u4E0B\u8F7D\u4E2D...","app.components.DownloadInfo.text":"\u8FD9\u53EF\u80FD\u9700\u8981\u51E0\u5206\u949F\u65F6\u95F4\u3002\u8C22\u8C22\u4F60\u7684\u8010\u5FC3\u3002","app.components.EmptyAttributes.title":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5","app.components.EmptyStateLayout.content-document":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9\u3002","app.components.EmptyStateLayout.content-permissions":"\u4F60\u6CA1\u6709\u8BBF\u95EE\u8BE5\u5185\u5BB9\u7684\u6743\u9650","app.components.HomePage.button.blog":"\u5728\u535A\u5BA2\u4E0A\u5BDF\u770B\u66F4\u591A\u5185\u5BB9","app.components.HomePage.community":"\u52A0\u5165\u793E\u533A","app.components.HomePage.community.content":"\u5728\u4E0D\u540C\u7684\u9891\u9053\u4E2D\u4E0E\u56E2\u961F\u6210\u5458\u3001\u8D21\u732E\u8005\u548C\u5F00\u53D1\u8005\u8FDB\u884C\u8BA8\u8BBA\u3002","app.components.HomePage.create":"\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","app.components.HomePage.roadmap":"\u67E5\u770B\u6211\u4EEC\u7684\u8DEF\u7EBF\u56FE","app.components.HomePage.welcome":"\u6B22\u8FCE\u52A0\u5165 \u{1F44B}","app.components.HomePage.welcome.again":"\u6B22\u8FCE \u{1F44B}","app.components.HomePage.welcomeBlock.content":"\u606D\u559C! \u60A8\u5DF2\u767B\u5F55\u4E3A\u7B2C\u4E00\u4E2A\u7BA1\u7406\u5458\u3002\u4E3A\u4E86\u63A2\u7D22Strapi\u63D0\u4F9B\u7684\u5F3A\u5927\u529F\u80FD\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u4F60\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","app.components.HomePage.welcomeBlock.content.again":"\u6211\u4EEC\u5E0C\u671B\u4F60\u5728\u4F60\u7684\u9879\u76EE\u4E0A\u6709\u6240\u8FDB\u5C55! \u8BF7\u968F\u65F6\u9605\u8BFB\u5173\u4E8EStrapi\u7684\u6700\u65B0\u6D88\u606F\u3002\u6211\u4EEC\u5C06\u6839\u636E\u60A8\u7684\u53CD\u9988\u610F\u89C1\uFF0C\u5C3D\u529B\u6539\u8FDB\u4EA7\u54C1\u3002","app.components.HomePage.welcomeBlock.content.issues":"\u95EE\u9898\u3002","app.components.HomePage.welcomeBlock.content.raise":"\u6216\u9F13\u52B1","app.components.ImgPreview.hint":"\u5C06\u4F60\u7684\u6587\u4EF6\u62D6\u653E\u5230\u8FD9\u4E2A\u533A\u57DF\uFF0C\u6216{browse}\u4E00\u4E2A\u8981\u4E0A\u4F20\u7684\u6587\u4EF6","app.components.ImgPreview.hint.browse":"\u6D4F\u89C8","app.components.InputFile.newFile":"\u6DFB\u52A0\u65B0\u6587\u4EF6","app.components.InputFileDetails.open":"\u5728\u65B0\u6807\u7B7E\u4E2D\u6253\u5F00","app.components.InputFileDetails.originalName":"\u539F\u6587\u4EF6\u540D\uFF1A","app.components.InputFileDetails.remove":"\u79FB\u9664\u6B64\u6587\u4EF6","app.components.InputFileDetails.size":"\u5927\u5C0F\uFF1A","app.components.InstallPluginPage.Download.description":"\u4E0B\u8F7D\u548C\u5B89\u88C5\u8BE5\u63D2\u4EF6\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002","app.components.InstallPluginPage.Download.title":"\u4E0B\u8F7D\u4E2D...","app.components.InstallPluginPage.description":"\u8F7B\u677E\u5730\u6269\u5C55\u4F60\u7684\u5E94\u7528\u7A0B\u5E8F\u3002","app.components.LeftMenu.collapse":"\u6536\u8D77\u5BFC\u822A\u680F","app.components.LeftMenu.expand":"\u5C55\u5F00\u5BFC\u822A\u680F","app.components.LeftMenu.logout":"\u9000\u51FA","app.components.LeftMenu.navbrand.title":"Strapi \u4EEA\u8868\u76D8","app.components.LeftMenu.navbrand.workplace":"\u5DE5\u4F5C\u7A7A\u95F4","app.components.LeftMenuFooter.help":"\u5E2E\u52A9","app.components.LeftMenuFooter.poweredBy":"\u7531\u4EE5\u4E0B\u673A\u6784\u63D0\u4F9B","app.components.LeftMenuLinkContainer.collectionTypes":"\u96C6\u5408\u7C7B\u578B","app.components.LeftMenuLinkContainer.configuration":"\u914D\u7F6E","app.components.LeftMenuLinkContainer.general":"\u901A\u7528","app.components.LeftMenuLinkContainer.noPluginsInstalled":"\u5C1A\u672A\u5B89\u88C5\u4EFB\u4F55\u63D2\u4EF6","app.components.LeftMenuLinkContainer.plugins":"\u63D2\u4EF6","app.components.LeftMenuLinkContainer.singleTypes":"\u5355\u4E00\u7C7B\u578B","app.components.ListPluginsPage.deletePlugin.description":"\u5378\u8F7D\u63D2\u4EF6\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002","app.components.ListPluginsPage.deletePlugin.title":"\u5378\u8F7D\u4E2D","app.components.ListPluginsPage.description":"\u9879\u76EE\u4E2D\u5DF2\u5B89\u88C5\u7684\u63D2\u4EF6\u7684\u5217\u8868\u3002","app.components.ListPluginsPage.helmet.title":"\u63D2\u4EF6\u5217\u8868","app.components.Logout.logout":"\u9000\u51FA","app.components.Logout.profile":"\u4E2A\u4EBA\u8D44\u6599","app.components.MarketplaceBanner":"\u5728 Strapi Awesome \u4E0A\u53D1\u73B0\u7531\u793E\u533A\u5F00\u53D1\u7684\u63D2\u4EF6\uFF0C\u4EE5\u53CA\u66F4\u591A\u53EF\u4EE5\u542F\u52A8\u4F60\u7684\u9879\u76EE\u7684\u7CBE\u5F69\u5185\u5BB9\u3002","app.components.MarketplaceBanner.image.alt":"strapi \u706B\u7BAD\u6807\u5FD7","app.components.MarketplaceBanner.link":"\u7ACB\u5373\u67E5\u770B","app.components.NotFoundPage.back":"\u8FD4\u56DE\u9996\u9875","app.components.NotFoundPage.description":"\u627E\u4E0D\u5230\u6B64\u9875\u9762","app.components.Official":"\u5B98\u65B9","app.components.Onboarding.help.button":"\u5E2E\u52A9\u6309\u94AE","app.components.Onboarding.label.completed":"\u5B8C\u6210 %","app.components.Onboarding.title":"\u5165\u95E8\u5F71\u7247","app.components.PluginCard.Button.label.download":"\u4E0B\u8F7D","app.components.PluginCard.Button.label.install":"\u5DF2\u5B89\u88C5","app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed":"\u8981\u542F\u7528autoReload\u529F\u80FD\u3002\u8BF7\u7528`yarn develop`\u542F\u52A8\u4F60\u7684\u5E94\u7528\u7A0B\u5E8F\u3002","app.components.PluginCard.PopUpWarning.install.impossible.confirm":"\u6211\u4E86\u89E3\uFF01","app.components.PluginCard.PopUpWarning.install.impossible.environment":"\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u63D2\u4EF6\u53EA\u80FD\u5728\u5F00\u53D1\u73AF\u5883\u4E2D\u4E0B\u8F7D\u3002","app.components.PluginCard.PopUpWarning.install.impossible.title":"\u65E0\u6CD5\u4E0B\u8F7D","app.components.PluginCard.compatible":"\u4E0E\u4F60\u7684\u9879\u76EE\u517C\u5BB9","app.components.PluginCard.compatibleCommunity":"\u4E0E\u793E\u533A\u517C\u5BB9","app.components.PluginCard.more-details":"\u66F4\u591A\u8BE6\u60C5","app.components.ToggleCheckbox.off-label":"\u5173","app.components.ToggleCheckbox.on-label":"\u5F00","app.components.UpgradePlanModal.button":"\u4E86\u89D2\u66F4\u591A","app.components.UpgradePlanModal.limit-reached":"\u5DF2\u7ECF\u8FBE\u5230\u4E0A\u9650","app.components.UpgradePlanModal.text-ce":"\u793E\u533A\u7248","app.components.UpgradePlanModal.text-ee":"\u4F01\u4E1A\u7248","app.components.UpgradePlanModal.text-power":"\u901A\u8FC7\u5C06\u60A8\u7684\u65B9\u6848\u5347\u7EA7\u5230\u4F01\u4E1A\u7248\uFF0C\u5F00\u542F Strapi \u7684\u5168\u90E8\u529F\u80FD","app.components.UpgradePlanModal.text-strapi":"\u901A\u8FC7\u5C06\u4F60\u7684\u65B9\u6848\u5347\u7EA7\u5230 Strapi \u7684","app.components.Users.MagicLink.connect":"\u590D\u5236\u5E76\u5206\u4EAB\u6B64\u94FE\u63A5\u7ED9\u7528\u6237\u4EE5\u5F00\u901A\u8D26\u6237","app.components.Users.MagicLink.connect.sso":"\u5C06\u6B64\u94FE\u63A5\u53D1\u9001\u7ED9\u7528\u6237\uFF0C\u7B2C\u4E00\u6B21\u767B\u5F55\u53EF\u4EE5\u901A\u8FC7SSO\u4F9B\u5E94\u5546\u8FDB\u884C\u3002","app.components.Users.ModalCreateBody.block-title.details":"\u7528\u6237\u8BE6\u60C5","app.components.Users.ModalCreateBody.block-title.roles":"\u7528\u6237\u89D2\u8272","app.components.Users.ModalCreateBody.block-title.roles.description":"\u4E00\u4E2A\u7528\u6237\u53EF\u4EE5\u62E5\u6709\u4E00\u4E2A\u6216\u591A\u4E2A\u89D2\u8272","app.components.Users.SortPicker.button-label":"\u6392\u5E8F","app.components.Users.SortPicker.sortby.email_asc":"\u7535\u5B50\u90AE\u4EF6 (A to Z)","app.components.Users.SortPicker.sortby.email_desc":"\u7535\u5B50\u90AE\u4EF6 (Z to A)","app.components.Users.SortPicker.sortby.firstname_asc":"\u540D\u5B57 (A to Z)","app.components.Users.SortPicker.sortby.firstname_desc":"\u540D\u5B57 (Z to A)","app.components.Users.SortPicker.sortby.lastname_asc":"\u59D3\u6C0F (A to Z)","app.components.Users.SortPicker.sortby.lastname_desc":"\u59D3\u6C0F (Z to A)","app.components.Users.SortPicker.sortby.username_asc":"\u7528\u6237\u540D (A to Z)","app.components.Users.SortPicker.sortby.username_desc":"\u7528\u6237\u540D (Z to A)","app.components.listPlugins.button":"\u6DFB\u52A0\u63D2\u4EF6","app.components.listPlugins.title.none":"\u8FD8\u6CA1\u6709\u5B89\u88C5\u63D2\u4EF6","app.components.listPluginsPage.deletePlugin.error":"\u5378\u8F7D\u63D2\u4EF6\u65F6\u53D1\u751F\u9519\u8BEF","app.containers.App.notification.error.init":"\u8BF7\u6C42 API \u65F6\u53D1\u751F\u9519\u8BEF","app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin":"\u5982\u679C\u4F60\u6CA1\u6709\u6536\u5230\u8FD9\u4E2A\u94FE\u63A5\uFF0C\u8BF7\u8054\u7CFB\u4F60\u7684\u7BA1\u7406\u5458\u3002","app.containers.AuthPage.ForgotPasswordSuccess.text.email":"\u6536\u5230\u4F60\u7684\u5BC6\u7801\u6062\u590D\u94FE\u63A5\u53EF\u80FD\u9700\u8981\u51E0\u5206\u949F\u65F6\u95F4\u3002","app.containers.AuthPage.ForgotPasswordSuccess.title":"\u7535\u5B50\u90AE\u4EF6\u5DF2\u53D1\u9001","app.containers.Users.EditPage.form.active.label":"\u6709\u6548","app.containers.Users.EditPage.header.label":"\u7F16\u8F91 {name}","app.containers.Users.EditPage.header.label-loading":"\u7F16\u8F91\u7528\u6237","app.containers.Users.EditPage.roles-bloc-title":"\u5F52\u5C5E\u7684\u89D2\u8272","app.containers.Users.ModalForm.footer.button-success":"\u9080\u8BF7\u7528\u6237","app.links.configure-view":"\u914D\u7F6E\u89C6\u56FE","app.static.links.cheatsheet":"\u5FEB\u901F\u624B\u518C","app.utils.SelectOption.defaultMessage":" ","app.utils.add-filter":"\u6DFB\u52A0\u8FC7\u6EE4\u5668","app.utils.close-label":"\u5173\u95ED","app.utils.defaultMessage":" ","app.utils.duplicate":"\u521B\u5EFA\u526F\u672C","app.utils.edit":"\u7F16\u8F91","app.utils.errors.file-too-big.message":"\u6587\u4EF6\u592A\u5927\u4E86","app.utils.filter-value":"\u8FC7\u6EE4\u503C","app.utils.filters":"\u8FC7\u6EE4\u5668","app.utils.notify.data-loaded":"{target} \u5DF2\u52A0\u8F7D","app.utils.placeholder.defaultMessage":" ","app.utils.publish":"\u53D1\u5E03","app.utils.select-all":"\u5168\u9009","app.utils.select-field":"\u9009\u62E9\u5B57\u6BB5","app.utils.select-filter":"\u9009\u62E9\u8FC7\u6EE4\u5668","app.utils.unpublish":"\u53D6\u6D88\u53D1\u5E03","clearLabel":"\u6E05\u9664","coming.soon":"\u6B64\u5185\u5BB9\u76EE\u524D\u6B63\u5728\u5EFA\u8BBE\u4E2D\uFF0C\u5C06\u5728\u51E0\u5468\u540E\u6062\u590D!","component.Input.error.validation.integer":"\u8FD9\u4E2A\u503C\u5FC5\u987B\u662F\u4E00\u4E2A\u6574\u6570","components.AutoReloadBlocker.description":"\u7528\u4EE5\u4E0B\u547D\u4EE4\u4E4B\u4E00\u8FD0\u884CStrapi\uFF1A","components.AutoReloadBlocker.header":"\u8FD9\u4E2A\u63D2\u4EF6\u9700\u8981\u91CD\u65B0\u52A0\u8F7D\u540E\u624D\u80FD\u8F7D\u5165","components.ErrorBoundary.title":"\u51FA\u9519\u4E86...","components.FilterOptions.FILTER_TYPES.$contains":"\u5305\u542B (\u533A\u5206\u5927\u5C0F\u5199)","components.FilterOptions.FILTER_TYPES.$endsWith":"\u7ED3\u675F\u4E8E","components.FilterOptions.FILTER_TYPES.$eq":"\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$gt":"\u5927\u4E8E","components.FilterOptions.FILTER_TYPES.$gte":"\u5927\u4E8E\u6216\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$lt":"\u5C0F\u4E8E","components.FilterOptions.FILTER_TYPES.$lte":"\u5C0F\u4E8E\u6216\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$ne":"\u4E0D\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$neq":"\u4E0D\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$notContains":"\u4E0D\u5305\u542B (\u533A\u5206\u5927\u5C0F\u5199)","components.FilterOptions.FILTER_TYPES.$notNull":"\u4E0D\u4E3A\u7A7A","components.FilterOptions.FILTER_TYPES.$null":"\u4E3A\u7A7A","components.FilterOptions.FILTER_TYPES.$startsWith":"\u5F00\u59CB\u4E8E","components.Input.error.attribute.key.taken":"\u503C\u5DF2\u88AB\u5360\u7528","components.Input.error.attribute.sameKeyAndName":"\u4E0D\u80FD\u76F8\u540C","components.Input.error.attribute.taken":"\u5B57\u6BB5\u540D\u5DF2\u88AB\u5360\u7528","components.Input.error.contain.lowercase":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u5C0F\u5199\u5B57\u6BCD","components.Input.error.contain.number":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u6570\u5B57","components.Input.error.contain.uppercase":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u5927\u5199\u5B57\u6BCD","components.Input.error.contentTypeName.taken":"\u540D\u79F0\u5DF2\u88AB\u5360\u7528","components.Input.error.custom-error":"{errorMessage} ","components.Input.error.password.noMatch":"\u5BC6\u7801\u4E0D\u5339\u914D","components.Input.error.validation.email":"\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E","components.Input.error.validation.json":"JSON\u683C\u5F0F\u4E0D\u6B63\u786E","components.Input.error.validation.max":"\u5927\u4E8E\u6700\u5927\u503C","components.Input.error.validation.maxLength":"\u957F\u5EA6\u592A\u957F","components.Input.error.validation.min":"\u5C0F\u4E8E\u6700\u5C0F\u503C","components.Input.error.validation.minLength":"\u957F\u5EA6\u592A\u77ED","components.Input.error.validation.minSupMax":"\u6700\u5C0F\u503C\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u503C","components.Input.error.validation.regex":"\u6B63\u5219\u8868\u8FBE\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","components.Input.error.validation.required":"\u5FC5\u586B\u9879","components.Input.error.validation.unique":"\u5DF2\u88AB\u5360\u7528","components.InputSelect.option.placeholder":"\u9009\u62E9","components.ListRow.empty":"\u6CA1\u6709\u6570\u636E\u53EF\u4EE5\u663E\u793A","components.NotAllowedInput.text":"\u6CA1\u6709\u6743\u9650\u663E\u793A\u6B64\u5B57\u6BB5","components.OverlayBlocker.description":"\u4F60\u6B63\u5728\u4F7F\u7528\u4E00\u4E2A\u9700\u8981\u670D\u52A1\u5668\u91CD\u65B0\u542F\u52A8\u7684\u529F\u80FD\u3002\u8BF7\u7B49\u5F85\uFF0C\u76F4\u5230\u670D\u52A1\u5668\u542F\u52A8\u3002","components.OverlayBlocker.description.serverError":"\u670D\u52A1\u5668\u5DF2\u7ECF\u91CD\u65B0\u542F\u52A8\uFF0C\u8BF7\u5728\u7EC8\u7AEF\u68C0\u67E5\u65E5\u5FD7\u3002","components.OverlayBlocker.title":"\u7B49\u5F85\u91CD\u65B0\u542F\u52A8...","components.OverlayBlocker.title.serverError":"\u91CD\u65B0\u542F\u52A8\u65F6\u95F4\u8D85\u8FC7\u9884\u671F","components.PageFooter.select":"\u6BCF\u9875\u6761\u76EE","components.ProductionBlocker.description":"\u4E3A\u4E86\u5B89\u5168\u8D77\u89C1\uFF0C\u6211\u4EEC\u5FC5\u987B\u5728\u5176\u4ED6\u73AF\u5883\u4E0B\u7981\u7528\u8FD9\u4E2A\u63D2\u4EF6\u3002","components.ProductionBlocker.header":"\u8FD9\u4E2A\u63D2\u4EF6\u53EA\u5728\u5F00\u53D1\u73AF\u5883\u4E2D\u53EF\u7528\u3002","components.Search.placeholder":"\u641C\u7D22...","components.TableHeader.sort":"\u6309 {label} \u6392\u5E8F","components.Wysiwyg.ToggleMode.markdown-mode":"Markdown \u6A21\u5F0F","components.Wysiwyg.ToggleMode.preview-mode":"\u9884\u89C8\u6A21\u5F0F","components.Wysiwyg.collapse":"\u6536\u8D77","components.Wysiwyg.selectOptions.H1":"\u6807\u98981","components.Wysiwyg.selectOptions.H2":"\u6807\u98982","components.Wysiwyg.selectOptions.H3":"\u6807\u98983","components.Wysiwyg.selectOptions.H4":"\u6807\u98984","components.Wysiwyg.selectOptions.H5":"\u6807\u98985","components.Wysiwyg.selectOptions.H6":"\u6807\u98986","components.Wysiwyg.selectOptions.title":"\u6DFB\u52A0\u6807\u9898","components.WysiwygBottomControls.charactersIndicators":"\u5B57\u7B26","components.WysiwygBottomControls.fullscreen":"\u5C55\u5F00","components.WysiwygBottomControls.uploadFiles":"\u62D6\u653E\u6587\u4EF6\uFF0C\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6216 {browse}.","components.WysiwygBottomControls.uploadFiles.browse":"\u9009\u62E9\u6587\u4EF6","components.pagination.go-to":"\u5230 {page} \u9875","components.pagination.go-to-next":"\u4E0B\u4E00\u9875","components.pagination.go-to-previous":"\u4E0A\u4E00\u9875","components.pagination.remaining-links":"\u53CA {number} \u4E2A\u5176\u4ED6\u94FE\u63A5","components.popUpWarning.button.cancel":"\u4E0D, \u53D6\u6D88","components.popUpWarning.button.confirm":"\u662F, \u786E\u8BA4","components.popUpWarning.message":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F","components.popUpWarning.title":"\u8BF7\u786E\u8BA4","containers.SettingPage.add.relational-field":"\u63D2\u5165\u53E6\u4E00\u4E2A\u5173\u7CFB\u5B57\u6BB5","containers.SettingPage.editSettings.description":"\u62D6\u653E\u5B57\u6BB5\u6765\u6784\u5EFA\u5E03\u5C40","content-manager.App.schemas.data-loaded":"\u6A21\u5F0F\u5DF2\u7ECF\u6210\u529F\u52A0\u8F7D","content-manager.DynamicTable.relation-loaded":"\u5173\u8054\u5DF2\u7ECF\u6210\u529F\u52A0\u8F7D","content-manager.EditRelations.title":"\u5173\u8054\u6570\u636E","content-manager.HeaderLayout.button.label-add-entry":"\u6DFB\u52A0\u6761\u76EE","content-manager.api.id":"API ID","content-manager.components.AddFilterCTA.add":"\u8FC7\u6EE4\u5668","content-manager.components.AddFilterCTA.hide":"\u8FC7\u6EE4\u5668","content-manager.components.DragHandle-label":"\u62D6\u66F3","content-manager.components.DraggableAttr.edit":"\u70B9\u51FB\u4EE5\u7F16\u8F91","content-manager.components.DraggableCard.delete.field":"\u5220\u9664 {item}","content-manager.components.DraggableCard.edit.field":"\u7F16\u8F91 {item}","content-manager.components.DraggableCard.move.field":"\u79FB\u52A8 {item}","content-manager.components.DynamicTable.row-line":"\u9879 \u884C {number}","content-manager.components.DynamicZone.ComponentPicker-label":"\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.DynamicZone.add-component":"\u6DFB\u52A0\u7EC4\u4EF6 {componentName}","content-manager.components.DynamicZone.delete-label":"\u5220\u9664 {name}","content-manager.components.DynamicZone.error-message":"\u8FD9\u4E2A\u7EC4\u4EF6\u6709\u9519\u8BEF","content-manager.components.DynamicZone.missing-components":"\u8FD9\u91CC {number, plural, =0 {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6} one {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6} other {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6}}","content-manager.components.DynamicZone.move-down-label":"\u5C06\u7EC4\u4EF6\u5411\u4E0B\u79FB\u52A8","content-manager.components.DynamicZone.move-up-label":"\u5C06\u7EC4\u4EF6\u5411\u4E0A\u79FB\u52A8","content-manager.components.DynamicZone.pick-compo":"\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.DynamicZone.required":"\u5FC5\u987B\u6709\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.EmptyAttributesBlock.button":"\u524D\u5F80\u8BBE\u7F6E\u9875\u9762","content-manager.components.EmptyAttributesBlock.description":"\u4F60\u53EF\u4EE5\u66F4\u6539\u4F60\u7684\u8BBE\u7F6E","content-manager.components.FieldItem.linkToComponentLayout":"\u8BBE\u7F6E\u7EC4\u4EF6\u7684\u5E03\u5C40","content-manager.components.FieldSelect.label":"\u6DFB\u52A0\u4E00\u4E2A\u5B57\u6BB5","content-manager.components.FilterOptions.button.apply":"\u5E94\u7528","content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply":"\u5E94\u7528","content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll":"\u6E05\u9664\u6240\u6709","content-manager.components.FiltersPickWrapper.PluginHeader.description":"\u8BBE\u7F6E\u8FC7\u6EE4\u6761\u76EE\u7684\u6761\u4EF6","content-manager.components.FiltersPickWrapper.PluginHeader.title.filter":"\u8FC7\u6EE4\u5668","content-manager.components.FiltersPickWrapper.hide":"\u9690\u85CF","content-manager.components.LeftMenu.Search.label":"\u641C\u7D22\u5185\u5BB9\u7C7B\u578B","content-manager.components.LeftMenu.collection-types":"\u96C6\u5408\u7C7B\u578B","content-manager.components.LeftMenu.single-types":"\u5355\u4E00\u7C7B\u578B","content-manager.components.LimitSelect.itemsPerPage":"\u6BCF\u9875\u663E\u793A\u6761\u76EE\u6570","content-manager.components.NotAllowedInput.text":"\u6CA1\u6709\u6743\u9650\u663E\u793A\u6B64\u5B57\u6BB5","content-manager.components.RepeatableComponent.error-message":"\u8FD9\u4E2A\u7EC4\u4EF6\u5305\u542B\u9519\u8BEF","content-manager.components.Search.placeholder":"\u641C\u7D22...","content-manager.components.Select.draft-info-title":"\u72B6\u6001: \u8349\u7A3F","content-manager.components.Select.publish-info-title":"\u72B6\u6001: \u5DF2\u53D1\u5E03","content-manager.components.SettingsViewWrapper.pluginHeader.description.edit-settings":"\u81EA\u5B9A\u4E49\u7F16\u8F91\u89C6\u56FE\u7684\u5916\u89C2\u3002","content-manager.components.SettingsViewWrapper.pluginHeader.description.list-settings":"\u5B9A\u4E49\u5217\u8868\u89C6\u56FE\u7684\u8BBE\u7F6E\u3002","content-manager.components.SettingsViewWrapper.pluginHeader.title":"\u914D\u7F6E\u89C6\u56FE - {name}","content-manager.components.TableDelete.delete":"\u5220\u9664\u6240\u6709","content-manager.components.TableDelete.deleteSelected":"\u5220\u9664\u5DF2\u9009","content-manager.components.TableDelete.label":"\u5DF2\u9009\u62E9 {number, plural, one {# \u4E2A\u6761\u76EE} other {# \u4E2A\u6761\u76EE}}","content-manager.components.TableEmpty.withFilters":"\u6309\u8FC7\u6EE4\u6761\u4EF6\u627E\u4E0D\u5230 {contentType}...","content-manager.components.TableEmpty.withSearch":"\u6309\u641C\u7D22\u6761\u4EF6 ({search}) \u627E\u4E0D\u5230\u76F8\u5E94\u7684 {contentType}...","content-manager.components.TableEmpty.withoutFilter":"\u627E\u4E0D\u5230 {contentType}...","content-manager.components.empty-repeatable":"\u8FD8\u6CA1\u6709\u6761\u76EE\u3002\u70B9\u51FB\u4E0B\u9762\u7684\u6309\u94AE\u6DFB\u52A0\u4E00\u4E2A\u3002","content-manager.components.notification.info.maximum-requirement":"\u4F60\u5DF2\u7ECF\u8FBE\u5230\u4E86\u53EF\u5B9A\u4E49\u5B57\u6BB5\u6570\u7684\u6700\u5927\u6570\u91CF","content-manager.components.notification.info.minimum-requirement":"\u6DFB\u52A0\u4E00\u4E2A\u5B57\u6BB5\u4EE5\u7B26\u5408\u5B9A\u4E49\u5B57\u6BB5\u6570\u7684\u6700\u4F4E\u8981\u6C42","content-manager.components.repeatable.reorder.error":"\u5728\u91CD\u65B0\u6392\u5E8F\u60A8\u7684\u7EC4\u4EF6\u5B57\u6BB5\u65F6\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5","content-manager.components.reset-entry":"\u91CD\u7F6E\u6761\u76EE","content-manager.components.uid.apply":"\u5E94\u7528","content-manager.components.uid.available":"\u53EF\u7528","content-manager.components.uid.regenerate":"\u91CD\u65B0\u751F\u6210","content-manager.components.uid.suggested":"\u63A8\u8350","content-manager.components.uid.unavailable":"\u4E0D\u53EF\u7528","content-manager.containers.Edit.Link.Layout":"\u914D\u7F6E\u5E03\u5C40","content-manager.containers.Edit.Link.Model":"\u7F16\u8F91\u96C6\u5408\u7C7B\u578B","content-manager.containers.Edit.addAnItem":"\u6DFB\u52A0\u5173\u8054...","content-manager.containers.Edit.clickToJump":"\u70B9\u51FB\u8DF3\u8F6C\u5230\u8BE5\u6761\u76EE","content-manager.containers.Edit.delete":"\u5220\u9664","content-manager.containers.Edit.delete-entry":"\u5220\u9664\u8BE5\u6761\u76EE","content-manager.containers.Edit.editing":"\u7F16\u8F91\u4E2D...","content-manager.containers.Edit.information":"\u4FE1\u606F","content-manager.containers.Edit.information.by":"\u7531","content-manager.containers.Edit.information.created":"\u5DF2\u521B\u5EFA","content-manager.containers.Edit.information.draftVersion":"\u8349\u7A3F\u7248\u672C","content-manager.containers.Edit.information.editing":"\u7F16\u8F91\u4E2D","content-manager.containers.Edit.information.lastUpdate":"\u6700\u540E\u66F4\u65B0","content-manager.containers.Edit.information.publishedVersion":"\u5DF2\u53D1\u5E03\u7248\u672C","content-manager.containers.Edit.pluginHeader.title.new":"\u521B\u5EFA\u65B0\u6761\u76EE","content-manager.containers.Edit.reset":"\u91CD\u7F6E","content-manager.containers.Edit.returnList":"\u8FD4\u56DE\u5217\u8868","content-manager.containers.Edit.seeDetails":"\u8BE6\u60C5","content-manager.containers.Edit.submit":"\u4FDD\u5B58","content-manager.containers.EditSettingsView.modal-form.edit-field":"\u7F16\u8F91\u5B57\u6BB5","content-manager.containers.EditView.add.new-entry":"\u6DFB\u52A0\u65B0\u6761\u76EE","content-manager.containers.EditView.notification.errors":"\u8868\u5355\u4E2D\u5305\u542B\u4E00\u4E9B\u9519\u8BEF","content-manager.containers.Home.introduction":"\u8981\u7F16\u8F91\u4F60\u7684\u6761\u76EE\uFF0C\u8BF7\u5230\u5DE6\u8FB9\u83DC\u5355\u4E2D\u7684\u7279\u5B9A\u94FE\u63A5\u3002\u8FD9\u4E2A\u63D2\u4EF6\u5C1A\u5728\u79EF\u6781\u5F00\u53D1\u4E2D\uFF0C\u6CA1\u6709\u9002\u5F53\u7684\u65B9\u6CD5\u6765\u7F16\u8F91\u8BBE\u7F6E","content-manager.containers.Home.pluginHeaderDescription":"\u901A\u8FC7\u4E00\u4E2A\u5F3A\u5927\u800C\u6F02\u4EAE\u7684\u754C\u9762\u7BA1\u7406\u4F60\u7684\u6761\u76EE\u3002","content-manager.containers.Home.pluginHeaderTitle":"\u5185\u5BB9\u7BA1\u7406\u5668","content-manager.containers.List.draft":"\u8349\u7A3F","content-manager.containers.List.errorFetchRecords":"\u9519\u8BEF","content-manager.containers.List.published":"\u5DF2\u53D1\u5E03","content-manager.containers.ListPage.displayedFields":"\u663E\u793A\u5B57\u6BB5","content-manager.containers.ListPage.items":"{number, plural, =0 {\u9879} one {\u9879} other {\u9879}}","content-manager.containers.ListPage.table-headers.published_at":"\u72B6\u6001","content-manager.containers.ListSettingsView.modal-form.edit-label":"\u7F16\u8F91 {fieldName}","content-manager.containers.SettingPage.add.field":"\u6DFB\u52A0\u5B57\u6BB5","content-manager.containers.SettingPage.add.relational-field":"\u6DFB\u52A0\u5173\u8054\u5B57\u6BB5","content-manager.containers.SettingPage.attributes":"\u5C5E\u6027","content-manager.containers.SettingPage.attributes.description":"\u5B9A\u4E49\u5B57\u6BB5\u7684\u6392\u5E8F","content-manager.containers.SettingPage.editSettings.description":"\u62D6\u653E\u5B57\u6BB5\u4EE5\u5EFA\u7ACB\u5E03\u5C40","content-manager.containers.SettingPage.editSettings.entry.title":"\u6761\u76EE\u6807\u9898","content-manager.containers.SettingPage.editSettings.entry.title.description":"\u8BBE\u7F6E\u53EF\u663E\u793A\u7684\u5B57\u6BB5","content-manager.containers.SettingPage.editSettings.relation-field.description":"\u8BBE\u7F6E\u5728\u7F16\u8F91\u548C\u5217\u8868\u89C6\u56FE\u4E2D\u90FD\u53EF\u663E\u793A\u7684\u5B57\u6BB5","content-manager.containers.SettingPage.editSettings.title":"\u7F16\u8F91 (\u8BBE\u7F6E)","content-manager.containers.SettingPage.layout":"\u5E03\u5C40","content-manager.containers.SettingPage.listSettings.description":"\u914D\u7F6E\u96C6\u5408\u7C7B\u578B\u7684\u9009\u9879","content-manager.containers.SettingPage.listSettings.title":"\u5217\u8868\u89C6\u56FE (\u8BBE\u7F6E)","content-manager.containers.SettingPage.pluginHeaderDescription":"\u914D\u7F6E\u6307\u5B9A\u96C6\u5408\u7C7B\u578B\u7684\u8BBE\u7F6E","content-manager.containers.SettingPage.relations":"\u5173\u8054\u5B57\u6BB5","content-manager.containers.SettingPage.settings":"\u8BBE\u7F6E","content-manager.containers.SettingPage.view":"\u89C6\u56FE","content-manager.containers.SettingViewModel.pluginHeader.title":"\u5185\u5BB9\u7BA1\u7406\u5668 - {\u540D\u79F0}","content-manager.containers.SettingsPage.Block.contentType.description":"\u914D\u7F6E\u6307\u5B9A\u5185\u5BB9\u7C7B\u578B\u7684\u8BBE\u7F6E","content-manager.containers.SettingsPage.Block.contentType.title":"\u96C6\u5408\u7C7B\u578B","content-manager.containers.SettingsPage.Block.generalSettings.description":"\u4E3A\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u914D\u7F6E\u9ED8\u8BA4\u9009\u9879","content-manager.containers.SettingsPage.Block.generalSettings.title":"\u901A\u7528","content-manager.containers.SettingsPage.pluginHeaderDescription":"\u4E3A\u4F60\u6240\u6709\u7684\u96C6\u5408\u7C7B\u578B\u548C\u7EC4\u914D\u7F6E\u8BBE\u7F6E","content-manager.containers.SettingsView.list.subtitle":"\u914D\u7F6E\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u548C\u7EC4\u7684\u5E03\u5C40\u548C\u663E\u793A","content-manager.containers.SettingsView.list.title":"\u663E\u793A\u914D\u7F6E","content-manager.edit-settings-view.link-to-ctb.components":"\u7F16\u8F91\u7EC4\u4EF6","content-manager.edit-settings-view.link-to-ctb.content-types":"\u7F16\u8F91\u5185\u5BB9\u7C7B\u578B","content-manager.emptyAttributes.button":"\u524D\u5F80\u96C6\u5408\u7C7B\u578B\u6784\u5EFA\u5668","content-manager.emptyAttributes.description":"\u4E3A\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u4E2D\u6DFB\u52A0\u4F60\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5","content-manager.emptyAttributes.title":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5","content-manager.error.attribute.key.taken":"\u8BE5\u503C\u5DF2\u5B58\u5728","content-manager.error.attribute.sameKeyAndName":"\u4E0D\u80FD\u76F8\u540C","content-manager.error.attribute.taken":"\u8BE5\u5B57\u6BB5\u540D\u5DF2\u5B58\u5728","content-manager.error.contentTypeName.taken":"\u8BE5\u540D\u79F0\u5DF2\u5B58\u5728","content-manager.error.model.fetch":"\u5728\u83B7\u53D6\u6A21\u578B\u914D\u7F6E\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.create":"\u5728\u521B\u5EFA\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.delete":"\u5728\u5220\u9664\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.fetch":"\u5728\u83B7\u53D6\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.update":"\u5728\u8BB0\u5F55\u66F4\u65B0\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.records.count":"\u5728\u83B7\u53D6\u8BA1\u6570\u5668\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.records.fetch":"\u5728\u83B7\u53D6\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.schema.generation":"\u5728\u751F\u6210\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.validation.json":"\u65E0\u6548\u7684JSON\u683C\u5F0F","content-manager.error.validation.max":"\u6570\u503C\u592A\u5927","content-manager.error.validation.maxLength":"\u957F\u5EA6\u592A\u957F","content-manager.error.validation.min":"\u6570\u503C\u592A\u5C0F","content-manager.error.validation.minLength":"\u957F\u5EA6\u592A\u77ED","content-manager.error.validation.minSupMax":"\u6700\u5C0F\u503C\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u503C","content-manager.error.validation.regex":"\u6B63\u5219\u8868\u8FBE\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E","content-manager.error.validation.required":"\u5FC5\u586B\u9879","content-manager.form.Input.bulkActions":"\u5F00\u542F\u6279\u91CF\u64CD\u4F5C","content-manager.form.Input.defaultSort":"\u9ED8\u8BA4\u6392\u5E8F\u5B57\u6BB5","content-manager.form.Input.description":"\u63CF\u8FF0","content-manager.form.Input.description.placeholder":"\u8FD9\u4E2A\u5B57\u6BB5\u7684\u63CF\u8FF0","content-manager.form.Input.editable":"\u53EF\u7F16\u8F91\u5B57\u6BB5","content-manager.form.Input.filters":"\u5F00\u542F\u8FC7\u6EE4\u5668","content-manager.form.Input.label":"\u6807\u7B7E","content-manager.form.Input.label.inputDescription":"\u8BE5\u503C\u4F1A\u8986\u76D6\u663E\u793A\u5728\u8868\u5934\u7684\u6807\u7B7E","content-manager.form.Input.pageEntries":"\u6BCF\u9875\u6761\u76EE\u6570","content-manager.form.Input.pageEntries.inputDescription":"\u6CE8\u610F\uFF1A\u4F60\u53EF\u4EE5\u5728\u96C6\u5408\u7C7B\u578B\u8BBE\u7F6E\u9875\u9762\u4E2D\u8986\u76D6\u8BE5\u503C","content-manager.form.Input.placeholder":"\u63D0\u793A\u4FE1\u606F","content-manager.form.Input.placeholder.placeholder":"\u5728\u6587\u5B57\u8F93\u5165\u6846\u4E2D\u663E\u793A\u63D0\u793A\u4FE1\u606F","content-manager.form.Input.search":"\u5F00\u542F\u641C\u7D22","content-manager.form.Input.search.field":"\u5141\u8BB8\u8BE5\u5B57\u6BB5\u88AB\u641C\u7D22","content-manager.form.Input.sort.field":"\u5141\u8BB8\u6309\u8BE5\u5B57\u6BB5\u6392\u5E8F","content-manager.form.Input.sort.order":"\u9ED8\u8BA4\u6392\u5E8F\u987A\u5E8F","content-manager.form.Input.wysiwyg":"\u6240\u89C1\u5373\u6240\u5F97\u7F16\u8F91\u5668","content-manager.global.displayedFields":"\u5DF2\u663E\u793A\u5B57\u6BB5","content-manager.groups":"\u7FA4\u7EC4","content-manager.groups.numbered":"\u7FA4\u7EC4 ({number})","content-manager.header.name":"\u5185\u5BB9","content-manager.link-to-ctb":"\u7F16\u8F91\u6A21\u578B","content-manager.models":"\u96C6\u5408\u7C7B\u578B","content-manager.models.numbered":"\u96C6\u5408\u7C7B\u578B ({number})","content-manager.notification.error.displayedFields":"\u4F60\u81F3\u5C11\u9700\u8981\u663E\u793A\u4E00\u4E2A\u5B57\u6BB5","content-manager.notification.error.relationship.fetch":"\u5728\u83B7\u53D6\u5173\u7CFB\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF","content-manager.notification.info.SettingPage.disableSort":"\u4F60\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u7528\u6765\u6392\u5E8F\u7684\u5B57\u6BB5","content-manager.notification.info.minimumFields":"\u4F60\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u7528\u6765\u663E\u793A\u7684\u5B57\u6BB5","content-manager.notification.upload.error":"\u5728\u4E0A\u4F20\u6587\u4EF6\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF","content-manager.pageNotFound":"\u627E\u4E0D\u5230\u9875\u9762","content-manager.pages.ListView.header-subtitle":"\u627E\u5230 {number, plural, =0 {# \u6761\u76EE} one {# \u6761\u76EE} other {# \u6761\u76EE}}","content-manager.pages.NoContentType.button":"\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","content-manager.pages.NoContentType.text":"\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\u521B\u5EFA\u60A8\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B\u3002","content-manager.permissions.not-allowed.create":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u521B\u5EFA\u6587\u6863","content-manager.permissions.not-allowed.update":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u67E5\u770B\u6587\u4EF6","content-manager.plugin.description.long":"\u67E5\u770B\u3001\u7F16\u8F91\u548C\u5220\u9664\u6570\u636E\u5E93\u4E2D\u7684\u6570\u636E\u7684\u5FEB\u901F\u65B9\u6CD5\u3002","content-manager.plugin.description.short":"\u67E5\u770B\u3001\u7F16\u8F91\u548C\u5220\u9664\u6570\u636E\u5E93\u4E2D\u7684\u6570\u636E\u7684\u5FEB\u901F\u65B9\u6CD5\u3002","content-manager.popUpWarning.bodyMessage.contentType.delete":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.bodyMessage.contentType.delete.all":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E9B\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.warning.cancelAllSettings":"\u4F60\u786E\u5B9A\u8981\u53D6\u6D88\u8FD9\u4E9B\u4FEE\u6539\u5417\uFF1F","content-manager.popUpWarning.warning.publish-question":"\u4F60\u8FD8\u60F3\u53D1\u5E03\u8FD9\u4E2A\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.warning.unpublish":"\u53D6\u6D88\u53D1\u5E03\u8FD9\u4E2A\u5185\u5BB9<br></br>\u5C06\u81EA\u52A8\u53D8\u6210\u8349\u7A3F.","content-manager.popUpWarning.warning.unpublish-question":"\u4F60\u786E\u5B9A\u4F60\u8981\u53D6\u6D88\u53D1\u5E03\u5417\uFF1F","content-manager.popUpWarning.warning.updateAllSettings":"\u8FD9\u5C06\u4FEE\u6539\u4F60\u7684\u6240\u6709\u8BBE\u7F6E","content-manager.popUpwarning.warning.has-draft-relations.button-confirm":"\u662F, \u53D1\u5E03","content-manager.popUpwarning.warning.has-draft-relations.message":"<b>{count, plural, =0 { \u4E2A\u5173\u8054\u7684\u5185\u5BB9} one { \u4E2A\u5173\u8054\u7684\u5185\u5BB9} other { \u4E2A\u5173\u8054\u7684\u5185\u5BB9}}</b> \u5C1A\u672A\u53D1\u5E03\u3002<br></br>\u5B83\u53EF\u80FD\u4F1A\u5728\u4F60\u7684\u9879\u76EE\u4E0A\u4EA7\u751F\u5173\u8054\u5931\u6548\u548C\u9519\u8BEF\u3002","content-manager.popover.display-relations.label":"\u663E\u793A\u5173\u8054","content-manager.success.record.delete":"\u5DF2\u5220\u9664","content-manager.success.record.publish":"\u5DF2\u53D1\u5E03","content-manager.success.record.save":"\u5DF2\u4FDD\u5B58","content-manager.success.record.unpublish":"\u5DF2\u53D6\u6D88\u53D1\u5E03","content-manager.utils.data-loaded":"\u8FD9\u4E2A {number, plural, =1 {\u6761\u76EE} other {\u6761\u76EE}} \u5DF2\u6210\u529F\u52A0\u8F7D","content-type-builder.button.component.create":"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u7EC4\u4EF6","content-type-builder.button.model.create":"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u96C6\u5408\u7C7B\u578B","content-type-builder.button.single-types.create":"\u521B\u65B0\u4E00\u4E2A\u65B0\u7684\u5355\u4E00\u7C7B\u578B","content-type-builder.form.button.add.field.to.collectionType":"\u4E3A\u8FD9\u4E2A\u96C6\u5408\u7C7B\u578B\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5B57\u6BB5","content-type-builder.form.button.add.field.to.singleType":"\u4E3A\u8FD9\u4E2A\u5355\u4E00\u7C7B\u578B\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5B57\u6BB5","content-type-builder.listView.headerLayout.description":"\u5B9A\u4E49\u5185\u5BB9\u7684\u6570\u636E\u7ED3\u6784","content-type-builder.menu.section.components.name":"\u7EC4\u4EF6","content-type-builder.menu.section.models.name":"\u96C6\u5408\u7C7B\u578B","content-type-builder.menu.section.single-types.name":"\u5355\u4E00\u7C7B\u578B","content-type-builder.plugin.name":"\u6A21\u578B\u6784\u5EFA\u5668","form.button.done":"\u5B8C\u6210","global.search":"\u641C\u7D22","global.back":"\u8FD4\u56DE","global.content-manager":"\u5185\u5BB9\u7BA1\u7406","global.delete-target":"\u5220\u9664 {target}","global.documentation":"\u6587\u6863","global.marketplace":"\u5E02\u573A","global.name":"\u540D\u79F0","global.plugins":"\u63D2\u4EF6","global.profile":"\u4E2A\u4EBA\u8D44\u6599","global.prompt.unsaved":"\u60A8\u786E\u5B9A\u8981\u79BB\u5F00\u8FD9\u4E2A\u9875\u9762\u5417\uFF1F\u60A8\u6240\u6709\u7684\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\u90FD\u5C06\u4E22\u5931","global.save":"\u4FDD\u5B58","global.settings":"\u8BBE\u7F6E","global.type":"\u7C7B\u578B","notification.contentType.relations.conflict":"\u5185\u5BB9\u7C7B\u578B\u6709\u5173\u8054\u51B2\u7A81","notification.default.title":"\u901A\u77E5\uFF1A","notification.error":"\u53D1\u751F\u9519\u8BEF","notification.error.layout":"\u65E0\u6CD5\u83B7\u53D6\u5E03\u5C40","notification.form.error.fields":"\u8868\u5355\u5305\u542B\u4E00\u4E9B\u9519\u8BEF","notification.form.success.fields":"\u4FEE\u6539\u5DF2\u4FDD\u5B58","notification.link-copied":"\u94FE\u63A5\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F","notification.permission.not-allowed-read":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u67E5\u770B\u6587\u4EF6","notification.success.delete":"\u6761\u76EE\u5DF2\u5220\u9664","notification.success.saved":"\u5DF2\u4FDD\u5B58","notification.success.title":"\u6210\u529F\uFF1A","notification.version.update.message":"\u6709\u65B0\u7248\u672C\u7684 Strapi \u53EF\u7528!","notification.warning.title":"\u8B66\u544A\uFF1A","or":"\u6216","request.error.model.unknown":"\u6A21\u578B\u4E0D\u5B58\u5728","skipToContent":"\u8DF3\u81F3\u5185\u5BB9","submit":"\u63D0\u4EA4"}')}}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "4.3.0-beta.1",
3
+ "version": "4.3.0-beta.2",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,7 +41,7 @@
41
41
  "@babel/plugin-transform-runtime": "7.16.7",
42
42
  "@babel/polyfill": "7.12.1",
43
43
  "@babel/preset-env": "7.16.7",
44
- "@babel/preset-react": "7.16.7",
44
+ "@babel/preset-react": "7.18.6",
45
45
  "@babel/runtime": "7.16.7",
46
46
  "@casl/ability": "^5.4.3",
47
47
  "@fingerprintjs/fingerprintjs": "3.3.2",
@@ -49,25 +49,26 @@
49
49
  "@fortawesome/fontawesome-svg-core": "^1.2.35",
50
50
  "@fortawesome/free-brands-svg-icons": "^5.15.3",
51
51
  "@fortawesome/free-solid-svg-icons": "^5.15.3",
52
- "@fortawesome/react-fontawesome": "^0.1.14",
53
- "@strapi/babel-plugin-switch-ee-ce": "4.3.0-beta.1",
54
- "@strapi/design-system": "1.1.1",
55
- "@strapi/helper-plugin": "4.3.0-beta.1",
56
- "@strapi/icons": "1.1.1",
57
- "@strapi/typescript-utils": "4.3.0-beta.1",
58
- "@strapi/utils": "4.3.0-beta.1",
52
+ "@fortawesome/react-fontawesome": "^0.2.0",
53
+ "@pmmmwh/react-refresh-webpack-plugin": "0.5.7",
54
+ "@strapi/babel-plugin-switch-ee-ce": "4.3.0-beta.2",
55
+ "@strapi/design-system": "1.2.0",
56
+ "@strapi/helper-plugin": "4.3.0-beta.2",
57
+ "@strapi/icons": "1.2.0",
58
+ "@strapi/typescript-utils": "4.3.0-beta.2",
59
+ "@strapi/utils": "4.3.0-beta.2",
59
60
  "axios": "0.24.0",
60
- "babel-loader": "8.2.3",
61
+ "babel-loader": "8.2.5",
61
62
  "babel-plugin-styled-components": "2.0.2",
62
63
  "bcryptjs": "2.4.3",
63
64
  "chalk": "^4.1.1",
64
65
  "chokidar": "^3.5.1",
65
- "codemirror": "^5.61.0",
66
+ "codemirror": "^5.65.6",
66
67
  "cross-env": "^7.0.3",
67
68
  "css-loader": "6.5.1",
68
- "date-fns": "2.22.1",
69
+ "date-fns": "2.28.0",
69
70
  "dotenv": "8.5.1",
70
- "esbuild-loader": "2.18.0",
71
+ "esbuild-loader": "^2.19.0",
71
72
  "execa": "^1.0.0",
72
73
  "fast-deep-equal": "3.1.3",
73
74
  "font-awesome": "^4.7.0",
@@ -99,14 +100,14 @@
99
100
  "markdown-it-sup": "1.0.0",
100
101
  "match-sorter": "^4.0.2",
101
102
  "mini-css-extract-plugin": "2.4.4",
102
- "moment": "^2.29.1",
103
+ "moment": "^2.29.4",
103
104
  "node-polyfill-webpack-plugin": "1.1.4",
104
105
  "p-map": "4.0.0",
105
106
  "passport-local": "1.0.0",
106
107
  "prop-types": "^15.7.2",
107
108
  "qs": "6.10.1",
108
109
  "react": "^17.0.2",
109
- "react-copy-to-clipboard": "^5.0.3",
110
+ "react-copy-to-clipboard": "^5.1.0",
110
111
  "react-dnd": "^14.0.2",
111
112
  "react-dnd-html5-backend": "^14.0.0",
112
113
  "react-dom": "^17.0.2",
@@ -115,7 +116,8 @@
115
116
  "react-helmet": "^6.1.0",
116
117
  "react-intl": "5.20.2",
117
118
  "react-query": "3.24.3",
118
- "react-redux": "7.2.3",
119
+ "react-redux": "7.2.8",
120
+ "react-refresh": "0.11.0",
119
121
  "react-router": "5.2.0",
120
122
  "react-router-dom": "5.2.0",
121
123
  "react-select": "^4.0.2",
@@ -124,26 +126,26 @@
124
126
  "redux-saga": "^0.16.0",
125
127
  "reselect": "^4.0.0",
126
128
  "rimraf": "3.0.2",
127
- "sanitize-html": "2.4.0",
128
- "semver": "7.3.5",
129
+ "sanitize-html": "2.7.0",
130
+ "semver": "7.3.7",
129
131
  "sift": "13.5.0",
130
132
  "style-loader": "3.3.1",
131
133
  "styled-components": "5.3.3",
132
- "webpack": "5.65.0",
133
- "webpack-cli": "4.9.1",
134
- "webpack-dev-server": "4.7.3",
135
- "webpackbar": "5.0.0-3",
134
+ "webpack": "^5.73.0",
135
+ "webpack-cli": "^4.10.0",
136
+ "webpack-dev-server": "^4.9.3",
137
+ "webpackbar": "^5.0.2",
136
138
  "yup": "^0.32.9"
137
139
  },
138
140
  "devDependencies": {
139
- "duplicate-dependencies-webpack-plugin": "0.2.0",
141
+ "duplicate-dependencies-webpack-plugin": "^1.0.2",
140
142
  "glob": "8.0.3",
141
143
  "speed-measure-webpack-plugin": "1.5.0",
142
- "webpack-bundle-analyzer": "4.4.1"
144
+ "webpack-bundle-analyzer": "^4.5.0"
143
145
  },
144
146
  "engines": {
145
147
  "node": ">=14.19.1 <=16.x.x",
146
148
  "npm": ">=6.0.0"
147
149
  },
148
- "gitHead": "9d6555398960c39159d66bb4eea3bcb0362e37e3"
150
+ "gitHead": "42aba356ad1b0751584d3b375e83baa4a2c18f65"
149
151
  }
@@ -106,6 +106,7 @@ module.exports = {
106
106
  const currentEnvironment = strapi.config.get('environment');
107
107
  const autoReload = strapi.config.get('autoReload', false);
108
108
  const strapiVersion = strapi.config.get('info.strapi', null);
109
+ const dependencies = strapi.config.get('info.dependencies', {});
109
110
  const nodeVersion = process.version;
110
111
  const communityEdition = !strapi.EE;
111
112
  const useYarn = await exists(path.join(process.cwd(), 'yarn.lock'));
@@ -115,6 +116,7 @@ module.exports = {
115
116
  currentEnvironment,
116
117
  autoReload,
117
118
  strapiVersion,
119
+ dependencies,
118
120
  nodeVersion,
119
121
  communityEdition,
120
122
  useYarn,
package/webpack.alias.js CHANGED
@@ -2,18 +2,19 @@
2
2
 
3
3
  const path = require('path');
4
4
 
5
- const alias = [
6
- 'object-assign',
7
- 'whatwg-fetch',
5
+ const aliasExactMatch = [
6
+ '@strapi/design-system',
7
+ '@strapi/helper-plugin',
8
+ '@strapi/icons',
8
9
  '@fortawesome/fontawesome-svg-core',
9
10
  '@fortawesome/free-solid-svg-icons',
11
+ 'date-fns',
12
+ 'formik',
10
13
  'history',
11
- 'hoist-non-react-statics',
12
14
  'immer',
13
- 'invariant',
15
+ 'qs',
14
16
  'lodash',
15
17
  'moment',
16
- 'qs',
17
18
  'react',
18
19
  'react-copy-to-clipboard',
19
20
  'react-dnd',
@@ -24,6 +25,7 @@ const alias = [
24
25
  'react-helmet',
25
26
  'react-is',
26
27
  'react-intl',
28
+ 'react-query',
27
29
  'react-redux',
28
30
  'react-router',
29
31
  'react-router-dom',
@@ -32,20 +34,29 @@ const alias = [
32
34
  'redux',
33
35
  'reselect',
34
36
  'styled-components',
37
+ 'whatwg-fetch',
35
38
  'yup',
36
39
  ];
37
40
 
38
- module.exports = alias.reduce(
39
- (acc, curr) => {
40
- acc[`${curr}$`] = require.resolve(curr);
41
+ const alias = [
42
+ 'react-select/animated',
43
+ 'react-select/async',
44
+ 'react-select/async-creatable',
45
+ 'react-select/base',
46
+ 'react-select/creatable',
47
+ ];
48
+
49
+ // See https://webpack.js.org/configuration/resolve/
50
+ module.exports = {
51
+ ...alias.reduce((acc, name) => {
52
+ acc[name] = require.resolve(name);
41
53
  return acc;
42
- },
43
- {
44
- 'react-select/animated': require.resolve('react-select/animated'),
45
- 'react-select/async': require.resolve('react-select/async'),
46
- 'react-select/async-creatable': require.resolve('react-select/async-creatable'),
47
- 'react-select/base': require.resolve('react-select/base'),
48
- 'react-select/creatable': require.resolve('react-select/creatable'),
49
- ee_else_ce: path.resolve(__dirname),
50
- }
51
- );
54
+ }, {}),
55
+
56
+ ...aliasExactMatch.reduce((acc, name) => {
57
+ acc[`${name}$`] = require.resolve(name);
58
+ return acc;
59
+ }, {}),
60
+
61
+ ee_else_ce: path.resolve(__dirname),
62
+ };