@strapi/admin 4.14.2 → 4.14.4

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 (173) hide show
  1. package/.eslintrc.js +4 -1
  2. package/admin/.eslintrc.js +16 -0
  3. package/admin/custom.d.ts +8 -0
  4. package/admin/src/components/AuthenticatedApp/index.js +3 -7
  5. package/admin/src/components/AuthenticatedApp/utils/api.js +1 -39
  6. package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.ts +13 -0
  7. package/admin/src/{hooks/useReleaseNotification/utils/api.js → components/AuthenticatedApp/utils/fetchStrapiLatestRelease.ts} +2 -3
  8. package/admin/src/components/{DragLayer/DragLayer.js → DragLayer.tsx} +18 -10
  9. package/admin/src/components/PrivateRoute.tsx +42 -0
  10. package/admin/src/components/Providers/index.js +2 -2
  11. package/admin/src/components/Theme.tsx +39 -0
  12. package/admin/src/components/ThemeToggleProvider.tsx +50 -0
  13. package/admin/src/components/{UnauthenticatedLogo/index.js → UnauthenticatedLogo.tsx} +2 -4
  14. package/admin/src/content-manager/components/BlocksEditor/BlocksInput/index.js +22 -3
  15. package/admin/src/content-manager/components/BlocksEditor/Toolbar/index.js +263 -134
  16. package/admin/src/content-manager/components/BlocksEditor/hooks/useBlocksStore.js +362 -95
  17. package/admin/src/content-manager/components/BlocksEditor/hooks/useModifiersStore.js +15 -0
  18. package/admin/src/content-manager/components/BlocksEditor/index.js +99 -9
  19. package/admin/src/content-manager/components/BlocksEditor/plugins/index.js +4 -0
  20. package/admin/src/content-manager/components/BlocksEditor/plugins/withLinks.js +61 -0
  21. package/admin/src/content-manager/components/BlocksEditor/plugins/withStrapiSchema.js +33 -0
  22. package/admin/src/content-manager/components/BlocksEditor/utils/links.js +90 -0
  23. package/admin/src/content-manager/components/InputUID/index.js +1 -1
  24. package/admin/src/content-manager/hooks/useAllowedAttributes.js +9 -1
  25. package/admin/src/content-manager/hooks/useRelation/useRelation.js +1 -0
  26. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -0
  27. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +1 -0
  28. package/admin/src/content-manager/pages/ListSettingsView/constants.js +1 -0
  29. package/admin/src/content-manager/pages/ListView/index.js +2 -1
  30. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  31. package/admin/src/content-manager/utils/schema.js +2 -2
  32. package/admin/src/contexts/configuration.ts +15 -0
  33. package/admin/src/contexts/index.js +1 -2
  34. package/admin/src/contexts/themeToggle.ts +16 -0
  35. package/admin/src/hooks/{useConfigurations/__mocks__/index.js → __mocks__/useConfigurations.ts} +4 -2
  36. package/admin/src/hooks/index.js +1 -5
  37. package/admin/src/hooks/useConfigurations.ts +5 -0
  38. package/admin/src/hooks/useDebounce.ts +17 -0
  39. package/admin/src/hooks/useLicenseLimitNotification.ts +3 -0
  40. package/admin/src/hooks/useThemeToggle.ts +9 -0
  41. package/admin/src/pages/App/index.js +1 -1
  42. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
  43. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -1
  44. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +1 -1
  45. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -1
  46. package/admin/src/pages/AuthPage/components/Register/index.js +1 -1
  47. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +1 -1
  48. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +0 -2
  49. package/admin/src/pages/MarketplacePage/hooks/__mocks__/useNavigatorOnline.ts +1 -0
  50. package/admin/src/{hooks/useNavigatorOnLine/index.js → pages/MarketplacePage/hooks/useNavigatorOnline.ts} +4 -6
  51. package/admin/src/pages/MarketplacePage/index.js +3 -3
  52. package/admin/src/pages/ProfilePage/index.js +1 -1
  53. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +1 -1
  54. package/admin/src/{hooks/useRegenerate/index.js → pages/SettingsPage/hooks/useRegenerate.ts} +13 -7
  55. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +1 -1
  56. package/admin/src/pages/UseCasePage/index.js +1 -1
  57. package/admin/src/translations/en.json +8 -0
  58. package/admin/tsconfig.json +5 -0
  59. package/build/1049.f7aed23d.chunk.js +1 -0
  60. package/build/{1227.969e24e6.chunk.js → 1227.f9c74718.chunk.js} +1 -1
  61. package/build/{1386.db9a2795.chunk.js → 1386.6b8819c6.chunk.js} +2 -2
  62. package/build/2224.8af54440.chunk.js +138 -0
  63. package/build/2225.d1bcf7e3.chunk.js +79 -0
  64. package/build/2379.f0baf826.chunk.js +1 -0
  65. package/build/{2395.f6ac2863.chunk.js → 2395.aca6ce66.chunk.js} +1 -1
  66. package/build/2421.a478ba24.chunk.js +105 -0
  67. package/build/2801.c49f88a1.chunk.js +1 -0
  68. package/build/{3483.f6b2439f.chunk.js → 3483.5df8e010.chunk.js} +1 -1
  69. package/build/3911.d4fada48.chunk.js +95 -0
  70. package/build/412.72afdf0c.chunk.js +689 -0
  71. package/build/{4174.3e13fb26.chunk.js → 4174.df9aa09a.chunk.js} +1 -1
  72. package/build/502.8666bbef.chunk.js +25 -0
  73. package/build/570.2f3b4c56.chunk.js +1 -0
  74. package/build/5702.5b433d50.chunk.js +1 -0
  75. package/build/6186.c33ce082.chunk.js +116 -0
  76. package/build/7464.43a4527c.chunk.js +1 -0
  77. package/build/7818.d2196a53.chunk.js +29 -0
  78. package/build/7897.5c03247b.chunk.js +25 -0
  79. package/build/{8276.951e198e.chunk.js → 8276.d4426fd8.chunk.js} +3 -3
  80. package/build/8690.33243bba.chunk.js +38 -0
  81. package/build/{9832.65ed5a44.chunk.js → 8743.31c921b1.chunk.js} +139 -123
  82. package/build/9218.8bc01ab9.chunk.js +1 -0
  83. package/build/Admin-authenticatedApp.27545a1b.chunk.js +112 -0
  84. package/build/{Admin_InternalErrorPage.b3163562.chunk.js → Admin_InternalErrorPage.b66ee9c1.chunk.js} +1 -1
  85. package/build/Admin_homePage.a6281dd6.chunk.js +124 -0
  86. package/build/Admin_marketplace.31b962b8.chunk.js +44 -0
  87. package/build/{Admin_pluginsPage.b9fa2947.chunk.js → Admin_pluginsPage.9217101d.chunk.js} +1 -1
  88. package/build/{Admin_profilePage.a4d41380.chunk.js → Admin_profilePage.680123d9.chunk.js} +2 -2
  89. package/build/{Admin_settingsPage.6dc2af9f.chunk.js → Admin_settingsPage.33378310.chunk.js} +1 -1
  90. package/build/{Upload_ConfigureTheView.cc7ca628.chunk.js → Upload_ConfigureTheView.b40eea4d.chunk.js} +1 -1
  91. package/build/admin-app.e8c52c37.chunk.js +36 -0
  92. package/build/admin-edit-roles-page.fcf056bf.chunk.js +275 -0
  93. package/build/{admin-edit-users.9b42cc9e.chunk.js → admin-edit-users.89efe3c4.chunk.js} +2 -2
  94. package/build/{admin-roles-list.cf964578.chunk.js → admin-roles-list.8b77704a.chunk.js} +3 -3
  95. package/build/admin-users.e3f1be14.chunk.js +19 -0
  96. package/build/{api-tokens-create-page.2f25ddf6.chunk.js → api-tokens-create-page.0dd63e91.chunk.js} +1 -1
  97. package/build/{api-tokens-edit-page.45faac16.chunk.js → api-tokens-edit-page.78d877f8.chunk.js} +1 -1
  98. package/build/{api-tokens-list-page.5baabf1a.chunk.js → api-tokens-list-page.ae13346c.chunk.js} +2 -2
  99. package/build/audit-logs-settings-page.e9c92a75.chunk.js +9 -0
  100. package/build/content-manager.5849dbe3.chunk.js +1226 -0
  101. package/build/{content-type-builder-list-view.aa8a5d1a.chunk.js → content-type-builder-list-view.3fffae65.chunk.js} +1 -1
  102. package/build/{content-type-builder-translation-en-json.b9e5cacd.chunk.js → content-type-builder-translation-en-json.43f9d7bc.chunk.js} +1 -1
  103. package/build/{content-type-builder.885f2cad.chunk.js → content-type-builder.98c71164.chunk.js} +14 -14
  104. package/build/{email-settings-page.6bd7b280.chunk.js → email-settings-page.ecfec9b3.chunk.js} +1 -1
  105. package/build/{en-json.a3973ff5.chunk.js → en-json.bd611a8e.chunk.js} +1 -1
  106. package/build/{i18n-settings-page.6c0157e7.chunk.js → i18n-settings-page.a9708926.chunk.js} +1 -1
  107. package/build/index.html +1 -1
  108. package/build/main.3abb6f34.js +3278 -0
  109. package/build/{review-workflows-settings-create-view.ae369a88.chunk.js → review-workflows-settings-create-view.b7b0c6c5.chunk.js} +1 -1
  110. package/build/{review-workflows-settings-edit-view.9a61c69f.chunk.js → review-workflows-settings-edit-view.c331b3fe.chunk.js} +1 -1
  111. package/build/review-workflows-settings-list-view.70218dc1.chunk.js +75 -0
  112. package/build/{runtime~main.cec66cd9.js → runtime~main.450561b1.js} +1 -1
  113. package/build/{sso-settings-page.a29e6c38.chunk.js → sso-settings-page.1a9e7f8f.chunk.js} +1 -1
  114. package/build/{transfer-tokens-create-page.6e1b8cee.chunk.js → transfer-tokens-create-page.e7f541d3.chunk.js} +1 -1
  115. package/build/{transfer-tokens-edit-page.10bb22e2.chunk.js → transfer-tokens-edit-page.bd1276c2.chunk.js} +1 -1
  116. package/build/{transfer-tokens-list-page.0306652c.chunk.js → transfer-tokens-list-page.5de6bb9f.chunk.js} +2 -2
  117. package/build/upload-settings.97ef4c92.chunk.js +14 -0
  118. package/build/{upload.19e14c8e.chunk.js → upload.f08715a1.chunk.js} +1 -1
  119. package/build/{users-advanced-settings-page.ed69812f.chunk.js → users-advanced-settings-page.36a3c363.chunk.js} +1 -1
  120. package/build/users-email-settings-page.47b47962.chunk.js +149 -0
  121. package/build/users-providers-settings-page.1e0c8376.chunk.js +154 -0
  122. package/build/{users-roles-settings-page.afab5a0d.chunk.js → users-roles-settings-page.d5a8e8a1.chunk.js} +4 -4
  123. package/build/{webhook-edit-page.4c037da4.chunk.js → webhook-edit-page.87456194.chunk.js} +3 -3
  124. package/build/{webhook-list-page.56c82f4a.chunk.js → webhook-list-page.c88a382b.chunk.js} +3 -3
  125. package/ee/admin/hooks/{useLicenseLimitNotification.js → useLicenseLimitNotification.ts} +4 -4
  126. package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
  127. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +1 -3
  128. package/package.json +13 -12
  129. package/scripts/build.js +6 -2
  130. package/webpack.config.js +1 -0
  131. package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.js +0 -11
  132. package/admin/src/components/DragLayer/index.js +0 -1
  133. package/admin/src/components/GlobalStyle/index.js +0 -9
  134. package/admin/src/components/PrivateRoute/index.js +0 -46
  135. package/admin/src/components/Theme/index.js +0 -26
  136. package/admin/src/components/ThemeToggleProvider/index.js +0 -79
  137. package/admin/src/contexts/Configurations/index.js +0 -5
  138. package/admin/src/contexts/ThemeToggle/index.js +0 -5
  139. package/admin/src/hooks/useConfigurations/index.js +0 -11
  140. package/admin/src/hooks/useDebounce/index.js +0 -19
  141. package/admin/src/hooks/useLicenseLimitNotification/index.js +0 -5
  142. package/admin/src/hooks/useReleaseNotification/index.js +0 -31
  143. package/admin/src/hooks/useReleaseNotification/utils/checkLatestStrapiVersion.js +0 -11
  144. package/admin/src/hooks/useThemeToggle/index.js +0 -11
  145. package/admin/src/tsconfig.json +0 -10
  146. package/build/1049.acb0e730.chunk.js +0 -1
  147. package/build/2225.78fb9b89.chunk.js +0 -79
  148. package/build/2379.906334f0.chunk.js +0 -1
  149. package/build/2614.3e088d3e.chunk.js +0 -35
  150. package/build/2659.cb94f1e7.chunk.js +0 -105
  151. package/build/2801.2afb4757.chunk.js +0 -1
  152. package/build/2950.216f2e89.chunk.js +0 -1
  153. package/build/3021.33ad47fb.chunk.js +0 -103
  154. package/build/3911.488fbde3.chunk.js +0 -95
  155. package/build/4546.1203ac95.chunk.js +0 -1
  156. package/build/502.9918bff7.chunk.js +0 -1
  157. package/build/5158.c85f841a.chunk.js +0 -1
  158. package/build/6266.e8990811.chunk.js +0 -146
  159. package/build/7464.0280cf59.chunk.js +0 -1
  160. package/build/7897.4a39de37.chunk.js +0 -6
  161. package/build/Admin-authenticatedApp.08f32723.chunk.js +0 -112
  162. package/build/Admin_homePage.6cb51f18.chunk.js +0 -81
  163. package/build/Admin_marketplace.3eb5e132.chunk.js +0 -55
  164. package/build/admin-app.98cdf43a.chunk.js +0 -36
  165. package/build/admin-edit-roles-page.418bb1c5.chunk.js +0 -267
  166. package/build/admin-users.8385dd73.chunk.js +0 -11
  167. package/build/audit-logs-settings-page.91489670.chunk.js +0 -1
  168. package/build/content-manager.0d2b4a60.chunk.js +0 -1199
  169. package/build/main.105dcf23.js +0 -2665
  170. package/build/review-workflows-settings-list-view.067e0c35.chunk.js +0 -56
  171. package/build/upload-settings.0af6edc5.chunk.js +0 -14
  172. package/build/users-email-settings-page.131a00fb.chunk.js +0 -9
  173. package/build/users-providers-settings-page.b3dca41d.chunk.js +0 -14
