@strapi/admin 4.6.2 → 4.7.0-exp.117579f4c13806c2cd518e7d7d2f9d0c8a20107d

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 (97) hide show
  1. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -2
  2. package/admin/src/hooks/useRegenerate/index.js +2 -2
  3. package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +7 -0
  4. package/admin/src/pages/HomePage/CloudBox.js +83 -0
  5. package/admin/src/pages/HomePage/ContentBlocks.js +2 -0
  6. package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
  7. package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +1 -0
  8. package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +1 -0
  9. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components → components/Tokens}/FormHead/index.js +36 -19
  10. package/admin/src/pages/SettingsPage/components/Tokens/FormiTokenContainer/LifeSpanInput.js +95 -0
  11. package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +97 -0
  12. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +73 -0
  13. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DeleteButton/index.js +19 -6
  14. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +145 -0
  15. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components/ContentBox → components/Tokens/TokenBox}/index.js +19 -16
  16. package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +51 -0
  17. package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +46 -0
  18. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +69 -0
  19. package/admin/src/pages/SettingsPage/components/Tokens/constants.js +2 -0
  20. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +3 -1
  21. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +53 -150
  22. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +5 -1
  23. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +46 -17
  24. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +16 -16
  25. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +101 -0
  26. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +48 -0
  27. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +219 -0
  28. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +16 -0
  29. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +4 -0
  30. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +10 -0
  31. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +194 -0
  32. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +48 -0
  33. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +14 -0
  34. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +14 -0
  35. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +12 -0
  36. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +33 -0
  37. package/admin/src/permissions/defaultPermissions.js +8 -0
  38. package/admin/src/translations/en.json +15 -0
  39. package/build/27d16aefee06412db90a.png +0 -0
  40. package/build/4049.16583eee.chunk.js +1 -0
  41. package/build/4649.b7e84a29.chunk.js +30 -0
  42. package/build/7259.3f04094f.chunk.js +1 -0
  43. package/build/{Admin-authenticatedApp.dd16edad.chunk.js → Admin-authenticatedApp.49265c1c.chunk.js} +6 -6
  44. package/build/Admin_homePage.1f10437f.chunk.js +78 -0
  45. package/build/{Admin_settingsPage.3cd54156.chunk.js → Admin_settingsPage.5a329b58.chunk.js} +25 -25
  46. package/build/{admin-app.3a084127.chunk.js → admin-app.df9adf93.chunk.js} +26 -26
  47. package/build/{api-tokens-create-page.a31c7fba.chunk.js → api-tokens-create-page.4328b852.chunk.js} +1 -1
  48. package/build/{api-tokens-edit-page.64fef287.chunk.js → api-tokens-edit-page.bce5050f.chunk.js} +1 -1
  49. package/build/api-tokens-list-page.149903c8.chunk.js +16 -0
  50. package/build/bb3108f7fd1e6179bde1.svg +1 -0
  51. package/build/bb4d0d527bdfb161bc5a.svg +1 -0
  52. package/build/{content-manager.d04b738f.chunk.js → content-manager.6ed87531.chunk.js} +1 -1
  53. package/build/en-json.8e5451b1.chunk.js +1 -0
  54. package/build/index.html +1 -1
  55. package/build/{main.9c01de7f.js → main.8009bfe8.js} +1 -0
  56. package/build/runtime~main.86cd21d5.js +2 -0
  57. package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +1 -0
  58. package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +1 -0
  59. package/build/transfer-tokens-list-page.1e15926d.chunk.js +16 -0
  60. package/package.json +9 -9
  61. package/server/bootstrap.js +2 -0
  62. package/server/config/admin-actions.js +48 -0
  63. package/server/content-types/index.js +2 -0
  64. package/server/content-types/transfer-token-permission.js +36 -0
  65. package/server/content-types/transfer-token.js +66 -0
  66. package/server/controllers/api-token.js +4 -5
  67. package/server/controllers/index.js +1 -0
  68. package/server/controllers/transfer/index.js +13 -0
  69. package/server/controllers/transfer/runner.js +24 -0
  70. package/server/controllers/transfer/token.js +131 -0
  71. package/server/register.js +2 -9
  72. package/server/routes/index.js +2 -0
  73. package/server/routes/transfer.js +95 -0
  74. package/server/services/api-token.js +2 -3
  75. package/server/services/constants.js +6 -0
  76. package/server/services/index.js +1 -0
  77. package/server/services/transfer/index.js +6 -0
  78. package/server/services/transfer/permission.js +22 -0
  79. package/server/services/transfer/token.js +409 -0
  80. package/server/strategies/api-token.js +4 -2
  81. package/server/strategies/data-transfer.js +107 -0
  82. package/server/strategies/index.js +1 -0
  83. package/server/utils/index.d.ts +2 -0
  84. package/server/validation/api-tokens.js +1 -6
  85. package/server/validation/transfer/index.js +5 -0
  86. package/server/validation/transfer/token.js +34 -0
  87. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +0 -77
  88. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +0 -110
  89. package/build/1341.5d48c79b.chunk.js +0 -1
  90. package/build/4318.9b1ac9bc.chunk.js +0 -30
  91. package/build/Admin_homePage.4b878f04.chunk.js +0 -72
  92. package/build/api-tokens-list-page.370459ba.chunk.js +0 -16
  93. package/build/en-json.9cada7f3.chunk.js +0 -1
  94. package/build/runtime~main.bb1389c9.js +0 -2
  95. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DefaultButton/index.js +1 -1
  96. /package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/ReadButton/index.js +0 -0
  97. /package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/UpdateButton/index.js +0 -0
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{96822:function(P,R,t){"use strict";t.r(R),t.d(R,{SettingsPage:function(){return at},default:function(){return ft}});var e=t(32735),b=t(13478),s=t(5141),l=t(39161),c=t(5636),E=t(99357),K=t(8888),Q=t(64421),le=t(84968),$=t(57269),x=t(72041),De=t(60216),f=t.n(De);const oe=750,Ee=100,ae=["image/jpeg","image/png","image/svg+xml"];var be=t(97889);const ve={localImage:void 0};var Ue=(g=ve,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_LOCAL_IMAGE":{h.localImage=p.value;break}default:return h}});const Ie=({onChangeLogo:g,customLogo:p,goTo:h,Component:v,modalTitle:F,next:z,prev:ee,currentStep:H})=>{const[{localImage:W},O]=(0,e.useReducer)(Ue,ve),{formatMessage:de}=(0,c.useIntl)(),Y=fe=>{O({type:"SET_LOCAL_IMAGE",value:fe})},Ae=()=>{h(null)};return H?e.createElement(l.ModalLayout,{labelledBy:"modal",onClose:Ae},e.createElement(l.ModalHeader,null,e.createElement(l.Typography,{fontWeight:"bold",as:"h2",id:"modal"},de(F))),e.createElement(v,{setLocalImage:Y,goTo:h,next:z,prev:ee,onClose:Ae,asset:W||p,onChangeLogo:g})):null};Ie.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},Ie.propTypes={Component:f().elementType,currentStep:f().string,customLogo:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}),goTo:f().func.isRequired,modalTitle:f().shape({id:f().string,defaultMessage:f().string}),next:f().string,onChangeLogo:f().func.isRequired,prev:f().string};var Oe=Ie;const D={currentStep:void 0};var G=(g=D,p)=>(0,be.default)(g,h=>{switch(p.type){case"GO_TO":{h.currentStep=p.to;break}default:return h}}),j=t(83292);const se={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},ie={id:"Settings.application.customization.modal.upload.error-size",defaultMessage:"The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"},xe=g=>new Promise(p=>{const h=new FileReader;h.onload=()=>{const v=new Image;v.onload=function(){p({width:v.width,height:v.height})},v.src=h.result},h.readAsDataURL(g)}),M=(g,p)=>({ext:g.name.split(".").pop(),size:g.size/1e3,name:g.name,url:URL.createObjectURL(g),rawFile:g,width:p.width,height:p.height}),k=async g=>{let p;if(!ae.includes(g.type))throw p=new Error("File format"),p.displayMessage=se,p;const v=await xe(g);if(!(v.width<=oe&&v.height<=oe))throw p=new Error("File sizing"),p.displayMessage=ie,p;const z=M(g,v);if(!(z.size<=Ee))throw p=new Error("File sizing"),p.displayMessage=ie,p;return z},X=(0,j.default)(l.FieldInput)`
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{96822:function(P,R,t){"use strict";t.r(R),t.d(R,{SettingsPage:function(){return st},default:function(){return ft}});var e=t(32735),b=t(13478),a=t(5141),l=t(39161),c=t(5636),E=t(99357),K=t(8888),Q=t(64421),le=t(84968),$=t(57269),x=t(72041),De=t(60216),f=t.n(De);const oe=750,Ee=100,se=["image/jpeg","image/png","image/svg+xml"];var be=t(97889);const ve={localImage:void 0};var Ue=(g=ve,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_LOCAL_IMAGE":{h.localImage=p.value;break}default:return h}});const Ie=({onChangeLogo:g,customLogo:p,goTo:h,Component:v,modalTitle:F,next:z,prev:ee,currentStep:H})=>{const[{localImage:W},O]=(0,e.useReducer)(Ue,ve),{formatMessage:de}=(0,c.useIntl)(),Y=fe=>{O({type:"SET_LOCAL_IMAGE",value:fe})},Ae=()=>{h(null)};return H?e.createElement(l.ModalLayout,{labelledBy:"modal",onClose:Ae},e.createElement(l.ModalHeader,null,e.createElement(l.Typography,{fontWeight:"bold",as:"h2",id:"modal"},de(F))),e.createElement(v,{setLocalImage:Y,goTo:h,next:z,prev:ee,onClose:Ae,asset:W||p,onChangeLogo:g})):null};Ie.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},Ie.propTypes={Component:f().elementType,currentStep:f().string,customLogo:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}),goTo:f().func.isRequired,modalTitle:f().shape({id:f().string,defaultMessage:f().string}),next:f().string,onChangeLogo:f().func.isRequired,prev:f().string};var Oe=Ie;const D={currentStep:void 0};var G=(g=D,p)=>(0,be.default)(g,h=>{switch(p.type){case"GO_TO":{h.currentStep=p.to;break}default:return h}}),j=t(83292);const ae={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},ie={id:"Settings.application.customization.modal.upload.error-size",defaultMessage:"The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"},xe=g=>new Promise(p=>{const h=new FileReader;h.onload=()=>{const v=new Image;v.onload=function(){p({width:v.width,height:v.height})},v.src=h.result},h.readAsDataURL(g)}),M=(g,p)=>({ext:g.name.split(".").pop(),size:g.size/1e3,name:g.name,url:URL.createObjectURL(g),rawFile:g,width:p.width,height:p.height}),k=async g=>{let p;if(!se.includes(g.type))throw p=new Error("File format"),p.displayMessage=ae,p;const v=await xe(g);if(!(v.width<=oe&&v.height<=oe))throw p=new Error("File sizing"),p.displayMessage=ie,p;const z=M(g,v);if(!(z.size<=Ee))throw p=new Error("File sizing"),p.displayMessage=ie,p;return z},X=(0,j.default)(l.FieldInput)`
2
2
  opacity: 0;
3
3
  position: absolute;
4
4
  top: 0;
@@ -6,10 +6,10 @@
6
6
  left: 0;
7
7
  right: 0;
8
8
  z-index: 1;
9
- `,J=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(!1),[H,W]=(0,e.useState)(void 0),O=(0,e.useRef)(null),de=()=>ee(!0),Y=()=>ee(!1),Ae=$e=>{$e.preventDefault(),O.current.click()},fe=async()=>{Y();const $e=O.current.files[0];if($e)try{const Me=await k($e);g(Me),p(h)}catch(Me){if(Me.displayMessage)W(F(Me.displayMessage,{size:Ee,dimension:oe})),O.current.focus();else throw Me}},Fe=()=>z?"primary500":H?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Field,{name:"logo-upload",error:H},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(l.Stack,{spacing:2},e.createElement(l.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:z?"primary100":"neutral100",borderColor:Fe(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:de,onDragLeave:Y},e.createElement(l.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:$.PicturePlus,"aria-hidden":!0}),e.createElement(l.Box,{paddingTop:3,paddingBottom:5},e.createElement(l.Typography,{variant:"delta",as:"span"},F({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(X,{accept:ae,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:fe,ref:O,id:"logo-upload"}),e.createElement(l.Button,{type:"button",onClick:Ae},F({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(l.Box,{paddingTop:6},e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},F({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:Ee,dimension:oe})))),e.createElement(l.FieldError,null)))))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:v,variant:"tertiary"},F({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};J.defaultProps={next:null},J.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var y=J,me=t(55721),Pe=async g=>{try{const p=await me.Z.get(g,{responseType:"blob",timeout:8e3});return new File([p.data],p.config.url,{type:p.headers["content-type"]})}catch(p){throw p.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},p}};const pe=({goTo:g,next:p,onClose:h,setLocalImage:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(""),[H,W]=(0,e.useState)(null),O=Y=>{ee(Y.target.value)},de=async()=>{try{const Y=await Pe(z),Ae=await k(Y);v(Ae),g(p)}catch(Y){if(Y.displayMessage)W(F(Y.displayMessage,{size:Ee,dimension:oe}));else throw Y}};return e.createElement("form",{onSubmit:Y=>{Y.preventDefault(),de()}},e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.TextInput,{label:F({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:H,onChange:O,value:z,name:"logo-url"})),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:h,variant:"tertiary"},F({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{type:"submit"},F({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};pe.defaultProps={next:null},pe.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var q=pe;const ce=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)();return e.createElement(l.TabGroup,{label:F({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(l.Box,{paddingLeft:8,paddingRight:8},e.createElement(l.Tabs,null,e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(l.Divider,null)),e.createElement(l.TabPanels,null,e.createElement(l.TabPanel,null,e.createElement(y,{onClose:v,setLocalImage:g,goTo:p,next:h})),e.createElement(l.TabPanel,null,e.createElement(q,{onClose:v,setLocalImage:g,goTo:p,next:h}))))};ce.defaultProps={next:null},ce.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var w=ce;const re=({asset:g})=>{const{formatMessage:p}=(0,c.useIntl)();return e.createElement(l.Card,null,e.createElement(l.CardHeader,null,e.createElement(l.CardAsset,{size:"S",src:g.url})),e.createElement(l.CardBody,null,e.createElement(l.CardContent,null,e.createElement(l.CardTitle,null,g.name),e.createElement(l.CardSubtitle,null,`${g.ext.toUpperCase()} - ${g.width}\u2715${g.height}`)),e.createElement(l.CardBadge,null,p({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};re.propTypes={asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired};var ke=re;const Ne=({onClose:g,asset:p,prev:h,next:v,goTo:F,setLocalImage:z,onChangeLogo:ee})=>{const{formatMessage:H}=(0,c.useIntl)(),W=()=>{z(void 0),F(h)},O=()=>{ee(p),F(v)};return e.createElement(e.Fragment,null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(l.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(l.Typography,{variant:"pi",fontWeight:"bold"},H({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral500"},H({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(l.Button,{onClick:W,variant:"secondary"},H({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(l.Box,{maxWidth:(0,b.pxToRem)(180)},e.createElement(ke,{asset:p}))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:g,variant:"tertiary"},H({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{onClick:O},H({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};Ne.defaultProps={next:null,prev:null},Ne.propTypes={goTo:f().func.isRequired,asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired,next:f().string,onClose:f().func.isRequired,onChangeLogo:f().func.isRequired,prev:f().string,setLocalImage:f().func.isRequired};var Ze=Ne,ge={upload:{Component:w,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Ze,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const Ge=({canUpdate:g,customLogo:p,defaultLogo:h,hint:v,label:F,onChangeLogo:z,onResetLogo:ee})=>{const[{currentStep:H},W]=(0,e.useReducer)(G,D),{Component:O,next:de,prev:Y,modalTitle:Ae}=ge[H]||{},{formatMessage:fe}=(0,c.useIntl)(),Fe=$e=>{W({type:"GO_TO",to:$e})};return e.createElement(e.Fragment,null,e.createElement(l.CarouselInput,{label:F,selectedSlide:0,hint:v,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:p?.name||"logo.png",actions:e.createElement(l.CarouselActions,null,e.createElement(l.IconButton,{disabled:!g,onClick:()=>Fe(p?"pending":"upload"),label:fe({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement($.Plus,null)}),p&&e.createElement(l.IconButton,{disabled:!g,onClick:ee,label:fe({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement($.Refresh,null)}))},e.createElement(l.CarouselSlide,{label:fe({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(l.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:p?.url||h,alt:fe({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(Oe,{Component:O,currentStep:H,onChangeLogo:z,customLogo:p,goTo:Fe,next:de,prev:Y,modalTitle:Ae}))};Ge.defaultProps={canUpdate:!1,customLogo:null,hint:null},Ge.propTypes={canUpdate:f().bool,customLogo:f().shape({url:f().string,name:f().string}),label:f().string.isRequired,hint:f().string,defaultLogo:f().string.isRequired,onChangeLogo:f().func.isRequired,onResetLogo:f().func.isRequired};var _e=Ge;const Xe={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var kt=(g=Xe,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_CUSTOM_MENU_LOGO":{h.menuLogo.display=p.value,h.menuLogo.submit.rawFile=p.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{h.authLogo.display=p.value,h.authLogo.submit.rawFile=p.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{h.menuLogo.display=null,h.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{h.authLogo.display=null,h.authLogo.submit={rawFile:null,isReset:!0};break}default:return h}}),et=t(86349),wt=t.n(et),Nt=(g,p)=>wt()(g,{menuLogo:{display:p.menuLogo},authLogo:{display:p.authLogo}});const tt=(0,e.forwardRef)(({canUpdate:g,projectSettingsStored:p},h)=>{const{formatMessage:v}=(0,c.useIntl)(),{trackUsage:F}=(0,b.useTracking)(),{logos:{menu:z,auth:ee}}=(0,K.um)(),[{menuLogo:H,authLogo:W},O]=(0,e.useReducer)(kt,Xe,()=>Nt(Xe,p)),de=Fe=>{O({type:"SET_CUSTOM_MENU_LOGO",value:Fe})},Y=()=>{F("didClickResetLogo",{logo:"menu"}),O({type:"RESET_CUSTOM_MENU_LOGO"})},Ae=Fe=>{O({type:"SET_CUSTOM_AUTH_LOGO",value:Fe})},fe=()=>{F("didClickResetLogo",{logo:"auth"}),O({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(h,()=>({getValues:()=>({menuLogo:H.submit,authLogo:W.submit})})),e.createElement(l.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},v({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:oe,size:Ee})),e.createElement(l.Grid,{paddingTop:4,gap:4},e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:H.display,defaultLogo:z.default,hint:v({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:v({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:de,onResetLogo:Y})),e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:W.display,defaultLogo:ee.default,hint:v({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:v({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:Ae,onResetLogo:fe}))))});tt.defaultProps={canUpdate:!1,projectSettingsStored:null},tt.propTypes={canUpdate:f().bool,projectSettingsStored:f().shape({menuLogo:f().shape({url:f().string,name:f().string})})};var $t=tt,Ve=t(48344),jt=t.n(Ve),nt=g=>jt()(g,(p,h,v)=>{h&&h.url?p[v]={...h,url:(0,b.prefixFileUrlWithBackendUrl)(h.url)}:p[v]=h},{});const ot=async()=>{const{get:g}=(0,b.getFetchClient)(),{data:p}=await g("/admin/project-settings");return nt(p)},rt=async g=>{const{post:p}=(0,b.getFetchClient)(),{data:h}=await p("/admin/project-settings",g,{headers:{"Content-Type":"multipart/form-data"}});return nt(h)};var lt=g=>{const p=new FormData;return Object.entries(g).forEach(([h,v])=>{v&&v.rawFile instanceof File&&p.append(h,v.rawFile),v&&v.isReset&&p.append(h,null)}),p},ct=()=>{const g=(0,e.useRef)(),p=(0,b.useNotification)(),{trackUsage:h}=(0,b.useTracking)(),{formatMessage:v}=(0,c.useIntl)(),F=(0,le.useQueryClient)();(0,b.useFocusWhenNavigate)();const z=(0,b.useAppInfos)(),{latestStrapiReleaseTag:ee,shouldUpdateStrapi:H,strapiVersion:W}=z,{updateProjectSettings:O}=(0,K.um)(),{allowedActions:{canRead:de,canUpdate:Y}}=(0,b.useRBAC)(x.Z.settings["project-settings"]),Ae=de&&Y,{data:fe}=(0,le.useQuery)("project-settings",ot,{enabled:de}),Fe=(0,le.useMutation)(Me=>rt(Me),{async onSuccess({menuLogo:Me,authLogo:Je}){await F.invalidateQueries("project-settings",{refetchActive:!0}),O({menuLogo:Me?.url,authLogo:Je?.url})}}),$e=Me=>{if(Me.preventDefault(),!Y)return;const Je=g.current.getValues(),At=lt(Je);Fe.mutate(At,{onSuccess(){const{menuLogo:ht,authLogo:Mt}=Je;ht.rawFile&&h("didChangeLogo",{logo:"menu"}),Mt.rawFile&&h("didChangeLogo",{logo:"auth"}),p({type:"success",message:v({id:"app",defaultMessage:"Saved"})})},onError(){p({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(l.Layout,null,e.createElement(b.SettingsPageTitle,{name:"Application"}),e.createElement(l.Main,null,e.createElement("form",{onSubmit:$e},e.createElement(l.HeaderLayout,{title:v({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:v({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:Ae&&e.createElement(l.Button,{type:"submit",startIcon:e.createElement($.Check,null)},v({id:"global.save",defaultMessage:"Save"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Stack,{spacing:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"global.details",defaultMessage:"Details"})),e.createElement(l.Grid,{gap:5,as:"dl"},e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,"v",W),H&&e.createElement(l.Link,{href:`https://github.com/strapi/strapi/releases/tag/${ee}`,isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,v({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:z.communityEdition})),e.createElement(l.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(l.Typography,{as:"dd"},z.nodeVersion)))),de&&fe&&e.createElement($t,{canUpdate:Y,ref:g,projectSettingsStored:fe}))))))},Et=t(3704),dt=t.n(Et),Gt=g=>dt()(g,h=>h.links).map(h=>(0,Q.ot)(h.Component,h.to,h.exact||!1)),ut=g=>g.filter(p=>!p.links.every(h=>h.isDisplayed===!1));const mt=(()=>window&&window.strapi&&window.strapi.isEE?t(20178).Z:t(16329).Z)(),pt=(()=>window&&window.strapi&&window.strapi.isEE?t(51899).Z:t(45677).Z)();var bt=[{Component(){return{default:pt}},to:"/settings/roles",exact:!0},{Component(){return{default:mt}},to:"/settings/roles/duplicate/:id",exact:!0},{Component(){return{default:mt}},to:"/settings/roles/new",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,33778))},to:"/settings/roles/:id",exact:!0},{async Component(){return await t.e(5199).then(t.bind(t,27549))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,34669))},to:"/settings/users/:id",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,33238))},to:"/settings/webhooks/create",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,59021))},to:"/settings/webhooks/:id",exact:!0},{async Component(){return await t.e(4121).then(t.bind(t,70791))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,83782))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(1341),t.e(4318),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(1341),t.e(4318),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0}],gt=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...bt],Ht=t(61590),vt=t(64669),St=t(77013),Tt=t(79318),Rt=t(66618);const Qe=({menu:g})=>{const{formatMessage:p}=(0,c.useIntl)(),{trackUsage:h}=(0,b.useTracking)(),{pathname:v}=(0,s.useLocation)(),z=ut(g).map(W=>({...W,title:W.intlLabel,links:W.links.map(O=>({...O,title:O.intlLabel,name:O.id}))})),ee=p({id:"global.settings",defaultMessage:"Settings"}),H=(W=null)=>{h("willNavigate",{from:v,to:W})};return e.createElement(Ht.m,{ariaLabel:ee},e.createElement(vt.p,{label:ee}),e.createElement(St.Z,null,z.map(W=>e.createElement(Tt.D,{key:W.id,label:p(W.intlLabel)},W.links.map(O=>e.createElement(Rt.E,{as:s.NavLink,withBullet:O.hasNotification,to:O.to,onClick:()=>H(O.to),key:O.id},p(O.intlLabel)))))))};Qe.propTypes={menu:f().array.isRequired};var xt=Qe;function at(){const{settingId:g}=(0,s.useParams)(),{settings:p}=(0,b.useStrapiApp)(),{formatMessage:h}=(0,c.useIntl)(),{isLoading:v,menu:F}=(0,K.Te)(),z=(0,e.useMemo)(()=>(0,Q.WW)(gt.map(({to:W,Component:O,exact:de})=>(0,Q.ot)(O,W,de))),[]),ee=Gt(p);if(v)return e.createElement(b.LoadingIndicatorPage,null);if(!g)return e.createElement(s.Redirect,{to:"/settings/application-infos"});const H=h({id:"global.settings",defaultMessage:"Settings"});return e.createElement(l.Layout,{sideNav:e.createElement(xt,{menu:F})},e.createElement(E.Helmet,{title:H}),e.createElement(s.Switch,null,e.createElement(s.Route,{path:"/settings/application-infos",component:ct,exact:!0}),z,ee))}var ft=(0,e.memo)(at)},16329:function(P,R,t){"use strict";var e=t(32735),b=t(5141);const s=()=>e.createElement(b.Redirect,{to:"/404"});R.Z=s},49466:function(P,R){"use strict";R.Z=!0},35123:function(P,R){"use strict";R.Z=!0},18318:function(P,R){"use strict";R.Z=!0},52124:function(P,R){"use strict";R.Z=!0},61526:function(P,R){"use strict";R.Z=!0},78974:function(P,R,t){"use strict";t.d(R,{Z:function(){return Wn}});var e=t(32735),b=t(60216),s=t.n(b),l=t(13478),c=t(39161),E=t(23973),K=t.n(E),Q=t(86834),le=t.n(Q),$=t(5636),x=t(83292),De=t(98978),f=t.n(De),oe=t(57269),Ee=t(33795),ae=t.n(Ee),be=t(9086),ve=t.n(be),Re=t(8888);const Ue=x.default.div`
9
+ `,J=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(!1),[H,W]=(0,e.useState)(void 0),O=(0,e.useRef)(null),de=()=>ee(!0),Y=()=>ee(!1),Ae=$e=>{$e.preventDefault(),O.current.click()},fe=async()=>{Y();const $e=O.current.files[0];if($e)try{const Me=await k($e);g(Me),p(h)}catch(Me){if(Me.displayMessage)W(F(Me.displayMessage,{size:Ee,dimension:oe})),O.current.focus();else throw Me}},Fe=()=>z?"primary500":H?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Field,{name:"logo-upload",error:H},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(l.Stack,{spacing:2},e.createElement(l.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:z?"primary100":"neutral100",borderColor:Fe(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:de,onDragLeave:Y},e.createElement(l.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:$.PicturePlus,"aria-hidden":!0}),e.createElement(l.Box,{paddingTop:3,paddingBottom:5},e.createElement(l.Typography,{variant:"delta",as:"span"},F({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(X,{accept:se,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:fe,ref:O,id:"logo-upload"}),e.createElement(l.Button,{type:"button",onClick:Ae},F({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(l.Box,{paddingTop:6},e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},F({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:Ee,dimension:oe})))),e.createElement(l.FieldError,null)))))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:v,variant:"tertiary"},F({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};J.defaultProps={next:null},J.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var y=J,me=t(55721),Pe=async g=>{try{const p=await me.Z.get(g,{responseType:"blob",timeout:8e3});return new File([p.data],p.config.url,{type:p.headers["content-type"]})}catch(p){throw p.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},p}};const pe=({goTo:g,next:p,onClose:h,setLocalImage:v})=>{const{formatMessage:F}=(0,c.useIntl)(),[z,ee]=(0,e.useState)(""),[H,W]=(0,e.useState)(null),O=Y=>{ee(Y.target.value)},de=async()=>{try{const Y=await Pe(z),Ae=await k(Y);v(Ae),g(p)}catch(Y){if(Y.displayMessage)W(F(Y.displayMessage,{size:Ee,dimension:oe}));else throw Y}};return e.createElement("form",{onSubmit:Y=>{Y.preventDefault(),de()}},e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.TextInput,{label:F({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:H,onChange:O,value:z,name:"logo-url"})),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:h,variant:"tertiary"},F({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{type:"submit"},F({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};pe.defaultProps={next:null},pe.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var q=pe;const ce=({setLocalImage:g,goTo:p,next:h,onClose:v})=>{const{formatMessage:F}=(0,c.useIntl)();return e.createElement(l.TabGroup,{label:F({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(l.Box,{paddingLeft:8,paddingRight:8},e.createElement(l.Tabs,null,e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(l.Tab,null,F({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(l.Divider,null)),e.createElement(l.TabPanels,null,e.createElement(l.TabPanel,null,e.createElement(y,{onClose:v,setLocalImage:g,goTo:p,next:h})),e.createElement(l.TabPanel,null,e.createElement(q,{onClose:v,setLocalImage:g,goTo:p,next:h}))))};ce.defaultProps={next:null},ce.propTypes={goTo:f().func.isRequired,next:f().string,onClose:f().func.isRequired,setLocalImage:f().func.isRequired};var w=ce;const re=({asset:g})=>{const{formatMessage:p}=(0,c.useIntl)();return e.createElement(l.Card,null,e.createElement(l.CardHeader,null,e.createElement(l.CardAsset,{size:"S",src:g.url})),e.createElement(l.CardBody,null,e.createElement(l.CardContent,null,e.createElement(l.CardTitle,null,g.name),e.createElement(l.CardSubtitle,null,`${g.ext.toUpperCase()} - ${g.width}\u2715${g.height}`)),e.createElement(l.CardBadge,null,p({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};re.propTypes={asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired};var ke=re;const Ne=({onClose:g,asset:p,prev:h,next:v,goTo:F,setLocalImage:z,onChangeLogo:ee})=>{const{formatMessage:H}=(0,c.useIntl)(),W=()=>{z(void 0),F(h)},O=()=>{ee(p),F(v)};return e.createElement(e.Fragment,null,e.createElement(l.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(l.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(l.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(l.Typography,{variant:"pi",fontWeight:"bold"},H({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral500"},H({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(l.Button,{onClick:W,variant:"secondary"},H({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(l.Box,{maxWidth:(0,b.pxToRem)(180)},e.createElement(ke,{asset:p}))),e.createElement(l.ModalFooter,{startActions:e.createElement(l.Button,{onClick:g,variant:"tertiary"},H({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(l.Button,{onClick:O},H({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};Ne.defaultProps={next:null,prev:null},Ne.propTypes={goTo:f().func.isRequired,asset:f().shape({name:f().string,url:f().string,width:f().number,height:f().number,ext:f().string}).isRequired,next:f().string,onClose:f().func.isRequired,onChangeLogo:f().func.isRequired,prev:f().string,setLocalImage:f().func.isRequired};var Ze=Ne,ge={upload:{Component:w,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Ze,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const Ge=({canUpdate:g,customLogo:p,defaultLogo:h,hint:v,label:F,onChangeLogo:z,onResetLogo:ee})=>{const[{currentStep:H},W]=(0,e.useReducer)(G,D),{Component:O,next:de,prev:Y,modalTitle:Ae}=ge[H]||{},{formatMessage:fe}=(0,c.useIntl)(),Fe=$e=>{W({type:"GO_TO",to:$e})};return e.createElement(e.Fragment,null,e.createElement(l.CarouselInput,{label:F,selectedSlide:0,hint:v,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:p?.name||"logo.png",actions:e.createElement(l.CarouselActions,null,e.createElement(l.IconButton,{disabled:!g,onClick:()=>Fe(p?"pending":"upload"),label:fe({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement($.Plus,null)}),p&&e.createElement(l.IconButton,{disabled:!g,onClick:ee,label:fe({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement($.Refresh,null)}))},e.createElement(l.CarouselSlide,{label:fe({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(l.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:p?.url||h,alt:fe({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(Oe,{Component:O,currentStep:H,onChangeLogo:z,customLogo:p,goTo:Fe,next:de,prev:Y,modalTitle:Ae}))};Ge.defaultProps={canUpdate:!1,customLogo:null,hint:null},Ge.propTypes={canUpdate:f().bool,customLogo:f().shape({url:f().string,name:f().string}),label:f().string.isRequired,hint:f().string,defaultLogo:f().string.isRequired,onChangeLogo:f().func.isRequired,onResetLogo:f().func.isRequired};var _e=Ge;const Xe={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var kt=(g=Xe,p)=>(0,be.default)(g,h=>{switch(p.type){case"SET_CUSTOM_MENU_LOGO":{h.menuLogo.display=p.value,h.menuLogo.submit.rawFile=p.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{h.authLogo.display=p.value,h.authLogo.submit.rawFile=p.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{h.menuLogo.display=null,h.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{h.authLogo.display=null,h.authLogo.submit={rawFile:null,isReset:!0};break}default:return h}}),et=t(86349),wt=t.n(et),Nt=(g,p)=>wt()(g,{menuLogo:{display:p.menuLogo},authLogo:{display:p.authLogo}});const tt=(0,e.forwardRef)(({canUpdate:g,projectSettingsStored:p},h)=>{const{formatMessage:v}=(0,c.useIntl)(),{trackUsage:F}=(0,b.useTracking)(),{logos:{menu:z,auth:ee}}=(0,K.um)(),[{menuLogo:H,authLogo:W},O]=(0,e.useReducer)(kt,Xe,()=>Nt(Xe,p)),de=Fe=>{O({type:"SET_CUSTOM_MENU_LOGO",value:Fe})},Y=()=>{F("didClickResetLogo",{logo:"menu"}),O({type:"RESET_CUSTOM_MENU_LOGO"})},Ae=Fe=>{O({type:"SET_CUSTOM_AUTH_LOGO",value:Fe})},fe=()=>{F("didClickResetLogo",{logo:"auth"}),O({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(h,()=>({getValues:()=>({menuLogo:H.submit,authLogo:W.submit})})),e.createElement(l.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},v({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:oe,size:Ee})),e.createElement(l.Grid,{paddingTop:4,gap:4},e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:H.display,defaultLogo:z.default,hint:v({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:v({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:de,onResetLogo:Y})),e.createElement(l.GridItem,{col:6,s:12},e.createElement(_e,{canUpdate:g,customLogo:W.display,defaultLogo:ee.default,hint:v({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:v({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:Ae,onResetLogo:fe}))))});tt.defaultProps={canUpdate:!1,projectSettingsStored:null},tt.propTypes={canUpdate:f().bool,projectSettingsStored:f().shape({menuLogo:f().shape({url:f().string,name:f().string})})};var $t=tt,Ve=t(48344),jt=t.n(Ve),nt=g=>jt()(g,(p,h,v)=>{h&&h.url?p[v]={...h,url:(0,b.prefixFileUrlWithBackendUrl)(h.url)}:p[v]=h},{});const ot=async()=>{const{get:g}=(0,b.getFetchClient)(),{data:p}=await g("/admin/project-settings");return nt(p)},rt=async g=>{const{post:p}=(0,b.getFetchClient)(),{data:h}=await p("/admin/project-settings",g,{headers:{"Content-Type":"multipart/form-data"}});return nt(h)};var lt=g=>{const p=new FormData;return Object.entries(g).forEach(([h,v])=>{v&&v.rawFile instanceof File&&p.append(h,v.rawFile),v&&v.isReset&&p.append(h,null)}),p},ct=()=>{const g=(0,e.useRef)(),p=(0,b.useNotification)(),{trackUsage:h}=(0,b.useTracking)(),{formatMessage:v}=(0,c.useIntl)(),F=(0,le.useQueryClient)();(0,b.useFocusWhenNavigate)();const z=(0,b.useAppInfos)(),{latestStrapiReleaseTag:ee,shouldUpdateStrapi:H,strapiVersion:W}=z,{updateProjectSettings:O}=(0,K.um)(),{allowedActions:{canRead:de,canUpdate:Y}}=(0,b.useRBAC)(x.Z.settings["project-settings"]),Ae=de&&Y,{data:fe}=(0,le.useQuery)("project-settings",ot,{enabled:de}),Fe=(0,le.useMutation)(Me=>rt(Me),{async onSuccess({menuLogo:Me,authLogo:Je}){await F.invalidateQueries("project-settings",{refetchActive:!0}),O({menuLogo:Me?.url,authLogo:Je?.url})}}),$e=Me=>{if(Me.preventDefault(),!Y)return;const Je=g.current.getValues(),At=lt(Je);Fe.mutate(At,{onSuccess(){const{menuLogo:ht,authLogo:Mt}=Je;ht.rawFile&&h("didChangeLogo",{logo:"menu"}),Mt.rawFile&&h("didChangeLogo",{logo:"auth"}),p({type:"success",message:v({id:"app",defaultMessage:"Saved"})})},onError(){p({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(l.Layout,null,e.createElement(b.SettingsPageTitle,{name:"Application"}),e.createElement(l.Main,null,e.createElement("form",{onSubmit:$e},e.createElement(l.HeaderLayout,{title:v({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:v({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:Ae&&e.createElement(l.Button,{type:"submit",startIcon:e.createElement($.Check,null)},v({id:"global.save",defaultMessage:"Save"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Stack,{spacing:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(l.Typography,{variant:"delta",as:"h3"},v({id:"global.details",defaultMessage:"Details"})),e.createElement(l.Grid,{gap:5,as:"dl"},e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,"v",W),H&&e.createElement(l.Link,{href:`https://github.com/strapi/strapi/releases/tag/${ee}`,isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(l.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(l.Typography,null,v({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:z.communityEdition})),e.createElement(l.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement($.ExternalLink,null)},v({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(l.GridItem,{col:6,s:12},e.createElement(l.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},v({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(l.Typography,{as:"dd"},z.nodeVersion)))),de&&fe&&e.createElement($t,{canUpdate:Y,ref:g,projectSettingsStored:fe}))))))},Et=t(3704),dt=t.n(Et),Gt=g=>dt()(g,h=>h.links).map(h=>(0,Q.ot)(h.Component,h.to,h.exact||!1)),ut=g=>g.filter(p=>!p.links.every(h=>h.isDisplayed===!1));const mt=(()=>window&&window.strapi&&window.strapi.isEE?t(20178).Z:t(16329).Z)(),pt=(()=>window&&window.strapi&&window.strapi.isEE?t(51899).Z:t(45677).Z)();var bt=[{Component(){return{default:pt}},to:"/settings/roles",exact:!0},{Component(){return{default:mt}},to:"/settings/roles/duplicate/:id",exact:!0},{Component(){return{default:mt}},to:"/settings/roles/new",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,33778))},to:"/settings/roles/:id",exact:!0},{async Component(){return await t.e(5199).then(t.bind(t,27549))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,34669))},to:"/settings/users/:id",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,33238))},to:"/settings/webhooks/create",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,59021))},to:"/settings/webhooks/:id",exact:!0},{async Component(){return await t.e(4121).then(t.bind(t,70791))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,37168))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(7259),t.e(4816)]).then(t.bind(t,76411))},to:"/settings/transfer-tokens/create",exact:!0},{async Component(){return await t.e(9600).then(t.bind(t,38286))},to:"/settings/transfer-tokens",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(7259),t.e(2492)]).then(t.bind(t,32392))},to:"/settings/transfer-tokens/:id",exact:!0}],gt=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...bt],Ht=t(61590),vt=t(64669),St=t(77013),Tt=t(79318),Rt=t(66618);const Qe=({menu:g})=>{const{formatMessage:p}=(0,c.useIntl)(),{trackUsage:h}=(0,b.useTracking)(),{pathname:v}=(0,a.useLocation)(),z=ut(g).map(W=>({...W,title:W.intlLabel,links:W.links.map(O=>({...O,title:O.intlLabel,name:O.id}))})),ee=p({id:"global.settings",defaultMessage:"Settings"}),H=(W=null)=>{h("willNavigate",{from:v,to:W})};return e.createElement(Ht.m,{ariaLabel:ee},e.createElement(vt.p,{label:ee}),e.createElement(St.Z,null,z.map(W=>e.createElement(Tt.D,{key:W.id,label:p(W.intlLabel)},W.links.map(O=>e.createElement(Rt.E,{as:a.NavLink,withBullet:O.hasNotification,to:O.to,onClick:()=>H(O.to),key:O.id},p(O.intlLabel)))))))};Qe.propTypes={menu:f().array.isRequired};var xt=Qe;function st(){const{settingId:g}=(0,a.useParams)(),{settings:p}=(0,b.useStrapiApp)(),{formatMessage:h}=(0,c.useIntl)(),{isLoading:v,menu:F}=(0,K.Te)(),z=(0,e.useMemo)(()=>(0,Q.WW)(gt.map(({to:W,Component:O,exact:de})=>(0,Q.ot)(O,W,de))),[]),ee=Gt(p);if(v)return e.createElement(b.LoadingIndicatorPage,null);if(!g)return e.createElement(a.Redirect,{to:"/settings/application-infos"});const H=h({id:"global.settings",defaultMessage:"Settings"});return e.createElement(l.Layout,{sideNav:e.createElement(xt,{menu:F})},e.createElement(E.Helmet,{title:H}),e.createElement(a.Switch,null,e.createElement(a.Route,{path:"/settings/application-infos",component:ct,exact:!0}),z,ee))}var ft=(0,e.memo)(st)},16329:function(P,R,t){"use strict";var e=t(32735),b=t(5141);const a=()=>e.createElement(b.Redirect,{to:"/404"});R.Z=a},49466:function(P,R){"use strict";R.Z=!0},35123:function(P,R){"use strict";R.Z=!0},18318:function(P,R){"use strict";R.Z=!0},52124:function(P,R){"use strict";R.Z=!0},61526:function(P,R){"use strict";R.Z=!0},78974:function(P,R,t){"use strict";t.d(R,{Z:function(){return Wn}});var e=t(32735),b=t(60216),a=t.n(b),l=t(13478),c=t(39161),E=t(23973),K=t.n(E),Q=t(86834),le=t.n(Q),$=t(5636),x=t(83292),De=t(98978),f=t.n(De),oe=t(57269),Ee=t(33795),se=t.n(Ee),be=t(9086),ve=t.n(be),Re=t(8888);const Ue=x.default.div`
10
10
  position: relative;
11
11
 
12
- ${({hasConditions:o,disabled:n,theme:a})=>o&&`
12
+ ${({hasConditions:o,disabled:n,theme:s})=>o&&`
13
13
  &:before {
14
14
  content: '';
15
15
  position: absolute;
@@ -18,17 +18,17 @@
18
18
  width: 6px;
19
19
  height: 6px;
20
20
  border-radius: ${20/16}rem;;
21
- background: ${n?a.colors.neutral100:a.colors.primary600};
21
+ background: ${n?s.colors.neutral100:s.colors.primary600};
22
22
  }
23
23
  `}
24
- `,Ie=({onClick:o,className:n,hasConditions:a,variant:i})=>{const{formatMessage:r}=(0,$.useIntl)();return e.createElement(Ue,{hasConditions:a,className:n},e.createElement(c.Button,{variant:i,startIcon:e.createElement(oe.Cog,null),onClick:o},r({id:"global.settings",defaultMessage:"Settings"})))};Ie.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Ie.propTypes={onClick:s().func.isRequired,className:s().string,hasConditions:s().bool,variant:s().string};var Oe=(0,x.default)(Ie)``,D=t(97889),he=t(81346),G=t.n(he),j=t(23940),se=t.n(j);const ie=o=>Object.values(o).map(n=>Object.entries(n).filter(([,a])=>a).map(([a])=>a)).flat(),xe=o=>o.reduce((n,[a,i])=>(n.push({label:se()(a),children:i.map(r=>({label:r.displayName,value:r.id}))}),n),[]),M=(o,n)=>o.map(([,a])=>a).flat().reduce((a,i)=>({[i.id]:n.includes(i.id),...a}),{}),k=(()=>window&&window.strapi&&window.strapi.isEE?t(56899).Z:t(49466).Z)(),X=o=>{let{arrayOfOptionsGroupedByCategory:n,isFormDisabled:a,isGrey:i,label:r,name:d,onChange:u,value:m}=o;const{formatMessage:C}=(0,$.useIntl)(),S=T=>{u(d,M(n,T))};return e.createElement(c.Flex,{as:"li",background:i?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(c.Flex,{paddingLeft:6,style:{width:180}},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},C({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(c.Typography,{variant:"sigma",title:r,textColor:"primary600",ellipsis:!0},C({id:`Settings.roles.form.permissions.${r.toLowerCase()}`,defaultMessage:r})),e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},"\xA0",C({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(c.Box,{style:{maxWidth:430,width:"100%"}},e.createElement(c.MultiSelectNested,{id:d,customizeContent:T=>`${T.length} currently selected`,onChange:S,value:ie(m),options:xe(n),disabled:a||k})))};X.propTypes={arrayOfOptionsGroupedByCategory:s().array.isRequired,isFormDisabled:s().bool.isRequired,isGrey:s().bool.isRequired,label:s().string.isRequired,name:s().string.isRequired,value:s().object.isRequired,onChange:s().func.isRequired};var J=X,y=t(92891);const me=(o,n)=>o.reduce((a,i)=>(a[i.id]=(0,y.get)(n,i.id,!1),a),{}),Se=(o,n)=>o.reduce((a,i)=>{const[r,d]=i,u=me(d,n);return a[r]=u,a},{});var pe=(o,n,a)=>o.reduce((i,r)=>{const d=(0,y.get)(n,[...r.pathToConditionsObject,"conditions"],{}),u=Se(a,d);return i[r.pathToConditionsObject.join("..")]=u,i},{});const q=({actions:o,headerBreadCrumbs:n,isFormDisabled:a,onClosed:i,onToggle:r})=>{const{formatMessage:d}=(0,$.useIntl)(),{availableConditions:u,modifiedData:m,onChangeConditions:C}=(0,Re.$_)(),S=(0,e.useMemo)(()=>Object.entries(G()(u,"category")),[u]),T=o.filter(({isDisplayed:A,hasSomeActionsSelected:B,hasAllActionsSelected:U})=>A&&(B||U)),L=(0,e.useMemo)(()=>pe(T,m,S),[T,m,S]),[I,_]=(0,e.useState)(L),N=(A,B)=>{_((0,D.default)(U=>{U[A]||(U[A]={}),U[A].default||(U[A].default={}),U[A].default=B}))},Z=()=>{const A=Object.entries(I).reduce((B,U)=>{const[V,ne]=U,Le=Object.values(ne).reduce((ye,ue)=>({...ye,...ue}),{});return B[V]=Le,B},{});C(A),r()};return e.createElement(c.ModalLayout,{labelledBy:"condition-modal-breadcrumbs",onClose:i},e.createElement(c.ModalHeader,null,e.createElement(c.Breadcrumbs,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(A=>e.createElement(c.Crumb,{key:A},se()(d({id:A,defaultMessage:A})))))),e.createElement(c.ModalBody,null,T.length===0&&e.createElement(c.Typography,null,d({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,T.map(({actionId:A,label:B,pathToConditionsObject:U},V)=>{const ne=U.join("..");return e.createElement(J,{key:A,arrayOfOptionsGroupedByCategory:S,label:B,isFormDisabled:a,isGrey:V%2===0,name:ne,onChange:N,value:ae()(I,ne,{})})}))),e.createElement(c.ModalFooter,{startActions:e.createElement(c.Button,{variant:"tertiary",onClick:r},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(c.Button,{onClick:Z},d({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};q.propTypes={actions:s().arrayOf(s().shape({actionId:s().string.isRequired,checkboxName:s().string,hasSomeActionsSelected:s().bool.isRequired,hasAllActionsSelected:s().bool,isDisplayed:s().bool.isRequired,label:s().string})).isRequired,headerBreadCrumbs:s().arrayOf(s().string).isRequired,isFormDisabled:s().bool.isRequired,onClosed:s().func.isRequired,onToggle:s().func.isRequired};var ce=q;const w=`${120/16}rem`,re=`${200/16}rem`,ke=`${53/16}rem`;var Ze=x.default.div`
24
+ `,Ie=({onClick:o,className:n,hasConditions:s,variant:i})=>{const{formatMessage:r}=(0,$.useIntl)();return e.createElement(Ue,{hasConditions:s,className:n},e.createElement(c.Button,{variant:i,startIcon:e.createElement(oe.Cog,null),onClick:o},r({id:"global.settings",defaultMessage:"Settings"})))};Ie.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Ie.propTypes={onClick:a().func.isRequired,className:a().string,hasConditions:a().bool,variant:a().string};var Oe=(0,x.default)(Ie)``,D=t(97889),he=t(81346),G=t.n(he),j=t(23940),ae=t.n(j);const ie=o=>Object.values(o).map(n=>Object.entries(n).filter(([,s])=>s).map(([s])=>s)).flat(),xe=o=>o.reduce((n,[s,i])=>(n.push({label:ae()(s),children:i.map(r=>({label:r.displayName,value:r.id}))}),n),[]),M=(o,n)=>o.map(([,s])=>s).flat().reduce((s,i)=>({[i.id]:n.includes(i.id),...s}),{}),k=(()=>window&&window.strapi&&window.strapi.isEE?t(56899).Z:t(49466).Z)(),X=o=>{let{arrayOfOptionsGroupedByCategory:n,isFormDisabled:s,isGrey:i,label:r,name:d,onChange:u,value:m}=o;const{formatMessage:C}=(0,$.useIntl)(),S=T=>{u(d,M(n,T))};return e.createElement(c.Flex,{as:"li",background:i?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(c.Flex,{paddingLeft:6,style:{width:180}},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},C({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(c.Typography,{variant:"sigma",title:r,textColor:"primary600",ellipsis:!0},C({id:`Settings.roles.form.permissions.${r.toLowerCase()}`,defaultMessage:r})),e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},"\xA0",C({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(c.Box,{style:{maxWidth:430,width:"100%"}},e.createElement(c.MultiSelectNested,{id:d,customizeContent:T=>`${T.length} currently selected`,onChange:S,value:ie(m),options:xe(n),disabled:s||k})))};X.propTypes={arrayOfOptionsGroupedByCategory:a().array.isRequired,isFormDisabled:a().bool.isRequired,isGrey:a().bool.isRequired,label:a().string.isRequired,name:a().string.isRequired,value:a().object.isRequired,onChange:a().func.isRequired};var J=X,y=t(92891);const me=(o,n)=>o.reduce((s,i)=>(s[i.id]=(0,y.get)(n,i.id,!1),s),{}),Se=(o,n)=>o.reduce((s,i)=>{const[r,d]=i,u=me(d,n);return s[r]=u,s},{});var pe=(o,n,s)=>o.reduce((i,r)=>{const d=(0,y.get)(n,[...r.pathToConditionsObject,"conditions"],{}),u=Se(s,d);return i[r.pathToConditionsObject.join("..")]=u,i},{});const q=({actions:o,headerBreadCrumbs:n,isFormDisabled:s,onClosed:i,onToggle:r})=>{const{formatMessage:d}=(0,$.useIntl)(),{availableConditions:u,modifiedData:m,onChangeConditions:C}=(0,Re.$_)(),S=(0,e.useMemo)(()=>Object.entries(G()(u,"category")),[u]),T=o.filter(({isDisplayed:A,hasSomeActionsSelected:B,hasAllActionsSelected:U})=>A&&(B||U)),L=(0,e.useMemo)(()=>pe(T,m,S),[T,m,S]),[I,_]=(0,e.useState)(L),N=(A,B)=>{_((0,D.default)(U=>{U[A]||(U[A]={}),U[A].default||(U[A].default={}),U[A].default=B}))},Z=()=>{const A=Object.entries(I).reduce((B,U)=>{const[V,ne]=U,Le=Object.values(ne).reduce((ye,ue)=>({...ye,...ue}),{});return B[V]=Le,B},{});C(A),r()};return e.createElement(c.ModalLayout,{labelledBy:"condition-modal-breadcrumbs",onClose:i},e.createElement(c.ModalHeader,null,e.createElement(c.Breadcrumbs,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(A=>e.createElement(c.Crumb,{key:A},ae()(d({id:A,defaultMessage:A})))))),e.createElement(c.ModalBody,null,T.length===0&&e.createElement(c.Typography,null,d({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,T.map(({actionId:A,label:B,pathToConditionsObject:U},V)=>{const ne=U.join("..");return e.createElement(J,{key:A,arrayOfOptionsGroupedByCategory:S,label:B,isFormDisabled:s,isGrey:V%2===0,name:ne,onChange:N,value:se()(I,ne,{})})}))),e.createElement(c.ModalFooter,{startActions:e.createElement(c.Button,{variant:"tertiary",onClick:r},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(c.Button,{onClick:Z},d({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};q.propTypes={actions:a().arrayOf(a().shape({actionId:a().string.isRequired,checkboxName:a().string,hasSomeActionsSelected:a().bool.isRequired,hasAllActionsSelected:a().bool,isDisplayed:a().bool.isRequired,label:a().string})).isRequired,headerBreadCrumbs:a().arrayOf(a().string).isRequired,isFormDisabled:a().bool.isRequired,onClosed:a().func.isRequired,onToggle:a().func.isRequired};var ce=q;const w=`${120/16}rem`,re=`${200/16}rem`,ke=`${53/16}rem`;var Ze=x.default.div`
25
25
  width: ${w};
26
26
  `,ge=(0,x.default)(c.Flex)`
27
27
  padding-right: ${({theme:o})=>o.spaces[2]};
28
28
  overflow: hidden;
29
29
  flex: 1;
30
30
  ${({isCollapsable:o})=>o&&"cursor: pointer;"}
31
- `;const Ge=({children:o,isCollapsable:n,isActive:a,isFormDisabled:i,label:r,onChange:d,onClick:u,checkboxName:m,someChecked:C,value:S})=>{const{formatMessage:T}=(0,$.useIntl)();return e.createElement(c.Flex,{alignItems:"center",paddingLeft:6,style:{width:re,flexShrink:0}},e.createElement(c.Box,{paddingRight:2},e.createElement(c.BaseCheckbox,{name:m,"aria-label":T({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r}),disabled:i,onValueChange:L=>d({target:{name:m,value:L}}),indeterminate:C,value:S})),e.createElement(ge,{title:r,alignItems:"center",isCollapsable:n,...n&&{onClick:u,"aria-expanded":a,onKeyDown:({key:L})=>(L==="Enter"||L===" ")&&u(),tabIndex:0,role:"button"}},e.createElement(c.Typography,{fontWeight:a?"bold":"",textColor:a?"primary600":"neutral800",ellipsis:!0},se()(r)),o))};Ge.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},Ge.propTypes={checkboxName:s().string,children:s().node,label:s().string.isRequired,isCollapsable:s().bool,isFormDisabled:s().bool.isRequired,onChange:s().func,onClick:s().func.isRequired,someChecked:s().bool,value:s().bool,isActive:s().bool.isRequired};var _e=(0,e.memo)(Ge);const Xe=o=>(0,y.isObject)(o)?(0,y.flattenDeep)(Object.values(o).map(n=>(0,y.isObject)(n)?Xe(n):n)):[];var He=Xe,et=o=>o?Object.keys(o).reduce((n,a)=>(a!=="conditions"&&(n[a]=o[a]),n),{}):null,We=o=>{const n=et(o),a=He(n);if(!a.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const i=a.every(d=>d),r=a.some(d=>d)&&!i;return{hasAllActionsSelected:i,hasSomeActionsSelected:r}},tt=(o,n,a)=>o.map(({actionId:i,isDisplayed:r,applyToProperties:d,label:u})=>{if(!r)return{actionId:i,hasSomeActionsSelected:!1,isDisplayed:r};const m=[...a.split(".."),i],C=(0,y.isEmpty)(d)?[...m,"properties","enabled"]:m,S=C.join(".."),T=(0,y.get)(n,[...m,"conditions"],null),L=He(T).some(Z=>Z);if((0,y.isEmpty)(d)){const Z=(0,y.get)(n,C,!1);return{actionId:i,checkboxName:S,hasAllActionsSelected:Z,hasConditions:L,hasSomeActionsSelected:Z,isDisplayed:r,isParentCheckbox:!1,label:u,pathToConditionsObject:m}}const I=(0,y.get)(n,C,null),{hasAllActionsSelected:_,hasSomeActionsSelected:N}=We(I);return{actionId:i,checkboxName:S,hasAllActionsSelected:_,hasConditions:L,hasSomeActionsSelected:N,isDisplayed:r,isParentCheckbox:!0,label:u,pathToConditionsObject:m}}),Ve=(0,x.default)(oe.CarretDown)`
31
+ `;const Ge=({children:o,isCollapsable:n,isActive:s,isFormDisabled:i,label:r,onChange:d,onClick:u,checkboxName:m,someChecked:C,value:S})=>{const{formatMessage:T}=(0,$.useIntl)();return e.createElement(c.Flex,{alignItems:"center",paddingLeft:6,style:{width:re,flexShrink:0}},e.createElement(c.Box,{paddingRight:2},e.createElement(c.BaseCheckbox,{name:m,"aria-label":T({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r}),disabled:i,onValueChange:L=>d({target:{name:m,value:L}}),indeterminate:C,value:S})),e.createElement(ge,{title:r,alignItems:"center",isCollapsable:n,...n&&{onClick:u,"aria-expanded":s,onKeyDown:({key:L})=>(L==="Enter"||L===" ")&&u(),tabIndex:0,role:"button"}},e.createElement(c.Typography,{fontWeight:s?"bold":"",textColor:s?"primary600":"neutral800",ellipsis:!0},ae()(r)),o))};Ge.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},Ge.propTypes={checkboxName:a().string,children:a().node,label:a().string.isRequired,isCollapsable:a().bool,isFormDisabled:a().bool.isRequired,onChange:a().func,onClick:a().func.isRequired,someChecked:a().bool,value:a().bool,isActive:a().bool.isRequired};var _e=(0,e.memo)(Ge);const Xe=o=>(0,y.isObject)(o)?(0,y.flattenDeep)(Object.values(o).map(n=>(0,y.isObject)(n)?Xe(n):n)):[];var He=Xe,et=o=>o?Object.keys(o).reduce((n,s)=>(s!=="conditions"&&(n[s]=o[s]),n),{}):null,We=o=>{const n=et(o),s=He(n);if(!s.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const i=s.every(d=>d),r=s.some(d=>d)&&!i;return{hasAllActionsSelected:i,hasSomeActionsSelected:r}},tt=(o,n,s)=>o.map(({actionId:i,isDisplayed:r,applyToProperties:d,label:u})=>{if(!r)return{actionId:i,hasSomeActionsSelected:!1,isDisplayed:r};const m=[...s.split(".."),i],C=(0,y.isEmpty)(d)?[...m,"properties","enabled"]:m,S=C.join(".."),T=(0,y.get)(n,[...m,"conditions"],null),L=He(T).some(Z=>Z);if((0,y.isEmpty)(d)){const Z=(0,y.get)(n,C,!1);return{actionId:i,checkboxName:S,hasAllActionsSelected:Z,hasConditions:L,hasSomeActionsSelected:Z,isDisplayed:r,isParentCheckbox:!1,label:u,pathToConditionsObject:m}}const I=(0,y.get)(n,C,null),{hasAllActionsSelected:_,hasSomeActionsSelected:N}=We(I);return{actionId:i,checkboxName:S,hasAllActionsSelected:_,hasConditions:L,hasSomeActionsSelected:N,isDisplayed:r,isParentCheckbox:!0,label:u,pathToConditionsObject:m}}),Ve=(0,x.default)(oe.CarretDown)`
32
32
  display: none;
33
33
  width: ${10/16}rem;
34
34
  transform: rotate(${({$isActive:o})=>o?"180":"0"}deg);
@@ -61,20 +61,20 @@
61
61
  }
62
62
 
63
63
  &:focus-within {
64
- ${a=>{let{theme:i,isActive:r}=a;return ot(i,r)}}
64
+ ${s=>{let{theme:i,isActive:r}=s;return ot(i,r)}}
65
65
  }
66
66
 
67
- `,rt=x.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],ke,o=>{let{isGrey:n,theme:a}=o;return n?a.colors.neutral100:a.colors.neutral0}),zt=x.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],Oe,o=>{let{isActive:n,theme:a}=o;return n&&ot(a,n)},o=>{let{theme:n,isActive:a}=o;return ot(n,a)}),lt=(0,x.default)(c.Flex).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],w),Ct=(0,x.default)(c.Box).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],o=>{let{theme:n}=o;return n.colors.primary600}),ct=x.default.span.withConfig({displayName:"Collapse__TinyDot",componentId:"sc-132fji1-4"})(["position:absolute;top:-6px;left:37px;width:6px;height:6px;border-radius:20px;background:",";"],o=>{let{theme:n}=o;return n.colors.primary600}),Et=(0,x.default)(c.Box).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),dt=o=>{let{availableActions:n,isActive:a,isGrey:i,isFormDisabled:r,label:d,onClickToggle:u,pathToData:m}=o;const[C,S]=(0,e.useState)(!1),{formatMessage:T}=(0,$.useIntl)(),{modifiedData:L,onChangeParentCheckbox:I,onChangeSimpleCheckbox:_}=(0,Re.$_)(),N=()=>{S(ye=>!ye)},Z=()=>{S(!1)},A=ae()(L,m.split(".."),{}),B=(0,e.useMemo)(()=>Object.keys(A).reduce((ye,ue)=>(ye[ue]=ve()(A[ue],"conditions"),ye),{}),[A]),{hasAllActionsSelected:U,hasSomeActionsSelected:V}=We(B),ne=(0,e.useMemo)(()=>tt(n,L,m),[n,L,m]),Le=ne.some(ye=>{let{hasConditions:ue}=ye;return ue});return e.createElement(zt,{isActive:a},e.createElement(rt,{isGrey:i},e.createElement(_e,{isCollapsable:!0,isFormDisabled:r,label:d,checkboxName:m,onChange:I,onClick:u,someChecked:V,value:U,isActive:a},e.createElement(Ct,{paddingLeft:2},a?e.createElement(oe.ChevronUp,null):e.createElement(oe.ChevronDown,null))),e.createElement(c.Flex,{style:{flex:1}},ne.map(ye=>{let{actionId:ue,hasConditions:Ce,hasAllActionsSelected:Te,hasSomeActionsSelected:we,isDisplayed:je,isParentCheckbox:ze,checkboxName:Be,label:qe}=ye;return je?ze?e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,name:Be,"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${qe} ${d}`}),onValueChange:Ke=>{I({target:{name:Be,value:Ke}})},indeterminate:we,value:Te})):e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,indeterminate:Ce,name:Be,onValueChange:Ke=>{_({target:{name:Be,value:Ke}})},value:Te})):e.createElement(Ze,{key:ue})})),C&&e.createElement(ce,{headerBreadCrumbs:[d,"Settings.permissions.conditions.conditions"],actions:ne,isFormDisabled:r,onClosed:Z,onToggle:N})),e.createElement(Et,null,e.createElement(Oe,{onClick:N,hasConditions:Le})))};dt.propTypes={availableActions:s().array.isRequired,isActive:s().bool.isRequired,isGrey:s().bool.isRequired,isFormDisabled:s().bool.isRequired,label:s().string.isRequired,onClickToggle:s().func.isRequired,pathToData:s().string.isRequired};var Ut=dt,Wt=(o,n)=>o.map(a=>{const i=Array.isArray(a.applyToProperties)&&a.applyToProperties.indexOf(n)!==-1&&a.isDisplayed;return{label:a.label,actionId:a.actionId,isActionRelatedToCurrentProperty:i}});const ut=(0,x.default)(c.Flex)`
67
+ `,rt=x.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],ke,o=>{let{isGrey:n,theme:s}=o;return n?s.colors.neutral100:s.colors.neutral0}),zt=x.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],Oe,o=>{let{isActive:n,theme:s}=o;return n&&ot(s,n)},o=>{let{theme:n,isActive:s}=o;return ot(n,s)}),lt=(0,x.default)(c.Flex).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],w),Ct=(0,x.default)(c.Box).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],o=>{let{theme:n}=o;return n.colors.primary600}),ct=x.default.span.withConfig({displayName:"Collapse__TinyDot",componentId:"sc-132fji1-4"})(["position:absolute;top:-6px;left:37px;width:6px;height:6px;border-radius:20px;background:",";"],o=>{let{theme:n}=o;return n.colors.primary600}),Et=(0,x.default)(c.Box).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),dt=o=>{let{availableActions:n,isActive:s,isGrey:i,isFormDisabled:r,label:d,onClickToggle:u,pathToData:m}=o;const[C,S]=(0,e.useState)(!1),{formatMessage:T}=(0,$.useIntl)(),{modifiedData:L,onChangeParentCheckbox:I,onChangeSimpleCheckbox:_}=(0,Re.$_)(),N=()=>{S(ye=>!ye)},Z=()=>{S(!1)},A=se()(L,m.split(".."),{}),B=(0,e.useMemo)(()=>Object.keys(A).reduce((ye,ue)=>(ye[ue]=ve()(A[ue],"conditions"),ye),{}),[A]),{hasAllActionsSelected:U,hasSomeActionsSelected:V}=We(B),ne=(0,e.useMemo)(()=>tt(n,L,m),[n,L,m]),Le=ne.some(ye=>{let{hasConditions:ue}=ye;return ue});return e.createElement(zt,{isActive:s},e.createElement(rt,{isGrey:i},e.createElement(_e,{isCollapsable:!0,isFormDisabled:r,label:d,checkboxName:m,onChange:I,onClick:u,someChecked:V,value:U,isActive:s},e.createElement(Ct,{paddingLeft:2},s?e.createElement(oe.ChevronUp,null):e.createElement(oe.ChevronDown,null))),e.createElement(c.Flex,{style:{flex:1}},ne.map(ye=>{let{actionId:ue,hasConditions:Ce,hasAllActionsSelected:Te,hasSomeActionsSelected:we,isDisplayed:je,isParentCheckbox:ze,checkboxName:Be,label:qe}=ye;return je?ze?e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,name:Be,"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${qe} ${d}`}),onValueChange:Ke=>{I({target:{name:Be,value:Ke}})},indeterminate:we,value:Te})):e.createElement(lt,{key:ue,justifyContent:"center",alignItems:"center"},Ce&&e.createElement(ct,null),e.createElement(c.BaseCheckbox,{disabled:r||nt,indeterminate:Ce,name:Be,onValueChange:Ke=>{_({target:{name:Be,value:Ke}})},value:Te})):e.createElement(Ze,{key:ue})})),C&&e.createElement(ce,{headerBreadCrumbs:[d,"Settings.permissions.conditions.conditions"],actions:ne,isFormDisabled:r,onClosed:Z,onToggle:N})),e.createElement(Et,null,e.createElement(Oe,{onClick:N,hasConditions:Le})))};dt.propTypes={availableActions:a().array.isRequired,isActive:a().bool.isRequired,isGrey:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggle:a().func.isRequired,pathToData:a().string.isRequired};var Ut=dt,Wt=(o,n)=>o.map(s=>{const i=Array.isArray(s.applyToProperties)&&s.applyToProperties.indexOf(n)!==-1&&s.isDisplayed;return{label:s.label,actionId:s.actionId,isActionRelatedToCurrentProperty:i}});const ut=(0,x.default)(c.Flex)`
68
68
  width: ${w};
69
69
  flex-shrink: 0;
70
70
  `,mt=(0,x.default)(c.Flex)`
71
71
  width: ${re};
72
72
  height: ${ke};
73
73
  flex-shrink: 0;
74
- `,pt=({headers:o,label:n})=>{const{formatMessage:a}=(0,$.useIntl)(),i=a({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(c.Flex,null,e.createElement(mt,{alignItems:"center",paddingLeft:6},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},i)),o.map(r=>r.isActionRelatedToCurrentProperty?e.createElement(ut,{justifyContent:"center",key:r.label},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},a({id:`Settings.roles.form.permissions.${r.label.toLowerCase()}`,defaultMessage:r.label}))):e.createElement(ut,{key:r.label})))};pt.propTypes={headers:s().arrayOf(s().shape({label:s().string.isRequired,isActionRelatedToCurrentProperty:s().bool.isRequired})).isRequired,label:s().string.isRequired};var Zt=pt;const bt=x.default.span`
74
+ `,pt=({headers:o,label:n})=>{const{formatMessage:s}=(0,$.useIntl)(),i=s({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(c.Flex,null,e.createElement(mt,{alignItems:"center",paddingLeft:6},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},i)),o.map(r=>r.isActionRelatedToCurrentProperty?e.createElement(ut,{justifyContent:"center",key:r.label},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${r.label.toLowerCase()}`,defaultMessage:r.label}))):e.createElement(ut,{key:r.label})))};pt.propTypes={headers:a().arrayOf(a().shape({label:a().string.isRequired,isActionRelatedToCurrentProperty:a().bool.isRequired})).isRequired,label:a().string.isRequired};var Zt=pt;const bt=x.default.span`
75
75
  color: ${({theme:o})=>o.colors.danger700};
76
76
  padding-left: ${({theme:o})=>o.spaces[1]}px;
77
- `;var gt=()=>e.createElement(bt,null,"*"),vt=(o,n)=>o.map(a=>{const i=Array.isArray(a.subjects)&&a.subjects.indexOf(n)!==-1;return{...a,isDisplayed:i}}),St=t(41925);const Tt=(0,x.default)(c.Box)`
77
+ `;var gt=()=>e.createElement(bt,null,"*"),vt=(o,n)=>o.map(s=>{const i=Array.isArray(s.subjects)&&s.subjects.indexOf(n)!==-1;return{...s,isDisplayed:i}}),St=t(41925);const Tt=(0,x.default)(c.Box)`
78
78
  transform: translate(-4px, -12px);
79
79
 
80
80
  &:before {
@@ -92,34 +92,34 @@
92
92
  * {
93
93
  fill: ${({theme:o,color:n})=>o.colors[n]};
94
94
  }
95
- `,Qe=o=>e.createElement(Tt,null,e.createElement(Rt,{width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));Qe.defaultProps={fill:"primary200"},Qe.propTypes={fill:s().string};var xt=(0,e.memo)(Qe);const at=(()=>window&&window.strapi&&window.strapi.isEE?t(19665).Z:t(52124).Z)(),ft=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],w),g=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],ke),p=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),h=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__LeftBorderTimeline",componentId:"sc-7y8yzq-3"})(["border-left:",";"],o=>{let{isVisible:n,theme:a}=o;return n?`4px solid ${a.colors.primary200}`:"4px solid transparent"}),v=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__RowStyle",componentId:"sc-7y8yzq-4"})(["padding-left:",";width:","px;"," ",";"],o=>{let{theme:n}=o;return n.spaces[4]},o=>{let{level:n}=o;return 145-n*36},o=>{let{isCollapsable:n,theme:a}=o;return n&&`
95
+ `,Qe=o=>e.createElement(Tt,null,e.createElement(Rt,{width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));Qe.defaultProps={fill:"primary200"},Qe.propTypes={fill:a().string};var xt=(0,e.memo)(Qe);const st=(()=>window&&window.strapi&&window.strapi.isEE?t(19665).Z:t(52124).Z)(),ft=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],w),g=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],ke),p=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),h=(0,x.default)(c.Box).withConfig({displayName:"SubActionRow__LeftBorderTimeline",componentId:"sc-7y8yzq-3"})(["border-left:",";"],o=>{let{isVisible:n,theme:s}=o;return n?`4px solid ${s.colors.primary200}`:"4px solid transparent"}),v=(0,x.default)(c.Flex).withConfig({displayName:"SubActionRow__RowStyle",componentId:"sc-7y8yzq-4"})(["padding-left:",";width:","px;"," ",";"],o=>{let{theme:n}=o;return n.spaces[4]},o=>{let{level:n}=o;return 145-n*36},o=>{let{isCollapsable:n,theme:s}=o;return n&&`
96
96
  ${Ve} {
97
97
  display: block;
98
- color: ${a.colors.neutral100};
98
+ color: ${s.colors.neutral100};
99
99
  }
100
100
  &:hover {
101
- ${Ye(a)}
101
+ ${Ye(s)}
102
102
  }
103
- `},o=>{let{isActive:n,theme:a}=o;return n&&Ye(a)}),F=x.default.div.withConfig({displayName:"SubActionRow__TopTimeline",componentId:"sc-7y8yzq-5"})(["padding-top:",";margin-top:",";width:","rem;background-color:",";border-top-left-radius:2px;border-top-right-radius:2px;"],o=>{let{theme:n}=o;return n.spaces[2]},o=>{let{theme:n}=o;return n.spaces[2]},4/16,o=>{let{theme:n}=o;return n.colors.primary200}),z=o=>{let{childrenForm:n,isFormDisabled:a,recursiveLevel:i,pathToDataFromActionRow:r,propertyActions:d,parentName:u,propertyName:m}=o;const{formatMessage:C}=(0,$.useIntl)(),{modifiedData:S,onChangeParentCheckbox:T,onChangeSimpleCheckbox:L}=(0,Re.$_)(),[I,_]=(0,e.useState)(null),N=A=>{_(B=>B===A?null:A)},Z=(0,e.useMemo)(()=>I?n.find(A=>{let{value:B}=A;return B===I}):null,[I,n]);return e.createElement(p,null,e.createElement(F,null),n.map((A,B)=>{let{label:U,value:V,required:ne,children:Le}=A;const ye=B+1<n.length,ue=Array.isArray(Le),Ce=I===V;return e.createElement(h,{key:V,isVisible:ye},e.createElement(g,null,e.createElement(xt,{color:"primary200"}),e.createElement(c.Flex,{style:{flex:1}},e.createElement(v,{level:i,isActive:Ce,isCollapsable:ue},e.createElement(ge,(0,St.Z)({alignItems:"center",isCollapsable:ue},ue&&{onClick:()=>N(V),"aria-expanded":Ce,onKeyDown:Te=>{let{key:we}=Te;return(we==="Enter"||we===" ")&&N(V)},tabIndex:0,role:"button"},{title:U}),e.createElement(c.Typography,{ellipsis:!0},se()(U)),ne&&e.createElement(gt,null),e.createElement(Ve,{$isActive:Ce}))),e.createElement(c.Flex,{style:{flex:1}},d.map(Te=>{let{actionId:we,label:je,isActionRelatedToCurrentProperty:ze}=Te;if(!ze)return e.createElement(Ze,{key:we});const Be=[...r.split(".."),we,"properties",m,...u.split(".."),V],qe=ae()(S,Be,!1);if(!Le)return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:a||at,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{L({target:{name:Be.join(".."),value:it}})},value:qe}));const{hasAllActionsSelected:Ke,hasSomeActionsSelected:st}=We(qe);return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{key:je,disabled:a||at,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{T({target:{name:Be.join(".."),value:it}})},value:Ke,indeterminate:st}))})))),Z&&Ce&&e.createElement(c.Box,{paddingBottom:2},e.createElement(z,{isFormDisabled:a,parentName:`${u}..${V}`,pathToDataFromActionRow:r,propertyActions:d,propertyName:m,recursiveLevel:i+1,childrenForm:Z.children})))}))};z.propTypes={childrenForm:s().array.isRequired,isFormDisabled:s().bool.isRequired,parentName:s().string.isRequired,pathToDataFromActionRow:s().string.isRequired,propertyActions:s().array.isRequired,propertyName:s().string.isRequired,recursiveLevel:s().number.isRequired};var ee=(0,e.memo)(z);const H=o=>o.reduce((a,i)=>(i.isActionRelatedToCurrentProperty&&a.push(i.actionId),a),[]);var O=(o,n,a,i,r)=>{const u=H(o).reduce((m,C)=>{const S=[...a.split(".."),C,"properties",i,r],T=(0,y.get)(n,S,!1);return m[C]=T,m},{});return We(u)};const de=(()=>window&&window.strapi&&window.strapi.isEE?t(32741).Z:t(18318).Z)(),Y=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],w),Ae=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],ke,o=>{let{isCollapsable:n,theme:a}=o;return n&&`
103
+ `},o=>{let{isActive:n,theme:s}=o;return n&&Ye(s)}),F=x.default.div.withConfig({displayName:"SubActionRow__TopTimeline",componentId:"sc-7y8yzq-5"})(["padding-top:",";margin-top:",";width:","rem;background-color:",";border-top-left-radius:2px;border-top-right-radius:2px;"],o=>{let{theme:n}=o;return n.spaces[2]},o=>{let{theme:n}=o;return n.spaces[2]},4/16,o=>{let{theme:n}=o;return n.colors.primary200}),z=o=>{let{childrenForm:n,isFormDisabled:s,recursiveLevel:i,pathToDataFromActionRow:r,propertyActions:d,parentName:u,propertyName:m}=o;const{formatMessage:C}=(0,$.useIntl)(),{modifiedData:S,onChangeParentCheckbox:T,onChangeSimpleCheckbox:L}=(0,Re.$_)(),[I,_]=(0,e.useState)(null),N=A=>{_(B=>B===A?null:A)},Z=(0,e.useMemo)(()=>I?n.find(A=>{let{value:B}=A;return B===I}):null,[I,n]);return e.createElement(p,null,e.createElement(F,null),n.map((A,B)=>{let{label:U,value:V,required:ne,children:Le}=A;const ye=B+1<n.length,ue=Array.isArray(Le),Ce=I===V;return e.createElement(h,{key:V,isVisible:ye},e.createElement(g,null,e.createElement(xt,{color:"primary200"}),e.createElement(c.Flex,{style:{flex:1}},e.createElement(v,{level:i,isActive:Ce,isCollapsable:ue},e.createElement(ge,(0,St.Z)({alignItems:"center",isCollapsable:ue},ue&&{onClick:()=>N(V),"aria-expanded":Ce,onKeyDown:Te=>{let{key:we}=Te;return(we==="Enter"||we===" ")&&N(V)},tabIndex:0,role:"button"},{title:U}),e.createElement(c.Typography,{ellipsis:!0},ae()(U)),ne&&e.createElement(gt,null),e.createElement(Ve,{$isActive:Ce}))),e.createElement(c.Flex,{style:{flex:1}},d.map(Te=>{let{actionId:we,label:je,isActionRelatedToCurrentProperty:ze}=Te;if(!ze)return e.createElement(Ze,{key:we});const Be=[...r.split(".."),we,"properties",m,...u.split(".."),V],qe=se()(S,Be,!1);if(!Le)return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:s||st,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{L({target:{name:Be.join(".."),value:it}})},value:qe}));const{hasAllActionsSelected:Ke,hasSomeActionsSelected:at}=We(qe);return e.createElement(ft,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{key:je,disabled:s||st,name:Be.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${u} ${U} ${je}`}),onValueChange:it=>{T({target:{name:Be.join(".."),value:it}})},value:Ke,indeterminate:at}))})))),Z&&Ce&&e.createElement(c.Box,{paddingBottom:2},e.createElement(z,{isFormDisabled:s,parentName:`${u}..${V}`,pathToDataFromActionRow:r,propertyActions:d,propertyName:m,recursiveLevel:i+1,childrenForm:Z.children})))}))};z.propTypes={childrenForm:a().array.isRequired,isFormDisabled:a().bool.isRequired,parentName:a().string.isRequired,pathToDataFromActionRow:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,recursiveLevel:a().number.isRequired};var ee=(0,e.memo)(z);const H=o=>o.reduce((s,i)=>(i.isActionRelatedToCurrentProperty&&s.push(i.actionId),s),[]);var O=(o,n,s,i,r)=>{const u=H(o).reduce((m,C)=>{const S=[...s.split(".."),C,"properties",i,r],T=(0,y.get)(n,S,!1);return m[C]=T,m},{});return We(u)};const de=(()=>window&&window.strapi&&window.strapi.isEE?t(32741).Z:t(18318).Z)(),Y=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],w),Ae=(0,x.default)(c.Flex).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],ke,o=>{let{isCollapsable:n,theme:s}=o;return n&&`
104
104
  ${Ve} {
105
105
  display: block;
106
- color: ${a.colors.neutral100};
106
+ color: ${s.colors.neutral100};
107
107
  }
108
108
  &:hover {
109
- ${Ye(a)}
109
+ ${Ye(s)}
110
110
  }
111
- `},o=>{let{isActive:n,theme:a}=o;return n&&Ye(a)}),fe=o=>{let{childrenForm:n,label:a,isFormDisabled:i,name:r,required:d,pathToData:u,propertyActions:m,propertyName:C,isOdd:S}=o;const{formatMessage:T}=(0,$.useIntl)(),[L,I]=(0,e.useState)(null),{modifiedData:_,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:Z,onChangeSimpleCheckbox:A}=(0,Re.$_)(),B=L===r,U=(0,e.useMemo)(()=>Array.isArray(n)?n:[],[n]),V=U.length>0,ne=(0,e.useCallback)(()=>{V&&I(Ce=>Ce===r?null:r)},[V,r]),Le=Ce=>{let{target:{value:Te}}=Ce;N(u,C,r,Te)},{hasAllActionsSelected:ye,hasSomeActionsSelected:ue}=(0,e.useMemo)(()=>O(m,_,u,C,r),[m,_,u,C,r]);return e.createElement(e.Fragment,null,e.createElement(Ae,{alignItems:"center",isCollapsable:V,isActive:B,background:S?"neutral100":"neutral0"},e.createElement(c.Flex,null,e.createElement(_e,{onChange:Le,onClick:ne,isCollapsable:V,isFormDisabled:i,label:a,someChecked:ue,value:ye,isActive:B},d&&e.createElement(gt,null),e.createElement(Ve,{$isActive:B})),e.createElement(c.Flex,null,m.map(Ce=>{let{label:Te,isActionRelatedToCurrentProperty:we,actionId:je}=Ce;if(!we)return e.createElement(Ze,{key:Te});const ze=[...u.split(".."),je,"properties",C,r];if(!V){const st=ae()(_,ze,!1);return e.createElement(Y,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),onValueChange:it=>{A({target:{name:ze.join(".."),value:it}})},value:st}))}const Be=ae()(_,ze,{}),{hasAllActionsSelected:qe,hasSomeActionsSelected:Ke}=We(Be);return e.createElement(Y,{key:Te,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),onValueChange:st=>{Z({target:{name:ze.join(".."),value:st}})},"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),value:qe,indeterminate:Ke}))})))),B&&e.createElement(ee,{childrenForm:U,isFormDisabled:i,parentName:r,pathToDataFromActionRow:u,propertyName:C,propertyActions:m,recursiveLevel:0}))};fe.defaultProps={childrenForm:[],required:!1},fe.propTypes={childrenForm:s().array,label:s().string.isRequired,isFormDisabled:s().bool.isRequired,name:s().string.isRequired,pathToData:s().string.isRequired,propertyActions:s().array.isRequired,propertyName:s().string.isRequired,required:s().bool,isOdd:s().bool.isRequired};var Fe=(0,e.memo)(fe);const $e=x.default.div`
111
+ `},o=>{let{isActive:n,theme:s}=o;return n&&Ye(s)}),fe=o=>{let{childrenForm:n,label:s,isFormDisabled:i,name:r,required:d,pathToData:u,propertyActions:m,propertyName:C,isOdd:S}=o;const{formatMessage:T}=(0,$.useIntl)(),[L,I]=(0,e.useState)(null),{modifiedData:_,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:Z,onChangeSimpleCheckbox:A}=(0,Re.$_)(),B=L===r,U=(0,e.useMemo)(()=>Array.isArray(n)?n:[],[n]),V=U.length>0,ne=(0,e.useCallback)(()=>{V&&I(Ce=>Ce===r?null:r)},[V,r]),Le=Ce=>{let{target:{value:Te}}=Ce;N(u,C,r,Te)},{hasAllActionsSelected:ye,hasSomeActionsSelected:ue}=(0,e.useMemo)(()=>O(m,_,u,C,r),[m,_,u,C,r]);return e.createElement(e.Fragment,null,e.createElement(Ae,{alignItems:"center",isCollapsable:V,isActive:B,background:S?"neutral100":"neutral0"},e.createElement(c.Flex,null,e.createElement(_e,{onChange:Le,onClick:ne,isCollapsable:V,isFormDisabled:i,label:s,someChecked:ue,value:ye,isActive:B},d&&e.createElement(gt,null),e.createElement(Ve,{$isActive:B})),e.createElement(c.Flex,null,m.map(Ce=>{let{label:Te,isActionRelatedToCurrentProperty:we,actionId:je}=Ce;if(!we)return e.createElement(Ze,{key:Te});const ze=[...u.split(".."),je,"properties",C,r];if(!V){const at=se()(_,ze,!1);return e.createElement(Y,{key:je,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),onValueChange:it=>{A({target:{name:ze.join(".."),value:it}})},value:at}))}const Be=se()(_,ze,{}),{hasAllActionsSelected:qe,hasSomeActionsSelected:Ke}=We(Be);return e.createElement(Y,{key:Te,justifyContent:"center",alignItems:"center"},e.createElement(c.BaseCheckbox,{disabled:i||de,name:ze.join(".."),onValueChange:at=>{Z({target:{name:ze.join(".."),value:at}})},"aria-label":T({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${r} ${Te}`}),value:qe,indeterminate:Ke}))})))),B&&e.createElement(ee,{childrenForm:U,isFormDisabled:i,parentName:r,pathToDataFromActionRow:u,propertyName:C,propertyActions:m,recursiveLevel:0}))};fe.defaultProps={childrenForm:[],required:!1},fe.propTypes={childrenForm:a().array,label:a().string.isRequired,isFormDisabled:a().bool.isRequired,name:a().string.isRequired,pathToData:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,required:a().bool,isOdd:a().bool.isRequired};var Fe=(0,e.memo)(fe);const $e=x.default.div`
112
112
  display: inline-flex;
113
113
  flex-direction: column;
114
114
  min-width: 0;
115
- `,Me=({availableActions:o,childrenForm:n,isFormDisabled:a,label:i,pathToData:r,propertyName:d})=>{const u=(0,e.useMemo)(()=>Wt(o,d),[o,d]);return e.createElement($e,null,e.createElement(Zt,{label:i,headers:u}),e.createElement(c.Box,null,n.map(({children:m,label:C,value:S,required:T},L)=>e.createElement(Fe,{childrenForm:m,key:S,label:C,isFormDisabled:a,name:S,required:T,propertyActions:u,pathToData:r,propertyName:d,isOdd:L%2===0}))))};Me.propTypes={childrenForm:s().array.isRequired,availableActions:s().array.isRequired,isFormDisabled:s().bool.isRequired,label:s().string.isRequired,pathToData:s().string.isRequired,propertyName:s().string.isRequired};var Je=Me;const At=x.default.div`
115
+ `,Me=({availableActions:o,childrenForm:n,isFormDisabled:s,label:i,pathToData:r,propertyName:d})=>{const u=(0,e.useMemo)(()=>Wt(o,d),[o,d]);return e.createElement($e,null,e.createElement(Zt,{label:i,headers:u}),e.createElement(c.Box,null,n.map(({children:m,label:C,value:S,required:T},L)=>e.createElement(Fe,{childrenForm:m,key:S,label:C,isFormDisabled:s,name:S,required:T,propertyActions:u,pathToData:r,propertyName:d,isOdd:L%2===0}))))};Me.propTypes={childrenForm:a().array.isRequired,availableActions:a().array.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,pathToData:a().string.isRequired,propertyName:a().string.isRequired};var Je=Me;const At=x.default.div`
116
116
  flex-direction: column;
117
117
  display: inline-flex;
118
118
  min-width: 100%;
119
119
  ${({theme:o,isActive:n})=>n&&`border: 1px solid ${o.colors.primary600};`}
120
- `,ht=({allActions:o,contentTypeName:n,label:a,index:i,isActive:r,isFormDisabled:d,onClickToggleCollapse:u,pathToData:m,properties:C})=>{const S=(0,e.useCallback)(()=>{u(n)},[n,u]),T=(0,e.useMemo)(()=>vt(o,n),[o,n]);return e.createElement(At,{isActive:r},e.createElement(Ut,{availableActions:T,isActive:r,isGrey:i%2===0,isFormDisabled:d,label:a,onClickToggle:S,pathToData:m}),r&&C.map(({label:L,value:I,children:_})=>e.createElement(Je,{availableActions:T,childrenForm:_,isFormDisabled:d,label:L,pathToData:m,propertyName:I,key:I})))};ht.propTypes={allActions:s().array.isRequired,contentTypeName:s().string.isRequired,index:s().number.isRequired,isActive:s().bool.isRequired,isFormDisabled:s().bool.isRequired,label:s().string.isRequired,onClickToggleCollapse:s().func.isRequired,pathToData:s().string.isRequired,properties:s().array.isRequired};var Mt=ht;const Lt=({actions:o,isFormDisabled:n,pathToData:a,subjects:i})=>{const[r,d]=(0,e.useState)(null),u=m=>{d(r===m?null:m)};return i.map(({uid:m,label:C,properties:S},T)=>e.createElement(Mt,{allActions:o,key:m,contentTypeName:m,label:C,isActive:r===m,isFormDisabled:n,index:T,onClickToggleCollapse:u,pathToData:`${a}..${m}`,properties:S}))};Lt.defaultProps={actions:[],subjects:[]},Lt.propTypes={actions:s().array.isRequired,isFormDisabled:s().bool.isRequired,pathToData:s().string.isRequired,subjects:s().arrayOf(s().shape({uid:s().string.isRequired,label:s().string.isRequired,properties:s().array.isRequired}))};var mn=(0,e.memo)(Lt),pn=o=>o.filter(({subjects:n})=>n&&n.length);const gn=o=>o.map(({actionId:n})=>n),fn=(o,n)=>o.reduce((a,i)=>(Object.keys(n).forEach(r=>{const d=(0,y.get)(n,[r,i],{}),u={[r]:et(d)};a[i]?a[i]={...a[i],...u}:a[i]=u}),a),{});var hn=(o,n)=>{const a=gn(o),i=fn(a,n);return Object.keys(i).reduce((d,u)=>(d[u]=We(i[u]),d),{})};const yn=(()=>window&&window.strapi&&window.strapi.isEE?t(36950).Z:t(61526).Z)(),Cn=(0,x.default)(c.Stack).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],w),Dt=o=>{let{actions:n,isFormDisabled:a,kind:i}=o;const{formatMessage:r}=(0,$.useIntl)(),{modifiedData:d,onChangeCollectionTypeGlobalActionCheckbox:u}=(0,Re.$_)(),m=(0,e.useMemo)(()=>pn(n),[n]),C=(0,e.useMemo)(()=>hn(m,d[i]),[d,m,i]);return e.createElement(c.Box,{paddingBottom:4,paddingTop:6,style:{paddingLeft:re}},e.createElement(c.Stack,{horizontal:!0,spacing:0},m.map(S=>{let{label:T,actionId:L}=S;return e.createElement(Cn,{key:L,spacing:3},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})),e.createElement(c.BaseCheckbox,{disabled:a||yn,onValueChange:I=>{u(i,L,I)},name:L,"aria-label":r({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})}),value:ae()(C,[L,"hasAllActionsSelected"],!1),indeterminate:ae()(C,[L,"hasSomeActionsSelected"],!1)}))})))};Dt.defaultProps={actions:[]},Dt.propTypes={actions:s().arrayOf(s().shape({label:s().string.isRequired,actionId:s().string.isRequired,subjects:s().array.isRequired})),isFormDisabled:s().bool.isRequired,kind:s().string.isRequired};var En=(0,e.memo)(Dt);const bn=(0,x.default)(c.Box)`
120
+ `,ht=({allActions:o,contentTypeName:n,label:s,index:i,isActive:r,isFormDisabled:d,onClickToggleCollapse:u,pathToData:m,properties:C})=>{const S=(0,e.useCallback)(()=>{u(n)},[n,u]),T=(0,e.useMemo)(()=>vt(o,n),[o,n]);return e.createElement(At,{isActive:r},e.createElement(Ut,{availableActions:T,isActive:r,isGrey:i%2===0,isFormDisabled:d,label:s,onClickToggle:S,pathToData:m}),r&&C.map(({label:L,value:I,children:_})=>e.createElement(Je,{availableActions:T,childrenForm:_,isFormDisabled:d,label:L,pathToData:m,propertyName:I,key:I})))};ht.propTypes={allActions:a().array.isRequired,contentTypeName:a().string.isRequired,index:a().number.isRequired,isActive:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggleCollapse:a().func.isRequired,pathToData:a().string.isRequired,properties:a().array.isRequired};var Mt=ht;const Lt=({actions:o,isFormDisabled:n,pathToData:s,subjects:i})=>{const[r,d]=(0,e.useState)(null),u=m=>{d(r===m?null:m)};return i.map(({uid:m,label:C,properties:S},T)=>e.createElement(Mt,{allActions:o,key:m,contentTypeName:m,label:C,isActive:r===m,isFormDisabled:n,index:T,onClickToggleCollapse:u,pathToData:`${s}..${m}`,properties:S}))};Lt.defaultProps={actions:[],subjects:[]},Lt.propTypes={actions:a().array.isRequired,isFormDisabled:a().bool.isRequired,pathToData:a().string.isRequired,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))};var mn=(0,e.memo)(Lt),pn=o=>o.filter(({subjects:n})=>n&&n.length);const gn=o=>o.map(({actionId:n})=>n),fn=(o,n)=>o.reduce((s,i)=>(Object.keys(n).forEach(r=>{const d=(0,y.get)(n,[r,i],{}),u={[r]:et(d)};s[i]?s[i]={...s[i],...u}:s[i]=u}),s),{});var hn=(o,n)=>{const s=gn(o),i=fn(s,n);return Object.keys(i).reduce((d,u)=>(d[u]=We(i[u]),d),{})};const yn=(()=>window&&window.strapi&&window.strapi.isEE?t(36950).Z:t(61526).Z)(),Cn=(0,x.default)(c.Stack).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],w),Dt=o=>{let{actions:n,isFormDisabled:s,kind:i}=o;const{formatMessage:r}=(0,$.useIntl)(),{modifiedData:d,onChangeCollectionTypeGlobalActionCheckbox:u}=(0,Re.$_)(),m=(0,e.useMemo)(()=>pn(n),[n]),C=(0,e.useMemo)(()=>hn(m,d[i]),[d,m,i]);return e.createElement(c.Box,{paddingBottom:4,paddingTop:6,style:{paddingLeft:re}},e.createElement(c.Stack,{horizontal:!0,spacing:0},m.map(S=>{let{label:T,actionId:L}=S;return e.createElement(Cn,{key:L,spacing:3},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})),e.createElement(c.BaseCheckbox,{disabled:s||yn,onValueChange:I=>{u(i,L,I)},name:L,"aria-label":r({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:r({id:`Settings.roles.form.permissions.${T.toLowerCase()}`,defaultMessage:T})}),value:se()(C,[L,"hasAllActionsSelected"],!1),indeterminate:se()(C,[L,"hasSomeActionsSelected"],!1)}))})))};Dt.defaultProps={actions:[]},Dt.propTypes={actions:a().arrayOf(a().shape({label:a().string.isRequired,actionId:a().string.isRequired,subjects:a().array.isRequired})),isFormDisabled:a().bool.isRequired,kind:a().string.isRequired};var En=(0,e.memo)(Dt);const bn=(0,x.default)(c.Box)`
121
121
  overflow-x: auto;
122
- `,Vt=({isFormDisabled:o,kind:n,layout:{actions:a,subjects:i}})=>{const r=f()([...i],"label");return e.createElement(bn,{background:"neutral0"},e.createElement(En,{actions:a,kind:n,isFormDisabled:o}),e.createElement(mn,{actions:a,isFormDisabled:o,pathToData:n,subjects:r}))};Vt.propTypes={isFormDisabled:s().bool.isRequired,kind:s().string.isRequired,layout:s().shape({actions:s().array,subjects:s().arrayOf(s().shape({uid:s().string.isRequired,label:s().string.isRequired,properties:s().array.isRequired}))}).isRequired};var Kt=(0,e.memo)(Vt),vn=t(66694);const Xt=({children:o,value:n})=>e.createElement(vn.$l.Provider,{value:n},o);Xt.propTypes={children:s().node.isRequired,value:s().exact({availableConditions:s().array.isRequired,modifiedData:s().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:s().func.isRequired,onChangeConditions:s().func.isRequired,onChangeSimpleCheckbox:s().func.isRequired,onChangeParentCheckbox:s().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:s().func.isRequired}).isRequired};var Sn=Xt,Tn=(o,n,a)=>o.map(i=>{const r=[...a,i.action,"properties","enabled"],d=(0,y.get)(n,r,!1),u=(0,y.get)(n,[...a,i.action,"conditions"],{}),m=He(u).some(C=>C);return{...i,isDisplayed:d,checkboxName:r.join(".."),hasSomeActionsSelected:d,value:d,hasConditions:m,label:i.displayName,actionId:i.action,pathToConditionsObject:[...a,i.action]}}),Rn=o=>{const n=Object.entries(o).reduce((i,r)=>{const[d,{conditions:u}]=r;return i[d]=u,i},{});return He(n).some(i=>i)};const It=(()=>window&&window.strapi&&window.strapi.isEE?t(96556).Z:t(16437).Z)(),xn=x.default.div.withConfig({displayName:"SubCategory__Border",componentId:"sc-akgczm-0"})(["flex:1;align-self:center;border-top:1px solid ",";"],o=>{let{theme:n}=o;return n.colors.neutral150}),An=x.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],o=>{let{hasConditions:n,disabled:a,theme:i}=o;return n&&`
122
+ `,Vt=({isFormDisabled:o,kind:n,layout:{actions:s,subjects:i}})=>{const r=f()([...i],"label");return e.createElement(bn,{background:"neutral0"},e.createElement(En,{actions:s,kind:n,isFormDisabled:o}),e.createElement(mn,{actions:s,isFormDisabled:o,pathToData:n,subjects:r}))};Vt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().shape({actions:a().array,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))}).isRequired};var Kt=(0,e.memo)(Vt),vn=t(66694);const Xt=({children:o,value:n})=>e.createElement(vn.$l.Provider,{value:n},o);Xt.propTypes={children:a().node.isRequired,value:a().exact({availableConditions:a().array.isRequired,modifiedData:a().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:a().func.isRequired,onChangeConditions:a().func.isRequired,onChangeSimpleCheckbox:a().func.isRequired,onChangeParentCheckbox:a().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:a().func.isRequired}).isRequired};var Sn=Xt,Tn=(o,n,s)=>o.map(i=>{const r=[...s,i.action,"properties","enabled"],d=(0,y.get)(n,r,!1),u=(0,y.get)(n,[...s,i.action,"conditions"],{}),m=He(u).some(C=>C);return{...i,isDisplayed:d,checkboxName:r.join(".."),hasSomeActionsSelected:d,value:d,hasConditions:m,label:i.displayName,actionId:i.action,pathToConditionsObject:[...s,i.action]}}),Rn=o=>{const n=Object.entries(o).reduce((i,r)=>{const[d,{conditions:u}]=r;return i[d]=u,i},{});return He(n).some(i=>i)};const It=(()=>window&&window.strapi&&window.strapi.isEE?t(96556).Z:t(16437).Z)(),xn=x.default.div.withConfig({displayName:"SubCategory__Border",componentId:"sc-akgczm-0"})(["flex:1;align-self:center;border-top:1px solid ",";"],o=>{let{theme:n}=o;return n.colors.neutral150}),An=x.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],o=>{let{hasConditions:n,disabled:s,theme:i}=o;return n&&`
123
123
  &:before {
124
124
  content: '';
125
125
  position: absolute;
@@ -128,9 +128,9 @@
128
128
  width: ${6/16}rem;
129
129
  height: ${6/16}rem;
130
130
  border-radius: ${20/16}rem;
131
- background: ${a?i.colors.neutral100:i.colors.primary600};
131
+ background: ${s?i.colors.neutral100:i.colors.primary600};
132
132
  }
133
- `}),Yt=o=>{let{categoryName:n,isFormDisabled:a,subCategoryName:i,actions:r,pathToData:d}=o;const[u,m]=(0,e.useState)(!1),{modifiedData:C,onChangeParentCheckbox:S,onChangeSimpleCheckbox:T}=(0,Re.$_)(),{formatMessage:L}=(0,$.useIntl)(),I=ae()(C,d,{}),_=(0,e.useMemo)(()=>Object.keys(I).reduce((ne,Le)=>(ne[Le]=et(I[Le]),ne),{}),[I]),{hasAllActionsSelected:N,hasSomeActionsSelected:Z}=We(_),A=()=>{m(ne=>!ne)},B=()=>{m(!1)},U=Tn(r,C,d),V=Rn(ae()(C,[...d],{}));return e.createElement(e.Fragment,null,e.createElement(c.Box,null,e.createElement(c.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(c.Box,{paddingRight:4},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},i)),e.createElement(xn,null),e.createElement(c.Box,{paddingLeft:4},e.createElement(c.Checkbox,{name:d.join(".."),disabled:a||It,onValueChange:ne=>{S({target:{name:d.join(".."),value:ne}})},indeterminate:Z,value:N},L({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(c.Flex,{paddingTop:6,paddingBottom:6},e.createElement(c.Grid,{gap:2,style:{flex:1}},U.map(ne=>{let{checkboxName:Le,value:ye,action:ue,displayName:Ce,hasConditions:Te}=ne;return e.createElement(c.GridItem,{col:3,key:ue},e.createElement(An,{disabled:a||It,hasConditions:Te},e.createElement(c.Checkbox,{name:Le,disabled:a||It,onValueChange:we=>{T({target:{name:Le,value:we}})},value:ye},Ce)))})),e.createElement(Oe,{hasConditions:V,onClick:A}))),u&&e.createElement(ce,{headerBreadCrumbs:[n,i],actions:U,isFormDisabled:a,onClosed:B,onToggle:A}))};Yt.propTypes={actions:s().array.isRequired,categoryName:s().string.isRequired,isFormDisabled:s().bool.isRequired,subCategoryName:s().string.isRequired,pathToData:s().array.isRequired};var Mn=Yt;const Pt=({childrenForm:o,kind:n,name:a,isOpen:i,isFormDisabled:r,isWhite:d,onOpenCategory:u,pathToData:m})=>{const{formatMessage:C}=(0,$.useIntl)(),S=()=>{u(a)},T=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(c.Accordion,{expanded:i,onToggle:S,id:`accordion-${a}`,variant:d?"primary":"secondary"},e.createElement(c.AccordionToggle,{title:se()(T),description:`${C({id:"Settings.permissions.category"},{category:T})} ${n==="plugins"?"plugin":n}`}),e.createElement(c.AccordionContent,null,e.createElement(c.Box,{padding:6},o.map(({actions:L,subCategoryName:I,subCategoryId:_})=>e.createElement(Mn,{key:I,actions:L,categoryName:T,isFormDisabled:r,subCategoryName:I,pathToData:[...m,_]})))))};Pt.defaultProps={},Pt.propTypes={childrenForm:s().array.isRequired,isOpen:s().bool.isRequired,isFormDisabled:s().bool.isRequired,isWhite:s().bool.isRequired,kind:s().string.isRequired,name:s().string.isRequired,onOpenCategory:s().func.isRequired,pathToData:s().array.isRequired};var Ln=Pt;const Qt=({isFormDisabled:o,kind:n,layout:a})=>{const[i,r]=(0,e.useState)(null),d=u=>{r(u===i?null:u)};return e.createElement(c.Box,{padding:6,background:"neutral0"},a.map(({category:u,categoryId:m,childrenForm:C},S)=>e.createElement(Ln,{key:u,childrenForm:C,kind:n,isFormDisabled:o,isOpen:i===u,isWhite:S%2===1,name:u,onOpenCategory:d,pathToData:[n,m]})))};Qt.propTypes={isFormDisabled:s().bool.isRequired,kind:s().string.isRequired,layout:s().arrayOf(s().shape({category:s().string.isRequired,categoryId:s().string.isRequired,childrenForm:s().arrayOf(s().shape({actions:s().array.isRequired})).isRequired}).isRequired).isRequired};var Jt=Qt,qt=(o,n,a)=>o.find(i=>i.action===n&&i.subject===a);const _t=(o,n=[])=>o.reduce((a,i)=>(a[i.id]=n.indexOf(i.id)!==-1,a),{}),en=({children:o},n,a="")=>o.reduce((i,r)=>{if(r.children)return{...i,[r.value]:en(r,n,`${a}${r.value}.`)};const d=n.indexOf(`${a}${r.value}`)!==-1;return i[r.value]=d,i},{}),Dn=(o,n,a)=>o.reduce((i,r)=>{const d=n.properties.find(({value:u})=>u===r);if(d){const u=(0,y.get)(a,["properties",d.value],[]),m=en(d,u);i.properties[r]=m}return i},{properties:{}}),In=(o,n)=>n.reduce((a,i)=>{const r=o.find(({uid:d})=>d===i)||null;return r&&(a[i]=r),a},{});var tn=({subjects:o},n,a,i=[])=>n.reduce((r,d)=>{const u=d.subjects,m=In(o,u);if((0,y.isEmpty)(m))return r;const C=Object.keys(m).reduce((S,T)=>{const{actionId:L,applyToProperties:I}=d,Z=m[T].properties.map(({value:V})=>V).every(V=>(I||[]).indexOf(V)===-1),A=qt(i,L,T),B=_t(a,(0,y.get)(A,"conditions",[]));if((0,y.isEmpty)(I)||Z)return(0,y.set)(S,[T,L],{properties:{enabled:A!==void 0},conditions:B}),S;const U=Dn(I,m[T],A);return(0,y.set)(S,[T,L],{...U,conditions:B}),S},{});return(0,y.merge)(r,C)},{});const Pn=(o,n,a)=>o.reduce((i,r)=>{const d=qt(a,r.action,null);return i[r.action]={properties:{enabled:d!==void 0},conditions:_t(n,(0,y.get)(d,"conditions",[]))},i},{}),On=(o,n,a)=>o.reduce((i,r)=>(i[r.subCategoryId]=Pn(r.actions,n,a),i),{});var nn=(o,n,a=[])=>o.reduce((i,{categoryId:r,childrenForm:d})=>{const u=On(d,n,a);return i[r]=u,i},{});const on=o=>o.split(" ").join("-");var an=(o,n)=>Object.entries(G()(o,n)).map(([a,i])=>({category:a,categoryId:on(a),childrenForm:Object.entries(G()(i,"subCategory")).map(([r,d])=>({subCategoryName:r,subCategoryId:on(r),actions:d}))})),Fn=(o,n)=>{const{conditions:a,sections:{collectionTypes:i,singleTypes:r,plugins:d,settings:u}}=o,m={collectionTypes:i,singleTypes:r,plugins:an(d,"plugin"),settings:an(u,"category")},C={collectionTypes:tn(i,i.actions||[],a,n),singleTypes:tn(r,r.actions||[],a,n),plugins:nn(m.plugins,a,n),settings:nn(m.settings,a,n)};return{initialData:C,modifiedData:C,layouts:m}};const sn=o=>Object.keys(o).reduce((n,a)=>{const i=o[a];if((0,y.isObject)(i)&&!(0,y.has)(i,"conditions"))return{...n,[a]:sn(i)};if((0,y.isObject)(i)&&(0,y.has)(i,"conditions")&&!He((0,y.omit)(i,"conditions")).some(d=>d)){const d=Object.keys(i.conditions).reduce((u,m)=>(u[m]=!1,u),{});return{...n,[a]:{...i,conditions:d}}}return n[a]=i,n},{});var Ot=sn;const rn=(o,n)=>Object.keys(o).reduce((a,i)=>{const r=o[i];return i==="conditions"?(a[i]=r,a):(0,y.isObject)(r)?{...a,[i]:rn(r,n)}:(a[i]=n,a)},{});var yt=rn;const Bn={initialData:{},modifiedData:{},layouts:{}};var kn=(o,n)=>(0,D.default)(o,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:i,actionId:r,value:d}=n,u=["modifiedData",i];Object.keys((0,y.get)(o,u)).forEach(m=>{const C=(0,y.get)(o,[...u,m,r],void 0);if(C){let S=yt(C,d);if(!d&&S.conditions){const T=yt(S.conditions,!1);S={...S,conditions:T}}(0,y.set)(a,[...u,m,r],S)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:i,propertyName:r,rowName:d,value:u}=n;let m=(0,y.cloneDeep)(o.modifiedData);const C=i.split(".."),S=(0,y.get)(m,C,{});Object.keys(S).forEach(T=>{if((0,y.has)(S[T],`properties.${r}`)){const L=(0,y.get)(S,[T,"properties",r,d]),I=[...C,T,"properties",r,d];if(!(0,y.isObject)(L))(0,y.set)(m,I,u);else{const _=yt(L,u);(0,y.set)(m,I,_)}}}),u||(m=Ot(m)),(0,y.set)(a,"modifiedData",m);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(i=>{const[r,d]=i;(0,y.set)(a,["modifiedData",...r.split(".."),"conditions"],d)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let i=(0,y.cloneDeep)(o.modifiedData);(0,y.set)(i,[...n.keys.split("..")],n.value),n.value||(i=Ot(i)),(0,y.set)(a,"modifiedData",i);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:i,value:r}=n,d=[...i.split("..")];let u=(0,y.cloneDeep)(o.modifiedData);const m=(0,y.get)(u,d,{}),C=yt(m,r);(0,y.set)(u,d,C),r||(u=Ot(u)),(0,y.set)(a,["modifiedData"],u);break}case"RESET_FORM":{a.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=o.modifiedData;break}default:return a}});const Ft=o=>Object.entries(o).filter(([,n])=>n).map(([n])=>n),wn=o=>{const[n,{conditions:a}]=o;return{action:n,subject:null,conditions:Ft(a),properties:{}}},Nn=o=>Object.values(o).reduce((n,a)=>{const i=Object.entries(a).reduce((r,d)=>{const[,{properties:{enabled:u}}]=d;if(!u)return r;const m=wn(d);return r.push(m),r},[]);return[...n,...i]},[]);var ln=o=>Object.values(o).reduce((n,a)=>{const i=Nn(a);return[...n,...i]},[]);const cn=(o,n="")=>Object.entries(o).reduce((a,i)=>{const[r,d]=i;return(0,y.isObject)(d)?[...a,...cn(d,`${n}${r}.`)]:(d&&!(0,y.isObject)(d)&&a.push(`${n}${r}`),a)},[]),$n=(o,n,{conditions:a,properties:i})=>Object.entries(i).reduce((r,d)=>{const[u,m]=d;return r.properties[u]=cn(m),r},{action:o,subject:n,conditions:Ft(a),properties:{}}),jn=(o,n,{conditions:a})=>({action:o,subject:n,properties:{},conditions:Ft(a)}),zn=(o,n)=>Object.entries(n).reduce((i,r)=>{const[d,u]=r;if(!He(u).some(S=>S))return i;if(!(0,y.has)(u,"properties.enabled")){const S=$n(d,o,u);return[...i,S]}if(!u.properties.enabled)return i;const C=jn(d,o,u);return i.push(C),i},[]);var dn=o=>Object.entries(o).reduce((a,i)=>{const[r,d]=i,u=zn(r,d);return[...a,...u]},[]),Un=o=>{const n=ln(o.plugins),a=ln(o.settings),i=dn(o.collectionTypes),r=dn(o.singleTypes);return[...n,...a,...i,...r]},Gn=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const Bt=(0,e.forwardRef)(({layout:o,isFormDisabled:n,permissions:a},i)=>{const[{initialData:r,layouts:d,modifiedData:u},m]=(0,e.useReducer)(kn,Bn,()=>Fn(o,a)),{formatMessage:C}=(0,$.useIntl)();(0,e.useImperativeHandle)(i,()=>({getPermissions(){const N=(0,l.difference)(r.collectionTypes,u.collectionTypes),Z=(0,l.difference)(r.singleTypes,u.singleTypes),A={...N,...Z};let B;return le()(A)?B=!1:B=Object.values(A).some(U=>Object.values(U).some(V=>K()(V,"conditions"))),{permissionsToSend:Un(u),didUpdateConditions:B}},resetForm(){m({type:"RESET_FORM"})},setFormAfterSubmit(){m({type:"SET_FORM_AFTER_SUBMIT"})}}));const S=(N,Z,A,B)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:N,propertyName:Z,rowName:A,value:B})},T=(N,Z,A)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:N,actionId:Z,value:A})},L=N=>{m({type:"ON_CHANGE_CONDITIONS",conditions:N})},I=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:N,value:Z})},[]),_=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:N,value:Z})},[]);return e.createElement(Sn,{value:{availableConditions:o.conditions,modifiedData:u,onChangeConditions:L,onChangeSimpleCheckbox:I,onChangeParentCheckbox:_,onChangeCollectionTypeLeftActionRowCheckbox:S,onChangeCollectionTypeGlobalActionCheckbox:T}},e.createElement(c.TabGroup,{id:"tabs",label:C({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(c.Tabs,null,Gn.map(N=>e.createElement(c.Tab,{key:N.id},C({id:N.labelId,defaultMessage:N.defaultMessage})))),e.createElement(c.TabPanels,{style:{position:"relative"}},e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.settings,kind:"settings",isFormDisabled:n})))))});Bt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},Bt.propTypes={layout:s().object,isFormDisabled:s().bool.isRequired,permissions:s().array};var Wn=(0,e.memo)(Bt)},16437:function(P,R){"use strict";R.Z=!0},78522:function(P,R){"use strict";R.Z=()=>"todo empty role"},80779:function(P,R,t){"use strict";var e=t(32735),b=t(60216),s=t.n(b),l=t(39161),c=t.n(l),E=t(13478),K=t.n(E),Q=t(5636);const le=({id:$,name:x,description:De,usersCount:f,icons:oe,rowIndex:Ee})=>{const{formatMessage:ae}=(0,Q.useIntl)(),be=ae({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:f});return e.createElement(l.Tr,{"aria-rowindex":Ee,key:$,...(0,E.onRowClick)({fn:oe[1].onClick})},e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(130)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},x)),e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(250)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},De)),e.createElement(l.Td,null,e.createElement(l.Typography,{textColor:"neutral800"},be)),e.createElement(l.Td,null,e.createElement(l.Flex,{justifyContent:"flex-end",...E.stopPropagation},oe.map((ve,Re)=>ve?e.createElement(l.Box,{key:ve.label,paddingLeft:Re===0?0:1},e.createElement(l.IconButton,{onClick:ve.onClick,label:ve.label,noBorder:!0,icon:ve.icon})):null))))};le.propTypes={id:s().number.isRequired,name:s().string.isRequired,description:s().string.isRequired,usersCount:s().number.isRequired,icons:s().array.isRequired,rowIndex:s().number.isRequired},R.Z=le},45677:function(P,R,t){"use strict";t.d(R,{Z:function(){return xe}});var e=t(32735),b=t(13478),s=t(72041),l=t(58469),c=t(57269),E=t(39161),K=t(5636),Q=t(5141),le=t(80779),$=t(78522),x=t(60216),De=t.n(x),f=t(83292),oe=t(95489),Ee=t.p+"6d21938306785f176538.png",ae=t.p+"617f9c948fa79e6d73bd.png";const be=f.default.div`
133
+ `}),Yt=o=>{let{categoryName:n,isFormDisabled:s,subCategoryName:i,actions:r,pathToData:d}=o;const[u,m]=(0,e.useState)(!1),{modifiedData:C,onChangeParentCheckbox:S,onChangeSimpleCheckbox:T}=(0,Re.$_)(),{formatMessage:L}=(0,$.useIntl)(),I=se()(C,d,{}),_=(0,e.useMemo)(()=>Object.keys(I).reduce((ne,Le)=>(ne[Le]=et(I[Le]),ne),{}),[I]),{hasAllActionsSelected:N,hasSomeActionsSelected:Z}=We(_),A=()=>{m(ne=>!ne)},B=()=>{m(!1)},U=Tn(r,C,d),V=Rn(se()(C,[...d],{}));return e.createElement(e.Fragment,null,e.createElement(c.Box,null,e.createElement(c.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(c.Box,{paddingRight:4},e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},i)),e.createElement(xn,null),e.createElement(c.Box,{paddingLeft:4},e.createElement(c.Checkbox,{name:d.join(".."),disabled:s||It,onValueChange:ne=>{S({target:{name:d.join(".."),value:ne}})},indeterminate:Z,value:N},L({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(c.Flex,{paddingTop:6,paddingBottom:6},e.createElement(c.Grid,{gap:2,style:{flex:1}},U.map(ne=>{let{checkboxName:Le,value:ye,action:ue,displayName:Ce,hasConditions:Te}=ne;return e.createElement(c.GridItem,{col:3,key:ue},e.createElement(An,{disabled:s||It,hasConditions:Te},e.createElement(c.Checkbox,{name:Le,disabled:s||It,onValueChange:we=>{T({target:{name:Le,value:we}})},value:ye},Ce)))})),e.createElement(Oe,{hasConditions:V,onClick:A}))),u&&e.createElement(ce,{headerBreadCrumbs:[n,i],actions:U,isFormDisabled:s,onClosed:B,onToggle:A}))};Yt.propTypes={actions:a().array.isRequired,categoryName:a().string.isRequired,isFormDisabled:a().bool.isRequired,subCategoryName:a().string.isRequired,pathToData:a().array.isRequired};var Mn=Yt;const Pt=({childrenForm:o,kind:n,name:s,isOpen:i,isFormDisabled:r,isWhite:d,onOpenCategory:u,pathToData:m})=>{const{formatMessage:C}=(0,$.useIntl)(),S=()=>{u(s)},T=(0,e.useMemo)(()=>s.split("::").pop(),[s]);return e.createElement(c.Accordion,{expanded:i,onToggle:S,id:`accordion-${s}`,variant:d?"primary":"secondary"},e.createElement(c.AccordionToggle,{title:ae()(T),description:`${C({id:"Settings.permissions.category"},{category:T})} ${n==="plugins"?"plugin":n}`}),e.createElement(c.AccordionContent,null,e.createElement(c.Box,{padding:6},o.map(({actions:L,subCategoryName:I,subCategoryId:_})=>e.createElement(Mn,{key:I,actions:L,categoryName:T,isFormDisabled:r,subCategoryName:I,pathToData:[...m,_]})))))};Pt.defaultProps={},Pt.propTypes={childrenForm:a().array.isRequired,isOpen:a().bool.isRequired,isFormDisabled:a().bool.isRequired,isWhite:a().bool.isRequired,kind:a().string.isRequired,name:a().string.isRequired,onOpenCategory:a().func.isRequired,pathToData:a().array.isRequired};var Ln=Pt;const Qt=({isFormDisabled:o,kind:n,layout:s})=>{const[i,r]=(0,e.useState)(null),d=u=>{r(u===i?null:u)};return e.createElement(c.Box,{padding:6,background:"neutral0"},s.map(({category:u,categoryId:m,childrenForm:C},S)=>e.createElement(Ln,{key:u,childrenForm:C,kind:n,isFormDisabled:o,isOpen:i===u,isWhite:S%2===1,name:u,onOpenCategory:d,pathToData:[n,m]})))};Qt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().arrayOf(a().shape({category:a().string.isRequired,categoryId:a().string.isRequired,childrenForm:a().arrayOf(a().shape({actions:a().array.isRequired})).isRequired}).isRequired).isRequired};var Jt=Qt,qt=(o,n,s)=>o.find(i=>i.action===n&&i.subject===s);const _t=(o,n=[])=>o.reduce((s,i)=>(s[i.id]=n.indexOf(i.id)!==-1,s),{}),en=({children:o},n,s="")=>o.reduce((i,r)=>{if(r.children)return{...i,[r.value]:en(r,n,`${s}${r.value}.`)};const d=n.indexOf(`${s}${r.value}`)!==-1;return i[r.value]=d,i},{}),Dn=(o,n,s)=>o.reduce((i,r)=>{const d=n.properties.find(({value:u})=>u===r);if(d){const u=(0,y.get)(s,["properties",d.value],[]),m=en(d,u);i.properties[r]=m}return i},{properties:{}}),In=(o,n)=>n.reduce((s,i)=>{const r=o.find(({uid:d})=>d===i)||null;return r&&(s[i]=r),s},{});var tn=({subjects:o},n,s,i=[])=>n.reduce((r,d)=>{const u=d.subjects,m=In(o,u);if((0,y.isEmpty)(m))return r;const C=Object.keys(m).reduce((S,T)=>{const{actionId:L,applyToProperties:I}=d,Z=m[T].properties.map(({value:V})=>V).every(V=>(I||[]).indexOf(V)===-1),A=qt(i,L,T),B=_t(s,(0,y.get)(A,"conditions",[]));if((0,y.isEmpty)(I)||Z)return(0,y.set)(S,[T,L],{properties:{enabled:A!==void 0},conditions:B}),S;const U=Dn(I,m[T],A);return(0,y.set)(S,[T,L],{...U,conditions:B}),S},{});return(0,y.merge)(r,C)},{});const Pn=(o,n,s)=>o.reduce((i,r)=>{const d=qt(s,r.action,null);return i[r.action]={properties:{enabled:d!==void 0},conditions:_t(n,(0,y.get)(d,"conditions",[]))},i},{}),On=(o,n,s)=>o.reduce((i,r)=>(i[r.subCategoryId]=Pn(r.actions,n,s),i),{});var nn=(o,n,s=[])=>o.reduce((i,{categoryId:r,childrenForm:d})=>{const u=On(d,n,s);return i[r]=u,i},{});const on=o=>o.split(" ").join("-");var sn=(o,n)=>Object.entries(G()(o,n)).map(([s,i])=>({category:s,categoryId:on(s),childrenForm:Object.entries(G()(i,"subCategory")).map(([r,d])=>({subCategoryName:r,subCategoryId:on(r),actions:d}))})),Fn=(o,n)=>{const{conditions:s,sections:{collectionTypes:i,singleTypes:r,plugins:d,settings:u}}=o,m={collectionTypes:i,singleTypes:r,plugins:sn(d,"plugin"),settings:sn(u,"category")},C={collectionTypes:tn(i,i.actions||[],s,n),singleTypes:tn(r,r.actions||[],s,n),plugins:nn(m.plugins,s,n),settings:nn(m.settings,s,n)};return{initialData:C,modifiedData:C,layouts:m}};const an=o=>Object.keys(o).reduce((n,s)=>{const i=o[s];if((0,y.isObject)(i)&&!(0,y.has)(i,"conditions"))return{...n,[s]:an(i)};if((0,y.isObject)(i)&&(0,y.has)(i,"conditions")&&!He((0,y.omit)(i,"conditions")).some(d=>d)){const d=Object.keys(i.conditions).reduce((u,m)=>(u[m]=!1,u),{});return{...n,[s]:{...i,conditions:d}}}return n[s]=i,n},{});var Ot=an;const rn=(o,n)=>Object.keys(o).reduce((s,i)=>{const r=o[i];return i==="conditions"?(s[i]=r,s):(0,y.isObject)(r)?{...s,[i]:rn(r,n)}:(s[i]=n,s)},{});var yt=rn;const Bn={initialData:{},modifiedData:{},layouts:{}};var kn=(o,n)=>(0,D.default)(o,s=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:i,actionId:r,value:d}=n,u=["modifiedData",i];Object.keys((0,y.get)(o,u)).forEach(m=>{const C=(0,y.get)(o,[...u,m,r],void 0);if(C){let S=yt(C,d);if(!d&&S.conditions){const T=yt(S.conditions,!1);S={...S,conditions:T}}(0,y.set)(s,[...u,m,r],S)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:i,propertyName:r,rowName:d,value:u}=n;let m=(0,y.cloneDeep)(o.modifiedData);const C=i.split(".."),S=(0,y.get)(m,C,{});Object.keys(S).forEach(T=>{if((0,y.has)(S[T],`properties.${r}`)){const L=(0,y.get)(S,[T,"properties",r,d]),I=[...C,T,"properties",r,d];if(!(0,y.isObject)(L))(0,y.set)(m,I,u);else{const _=yt(L,u);(0,y.set)(m,I,_)}}}),u||(m=Ot(m)),(0,y.set)(s,"modifiedData",m);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(i=>{const[r,d]=i;(0,y.set)(s,["modifiedData",...r.split(".."),"conditions"],d)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let i=(0,y.cloneDeep)(o.modifiedData);(0,y.set)(i,[...n.keys.split("..")],n.value),n.value||(i=Ot(i)),(0,y.set)(s,"modifiedData",i);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:i,value:r}=n,d=[...i.split("..")];let u=(0,y.cloneDeep)(o.modifiedData);const m=(0,y.get)(u,d,{}),C=yt(m,r);(0,y.set)(u,d,C),r||(u=Ot(u)),(0,y.set)(s,["modifiedData"],u);break}case"RESET_FORM":{s.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{s.initialData=o.modifiedData;break}default:return s}});const Ft=o=>Object.entries(o).filter(([,n])=>n).map(([n])=>n),wn=o=>{const[n,{conditions:s}]=o;return{action:n,subject:null,conditions:Ft(s),properties:{}}},Nn=o=>Object.values(o).reduce((n,s)=>{const i=Object.entries(s).reduce((r,d)=>{const[,{properties:{enabled:u}}]=d;if(!u)return r;const m=wn(d);return r.push(m),r},[]);return[...n,...i]},[]);var ln=o=>Object.values(o).reduce((n,s)=>{const i=Nn(s);return[...n,...i]},[]);const cn=(o,n="")=>Object.entries(o).reduce((s,i)=>{const[r,d]=i;return(0,y.isObject)(d)?[...s,...cn(d,`${n}${r}.`)]:(d&&!(0,y.isObject)(d)&&s.push(`${n}${r}`),s)},[]),$n=(o,n,{conditions:s,properties:i})=>Object.entries(i).reduce((r,d)=>{const[u,m]=d;return r.properties[u]=cn(m),r},{action:o,subject:n,conditions:Ft(s),properties:{}}),jn=(o,n,{conditions:s})=>({action:o,subject:n,properties:{},conditions:Ft(s)}),zn=(o,n)=>Object.entries(n).reduce((i,r)=>{const[d,u]=r;if(!He(u).some(S=>S))return i;if(!(0,y.has)(u,"properties.enabled")){const S=$n(d,o,u);return[...i,S]}if(!u.properties.enabled)return i;const C=jn(d,o,u);return i.push(C),i},[]);var dn=o=>Object.entries(o).reduce((s,i)=>{const[r,d]=i,u=zn(r,d);return[...s,...u]},[]),Un=o=>{const n=ln(o.plugins),s=ln(o.settings),i=dn(o.collectionTypes),r=dn(o.singleTypes);return[...n,...s,...i,...r]},Gn=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const Bt=(0,e.forwardRef)(({layout:o,isFormDisabled:n,permissions:s},i)=>{const[{initialData:r,layouts:d,modifiedData:u},m]=(0,e.useReducer)(kn,Bn,()=>Fn(o,s)),{formatMessage:C}=(0,$.useIntl)();(0,e.useImperativeHandle)(i,()=>({getPermissions(){const N=(0,l.difference)(r.collectionTypes,u.collectionTypes),Z=(0,l.difference)(r.singleTypes,u.singleTypes),A={...N,...Z};let B;return le()(A)?B=!1:B=Object.values(A).some(U=>Object.values(U).some(V=>K()(V,"conditions"))),{permissionsToSend:Un(u),didUpdateConditions:B}},resetForm(){m({type:"RESET_FORM"})},setFormAfterSubmit(){m({type:"SET_FORM_AFTER_SUBMIT"})}}));const S=(N,Z,A,B)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:N,propertyName:Z,rowName:A,value:B})},T=(N,Z,A)=>{m({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:N,actionId:Z,value:A})},L=N=>{m({type:"ON_CHANGE_CONDITIONS",conditions:N})},I=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:N,value:Z})},[]),_=(0,e.useCallback)(({target:{name:N,value:Z}})=>{m({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:N,value:Z})},[]);return e.createElement(Sn,{value:{availableConditions:o.conditions,modifiedData:u,onChangeConditions:L,onChangeSimpleCheckbox:I,onChangeParentCheckbox:_,onChangeCollectionTypeLeftActionRowCheckbox:S,onChangeCollectionTypeGlobalActionCheckbox:T}},e.createElement(c.TabGroup,{id:"tabs",label:C({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(c.Tabs,null,Gn.map(N=>e.createElement(c.Tab,{key:N.id},C({id:N.labelId,defaultMessage:N.defaultMessage})))),e.createElement(c.TabPanels,{style:{position:"relative"}},e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Kt,{layout:d.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(c.TabPanel,null,e.createElement(Jt,{layout:d.settings,kind:"settings",isFormDisabled:n})))))});Bt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},Bt.propTypes={layout:a().object,isFormDisabled:a().bool.isRequired,permissions:a().array};var Wn=(0,e.memo)(Bt)},16437:function(P,R){"use strict";R.Z=!0},78522:function(P,R){"use strict";R.Z=()=>"todo empty role"},80779:function(P,R,t){"use strict";var e=t(32735),b=t(60216),a=t.n(b),l=t(39161),c=t.n(l),E=t(13478),K=t.n(E),Q=t(5636);const le=({id:$,name:x,description:De,usersCount:f,icons:oe,rowIndex:Ee})=>{const{formatMessage:se}=(0,Q.useIntl)(),be=se({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:f});return e.createElement(l.Tr,{"aria-rowindex":Ee,key:$,...(0,E.onRowClick)({fn:oe[1].onClick})},e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(130)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},x)),e.createElement(l.Td,{maxWidth:(0,E.pxToRem)(250)},e.createElement(l.Typography,{ellipsis:!0,textColor:"neutral800"},De)),e.createElement(l.Td,null,e.createElement(l.Typography,{textColor:"neutral800"},be)),e.createElement(l.Td,null,e.createElement(l.Flex,{justifyContent:"flex-end",...E.stopPropagation},oe.map((ve,Re)=>ve?e.createElement(l.Box,{key:ve.label,paddingLeft:Re===0?0:1},e.createElement(l.IconButton,{onClick:ve.onClick,label:ve.label,noBorder:!0,icon:ve.icon})):null))))};le.propTypes={id:a().number.isRequired,name:a().string.isRequired,description:a().string.isRequired,usersCount:a().number.isRequired,icons:a().array.isRequired,rowIndex:a().number.isRequired},R.Z=le},45677:function(P,R,t){"use strict";t.d(R,{Z:function(){return xe}});var e=t(32735),b=t(13478),a=t(72041),l=t(58469),c=t(57269),E=t(39161),K=t(5636),Q=t(5141),le=t(80779),$=t(78522),x=t(60216),De=t.n(x),f=t(83292),oe=t(95489),Ee=t.p+"6d21938306785f176538.png",se=t.p+"617f9c948fa79e6d73bd.png";const be=f.default.div`
134
134
  position: absolute;
135
135
  z-index: 3;
136
136
  inset: 0;
@@ -166,7 +166,7 @@
166
166
  position: absolute;
167
167
  right: ${({theme:M})=>M.spaces[4]};
168
168
  top: ${({theme:M})=>M.spaces[4]};
169
- `,Ie=({onClose:M,isOpen:k})=>{(0,b.useLockScroll)(k);const{formatMessage:X}=(0,K.useIntl)();return k?e.createElement(E.Portal,null,e.createElement(be,{onClick:M},e.createElement(E.FocusTrap,{onEscape:M},e.createElement(ve,{onClick:J=>J.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:Ee,alt:"air-balloon"}),e.createElement(Ue,null,e.createElement(E.IconButton,{onClick:M,"aria-label":"Close",icon:e.createElement(c.Cross,null)})),e.createElement(Re,{spacing:6},e.createElement(E.Typography,{fontWeight:"bold",textColor:"primary600"},X({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(E.Stack,{spacing:2},e.createElement(E.Typography,{variant:"alpha",as:"h2",id:"upgrade-plan"},X({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(E.Typography,null,X({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(oe.Q,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(c.ExternalLink,null)},X({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:ae,alt:"upgrade-arrow"}))))):null};Ie.propTypes={onClose:De().func.isRequired,isOpen:De().bool.isRequired};var Oe=Ie,D=t(8888);const he=()=>{const{roles:M,isLoading:k}=(0,D.bF)(),X=(0,b.useQuery)(),J=decodeURIComponent(X.get("_q")||""),y=(0,l.ZP)(M,J,{keys:["name","description"]});return{isLoading:k,sortedRoles:y}},G=()=>{const{formatMessage:M}=(0,K.useIntl)(),[k,X]=(0,e.useState)(!1),{trackUsage:J}=(0,b.useTracking)(),{push:y}=(0,Q.useHistory)(),me=(0,e.useCallback)(q=>{y(`/settings/roles/${q}`)},[y]),Se=(0,e.useCallback)(()=>{X(q=>!q)},[]),Pe=(0,e.useCallback)(()=>{J("didShowRBACUpgradeModal"),X(!0)},[J]),pe=(0,e.useCallback)(q=>[{onClick:Se,label:M({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(c.Duplicate,null)},{onClick:()=>me(q.id),label:M({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(c.Pencil,null)},{onClick:Se,label:M({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(c.Trash,null)}],[M,Se,me]);return{isModalOpen:k,handleToggleModalForCreatingRole:Pe,handleToggle:Se,getIcons:pe}};var se=()=>{const{formatMessage:M}=(0,K.useIntl)();(0,b.useFocusWhenNavigate)();const{sortedRoles:k,isLoading:X}=he(),{isModalOpen:J,handleToggle:y,handleToggleModalForCreatingRole:me,getIcons:Se}=G(),Pe=k.length+1,pe=5;return e.createElement(E.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(E.HeaderLayout,{primaryAction:e.createElement(E.Button,{onClick:me,startIcon:e.createElement(c.Plus,null),size:"S"},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:M({id:"global.roles",defaultMessage:"roles"}),subtitle:M({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(E.ContentLayout,null,e.createElement(E.Table,{colCount:pe,rowCount:Pe,footer:e.createElement(E.TFooter,{onClick:me,icon:e.createElement(c.Plus,null)},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(E.Thead,null,e.createElement(E.Tr,null,e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.name",defaultMessage:"Name"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.description",defaultMessage:"Description"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.users",defaultMessage:"Users"}))),e.createElement(E.Th,null,e.createElement(E.VisuallyHidden,null,M({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(E.Tbody,null,k?.map((q,ce)=>e.createElement(le.Z,{key:q.id,id:q.id,name:q.name,description:q.description,usersCount:q.usersCount,icons:Se(q),rowIndex:ce+2})))),!Pe&&!X&&e.createElement($.Z,null)),e.createElement(Oe,{isOpen:J,onClose:y}))},xe=()=>e.createElement(b.CheckPagePermissions,{permissions:s.Z.settings.roles.main},e.createElement(se,null))},75936:function(P,R){"use strict";const t=[];R.Z=t},20178:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(64213),s=t(13478),l=t(39161),c=t(57269),E=t(83281),K=t(33795),Q=t.n(K),le=t(86834),$=t.n(le),x=t(5636),De=t(5141),f=t(83292),oe=t(78974),Ee=t(8888),ae=t(72041),be=t(5173),Re=be.Ry().shape({name:be.Z_().required(s.translatedErrors.required),description:be.Z_().required(s.translatedErrors.required)});const Ue=f.default.div`
169
+ `,Ie=({onClose:M,isOpen:k})=>{(0,b.useLockScroll)(k);const{formatMessage:X}=(0,K.useIntl)();return k?e.createElement(E.Portal,null,e.createElement(be,{onClick:M},e.createElement(E.FocusTrap,{onEscape:M},e.createElement(ve,{onClick:J=>J.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:Ee,alt:"air-balloon"}),e.createElement(Ue,null,e.createElement(E.IconButton,{onClick:M,"aria-label":"Close",icon:e.createElement(c.Cross,null)})),e.createElement(Re,{spacing:6},e.createElement(E.Typography,{fontWeight:"bold",textColor:"primary600"},X({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(E.Stack,{spacing:2},e.createElement(E.Typography,{variant:"alpha",as:"h2",id:"upgrade-plan"},X({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(E.Typography,null,X({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(oe.Q,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(c.ExternalLink,null)},X({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:se,alt:"upgrade-arrow"}))))):null};Ie.propTypes={onClose:De().func.isRequired,isOpen:De().bool.isRequired};var Oe=Ie,D=t(8888);const he=()=>{const{roles:M,isLoading:k}=(0,D.bF)(),X=(0,b.useQuery)(),J=decodeURIComponent(X.get("_q")||""),y=(0,l.ZP)(M,J,{keys:["name","description"]});return{isLoading:k,sortedRoles:y}},G=()=>{const{formatMessage:M}=(0,K.useIntl)(),[k,X]=(0,e.useState)(!1),{trackUsage:J}=(0,b.useTracking)(),{push:y}=(0,Q.useHistory)(),me=(0,e.useCallback)(q=>{y(`/settings/roles/${q}`)},[y]),Se=(0,e.useCallback)(()=>{X(q=>!q)},[]),Pe=(0,e.useCallback)(()=>{J("didShowRBACUpgradeModal"),X(!0)},[J]),pe=(0,e.useCallback)(q=>[{onClick:Se,label:M({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(c.Duplicate,null)},{onClick:()=>me(q.id),label:M({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(c.Pencil,null)},{onClick:Se,label:M({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(c.Trash,null)}],[M,Se,me]);return{isModalOpen:k,handleToggleModalForCreatingRole:Pe,handleToggle:Se,getIcons:pe}};var ae=()=>{const{formatMessage:M}=(0,K.useIntl)();(0,b.useFocusWhenNavigate)();const{sortedRoles:k,isLoading:X}=he(),{isModalOpen:J,handleToggle:y,handleToggleModalForCreatingRole:me,getIcons:Se}=G(),Pe=k.length+1,pe=5;return e.createElement(E.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(E.HeaderLayout,{primaryAction:e.createElement(E.Button,{onClick:me,startIcon:e.createElement(c.Plus,null),size:"S"},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:M({id:"global.roles",defaultMessage:"roles"}),subtitle:M({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(E.ContentLayout,null,e.createElement(E.Table,{colCount:pe,rowCount:Pe,footer:e.createElement(E.TFooter,{onClick:me,icon:e.createElement(c.Plus,null)},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(E.Thead,null,e.createElement(E.Tr,null,e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.name",defaultMessage:"Name"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.description",defaultMessage:"Description"}))),e.createElement(E.Th,null,e.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},M({id:"global.users",defaultMessage:"Users"}))),e.createElement(E.Th,null,e.createElement(E.VisuallyHidden,null,M({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(E.Tbody,null,k?.map((q,ce)=>e.createElement(le.Z,{key:q.id,id:q.id,name:q.name,description:q.description,usersCount:q.usersCount,icons:Se(q),rowIndex:ce+2})))),!Pe&&!X&&e.createElement($.Z,null)),e.createElement(Oe,{isOpen:J,onClose:y}))},xe=()=>e.createElement(b.CheckPagePermissions,{permissions:a.Z.settings.roles.main},e.createElement(ae,null))},75936:function(P,R){"use strict";const t=[];R.Z=t},20178:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(64213),a=t(13478),l=t(39161),c=t(57269),E=t(83281),K=t(33795),Q=t.n(K),le=t(86834),$=t.n(le),x=t(5636),De=t(5141),f=t(83292),oe=t(78974),Ee=t(8888),se=t(72041),be=t(5173),Re=be.Ry().shape({name:be.Z_().required(a.translatedErrors.required),description:be.Z_().required(a.translatedErrors.required)});const Ue=f.default.div`
170
170
  border: 1px solid ${({theme:D})=>D.colors.primary200};
171
171
  background: ${({theme:D})=>D.colors.primary100};
172
172
  padding: ${({theme:D})=>`${D.spaces[2]} ${D.spaces[4]}`};
@@ -174,5 +174,5 @@
174
174
  border-radius: ${({theme:D})=>D.borderRadius};
175
175
  font-size: ${12/16}rem;
176
176
  font-weight: bold;
177
- `,Ie=()=>{const D=(0,s.useNotification)(),{lockApp:he,unlockApp:G}=(0,s.useOverlayBlocker)(),{formatMessage:j}=(0,x.useIntl)(),[se,ie]=(0,e.useState)(!1),{replace:xe}=(0,De.useHistory)(),M=(0,e.useRef)(),{trackUsage:k}=(0,s.useTracking)(),X=(0,De.useRouteMatch)("/settings/roles/duplicate/:id"),J=Q()(X,"params.id",null),{isLoading:y,data:me}=(0,Ee.U_)(),{permissions:Se,isLoading:Pe}=(0,Ee.Dq)(J),pe=ce=>{he(),ie(!0),k(J?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,s.request)("/admin/roles",{method:"POST",body:ce})).then(async w=>{const{permissionsToSend:re}=M.current.getPermissions();return k(J?"didDuplicateRole":"didCreateNewRole"),w.data.id&&!$()(re)&&await(0,s.request)(`/admin/roles/${w.data.id}/permissions`,{method:"PUT",body:{permissions:re}}),w}).then(w=>{ie(!1),D({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),xe(`/settings/roles/${w.data.id}`)}).catch(w=>{console.error(w),ie(!1),D({type:"warning",message:{id:"notification.error"}})}).finally(()=>{G()})},q=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,b.format)(new Date,"PPP")}`;return e.createElement(l.Main,null,e.createElement(s.SettingsPageTitle,{name:"Roles"}),e.createElement(E.Formik,{initialValues:{name:"",description:q},onSubmit:pe,validationSchema:Re,validateOnChange:!1},({handleSubmit:ce,values:w,errors:re,handleReset:ke,handleChange:Ne})=>e.createElement(s.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(l.HeaderLayout,{primaryAction:e.createElement(l.Stack,{horizontal:!0,spacing:2},e.createElement(l.Button,{variant:"secondary",onClick:()=>{ke(),M.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(l.Button,{onClick:ce,loading:se,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(s.Link,{startIcon:e.createElement(c.ArrowLeft,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(l.Stack,{spacing:4},e.createElement(l.Flex,{justifyContent:"space-between"},e.createElement(l.Box,null,e.createElement(l.Box,null,e.createElement(l.Typography,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(l.Box,null,e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(Ue,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(l.Grid,{gap:4},e.createElement(l.GridItem,{col:6},e.createElement(l.TextInput,{name:"name",error:re.name&&j({id:re.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:Ne,value:w.name})),e.createElement(l.GridItem,{col:6},e.createElement(l.Textarea,{label:j({id:"global.description",defaultMessage:"Description"}),name:"description",error:re.description&&j({id:re.description}),onChange:Ne},w.description))))),!y&&!Pe?e.createElement(l.Box,{shadow:"filterShadow",hasRadius:!0},e.createElement(oe.Z,{isFormDisabled:!1,ref:M,permissions:Se,layout:me})):e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.LoadingIndicatorPage,null))))))))};function Oe(){return e.createElement(s.CheckPagePermissions,{permissions:ae.Z.settings.roles.create},e.createElement(Ie,null))}},56899:function(P,R){"use strict";R.Z=!1},68464:function(P,R){"use strict";R.Z=!1},32741:function(P,R){"use strict";R.Z=!1},19665:function(P,R){"use strict";R.Z=!1},36950:function(P,R){"use strict";R.Z=!1},96556:function(P,R){"use strict";R.Z=!1},51899:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(13478),s=t(72041),l=t(57269),c=t(39161),E=t(92891),K=t(58469),Q=t(5636),le=t(5141),$=t(8888),x=t(78522),De=t(80779),f=t(97889);const oe={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ae=(D,he)=>(0,f.default)(D,G=>{switch(he.type){case"ON_REMOVE_ROLES":{G.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{G.shouldRefetchData=!0,G.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{G.shouldRefetchData=!1,G.roleToDelete=null,G.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{G.roleToDelete=he.id;break}default:return G}});const be=()=>{(0,b.useFocusWhenNavigate)();const{isLoading:D,allowedActions:{canCreate:he,canDelete:G,canRead:j,canUpdate:se}}=(0,b.useRBAC)(s.Z.settings.roles),{getData:ie,roles:xe,isLoading:M}=(0,$.bF)(!1),[{query:k}]=(0,b.useQueryParams)(),X=k?._q||"",J=(0,K.ZP)(xe,X,{keys:["name","description"]});return(0,e.useEffect)(()=>{!D&&j&&ie()},[D,j,ie]),{isLoadingForPermissions:D,canCreate:he,canDelete:G,canRead:j,canUpdate:se,isLoading:M,getData:ie,sortedRoles:J,roles:xe}},ve=({getData:D,canCreate:he,canDelete:G,canUpdate:j})=>{const{formatMessage:se}=(0,Q.useIntl)(),ie=(0,b.useNotification)(),[xe,M]=(0,e.useState)(!1),{push:k}=(0,le.useHistory)(),[{selectedRoles:X,showModalConfirmButtonLoading:J,roleToDelete:y},me]=(0,e.useReducer)(ae,oe),{post:Se}=(0,b.getFetchClient)(),Pe=async()=>{try{me({type:"ON_REMOVE_ROLES"}),await Se("/admin/roles/batch-delete",{ids:[y]}),await D(),me({type:"RESET_DATA_TO_DELETE"})}catch(te){const ge=(0,E.get)(te,["response","payload","data","ids"],null);if(ge&&Array.isArray(ge)){const Ge=ge.join(`
178
- `);ie({type:"warning",message:Ge})}else ie({type:"warning",message:{id:"notification.error"}})}w()},pe=(0,e.useCallback)(te=>{k(`/settings/roles/duplicate/${te}`)},[k]),q=()=>k("/settings/roles/new"),ce=(0,e.useCallback)(te=>{me({type:"SET_ROLE_TO_DELETE",id:te}),w()},[]),w=()=>M(te=>!te),re=(0,e.useCallback)(te=>{k(`/settings/roles/${te}`)},[k]),ke=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),ge.usersCount?ie({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):ce(ge.id)},[ie,ce]),Ne=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),pe(ge.id)},[pe]),Ze=(0,e.useCallback)(te=>[...he?[{onClick:ge=>Ne(ge,te),label:se({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(l.Duplicate,null)}]:[],...j?[{onClick:()=>re(te.id),label:se({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(l.Pencil,null)}]:[],...G?[{onClick:ge=>ke(ge,te),label:se({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(l.Trash,null)}]:[]],[se,ke,Ne,re,he,j,G]);return{handleNewRoleClick:q,getIcons:Ze,selectedRoles:X,isWarningDeleteAllOpened:xe,showModalConfirmButtonLoading:J,handleToggleModal:w,handleDeleteData:Pe}};var Ue=()=>{const{formatMessage:D}=(0,Q.useIntl)(),{isLoadingForPermissions:he,canCreate:G,canRead:j,canDelete:se,canUpdate:ie,isLoading:xe,getData:M,sortedRoles:k}=be(),{handleNewRoleClick:X,getIcons:J,isWarningDeleteAllOpened:y,showModalConfirmButtonLoading:me,handleToggleModal:Se,handleDeleteData:Pe}=ve({getData:M,canCreate:G,canDelete:se,canUpdate:ie}),pe=k.length+1,q=6;if(he)return e.createElement(c.Main,null,e.createElement(b.LoadingIndicatorPage,null));const ce=D({id:"global.roles",defaultMessage:"roles"});return e.createElement(c.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(c.HeaderLayout,{primaryAction:G?e.createElement(c.Button,{onClick:X,startIcon:e.createElement(l.Plus,null),size:"S"},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:ce,subtitle:D({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),j&&e.createElement(c.ActionLayout,{startActions:e.createElement(b.SearchURLQuery,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ce})})}),j&&e.createElement(c.ContentLayout,null,e.createElement(c.Table,{colCount:q,rowCount:pe,footer:G?e.createElement(c.TFooter,{onClick:X,icon:e.createElement(l.Plus,null)},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(c.Thead,null,e.createElement(c.Tr,{"aria-rowindex":1},e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.name",defaultMessage:"Name"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.description",defaultMessage:"Description"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.users",defaultMessage:"Users"}))),e.createElement(c.Th,null,e.createElement(c.VisuallyHidden,null,D({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(c.Tbody,null,k?.map((w,re)=>e.createElement(De.Z,{key:w.id,id:w.id,name:w.name,description:w.description,usersCount:w.usersCount,icons:J(w),rowIndex:re+2})))),!pe&&!xe&&e.createElement(x.Z,null)),e.createElement(b.ConfirmDialog,{isOpen:y,onConfirm:Pe,isConfirmButtonLoading:me,onToggleDialog:Se}))},Oe=()=>e.createElement(b.CheckPagePermissions,{permissions:s.Z.settings.roles.main},e.createElement(Ue,null))},63775:function(P,R,t){"use strict";const e=[];strapi.features.isEnabled(strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),R.Z=e},84802:function(P){function R(t,e,b,s){for(var l=-1,c=t==null?0:t.length;++l<c;){var E=t[l];e(s,E,b(E),t)}return s}P.exports=R},62435:function(P,R,t){var e=t(56671);function b(s,l,c,E){return e(s,function(K,Q,le){l(E,K,c(K),le)}),E}P.exports=b},85580:function(P,R,t){var e=t(84802),b=t(62435),s=t(88904),l=t(77236);function c(E,K){return function(Q,le){var $=l(Q)?e:b,x=K?K():{};return $(Q,E,s(le,2),x)}}P.exports=c},3704:function(P,R,t){var e=t(40314),b=t(37213);function s(l,c){return e(b(l,c),1)}P.exports=s},81346:function(P,R,t){var e=t(40999),b=t(85580),s=Object.prototype,l=s.hasOwnProperty,c=b(function(E,K,Q){l.call(E,Q)?E[Q].push(K):e(E,Q,[K])});P.exports=c},37213:function(P,R,t){var e=t(26460),b=t(88904),s=t(52920),l=t(77236);function c(E,K){var Q=l(E)?e:s;return Q(E,b(K,3))}P.exports=c}}]);
177
+ `,Ie=()=>{const D=(0,a.useNotification)(),{lockApp:he,unlockApp:G}=(0,a.useOverlayBlocker)(),{formatMessage:j}=(0,x.useIntl)(),[ae,ie]=(0,e.useState)(!1),{replace:xe}=(0,De.useHistory)(),M=(0,e.useRef)(),{trackUsage:k}=(0,a.useTracking)(),X=(0,De.useRouteMatch)("/settings/roles/duplicate/:id"),J=Q()(X,"params.id",null),{isLoading:y,data:me}=(0,Ee.U_)(),{permissions:Se,isLoading:Pe}=(0,Ee.Dq)(J),pe=ce=>{he(),ie(!0),k(J?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,a.request)("/admin/roles",{method:"POST",body:ce})).then(async w=>{const{permissionsToSend:re}=M.current.getPermissions();return k(J?"didDuplicateRole":"didCreateNewRole"),w.data.id&&!$()(re)&&await(0,a.request)(`/admin/roles/${w.data.id}/permissions`,{method:"PUT",body:{permissions:re}}),w}).then(w=>{ie(!1),D({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),xe(`/settings/roles/${w.data.id}`)}).catch(w=>{console.error(w),ie(!1),D({type:"warning",message:{id:"notification.error"}})}).finally(()=>{G()})},q=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,b.format)(new Date,"PPP")}`;return e.createElement(l.Main,null,e.createElement(a.SettingsPageTitle,{name:"Roles"}),e.createElement(E.Formik,{initialValues:{name:"",description:q},onSubmit:pe,validationSchema:Re,validateOnChange:!1},({handleSubmit:ce,values:w,errors:re,handleReset:ke,handleChange:Ne})=>e.createElement(a.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(l.HeaderLayout,{primaryAction:e.createElement(l.Stack,{horizontal:!0,spacing:2},e.createElement(l.Button,{variant:"secondary",onClick:()=>{ke(),M.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(l.Button,{onClick:ce,loading:ae,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(a.Link,{startIcon:e.createElement(c.ArrowLeft,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(l.ContentLayout,null,e.createElement(l.Stack,{spacing:6},e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(l.Stack,{spacing:4},e.createElement(l.Flex,{justifyContent:"space-between"},e.createElement(l.Box,null,e.createElement(l.Box,null,e.createElement(l.Typography,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(l.Box,null,e.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(Ue,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(l.Grid,{gap:4},e.createElement(l.GridItem,{col:6},e.createElement(l.TextInput,{name:"name",error:re.name&&j({id:re.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:Ne,value:w.name})),e.createElement(l.GridItem,{col:6},e.createElement(l.Textarea,{label:j({id:"global.description",defaultMessage:"Description"}),name:"description",error:re.description&&j({id:re.description}),onChange:Ne},w.description))))),!y&&!Pe?e.createElement(l.Box,{shadow:"filterShadow",hasRadius:!0},e.createElement(oe.Z,{isFormDisabled:!1,ref:M,permissions:Se,layout:me})):e.createElement(l.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.LoadingIndicatorPage,null))))))))};function Oe(){return e.createElement(a.CheckPagePermissions,{permissions:se.Z.settings.roles.create},e.createElement(Ie,null))}},56899:function(P,R){"use strict";R.Z=!1},68464:function(P,R){"use strict";R.Z=!1},32741:function(P,R){"use strict";R.Z=!1},19665:function(P,R){"use strict";R.Z=!1},36950:function(P,R){"use strict";R.Z=!1},96556:function(P,R){"use strict";R.Z=!1},51899:function(P,R,t){"use strict";t.d(R,{Z:function(){return Oe}});var e=t(32735),b=t(13478),a=t(72041),l=t(57269),c=t(39161),E=t(92891),K=t(58469),Q=t(5636),le=t(5141),$=t(8888),x=t(78522),De=t(80779),f=t(97889);const oe={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var se=(D,he)=>(0,f.default)(D,G=>{switch(he.type){case"ON_REMOVE_ROLES":{G.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{G.shouldRefetchData=!0,G.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{G.shouldRefetchData=!1,G.roleToDelete=null,G.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{G.roleToDelete=he.id;break}default:return G}});const be=()=>{(0,b.useFocusWhenNavigate)();const{isLoading:D,allowedActions:{canCreate:he,canDelete:G,canRead:j,canUpdate:ae}}=(0,b.useRBAC)(a.Z.settings.roles),{getData:ie,roles:xe,isLoading:M}=(0,$.bF)(!1),[{query:k}]=(0,b.useQueryParams)(),X=k?._q||"",J=(0,K.ZP)(xe,X,{keys:["name","description"]});return(0,e.useEffect)(()=>{!D&&j&&ie()},[D,j,ie]),{isLoadingForPermissions:D,canCreate:he,canDelete:G,canRead:j,canUpdate:ae,isLoading:M,getData:ie,sortedRoles:J,roles:xe}},ve=({getData:D,canCreate:he,canDelete:G,canUpdate:j})=>{const{formatMessage:ae}=(0,Q.useIntl)(),ie=(0,b.useNotification)(),[xe,M]=(0,e.useState)(!1),{push:k}=(0,le.useHistory)(),[{selectedRoles:X,showModalConfirmButtonLoading:J,roleToDelete:y},me]=(0,e.useReducer)(se,oe),{post:Se}=(0,b.getFetchClient)(),Pe=async()=>{try{me({type:"ON_REMOVE_ROLES"}),await Se("/admin/roles/batch-delete",{ids:[y]}),await D(),me({type:"RESET_DATA_TO_DELETE"})}catch(te){const ge=(0,E.get)(te,["response","payload","data","ids"],null);if(ge&&Array.isArray(ge)){const Ge=ge.join(`
178
+ `);ie({type:"warning",message:Ge})}else ie({type:"warning",message:{id:"notification.error"}})}w()},pe=(0,e.useCallback)(te=>{k(`/settings/roles/duplicate/${te}`)},[k]),q=()=>k("/settings/roles/new"),ce=(0,e.useCallback)(te=>{me({type:"SET_ROLE_TO_DELETE",id:te}),w()},[]),w=()=>M(te=>!te),re=(0,e.useCallback)(te=>{k(`/settings/roles/${te}`)},[k]),ke=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),ge.usersCount?ie({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):ce(ge.id)},[ie,ce]),Ne=(0,e.useCallback)((te,ge)=>{te.preventDefault(),te.stopPropagation(),pe(ge.id)},[pe]),Ze=(0,e.useCallback)(te=>[...he?[{onClick:ge=>Ne(ge,te),label:ae({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(l.Duplicate,null)}]:[],...j?[{onClick:()=>re(te.id),label:ae({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(l.Pencil,null)}]:[],...G?[{onClick:ge=>ke(ge,te),label:ae({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(l.Trash,null)}]:[]],[ae,ke,Ne,re,he,j,G]);return{handleNewRoleClick:q,getIcons:Ze,selectedRoles:X,isWarningDeleteAllOpened:xe,showModalConfirmButtonLoading:J,handleToggleModal:w,handleDeleteData:Pe}};var Ue=()=>{const{formatMessage:D}=(0,Q.useIntl)(),{isLoadingForPermissions:he,canCreate:G,canRead:j,canDelete:ae,canUpdate:ie,isLoading:xe,getData:M,sortedRoles:k}=be(),{handleNewRoleClick:X,getIcons:J,isWarningDeleteAllOpened:y,showModalConfirmButtonLoading:me,handleToggleModal:Se,handleDeleteData:Pe}=ve({getData:M,canCreate:G,canDelete:ae,canUpdate:ie}),pe=k.length+1,q=6;if(he)return e.createElement(c.Main,null,e.createElement(b.LoadingIndicatorPage,null));const ce=D({id:"global.roles",defaultMessage:"roles"});return e.createElement(c.Main,null,e.createElement(b.SettingsPageTitle,{name:"Roles"}),e.createElement(c.HeaderLayout,{primaryAction:G?e.createElement(c.Button,{onClick:X,startIcon:e.createElement(l.Plus,null),size:"S"},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:ce,subtitle:D({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),j&&e.createElement(c.ActionLayout,{startActions:e.createElement(b.SearchURLQuery,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ce})})}),j&&e.createElement(c.ContentLayout,null,e.createElement(c.Table,{colCount:q,rowCount:pe,footer:G?e.createElement(c.TFooter,{onClick:X,icon:e.createElement(l.Plus,null)},D({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(c.Thead,null,e.createElement(c.Tr,{"aria-rowindex":1},e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.name",defaultMessage:"Name"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.description",defaultMessage:"Description"}))),e.createElement(c.Th,null,e.createElement(c.Typography,{variant:"sigma",textColor:"neutral600"},D({id:"global.users",defaultMessage:"Users"}))),e.createElement(c.Th,null,e.createElement(c.VisuallyHidden,null,D({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(c.Tbody,null,k?.map((w,re)=>e.createElement(De.Z,{key:w.id,id:w.id,name:w.name,description:w.description,usersCount:w.usersCount,icons:J(w),rowIndex:re+2})))),!pe&&!xe&&e.createElement(x.Z,null)),e.createElement(b.ConfirmDialog,{isOpen:y,onConfirm:Pe,isConfirmButtonLoading:me,onToggleDialog:Se}))},Oe=()=>e.createElement(b.CheckPagePermissions,{permissions:a.Z.settings.roles.main},e.createElement(Ue,null))},63775:function(P,R,t){"use strict";const e=[];strapi.features.isEnabled(strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),R.Z=e},84802:function(P){function R(t,e,b,a){for(var l=-1,c=t==null?0:t.length;++l<c;){var E=t[l];e(a,E,b(E),t)}return a}P.exports=R},62435:function(P,R,t){var e=t(56671);function b(a,l,c,E){return e(a,function(K,Q,le){l(E,K,c(K),le)}),E}P.exports=b},85580:function(P,R,t){var e=t(84802),b=t(62435),a=t(88904),l=t(77236);function c(E,K){return function(Q,le){var $=l(Q)?e:b,x=K?K():{};return $(Q,E,a(le,2),x)}}P.exports=c},3704:function(P,R,t){var e=t(40314),b=t(37213);function a(l,c){return e(b(l,c),1)}P.exports=a},81346:function(P,R,t){var e=t(40999),b=t(85580),a=Object.prototype,l=a.hasOwnProperty,c=b(function(E,K,Q){l.call(E,Q)?E[Q].push(K):e(E,Q,[K])});P.exports=c},37213:function(P,R,t){var e=t(26460),b=t(88904),a=t(52920),l=t(77236);function c(E,K){var Q=l(E)?e:a;return Q(E,b(K,3))}P.exports=c}}]);