@strapi/admin 4.11.3 → 4.12.0-beta.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 (176) hide show
  1. package/admin/src/components/AuthenticatedApp/index.js +2 -2
  2. package/admin/src/constants.js +83 -83
  3. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +8 -5
  4. package/admin/src/content-manager/components/Inputs/index.js +3 -47
  5. package/admin/src/content-manager/components/RelationInput/RelationInput.js +99 -178
  6. package/admin/src/content-manager/components/RelationInput/components/Option.js +17 -15
  7. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +2 -2
  8. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +34 -37
  9. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +0 -27
  10. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +93 -14
  11. package/admin/src/content-manager/pages/ListView/index.js +65 -47
  12. package/admin/src/content-manager/pages/ListView/utils/buildValidGetParams.js +30 -0
  13. package/admin/src/content-manager/pages/ListView/utils/index.js +1 -1
  14. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +5 -1
  15. package/admin/src/hooks/index.js +0 -1
  16. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +3 -3
  17. package/admin/src/hooks/useEnterprise/useEnterprise.js +4 -4
  18. package/admin/src/pages/App/index.js +28 -23
  19. package/admin/src/pages/AuthPage/components/Register/index.js +5 -1
  20. package/admin/src/pages/ProfilePage/index.js +6 -1
  21. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +15 -1
  22. package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +1 -1
  23. package/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js +4 -10
  24. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +2 -2
  25. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/utils/makeWebhookValidationSchema.js +11 -5
  26. package/admin/src/translations/ca.json +1 -0
  27. package/admin/src/translations/en.json +4 -1
  28. package/admin/src/translations/es.json +5 -0
  29. package/admin/src/translations/fr.json +1 -0
  30. package/admin/src/translations/zh-Hans.json +1 -1
  31. package/build/0cd5f8915b265d5b1856.png +0 -0
  32. package/build/2799.cf9b491f.chunk.js +1 -0
  33. package/build/4485.d3c6dd1d.chunk.js +6 -0
  34. package/build/539.865446c0.chunk.js +1 -0
  35. package/build/{5542.64b623c9.chunk.js → 5542.c62d0daf.chunk.js} +1 -1
  36. package/build/{5563.86f9aa9c.chunk.js → 5563.a146acac.chunk.js} +2 -2
  37. package/build/7018.f3dad3c1.chunk.js +1 -0
  38. package/build/7259.0e25ab5d.chunk.js +1 -0
  39. package/build/9465.d8fc1377.chunk.js +112 -0
  40. package/build/{6405.27e1bee5.chunk.js → 970.89601f27.chunk.js} +2 -2
  41. package/build/9944.29289a16.chunk.js +26 -0
  42. package/build/Admin-authenticatedApp.9d3afb79.chunk.js +79 -0
  43. package/build/{Admin_settingsPage.4069bb8a.chunk.js → Admin_settingsPage.074655f6.chunk.js} +13 -13
  44. package/build/admin-app.3ede71ad.chunk.js +61 -0
  45. package/build/{admin-edit-roles-page.2040034a.chunk.js → admin-edit-roles-page.3fdd6b9d.chunk.js} +11 -11
  46. package/build/admin-edit-users.78552758.chunk.js +10 -0
  47. package/build/admin-users.c23322fc.chunk.js +11 -0
  48. package/build/api-tokens-list-page.a103f526.chunk.js +16 -0
  49. package/build/audit-logs-settings-page.37fe915c.chunk.js +1 -0
  50. package/build/ca-json.1fed5d8b.chunk.js +1 -0
  51. package/build/content-manager.08541eeb.chunk.js +1094 -0
  52. package/build/{content-type-builder-list-view.0c3ceb4e.chunk.js → content-type-builder-list-view.a200a358.chunk.js} +1 -1
  53. package/build/content-type-builder-translation-en-json.38e20391.chunk.js +1 -0
  54. package/build/content-type-builder.de22f7c9.chunk.js +166 -0
  55. package/build/{email-settings-page.6b38222d.chunk.js → email-settings-page.45695daa.chunk.js} +1 -1
  56. package/build/en-json.fb9f6ddd.chunk.js +1 -0
  57. package/build/es-json.42096084.chunk.js +1 -0
  58. package/build/fr-json.69789980.chunk.js +1 -0
  59. package/build/{i18n-settings-page.ff863f20.chunk.js → i18n-settings-page.29308d0b.chunk.js} +1 -1
  60. package/build/index.html +1 -1
  61. package/build/main.a8ede50d.js +2927 -0
  62. package/build/review-workflows-settings-create-view.56f61e18.chunk.js +1 -0
  63. package/build/review-workflows-settings-edit-view.912bc9c0.chunk.js +1 -0
  64. package/build/review-workflows-settings-list-view.cf6a08d3.chunk.js +56 -0
  65. package/build/runtime~main.5e9bf4b3.js +2 -0
  66. package/build/sso-settings-page.0cdb96a6.chunk.js +1 -0
  67. package/build/transfer-tokens-list-page.7237443d.chunk.js +16 -0
  68. package/build/{upload-settings.43cf16cd.chunk.js → upload-settings.cb6c14c3.chunk.js} +1 -1
  69. package/build/{upload.72f8f8fc.chunk.js → upload.7e629643.chunk.js} +2 -2
  70. package/build/users-advanced-settings-page.750b1f76.chunk.js +9 -0
  71. package/build/{users-email-settings-page.33359797.chunk.js → users-email-settings-page.e9bcd865.chunk.js} +1 -1
  72. package/build/{users-providers-settings-page.1e7a4a71.chunk.js → users-providers-settings-page.a94253e9.chunk.js} +1 -1
  73. package/build/{users-roles-settings-page.235378b6.chunk.js → users-roles-settings-page.d286426a.chunk.js} +5 -5
  74. package/build/webhook-edit-page.77ef4f1a.chunk.js +33 -0
  75. package/build/{zh-Hans-json.4cfef87d.chunk.js → zh-Hans-json.fada6f40.chunk.js} +1 -1
  76. package/ee/admin/constants.js +14 -14
  77. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +84 -30
  78. package/ee/admin/content-manager/{components/DynamicTable/CellContent/ReviewWorkflowsStage → pages/ListView/ReviewWorkflowsColumn}/ReviewWorkflowsStageEE.js +7 -2
  79. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +24 -0
  80. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +1 -0
  81. package/ee/admin/hooks/useLicenseLimitNotification/index.js +17 -6
  82. package/ee/admin/hooks/useLicenseLimits/index.js +1 -32
  83. package/ee/admin/hooks/useLicenseLimits/useLicenseLimits.js +44 -0
  84. package/ee/admin/pages/SettingsPage/constants.js +25 -1
  85. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +6 -4
  86. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +6 -4
  87. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +4 -9
  88. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +19 -4
  89. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/Layout.js +65 -0
  90. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/index.js +1 -0
  91. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/LimitsModal.js +111 -0
  92. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/assets/balloon.png +0 -0
  93. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/index.js +3 -0
  94. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/ProtectedPage/ProtectedPage.js +21 -0
  95. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/ProtectedPage/index.js +1 -0
  96. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +4 -4
  97. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +110 -0
  98. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/index.js +1 -0
  99. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +3 -1
  100. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +13 -19
  101. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +246 -0
  102. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/index.js +13 -0
  103. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +269 -0
  104. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/index.js +13 -0
  105. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +382 -0
  106. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/index.js +13 -0
  107. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +53 -23
  108. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +43 -28
  109. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +4 -9
  110. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +9 -2
  111. package/ee/server/config/admin-actions.js +24 -0
  112. package/ee/server/constants/default-stages.json +8 -4
  113. package/ee/server/constants/default-workflow.json +3 -1
  114. package/ee/server/constants/workflows.js +10 -1
  115. package/ee/server/content-types/workflow/index.js +10 -0
  116. package/ee/server/content-types/workflow-stage/index.js +3 -1
  117. package/ee/server/controllers/admin.js +1 -0
  118. package/ee/server/controllers/workflows/index.js +135 -8
  119. package/ee/server/controllers/workflows/stages/index.js +38 -38
  120. package/ee/server/migrations/review-workflows-content-types.js +29 -0
  121. package/ee/server/migrations/review-workflows-deleted-ct-in-workflows.js +39 -0
  122. package/ee/server/migrations/review-workflows-stage-attribute.js +49 -0
  123. package/ee/server/migrations/review-workflows-stages-color.js +2 -2
  124. package/ee/server/migrations/review-workflows-workflow-name.js +21 -0
  125. package/ee/server/register.js +12 -2
  126. package/ee/server/routes/review-workflows.js +44 -10
  127. package/ee/server/services/index.js +1 -0
  128. package/ee/server/services/review-workflows/entity-service-decorator.js +28 -24
  129. package/ee/server/services/review-workflows/review-workflows.js +45 -53
  130. package/ee/server/services/review-workflows/stages.js +84 -46
  131. package/ee/server/services/review-workflows/validation.js +60 -0
  132. package/ee/server/services/review-workflows/workflows/content-types.js +80 -0
  133. package/ee/server/services/review-workflows/workflows/index.js +207 -0
  134. package/ee/server/utils/review-workflows.js +30 -25
  135. package/ee/server/validation/review-workflows.js +49 -10
  136. package/package.json +13 -14
  137. package/server/content-types/User.js +10 -0
  138. package/server/strategies/api-token.js +9 -5
  139. package/server/strategies/data-transfer.js +9 -5
  140. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +0 -2
  141. package/admin/src/content-manager/components/RelationInput/components/Relation.js +0 -53
  142. package/admin/src/content-manager/pages/ListView/utils/buildQueryString.js +0 -36
  143. package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +0 -4
  144. package/admin/src/hooks/useLicenseLimits/index.js +0 -3
  145. package/admin/src/pages/App/utils/index.js +0 -3
  146. package/admin/src/pages/App/utils/unique-identifier.js +0 -12
  147. package/build/1799.84268ad3.chunk.js +0 -33
  148. package/build/5932.6a23b88c.chunk.js +0 -1
  149. package/build/7018.98feed67.chunk.js +0 -1
  150. package/build/7259.fb69d4bf.chunk.js +0 -1
  151. package/build/Admin-authenticatedApp.69855f1b.chunk.js +0 -79
  152. package/build/admin-app.fea867af.chunk.js +0 -61
  153. package/build/admin-edit-users.53e4290a.chunk.js +0 -10
  154. package/build/admin-users.3b12dca2.chunk.js +0 -11
  155. package/build/api-tokens-list-page.201fb67a.chunk.js +0 -16
  156. package/build/audit-logs-settings-page.b07ad202.chunk.js +0 -1
  157. package/build/ca-json.43e14418.chunk.js +0 -1
  158. package/build/content-manager.66cec770.chunk.js +0 -1094
  159. package/build/content-type-builder-translation-en-json.f592325b.chunk.js +0 -1
  160. package/build/content-type-builder.e1b6d13b.chunk.js +0 -166
  161. package/build/en-json.f5fa476a.chunk.js +0 -1
  162. package/build/es-json.715b6fd8.chunk.js +0 -1
  163. package/build/fr-json.73494bf5.chunk.js +0 -1
  164. package/build/main.83edb3fc.js +0 -2926
  165. package/build/review-workflows-settings.93808ae0.chunk.js +0 -110
  166. package/build/runtime~main.20c3cac6.js +0 -2
  167. package/build/sso-settings-page.35b67909.chunk.js +0 -1
  168. package/build/transfer-tokens-list-page.217573c3.chunk.js +0 -16
  169. package/build/users-advanced-settings-page.1911adf5.chunk.js +0 -9
  170. package/build/webhook-edit-page.1ee02c4b.chunk.js +0 -33
  171. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +0 -58
  172. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +0 -3
  173. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ProtectedPage.js +0 -20
  174. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +0 -204
  175. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +0 -3
  176. package/ee/server/services/review-workflows/workflows.js +0 -25
