@verdaccio/ui-components 5.0.0-next-9.24 → 5.0.0-next-9.26
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/README.md +20 -0
- package/build/api/use-data.d.ts +2 -2
- package/build/api/use-data.js +2 -2
- package/build/api/use-data.js.map +1 -1
- package/build/api/use-data.mjs +2 -2
- package/build/api/use-data.mjs.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.d.ts +1 -0
- package/build/components/CopyClipboard/CopyToClipBoard.js +36 -17
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.mjs +36 -19
- package/build/components/CopyClipboard/CopyToClipBoard.mjs.map +1 -1
- package/build/components/CopyClipboard/utils.d.ts +2 -1
- package/build/components/CopyClipboard/utils.js +6 -4
- package/build/components/CopyClipboard/utils.js.map +1 -1
- package/build/components/CopyClipboard/utils.mjs +6 -4
- package/build/components/CopyClipboard/utils.mjs.map +1 -1
- package/build/components/DocsLink/DocsLink.d.ts +8 -0
- package/build/components/DocsLink/DocsLink.js +40 -0
- package/build/components/DocsLink/DocsLink.js.map +1 -0
- package/build/components/DocsLink/DocsLink.mjs +35 -0
- package/build/components/DocsLink/DocsLink.mjs.map +1 -0
- package/build/components/DocsLink/index.d.ts +1 -0
- package/build/components/DocsLink/index.js +3 -0
- package/build/components/DocsLink/index.mjs +1 -0
- package/build/components/Help/Help.d.ts +13 -0
- package/build/components/Help/Help.js +280 -36
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/Help.mjs +274 -39
- package/build/components/Help/Help.mjs.map +1 -1
- package/build/components/Help/styles.d.ts +29 -0
- package/build/components/Help/styles.js +86 -1
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Help/styles.mjs +82 -2
- package/build/components/Help/styles.mjs.map +1 -1
- package/build/components/Icons/Managers/Bun.d.ts +2 -0
- package/build/components/Icons/Managers/Bun2.js +18 -0
- package/build/components/Icons/Managers/Bun2.js.map +1 -0
- package/build/components/Icons/Managers/Bun2.mjs +16 -0
- package/build/components/Icons/Managers/Bun2.mjs.map +1 -0
- package/build/components/Icons/Managers/bun.js +6 -0
- package/build/components/Icons/Managers/bun.js.map +1 -0
- package/build/components/Icons/Managers/bun.mjs +6 -0
- package/build/components/Icons/Managers/bun.mjs.map +1 -0
- package/build/components/Icons/Managers/bun.svg +1 -0
- package/build/components/Icons/Managers/index.d.ts +1 -0
- package/build/components/Icons/Managers/index.js +2 -0
- package/build/components/Icons/Managers/index.mjs +2 -1
- package/build/components/Icons/index.js +3 -0
- package/build/components/Icons/index.mjs +3 -1
- package/build/components/Install/Install.d.ts +2 -0
- package/build/components/Install/Install.js +30 -2
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/Install.mjs +30 -3
- package/build/components/Install/Install.mjs.map +1 -1
- package/build/components/Install/InstallListItem.d.ts +2 -1
- package/build/components/Install/InstallListItem.js +17 -0
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/InstallListItem.mjs +17 -0
- package/build/components/Install/InstallListItem.mjs.map +1 -1
- package/build/components/Loading/PackageListSkeleton.d.ts +3 -0
- package/build/components/Loading/PackageListSkeleton.js +70 -0
- package/build/components/Loading/PackageListSkeleton.js.map +1 -0
- package/build/components/Loading/PackageListSkeleton.mjs +65 -0
- package/build/components/Loading/PackageListSkeleton.mjs.map +1 -0
- package/build/components/Loading/VersionSkeleton.d.ts +3 -0
- package/build/components/Loading/VersionSkeleton.js +119 -0
- package/build/components/Loading/VersionSkeleton.js.map +1 -0
- package/build/components/Loading/VersionSkeleton.mjs +111 -0
- package/build/components/Loading/VersionSkeleton.mjs.map +1 -0
- package/build/components/Loading/index.d.ts +2 -0
- package/build/components/Loading/index.js +4 -0
- package/build/components/Loading/index.mjs +4 -1
- package/build/components/Package/Package.js +5 -1
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/Package.mjs +6 -2
- package/build/components/Package/Package.mjs.map +1 -1
- package/build/components/Package/styles.d.ts +3 -0
- package/build/components/Package/styles.js +8 -0
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/Package/styles.mjs +8 -1
- package/build/components/Package/styles.mjs.map +1 -1
- package/build/components/PackageList/PackageList.js +4 -4
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/PackageList.mjs +5 -5
- package/build/components/PackageList/PackageList.mjs.map +1 -1
- package/build/components/PackageList/PackageListToolbar.d.ts +15 -0
- package/build/components/PackageList/PackageListToolbar.js +127 -0
- package/build/components/PackageList/PackageListToolbar.js.map +1 -0
- package/build/components/PackageList/PackageListToolbar.mjs +119 -0
- package/build/components/PackageList/PackageListToolbar.mjs.map +1 -0
- package/build/components/PackageList/filterPackages.d.ts +16 -0
- package/build/components/PackageList/filterPackages.js +37 -0
- package/build/components/PackageList/filterPackages.js.map +1 -0
- package/build/components/PackageList/filterPackages.mjs +34 -0
- package/build/components/PackageList/filterPackages.mjs.map +1 -0
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js +18 -7
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs +18 -7
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs.map +1 -1
- package/build/components/RegistryInfoDialog/types.d.ts +1 -0
- package/build/components/Search/AutoComplete/AutoComplete.d.ts +3 -0
- package/build/components/Search/AutoComplete/AutoComplete.js +3 -1
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.mjs +3 -1
- package/build/components/Search/AutoComplete/AutoComplete.mjs.map +1 -1
- package/build/components/Search/Search.js +28 -1
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/Search.mjs +31 -5
- package/build/components/Search/Search.mjs.map +1 -1
- package/build/components/Search/SearchItem.d.ts +12 -1
- package/build/components/Search/SearchItem.js +53 -70
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/SearchItem.mjs +51 -67
- package/build/components/Search/SearchItem.mjs.map +1 -1
- package/build/components/Search/utils.d.ts +10 -0
- package/build/components/Search/utils.js +28 -1
- package/build/components/Search/utils.js.map +1 -1
- package/build/components/Search/utils.mjs +26 -2
- package/build/components/Search/utils.mjs.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js +2 -2
- package/build/components/SettingsMenu/SettingsMenu.mjs +1 -1
- package/build/components/Versions/Versions.js +8 -2
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/Versions.mjs +8 -2
- package/build/components/Versions/Versions.mjs.map +1 -1
- package/build/components/VisuallyHidden/index.d.ts +5 -0
- package/build/components/VisuallyHidden/index.js +17 -0
- package/build/components/VisuallyHidden/index.js.map +1 -0
- package/build/components/VisuallyHidden/index.mjs +15 -0
- package/build/components/VisuallyHidden/index.mjs.map +1 -0
- package/build/configuration.js +2 -1
- package/build/configuration.js.map +1 -1
- package/build/configuration.mjs +2 -1
- package/build/configuration.mjs.map +1 -1
- package/build/i18n/crowdin/ui.js +68 -11
- package/build/i18n/crowdin/ui.js.map +1 -1
- package/build/i18n/crowdin/ui.json +64 -11
- package/build/i18n/crowdin/ui.mjs +67 -12
- package/build/i18n/crowdin/ui.mjs.map +1 -1
- package/build/i18n/download_translations/cs-CZ/ui.js +68 -11
- package/build/i18n/download_translations/cs-CZ/ui.js.map +1 -1
- package/build/i18n/download_translations/cs-CZ/ui.json +64 -11
- package/build/i18n/download_translations/cs-CZ/ui.mjs +67 -12
- package/build/i18n/download_translations/cs-CZ/ui.mjs.map +1 -1
- package/build/i18n/download_translations/de-DE/ui.js +68 -11
- package/build/i18n/download_translations/de-DE/ui.js.map +1 -1
- package/build/i18n/download_translations/de-DE/ui.json +64 -11
- package/build/i18n/download_translations/de-DE/ui.mjs +67 -12
- package/build/i18n/download_translations/de-DE/ui.mjs.map +1 -1
- package/build/i18n/download_translations/es-ES/ui.js +68 -11
- package/build/i18n/download_translations/es-ES/ui.js.map +1 -1
- package/build/i18n/download_translations/es-ES/ui.json +64 -11
- package/build/i18n/download_translations/es-ES/ui.mjs +67 -12
- package/build/i18n/download_translations/es-ES/ui.mjs.map +1 -1
- package/build/i18n/download_translations/fr-FR/ui.js +68 -11
- package/build/i18n/download_translations/fr-FR/ui.js.map +1 -1
- package/build/i18n/download_translations/fr-FR/ui.json +64 -11
- package/build/i18n/download_translations/fr-FR/ui.mjs +67 -12
- package/build/i18n/download_translations/fr-FR/ui.mjs.map +1 -1
- package/build/i18n/download_translations/ga-IE/ui.js +68 -11
- package/build/i18n/download_translations/ga-IE/ui.js.map +1 -1
- package/build/i18n/download_translations/ga-IE/ui.json +64 -11
- package/build/i18n/download_translations/ga-IE/ui.mjs +67 -12
- package/build/i18n/download_translations/ga-IE/ui.mjs.map +1 -1
- package/build/i18n/download_translations/gl-ES/ui.js +68 -11
- package/build/i18n/download_translations/gl-ES/ui.js.map +1 -1
- package/build/i18n/download_translations/gl-ES/ui.json +64 -11
- package/build/i18n/download_translations/gl-ES/ui.mjs +67 -12
- package/build/i18n/download_translations/gl-ES/ui.mjs.map +1 -1
- package/build/i18n/download_translations/it-IT/ui.js +68 -11
- package/build/i18n/download_translations/it-IT/ui.js.map +1 -1
- package/build/i18n/download_translations/it-IT/ui.json +64 -11
- package/build/i18n/download_translations/it-IT/ui.mjs +67 -12
- package/build/i18n/download_translations/it-IT/ui.mjs.map +1 -1
- package/build/i18n/download_translations/ko-KR/ui.js +68 -11
- package/build/i18n/download_translations/ko-KR/ui.js.map +1 -1
- package/build/i18n/download_translations/ko-KR/ui.json +64 -11
- package/build/i18n/download_translations/ko-KR/ui.mjs +67 -12
- package/build/i18n/download_translations/ko-KR/ui.mjs.map +1 -1
- package/build/i18n/download_translations/pl-PL/ui.js +68 -11
- package/build/i18n/download_translations/pl-PL/ui.js.map +1 -1
- package/build/i18n/download_translations/pl-PL/ui.json +64 -11
- package/build/i18n/download_translations/pl-PL/ui.mjs +67 -12
- package/build/i18n/download_translations/pl-PL/ui.mjs.map +1 -1
- package/build/i18n/download_translations/pt-BR/ui.js +68 -11
- package/build/i18n/download_translations/pt-BR/ui.js.map +1 -1
- package/build/i18n/download_translations/pt-BR/ui.json +64 -11
- package/build/i18n/download_translations/pt-BR/ui.mjs +67 -12
- package/build/i18n/download_translations/pt-BR/ui.mjs.map +1 -1
- package/build/i18n/download_translations/ru-RU/ui.js +68 -11
- package/build/i18n/download_translations/ru-RU/ui.js.map +1 -1
- package/build/i18n/download_translations/ru-RU/ui.json +64 -11
- package/build/i18n/download_translations/ru-RU/ui.mjs +67 -12
- package/build/i18n/download_translations/ru-RU/ui.mjs.map +1 -1
- package/build/i18n/download_translations/sr-CS/ui.js +66 -12
- package/build/i18n/download_translations/sr-CS/ui.js.map +1 -1
- package/build/i18n/download_translations/sr-CS/ui.json +64 -11
- package/build/i18n/download_translations/sr-CS/ui.mjs +66 -13
- package/build/i18n/download_translations/sr-CS/ui.mjs.map +1 -1
- package/build/i18n/download_translations/tr-TR/ui.js +68 -11
- package/build/i18n/download_translations/tr-TR/ui.js.map +1 -1
- package/build/i18n/download_translations/tr-TR/ui.json +64 -11
- package/build/i18n/download_translations/tr-TR/ui.mjs +67 -12
- package/build/i18n/download_translations/tr-TR/ui.mjs.map +1 -1
- package/build/i18n/download_translations/vi-VN/ui.js +66 -12
- package/build/i18n/download_translations/vi-VN/ui.js.map +1 -1
- package/build/i18n/download_translations/vi-VN/ui.json +64 -11
- package/build/i18n/download_translations/vi-VN/ui.mjs +66 -13
- package/build/i18n/download_translations/vi-VN/ui.mjs.map +1 -1
- package/build/i18n/download_translations/yo-NG/ui.js +66 -12
- package/build/i18n/download_translations/yo-NG/ui.js.map +1 -1
- package/build/i18n/download_translations/yo-NG/ui.json +64 -11
- package/build/i18n/download_translations/yo-NG/ui.mjs +66 -13
- package/build/i18n/download_translations/yo-NG/ui.mjs.map +1 -1
- package/build/i18n/download_translations/zh-CN/ui.js +68 -11
- package/build/i18n/download_translations/zh-CN/ui.js.map +1 -1
- package/build/i18n/download_translations/zh-CN/ui.json +64 -11
- package/build/i18n/download_translations/zh-CN/ui.mjs +67 -12
- package/build/i18n/download_translations/zh-CN/ui.mjs.map +1 -1
- package/build/i18n/download_translations/zh-TW/ui.js +68 -11
- package/build/i18n/download_translations/zh-TW/ui.js.map +1 -1
- package/build/i18n/download_translations/zh-TW/ui.json +64 -11
- package/build/i18n/download_translations/zh-TW/ui.mjs +67 -12
- package/build/i18n/download_translations/zh-TW/ui.mjs.map +1 -1
- package/build/i18n/loadTranslationFile.d.ts +2 -2
- package/build/i18n/loadTranslationFile.js +2 -2
- package/build/i18n/loadTranslationFile.js.map +1 -1
- package/build/i18n/loadTranslationFile.mjs +2 -2
- package/build/i18n/loadTranslationFile.mjs.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +8 -0
- package/build/index.mjs +4 -2
- package/build/mockServiceWorker.js +1 -0
- package/build/pages/Version/Version.js +2 -2
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/Version.mjs +2 -2
- package/build/pages/Version/Version.mjs.map +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js +3 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs +3 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs.map +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.d.ts +3 -0
- package/build/providers/ManifestsProvider/ManifestsProvider.js +9 -2
- package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs +10 -4
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs.map +1 -1
- package/build/sections/Detail/ContainerContent.js +8 -0
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/ContainerContent.mjs +8 -1
- package/build/sections/Detail/ContainerContent.mjs.map +1 -1
- package/build/sections/Detail/Detail.d.ts +3 -6
- package/build/sections/Detail/Detail.js +13 -14
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/Detail.mjs +14 -15
- package/build/sections/Detail/Detail.mjs.map +1 -1
- package/build/sections/Detail/Tabs.d.ts +3 -2
- package/build/sections/Detail/Tabs.js +9 -4
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/Tabs.mjs +9 -4
- package/build/sections/Detail/Tabs.mjs.map +1 -1
- package/build/sections/Footer/Footer.js +24 -3
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/Footer.mjs +24 -4
- package/build/sections/Footer/Footer.mjs.map +1 -1
- package/build/sections/Footer/styles.d.ts +6 -0
- package/build/sections/Footer/styles.js +21 -2
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Footer/styles.mjs +21 -3
- package/build/sections/Footer/styles.mjs.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.js +39 -10
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.mjs +39 -10
- package/build/sections/Header/HeaderSettingsDialog.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.d.ts +1 -4
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js +98 -15
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs +100 -15
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -1
- package/build/sections/Home/Home.js +58 -2
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/Home.mjs +60 -4
- package/build/sections/Home/Home.mjs.map +1 -1
- package/build/utils/cli-utils.d.ts +10 -0
- package/build/utils/cli-utils.js +26 -0
- package/build/utils/cli-utils.js.map +1 -1
- package/build/utils/cli-utils.mjs +23 -1
- package/build/utils/cli-utils.mjs.map +1 -1
- package/build/utils/index.d.ts +1 -1
- package/build/utils/index.js +4 -0
- package/build/utils/index.mjs +2 -2
- package/build/utils/markdown.d.ts +6 -0
- package/build/utils/markdown.js +16 -0
- package/build/utils/markdown.js.map +1 -0
- package/build/utils/markdown.mjs +13 -0
- package/build/utils/markdown.mjs.map +1 -0
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSettingsDialog.mjs","names":[],"sources":["../../../src/sections/Header/HeaderSettingsDialog.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Box from '@mui/material/Box';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport type { Theme } from '../../';\nimport RegistryInfoDialog from '../../components/RegistryInfoDialog';\nimport { getConfiguration } from '../../configuration';\nimport LanguageSwitch from './LanguageSwitch';\nimport RegistryInfoContent from './RegistryInfoContent';\n\ninterface Props {\n isOpen: boolean;\n onCloseDialog: () => void;\n}\n\nfunction a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n}\n\nfunction TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n <div\n aria-labelledby={`simple-tab-${index}`}\n hidden={value !== index}\n id={`simple-tabpanel-${index}`}\n role=\"tabpanel\"\n {...other}\n >\n {value === index && <Box sx={{ paddingTop: 3 }}>{children}</Box>}\n </div>\n );\n}\n\nconst TextContent = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n padding: '10px 0',\n backgroundColor: theme.palette.background.default,\n}));\n\nconst HeaderSettingsDialog: React.FC<Props> = ({ onCloseDialog, isOpen }) => {\n const [value, setValue] = React.useState(0);\n\n const handleChange = (_event, newValue) => {\n setValue(newValue);\n };\n const configStore = getConfiguration();\n const { scope, base } = configStore;\n const { t } = useTranslation();\n return (\n <RegistryInfoDialog
|
|
1
|
+
{"version":3,"file":"HeaderSettingsDialog.mjs","names":[],"sources":["../../../src/sections/Header/HeaderSettingsDialog.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Box from '@mui/material/Box';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport type { Theme } from '../../';\nimport { VERDACCIO_DOCS_URL } from '../../components/DocsLink';\nimport { CustomHelp, HelpGuide } from '../../components/Help/Help';\nimport RegistryInfoDialog from '../../components/RegistryInfoDialog';\nimport { getConfiguration } from '../../configuration';\nimport { useConfig } from '../../providers';\nimport { externalLinkComponents } from '../../utils/markdown';\nimport LanguageSwitch from './LanguageSwitch';\nimport RegistryInfoContent from './RegistryInfoContent';\n\ninterface Props {\n isOpen: boolean;\n onCloseDialog: () => void;\n}\n\nfunction a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n 'aria-controls': `simple-tabpanel-${index}`,\n };\n}\n\nfunction TabPanel(props) {\n const { children, value, index, ...other } = props;\n\n return (\n <div\n aria-labelledby={`simple-tab-${index}`}\n hidden={value !== index}\n id={`simple-tabpanel-${index}`}\n role=\"tabpanel\"\n {...other}\n >\n {value === index && <Box sx={{ paddingTop: 3, paddingBottom: 3 }}>{children}</Box>}\n </div>\n );\n}\n\nconst TextContent = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n padding: '10px 0',\n backgroundColor: theme.palette.background.default,\n}));\n\nconst HeaderSettingsDialog: React.FC<Props> = ({ onCloseDialog, isOpen }) => {\n const [value, setValue] = React.useState(0);\n\n const handleChange = (_event, newValue) => {\n setValue(newValue);\n };\n const configStore = getConfiguration();\n const { scope, base } = configStore;\n const { t } = useTranslation();\n const { configOptions } = useConfig();\n const customHelp = configOptions.help?.trim();\n return (\n <RegistryInfoDialog\n docsUrl={VERDACCIO_DOCS_URL}\n onClose={onCloseDialog}\n open={isOpen}\n title={t('dialog.settings.title')}\n >\n <Box sx={{ width: '100%' }}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <Tabs aria-label=\"basic tabs example\" onChange={handleChange} value={value}>\n <Tab label={t('packageManagers.title')} {...a11yProps(0)} />\n <Tab\n data-testid=\"settings-publish-tab\"\n label={t('help.settings-tab')}\n {...a11yProps(1)}\n />\n <Tab label={t('language.title')} {...a11yProps(2)} />\n </Tabs>\n </Box>\n <TabPanel index={0} value={value}>\n <RegistryInfoContent registryUrl={base} scope={scope} />\n </TabPanel>\n {/* the welcome guide stays reachable once the registry has packages */}\n <TabPanel data-testid=\"settings-publish\" index={1} value={value}>\n {customHelp ? <CustomHelp markdown={customHelp} /> : <HelpGuide />}\n </TabPanel>\n <TabPanel index={2} value={value}>\n <TextContent>{t('language.description')}</TextContent>\n <LanguageSwitch />\n <ReactMarkdown components={externalLinkComponents}>\n {t('language.contribute')}\n </ReactMarkdown>\n </TabPanel>\n </Box>\n </RegistryInfoDialog>\n );\n};\n\nexport default HeaderSettingsDialog;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBA,SAAS,UAAU,OAAO;CACxB,OAAO;EACL,IAAI,cAAc;EAClB,iBAAiB,mBAAmB;CACtC;AACF;AAEA,SAAS,SAAS,OAAO;CACvB,MAAM,EAAE,UAAU,OAAO,OAAO,GAAG,UAAU;CAE7C,OACE,oBAAC,OAAD;EACE,mBAAiB,cAAc;EAC/B,QAAQ,UAAU;EAClB,IAAI,mBAAmB;EACvB,MAAK;EACL,GAAI;EAEH,UAAA,UAAU,SAAS,oBAAC,KAAD;GAAK,IAAI;IAAE,YAAY;IAAG,eAAe;GAAE;GAAI;EAAc,CAAA;CAC9E,CAAA;AAET;AAEA,IAAM,cAAc,OAAO,KAAK,CAAC,EAAqB,EAAE,aAAa;CACnE,SAAS;CACT,iBAAiB,MAAM,QAAQ,WAAW;AAC5C,EAAE;AAEF,IAAM,wBAAyC,EAAE,eAAe,aAAa;CAC3E,MAAM,CAAC,OAAO,YAAY,MAAM,SAAS,CAAC;CAE1C,MAAM,gBAAgB,QAAQ,aAAa;EACzC,SAAS,QAAQ;CACnB;CAEA,MAAM,EAAE,OAAO,SADK,iBACI;CACxB,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,kBAAkB,UAAU;CACpC,MAAM,aAAa,cAAc,MAAM,KAAK;CAC5C,OACE,oBAAC,oBAAD;EACE,SAAS;EACT,SAAS;EACT,MAAM;EACN,OAAO,EAAE,uBAAuB;EAEhC,UAAA,qBAAC,KAAD;GAAK,IAAI,EAAE,OAAO,OAAO;GAAzB,UAAA;IACE,oBAAC,KAAD;KAAK,IAAI;MAAE,cAAc;MAAG,aAAa;KAAU;KACjD,UAAA,qBAAC,MAAD;MAAM,cAAW;MAAqB,UAAU;MAAqB;MAArE,UAAA;OACE,oBAAC,KAAD;QAAK,OAAO,EAAE,uBAAuB;QAAG,GAAI,UAAU,CAAC;OAAI,CAAA;OAC3D,oBAAC,KAAD;QACE,eAAY;QACZ,OAAO,EAAE,mBAAmB;QAC5B,GAAI,UAAU,CAAC;OAChB,CAAA;OACD,oBAAC,KAAD;QAAK,OAAO,EAAE,gBAAgB;QAAG,GAAI,UAAU,CAAC;OAAI,CAAA;MAChD;;IACH,CAAA;IACL,oBAAC,UAAD;KAAU,OAAO;KAAU;KACzB,UAAA,oBAAC,qBAAD;MAAqB,aAAa;MAAa;KAAQ,CAAA;IAC/C,CAAA;IAEV,oBAAC,UAAD;KAAU,eAAY;KAAmB,OAAO;KAAU;KACvD,UAAA,aAAa,oBAAC,YAAD,EAAY,UAAU,WAAa,CAAA,IAAI,oBAAC,WAAD,CAAY,CAAA;IACzD,CAAA;IACV,qBAAC,UAAD;KAAU,OAAO;KAAU;KAA3B,UAAA;MACE,oBAAC,aAAD,EAAA,UAAc,EAAE,sBAAsB,EAAe,CAAA;MACrD,oBAAC,gBAAD,CAAiB,CAAA;MACjB,oBAAC,eAAD;OAAe,YAAY;OACxB,UAAA,EAAE,qBAAqB;MACX,CAAA;KACP;;GACP;;CACa,CAAA;AAExB"}
|
|
@@ -4,6 +4,7 @@ export declare const NODE_MANAGER: {
|
|
|
4
4
|
npm: string;
|
|
5
5
|
yarn: string;
|
|
6
6
|
pnpm: string;
|
|
7
|
+
bun: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const AccordionContainer: import("@emotion/styled").StyledComponent<{
|
|
9
10
|
theme?: import("@emotion/react").Theme;
|
|
@@ -13,10 +14,6 @@ export declare const CommandContainer: import("@emotion/styled").StyledComponent
|
|
|
13
14
|
theme?: import("@emotion/react").Theme;
|
|
14
15
|
as?: React.ElementType;
|
|
15
16
|
}, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
16
|
-
export declare const LinkContainer: import("@emotion/styled").StyledComponent<{
|
|
17
|
-
theme?: import("@emotion/react").Theme;
|
|
18
|
-
as?: React.ElementType;
|
|
19
|
-
}, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
20
17
|
export type Props = {
|
|
21
18
|
registryUrl: string;
|
|
22
19
|
scope: string | undefined;
|
|
@@ -2,6 +2,7 @@ const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
|
|
|
2
2
|
const require_CopyToClipBoard = require("../../../components/CopyClipboard/CopyToClipBoard.js");
|
|
3
3
|
const require_cli_utils = require("../../../utils/cli-utils.js");
|
|
4
4
|
const require_AppConfigurationProvider = require("../../../providers/AppConfigurationProvider/AppConfigurationProvider.js");
|
|
5
|
+
const require_markdown = require("../../../utils/markdown.js");
|
|
5
6
|
const require_styles = require("./styles.js");
|
|
6
7
|
require("../../../index.js");
|
|
7
8
|
let _emotion_styled = require("@emotion/styled");
|
|
@@ -12,8 +13,6 @@ let react_i18next = require("react-i18next");
|
|
|
12
13
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
14
|
let _mui_material_Box = require("@mui/material/Box");
|
|
14
15
|
_mui_material_Box = require_runtime.__toESM(_mui_material_Box);
|
|
15
|
-
let _mui_material_Link = require("@mui/material/Link");
|
|
16
|
-
_mui_material_Link = require_runtime.__toESM(_mui_material_Link);
|
|
17
16
|
let _mui_material_Typography = require("@mui/material/Typography");
|
|
18
17
|
_mui_material_Typography = require_runtime.__toESM(_mui_material_Typography);
|
|
19
18
|
let react_markdown = require("react-markdown");
|
|
@@ -30,7 +29,8 @@ _mui_material_AccordionSummary = require_runtime.__toESM(_mui_material_Accordion
|
|
|
30
29
|
var NODE_MANAGER = {
|
|
31
30
|
npm: "npm",
|
|
32
31
|
yarn: "yarn",
|
|
33
|
-
pnpm: "pnpm"
|
|
32
|
+
pnpm: "pnpm",
|
|
33
|
+
bun: "bun"
|
|
34
34
|
};
|
|
35
35
|
var renderNpmTab = (scope, registryUrl) => {
|
|
36
36
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Box.default, {
|
|
@@ -92,22 +92,59 @@ var renderYarnBerryTab = (scope, registryUrl) => {
|
|
|
92
92
|
})
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
|
+
var renderBunTab = (scope, registryUrl) => {
|
|
96
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Box.default, {
|
|
97
|
+
display: "flex",
|
|
98
|
+
flexDirection: "column",
|
|
99
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CopyToClipBoard.default, {
|
|
100
|
+
dataTestId: "copy",
|
|
101
|
+
text: require_cli_utils.getBunfigRegistry(scope, registryUrl)
|
|
102
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CopyToClipBoard.default, {
|
|
103
|
+
dataTestId: "copy",
|
|
104
|
+
text: require_cli_utils.getCLISetRegistry(`${NODE_MANAGER.bun} publish`, registryUrl)
|
|
105
|
+
})]
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
var PLACEHOLDER_SCOPE = "@your-scope";
|
|
109
|
+
var renderMinReleaseAgeTab = (managers, scope, t) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Box.default, {
|
|
110
|
+
display: "flex",
|
|
111
|
+
flexDirection: "column",
|
|
112
|
+
children: managers.map((manager) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Box.default, {
|
|
113
|
+
"data-testid": `min-release-age-${manager}`,
|
|
114
|
+
sx: { mb: 2 },
|
|
115
|
+
children: [
|
|
116
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Typography.default, {
|
|
117
|
+
sx: { fontWeight: "bold" },
|
|
118
|
+
children: manager
|
|
119
|
+
}),
|
|
120
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: t(`packageManagers.minReleaseAge.${manager}`) }),
|
|
121
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CopyToClipBoard.default, {
|
|
122
|
+
dataTestId: "copy",
|
|
123
|
+
text: require_cli_utils.getMinReleaseAgeConfig(manager, scope)
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
}, manager))
|
|
127
|
+
});
|
|
95
128
|
var AccordionContainer = (0, _emotion_styled.default)("div")({
|
|
96
129
|
padding: 0,
|
|
97
130
|
paddingLeft: 0,
|
|
98
131
|
paddingRight: 0
|
|
99
132
|
});
|
|
100
133
|
var CommandContainer = (0, _emotion_styled.default)("div")({ padding: 5 });
|
|
101
|
-
var LinkContainer = (0, _emotion_styled.default)("div")({
|
|
102
|
-
margin: 10,
|
|
103
|
-
marginLeft: 0
|
|
104
|
-
});
|
|
105
134
|
var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
106
135
|
const { t } = (0, react_i18next.useTranslation)();
|
|
107
136
|
const { configOptions } = require_AppConfigurationProvider.useConfig();
|
|
108
137
|
const hasNpm = configOptions?.pkgManagers?.includes("npm");
|
|
109
138
|
const hasYarn = configOptions?.pkgManagers?.includes("yarn");
|
|
110
139
|
const hasPnpm = configOptions?.pkgManagers?.includes("pnpm");
|
|
140
|
+
const hasBun = configOptions?.pkgManagers?.includes("bun");
|
|
141
|
+
const minAgeManagers = [
|
|
142
|
+
"npm",
|
|
143
|
+
"pnpm",
|
|
144
|
+
"yarn",
|
|
145
|
+
"bun"
|
|
146
|
+
].filter((manager) => configOptions?.pkgManagers?.includes(manager));
|
|
147
|
+
const exampleScope = scope || PLACEHOLDER_SCOPE;
|
|
111
148
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.TextContent, { children: t("packageManagers.description") }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(AccordionContainer, { children: [
|
|
112
149
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Accordion.default, {
|
|
113
150
|
disabled: !hasNpm,
|
|
@@ -141,12 +178,18 @@ var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
|
141
178
|
children: "yarn"
|
|
142
179
|
})
|
|
143
180
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_AccordionDetails.default, { children: [
|
|
144
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
181
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
182
|
+
components: require_markdown.externalLinkComponents,
|
|
183
|
+
children: t("packageManagers.yarnclassicDetails")
|
|
184
|
+
}) }),
|
|
145
185
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommandContainer, {
|
|
146
186
|
"data-testid": "tab-content",
|
|
147
187
|
children: renderYarnTab(scope, registryUrl)
|
|
148
188
|
}),
|
|
149
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
189
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
190
|
+
components: require_markdown.externalLinkComponents,
|
|
191
|
+
children: t("packageManagers.yarnBerryDetails")
|
|
192
|
+
}) }),
|
|
150
193
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommandContainer, {
|
|
151
194
|
"data-testid": "tab-content",
|
|
152
195
|
children: renderYarnBerryTab(scope, registryUrl)
|
|
@@ -171,17 +214,57 @@ var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
|
171
214
|
children: renderPnpmTab(scope, registryUrl)
|
|
172
215
|
}) })]
|
|
173
216
|
}),
|
|
174
|
-
/* @__PURE__ */ (0, react_jsx_runtime.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
217
|
+
hasBun && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Accordion.default, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_AccordionSummary.default, {
|
|
218
|
+
"aria-controls": "panel4a-content",
|
|
219
|
+
expandIcon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_icons_material_ExpandMore.default, {}),
|
|
220
|
+
id: "panel4a-header",
|
|
221
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Typography.default, {
|
|
222
|
+
sx: {
|
|
223
|
+
fontSize: "1rem",
|
|
224
|
+
fontWeight: "bold"
|
|
225
|
+
},
|
|
226
|
+
children: "bun"
|
|
227
|
+
})
|
|
228
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_AccordionDetails.default, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
229
|
+
components: require_markdown.externalLinkComponents,
|
|
230
|
+
children: t("packageManagers.bunDetails")
|
|
231
|
+
}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommandContainer, {
|
|
232
|
+
"data-testid": "tab-content",
|
|
233
|
+
children: renderBunTab(scope, registryUrl)
|
|
234
|
+
})] })] }),
|
|
235
|
+
minAgeManagers.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Accordion.default, {
|
|
236
|
+
"data-testid": "min-release-age",
|
|
237
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_AccordionSummary.default, {
|
|
238
|
+
"aria-controls": "panel5a-content",
|
|
239
|
+
expandIcon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_icons_material_ExpandMore.default, {}),
|
|
240
|
+
id: "panel5a-header",
|
|
241
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Typography.default, {
|
|
242
|
+
sx: {
|
|
243
|
+
fontSize: "1rem",
|
|
244
|
+
fontWeight: "bold"
|
|
245
|
+
},
|
|
246
|
+
children: t("packageManagers.minReleaseAge.title")
|
|
247
|
+
})
|
|
248
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_AccordionDetails.default, { children: [
|
|
249
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: t("packageManagers.minReleaseAge.description", {
|
|
250
|
+
days: 3,
|
|
251
|
+
scope: exampleScope
|
|
252
|
+
}) }),
|
|
253
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommandContainer, {
|
|
254
|
+
"data-testid": "tab-content",
|
|
255
|
+
children: renderMinReleaseAgeTab(minAgeManagers, exampleScope, t)
|
|
256
|
+
}),
|
|
257
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Description, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_markdown.default, {
|
|
258
|
+
components: require_markdown.externalLinkComponents,
|
|
259
|
+
children: t("packageManagers.minReleaseAge.registry")
|
|
260
|
+
}) })
|
|
261
|
+
] })]
|
|
262
|
+
})
|
|
179
263
|
] })] });
|
|
180
264
|
};
|
|
181
265
|
//#endregion
|
|
182
266
|
exports.AccordionContainer = AccordionContainer;
|
|
183
267
|
exports.CommandContainer = CommandContainer;
|
|
184
|
-
exports.LinkContainer = LinkContainer;
|
|
185
268
|
exports.NODE_MANAGER = NODE_MANAGER;
|
|
186
269
|
exports.default = RegistryInfoContent;
|
|
187
270
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryInfoContent.js","names":["Box","CopyClipboard","getCLISetConfigRegistry","getCLISetRegistry","getCLIChangePassword","getCLISBerryYamlRegistry","styled","useTranslation","useConfig","_Fragment","TextContent","Accordion","AccordionSummary","ExpandMoreIcon","Typography","AccordionDetails","Description","ReactMarkdown","Link"],"sources":["../../../../src/sections/Header/RegistryInfoContent/RegistryInfoContent.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Box from '@mui/material/Box';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport {\n CopyClipboard,\n getCLIChangePassword,\n getCLISBerryYamlRegistry,\n getCLISetConfigRegistry,\n getCLISetRegistry,\n useConfig,\n} from '../../../';\nimport { Description, TextContent } from './styles';\n\nexport const NODE_MANAGER = {\n npm: 'npm',\n yarn: 'yarn',\n pnpm: 'pnpm',\n};\n\nconst renderNpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.npm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.npm} adduser`, registryUrl)}\n />\n <CopyClipboard dataTestId=\"copy\" text={getCLIChangePassword(NODE_MANAGER.npm, registryUrl)} />\n </Box>\n );\n};\n\nconst renderPnpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.pnpm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.pnpm} adduser`, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLIChangePassword(NODE_MANAGER.pnpm, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.yarn} config set`, scope, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnBerryTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getCLISBerryYamlRegistry(scope, registryUrl)} />\n </Box>\n );\n};\n\nexport const AccordionContainer = styled('div')({\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n});\n\nexport const CommandContainer = styled('div')({\n padding: 5,\n});\n\nexport const LinkContainer = styled('div')({\n margin: 10,\n marginLeft: 0,\n});\n\nexport type Props = {\n registryUrl: string;\n scope: string | undefined;\n};\n\nconst RegistryInfoContent: FC<Props> = ({ scope, registryUrl }) => {\n const { t } = useTranslation();\n const { configOptions } = useConfig();\n\n const hasNpm = configOptions?.pkgManagers?.includes('npm');\n const hasYarn = configOptions?.pkgManagers?.includes('yarn');\n const hasPnpm = configOptions?.pkgManagers?.includes('pnpm');\n // TODO: we can improve this logic, expanding only one accordion based on which package manager is enabled\n // feel free to contribute here\n return (\n <>\n <TextContent>{t('packageManagers.description')}</TextContent>\n <AccordionContainer>\n <Accordion disabled={!hasNpm}>\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel1a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'npm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderNpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n <Accordion disabled={!hasYarn}>\n <AccordionSummary\n aria-controls=\"panel2a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel2a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'yarn'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown>{t('packageManagers.yarnclassicDetails')}</ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnTab(scope, registryUrl)}\n </CommandContainer>\n <Description>\n <ReactMarkdown>{t('packageManagers.yarnBerryDetails')}</ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnBerryTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <Accordion disabled={!hasPnpm}>\n <AccordionSummary\n aria-controls=\"panel3a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel3a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'pnpm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderPnpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <LinkContainer>\n <Link href=\"https://verdaccio.org/docs/cli-registry\" target=\"_blank\">\n <Typography>{t('header.registry-info-link')}</Typography>\n </Link>\n </LinkContainer>\n </AccordionContainer>\n </>\n );\n};\n\nexport default RegistryInfoContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RegistryInfoContent.js","names":["Box","CopyClipboard","getCLISetConfigRegistry","getCLISetRegistry","getCLIChangePassword","getCLISBerryYamlRegistry","getBunfigRegistry","Typography","Description","getMinReleaseAgeConfig","styled","useTranslation","useConfig","_Fragment","TextContent","Accordion","AccordionSummary","ExpandMoreIcon","AccordionDetails","ReactMarkdown","externalLinkComponents"],"sources":["../../../../src/sections/Header/RegistryInfoContent/RegistryInfoContent.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport {\n CopyClipboard,\n MIN_RELEASE_AGE_DAYS,\n getBunfigRegistry,\n getCLIChangePassword,\n getCLISBerryYamlRegistry,\n getCLISetConfigRegistry,\n getCLISetRegistry,\n getMinReleaseAgeConfig,\n useConfig,\n} from '../../../';\nimport { externalLinkComponents } from '../../../utils/markdown';\nimport { Description, TextContent } from './styles';\n\nexport const NODE_MANAGER = {\n npm: 'npm',\n yarn: 'yarn',\n pnpm: 'pnpm',\n bun: 'bun',\n};\n\nconst renderNpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.npm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.npm} adduser`, registryUrl)}\n />\n <CopyClipboard dataTestId=\"copy\" text={getCLIChangePassword(NODE_MANAGER.npm, registryUrl)} />\n </Box>\n );\n};\n\nconst renderPnpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.pnpm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.pnpm} adduser`, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLIChangePassword(NODE_MANAGER.pnpm, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.yarn} config set`, scope, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnBerryTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getCLISBerryYamlRegistry(scope, registryUrl)} />\n </Box>\n );\n};\n\nconst renderBunTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getBunfigRegistry(scope, registryUrl)} />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.bun} publish`, registryUrl)}\n />\n </Box>\n );\n};\n\n// shown when the registry sets no web.scope\nconst PLACEHOLDER_SCOPE = '@your-scope';\n\nconst renderMinReleaseAgeTab = (\n managers: string[],\n scope: string,\n t: (key: string) => string\n): React.JSX.Element => (\n <Box display=\"flex\" flexDirection=\"column\">\n {managers.map((manager) => (\n <Box data-testid={`min-release-age-${manager}`} key={manager} sx={{ mb: 2 }}>\n <Typography sx={{ fontWeight: 'bold' }}>{manager}</Typography>\n <Description>{t(`packageManagers.minReleaseAge.${manager}`)}</Description>\n <CopyClipboard dataTestId=\"copy\" text={getMinReleaseAgeConfig(manager, scope)} />\n </Box>\n ))}\n </Box>\n);\n\nexport const AccordionContainer = styled('div')({\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n});\n\nexport const CommandContainer = styled('div')({\n padding: 5,\n});\n\nexport type Props = {\n registryUrl: string;\n scope: string | undefined;\n};\n\nconst RegistryInfoContent: FC<Props> = ({ scope, registryUrl }) => {\n const { t } = useTranslation();\n const { configOptions } = useConfig();\n\n const hasNpm = configOptions?.pkgManagers?.includes('npm');\n const hasYarn = configOptions?.pkgManagers?.includes('yarn');\n const hasPnpm = configOptions?.pkgManagers?.includes('pnpm');\n const hasBun = configOptions?.pkgManagers?.includes('bun');\n const minAgeManagers = ['npm', 'pnpm', 'yarn', 'bun'].filter((manager) =>\n configOptions?.pkgManagers?.includes(manager)\n );\n const exampleScope = scope || PLACEHOLDER_SCOPE;\n // TODO: we can improve this logic, expanding only one accordion based on which package manager is enabled\n // feel free to contribute here\n return (\n <>\n <TextContent>{t('packageManagers.description')}</TextContent>\n <AccordionContainer>\n <Accordion disabled={!hasNpm}>\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel1a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'npm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderNpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n <Accordion disabled={!hasYarn}>\n <AccordionSummary\n aria-controls=\"panel2a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel2a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'yarn'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.yarnclassicDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnTab(scope, registryUrl)}\n </CommandContainer>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.yarnBerryDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnBerryTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <Accordion disabled={!hasPnpm}>\n <AccordionSummary\n aria-controls=\"panel3a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel3a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'pnpm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderPnpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n {hasBun && (\n <Accordion>\n <AccordionSummary\n aria-controls=\"panel4a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel4a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'bun'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.bunDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderBunTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n )}\n\n {minAgeManagers.length > 0 && (\n <Accordion data-testid=\"min-release-age\">\n <AccordionSummary\n aria-controls=\"panel5a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel5a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>\n {t('packageManagers.minReleaseAge.title')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n {t('packageManagers.minReleaseAge.description', {\n days: MIN_RELEASE_AGE_DAYS,\n scope: exampleScope,\n })}\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderMinReleaseAgeTab(minAgeManagers, exampleScope, t)}\n </CommandContainer>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.minReleaseAge.registry')}\n </ReactMarkdown>\n </Description>\n </AccordionDetails>\n </Accordion>\n )}\n </AccordionContainer>\n </>\n );\n};\n\nexport default RegistryInfoContent;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import CopyToClipBoard from "../../../components/CopyClipboard/CopyToClipBoard.mjs";
|
|
2
|
-
import { getCLIChangePassword, getCLISBerryYamlRegistry, getCLISetConfigRegistry, getCLISetRegistry } from "../../../utils/cli-utils.mjs";
|
|
2
|
+
import { getBunfigRegistry, getCLIChangePassword, getCLISBerryYamlRegistry, getCLISetConfigRegistry, getCLISetRegistry, getMinReleaseAgeConfig } from "../../../utils/cli-utils.mjs";
|
|
3
3
|
import { useConfig } from "../../../providers/AppConfigurationProvider/AppConfigurationProvider.mjs";
|
|
4
|
+
import { externalLinkComponents } from "../../../utils/markdown.mjs";
|
|
4
5
|
import { Description, TextContent } from "./styles.mjs";
|
|
5
6
|
import "../../../index.mjs";
|
|
6
7
|
import styled from "@emotion/styled";
|
|
@@ -8,7 +9,6 @@ import "react";
|
|
|
8
9
|
import { useTranslation } from "react-i18next";
|
|
9
10
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
import Box from "@mui/material/Box";
|
|
11
|
-
import Link from "@mui/material/Link";
|
|
12
12
|
import Typography from "@mui/material/Typography";
|
|
13
13
|
import ReactMarkdown from "react-markdown";
|
|
14
14
|
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
|
|
@@ -19,7 +19,8 @@ import AccordionSummary from "@mui/material/AccordionSummary";
|
|
|
19
19
|
var NODE_MANAGER = {
|
|
20
20
|
npm: "npm",
|
|
21
21
|
yarn: "yarn",
|
|
22
|
-
pnpm: "pnpm"
|
|
22
|
+
pnpm: "pnpm",
|
|
23
|
+
bun: "bun"
|
|
23
24
|
};
|
|
24
25
|
var renderNpmTab = (scope, registryUrl) => {
|
|
25
26
|
return /* @__PURE__ */ jsxs(Box, {
|
|
@@ -81,22 +82,59 @@ var renderYarnBerryTab = (scope, registryUrl) => {
|
|
|
81
82
|
})
|
|
82
83
|
});
|
|
83
84
|
};
|
|
85
|
+
var renderBunTab = (scope, registryUrl) => {
|
|
86
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
87
|
+
display: "flex",
|
|
88
|
+
flexDirection: "column",
|
|
89
|
+
children: [/* @__PURE__ */ jsx(CopyToClipBoard, {
|
|
90
|
+
dataTestId: "copy",
|
|
91
|
+
text: getBunfigRegistry(scope, registryUrl)
|
|
92
|
+
}), /* @__PURE__ */ jsx(CopyToClipBoard, {
|
|
93
|
+
dataTestId: "copy",
|
|
94
|
+
text: getCLISetRegistry(`${NODE_MANAGER.bun} publish`, registryUrl)
|
|
95
|
+
})]
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
var PLACEHOLDER_SCOPE = "@your-scope";
|
|
99
|
+
var renderMinReleaseAgeTab = (managers, scope, t) => /* @__PURE__ */ jsx(Box, {
|
|
100
|
+
display: "flex",
|
|
101
|
+
flexDirection: "column",
|
|
102
|
+
children: managers.map((manager) => /* @__PURE__ */ jsxs(Box, {
|
|
103
|
+
"data-testid": `min-release-age-${manager}`,
|
|
104
|
+
sx: { mb: 2 },
|
|
105
|
+
children: [
|
|
106
|
+
/* @__PURE__ */ jsx(Typography, {
|
|
107
|
+
sx: { fontWeight: "bold" },
|
|
108
|
+
children: manager
|
|
109
|
+
}),
|
|
110
|
+
/* @__PURE__ */ jsx(Description, { children: t(`packageManagers.minReleaseAge.${manager}`) }),
|
|
111
|
+
/* @__PURE__ */ jsx(CopyToClipBoard, {
|
|
112
|
+
dataTestId: "copy",
|
|
113
|
+
text: getMinReleaseAgeConfig(manager, scope)
|
|
114
|
+
})
|
|
115
|
+
]
|
|
116
|
+
}, manager))
|
|
117
|
+
});
|
|
84
118
|
var AccordionContainer = styled("div")({
|
|
85
119
|
padding: 0,
|
|
86
120
|
paddingLeft: 0,
|
|
87
121
|
paddingRight: 0
|
|
88
122
|
});
|
|
89
123
|
var CommandContainer = styled("div")({ padding: 5 });
|
|
90
|
-
var LinkContainer = styled("div")({
|
|
91
|
-
margin: 10,
|
|
92
|
-
marginLeft: 0
|
|
93
|
-
});
|
|
94
124
|
var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
95
125
|
const { t } = useTranslation();
|
|
96
126
|
const { configOptions } = useConfig();
|
|
97
127
|
const hasNpm = configOptions?.pkgManagers?.includes("npm");
|
|
98
128
|
const hasYarn = configOptions?.pkgManagers?.includes("yarn");
|
|
99
129
|
const hasPnpm = configOptions?.pkgManagers?.includes("pnpm");
|
|
130
|
+
const hasBun = configOptions?.pkgManagers?.includes("bun");
|
|
131
|
+
const minAgeManagers = [
|
|
132
|
+
"npm",
|
|
133
|
+
"pnpm",
|
|
134
|
+
"yarn",
|
|
135
|
+
"bun"
|
|
136
|
+
].filter((manager) => configOptions?.pkgManagers?.includes(manager));
|
|
137
|
+
const exampleScope = scope || PLACEHOLDER_SCOPE;
|
|
100
138
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(TextContent, { children: t("packageManagers.description") }), /* @__PURE__ */ jsxs(AccordionContainer, { children: [
|
|
101
139
|
/* @__PURE__ */ jsxs(Accordion, {
|
|
102
140
|
disabled: !hasNpm,
|
|
@@ -130,12 +168,18 @@ var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
|
130
168
|
children: "yarn"
|
|
131
169
|
})
|
|
132
170
|
}), /* @__PURE__ */ jsxs(AccordionDetails, { children: [
|
|
133
|
-
/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
171
|
+
/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
172
|
+
components: externalLinkComponents,
|
|
173
|
+
children: t("packageManagers.yarnclassicDetails")
|
|
174
|
+
}) }),
|
|
134
175
|
/* @__PURE__ */ jsx(CommandContainer, {
|
|
135
176
|
"data-testid": "tab-content",
|
|
136
177
|
children: renderYarnTab(scope, registryUrl)
|
|
137
178
|
}),
|
|
138
|
-
/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
179
|
+
/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
180
|
+
components: externalLinkComponents,
|
|
181
|
+
children: t("packageManagers.yarnBerryDetails")
|
|
182
|
+
}) }),
|
|
139
183
|
/* @__PURE__ */ jsx(CommandContainer, {
|
|
140
184
|
"data-testid": "tab-content",
|
|
141
185
|
children: renderYarnBerryTab(scope, registryUrl)
|
|
@@ -160,14 +204,55 @@ var RegistryInfoContent = ({ scope, registryUrl }) => {
|
|
|
160
204
|
children: renderPnpmTab(scope, registryUrl)
|
|
161
205
|
}) })]
|
|
162
206
|
}),
|
|
163
|
-
/* @__PURE__ */
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
207
|
+
hasBun && /* @__PURE__ */ jsxs(Accordion, { children: [/* @__PURE__ */ jsx(AccordionSummary, {
|
|
208
|
+
"aria-controls": "panel4a-content",
|
|
209
|
+
expandIcon: /* @__PURE__ */ jsx(ExpandMoreIcon, {}),
|
|
210
|
+
id: "panel4a-header",
|
|
211
|
+
children: /* @__PURE__ */ jsx(Typography, {
|
|
212
|
+
sx: {
|
|
213
|
+
fontSize: "1rem",
|
|
214
|
+
fontWeight: "bold"
|
|
215
|
+
},
|
|
216
|
+
children: "bun"
|
|
217
|
+
})
|
|
218
|
+
}), /* @__PURE__ */ jsxs(AccordionDetails, { children: [/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
219
|
+
components: externalLinkComponents,
|
|
220
|
+
children: t("packageManagers.bunDetails")
|
|
221
|
+
}) }), /* @__PURE__ */ jsx(CommandContainer, {
|
|
222
|
+
"data-testid": "tab-content",
|
|
223
|
+
children: renderBunTab(scope, registryUrl)
|
|
224
|
+
})] })] }),
|
|
225
|
+
minAgeManagers.length > 0 && /* @__PURE__ */ jsxs(Accordion, {
|
|
226
|
+
"data-testid": "min-release-age",
|
|
227
|
+
children: [/* @__PURE__ */ jsx(AccordionSummary, {
|
|
228
|
+
"aria-controls": "panel5a-content",
|
|
229
|
+
expandIcon: /* @__PURE__ */ jsx(ExpandMoreIcon, {}),
|
|
230
|
+
id: "panel5a-header",
|
|
231
|
+
children: /* @__PURE__ */ jsx(Typography, {
|
|
232
|
+
sx: {
|
|
233
|
+
fontSize: "1rem",
|
|
234
|
+
fontWeight: "bold"
|
|
235
|
+
},
|
|
236
|
+
children: t("packageManagers.minReleaseAge.title")
|
|
237
|
+
})
|
|
238
|
+
}), /* @__PURE__ */ jsxs(AccordionDetails, { children: [
|
|
239
|
+
/* @__PURE__ */ jsx(Description, { children: t("packageManagers.minReleaseAge.description", {
|
|
240
|
+
days: 3,
|
|
241
|
+
scope: exampleScope
|
|
242
|
+
}) }),
|
|
243
|
+
/* @__PURE__ */ jsx(CommandContainer, {
|
|
244
|
+
"data-testid": "tab-content",
|
|
245
|
+
children: renderMinReleaseAgeTab(minAgeManagers, exampleScope, t)
|
|
246
|
+
}),
|
|
247
|
+
/* @__PURE__ */ jsx(Description, { children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
248
|
+
components: externalLinkComponents,
|
|
249
|
+
children: t("packageManagers.minReleaseAge.registry")
|
|
250
|
+
}) })
|
|
251
|
+
] })]
|
|
252
|
+
})
|
|
168
253
|
] })] });
|
|
169
254
|
};
|
|
170
255
|
//#endregion
|
|
171
|
-
export { AccordionContainer, CommandContainer,
|
|
256
|
+
export { AccordionContainer, CommandContainer, NODE_MANAGER, RegistryInfoContent as default };
|
|
172
257
|
|
|
173
258
|
//# sourceMappingURL=RegistryInfoContent.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryInfoContent.mjs","names":["CopyClipboard","_Fragment"],"sources":["../../../../src/sections/Header/RegistryInfoContent/RegistryInfoContent.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Box from '@mui/material/Box';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport {\n CopyClipboard,\n getCLIChangePassword,\n getCLISBerryYamlRegistry,\n getCLISetConfigRegistry,\n getCLISetRegistry,\n useConfig,\n} from '../../../';\nimport { Description, TextContent } from './styles';\n\nexport const NODE_MANAGER = {\n npm: 'npm',\n yarn: 'yarn',\n pnpm: 'pnpm',\n};\n\nconst renderNpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.npm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.npm} adduser`, registryUrl)}\n />\n <CopyClipboard dataTestId=\"copy\" text={getCLIChangePassword(NODE_MANAGER.npm, registryUrl)} />\n </Box>\n );\n};\n\nconst renderPnpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.pnpm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.pnpm} adduser`, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLIChangePassword(NODE_MANAGER.pnpm, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.yarn} config set`, scope, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnBerryTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getCLISBerryYamlRegistry(scope, registryUrl)} />\n </Box>\n );\n};\n\nexport const AccordionContainer = styled('div')({\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n});\n\nexport const CommandContainer = styled('div')({\n padding: 5,\n});\n\nexport const LinkContainer = styled('div')({\n margin: 10,\n marginLeft: 0,\n});\n\nexport type Props = {\n registryUrl: string;\n scope: string | undefined;\n};\n\nconst RegistryInfoContent: FC<Props> = ({ scope, registryUrl }) => {\n const { t } = useTranslation();\n const { configOptions } = useConfig();\n\n const hasNpm = configOptions?.pkgManagers?.includes('npm');\n const hasYarn = configOptions?.pkgManagers?.includes('yarn');\n const hasPnpm = configOptions?.pkgManagers?.includes('pnpm');\n // TODO: we can improve this logic, expanding only one accordion based on which package manager is enabled\n // feel free to contribute here\n return (\n <>\n <TextContent>{t('packageManagers.description')}</TextContent>\n <AccordionContainer>\n <Accordion disabled={!hasNpm}>\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel1a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'npm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderNpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n <Accordion disabled={!hasYarn}>\n <AccordionSummary\n aria-controls=\"panel2a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel2a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'yarn'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown>{t('packageManagers.yarnclassicDetails')}</ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnTab(scope, registryUrl)}\n </CommandContainer>\n <Description>\n <ReactMarkdown>{t('packageManagers.yarnBerryDetails')}</ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnBerryTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <Accordion disabled={!hasPnpm}>\n <AccordionSummary\n aria-controls=\"panel3a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel3a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'pnpm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderPnpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <LinkContainer>\n <Link href=\"https://verdaccio.org/docs/cli-registry\" target=\"_blank\">\n <Typography>{t('header.registry-info-link')}</Typography>\n </Link>\n </LinkContainer>\n </AccordionContainer>\n </>\n );\n};\n\nexport default RegistryInfoContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RegistryInfoContent.mjs","names":["CopyClipboard","_Fragment"],"sources":["../../../../src/sections/Header/RegistryInfoContent/RegistryInfoContent.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactMarkdown from 'react-markdown';\n\nimport {\n CopyClipboard,\n MIN_RELEASE_AGE_DAYS,\n getBunfigRegistry,\n getCLIChangePassword,\n getCLISBerryYamlRegistry,\n getCLISetConfigRegistry,\n getCLISetRegistry,\n getMinReleaseAgeConfig,\n useConfig,\n} from '../../../';\nimport { externalLinkComponents } from '../../../utils/markdown';\nimport { Description, TextContent } from './styles';\n\nexport const NODE_MANAGER = {\n npm: 'npm',\n yarn: 'yarn',\n pnpm: 'pnpm',\n bun: 'bun',\n};\n\nconst renderNpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.npm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.npm} adduser`, registryUrl)}\n />\n <CopyClipboard dataTestId=\"copy\" text={getCLIChangePassword(NODE_MANAGER.npm, registryUrl)} />\n </Box>\n );\n};\n\nconst renderPnpmTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.pnpm} set`, scope, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.pnpm} adduser`, registryUrl)}\n />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLIChangePassword(NODE_MANAGER.pnpm, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetConfigRegistry(`${NODE_MANAGER.yarn} config set`, scope, registryUrl)}\n />\n </Box>\n );\n};\n\nconst renderYarnBerryTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getCLISBerryYamlRegistry(scope, registryUrl)} />\n </Box>\n );\n};\n\nconst renderBunTab = (scope: string | undefined, registryUrl: string): React.JSX.Element => {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <CopyClipboard dataTestId=\"copy\" text={getBunfigRegistry(scope, registryUrl)} />\n <CopyClipboard\n dataTestId=\"copy\"\n text={getCLISetRegistry(`${NODE_MANAGER.bun} publish`, registryUrl)}\n />\n </Box>\n );\n};\n\n// shown when the registry sets no web.scope\nconst PLACEHOLDER_SCOPE = '@your-scope';\n\nconst renderMinReleaseAgeTab = (\n managers: string[],\n scope: string,\n t: (key: string) => string\n): React.JSX.Element => (\n <Box display=\"flex\" flexDirection=\"column\">\n {managers.map((manager) => (\n <Box data-testid={`min-release-age-${manager}`} key={manager} sx={{ mb: 2 }}>\n <Typography sx={{ fontWeight: 'bold' }}>{manager}</Typography>\n <Description>{t(`packageManagers.minReleaseAge.${manager}`)}</Description>\n <CopyClipboard dataTestId=\"copy\" text={getMinReleaseAgeConfig(manager, scope)} />\n </Box>\n ))}\n </Box>\n);\n\nexport const AccordionContainer = styled('div')({\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n});\n\nexport const CommandContainer = styled('div')({\n padding: 5,\n});\n\nexport type Props = {\n registryUrl: string;\n scope: string | undefined;\n};\n\nconst RegistryInfoContent: FC<Props> = ({ scope, registryUrl }) => {\n const { t } = useTranslation();\n const { configOptions } = useConfig();\n\n const hasNpm = configOptions?.pkgManagers?.includes('npm');\n const hasYarn = configOptions?.pkgManagers?.includes('yarn');\n const hasPnpm = configOptions?.pkgManagers?.includes('pnpm');\n const hasBun = configOptions?.pkgManagers?.includes('bun');\n const minAgeManagers = ['npm', 'pnpm', 'yarn', 'bun'].filter((manager) =>\n configOptions?.pkgManagers?.includes(manager)\n );\n const exampleScope = scope || PLACEHOLDER_SCOPE;\n // TODO: we can improve this logic, expanding only one accordion based on which package manager is enabled\n // feel free to contribute here\n return (\n <>\n <TextContent>{t('packageManagers.description')}</TextContent>\n <AccordionContainer>\n <Accordion disabled={!hasNpm}>\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel1a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'npm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderNpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n <Accordion disabled={!hasYarn}>\n <AccordionSummary\n aria-controls=\"panel2a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel2a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'yarn'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.yarnclassicDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnTab(scope, registryUrl)}\n </CommandContainer>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.yarnBerryDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderYarnBerryTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n <Accordion disabled={!hasPnpm}>\n <AccordionSummary\n aria-controls=\"panel3a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel3a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'pnpm'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CommandContainer data-testid={'tab-content'}>\n {renderPnpmTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n\n {hasBun && (\n <Accordion>\n <AccordionSummary\n aria-controls=\"panel4a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel4a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>{'bun'}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.bunDetails')}\n </ReactMarkdown>\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderBunTab(scope, registryUrl)}\n </CommandContainer>\n </AccordionDetails>\n </Accordion>\n )}\n\n {minAgeManagers.length > 0 && (\n <Accordion data-testid=\"min-release-age\">\n <AccordionSummary\n aria-controls=\"panel5a-content\"\n expandIcon={<ExpandMoreIcon />}\n id=\"panel5a-header\"\n >\n <Typography sx={{ fontSize: '1rem', fontWeight: 'bold' }}>\n {t('packageManagers.minReleaseAge.title')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Description>\n {t('packageManagers.minReleaseAge.description', {\n days: MIN_RELEASE_AGE_DAYS,\n scope: exampleScope,\n })}\n </Description>\n <CommandContainer data-testid={'tab-content'}>\n {renderMinReleaseAgeTab(minAgeManagers, exampleScope, t)}\n </CommandContainer>\n <Description>\n <ReactMarkdown components={externalLinkComponents}>\n {t('packageManagers.minReleaseAge.registry')}\n </ReactMarkdown>\n </Description>\n </AccordionDetails>\n </Accordion>\n )}\n </AccordionContainer>\n </>\n );\n};\n\nexport default RegistryInfoContent;\n"],"mappings":"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"}
|
|
@@ -1,20 +1,76 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_AppConfigurationProvider = require("../../providers/AppConfigurationProvider/AppConfigurationProvider.js");
|
|
3
|
+
const require_useLocalStorage = require("../../hooks/useLocalStorage.js");
|
|
2
4
|
const require_ManifestsProvider = require("../../providers/ManifestsProvider/ManifestsProvider.js");
|
|
5
|
+
const require_NoItems = require("../../components/NoItems/NoItems.js");
|
|
6
|
+
require("../../components/NoItems/index.js");
|
|
3
7
|
const require_GenericError = require("../../components/GenericError/GenericError.js");
|
|
4
|
-
const
|
|
8
|
+
const require_PackageListSkeleton = require("../../components/Loading/PackageListSkeleton.js");
|
|
5
9
|
const require_PackageList = require("../../components/PackageList/PackageList.js");
|
|
10
|
+
const require_filterPackages = require("../../components/PackageList/filterPackages.js");
|
|
11
|
+
const require_PackageListToolbar = require("../../components/PackageList/PackageListToolbar.js");
|
|
6
12
|
require("../../index.js");
|
|
7
13
|
let react = require("react");
|
|
8
14
|
react = require_runtime.__toESM(react);
|
|
15
|
+
let react_i18next = require("react-i18next");
|
|
9
16
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
17
|
+
let react_router = require("react-router");
|
|
10
18
|
//#region src/sections/Home/Home.tsx
|
|
19
|
+
var QUERY_PARAM = "q";
|
|
20
|
+
var SCOPE_PARAM = "scope";
|
|
21
|
+
var SORT_STORAGE_KEY = "package-list-sort";
|
|
22
|
+
var EMPTY = [];
|
|
11
23
|
var Home = () => {
|
|
24
|
+
const { t } = (0, react_i18next.useTranslation)();
|
|
12
25
|
const manifests = require_ManifestsProvider.useManifests();
|
|
26
|
+
const { configOptions } = require_AppConfigurationProvider.useConfig();
|
|
27
|
+
const [searchParams, setSearchParams] = (0, react_router.useSearchParams)();
|
|
28
|
+
const [storedSort, setSort] = require_useLocalStorage.default(SORT_STORAGE_KEY, require_filterPackages.PackageSort.DEFAULT);
|
|
29
|
+
const sort = Object.values(require_filterPackages.PackageSort).includes(storedSort) ? storedSort : require_filterPackages.PackageSort.DEFAULT;
|
|
30
|
+
const packages = manifests.manifests ?? EMPTY;
|
|
31
|
+
const scopes = (0, react.useMemo)(() => require_filterPackages.getScopes(packages), [packages]);
|
|
32
|
+
const query = searchParams.get(QUERY_PARAM) ?? "";
|
|
33
|
+
const requestedScope = searchParams.get(SCOPE_PARAM) ?? "";
|
|
34
|
+
const scope = scopes.includes(requestedScope) ? requestedScope : "";
|
|
35
|
+
const visiblePackages = (0, react.useMemo)(() => require_filterPackages.filterPackages(packages, {
|
|
36
|
+
query,
|
|
37
|
+
scope,
|
|
38
|
+
sort
|
|
39
|
+
}), [
|
|
40
|
+
packages,
|
|
41
|
+
query,
|
|
42
|
+
scope,
|
|
43
|
+
sort
|
|
44
|
+
]);
|
|
45
|
+
const updateParam = (key, value) => {
|
|
46
|
+
setSearchParams((params) => {
|
|
47
|
+
if (value) params.set(key, value);
|
|
48
|
+
else params.delete(key);
|
|
49
|
+
return params;
|
|
50
|
+
}, { replace: true });
|
|
51
|
+
};
|
|
13
52
|
if (manifests.isError) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_GenericError.default, {});
|
|
53
|
+
const renderList = () => {
|
|
54
|
+
if (packages.length <= 1 || configOptions.showPackageListToolbar === false) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PackageList.default, { packages });
|
|
55
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PackageListToolbar.default, {
|
|
56
|
+
onQueryChange: (value) => updateParam(QUERY_PARAM, value),
|
|
57
|
+
onScopeChange: (value) => updateParam(SCOPE_PARAM, value),
|
|
58
|
+
onSortChange: setSort,
|
|
59
|
+
query,
|
|
60
|
+
scope,
|
|
61
|
+
scopes,
|
|
62
|
+
shown: visiblePackages.length,
|
|
63
|
+
sort,
|
|
64
|
+
total: packages.length
|
|
65
|
+
}), visiblePackages.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PackageList.default, { packages: visiblePackages }, `${query}|${scope}|${sort}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
66
|
+
"data-testid": "package-list-no-match",
|
|
67
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NoItems.default, { text: t("packageList.no-match") })
|
|
68
|
+
})] });
|
|
69
|
+
};
|
|
14
70
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15
71
|
className: "container content",
|
|
16
72
|
"data-testid": "home-page-container",
|
|
17
|
-
children: manifests.isLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
73
|
+
children: manifests.isLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PackageListSkeleton.default, {}) : renderList()
|
|
18
74
|
});
|
|
19
75
|
};
|
|
20
76
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Home.js","names":["useManifests","
|
|
1
|
+
{"version":3,"file":"Home.js","names":["useTranslation","useManifests","useConfig","useSearchParams","useLocalStorage","PackageSort","useMemo","getScopes","filterPackages","GenericError","PackageList","_Fragment","PackageListToolbar","NoItems","PackageListSkeleton"],"sources":["../../../src/sections/Home/Home.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSearchParams } from 'react-router';\n\nimport { GenericError, PackageList, PackageListSkeleton, useConfig, useManifests } from '../..';\nimport NoItems from '../../components/NoItems';\nimport PackageListToolbar from '../../components/PackageList/PackageListToolbar';\nimport {\n PackageSort,\n filterPackages,\n getScopes,\n} from '../../components/PackageList/filterPackages';\nimport useLocalStorage from '../../hooks/useLocalStorage';\nimport type { ManifestWeb } from '../../providers/ManifestsProvider/ManifestsProvider';\n\nconst QUERY_PARAM = 'q';\nconst SCOPE_PARAM = 'scope';\nconst SORT_STORAGE_KEY = 'package-list-sort';\nconst EMPTY: ManifestWeb[] = [];\n\nconst Home: React.FC = () => {\n const { t } = useTranslation();\n const manifests = useManifests();\n const { configOptions } = useConfig();\n const [searchParams, setSearchParams] = useSearchParams();\n const [storedSort, setSort] = useLocalStorage<PackageSort>(SORT_STORAGE_KEY, PackageSort.DEFAULT);\n const sort = Object.values(PackageSort).includes(storedSort) ? storedSort : PackageSort.DEFAULT;\n const packages = (manifests.manifests as ManifestWeb[] | undefined) ?? EMPTY;\n const scopes = useMemo(() => getScopes(packages), [packages]);\n const query = searchParams.get(QUERY_PARAM) ?? '';\n const requestedScope = searchParams.get(SCOPE_PARAM) ?? '';\n const scope = scopes.includes(requestedScope) ? requestedScope : '';\n const visiblePackages = useMemo(\n () => filterPackages(packages, { query, scope, sort }),\n [packages, query, scope, sort]\n );\n\n // replace instead of push: one history entry per keystroke would make \"back\" useless\n const updateParam = (key: string, value: string) => {\n setSearchParams(\n (params) => {\n if (value) {\n params.set(key, value);\n } else {\n params.delete(key);\n }\n return params;\n },\n { replace: true }\n );\n };\n\n if (manifests.isError) {\n return <GenericError />;\n }\n\n const renderList = () => {\n // without the toolbar the list keeps the server order: nothing on screen could change it\n if (packages.length <= 1 || configOptions.showPackageListToolbar === false) {\n return <PackageList packages={packages} />;\n }\n return (\n <>\n <PackageListToolbar\n onQueryChange={(value) => updateParam(QUERY_PARAM, value)}\n onScopeChange={(value) => updateParam(SCOPE_PARAM, value)}\n onSortChange={setSort}\n query={query}\n scope={scope}\n scopes={scopes}\n shown={visiblePackages.length}\n sort={sort}\n total={packages.length}\n />\n {visiblePackages.length > 0 ? (\n <PackageList key={`${query}|${scope}|${sort}`} packages={visiblePackages} />\n ) : (\n <div data-testid=\"package-list-no-match\">\n <NoItems text={t('packageList.no-match')} />\n </div>\n )}\n </>\n );\n };\n\n return (\n <div className=\"container content\" data-testid=\"home-page-container\">\n {manifests.isLoading ? <PackageListSkeleton /> : renderList()}\n </div>\n );\n};\n\nexport default Home;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,IAAM,cAAc;AACpB,IAAM,cAAc;AACpB,IAAM,mBAAmB;AACzB,IAAM,QAAuB,CAAC;AAE9B,IAAM,aAAuB;CAC3B,MAAM,EAAE,OAAA,GAAMA,cAAAA,eAAAA,CAAe;CAC7B,MAAM,YAAYC,0BAAAA,aAAa;CAC/B,MAAM,EAAE,kBAAkBC,iCAAAA,UAAU;CACpC,MAAM,CAAC,cAAc,oBAAA,GAAmBC,aAAAA,gBAAAA,CAAgB;CACxD,MAAM,CAAC,YAAY,WAAWC,wBAAAA,QAA6B,kBAAkBC,uBAAAA,YAAY,OAAO;CAChG,MAAM,OAAO,OAAO,OAAOA,uBAAAA,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,aAAaA,uBAAAA,YAAY;CACxF,MAAM,WAAY,UAAU,aAA2C;CACvE,MAAM,UAAA,GAASC,MAAAA,QAAAA,OAAcC,uBAAAA,UAAU,QAAQ,GAAG,CAAC,QAAQ,CAAC;CAC5D,MAAM,QAAQ,aAAa,IAAI,WAAW,KAAK;CAC/C,MAAM,iBAAiB,aAAa,IAAI,WAAW,KAAK;CACxD,MAAM,QAAQ,OAAO,SAAS,cAAc,IAAI,iBAAiB;CACjE,MAAM,mBAAA,GAAkBD,MAAAA,QAAAA,OAChBE,uBAAAA,eAAe,UAAU;EAAE;EAAO;EAAO;CAAK,CAAC,GACrD;EAAC;EAAU;EAAO;EAAO;CAAI,CAC/B;CAGA,MAAM,eAAe,KAAa,UAAkB;EAClD,iBACG,WAAW;GACV,IAAI,OACF,OAAO,IAAI,KAAK,KAAK;QAErB,OAAO,OAAO,GAAG;GAEnB,OAAO;EACT,GACA,EAAE,SAAS,KAAK,CAClB;CACF;CAEA,IAAI,UAAU,SACZ,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,SAAD,CAAe,CAAA;CAGxB,MAAM,mBAAmB;EAEvB,IAAI,SAAS,UAAU,KAAK,cAAc,2BAA2B,OACnE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,SAAD,EAAuB,SAAW,CAAA;EAE3C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,2BAAAA,SAAD;GACE,gBAAgB,UAAU,YAAY,aAAa,KAAK;GACxD,gBAAgB,UAAU,YAAY,aAAa,KAAK;GACxD,cAAc;GACP;GACA;GACC;GACR,OAAO,gBAAgB;GACjB;GACN,OAAO,SAAS;EACjB,CAAA,GACA,gBAAgB,SAAS,IACxB,iBAAA,GAAA,kBAAA,IAAA,CAACF,oBAAAA,SAAD,EAA+C,UAAU,gBAAkB,GAAzD,GAAG,MAAM,GAAG,MAAM,GAAG,MAAoC,IAE3E,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,eAAY;GACf,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACG,gBAAAA,SAAD,EAAS,MAAM,EAAE,sBAAsB,EAAI,CAAA;EACxC,CAAA,CAEP,EAAA,CAAA;CAEN;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAU;EAAoB,eAAY;EAC5C,UAAA,UAAU,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACC,4BAAAA,SAAD,CAAsB,CAAA,IAAI,WAAW;CACzD,CAAA;AAET"}
|