@strapi/admin 4.6.1 → 4.9.0-alpha.0

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 (196) hide show
  1. package/admin/src/assets/images/onboarding-preview.png +0 -0
  2. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +4 -14
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
  4. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  5. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
  6. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
  7. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +4 -12
  8. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +6 -8
  9. package/admin/src/content-manager/pages/ListView/index.js +6 -11
  10. package/admin/src/index.js +1 -0
  11. package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
  12. package/admin/src/pages/Admin/Onboarding/index.js +161 -89
  13. package/admin/src/pages/Admin/index.js +5 -2
  14. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +15 -2
  15. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
  16. package/admin/src/permissions/defaultPermissions.js +2 -15
  17. package/admin/src/translations/ar.json +4 -4
  18. package/admin/src/translations/ca.json +4 -4
  19. package/admin/src/translations/cs.json +4 -4
  20. package/admin/src/translations/de.json +4 -4
  21. package/admin/src/translations/dk.json +4 -4
  22. package/admin/src/translations/en.json +14 -5
  23. package/admin/src/translations/es.json +4 -4
  24. package/admin/src/translations/eu.json +4 -4
  25. package/admin/src/translations/fr.json +4 -4
  26. package/admin/src/translations/gu.json +4 -4
  27. package/admin/src/translations/he.json +4 -4
  28. package/admin/src/translations/hi.json +4 -4
  29. package/admin/src/translations/hu.json +4 -4
  30. package/admin/src/translations/id.json +4 -4
  31. package/admin/src/translations/it.json +4 -4
  32. package/admin/src/translations/ja.json +4 -4
  33. package/admin/src/translations/ko.json +4 -4
  34. package/admin/src/translations/ml.json +4 -4
  35. package/admin/src/translations/ms.json +4 -4
  36. package/admin/src/translations/nl.json +4 -4
  37. package/admin/src/translations/no.json +4 -4
  38. package/admin/src/translations/pl.json +4 -4
  39. package/admin/src/translations/pt-BR.json +4 -4
  40. package/admin/src/translations/pt.json +4 -4
  41. package/admin/src/translations/ru.json +785 -789
  42. package/admin/src/translations/sa.json +4 -4
  43. package/admin/src/translations/sk.json +4 -4
  44. package/admin/src/translations/sv.json +4 -4
  45. package/admin/src/translations/th.json +4 -4
  46. package/admin/src/translations/tr.json +4 -4
  47. package/admin/src/translations/uk.json +4 -4
  48. package/admin/src/translations/vi.json +4 -4
  49. package/admin/src/translations/zh-Hans.json +4 -4
  50. package/admin/src/translations/zh.json +4 -4
  51. package/build/1683.d59d0f23.chunk.js +268 -0
  52. package/build/19eb2dfcf2603eb55733.png +0 -0
  53. package/build/{4855.bd092921.chunk.js → 2223.1bfea951.chunk.js} +88 -88
  54. package/build/2743.646a1015.chunk.js +45 -0
  55. package/build/3075.3ee481f1.chunk.js +108 -0
  56. package/build/3632.2e378cf8.chunk.js +138 -0
  57. package/build/{4318.f96a9d4d.chunk.js → 4318.cd55ce02.chunk.js} +1 -1
  58. package/build/9707.b36ed71e.chunk.js +96 -0
  59. package/build/Admin-authenticatedApp.a73577e1.chunk.js +79 -0
  60. package/build/{Admin_InternalErrorPage.157152a8.chunk.js → Admin_InternalErrorPage.178ddb90.chunk.js} +1 -1
  61. package/build/{Admin_homePage.b1730882.chunk.js → Admin_homePage.c2f5f27d.chunk.js} +2 -2
  62. package/build/{Admin_marketplace.ea0316c2.chunk.js → Admin_marketplace.1df49c42.chunk.js} +1 -1
  63. package/build/{Admin_pluginsPage.5c24f963.chunk.js → Admin_pluginsPage.8d824408.chunk.js} +2 -2
  64. package/build/{Admin_profilePage.59af1978.chunk.js → Admin_profilePage.cb667bc5.chunk.js} +2 -2
  65. package/build/Admin_settingsPage.f90615fb.chunk.js +178 -0
  66. package/build/{Upload_ConfigureTheView.3f2b6e6a.chunk.js → Upload_ConfigureTheView.d306009d.chunk.js} +1 -1
  67. package/build/admin-app.06f07029.chunk.js +112 -0
  68. package/build/admin-edit-roles-page.35199b9d.chunk.js +1 -0
  69. package/build/admin-edit-users.9e48b00d.chunk.js +10 -0
  70. package/build/admin-users.cf7b4151.chunk.js +11 -0
  71. package/build/{api-tokens-create-page.d248362d.chunk.js → api-tokens-create-page.a31c7fba.chunk.js} +1 -1
  72. package/build/{api-tokens-edit-page.8516fa20.chunk.js → api-tokens-edit-page.64fef287.chunk.js} +1 -1
  73. package/build/{api-tokens-list-page.44a79fda.chunk.js → api-tokens-list-page.e600ad3e.chunk.js} +2 -2
  74. package/build/ar-json.39e54aba.chunk.js +1 -0
  75. package/build/{audit-logs-settings-page.c3dce30d.chunk.js → audit-logs-settings-page.d4da4579.chunk.js} +1 -1
  76. package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
  77. package/build/content-manager.255c3a59.chunk.js +1139 -0
  78. package/build/{content-type-builder-list-view.79e84b36.chunk.js → content-type-builder-list-view.8d7a3d68.chunk.js} +5 -5
  79. package/build/content-type-builder.3c8558a5.chunk.js +126 -0
  80. package/build/cs-json.4b44411c.chunk.js +1 -0
  81. package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
  82. package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
  83. package/build/email-settings-page.b19f2eb2.chunk.js +10 -0
  84. package/build/en-json.1997583c.chunk.js +1 -0
  85. package/build/es-json.ea15c957.chunk.js +1 -0
  86. package/build/{eu-json.fceecd8b.chunk.js → eu-json.3bc24d60.chunk.js} +1 -1
  87. package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
  88. package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
  89. package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
  90. package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
  91. package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
  92. package/build/{i18n-settings-page.b8d8753e.chunk.js → i18n-settings-page.a6b49eac.chunk.js} +1 -1
  93. package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
  94. package/build/index.html +1 -1
  95. package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
  96. package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
  97. package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
  98. package/build/main.7f308c20.js +4322 -0
  99. package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
  100. package/build/ms-json.0eddffd9.chunk.js +1 -0
  101. package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
  102. package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
  103. package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
  104. package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
  105. package/build/pt-json.ee554a41.chunk.js +1 -0
  106. package/build/review-workflows-settings.7b4be1b0.chunk.js +63 -0
  107. package/build/{ru-json.aa5cd123.chunk.js → ru-json.866f0ff1.chunk.js} +1 -1
  108. package/build/runtime~main.bf374148.js +2 -0
  109. package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
  110. package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
  111. package/build/{sso-settings-page.b85ad080.chunk.js → sso-settings-page.ad2143dd.chunk.js} +1 -1
  112. package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
  113. package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
  114. package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
  115. package/build/uk-json.b7e38370.chunk.js +1 -0
  116. package/build/upload-settings.eb1a7908.chunk.js +84 -0
  117. package/build/upload.700e2c84.chunk.js +33 -0
  118. package/build/{users-advanced-settings-page.fce9908e.chunk.js → users-advanced-settings-page.aae212f2.chunk.js} +1 -1
  119. package/build/{users-email-settings-page.343d0ad2.chunk.js → users-email-settings-page.8a9b0da1.chunk.js} +1 -1
  120. package/build/{users-providers-settings-page.e5a9a3f1.chunk.js → users-providers-settings-page.e6be909d.chunk.js} +10 -10
  121. package/build/{users-roles-settings-page.66312f31.chunk.js → users-roles-settings-page.97d06a80.chunk.js} +3 -3
  122. package/build/vi-json.ee4c5537.chunk.js +1 -0
  123. package/build/webhook-edit-page.9eb0f789.chunk.js +75 -0
  124. package/build/webhook-list-page.66082323.chunk.js +42 -0
  125. package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
  126. package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
  127. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  128. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  129. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +137 -0
  130. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  131. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  132. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  133. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  134. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  135. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +77 -0
  136. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  137. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  138. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +63 -0
  139. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  140. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +102 -0
  141. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  142. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  143. package/ee/admin/permissions/customPermissions.js +7 -0
  144. package/ee/server/bootstrap.js +7 -1
  145. package/ee/server/config/admin-actions.js +10 -0
  146. package/ee/server/constants/default-stages.json +14 -0
  147. package/ee/server/constants/default-workflow.json +1 -0
  148. package/ee/server/constants/workflows.js +7 -0
  149. package/ee/server/content-types/index.js +9 -0
  150. package/ee/server/content-types/workflow/index.js +34 -0
  151. package/ee/server/content-types/workflow-stage/index.js +36 -0
  152. package/ee/server/controllers/index.js +2 -0
  153. package/ee/server/controllers/workflows/index.js +36 -0
  154. package/ee/server/controllers/workflows/stages/index.js +57 -0
  155. package/ee/server/index.js +1 -0
  156. package/ee/server/routes/index.js +87 -0
  157. package/ee/server/services/index.js +3 -0
  158. package/ee/server/services/review-workflows/review-workflows.js +54 -0
  159. package/ee/server/services/review-workflows/stages.js +133 -0
  160. package/ee/server/services/review-workflows/workflows.js +25 -0
  161. package/ee/server/utils/index.js +8 -0
  162. package/ee/server/utils/test.js +11 -0
  163. package/ee/server/validation/review-workflows.js +17 -0
  164. package/package.json +15 -15
  165. package/server/config/admin-actions.js +0 -16
  166. package/server/controllers/admin.js +0 -55
  167. package/server/routes/admin.js +0 -28
  168. package/webpack.config.js +0 -3
  169. package/build/1683.c8aa7b7c.chunk.js +0 -268
  170. package/build/2743.6d1632f9.chunk.js +0 -45
  171. package/build/3075.dc3894fe.chunk.js +0 -108
  172. package/build/3632.0317b618.chunk.js +0 -138
  173. package/build/9707.7290fd92.chunk.js +0 -96
  174. package/build/Admin-authenticatedApp.ce646f66.chunk.js +0 -75
  175. package/build/Admin_settingsPage.d1493824.chunk.js +0 -178
  176. package/build/admin-app.25934eaa.chunk.js +0 -112
  177. package/build/admin-edit-roles-page.446b69dc.chunk.js +0 -1
  178. package/build/admin-edit-users.2ed69bfd.chunk.js +0 -10
  179. package/build/admin-users.fc003b10.chunk.js +0 -11
  180. package/build/ar-json.932794f7.chunk.js +0 -1
  181. package/build/content-manager.35ff9726.chunk.js +0 -1139
  182. package/build/content-type-builder.855db321.chunk.js +0 -126
  183. package/build/cs-json.79879fb6.chunk.js +0 -1
  184. package/build/email-settings-page.d1fcc7a3.chunk.js +0 -10
  185. package/build/en-json.1f137a90.chunk.js +0 -1
  186. package/build/es-json.e275481d.chunk.js +0 -1
  187. package/build/main.7b151630.js +0 -4377
  188. package/build/ms-json.db87d8d3.chunk.js +0 -1
  189. package/build/pt-json.62927d1e.chunk.js +0 -1
  190. package/build/runtime~main.a20d633b.js +0 -2
  191. package/build/uk-json.b2fcd567.chunk.js +0 -1
  192. package/build/upload-settings.ef64bbf9.chunk.js +0 -84
  193. package/build/upload.c5730dfa.chunk.js +0 -33
  194. package/build/vi-json.f08d7d03.chunk.js +0 -1
  195. package/build/webhook-edit-page.73e51e64.chunk.js +0 -75
  196. package/build/webhook-list-page.1134f130.chunk.js +0 -42
