@strapi/admin 4.2.0-beta.1 → 4.2.0-beta.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 (166) hide show
  1. package/admin/src/assets/images/homepage-logo.png +0 -0
  2. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +2 -6
  3. package/admin/src/components/ConfigurationsProvider/index.js +51 -0
  4. package/admin/src/components/ConfigurationsProvider/reducer.js +28 -0
  5. package/admin/src/components/GuidedTour/Homepage/index.js +1 -2
  6. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +1 -2
  7. package/admin/src/components/LeftMenu/index.js +19 -7
  8. package/admin/src/components/Notifications/Notification/index.js +2 -2
  9. package/admin/src/components/Providers/index.js +8 -4
  10. package/admin/src/components/UnauthenticatedLogo/index.js +4 -2
  11. package/admin/src/components/UpgradePlanModal/index.js +6 -2
  12. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
  13. package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -2
  14. package/admin/src/content-manager/components/SelectWrapper/index.js +8 -7
  15. package/admin/src/content-manager/components/SelectWrapper/utils/getSelectStyles.js +1 -1
  16. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +2 -2
  17. package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -0
  18. package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -7
  19. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
  20. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -2
  21. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -2
  22. package/admin/src/content-manager/pages/EditView/Header/index.js +3 -3
  23. package/admin/src/content-manager/pages/EditView/index.js +1 -4
  24. package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -2
  25. package/admin/src/content-manager/pages/ListView/index.js +1 -1
  26. package/admin/src/content-manager/pages/NoContentType/index.js +1 -2
  27. package/admin/src/pages/App/index.js +7 -2
  28. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -2
  29. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -1
  30. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +1 -2
  31. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -2
  32. package/admin/src/pages/AuthPage/components/Register/index.js +12 -12
  33. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +3 -4
  34. package/admin/src/pages/HomePage/ContentBlocks.js +15 -2
  35. package/admin/src/pages/HomePage/HomeHeader.js +2 -2
  36. package/admin/src/pages/HomePage/SocialLinks.js +4 -3
  37. package/admin/src/pages/InternalErrorPage/index.js +1 -2
  38. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +2 -1
  39. package/admin/src/pages/MarketplacePage/components/PluginCard/index.js +4 -3
  40. package/admin/src/pages/NotFoundPage/index.js +1 -2
  41. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +5 -4
  42. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -1
  43. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +1 -1
  44. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +85 -0
  46. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/init.js +13 -0
  47. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +43 -0
  48. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +118 -0
  49. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +28 -0
  50. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +25 -0
  51. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +67 -0
  52. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +176 -0
  53. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +82 -0
  54. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +51 -0
  55. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +97 -0
  56. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +85 -0
  57. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +28 -0
  58. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +155 -87
  59. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +16 -0
  60. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +3 -0
  61. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +17 -0
  62. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +76 -0
  63. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +17 -0
  64. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +21 -0
  65. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +1 -1
  66. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +1 -1
  67. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +1 -2
  68. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +1 -1
  69. package/admin/src/translations/ca.json +699 -0
  70. package/admin/src/translations/en.json +26 -0
  71. package/admin/src/translations/languageNativeNames.js +1 -0
  72. package/admin/src/translations/ru.json +34 -0
  73. package/build/1541.6c1c96f9.chunk.js +307 -0
  74. package/build/1856.521a99fd.chunk.js +172 -0
  75. package/build/2077.51485bfb.chunk.js +194 -0
  76. package/build/2912.79c2b3c8.chunk.js +253 -0
  77. package/build/3214.9196aeff.chunk.js +235 -0
  78. package/build/3865.21cec9de.chunk.js +310 -0
  79. package/build/4073.e144a91a.chunk.js +1 -0
  80. package/build/4715.77e04177.chunk.js +385 -0
  81. package/build/{272.d442e5ca.chunk.js → 472.0350a5bd.chunk.js} +91 -102
  82. package/build/4982.f53b78a4.chunk.js +308 -0
  83. package/build/6229.a5cca9f2.chunk.js +194 -0
  84. package/build/7351.b95e65ae.chunk.js +428 -0
  85. package/build/7418.6db737ce.chunk.js +112 -0
  86. package/build/7841.f0e7d629.chunk.js +253 -0
  87. package/build/8826.58e236d4.chunk.js +1057 -0
  88. package/build/9066.118ecccd.chunk.js +101 -0
  89. package/build/{9298.dab64a1b.chunk.js → 9298.aff28744.chunk.js} +80 -91
  90. package/build/9420.cb0b75e8.chunk.js +508 -0
  91. package/build/{9988.9b6e1d79.chunk.js → 9988.f84412d9.chunk.js} +15 -14
  92. package/build/Admin-authenticatedApp.162a5805.chunk.js +80 -0
  93. package/build/Admin_homePage.0ac648e8.chunk.js +71 -0
  94. package/build/Admin_marketplace.0bb91ec8.chunk.js +11 -0
  95. package/build/Admin_settingsPage.23e873f0.chunk.js +178 -0
  96. package/build/admin-edit-roles-page.fb374555.chunk.js +1 -0
  97. package/build/admin-edit-users.a360deaf.chunk.js +10 -0
  98. package/build/api-tokens-create-page.698f132d.chunk.js +1 -0
  99. package/build/api-tokens-edit-page.afece2fe.chunk.js +1 -0
  100. package/build/api-tokens-list-page.46d96dee.chunk.js +15 -0
  101. package/build/ca-json.0097e443.chunk.js +1 -0
  102. package/build/content-manager.7cd28f84.chunk.js +1204 -0
  103. package/build/content-type-builder.7456cabe.chunk.js +141 -0
  104. package/build/{email-settings-page.d807edfd.chunk.js → email-settings-page.f67d13b2.chunk.js} +5 -5
  105. package/build/en-json.40ee00aa.chunk.js +1 -0
  106. package/build/fb376b132d18bf4522ca.png +0 -0
  107. package/build/{i18n-settings-page.c8f3b78b.chunk.js → i18n-settings-page.6b67cb75.chunk.js} +5 -5
  108. package/build/index.html +1 -1
  109. package/build/main.b632a0d6.js +11625 -0
  110. package/build/ru-json.28147733.chunk.js +1 -0
  111. package/build/runtime~main.38d418e9.js +2 -0
  112. package/build/{upload-settings.17202e3b.chunk.js → upload-settings.3db55de0.chunk.js} +5 -5
  113. package/build/upload-translation-ca-json.79159984.chunk.js +1 -0
  114. package/build/{upload.d647d59d.chunk.js → upload.070c189b.chunk.js} +5 -5
  115. package/build/{users-advanced-settings-page.22690469.chunk.js → users-advanced-settings-page.a23cda17.chunk.js} +5 -5
  116. package/build/users-roles-settings-page.988ebc3b.chunk.js +30 -0
  117. package/build/{webhook-edit-page.043fe03f.chunk.js → webhook-edit-page.a7ae6e3b.chunk.js} +3 -3
  118. package/build/webhook-list-page.83297d98.chunk.js +133 -0
  119. package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
  120. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
  121. package/ee/server/controllers/user.js +4 -0
  122. package/package.json +9 -9
  123. package/server/config/admin-actions.js +14 -0
  124. package/server/controllers/admin.js +33 -1
  125. package/server/controllers/user.js +4 -0
  126. package/server/routes/admin.js +28 -0
  127. package/server/services/index.js +1 -0
  128. package/server/services/permission/permissions-manager/sanitize.js +22 -0
  129. package/server/services/project-settings.js +173 -0
  130. package/server/services/user.js +1 -1
  131. package/server/utils/index.d.ts +2 -0
  132. package/server/validation/project-settings.js +39 -0
  133. package/utils/create-cache-dir.js +2 -5
  134. package/webpack.config.js +2 -2
  135. package/admin/src/content-manager/components/DynamicComponentCard/index.js +0 -43
  136. package/build/1856.e2bce2e8.chunk.js +0 -171
  137. package/build/2481.5fe150c7.chunk.js +0 -184
  138. package/build/2912.5a7b0406.chunk.js +0 -252
  139. package/build/2a9e9ef5c4c775bb7c7b.png +0 -0
  140. package/build/306.28d21ab8.chunk.js +0 -896
  141. package/build/4073.4765687b.chunk.js +0 -1
  142. package/build/4715.7f616cf6.chunk.js +0 -387
  143. package/build/497.2ba35e90.chunk.js +0 -284
  144. package/build/4982.91235074.chunk.js +0 -310
  145. package/build/6229.f558fd19.chunk.js +0 -194
  146. package/build/6404.25d0f0d8.chunk.js +0 -508
  147. package/build/7841.0d73dde1.chunk.js +0 -252
  148. package/build/7863.996e70df.chunk.js +0 -112
  149. package/build/9853.6cc1043a.chunk.js +0 -354
  150. package/build/Admin-authenticatedApp.d26b3032.chunk.js +0 -80
  151. package/build/Admin_homePage.fc4a8408.chunk.js +0 -71
  152. package/build/Admin_marketplace.c406a140.chunk.js +0 -11
  153. package/build/Admin_settingsPage.c40fdef1.chunk.js +0 -170
  154. package/build/admin-edit-roles-page.c69fe8ab.chunk.js +0 -1
  155. package/build/admin-edit-users.be232f6b.chunk.js +0 -10
  156. package/build/api-tokens-create-page.9774f0fe.chunk.js +0 -1
  157. package/build/api-tokens-edit-page.8f03c9a1.chunk.js +0 -1
  158. package/build/api-tokens-list-page.126fbca6.chunk.js +0 -15
  159. package/build/content-manager.ca66b566.chunk.js +0 -1204
  160. package/build/content-type-builder.d12fd5cd.chunk.js +0 -141
  161. package/build/en-json.3e1a222e.chunk.js +0 -1
  162. package/build/main.36da7eeb.js +0 -7918
  163. package/build/ru-json.4560906c.chunk.js +0 -1
  164. package/build/runtime~main.251e9cca.js +0 -2
  165. package/build/users-roles-settings-page.487f3346.chunk.js +0 -30
  166. package/build/webhook-list-page.2d2d71a1.chunk.js +0 -132
