@strapi/admin 5.33.4 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/GradientBadge.js +18 -2
- package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
- package/dist/admin/admin/src/components/GradientBadge.mjs +19 -3
- package/dist/admin/admin/src/components/GradientBadge.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js +8 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs +8 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ContentLayout.js +4 -0
- package/dist/admin/admin/src/components/Layouts/ContentLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs +4 -0
- package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +84 -50
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +86 -52
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +1 -0
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs +1 -0
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +37 -6
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs +38 -7
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +2 -0
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +2 -0
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +41 -20
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +42 -21
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/constants/theme.js +2 -0
- package/dist/admin/admin/src/constants/theme.js.map +1 -1
- package/dist/admin/admin/src/constants/theme.mjs +2 -1
- package/dist/admin/admin/src/constants/theme.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +2 -1
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +2 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +51 -10
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +51 -10
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +12 -3
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs +12 -3
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +1 -0
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +1 -0
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +1 -0
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +1 -0
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +7 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +7 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +44 -26
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +45 -27
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +3 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +3 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -11
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +10 -12
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js +12 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.mjs +12 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +3 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +3 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
- package/dist/admin/admin/src/router.js +0 -9
- package/dist/admin/admin/src/router.js.map +1 -1
- package/dist/admin/admin/src/router.mjs +0 -9
- package/dist/admin/admin/src/router.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.js +0 -42
- package/dist/admin/admin/src/translations/ar.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.mjs +0 -42
- package/dist/admin/admin/src/translations/ar.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ca.json.js +0 -21
- package/dist/admin/admin/src/translations/ca.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ca.json.mjs +0 -21
- package/dist/admin/admin/src/translations/ca.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/de.json.js +422 -66
- package/dist/admin/admin/src/translations/de.json.js.map +1 -1
- package/dist/admin/admin/src/translations/de.json.mjs +419 -67
- package/dist/admin/admin/src/translations/de.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/dk.json.js +0 -6
- package/dist/admin/admin/src/translations/dk.json.js.map +1 -1
- package/dist/admin/admin/src/translations/dk.json.mjs +0 -6
- package/dist/admin/admin/src/translations/dk.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +0 -44
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +0 -44
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/es.json.js +0 -25
- package/dist/admin/admin/src/translations/es.json.js.map +1 -1
- package/dist/admin/admin/src/translations/es.json.mjs +0 -25
- package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/eu.json.js +0 -43
- package/dist/admin/admin/src/translations/eu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/eu.json.mjs +0 -43
- package/dist/admin/admin/src/translations/eu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.js +0 -6
- package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.mjs +0 -6
- package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/gu.json.js +0 -21
- package/dist/admin/admin/src/translations/gu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/gu.json.mjs +0 -21
- package/dist/admin/admin/src/translations/gu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/hi.json.js +0 -21
- package/dist/admin/admin/src/translations/hi.json.js.map +1 -1
- package/dist/admin/admin/src/translations/hi.json.mjs +0 -21
- package/dist/admin/admin/src/translations/hi.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/hu.json.js +0 -43
- package/dist/admin/admin/src/translations/hu.json.js.map +1 -1
- package/dist/admin/admin/src/translations/hu.json.mjs +0 -43
- package/dist/admin/admin/src/translations/hu.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/it.json.js +613 -3
- package/dist/admin/admin/src/translations/it.json.js.map +1 -1
- package/dist/admin/admin/src/translations/it.json.mjs +605 -4
- package/dist/admin/admin/src/translations/it.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.js +0 -6
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +0 -6
- package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ko.json.js +430 -102
- package/dist/admin/admin/src/translations/ko.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ko.json.mjs +427 -103
- package/dist/admin/admin/src/translations/ko.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ml.json.js +0 -21
- package/dist/admin/admin/src/translations/ml.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ml.json.mjs +0 -21
- package/dist/admin/admin/src/translations/ml.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/nl.json.js +0 -39
- package/dist/admin/admin/src/translations/nl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/nl.json.mjs +0 -39
- package/dist/admin/admin/src/translations/nl.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +0 -21
- package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +0 -21
- package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pt-BR.json.js +0 -25
- package/dist/admin/admin/src/translations/pt-BR.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pt-BR.json.mjs +0 -25
- package/dist/admin/admin/src/translations/pt-BR.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ru.json.js +0 -44
- package/dist/admin/admin/src/translations/ru.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ru.json.mjs +0 -44
- package/dist/admin/admin/src/translations/ru.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/sa.json.js +0 -21
- package/dist/admin/admin/src/translations/sa.json.js.map +1 -1
- package/dist/admin/admin/src/translations/sa.json.mjs +0 -21
- package/dist/admin/admin/src/translations/sa.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/sv.json.js +0 -39
- package/dist/admin/admin/src/translations/sv.json.js.map +1 -1
- package/dist/admin/admin/src/translations/sv.json.mjs +0 -39
- package/dist/admin/admin/src/translations/sv.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/tr.json.js +0 -39
- package/dist/admin/admin/src/translations/tr.json.js.map +1 -1
- package/dist/admin/admin/src/translations/tr.json.mjs +0 -39
- package/dist/admin/admin/src/translations/tr.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/uk.json.js +0 -44
- package/dist/admin/admin/src/translations/uk.json.js.map +1 -1
- package/dist/admin/admin/src/translations/uk.json.mjs +0 -44
- package/dist/admin/admin/src/translations/uk.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/vi.json.js +0 -44
- package/dist/admin/admin/src/translations/vi.json.js.map +1 -1
- package/dist/admin/admin/src/translations/vi.json.mjs +0 -44
- package/dist/admin/admin/src/translations/vi.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.js +0 -44
- package/dist/admin/admin/src/translations/zh-Hans.json.js.map +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs +0 -44
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/zh.json.js +0 -39
- package/dist/admin/admin/src/translations/zh.json.js.map +1 -1
- package/dist/admin/admin/src/translations/zh.json.mjs +0 -39
- package/dist/admin/admin/src/translations/zh.json.mjs.map +1 -1
- package/dist/admin/admin/tests/mockData.js +0 -1413
- package/dist/admin/admin/tests/mockData.js.map +1 -1
- package/dist/admin/admin/tests/mockData.mjs +0 -1413
- package/dist/admin/admin/tests/mockData.mjs.map +1 -1
- package/dist/admin/admin/tests/server.js +0 -99
- package/dist/admin/admin/tests/server.js.map +1 -1
- package/dist/admin/admin/tests/server.mjs +0 -80
- package/dist/admin/admin/tests/server.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js +2 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.mjs +2 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.mjs.map +1 -1
- package/dist/admin/index.js +3 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/MainNav/NavLink.d.ts +2 -2
- package/dist/admin/src/constants/theme.d.ts +2 -1
- package/dist/admin/src/core/apis/router.d.ts +1 -0
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +1 -0
- package/dist/admin/src/index.d.ts +1 -1
- package/dist/admin/tests/mockData.d.ts +0 -972
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +53 -0
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -0
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +51 -0
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -0
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +7 -8
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +10 -11
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.js +7 -8
- package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs +10 -11
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts +21 -0
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -0
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +0 -339
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +0 -317
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js +0 -329
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs +0 -308
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js +0 -121
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs +0 -119
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js +0 -93
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.mjs +0 -91
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.js +0 -81
- package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.mjs +0 -79
- package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js +0 -38
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs +0 -36
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js +0 -85
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.mjs +0 -83
- package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js +0 -134
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs +0 -113
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.js +0 -44
- package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.js.map +0 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.mjs +0 -23
- package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.mjs.map +0 -1
- package/dist/admin/src/pages/Marketplace/MarketplacePage.d.ts +0 -19
- package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +0 -13
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +0 -13
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +0 -13
- package/dist/admin/src/pages/Marketplace/components/OfflineLayout.d.ts +0 -2
- package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +0 -8
- package/dist/admin/src/pages/Marketplace/components/SortSelect.d.ts +0 -51
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +0 -93
- package/dist/admin/src/pages/Marketplace/hooks/useNavigatorOnline.d.ts +0 -5
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var designSystem = require('@strapi/design-system');
|
|
5
|
-
var icons = require('@strapi/icons');
|
|
6
|
-
var symbols = require('@strapi/icons/symbols');
|
|
7
|
-
var pluralize = require('pluralize');
|
|
8
|
-
var reactIntl = require('react-intl');
|
|
9
|
-
var semver = require('semver');
|
|
10
|
-
var styled = require('styled-components');
|
|
11
|
-
var logoStrapi2022 = require('../../../assets/images/logo-strapi-2022.svg.js');
|
|
12
|
-
var Notifications = require('../../../features/Notifications.js');
|
|
13
|
-
var Tracking = require('../../../features/Tracking.js');
|
|
14
|
-
var useClipboard = require('../../../hooks/useClipboard.js');
|
|
15
|
-
|
|
16
|
-
function _interopNamespaceDefault(e) {
|
|
17
|
-
var n = Object.create(null);
|
|
18
|
-
if (e) {
|
|
19
|
-
Object.keys(e).forEach(function (k) {
|
|
20
|
-
if (k !== 'default') {
|
|
21
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () { return e[k]; }
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
n.default = e;
|
|
30
|
-
return Object.freeze(n);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var semver__namespace = /*#__PURE__*/_interopNamespaceDefault(semver);
|
|
34
|
-
|
|
35
|
-
// Custom component to have an ellipsis after the 2nd line
|
|
36
|
-
const EllipsisText = styled.styled(designSystem.Typography)`
|
|
37
|
-
display: -webkit-box;
|
|
38
|
-
-webkit-box-orient: vertical;
|
|
39
|
-
-webkit-line-clamp: 2;
|
|
40
|
-
overflow: hidden;
|
|
41
|
-
`;
|
|
42
|
-
const NpmPackageCard = ({ npmPackage, isInstalled, useYarn, isInDevelopmentMode, npmPackageType, strapiAppVersion })=>{
|
|
43
|
-
const { attributes } = npmPackage;
|
|
44
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
45
|
-
const { trackUsage } = Tracking.useTracking();
|
|
46
|
-
const commandToCopy = useYarn ? `yarn add ${attributes.npmPackageName}` : `npm install ${attributes.npmPackageName}`;
|
|
47
|
-
const madeByStrapiMessage = formatMessage({
|
|
48
|
-
id: 'admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi',
|
|
49
|
-
defaultMessage: 'Made by Strapi'
|
|
50
|
-
});
|
|
51
|
-
const npmPackageHref = `https://market.strapi.io/${pluralize.plural(npmPackageType)}/${attributes.slug}`;
|
|
52
|
-
const versionRange = semver__namespace.validRange(attributes.strapiVersion);
|
|
53
|
-
const isCompatible = versionRange ? semver__namespace.satisfies(strapiAppVersion ?? '', versionRange) : false;
|
|
54
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
55
|
-
direction: "column",
|
|
56
|
-
justifyContent: "space-between",
|
|
57
|
-
paddingTop: 4,
|
|
58
|
-
paddingRight: 4,
|
|
59
|
-
paddingBottom: 4,
|
|
60
|
-
paddingLeft: 4,
|
|
61
|
-
hasRadius: true,
|
|
62
|
-
background: "neutral0",
|
|
63
|
-
shadow: "tableShadow",
|
|
64
|
-
height: "100%",
|
|
65
|
-
alignItems: "normal",
|
|
66
|
-
"data-testid": "npm-package-card",
|
|
67
|
-
children: [
|
|
68
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
69
|
-
children: [
|
|
70
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
71
|
-
direction: "row",
|
|
72
|
-
justifyContent: "space-between",
|
|
73
|
-
alignItems: "flex-start",
|
|
74
|
-
children: [
|
|
75
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
76
|
-
tag: "img",
|
|
77
|
-
src: attributes.logo.url,
|
|
78
|
-
alt: `${attributes.name} logo`,
|
|
79
|
-
hasRadius: true,
|
|
80
|
-
width: 11,
|
|
81
|
-
height: 11
|
|
82
|
-
}),
|
|
83
|
-
/*#__PURE__*/ jsxRuntime.jsx(PackageStats, {
|
|
84
|
-
githubStars: attributes.githubStars,
|
|
85
|
-
npmDownloads: attributes.npmDownloads,
|
|
86
|
-
npmPackageType: npmPackageType
|
|
87
|
-
})
|
|
88
|
-
]
|
|
89
|
-
}),
|
|
90
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
91
|
-
paddingTop: 4,
|
|
92
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
93
|
-
tag: "h3",
|
|
94
|
-
variant: "delta",
|
|
95
|
-
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
96
|
-
alignItems: "center",
|
|
97
|
-
gap: attributes.validated && !attributes.madeByStrapi ? 2 : 1,
|
|
98
|
-
children: [
|
|
99
|
-
attributes.name,
|
|
100
|
-
attributes.validated && !attributes.madeByStrapi && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
|
|
101
|
-
description: formatMessage({
|
|
102
|
-
id: 'admin.pages.MarketPlacePage.plugin.tooltip.verified',
|
|
103
|
-
defaultMessage: 'Plugin verified by Strapi'
|
|
104
|
-
}),
|
|
105
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(icons.CheckCircle, {
|
|
106
|
-
fill: "success600"
|
|
107
|
-
})
|
|
108
|
-
}),
|
|
109
|
-
attributes.madeByStrapi && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
|
|
110
|
-
label: madeByStrapiMessage,
|
|
111
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
112
|
-
tag: "img",
|
|
113
|
-
src: logoStrapi2022,
|
|
114
|
-
alt: madeByStrapiMessage,
|
|
115
|
-
width: 6,
|
|
116
|
-
height: "auto"
|
|
117
|
-
})
|
|
118
|
-
})
|
|
119
|
-
]
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
}),
|
|
123
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
124
|
-
paddingTop: 2,
|
|
125
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(EllipsisText, {
|
|
126
|
-
tag: "p",
|
|
127
|
-
variant: "omega",
|
|
128
|
-
textColor: "neutral600",
|
|
129
|
-
children: attributes.description
|
|
130
|
-
})
|
|
131
|
-
})
|
|
132
|
-
]
|
|
133
|
-
}),
|
|
134
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
135
|
-
gap: 2,
|
|
136
|
-
style: {
|
|
137
|
-
alignSelf: 'flex-end'
|
|
138
|
-
},
|
|
139
|
-
paddingTop: 6,
|
|
140
|
-
children: [
|
|
141
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
142
|
-
size: "S",
|
|
143
|
-
href: npmPackageHref,
|
|
144
|
-
isExternal: true,
|
|
145
|
-
endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
|
|
146
|
-
"aria-label": formatMessage({
|
|
147
|
-
id: 'admin.pages.MarketPlacePage.plugin.info.label',
|
|
148
|
-
defaultMessage: 'Learn more about {pluginName}'
|
|
149
|
-
}, {
|
|
150
|
-
pluginName: attributes.name
|
|
151
|
-
}),
|
|
152
|
-
variant: "tertiary",
|
|
153
|
-
onClick: ()=>trackUsage('didPluginLearnMore'),
|
|
154
|
-
children: formatMessage({
|
|
155
|
-
id: 'admin.pages.MarketPlacePage.plugin.info.text',
|
|
156
|
-
defaultMessage: 'More'
|
|
157
|
-
})
|
|
158
|
-
}),
|
|
159
|
-
/*#__PURE__*/ jsxRuntime.jsx(InstallPluginButton, {
|
|
160
|
-
isInstalled: isInstalled,
|
|
161
|
-
isInDevelopmentMode: isInDevelopmentMode,
|
|
162
|
-
isCompatible: isCompatible,
|
|
163
|
-
commandToCopy: commandToCopy,
|
|
164
|
-
strapiAppVersion: strapiAppVersion,
|
|
165
|
-
strapiPeerDepVersion: attributes.strapiVersion,
|
|
166
|
-
pluginName: attributes.name
|
|
167
|
-
})
|
|
168
|
-
]
|
|
169
|
-
})
|
|
170
|
-
]
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
const InstallPluginButton = ({ isInstalled, isInDevelopmentMode, isCompatible, commandToCopy, strapiAppVersion, strapiPeerDepVersion, pluginName })=>{
|
|
174
|
-
const { toggleNotification } = Notifications.useNotification();
|
|
175
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
176
|
-
const { trackUsage } = Tracking.useTracking();
|
|
177
|
-
const { copy } = useClipboard.useClipboard();
|
|
178
|
-
const handleCopy = async ()=>{
|
|
179
|
-
const didCopy = await copy(commandToCopy);
|
|
180
|
-
if (didCopy) {
|
|
181
|
-
trackUsage('willInstallPlugin');
|
|
182
|
-
toggleNotification({
|
|
183
|
-
type: 'success',
|
|
184
|
-
message: formatMessage({
|
|
185
|
-
id: 'admin.pages.MarketPlacePage.plugin.copy.success'
|
|
186
|
-
})
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
// Already installed
|
|
191
|
-
if (isInstalled) {
|
|
192
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
193
|
-
gap: 2,
|
|
194
|
-
paddingLeft: 4,
|
|
195
|
-
children: [
|
|
196
|
-
/*#__PURE__*/ jsxRuntime.jsx(icons.Check, {
|
|
197
|
-
width: "1.2rem",
|
|
198
|
-
height: "1.2rem",
|
|
199
|
-
color: "success600"
|
|
200
|
-
}),
|
|
201
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
202
|
-
variant: "omega",
|
|
203
|
-
textColor: "success600",
|
|
204
|
-
fontWeight: "bold",
|
|
205
|
-
children: formatMessage({
|
|
206
|
-
id: 'admin.pages.MarketPlacePage.plugin.installed',
|
|
207
|
-
defaultMessage: 'Installed'
|
|
208
|
-
})
|
|
209
|
-
})
|
|
210
|
-
]
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
// In development, show install button
|
|
214
|
-
if (isInDevelopmentMode && isCompatible !== false) {
|
|
215
|
-
return /*#__PURE__*/ jsxRuntime.jsx(CardButton, {
|
|
216
|
-
strapiAppVersion: strapiAppVersion,
|
|
217
|
-
strapiPeerDepVersion: strapiPeerDepVersion,
|
|
218
|
-
handleCopy: handleCopy,
|
|
219
|
-
pluginName: pluginName
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
// Not in development and plugin not installed already. Show nothing
|
|
223
|
-
return null;
|
|
224
|
-
};
|
|
225
|
-
const CardButton = ({ strapiPeerDepVersion, strapiAppVersion, handleCopy, pluginName })=>{
|
|
226
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
227
|
-
const versionRange = semver__namespace.validRange(strapiPeerDepVersion);
|
|
228
|
-
const isCompatible = semver__namespace.satisfies(strapiAppVersion ?? '', versionRange ?? '');
|
|
229
|
-
const installMessage = formatMessage({
|
|
230
|
-
id: 'admin.pages.MarketPlacePage.plugin.copy',
|
|
231
|
-
defaultMessage: 'Copy install command'
|
|
232
|
-
});
|
|
233
|
-
// Only plugins receive a strapiAppVersion
|
|
234
|
-
if (strapiAppVersion) {
|
|
235
|
-
if (!versionRange || !isCompatible) {
|
|
236
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
|
|
237
|
-
"data-testid": `tooltip-${pluginName}`,
|
|
238
|
-
label: formatMessage({
|
|
239
|
-
id: 'admin.pages.MarketPlacePage.plugin.version',
|
|
240
|
-
defaultMessage: 'Update your Strapi version: "{strapiAppVersion}" to: "{versionRange}"'
|
|
241
|
-
}, {
|
|
242
|
-
strapiAppVersion,
|
|
243
|
-
versionRange
|
|
244
|
-
}),
|
|
245
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("span", {
|
|
246
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
247
|
-
size: "S",
|
|
248
|
-
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Duplicate, {}),
|
|
249
|
-
variant: "secondary",
|
|
250
|
-
onClick: handleCopy,
|
|
251
|
-
disabled: !isCompatible,
|
|
252
|
-
children: installMessage
|
|
253
|
-
})
|
|
254
|
-
})
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
259
|
-
size: "S",
|
|
260
|
-
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Duplicate, {}),
|
|
261
|
-
variant: "secondary",
|
|
262
|
-
onClick: handleCopy,
|
|
263
|
-
children: installMessage
|
|
264
|
-
});
|
|
265
|
-
};
|
|
266
|
-
const PackageStats = ({ githubStars = 0, npmDownloads = 0, npmPackageType })=>{
|
|
267
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
268
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
269
|
-
gap: 1,
|
|
270
|
-
children: [
|
|
271
|
-
!!githubStars && /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
272
|
-
children: [
|
|
273
|
-
/*#__PURE__*/ jsxRuntime.jsx(symbols.GitHub, {
|
|
274
|
-
height: "1.2rem",
|
|
275
|
-
width: "1.2rem",
|
|
276
|
-
"aria-hidden": true
|
|
277
|
-
}),
|
|
278
|
-
/*#__PURE__*/ jsxRuntime.jsx(icons.Star, {
|
|
279
|
-
height: "1.2rem",
|
|
280
|
-
width: "1.2rem",
|
|
281
|
-
fill: "warning500",
|
|
282
|
-
"aria-hidden": true
|
|
283
|
-
}),
|
|
284
|
-
/*#__PURE__*/ jsxRuntime.jsx("p", {
|
|
285
|
-
"aria-label": formatMessage({
|
|
286
|
-
id: `admin.pages.MarketPlacePage.${npmPackageType}.githubStars`,
|
|
287
|
-
defaultMessage: `This {package} was starred {starsCount} on GitHub`
|
|
288
|
-
}, {
|
|
289
|
-
starsCount: githubStars,
|
|
290
|
-
package: npmPackageType
|
|
291
|
-
}),
|
|
292
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
293
|
-
variant: "pi",
|
|
294
|
-
textColor: "neutral800",
|
|
295
|
-
children: githubStars
|
|
296
|
-
})
|
|
297
|
-
}),
|
|
298
|
-
/*#__PURE__*/ jsxRuntime.jsx(VerticalDivider, {})
|
|
299
|
-
]
|
|
300
|
-
}),
|
|
301
|
-
/*#__PURE__*/ jsxRuntime.jsx(icons.Download, {
|
|
302
|
-
height: "1.2rem",
|
|
303
|
-
width: "1.2rem",
|
|
304
|
-
"aria-hidden": true
|
|
305
|
-
}),
|
|
306
|
-
/*#__PURE__*/ jsxRuntime.jsx("p", {
|
|
307
|
-
"aria-label": formatMessage({
|
|
308
|
-
id: `admin.pages.MarketPlacePage.${npmPackageType}.downloads`,
|
|
309
|
-
defaultMessage: `This {package} has {downloadsCount} weekly downloads`
|
|
310
|
-
}, {
|
|
311
|
-
downloadsCount: npmDownloads,
|
|
312
|
-
package: npmPackageType
|
|
313
|
-
}),
|
|
314
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
315
|
-
variant: "pi",
|
|
316
|
-
textColor: "neutral800",
|
|
317
|
-
children: npmDownloads
|
|
318
|
-
})
|
|
319
|
-
})
|
|
320
|
-
]
|
|
321
|
-
});
|
|
322
|
-
};
|
|
323
|
-
const VerticalDivider = styled.styled(designSystem.Divider)`
|
|
324
|
-
width: 1.2rem;
|
|
325
|
-
transform: rotate(90deg);
|
|
326
|
-
`;
|
|
327
|
-
|
|
328
|
-
exports.NpmPackageCard = NpmPackageCard;
|
|
329
|
-
//# sourceMappingURL=NpmPackageCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NpmPackageCard.js","sources":["../../../../../../../admin/src/pages/Marketplace/components/NpmPackageCard.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Tooltip,\n Typography,\n Divider,\n Button,\n LinkButton,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { CheckCircle, ExternalLink, Download, Star, Check, Duplicate } from '@strapi/icons';\nimport { GitHub } from '@strapi/icons/symbols';\nimport pluralize from 'pluralize';\nimport { useIntl } from 'react-intl';\nimport * as semver from 'semver';\nimport { styled } from 'styled-components';\n\nimport StrapiLogo from '../../../assets/images/logo-strapi-2022.svg';\nimport { AppInfoContextValue } from '../../../features/AppInfo';\nimport { useNotification } from '../../../features/Notifications';\nimport { useTracking } from '../../../features/Tracking';\nimport { useClipboard } from '../../../hooks/useClipboard';\n\nimport type { Plugin, Provider } from '../hooks/useMarketplaceData';\nimport type { NpmPackageType } from '../MarketplacePage';\n\n// Custom component to have an ellipsis after the 2nd line\nconst EllipsisText = styled<TypographyComponent<'p'>>(Typography)`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n`;\n\ninterface NpmPackageCardProps extends Pick<AppInfoContextValue, 'useYarn'> {\n npmPackage: Plugin | Provider;\n isInstalled: boolean;\n isInDevelopmentMode: AppInfoContextValue['autoReload'];\n npmPackageType: NpmPackageType;\n strapiAppVersion: AppInfoContextValue['strapiVersion'];\n}\n\nconst NpmPackageCard = ({\n npmPackage,\n isInstalled,\n useYarn,\n isInDevelopmentMode,\n npmPackageType,\n strapiAppVersion,\n}: NpmPackageCardProps) => {\n const { attributes } = npmPackage;\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const commandToCopy = useYarn\n ? `yarn add ${attributes.npmPackageName}`\n : `npm install ${attributes.npmPackageName}`;\n\n const madeByStrapiMessage = formatMessage({\n id: 'admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi',\n defaultMessage: 'Made by Strapi',\n });\n\n const npmPackageHref = `https://market.strapi.io/${pluralize.plural(npmPackageType)}/${\n attributes.slug\n }`;\n\n const versionRange = semver.validRange(attributes.strapiVersion);\n\n const isCompatible = versionRange\n ? semver.satisfies(strapiAppVersion ?? '', versionRange)\n : false;\n\n return (\n <Flex\n direction=\"column\"\n justifyContent=\"space-between\"\n paddingTop={4}\n paddingRight={4}\n paddingBottom={4}\n paddingLeft={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n height=\"100%\"\n alignItems=\"normal\"\n data-testid=\"npm-package-card\"\n >\n <Box>\n <Flex direction=\"row\" justifyContent=\"space-between\" alignItems=\"flex-start\">\n <Box\n tag=\"img\"\n src={attributes.logo.url}\n alt={`${attributes.name} logo`}\n hasRadius\n width={11}\n height={11}\n />\n <PackageStats\n githubStars={attributes.githubStars}\n npmDownloads={attributes.npmDownloads}\n npmPackageType={npmPackageType}\n />\n </Flex>\n <Box paddingTop={4}>\n <Typography tag=\"h3\" variant=\"delta\">\n <Flex\n alignItems=\"center\"\n gap={attributes.validated && !attributes.madeByStrapi ? 2 : 1}\n >\n {attributes.name}\n {attributes.validated && !attributes.madeByStrapi && (\n <Tooltip\n description={formatMessage({\n id: 'admin.pages.MarketPlacePage.plugin.tooltip.verified',\n defaultMessage: 'Plugin verified by Strapi',\n })}\n >\n <CheckCircle fill=\"success600\" />\n </Tooltip>\n )}\n {attributes.madeByStrapi && (\n <Tooltip label={madeByStrapiMessage}>\n <Box\n tag=\"img\"\n src={StrapiLogo}\n alt={madeByStrapiMessage}\n width={6}\n height=\"auto\"\n />\n </Tooltip>\n )}\n </Flex>\n </Typography>\n </Box>\n <Box paddingTop={2}>\n <EllipsisText tag=\"p\" variant=\"omega\" textColor=\"neutral600\">\n {attributes.description}\n </EllipsisText>\n </Box>\n </Box>\n\n <Flex gap={2} style={{ alignSelf: 'flex-end' }} paddingTop={6}>\n <LinkButton\n size=\"S\"\n href={npmPackageHref}\n isExternal\n endIcon={<ExternalLink />}\n aria-label={formatMessage(\n {\n id: 'admin.pages.MarketPlacePage.plugin.info.label',\n defaultMessage: 'Learn more about {pluginName}',\n },\n { pluginName: attributes.name }\n )}\n variant=\"tertiary\"\n onClick={() => trackUsage('didPluginLearnMore')}\n >\n {formatMessage({\n id: 'admin.pages.MarketPlacePage.plugin.info.text',\n defaultMessage: 'More',\n })}\n </LinkButton>\n <InstallPluginButton\n isInstalled={isInstalled}\n isInDevelopmentMode={isInDevelopmentMode}\n isCompatible={isCompatible}\n commandToCopy={commandToCopy}\n strapiAppVersion={strapiAppVersion}\n strapiPeerDepVersion={attributes.strapiVersion}\n pluginName={attributes.name}\n />\n </Flex>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * InstallPluginButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface InstallPluginButtonProps\n extends Pick<NpmPackageCardProps, 'isInstalled' | 'isInDevelopmentMode' | 'strapiAppVersion'> {\n commandToCopy: string;\n pluginName: string;\n strapiPeerDepVersion?: string;\n isCompatible?: boolean;\n}\n\nconst InstallPluginButton = ({\n isInstalled,\n isInDevelopmentMode,\n isCompatible,\n commandToCopy,\n strapiAppVersion,\n strapiPeerDepVersion,\n pluginName,\n}: InstallPluginButtonProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { copy } = useClipboard();\n\n const handleCopy = async () => {\n const didCopy = await copy(commandToCopy);\n\n if (didCopy) {\n trackUsage('willInstallPlugin');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'admin.pages.MarketPlacePage.plugin.copy.success' }),\n });\n }\n };\n\n // Already installed\n if (isInstalled) {\n return (\n <Flex gap={2} paddingLeft={4}>\n <Check width=\"1.2rem\" height=\"1.2rem\" color=\"success600\" />\n <Typography variant=\"omega\" textColor=\"success600\" fontWeight=\"bold\">\n {formatMessage({\n id: 'admin.pages.MarketPlacePage.plugin.installed',\n defaultMessage: 'Installed',\n })}\n </Typography>\n </Flex>\n );\n }\n\n // In development, show install button\n if (isInDevelopmentMode && isCompatible !== false) {\n return (\n <CardButton\n strapiAppVersion={strapiAppVersion}\n strapiPeerDepVersion={strapiPeerDepVersion}\n handleCopy={handleCopy}\n pluginName={pluginName}\n />\n );\n }\n\n // Not in development and plugin not installed already. Show nothing\n return null;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CardButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CardButtonProps\n extends Pick<NpmPackageCardProps, 'strapiAppVersion'>,\n Pick<InstallPluginButtonProps, 'strapiPeerDepVersion' | 'pluginName'> {\n handleCopy: () => void;\n}\n\nconst CardButton = ({\n strapiPeerDepVersion,\n strapiAppVersion,\n handleCopy,\n pluginName,\n}: CardButtonProps) => {\n const { formatMessage } = useIntl();\n const versionRange = semver.validRange(strapiPeerDepVersion);\n const isCompatible = semver.satisfies(strapiAppVersion ?? '', versionRange ?? '');\n\n const installMessage = formatMessage({\n id: 'admin.pages.MarketPlacePage.plugin.copy',\n defaultMessage: 'Copy install command',\n });\n\n // Only plugins receive a strapiAppVersion\n if (strapiAppVersion) {\n if (!versionRange || !isCompatible) {\n return (\n <Tooltip\n data-testid={`tooltip-${pluginName}`}\n label={formatMessage(\n {\n id: 'admin.pages.MarketPlacePage.plugin.version',\n defaultMessage:\n 'Update your Strapi version: \"{strapiAppVersion}\" to: \"{versionRange}\"',\n },\n {\n strapiAppVersion,\n versionRange,\n }\n )}\n >\n <span>\n <Button\n size=\"S\"\n startIcon={<Duplicate />}\n variant=\"secondary\"\n onClick={handleCopy}\n disabled={!isCompatible}\n >\n {installMessage}\n </Button>\n </span>\n </Tooltip>\n );\n }\n }\n\n return (\n <Button size=\"S\" startIcon={<Duplicate />} variant=\"secondary\" onClick={handleCopy}>\n {installMessage}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PackageStats\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PackageStatsProps {\n githubStars?: number;\n npmDownloads?: number;\n npmPackageType: NpmPackageType;\n}\n\nconst PackageStats = ({ githubStars = 0, npmDownloads = 0, npmPackageType }: PackageStatsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex gap={1}>\n {!!githubStars && (\n <>\n <GitHub height=\"1.2rem\" width=\"1.2rem\" aria-hidden />\n <Star height=\"1.2rem\" width=\"1.2rem\" fill=\"warning500\" aria-hidden />\n <p\n aria-label={formatMessage(\n {\n id: `admin.pages.MarketPlacePage.${npmPackageType}.githubStars`,\n defaultMessage: `This {package} was starred {starsCount} on GitHub`,\n },\n {\n starsCount: githubStars,\n package: npmPackageType,\n }\n )}\n >\n <Typography variant=\"pi\" textColor=\"neutral800\">\n {githubStars}\n </Typography>\n </p>\n <VerticalDivider />\n </>\n )}\n <Download height=\"1.2rem\" width=\"1.2rem\" aria-hidden />\n <p\n aria-label={formatMessage(\n {\n id: `admin.pages.MarketPlacePage.${npmPackageType}.downloads`,\n defaultMessage: `This {package} has {downloadsCount} weekly downloads`,\n },\n {\n downloadsCount: npmDownloads,\n package: npmPackageType,\n }\n )}\n >\n <Typography variant=\"pi\" textColor=\"neutral800\">\n {npmDownloads}\n </Typography>\n </p>\n </Flex>\n );\n};\n\nconst VerticalDivider = styled(Divider)`\n width: 1.2rem;\n transform: rotate(90deg);\n`;\n\nexport { NpmPackageCard };\nexport type { NpmPackageCardProps };\n"],"names":["EllipsisText","styled","Typography","NpmPackageCard","npmPackage","isInstalled","useYarn","isInDevelopmentMode","npmPackageType","strapiAppVersion","attributes","formatMessage","useIntl","trackUsage","useTracking","commandToCopy","npmPackageName","madeByStrapiMessage","id","defaultMessage","npmPackageHref","pluralize","plural","slug","versionRange","semver","validRange","strapiVersion","isCompatible","satisfies","_jsxs","Flex","direction","justifyContent","paddingTop","paddingRight","paddingBottom","paddingLeft","hasRadius","background","shadow","height","alignItems","data-testid","Box","_jsx","tag","src","logo","url","alt","name","width","PackageStats","githubStars","npmDownloads","variant","gap","validated","madeByStrapi","Tooltip","description","CheckCircle","fill","label","StrapiLogo","textColor","style","alignSelf","LinkButton","size","href","isExternal","endIcon","ExternalLink","aria-label","pluginName","onClick","InstallPluginButton","strapiPeerDepVersion","toggleNotification","useNotification","copy","useClipboard","handleCopy","didCopy","type","message","Check","color","fontWeight","CardButton","installMessage","span","Button","startIcon","Duplicate","disabled","_Fragment","GitHub","aria-hidden","Star","p","starsCount","package","VerticalDivider","Download","downloadsCount","Divider"],"mappings":"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"}
|