@@ -1,75 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{19782:function(j,T,t){t.r(T),t.d(T,{default:function(){return xt}});var e=t(32735),i=t(88425),P=t(84968),h=t(33795),Q=t.n(h),x={i8:"4.6.1"},f=t(8888),d=t(5141),A=t(4409),v=t(74506),F=t(51968),z=t(88311),$=t.n(z),Ie=t(58107),M=t(83292),Pe=t(60216),r=t.n(Pe),U=t(5636),xe=t(71933),se=t(67563),y=t(87933),L=t(72850),Y=t(27677),Ae=t(50563),ie=t(41415),Le=t(35331);const Oe=(0,M.default)(y.k)`
2
- position: fixed;
3
- z-index: 4;
4
- inset: 0;
5
- /* this is theme.colors.neutral800 with opacity */
6
- background: ${({theme:n})=>`${n.colors.neutral800}1F`};
7
- `,re=({onClose:n,onSkip:a,children:o,hideSkip:s})=>{const{formatMessage:u}=(0,U.useIntl)();return e.createElement(xe.h,null,e.createElement(Oe,{onClick:n,padding:8,justifyContent:"center"},e.createElement(se.i,{onEscape:n},e.createElement(Y.K,{background:"neutral0",width:(0,i.pxToRem)(660),shadow:"popupShadow",hasRadius:!0,padding:4,spacing:8,role:"dialog","aria-modal":!0,onClick:c=>c.stopPropagation()},e.createElement(y.k,{justifyContent:"flex-end"},e.createElement(Ae.h,{onClick:n,"aria-label":u({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(Le.default,null)})),e.createElement(L.x,{paddingLeft:7,paddingRight:7,paddingBottom:s?8:0},o),!s&&e.createElement(y.k,{justifyContent:"flex-end"},e.createElement(ie.z,{variant:"tertiary",onClick:a},u({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};re.propTypes={children:r().node.isRequired,onClose:r().func.isRequired,onSkip:r().func.isRequired,hideSkip:r().bool.isRequired};var De=re,le=t(97889);const ce={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1};var Be=(n=ce,a)=>(0,le.default)(n,o=>{switch(a.type){case"UPDATE_MODAL":{o.stepContent=a.content,o.sectionIndex=a.newSectionIndex,o.stepIndex=a.newStepIndex,o.hasSectionAfter=a.newHasSectionAfter,o.hasStepAfter=a.newHasStepAfter;break}default:return o}}),O=t(49372),de=t(8482);const Ge=M.default.li`
8
- list-style: disc;
9
- &::marker {
10
- color: ${({theme:n})=>n.colors.neutral800};
11
- }
12
- `,ue=({id:n,defaultMessage:a})=>{const{formatMessage:o}=(0,U.useIntl)();return e.createElement(Y.K,{spacing:4,paddingBottom:6},o({id:n,defaultMessage:a},{documentationLink:s=>e.createElement(O.Z,{as:"a",textColor:"primary600",target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters"},s),b:s=>e.createElement(O.Z,{fontWeight:"semiBold"},s),p:s=>e.createElement(O.Z,null,s),light:s=>e.createElement(O.Z,{textColor:"neutral600"},s),ul:s=>e.createElement(L.x,{paddingLeft:6},e.createElement("ul",null,s)),li:s=>e.createElement(Ge,null,s)}))};ue.propTypes={id:r().string.isRequired,defaultMessage:r().string.isRequired};var Ne=ue,J=t(78024),ke=t(14317);const X=({number:n,last:a,type:o})=>e.createElement(L.x,{paddingTop:3,paddingBottom:a?0:3},e.createElement(ke.Z,{number:n,type:o}));X.defaultProps={number:void 0,last:!1,type:""},X.propTypes={number:r().number,last:r().bool,type:r().string};var pe=X,b=t(23678);const w=({title:n,content:a,cta:o,onCtaClick:s,sectionIndex:u,stepIndex:c,hasSectionAfter:m})=>{const{formatMessage:g}=(0,U.useIntl)(),E=u>0,p=c>0,C=u+1;return e.createElement(e.Fragment,null,e.createElement(y.k,{alignItems:"stretch"},e.createElement(y.k,{marginRight:8,justifyContent:"center",minWidth:(0,i.pxToRem)(30)},E&&e.createElement(J.Z,{type:b.hx,minHeight:(0,i.pxToRem)(24)})),e.createElement(O.Z,{variant:"sigma",textColor:"primary600"},g({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(y.k,null,e.createElement(y.k,{marginRight:8,minWidth:(0,i.pxToRem)(30)},e.createElement(pe,{number:u+1,type:p?b.hx:b.lW})),e.createElement(O.Z,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},g(n))),e.createElement(y.k,{alignItems:"stretch"},e.createElement(y.k,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,i.pxToRem)(30)},m&&e.createElement(e.Fragment,null,e.createElement(J.Z,{type:b.hx}),p&&e.createElement(pe,{number:C+1,type:b.lW,last:!0}))),e.createElement(L.x,null,e.createElement(Ne,{...a}),o&&(o.target?e.createElement(i.LinkButton,{endIcon:e.createElement(de.Z,null),onClick:s,to:o.target},g(o.title)):e.createElement(ie.z,{endIcon:e.createElement(de.Z,null),onClick:s},g(o.title))))),p&&m&&e.createElement(L.x,{paddingTop:3},e.createElement(y.k,{marginRight:8,justifyContent:"center",width:(0,i.pxToRem)(30)},e.createElement(J.Z,{type:b.hx,minHeight:(0,i.pxToRem)(24)}))))};w.defaultProps={currentStep:null,cta:void 0},w.propTypes={sectionIndex:r().number.isRequired,stepIndex:r().number.isRequired,hasSectionAfter:r().bool.isRequired,content:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,cta:r().shape({target:r().string,title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired})}),currentStep:r().string,onCtaClick:r().func.isRequired,title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired};var Ue=w,be=()=>{const{currentStep:n,guidedTourState:a,setCurrentStep:o,setStepState:s,isGuidedTourVisible:u,setSkipped:c}=(0,i.useGuidedTour)(),[m,g]=(0,e.useState)(n),[{stepContent:E,sectionIndex:p,stepIndex:C,hasSectionAfter:G,hasStepAfter:D},K]=(0,e.useReducer)(Be,ce),{trackUsage:W}=(0,i.useTracking)();(0,e.useEffect)(()=>{if(!n){g(!1);return}const[N]=$()(a,n);g(!N&&u)},[n,a,u]),(0,e.useEffect)(()=>{if(n){const[N]=$()(Ie.Z,n),B=Object.keys(a),[I,l]=n.split("."),k=B.indexOf(I),H=Object.keys(a[I]).indexOf(l),ne=k<B.length-1,ae=H<Object.keys(a[I]).length-1;K({type:"UPDATE_MODAL",content:N,newSectionIndex:k,newStepIndex:H,newHasSectionAfter:ne,newHasStepAfter:ae})}},[n,a]);const S=()=>{s(n,!0),W(E.trackingEvent),o(null)},Z=()=>{c(!0),o(null),W("didSkipGuidedtour")};return m&&E?e.createElement(De,{hideSkip:!D&&!G,onSkip:Z,onClose:S},e.createElement(Ue,{...E,onCtaClick:S,currentStep:n,sectionIndex:p,stepIndex:C,hasSectionAfter:G})):null},We=t(9026),Fe=t(15300),$e=t(61450),Ke=t(1897),q=t(78464),me=t(42889),Ze=t(25390),je=t(64838),ze=t(9371),Ve=t(73165),He=t(92967);const Qe=(0,M.default)(L.x)`
13
- width: ${150/16}rem;
14
- position: absolute;
15
- bottom: ${({theme:n})=>n.spaces[9]};
16
- left: ${({theme:n})=>n.spaces[5]};
17
- `,ge=(0,M.default)(d.NavLink)`
18
- display: flex;
19
- justify-content: space-between;
20
- align-items: center;
21
- text-decoration: none;
22
- padding: ${({theme:n})=>`${n.spaces[2]} ${n.spaces[4]}`};
23
- border-radius: ${({theme:n})=>n.spaces[1]};
24
-
25
- &:hover {
26
- background: ${({theme:n,logout:a})=>a?n.colors.danger100:n.colors.primary100};
27
- text-decoration: none;
28
- }
29
-
30
- svg {
31
- path {
32
- fill: ${({theme:n})=>n.colors.danger600};
33
- }
34
- }
35
- `,he=({generalSectionLinks:n,pluginsSectionLinks:a})=>{const o=(0,e.useRef)(),[s,u]=(0,e.useState)(!1),{logos:{menu:c}}=(0,f.um)(),[m,g]=(0,i.usePersistentState)("navbar-condensed",!1),{userDisplayName:E}=(0,i.useAppInfos)(),{formatMessage:p}=(0,U.useIntl)(),{trackUsage:C}=(0,i.useTracking)(),{pathname:G}=(0,d.useLocation)(),D=(0,d.useHistory)(),{post:K}=(0,i.getFetchClient)(),W=E.split(" ").map(l=>l.substring(0,1)).join("").substring(0,2),S=()=>u(l=>!l),Z=async()=>{await K("/admin/logout"),i.auth.clearAppStorage(),S(),D.push("/auth/login")},N=l=>{!l.currentTarget.contains(l.relatedTarget)&&l.relatedTarget?.parentElement?.id!=="main-nav-user-button"&&u(!1)},B=(l=null)=>{C("willNavigate",{from:G,to:l})},I=p({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement(Fe.$,{condensed:m},e.createElement($e.D,{as:d.NavLink,workplace:p({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:I,icon:e.createElement("img",{src:c.custom||c.default,alt:p({id:"app.components.LeftMenu.logo.alt",defaultMessage:"Application logo"})})}),e.createElement(We.i,null),e.createElement(Ke._,null,e.createElement(q.O,{as:d.NavLink,to:"/content-manager",icon:e.createElement(Ve.Z,null),onClick:()=>B("/content-manager")},p({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(me.y,{label:p({id:"app.components.LeftMenu.plugins",defaultMessage:"Plugins"})},a.map(l=>{const k=l.icon;return e.createElement(q.O,{as:d.NavLink,to:l.to,key:l.to,icon:e.createElement(k,null),onClick:()=>B(l.to)},p(l.intlLabel))})):null,n.length>0?e.createElement(me.y,{label:p({id:"app.components.LeftMenu.general",defaultMessage:"General"})},n.map(l=>{const k=l.icon;return e.createElement(q.O,{as:d.NavLink,badgeContent:l.notificationsCount>0&&l.notificationsCount.toString()||void 0,to:l.to,key:l.to,icon:e.createElement(k,null),onClick:()=>B(l.to)},p(l.intlLabel))})):null),e.createElement(Ze.q,null,e.createElement(je.r,{id:"main-nav-user-button",ref:o,onClick:S,initials:W},E),s&&e.createElement(Qe,{onBlur:N,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(se.i,{onEscape:S},e.createElement(Y.K,{spacing:0},e.createElement(ge,{tabIndex:0,onClick:S,to:"/me"},e.createElement(O.Z,null,p({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(ge,{tabIndex:0,onClick:Z,logout:"logout",to:"/auth/login"},e.createElement(O.Z,{textColor:"danger600"},p({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(He.Z,null))))),e.createElement(ze.w,{onClick:()=>g(l=>!l)},p(m?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"}))))};he.propTypes={generalSectionLinks:r().array.isRequired,pluginsSectionLinks:r().array.isRequired};var Ye=he,Je=t(10728);const Xe=(0,M.default)(L.x)`
36
- flex: 1;
37
- `,fe=({children:n,sideNav:a})=>{const{formatMessage:o}=(0,U.useIntl)();return e.createElement(L.x,{background:"neutral100"},e.createElement(Je.z,null,o({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(y.k,{alignItems:"flex-start"},a,e.createElement(Xe,null,n)))};fe.propTypes={children:r().node.isRequired,sideNav:r().node.isRequired};var we=fe,_=t(64421),qe=t(26648),R=t(39161),V=t(57269);const _e=(0,M.default)(R.Box)`
38
- position: fixed;
39
- bottom: ${({theme:n})=>n.spaces[2]};
40
- right: ${({theme:n})=>n.spaces[2]};
41
- `,et=(0,M.default)(R.Box)`
42
- width: ${({theme:n})=>n.spaces[8]};
43
- height: ${({theme:n})=>n.spaces[8]};
44
- background: ${({theme:n})=>n.colors.primary600};
45
- box-shadow: ${({theme:n})=>n.shadows.tableShadow};
46
- border-radius: 50%;
47
-
48
- svg path {
49
- fill: ${({theme:n})=>n.colors.buttonNeutral0};
50
- }
51
- `,tt=(0,M.default)(R.Box)`
52
- bottom: ${({theme:n})=>`${n.spaces[9]}`};
53
- min-width: ${200/16}rem;
54
- position: absolute;
55
- right: 0;
56
- `,nt=(0,M.default)(R.Flex)`
57
- text-decoration: none;
58
-
59
- svg path {
60
- fill: ${({theme:n})=>n.colors.neutral600};
61
- }
62
-
63
- &:focus,
64
- &:hover {
65
- background: ${({theme:n})=>n.colors.neutral100};
66
-
67
- svg path {
68
- fill: ${({theme:n})=>n.colors.neutral700};
69
- }
70
-
71
- ${[R.Typography]} {
72
- color: ${({theme:n})=>n.colors.neutral700};
73
- }
74
- }
75
- `;var at=()=>{const[n,a]=(0,e.useState)(!1),{formatMessage:o}=(0,U.useIntl)(),{showTutorials:s}=(0,f.um)();if(!s)return null;const u=[{Icon:e.createElement(V.Book,null),label:o({id:"global.documentation",defaultMessage:"Documentation"}),destination:"https://docs.strapi.io"},{Icon:e.createElement(V.Information,null),label:o({id:"app.static.links.cheatsheet",defaultMessage:"CheatSheet"}),destination:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf"}],c=()=>{a(m=>!m)};return e.createElement(_e,{as:"aside"},e.createElement(et,{as:"button",id:"onboarding","aria-label":o(n?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:c},e.createElement(R.Icon,{as:n?V.Cross:V.Question,height:(0,i.pxToRem)(16),width:(0,i.pxToRem)(16)})),n&&e.createElement(R.FocusTrap,{onEscape:c},e.createElement(tt,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",padding:2},u.map(m=>e.createElement(nt,{as:"a",key:m.label,rel:"nofollow noreferrer noopener",target:"_blank",href:m.destination,padding:2,hasRadius:!0,alignItems:"center"},e.createElement(R.Stack,{horizontal:!0,spacing:2},m.Icon,e.createElement(R.Typography,{color:"neutral600"},m.label)))))))};const ot=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(2607),t.e(4855),t.e(994)]).then(t.bind(t,39573))),st=(0,e.lazy)(()=>t.e(3981).then(t.bind(t,52567))),it=(0,e.lazy)(()=>t.e(3677).then(t.bind(t,15415))),rt=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(5516)]).then(t.bind(t,42052))),Ee=(0,e.lazy)(()=>Promise.resolve().then(t.bind(t,53951))),lt=(0,e.lazy)(()=>t.e(9501).then(t.bind(t,92336))),ct=(0,e.lazy)(()=>t.e(9497).then(t.bind(t,9972))),ye=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(3632),t.e(5895)]).then(t.bind(t,96822))),dt=()=>{const{trackUsage:n}=(0,i.useTracking)(),a=(0,A.useDispatch)(),o=(0,A.useSelector)(s=>s.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(n("didAccessAuthenticatedAdministration"),a({type:qe.e}))},[o])};var ut=()=>{dt();const{isLoading:n,generalSectionLinks:a,pluginsSectionLinks:o}=(0,f.H9)(),{menu:s}=(0,i.useStrapiApp)(),u=(0,e.useMemo)(()=>s.filter(c=>c.Component).map(({to:c,Component:m,exact:g})=>(0,_.ot)(m,c,g)),[s]);return n?e.createElement(i.LoadingIndicatorPage,null):e.createElement(v.DndProvider,{backend:F.PD},e.createElement(we,{sideNav:e.createElement(Ye,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(i.LoadingIndicatorPage,null)},e.createElement(d.Switch,null,e.createElement(d.Route,{path:"/",component:st,exact:!0}),e.createElement(d.Route,{path:"/me",component:ct,exact:!0}),e.createElement(d.Route,{path:"/content-manager",component:ot}),u,e.createElement(d.Route,{path:"/settings/:settingId",component:ye}),e.createElement(d.Route,{path:"/settings",component:ye,exact:!0}),e.createElement(d.Route,{path:"/marketplace"},e.createElement(rt,null)),e.createElement(d.Route,{path:"/list-plugins",exact:!0},e.createElement(it,null)),e.createElement(d.Route,{path:"/404",component:Ee}),e.createElement(d.Route,{path:"/500",component:lt}),e.createElement(d.Route,{path:"",component:Ee}))),e.createElement(be,null),e.createElement(at,null)))},pt=n=>({plugins:Object.keys(n).reduce((a,o)=>(a[o]={...n[o]},a),{})}),mt=t(3040),gt=t.n(mt);const Te={plugins:null};var ht=(n=Te,a)=>(0,le.default)(n,o=>{switch(a.type){case"SET_PLUGIN_READY":{gt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),ft=()=>{const{plugins:n}=(0,i.useStrapiApp)(),[{plugins:a},o]=(0,e.useReducer)(ht,Te,()=>pt(n)),s=(0,e.useRef)(c=>{o({type:"SET_PLUGIN_READY",pluginId:c})});if(Object.keys(a).some(c=>a[c].isReady===!1)){const c=Object.keys(a).reduce((m,g)=>{const E=a[g].initializer;if(E){const p=a[g].pluginId;m.push(e.createElement(E,{key:p,setPlugin:s.current}))}return m},[]);return e.createElement(e.Fragment,null,c,e.createElement(i.LoadingIndicatorPage,null))}return e.createElement(ut,null)},ve=t(17367);const Et=()=>({type:ve.l}),yt=n=>({type:ve.m,permissions:n}),Ce=({children:n,permissions:a,refetchPermissions:o})=>{const{allPermissions:s}=(0,A.useSelector)(c=>c.rbacProvider),u=(0,A.useDispatch)();return(0,e.useEffect)(()=>(u(yt(a)),()=>{u(Et())}),[a,u]),s?e.createElement(i.RBACProviderContext.Provider,{value:{allPermissions:s,refetchPermissions:o}},n):e.createElement(i.LoadingIndicatorPage,null)};Ce.propTypes={children:r().element.isRequired,permissions:r().array.isRequired,refetchPermissions:r().func.isRequired};var Tt=Ce,vt=t(55721),Ct=t(54770),ee=t.n(Ct),Me=(n,a)=>!ee().valid(n)||!ee().valid(a)?!1:ee().lt(n,a);const Re=x.i8,Mt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:te}=(0,i.getFetchClient)(),Rt=async n=>{try{const{data:{tag_name:a}}=await vt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return Me(Re,a)&&Mt&&n({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Re}},St=async()=>{try{const{data:n,headers:a}=await te("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return n.data}catch(n){throw new Error(n)}},It=async()=>{try{const{data:n,headers:a}=await te("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return n.data}catch(n){throw new Error(n)}},Pt=async()=>{try{const{data:{data:{roles:n}}}=await te("/admin/users/me");return n}catch(n){throw new Error(n)}},Se=x.i8;var xt=()=>{const{setGuidedTourVisibility:n}=(0,i.useGuidedTour)(),a=(0,i.useNotification)(),o=(0,e.useRef)(n),s=i.auth.getUserInfo(),u=Q()(s,"username")||(0,_.Pp)(s.firstname,s.lastname),[c,m]=(0,e.useState)(u),[g,E]=(0,e.useState)(null),{showReleaseNotification:p}=(0,f.um)(),[{data:C,status:G},{data:D,isLoading:K},{data:W,status:S,refetch:Z,isFetched:N,isFetching:B},{data:I}]=(0,P.useQueries)([{queryKey:"app-infos",queryFn:St},{queryKey:"strapi-release",queryFn:()=>Rt(a),enabled:p,initialData:Se},{queryKey:"admin-users-permission",queryFn:It,initialData:[]},{queryKey:"user-roles",queryFn:Pt}]),l=(0,e.useMemo)(()=>Me(Se,D),[D]);(0,e.useEffect)(()=>{I&&I.find(({code:oe})=>oe==="strapi-super-admin")&&C?.autoReload&&o.current(!0)},[I,C]),(0,e.useEffect)(()=>{(async()=>{const oe=await(0,_.Qy)(s);E(oe)})()},[s]);const H=K||(B&&N||G==="loading"||S==="loading"),ne=(0,e.useMemo)(()=>({...C,userId:g,latestStrapiReleaseTag:D,setUserDisplayName:m,shouldUpdateStrapi:l,userDisplayName:c}),[C,D,l,c,g]);return H?e.createElement(i.LoadingIndicatorPage,null):G==="error"?e.createElement("div",null,"error..."):e.createElement(i.AppInfosContext.Provider,{value:ne},e.createElement(Tt,{permissions:W,refetchPermissions:Z},e.createElement(ft,null)))}},78024:function(j,T,t){var e=t(32735),i=t(60216),P=t.n(i),h=t(88425),Q=t.n(h),x=t(72850),f=t(23678);const d=({type:A,...v})=>e.createElement(x.x,{width:(0,h.pxToRem)(2),height:"100%",background:A===f.VM?"neutral300":"primary500",hasRadius:!0,...v});d.defaultProps={type:f.VM},d.propTypes={type:P().oneOf([f.lW,f.hx,f.VM])},T.Z=d},14317:function(j,T,t){var e=t(32735),i=t(60216),P=t.n(i),h=t(88425),Q=t.n(h),x=t(87933),f=t(49372),d=t(99140),A=t(66456),v=t(23678);const F=({type:z,number:$})=>z===v.hx?e.createElement(x.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,h.pxToRem)(30),height:(0,h.pxToRem)(30),justifyContent:"center"},e.createElement(d.J,{as:A.Z,"aria-hidden":!0,width:(0,h.pxToRem)(16),color:"neutral0"})):z===v.lW?e.createElement(x.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,h.pxToRem)(30),height:(0,h.pxToRem)(30),justifyContent:"center"},e.createElement(f.Z,{fontWeight:"semiBold",textColor:"neutral0"},$)):e.createElement(x.k,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,h.pxToRem)(30),height:(0,h.pxToRem)(30),justifyContent:"center"},e.createElement(f.Z,{fontWeight:"semiBold",textColor:"neutral600"},$));F.defaultProps={number:void 0,type:v.VM},F.propTypes={number:P().number,type:P().oneOf([v.lW,v.hx,v.VM])},T.Z=F},23678:function(j,T,t){t.d(T,{VM:function(){return P},hx:function(){return i},lW:function(){return e}});const e="isActive",i="isDone",P="isNotDone"},58107:function(j,T){const t={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};T.Z=t}}]);
@@ -1,178 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{96822:function(_,v,t){t.r(v),t.d(v,{SettingsPage:function(){return kt},default:function(){return St}});var e=t(32735),S=t(88425),i=t(5141),re=t(96709),X=t(5636),je=t(99357),ae=t(8888),be=t(64421),De=t(84968),Te=t(28356),Ke=t(17e3),V=t(27649),x=t(72850),R=t(15335),ye=t(5803),U=t(49372),Be=t(27677),W=t(41415),se=t(41502),I=t(47361),Ne=t(66456),Q=t(72041),$e=t(60216),p=t.n($e);const de=750,Ae=100,xe=["image/jpeg","image/png","image/svg+xml"];var We=t(23272),Xe=t(68387),Ge=t(98779),Qe=t(50563),tt=t(19406),nt=t(44647),ot=t(85025),q=t(55225),ie=t(97889);const ke={localImage:void 0};var fe=(m=ke,u)=>(0,ie.default)(m,g=>{switch(u.type){case"SET_LOCAL_IMAGE":{g.localImage=u.value;break}default:return g}});const $=({onChangeLogo:m,customLogo:u,goTo:g,Component:E,modalTitle:P,next:O,prev:G,currentStep:w})=>{const[{localImage:pe},Y]=(0,e.useReducer)(fe,ke),{formatMessage:me}=(0,X.useIntl)(),K=ve=>{Y({type:"SET_LOCAL_IMAGE",value:ve})},Oe=()=>{g(null)};return w?e.createElement(ot.P,{labelledBy:"modal",onClose:Oe},e.createElement(q.x,null,e.createElement(U.Z,{fontWeight:"bold",as:"h2",id:"modal"},me(P))),e.createElement(E,{setLocalImage:K,goTo:g,next:O,prev:G,onClose:Oe,asset:pe||u,onChangeLogo:m})):null};$.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},$.propTypes={Component:p().elementType,currentStep:p().string,customLogo:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}),goTo:p().func.isRequired,modalTitle:p().shape({id:p().string,defaultMessage:p().string}),next:p().string,onChangeLogo:p().func.isRequired,prev:p().string};var ee=$;const ce={currentStep:void 0};var Ie=(m=ce,u)=>(0,ie.default)(m,g=>{switch(u.type){case"GO_TO":{g.currentStep=u.to;break}default:return g}}),Me=t(35540),le=t(39291),he=t(3653),ze=t(9026),h=t(83292),Pe=t(87933),He=t(99140),A=t(11406),B=t(98275),j=t(87107),ne=t(47851),Z=t(47284);const Ce={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},Ee={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)"},Ye=m=>new Promise(u=>{const g=new FileReader;g.onload=()=>{const E=new Image;E.onload=function(){u({width:E.width,height:E.height})},E.src=g.result},g.readAsDataURL(m)}),Ve=(m,u)=>({ext:m.name.split(".").pop(),size:m.size/1e3,name:m.name,url:URL.createObjectURL(m),rawFile:m,width:u.width,height:u.height}),L=async m=>{let u;if(!xe.includes(m.type))throw u=new Error("File format"),u.displayMessage=Ce,u;const E=await Ye(m);if(!(E.width<=de&&E.height<=de))throw u=new Error("File sizing"),u.displayMessage=Ee,u;const O=Ve(m,E);if(!(O.size<=Ae))throw u=new Error("File sizing"),u.displayMessage=Ee,u;return O},ue=(0,h.default)(B._)`
2
- opacity: 0;
3
- position: absolute;
4
- top: 0;
5
- bottom: 0;
6
- left: 0;
7
- right: 0;
8
- z-index: 1;
9
- `,at=({setLocalImage:m,goTo:u,next:g,onClose:E})=>{const{formatMessage:P}=(0,X.useIntl)(),[O,G]=(0,e.useState)(!1),[w,pe]=(0,e.useState)(void 0),Y=(0,e.useRef)(null),me=()=>G(!0),K=()=>G(!1),Oe=Je=>{Je.preventDefault(),Y.current.click()},ve=async()=>{K();const Je=Y.current.files[0];if(Je)try{const qe=await L(Je);m(qe),u(g)}catch(qe){if(qe.displayMessage)pe(P(qe.displayMessage,{size:Ae,dimension:de})),Y.current.focus();else throw qe}},Ze=()=>O?"primary500":w?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(j.g,{name:"logo-upload",error:w},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(Be.K,{spacing:2},e.createElement(Pe.k,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:O?"primary100":"neutral100",borderColor:Ze(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:me,onDragLeave:K},e.createElement(He.J,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:Z.Z,"aria-hidden":!0}),e.createElement(x.x,{paddingTop:3,paddingBottom:5},e.createElement(U.Z,{variant:"delta",as:"span"},P({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(ue,{accept:xe,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:ve,ref:Y,id:"logo-upload"}),e.createElement(W.z,{type:"button",onClick:Oe},P({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(x.x,{paddingTop:6},e.createElement(U.Z,{variant:"pi",textColor:"neutral600"},P({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:Ae,dimension:de})))),e.createElement(ne.c,null)))))),e.createElement(A.m,{startActions:e.createElement(W.z,{onClick:E,variant:"tertiary"},P({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};at.defaultProps={next:null},at.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var Tt=at,At=t(10369),it=t(55721),ft=async m=>{try{const u=await it.Z.get(m,{responseType:"blob",timeout:8e3});return new File([u.data],u.config.url,{type:u.headers["content-type"]})}catch(u){throw u.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},u}};const xt=({goTo:m,next:u,onClose:g,setLocalImage:E})=>{const{formatMessage:P}=(0,X.useIntl)(),[O,G]=(0,e.useState)(""),[w,pe]=(0,e.useState)(null),Y=K=>{G(K.target.value)},me=async()=>{try{const K=await ft(O),Oe=await L(K);E(Oe),m(u)}catch(K){if(K.displayMessage)pe(P(K.displayMessage,{size:Ae,dimension:de}));else throw K}};return e.createElement("form",{onSubmit:K=>{K.preventDefault(),me()}},e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(At.o,{label:P({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:w,onChange:Y,value:O,name:"logo-url"})),e.createElement(A.m,{startActions:e.createElement(W.z,{onClick:g,variant:"tertiary"},P({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(W.z,{type:"submit"},P({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};xt.defaultProps={next:null},xt.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var st=xt;const Mt=({setLocalImage:m,goTo:u,next:g,onClose:E})=>{const{formatMessage:P}=(0,X.useIntl)();return e.createElement(Me.v,{label:P({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(x.x,{paddingLeft:8,paddingRight:8},e.createElement(le.m,null,e.createElement(le.O,null,P({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(le.O,null,P({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(ze.i,null)),e.createElement(he.n,null,e.createElement(he.x,null,e.createElement(Tt,{onClose:E,setLocalImage:m,goTo:u,next:g})),e.createElement(he.x,null,e.createElement(st,{onClose:E,setLocalImage:m,goTo:u,next:g}))))};Mt.defaultProps={next:null},Mt.propTypes={goTo:p().func.isRequired,next:p().string,onClose:p().func.isRequired,setLocalImage:p().func.isRequired};var Vt=Mt,wt=t(42466),vn=t(20853),lt=t(2800),Sn=t(26835),rt=t(41048),ht=t(37083),Et=t(11505);const yt=({asset:m})=>{const{formatMessage:u}=(0,X.useIntl)();return e.createElement(wt.Z,null,e.createElement(vn.O,null,e.createElement(lt.H,{size:"S",src:m.url})),e.createElement(Sn.e,null,e.createElement(rt.a,null,e.createElement(ht.l,null,m.name),e.createElement(ht._,null,`${m.ext.toUpperCase()} - ${m.width}\u2715${m.height}`)),e.createElement(Et.E,null,u({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};yt.propTypes={asset:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}).isRequired};var Kt=yt;const ut=({onClose:m,asset:u,prev:g,next:E,goTo:P,setLocalImage:O,onChangeLogo:G})=>{const{formatMessage:w}=(0,X.useIntl)(),pe=()=>{O(void 0),P(g)},Y=()=>{G(u),P(E)};return e.createElement(e.Fragment,null,e.createElement(x.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Pe.k,{justifyContent:"space-between",paddingBottom:6},e.createElement(Pe.k,{direction:"column",alignItems:"flex-start"},e.createElement(U.Z,{variant:"pi",fontWeight:"bold"},w({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(U.Z,{variant:"pi",textColor:"neutral500"},w({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(W.z,{onClick:pe,variant:"secondary"},w({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(x.x,{maxWidth:(0,S.pxToRem)(180)},e.createElement(Kt,{asset:u}))),e.createElement(A.m,{startActions:e.createElement(W.z,{onClick:m,variant:"tertiary"},w({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(W.z,{onClick:Y},w({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};ut.defaultProps={next:null,prev:null},ut.propTypes={goTo:p().func.isRequired,asset:p().shape({name:p().string,url:p().string,width:p().number,height:p().number,ext:p().string}).isRequired,next:p().string,onClose:p().func.isRequired,onChangeLogo:p().func.isRequired,prev:p().string,setLocalImage:p().func.isRequired};var Lt=ut,Qt={upload:{Component:Vt,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Lt,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const mt=({canUpdate:m,customLogo:u,defaultLogo:g,hint:E,label:P,onChangeLogo:O,onResetLogo:G})=>{const[{currentStep:w},pe]=(0,e.useReducer)(Ie,ce),{Component:Y,next:me,prev:K,modalTitle:Oe}=Qt[w]||{},{formatMessage:ve}=(0,X.useIntl)(),Ze=Je=>{pe({type:"GO_TO",to:Je})};return e.createElement(e.Fragment,null,e.createElement(We.F,{label:P,selectedSlide:0,hint:E,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:u?.name||"logo.png",actions:e.createElement(Xe.b,null,e.createElement(Qe.h,{disabled:!m,onClick:()=>Ze(u?"pending":"upload"),label:ve({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(tt.default,null)}),u&&e.createElement(Qe.h,{disabled:!m,onClick:G,label:ve({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(nt.Z,null)}))},e.createElement(Ge.q,{label:ve({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(x.x,{maxHeight:"40%",maxWidth:"40%",as:"img",src:u?.url||g,alt:ve({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(ee,{Component:Y,currentStep:w,onChangeLogo:O,customLogo:u,goTo:Ze,next:me,prev:K,modalTitle:Oe}))};mt.defaultProps={canUpdate:!1,customLogo:null,hint:null},mt.propTypes={canUpdate:p().bool,customLogo:p().shape({url:p().string,name:p().string}),label:p().string.isRequired,hint:p().string,defaultLogo:p().string.isRequired,onChangeLogo:p().func.isRequired,onResetLogo:p().func.isRequired};var Dt=mt;const It={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var Pt=(m=It,u)=>(0,ie.default)(m,g=>{switch(u.type){case"SET_CUSTOM_MENU_LOGO":{g.menuLogo.display=u.value,g.menuLogo.submit.rawFile=u.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{g.authLogo.display=u.value,g.authLogo.submit.rawFile=u.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{g.menuLogo.display=null,g.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{g.authLogo.display=null,g.authLogo.submit={rawFile:null,isReset:!0};break}default:return g}}),Yt=t(86349),Ot=t.n(Yt),Jt=(m,u)=>Ot()(m,{menuLogo:{display:u.menuLogo},authLogo:{display:u.authLogo}});const Ft=(0,e.forwardRef)(({canUpdate:m,projectSettingsStored:u},g)=>{const{formatMessage:E}=(0,X.useIntl)(),{trackUsage:P}=(0,S.useTracking)(),{logos:{menu:O,auth:G}}=(0,ae.um)(),[{menuLogo:w,authLogo:pe},Y]=(0,e.useReducer)(Pt,It,()=>Jt(It,u)),me=Ze=>{Y({type:"SET_CUSTOM_MENU_LOGO",value:Ze})},K=()=>{P("didClickResetLogo",{logo:"menu"}),Y({type:"RESET_CUSTOM_MENU_LOGO"})},Oe=Ze=>{Y({type:"SET_CUSTOM_AUTH_LOGO",value:Ze})},ve=()=>{P("didClickResetLogo",{logo:"auth"}),Y({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(g,()=>({getValues:()=>({menuLogo:w.submit,authLogo:pe.submit})})),e.createElement(x.x,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(U.Z,{variant:"delta",as:"h3"},E({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(U.Z,{variant:"pi",textColor:"neutral600"},E({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:de,size:Ae})),e.createElement(R.r,{paddingTop:4,gap:4},e.createElement(ye.P,{col:6,s:12},e.createElement(Dt,{canUpdate:m,customLogo:w.display,defaultLogo:O.default,hint:E({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:E({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:me,onResetLogo:K})),e.createElement(ye.P,{col:6,s:12},e.createElement(Dt,{canUpdate:m,customLogo:pe.display,defaultLogo:G.default,hint:E({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:E({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:Oe,onResetLogo:ve}))))});Ft.defaultProps={canUpdate:!1,projectSettingsStored:null},Ft.propTypes={canUpdate:p().bool,projectSettingsStored:p().shape({menuLogo:p().shape({url:p().string,name:p().string})})};var Bt=Ft,Tn=t(48344),qt=t.n(Tn),Nt=m=>qt()(m,(u,g,E)=>{g&&g.url?u[E]={...g,url:(0,S.prefixFileUrlWithBackendUrl)(g.url)}:u[E]=g},{});const _t=async()=>{const{get:m}=(0,S.getFetchClient)(),{data:u}=await m("/admin/project-settings");return Nt(u)},Ct=async m=>{const{post:u}=(0,S.getFetchClient)(),{data:g}=await u("/admin/project-settings",m,{headers:{"Content-Type":"multipart/form-data"}});return Nt(g)};var $t=m=>{const u=new FormData;return Object.entries(m).forEach(([g,E])=>{E&&E.rawFile instanceof File&&u.append(g,E.rawFile),E&&E.isReset&&u.append(g,null)}),u},tn=()=>{const m=(0,e.useRef)(),u=(0,S.useNotification)(),{trackUsage:g}=(0,S.useTracking)(),{formatMessage:E}=(0,X.useIntl)(),P=(0,De.useQueryClient)();(0,S.useFocusWhenNavigate)();const O=(0,S.useAppInfos)(),{shouldUpdateStrapi:G,latestStrapiReleaseTag:w,strapiVersion:pe}=O,{updateProjectSettings:Y}=(0,ae.um)(),{allowedActions:{canRead:me,canUpdate:K}}=(0,S.useRBAC)(Q.Z.settings["project-settings"]),Oe=me&&K,{data:ve}=(0,De.useQuery)("project-settings",_t,{enabled:me}),Ze=O.communityEdition?"app.components.UpgradePlanModal.text-ce":"app.components.UpgradePlanModal.text-ee",Je=(0,De.useMutation)(dt=>Ct(dt),{async onSuccess({menuLogo:dt,authLogo:pt}){await P.invalidateQueries("project-settings",{refetchActive:!0}),Y({menuLogo:dt?.url,authLogo:pt?.url})}}),qe=dt=>{if(dt.preventDefault(),!K)return;const pt=m.current.getValues(),mn=$t(pt);Je.mutate(mn,{onSuccess(){const{menuLogo:pn,authLogo:gn}=pt;pn.rawFile&&g("didChangeLogo",{logo:"menu"}),gn.rawFile&&g("didChangeLogo",{logo:"auth"}),u({type:"success",message:E({id:"app",defaultMessage:"Saved"})})},onError(){u({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(re.A,null,e.createElement(S.SettingsPageTitle,{name:"Application"}),e.createElement(V.o,null,e.createElement("form",{onSubmit:qe},e.createElement(Te.T,{title:E({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:E({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:Oe&&e.createElement(W.z,{type:"submit",startIcon:e.createElement(Ne.Z,null)},E({id:"global.save",defaultMessage:"Save"}))}),e.createElement(Ke.D,null,e.createElement(Be.K,{spacing:6},e.createElement(Be.K,{spacing:5,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(U.Z,{variant:"delta",as:"h3"},E({id:"global.details",defaultMessage:"Details"})),e.createElement(R.r,{paddingTop:1},e.createElement(ye.P,{col:6,s:12},e.createElement(U.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(U.Z,{as:"p"},"v",pe),e.createElement(se.r,{href:O.communityEdition?"https://discord.strapi.io":"https://support.strapi.io/support/home",isExternal:!0,endIcon:e.createElement(I.Z,null)},E({id:"Settings.application.get-help",defaultMessage:"Get help"}))),e.createElement(ye.P,{col:6,s:12},e.createElement(U.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(U.Z,{as:"p"},E({id:Ze,defaultMessage:`${O.communityEdition?"Community Edition":"Enterprise Edition"}`})))),e.createElement(R.r,{paddingTop:1},e.createElement(ye.P,{col:6,s:12},G&&e.createElement(se.r,{href:`https://github.com/strapi/strapi/releases/tag/${w}`,isExternal:!0,endIcon:e.createElement(I.Z,null)},E({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"}))),e.createElement(ye.P,{col:6,s:12},e.createElement(se.r,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(I.Z,null)},E({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(x.x,{paddingTop:1},e.createElement(U.Z,{variant:"sigma",textColor:"neutral600"},E({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(U.Z,{as:"p"},O.nodeVersion))),me&&ve&&e.createElement(Bt,{canUpdate:K,ref:m,projectSettingsStored:ve}))))))},nn=t(3704),on=t.n(nn),an=m=>on()(m,g=>g.links).map(g=>(0,be.ot)(g.Component,g.to,g.exact||!1)),sn=m=>m.filter(u=>!u.links.every(g=>g.isDisplayed===!1));const jt=(()=>window&&window.strapi&&window.strapi.isEE?t(20178).Z:t(16329).Z)(),Ln=(()=>window&&window.strapi&&window.strapi.isEE?t(51899).Z:t(45677).Z)();var zt=[{Component(){return{default:Ln}},to:"/settings/roles",exact:!0},{Component(){return{default:jt}},to:"/settings/roles/duplicate/:id",exact:!0},{Component(){return{default:jt}},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,74767))},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(8633),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(8633),t.e(4318),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0}],rn=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...zt],vt=t(90700),dn=t(8598),cn=t(77013),Ut=t(79318),un=t(66618);const Wt=({menu:m})=>{const{formatMessage:u}=(0,X.useIntl)(),E=sn(m).map(O=>({...O,title:O.intlLabel,links:O.links.map(G=>({...G,title:G.intlLabel,name:G.id}))})),P=u({id:"global.settings",defaultMessage:"Settings"});return e.createElement(vt.m,{ariaLabel:P},e.createElement(dn.p,{label:P}),e.createElement(cn.Z,null,E.map(O=>e.createElement(Ut.D,{key:O.id,label:u(O.intlLabel)},O.links.map(G=>e.createElement(un.E,{as:i.NavLink,withBullet:G.hasNotification,to:G.to,key:G.id},u(G.intlLabel)))))))};Wt.propTypes={menu:p().array.isRequired};var Gt=Wt;function kt(){const{settingId:m}=(0,i.useParams)(),{settings:u}=(0,S.useStrapiApp)(),{formatMessage:g}=(0,X.useIntl)(),{isLoading:E,menu:P}=(0,ae.Te)(),O=(0,e.useMemo)(()=>(0,be.WW)(rn.map(({to:pe,Component:Y,exact:me})=>(0,be.ot)(Y,pe,me))),[]),G=an(u);if(E)return e.createElement(S.LoadingIndicatorPage,null);if(!m)return e.createElement(i.Redirect,{to:"/settings/application-infos"});const w=g({id:"global.settings",defaultMessage:"Settings"});return e.createElement(re.A,{sideNav:e.createElement(Gt,{menu:P})},e.createElement(je.Helmet,{title:w}),e.createElement(i.Switch,null,e.createElement(i.Route,{path:"/settings/application-infos",component:tn,exact:!0}),O,G))}var St=(0,e.memo)(kt)},16329:function(_,v,t){var e=t(32735),S=t(5141);const i=()=>e.createElement(S.Redirect,{to:"/404"});v.Z=i},49466:function(_,v){v.Z=!0},35123:function(_,v){v.Z=!0},18318:function(_,v){v.Z=!0},52124:function(_,v){v.Z=!0},61526:function(_,v){v.Z=!0},78974:function(_,v,t){t.d(v,{Z:function(){return fo}});var e=t(32735),S=t(60216),i=t.n(S),re=t(88425),X=t(35540),je=t(39291),ae=t(3653),be=t(23973),De=t.n(be),Te=t(86834),Ke=t.n(Te),V=t(5636),x=t(72850),R=t(83292),ye=t(98978),U=t.n(ye),Be=t(96441),W=t(15974),se=t(44426),I=t(87933),Ne=t(33795),Q=t.n(Ne),$e=t(9086),p=t.n($e),de=t(8888),Ae=t(45112),xe=t(41415);const We=R.default.div`
10
- position: relative;
11
-
12
- ${({hasConditions:o,disabled:n,theme:a})=>o&&`
13
- &:before {
14
- content: '';
15
- position: absolute;
16
- top: -3px;
17
- left: -10px;
18
- width: 6px;
19
- height: 6px;
20
- border-radius: ${20/16}rem;;
21
- background: ${n?a.colors.neutral100:a.colors.primary600};
22
- }
23
- `}
24
- `,Xe=({onClick:o,className:n,hasConditions:a,variant:s})=>{const{formatMessage:l}=(0,V.useIntl)();return e.createElement(We,{hasConditions:a,className:n},e.createElement(xe.z,{variant:s,startIcon:e.createElement(Ae.Z,null),onClick:o},l({id:"global.settings",defaultMessage:"Settings"})))};Xe.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},Xe.propTypes={onClick:i().func.isRequired,className:i().string,hasConditions:i().bool,variant:i().string};var Ge=(0,R.default)(Xe)``,Qe=t(85025),tt=t(55225),nt=t(31600),ot=t(11406),q=t(11299),ie=t(49372),ke=t(97889),M=t(81346),fe=t.n(M),$=t(23940),ee=t.n($),ce=t(27799);const te=o=>Object.values(o).map(n=>Object.entries(n).filter(([,a])=>a).map(([a])=>a)).flat(),Ie=o=>o.reduce((n,[a,s])=>(n.push({label:ee()(a),children:s.map(l=>({label:l.displayName,value:l.id}))}),n),[]),Me=(o,n)=>o.map(([,a])=>a).flat().reduce((a,s)=>({[s.id]:n.includes(s.id),...a}),{}),le=(()=>window&&window.strapi&&window.strapi.isEE?t(56899).Z:t(49466).Z)(),he=o=>{let{arrayOfOptionsGroupedByCategory:n,isFormDisabled:a,isGrey:s,label:l,name:r,onChange:d,value:c}=o;const{formatMessage:f}=(0,V.useIntl)(),y=C=>{d(r,Me(n,C))};return e.createElement(I.k,{as:"li",background:s?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(I.k,{paddingLeft:6,style:{width:180}},e.createElement(ie.Z,{variant:"sigma",textColor:"neutral600"},f({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(ie.Z,{variant:"sigma",title:l,textColor:"primary600",ellipsis:!0},f({id:`Settings.roles.form.permissions.${l.toLowerCase()}`,defaultMessage:l})),e.createElement(ie.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",f({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(x.x,{style:{maxWidth:430,width:"100%"}},e.createElement(ce.Q,{id:r,customizeContent:C=>`${C.length} currently selected`,onChange:y,value:te(c),options:Ie(n),disabled:a||le})))};he.propTypes={arrayOfOptionsGroupedByCategory:i().array.isRequired,isFormDisabled:i().bool.isRequired,isGrey:i().bool.isRequired,label:i().string.isRequired,name:i().string.isRequired,value:i().object.isRequired,onChange:i().func.isRequired};var ze=he,h=t(92891);const Pe=(o,n)=>o.reduce((a,s)=>(a[s.id]=(0,h.get)(n,s.id,!1),a),{}),He=(o,n)=>o.reduce((a,s)=>{const[l,r]=s,d=Pe(r,n);return a[l]=d,a},{});var B=(o,n,a)=>o.reduce((s,l)=>{const r=(0,h.get)(n,[...l.pathToConditionsObject,"conditions"],{}),d=He(a,r);return s[l.pathToConditionsObject.join("..")]=d,s},{});const j=({actions:o,headerBreadCrumbs:n,isFormDisabled:a,onClosed:s,onToggle:l})=>{const{formatMessage:r}=(0,V.useIntl)(),{availableConditions:d,modifiedData:c,onChangeConditions:f}=(0,de.$_)(),y=(0,e.useMemo)(()=>Object.entries(fe()(d,"category")),[d]),C=o.filter(({isDisplayed:b,hasSomeActionsSelected:F,hasAllActionsSelected:z})=>b&&(F||z)),T=(0,e.useMemo)(()=>B(C,c,y),[C,c,y]),[D,J]=(0,e.useState)(T),N=(b,F)=>{J((0,ke.default)(z=>{z[b]||(z[b]={}),z[b].default||(z[b].default={}),z[b].default=F}))},k=()=>{const b=Object.entries(D).reduce((F,z)=>{const[H,oe]=z,Fe=Object.values(oe).reduce((Se,ge)=>({...Se,...ge}),{});return F[H]=Fe,F},{});f(b),l()};return e.createElement(Qe.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(tt.x,null,e.createElement(q.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(b=>e.createElement(q.$,{key:b},ee()(r({id:b,defaultMessage:b})))))),e.createElement(nt.f,null,C.length===0&&e.createElement(ie.Z,null,r({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,C.map(({actionId:b,label:F,pathToConditionsObject:z},H)=>{const oe=z.join("..");return e.createElement(ze,{key:b,arrayOfOptionsGroupedByCategory:y,label:F,isFormDisabled:a,isGrey:H%2===0,name:oe,onChange:N,value:Q()(D,oe,{})})}))),e.createElement(ot.m,{startActions:e.createElement(xe.z,{variant:"tertiary",onClick:l},r({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(xe.z,{onClick:k},r({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};j.propTypes={actions:i().arrayOf(i().shape({actionId:i().string.isRequired,checkboxName:i().string,hasSomeActionsSelected:i().bool.isRequired,hasAllActionsSelected:i().bool,isDisplayed:i().bool.isRequired,label:i().string})).isRequired,headerBreadCrumbs:i().arrayOf(i().string).isRequired,isFormDisabled:i().bool.isRequired,onClosed:i().func.isRequired,onToggle:i().func.isRequired};var ne=j;const Z=`${120/16}rem`,Ce=`${200/16}rem`,Ee=`${53/16}rem`;var Ve=R.default.div`
25
- width: ${Z};
26
- `,ue=(0,R.default)(I.k)`
27
- padding-right: ${({theme:o})=>o.spaces[2]};
28
- overflow: hidden;
29
- flex: 1;
30
- ${({isCollapsable:o})=>o&&"cursor: pointer;"}
31
- `;const at=({children:o,isCollapsable:n,isActive:a,isFormDisabled:s,label:l,onChange:r,onClick:d,checkboxName:c,someChecked:f,value:y})=>{const{formatMessage:C}=(0,V.useIntl)();return e.createElement(I.k,{alignItems:"center",paddingLeft:6,style:{width:Ce,flexShrink:0}},e.createElement(x.x,{paddingRight:2},e.createElement(se.C,{name:c,"aria-label":C({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:l}),disabled:s,onValueChange:T=>r({target:{name:c,value:T}}),indeterminate:f,value:y})),e.createElement(ue,{title:l,alignItems:"center",isCollapsable:n,...n&&{onClick:d,"aria-expanded":a,onKeyDown:({key:T})=>(T==="Enter"||T===" ")&&d(),tabIndex:0,role:"button"}},e.createElement(ie.Z,{fontWeight:a?"bold":"",textColor:a?"primary600":"neutral800",ellipsis:!0},ee()(l)),o))};at.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},at.propTypes={checkboxName:i().string,children:i().node,label:i().string.isRequired,isCollapsable:i().bool,isFormDisabled:i().bool.isRequired,onChange:i().func,onClick:i().func.isRequired,someChecked:i().bool,value:i().bool,isActive:i().bool.isRequired};var Tt=(0,e.memo)(at);const At=o=>(0,h.isObject)(o)?(0,h.flattenDeep)(Object.values(o).map(n=>(0,h.isObject)(n)?At(n):n)):[];var it=At,ft=o=>o?Object.keys(o).reduce((n,a)=>(a!=="conditions"&&(n[a]=o[a]),n),{}):null,st=o=>{const n=ft(o),a=it(n);if(!a.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=a.every(r=>r),l=a.some(r=>r)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:l}},Vt=(o,n,a)=>o.map(({actionId:s,isDisplayed:l,applyToProperties:r,label:d})=>{if(!l)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:l};const c=[...a.split(".."),s],f=(0,h.isEmpty)(r)?[...c,"properties","enabled"]:c,y=f.join(".."),C=(0,h.get)(n,[...c,"conditions"],null),T=it(C).some(k=>k);if((0,h.isEmpty)(r)){const k=(0,h.get)(n,f,!1);return{actionId:s,checkboxName:y,hasAllActionsSelected:k,hasConditions:T,hasSomeActionsSelected:k,isDisplayed:l,isParentCheckbox:!1,label:d,pathToConditionsObject:c}}const D=(0,h.get)(n,f,null),{hasAllActionsSelected:J,hasSomeActionsSelected:N}=st(D);return{actionId:s,checkboxName:y,hasAllActionsSelected:J,hasConditions:T,hasSomeActionsSelected:N,isDisplayed:l,isParentCheckbox:!0,label:d,pathToConditionsObject:c}}),wt=t(16899),lt=(0,R.default)(wt.default)`
32
- display: none;
33
- width: ${10/16}rem;
34
- transform: rotate(${({$isActive:o})=>o?"180":"0"}deg);
35
- margin-left: ${({theme:o})=>o.spaces[2]};
36
- `,rt=o=>`
37
- ${ie.Z} {
38
- color: ${o.colors.primary600};
39
- font-weight: ${o.fontWeights.bold}
40
- }
41
- ${lt} {
42
- display: block;
43
- path {
44
- fill: ${o.colors.primary600}
45
- };
46
- }
47
- `;const ht=(()=>window&&window.strapi&&window.strapi.isEE?t(68464).Z:t(35123).Z)(),Et=(o,n)=>`
48
- ${yt} {
49
- background-color: ${o.colors.primary100};
50
- color: ${o.colors.primary600};
51
- border-radius: ${n?"2px 2px 0 0":"2px"};
52
- }
53
- ${Lt} {
54
- display: flex;
55
- }
56
- ${Ge} {
57
- display: block;
58
- }
59
- &:hover {
60
- ${rt(o)}
61
- }
62
-
63
- &:focus-within {
64
- ${a=>{let{theme:s,isActive:l}=a;return Et(s,l)}}
65
- }
66
-
67
- `,yt=R.default.div.withConfig({displayName:"Collapse__Wrapper",componentId:"sc-132fji1-0"})(["flex:1;display:flex;align-items:center;height:",";background-color:",";border:1px solid transparent;"],Ee,o=>{let{isGrey:n,theme:a}=o;return n?a.colors.neutral100:a.colors.neutral0}),Kt=R.default.div.withConfig({displayName:"Collapse__BoxWrapper",componentId:"sc-132fji1-1"})(["display:inline-flex;min-width:100%;","{display:none;}"," &:hover{","}"],Ge,o=>{let{isActive:n,theme:a}=o;return n&&Et(a,n)},o=>{let{theme:n,isActive:a}=o;return Et(n,a)}),ut=(0,R.default)(I.k).withConfig({displayName:"Collapse__Cell",componentId:"sc-132fji1-2"})(["width:",";position:relative;"],Z),Lt=(0,R.default)(x.x).withConfig({displayName:"Collapse__Chevron",componentId:"sc-132fji1-3"})(["display:none;svg{width:11px;}*{fill:",";}"],o=>{let{theme:n}=o;return n.colors.primary600}),Xt=R.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}),Qt=(0,R.default)(x.x).withConfig({displayName:"Collapse__AbsoluteBox",componentId:"sc-132fji1-5"})(["position:absolute;right:9px;transform:translateY(10px);"]),mt=o=>{let{availableActions:n,isActive:a,isGrey:s,isFormDisabled:l,label:r,onClickToggle:d,pathToData:c}=o;const[f,y]=(0,e.useState)(!1),{formatMessage:C}=(0,V.useIntl)(),{modifiedData:T,onChangeParentCheckbox:D,onChangeSimpleCheckbox:J}=(0,de.$_)(),N=()=>{y(Se=>!Se)},k=()=>{y(!1)},b=Q()(T,c.split(".."),{}),F=(0,e.useMemo)(()=>Object.keys(b).reduce((Se,ge)=>(Se[ge]=p()(b[ge],"conditions"),Se),{}),[b]),{hasAllActionsSelected:z,hasSomeActionsSelected:H}=st(F),oe=(0,e.useMemo)(()=>Vt(n,T,c),[n,T,c]),Fe=oe.some(Se=>{let{hasConditions:ge}=Se;return ge});return e.createElement(Kt,{isActive:a},e.createElement(yt,{isGrey:s},e.createElement(Tt,{isCollapsable:!0,isFormDisabled:l,label:r,checkboxName:c,onChange:D,onClick:d,someChecked:H,value:z,isActive:a},e.createElement(Lt,{paddingLeft:2},a?e.createElement(W.Z,null):e.createElement(Be.Z,null))),e.createElement(I.k,{style:{flex:1}},oe.map(Se=>{let{actionId:ge,hasConditions:Re,hasAllActionsSelected:Le,hasSomeActionsSelected:we,isDisplayed:_e,isParentCheckbox:et,checkboxName:Ue,label:gt}=Se;return _e?et?e.createElement(ut,{key:ge,justifyContent:"center",alignItems:"center"},Re&&e.createElement(Xt,null),e.createElement(se.C,{disabled:l||ht,name:Ue,"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${gt} ${r}`}),onValueChange:ct=>{D({target:{name:Ue,value:ct}})},indeterminate:we,value:Le})):e.createElement(ut,{key:ge,justifyContent:"center",alignItems:"center"},Re&&e.createElement(Xt,null),e.createElement(se.C,{disabled:l||ht,indeterminate:Re,name:Ue,onValueChange:ct=>{J({target:{name:Ue,value:ct}})},value:Le})):e.createElement(Ve,{key:ge})})),f&&e.createElement(ne,{headerBreadCrumbs:[r,"Settings.permissions.conditions.conditions"],actions:oe,isFormDisabled:l,onClosed:k,onToggle:N})),e.createElement(Qt,null,e.createElement(Ge,{onClick:N,hasConditions:Fe})))};mt.propTypes={availableActions:i().array.isRequired,isActive:i().bool.isRequired,isGrey:i().bool.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,onClickToggle:i().func.isRequired,pathToData:i().string.isRequired};var Dt=mt,Rn=(o,n)=>o.map(a=>{const s=Array.isArray(a.applyToProperties)&&a.applyToProperties.indexOf(n)!==-1&&a.isDisplayed;return{label:a.label,actionId:a.actionId,isActionRelatedToCurrentProperty:s}});const Pt=(0,R.default)(I.k)`
68
- width: ${Z};
69
- flex-shrink: 0;
70
- `,Yt=(0,R.default)(I.k)`
71
- width: ${Ce};
72
- height: ${Ee};
73
- flex-shrink: 0;
74
- `,Ot=({headers:o,label:n})=>{const{formatMessage:a}=(0,V.useIntl)(),s=a({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(I.k,null,e.createElement(Yt,{alignItems:"center",paddingLeft:6},e.createElement(ie.Z,{variant:"sigma",textColor:"neutral500"},s)),o.map(l=>l.isActionRelatedToCurrentProperty?e.createElement(Pt,{justifyContent:"center",key:l.label},e.createElement(ie.Z,{variant:"sigma",textColor:"neutral500"},a({id:`Settings.roles.form.permissions.${l.label.toLowerCase()}`,defaultMessage:l.label}))):e.createElement(Pt,{key:l.label})))};Ot.propTypes={headers:i().arrayOf(i().shape({label:i().string.isRequired,isActionRelatedToCurrentProperty:i().bool.isRequired})).isRequired,label:i().string.isRequired};var bn=Ot;const Jt=R.default.span`
75
- color: ${({theme:o})=>o.colors.danger700};
76
- padding-left: ${({theme:o})=>o.spaces[1]}px;
77
- `;var Bt=()=>e.createElement(Jt,null,"*"),qt=(o,n)=>o.map(a=>{const s=Array.isArray(a.subjects)&&a.subjects.indexOf(n)!==-1;return{...a,isDisplayed:s}}),An=t(41925);const Nt=(0,R.default)(x.x)`
78
- transform: translate(-4px, -12px);
79
-
80
- &:before {
81
- content: '';
82
- width: ${4/16}rem;
83
- height: ${12/16}rem;
84
- background: ${({theme:o})=>o.colors.primary200};
85
- display: block;
86
- }
87
- `,_t=R.default.svg`
88
- position: relative;
89
- flex-shrink: 0;
90
- transform: translate(-0.5px, -1px);
91
-
92
- * {
93
- fill: ${({theme:o,color:n})=>o.colors[n]};
94
- }
95
- `,Ct=o=>e.createElement(Nt,null,e.createElement(_t,{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"})));Ct.defaultProps={fill:"primary200"},Ct.propTypes={fill:i().string};var xn=(0,e.memo)(Ct);const $t=(()=>window&&window.strapi&&window.strapi.isEE?t(19665).Z:t(52124).Z)(),en=(0,R.default)(I.k).withConfig({displayName:"SubActionRow__Cell",componentId:"sc-7y8yzq-0"})(["width:",";position:relative;"],Z),tn=(0,R.default)(I.k).withConfig({displayName:"SubActionRow__RowWrapper",componentId:"sc-7y8yzq-1"})(["height:",";"],Ee),nn=(0,R.default)(x.x).withConfig({displayName:"SubActionRow__Wrapper",componentId:"sc-7y8yzq-2"})(["padding-left:","rem;"],31/16),on=(0,R.default)(x.x).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"}),Mn=(0,R.default)(I.k).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&&`
96
- ${lt} {
97
- display: block;
98
- color: ${a.colors.neutral100};
99
- }
100
- &:hover {
101
- ${rt(a)}
102
- }
103
- `},o=>{let{isActive:n,theme:a}=o;return n&&rt(a)}),an=R.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}),Zt=o=>{let{childrenForm:n,isFormDisabled:a,recursiveLevel:s,pathToDataFromActionRow:l,propertyActions:r,parentName:d,propertyName:c}=o;const{formatMessage:f}=(0,V.useIntl)(),{modifiedData:y,onChangeParentCheckbox:C,onChangeSimpleCheckbox:T}=(0,de.$_)(),[D,J]=(0,e.useState)(null),N=b=>{J(F=>F===b?null:b)},k=(0,e.useMemo)(()=>D?n.find(b=>{let{value:F}=b;return F===D}):null,[D,n]);return e.createElement(nn,null,e.createElement(an,null),n.map((b,F)=>{let{label:z,value:H,required:oe,children:Fe}=b;const Se=F+1<n.length,ge=Array.isArray(Fe),Re=D===H;return e.createElement(on,{key:H,isVisible:Se},e.createElement(tn,null,e.createElement(xn,{color:"primary200"}),e.createElement(I.k,{style:{flex:1}},e.createElement(Mn,{level:s,isActive:Re,isCollapsable:ge},e.createElement(ue,(0,An.Z)({alignItems:"center",isCollapsable:ge},ge&&{onClick:()=>N(H),"aria-expanded":Re,onKeyDown:Le=>{let{key:we}=Le;return(we==="Enter"||we===" ")&&N(H)},tabIndex:0,role:"button"},{title:z}),e.createElement(ie.Z,{ellipsis:!0},ee()(z)),oe&&e.createElement(Bt,null),e.createElement(lt,{$isActive:Re}))),e.createElement(I.k,{style:{flex:1}},r.map(Le=>{let{actionId:we,label:_e,isActionRelatedToCurrentProperty:et}=Le;if(!et)return e.createElement(Ve,{key:we});const Ue=[...l.split(".."),we,"properties",c,...d.split(".."),H],gt=Q()(y,Ue,!1);if(!Fe)return e.createElement(en,{key:_e,justifyContent:"center",alignItems:"center"},e.createElement(se.C,{disabled:a||$t,name:Ue.join(".."),"aria-label":f({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${d} ${z} ${_e}`}),onValueChange:bt=>{T({target:{name:Ue.join(".."),value:bt}})},value:gt}));const{hasAllActionsSelected:ct,hasSomeActionsSelected:Rt}=st(gt);return e.createElement(en,{key:_e,justifyContent:"center",alignItems:"center"},e.createElement(se.C,{key:_e,disabled:a||$t,name:Ue.join(".."),"aria-label":f({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${d} ${z} ${_e}`}),onValueChange:bt=>{C({target:{name:Ue.join(".."),value:bt}})},value:ct,indeterminate:Rt}))})))),k&&Re&&e.createElement(x.x,{paddingBottom:2},e.createElement(Zt,{isFormDisabled:a,parentName:`${d}..${H}`,pathToDataFromActionRow:l,propertyActions:r,propertyName:c,recursiveLevel:s+1,childrenForm:k.children})))}))};Zt.propTypes={childrenForm:i().array.isRequired,isFormDisabled:i().bool.isRequired,parentName:i().string.isRequired,pathToDataFromActionRow:i().string.isRequired,propertyActions:i().array.isRequired,propertyName:i().string.isRequired,recursiveLevel:i().number.isRequired};var sn=(0,e.memo)(Zt);const jt=o=>o.reduce((a,s)=>(s.isActionRelatedToCurrentProperty&&a.push(s.actionId),a),[]);var Dn=(o,n,a,s,l)=>{const d=jt(o).reduce((c,f)=>{const y=[...a.split(".."),f,"properties",s,l],C=(0,h.get)(n,y,!1);return c[f]=C,c},{});return st(d)};const zt=(()=>window&&window.strapi&&window.strapi.isEE?t(32741).Z:t(18318).Z)(),ln=(0,R.default)(I.k).withConfig({displayName:"ActionRow__Cell",componentId:"sc-4agenc-0"})(["width:",";position:relative;"],Z),rn=(0,R.default)(I.k).withConfig({displayName:"ActionRow__Wrapper",componentId:"sc-4agenc-1"})(["height:",";flex:1;"," ",";"],Ee,o=>{let{isCollapsable:n,theme:a}=o;return n&&`
104
- ${lt} {
105
- display: block;
106
- color: ${a.colors.neutral100};
107
- }
108
- &:hover {
109
- ${rt(a)}
110
- }
111
- `},o=>{let{isActive:n,theme:a}=o;return n&&rt(a)}),vt=o=>{let{childrenForm:n,label:a,isFormDisabled:s,name:l,required:r,pathToData:d,propertyActions:c,propertyName:f,isOdd:y}=o;const{formatMessage:C}=(0,V.useIntl)(),[T,D]=(0,e.useState)(null),{modifiedData:J,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:k,onChangeSimpleCheckbox:b}=(0,de.$_)(),F=T===l,z=(0,e.useMemo)(()=>Array.isArray(n)?n:[],[n]),H=z.length>0,oe=(0,e.useCallback)(()=>{H&&D(Re=>Re===l?null:l)},[H,l]),Fe=Re=>{let{target:{value:Le}}=Re;N(d,f,l,Le)},{hasAllActionsSelected:Se,hasSomeActionsSelected:ge}=(0,e.useMemo)(()=>Dn(c,J,d,f,l),[c,J,d,f,l]);return e.createElement(e.Fragment,null,e.createElement(rn,{alignItems:"center",isCollapsable:H,isActive:F,background:y?"neutral100":"neutral0"},e.createElement(I.k,null,e.createElement(Tt,{onChange:Fe,onClick:oe,isCollapsable:H,isFormDisabled:s,label:a,someChecked:ge,value:Se,isActive:F},r&&e.createElement(Bt,null),e.createElement(lt,{$isActive:F})),e.createElement(I.k,null,c.map(Re=>{let{label:Le,isActionRelatedToCurrentProperty:we,actionId:_e}=Re;if(!we)return e.createElement(Ve,{key:Le});const et=[...d.split(".."),_e,"properties",f,l];if(!H){const Rt=Q()(J,et,!1);return e.createElement(ln,{key:_e,justifyContent:"center",alignItems:"center"},e.createElement(se.C,{disabled:s||zt,name:et.join(".."),"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${Le}`}),onValueChange:bt=>{b({target:{name:et.join(".."),value:bt}})},value:Rt}))}const Ue=Q()(J,et,{}),{hasAllActionsSelected:gt,hasSomeActionsSelected:ct}=st(Ue);return e.createElement(ln,{key:Le,justifyContent:"center",alignItems:"center"},e.createElement(se.C,{disabled:s||zt,name:et.join(".."),onValueChange:Rt=>{k({target:{name:et.join(".."),value:Rt}})},"aria-label":C({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${Le}`}),value:gt,indeterminate:ct}))})))),F&&e.createElement(sn,{childrenForm:z,isFormDisabled:s,parentName:l,pathToDataFromActionRow:d,propertyName:f,propertyActions:c,recursiveLevel:0}))};vt.defaultProps={childrenForm:[],required:!1},vt.propTypes={childrenForm:i().array,label:i().string.isRequired,isFormDisabled:i().bool.isRequired,name:i().string.isRequired,pathToData:i().string.isRequired,propertyActions:i().array.isRequired,propertyName:i().string.isRequired,required:i().bool,isOdd:i().bool.isRequired};var dn=(0,e.memo)(vt);const cn=R.default.div`
112
- display: inline-flex;
113
- flex-direction: column;
114
- min-width: 0;
115
- `,Ut=({availableActions:o,childrenForm:n,isFormDisabled:a,label:s,pathToData:l,propertyName:r})=>{const d=(0,e.useMemo)(()=>Rn(o,r),[o,r]);return e.createElement(cn,null,e.createElement(bn,{label:s,headers:d}),e.createElement(x.x,null,n.map(({children:c,label:f,value:y,required:C},T)=>e.createElement(dn,{childrenForm:c,key:y,label:f,isFormDisabled:a,name:y,required:C,propertyActions:d,pathToData:l,propertyName:r,isOdd:T%2===0}))))};Ut.propTypes={childrenForm:i().array.isRequired,availableActions:i().array.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,pathToData:i().string.isRequired,propertyName:i().string.isRequired};var un=Ut;const Wt=R.default.div`
116
- flex-direction: column;
117
- display: inline-flex;
118
- min-width: 100%;
119
- ${({theme:o,isActive:n})=>n&&`border: 1px solid ${o.colors.primary600};`}
120
- `,Gt=({allActions:o,contentTypeName:n,label:a,index:s,isActive:l,isFormDisabled:r,onClickToggleCollapse:d,pathToData:c,properties:f})=>{const y=(0,e.useCallback)(()=>{d(n)},[n,d]),C=(0,e.useMemo)(()=>qt(o,n),[o,n]);return e.createElement(Wt,{isActive:l},e.createElement(Dt,{availableActions:C,isActive:l,isGrey:s%2===0,isFormDisabled:r,label:a,onClickToggle:y,pathToData:c}),l&&f.map(({label:T,value:D,children:J})=>e.createElement(un,{availableActions:C,childrenForm:J,isFormDisabled:r,label:T,pathToData:c,propertyName:D,key:D})))};Gt.propTypes={allActions:i().array.isRequired,contentTypeName:i().string.isRequired,index:i().number.isRequired,isActive:i().bool.isRequired,isFormDisabled:i().bool.isRequired,label:i().string.isRequired,onClickToggleCollapse:i().func.isRequired,pathToData:i().string.isRequired,properties:i().array.isRequired};var kt=Gt;const St=({actions:o,isFormDisabled:n,pathToData:a,subjects:s})=>{const[l,r]=(0,e.useState)(null),d=c=>{r(l===c?null:c)};return s.map(({uid:c,label:f,properties:y},C)=>e.createElement(kt,{allActions:o,key:c,contentTypeName:c,label:f,isActive:l===c,isFormDisabled:n,index:C,onClickToggleCollapse:d,pathToData:`${a}..${c}`,properties:y}))};St.defaultProps={actions:[],subjects:[]},St.propTypes={actions:i().array.isRequired,isFormDisabled:i().bool.isRequired,pathToData:i().string.isRequired,subjects:i().arrayOf(i().shape({uid:i().string.isRequired,label:i().string.isRequired,properties:i().array.isRequired}))};var m=(0,e.memo)(St),u=t(27677),E=o=>o.filter(({subjects:n})=>n&&n.length);const P=o=>o.map(({actionId:n})=>n),O=(o,n)=>o.reduce((a,s)=>(Object.keys(n).forEach(l=>{const r=(0,h.get)(n,[l,s],{}),d={[l]:ft(r)};a[s]?a[s]={...a[s],...d}:a[s]=d}),a),{});var w=(o,n)=>{const a=P(o),s=O(a,n);return Object.keys(s).reduce((r,d)=>(r[d]=st(s[d]),r),{})};const pe=(()=>window&&window.strapi&&window.strapi.isEE?t(36950).Z:t(61526).Z)(),Y=(0,R.default)(u.K).withConfig({displayName:"GlobalActions__CenteredStack",componentId:"sc-1vxwsjr-0"})(["align-items:center;justify-content:center;width:",";flex-shrink:0;"],Z),me=o=>{let{actions:n,isFormDisabled:a,kind:s}=o;const{formatMessage:l}=(0,V.useIntl)(),{modifiedData:r,onChangeCollectionTypeGlobalActionCheckbox:d}=(0,de.$_)(),c=(0,e.useMemo)(()=>E(n),[n]),f=(0,e.useMemo)(()=>w(c,r[s]),[r,c,s]);return e.createElement(x.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:Ce}},e.createElement(u.K,{horizontal:!0,spacing:0},c.map(y=>{let{label:C,actionId:T}=y;return e.createElement(Y,{key:T,spacing:3},e.createElement(ie.Z,{variant:"sigma",textColor:"neutral500"},l({id:`Settings.roles.form.permissions.${C.toLowerCase()}`,defaultMessage:C})),e.createElement(se.C,{disabled:a||pe,onValueChange:D=>{d(s,T,D)},name:T,"aria-label":l({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:l({id:`Settings.roles.form.permissions.${C.toLowerCase()}`,defaultMessage:C})}),value:Q()(f,[T,"hasAllActionsSelected"],!1),indeterminate:Q()(f,[T,"hasSomeActionsSelected"],!1)}))})))};me.defaultProps={actions:[]},me.propTypes={actions:i().arrayOf(i().shape({label:i().string.isRequired,actionId:i().string.isRequired,subjects:i().array.isRequired})),isFormDisabled:i().bool.isRequired,kind:i().string.isRequired};var K=(0,e.memo)(me);const Oe=(0,R.default)(x.x)`
121
- overflow-x: auto;
122
- `,ve=({isFormDisabled:o,kind:n,layout:{actions:a,subjects:s}})=>{const l=U()([...s],"label");return e.createElement(Oe,{background:"neutral0"},e.createElement(K,{actions:a,kind:n,isFormDisabled:o}),e.createElement(m,{actions:a,isFormDisabled:o,pathToData:n,subjects:l}))};ve.propTypes={isFormDisabled:i().bool.isRequired,kind:i().string.isRequired,layout:i().shape({actions:i().array,subjects:i().arrayOf(i().shape({uid:i().string.isRequired,label:i().string.isRequired,properties:i().array.isRequired}))}).isRequired};var Ze=(0,e.memo)(ve),Je=t(66694);const qe=({children:o,value:n})=>e.createElement(Je.$l.Provider,{value:n},o);qe.propTypes={children:i().node.isRequired,value:i().exact({availableConditions:i().array.isRequired,modifiedData:i().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:i().func.isRequired,onChangeConditions:i().func.isRequired,onChangeSimpleCheckbox:i().func.isRequired,onChangeParentCheckbox:i().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:i().func.isRequired}).isRequired};var dt=qe,pt=t(83828),mn=t(61762),pn=t(89966),gn=t(15335),Kn=t(5803),In=t(8284),Xn=(o,n,a)=>o.map(s=>{const l=[...a,s.action,"properties","enabled"],r=(0,h.get)(n,l,!1),d=(0,h.get)(n,[...a,s.action,"conditions"],{}),c=it(d).some(f=>f);return{...s,isDisplayed:r,checkboxName:l.join(".."),hasSomeActionsSelected:r,value:r,hasConditions:c,label:s.displayName,actionId:s.action,pathToConditionsObject:[...a,s.action]}}),Qn=o=>{const n=Object.entries(o).reduce((s,l)=>{const[r,{conditions:d}]=l;return s[r]=d,s},{});return it(n).some(s=>s)};const fn=(()=>window&&window.strapi&&window.strapi.isEE?t(96556).Z:t(16437).Z)(),Yn=R.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}),Jn=R.default.div.withConfig({displayName:"SubCategory__CheckboxWrapper",componentId:"sc-akgczm-1"})(["position:relative;word-break:keep-all;",""],o=>{let{hasConditions:n,disabled:a,theme:s}=o;return n&&`
123
- &:before {
124
- content: '';
125
- position: absolute;
126
- top: ${-4/16}rem;
127
- left: ${-8/16}rem;
128
- width: ${6/16}rem;
129
- height: ${6/16}rem;
130
- border-radius: ${20/16}rem;
131
- background: ${a?s.colors.neutral100:s.colors.primary600};
132
- }
133
- `}),Pn=o=>{let{categoryName:n,isFormDisabled:a,subCategoryName:s,actions:l,pathToData:r}=o;const[d,c]=(0,e.useState)(!1),{modifiedData:f,onChangeParentCheckbox:y,onChangeSimpleCheckbox:C}=(0,de.$_)(),{formatMessage:T}=(0,V.useIntl)(),D=Q()(f,r,{}),J=(0,e.useMemo)(()=>Object.keys(D).reduce((oe,Fe)=>(oe[Fe]=ft(D[Fe]),oe),{}),[D]),{hasAllActionsSelected:N,hasSomeActionsSelected:k}=st(J),b=()=>{c(oe=>!oe)},F=()=>{c(!1)},z=Xn(l,f,r),H=Qn(Q()(f,[...r],{}));return e.createElement(e.Fragment,null,e.createElement(x.x,null,e.createElement(I.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(x.x,{paddingRight:4},e.createElement(ie.Z,{variant:"sigma",textColor:"neutral600"},s)),e.createElement(Yn,null),e.createElement(x.x,{paddingLeft:4},e.createElement(In.X,{name:r.join(".."),disabled:a||fn,onValueChange:oe=>{y({target:{name:r.join(".."),value:oe}})},indeterminate:k,value:N},T({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(I.k,{paddingTop:6,paddingBottom:6},e.createElement(gn.r,{gap:2,style:{flex:1}},z.map(oe=>{let{checkboxName:Fe,value:Se,action:ge,displayName:Re,hasConditions:Le}=oe;return e.createElement(Kn.P,{col:3,key:ge},e.createElement(Jn,{disabled:a||fn,hasConditions:Le},e.createElement(In.X,{name:Fe,disabled:a||fn,onValueChange:we=>{C({target:{name:Fe,value:we}})},value:Se},Re)))})),e.createElement(Ge,{hasConditions:H,onClick:b}))),d&&e.createElement(ne,{headerBreadCrumbs:[n,s],actions:z,isFormDisabled:a,onClosed:F,onToggle:b}))};Pn.propTypes={actions:i().array.isRequired,categoryName:i().string.isRequired,isFormDisabled:i().bool.isRequired,subCategoryName:i().string.isRequired,pathToData:i().array.isRequired};var qn=Pn;const hn=({childrenForm:o,kind:n,name:a,isOpen:s,isFormDisabled:l,isWhite:r,onOpenCategory:d,pathToData:c})=>{const{formatMessage:f}=(0,V.useIntl)(),y=()=>{d(a)},C=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(pt.U,{expanded:s,onToggle:y,id:`accordion-${a}`,variant:r?"primary":"secondary"},e.createElement(mn.B,{title:ee()(C),description:`${f({id:"Settings.permissions.category"},{category:C})} ${n==="plugins"?"plugin":n}`}),e.createElement(pn.v,null,e.createElement(x.x,{padding:6},o.map(({actions:T,subCategoryName:D,subCategoryId:J})=>e.createElement(qn,{key:D,actions:T,categoryName:C,isFormDisabled:l,subCategoryName:D,pathToData:[...c,J]})))))};hn.defaultProps={},hn.propTypes={childrenForm:i().array.isRequired,isOpen:i().bool.isRequired,isFormDisabled:i().bool.isRequired,isWhite:i().bool.isRequired,kind:i().string.isRequired,name:i().string.isRequired,onOpenCategory:i().func.isRequired,pathToData:i().array.isRequired};var _n=hn;const On=({isFormDisabled:o,kind:n,layout:a})=>{const[s,l]=(0,e.useState)(null),r=d=>{l(d===s?null:d)};return e.createElement(x.x,{padding:6,background:"neutral0"},a.map(({category:d,categoryId:c,childrenForm:f},y)=>e.createElement(_n,{key:d,childrenForm:f,kind:n,isFormDisabled:o,isOpen:s===d,isWhite:y%2===1,name:d,onOpenCategory:r,pathToData:[n,c]})))};On.propTypes={isFormDisabled:i().bool.isRequired,kind:i().string.isRequired,layout:i().arrayOf(i().shape({category:i().string.isRequired,categoryId:i().string.isRequired,childrenForm:i().arrayOf(i().shape({actions:i().array.isRequired})).isRequired}).isRequired).isRequired};var Fn=On,Bn=(o,n,a)=>o.find(s=>s.action===n&&s.subject===a);const Nn=(o,n=[])=>o.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),$n=({children:o},n,a="")=>o.reduce((s,l)=>{if(l.children)return{...s,[l.value]:$n(l,n,`${a}${l.value}.`)};const r=n.indexOf(`${a}${l.value}`)!==-1;return s[l.value]=r,s},{}),eo=(o,n,a)=>o.reduce((s,l)=>{const r=n.properties.find(({value:d})=>d===l);if(r){const d=(0,h.get)(a,["properties",r.value],[]),c=$n(r,d);s.properties[l]=c}return s},{properties:{}}),to=(o,n)=>n.reduce((a,s)=>{const l=o.find(({uid:r})=>r===s)||null;return l&&(a[s]=l),a},{});var Zn=({subjects:o},n,a,s=[])=>n.reduce((l,r)=>{const d=r.subjects,c=to(o,d);if((0,h.isEmpty)(c))return l;const f=Object.keys(c).reduce((y,C)=>{const{actionId:T,applyToProperties:D}=r,k=c[C].properties.map(({value:H})=>H).every(H=>(D||[]).indexOf(H)===-1),b=Bn(s,T,C),F=Nn(a,(0,h.get)(b,"conditions",[]));if((0,h.isEmpty)(D)||k)return(0,h.set)(y,[C,T],{properties:{enabled:b!==void 0},conditions:F}),y;const z=eo(D,c[C],b);return(0,h.set)(y,[C,T],{...z,conditions:F}),y},{});return(0,h.merge)(l,f)},{});const no=(o,n,a)=>o.reduce((s,l)=>{const r=Bn(a,l.action,null);return s[l.action]={properties:{enabled:r!==void 0},conditions:Nn(n,(0,h.get)(r,"conditions",[]))},s},{}),oo=(o,n,a)=>o.reduce((s,l)=>(s[l.subCategoryId]=no(l.actions,n,a),s),{});var jn=(o,n,a=[])=>o.reduce((s,{categoryId:l,childrenForm:r})=>{const d=oo(r,n,a);return s[l]=d,s},{});const zn=o=>o.split(" ").join("-");var Un=(o,n)=>(0,h.chain)(o).groupBy(n).map((a,s)=>({category:s,categoryId:zn(s),childrenForm:(0,h.chain)(a).groupBy("subCategory").map((l,r)=>({subCategoryName:r,subCategoryId:zn(r),actions:l})).value()})).value(),ao=(o,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:l,plugins:r,settings:d}}=o,c={collectionTypes:s,singleTypes:l,plugins:Un(r,"plugin"),settings:Un(d,"category")},f={collectionTypes:Zn(s,s.actions||[],a,n),singleTypes:Zn(l,l.actions||[],a,n),plugins:jn(c.plugins,a,n),settings:jn(c.settings,a,n)};return{initialData:f,modifiedData:f,layouts:c}};const Wn=o=>Object.keys(o).reduce((n,a)=>{const s=o[a];if((0,h.isObject)(s)&&!(0,h.has)(s,"conditions"))return{...n,[a]:Wn(s)};if((0,h.isObject)(s)&&(0,h.has)(s,"conditions")&&!it((0,h.omit)(s,"conditions")).some(r=>r)){const r=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[a]:{...s,conditions:r}}}return n[a]=s,n},{});var En=Wn;const Gn=(o,n)=>Object.keys(o).reduce((a,s)=>{const l=o[s];return s==="conditions"?(a[s]=l,a):(0,h.isObject)(l)?{...a,[s]:Gn(l,n)}:(a[s]=n,a)},{});var Ht=Gn;const so={initialData:{},modifiedData:{},layouts:{}};var io=(o,n)=>(0,ke.default)(o,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:l,value:r}=n,d=["modifiedData",s];Object.keys((0,h.get)(o,d)).forEach(c=>{const f=(0,h.get)(o,[...d,c,l],void 0);if(f){let y=Ht(f,r);if(!r&&y.conditions){const C=Ht(y.conditions,!1);y={...y,conditions:C}}(0,h.set)(a,[...d,c,l],y)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:l,rowName:r,value:d}=n;let c=(0,h.cloneDeep)(o.modifiedData);const f=s.split(".."),y=(0,h.get)(c,f,{});Object.keys(y).forEach(C=>{if((0,h.has)(y[C],`properties.${l}`)){const T=(0,h.get)(y,[C,"properties",l,r]),D=[...f,C,"properties",l,r];if(!(0,h.isObject)(T))(0,h.set)(c,D,d);else{const J=Ht(T,d);(0,h.set)(c,D,J)}}}),d||(c=En(c)),(0,h.set)(a,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[l,r]=s;(0,h.set)(a,["modifiedData",...l.split(".."),"conditions"],r)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=(0,h.cloneDeep)(o.modifiedData);(0,h.set)(s,[...n.keys.split("..")],n.value),n.value||(s=En(s)),(0,h.set)(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:l}=n,r=[...s.split("..")];let d=(0,h.cloneDeep)(o.modifiedData);const c=(0,h.get)(d,r,{}),f=Ht(c,l);(0,h.set)(d,r,f),l||(d=En(d)),(0,h.set)(a,["modifiedData"],d);break}case"RESET_FORM":{a.modifiedData=o.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=o.modifiedData;break}default:return a}});const yn=o=>Object.entries(o).filter(([,n])=>n).map(([n])=>n),lo=o=>{const[n,{conditions:a}]=o;return{action:n,subject:null,conditions:yn(a),properties:{}}},ro=o=>Object.values(o).reduce((n,a)=>{const s=Object.entries(a).reduce((l,r)=>{const[,{properties:{enabled:d}}]=r;if(!d)return l;const c=lo(r);return l.push(c),l},[]);return[...n,...s]},[]);var kn=o=>Object.values(o).reduce((n,a)=>{const s=ro(a);return[...n,...s]},[]);const Hn=(o,n="")=>Object.entries(o).reduce((a,s)=>{const[l,r]=s;return(0,h.isObject)(r)?[...a,...Hn(r,`${n}${l}.`)]:(r&&!(0,h.isObject)(r)&&a.push(`${n}${l}`),a)},[]),co=(o,n,{conditions:a,properties:s})=>Object.entries(s).reduce((l,r)=>{const[d,c]=r;return l.properties[d]=Hn(c),l},{action:o,subject:n,conditions:yn(a),properties:{}}),uo=(o,n,{conditions:a})=>({action:o,subject:n,properties:{},conditions:yn(a)}),mo=(o,n)=>Object.entries(n).reduce((s,l)=>{const[r,d]=l;if(!it(d).some(y=>y))return s;if(!(0,h.has)(d,"properties.enabled")){const y=co(r,o,d);return[...s,y]}if(!d.properties.enabled)return s;const f=uo(r,o,d);return s.push(f),s},[]);var Vn=o=>Object.entries(o).reduce((a,s)=>{const[l,r]=s,d=mo(l,r);return[...a,...d]},[]),po=o=>{const n=kn(o.plugins),a=kn(o.settings),s=Vn(o.collectionTypes),l=Vn(o.singleTypes);return[...n,...a,...s,...l]},go=[{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 Cn=(0,e.forwardRef)(({layout:o,isFormDisabled:n,permissions:a},s)=>{const[{initialData:l,layouts:r,modifiedData:d},c]=(0,e.useReducer)(io,so,()=>ao(o,a)),{formatMessage:f}=(0,V.useIntl)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const N=(0,re.difference)(l.collectionTypes,d.collectionTypes),k=(0,re.difference)(l.singleTypes,d.singleTypes),b={...N,...k};let F;return Ke()(b)?F=!1:F=Object.values(b).some(z=>Object.values(z).some(H=>De()(H,"conditions"))),{permissionsToSend:po(d),didUpdateConditions:F}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const y=(N,k,b,F)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:N,propertyName:k,rowName:b,value:F})},C=(N,k,b)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:N,actionId:k,value:b})},T=N=>{c({type:"ON_CHANGE_CONDITIONS",conditions:N})},D=(0,e.useCallback)(({target:{name:N,value:k}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:N,value:k})},[]),J=(0,e.useCallback)(({target:{name:N,value:k}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:N,value:k})},[]);return e.createElement(dt,{value:{availableConditions:o.conditions,modifiedData:d,onChangeConditions:T,onChangeSimpleCheckbox:D,onChangeParentCheckbox:J,onChangeCollectionTypeLeftActionRowCheckbox:y,onChangeCollectionTypeGlobalActionCheckbox:C}},e.createElement(X.v,{id:"tabs",label:f({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(je.m,null,go.map(N=>e.createElement(je.O,{key:N.id},f({id:N.labelId,defaultMessage:N.defaultMessage})))),e.createElement(ae.n,{style:{position:"relative"}},e.createElement(ae.x,null,e.createElement(Ze,{layout:r.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(ae.x,null,e.createElement(Ze,{layout:r.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(ae.x,null,e.createElement(Fn,{layout:r.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(ae.x,null,e.createElement(Fn,{layout:r.settings,kind:"settings",isFormDisabled:n})))))});Cn.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},Cn.propTypes={layout:i().object,isFormDisabled:i().bool.isRequired,permissions:i().array};var fo=(0,e.memo)(Cn)},16437:function(_,v){v.Z=!0},78522:function(_,v){v.Z=()=>"todo empty role"},80779:function(_,v,t){var e=t(32735),S=t(60216),i=t.n(S),re=t(72850),X=t(87933),je=t(29005),ae=t(66735),be=t(49372),De=t(50563),Te=t(88425),Ke=t.n(Te),V=t(5636);const x=({id:R,name:ye,description:U,usersCount:Be,icons:W,rowIndex:se})=>{const{formatMessage:I}=(0,V.useIntl)(),Ne=I({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:Be});return e.createElement(je.Tr,{"aria-rowindex":se,key:R,...(0,Te.onRowClick)({fn:W[1].onClick})},e.createElement(ae.Td,{maxWidth:(0,Te.pxToRem)(130)},e.createElement(be.Z,{ellipsis:!0,textColor:"neutral800"},ye)),e.createElement(ae.Td,{maxWidth:(0,Te.pxToRem)(250)},e.createElement(be.Z,{ellipsis:!0,textColor:"neutral800"},U)),e.createElement(ae.Td,null,e.createElement(be.Z,{textColor:"neutral800"},Ne)),e.createElement(ae.Td,null,e.createElement(X.k,{justifyContent:"flex-end",...Te.stopPropagation},W.map((Q,$e)=>Q?e.createElement(re.x,{key:Q.label,paddingLeft:$e===0?0:1},e.createElement(De.h,{onClick:Q.onClick,label:Q.label,noBorder:!0,icon:Q.icon})):null))))};x.propTypes={id:i().number.isRequired,name:i().string.isRequired,description:i().string.isRequired,usersCount:i().number.isRequired,icons:i().array.isRequired,rowIndex:i().number.isRequired},v.Z=x},45677:function(_,v,t){t.d(v,{Z:function(){return He}});var e=t(32735),S=t(88425),i=t(72041),re=t(58469),X=t(19406),je=t(4038),ae=t(68625),be=t(47765),De=t(41415),Te=t(28356),Ke=t(17e3),V=t(94745),x=t(73269),R=t(76330),ye=t(29005),U=t(66735),Be=t(3594),W=t(49372),se=t(27649),I=t(3685),Ne=t(5636),Q=t(5141),$e=t(80779),p=t(78522),de=t(60216),Ae=t.n(de),xe=t(83292),We=t(71933),Xe=t(67563),Ge=t(50563),Qe=t(95489),tt=t(72850),nt=t(87933),ot=t(27677),q=t(47361),ie=t(35331),ke=t.p+"6d21938306785f176538.png",M=t.p+"617f9c948fa79e6d73bd.png";const fe=xe.default.div`
134
- position: absolute;
135
- z-index: 3;
136
- inset: 0;
137
- background: ${({theme:A})=>(0,S.setHexOpacity)(A.colors.neutral800,.2)};
138
- padding: 0 ${({theme:A})=>A.spaces[8]};
139
- `,$=(0,xe.default)(nt.k)`
140
- position: relative;
141
- max-width: ${830/16}rem;
142
- height: ${415/16}rem;
143
- margin: 0 auto;
144
- overflow: hidden;
145
- margin-top: 10%;
146
- padding-left: ${64/16}rem;
147
-
148
- img:first-of-type {
149
- position: absolute;
150
- right: 0;
151
- top: 0;
152
- max-width: ${360/16}rem;
153
- }
154
-
155
- img:not(:first-of-type) {
156
- width: ${130/16}rem;
157
- margin-left: 12%;
158
- margin-right: ${20/16}rem;
159
- z-index: 0;
160
- }
161
- `,ee=(0,xe.default)(ot.K)`
162
- align-items: flex-start;
163
- max-width: ${400/16}rem;
164
- z-index: 0;
165
- `,ce=(0,xe.default)(tt.x)`
166
- position: absolute;
167
- right: ${({theme:A})=>A.spaces[4]};
168
- top: ${({theme:A})=>A.spaces[4]};
169
- `,te=({onClose:A,isOpen:B})=>{(0,S.useLockScroll)(B);const{formatMessage:j}=(0,Ne.useIntl)();return B?e.createElement(We.h,null,e.createElement(fe,{onClick:A},e.createElement(Xe.i,{onEscape:A},e.createElement($,{onClick:ne=>ne.stopPropagation(),"aria-labelledby":"upgrade-plan",background:"neutral0",hasRadius:!0},e.createElement("img",{src:ke,alt:"air-balloon"}),e.createElement(ce,null,e.createElement(Ge.h,{onClick:A,"aria-label":"Close",icon:e.createElement(ie.default,null)})),e.createElement(ee,{spacing:6},e.createElement(W.Z,{fontWeight:"bold",textColor:"primary600"},j({id:"app.components.UpgradePlanModal.text-ce",defaultMessage:"COMMUNITY EDITION"})),e.createElement(ot.K,{spacing:2},e.createElement(W.Z,{variant:"alpha",as:"h2",id:"upgrade-plan"},j({id:"app.components.UpgradePlanModal.limit-reached",defaultMessage:"You have reached the limit"})),e.createElement(W.Z,null,j({id:"app.components.UpgradePlanModal.text-power",defaultMessage:"Unlock the full power of Strapi by upgrading your plan to the Enterprise Edition"}))),e.createElement(Qe.Q,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(q.Z,null)},j({id:"app.components.UpgradePlanModal.button",defaultMessage:"Learn more"}))),e.createElement("img",{src:M,alt:"upgrade-arrow"}))))):null};te.propTypes={onClose:Ae().func.isRequired,isOpen:Ae().bool.isRequired};var Ie=te,Me=t(8888);const le=()=>{const{roles:A,isLoading:B}=(0,Me.bF)(),j=(0,S.useQuery)(),ne=decodeURIComponent(j.get("_q")||""),Z=(0,re.ZP)(A,ne,{keys:["name","description"]});return{isLoading:B,sortedRoles:Z}},he=()=>{const{formatMessage:A}=(0,Ne.useIntl)(),[B,j]=(0,e.useState)(!1),{trackUsage:ne}=(0,S.useTracking)(),{push:Z}=(0,Q.useHistory)(),Ce=(0,e.useCallback)(L=>{Z(`/settings/roles/${L}`)},[Z]),Ee=(0,e.useCallback)(()=>{j(L=>!L)},[]),Ye=(0,e.useCallback)(()=>{ne("didShowRBACUpgradeModal"),j(!0)},[ne]),Ve=(0,e.useCallback)(L=>[{onClick:Ee,label:A({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(be.Z,null)},{onClick:()=>Ce(L.id),label:A({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(ae.Z,null)},{onClick:Ee,label:A({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(je.default,null)}],[A,Ee,Ce]);return{isModalOpen:B,handleToggleModalForCreatingRole:Ye,handleToggle:Ee,getIcons:Ve}};var h=()=>{const{formatMessage:A}=(0,Ne.useIntl)();(0,S.useFocusWhenNavigate)();const{sortedRoles:B,isLoading:j}=le(),{isModalOpen:ne,handleToggle:Z,handleToggleModalForCreatingRole:Ce,getIcons:Ee}=he(),Ye=B.length+1,Ve=5;return e.createElement(se.o,null,e.createElement(S.SettingsPageTitle,{name:"Roles"}),e.createElement(Te.T,{primaryAction:e.createElement(De.z,{onClick:Ce,startIcon:e.createElement(X.default,null),size:"S"},A({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})),title:A({id:"global.roles",defaultMessage:"roles"}),subtitle:A({id:"Settings.roles.list.description",defaultMessage:"List of roles"})}),e.createElement(Ke.D,null,e.createElement(V.i,{colCount:Ve,rowCount:Ye,footer:e.createElement(x.c,{onClick:Ce,icon:e.createElement(X.default,null)},A({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"}))},e.createElement(R.h,null,e.createElement(ye.Tr,null,e.createElement(U.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},A({id:"global.name",defaultMessage:"Name"}))),e.createElement(U.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},A({id:"global.description",defaultMessage:"Description"}))),e.createElement(U.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},A({id:"global.users",defaultMessage:"Users"}))),e.createElement(U.Th,null,e.createElement(I.T,null,A({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Be.p,null,B?.map((L,ue)=>e.createElement($e.Z,{key:L.id,id:L.id,name:L.name,description:L.description,usersCount:L.usersCount,icons:Ee(L),rowIndex:ue+2})))),!Ye&&!j&&e.createElement(p.Z,null)),e.createElement(Ie,{isOpen:ne,onClose:Z}))},He=()=>e.createElement(S.CheckPagePermissions,{permissions:i.Z.settings.roles.main},e.createElement(h,null))},75936:function(_,v){const t=[];v.Z=t},20178:function(_,v,t){t.d(v,{Z:function(){return ot}});var e=t(32735),S=t(64213),i=t(88425),re=t(72850),X=t(41415),je=t(28356),ae=t(17e3),be=t(15335),De=t(5803),Te=t(27649),Ke=t(87933),V=t(27677),x=t(49372),R=t(10369),ye=t(10508),U=t(29439),Be=t(83281),W=t(33795),se=t.n(W),I=t(86834),Ne=t.n(I),Q=t(5636),$e=t(5141),p=t(83292),de=t(78974),Ae=t(8888),xe=t(72041),We=t(5173),Ge=We.Ry().shape({name:We.Z_().required(i.translatedErrors.required),description:We.Z_().required(i.translatedErrors.required)}),Qe=t(98399);const tt=p.default.div`
170
- border: 1px solid ${({theme:q})=>q.colors.primary200};
171
- background: ${({theme:q})=>q.colors.primary100};
172
- padding: ${({theme:q})=>`${q.spaces[2]} ${q.spaces[4]}`};
173
- color: ${({theme:q})=>q.colors.primary600};
174
- border-radius: ${({theme:q})=>q.borderRadius};
175
- font-size: ${12/16}rem;
176
- font-weight: bold;
177
- `,nt=()=>{const q=(0,i.useNotification)(),{lockApp:ie,unlockApp:ke}=(0,i.useOverlayBlocker)(),{formatMessage:M}=(0,Q.useIntl)(),[fe,$]=(0,e.useState)(!1),{replace:ee}=(0,$e.useHistory)(),ce=(0,e.useRef)(),{trackUsage:te}=(0,i.useTracking)(),Ie=(0,$e.useRouteMatch)("/settings/roles/duplicate/:id"),Me=se()(Ie,"params.id",null),{isLoading:le,data:he}=(0,Ae.U_)(),{permissions:ze,isLoading:h}=(0,Ae.Dq)(Me),Pe=A=>{ie(),$(!0),te(Me?"willDuplicateRole":"willCreateNewRole"),Promise.resolve((0,i.request)("/admin/roles",{method:"POST",body:A})).then(async B=>{const{permissionsToSend:j}=ce.current.getPermissions();return te(Me?"didDuplicateRole":"didCreateNewRole"),B.data.id&&!Ne()(j)&&await(0,i.request)(`/admin/roles/${B.data.id}/permissions`,{method:"PUT",body:{permissions:j}}),B}).then(B=>{$(!1),q({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ee(`/settings/roles/${B.data.id}`)}).catch(B=>{Qe.error(B),$(!1),q({type:"warning",message:{id:"notification.error"}})}).finally(()=>{ke()})},He=`${M({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,S.format)(new Date,"PPP")}`;return e.createElement(Te.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(Be.Formik,{initialValues:{name:"",description:He},onSubmit:Pe,validationSchema:Ge,validateOnChange:!1},({handleSubmit:A,values:B,errors:j,handleReset:ne,handleChange:Z})=>e.createElement(i.Form,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(je.T,{primaryAction:e.createElement(V.K,{horizontal:!0,spacing:2},e.createElement(X.z,{variant:"secondary",onClick:()=>{ne(),ce.current.resetForm()},size:"L"},M({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(X.z,{onClick:A,loading:fe,size:"L"},M({id:"global.save",defaultMessage:"Save"}))),title:M({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:M({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(i.Link,{startIcon:e.createElement(U.Z,null),to:"/settings/roles"},M({id:"global.back",defaultMessage:"Back"}))}),e.createElement(ae.D,null,e.createElement(V.K,{spacing:6},e.createElement(re.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(V.K,{spacing:4},e.createElement(Ke.k,{justifyContent:"space-between"},e.createElement(re.x,null,e.createElement(re.x,null,e.createElement(x.Z,{fontWeight:"bold"},M({id:"global.details",defaultMessage:"Details"}))),e.createElement(re.x,null,e.createElement(x.Z,{variant:"pi",textColor:"neutral600"},M({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(tt,null,M({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(be.r,{gap:4},e.createElement(De.P,{col:6},e.createElement(R.o,{name:"name",error:j.name&&M({id:j.name}),label:M({id:"global.name",defaultMessage:"Name"}),onChange:Z,value:B.name})),e.createElement(De.P,{col:6},e.createElement(ye.g,{label:M({id:"global.description",defaultMessage:"Description"}),name:"description",error:j.description&&M({id:j.description}),onChange:Z},B.description))))),!le&&!h?e.createElement(re.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(de.Z,{isFormDisabled:!1,ref:ce,permissions:ze,layout:he})):e.createElement(re.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(i.LoadingIndicatorPage,null))))))))};function ot(){return e.createElement(i.CheckPagePermissions,{permissions:xe.Z.settings.roles.create},e.createElement(nt,null))}},56899:function(_,v){v.Z=!1},68464:function(_,v){v.Z=!1},32741:function(_,v){v.Z=!1},19665:function(_,v){v.Z=!1},36950:function(_,v){v.Z=!1},96556:function(_,v){v.Z=!1},51899:function(_,v,t){t.d(v,{Z:function(){return ke}});var e=t(32735),S=t(88425),i=t(72041),re=t(19406),X=t(4038),je=t(47765),ae=t(68625),be=t(41415),De=t(28356),Te=t(99223),Ke=t(17e3),V=t(3685),x=t(27649),R=t(94745),ye=t(73269),U=t(76330),Be=t(29005),W=t(66735),se=t(3594),I=t(49372),Ne=t(92891),Q=t(58469),$e=t(5636),p=t(5141),de=t(8888),Ae=t(78522),xe=t(80779),We=t(97889);const Xe={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var Qe=(M,fe)=>(0,We.default)(M,$=>{switch(fe.type){case"ON_REMOVE_ROLES":{$.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{$.shouldRefetchData=!0,$.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{$.shouldRefetchData=!1,$.roleToDelete=null,$.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{$.roleToDelete=fe.id;break}default:return $}});const tt=()=>{(0,S.useFocusWhenNavigate)();const{isLoading:M,allowedActions:{canCreate:fe,canDelete:$,canRead:ee,canUpdate:ce}}=(0,S.useRBAC)(i.Z.settings.roles),{getData:te,roles:Ie,isLoading:Me}=(0,de.bF)(!1),[{query:le}]=(0,S.useQueryParams)(),he=le?._q||"",ze=(0,Q.ZP)(Ie,he,{keys:["name","description"]});return(0,e.useEffect)(()=>{!M&&ee&&te()},[M,ee,te]),{isLoadingForPermissions:M,canCreate:fe,canDelete:$,canRead:ee,canUpdate:ce,isLoading:Me,getData:te,sortedRoles:ze,roles:Ie}},nt=({getData:M,canCreate:fe,canDelete:$,canUpdate:ee})=>{const{formatMessage:ce}=(0,$e.useIntl)(),te=(0,S.useNotification)(),[Ie,Me]=(0,e.useState)(!1),{push:le}=(0,p.useHistory)(),[{selectedRoles:he,showModalConfirmButtonLoading:ze,roleToDelete:h},Pe]=(0,e.useReducer)(Qe,Xe),{post:He}=(0,S.getFetchClient)(),A=async()=>{try{Pe({type:"ON_REMOVE_ROLES"}),await He("/admin/roles/batch-delete",{ids:[h]}),await M(),Pe({type:"RESET_DATA_TO_DELETE"})}catch(L){const ue=(0,Ne.get)(L,["response","payload","data","ids"],null);if(ue&&Array.isArray(ue)){const at=ue.join(`
178
- `);te({type:"warning",message:at})}else te({type:"warning",message:{id:"notification.error"}})}Z()},B=(0,e.useCallback)(L=>{le(`/settings/roles/duplicate/${L}`)},[le]),j=()=>le("/settings/roles/new"),ne=(0,e.useCallback)(L=>{Pe({type:"SET_ROLE_TO_DELETE",id:L}),Z()},[]),Z=()=>Me(L=>!L),Ce=(0,e.useCallback)(L=>{le(`/settings/roles/${L}`)},[le]),Ee=(0,e.useCallback)((L,ue)=>{L.preventDefault(),L.stopPropagation(),ue.usersCount?te({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):ne(ue.id)},[te,ne]),Ye=(0,e.useCallback)((L,ue)=>{L.preventDefault(),L.stopPropagation(),B(ue.id)},[B]),Ve=(0,e.useCallback)(L=>[...fe?[{onClick:ue=>Ye(ue,L),label:ce({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(je.Z,null)}]:[],...ee?[{onClick:()=>Ce(L.id),label:ce({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(ae.Z,null)}]:[],...$?[{onClick:ue=>Ee(ue,L),label:ce({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(X.default,null)}]:[]],[ce,Ee,Ye,Ce,fe,ee,$]);return{handleNewRoleClick:j,getIcons:Ve,selectedRoles:he,isWarningDeleteAllOpened:Ie,showModalConfirmButtonLoading:ze,handleToggleModal:Z,handleDeleteData:A}};var q=()=>{const{formatMessage:M}=(0,$e.useIntl)(),{isLoadingForPermissions:fe,canCreate:$,canRead:ee,canDelete:ce,canUpdate:te,isLoading:Ie,getData:Me,sortedRoles:le}=tt(),{handleNewRoleClick:he,getIcons:ze,isWarningDeleteAllOpened:h,showModalConfirmButtonLoading:Pe,handleToggleModal:He,handleDeleteData:A}=nt({getData:Me,canCreate:$,canDelete:ce,canUpdate:te}),B=le.length+1,j=6;if(fe)return e.createElement(x.o,null,e.createElement(S.LoadingIndicatorPage,null));const ne=M({id:"global.roles",defaultMessage:"roles"});return e.createElement(x.o,null,e.createElement(S.SettingsPageTitle,{name:"Roles"}),e.createElement(De.T,{primaryAction:$?e.createElement(be.z,{onClick:he,startIcon:e.createElement(re.default,null),size:"S"},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:ne,subtitle:M({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),ee&&e.createElement(Te.Z,{startActions:e.createElement(S.SearchURLQuery,{label:M({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ne})})}),ee&&e.createElement(Ke.D,null,e.createElement(R.i,{colCount:j,rowCount:B,footer:$?e.createElement(ye.c,{onClick:he,icon:e.createElement(re.default,null)},M({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(U.h,null,e.createElement(Be.Tr,{"aria-rowindex":1},e.createElement(W.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},M({id:"global.name",defaultMessage:"Name"}))),e.createElement(W.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},M({id:"global.description",defaultMessage:"Description"}))),e.createElement(W.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},M({id:"global.users",defaultMessage:"Users"}))),e.createElement(W.Th,null,e.createElement(V.T,null,M({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(se.p,null,le?.map((Z,Ce)=>e.createElement(xe.Z,{key:Z.id,id:Z.id,name:Z.name,description:Z.description,usersCount:Z.usersCount,icons:ze(Z),rowIndex:Ce+2})))),!B&&!Ie&&e.createElement(Ae.Z,null)),e.createElement(S.ConfirmDialog,{isOpen:h,onConfirm:A,isConfirmButtonLoading:Pe,onToggleDialog:He}))},ke=()=>e.createElement(S.CheckPagePermissions,{permissions:i.Z.settings.roles.main},e.createElement(q,null))},63775:function(_,v,t){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 Promise.all([t.e(2743),t.e(2812)]).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),v.Z=e}}]);