@@ -1,55 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5516],{99097:function(I,b,n){var e=n(32735);const M=(P,R)=>{const[O,v]=(0,e.useState)(P);return(0,e.useEffect)(()=>{const C=setTimeout(()=>{v(P)},R);return()=>{clearTimeout(C)}},[P,R]),O};b.Z=M},62610:function(I,b,n){n.r(b),n.d(b,{MarketPlacePage:function(){return fe},default:function(){return yt}});var e=n(32735),M=n(99226),P=n(95162),R=n(56932),O=n(49854),v=n(84642),C=n(89599),f=n(77981),Ee=n(41604),F=n(8623),g=n(43806),Me=n(74758),E=n(67879),ye=n(15062),ke=n(99097),be=()=>{const a=typeof navigator<"u"&&typeof navigator.onLine=="boolean"?navigator.onLine:!0,[s,i]=(0,e.useState)(a),l=()=>i(!0),r=()=>i(!1);return(0,e.useEffect)(()=>(window.addEventListener("online",l),window.addEventListener("offline",r),()=>{window.removeEventListener("online",l),window.removeEventListener("offline",r)}),[]),s},Re=n(30305),Z=n(18129),B=n(74512);const Ce=a=>(0,B.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 32 32",...a,children:[(0,B.jsx)("path",{fill:"#AC73E6",d:"M0 4a4 4 0 0 1 4-4h24a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4Z"}),(0,B.jsx)("path",{fill:"#fff",fillRule:"evenodd",d:"M15.027 13.839c-3.19-.836-6.305-1.064-10.18-.608-1.215.152-1.063 1.975.076 2.203.304.836.456 2.355.912 3.267.987 2.279 5.622 1.975 7.369.835 1.14-.683 1.443-2.279 1.9-3.494.227-.684 1.595-.684 1.822 0 .38 1.215.76 2.81 1.9 3.494 1.747 1.14 6.381 1.444 7.369-.835.456-.912.607-2.431.911-3.267 1.14-.228 1.216-2.051.076-2.203-3.874-.456-6.989-.228-10.18.608-.455.075-1.519.075-1.975 0Z",clipRule:"evenodd"})]}),xe=Ce;var X=n(95441),Se=()=>{const{formatMessage:a}=(0,E.Z)(),{trackUsage:s}=(0,g.rS)();return e.createElement("a",{href:"https://strapi.canny.io/plugin-requests",target:"_blank",rel:"noopener noreferrer nofollow",style:{textDecoration:"none"},onClick:()=>s("didMissMarketplacePlugin")},e.createElement(g.Y_,{title:a({id:"admin.pages.MarketPlacePage.missingPlugin.title",defaultMessage:"Documentation"}),subtitle:a({id:"admin.pages.MarketPlacePage.missingPlugin.description",defaultMessage:"Tell us what plugin you are looking for and we'll let our community plugin developers know in case they are in search for inspiration!"}),icon:e.createElement(xe,null),iconBackground:"alternative100",endAction:e.createElement(Z.J,{as:X.Z,color:"neutral600",width:3,height:3,marginLeft:2})}))},Te=n(35435),z=n(91779),we=n(98610),Ze=n(68527),De=n(60216),t=n.n(De),D=n(8471),Le=n(63208),_=n(16773),ee=n(40260);const te=({message:a,value:s,onChange:i,possibleFilters:l,onClear:r,customizeContent:d})=>{const o=(c,p)=>`${c} (${p})`;return e.createElement(_.P,{"data-testid":`${a}-button`,label:a,placeholder:a,size:"M",onChange:i,onClear:r,value:s,customizeContent:d,multi:!0},Object.entries(l).map(([c,p])=>e.createElement(ee.W,{"data-testid":`${c}-${p}`,key:c,value:c},o(c,p))))};te.propTypes={message:t().string.isRequired,value:t().array.isRequired,onChange:t().func.isRequired,possibleFilters:t().object.isRequired,onClear:t().func.isRequired,customizeContent:t().func.isRequired};var ae=te;const ne=({source:a,onToggle:s,query:i,npmPackageType:l,possibleCategories:r,possibleCollections:d,handleSelectChange:o,handleSelectClear:c})=>{const{formatMessage:p}=(0,E.Z)();return e.createElement(Le.J2,{source:a,onDismiss:s,padding:3,spacing:4},e.createElement(Be,{direction:"column",alignItems:"stretch",gap:1},e.createElement(ae,{message:p({id:"admin.pages.MarketPlacePage.filters.collections",defaultMessage:"Collections"}),value:i?.collections||[],onChange:m=>{o({collections:m})},onClear:()=>c("collections"),possibleFilters:d,customizeContent:m=>p({id:"admin.pages.MarketPlacePage.filters.collectionsSelected",defaultMessage:"{count, plural, =0 {No collections} one {# collection} other {# collections}} selected"},{count:m.length})}),l==="plugin"&&e.createElement(ae,{message:p({id:"admin.pages.MarketPlacePage.filters.categories",defaultMessage:"Categories"}),value:i?.categories||[],onChange:m=>{o({categories:m})},onClear:()=>c("categories"),possibleFilters:r,customizeContent:m=>p({id:"admin.pages.MarketPlacePage.filters.categoriesSelected",defaultMessage:"{count, plural, =0 {No categories} one {# category} other {# categories}} selected"},{count:m.length}),name:"categories"})))};ne.propTypes={onToggle:t().func.isRequired,source:t().shape({current:t().instanceOf(Element)}).isRequired,query:t().object.isRequired,npmPackageType:t().oneOf(["plugin","provider"]).isRequired,possibleCollections:t().object.isRequired,possibleCategories:t().object.isRequired,handleSelectChange:t().func.isRequired,handleSelectClear:t().func.isRequired};var Oe=ne;const Be=(0,D.ZP)(v.k)`
2
- /* Hide the label, every input needs a label. */
3
- label {
4
- border: 0;
5
- clip: rect(0 0 0 0);
6
- height: 1px;
7
- margin: -1px;
8
- overflow: hidden;
9
- padding: 0;
10
- position: absolute;
11
- width: 1px;
12
- }
13
- `,U=({name:a,handleRemove:s})=>e.createElement(f.x,{padding:1},e.createElement(Te.V,{icon:e.createElement(we.Z,null),onClick:s},a)),Ie=(0,D.ZP)(z.z)`
14
- height: ${({theme:a})=>a.sizes.input.S};
15
- `,se=({possibleCollections:a,possibleCategories:s,npmPackageType:i,query:l,handleSelectClear:r,handleSelectChange:d})=>{const[o,c]=(0,e.useState)(!1),p=(0,e.useRef)(),{formatMessage:m}=(0,E.Z)(),h=()=>c(u=>!u),y=(u,k)=>{const T={[k]:l[k].filter(L=>L!==u)};d(T)};return e.createElement(e.Fragment,null,e.createElement(f.x,{paddingTop:1,paddingBottom:1},e.createElement(Ie,{variant:"tertiary",ref:p,startIcon:e.createElement(Ze.Z,null),onClick:h,size:"S"},m({id:"app.utils.filters",defaultMessage:"Filters"})),o&&e.createElement(Oe,{onToggle:h,source:p,query:l,handleSelectClear:r,handleSelectChange:d,possibleCollections:a,possibleCategories:s,npmPackageType:i})),l.collections?.map(u=>e.createElement(U,{name:u,key:u,handleRemove:()=>y(u,"collections")})),i==="plugin"&&l.categories?.map(u=>e.createElement(U,{name:u,key:u,handleRemove:()=>y(u,"categories")})))};U.propTypes={name:t().string.isRequired,handleRemove:t().func.isRequired},se.propTypes={npmPackageType:t().oneOf(["plugin","provider"]).isRequired,possibleCollections:t().object.isRequired,possibleCategories:t().object.isRequired,query:t().object.isRequired,handleSelectChange:t().func.isRequired,handleSelectClear:t().func.isRequired};var Ne=se,je=n(35547),$e=n(10710),Ae=n(97037),S=n(8365),Ve=n(23982);const Fe=D.ZP.div`
16
- display: grid;
17
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
18
- grid-gap: ${({theme:a})=>a.spaces[4]};
19
- `,ze=(0,D.ZP)(f.x)`
20
- background: ${({theme:a})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${a.colors.neutral150} 100%)`};
21
- opacity: 0.33;
22
- `,Ue=()=>e.createElement(Fe,null,Array(12).fill(null).map((a,s)=>e.createElement(ze,{key:`empty-plugin-card-${s}`,height:"234px",hasRadius:!0}))),re=({content:a})=>e.createElement(f.x,{position:"relative"},e.createElement(Ue,null),e.createElement(f.x,{position:"absolute",top:11,width:"100%"},e.createElement(v.k,{alignItems:"center",justifyContent:"center",direction:"column"},e.createElement(Z.J,{as:Ve.Z,color:"",width:"160px",height:"88px"}),e.createElement(f.x,{paddingTop:6},e.createElement(S.Z,{variant:"delta",as:"p",textColor:"neutral600"},a)))));re.propTypes={content:t().string.isRequired};var He=re,H=n(11349),ie=n(90431),Qe=n(96377),Ge=n(24443),We=n.n(Ge),Je=n(47750),Ke=n(40501),le=n(94958),Ye=n(54770),oe=n.n(Ye);const N=({description:a,installMessage:s,disabled:i,handleCopy:l,pluginName:r})=>e.createElement(H.u,{"data-testid":`tooltip-${r}`,description:a},e.createElement(f.x,null,e.createElement(z.z,{size:"S",startIcon:e.createElement(le.Z,null),variant:"secondary",disabled:i,onClick:l},s))),Q=({strapiPeerDepVersion:a,strapiAppVersion:s,handleCopy:i,pluginName:l})=>{const{formatMessage:r}=(0,E.Z)(),d=oe().validRange(a),o=oe().satisfies(s,d),c=r({id:"admin.pages.MarketPlacePage.plugin.copy",defaultMessage:"Copy install command"});if(s){if(!d)return e.createElement(N,{installMessage:c,pluginName:l,description:r({id:"admin.pages.MarketPlacePage.plugin.version.null",defaultMessage:'Unable to verify compatibility with your Strapi version: "{strapiAppVersion}"'},{strapiAppVersion:s}),handleCopy:i});if(!o)return e.createElement(N,{installMessage:c,pluginName:l,description:r({id:"admin.pages.MarketPlacePage.plugin.version",defaultMessage:'Update your Strapi version: "{strapiAppVersion}" to: "{versionRange}"'},{strapiAppVersion:s,versionRange:d}),disabled:!0})}return e.createElement(z.z,{size:"S",startIcon:e.createElement(le.Z,null),variant:"secondary",onClick:i},c)};N.defaultProps={disabled:!1,handleCopy:null},N.propTypes={description:t().string.isRequired,installMessage:t().string.isRequired,disabled:t().bool,handleCopy:t().func,pluginName:t().string.isRequired},Q.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},Q.propTypes={strapiAppVersion:t().string,strapiPeerDepVersion:t().string,handleCopy:t().func.isRequired,pluginName:t().string.isRequired};var qe=Q;const G=({isInstalled:a,isInDevelopmentMode:s,commandToCopy:i,strapiAppVersion:l,strapiPeerDepVersion:r,pluginName:d})=>{const o=(0,g.lm)(),{formatMessage:c}=(0,E.Z)(),{trackUsage:p}=(0,g.rS)(),{copy:m}=(0,g.VP)(),h=async()=>{await m(i)&&(p("willInstallPlugin"),o({type:"success",message:{id:"admin.pages.MarketPlacePage.plugin.copy.success"}}))};return a?e.createElement(f.x,{paddingLeft:4},e.createElement(Z.J,{as:Ke.Z,marginRight:2,width:12,height:12,color:"success600"}),e.createElement(S.Z,{variant:"omega",textColor:"success600",fontWeight:"bold"},c({id:"admin.pages.MarketPlacePage.plugin.installed",defaultMessage:"Installed"}))):s?e.createElement(qe,{strapiAppVersion:l,strapiPeerDepVersion:r,handleCopy:h,pluginName:d}):null};G.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},G.propTypes={isInstalled:t().bool.isRequired,isInDevelopmentMode:t().bool.isRequired,commandToCopy:t().string.isRequired,strapiAppVersion:t().string,strapiPeerDepVersion:t().string,pluginName:t().string.isRequired};var Xe=G,_e=n(2775),et=n(91876),tt=n(57918),at=n(10684);const nt=(0,D.ZP)(_e.i)`
23
- width: ${(0,g.Q1)(12)};
24
- transform: rotate(90deg);
25
- `,W=({githubStars:a,npmDownloads:s,npmPackageType:i})=>{const{formatMessage:l}=(0,E.Z)();return e.createElement(v.k,{gap:1},!!a&&e.createElement(e.Fragment,null,e.createElement(Z.J,{as:et.Z,height:(0,g.Q1)(12),width:(0,g.Q1)(12),"aria-hidden":!0}),e.createElement(Z.J,{as:tt.Z,height:(0,g.Q1)(12),width:(0,g.Q1)(12),color:"warning500","aria-hidden":!0}),e.createElement("p",{"aria-label":l({id:`admin.pages.MarketPlacePage.${i}.githubStars`,defaultMessage:"This {package} was starred {starsCount} on GitHub"},{starsCount:a,package:i})},e.createElement(S.Z,{variant:"pi",textColor:"neutral800"},a)),e.createElement(nt,{unsetMargin:!1,background:"neutral200"})),e.createElement(Z.J,{as:at.Z,height:(0,g.Q1)(12),width:(0,g.Q1)(12),"aria-hidden":!0}),e.createElement("p",{"aria-label":l({id:`admin.pages.MarketPlacePage.${i}.downloads`,defaultMessage:"This {package} has {downloadsCount} weekly downloads"},{downloadsCount:s,package:i})},e.createElement(S.Z,{variant:"pi",textColor:"neutral800"},s)))};W.defaultProps={githubStars:0,npmDownloads:0},W.propTypes={githubStars:t().number,npmDownloads:t().number,npmPackageType:t().string.isRequired};var st=W;const rt=(0,D.ZP)(S.Z)`
26
- /* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
27
- display: -webkit-box;
28
- -webkit-box-orient: vertical;
29
- -webkit-line-clamp: 2;
30
- /* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
31
- overflow: hidden;
32
- `,J=({npmPackage:a,isInstalled:s,useYarn:i,isInDevelopmentMode:l,npmPackageType:r,strapiAppVersion:d})=>{const{attributes:o}=a,{formatMessage:c}=(0,E.Z)(),{trackUsage:p}=(0,g.rS)(),m=i?`yarn add ${o.npmPackageName}`:`npm install ${o.npmPackageName}`,h=c({id:"admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi",defaultMessage:"Made by Strapi"}),y=`https://market.strapi.io/${We().plural(r)}/${o.slug}`;return e.createElement(v.k,{direction:"column",justifyContent:"space-between",paddingTop:4,paddingRight:4,paddingBottom:4,paddingLeft:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",height:"100%",alignItems:"normal","data-testid":"npm-package-card"},e.createElement(f.x,null,e.createElement(v.k,{direction:"row",justifyContent:"space-between",alignItems:"flex-start"},e.createElement(f.x,{as:"img",src:o.logo.url,alt:`${o.name} logo`,hasRadius:!0,width:11,height:11}),e.createElement(st,{githubStars:o.githubStars,npmDownloads:o.npmDownloads,npmPackageType:r})),e.createElement(f.x,{paddingTop:4},e.createElement(S.Z,{as:"h3",variant:"delta"},e.createElement(v.k,{alignItems:"center"},o.name,o.validated&&!o.madeByStrapi&&e.createElement(H.u,{description:c({id:"admin.pages.MarketPlacePage.plugin.tooltip.verified",defaultMessage:"Plugin verified by Strapi"})},e.createElement(v.k,null,e.createElement(Z.J,{as:Qe.Z,marginLeft:2,color:"success600"}))),o.madeByStrapi&&e.createElement(H.u,{description:h},e.createElement(v.k,null,e.createElement(f.x,{as:"img",src:Je,alt:h,marginLeft:1,width:6,height:"auto"})))))),e.createElement(f.x,{paddingTop:2},e.createElement(rt,{as:"p",variant:"omega",textColor:"neutral600"},o.description))),e.createElement(v.k,{gap:2,style:{alignSelf:"flex-end"},paddingTop:6},e.createElement(ie.Q,{size:"S",href:y,isExternal:!0,endIcon:e.createElement(X.Z,null),"aria-label":c({id:"admin.pages.MarketPlacePage.plugin.info.label",defaultMessage:"Learn more about {pluginName}"},{pluginName:o.name}),variant:"tertiary",onClick:()=>p("didPluginLearnMore")},c({id:"admin.pages.MarketPlacePage.plugin.info.text",defaultMessage:"More"})),e.createElement(Xe,{isInstalled:s,isInDevelopmentMode:l,commandToCopy:m,strapiAppVersion:d,strapiPeerDepVersion:o.strapiVersion,pluginName:o.name})))};J.defaultProps={isInDevelopmentMode:!1,strapiAppVersion:null},J.propTypes={npmPackage:t().shape({id:t().string.isRequired,attributes:t().shape({name:t().string.isRequired,description:t().string.isRequired,slug:t().string.isRequired,npmPackageName:t().string.isRequired,npmPackageUrl:t().string.isRequired,repositoryUrl:t().string.isRequired,logo:t().object.isRequired,developerName:t().string.isRequired,validated:t().bool.isRequired,madeByStrapi:t().bool.isRequired,strapiCompatibility:t().oneOf(["v3","v4"]),strapiVersion:t().string,githubStars:t().number,npmDownloads:t().number}).isRequired}).isRequired,isInstalled:t().bool.isRequired,useYarn:t().bool.isRequired,isInDevelopmentMode:t().bool,npmPackageType:t().string.isRequired,strapiAppVersion:t().string};var it=J;const K=({status:a,npmPackages:s,installedPackageNames:i,useYarn:l,isInDevelopmentMode:r,npmPackageType:d,strapiAppVersion:o,debouncedSearch:c})=>{const{formatMessage:p}=(0,E.Z)();if(a==="error")return e.createElement(v.k,{paddingTop:8},e.createElement(g.Hn,null));if(a==="loading")return e.createElement(v.k,{justifyContent:"center",paddingTop:8},e.createElement(je.a,null,"Loading content..."));const m=p({id:"admin.pages.MarketPlacePage.search.empty",defaultMessage:'No result for "{target}"'},{target:c});return s.length===0?e.createElement(He,{content:m}):e.createElement($e.r,{gap:4},s.map(h=>e.createElement(Ae.P,{col:4,s:6,xs:12,style:{height:"100%"},key:h.id},e.createElement(it,{npmPackage:h,isInstalled:i.includes(h.attributes.npmPackageName),useYarn:l,isInDevelopmentMode:r,npmPackageType:d,strapiAppVersion:o}))))};K.defaultProps={npmPackages:[],installedPackageNames:[],strapiAppVersion:null,debouncedSearch:""},K.propTypes={status:t().string.isRequired,npmPackages:t().array,installedPackageNames:t().arrayOf(t().string),useYarn:t().bool.isRequired,isInDevelopmentMode:t().bool.isRequired,npmPackageType:t().string.isRequired,strapiAppVersion:t().string,debouncedSearch:t().string};var ce=K;const de=({pagination:a})=>e.createElement(f.x,{paddingTop:4},e.createElement(v.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(g.v4,{options:["12","24","50","100"],defaultValue:"24"}),e.createElement(g.tU,{pagination:a})));de.propTypes={pagination:t().shape({page:t().number.isRequired,pageCount:t().number.isRequired,pageSize:t().number.isRequired,total:t().number.isRequired}).isRequired};var lt=de,ot=n.p+"9d5d788027e86620c234.svg",ct=n(64092);const dt=a=>(0,B.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 25",...a,children:(0,B.jsx)("path",{fill:"#212134",fillRule:"evenodd",d:"M13.571 18.272H10.43v-8.47H2.487a.2.2 0 0 1-.14-.343L11.858.058a.2.2 0 0 1 .282 0l9.513 9.4a.2.2 0 0 1-.14.343H13.57v8.47ZM2.2 21.095a.2.2 0 0 0-.2.2v2.424c0 .11.09.2.2.2h19.6a.2.2 0 0 0 .2-.2v-2.424a.2.2 0 0 0-.2-.2H2.2Z",clipRule:"evenodd"})}),gt=dt,Y=({isOnline:a,npmPackageType:s})=>{const{formatMessage:i}=(0,E.Z)(),{trackUsage:l}=(0,g.rS)(),r=s==="provider"?"didSubmitProvider":"didSubmitPlugin";return e.createElement(ct.T,{title:i({id:"global.marketplace",defaultMessage:"Marketplace"}),subtitle:i({id:"admin.pages.MarketPlacePage.subtitle",defaultMessage:"Get more out of Strapi"}),primaryAction:a&&e.createElement(ie.Q,{startIcon:e.createElement(gt,null),variant:"tertiary",href:`https://market.strapi.io/submit-${s}`,onClick:()=>l(r),isExternal:!0},i({id:`admin.pages.MarketPlacePage.submit.${s}.link`,defaultMessage:`Submit ${s}`}))})};var ge=Y;Y.defaultProps={npmPackageType:"plugin"},Y.propTypes={isOnline:t().bool.isRequired,npmPackageType:t().string};var ut=()=>{const{formatMessage:a}=(0,E.Z)();return e.createElement(M.A,null,e.createElement(P.o,null,e.createElement(ge,{isOnline:!1}),e.createElement(v.k,{width:"100%",direction:"column",alignItems:"center",justifyContent:"center",paddingTop:(0,g.Q1)(120)},e.createElement(f.x,{paddingBottom:2},e.createElement(S.Z,{textColor:"neutral700",variant:"alpha"},a({id:"admin.pages.MarketPlacePage.offline.title",defaultMessage:"You are offline"}))),e.createElement(f.x,{paddingBottom:6},e.createElement(S.Z,{textColor:"neutral700",variant:"epsilon"},a({id:"admin.pages.MarketPlacePage.offline.subtitle",defaultMessage:"You need to be connected to the Internet to access Strapi Market."}))),e.createElement("img",{src:ot,alt:"offline",style:{width:"88px",height:"88px"}}))))};const pt=(0,D.ZP)(f.x)`
33
- font-weight: ${({theme:a})=>a.fontWeights.semiBold};
34
-
35
- span {
36
- font-size: ${({theme:a})=>a.fontSizes[1]};
37
- }
38
-
39
- /* Hide the label, every input needs a label. */
40
- label {
41
- border: 0;
42
- clip: rect(0 0 0 0);
43
- height: 1px;
44
- margin: -1px;
45
- overflow: hidden;
46
- padding: 0;
47
- position: absolute;
48
- width: 1px;
49
- }
50
- `,ue=({sortQuery:a,handleSelectChange:s})=>{const{formatMessage:i}=(0,E.Z)(),l={"name:asc":{selected:{id:"admin.pages.MarketPlacePage.sort.alphabetical.selected",defaultMessage:"Sort by alphabetical order"},option:{id:"admin.pages.MarketPlacePage.sort.alphabetical",defaultMessage:"Alphabetical order"}},"submissionDate:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.newest.selected",defaultMessage:"Sort by newest"},option:{id:"admin.pages.MarketPlacePage.sort.newest",defaultMessage:"Newest"}},"githubStars:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.githubStars.selected",defaultMessage:"Sort by GitHub stars"},option:{id:"admin.pages.MarketPlacePage.sort.githubStars",defaultMessage:"Number of GitHub stars"}},"npmDownloads:desc":{selected:{id:"admin.pages.MarketPlacePage.sort.npmDownloads.selected",defaultMessage:"Sort by npm downloads"},option:{id:"admin.pages.MarketPlacePage.sort.npmDownloads",defaultMessage:"Number of downloads"}}};return e.createElement(pt,null,e.createElement(_.P,{size:"S",id:"sort-by-select",value:a,customizeContent:()=>i(l[a].selected),onChange:r=>{s({sort:r})},label:i({id:"admin.pages.MarketPlacePage.sort.label",defaultMessage:"Sort by"})},Object.entries(l).map(([r,d])=>e.createElement(ee.W,{key:r,value:r},i(d.option)))))};ue.propTypes={sortQuery:t().string.isRequired,handleSelectChange:t().func.isRequired};var mt=ue,ft=n(36150),ht=n(33348),j=n.n(ht),pe=n(20108);const me="https://market-api.strapi.io",vt=(a,s={})=>{const i=(0,g.lm)();return(0,pe.useQuery)(["marketplace","plugins",s],async()=>{try{const l=j().stringify(j().parse(s)),r=await fetch(`${me}/plugins?${l}`);if(!r.ok)throw new Error("Failed to fetch marketplace plugins.");return await r.json()}catch{}return null},{onSuccess(){a&&a()},onError(){i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})},Pt=(a,s={})=>{const i=(0,g.lm)();return(0,pe.useQuery)(["marketplace","providers",s],async()=>{try{const l=j().stringify(j().parse(s)),r=await fetch(`${me}/providers?${l}`);if(!r.ok)throw new Error("Failed to fetch marketplace providers.");return await r.json()}catch{}return null},{onSuccess(){a&&a()},onError(){i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};function Et({npmPackageType:a,debouncedSearch:s,query:i,tabQuery:l}){const{notifyStatus:r}=(0,ft.G)(),{formatMessage:d}=(0,E.Z)(),o=d({id:"global.marketplace",defaultMessage:"Marketplace"}),c=()=>{r(d({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:o}))},p={page:i?.page||1,pageSize:i?.pageSize||24},{data:m,status:h}=vt(c,{...l.plugin,pagination:p,search:s}),{data:y,status:u}=Pt(c,{...l.provider,pagination:p,search:s}),k=a==="plugin"?m:y,T=a==="plugin"?h:u,[L,$]=(0,e.useState)({}),[A,V]=(0,e.useState)({});(0,e.useEffect)(()=>{T==="success"&&$(k.meta.collections),h==="success"&&V(m.meta.categories)},[m?.meta.categories,h,k?.meta.collections,T]);const{pagination:q}=T==="success"?k.meta:{};return{pluginsResponse:m,providersResponse:y,pluginsStatus:h,providersStatus:u,possibleCollections:L,possibleCategories:A,pagination:q}}var Mt=Et;const fe=()=>{const{formatMessage:a}=(0,E.Z)(),{trackUsage:s}=(0,g.rS)(),i=(0,e.useRef)(s),l=(0,g.lm)(),[{query:r},d]=(0,g.Kx)(),o=(0,ke.Z)(r?.search,500)||"",{autoReload:c,dependencies:p,useYarn:m,strapiVersion:h}=(0,g.L7)(),y=be(),u=r?.npmPackageType||"plugin",[k,T]=(0,e.useState)({plugin:u==="plugin"?{...r}:{},provider:u==="provider"?{...r}:{}});(0,g.go)(),(0,e.useEffect)(()=>{i.current("didGoToMarketplace")},[]),(0,e.useEffect)(()=>{c||l({type:"info",message:{id:"admin.pages.MarketPlacePage.production",defaultMessage:"Manage plugins from the development environment"}})},[l,c]);const{pluginsResponse:L,providersResponse:$,pluginsStatus:A,providersStatus:V,possibleCollections:q,possibleCategories:kt,pagination:he}=Mt({npmPackageType:u,debouncedSearch:o,query:r,tabQuery:k});if(!y)return e.createElement(ut,null);const bt=w=>{const x=w===0?"plugin":"provider",Ct=k[x]&&Object.keys(k[x]).length;d(Ct?{...k[x],search:r?.search||"",npmPackageType:x,page:1}:{npmPackageType:x,collections:[],categories:[],sort:"name:asc",page:1,search:r?.search||""})},ve=w=>{d({...w,page:1}),T(x=>({...x,[u]:{...x[u],...w}}))},Rt=w=>{d({[w]:[],page:null},"remove"),T(x=>({...x,[u]:{}}))},Pe=Object.keys(p);return e.createElement(M.A,null,e.createElement(P.o,null,e.createElement(Me.q,{title:a({id:"admin.pages.MarketPlacePage.helmet",defaultMessage:"Marketplace - Plugins"})}),e.createElement(ge,{isOnline:y,npmPackageType:u}),e.createElement(R.D,null,e.createElement(O.v,{label:a({id:"admin.pages.MarketPlacePage.tab-group.label",defaultMessage:"Plugins and Providers for Strapi"}),id:"tabs",variant:"simple",initialSelectedTabIndex:["plugin","provider"].indexOf(u),onTabChange:bt},e.createElement(v.k,{justifyContent:"space-between",paddingBottom:4},e.createElement(C.m,null,e.createElement(C.O,null,a({id:"admin.pages.MarketPlacePage.plugins",defaultMessage:"Plugins"})," ",A==="success"?`(${L.meta.pagination.total})`:"..."),e.createElement(C.O,null,a({id:"admin.pages.MarketPlacePage.providers",defaultMessage:"Providers"})," ",V==="success"?`(${$.meta.pagination.total})`:"...")),e.createElement(f.x,{width:"25%"},e.createElement(Ee.w,{name:"searchbar",onClear:()=>d({search:"",page:1}),value:r?.search,onChange:w=>d({search:w.target.value,page:1}),clearLabel:a({id:"admin.pages.MarketPlacePage.search.clear",defaultMessage:"Clear the search"}),placeholder:a({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search"})},a({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search"})))),e.createElement(v.k,{paddingBottom:4,gap:2},e.createElement(mt,{sortQuery:r?.sort||"name:asc",handleSelectChange:ve}),e.createElement(Ne,{npmPackageType:u,possibleCollections:q,possibleCategories:kt,query:r||{},handleSelectChange:ve,handleSelectClear:Rt})),e.createElement(F.n,null,e.createElement(F.x,null,e.createElement(ce,{npmPackages:L?.data,status:A,installedPackageNames:Pe,useYarn:m,isInDevelopmentMode:c,npmPackageType:"plugin",strapiAppVersion:h,debouncedSearch:o})),e.createElement(F.x,null,e.createElement(ce,{npmPackages:$?.data,status:V,installedPackageNames:Pe,useYarn:m,isInDevelopmentMode:c,npmPackageType:"provider",debouncedSearch:o})))),he&&e.createElement(lt,{pagination:he}),e.createElement(f.x,{paddingTop:8},e.createElement(Se,null)))))};var yt=()=>{const a=(0,ye.v9)(Re._);return e.createElement(g.O4,{permissions:a.marketplace.main},e.createElement(fe,null))}},99226:function(I,b,n){n.d(b,{A:function(){return v}});var e=n(74512),M=n(8471),P=n(77981);const R=(0,M.ZP)(P.x)`
51
- display: grid;
52
- grid-template-columns: ${({hasSideNav:C})=>C?"auto 1fr":"1fr"};
53
- `,O=(0,M.ZP)(P.x)`
54
- overflow-x: hidden;
55
- `,v=({sideNav:C,children:f})=>(0,e.jsxs)(R,{hasSideNav:Boolean(C),children:[C,(0,e.jsx)(O,{paddingBottom:10,children:f})]})},91876:function(I,b,n){n.d(b,{Z:function(){return P}});var e=n(74512);const M=R=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...R,children:(0,e.jsx)("path",{fill:"#161614",d:"M12 0C5.373 0 0 5.501 0 12.288c0 5.43 3.438 10.035 8.206 11.66.6.114.82-.266.82-.59 0-.294-.01-1.262-.016-2.289-3.338.744-4.043-1.45-4.043-1.45-.546-1.42-1.332-1.797-1.332-1.797-1.089-.763.082-.747.082-.747 1.205.086 1.84 1.266 1.84 1.266 1.07 1.878 2.807 1.335 3.491 1.021.108-.794.42-1.336.762-1.643-2.665-.31-5.467-1.364-5.467-6.073 0-1.341.469-2.437 1.236-3.298-.124-.31-.535-1.56.117-3.252 0 0 1.007-.33 3.3 1.26A11.25 11.25 0 0 1 12 5.942c1.02.005 2.047.141 3.006.414 2.29-1.59 3.297-1.26 3.297-1.26.653 1.693.242 2.943.118 3.252.77.86 1.235 1.957 1.235 3.298 0 4.72-2.808 5.76-5.48 6.063.43.382.814 1.13.814 2.276 0 1.644-.014 2.967-.014 3.372 0 .327.216.71.825.59C20.566 22.32 24 17.715 24 12.288 24 5.501 18.627 0 12 0Z"})}),P=M},57918:function(I,b,n){n.d(b,{Z:function(){return P}});var e=n(74512);const M=R=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...R,children:(0,e.jsx)("path",{fill:"#212134",d:"m12 18.26-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26Z"})}),P=M}}]);
@@ -1,36 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{58917:function(j,p,t){"use strict";t.r(p),t.d(p,{default:function(){return bs}});var e=t(32735),g=t(41865),E=t(88492),v=t(56784),u=t.n(v),f=t(93839),W=t.n(f),H=t(86349),C=t.n(H),b=t(88423),U=t.n(b),q=t(74758),D=t(14911),T=t(47750),Pe="strapi-admin-language",i=t(43806),be=t(60216),a=t.n(be),Se=t(20108),Te=t(15062),Ne=t(76402),De=t(97889);const Je={menuLogo:null,authLogo:null};var Qe=(o=Je,s)=>(0,De.ZP)(o,n=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(n,s.values);break}default:return n}});const oe=({children:o,authLogo:s,menuLogo:n,showReleaseNotification:r,showTutorials:l})=>{const[{menuLogo:d,authLogo:c},m]=(0,e.useReducer)(Qe,Je),R=(0,e.useCallback)(({menuLogo:w,authLogo:S})=>m({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:w||n,authLogo:S||s}}),[s,n]),A=(0,e.useMemo)(()=>({logos:{menu:{custom:d,default:n},auth:{custom:c,default:s}},updateProjectSettings:R,showReleaseNotification:r,showTutorials:l}),[d,n,c,s,R,r,l]);return e.createElement(Ne._5.Provider,{value:A},o)};oe.propTypes={authLogo:a().string.isRequired,children:a().element.isRequired,menuLogo:a().string.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired};var He=oe,Ce=t(33795),Me=t.n(Ce),Ie=t(3040),Oe=t.n(Ie);const Xe="GUIDED_TOUR_CURRENT_STEP",Ke="GUIDED_TOUR_COMPLETED_STEPS",et="GUIDED_TOUR_SKIPPED",ke=JSON.parse,qe=JSON.stringify;var ye={clear(){localStorage.removeItem(Xe),localStorage.removeItem(Ke)},addCompletedStep(o){const s=ke(localStorage.getItem(Ke))?.slice()||[];s.includes(o)||(s.push(o),localStorage.setItem(Ke,qe(s)))},addCurrentStep(o){localStorage.setItem(Xe,qe(o))},setSkipped(o){localStorage.setItem(et,qe(o))},get(o){return ke(localStorage.getItem(o))}},tt=o=>{const s={...o},n=ye.get(Ke),r=ye.get(Xe),l=ye.get(et);if(n&&n.forEach(d=>{const[c,m]=d.split(".");Oe()(s,["guidedTourState",c,m],!0)}),r){const[d,c]=r.split(".");Oe()(s,["guidedTourState",d,c],!0),ye.addCompletedStep(r),ye.addCurrentStep(null)}return l!==null&&Oe()(s,"isSkipped",l),s};const st={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var gt=(o=st,s)=>(0,De.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}}),pt=(o,s)=>{const n=Object.entries(s),r=n.findIndex(([d])=>d===o);return n.slice(0,r).every(([,d])=>Object.values(d).every(Boolean))},ft=(o,s)=>{const n=o.split("."),r=n[1],l=Object.entries(s[n[0]]),d=l.findIndex(([m])=>m===r);return l.slice(0,d).every(([,m])=>m)};const nt=({children:o})=>{const[{currentStep:s,guidedTourState:n,isGuidedTourVisible:r,isSkipped:l},d]=(0,e.useReducer)(gt,st,tt),c=S=>{if(S!==null){const Q=Me()(n,S),X=ft(S,n);if(Q||l||!X)return null}return ye.addCurrentStep(S),d({type:"SET_CURRENT_STEP",step:S})},m=S=>{d({type:"SET_GUIDED_TOUR_VISIBILITY",value:S})},R=(S,Q)=>{ye.addCompletedStep(S),d({type:"SET_STEP_STATE",currentStep:S,value:Q})},A=S=>{const Q=n[S];if(Q){const X=pt(S,n),N=Object.keys(Q)[0],ie=Q[N];if(X&&!s&&!ie)return c(`${S}.${N}`)}return null},w=S=>{ye.setSkipped(S),d({type:"SET_SKIPPED",value:S})};return e.createElement(i.Zc,{guidedTourState:n,currentStep:s,setCurrentStep:c,setGuidedTourVisibility:m,setSkipped:w,setStepState:R,startSection:A,isGuidedTourVisible:r,isSkipped:l},o)};nt.propTypes={children:a().element.isRequired};var ht=nt,bt=t(58732),Et=t.n(bt),Dt=t(78023),vt=t(33229);const yt=({changeLocale:o,children:s,localeNames:n})=>e.createElement(vt.Z.Provider,{value:{changeLocale:o,localeNames:n}},s);yt.propTypes={changeLocale:a().func.isRequired,children:a().element.isRequired,localeNames:a().object.isRequired};var Pt=yt,h=o=>{const s=window.localStorage.getItem(Pe);return{locale:o[s]?s:"en",localeNames:o}};const y={localeNames:{en:"English"},locale:"en"};var le=(o=y,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:n}=s;return o.localeNames[n]?{...o,locale:n}:o}default:return o}};const z=({children:o,localeNames:s,messages:n})=>{const[{locale:r},l]=(0,e.useReducer)(le,y,()=>h(s));(0,e.useEffect)(()=>{window.localStorage.setItem(Pe,r),document.documentElement.setAttribute("lang",r)},[r]);const d=m=>{l({type:"CHANGE_LOCALE",locale:m})},c=Et()(n[r],n.en);return e.createElement(Dt.Z,{locale:r,defaultLocale:"en",messages:c,textComponent:"span"},e.createElement(Pt,{changeLocale:d,localeNames:s},o))};z.propTypes={children:a().element.isRequired,localeNames:a().objectOf(a().string).isRequired,messages:a().object.isRequired};var se=z,re=t(44662),K=t(67879),ue=t(79652),O=t(8471),Ae=(0,O.vJ)`
2
- body {
3
- background: ${({theme:o})=>o.colors.neutral100};
4
- }
5
- `;const Fe=({children:o})=>{const{currentTheme:s,themes:n}=(0,ue.M1)(),{locale:r}=(0,K.Z)();return e.createElement(re.h,{locale:r,theme:n[s]||n.light},o,e.createElement(Ae,null))};Fe.propTypes={children:a().element.isRequired};var ze=Fe;const Le="STRAPI_THEME",at=()=>{const o=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(Le);return s||localStorage.setItem(Le,o),s||o},we=({children:o,themes:s})=>{const[n,r]=(0,e.useState)(at()),l=(0,e.useCallback)(c=>{r(c),localStorage.setItem(Le,c)},[r]),d=(0,e.useMemo)(()=>({currentTheme:n,onChangeTheme:l,themes:s}),[n,l,s]);return e.createElement(Ne.Rj.Provider,{value:d},o)};we.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 je=we;const Ge=new Se.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),ce=({authLogo:o,children:s,components:n,customFields:r,fields:l,getAdminInjectedComponents:d,getPlugin:c,localeNames:m,menu:R,menuLogo:A,messages:w,plugins:S,runHookParallel:Q,runHookSeries:X,runHookWaterfall:N,settings:ie,showReleaseNotification:M,showTutorials:Ze,store:Be,themes:G})=>e.createElement(se,{messages:w,localeNames:m},e.createElement(je,{themes:G},e.createElement(ze,null,e.createElement(Se.QueryClientProvider,{client:Ge},e.createElement(Te.zt,{store:Be},e.createElement(Ne.ux.Provider,{value:{getAdminInjectedComponents:d}},e.createElement(He,{authLogo:o,menuLogo:A,showReleaseNotification:M,showTutorials:Ze},e.createElement(i._Y,{getPlugin:c,menu:R,plugins:S,runHookParallel:Q,runHookWaterfall:N,runHookSeries:X,settings:ie},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(ht,null,e.createElement(i.N$,null,s))))))))))))));ce.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 ne=ce,Y=t(59883),J=t(6680);const Ue=(o,s)=>{let n=J.compose;const r=[];o.forEach(d=>{r.push(d())});const l=(0,J.createStore)(Ot(s,{}),{},n((0,J.applyMiddleware)(...r)));return l.asyncReducers={},l.injectReducer=(d,c)=>{l.asyncReducers[d]=c,l.replaceReducer(Ot(s,l.asyncReducers))},l},Ot=(o,s)=>(0,J.combineReducers)({...o,...s});var $t=Ue,Yt=t(35231),Jt=()=>{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)))}}},ot=t(66941),Qt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=",Xt={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},qt=t(34197),fe=t(53038);const kt=({component:o,path:s,...n})=>{const{pathname:r,search:l}=(0,fe.TH)();return e.createElement(fe.AW,{path:s,render:d=>i.I8.getToken()!==null?e.createElement(o,{...n,...d}):e.createElement(fe.l_,{to:{pathname:"/auth/login",search:r!=="/"&&`?redirectTo=${encodeURIComponent(`${r}${l}`)}`}})})};kt.propTypes={component:a().any.isRequired,path:a().string.isRequired};var wt=(0,e.memo)(kt);const jt={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 rt=t(9592),Ut=t(90869),_t=t(84306),es=t(39935),ts=t.n(es),ss=t(9086),it=t.n(ss),ns=t(51399),as=t(5074),ee=t(11060),os=t(24436);const St=o=>e.createElement(ee.ZP,null,e.createElement(os.Z,{...o}));St.defaultProps={onSubmit:o=>o.preventDefault()},St.propTypes={onSubmit:a().func};var k=t(24346),Ve=t(95162),de=t(77981),me=t(8365),he=t(84642),xe=t(2846),lt=t(91779),Tt=t(92802),$e=t(73678);const Ct=({onSubmit:o,schema:s})=>{const{formatMessage:n}=(0,K.Z)();return e.createElement(ee.ZP,null,e.createElement(Ve.o,null,e.createElement(ee.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:r,errors:l,handleChange:d})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ee.sg,null,e.createElement($e.Z,null),e.createElement(de.x,{paddingTop:6,paddingBottom:7},e.createElement(me.Z,{as:"h1",variant:"alpha"},n({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),l.errorMessage&&e.createElement(me.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},n({id:l.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(he.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(xe.o,{error:l.email?n({id:l.email,defaultMessage:"This email is invalid."}):"",value:r.email,onChange:d,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(he.k,{justifyContent:"center"},e.createElement(de.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},n({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Ct.defaultProps={onSubmit:o=>o.preventDefault()},Ct.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var rs=Ct,is=()=>{const{formatMessage:o}=(0,K.Z)();return e.createElement(ee.ZP,null,e.createElement(Ve.o,null,e.createElement(ee.bU,null,e.createElement(ee.sg,null,e.createElement($e.Z,null),e.createElement(de.x,{paddingTop:6,paddingBottom:7},e.createElement(me.Z,{as:"h1",variant:"alpha"},o({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),e.createElement(me.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(de.x,{paddingTop:4},e.createElement(me.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(he.k,{justifyContent:"center"},e.createElement(de.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},ls=()=>{const{formatMessage:o}=(0,K.Z)(),n=(0,i.aM)().get("info")||o({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return e.createElement(ee.ZP,null,e.createElement(Ve.o,null,e.createElement(ee.bU,null,e.createElement(ee.sg,null,e.createElement($e.Z,null),e.createElement(de.x,{paddingTop:6,paddingBottom:7},e.createElement(me.Z,{as:"h1",variant:"alpha"},o({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),e.createElement(me.Z,null,n),e.createElement(de.x,{paddingTop:4},e.createElement(me.Z,null,o({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),e.createElement(he.k,{justifyContent:"center"},e.createElement(de.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},us=t(10710),xt=t(97037),cs=t(31014),ut=t(10364),ct=t(62161),ds=t(22773),dt=t(24018);const Zt=O.ZP.a`
6
- color: ${({theme:o})=>o.colors.primary600};
7
- `,Bt=(0,O.ZP)(xe.o)`
8
- ::-ms-reveal {
9
- display: none;
10
- }
11
- `,Mt=({authType:o,fieldsToDisable:s,noSignin:n,onSubmit:r,schema:l})=>{const d=(0,i.lm)(),{push:c}=(0,fe.k6)(),[m,R]=(0,e.useState)(!1),[A,w]=(0,e.useState)(!1),[S,Q]=(0,e.useState)(0),[X,N]=(0,e.useState)({}),{trackUsage:ie}=(0,i.rS)(),{formatMessage:M}=(0,K.Z)(),Ze=(0,i.aM)(),{formatAPIError:Be}=(0,i.So)(),{get:G}=(0,i.kY)(),{setNpsSurveySettings:ge}=(0,ds.$)(),te=Ze.get("registrationToken");(0,e.useEffect)(()=>{te&&(async()=>{try{const{data:{data:L}}=await G("/admin/registration-info",{params:{registrationToken:te}});L&&N(L)}catch(L){const I=Be(L);d({type:"warning",message:I}),c(`/auth/oops?info=${encodeURIComponent(I)}`)}})()},[te]);function _e(V){return Object.entries(V).reduce((L,[I,Ee])=>{let pe=Ee;return!["password","confirmPassword"].includes(I)&&typeof Ee=="string"&&(pe=pe.trim(),I==="lastname"&&(pe=pe||null)),L[I]=pe,L},{})}return e.createElement(ee.ZP,null,e.createElement(ee.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{firstname:X.firstname||"",lastname:X.lastname||"",email:X.email||"",password:"",confirmPassword:"",registrationToken:te||void 0,news:!1},onSubmit:async(V,L)=>{const I=_e(V);try{await l.validate(I,{abortEarly:!1}),S>0&&o==="register-admin"&&ie("didSubmitWithErrorsFirstAdmin",{count:S.toString()}),r(te?{userInfo:it()(I,["registrationToken"]),registrationToken:te}:I,L),ge({enabled:V.news})}catch(Ee){const pe=(0,i.CJ)(Ee);Q(S+1),L.setErrors(pe)}},validateOnChange:!1},({values:V,errors:L,handleChange:I})=>e.createElement(i.l0,{noValidate:!0},e.createElement(Ve.o,null,e.createElement(he.k,{direction:"column",alignItems:"center",gap:3},e.createElement($e.Z,null),e.createElement(me.Z,{as:"h1",variant:"alpha",textAlign:"center"},M({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),e.createElement(me.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},M({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(he.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},e.createElement(us.r,{gap:4},e.createElement(xt.P,{col:6},e.createElement(xe.o,{name:"firstname",required:!0,value:V.firstname,error:L.firstname?M(L.firstname):void 0,onChange:I,label:M({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),e.createElement(xt.P,{col:6},e.createElement(xe.o,{name:"lastname",value:V.lastname,onChange:I,label:M({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),e.createElement(xe.o,{name:"email",disabled:s.includes("email"),value:V.email,onChange:I,error:L.email?M(L.email):void 0,required:!0,label:M({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),e.createElement(Bt,{name:"password",onChange:I,value:V.password,error:L.password?M(L.password):void 0,endAction:e.createElement(dt.Z,{onClick:Ee=>{Ee.preventDefault(),R(pe=>!pe)},label:M(m?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},m?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),hint:M({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:M({id:"global.password",defaultMessage:"Password"}),type:m?"text":"password"}),e.createElement(Bt,{name:"confirmPassword",onChange:I,value:V.confirmPassword,error:L.confirmPassword?M(L.confirmPassword):void 0,endAction:e.createElement(dt.Z,{onClick:Ee=>{Ee.preventDefault(),w(pe=>!pe)},label:M(A?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},A?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),required:!0,label:M({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:A?"text":"password"}),e.createElement(cs.X,{onValueChange:Ee=>{I({target:{value:Ee,name:"news"}})},value:V.news,name:"news","aria-label":"news"},M({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"},M({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:e.createElement(Zt,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},M({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),e.createElement(lt.z,{fullWidth:!0,size:"L",type:"submit"},M({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!n&&e.createElement(de.x,{paddingTop:4},e.createElement(he.k,{justifyContent:"center"},e.createElement(i.rU,{label:"Auth.link.signin",to:"/auth/login"},M({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Mt.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:o=>o.preventDefault()},Mt.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 Nt=Mt;const Wt=(0,O.ZP)(xe.o)`
12
- ::-ms-reveal {
13
- display: none;
14
- }
15
- `,Rt=({onSubmit:o,schema:s})=>{const[n,r]=(0,e.useState)(!1),[l,d]=(0,e.useState)(!1),{formatMessage:c}=(0,K.Z)();return e.createElement(ee.ZP,null,e.createElement(Ve.o,null,e.createElement(ee.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:m,errors:R,handleChange:A})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ee.sg,null,e.createElement($e.Z,null),e.createElement(de.x,{paddingTop:6,paddingBottom:7},e.createElement(me.Z,{as:"h1",variant:"alpha"},c({id:"global.reset-password",defaultMessage:"Reset password"}))),R.errorMessage&&e.createElement(me.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},c({id:R.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(he.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Wt,{name:"password",onChange:A,value:m.password,error:R.password?c({id:R.password,defaultMessage:"This field is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:w=>{w.preventDefault(),r(S=>!S)},label:c(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:c({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:c({id:"global.password",defaultMessage:"Password"}),type:n?"text":"password"}),e.createElement(Wt,{name:"confirmPassword",onChange:A,value:m.confirmPassword,error:R.confirmPassword?c({id:R.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:w=>{w.preventDefault(),d(S=>!S)},label:c(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:c({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:l?"text":"password"}),e.createElement(lt.z,{fullwidth:!0,type:"submit"},c({id:"global.change-password",defaultMessage:"Change password"})))))),e.createElement(he.k,{justifyContent:"center"},e.createElement(de.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},c({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Rt.defaultProps={onSubmit:o=>o.preventDefault()},Rt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var ms=Rt;const Ht={"forgot-password":{Component:rs,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:k.Ry().shape({email:k.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:is,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:k.Ry().shape({email:k.Z_().email(i.I0.email).required(i.I0.required),password:k.Z_().required(i.I0.required),rememberMe:k.Xg().nullable()}),inputsPrefix:""},oops:{Component:ls,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:Nt,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:k.Ry().shape({firstname:k.Z_().trim().required(i.I0.required),lastname:k.Z_().nullable(),password:k.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:k.Z_().oneOf([k.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:k.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:Nt,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:k.Ry().shape({firstname:k.Z_().trim().required(i.I0.required),lastname:k.Z_().nullable(),password:k.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:k.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:k.Z_().oneOf([k.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:ms,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:k.Ry().shape({password:k.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:k.Z_().oneOf([k.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}};var gs=o=>o;const Kt={formErrors:{},modifiedData:{},requestError:null},ps=(o,s)=>(0,De.ZP)(o,n=>{switch(s.type){case"ON_CHANGE":{Oe()(n.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Kt;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}}),At=({hasAdmin:o,setHasAdmin:s})=>{const{push:n,location:{search:r}}=(0,fe.k6)(),{changeLocale:l}=(0,ns.Z)(),{setSkipped:d}=(0,i.c1)(),{trackUsage:c}=(0,i.rS)(),{params:{authType:m}}=(0,fe.$B)("/auth/:authType"),R=(0,i.aM)(),A=(0,rt.c)(St,async()=>(await t.e(2395).then(t.bind(t,82395))).LoginEE),w=(0,rt.c)(Ht,async()=>(await t.e(8276).then(t.bind(t,18276))).FORMS,{combine(x,$){return{...x,...$}},defaultValue:Ht}),[{formErrors:S,modifiedData:Q,requestError:X},N]=(0,e.useReducer)(ps,Kt,gs),M=_t.default.CancelToken.source(),{endPoint:Ze,fieldsToDisable:Be,fieldsToOmit:G,inputsPrefix:ge,schema:te,..._e}=w?.[m]??{};(0,e.useEffect)(()=>()=>{M.cancel("Component unmounted")},[]);const{post:V}=(0,i.kY)();(0,e.useEffect)(()=>{N({type:"RESET_PROPS"})},[m]);const L=({target:{name:x,value:$}})=>{N({type:"ON_CHANGE",keys:x,value:$})},I=async(x,{setSubmitting:$,setErrors:ve})=>{$(!0);const Re=it()(x,G),Z=`/admin/${Ze}`;m==="login"&&await pe(x,Z,{setSubmitting:$,setErrors:ve}),(m==="register"||m==="register-admin")&&await Ds(x,Z,{setSubmitting:$,setErrors:ve}),m==="forgot-password"&&await Ee(Re,Z,{setSubmitting:$,setErrors:ve}),m==="reset-password"&&await Os(Re,Z,{setSubmitting:$,setErrors:ve})},Ee=async(x,$,{setSubmitting:ve,setErrors:Re})=>{try{await V($,x,{cancelToken:M.token}),n("/auth/forgot-password-success")}catch(Z){console.error(Z),Re({errorMessage:"notification.error"})}finally{ve(!1)}},pe=async(x,$,{setSubmitting:ve,setErrors:Re})=>{try{const{data:{data:{token:Z,user:ae}}}=await V($,it()(x,G),{cancelToken:M.token});ae.preferedLanguage&&l(ae.preferedLanguage),i.I8.setToken(Z,x.rememberMe),i.I8.setUserInfo(ae,x.rememberMe),zt()}catch(Z){if(Z.response){const ae=Me()(Z,["response","data","error","message"],"Something went wrong");if(ts()(ae).toLowerCase()==="usernotactive"){n("/auth/oops"),N({type:"RESET_PROPS"});return}Re({errorMessage:ae})}}finally{ve(!1)}},Ds=async(x,$,{setSubmitting:ve,setErrors:Re})=>{try{c("willCreateFirstAdmin");const{data:{data:{token:Z,user:ae}}}=await V($,it()(x,G),{cancelToken:M.token});i.I8.setToken(Z,!1),i.I8.setUserInfo(ae,!1),ve(!1),s(!0);const{roles:Ye}=ae;if(Ye&&Ye.find(({code:ws})=>ws==="strapi-super-admin")&&(ye.setSkipped(!1),d(!1),c("didLaunchGuidedtour")),m==="register"&&x.userInfo.news===!0||m==="register-admin"&&x.news===!0){n({pathname:"/usecase",search:`?hasAdmin=${o}`});return}zt()}catch(Z){if(c("didNotCreateFirstAdmin"),Z.response){const{data:ae}=Z.response,Ye=(0,as.Z)(ae);Re({apiErrors:Ye})}}},Os=async(x,$,{setErrors:ve,setSubmitting:Re})=>{try{const{data:{data:{token:Z,user:ae}}}=await V($,{...x,resetPasswordToken:R.get("code")},{cancelToken:M.token});i.I8.setToken(Z,!1),i.I8.setUserInfo(ae,!1),n("/")}catch(Z){if(Z.response){const ae=Me()(Z,["response","data","message"],"Something went wrong"),Ye=Me()(Z,["response","data","statusCode"],400);N({type:"SET_REQUEST_ERROR",errorMessage:ae,errorStatus:Ye}),ve({errorMessage:ae})}}finally{Re(!1)}},zt=()=>{if(m==="login"){const x=R.get("redirectTo"),$=x?decodeURIComponent(x):"/";n($)}else n("/")};if(!w[m]||o&&m==="register-admin"||i.I8.getToken())return e.createElement(fe.l_,{to:"/"});if(!o&&m!=="register-admin")return e.createElement(fe.l_,{to:{pathname:"/auth/register-admin",search:r}});if(A&&(w.login.Component=A),!A)return null;const{Component:ks}=w?.[m]??{};return e.createElement(ks,{..._e,authType:m,fieldsToDisable:Be,formErrors:S,inputsPrefix:ge,modifiedData:Q,onChange:L,onSubmit:I,requestError:X,schema:te})};At.defaultProps={hasAdmin:!1},At.propTypes={hasAdmin:a().bool,setHasAdmin:a().func.isRequired};var fs=At,hs=t(33248),Es=t(16773),vs=t(40260),ys=t(43743),Ps=t(33348);const Ss=[{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,O.ZP)(me.Z)`
16
- text-align: center;
17
- `;var Cs=()=>{const o=(0,i.lm)(),{push:s,location:n}=(0,fe.k6)(),{formatMessage:r}=(0,K.Z)(),[l,d]=(0,e.useState)(),[c,m]=(0,e.useState)(""),{post:R}=(0,i.kY)(),{firstname:A,email:w}=i.I8.getUserInfo(),{hasAdmin:S}=(0,Ps.parse)(n?.search,{ignoreQueryPrefix:!0}),Q=l==="other",X=async(N,ie)=>{N.preventDefault();try{await R("https://analytics.strapi.io/register",{email:w,username:A,firstAdmin:Boolean(!S),persona:{role:ie?void 0:l,otherRole:ie?void 0:c}}),o({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return e.createElement(ee.ZP,null,e.createElement(Ve.o,{labelledBy:"usecase-title"},e.createElement(ee.bU,null,e.createElement("form",{onSubmit:N=>X(N,!1)},e.createElement(he.k,{direction:"column",paddingBottom:7},e.createElement($e.Z,null),e.createElement(de.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(he.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Es.P,{id:"usecase","data-testid":"usecase",label:r({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:d,value:l},Ss.map(({intlLabel:N,value:ie})=>e.createElement(vs.W,{key:ie,value:ie},r(N)))),Q&&e.createElement(xe.o,{name:"other",label:r({id:"Usecase.other",defaultMessage:"Other"}),value:c,onChange:N=>m(N.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(he.k,{justifyContent:"center"},e.createElement(de.x,{paddingTop:4},e.createElement(ys.A,{onClick:()=>X(!0)},r({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},Ft=t(4556);const Ms=(0,e.lazy)(()=>Promise.all([t.e(2659),t.e(801)]).then(t.bind(t,7805)));function Rs(){const o=(0,rt.c)(jt,async()=>(await t.e(3100).then(t.bind(t,73100))).ADMIN_PERMISSIONS_EE,{combine(G,ge){return C()({},G,ge)},defaultValue:jt}),s=(0,rt.c)(Ft.y3,async()=>(await t.e(1386).then(t.bind(t,31386))).ROUTES_EE,{defaultValue:[]}),n=(0,i.lm)(),{updateProjectSettings:r}=(0,ue.um)(),{formatMessage:l}=(0,K.Z)(),[{isLoading:d,hasAdmin:c,uuid:m,deviceId:R},A]=(0,e.useState)({isLoading:!0,hasAdmin:!1}),w=(0,Te.I0)(),S=(0,i.L7)(),{get:Q,post:X}=(0,i.kY)(),N=(0,e.useMemo)(()=>(0,Ut.WW)(s.map(({to:G,Component:ge,exact:te})=>(0,Ut.ot)(ge,G,te))),[s]),[ie,M]=(0,e.useState)(null);(0,e.useEffect)(()=>{w({type:Ft.XS,payload:o})},[o,w]),(0,e.useEffect)(()=>{const G=i.I8.getToken();G&&(async()=>{try{const{data:{data:{token:te}}}=await X("/admin/renew-token",{token:G});i.I8.updateToken(te)}catch{i.I8.clearAppStorage(),window.location.reload()}})()},[X]),(0,e.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:ge,uuid:te,menuLogo:_e,authLogo:V}}}=await Q("/admin/init");if(r({menuLogo:(0,i.CR)(_e),authLogo:(0,i.CR)(V)}),te){const{data:{data:L}}=await Q("/admin/telemetry-properties",{validateStatus:I=>I<500});M(L);try{const I="didInitializeAdministration";await X("https://analytics.strapi.io/api/v2/track",{event:I,userId:"",deviceId:R,eventPropeties:{},userProperties:{environment:S.currentEnvironment},groupProperties:{...L,projectId:te}},{headers:{"X-Strapi-Event":I}})}catch{}}A({isLoading:!1,hasAdmin:ge,uuid:te,deviceId:R})}catch{n({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[n,r]);const Ze=G=>A(ge=>({...ge,hasAdmin:G})),Be=(0,e.useMemo)(()=>({uuid:m,telemetryProperties:ie,deviceId:R}),[m,ie,R]);return d?e.createElement(i.dO,null):e.createElement(e.Suspense,{fallback:e.createElement(i.dO,null)},e.createElement(qt.z,null,l({id:"skipToContent"})),e.createElement(i.L8,{value:Be},e.createElement(fe.rs,null,N,e.createElement(fe.AW,{path:"/auth/:authType",render:G=>e.createElement(fs,{...G,setHasAdmin:Ze,hasAdmin:c}),exact:!0}),e.createElement(wt,{path:"/usecase",component:Cs}),e.createElement(wt,{path:"/",component:Ms}),e.createElement(fe.AW,{path:"",component:hs.default}))))}var As=Rs,Ls={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:d}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:T,head:{favicon:Qt},locales:["en"],menuLogo:T,notifications:{releases:!0},themes:{light:g.W,dark:E.$},translations:{},tutorials:!0},this.appPlugins=n||{},this.library=r,this.middlewares=l,this.plugins={},this.reducers=d,this.translations={},this.hooksDict={},this.admin={injectionZones:Xt},this.customFields=Y.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);u()(s.to,`link.to should be defined for ${n}`),u()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),u()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),u()(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);u()(s.to,`link.to should be defined for ${n}`),u()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),u()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),u()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),u()(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)=>{u()(this.settings[s],"The section does not exist");const r=JSON.stringify(n);u()(n.id,`link.id should be defined for ${r}`),u()(n.intlLabel?.id&&n.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${r}`),u()(n.to,`link.to should be defined for ${r}`),u()(n.Component&&typeof n.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(n)};addSettingsLinks=(s,n)=>{u()(this.settings[s],"The section does not exist"),u()(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})}),W()(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(ot.No),this.createHook(ot.LK),this.createHook(ot.dV),this.createHook(ot.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."),C()(this.configurations.themes.light,this.customConfigurations.theme)),n&&C()(this.configurations.themes.light,n),s&&C()(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]=Jt()};createSettingSection=(s,n)=>{u()(s.id,"section.id should be defined"),u()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),u()(Array.isArray(n),"TypeError expected links to be an array"),u()(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=()=>$t(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)=>{u()(this.admin.injectionZones.contentManager[s]?.[n],`The ${s} ${n} zone is not defined in the content manager`),u()(r,"A Component must be provided"),this.admin.injectionZones.contentManager[s][n].push(r)};injectAdminComponent=(s,n,r)=>{u()(this.admin.injectionZones.admin[s]?.[n],`The ${s} ${n} zone is not defined in the admin`),u()(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:d})=>({data:d,locale:l})).catch(()=>({data:null,locale:l})));return(await Promise.all(s)).reduce((l,d)=>(d.data&&(l[d.locale]=d.data),l),{})}async loadTrads(){const s=await this.loadAdminTrads(),n=Object.keys(this.appPlugins).map(c=>{const m=this.appPlugins[c].registerTrads;return m?m({locales:this.configurations.locales}):null}).filter(c=>c),l=(await Promise.all(n)).reduce((c,m)=>{const R=m.reduce((A,w)=>(A[w.locale]=w.data,A),{});return Object.keys(R).forEach(A=>{c[A]={...c[A],...R[A]}}),c},{}),d=this.configurations.locales.reduce((c,m)=>(c[m]={...s[m],...l[m]||{},...this.customConfigurations?.translations?.[m]},c),{});return this.configurations.translations=d,Promise.resolve()}registerHook=(s,n)=>{u()(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,Y.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=U()(Ls,this.configurations.locales||[]),{components:{components:r},fields:{fields:l}}=this.library;return e.createElement(ne,{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:(d,c,m=!1)=>this.runHookWaterfall(d,c,m,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(q.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(Pe)||"en"}}),e.createElement(D.VK,{basename:Yt.Z},e.createElement(As,{store:s}))))}}var bs=({adminConfig:o={},appPlugins:s,library:n,middlewares:r,reducers:l})=>new Is({adminConfig:o,appPlugins:s,library:n,middlewares:r,reducers:l})},33229:function(j,p,t){"use strict";var e=t(32735);const g=(0,e.createContext)();p.Z=g},51399:function(j,p,t){"use strict";var e=t(32735),g=t(33229);const E=()=>{const{changeLocale:v,localeNames:u,messages:f}=(0,e.useContext)(g.Z);return{changeLocale:v,localeNames:u,messages:f}};p.Z=E},22773:function(j,p,t){"use strict";t.d(p,{$:function(){return g}});var e=t(43806);function g(){const[E,v]=(0,e.Yw)("STRAPI_NPS_SURVEY_SETTINGS",{enabled:!0,lastResponseDate:null,firstDismissalDate:null,lastDismissalDate:null});return{npsSurveySettings:E,setNpsSurveySettings:v}}},73678:function(j,p,t){"use strict";var e=t(32735),g=t(8471),E=t(79652);const v=g.ZP.img`
18
- height: ${72/16}rem;
19
- `,u=()=>{const{logos:{auth:f}}=(0,E.um)();return e.createElement(v,{src:f?.custom??f.default,"aria-hidden":!0,alt:""})};p.Z=u},76402:function(j,p,t){"use strict";t.d(p,{ux:function(){return E},_5:function(){return u},$l:function(){return W},Rj:function(){return C}});var e=t(32735),E=(0,e.createContext)({}),u=(0,e.createContext)({}),W=(0,e.createContext)({}),C=(0,e.createContext)({})},35231:function(j,p){"use strict";const t="/admin/".replace(window.location.origin,"");p.Z=t},66941:function(j,p,t){"use strict";t.d(p,{Eo:function(){return E},LK:function(){return g},No:function(){return e},dV:function(){return v}});const e="Admin/CM/pages/ListView/inject-column-in-table",g="Admin/CM/pages/App/mutate-collection-types-links",E="Admin/CM/pages/EditView/mutate-edit-view-layout",v="Admin/CM/pages/App/mutate-single-types-links"},79652:function(j,p,t){"use strict";t.d(p,{um:function(){return v},H9:function(){return Te},$_:function(){return De},rW:function(){return We},G4:function(){return gt},Te:function(){return vt},M1:function(){return Pt}});var e=t(32735),g=t(76402),v=()=>(0,e.useContext)(g._5),u=t(90769),f=t(43806),W=t(601),H=t(90230),C=t(19594),b=t(15062),U=t(30305),q=t(99381),D=t.n(q),B=(P,h)=>h.map(({permissions:y})=>(0,f.qX)(P,y)),i=async(P,h,y)=>{const F=B(P,h),le=await Promise.all(F),z=h.filter((K,ue)=>le[ue]),se=z.findIndex(K=>K.to==="/settings");if(se===-1)return[];const re=D()(z);return re[se].notificationsCount=y?1:0,re},a=async(P,h)=>{const y=B(P,h),F=await Promise.all(y);return h.filter((z,se)=>F[se])},Te=()=>{const{allPermissions:P}=(0,f.vn)(),{shouldUpdateStrapi:h}=(0,f.L7)(),{menu:y}=(0,f.j1)(),F=(0,b.v9)(U._),[le,z]=e.useState({generalSectionLinks:[{icon:W.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:F.marketplace.main},{icon:H.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:F.marketplace.main},{icon:C.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0}),se=e.useRef(le.generalSectionLinks);return e.useEffect(()=>{async function re(){const K=await a(P,y),ue=await i(P,se.current,h);z(O=>({...O,generalSectionLinks:ue,pluginsSectionLinks:K,isLoading:!1}))}re()},[z,se,P,y,F,h]),le},De=()=>(0,e.useContext)(g.$l),We=(P,h,y,F)=>{const[le,z]=(0,e.useState)(!1),se=(0,f.lm)(),{post:re}=(0,f.kY)(),{formatAPIError:K}=(0,f.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:O}}}=await re(`${P}${h}/regenerate`);z(!1),y(O)}catch(O){z(!1),F?F(O):se({type:"warning",message:K(O)})}},isLoadingConfirmation:le}};const Qe=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),oe=()=>{const{latestStrapiReleaseTag:P,shouldUpdateStrapi:h}=useAppInfo(),y=useNotification();return useEffect(()=>{h&&Qe&&y({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${P}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[P,h,y]),null};var He=null,Ce=t(9086),Me=t.n(Ce),Ie=t(90869),Xe=(P,h)=>({...P,fieldsToPick:h}),Ke=t(97889),et=t(88423),ke=t.n(et),qe=t(3040),mt=t.n(qe),ye=t(56236),Lt=t.n(ye);const tt={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},st=(P,h)=>(0,Ke.ZP)(P,y=>{switch(h.type){case"GET_DATA_SUCCEEDED":{y.isLoading=!1,y.showHeaderLoader=!1,y.initialData=ke()(h.data,P.fieldsToPick),y.modifiedData=ke()(h.data,P.fieldsToPick);break}case"ON_CANCEL":{y.modifiedData=P.initialData,y.formErrors={};break}case"ON_CHANGE":{h.inputType==="password"&&!h.value?Lt()(y.modifiedData,h.keys.split(".")):h.keys.includes("username")&&!h.value?mt()(y.modifiedData,h.keys.split("."),null):mt()(y.modifiedData,h.keys.split("."),h.value);break}case"ON_SUBMIT":{y.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{y.initialData=ke()(h.data,P.fieldsToPick),y.modifiedData=ke()(h.data,P.fieldsToPick),y.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{y.formErrors=h.errors,y.showHeaderButtonLoader=!1;break}default:return y}});var gt=(P,h,y,F)=>{const[{formErrors:le,initialData:z,isLoading:se,modifiedData:re,showHeaderButtonLoader:K,showHeaderLoader:ue},O]=(0,e.useReducer)(st,tt,()=>Xe(tt,F)),_=(0,f.lm)(),{lockApp:Ae,unlockApp:Fe}=(0,f.o1)(),{get:ze,put:Le}=(0,f.kY)();return(0,e.useEffect)(()=>{P&&(async()=>{try{const{data:{data:ne}}=await ze(P);O({type:"GET_DATA_SUCCEEDED",data:ne,fieldsToPick:F})}catch(ne){console.error(ne.response),_({type:"warning",message:{id:"notification.error"}})}})()},[P]),[{formErrors:le,initialData:z,isLoading:se,modifiedData:re,showHeaderButtonLoader:K,showHeaderLoader:ue},O,{handleCancel:()=>{O({type:"ON_CANCEL"})},handleChange:({target:{name:ce,value:ne,type:Y}})=>{O({type:"ON_CHANGE",inputType:Y,keys:ce,value:ne})},handleSubmit:async ce=>{ce.preventDefault();const ne=await(0,Ie.R6)(re,h);if(O({type:"SET_ERRORS",errors:ne||{}}),!ne)try{Ae(),O({type:"ON_SUBMIT"});const Y=Me()(re,["confirmPassword","registrationToken"]);Y.roles&&(Y.roles=Y.roles.map(Ue=>Ue.id)),Y.ssoLockedRoles&&(Y.ssoLockedRoles=[...new Set(Y.ssoLockedRoles)]);const{data:{data:J}}=await Le(P,Y);y(J),O({type:"ON_SUBMIT_SUCCEEDED",data:J}),_({type:"success",message:{id:"notification.success.saved"}})}catch(Y){const J=Y?.response?.payload??{data:{}};J?.data&&typeof J.data=="string"?_({type:"warning",message:J.data}):_({type:"warning",message:J.message});const Ue=(0,Ie.Iz)(J);O({type:"SET_ERRORS",errors:Ue})}finally{Fe()}},setField:(ce,ne)=>{O({type:"ON_CHANGE",keys:ce,value:ne})}}]},It=t(9592);const pt={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 ft=P=>P.map(h=>{const y=h.links.map(F=>({...F,isDisplayed:!1}));return{...h,links:y}}),nt=t(98978),ht=t.n(nt),Et=P=>ht()(P,h=>h.id),vt=()=>{const[{isLoading:P,menu:h},y]=(0,e.useState)({isLoading:!0,menu:[]}),{allPermissions:F}=(0,f.vn)(),{shouldUpdateStrapi:le}=(0,f.L7)(),{settings:z}=(0,f.j1)(),se=(0,b.v9)(U._),{global:re,admin:K}=(0,It.c)(pt,async()=>(await t.e(918).then(t.bind(t,50918))).LINKS_EE,{combine(_,Ae){return{admin:[...Ae.admin,..._.admin],global:[..._.global,...Ae.global]}},defaultValue:{admin:[],global:[]}}),ue=(0,e.useCallback)(_=>{if(!_.id)throw new Error("The settings menu item must have an id attribute.");return{..._,permissions:se.settings?.[_.id]?.main}},[se.settings]);(0,e.useEffect)(()=>{const _=async()=>{const at=await(we=>Promise.all(we.reduce((je,Ge,ce)=>{const ne=Y=>Y.map(async(J,Ue)=>({hasPermission:await(0,f.qX)(F,J.permissions),sectionIndex:ce,linkIndex:Ue}));return[...je,...ne(Ge.links)]},[])))(ze);y(we=>({...we,isLoading:!1,menu:ze.map((je,Ge)=>({...je,links:je.links.map((ce,ne)=>{const Y=at.find(J=>J.sectionIndex===Ge&&J.linkIndex===ne);return{...ce,isDisplayed:Boolean(Y.hasPermission)}})}))}))},{global:Ae,...Fe}=z,ze=ft([{...z.global,links:Et([...z.global.links,...re.map(ue)]).map(Le=>({...Le,hasNotification:Le.id==="000-application-infos"&&le}))},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:K.map(ue)},...Object.values(Fe)]);_()},[K,re,F,z,le,ue]);const O=_=>({..._,links:_.links.filter(Ae=>Ae.isDisplayed)});return{isLoading:P,menu:h.map(O)}},Pt=()=>(0,e.useContext)(g.Rj)},90769:function(j,p,t){"use strict";t.d(p,{G:function(){return v}});var e=t(32735),g=t(43806),E=t(20108);function v(){const{get:u}=(0,g.kY)(),{formatAPIError:f}=(0,g.So)(),W=(0,g.lm)(),H=(0,E.useQueries)(["components","content-types"].map(T=>({queryKey:["content-manager",T],async queryFn(){const{data:{data:B}}=await u(`/content-manager/${T}`);return B},onError(B){W({type:"warning",message:f(B)})}}))),[C,b]=H,U=C.isLoading||b.isLoading,q=e.useMemo(()=>(b?.data??[]).filter(T=>T.kind==="collectionType"&&T.isDisplayed),[b?.data]),D=e.useMemo(()=>(b?.data??[]).filter(T=>T.kind!=="collectionType"&&T.isDisplayed),[b?.data]);return{isLoading:U,components:e.useMemo(()=>C?.data??[],[C?.data]),collectionTypes:q,singleTypes:D}}},9592:function(j,p,t){"use strict";t.d(p,{c:function(){return v}});var e=t(32735),g=t(43806);function E(){return window.strapi.isEE}function v(u,f,{defaultValue:W=null,combine:H=(b,U)=>U,enabled:C=!0}={}){const b=(0,g.W6)(f),U=(0,g.W6)(H),[{data:q},D]=e.useState({data:E()&&C?W:u});return e.useEffect(()=>{async function T(){const B=await b();D({data:U(u,B)})}E()&&C&&T()},[u,b,U,C]),q}},11060:function(j,p,t){"use strict";t.d(p,{sg:function(){return D},bU:function(){return T},ZP:function(){return Pe}});var e=t(32735),g=t(77981),E=t(84642),v=t(60216),u=t.n(v),f=t(8471),W=t(4987),H=t(67879),C=t(51399),U=()=>{const{changeLocale:i,localeNames:be}=(0,C.Z)(),{locale:a}=(0,H.Z)();return e.createElement(W.q4,{value:a,onChange:Se=>i(Se)},Object.entries(be).map(([Se,Te])=>e.createElement(W.ag,{key:Se,value:Se},Te)))};const q=(0,f.ZP)(g.x)`
20
- margin: 0 auto;
21
- width: 552px;
22
- `,D=(0,f.ZP)(E.k)`
23
- flex-direction: column;
24
- `,T=({children:i})=>e.createElement(q,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},i);T.propTypes={children:u().node.isRequired};const B=({children:i})=>e.createElement("div",null,e.createElement(E.k,{as:"header",justifyContent:"flex-end"},e.createElement(g.x,{paddingTop:6,paddingRight:8},e.createElement(U,null))),e.createElement(g.x,{paddingTop:2,paddingBottom:11},i));B.propTypes={children:u().node.isRequired};var Pe=B},30305:function(j,p,t){"use strict";t.d(p,{_:function(){return v}});var e=t(98178),g=t(69891);const E=()=>u=>u.admin_app||g.E,v=(0,e.P1)(E(),u=>u.permissions)},24018:function(j,p,t){"use strict";var e=t(78495),g=t(8471);const E=(0,g.ZP)(e.E)`
25
- svg {
26
- height: 1rem;
27
- width: 1rem;
28
- path {
29
- fill: ${({theme:v})=>v.colors.neutral600};
30
- }
31
- }
32
- `;p.Z=E},24436:function(j,p,t){"use strict";var e=t(32735),g=t(2846),E=t(95162),v=t(77981),u=t(8365),f=t(84642),W=t(31014),H=t(91779),C=t(43806),b=t(10364),U=t(62161),q=t(92802),D=t(60216),T=t.n(D),B=t(67879),Pe=t(8471),i=t(73678),be=t(11060),a=t(24018);const Se=(0,Pe.ZP)(g.o)`
33
- ::-ms-reveal {
34
- display: none;
35
- }
36
- `,Te=({onSubmit:Ne,schema:De,children:Je})=>{const[We,Qe]=(0,e.useState)(!1),{formatMessage:oe}=(0,B.Z)();return e.createElement(E.o,null,e.createElement(be.bU,null,e.createElement(q.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:Ne,validationSchema:De,validateOnChange:!1},({values:He,errors:Ce,handleChange:Me})=>e.createElement(C.l0,{noValidate:!0},e.createElement(be.sg,null,e.createElement(i.Z,null),e.createElement(v.x,{paddingTop:6,paddingBottom:1},e.createElement(u.Z,{variant:"alpha",as:"h1"},oe({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),e.createElement(v.x,{paddingBottom:7},e.createElement(u.Z,{variant:"epsilon",textColor:"neutral600"},oe({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),Ce.errorMessage&&e.createElement(u.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},Ce.errorMessage)),e.createElement(f.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(g.o,{error:Ce.email?oe({id:Ce.email,defaultMessage:"This value is required."}):"",value:He.email,onChange:Me,label:oe({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:oe({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(Se,{error:Ce.password?oe({id:Ce.password,defaultMessage:"This value is required."}):"",onChange:Me,value:He.password,label:oe({id:"global.password",defaultMessage:"Password"}),name:"password",type:We?"text":"password",endAction:e.createElement(a.Z,{onClick:Ie=>{Ie.stopPropagation(),Qe(Oe=>!Oe)},label:oe(We?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},We?e.createElement(b.Z,null):e.createElement(U.Z,null)),required:!0}),e.createElement(W.X,{onValueChange:Ie=>{Me({target:{value:Ie,name:"rememberMe"}})},value:He.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},oe({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),e.createElement(H.z,{fullWidth:!0,type:"submit"},oe({id:"Auth.form.button.login",defaultMessage:"Login"}))))),Je),e.createElement(f.k,{justifyContent:"center"},e.createElement(v.x,{paddingTop:4},e.createElement(C.rU,{to:"/auth/forgot-password"},oe({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};Te.defaultProps={children:null,onSubmit(){}},Te.propTypes={children:T().node,onSubmit:T().func,schema:T().shape({type:T().string.isRequired}).isRequired},p.Z=Te},33248:function(j,p,t){"use strict";t.r(p);var e=t(32735),g=t(95162),E=t(64092),v=t(56932),u=t(80564),f=t(43806),W=t(25919),H=t(29213),C=t(67879);const b=()=>{const{formatMessage:U}=(0,C.Z)();return(0,f.go)(),e.createElement(g.o,{labelledBy:"title"},e.createElement(E.T,{id:"title",title:U({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),e.createElement(v.D,null,e.createElement(u.x,{action:e.createElement(f.Qj,{variant:"secondary",endIcon:e.createElement(W.Z,null),to:"/"},U({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:U({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:e.createElement(H.Z,{width:"10rem"}),shadow:"tableShadow"})))};p.default=b},63602:function(j,p,t){"use strict";var e=t(32735),g=t(43806),E=t(60216),v=t.n(E),u=t(53038);const f=({loadComponent:H})=>{const[C,b]=(0,e.useState)(null);return(0,e.useEffect)(()=>{(async()=>{try{const q=await H();b(()=>q.default)}catch(q){console.log(q)}})()},[H]),C?e.createElement(C,null):e.createElement(g.dO,null)},W=(H,C,b)=>e.createElement(u.AW,{render:()=>e.createElement(f,{loadComponent:H}),key:C,path:C,exact:b||!1});f.propTypes={loadComponent:v().func.isRequired},p.Z=W},5074:function(j,p){"use strict";const t=({data:e})=>{try{return Object.keys(e).reduce((g,E)=>{const v=e[E][0];return g[E]={id:v,defaultMessage:v},g},{})}catch{return{}}};p.Z=t},90869:function(j,p,t){"use strict";t.d(p,{R6:function(){return E},ot:function(){return v.Z},Iz:function(){return u.Z},Pp:function(){return f},Qy:function(){return q},WW:function(){return W.Z}});var e=t(43806),E=async(D,T)=>{let B=null;try{await T.validate(D,{abortEarly:!1})}catch(Pe){B=(0,e.CJ)(Pe)}return B},v=t(63602),u=t(5074),f=(D,T="")=>[D,T].filter(B=>B).join(" "),W=t(18805),H=t(98978);const C=D=>sortBy(D,T=>T.name);var b=null;const U={bufferToHex(D){return[...new Uint8Array(D)].map(T=>T.toString(16).padStart(2,"0")).join("")},async digestMessage(D){const T=new TextEncoder().encode(D),B=await crypto.subtle.digest("SHA-256",T);return this.bufferToHex(B)}};async function q(D){if(!D)return null;try{return await U.digestMessage(D.email)}catch{return null}}},18805:function(j,p){"use strict";const t=e=>e.filter((g,E,v)=>v.findIndex(u=>u.key===g.key)===E);p.Z=t},48224:function(j,p,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 g(E){if(!t.o(e,E))return Promise.resolve().then(function(){var f=new Error("Cannot find module '"+E+"'");throw f.code="MODULE_NOT_FOUND",f});var v=e[E],u=v[0];return t.e(v[1]).then(function(){return t.t(u,19)})}g.keys=function(){return Object.keys(e)},g.id=48224,j.exports=g},47750:function(j,p,t){"use strict";j.exports=t.p+"70674f63fc3904c20de0.svg"}}]);