@@ -0,0 +1,80 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{72331:(H,C,n)=>{n.r(C),n.d(C,{default:()=>en});var e=n(32735),i=n(10938),N=n(84968),P=n(33795),X=n.n(P);const M=JSON.parse('{"i8":"4.2.0-beta.4"}');var $=n(41072),c=n(5141),G=n(4409),L=n(74506),K=n(51968),W=n(88311),U=n.n(W),O=n(52846),T=n(19615),F=n(60216),r=n.n(F),l=n(5636),v=n(64410),E=n(54742),g=n(19192),R=n(9808),J=n(90662),Ne=n(20763),oe=n(44526),Ge=n(94009),Ue=n.n(Ge);const Fe=(0,T.default)(g.Flex)`
2
+ position: fixed;
3
+ z-index: 4;
4
+ inset: 0;
5
+ /* this is theme.colors.neutral800 with opacity */
6
+ background: ${({theme:t})=>`${t.colors.neutral800}1F`};
7
+ `,se=({onClose:t,onSkip:a,children:o,hideSkip:s})=>{const{formatMessage:p}=(0,l.useIntl)();return e.createElement(v.Portal,null,e.createElement(Fe,{onClick:t,padding:8,justifyContent:"center"},e.createElement(E.FocusTrap,{onEscape:t},e.createElement(J.Stack,{background:"neutral0",width:(0,i.pxToRem)(660),shadow:"popupShadow",hasRadius:!0,padding:4,spacing:8,role:"dialog","aria-modal":!0,onClick:d=>d.stopPropagation()},e.createElement(g.Flex,{justifyContent:"flex-end"},e.createElement(Ne.IconButton,{onClick:t,"aria-label":p({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(Ue(),null)})),e.createElement(R.Box,{paddingLeft:7,paddingRight:7,paddingBottom:s?8:0},o),!s&&e.createElement(g.Flex,{justifyContent:"flex-end"},e.createElement(oe.Button,{variant:"tertiary",onClick:a},p({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};se.propTypes={children:r().node.isRequired,onClose:r().func.isRequired,onSkip:r().func.isRequired,hideSkip:r().bool.isRequired};const We=se;var re=n(49415);const ie={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1},be=(t=ie,a)=>(0,re.default)(t,o=>{switch(a.type){case"UPDATE_MODAL":{o.stepContent=a.content,o.sectionIndex=a.newSectionIndex,o.stepIndex=a.newStepIndex,o.hasSectionAfter=a.newHasSectionAfter,o.hasStepAfter=a.newHasStepAfter;break}default:return o}});var S=n(95602),je=n(30345),le=n.n(je);const $e=T.default.li`
8
+ list-style: disc;
9
+ `,de=({id:t,defaultMessage:a})=>{const{formatMessage:o}=(0,l.useIntl)();return e.createElement(J.Stack,{spacing:4,paddingBottom:6},o({id:t,defaultMessage:a},{documentationLink:s=>e.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters"},s),b:s=>e.createElement(S.Typography,{fontWeight:"semiBold"},s),p:s=>e.createElement(S.Typography,null,s),light:s=>e.createElement(S.Typography,{textColor:"neutral600"},s),ul:s=>e.createElement(R.Box,{paddingLeft:6},e.createElement("ul",null,s)),li:s=>e.createElement($e,null,s)}))};de.propTypes={id:r().string.isRequired,defaultMessage:r().string.isRequired};const Ke=de;var w=n(59872),Ve=n(99378);const q=({number:t,last:a,type:o})=>e.createElement(R.Box,{paddingTop:3,paddingBottom:a?0:3},e.createElement(Ve.Z,{number:t,type:o}));q.defaultProps={number:void 0,last:!1,type:""},q.propTypes={number:r().number,last:r().bool,type:r().string};const ce=q;var b=n(56565),ze=Object.defineProperty,pe=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,ue=(t,a,o)=>a in t?ze(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,ke=(t,a)=>{for(var o in a||(a={}))He.call(a,o)&&ue(t,o,a[o]);if(pe)for(var o of pe(a))Ze.call(a,o)&&ue(t,o,a[o]);return t};const _=({title:t,content:a,cta:o,onCtaClick:s,sectionIndex:p,stepIndex:d,hasSectionAfter:f})=>{const{formatMessage:y}=(0,l.useIntl)(),h=p>0,m=d>0,D=p+1;return e.createElement(e.Fragment,null,e.createElement(g.Flex,{alignItems:"stretch"},e.createElement(g.Flex,{marginRight:8,justifyContent:"center",minWidth:(0,i.pxToRem)(30)},h&&e.createElement(w.Z,{type:b.hx,minHeight:(0,i.pxToRem)(24)})),e.createElement(S.Typography,{variant:"sigma",textColor:"primary600"},y({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(g.Flex,null,e.createElement(g.Flex,{marginRight:8,minWidth:(0,i.pxToRem)(30)},e.createElement(ce,{number:p+1,type:m?b.hx:b.lW})),e.createElement(S.Typography,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},y(t))),e.createElement(g.Flex,{alignItems:"stretch"},e.createElement(g.Flex,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,i.pxToRem)(30)},f&&e.createElement(e.Fragment,null,e.createElement(w.Z,{type:b.hx}),m&&e.createElement(ce,{number:D+1,type:b.lW,last:!0}))),e.createElement(R.Box,null,e.createElement(Ke,ke({},a)),o&&(o.target?e.createElement(i.LinkButton,{endIcon:e.createElement(le(),null),onClick:s,to:o.target},y(o.title)):e.createElement(oe.Button,{endIcon:e.createElement(le(),null),onClick:s},y(o.title))))),m&&f&&e.createElement(R.Box,{paddingTop:3},e.createElement(g.Flex,{marginRight:8,justifyContent:"center",width:(0,i.pxToRem)(30)},e.createElement(w.Z,{type:b.hx,minHeight:(0,i.pxToRem)(24)}))))};_.defaultProps={currentStep:null,cta:void 0},_.propTypes={sectionIndex:r().number.isRequired,stepIndex:r().number.isRequired,hasSectionAfter:r().bool.isRequired,content:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,cta:r().shape({target:r().string,title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired})}),currentStep:r().string,onCtaClick:r().func.isRequired,title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired};const Qe=_;var Ye=Object.defineProperty,Xe=Object.defineProperties,Je=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,we=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,ge=(t,a,o)=>a in t?Ye(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,_e=(t,a)=>{for(var o in a||(a={}))we.call(a,o)&&ge(t,o,a[o]);if(me)for(var o of me(a))qe.call(a,o)&&ge(t,o,a[o]);return t},et=(t,a)=>Xe(t,Je(a));const tt=()=>{const{currentStep:t,guidedTourState:a,setCurrentStep:o,setStepState:s,isGuidedTourVisible:p,setSkipped:d}=(0,i.useGuidedTour)(),[f,y]=(0,e.useState)(t),[{stepContent:h,sectionIndex:m,stepIndex:D,hasSectionAfter:B,hasStepAfter:V},z]=(0,e.useReducer)(be,ie),{trackUsage:j}=(0,i.useTracking)();(0,e.useEffect)(()=>{if(!t){y(!1);return}const[x]=U()(a,t);y(!x&&p)},[t,a,p]),(0,e.useEffect)(()=>{if(t){const[x]=U()(O.Z,t),k=Object.keys(a),[Q,Be]=t.split("."),ae=k.indexOf(Q),Y=Object.keys(a[Q]).indexOf(Be),tn=ae<k.length-1,nn=Y<Object.keys(a[Q]).length-1;z({type:"UPDATE_MODAL",content:x,newSectionIndex:ae,newStepIndex:Y,newHasSectionAfter:tn,newHasStepAfter:nn})}},[t,a]);const u=()=>{s(t,!0),j(h.trackingEvent),o(null)},I=()=>{d(!0),o(null),j("didSkipGuidedtour")};return f&&h?e.createElement(We,{hideSkip:!V&&!B,onSkip:I,onClose:u},e.createElement(Qe,et(_e({},h),{onCtaClick:u,currentStep:t,sectionIndex:m,stepIndex:D,hasSectionAfter:B}))):null};var nt=n(27635),A=n(34499),at=n(82926),ot=n.n(at),st=n(70258),rt=n.n(st),it=n(44485);const lt=(0,T.default)(R.Box)`
10
+ width: ${150/16}rem;
11
+ position: absolute;
12
+ bottom: ${({theme:t})=>t.spaces[9]};
13
+ left: ${({theme:t})=>t.spaces[5]};
14
+ `,fe=(0,T.default)(c.NavLink)`
15
+ display: flex;
16
+ justify-content: space-between;
17
+ align-items: center;
18
+ text-decoration: none;
19
+ padding: ${({theme:t})=>`${t.spaces[2]} ${t.spaces[4]}`};
20
+ border-radius: ${({theme:t})=>t.spaces[1]};
21
+
22
+ &:hover {
23
+ background: ${({theme:t,logout:a})=>a?t.colors.danger100:t.colors.primary100};
24
+ text-decoration: none;
25
+ }
26
+
27
+ svg {
28
+ path {
29
+ fill: ${({theme:t})=>t.colors.danger600};
30
+ }
31
+ }
32
+ `,he=({generalSectionLinks:t,pluginsSectionLinks:a})=>{const o=(0,e.useRef)(),[s,p]=(0,e.useState)(!1),{logos:{menu:d}}=(0,it.Z)(),[f,y]=(0,i.usePersistentState)("navbar-condensed",!1),{userDisplayName:h}=(0,i.useAppInfos)(),{formatMessage:m}=(0,l.useIntl)(),D=h.split(" ").map(u=>u.substring(0,1)).join("").substring(0,2),B=()=>p(u=>!u),V=()=>{i.auth.clearAppStorage(),B()},z=u=>{var I,x;!u.currentTarget.contains(u.relatedTarget)&&((x=(I=u.relatedTarget)==null?void 0:I.parentElement)==null?void 0:x.id)!=="main-nav-user-button"&&p(!1)},j=m({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement(A.MainNav,{condensed:f},e.createElement(A.NavBrand,{as:c.NavLink,workplace:m({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:j,icon:e.createElement("img",{src:d.custom||d.default,alt:m({id:"app.components.LeftMenu.logo.alt",defaultMessage:"Application logo"})})}),e.createElement(nt.Divider,null),e.createElement(A.NavSections,null,e.createElement(A.NavLink,{as:c.NavLink,to:"/content-manager",icon:e.createElement(ot(),null)},m({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(A.NavSection,{label:"Plugins"},a.map(u=>{const I=u.icon;return e.createElement(A.NavLink,{as:c.NavLink,to:u.to,key:u.to,icon:e.createElement(I,null)},m(u.intlLabel))})):null,t.length>0?e.createElement(A.NavSection,{label:"General"},t.map(u=>{const I=u.icon;return e.createElement(A.NavLink,{as:c.NavLink,badgeContent:u.notificationsCount>0&&u.notificationsCount.toString()||void 0,to:u.to,key:u.to,icon:e.createElement(I,null)},m(u.intlLabel))})):null),e.createElement(A.NavUser,{id:"main-nav-user-button",ref:o,onClick:B,initials:D},h),s&&e.createElement(lt,{onBlur:z,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(E.FocusTrap,{onEscape:B},e.createElement(J.Stack,{spacing:0},e.createElement(fe,{tabIndex:0,onClick:B,to:"/me"},e.createElement(S.Typography,null,m({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(fe,{tabIndex:0,onClick:V,logout:"logout",to:"/auth/login"},e.createElement(S.Typography,{textColor:"danger600"},m({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(rt(),null))))),e.createElement(A.NavCondense,{onClick:()=>y(u=>!u)},m(f?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"})))};he.propTypes={generalSectionLinks:r().array.isRequired,pluginsSectionLinks:r().array.isRequired};const dt=he;var ct=n(16540);const pt=(0,T.default)(R.Box)`
33
+ flex: 1;
34
+ `,Ee=({children:t,sideNav:a})=>{const{formatMessage:o}=(0,l.useIntl)();return e.createElement(R.Box,{background:"neutral100"},e.createElement(ct.SkipToContent,null,o({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(g.Flex,{alignItems:"flex-start"},a,e.createElement(pt,null,t)))};Ee.propTypes={children:r().node.isRequired,sideNav:r().node.isRequired};const ut=Ee;var ye=n(13271),mt=n(83563),ee=n(16925),ve=n(28257);const gt=(0,T.default)(R.Box)`
35
+ position: fixed;
36
+ bottom: ${({theme:t})=>t.spaces[2]};
37
+ right: ${({theme:t})=>t.spaces[2]};
38
+ `,ft=T.default.button`
39
+ width: ${({theme:t})=>t.spaces[8]};
40
+ height: ${({theme:t})=>t.spaces[8]};
41
+ background: ${({theme:t})=>t.colors.primary600};
42
+ box-shadow: ${({theme:t})=>t.shadows.tableShadow};
43
+ border-radius: 50%;
44
+ svg {
45
+ color: ${({theme:t})=>t.colors.buttonNeutral0};
46
+ }
47
+ `,ht=(0,T.default)(R.Box)`
48
+ position: absolute;
49
+ bottom: ${({theme:t})=>`${t.spaces[9]}`};
50
+ right: 0;
51
+ width: ${200/16}rem;
52
+ `,Et=T.default.a`
53
+ display: flex;
54
+ align-items: center;
55
+ text-decoration: none;
56
+ padding: ${({theme:t})=>t.spaces[2]};
57
+ padding-left: ${({theme:t})=>t.spaces[5]};
58
+
59
+ svg {
60
+ color: ${({theme:t})=>t.colors.neutral600};
61
+ margin-right: ${({theme:t})=>t.spaces[2]};
62
+ }
63
+
64
+ &:hover {
65
+ background: ${({theme:t})=>t.colors.neutral100};
66
+ color: ${({theme:t})=>t.colors.neutral500};
67
+
68
+ svg {
69
+ color: ${({theme:t})=>t.colors.neutral700};
70
+ }
71
+
72
+ ${[S.Typography]} {
73
+ color: ${({theme:t})=>t.colors.neutral700};
74
+ }
75
+ }
76
+
77
+ ${[S.Typography]} {
78
+ color: ${({theme:t})=>t.colors.neutral600};
79
+ }
80
+ `,yt=()=>{const[t,a]=(0,e.useState)(!1),{formatMessage:o}=(0,l.useIntl)(),{showTutorials:s}=(0,$.um)();if(!s)return null;const p=[{icon:"book",label:o({id:"global.documentation",defaultMessage:"Documentation"}),destination:"https://docs.strapi.io"},{icon:"file",label:o({id:"app.static.links.cheatsheet",defaultMessage:"CheatSheet"}),destination:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf"}],d=()=>{a(f=>!f)};return e.createElement(gt,{as:"aside"},e.createElement(ft,{id:"onboarding","aria-label":o({id:"app.components.Onboarding.help.button",defaultMessage:"Help button"}),onClick:d},!t&&e.createElement(ee.G,{icon:ve.faQuestion}),t&&e.createElement(ee.G,{icon:ve.faTimes})),t&&e.createElement(E.FocusTrap,{onEscape:d},e.createElement(ht,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",paddingBottom:2,paddingTop:2},p.map(f=>e.createElement(Et,{key:f.label,rel:"nofollow noreferrer noopener",target:"_blank",href:f.destination},e.createElement(ee.G,{icon:f.icon}),e.createElement(S.Typography,null,f.label))))))},vt=(0,e.lazy)(()=>Promise.all([n.e(3214),n.e(3865),n.e(8469),n.e(9420),n.e(4982),n.e(948),n.e(9298),n.e(994)]).then(n.bind(n,7659))),Tt=(0,e.lazy)(()=>Promise.all([n.e(1541),n.e(4800),n.e(3981)]).then(n.bind(n,40279))),Pt=(0,e.lazy)(()=>Promise.all([n.e(3214),n.e(3677)]).then(n.bind(n,46789))),Ct=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(1541),n.e(5516)]).then(n.bind(n,51141))),Te=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,24578))),Mt=(0,e.lazy)(()=>n.e(4073).then(n.bind(n,34073))),Ot=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,10902))),Pe=(0,e.lazy)(()=>Promise.all([n.e(3214),n.e(8469),n.e(9420),n.e(4982),n.e(1541),n.e(9988),n.e(5895)]).then(n.bind(n,77409))),Rt=()=>{const{trackUsage:t}=(0,i.useTracking)(),a=(0,G.I0)(),o=(0,G.v9)(s=>s.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:mt.e}))},[o])},St=()=>{Rt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:o}=(0,$.H9)(),{menu:s}=(0,i.useStrapiApp)(),p=(0,e.useMemo)(()=>s.filter(d=>d.Component).map(({to:d,Component:f,exact:y})=>(0,ye.ot)(f,d,y)),[s]);return t?e.createElement(i.LoadingIndicatorPage,null):e.createElement(L.DndProvider,{backend:K.PD},e.createElement(ut,{sideNav:e.createElement(dt,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(i.LoadingIndicatorPage,null)},e.createElement(c.Switch,null,e.createElement(c.Route,{path:"/",component:Tt,exact:!0}),e.createElement(c.Route,{path:"/me",component:Ot,exact:!0}),e.createElement(c.Route,{path:"/content-manager",component:vt}),p,e.createElement(c.Route,{path:"/settings/:settingId",component:Pe}),e.createElement(c.Route,{path:"/settings",component:Pe,exact:!0}),e.createElement(c.Route,{path:"/marketplace"},e.createElement(Ct,null)),e.createElement(c.Route,{path:"/list-plugins",exact:!0},e.createElement(Pt,null)),e.createElement(c.Route,{path:"/404",component:Te}),e.createElement(c.Route,{path:"/500",component:Mt}),e.createElement(c.Route,{path:"",component:Te}))),e.createElement(tt,null),e.createElement(yt,null)))};var At=Object.defineProperty,Ce=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,Me=(t,a,o)=>a in t?At(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,Lt=(t,a)=>{for(var o in a||(a={}))It.call(a,o)&&Me(t,o,a[o]);if(Ce)for(var o of Ce(a))xt.call(a,o)&&Me(t,o,a[o]);return t};const Dt=t=>({plugins:Object.keys(t).reduce((a,o)=>(a[o]=Lt({},t[o]),a),{})});var Bt=n(3040),Nt=n.n(Bt);const Oe={plugins:null},Gt=(t=Oe,a)=>(0,re.default)(t,o=>{switch(a.type){case"SET_PLUGIN_READY":{Nt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Ut=()=>{const{plugins:t}=(0,i.useStrapiApp)(),[{plugins:a},o]=(0,e.useReducer)(Gt,Oe,()=>Dt(t)),s=(0,e.useRef)(d=>{o({type:"SET_PLUGIN_READY",pluginId:d})});if(Object.keys(a).some(d=>a[d].isReady===!1)){const d=Object.keys(a).reduce((f,y)=>{const h=a[y].initializer;if(h){const m=a[y].pluginId;f.push(e.createElement(h,{key:m,setPlugin:s.current}))}return f},[]);return e.createElement(e.Fragment,null,d,e.createElement(i.LoadingIndicatorPage,null))}return e.createElement(St,null)};var Re=n(59157);const Ft=()=>({type:Re.l}),Wt=t=>({type:Re.m,permissions:t}),Se=({children:t,permissions:a,refetchPermissions:o})=>{const{allPermissions:s}=(0,G.v9)(d=>d.rbacProvider),p=(0,G.I0)();return(0,e.useEffect)(()=>(p(Wt(a)),()=>{p(Ft())}),[a,p]),s?e.createElement(i.RBACProviderContext.Provider,{value:{allPermissions:s,refetchPermissions:o}},t):e.createElement(i.LoadingIndicatorPage,null)};Se.propTypes={children:r().element.isRequired,permissions:r().array.isRequired,refetchPermissions:r().func.isRequired};const bt=Se;var jt=n(43653),$t=n.n(jt),Kt=n(55593),te=n.n(Kt);const Ae=(t,a)=>!te().valid(t)||!te().valid(a)?!1:te().lt(t,a);var ne=n(16558),Z=(t,a,o)=>new Promise((s,p)=>{var d=h=>{try{y(o.next(h))}catch(m){p(m)}},f=h=>{try{y(o.throw(h))}catch(m){p(m)}},y=h=>h.done?s(h.value):Promise.resolve(h.value).then(d,f);y((o=o.apply(t,a)).next())});const Ie=M.i8,Vt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),zt=t=>Z(void 0,null,function*(){try{const{data:{tag_name:a}}=yield $t().get("https://api.github.com/repos/strapi/strapi/releases/latest");return Ae(Ie,a)&&Vt&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch(a){return Ie}}),Ht=()=>Z(void 0,null,function*(){try{const{data:t,headers:a}=yield ne.be.get("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}}),Zt=()=>Z(void 0,null,function*(){try{const{data:t,headers:a}=yield ne.be.get("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}}),kt=()=>Z(void 0,null,function*(){try{const{data:{data:{roles:t}}}=yield ne.be.get("/admin/users/me");return t}catch(t){throw new Error(t)}});var Qt=Object.defineProperty,Yt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,Le=(t,a,o)=>a in t?Qt(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,qt=(t,a)=>{for(var o in a||(a={}))Jt.call(a,o)&&Le(t,o,a[o]);if(xe)for(var o of xe(a))wt.call(a,o)&&Le(t,o,a[o]);return t},_t=(t,a)=>Yt(t,Xt(a));const De=M.i8,en=()=>{const{setGuidedTourVisibility:t}=(0,i.useGuidedTour)(),a=(0,i.useNotification)(),o=(0,e.useRef)(t),s=i.auth.getUserInfo(),p=X()(s,"username")||(0,ye.Pp)(s.firstname,s.lastname),[d,f]=(0,e.useState)(p),{showReleaseNotification:y}=(0,$.um)(),[{data:h,status:m},{data:D,isLoading:B},{data:V,status:z,refetch:j,isFetched:u,isFetching:I},{data:x}]=(0,N.useQueries)([{queryKey:"app-infos",queryFn:Ht},{queryKey:"strapi-release",queryFn:()=>zt(a),enabled:y,initialData:De},{queryKey:"admin-users-permission",queryFn:Zt,initialData:[]},{queryKey:"user-roles",queryFn:kt}]),k=(0,e.useMemo)(()=>Ae(De,D),[D]);return(0,e.useEffect)(()=>{x&&x.find(({code:Y})=>Y==="strapi-super-admin")&&o.current(!0)},[x]),B||(I&&u||m==="loading"||z==="loading")?e.createElement(i.LoadingIndicatorPage,null):m==="error"?e.createElement("div",null,"error..."):e.createElement(i.AppInfosContext.Provider,{value:_t(qt({},h),{latestStrapiReleaseTag:D,setUserDisplayName:f,shouldUpdateStrapi:k,userDisplayName:d})},e.createElement(bt,{permissions:V,refetchPermissions:j},e.createElement(Ut,null)))}},59872:(H,C,n)=>{n.d(C,{Z:()=>r});var e=n(32735),i=n(60216),N=n.n(i),P=n(10938),X=n.n(P),M=n(9808),$=n.n(M),c=n(56565),G=Object.defineProperty,L=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,U=(l,v,E)=>v in l?G(l,v,{enumerable:!0,configurable:!0,writable:!0,value:E}):l[v]=E,O=(l,v)=>{for(var E in v||(v={}))K.call(v,E)&&U(l,E,v[E]);if(L)for(var E of L(v))W.call(v,E)&&U(l,E,v[E]);return l},T=(l,v)=>{var E={};for(var g in l)K.call(l,g)&&v.indexOf(g)<0&&(E[g]=l[g]);if(l!=null&&L)for(var g of L(l))v.indexOf(g)<0&&W.call(l,g)&&(E[g]=l[g]);return E};const F=l=>{var v=l,{type:E}=v,g=T(v,["type"]);return e.createElement(M.Box,O({width:(0,P.pxToRem)(2),height:"100%",background:E===c.VM?"neutral300":"primary500",hasRadius:!0},g))};F.defaultProps={type:c.VM},F.propTypes={type:N().oneOf([c.lW,c.hx,c.VM])};const r=F},99378:(H,C,n)=>{n.d(C,{Z:()=>F});var e=n(32735),i=n(60216),N=n.n(i),P=n(10938),X=n.n(P),M=n(19192),$=n.n(M),c=n(95602),G=n.n(c),L=n(78752),K=n.n(L),W=n(88677),U=n.n(W),O=n(56565);const T=({type:r,number:l})=>r===O.hx?e.createElement(M.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(L.Icon,{as:U(),"aria-hidden":!0,width:(0,P.pxToRem)(16),color:"neutral0"})):r===O.lW?e.createElement(M.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(c.Typography,{fontWeight:"semiBold",textColor:"neutral0"},l)):e.createElement(M.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(c.Typography,{fontWeight:"semiBold",textColor:"neutral600"},l));T.defaultProps={number:void 0,type:O.VM},T.propTypes={number:N().number,type:N().oneOf([O.lW,O.hx,O.VM])};const F=T},56565:(H,C,n)=>{n.d(C,{lW:()=>e,hx:()=>i,VM:()=>N});const e="isActive",i="isDone",N="isNotDone"},52846:(H,C,n)=>{n.d(C,{Z:()=>i});const i={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}}}}]);
@@ -0,0 +1,71 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3981],{40279:(L,C,n)=>{n.r(C),n.d(C,{default:()=>We});var e=n(32735),f=n(5636),c=n(19615),j=n(99357),O=n(5141),i=n(10938),F=n(11856),W=n(16540),d=n(9808),g=n(78330),V=n(16490),$=n(41072);const A=t=>Object.entries(t).every(([,a])=>Object.entries(a).every(([,o])=>o));var E=n(90662),v=n(19192),h=n(95602),H=n(44526),z=n(30345),P=n.n(z),K=n(60216),r=n.n(K),Z=n(99378),N=n(59872),m=n(56565);const k=({type:t,title:a,number:o,content:l,hasLine:u})=>{const{formatMessage:y}=(0,f.useIntl)();return e.createElement(d.Box,null,e.createElement(v.Flex,null,e.createElement(d.Box,{minWidth:(0,i.pxToRem)(30),marginRight:5},e.createElement(Z.Z,{type:t,number:o})),e.createElement(h.Typography,{variant:"delta",as:"h3"},y(a))),e.createElement(v.Flex,{alignItems:"flex-start"},e.createElement(v.Flex,{justifyContent:"center",minWidth:(0,i.pxToRem)(30),marginBottom:3,marginTop:3,marginRight:5},u&&e.createElement(N.Z,{type:t,minHeight:t===m.lW?(0,i.pxToRem)(85):(0,i.pxToRem)(65)})),e.createElement(d.Box,{marginTop:2},t===m.lW&&l)))};k.defaultProps={content:void 0,number:void 0,type:m.VM,hasLine:!0},k.propTypes={content:r().node,number:r().number,title:r().shape({id:r().string,defaultMessage:r().string}).isRequired,type:r().oneOf([m.lW,m.hx,m.VM]),hasLine:r().bool};const U=k,J=(t,a)=>t===-1||a<t?m.hx:a>t?m.VM:m.lW,T=({sections:t,currentSectionKey:a})=>{const o=t.findIndex(l=>l.key===a);return e.createElement(d.Box,null,t.map((l,u)=>e.createElement(U,{key:l.key,title:l.title,content:l.content,number:u+1,type:J(o,u),hasLine:u!==t.length-1})))};T.defaultProps={currentSectionKey:void 0},T.propTypes={sections:r().arrayOf(r().shape({key:r().string.isRequired,title:r().shape({id:r().string,defaultMessage:r().string}).isRequired,content:r().node})).isRequired,currentSectionKey:r().string};const Y=T;var Q=n(52846),X=Object.defineProperty,b=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,G=(t,a,o)=>a in t?X(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,_=(t,a)=>{for(var o in a||(a={}))w.call(a,o)&&G(t,o,a[o]);if(b)for(var o of b(a))q.call(a,o)&&G(t,o,a[o]);return t};const ee=()=>{var t;const{guidedTourState:a,setSkipped:o}=(0,i.useGuidedTour)(),{formatMessage:l}=(0,f.useIntl)(),{trackUsage:u}=(0,i.useTracking)(),y=Object.entries(Q.Z).map(([p,s])=>({key:p,title:s.home.title,content:e.createElement(i.LinkButton,{onClick:()=>u(s.home.trackingEvent),to:s.home.cta.target,endIcon:e.createElement(P(),null)},l(s.home.cta.title))})),x=(t=y.map(p=>_({isDone:Object.entries(a[p.key]).every(([,s])=>s)},p)).find(p=>!p.isDone))==null?void 0:t.key,M=()=>{o(!0),u("didSkipGuidedtour")};return e.createElement(d.Box,{hasRadius:!0,shadow:"tableShadow",paddingTop:7,paddingRight:4,paddingLeft:7,paddingBottom:4,background:"neutral0"},e.createElement(E.Stack,{spacing:6},e.createElement(h.Typography,{variant:"beta",as:"h2"},l({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"})),e.createElement(Y,{sections:y,currentSectionKey:x})),e.createElement(v.Flex,{justifyContent:"flex-end"},e.createElement(H.Button,{variant:"tertiary",onClick:M},l({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"}))))};var te=n(61541),R=n(14983),ne=n(82372),ae=n.n(ne),oe=n(62030),re=n.n(oe),le=n(47440),ie=n.n(le),se=n(56569),ce=n.n(se),de=n(48993),me=n.n(de),ue=n(15723),pe=n.n(ue),ge=n(5319),fe=n.n(ge);const he=(0,c.default)(ie())`
2
+ path {
3
+ fill: #7289da !important;
4
+ }
5
+ `,ye=(0,c.default)(ce())`
6
+ > path:first-child {
7
+ fill: #ff4500;
8
+ }
9
+ `,I=(0,c.default)(me())`
10
+ > path:first-child {
11
+ fill: #8e75ff;
12
+ }
13
+ > path:nth-child(2) {
14
+ fill: #8e75ff;
15
+ }
16
+ > path:nth-child(3) {
17
+ fill: #8e75ff;
18
+ }
19
+ `,Ee=(0,c.default)(pe())`
20
+ path {
21
+ fill: #1da1f2 !important;
22
+ }
23
+ `,ve=(0,c.default)(fe())`
24
+ > path:first-child {
25
+ fill: #231f20;
26
+ }
27
+ > path:nth-child(2) {
28
+ fill: #fff9ae;
29
+ }
30
+ > path:nth-child(3) {
31
+ fill: #00aeef;
32
+ }
33
+ > path:nth-child(4) {
34
+ fill: #00a94f;
35
+ }
36
+ > path:nth-child(5) {
37
+ fill: #f15d22;
38
+ }
39
+ > path:nth-child(6) {
40
+ fill: #e31b23;
41
+ }
42
+ `,Se=[{name:"Github",link:"https://github.com/strapi/strapi/",icon:e.createElement(re(),{fill:"#7289DA"}),alt:"github"},{name:"Discord",link:"https://slack.strapi.io/",icon:e.createElement(he,null),alt:"discord"},{name:"Reddit",link:"https://www.reddit.com/r/Strapi/",icon:e.createElement(ye,null),alt:"reddit"},{name:"Twitter",link:"https://twitter.com/strapijs",icon:e.createElement(Ee,null),alt:"twitter"},{name:"Forum",link:"https://forum.strapi.io",icon:e.createElement(ve,null),alt:"forum"},{name:"Blog",link:"https://strapi.io/blog?utm_source=referral&utm_medium=admin&utm_campaign=career%20page",icon:e.createElement(I,null),alt:"blog"},{name:"We are hiring!",link:"https://strapi.io/careers?utm_source=referral&utm_medium=admin&utm_campaign=blog",icon:e.createElement(I,null),alt:"career"}],Ce=(0,c.default)(te.LinkButton)`
43
+ display: flex;
44
+ align-items: center;
45
+ border: none;
46
+
47
+ svg {
48
+ width: ${({theme:t})=>t.spaces[6]};
49
+ height: ${({theme:t})=>t.spaces[6]};
50
+ }
51
+
52
+ span {
53
+ word-break: keep-all;
54
+ }
55
+ `,ke=(0,c.default)(g.Grid)`
56
+ row-gap: ${({theme:t})=>t.spaces[2]};
57
+ column-gap: ${({theme:t})=>t.spaces[4]};
58
+ `,Te=()=>{const{formatMessage:t}=(0,f.useIntl)();return e.createElement(d.Box,{as:"aside","aria-labelledby":"join-the-community",background:"neutral0",hasRadius:!0,paddingRight:5,paddingLeft:5,paddingTop:6,paddingBottom:6,shadow:"tableShadow"},e.createElement(d.Box,{paddingBottom:7},e.createElement(E.Stack,{spacing:5},e.createElement(E.Stack,{spacing:3},e.createElement(h.Typography,{variant:"delta",as:"h2",id:"join-the-community"},t({id:"app.components.HomePage.community",defaultMessage:"Join the community"})),e.createElement(h.Typography,{textColor:"neutral600"},t({id:"app.components.HomePage.community.content",defaultMessage:"Discuss with team members, contributors and developers on different channels"}))),e.createElement(R.Link,{href:"https://feedback.strapi.io/",isExternal:!0,endIcon:e.createElement(ae(),null)},t({id:"app.components.HomePage.roadmap",defaultMessage:"See our road map"})))),e.createElement(ke,null,Se.map(a=>e.createElement(g.GridItem,{col:6,s:12,key:a.name},e.createElement(Ce,{size:"L",startIcon:a.icon,variant:"tertiary",href:a.link,isExternal:!0},a.name)))))},Be=(0,c.default)(h.Typography)`
59
+ word-break: break-word;
60
+ `,xe=(0,c.default)(E.Stack)`
61
+ align-items: flex-start;
62
+ `,B=({hasCreatedContentType:t,onCreateCT:a})=>{const{formatMessage:o}=(0,f.useIntl)();return e.createElement("div",null,e.createElement(d.Box,{paddingLeft:6,paddingBottom:10},e.createElement(xe,{spacing:5},e.createElement(h.Typography,{as:"h1",variant:"alpha"},o(t?{id:"app.components.HomePage.welcome.again",defaultMessage:"Welcome \u{1F44B}"}:{id:"app.components.HomePage.welcome",defaultMessage:"Welcome on board!"})),e.createElement(Be,{textColor:"neutral600",variant:"epsilon"},o(t?{id:"app.components.HomePage.welcomeBlock.content.again",defaultMessage:"We hope you are making progress on your project! Feel free to read the latest news about Strapi. We are giving our best to improve the product based on your feedback."}:{id:"app.components.HomePage.welcomeBlock.content",defaultMessage:"Congrats! You are logged as the first administrator. To discover the powerful features provided by Strapi, we recommend you to create your first Content type!"})),t?e.createElement(R.Link,{isExternal:!0,href:"https://strapi.io/blog"},o({id:"app.components.HomePage.button.blog",defaultMessage:"See more on the blog"})):e.createElement(H.Button,{size:"L",onClick:a,endIcon:e.createElement(P(),null)},o({id:"app.components.HomePage.create",defaultMessage:"Create your first Content type"})))))};B.defaultProps={hasCreatedContentType:void 0,onCreateCT:void 0},B.propTypes={hasCreatedContentType:r().bool,onCreateCT:r().func};const Me=B;var Le=n(59046),He=n.n(Le),Pe=n(63376),be=n.n(Pe),Ge=n(80555),Re=n.n(Ge),Ie=n(83525),De=n.n(Ie);const S=c.default.a`
63
+ text-decoration: none;
64
+ `,je=()=>{const{formatMessage:t}=(0,f.useIntl)(),{trackUsage:a}=(0,i.useTracking)(),o=l=>{a(l)};return e.createElement(E.Stack,{spacing:5},e.createElement(S,{href:"https://strapi.io/resource-center",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>o("didClickonReadTheDocumentationSection")},e.createElement(i.ContentBox,{title:t({id:"global.documentation",defaultMessage:"Documentation"}),subtitle:t({id:"app.components.BlockLink.documentation.content",defaultMessage:"Discover the essential concepts, guides and instructions."}),icon:e.createElement(He(),null),iconBackground:"primary100"})),e.createElement(S,{href:"https://strapi.io/starters",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>o("didClickonCodeExampleSection")},e.createElement(i.ContentBox,{title:t({id:"app.components.BlockLink.code",defaultMessage:"Code example"}),subtitle:t({id:"app.components.BlockLink.code.content",defaultMessage:"Learn by using ready-made starters for your projects."}),icon:e.createElement(be(),null),iconBackground:"warning100"})),e.createElement(S,{href:"https://strapi.io/blog/categories/tutorials",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>o("didClickonTutorialSection")},e.createElement(i.ContentBox,{title:t({id:"app.components.BlockLink.tutorial",defaultMessage:"Tutorials"}),subtitle:t({id:"app.components.BlockLink.tutorial.content",defaultMessage:"Follow step-by-step instructions to use and customize Strapi."}),icon:e.createElement(Re(),null),iconBackground:"secondary100"})),e.createElement(S,{href:"https://strapi.io/blog",target:"_blank",rel:"noopener noreferrer nofollow",onClick:()=>o("didClickonBlogSection")},e.createElement(i.ContentBox,{title:t({id:"app.components.BlockLink.blog",defaultMessage:"Blog"}),subtitle:t({id:"app.components.BlockLink.blog.content",defaultMessage:"Read the latest news about Strapi and the ecosystem."}),icon:e.createElement(De(),null),iconBackground:"alternative100"})))},Oe=(0,c.default)(d.Box)`
65
+ position: absolute;
66
+ top: 0;
67
+ right: 0;
68
+ img {
69
+ width: ${150/16}rem;
70
+ }
71
+ `,Fe=()=>{const{collectionTypes:t,singleTypes:a,isLoading:o}=(0,$.bP)(),{guidedTourState:l,isGuidedTourVisible:u,isSkipped:y}=(0,i.useGuidedTour)(),D=!A(l)&&u&&!y,{push:x}=(0,O.useHistory)(),M=s=>{s.preventDefault(),x("/plugins/content-type-builder/content-types/create-content-type")},p=(0,e.useMemo)(()=>{const s=Ve=>Ve.filter($e=>$e.isDisplayed);return s(t).length>1||s(a).length>0},[t,a]);return o?e.createElement(i.LoadingIndicatorPage,null):e.createElement(F.Layout,null,e.createElement(f.FormattedMessage,{id:"HomePage.helmet.title",defaultMessage:"Homepage"},s=>e.createElement(j.Helmet,{title:s[0]})),e.createElement(W.Main,null,e.createElement(Oe,null,e.createElement("img",{alt:"","aria-hidden":!0,src:V})),e.createElement(d.Box,{padding:10},e.createElement(g.Grid,null,e.createElement(g.GridItem,{col:8,s:12},e.createElement(Me,{onCreateCT:M,hasCreatedContentType:p}))),e.createElement(g.Grid,{gap:6},e.createElement(g.GridItem,{col:8,s:12},D?e.createElement(ee,null):e.createElement(je,null)),e.createElement(g.GridItem,{col:4,s:12},e.createElement(Te,null))))))},We=(0,e.memo)(Fe)},16490:(L,C,n)=>{L.exports=n.p+"fb376b132d18bf4522ca.png"}}]);
@@ -0,0 +1,11 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5516],{28992:function(x,b,a){(function(e,p){x.exports=p(a(32735))})(this,function(e){return function(p){var g={};function l(t){if(g[t])return g[t].exports;var n=g[t]={i:t,l:!1,exports:{}};return p[t].call(n.exports,n,n.exports,l),n.l=!0,n.exports}return l.m=p,l.c=g,l.d=function(t,n,c){l.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:c})},l.r=function(t){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,n){if(1&n&&(t=l(t)),8&n||4&n&&typeof t=="object"&&t&&t.__esModule)return t;var c=Object.create(null);if(l.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:t}),2&n&&typeof t!="string")for(var u in t)l.d(c,u,function(f){return t[f]}.bind(null,u));return c},l.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(n,"a",n),n},l.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},l.p="",l(l.s=86)}({0:function(p,g){p.exports=e},86:function(p,g,l){"use strict";l.r(g);var t=l(0);function n(){return(n=Object.assign||function(c){for(var u=1;u<arguments.length;u++){var f=arguments[u];for(var h in f)Object.prototype.hasOwnProperty.call(f,h)&&(c[h]=f[h])}return c}).apply(this,arguments)}g.default=function(c){return t.createElement("svg",n({width:"1em",height:"1em",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c),t.createElement("path",{d:"M0 4a4 4 0 014-4h24a4 4 0 014 4v24a4 4 0 01-4 4H4a4 4 0 01-4-4V4z",fill:"#AC73E6"}),t.createElement("path",{fillRule:"evenodd",clipRule:"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",fill:"#fff"}))}}})})},75152:function(x,b,a){(function(e,p){x.exports=p(a(32735))})(this,function(e){return function(p){var g={};function l(t){if(g[t])return g[t].exports;var n=g[t]={i:t,l:!1,exports:{}};return p[t].call(n.exports,n,n.exports,l),n.l=!0,n.exports}return l.m=p,l.c=g,l.d=function(t,n,c){l.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:c})},l.r=function(t){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,n){if(1&n&&(t=l(t)),8&n||4&n&&typeof t=="object"&&t&&t.__esModule)return t;var c=Object.create(null);if(l.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:t}),2&n&&typeof t!="string")for(var u in t)l.d(c,u,function(f){return t[f]}.bind(null,u));return c},l.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(n,"a",n),n},l.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},l.p="",l(l.s=187)}({0:function(p,g){p.exports=e},187:function(p,g,l){"use strict";l.r(g);var t=l(0);function n(){return(n=Object.assign||function(c){for(var u=1;u<arguments.length;u++){var f=arguments[u];for(var h in f)Object.prototype.hasOwnProperty.call(f,h)&&(c[h]=f[h])}return c}).apply(this,arguments)}g.default=function(c){return t.createElement("svg",n({width:"1em",height:"1em",viewBox:"0 0 24 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c),t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.571 18.272H10.43v-8.47H2.487a.2.2 0 01-.14-.343L11.858.058a.2.2 0 01.282 0l9.513 9.4a.2.2 0 01-.14.343H13.57v8.47zM2.2 21.095a.2.2 0 00-.2.2v2.424c0 .11.09.2.2.2h19.6a.2.2 0 00.2-.2v-2.424a.2.2 0 00-.2-.2H2.2z",fill:"#212134"}))}}})})},60799:(x,b,a)=>{"use strict";a.d(b,{Z:()=>c});var e=a(84968),p=a(10938),g=a(16558),l=(u,f,h)=>new Promise((v,C)=>{var k=s=>{try{I(h.next(s))}catch(O){C(O)}},S=s=>{try{I(h.throw(s))}catch(O){C(O)}},I=s=>s.done?v(s.value):Promise.resolve(s.value).then(k,S);I((h=h.apply(u,f)).next())});const t=()=>l(void 0,null,function*(){const{data:u}=yield g.be.get("/admin/plugins");return u}),c=u=>{const f=(0,p.useNotification)();return(0,e.useQuery)("list-installed-plugins",()=>t(),{onSuccess:()=>{u&&u()},onError:()=>{f({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})}},51141:(x,b,a)=>{"use strict";a.r(b),a.d(b,{MarketPlacePage:()=>$,default:()=>Fe});var e=a(32735),p=a(5636),g=a(99357),l=a(84968),t=a(58469),n=a(10938),c=a(78330),u=a(11856),f=a(16540),h=a(89978),v=a(9808),C=a(29270),k=a(95602),S=a(19192),I=a(60216),s=a.n(I),O=a(19615),Y=a(90662),j=a(61541),B=a(78752),N=a(44826),V=a(82372),w=a.n(V),K=a(14356),J=a.n(K),X=a(77016),q=a(59087),_=a(88677),ee=a.n(_),te=a(68192),ne=a.n(te),ae=a(44526);const A=({isInstalled:r,isInDevelopmentMode:o,commandToCopy:i})=>{const E=(0,n.useNotification)(),{formatMessage:d}=(0,p.useIntl)(),{trackUsage:y}=(0,n.useTracking)();return r?e.createElement(v.Box,{paddingLeft:4},e.createElement(B.Icon,{as:ee(),marginRight:2,width:12,height:12,color:"success600"}),e.createElement(k.Typography,{variant:"omega",textColor:"success600",fontWeight:"bold"},d({id:"admin.pages.MarketPlacePage.plugin.installed",defaultMessage:"Installed"}))):o?e.createElement(q.CopyToClipboard,{onCopy:()=>{y("willInstallPlugin"),E({type:"success",message:{id:"admin.pages.MarketPlacePage.plugin.copy.success"}})},text:i},e.createElement(ae.Button,{size:"S",startIcon:e.createElement(ne(),null),variant:"secondary"},d({id:"admin.pages.MarketPlacePage.plugin.copy",defaultMessage:"Copy install command"}))):null};A.propTypes={isInstalled:s().bool.isRequired,isInDevelopmentMode:s().bool.isRequired,commandToCopy:s().string.isRequired};const re=A,le=(0,O.default)(k.Typography)`
2
+ /* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
3
+ display: -webkit-box;
4
+ -webkit-box-orient: vertical;
5
+ -webkit-line-clamp: 2;
6
+ /* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
7
+ overflow: hidden;
8
+ `,L=({plugin:r,installedPluginNames:o,useYarn:i,isInDevelopmentMode:E})=>{const{attributes:d}=r,{formatMessage:y}=(0,p.useIntl)(),{trackUsage:T}=(0,n.useTracking)(),P=o.includes(d.npmPackageName),m=i?`yarn add ${d.npmPackageName}`:`npm install ${d.npmPackageName}`,M=y({id:"admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi",defaultMessage:"Made by Strapi"});return e.createElement(S.Flex,{direction:"column",justifyContent:"space-between",paddingTop:4,paddingRight:4,paddingBottom:4,paddingLeft:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",height:"100%",alignItems:"normal"},e.createElement(v.Box,null,e.createElement(v.Box,{as:"img",src:d.logo.url,alt:`${d.name} logo`,hasRadius:!0,width:11,height:11}),e.createElement(v.Box,{paddingTop:4},e.createElement(k.Typography,{as:"h3",variant:"delta"},e.createElement(S.Flex,{alignItems:"center"},d.name,d.validated&&!d.madeByStrapi&&e.createElement(N.Tooltip,{description:y({id:"admin.pages.MarketPlacePage.plugin.tooltip.verified",defaultMessage:"Plugin verified by Strapi"})},e.createElement(S.Flex,null,e.createElement(B.Icon,{as:J(),marginLeft:2,color:"success600"}))),d.madeByStrapi&&e.createElement(N.Tooltip,{description:M},e.createElement(S.Flex,null,e.createElement(v.Box,{as:"img",src:X,alt:M,marginLeft:1,width:6,height:"auto"})))))),e.createElement(v.Box,{paddingTop:2},e.createElement(le,{as:"p",variant:"omega",textColor:"neutral600"},d.description))),e.createElement(Y.Stack,{horizontal:!0,spacing:2,style:{alignSelf:"flex-end"},paddingTop:6},e.createElement(j.LinkButton,{size:"S",href:`https://market.strapi.io/plugins/${d.slug}`,isExternal:!0,endIcon:e.createElement(w(),null),"aria-label":y({id:"admin.pages.MarketPlacePage.plugin.info.label",defaultMessage:"Learn more about {pluginName}"},{pluginName:d.name}),variant:"tertiary",onClick:()=>T("didPluginLearnMore")},y({id:"admin.pages.MarketPlacePage.plugin.info.text",defaultMessage:"Learn more"})),e.createElement(re,{isInstalled:P,isInDevelopmentMode:E,commandToCopy:m})))};L.defaultProps={isInDevelopmentMode:!1},L.propTypes={plugin:s().shape({id:s().string.isRequired,attributes:s().shape({name:s().string.isRequired,description:s().string.isRequired,slug:s().string.isRequired,npmPackageName:s().string.isRequired,npmPackageUrl:s().string.isRequired,repositoryUrl:s().string.isRequired,logo:s().object.isRequired,developerName:s().string.isRequired,validated:s().bool.isRequired,madeByStrapi:s().bool.isRequired,strapiCompatibility:s().oneOf(["v3","v4"]).isRequired}).isRequired}).isRequired,installedPluginNames:s().arrayOf(s().string).isRequired,useYarn:s().bool.isRequired,isInDevelopmentMode:s().bool};const oe=L;var ie=a(97042),se=a.n(ie);const ue=(0,O.default)(v.Box)`
9
+ background: ${({theme:r})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${r.colors.neutral150} 100%)`};
10
+ opacity: 0.33;
11
+ `,ce=()=>e.createElement(u.GridLayout,null,Array(12).fill(null).map((r,o)=>e.createElement(ue,{key:`empty-plugin-card-${o}`,height:"234px",hasRadius:!0}))),F=({content:r})=>e.createElement(v.Box,{position:"relative"},e.createElement(ce,null),e.createElement(v.Box,{position:"absolute",top:11,width:"100%"},e.createElement(S.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},e.createElement(B.Icon,{as:se(),color:"",width:"160px",height:"88px"}),e.createElement(v.Box,{paddingTop:6},e.createElement(k.Typography,{variant:"delta",as:"p",textColor:"neutral600"},r)))));F.propTypes={content:s().string.isRequired};var de=a(75152),pe=a.n(de);const D=({isOnline:r})=>{const{formatMessage:o}=(0,p.useIntl)(),{trackUsage:i}=(0,n.useTracking)();return e.createElement(u.HeaderLayout,{title:o({id:"global.marketplace",defaultMessage:"Marketplace"}),subtitle:o({id:"admin.pages.MarketPlacePage.subtitle",defaultMessage:"Get more out of Strapi"}),primaryAction:r&&e.createElement(j.LinkButton,{startIcon:e.createElement(pe(),null),variant:"tertiary",href:"https://market.strapi.io/submit-plugin",onClick:()=>i("didSubmitPlugin"),isExternal:!0},o({id:"admin.pages.MarketPlacePage.submit.plugin.link",defaultMessage:"Submit your plugin"}))})},H=D;D.propTypes={isOnline:s().bool.isRequired};var ge=a(16558),me=(r,o,i)=>new Promise((E,d)=>{var y=m=>{try{P(i.next(m))}catch(M){d(M)}},T=m=>{try{P(i.throw(m))}catch(M){d(M)}},P=m=>m.done?E(m.value):Promise.resolve(m.value).then(y,T);P((i=i.apply(r,o)).next())});const fe=()=>me(void 0,null,function*(){const{data:r}=yield ge.be.get("/admin/information");return r});var ve=a(60799),ye=a(43653),he=a.n(ye),Pe=Object.defineProperty,Ee=Object.defineProperties,Me=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,G=(r,o,i)=>o in r?Pe(r,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[o]=i,ke=(r,o)=>{for(var i in o||(o={}))xe.call(o,i)&&G(r,i,o[i]);if(U)for(var i of U(o))be.call(o,i)&&G(r,i,o[i]);return r},Se=(r,o)=>Ee(r,Me(o)),Te=(r,o,i)=>new Promise((E,d)=>{var y=m=>{try{P(i.next(m))}catch(M){d(M)}},T=m=>{try{P(i.throw(m))}catch(M){d(M)}},P=m=>m.done?E(m.value):Promise.resolve(m.value).then(y,T);P((i=i.apply(r,o)).next())});const Oe="https://market-api.strapi.io",Re=()=>Te(void 0,null,function*(){const{data:r}=yield he().get(`${Oe}/plugins`);return Se(ke({},r),{data:r.data.filter(i=>i.attributes.strapiCompatibility==="v4")})}),Ie=r=>{const o=(0,n.useNotification)();return(0,l.useQuery)("list-marketplace-plugins",()=>Re(),{onSuccess:()=>{r&&r()},onError:()=>{o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};var Ce=a(2805),Be=a(72661);const Le=()=>{const r=typeof navigator!="undefined"&&typeof navigator.onLine=="boolean"?navigator.onLine:!0,[o,i]=(0,e.useState)(r),E=()=>i(!0),d=()=>i(!1);return(0,e.useEffect)(()=>(window.addEventListener("online",E),window.addEventListener("offline",d),()=>{window.removeEventListener("online",E),window.removeEventListener("offline",d)}),[]),o};var je=a(28992),Ne=a.n(je);const we=()=>{const{formatMessage:r}=(0,p.useIntl)(),{trackUsage:o}=(0,n.useTracking)();return e.createElement("a",{href:"https://strapi.canny.io/plugin-requests",target:"_blank",rel:"noopener noreferrer nofollow",style:{textDecoration:"none"},onClick:()=>o("didMissMarketplacePlugin")},e.createElement(n.ContentBox,{title:r({id:"admin.pages.MarketPlacePage.missingPlugin.title",defaultMessage:"Documentation"}),subtitle:r({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(Ne(),null),iconBackground:"alternative100",endAction:e.createElement(B.Icon,{as:w(),color:"neutral600",width:3,height:3,marginLeft:2})}))},Ae=(r,o)=>(0,t.ZP)(r,o,{keys:[{threshold:t.ZP.rankings.WORD_STARTS_WITH,key:"attributes.name"},{threshold:t.ZP.rankings.WORD_STARTS_WITH,key:"attributes.description"}]}),$=()=>{const{formatMessage:r}=(0,p.useIntl)(),{trackUsage:o}=(0,n.useTracking)(),{notifyStatus:i}=(0,C.useNotifyAT)(),E=(0,e.useRef)(o),d=(0,n.useNotification)(),[y,T]=(0,e.useState)(""),{autoReload:P}=(0,n.useAppInfos)(),m=Le();(0,n.useFocusWhenNavigate)();const M=r({id:"global.marketplace",defaultMessage:"Marketplace"}),De=()=>{i(r({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:M}))},{status:z,data:He}=Ie(De),{status:W,data:Ue}=(0,ve.Z)(),{data:Ge,status:Z}=(0,l.useQuery)("app-information",fe,{onError:()=>{d({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),$e=[z,W,Z].includes("loading"),ze=[z,W,Z].includes("error");if((0,e.useEffect)(()=>{E.current("didGoToMarketplace")},[]),(0,e.useEffect)(()=>{P||d({type:"info",message:{id:"admin.pages.MarketPlacePage.production",defaultMessage:"Manage plugins from the development environment"},blockTransition:!0})},[d,P]),!m)return e.createElement(u.Layout,null,e.createElement(f.Main,null,e.createElement(H,{isOnline:m}),e.createElement(S.Flex,{width:"100%",direction:"column",alignItems:"center",justifyContent:"center",style:{paddingTop:"120px"}},e.createElement(v.Box,{paddingBottom:2},e.createElement(k.Typography,{textColor:"neutral700",variant:"alpha"},r({id:"admin.pages.MarketPlacePage.offline.title",defaultMessage:"You are offline"}))),e.createElement(v.Box,{paddingBottom:6},e.createElement(k.Typography,{textColor:"neutral700",variant:"epsilon"},r({id:"admin.pages.MarketPlacePage.offline.subtitle",defaultMessage:"You need to be connected to the Internet to access Strapi Market."}))),e.createElement("img",{src:Be,alt:"offline",style:{width:"88px",height:"88px"}}))));if(ze)return e.createElement(u.Layout,null,e.createElement(u.ContentLayout,null,e.createElement(v.Box,{paddingTop:8},e.createElement(n.AnErrorOccurred,null))));if($e)return e.createElement(u.Layout,null,e.createElement(f.Main,{"aria-busy":!0},e.createElement(n.LoadingIndicatorPage,null)));const Q=Ae(He.data,y),We=Ue.plugins.map(R=>R.packageName);return e.createElement(u.Layout,null,e.createElement(f.Main,null,e.createElement(g.Helmet,{title:r({id:"admin.pages.MarketPlacePage.helmet",defaultMessage:"Marketplace - Plugins"})}),e.createElement(H,{isOnline:m}),e.createElement(u.ContentLayout,null,e.createElement(v.Box,{width:"25%",paddingBottom:4},e.createElement(h.Searchbar,{name:"searchbar",onClear:()=>T(""),value:y,onChange:R=>T(R.target.value),clearLabel:r({id:"admin.pages.MarketPlacePage.search.clear",defaultMessage:"Clear the plugin search"}),placeholder:r({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search for a plugin"})},r({id:"admin.pages.MarketPlacePage.search.placeholder",defaultMessage:"Search for a plugin"}))),y.length>0&&!Q.length?e.createElement(F,{content:r({id:"admin.pages.MarketPlacePage.search.empty",defaultMessage:'No result for "{target}"'},{target:y})}):e.createElement(c.Grid,{gap:4},Q.map(R=>e.createElement(c.GridItem,{col:4,s:6,xs:12,style:{height:"100%"},key:R.id},e.createElement(oe,{plugin:R,installedPluginNames:We,useYarn:Ge.data.useYarn,isInDevelopmentMode:P})))),e.createElement(v.Box,{paddingTop:7},e.createElement(we,null)))))},Fe=()=>e.createElement(n.CheckPagePermissions,{permissions:Ce.Z.marketplace.main},e.createElement($,null))},77016:(x,b,a)=>{"use strict";x.exports=a.p+"90f49a385afb000fb1d4.svg"},72661:(x,b,a)=>{"use strict";x.exports=a.p+"a6b842e0b6d2b61135d1.svg"}}]);