@@ -1,79 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(K,T,n){n.r(T),n.d(T,{default:function(){return $t}});var e=n(32735),s=n(19565),O=n(33795),B=n.n(O),y=n(20108),M={i8:"4.11.3"},S=n(10328),L=n(8997),P=n(74506),U=n(51968),x=n(15062),f=n(53038),Ae=n(88311),te=n.n(Ae),Le=n(58107),m=n(87933),ne=n(71933),ae=n(67563),Oe=n(50563),v=n(72850),H=n(41415),oe=n(35331),xe=n(60216),r=n.n(xe),W=n(67879),C=n(8471);const be=(0,C.ZP)(m.k)`
2
- position: fixed;
3
- z-index: 4;
4
- inset: 0;
5
- /* this is theme.colors.neutral800 with opacity */
6
- background: ${({theme:t})=>`${t.colors.neutral800}1F`};
7
- `,se=({onClose:t,onSkip:a,children:o,hideSkip:i})=>{const{formatMessage:d}=(0,W.Z)();return e.createElement(ne.h,null,e.createElement(be,{onClick:t,padding:8,justifyContent:"center"},e.createElement(ae.i,{onEscape:t},e.createElement(m.k,{direction:"column",alignItems:"stretch",background:"neutral0",width:(0,s.Q1)(660),shadow:"popupShadow",hasRadius:!0,padding:4,gap:8,role:"dialog","aria-modal":!0,onClick:u=>u.stopPropagation()},e.createElement(m.k,{justifyContent:"flex-end"},e.createElement(Oe.h,{onClick:t,"aria-label":d({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(oe.Z,null)})),e.createElement(v.x,{paddingLeft:7,paddingRight:7,paddingBottom:i?8:0},o),!i&&e.createElement(m.k,{justifyContent:"flex-end"},e.createElement(H.z,{variant:"tertiary",onClick:a},d({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};se.propTypes={children:r().node.isRequired,onClose:r().func.isRequired,onSkip:r().func.isRequired,hideSkip:r().bool.isRequired};var De=se,E=n(49372),re=n(8482),G=n(23678),Y=n(78024);const ke=C.ZP.li`
8
- list-style: disc;
9
- &::marker {
10
- color: ${({theme:t})=>t.colors.neutral800};
11
- }
12
- `,ie=({id:t,defaultMessage:a})=>{const{formatMessage:o}=(0,W.Z)();return e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:4,paddingBottom:6},o({id:t,defaultMessage:a},{documentationLink:Ze,b:Be,p:We,light:Ge,ul:Ne,li:Ue}))},Ze=t=>e.createElement(E.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"},t),Be=t=>e.createElement(E.Z,{fontWeight:"semiBold"},t),We=t=>e.createElement(E.Z,null,t),Ge=t=>e.createElement(E.Z,{textColor:"neutral600"},t),Ne=t=>e.createElement(v.x,{paddingLeft:6},e.createElement("ul",null,t)),Ue=t=>e.createElement(ke,null,t);ie.propTypes={id:r().string.isRequired,defaultMessage:r().string.isRequired};var Fe=ie,je=n(14317);const w=({number:t,last:a,type:o})=>e.createElement(v.x,{paddingTop:3,paddingBottom:a?0:3},e.createElement(je.Z,{number:t,type:o}));w.defaultProps={number:void 0,last:!1,type:""},w.propTypes={number:r().number,last:r().bool,type:r().string};var le=w;const J=({title:t,content:a,cta:o,onCtaClick:i,sectionIndex:d,stepIndex:u,hasSectionAfter:h})=>{const{formatMessage:p}=(0,W.Z)(),g=d>0,l=u>0,I=d+1;return e.createElement(e.Fragment,null,e.createElement(m.k,{alignItems:"stretch"},e.createElement(m.k,{marginRight:8,justifyContent:"center",minWidth:(0,s.Q1)(30)},g&&e.createElement(Y.Z,{type:G.hx,minHeight:(0,s.Q1)(24)})),e.createElement(E.Z,{variant:"sigma",textColor:"primary600"},p({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(m.k,null,e.createElement(m.k,{marginRight:8,minWidth:(0,s.Q1)(30)},e.createElement(le,{number:d+1,type:l?G.hx:G.lW})),e.createElement(E.Z,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},p(t))),e.createElement(m.k,{alignItems:"stretch"},e.createElement(m.k,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,s.Q1)(30)},h&&e.createElement(e.Fragment,null,e.createElement(Y.Z,{type:G.hx}),l&&e.createElement(le,{number:I+1,type:G.lW,last:!0}))),e.createElement(v.x,null,e.createElement(Fe,{...a}),o&&(o.target?e.createElement(s.Qj,{endIcon:e.createElement(re.Z,null),onClick:i,to:o.target},p(o.title)):e.createElement(H.z,{endIcon:e.createElement(re.Z,null),onClick:i},p(o.title))))),l&&h&&e.createElement(v.x,{paddingTop:3},e.createElement(m.k,{marginRight:8,justifyContent:"center",width:(0,s.Q1)(30)},e.createElement(Y.Z,{type:G.hx,minHeight:(0,s.Q1)(24)}))))};J.defaultProps={currentStep:null,cta:void 0},J.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 $e=J,ce=n(97889);const de={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1};var Qe=(t=de,a)=>(0,ce.ZP)(t,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}}),ze=()=>{const{currentStep:t,guidedTourState:a,setCurrentStep:o,setStepState:i,isGuidedTourVisible:d,setSkipped:u}=(0,s.c1)(),[h,p]=(0,e.useState)(t),[{stepContent:g,sectionIndex:l,stepIndex:I,hasSectionAfter:b,hasStepAfter:j},$]=(0,e.useReducer)(Qe,de),{trackUsage:N}=(0,s.rS)();(0,e.useEffect)(()=>{if(!t){p(!1);return}const[D]=te()(a,t);p(!D&&d)},[t,a,d]),(0,e.useEffect)(()=>{if(t){const[D]=te()(Le.Z,t),R=Object.keys(a),[k,c]=t.split("."),Z=R.indexOf(k),V=Object.keys(a[k]).indexOf(c),z=Z<R.length-1,Qt=V<Object.keys(a[k]).length-1;$({type:"UPDATE_MODAL",content:D,newSectionIndex:Z,newStepIndex:V,newHasSectionAfter:z,newHasStepAfter:Qt})}},[t,a]);const A=()=>{i(t,!0),N(g.trackingEvent),o(null)},Q=()=>{u(!0),o(null),N("didSkipGuidedtour")};return h&&g?e.createElement(De,{hideSkip:!j&&!b,onSkip:Q,onClose:A},e.createElement($e,{...g,onCtaClick:A,currentStep:t,sectionIndex:l,stepIndex:I,hasSectionAfter:b})):null},ue=n(9026),Ke=n(15300),Ve=n(61450),He=n(1897),X=n(78464),pe=n(42889),Ye=n(25390),we=n(64838),Je=n(9371),Xe=n(73165),qe=n(92967),F=n(14911);const _e=(0,C.ZP)(v.x)`
13
- width: ${150/16}rem;
14
- position: absolute;
15
- bottom: ${({theme:t})=>t.spaces[9]};
16
- left: ${({theme:t})=>t.spaces[5]};
17
- `,me=(0,C.ZP)(F.OL)`
18
- display: flex;
19
- justify-content: space-between;
20
- align-items: center;
21
- text-decoration: none;
22
- padding: ${({theme:t})=>`${t.spaces[2]} ${t.spaces[4]}`};
23
- border-radius: ${({theme:t})=>t.spaces[1]};
24
-
25
- &:hover {
26
- background: ${({theme:t,logout:a})=>a?t.colors.danger100:t.colors.primary100};
27
- text-decoration: none;
28
- }
29
-
30
- svg {
31
- path {
32
- fill: ${({theme:t})=>t.colors.danger600};
33
- }
34
- }
35
- `,ge=({generalSectionLinks:t,pluginsSectionLinks:a})=>{const o=(0,e.useRef)(),[i,d]=(0,e.useState)(!1),{logos:{menu:u}}=(0,S.um)(),[h,p]=(0,s.Yw)("navbar-condensed",!1),{userDisplayName:g}=(0,s.L7)(),{formatMessage:l}=(0,W.Z)(),{trackUsage:I}=(0,s.rS)(),{pathname:b}=(0,f.TH)(),j=(0,f.k6)(),{post:$}=(0,s.tg)(),N=g.split(" ").map(c=>c.substring(0,1)).join("").substring(0,2),A=()=>d(c=>!c),Q=async()=>{await $("/admin/logout"),s.I8.clearAppStorage(),A(),j.push("/auth/login")},D=c=>{!c.currentTarget.contains(c.relatedTarget)&&c.relatedTarget?.parentElement?.id!=="main-nav-user-button"&&d(!1)},R=(c=null)=>{I("willNavigate",{from:b,to:c})},k=l({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement(Ke.$,{condensed:h},e.createElement(Ve.D,{as:F.OL,workplace:l({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:k,icon:e.createElement("img",{src:u.custom||u.default,alt:l({id:"app.components.LeftMenu.logo.alt",defaultMessage:"Application logo"})})}),e.createElement(ue.i,null),e.createElement(He._,null,e.createElement(X.O,{as:F.OL,to:"/content-manager",icon:e.createElement(Xe.Z,null),onClick:()=>R("/content-manager")},l({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(pe.y,{label:l({id:"app.components.LeftMenu.plugins",defaultMessage:"Plugins"})},a.map(c=>{const Z=c.icon;return e.createElement(X.O,{as:F.OL,to:c.to,key:c.to,icon:e.createElement(Z,null),onClick:()=>R(c.to)},l(c.intlLabel))})):null,t.length>0?e.createElement(pe.y,{label:l({id:"app.components.LeftMenu.general",defaultMessage:"General"})},t.map(c=>{const Z=c.icon;return e.createElement(X.O,{as:F.OL,badgeContent:c.notificationsCount>0&&c.notificationsCount.toString()||void 0,to:c.to,key:c.to,icon:e.createElement(Z,null),onClick:()=>R(c.to)},l(c.intlLabel))})):null),e.createElement(Ye.q,null,e.createElement(we.r,{id:"main-nav-user-button",ref:o,onClick:A,initials:N},g),i&&e.createElement(_e,{onBlur:D,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(ae.i,{onEscape:A},e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:0},e.createElement(me,{tabIndex:0,onClick:A,to:"/me"},e.createElement(E.Z,null,l({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(me,{tabIndex:0,onClick:Q,logout:"logout",to:"/auth/login"},e.createElement(E.Z,{textColor:"danger600"},l({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(qe.Z,null))))),e.createElement(Je.w,{onClick:()=>p(c=>!c)},l(h?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"}))))};ge.propTypes={generalSectionLinks:r().array.isRequired,pluginsSectionLinks:r().array.isRequired};var et=ge,tt=n(10728);const nt=(0,C.ZP)(v.x)`
36
- flex: 1;
37
- `,he=({children:t,sideNav:a})=>{const{formatMessage:o}=(0,W.Z)();return e.createElement(v.x,{background:"neutral100"},e.createElement(tt.z,null,o({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(m.k,{alignItems:"flex-start"},a,e.createElement(nt,null,t)))};he.propTypes={children:r().node.isRequired,sideNav:r().node.isRequired};var at=he,ot=n(26648),q=n(99140),st=n(5383),rt=n(3685),it=n(45323),lt=n(29685),ct=n(2438),dt=n.p+"19eb2dfcf2603eb55733.png",ut=n(37272),pt=n(78429);const mt=[{label:{id:"app.components.Onboarding.link.build-content",defaultMessage:"Build a content architecture"},href:"https://www.youtube.com/watch?v=G9GjN0RxhkE",duration:"5:48"},{label:{id:"app.components.Onboarding.link.manage-content",defaultMessage:"Add & manage content"},href:"https://www.youtube.com/watch?v=DEZw4KbybAI",duration:"3:18"},{label:{id:"app.components.Onboarding.link.manage-media",defaultMessage:"Manage media"},href:"https://www.youtube.com/watch?v=-61MuiMQb38",duration:"3:41"}],fe={href:"https://www.youtube.com/playlist?list=PL7Q0DQYATmvidz6lEmwE5nIcOAYagxWqq",label:{id:"app.components.Onboarding.link.more-videos",defaultMessage:"Watch more videos"}},gt=[{label:{id:"global.documentation",defaultMessage:"documentation"},href:"https://docs.strapi.io",icon:ut.Z},{label:{id:"app.static.links.cheatsheet",defaultMessage:"cheatsheet"},href:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf",icon:pt.Z}],ht=(0,C.ZP)(H.z)`
38
- border-radius: 50%;
39
- padding: ${({theme:t})=>t.spaces[3]};
40
- /* Resetting 2rem height defined by Button component */
41
- height: 100%;
42
- `,ft=(0,C.ZP)(m.k)`
43
- transform: translate(-50%, -50%);
44
- `,Et=(0,C.ZP)(m.k)`
45
- text-decoration: none;
46
-
47
- :focus-visible {
48
- outline-offset: ${({theme:t})=>`-${t.spaces[1]}`};
49
- }
50
-
51
- :hover {
52
- background: ${({theme:t})=>t.colors.primary100};
53
-
54
- /* Hover style for the number displayed */
55
- ${E.Z}:first-child {
56
- color: ${({theme:t})=>t.colors.primary500};
57
- }
58
-
59
- /* Hover style for the label */
60
- ${E.Z}:nth-child(1) {
61
- color: ${({theme:t})=>t.colors.primary600};
62
- }
63
- }
64
- `,yt=C.ZP.img`
65
- width: ${({theme:t})=>t.spaces[10]};
66
- height: ${({theme:t})=>t.spaces[8]};
67
- /* Same overlay used in ModalLayout */
68
- background: ${({theme:t})=>`${t.colors.neutral800}1F`};
69
- border-radius: ${({theme:t})=>t.borderRadius};
70
- `,Ee=(0,C.ZP)(E.Z)`
71
- /* line height of label and watch more to 1 so they can be better aligned visually */
72
- line-height: 1;
73
- `,ye=(0,C.ZP)(Ee)`
74
- text-decoration: none;
75
-
76
- :hover {
77
- text-decoration: underline;
78
- }
79
- `;var vt=()=>{const t=(0,e.useRef)(),[a,o]=(0,e.useState)(!1),{formatMessage:i}=(0,W.Z)(),{communityEdition:d}=(0,s.L7)(),u=()=>{o(p=>!p)},h=[...gt,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:it.Z,href:d?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(v.x,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(ht,{"aria-label":i(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:u,ref:t},e.createElement(q.J,{as:a?oe.Z:lt.Z,color:"buttonNeutral0"})),a&&e.createElement(ne.h,null,e.createElement(st.VY,{padding:0,onDimiss:u,source:t,placement:"top-end",spacing:12},e.createElement(m.k,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(Ee,{fontWeight:"bold"},i({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(ye,{as:"a",href:fe.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},i(fe.label))),e.createElement(ue.i,null),mt.map(({href:p,duration:g,label:l},I)=>e.createElement(Et,{as:"a",href:p,target:"_blank",rel:"noreferrer noopener",key:p,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(v.x,{paddingRight:5},e.createElement(E.Z,{textColor:"neutral200",variant:"alpha"},I+1)),e.createElement(v.x,{position:"relative"},e.createElement(yt,{src:dt,alt:""}),e.createElement(ft,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(q.J,{as:ct.Z,color:"buttonNeutral0",width:3,height:3}))),e.createElement(m.k,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(E.Z,{fontWeight:"bold"},i(l)),e.createElement(rt.T,null,":"),e.createElement(E.Z,{textColor:"neutral600",variant:"pi"},g)))),e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:2,paddingLeft:5,paddingTop:2,paddingBottom:5},h.map(({label:p,href:g,icon:l})=>e.createElement(m.k,{gap:3,key:g},e.createElement(q.J,{as:l,color:"primary600"}),e.createElement(ye,{as:"a",href:g,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},i(p))))))))};const Ct=(0,e.lazy)(()=>Promise.all([n.e(6405),n.e(9932),n.e(5932),n.e(994)]).then(n.bind(n,691))),Tt=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,42566))),Mt=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),St=(0,e.lazy)(()=>n.e(5516).then(n.bind(n,89948))),ve=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),Pt=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),It=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,84355))),Ce=(0,e.lazy)(()=>n.e(5895).then(n.bind(n,75960))),Rt=()=>{const{trackUsage:t}=(0,s.rS)(),a=(0,x.I0)(),o=(0,x.v9)(i=>i.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:ot.eb}))},[o])};var At=()=>{Rt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:o}=(0,S.H9)(),{menu:i}=(0,s.j1)(),{showTutorials:d}=(0,S.um)(),u=(0,e.useMemo)(()=>i.filter(h=>h.Component).map(({to:h,Component:p,exact:g})=>(0,L.ot)(p,h,g)),[i]);return t?e.createElement(s.dO,null):e.createElement(P.DndProvider,{backend:U.PD},e.createElement(at,{sideNav:e.createElement(et,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(s.dO,null)},e.createElement(f.rs,null,e.createElement(f.AW,{path:"/",component:Tt,exact:!0}),e.createElement(f.AW,{path:"/me",component:It,exact:!0}),e.createElement(f.AW,{path:"/content-manager",component:Ct}),u,e.createElement(f.AW,{path:"/settings/:settingId",component:Ce}),e.createElement(f.AW,{path:"/settings",component:Ce,exact:!0}),e.createElement(f.AW,{path:"/marketplace"},e.createElement(St,null)),e.createElement(f.AW,{path:"/list-plugins",exact:!0},e.createElement(Mt,null)),e.createElement(f.AW,{path:"/404",component:ve}),e.createElement(f.AW,{path:"/500",component:Pt}),e.createElement(f.AW,{path:"",component:ve}))),e.createElement(ze,null),d&&e.createElement(vt,null)))},Lt=t=>({plugins:Object.keys(t).reduce((a,o)=>(a[o]={...t[o]},a),{})}),Ot=n(3040),xt=n.n(Ot);const Te={plugins:null};var bt=(t=Te,a)=>(0,ce.ZP)(t,o=>{switch(a.type){case"SET_PLUGIN_READY":{xt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Dt=()=>{const{plugins:t}=(0,s.j1)(),[{plugins:a},o]=(0,e.useReducer)(bt,Te,()=>Lt(t)),i=(0,e.useRef)(u=>{o({type:"SET_PLUGIN_READY",pluginId:u})});if(Object.keys(a).some(u=>a[u].isReady===!1)){const u=Object.keys(a).reduce((h,p)=>{const g=a[p].initializer;if(g){const l=a[p].pluginId;h.push(e.createElement(g,{key:l,setPlugin:i.current}))}return h},[]);return e.createElement(e.Fragment,null,u,e.createElement(s.dO,null))}return e.createElement(At,null)},Me=n(17367);const kt=()=>({type:Me.l}),Zt=t=>({type:Me.m,permissions:t}),Se=({children:t,permissions:a,refetchPermissions:o})=>{const{allPermissions:i}=(0,x.v9)(u=>u.rbacProvider),d=(0,x.I0)();return(0,e.useEffect)(()=>(d(Zt(a)),()=>{d(kt())}),[a,d]),i?e.createElement(s.oL.Provider,{value:{allPermissions:i,refetchPermissions:o}},t):e.createElement(s.dO,null)};Se.propTypes={children:r().element.isRequired,permissions:r().array.isRequired,refetchPermissions:r().func.isRequired};var Bt=Se,Wt=n(54770),_=n.n(Wt),Pe=(t,a)=>!_().valid(t)||!_().valid(a)?!1:_().lt(t,a);const Ie=M.i8,Gt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:ee}=(0,s.tg)(),Nt=async t=>{try{const a=await fetch("https://api.github.com/repos/strapi/strapi/releases/latest");if(!a.ok)throw new Error("Failed to fetch latest Strapi version.");const{tag_name:o}=await a.json();return Pe(Ie,o)&&Gt&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${o}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),o}catch{return Ie}},Ut=async()=>{try{const{data:t,headers:a}=await ee("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},Ft=async()=>{try{const{data:t,headers:a}=await ee("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},jt=async()=>{try{const{data:{data:{roles:t}}}=await ee("/admin/users/me");return t}catch(t){throw new Error(t)}},Re=M.i8;var $t=()=>{const{setGuidedTourVisibility:t}=(0,s.c1)(),a=(0,s.lm)(),o=s.I8.getUserInfo(),i=B()(o,"username")||(0,L.Pp)(o.firstname,o.lastname),[d,u]=(0,e.useState)(i),[h,p]=(0,e.useState)(null),{showReleaseNotification:g}=(0,S.um)(),[{data:l,status:I},{data:b,isLoading:j},{data:$,status:N,refetch:A,isFetched:Q,isFetching:D},{data:R}]=(0,y.useQueries)([{queryKey:"app-infos",queryFn:Ut},{queryKey:"strapi-release",queryFn:()=>Nt(a),enabled:g,initialData:Re},{queryKey:"admin-users-permission",queryFn:Ft,initialData:[]},{queryKey:"user-roles",queryFn:jt}]),k=Pe(Re,b);return(0,e.useEffect)(()=>{R&&R.find(({code:z})=>z==="strapi-super-admin")&&l?.autoReload&&t(!0)},[R,l,t]),(0,e.useEffect)(()=>{(async()=>{const z=await(0,L.Qy)(o);p(z)})()},[o]),j||(D&&Q||I==="loading"||N==="loading")?e.createElement(s.dO,null):I==="error"?e.createElement("div",null,"error..."):e.createElement(s.iq,{...l,userId:h,latestStrapiReleaseTag:b,setUserDisplayName:u,shouldUpdateStrapi:k,userDisplayName:d},e.createElement(Bt,{permissions:$,refetchPermissions:A},e.createElement(Dt,null)))}},78024:function(K,T,n){var e=n(32735),s=n(72850),O=n(19565),B=n(60216),y=n.n(B),M=n(23678);const S=({type:L,...P})=>e.createElement(s.x,{width:(0,O.Q1)(2),height:"100%",background:L===M.VM?"neutral300":"primary500",hasRadius:!0,...P});S.defaultProps={type:M.VM},S.propTypes={type:y().oneOf([M.lW,M.hx,M.VM])},T.Z=S},14317:function(K,T,n){var e=n(32735),s=n(87933),O=n(99140),B=n(49372),y=n(19565),M=n(66456),S=n(60216),L=n.n(S),P=n(23678);const U=({type:x,number:f})=>x===P.hx?e.createElement(s.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,y.Q1)(30),height:(0,y.Q1)(30),justifyContent:"center"},e.createElement(O.J,{as:M.Z,"aria-hidden":!0,width:(0,y.Q1)(16),color:"neutral0"})):x===P.lW?e.createElement(s.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,y.Q1)(30),height:(0,y.Q1)(30),justifyContent:"center"},e.createElement(B.Z,{fontWeight:"semiBold",textColor:"neutral0"},f)):e.createElement(s.k,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,y.Q1)(30),height:(0,y.Q1)(30),justifyContent:"center"},e.createElement(B.Z,{fontWeight:"semiBold",textColor:"neutral600"},f));U.defaultProps={number:void 0,type:P.VM},U.propTypes={number:L().number,type:L().oneOf([P.lW,P.hx,P.VM])},T.Z=U},23678:function(K,T,n){n.d(T,{VM:function(){return O},hx:function(){return s},lW:function(){return e}});const e="isActive",s="isDone",O="isNotDone"},58107:function(K,T){const n={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=n}}]);
@@ -1,61 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{32903:function(Z,v,t){"use strict";t.r(v),t.d(v,{default:function(){return Os}});var e=t(32735),f=t(12301),y=t(65810),E=t(56784),c=t.n(E),m=t(93839),A=t.n(m),M=t(86349),L=t.n(M),U=t(88423),b=t.n(U),D=t(74758),S=t(14911),R=t(47750),T="strapi-admin-language",i=t(19565),B=t(60216),a=t.n(B),ue=t(20108),me=t(15062),I=t(66694),x=t(97889);const ee={menuLogo:null,authLogo:null};var Re=(o=ee,s)=>(0,x.ZP)(o,n=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(n,s.values);break}default:return n}});const ge=({children:o,authLogo:s,menuLogo:n,showReleaseNotification:r,showTutorials:l})=>{const[{menuLogo:h,authLogo:p},P]=(0,e.useReducer)(Re,ee),N=(0,e.useCallback)(({menuLogo:Y,authLogo:C})=>P({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:Y||n,authLogo:C||s}}),[s,n]),j=(0,e.useMemo)(()=>({logos:{menu:{custom:h,default:n},auth:{custom:p,default:s}},updateProjectSettings:N,showReleaseNotification:r,showTutorials:l}),[h,n,p,s,N,r,l]);return e.createElement(I._5.Provider,{value:j},o)};ge.propTypes={authLogo:a().string.isRequired,children:a().element.isRequired,menuLogo:a().string.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired};var we=ge,ke=t(33795),Se=t.n(ke),ze=t(3040),je=t.n(ze);const et="GUIDED_TOUR_CURRENT_STEP",$e="GUIDED_TOUR_COMPLETED_STEPS",mt="GUIDED_TOUR_SKIPPED",tt=JSON.parse,Je=JSON.stringify;var De={clear(){localStorage.removeItem(et),localStorage.removeItem($e)},addCompletedStep(o){const s=tt(localStorage.getItem($e))?.slice()||[];s.includes(o)||(s.push(o),localStorage.setItem($e,Je(s)))},addCurrentStep(o){localStorage.setItem(et,Je(o))},setSkipped(o){localStorage.setItem(mt,Je(o))},get(o){return tt(localStorage.getItem(o))}},gt=o=>{const s={...o},n=De.get($e),r=De.get(et),l=De.get(mt);if(n&&n.forEach(h=>{const[p,P]=h.split(".");je()(s,["guidedTourState",p,P],!0)}),r){const[h,p]=r.split(".");je()(s,["guidedTourState",h,p],!0),De.addCompletedStep(r),De.addCurrentStep(null)}return l!==null&&je()(s,"isSkipped",l),s};const pt={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var st=(o=pt,s)=>(0,x.ZP)(o,n=>{switch(s.type){case"SET_CURRENT_STEP":{n.currentStep=s.step;break}case"SET_STEP_STATE":{const[r,l]=s.currentStep.split(".");n.guidedTourState[r][l]=s.value;break}case"SET_SKIPPED":{n.isSkipped=s.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{n.isGuidedTourVisible=s.value;break}default:return n}}),ft=(o,s)=>{const n=Object.entries(s),r=n.findIndex(([h])=>h===o);return n.slice(0,r).every(([,h])=>Object.values(h).every(Boolean))},ht=(o,s)=>{const n=o.split("."),r=n[1],l=Object.entries(s[n[0]]),h=l.findIndex(([P])=>P===r);return l.slice(0,h).every(([,P])=>P)};const nt=({children:o})=>{const[{currentStep:s,guidedTourState:n,isGuidedTourVisible:r,isSkipped:l},h]=(0,e.useReducer)(st,pt,gt),p=C=>{if(C!==null){const oe=Se()(n,C),Q=ht(C,n);if(oe||l||!Q)return null}return De.addCurrentStep(C),h({type:"SET_CURRENT_STEP",step:C})},P=C=>{h({type:"SET_GUIDED_TOUR_VISIBILITY",value:C})},N=(C,oe)=>{De.addCompletedStep(C),h({type:"SET_STEP_STATE",currentStep:C,value:oe})},j=C=>{const oe=n[C];if(oe){const Q=ft(C,n),re=Object.keys(oe)[0],q=oe[re];if(Q&&!s&&!q)return p(`${C}.${re}`)}return null},Y=C=>{De.setSkipped(C),h({type:"SET_SKIPPED",value:C})};return e.createElement(i.Zc,{guidedTourState:n,currentStep:s,setCurrentStep:p,setGuidedTourVisibility:P,setSkipped:Y,setStepState:N,startSection:j,isGuidedTourVisible:r,isSkipped:l},o)};nt.propTypes={children:a().element.isRequired};var Et=nt,at=t(58732),Ht=t.n(at),Pt=t(78023),vt=t(5985);const Ze=({changeLocale:o,children:s,localeNames:n})=>e.createElement(vt.Z.Provider,{value:{changeLocale:o,localeNames:n}},s);Ze.propTypes={changeLocale:a().func.isRequired,children:a().element.isRequired,localeNames:a().object.isRequired};var yt=Ze,Rt=o=>{const s=window.localStorage.getItem(T);return{locale:o[s]?s:"en",localeNames:o}};const ot={localeNames:{en:"English"},locale:"en"};var Ct=(o=ot,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:n}=s;return o.localeNames[n]?{...o,locale:n}:o}default:return o}};const Mt=({children:o,localeNames:s,messages:n})=>{const[{locale:r},l]=(0,e.useReducer)(Ct,ot,()=>Rt(s));(0,e.useEffect)(()=>{window.localStorage.setItem(T,r),document.documentElement.setAttribute("lang",r)},[r]);const h=P=>{l({type:"CHANGE_LOCALE",locale:P})},p=Ht()(n[r],n.en);return e.createElement(Pt.Z,{locale:r,defaultLocale:"en",messages:p,textComponent:"span"},e.createElement(yt,{changeLocale:h,localeNames:s},o))};Mt.propTypes={children:a().element.isRequired,localeNames:a().objectOf(a().string).isRequired,messages:a().object.isRequired};var Lt=Mt,St=t(24854),Ie=t(67879),Dt=t(10328),Be=t(8471),It=Be.vJ`
2
- body {
3
- background: ${({theme:o})=>o.colors.neutral100};
4
- }
5
- `;const Ot=({children:o})=>{const{currentTheme:s,themes:n}=(0,Dt.M1)(),{locale:r}=(0,Ie.Z)();return e.createElement(St.h,{locale:r,theme:n[s]||n.light},o,e.createElement(It,null))};Ot.propTypes={children:a().element.isRequired};var bt=Ot;const it="STRAPI_THEME",Ut=()=>{const o=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(it);return s||localStorage.setItem(it,o),s||o},kt=({children:o,themes:s})=>{const[n,r]=(0,e.useState)(Ut()),l=(0,e.useCallback)(p=>{r(p),localStorage.setItem(it,p)},[r]),h=(0,e.useMemo)(()=>({currentTheme:n,onChangeTheme:l,themes:s}),[n,l,s]);return e.createElement(I.Rj.Provider,{value:h},o)};kt.propTypes={children:a().node.isRequired,themes:a().shape({light:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,dark:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,custom:a().object}).isRequired};var jt=kt;const g=new ue.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),d=({authLogo:o,children:s,components:n,customFields:r,fields:l,getAdminInjectedComponents:h,getPlugin:p,localeNames:P,menu:N,menuLogo:j,messages:Y,plugins:C,runHookParallel:oe,runHookSeries:Q,runHookWaterfall:re,settings:q,showReleaseNotification:K,showTutorials:Fe,store:Ge,themes:te})=>e.createElement(Lt,{messages:Y,localeNames:P},e.createElement(jt,{themes:te},e.createElement(bt,null,e.createElement(ue.QueryClientProvider,{client:g},e.createElement(me.zt,{store:Ge},e.createElement(I.ux.Provider,{value:{getAdminInjectedComponents:h}},e.createElement(we,{authLogo:o,menuLogo:j,showReleaseNotification:K,showTutorials:Fe},e.createElement(i._Y,{getPlugin:p,menu:N,plugins:C,runHookParallel:oe,runHookWaterfall:re,runHookSeries:Q,settings:q},e.createElement(i.rt,{components:n,fields:l},e.createElement(i.MG,{customFields:r},e.createElement(i.m$,null,e.createElement(i.w7,null,e.createElement(Et,null,e.createElement(i.N$,null,s))))))))))))));d.propTypes={authLogo:a().oneOfType([a().string,a().any]).isRequired,children:a().element.isRequired,components:a().object.isRequired,customFields:a().object.isRequired,fields:a().object.isRequired,getAdminInjectedComponents:a().func.isRequired,getPlugin:a().func.isRequired,localeNames:a().objectOf(a().string).isRequired,menu:a().arrayOf(a().shape({to:a().string.isRequired,icon:a().func.isRequired,intlLabel:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired}).isRequired,permissions:a().array,Component:a().func})).isRequired,menuLogo:a().oneOfType([a().string,a().any]).isRequired,messages:a().object.isRequired,plugins:a().object.isRequired,runHookParallel:a().func.isRequired,runHookWaterfall:a().func.isRequired,runHookSeries:a().func.isRequired,settings:a().object.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired,store:a().object.isRequired,themes:a().shape({light:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,dark:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,custom:a().object}).isRequired};var u=d,O=t(20284),k=t(6680);const W=(o,s)=>{let n=k.compose;const r=[];o.forEach(h=>{r.push(h())});const l=(0,k.createStore)($(s,{}),{},n((0,k.applyMiddleware)(...r)));return l.asyncReducers={},l.injectReducer=(h,p)=>{l.asyncReducers[h]=p,l.replaceReducer($(s,l.asyncReducers))},l},$=(o,s)=>(0,k.combineReducers)({...o,...s});var F=W,X=t(78246),G=()=>{const o=[];return{register(s){o.push(s)},delete(s){o.splice(o.indexOf(s),1)},runWaterfall(s,n){return o.reduce((r,l)=>l(r,n),s)},async runWaterfallAsync(s,n){let r=s;for(const l of o)r=await l(r,n);return r},runSeries(...s){return o.map(n=>n(...s))},async runSeriesAsync(...s){const n=[];for(const r of o)n.push(await r(...s));return n},runParallel(...s){return Promise.all(o.map(n=>n(...s)))}}},Pe=t(46339),Oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=",Xe={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},xe=t(10728),ne=t(53038);const We=({component:o,path:s,...n})=>{const{pathname:r,search:l}=(0,ne.TH)();return e.createElement(ne.AW,{path:s,render:h=>i.I8.getToken()!==null?e.createElement(o,{...n,...h}):e.createElement(ne.l_,{to:{pathname:"/auth/login",search:r!=="/"&&`?redirectTo=${encodeURIComponent(`${r}${l}`)}`}})})};We.propTypes={component:a().any.isRequired,path:a().string.isRequired};var Ne=(0,e.memo)(We);const Ke={contentManager:{main:[],collectionTypesConfigurations:[{action:"plugin::content-manager.collection-types.configure-view",subject:null}],componentsConfigurations:[{action:"plugin::content-manager.components.configure-layout",subject:null}],singleTypesConfigurations:[{action:"plugin::content-manager.single-types.configure-view",subject:null}]},marketplace:{main:[{action:"admin::marketplace.read",subject:null}],read:[{action:"admin::marketplace.read",subject:null}]},settings:{roles:{main:[{action:"admin::roles.create",subject:null},{action:"admin::roles.update",subject:null},{action:"admin::roles.read",subject:null},{action:"admin::roles.delete",subject:null}],create:[{action:"admin::roles.create",subject:null}],delete:[{action:"admin::roles.delete",subject:null}],read:[{action:"admin::roles.read",subject:null}],update:[{action:"admin::roles.update",subject:null}]},users:{main:[{action:"admin::users.create",subject:null},{action:"admin::users.read",subject:null},{action:"admin::users.update",subject:null},{action:"admin::users.delete",subject:null}],create:[{action:"admin::users.create",subject:null}],delete:[{action:"admin::users.delete",subject:null}],read:[{action:"admin::users.read",subject:null}],update:[{action:"admin::users.update",subject:null}]},webhooks:{main:[{action:"admin::webhooks.create",subject:null},{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],create:[{action:"admin::webhooks.create",subject:null}],delete:[{action:"admin::webhooks.delete",subject:null}],read:[{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],update:[{action:"admin::webhooks.update",subject:null}]},"api-tokens":{main:[{action:"admin::api-tokens.access",subject:null}],create:[{action:"admin::api-tokens.create",subject:null}],delete:[{action:"admin::api-tokens.delete",subject:null}],read:[{action:"admin::api-tokens.read",subject:null}],update:[{action:"admin::api-tokens.update",subject:null}],regenerate:[{action:"admin::api-tokens.regenerate",subject:null}]},"transfer-tokens":{main:[{action:"admin::transfer.tokens.access",subject:null}],create:[{action:"admin::transfer.tokens.create",subject:null}],delete:[{action:"admin::transfer.tokens.delete",subject:null}],read:[{action:"admin::transfer.tokens.read",subject:null}],update:[{action:"admin::transfer.tokens.update",subject:null}],regenerate:[{action:"admin::transfer.tokens.regenerate",subject:null}]},"project-settings":{read:[{action:"admin::project-settings.read",subject:null}],update:[{action:"admin::project-settings.update",subject:null}]}}};var ve=t(18782),ae=t(8997),pe=t(84306),be=t(39935),qe=t.n(be),ss=t(9086),rt=t.n(ss),ns=t(20139),as=t(41832),z=t(24346),Ve=t(27649),ye=t(72850),Te=t(49372),Ae=t(87933),He=t(10369),lt=t(41415),wt=t(92802),Ye=t(10190),ce=t(954);const Zt=({onSubmit:o,schema:s})=>{const{formatMessage:n}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:r,errors:l,handleChange:h})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},n({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),l.errorMessage&&e.createElement(Te.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},n({id:l.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(He.o,{error:l.email?n({id:l.email,defaultMessage:"This email is invalid."}):"",value:r.email,onChange:h,label:n({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:n({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(lt.z,{type:"submit",fullWidth:!0},n({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},n({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Zt.defaultProps={onSubmit:o=>o.preventDefault()},Zt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var os=Zt,is=()=>{const{formatMessage:o}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},o({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),e.createElement(Te.Z,null,o({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),e.createElement(ye.x,{paddingTop:4},e.createElement(Te.Z,null,o({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},rs=()=>{const{formatMessage:o}=(0,Ie.Z)(),n=(0,i.aM)().get("info")||o({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},o({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),e.createElement(Te.Z,null,n),e.createElement(ye.x,{paddingTop:4},e.createElement(Te.Z,null,o({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},ls=t(15335),Gt=t(5803),us=t(8284),ut=t(54894),ct=t(60492),dt=t(72218);const zt=Be.ZP.a`
6
- color: ${({theme:o})=>o.colors.primary600};
7
- `,$t=(0,Be.ZP)(He.o)`
8
- ::-ms-reveal {
9
- display: none;
10
- }
11
- `,Bt=({authType:o,fieldsToDisable:s,noSignin:n,onSubmit:r,schema:l})=>{const h=(0,i.lm)(),{push:p}=(0,ne.k6)(),[P,N]=(0,e.useState)(!1),[j,Y]=(0,e.useState)(!1),[C,oe]=(0,e.useState)(0),[Q,re]=(0,e.useState)({}),{trackUsage:q}=(0,i.rS)(),{formatMessage:K}=(0,Ie.Z)(),Fe=(0,i.aM)(),{formatAPIError:Ge}=(0,i.So)(),{get:te}=(0,i.kY)(),ie=Fe.get("registrationToken");(0,e.useEffect)(()=>{ie&&(async()=>{try{const{data:{data:w}}=await te(`/admin/registration-info?registrationToken=${ie}`);w&&re(w)}catch(w){const J=Ge(w);h({type:"warning",message:J}),p(`/auth/oops?info=${encodeURIComponent(J)}`)}})()},[ie]);function Ce(fe){return Object.entries(fe).reduce((w,[J,he])=>{let le=he;return!["password","confirmPassword"].includes(J)&&typeof he=="string"&&(le=le.trim()),w[J]=le,w},{})}return e.createElement(ce.ZP,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{firstname:Q.firstname||"",lastname:Q.lastname||"",email:Q.email||"",password:"",confirmPassword:"",registrationToken:ie||void 0,news:!1},onSubmit:async(fe,w)=>{const J=Ce(fe);try{await l.validate(J,{abortEarly:!1}),C>0&&o==="register-admin"&&q("didSubmitWithErrorsFirstAdmin",{count:C.toString()}),r(ie?{userInfo:rt()(J,["registrationToken"]),registrationToken:ie}:J,w)}catch(he){const le=(0,i.CJ)(he);oe(C+1),w.setErrors(le)}},validateOnChange:!1},({values:fe,errors:w,handleChange:J})=>e.createElement(i.l0,{noValidate:!0},e.createElement(Ve.o,null,e.createElement(Ae.k,{direction:"column",alignItems:"center",gap:3},e.createElement(Ye.Z,null),e.createElement(Te.Z,{as:"h1",variant:"alpha",textAlign:"center"},K({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),e.createElement(Te.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},K({id:"Auth.form.register.subtitle",defaultMessage:"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."}))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},e.createElement(ls.r,{gap:4},e.createElement(Gt.P,{col:6},e.createElement(He.o,{name:"firstname",required:!0,value:fe.firstname,error:w.firstname?K(w.firstname):void 0,onChange:J,label:K({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),e.createElement(Gt.P,{col:6},e.createElement(He.o,{name:"lastname",value:fe.lastname,onChange:J,label:K({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),e.createElement(He.o,{name:"email",disabled:s.includes("email"),value:fe.email,onChange:J,error:w.email?K(w.email):void 0,required:!0,label:K({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),e.createElement($t,{name:"password",onChange:J,value:fe.password,error:w.password?K(w.password):void 0,endAction:e.createElement(dt.Z,{onClick:he=>{he.preventDefault(),N(le=>!le)},label:K(P?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},P?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),hint:K({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:K({id:"global.password",defaultMessage:"Password"}),type:P?"text":"password"}),e.createElement($t,{name:"confirmPassword",onChange:J,value:fe.confirmPassword,error:w.confirmPassword?K(w.confirmPassword):void 0,endAction:e.createElement(dt.Z,{onClick:he=>{he.preventDefault(),Y(le=>!le)},label:K(j?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},j?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),required:!0,label:K({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:j?"text":"password"}),e.createElement(us.X,{onValueChange:he=>{J({target:{value:he,name:"news"}})},value:fe.news,name:"news","aria-label":"news"},K({id:"Auth.form.register.news.label",defaultMessage:"Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy})."},{terms:e.createElement(zt,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},K({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:e.createElement(zt,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},K({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),e.createElement(lt.z,{fullWidth:!0,size:"L",type:"submit"},K({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!n&&e.createElement(ye.x,{paddingTop:4},e.createElement(Ae.k,{justifyContent:"center"},e.createElement(i.rU,{label:"Auth.link.signin",to:"/auth/login"},K({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Bt.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:o=>o.preventDefault()},Bt.propTypes={authType:a().string.isRequired,fieldsToDisable:a().array,noSignin:a().bool,onSubmit:a().func,schema:a().shape({validate:a().func.isRequired,type:a().string.isRequired}).isRequired};var _t=Bt;const Vt=(0,Be.ZP)(He.o)`
12
- ::-ms-reveal {
13
- display: none;
14
- }
15
- `,xt=({onSubmit:o,schema:s})=>{const[n,r]=(0,e.useState)(!1),[l,h]=(0,e.useState)(!1),{formatMessage:p}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:P,errors:N,handleChange:j})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},p({id:"global.reset-password",defaultMessage:"Reset password"}))),N.errorMessage&&e.createElement(Te.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},p({id:N.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Vt,{name:"password",onChange:j,value:P.password,error:N.password?p({id:N.password,defaultMessage:"This field is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:Y=>{Y.preventDefault(),r(C=>!C)},label:p(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},n?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),hint:p({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:p({id:"global.password",defaultMessage:"Password"}),type:n?"text":"password"}),e.createElement(Vt,{name:"confirmPassword",onChange:j,value:P.confirmPassword,error:N.confirmPassword?p({id:N.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:Y=>{Y.preventDefault(),h(C=>!C)},label:p(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},l?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),required:!0,label:p({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:l?"text":"password"}),e.createElement(lt.z,{fullwidth:!0,type:"submit"},p({id:"global.change-password",defaultMessage:"Change password"})))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},p({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};xt.defaultProps={onSubmit:o=>o.preventDefault()},xt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var cs=xt;const ds=(()=>window&&window.strapi&&window.strapi.isEE?t(98768).Z:t(5365).Z)(),Yt={"forgot-password":{Component:os,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:z.Ry().shape({email:z.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:is,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:ds,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:z.Ry().shape({email:z.Z_().email(i.I0.email).required(i.I0.required),password:z.Z_().required(i.I0.required),rememberMe:z.Xg().nullable()}),inputsPrefix:""},oops:{Component:rs,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:_t,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:z.Ry().shape({firstname:z.Z_().trim().required(i.I0.required),lastname:z.Z_(),password:z.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:z.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:_t,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:z.Ry().shape({firstname:z.Z_().trim().required(i.I0.required),lastname:z.Z_(),password:z.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),email:z.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:cs,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:z.Ry().shape({password:z.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}};var ms=o=>o;const Qt={formErrors:{},modifiedData:{},requestError:null},gs=(o,s)=>(0,x.ZP)(o,n=>{switch(s.type){case"ON_CHANGE":{je()(n.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Qt;case"SET_DATA":{n.modifiedData=s.data;break}case"SET_ERRORS":{n.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{n.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return n}}),Wt=({hasAdmin:o,setHasAdmin:s})=>{const{push:n,location:{search:r}}=(0,ne.k6)(),{changeLocale:l}=(0,ns.Z)(),{setSkipped:h}=(0,i.c1)(),{trackUsage:p}=(0,i.rS)(),{params:{authType:P}}=(0,ne.$B)("/auth/:authType"),N=(0,i.aM)(),j=(0,ve.c)(Yt,async()=>(await t.e(1386).then(t.bind(t,91386))).FORMS,{combine(_,se){return{..._,...se}},defaultValue:Yt}),[{formErrors:Y,modifiedData:C,requestError:oe},Q]=(0,e.useReducer)(gs,Qt,ms),q=pe.default.CancelToken.source(),{Component:K,endPoint:Fe,fieldsToDisable:Ge,fieldsToOmit:te,inputsPrefix:ie,schema:Ce,...fe}=j?.[P]??{};(0,e.useEffect)(()=>()=>{q.cancel("Component unmounted")},[]);const{post:w}=(0,i.kY)();(0,e.useEffect)(()=>{Q({type:"RESET_PROPS"})},[P]);const J=({target:{name:_,value:se}})=>{Q({type:"ON_CHANGE",keys:_,value:se})},he=async(_,{setSubmitting:se,setErrors:Me})=>{se(!0);const Ue=rt()(_,te),V=`/admin/${Fe}`;P==="login"&&await bs(_,V,{setSubmitting:se,setErrors:Me}),(P==="register"||P==="register-admin")&&await Us(_,V,{setSubmitting:se,setErrors:Me}),P==="forgot-password"&&await le(Ue,V,{setSubmitting:se,setErrors:Me}),P==="reset-password"&&await ks(Ue,V,{setSubmitting:se,setErrors:Me})},le=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{await w(se,_,{cancelToken:q.token}),n("/auth/forgot-password-success")}catch(V){console.error(V),Ue({errorMessage:"notification.error"})}finally{Me(!1)}},bs=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{const{data:{data:{token:V,user:de}}}=await w(se,rt()(_,te),{cancelToken:q.token});de.preferedLanguage&&l(de.preferedLanguage),i.I8.setToken(V,_.rememberMe),i.I8.setUserInfo(de,_.rememberMe),Xt()}catch(V){if(V.response){const de=Se()(V,["response","data","error","message"],"Something went wrong");if(qe()(de).toLowerCase()==="usernotactive"){n("/auth/oops"),Q({type:"RESET_PROPS"});return}Ue({errorMessage:de})}}finally{Me(!1)}},Us=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{p("willCreateFirstAdmin");const{data:{data:{token:V,user:de}}}=await w(se,rt()(_,te),{cancelToken:q.token});i.I8.setToken(V,!1),i.I8.setUserInfo(de,!1),Me(!1),s(!0);const{roles:Qe}=de;if(Qe&&Qe.find(({code:js})=>js==="strapi-super-admin")&&(De.setSkipped(!1),h(!1),p("didLaunchGuidedtour")),P==="register"&&_.userInfo.news===!0||P==="register-admin"&&_.news===!0){n({pathname:"/usecase",search:`?hasAdmin=${o}`});return}Xt()}catch(V){if(p("didNotCreateFirstAdmin"),V.response){const{data:de}=V.response,Qe=(0,as.Z)(de);Ue({apiErrors:Qe})}}},ks=async(_,se,{setErrors:Me,setSubmitting:Ue})=>{try{const{data:{data:{token:V,user:de}}}=await w(se,{..._,resetPasswordToken:N.get("code")},{cancelToken:q.token});i.I8.setToken(V,!1),i.I8.setUserInfo(de,!1),n("/")}catch(V){if(V.response){const de=Se()(V,["response","data","message"],"Something went wrong"),Qe=Se()(V,["response","data","statusCode"],400);Q({type:"SET_REQUEST_ERROR",errorMessage:de,errorStatus:Qe}),Me({errorMessage:de})}}finally{Ue(!1)}},Xt=()=>{if(P==="login"){const _=N.get("redirectTo"),se=_?decodeURIComponent(_):"/";n(se)}else n("/")};return!j[P]||o&&P==="register-admin"||i.I8.getToken()?e.createElement(ne.l_,{to:"/"}):!o&&P!=="register-admin"?e.createElement(ne.l_,{to:{pathname:"/auth/register-admin",search:r}}):e.createElement(K,{...fe,authType:P,fieldsToDisable:Ge,formErrors:Y,inputsPrefix:ie,modifiedData:C,onChange:J,onSubmit:he,requestError:oe,schema:Ce})};Wt.defaultProps={hasAdmin:!1},Wt.propTypes={hasAdmin:a().bool,setHasAdmin:a().func.isRequired};var ps=Wt,fs=t(53951),hs=t(68465),Es=t(84967),Ps=t(7563),vs=t(33348);const ys=[{intlLabel:{id:"Usecase.front-end",defaultMessage:"Front-end developer"},value:"front_end_developer"},{intlLabel:{id:"Usecase.back-end",defaultMessage:"Back-end developer"},value:"back_end_developer"},{intlLabel:{id:"Usecase.full-stack",defaultMessage:"Full-stack developer"},value:"full_stack_developer"},{intlLabel:{id:"global.content-manager",defaultMessage:"Content Manager"},value:"content_manager"},{intlLabel:{id:"Usecase.content-creator",defaultMessage:"Content Creator"},value:"content_creator"},{intlLabel:{id:"Usecase.other",defaultMessage:"Other"},value:"other"}],Ts=(0,Be.ZP)(Te.Z)`
16
- text-align: center;
17
- `;var Rs=()=>{const o=(0,i.lm)(),{push:s,location:n}=(0,ne.k6)(),{formatMessage:r}=(0,Ie.Z)(),[l,h]=(0,e.useState)(),[p,P]=(0,e.useState)(""),{post:N}=(0,i.kY)(),{firstname:j,email:Y}=i.I8.getUserInfo(),{hasAdmin:C}=(0,vs.parse)(n?.search,{ignoreQueryPrefix:!0}),oe=l==="other",Q=async(re,q)=>{re.preventDefault();try{await N("https://analytics.strapi.io/register",{email:Y,username:j,firstAdmin:Boolean(!C),persona:{role:q?void 0:l,otherRole:q?void 0:p}}),o({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return e.createElement(ce.ZP,null,e.createElement(Ve.o,{labelledBy:"usecase-title"},e.createElement(ce.bU,null,e.createElement("form",{onSubmit:re=>Q(re,!1)},e.createElement(Ae.k,{direction:"column",paddingBottom:7},e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:1,width:(0,i.Q1)(250)},e.createElement(Ts,{variant:"alpha",as:"h1",id:"usecase-title"},r({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(hs.P,{id:"usecase","data-testid":"usecase",label:r({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:h,value:l},ys.map(({intlLabel:re,value:q})=>e.createElement(Es.W,{key:q,value:q},r(re)))),oe&&e.createElement(He.o,{name:"other",label:r({id:"Usecase.other",defaultMessage:"Other"}),value:p,onChange:re=>P(re.target.value),"data-testid":"other"}),e.createElement(lt.z,{type:"submit",size:"L",fullWidth:!0,disabled:!l},r({id:"global.finish",defaultMessage:"Finish"}))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(Ps.A,{onClick:()=>Q(!0)},r({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},Jt=t(26648),As=t(73307),Cs=async()=>`web-fingerprint-${(await(await As.ZP.load()).get()).visitorId}`;const Ms=(0,e.lazy)(()=>Promise.all([t.e(6691),t.e(801)]).then(t.bind(t,29761)));function Ls(){const o=(0,ve.c)(Ke,async()=>(await t.e(7394).then(t.bind(t,17394))).ADMIN_PERMISSIONS_EE,{combine(te,ie){return L()({},te,ie)},defaultValue:Ke}),s=(0,ve.c)(Jt.y3,async()=>(await t.e(3528).then(t.bind(t,53528))).ROUTES_EE,{defaultValue:[]}),n=(0,i.lm)(),{updateProjectSettings:r}=(0,Dt.um)(),{formatMessage:l}=(0,Ie.Z)(),[{isLoading:h,hasAdmin:p,uuid:P,deviceId:N},j]=(0,e.useState)({isLoading:!0,hasAdmin:!1}),Y=(0,me.I0)(),C=(0,i.L7)(),{get:oe,post:Q}=(0,i.kY)(),re=(0,e.useMemo)(()=>(0,ae.WW)(s.map(({to:te,Component:ie,exact:Ce})=>(0,ae.ot)(ie,te,Ce))),[s]),[q,K]=(0,e.useState)(null);(0,e.useEffect)(()=>{Y({type:Jt.XS,payload:o})},[o,Y]),(0,e.useEffect)(()=>{const te=i.I8.getToken();te&&(async()=>{try{const{data:{data:{token:Ce}}}=await Q("/admin/renew-token",{token:te});i.I8.updateToken(Ce)}catch{i.I8.clearAppStorage(),window.location.reload()}})()},[Q]),(0,e.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:ie,uuid:Ce,menuLogo:fe,authLogo:w}}}=await oe("/admin/init");r({menuLogo:(0,i.CR)(fe),authLogo:(0,i.CR)(w)});const J=await Cs();if(Ce){const{data:{data:he}}=await oe("/admin/telemetry-properties",{validateStatus:le=>le<500});K(he);try{const le="didInitializeAdministration";await Q("https://analytics.strapi.io/api/v2/track",{event:le,userId:"",deviceId:J,eventPropeties:{},userProperties:{environment:C.currentEnvironment},groupProperties:{...he,projectId:Ce}},{headers:{"X-Strapi-Event":le}})}catch{}}j({isLoading:!1,hasAdmin:ie,uuid:Ce,deviceId:J})}catch{n({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[n,r]);const Fe=te=>j(ie=>({...ie,hasAdmin:te})),Ge=(0,e.useMemo)(()=>({uuid:P,telemetryProperties:q,deviceId:N}),[P,q,N]);return h?e.createElement(i.dO,null):e.createElement(e.Suspense,{fallback:e.createElement(i.dO,null)},e.createElement(xe.z,null,l({id:"skipToContent"})),e.createElement(i.L8,{value:Ge},e.createElement(ne.rs,null,re,e.createElement(ne.AW,{path:"/auth/:authType",render:te=>e.createElement(ps,{...te,setHasAdmin:Fe,hasAdmin:p}),exact:!0}),e.createElement(Ne,{path:"/usecase",component:Rs}),e.createElement(Ne,{path:"/",component:Ms}),e.createElement(ne.AW,{path:"",component:fs.default}))))}var Ss=Ls,Ds={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",ca:"Catal\xE0",cs:"\u010Ce\u0161tina",de:"Deutsch",dk:"Dansk",en:"English",es:"Espa\xF1ol",eu:"Euskara",fr:"Fran\xE7ais",gu:"Gujarati",he:"\u05E2\u05D1\u05E8\u05D9\u05EA",hu:"Magyar",id:"Indonesian",it:"Italiano",ja:"\u65E5\u672C\u8A9E",ko:"\uD55C\uAD6D\uC5B4",ml:"Malayalam",ms:"Melayu",nl:"Nederlands",no:"Norwegian",pl:"Polski","pt-BR":"Portugu\xEAs (Brasil)",pt:"Portugu\xEAs (Portugal)",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",sk:"Sloven\u010Dina",sv:"Swedish",th:"\u0E44\u0E17\u0E22",tr:"T\xFCrk\xE7e",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",vi:"Ti\u1EBFng Vi\u1EC7t","zh-Hans":"\u4E2D\u6587 (\u7B80\u4F53)",zh:"\u4E2D\u6587 (\u7E41\u9AD4)",sa:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924",hi:"\u0939\u093F\u0928\u094D\u0926\u0940"};class Is{constructor({adminConfig:s,appPlugins:n,library:r,middlewares:l,reducers:h}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:R,head:{favicon:Oe},locales:["en"],menuLogo:R,notifications:{releases:!0},themes:{light:f.W,dark:y.$},translations:{},tutorials:!0},this.appPlugins=n||{},this.library=r,this.middlewares=l,this.plugins={},this.reducers=h,this.translations={},this.hooksDict={},this.admin={injectionZones:Xe},this.customFields=O.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=s=>{Array.isArray(s)?s.map(n=>this.library.components.add(n)):this.library.components.add(s)};addCorePluginMenuLink=s=>{const n=JSON.stringify(s);c()(s.to,`link.to should be defined for ${n}`),c()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),c()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),c()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),this.menu.push(s)};addFields=s=>{Array.isArray(s)?s.map(n=>this.library.fields.add(n)):this.library.fields.add(s)};addMenuLink=s=>{const n=JSON.stringify(s);c()(s.to,`link.to should be defined for ${n}`),c()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),c()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),c()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),c()(s.icon&&typeof s.icon=="function","link.Icon should be a valid React Component"),this.menu.push(s)};addMiddlewares=s=>{s.forEach(n=>{this.middlewares.add(n)})};addReducers=s=>{Object.keys(s).forEach(n=>{this.reducers.add(n,s[n])})};addSettingsLink=(s,n)=>{c()(this.settings[s],"The section does not exist");const r=JSON.stringify(n);c()(n.id,`link.id should be defined for ${r}`),c()(n.intlLabel?.id&&n.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${r}`),c()(n.to,`link.to should be defined for ${r}`),c()(n.Component&&typeof n.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(n)};addSettingsLinks=(s,n)=>{c()(this.settings[s],"The section does not exist"),c()(Array.isArray(n),"TypeError expected links to be an array"),n.forEach(r=>{this.addSettingsLink(s,r)})};async bootstrap(){Object.keys(this.appPlugins).forEach(s=>{const n=this.appPlugins[s].bootstrap;n&&n({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),A()(this.customBootstrapConfiguration)&&this.customBootstrapConfiguration({addComponents:this.addComponents,addFields:this.addFields,addMenuLink:this.addMenuLink,addReducers:this.addReducers,addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}bootstrapAdmin=async()=>(await this.createCustomConfigurations(),this.createHook(Pe.No),this.createHook(Pe.LK),this.createHook(Pe.dV),this.createHook(Pe.Eo),Promise.resolve());createCustomConfigurations=async()=>{if(this.customConfigurations?.locales&&(this.configurations.locales=["en",...this.customConfigurations.locales?.filter(s=>s!=="en")||[]]),this.customConfigurations?.auth?.logo&&(this.configurations.authLogo=this.customConfigurations.auth.logo),this.customConfigurations?.menu?.logo&&(this.configurations.menuLogo=this.customConfigurations.menu.logo),this.customConfigurations?.head?.favicon&&(this.configurations.head.favicon=this.customConfigurations.head.favicon),this.customConfigurations?.theme){const s=this.customConfigurations.theme.dark,n=this.customConfigurations.theme.light;!s&&!n&&(console.warn("[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension."),L()(this.configurations.themes.light,this.customConfigurations.theme)),n&&L()(this.configurations.themes.light,n),s&&L()(this.configurations.themes.dark,s)}this.customConfigurations?.notifications?.releases!==void 0&&(this.configurations.notifications.releases=this.customConfigurations.notifications.releases),this.customConfigurations?.tutorials!==void 0&&(this.configurations.tutorials=this.customConfigurations.tutorials)};createHook=s=>{this.hooksDict[s]=G()};createSettingSection=(s,n)=>{c()(s.id,"section.id should be defined"),c()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),c()(Array.isArray(n),"TypeError expected links to be an array"),c()(this.settings[s.id]===void 0,"A similar section already exists"),this.settings[s.id]={...s,links:[]},n.forEach(r=>{this.addSettingsLink(s.id,r)})};createStore=()=>F(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(s,n,r)=>{try{return this.admin.injectionZones[s][n][r]||[]}catch(l){return console.error("Cannot get injected component",l),l}};getPlugin=s=>this.plugins[s];async initialize(){Object.keys(this.appPlugins).forEach(s=>{this.appPlugins[s].register(this)})}injectContentManagerComponent=(s,n,r)=>{c()(this.admin.injectionZones.contentManager[s]?.[n],`The ${s} ${n} zone is not defined in the content manager`),c()(r,"A Component must be provided"),this.admin.injectionZones.contentManager[s][n].push(r)};injectAdminComponent=(s,n,r)=>{c()(this.admin.injectionZones.admin[s]?.[n],`The ${s} ${n} zone is not defined in the admin`),c()(r,"A Component must be provided"),this.admin.injectionZones.admin[s][n].push(r)};async loadAdminTrads(){const s=this.configurations.locales.map(l=>t(48224)(`./${l}.json`).then(({default:h})=>({data:h,locale:l})).catch(()=>({data:null,locale:l})));return(await Promise.all(s)).reduce((l,h)=>(h.data&&(l[h.locale]=h.data),l),{})}async loadTrads(){const s=await this.loadAdminTrads(),n=Object.keys(this.appPlugins).map(p=>{const P=this.appPlugins[p].registerTrads;return P?P({locales:this.configurations.locales}):null}).filter(p=>p),l=(await Promise.all(n)).reduce((p,P)=>{const N=P.reduce((j,Y)=>(j[Y.locale]=Y.data,j),{});return Object.keys(N).forEach(j=>{p[j]={...p[j],...N[j]}}),p},{}),h=this.configurations.locales.reduce((p,P)=>(p[P]={...s[P],...l[P]||{},...this.customConfigurations?.translations?.[P]},p),{});return this.configurations.translations=h,Promise.resolve()}registerHook=(s,n)=>{c()(this.hooksDict[s],`The hook ${s} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[s].register(n)};registerPlugin=s=>{const n=(0,O.Sy)(s);this.plugins[n.pluginId]=n};runHookSeries=(s,n=!1)=>n?this.hooksDict[s].runSeriesAsync():this.hooksDict[s].runSeries();runHookWaterfall=(s,n,r=!1,l)=>r?this.hooksDict[s].runWaterfallAsync(n,l):this.hooksDict[s].runWaterfall(n,l);runHookParallel=s=>this.hooksDict[s].runParallel();render(){const s=this.createStore(),n=b()(Ds,this.configurations.locales||[]),{components:{components:r},fields:{fields:l}}=this.library;return e.createElement(u,{authLogo:this.configurations.authLogo,components:r,fields:l,customFields:this.customFields,localeNames:n,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(h,p,P=!1)=>this.runHookWaterfall(h,p,P,s),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:s},e.createElement(e.Fragment,null,e.createElement(D.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(T)||"en"}}),e.createElement(S.VK,{basename:X.Z},e.createElement(Ss,{store:s}))))}}var Os=({adminConfig:o={},appPlugins:s,library:n,middlewares:r,reducers:l})=>new Is({adminConfig:o,appPlugins:s,library:n,middlewares:r,reducers:l})},5985:function(Z,v,t){"use strict";var e=t(32735);const f=(0,e.createContext)();v.Z=f},20139:function(Z,v,t){"use strict";var e=t(32735),f=t(5985);const y=()=>{const{changeLocale:E,localeNames:c,messages:m}=(0,e.useContext)(f.Z);return{changeLocale:E,localeNames:c,messages:m}};v.Z=y},10190:function(Z,v,t){"use strict";var e=t(32735),f=t(8471),y=t(10328);const E=f.ZP.img`
18
- height: ${72/16}rem;
19
- `,c=()=>{const{logos:{auth:m}}=(0,y.um)();return e.createElement(E,{src:m?.custom??m.default,"aria-hidden":!0,alt:""})};v.Z=c},66694:function(Z,v,t){"use strict";t.d(v,{ux:function(){return y},_5:function(){return c},$l:function(){return A},Rj:function(){return L}});var e=t(32735),y=(0,e.createContext)({}),c=(0,e.createContext)({}),A=(0,e.createContext)({}),L=(0,e.createContext)({})},78246:function(Z,v){"use strict";const t="/admin/".replace(window.location.origin,"");v.Z=t},46339:function(Z,v,t){"use strict";t.d(v,{Eo:function(){return y},LK:function(){return f},No:function(){return e},dV:function(){return E}});const e="Admin/CM/pages/ListView/inject-column-in-table",f="Admin/CM/pages/App/mutate-collection-types-links",y="Admin/CM/pages/EditView/mutate-edit-view-layout",E="Admin/CM/pages/App/mutate-single-types-links"},10328:function(Z,v,t){"use strict";t.d(v,{um:function(){return E},U_:function(){return D},Dq:function(){return i},H9:function(){return je},$_:function(){return $e},rW:function(){return tt},bF:function(){return ht},G4:function(){return Lt},Te:function(){return Ut},M1:function(){return jt}});var e=t(32735),f=t(66694),E=()=>(0,e.useContext)(f._5),c=t(70166),m=t(19565),A=t(97889);const M={data:{},error:null,isLoading:!0};var U=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA":{u.isLoading=!0,u.data={},u.error=null;break}case"GET_DATA_SUCCEEDED":{u.data=d.data,u.isLoading=!1,u.error=null;break}case"GET_DATA_ERROR":{u.isLoading=!1,u.error=d.error;break}default:return u}}),D=g=>{const[{data:d,error:u,isLoading:O},k]=(0,e.useReducer)(U,M),{get:W}=(0,m.kY)();return(0,e.useEffect)(()=>{(async()=>{try{k({type:"GET_DATA"});const{data:{data:F}}=await W("/admin/permissions",{params:{role:g}});k({type:"GET_DATA_SUCCEEDED",data:F})}catch{}})()},[g,W]),{data:d,error:u,isLoading:O}};const S={role:{},permissions:{},isLoading:!0};var H=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA_SUCCEEDED":{u.role=d.role,u.permissions=d.permissions,u.isLoading=!1;break}case"GET_DATA_ERROR":{u.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{u.role.name=d.name,u.role.description=d.description;break}default:return u}}),i=g=>{const d=(0,m.lm)(),[u,O]=(0,e.useReducer)(H,S),{get:k}=(0,m.kY)();(0,e.useEffect)(()=>{g?(async F=>{try{const[{data:{data:X}},{data:{data:Ee}}]=await Promise.all([`roles/${F}`,`roles/${F}/permissions`].map(G=>k(`/admin/${G}`)));O({type:"GET_DATA_SUCCEEDED",role:X,permissions:Ee})}catch(X){console.error(X),O({type:"GET_DATA_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}})(g):O({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[k,g,d]);const W=(0,e.useCallback)($=>{O({type:"ON_SUBMIT_SUCCEEDED",...$})},[]);return{...u,onSubmitSucceeded:W}},B=t(2287),a=t(36919),ue=t(45112),me=t(15062),I=t(78125),x=t(99381),ee=t.n(x),Re=(g,d)=>d.map(({permissions:u})=>(0,m.qX)(g,u)),we=async(g,d,u)=>{const O=Re(g,d),k=await Promise.all(O),W=d.filter((X,Ee)=>k[Ee]),$=W.findIndex(X=>X.to==="/settings");if($===-1)return[];const F=ee()(W);return F[$].notificationsCount=u?1:0,F},Se=async(g,d)=>{const u=Re(g,d),O=await Promise.all(u);return d.filter((W,$)=>O[$])},je=()=>{const{allPermissions:g}=(0,m.vn)(),{shouldUpdateStrapi:d}=(0,m.L7)(),{menu:u}=(0,m.j1)(),O=(0,me.v9)(I._),[k,W]=e.useState({generalSectionLinks:[{icon:B.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:O.marketplace.main},{icon:a.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:O.marketplace.main},{icon:ue.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0}),$=e.useRef(k.generalSectionLinks);return e.useEffect(()=>{async function F(){const X=await Se(g,u),Ee=await we(g,$.current,d);W(G=>({...G,generalSectionLinks:Ee,pluginsSectionLinks:X,isLoading:!1}))}F()},[W,$,g,u,O,d]),k},$e=()=>(0,e.useContext)(f.$l),tt=(g,d,u,O)=>{const[k,W]=(0,e.useState)(!1),$=(0,m.lm)(),{post:F}=(0,m.kY)(),{formatAPIError:X}=(0,m.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:G}}}=await F(`${g}${d}/regenerate`);W(!1),u(G)}catch(G){W(!1),O?O(G):$({type:"warning",message:X(G)})}},isLoadingConfirmation:k}};const Je=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),qt=()=>{const{latestStrapiReleaseTag:g,shouldUpdateStrapi:d}=useAppInfo(),u=useNotification();return useEffect(()=>{d&&Je&&u({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${g}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[g,d,u]),null};var De=null,Nt=t(33795),gt=t.n(Nt),Kt=(g,d)=>({...g,isLoading:d});const st={roles:[],isLoading:!0};var ft=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA":{u.isLoading=!0,u.roles=[];break}case"GET_DATA_SUCCEEDED":{u.roles=d.data,u.isLoading=!1;break}case"GET_DATA_ERROR":{u.isLoading=!1;break}default:return u}}),ht=(g=!0)=>{const d=(0,m.lm)(),[{roles:u,isLoading:O},k]=(0,e.useReducer)(ft,st,()=>Kt(st,g));(0,e.useEffect)(()=>{g&&W()},[g]);const W=(0,e.useCallback)(async()=>{const $=(0,m.tg)();try{k({type:"GET_DATA"});const{data:{data:F}}=await $.get("/admin/roles");k({type:"GET_DATA_SUCCEEDED",data:F})}catch(F){const X=gt()(F,["response","payload","message"],"An error occured");k({type:"GET_DATA_ERROR"}),X!=="Forbidden"&&d({type:"warning",message:X})}},[d]);return{roles:u,isLoading:O,getData:W}},nt=t(9086),Et=t.n(nt),at=t(8997),Pt=(g,d)=>({...g,fieldsToPick:d}),vt=t(88423),Ze=t.n(vt),yt=t(3040),Tt=t.n(yt),Rt=t(56236),ot=t.n(Rt);const At={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},Ct=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA_SUCCEEDED":{u.isLoading=!1,u.showHeaderLoader=!1,u.initialData=Ze()(d.data,g.fieldsToPick),u.modifiedData=Ze()(d.data,g.fieldsToPick);break}case"ON_CANCEL":{u.modifiedData=g.initialData,u.formErrors={};break}case"ON_CHANGE":{d.inputType==="password"&&!d.value?ot()(u.modifiedData,d.keys.split(".")):d.keys.includes("username")&&!d.value?Tt()(u.modifiedData,d.keys.split("."),null):Tt()(u.modifiedData,d.keys.split("."),d.value);break}case"ON_SUBMIT":{u.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{u.initialData=Ze()(d.data,g.fieldsToPick),u.modifiedData=Ze()(d.data,g.fieldsToPick),u.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{u.formErrors=d.errors,u.showHeaderButtonLoader=!1;break}default:return u}});var Lt=(g,d,u,O)=>{const[{formErrors:k,initialData:W,isLoading:$,modifiedData:F,showHeaderButtonLoader:X,showHeaderLoader:Ee},G]=(0,e.useReducer)(Ct,At,()=>Pt(At,O)),Pe=(0,m.lm)(),{lockApp:Oe,unlockApp:_e}=(0,m.o1)(),{get:Xe,put:xe}=(0,m.kY)();return(0,e.useEffect)(()=>{g&&(async()=>{try{const{data:{data:ae}}=await Xe(g);G({type:"GET_DATA_SUCCEEDED",data:ae,fieldsToPick:O})}catch(ae){console.error(ae.response),Pe({type:"warning",message:{id:"notification.error"}})}})()},[g]),[{formErrors:k,initialData:W,isLoading:$,modifiedData:F,showHeaderButtonLoader:X,showHeaderLoader:Ee},G,{handleCancel:()=>{G({type:"ON_CANCEL"})},handleChange:({target:{name:ve,value:ae,type:pe}})=>{G({type:"ON_CHANGE",inputType:pe,keys:ve,value:ae})},handleSubmit:async ve=>{ve.preventDefault();const ae=await(0,at.R6)(F,d);if(G({type:"SET_ERRORS",errors:ae||{}}),!ae)try{Oe(),G({type:"ON_SUBMIT"});const pe=Et()(F,["confirmPassword","registrationToken"]);pe.roles&&(pe.roles=pe.roles.map(qe=>qe.id)),pe.ssoLockedRoles&&(pe.ssoLockedRoles=[...new Set(pe.ssoLockedRoles)]);const{data:{data:be}}=await xe(g,pe);u(be),G({type:"ON_SUBMIT_SUCCEEDED",data:be}),Pe({type:"success",message:{id:"notification.success.saved"}})}catch(pe){const be=pe?.response?.payload??{data:{}};be?.data&&typeof be.data=="string"?Pe({type:"warning",message:be.data}):Pe({type:"warning",message:be.message});const qe=(0,at.Iz)(be);G({type:"SET_ERRORS",errors:qe})}finally{_e()}},setField:(ve,ae)=>{G({type:"ON_CHANGE",keys:ve,value:ae})}}]},St=t(18782);const Ie={global:[{intlLabel:{id:"Settings.application.title",defaultMessage:"Overview"},to:"/settings/application-infos",id:"000-application-infos",permissions:[]},{intlLabel:{id:"Settings.webhooks.title",defaultMessage:"Webhooks"},to:"/settings/webhooks",id:"webhooks"},{intlLabel:{id:"Settings.apiTokens.title",defaultMessage:"API Tokens"},to:"/settings/api-tokens?sort=name:ASC",id:"api-tokens"},{intlLabel:{id:"Settings.transferTokens.title",defaultMessage:"Transfer Tokens"},to:"/settings/transfer-tokens?sort=name:ASC",id:"transfer-tokens"}],admin:[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles"},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users"}]};var Be=g=>g.map(d=>{const u=d.links.map(O=>({...O,isDisplayed:!1}));return{...d,links:u}}),Ft=t(98978),It=t.n(Ft),bt=g=>It()(g,d=>d.id),Ut=()=>{const[{isLoading:g,menu:d},u]=(0,e.useState)({isLoading:!0,menu:[]}),{allPermissions:O}=(0,m.vn)(),{shouldUpdateStrapi:k}=(0,m.L7)(),{settings:W}=(0,m.j1)(),$=(0,me.v9)(I._),{global:F,admin:X}=(0,St.c)(Ie,async()=>(await t.e(1970).then(t.bind(t,43278))).LINKS_EE,{combine(Ee,G){function Pe(Oe){if(!Oe.id)throw new Error("The settings menu item must have an id attribute.");return{...Oe,permissions:$.settings?.[Oe.id]?.main}}return{admin:[...G.admin,...Ee.admin].map(Pe),global:[...Ee.global,...G.global].map(Pe)}},defaultValue:{admin:[],global:[]}});return(0,e.useEffect)(()=>{const Ee=async()=>{const Xe=await(xe=>Promise.all(xe.reduce((ne,We,Ne)=>{const Ke=ve=>ve.map(async(ae,pe)=>({hasPermission:await(0,m.qX)(O,ae.permissions),sectionIndex:Ne,linkIndex:pe}));return[...ne,...Ke(We.links)]},[])))(Oe);u(xe=>({...xe,isLoading:!1,menu:Oe.map((ne,We)=>({...ne,links:ne.links.map((Ne,Ke)=>{const ve=Xe.find(ae=>ae.sectionIndex===We&&ae.linkIndex===Ke);return{...Ne,isDisplayed:Boolean(ve.hasPermission)}})}))}))},{global:G,...Pe}=W,Oe=Be([{...W.global,links:bt([...W.global.links,...F]).map(_e=>({..._e,hasNotification:_e.id==="000-application-infos"&&k}))},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:X},...Object.values(Pe)]);Ee()},[X,F,O,W,k]),{isLoading:g,menu:d}},jt=()=>(0,e.useContext)(f.Rj)},70166:function(Z,v,t){"use strict";t.d(v,{G:function(){return y}});var e=t(19565),f=t(20108);function y(){const{get:E}=(0,e.kY)(),{formatAPIError:c}=(0,e.So)(),m=(0,e.lm)(),A=(0,f.useQueries)(["components","content-types"].map(S=>({queryKey:["content-manager",S],async queryFn(){const{data:{data:R}}=await E(`/content-manager/${S}`);return R},onError(R){m({type:"warning",message:c(R)})}}))),[M,L]=A,U=M.isLoading||L.isLoading,b=(L?.data??[]).filter(S=>S.kind==="collectionType"&&S.isDisplayed),D=(L?.data??[]).filter(S=>S.kind!=="collectionType"&&S.isDisplayed);return{isLoading:U,components:M?.data??[],collectionTypes:b,singleTypes:D}}},18782:function(Z,v,t){"use strict";t.d(v,{c:function(){return E}});var e=t(32735),f=t(19565);function y(){return window.strapi.isEE}function E(c,m,{defaultValue:A=null,combine:M=(L,U)=>U}={}){const L=(0,f.W6)(m),U=(0,f.W6)(M),[{data:b},D]=e.useState({data:y()?A:c});return e.useEffect(()=>{async function S(){const R=await L();D({data:U(c,R)})}y()&&S()},[c,L,U]),b}},954:function(Z,v,t){"use strict";t.d(v,{sg:function(){return S},bU:function(){return R},ZP:function(){return T}});var e=t(32735),f=t(72850),y=t(87933),E=t(60216),c=t.n(E),m=t(8471),A=t(34853),M=t(67879),L=t(20139),b=()=>{const{changeLocale:i,localeNames:B}=(0,L.Z)(),{locale:a}=(0,M.Z)();return e.createElement(A.O,{label:B[a]},Object.keys(B).map(ue=>e.createElement(A.s,{onClick:()=>i(ue),key:ue},B[ue])))};const D=(0,m.ZP)(f.x)`
20
- margin: 0 auto;
21
- width: 552px;
22
- `,S=(0,m.ZP)(y.k)`
23
- flex-direction: column;
24
- `,R=({children:i})=>e.createElement(D,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},i);R.propTypes={children:c().node.isRequired};const H=({children:i})=>e.createElement("div",null,e.createElement(y.k,{as:"header",justifyContent:"flex-end"},e.createElement(f.x,{paddingTop:6,paddingRight:8},e.createElement(b,null))),e.createElement(f.x,{paddingTop:2,paddingBottom:11},i));H.propTypes={children:c().node.isRequired};var T=H},78125:function(Z,v,t){"use strict";t.d(v,{_:function(){return E}});var e=t(98178),f=t(49358);const y=()=>c=>c.admin_app||f.E,E=(0,e.P1)(y(),c=>c.permissions)},72218:function(Z,v,t){"use strict";var e=t(63642),f=t(8471);const y=(0,f.ZP)(e.E)`
25
- svg {
26
- height: 1rem;
27
- width: 1rem;
28
- path {
29
- fill: ${({theme:E})=>E.colors.neutral600};
30
- }
31
- }
32
- `;v.Z=y},1115:function(Z,v,t){"use strict";var e=t(32735),f=t(10369),y=t(27649),E=t(72850),c=t(49372),m=t(87933),A=t(8284),M=t(41415),L=t(19565),U=t(54894),b=t(60492),D=t(92802),S=t(60216),R=t.n(S),H=t(67879),T=t(8471),i=t(10190),B=t(954),a=t(72218);const ue=(0,T.ZP)(f.o)`
33
- ::-ms-reveal {
34
- display: none;
35
- }
36
- `,me=({onSubmit:I,schema:x,children:ee})=>{const[Le,Re]=(0,e.useState)(!1),{formatMessage:ge}=(0,H.Z)();return e.createElement(y.o,null,e.createElement(B.bU,null,e.createElement(D.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:I,validationSchema:x,validateOnChange:!1},({values:we,errors:ke,handleChange:Se})=>e.createElement(L.l0,{noValidate:!0},e.createElement(B.sg,null,e.createElement(i.Z,null),e.createElement(E.x,{paddingTop:6,paddingBottom:1},e.createElement(c.Z,{variant:"alpha",as:"h1"},ge({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),e.createElement(E.x,{paddingBottom:7},e.createElement(c.Z,{variant:"epsilon",textColor:"neutral600"},ge({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),ke.errorMessage&&e.createElement(c.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ke.errorMessage)),e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(f.o,{error:ke.email?ge({id:ke.email,defaultMessage:"This value is required."}):"",value:we.email,onChange:Se,label:ge({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:ge({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(ue,{error:ke.password?ge({id:ke.password,defaultMessage:"This value is required."}):"",onChange:Se,value:we.password,label:ge({id:"global.password",defaultMessage:"Password"}),name:"password",type:Le?"text":"password",endAction:e.createElement(a.Z,{onClick:ze=>{ze.stopPropagation(),Re(je=>!je)},label:ge(Le?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Le?e.createElement(U.Z,null):e.createElement(b.Z,null)),required:!0}),e.createElement(A.X,{onValueChange:ze=>{Se({target:{value:ze,name:"rememberMe"}})},value:we.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},ge({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),e.createElement(M.z,{fullWidth:!0,type:"submit"},ge({id:"Auth.form.button.login",defaultMessage:"Login"}))))),ee),e.createElement(m.k,{justifyContent:"center"},e.createElement(E.x,{paddingTop:4},e.createElement(L.rU,{to:"/auth/forgot-password"},ge({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};me.defaultProps={children:null,onSubmit(){}},me.propTypes={children:R().node,onSubmit:R().func,schema:R().shape({type:R().string.isRequired}).isRequired},v.Z=me},5365:function(Z,v,t){"use strict";var e=t(32735),f=t(60216),y=t.n(f),E=t(954),c=t(1115);const m=A=>e.createElement(E.ZP,null,e.createElement(c.Z,{...A}));m.defaultProps={onSubmit:A=>A.preventDefault()},m.propTypes={onSubmit:y().func},v.Z=m},53951:function(Z,v,t){"use strict";t.r(v);var e=t(32735),f=t(27649),y=t(82055),E=t(17e3),c=t(9695),m=t(19565),A=t(8482),M=t(25386),L=t(67879);const U=()=>{const{formatMessage:b}=(0,L.Z)();return(0,m.go)(),e.createElement(f.o,{labelledBy:"title"},e.createElement(y.T,{id:"title",title:b({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),e.createElement(E.D,null,e.createElement(c.x,{action:e.createElement(m.Qj,{variant:"secondary",endIcon:e.createElement(A.Z,null),to:"/"},b({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:b({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:e.createElement(M.Z,{width:"10rem"}),shadow:"tableShadow"})))};v.default=U},41832:function(Z,v){"use strict";const t=({data:e})=>{try{return Object.keys(e).reduce((f,y)=>{const E=e[y][0];return f[y]={id:E,defaultMessage:E},f},{})}catch{return{}}};v.Z=t},8997:function(Z,v,t){"use strict";t.d(v,{R6:function(){return y},ot:function(){return U},Iz:function(){return b.Z},Pp:function(){return D},IF:function(){return R},Qy:function(){return me},WW:function(){return T}});var e=t(19565),y=async(I,x)=>{let ee=null;try{await x.validate(I,{abortEarly:!1})}catch(Le){ee=(0,e.CJ)(Le)}return ee},E=t(32735),c=t(60216),m=t.n(c),A=t(53038);const M=({loadComponent:I})=>{const[x,ee]=(0,E.useState)(null);return(0,E.useEffect)(()=>{(async()=>{try{const Re=await I();ee(()=>Re.default)}catch(Re){console.log(Re)}})()},[I]),x?E.createElement(x,null):E.createElement(e.dO,null)},L=(I,x,ee)=>E.createElement(A.AW,{render:()=>E.createElement(M,{loadComponent:I}),key:x,path:x,exact:ee||!1});M.propTypes={loadComponent:m().func.isRequired};var U=L,b=t(41832),D=(I,x="")=>[I,x].filter(ee=>ee).join(" "),R=I=>`/admin/${I}`,T=I=>I.filter((x,ee,Le)=>Le.findIndex(Re=>Re.key===x.key)===ee),i=t(98978);const B=I=>sortBy(I,x=>x.name);var a=null;const ue={bufferToHex(I){return[...new Uint8Array(I)].map(x=>x.toString(16).padStart(2,"0")).join("")},async digestMessage(I){const x=new TextEncoder().encode(I),ee=await crypto.subtle.digest("SHA-256",x);return this.bufferToHex(ee)}};async function me(I){if(!I)return null;try{return await ue.digestMessage(I.email)}catch{return null}}},58414:function(Z,v,t){"use strict";t.d(v,{pl:function(){return L},q5:function(){return b.Z}});var e=t(32735),f=t(19565),y=t(8997),E=t(97889);const c={data:[],isLoading:!0};var A=(D,S)=>(0,E.ZP)(D,R=>{switch(S.type){case"GET_DATA_SUCCEEDED":{R.data=S.data,R.isLoading=!1;break}case"GET_DATA_ERROR":{R.isLoading=!1;break}default:return R}}),L=({ssoEnabled:D})=>{const[S,R]=(0,e.useReducer)(A,c),H=(0,f.lm)(),{get:T}=(0,f.kY)();return(0,e.useEffect)(()=>{(async()=>{try{if(!D){R({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:B}=await T((0,y.IF)("providers"));R({type:"GET_DATA_SUCCEEDED",data:B})}catch(B){console.error(B),R({type:"GET_DATA_ERROR"}),H({type:"warning",message:{id:"notification.error"}})}})()},[T,D,H]),S},U=t(21306),b=t(2690)},21306:function(Z,v,t){"use strict";var e=t(32735),f=t(19565),y=t(36866),E=t.n(y),c=t(67879),m=t(53038),A=t(2690);const M="strapi-notification-seat-limit",L="https://cloud.strapi.io/profile/billing",U="https://strapi.io/billing/request-seats",b=()=>{const{formatMessage:D}=(0,c.Z)();let{license:S}=(0,A.Z)();const R=(0,f.lm)(),{pathname:H}=(0,m.TH)();(0,e.useEffect)(()=>{if(!S?.data)return;const{enforcementUserCount:T,permittedSeats:i,licenseLimitStatus:B,isHostedOnStrapiCloud:a}=S?.data??{},ue=!E()(i)&&!window.sessionStorage.getItem(`${M}-${H}`)&&(B==="AT_LIMIT"||B==="OVER_LIMIT");let me;B==="OVER_LIMIT"?me="warning":B==="AT_LIMIT"&&(me="softWarning"),ue&&R({type:me,message:D({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:B}),title:D({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:B,enforcementUserCount:T,permittedSeats:i}),link:{url:a?L:U,label:D({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:a})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${M}-${H}`,!0)}})},[R,S.data,H,D])};v.Z=b},2690:function(Z,v,t){"use strict";var e=t(19565),f=t(20108),y=t(15062),E=t(78125);const c=()=>{const m=(0,y.v9)(E._),A=(0,e.ss)(m.settings.users),{isLoading:M,allowedActions:{canRead:L,canCreate:U,canUpdate:b,canDelete:D}}=A,S=L&&U&&b&&D,{get:R}=(0,e.kY)(),H=async()=>{const{data:{data:i}}=await R("/admin/license-limit-information");return i};return{license:(0,f.useQuery)(["ee","license-limit-info"],H,{enabled:!M&&S})}};v.Z=c},98768:function(Z,v,t){"use strict";var e=t(32735),f=t(9026),y=t(72850),E=t(87933),c=t(49372),m=t(60216),A=t.n(m),M=t(67879),L=t(8471),U=t(954),b=t(1115),D=t(58414),S=t(33205);const R=(0,L.ZP)(f.i)`
37
- flex: 1;
38
- `,H=T=>{const i=window.strapi.features.isEnabled(window.strapi.features.SSO),{isLoading:B,data:a}=(0,D.pl)({ssoEnabled:i}),{formatMessage:ue}=(0,M.Z)();return!i||!B&&a.length===0?e.createElement(U.ZP,null,e.createElement(b.Z,{...T})):e.createElement(U.ZP,null,e.createElement(b.Z,{...T},e.createElement(y.x,{paddingTop:7},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:7},e.createElement(E.k,null,e.createElement(R,null),e.createElement(y.x,{paddingLeft:3,paddingRight:3},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600"},ue({id:"Auth.login.sso.divider"}))),e.createElement(R,null)),e.createElement(S.Z,{providers:a,displayAllProviders:!1})))))};H.defaultProps={onSubmit:T=>T.preventDefault(),requestError:null},H.propTypes={formErrors:A().object.isRequired,modifiedData:A().object.isRequired,onChange:A().func.isRequired,onSubmit:A().func,requestError:A().object},v.Z=H},33205:function(Z,v,t){"use strict";var e=t(32735),f=t(87933),y=t(63919),E=t(49372),c=t(15335),m=t(5803),A=t(60216),M=t.n(A),L=t(67879),U=t(14911),b=t(8471);const D=b.ZP.a`
39
- width: ${136/16}rem;
40
- display: flex;
41
- justify-content: center;
42
- align-items: center;
43
- height: ${48/16}rem;
44
- border: 1px solid ${({theme:T})=>T.colors.neutral150};
45
- border-radius: ${({theme:T})=>T.borderRadius};
46
- text-decoration: inherit;
47
- &:link {
48
- text-decoration: none;
49
- }
50
- color: ${({theme:T})=>T.colors.neutral600};
51
- `,S=(0,b.ZP)(f.k)`
52
- & a:not(:first-child):not(:last-child) {
53
- margin: 0 ${({theme:T})=>T.spaces[2]};
54
- }
55
- & a:first-child {
56
- margin-right: ${({theme:T})=>T.spaces[2]};
57
- }
58
- & a:last-child {
59
- margin-left: ${({theme:T})=>T.spaces[2]};
60
- }
61
- `,R=({provider:T})=>e.createElement(y.u,{label:T.displayName},e.createElement(D,{href:`${window.strapi.backendURL}/admin/connect/${T.uid}`},T.icon?e.createElement("img",{src:T.icon,"aria-hidden":!0,alt:"",height:"32px"}):e.createElement(E.Z,null,T.displayName)));R.propTypes={provider:M().shape({icon:M().string,displayName:M().string.isRequired,uid:M().string.isRequired}).isRequired};const H=({providers:T,displayAllProviders:i})=>{const{formatMessage:B}=(0,L.Z)();return i?e.createElement(c.r,{gap:4},T.map(a=>e.createElement(m.P,{key:a.uid,col:4},e.createElement(R,{provider:a})))):T.length>2&&!i?e.createElement(c.r,{gap:4},T.slice(0,2).map(a=>e.createElement(m.P,{key:a.uid,col:4},e.createElement(R,{provider:a}))),e.createElement(m.P,{col:4},e.createElement(y.u,{label:B({id:"global.see-more"})},e.createElement(D,{as:U.rU,to:"/auth/providers"},e.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):e.createElement(S,{justifyContent:"center"},T.map(a=>e.createElement(R,{key:a.uid,provider:a})))};H.defaultProps={displayAllProviders:!0},H.propTypes={providers:M().arrayOf(M().object).isRequired,displayAllProviders:M().bool},v.Z=H},48224:function(Z,v,t){var e={"./ar.json":[38677,7958],"./ca.json":[90169,3516],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./eu.json":[69511,8360],"./fr.json":[8399,8006],"./gu.json":[10182,2248],"./he.json":[21757,830],"./hi.json":[43206,6332],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./ml.json":[11309,9903],"./ms.json":[75973,3025],"./nl.json":[80381,2671],"./no.json":[82446,562],"./pl.json":[84008,7846],"./pt-BR.json":[91417,9647],"./pt.json":[41830,3340],"./ru.json":[57098,123],"./sa.json":[92900,9726],"./sk.json":[52204,606],"./sv.json":[43211,9303],"./th.json":[49582,749],"./tr.json":[99154,395],"./uk.json":[2987,7403],"./vi.json":[50576,3278],"./zh-Hans.json":[35964,2553],"./zh.json":[91999,1011]};function f(y){if(!t.o(e,y))return Promise.resolve().then(function(){var m=new Error("Cannot find module '"+y+"'");throw m.code="MODULE_NOT_FOUND",m});var E=e[y],c=E[0];return t.e(E[1]).then(function(){return t.t(c,19)})}f.keys=function(){return Object.keys(e)},f.id=48224,Z.exports=f},47750:function(Z,v,t){"use strict";Z.exports=t.p+"70674f63fc3904c20de0.svg"}}]);
@@ -1,10 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{19150:function(C,l,e){e.d(l,{R:function(){return o}});var t=e(19565),a=e(33348),n=e(20108);function o(u={},i={}){const{id:s="",...d}=u,c=(0,a.stringify)(d,{encode:!1}),{get:m}=(0,t.kY)(),{data:r,isError:p,isLoading:O,refetch:A}=(0,n.useQuery)(["users",s,d],async()=>{const{data:{data:h}}=await m(`/admin/users/${s}${c?`?${c}`:""}`);return h},i);let E=[];return s&&r?E=[r]:Array.isArray(r?.results)&&(E=r.results),{users:E,pagination:r?.pagination??null,isLoading:O,isError:p,refetch:A}}},40874:function(C,l,e){e.r(l),e.d(l,{default:function(){return re}});var t=e(32735),a=e(19565),n=e(15062),o=e(53038),u=e(78125),i=e(20011),s=e(27649),d=e(82055),c=e(41415),m=e(17e3),r=e(72850),p=e(87933),O=e(49372),A=e(15335),E=e(5803),h=e(66456),I=e(29439),w=e(92802),j=e(33795),x=e.n(j),N=e(9086),T=e.n(N),Y=e(88423),z=e.n(Y),F=e(60216),H=e.n(F),b=e(67879),v=e(19150),V=e(8997),q=e(4397),ee=e(1057);const te=async(R,P)=>{const{put:f}=(0,a.tg)(),{data:y}=await f(`/admin/users/${R}`,P);return y.data};var ae=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12},autoComplete:"new-password"},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12},autoComplete:"new-password"}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]];const se=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),Q=["email","firstname","lastname","username","isActive","roles"],X=R=>{let{canUpdate:P}=R;const{formatMessage:f}=(0,b.Z)(),{params:{id:y}}=(0,o.$B)("/settings/users/:id"),{push:K}=(0,o.k6)(),{setUserDisplayName:B}=(0,a.L7)(),Z=(0,a.lm)(),{lockApp:G,unlockApp:oe}=(0,a.o1)();(0,a.go)();const{users:[S],isLoading:J}=(0,v.R)({id:y},{onError(g){const{status:M}=g.response;M===403?(Z({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),K("/")):Z({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ie=async(g,M)=>{G();try{const L=await te(y,T()(g,"confirmPassword"));Z({type:"success",message:f({id:"notification.success.saved",defaultMessage:"Saved"})});const D=a.I8.getUserInfo();if(y.toString()===D.id.toString()){a.I8.setUserInfo(L);const W=x()(g,"username")||(0,V.Pp)(g.firstname,g.lastname);B(W)}M.setValues(z()(g,Q))}catch(L){const D=(0,V.Iz)(L.response.data),W=Object.keys(D).reduce((_,U)=>(_[U]=D[U].id,_),{});M.setErrors(W),Z({type:"warning",message:x()(L,"response.data.error.message","notification.error")})}oe()},le=J?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},$=Object.keys(z()(S,Q)).reduce((g,M)=>M==="roles"?(g[M]=(S?.roles||[]).map(L=>{let{id:D}=L;return D}),g):(g[M]=S?.[M],g),{}),de=$.username||(0,V.Pp)($.firstname,$.lastname),k=f(le,{name:de});return J?t.createElement(s.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(d.T,{primaryAction:t.createElement(c.z,{disabled:!0,startIcon:t.createElement(h.Z,null),type:"button",size:"L"},f({id:"global.save",defaultMessage:"Save"})),title:k,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},f({id:"global.back",defaultMessage:"Back"}))}),t.createElement(m.D,null,t.createElement(a.dO,null))):t.createElement(s.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(w.J9,{onSubmit:ie,initialValues:$,validateOnChange:!1,validationSchema:ee.YM},g=>{let{errors:M,values:L,handleChange:D,isSubmitting:W}=g;return t.createElement(a.l0,null,t.createElement(d.T,{primaryAction:t.createElement(c.z,{disabled:W||!P,startIcon:t.createElement(h.Z,null),loading:W,type:"submit",size:"L"},f({id:"global.save",defaultMessage:"Save"})),title:k,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},f({id:"global.back",defaultMessage:"Back"}))}),t.createElement(m.D,null,S?.registrationToken&&t.createElement(r.x,{paddingBottom:6},t.createElement(se,{registrationToken:S.registrationToken})),t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(r.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},f({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(A.r,{gap:5},ae.map(_=>_.map(U=>t.createElement(E.P,(0,i.Z)({key:U.name},U.size),t.createElement(a.jm,(0,i.Z)({},U,{disabled:!P,error:M[U.name],onChange:D,value:L[U.name]||""})))))))),t.createElement(r.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},f({id:"global.roles",defaultMessage:"User's role"})),t.createElement(A.r,{gap:5},t.createElement(E.P,{col:6,xs:12},t.createElement(q.Z,{disabled:!P,error:M.roles,onChange:D,value:L.roles}))))))))}))};X.propTypes={canUpdate:H().bool.isRequired};var ne=X,re=()=>{const R=(0,a.lm)(),P=(0,n.v9)(u._),f=t.useMemo(()=>({read:P.settings.users.read,update:P.settings.users.update}),[P.settings.users]),{isLoading:y,allowedActions:{canRead:K,canUpdate:B}}=(0,a.ss)(f),{state:Z}=(0,o.TH)(),G=Z?.from??"/";return(0,t.useEffect)(()=>{y||!K&&!B&&R({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[y,K,B,R]),y?t.createElement(a.dO,null):!K&&!B?t.createElement(o.l_,{to:G}):t.createElement(ne,{canUpdate:B})}},76779:function(C,l,e){var t=e(32735),a=e(50563),n=e(19565),o=e(47765),u=e(60216),i=e.n(u),s=e(67879);const d=({children:c,target:m})=>{const r=(0,n.lm)(),{formatMessage:p}=(0,s.Z)(),{copy:O}=(0,n.VP)(),A=p({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),E=async()=>{await O(m)&&r({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(n.Y_,{endAction:t.createElement(a.h,{label:A,noBorder:!0,icon:t.createElement(o.Z,null),onClick:E}),title:m,titleEllipsis:!0,subtitle:c,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};d.propTypes={children:i().oneOfType([i().element,i().string]).isRequired,target:i().string.isRequired},l.Z=d},16325:function(C,l,e){var t=e(32735),a=e(60216),n=e.n(a),o=e(67879),u=e(78246),i=e(76779);const s=({registrationToken:d})=>{const{formatMessage:c}=(0,o.Z)(),m=`${window.location.origin}${u.Z}auth/register?registrationToken=${d}`;return t.createElement(i.Z,{target:m},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:n().string},l.Z=s},4397:function(C,l,e){var t=e(32735),a=e(68465),n=e(84967),o=e(19565),u=e(27169),i=e(60216),s=e.n(i),d=e(67879),c=e(20108),m=e(8471);const r=m.F4`
2
- from {
3
- transform: rotate(0deg);
4
- }
5
- to {
6
- transform: rotate(359deg);
7
- }
8
- `,p=m.ZP.div`
9
- animation: ${r} 2s infinite linear;
10
- `,O=()=>t.createElement(p,null,t.createElement(u.Z,null)),A=async()=>{const{get:h}=(0,o.tg)(),{data:I}=await h("/admin/roles");return I.data},E=({disabled:h,error:I,onChange:w,value:j})=>{const{status:x,data:N}=(0,c.useQuery)(["roles"],A,{staleTime:5e4}),{formatMessage:T}=(0,d.Z)(),Y=I?T({id:I,defaultMessage:I}):"",z=T({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),F=T({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),H=T({id:"app.components.Select.placeholder",defaultMessage:"Select"}),b=x==="loading"?t.createElement(O,null):void 0;return t.createElement(a.P,{id:"roles",disabled:h,error:Y,hint:F,label:z,name:"roles",onChange:v=>{w({target:{name:"roles",value:v}})},placeholder:H,multi:!0,startIcon:b,value:j.map(v=>v.toString()),withTags:!0,required:!0},(N||[]).map(v=>t.createElement(n.W,{key:v.id,value:v.id.toString()},T({id:`global.${v.code}`,defaultMessage:v.name}))))};E.defaultProps={disabled:!1,error:void 0},E.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},l.Z=E},1057:function(C,l,e){e.d(l,{YM:function(){return c},Rw:function(){return u}});var t=e(24346),a=e(19565);const n={firstname:t.Z_().trim().required(a.I0.required),lastname:t.Z_(),email:t.Z_().email(a.I0.email).lowercase().required(a.I0.required),username:t.Z_().nullable(),password:t.Z_().min(8,a.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,a.I0.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(m,r)=>m?r.required(a.I0.required):r)};var u={...n,currentPassword:t.Z_().when(["password","confirmPassword"],(m,r,p)=>m||r?p.required(a.I0.required):p),preferedLanguage:t.Z_().nullable()},s={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},c=t.Ry().shape({...n,isActive:t.Xg(),...s})},28890:function(C,l,e){var t=e(32735),a=e(60216),n=e.n(a),o=e(67879),u=e(78246),i=e(76779);const s=({registrationToken:d})=>{const{formatMessage:c}=(0,o.Z)();return d?t.createElement(i.Z,{target:`${window.location.origin}${u.Z}auth/register?registrationToken=${d}`},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(i.Z,{target:`${window.location.origin}${u.Z}auth/login`},c({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:n().string},l.Z=s},29439:function(C,l,e){e.d(l,{Z:function(){return n}});var t=e(74512);const a=o=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...o,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),n=a}}]);
@@ -1,11 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{19150:function(C,n,e){e.d(n,{R:function(){return l}});var t=e(19565),a=e(33348),r=e(20108);function l(o={},i={}){const{id:s="",...c}=o,d=(0,a.stringify)(c,{encode:!1}),{get:g}=(0,t.kY)(),{data:m,isError:v,isLoading:h,refetch:P}=(0,r.useQuery)(["users",s,c],async()=>{const{data:{data:D}}=await g(`/admin/users/${s}${d?`?${d}`:""}`);return D},i);let p=[];return s&&m?p=[m]:Array.isArray(m?.results)&&(p=m.results),{users:p,pagination:m?.pagination??null,isLoading:h,isError:v,refetch:P}}},83119:function(C,n){const e=()=>null;n.Z=e},83196:function(C,n,e){var t=e(32735),a=e(72850),r=e(41415),l=e(19565),o=e(5644),i=e(60216),s=e.n(i),c=e(67879);const d=({displayedFilters:g})=>{const[m,v]=(0,t.useState)(!1),{formatMessage:h}=(0,c.Z)(),P=(0,t.useRef)(),p=()=>{v(D=>!D)};return t.createElement(t.Fragment,null,t.createElement(a.x,{paddingTop:1,paddingBottom:1},t.createElement(r.z,{variant:"tertiary",ref:P,startIcon:t.createElement(o.Z,null),onClick:p,size:"S"},h({id:"app.utils.filters",defaultMessage:"Filters"})),m&&t.createElement(l.J5,{displayedFilters:g,isVisible:m,onToggle:p,source:P})),t.createElement(l.W$,{filtersSchema:g}))};d.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},n.Z=d},9814:function(C,n,e){var t=e(32735),a=e(41415),r=e(7961),l=e(60216),o=e.n(l),i=e(67879);const s=({onClick:c})=>{const{formatMessage:d}=(0,i.Z)();return t.createElement(a.z,{onClick:c,startIcon:t.createElement(r.Z,null),size:"S"},d({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};s.propTypes={onClick:o().func.isRequired},n.Z=s},58795:function(C,n,e){e.r(n),e.d(n,{default:function(){return Fe}});var t=e(32735),a=e(19565),r=e(15062),l=e(78125),o=e(27649),i=e(82055),s=e(99223),c=e(17e3),d=e(33348),g=e.n(d),m=e(67879),v=e(20108),h=e(53038),P=e(19150),p=e(83196),D=e(35658),B=e(94547),F=e(19786),V=e(82884),b=e(49372),$=e(87933),K=e(50563),Z=e(72850),se=e(68625),ne=e(4038),re=e(60216),E=e.n(re),y=e(8997);const le=({canDelete:M,headers:S,entriesToDelete:T,onClickDelete:z,onSelectRow:X,withMainAction:H,withBulkActions:I,rows:_})=>{const{push:j,location:{pathname:L}}=(0,h.k6)(),{formatMessage:A}=(0,m.Z)();return t.createElement(D.p,null,_.map(u=>{const x=T.findIndex(W=>W===u.id)!==-1;return t.createElement(B.Tr,{key:u.id,...(0,a.X7)({fn:()=>j(`${L}/${u.id}`),condition:I})},H&&t.createElement(F.Td,{...a.UW},t.createElement(V.C,{"aria-label":A({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),checked:x,onChange:()=>{X({name:u.id,value:!x})}})),S.map(({key:W,cellFormatter:Y,name:N,...Q})=>t.createElement(F.Td,{key:W},typeof Y=="function"?Y(u,{key:W,name:N,formatMessage:A,...Q}):t.createElement(b.Z,{textColor:"neutral800"},u[N]||"-"))),I&&t.createElement(F.Td,null,t.createElement($.k,{justifyContent:"end"},t.createElement(K.h,{onClick:()=>j(`${L}/${u.id}`),label:A({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),noBorder:!0,icon:t.createElement(se.Z,null)}),M&&t.createElement(Z.x,{paddingLeft:1,...a.UW},t.createElement(K.h,{onClick:()=>z(u.id),label:A({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),noBorder:!0,icon:t.createElement(ne.Z,null)})))))}))};le.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},le.propTypes={canDelete:E().bool,entriesToDelete:E().array,headers:E().array.isRequired,onClickDelete:E().func,onSelectRow:E().func,rows:E().array,withBulkActions:E().bool,withMainAction:E().bool};var fe=le,ee=e(20011),oe=e(41415),ve=e(85025),Pe=e(55225),De=e(31600),me=e(15335),ie=e(5803),Oe=e(11406),he=e(26858),ye=e(51654),Ce=e(92802),ue=e(18782),Te=e(4397),G=e(24346);const Ee={firstname:"",lastname:"",email:"",roles:[]},Le=[],Ae=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0}]],Ie=G.Ry().shape({firstname:G.Z_().trim().required(a.I0.required),lastname:G.Z_(),email:G.Z_().email(a.I0.email).required(a.I0.required),roles:G.IX().min(1,a.I0.required).required(a.I0.required)}),Re={create:{buttonSubmitLabel:{id:"app.containers.Users.ModalForm.footer.button-success",defaultMessage:"Invite user"},isDisabled:!1,next:"magic-link"},"magic-link":{buttonSubmitLabel:{id:"global.finish",defaultMessage:"Finish"},isDisabled:!0,next:null}},Ue=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),ge=M=>{let{onSuccess:S,onToggle:T}=M;const[z,X]=(0,t.useState)("create"),[H,I]=(0,t.useState)(!1),[_,j]=(0,t.useState)(null),{formatMessage:L}=(0,m.Z)(),A=(0,a.lm)(),{lockApp:u,unlockApp:x}=(0,a.o1)(),{post:W}=(0,a.kY)(),Y=(0,ue.c)(Le,async()=>(await e.e(3269).then(e.bind(e,93269))).ROLE_LAYOUT,{combine(O,R){return[...O,R]},defaultValue:[]}),N=(0,ue.c)(Ee,async()=>(await e.e(3269).then(e.bind(e,93269))).FORM_INITIAL_VALUES,{combine(O,R){return{...O,...R}},defaultValue:Ee}),Q=(0,v.useMutation)(O=>W("/admin/users",O),{async onSuccess(O){let{data:R}=O;j(R.data.registrationToken),await S(),ae(),I(!1)},onError(O){throw I(!1),A({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),O},onSettled(){x()}}),k=L({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),te=async(O,R)=>{let{setErrors:q}=R;u(),I(!0);try{await Q.mutateAsync(O)}catch(J){x(),J?.response?.data?.error.message==="Email already taken"&&q({email:J.response.data.error.message})}},ae=()=>{Me?X(Me):T()},{buttonSubmitLabel:w,isDisabled:f,next:Me}=Re[z],be=z==="create"?t.createElement(oe.z,{type:"submit",loading:H},L(w)):t.createElement(oe.z,{type:"button",loading:H,onClick:T},L(w));return t.createElement(ve.P,{onClose:T,labelledBy:"title"},t.createElement(Pe.x,null,t.createElement(he.O,{label:k},t.createElement(ye.$,{isCurrent:!0},k))),t.createElement(Ce.J9,{enableReinitialize:!0,initialValues:N,onSubmit:te,validationSchema:Ie,validateOnChange:!1},O=>{let{errors:R,handleChange:q,values:J}=O;return t.createElement(a.l0,null,t.createElement(De.f,null,t.createElement($.k,{direction:"column",alignItems:"stretch",gap:6},z!=="create"&&t.createElement(Ue,{registrationToken:_}),t.createElement(Z.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},L({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement(Z.x,{paddingTop:4},t.createElement($.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(me.r,{gap:5},Ae.map(de=>de.map(U=>t.createElement(ie.P,(0,ee.Z)({key:U.name},U.size),t.createElement(a.jm,(0,ee.Z)({},U,{disabled:f,error:R[U.name],onChange:q,value:J[U.name]}))))))))),t.createElement(Z.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},L({id:"global.roles",defaultMessage:"User's role"})),t.createElement(Z.x,{paddingTop:4},t.createElement(me.r,{gap:5},t.createElement(ie.P,{col:6,xs:12},t.createElement(Te.Z,{disabled:f,error:R.roles,onChange:q,value:J.roles})),Y.map(de=>de.map(U=>t.createElement(ie.P,(0,ee.Z)({key:U.name},U.size),t.createElement(a.jm,(0,ee.Z)({},U,{disabled:f,onChange:q,value:J[U.name]})))))))))),t.createElement(Oe.m,{startActions:t.createElement(oe.z,{variant:"tertiary",onClick:T,type:"button"},L({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:be}))}))};ge.propTypes={onToggle:E().func.isRequired,onSuccess:E().func.isRequired};var Be=ge;const ce=({pagination:M})=>t.createElement(Z.x,{paddingTop:4},t.createElement($.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:M})));ce.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},ce.propTypes={pagination:E().shape({page:E().number,pageCount:E().number,pageSize:E().number,total:E().number})};var Se=ce,_e=[{name:"firstname",metadatas:{label:"Firstname"},fieldSchema:{type:"string"}},{name:"lastname",metadatas:{label:"Lastname"},fieldSchema:{type:"string"}},{name:"email",metadatas:{label:"Email"},fieldSchema:{type:"email"}},{name:"username",metadatas:{label:"Username"},fieldSchema:{type:"string"}},{name:"isActive",metadatas:{label:"Active user"},fieldSchema:{type:"boolean"}}],We=[{name:"firstname",key:"firstname",metadatas:{label:{id:"Settings.permissions.users.firstname",defaultMessage:"Firstname"},sortable:!0}},{name:"lastname",key:"lastname",metadatas:{label:{id:"Settings.permissions.users.lastname",defaultMessage:"Lastname"},sortable:!0}},{key:"email",name:"email",metadatas:{label:{id:"Settings.permissions.users.email",defaultMessage:"Email"},sortable:!0}},{key:"roles",name:"roles",metadatas:{label:{id:"Settings.permissions.users.roles",defaultMessage:"Roles"},sortable:!1},cellFormatter({roles:M},{formatMessage:S}){return t.createElement(b.Z,{textColor:"neutral800"},M.map(T=>S({id:`Settings.permissions.users.${T.code}`,defaultMessage:T.name})).join(`,
2
- `))}},{key:"username",name:"username",metadatas:{label:{id:"Settings.permissions.users.username",defaultMessage:"Username"},sortable:!0}},{key:"isActive",name:"isActive",metadatas:{label:{id:"Settings.permissions.users.user-status",defaultMessage:"User status"},sortable:!1},cellFormatter({isActive:M},{formatMessage:S}){return t.createElement($.k,null,t.createElement(a.qb,{isActive:M,variant:M?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},S({id:M?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:M?"Active":"Inactive"})))}}];const Ke=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)(),Ze=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),pe=["ee","license-limit-info"];var xe=()=>{const{post:M}=(0,a.kY)(),{formatAPIError:S}=(0,a.So)(),[T,z]=(0,t.useState)(!1),X=(0,r.v9)(l._),{allowedActions:{canCreate:H,canDelete:I,canRead:_}}=(0,a.ss)(X.settings.users),j=(0,v.useQueryClient)(),L=(0,a.lm)(),{formatMessage:A}=(0,m.Z)(),{search:u}=(0,h.TH)();(0,a.go)(),Ke();const{users:x,pagination:W,isError:Y,isLoading:N,refetch:Q}=(0,P.R)(g().parse(u,{ignoreQueryPrefix:!0}),{enabled:_}),k=We.map(f=>({...f,metadatas:{...f.metadatas,label:A(f.metadatas.label)}})),te=A({id:"global.users",defaultMessage:"Users"}),ae=()=>{z(f=>!f)},w=(0,v.useMutation)(async f=>{await M("/admin/users/batch-delete",{ids:f})},{async onSuccess(){await Q(),await j.refetchQueries(pe)},onError(f){L({type:"warning",message:{id:"notification.error",message:S(f),defaultMessage:"An error occured"}})}});return t.createElement(o.o,{"aria-busy":N},t.createElement(a.SL,{name:"Users"}),t.createElement(i.T,{primaryAction:H&&t.createElement(Ze,{onClick:ae}),title:te,subtitle:A({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),_&&t.createElement(s.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:A({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:te})}),t.createElement(p.Z,{displayedFilters:_e}))}),t.createElement(c.D,{canRead:_},!_&&t.createElement(a.ZF,null),Y&&t.createElement("div",null,"TODO: An error occurred"),_&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:N,onConfirmDeleteAll:w.mutateAsync,onConfirmDelete:f=>w.mutateAsync([f]),headers:k,rows:x,withBulkActions:!0,withMainAction:I},t.createElement(fe,{canDelete:I,headers:k,rows:x,withBulkActions:!0,withMainAction:I})),W&&t.createElement(Se,{pagination:W}))),T&&t.createElement(Be,{onSuccess:async()=>{await Q(),await j.refetchQueries(pe)},onToggle:ae}))},Fe=()=>{const M=(0,r.v9)(l._);return t.createElement(a.O4,{permissions:M.settings.users.main},t.createElement(xe,null))}},76779:function(C,n,e){var t=e(32735),a=e(50563),r=e(19565),l=e(47765),o=e(60216),i=e.n(o),s=e(67879);const c=({children:d,target:g})=>{const m=(0,r.lm)(),{formatMessage:v}=(0,s.Z)(),{copy:h}=(0,r.VP)(),P=v({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),p=async()=>{await h(g)&&m({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(r.Y_,{endAction:t.createElement(a.h,{label:P,noBorder:!0,icon:t.createElement(l.Z,null),onClick:p}),title:g,titleEllipsis:!0,subtitle:d,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};c.propTypes={children:i().oneOfType([i().element,i().string]).isRequired,target:i().string.isRequired},n.Z=c},16325:function(C,n,e){var t=e(32735),a=e(60216),r=e.n(a),l=e(67879),o=e(78246),i=e(76779);const s=({registrationToken:c})=>{const{formatMessage:d}=(0,l.Z)(),g=`${window.location.origin}${o.Z}auth/register?registrationToken=${c}`;return t.createElement(i.Z,{target:g},d({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string},n.Z=s},4397:function(C,n,e){var t=e(32735),a=e(68465),r=e(84967),l=e(19565),o=e(27169),i=e(60216),s=e.n(i),c=e(67879),d=e(20108),g=e(8471);const m=g.F4`
3
- from {
4
- transform: rotate(0deg);
5
- }
6
- to {
7
- transform: rotate(359deg);
8
- }
9
- `,v=g.ZP.div`
10
- animation: ${m} 2s infinite linear;
11
- `,h=()=>t.createElement(v,null,t.createElement(o.Z,null)),P=async()=>{const{get:D}=(0,l.tg)(),{data:B}=await D("/admin/roles");return B.data},p=({disabled:D,error:B,onChange:F,value:V})=>{const{status:b,data:$}=(0,d.useQuery)(["roles"],P,{staleTime:5e4}),{formatMessage:K}=(0,c.Z)(),Z=B?K({id:B,defaultMessage:B}):"",se=K({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),ne=K({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),re=K({id:"app.components.Select.placeholder",defaultMessage:"Select"}),E=b==="loading"?t.createElement(h,null):void 0;return t.createElement(a.P,{id:"roles",disabled:D,error:Z,hint:ne,label:se,name:"roles",onChange:y=>{F({target:{name:"roles",value:y}})},placeholder:re,multi:!0,startIcon:E,value:V.map(y=>y.toString()),withTags:!0,required:!0},($||[]).map(y=>t.createElement(r.W,{key:y.id,value:y.id.toString()},K({id:`global.${y.code}`,defaultMessage:y.name}))))};p.defaultProps={disabled:!1,error:void 0},p.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},n.Z=p},99724:function(C,n,e){var t=e(32735),a=e(87933),r=e(63919),l=e(99140),o=e(41415),i=e(69932),s=e(7961),c=e(36866),d=e.n(c),g=e(60216),m=e.n(g),v=e(67879),h=e(58414);const P=({onClick:p})=>{const{formatMessage:D}=(0,v.Z)(),{license:B}=(0,h.q5)(),{permittedSeats:F,shouldStopCreate:V}=B?.data??{};return t.createElement(a.k,{gap:2},!d()(F)&&V&&t.createElement(r.u,{description:D({id:"Settings.application.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"}),position:"left"},t.createElement(l.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:i.Z})),t.createElement(o.z,{"data-testid":"create-user-button",onClick:p,startIcon:t.createElement(s.Z,null),size:"S",disabled:V},D({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};P.propTypes={onClick:m().func.isRequired},n.Z=P},28890:function(C,n,e){var t=e(32735),a=e(60216),r=e.n(a),l=e(67879),o=e(78246),i=e(76779);const s=({registrationToken:c})=>{const{formatMessage:d}=(0,l.Z)();return c?t.createElement(i.Z,{target:`${window.location.origin}${o.Z}auth/register?registrationToken=${c}`},d({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(i.Z,{target:`${window.location.origin}${o.Z}auth/login`},d({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string},n.Z=s},99223:function(C,n,e){e.d(n,{Z:function(){return r}});var t=e(74512),a=e(87933);const r=({startActions:l,endActions:o})=>!l&&!o?null:(0,t.jsxs)(a.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(a.k,{gap:2,wrap:"wrap",children:l}),(0,t.jsx)(a.k,{gap:2,shrink:0,wrap:"wrap",children:o})]})},7961:function(C,n,e){e.d(n,{Z:function(){return r}});var t=e(74512);const a=l=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...l,children:[(0,t.jsx)("path",{fill:"#32324D",d:"M0 2.8A.8.8 0 0 1 .8 2h22.4a.8.8 0 0 1 .8.8v2.71a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2.8Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M1.922 7.991C.197 6.675 0 6.252 0 5.289h23.953c.305 1.363-1.594 2.506-2.297 3.125-1.953 1.363-6.253 4.36-7.828 5.45-1.575 1.09-3.031.455-3.562 0-2.063-1.41-6.62-4.557-8.344-5.873ZM22.8 18H1.2c-.663 0-1.2.471-1.2 1.053v1.894C0 21.529.537 22 1.2 22h21.6c.663 0 1.2-.471 1.2-1.053v-1.894c0-.582-.537-1.053-1.2-1.053Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M0 9.555v10.972h24V9.554c-2.633 1.95-8.367 6.113-9.96 7.166-1.595 1.052-3.352.438-4.032 0L0 9.555Z"})]}),r=a}}]);
@@ -1,16 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8056],{81450:function(w,E,t){t.d(E,{Z:function(){return H}});var e=t(32735),s=t(35658),M=t(94547),m=t(19786),v=t(49372),U=t(87933),i=t(19565),V=t(60216),n=t.n(V),Z=t(53038),x=t(72850),O=t(50563),C=t(4038),P=t(67879);const f=({tokenName:a,onClickDelete:l,tokenType:c})=>{const{formatMessage:y}=(0,P.Z)(),{trackUsage:u}=(0,i.rS)(),[p,g]=(0,e.useState)(!1),h=()=>{g(!1),u("willDeleteToken",{tokenType:c}),l()};return e.createElement(x.x,{paddingLeft:1,onClick:d=>d.stopPropagation()},e.createElement(O.h,{onClick:()=>{g(!0)},label:y({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${a}`}),name:"delete",noBorder:!0,icon:e.createElement(C.Z,null)}),e.createElement(i.QH,{onToggleDialog:()=>g(!1),onConfirm:h,isOpen:p}))};f.propTypes={tokenName:n().string.isRequired,onClickDelete:n().func.isRequired,tokenType:n().string.isRequired};var F=f,z=t(54894),$=t(8471);const J={edit:{id:"app.component.table.edit",defaultMessage:"Edit {target}"},read:{id:"app.component.table.read",defaultMessage:"Read {target}"}},Q=(0,$.ZP)(i.rU)`
2
- svg {
3
- path {
4
- fill: ${({theme:a})=>a.colors.neutral500};
5
- }
6
- }
7
-
8
- &:hover,
9
- &:focus {
10
- svg {
11
- path {
12
- fill: ${({theme:a})=>a.colors.neutral800};
13
- }
14
- }
15
- }
16
- `,b=({tokenName:a,tokenId:l,buttonType:c,children:y})=>{const{formatMessage:u}=(0,P.Z)(),{location:{pathname:p}}=(0,Z.k6)();return e.createElement(Q,{to:`${p}/${l}`,title:u(J[c],{target:a})},y)};b.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired,buttonType:n().string,children:n().node.isRequired},b.defaultProps={buttonType:"edit"};var I=b;const k=({tokenName:a,tokenId:l})=>e.createElement(I,{tokenName:a,tokenId:l,buttonType:"read"},e.createElement(z.Z,null));k.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var T=k,S=t(68625);const N=({tokenName:a,tokenId:l})=>e.createElement(I,{tokenName:a,tokenId:l},e.createElement(S.Z,null));N.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var D=N;const R=({permissions:a,headers:l,contentType:c,isLoading:y,tokens:u,onConfirmDelete:p,tokenType:g})=>{const{canDelete:h,canUpdate:d,canRead:A}=a,B=h||d||A,[{query:L}]=(0,i.Kx)(),[,j]=L?L.sort.split(":"):"ASC",{push:W,location:{pathname:Y}}=(0,Z.k6)(),{trackUsage:K}=(0,i.rS)(),o=u.sort((r,X)=>{const G=r.name.localeCompare(X.name);return j==="DESC"?-G:G});return e.createElement(i.tM,{headers:l,contentType:c,rows:u,withBulkActions:B,isLoading:y,onConfirmDelete:p},e.createElement(s.p,null,o.map(r=>e.createElement(M.Tr,{key:r.id,...(0,i.X7)({fn(){K("willEditTokenFromList",{tokenType:g}),W(`${Y}/${r.id}`)},condition:d})},e.createElement(m.Td,{maxWidth:(0,i.Q1)(250)},e.createElement(v.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},r.name)),e.createElement(m.Td,{maxWidth:(0,i.Q1)(250)},e.createElement(v.Z,{textColor:"neutral800",ellipsis:!0},r.description)),e.createElement(m.Td,null,e.createElement(v.Z,{textColor:"neutral800"},e.createElement(i.ij,{timestamp:new Date(r.createdAt)}))),e.createElement(m.Td,null,r.lastUsedAt&&e.createElement(v.Z,{textColor:"neutral800"},e.createElement(i.ij,{timestamp:new Date(r.lastUsedAt)}))),B&&e.createElement(m.Td,null,e.createElement(U.k,{justifyContent:"end"},d&&e.createElement(D,{tokenName:r.name,tokenId:r.id}),!d&&A&&e.createElement(T,{tokenName:r.name,tokenId:r.id}),h&&e.createElement(F,{tokenName:r.name,onClickDelete:()=>p(r.id),tokenType:g})))))))};R.propTypes={tokens:n().array,permissions:n().shape({canRead:n().bool,canDelete:n().bool,canUpdate:n().bool}).isRequired,headers:n().arrayOf(n().shape({cellFormatter:n().func,key:n().string.isRequired,metadatas:n().shape({label:n().string.isRequired,sortable:n().bool}).isRequired,name:n().string.isRequired})),contentType:n().string.isRequired,isLoading:n().bool,onConfirmDelete:n().func,tokenType:n().string.isRequired},R.defaultProps={tokens:[],headers:[],isLoading:!1,onConfirmDelete(){}};var H=R},68774:function(w,E,t){t.d(E,{Z:function(){return e},f:function(){return s}});const e="api-token",s="transfer-token"},37168:function(w,E,t){t.r(E),t.d(E,{default:function(){return I}});var e=t(32735),s=t(19565),M=t(15062),m=t(78125),v=t(27649),U=t(82055),i=t(17e3),V=t(41415),n=t(19406),Z=t(33348),x=t.n(Z),O=t(67879),C=t(20108),P=t(53038),f=t(68774),F=t(81450),$=[{name:"name",key:"name",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.name",defaultMessage:"Name"},sortable:!0}},{name:"description",key:"description",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.description",defaultMessage:"Description"},sortable:!1}},{name:"createdAt",key:"createdAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.createdAt",defaultMessage:"Created at"},sortable:!1}},{name:"lastUsedAt",key:"lastUsedAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.lastUsedAt",defaultMessage:"Last used"},sortable:!1}}],Q=()=>{(0,s.go)();const k=(0,C.useQueryClient)(),{formatMessage:T}=(0,O.Z)(),S=(0,s.lm)(),N=(0,M.v9)(m._),{allowedActions:{canCreate:D,canDelete:R,canUpdate:H,canRead:a}}=(0,s.ss)(N.settings["api-tokens"]),{push:l}=(0,P.k6)(),{trackUsage:c}=(0,s.rS)(),{startSection:y}=(0,s.c1)(),u=(0,e.useRef)(y),{get:p,del:g}=(0,s.kY)();(0,e.useEffect)(()=>{u.current&&u.current("apiTokens")},[]),(0,e.useEffect)(()=>{l({search:x().stringify({sort:"name:ASC"},{encode:!1})})},[l]);const h=$.map(o=>({...o,metadatas:{...o.metadatas,label:T(o.metadatas.label)}})),{data:d,status:A,isFetching:B}=(0,C.useQuery)(["api-tokens"],async()=>{c("willAccessTokenList",{tokenType:f.Z});const{data:{data:o}}=await p("/admin/api-tokens");return c("didAccessTokenList",{number:o.length,tokenType:f.Z}),o},{enabled:a,onError(){S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),L=a&&(A!=="success"&&A!=="error"||A==="success"&&B),j=(0,C.useMutation)(async o=>{await g(`/admin/api-tokens/${o}`)},{async onSuccess(){await k.invalidateQueries(["api-tokens"]),c("didDeleteToken")},onError(o){o?.response?.data?.data?S({type:"warning",message:o.response.data.data}):S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),W=a&&d,Y=a&&!d&&!D,K=a&&!d&&D;return e.createElement(v.o,{"aria-busy":L},e.createElement(s.SL,{name:"API Tokens"}),e.createElement(U.T,{title:T({id:"Settings.apiTokens.title",defaultMessage:"API Tokens"}),subtitle:T({id:"Settings.apiTokens.description",defaultMessage:"List of generated tokens to consume the API"}),primaryAction:D?e.createElement(s.Qj,{"data-testid":"create-api-token-button",startIcon:e.createElement(n.Z,null),size:"S",onClick:()=>c("willAddTokenFromList",{tokenType:f.Z}),to:"/settings/api-tokens/create"},T({id:"Settings.apiTokens.create",defaultMessage:"Create new API Token"})):void 0}),e.createElement(i.D,null,!a&&e.createElement(s.ZF,null),W&&e.createElement(F.Z,{permissions:{canRead:a,canDelete:R,canUpdate:H},headers:h,contentType:"api-tokens",rows:d,isLoading:L,onConfirmDelete:o=>j.mutateAsync(o),tokens:d,tokenType:f.Z}),K&&e.createElement(s.dJ,{content:{id:"Settings.apiTokens.addFirstToken",defaultMessage:"Add your first API Token"},action:e.createElement(V.z,{variant:"secondary",startIcon:e.createElement(n.Z,null)},T({id:"Settings.apiTokens.addNewToken",defaultMessage:"Add new API Token"}))}),Y&&e.createElement(s.dJ,{content:{id:"Settings.apiTokens.emptyStateLayout",defaultMessage:"You don\u2019t have any content yet..."}})))},I=()=>{const k=(0,M.v9)(m._);return e.createElement(s.O4,{permissions:k.settings["api-tokens"].main},e.createElement(Q,null))}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{19150:function(U,f,t){t.d(f,{R:function(){return E}});var e=t(19565),n=t(33348),L=t(20108);function E(v={},T={}){const{id:c="",...C}=v,h=(0,n.stringify)(C,{encode:!1}),{get:S}=(0,e.kY)(),{data:g,isError:b,isLoading:A,refetch:O}=(0,L.useQuery)(["users",c,C],async()=>{const{data:{data:I}}=await S(`/admin/users/${c}${h?`?${h}`:""}`);return I},T);let M=[];return c&&g?M=[g]:Array.isArray(g?.results)&&(M=g.results),{users:M,pagination:g?.pagination??null,isLoading:A,isError:b,refetch:O}}},83196:function(U,f,t){var e=t(32735),n=t(72850),L=t(41415),E=t(19565),v=t(5644),T=t(60216),c=t.n(T),C=t(67879);const h=({displayedFilters:S})=>{const[g,b]=(0,e.useState)(!1),{formatMessage:A}=(0,C.Z)(),O=(0,e.useRef)(),M=()=>{b(I=>!I)};return e.createElement(e.Fragment,null,e.createElement(n.x,{paddingTop:1,paddingBottom:1},e.createElement(L.z,{variant:"tertiary",ref:O,startIcon:e.createElement(v.Z,null),onClick:M,size:"S"},A({id:"app.utils.filters",defaultMessage:"Filters"})),g&&e.createElement(E.J5,{displayedFilters:S,isVisible:g,onToggle:M,source:O})),e.createElement(E.W$,{filtersSchema:S}))};h.propTypes={displayedFilters:c().arrayOf(c().shape({name:c().string.isRequired,metadatas:c().shape({label:c().string}),fieldSchema:c().shape({type:c().string})})).isRequired},f.Z=h},71765:function(U,f,t){t.r(f),t.d(f,{default:function(){return Me}});var e=t(32735),n=t(19565),L=t(15062),E=t(78125),v=t(96709),T=t(17e3),c=t(72850),C=t(27649),h=t(82055),S=t(99223),g=t(67879),b=t(83196),A=t(20108),O=t(53038),M=t(19150),w=({canReadAuditLogs:a,canReadUsers:d})=>{const{get:u}=(0,n.kY)(),{search:r}=(0,O.TH)(),m=(0,n.lm)(),l={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:R=>m({type:"warning",message:R.message})},{users:i,isError:s,isLoading:p}=(0,M.R)({},{...l,enabled:d,staleTime:2*(1e3*60)}),{data:y,isLoading:P,isError:N}=(0,A.useQuery)(["auditLogs",r],async({queryKey:R})=>{const Z=R[1],{data:D}=await u(`/admin/audit-logs${Z}`);return D},{...l,enabled:a});return{auditLogs:y,users:i,isLoading:p||P,hasError:N||s}},k=t(85025),q=t(55225),_=t(31600),ee=t(26858),te=t(51654),ae=t(60216),o=t.n(ae),se=t(96315),H=()=>{const{formatDate:a}=(0,g.Z)();return u=>{const r=(0,se.Z)(u),m=a(r,{dateStyle:"long"}),l=a(r,{timeStyle:"medium",hourCycle:"h24"});return`${m}, ${l}`}},B=t(87933),ne=t(23866),F=t(49372),oe=t(15335),ie=t(64710);const z={"entry.create":"Create entry{model, select, undefined {} other { ({model})}}","entry.update":"Update entry{model, select, undefined {} other { ({model})}}","entry.delete":"Delete entry{model, select, undefined {} other { ({model})}}","entry.publish":"Publish entry{model, select, undefined {} other { ({model})}}","entry.unpublish":"Unpublish entry{model, select, undefined {} other { ({model})}}","media.create":"Create media","media.update":"Update media","media.delete":"Delete media","media-folder.create":"Create media folder","media-folder.update":"Update media folder","media-folder.delete":"Delete media folder","user.create":"Create user","user.update":"Update user","user.delete":"Delete user","admin.auth.success":"Admin login","admin.logout":"Admin logout","content-type.create":"Create content type","content-type.update":"Update content type","content-type.delete":"Delete content type","component.create":"Create component","component.update":"Update component","component.delete":"Delete component","role.create":"Create role","role.update":"Update role","role.delete":"Delete role","permission.create":"Create permission","permission.update":"Update permission","permission.delete":"Delete permission"},$=a=>z[a]||a,Q=({actionLabel:a,actionName:d})=>e.createElement(B.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(F.Z,{textColor:"neutral600",variant:"sigma"},a),e.createElement(F.Z,{textColor:"neutral600"},d));Q.propTypes={actionLabel:o().string.isRequired,actionName:o().string.isRequired};var x=Q;const W=({status:a,data:d,formattedDate:u})=>{const{formatMessage:r}=(0,g.Z)();if(a==="loading")return e.createElement(B.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(ne.a,null,"Loading content..."));const{action:m,user:l,payload:i}=d;return e.createElement(e.Fragment,null,e.createElement(c.x,{marginBottom:3},e.createElement(F.Z,{variant:"delta",id:"title"},r({id:"Settings.permissions.auditLogs.details",defaultMessage:"Log Details"}))),e.createElement(oe.r,{gap:4,gridCols:2,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:6,marginBottom:4,background:"neutral100",hasRadius:!0},e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),actionName:r({id:`Settings.permissions.auditLogs.${m}`,defaultMessage:$(m)},{model:i?.model})}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"}),actionName:u}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),actionName:l?.displayName||"-"}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:l?.id.toString()||"-"})),e.createElement(ie.V,{value:JSON.stringify(i,null,2),disabled:!0,label:r({id:"Settings.permissions.auditLogs.payload",defaultMessage:"Payload"})}))};W.defaultProps={data:{}},W.propTypes={status:o().oneOf(["idle","loading","error","success"]).isRequired,data:o().shape({action:o().string,date:o().string,payload:o().object,user:o().object}),formattedDate:o().string.isRequired};var re=W;const Y=({handleClose:a,logId:d})=>{const{get:u}=(0,n.kY)(),r=(0,n.lm)(),m=async y=>{const{data:P}=await u(`/admin/audit-logs/${y}`);if(!P)throw new Error("Audit log not found");return P},{data:l,status:i}=(0,A.useQuery)(["audit-log",d],()=>m(d),{onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),a()}}),s=H(),p=l?s(l.date):"";return e.createElement(k.P,{onClose:a,labelledBy:"title"},e.createElement(q.x,null,e.createElement(ee.O,{label:p,id:"title"},e.createElement(te.$,{isCurrent:!0},p))),e.createElement(_.f,null,e.createElement(re,{status:i,data:l,formattedDate:p})))};Y.propTypes={handleClose:o().func.isRequired,logId:o().string.isRequired};var le=Y;const j=({pagination:a})=>e.createElement(c.x,{paddingTop:4},e.createElement(B.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.v4,null),e.createElement(n.tU,{pagination:a})));j.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},j.propTypes={pagination:o().shape({page:o().number,pageCount:o().number,pageSize:o().number,total:o().number})};var de=j,me=t(35658),ue=t(94547),J=t(19786),ce=t(50563),ge=t(54894);const V=({headers:a,rows:d,onOpenModal:u})=>{const{formatMessage:r}=(0,g.Z)(),m=H(),l=({type:i,value:s,model:p})=>i==="date"?m(s):i==="action"?r({id:`Settings.permissions.auditLogs.${s}`,defaultMessage:$(s)},{model:p}):s||"-";return e.createElement(me.p,null,d.map(i=>e.createElement(ue.Tr,{key:i.id,...(0,n.X7)({fn:()=>u(i.id)})},a.map(({key:s,name:p,cellFormatter:y})=>e.createElement(J.Td,{key:s},e.createElement(F.Z,{textColor:"neutral800"},l({type:s,value:y?y(i[p]):i[p],model:i.payload?.model})))),e.createElement(J.Td,{...n.UW},e.createElement(B.k,{justifyContent:"end"},e.createElement(ce.h,{onClick:()=>u(i.id),"aria-label":r({id:"app.component.table.view",defaultMessage:"{target} details"},{target:`${i.action} action`}),noBorder:!0,icon:e.createElement(ge.Z,null)}))))))};V.defaultProps={rows:[]},V.propTypes={headers:o().array.isRequired,rows:o().array,onOpenModal:o().func.isRequired};var pe=V,fe=t(21428),Ee=t(90333);const K=({value:a,options:d,onChange:u})=>{const{formatMessage:r}=(0,g.Z)(),m=r({id:"Settings.permissions.auditLogs.filter.aria-label",defaultMessage:"Search and select an option to filter"});return e.createElement(fe.hQ,{"aria-label":m,value:a,onChange:u},d.map(({label:l,customValue:i})=>e.createElement(Ee.O,{key:i,value:i},l)))};K.defaultProps={value:null},K.propTypes={value:o().string,options:o().arrayOf(o().shape({label:o().string.isRequired,customValue:o().string.isRequired}).isRequired).isRequired,onChange:o().func.isRequired};var G=K;const X=[{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$eq",defaultMessage:"is"},value:"$eq"},{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$ne",defaultMessage:"is not"},value:"$ne"}];var ye=({formatMessage:a,users:d,canReadUsers:u})=>{const r=Object.keys(z).map(l=>({label:a({id:`Settings.permissions.auditLogs.${l}`,defaultMessage:$(l)},{model:void 0}),customValue:l})),m=[{name:"action",metadatas:{customOperators:X,label:a({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),options:r,customInput:G},fieldSchema:{type:"enumeration"}},{name:"date",metadatas:{label:a({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"})},fieldSchema:{type:"datetime"}}];if(u&&d){const l=s=>s.username?s.username:s.firstname&&s.lastname?a({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:s.firstname,lastname:s.lastname}):s.email,i=d.map(s=>({label:l(s),customValue:s.id.toString()}));return[...m,{name:"user",metadatas:{customOperators:X,label:a({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),options:i,customInput:G},fieldSchema:{type:"relation",mainField:{name:"id"}}}]}return m},Le=[{name:"action",key:"action",metadatas:{label:{id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"},sortable:!0}},{name:"date",key:"date",metadatas:{label:{id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"},sortable:!0}},{key:"user",name:"user",metadatas:{label:{id:"Settings.permissions.auditLogs.user",defaultMessage:"User"},sortable:!1},cellFormatter:a=>a?a.displayName:""}],ve=()=>{const{formatMessage:a}=(0,g.Z)(),d=(0,L.v9)(E._),u=e.useMemo(()=>({...d.settings.auditLogs,readUsers:d.settings.users.read}),[d.settings.auditLogs,d.settings.users.read]),{allowedActions:{canRead:r,canReadUsers:m}}=(0,n.ss)(u),[{query:l},i]=(0,n.Kx)(),{auditLogs:s,users:p,isLoading:y,hasError:P}=w({canReadAuditLogs:r,canReadUsers:m});(0,n.go)();const N=ye({formatMessage:a,users:p,canReadUsers:m}),R=a({id:"global.auditLogs",defaultMessage:"Audit Logs"}),Z=Le.map(D=>({...D,metadatas:{...D.metadatas,label:a(D.metadatas.label)}}));return P?e.createElement(v.A,null,e.createElement(T.D,null,e.createElement(c.x,{paddingTop:8},e.createElement(n.Hn,null)))):e.createElement(C.o,{"aria-busy":y},e.createElement(n.SL,{name:R}),e.createElement(h.T,{title:R,subtitle:a({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(S.Z,{startActions:e.createElement(b.Z,{displayedFilters:N})}),e.createElement(T.D,{canRead:r},e.createElement(n.tM,{contentType:"Audit logs",headers:Z,rows:s?.results||[],withBulkActions:!0,isLoading:y},e.createElement(pe,{headers:Z,rows:s?.results||[],onOpenModal:D=>i({id:D})})),e.createElement(de,{pagination:s?.pagination})),l?.id&&e.createElement(le,{handleClose:()=>i({id:null},"remove"),logId:l.id}))},Me=()=>{const a=(0,L.v9)(E._);return e.createElement(n.O4,{permissions:a.settings.auditLogs.main},e.createElement(ve,null))}},90333:function(U,f,t){t.d(f,{O:function(){return n}});var e=t(21428);const n=e.Wx},99223:function(U,f,t){t.d(f,{Z:function(){return L}});var e=t(74512),n=t(87933);const L=({startActions:E,endActions:v})=>!E&&!v?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:E}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:v})]})}}]);