@verdaccio/ui-components 5.0.0-next-9.21 → 5.0.0-next-9.23
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/build/Theme/ResetStyles.js.map +1 -1
- package/build/Theme/ResetStyles.mjs.map +1 -1
- package/build/Theme/StyleBaseline.js.map +1 -1
- package/build/Theme/StyleBaseline.mjs.map +1 -1
- package/build/Theme/ThemeProvider.js.map +1 -1
- package/build/Theme/ThemeProvider.mjs.map +1 -1
- package/build/Theme/colors.js.map +1 -1
- package/build/Theme/modes.js.map +1 -1
- package/build/Theme/theme.js.map +1 -1
- package/build/api/use-data-mutation.d.ts +1 -1
- package/build/api/use-data-mutation.js.map +1 -1
- package/build/api/use-data-mutation.mjs.map +1 -1
- package/build/api/use-data.d.ts +1 -1
- package/build/api/use-data.js.map +1 -1
- package/build/api/use-data.mjs.map +1 -1
- package/build/components/ActionBar/ActionBar.js.map +1 -1
- package/build/components/ActionBar/ActionBar.mjs.map +1 -1
- package/build/components/ActionBar/ActionBarAction.js.map +1 -1
- package/build/components/ActionBar/index.mjs +1 -2
- package/build/components/AppRoute/AppRoute.js.map +1 -1
- package/build/components/AppRoute/AppRoute.mjs.map +1 -1
- package/build/components/Author/Author.js.map +1 -1
- package/build/components/Author/index.mjs +1 -2
- package/build/components/Author/styles.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/Dependencies/Dependencies.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.mjs.map +1 -1
- package/build/components/Dependencies/index.mjs +1 -2
- package/build/components/Deprecated/Deprecated.js.map +1 -1
- package/build/components/Deprecated/index.mjs +1 -2
- package/build/components/Developers/Developers.js.map +1 -1
- package/build/components/Developers/Developers.mjs.map +1 -1
- package/build/components/Developers/Title.js.map +1 -1
- package/build/components/Distribution/Dist.js.map +1 -1
- package/build/components/Distribution/Dist.mjs.map +1 -1
- package/build/components/Distribution/index.mjs +1 -2
- package/build/components/Distribution/styles.js.map +1 -1
- package/build/components/Engines/Engines.js.map +1 -1
- package/build/components/Engines/index.mjs +1 -2
- package/build/components/Engines/styles.js.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/build/components/ErrorBoundary/index.mjs +1 -2
- package/build/components/Forbidden/Forbidden.js.map +1 -1
- package/build/components/Forbidden/index.mjs +1 -2
- package/build/components/FundButton/FundButton.js.map +1 -1
- package/build/components/FundButton/FundButton.mjs.map +1 -1
- package/build/components/FundButton/index.mjs +1 -2
- package/build/components/GenericError/GenericError.js.map +1 -1
- package/build/components/GenericError/index.mjs +1 -2
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -1
- package/build/components/HeaderInfoDialog/index.mjs +1 -2
- package/build/components/Heading/Heading.js.map +1 -1
- package/build/components/Heading/Heading.mjs.map +1 -1
- package/build/components/Heading/index.mjs +1 -2
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/Help.mjs.map +1 -1
- package/build/components/Help/index.mjs +1 -2
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.js.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.js.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.js.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.mjs.map +1 -1
- package/build/components/Icons/Earth.js.map +1 -1
- package/build/components/Icons/FileBinary.js.map +1 -1
- package/build/components/Icons/Law.js.map +1 -1
- package/build/components/Icons/License.d.ts +2 -4
- package/build/components/Icons/License.js.map +1 -1
- package/build/components/Icons/License.mjs.map +1 -1
- package/build/components/Icons/Managers/Npm2.js.map +1 -1
- package/build/components/Icons/Managers/Npm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.js.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Yarn2.js.map +1 -1
- package/build/components/Icons/Managers/Yarn2.mjs.map +1 -1
- package/build/components/Icons/SvgIcon.js.map +1 -1
- package/build/components/Icons/Time.js.map +1 -1
- package/build/components/Icons/Version.js.map +1 -1
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/Install.mjs.map +1 -1
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/index.mjs +1 -2
- package/build/components/Keywords/KeywordListItems.js.map +1 -1
- package/build/components/Keywords/Keywords.js.map +1 -1
- package/build/components/Keywords/index.mjs +1 -2
- package/build/components/Label/Label.js.map +1 -1
- package/build/components/Label/index.mjs +1 -2
- package/build/components/Link/Link.js.map +1 -1
- package/build/components/Link/Link.mjs.map +1 -1
- package/build/components/Link/index.mjs +1 -2
- package/build/components/LinkExternal/LinkExternal.js.map +1 -1
- package/build/components/LinkExternal/index.mjs +1 -2
- package/build/components/Loading/Loading.js.map +1 -1
- package/build/components/Loading/Spinner/Spinner.js.map +1 -1
- package/build/components/Loading/Spinner/index.mjs +1 -2
- package/build/components/Loading/index.mjs +1 -2
- package/build/components/Loading/styles.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.d.ts +1 -0
- package/build/components/LoginDialog/LoginDialog.js +11 -2
- package/build/components/LoginDialog/LoginDialog.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.mjs +10 -2
- package/build/components/LoginDialog/LoginDialog.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -1
- package/build/components/LoginDialog/index.mjs +1 -2
- package/build/components/LoginForm/Login.js +0 -23
- package/build/components/LoginForm/Login.js.map +1 -1
- package/build/components/LoginForm/Login.mjs +0 -21
- package/build/components/LoginForm/Login.mjs.map +1 -1
- package/build/components/LoginForm/PasswordField.js.map +1 -1
- package/build/components/LoginForm/UsernameField.js.map +1 -1
- package/build/components/LoginForm/styles.js.map +1 -1
- package/build/components/LoginForm/useLoginForm.js.map +1 -1
- package/build/components/Logo/Logo.js.map +1 -1
- package/build/components/Logo/Logo.mjs.map +1 -1
- package/build/components/Logo/index.mjs +1 -2
- package/build/components/MenuItem/MenuItem.js.map +1 -1
- package/build/components/MenuItem/MenuItem.mjs.map +1 -1
- package/build/components/MenuItem/index.mjs +1 -2
- package/build/components/NoItems/NoItems.js.map +1 -1
- package/build/components/NoItems/index.mjs +1 -2
- package/build/components/NotFound/NotFound.js.map +1 -1
- package/build/components/NotFound/index.mjs +1 -2
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/Package.mjs.map +1 -1
- package/build/components/Package/index.mjs +1 -2
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/Package/styles.mjs.map +1 -1
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/PackageList.mjs.map +1 -1
- package/build/components/PackageList/index.mjs +1 -2
- package/build/components/Person/Person.js.map +1 -1
- package/build/components/Person/Person.mjs.map +1 -1
- package/build/components/Person/PersonTooltip.js.map +1 -1
- package/build/components/Person/PersonTooltip.mjs.map +1 -1
- package/build/components/Person/index.mjs +1 -2
- package/build/components/Person/utils.mjs.map +1 -1
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/index.mjs +1 -2
- package/build/components/Readme/Readme.js.map +1 -1
- package/build/components/Readme/index.mjs +1 -2
- package/build/components/Readme/utils.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/index.mjs +1 -2
- package/build/components/RegistryInfoDialog/styles.js.map +1 -1
- package/build/components/Repository/Repository.js.map +1 -1
- package/build/components/Repository/Repository.mjs.map +1 -1
- package/build/components/Repository/index.mjs +1 -2
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/index.mjs +1 -2
- package/build/components/Search/AutoComplete/styles.js.map +1 -1
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/Search.mjs.map +1 -1
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/index.mjs +1 -2
- package/build/components/Search/styles.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.mjs.map +1 -1
- package/build/components/SettingsMenu/index.mjs +1 -2
- package/build/components/SideBarTitle/SideBarTitle.js.map +1 -1
- package/build/components/SideBarTitle/SideBarTitle.mjs.map +1 -1
- package/build/components/SideBarTitle/index.mjs +1 -2
- package/build/components/UpLinks/UpLinks.js.map +1 -1
- package/build/components/UpLinks/UpLinks.mjs.map +1 -1
- package/build/components/UpLinks/UplinkLink.js.map +1 -1
- package/build/components/UpLinks/UplinkLink.mjs.map +1 -1
- package/build/components/UpLinks/index.mjs +1 -2
- package/build/components/UpLinks/styles.js.map +1 -1
- package/build/components/UpLinks/styles.mjs.map +1 -1
- package/build/components/Versions/HistoryList.js.map +1 -1
- package/build/components/Versions/HistoryList.mjs.map +1 -1
- package/build/components/Versions/TagList.js.map +1 -1
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/Versions.mjs.map +1 -1
- package/build/components/Versions/index.mjs +1 -2
- package/build/components/Versions/styles.js.map +1 -1
- package/build/components/Versions/styles.mjs.map +1 -1
- package/build/hooks/useLocalStorage.js.map +1 -1
- package/build/layouts/Security/Dialog.js.map +1 -1
- package/build/layouts/Version/Version.js.map +1 -1
- package/build/layouts/Version/Version.mjs.map +1 -1
- package/build/layouts/Version/index.mjs +1 -2
- package/build/pages/Front/Home.js.map +1 -1
- package/build/pages/Front/index.mjs +1 -2
- package/build/pages/Security/AddUser.js.map +1 -1
- package/build/pages/Security/ChangePassword.js.map +1 -1
- package/build/pages/Security/Login.js.map +1 -1
- package/build/pages/Security/Success.js.map +1 -1
- package/build/pages/Stage/StageDetail.js.map +1 -1
- package/build/pages/Stage/StageList.js.map +1 -1
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/index.mjs +1 -2
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/index.mjs +1 -2
- package/build/providers/AuthProvider/AuthProvider.js +1 -1
- package/build/providers/AuthProvider/AuthProvider.js.map +1 -1
- package/build/providers/AuthProvider/AuthProvider.mjs +1 -1
- package/build/providers/AuthProvider/AuthProvider.mjs.map +1 -1
- package/build/providers/AuthProvider/index.mjs +1 -2
- package/build/providers/AuthProvider/utils.js.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.js.map +1 -1
- package/build/providers/DownloadProvider/index.mjs +1 -2
- package/build/providers/ManifestsProvider/ManifestsProvider.js +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs.map +1 -1
- package/build/providers/ManifestsProvider/index.mjs +1 -2
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -1
- package/build/providers/PersistenceSettingProvider/index.mjs +1 -2
- package/build/providers/SearchProvider/SearchProvider.js +1 -1
- package/build/providers/SearchProvider/SearchProvider.js.map +1 -1
- package/build/providers/SearchProvider/SearchProvider.mjs +1 -1
- package/build/providers/SearchProvider/SearchProvider.mjs.map +1 -1
- package/build/providers/SearchProvider/index.mjs +1 -2
- package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -1
- package/build/providers/TranslatorProvider/index.mjs +1 -2
- package/build/providers/VersionProvider/VersionProvider.js +1 -1
- package/build/providers/VersionProvider/VersionProvider.js.map +1 -1
- package/build/providers/VersionProvider/VersionProvider.mjs +1 -1
- package/build/providers/VersionProvider/VersionProvider.mjs.map +1 -1
- package/build/providers/VersionProvider/index.mjs +1 -2
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/ContainerContent.mjs.map +1 -1
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/Detail.mjs.map +1 -1
- package/build/sections/Detail/ReadmeSection.js.map +1 -1
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/Tabs.mjs.map +1 -1
- package/build/sections/Detail/index.mjs +1 -2
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/Footer.mjs.map +1 -1
- package/build/sections/Footer/index.mjs +1 -2
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Header/Header.js.map +1 -1
- package/build/sections/Header/Header.mjs.map +1 -1
- package/build/sections/Header/HeaderGreetings.js.map +1 -1
- package/build/sections/Header/HeaderGreetings.mjs.map +1 -1
- package/build/sections/Header/HeaderLeft.js.map +1 -1
- package/build/sections/Header/HeaderLeft.mjs.map +1 -1
- package/build/sections/Header/HeaderMenu.js +10 -0
- package/build/sections/Header/HeaderMenu.js.map +1 -1
- package/build/sections/Header/HeaderMenu.mjs +10 -0
- package/build/sections/Header/HeaderMenu.mjs.map +1 -1
- package/build/sections/Header/HeaderRight.js.map +1 -1
- package/build/sections/Header/HeaderRight.mjs.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderToolTip.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.mjs.map +1 -1
- package/build/sections/Header/LanguageSwitch.js.map +1 -1
- package/build/sections/Header/LanguageSwitch.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/index.mjs +1 -2
- package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -1
- package/build/sections/Header/index.mjs +1 -2
- package/build/sections/Header/styles.js.map +1 -1
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/index.mjs +1 -2
- package/build/sections/Security/AddUser.js.map +1 -1
- package/build/sections/Security/AddUser.mjs.map +1 -1
- package/build/sections/Security/ChangePassword.js +41 -16
- package/build/sections/Security/ChangePassword.js.map +1 -1
- package/build/sections/Security/ChangePassword.mjs +41 -16
- package/build/sections/Security/ChangePassword.mjs.map +1 -1
- package/build/sections/Security/Login.js.map +1 -1
- package/build/sections/Security/Login.mjs.map +1 -1
- package/build/sections/Security/Success.js.map +1 -1
- package/build/sections/Security/styles.js.map +1 -1
- package/build/sections/Security/utils.js.map +1 -1
- package/build/sections/SideBar/Sidebar.js.map +1 -1
- package/build/sections/SideBar/Sidebar.mjs.map +1 -1
- package/build/sections/SideBar/index.mjs +1 -2
- package/build/sections/Stage/StageActions.js.map +1 -1
- package/build/sections/Stage/StageActions.mjs.map +1 -1
- package/build/sections/Stage/StageDetail.js.map +1 -1
- package/build/sections/Stage/StageDetail.mjs.map +1 -1
- package/build/sections/Stage/StageList.js.map +1 -1
- package/build/sections/Stage/StageList.mjs.map +1 -1
- package/build/sections/Stage/useRequireSession.js.map +1 -1
- package/build/sections/Stage/useRequireSession.mjs.map +1 -1
- package/build/sections/Stage/useStage.js.map +1 -1
- package/build/sections/Stage/useStage.mjs.map +1 -1
- package/build/store/api.js.map +1 -1
- package/build/store/api.mjs.map +1 -1
- package/build/store/index.mjs +1 -2
- package/build/store/storage.js.map +1 -1
- package/build/utils/loadable.js.map +1 -1
- package/build/utils/schemas.d.ts +0 -2
- package/build/utils/schemas.js +0 -1
- package/build/utils/schemas.js.map +1 -1
- package/build/utils/schemas.mjs +0 -1
- package/build/utils/schemas.mjs.map +1 -1
- package/build/utils/token.js.map +1 -1
- package/build/utils/url.js.map +1 -1
- package/build/utils/url.mjs.map +1 -1
- package/build/utils/utils.js.map +1 -1
- package/package.json +21 -21
- package/build/store/routes.d.ts +0 -12
- package/build/store/routes.js +0 -18
- package/build/store/routes.js.map +0 -1
- package/build/store/routes.mjs +0 -18
- package/build/store/routes.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.mjs","names":[],"sources":["../../../src/layouts/Version/Version.tsx"],"sourcesContent":["import Grid from '@mui/material/Grid';\nimport React from 'react';\n\nimport { Detail, SideBar } from '../../sections';\n\nconst VersionLayout: React.FC = () => {\n return (\n <Grid className={'container content'} container={true} data-testid=\"version-layout\" spacing={0}>\n <Grid size={{ md: 8, xs: 12 }}>\n <Detail />\n </Grid>\n <Grid size={{ md: 4, xs: 12 }}>\n <SideBar />\n </Grid>\n </Grid>\n );\n};\n\nexport default VersionLayout;\n"],"mappings":";;;;;;;AAKA,IAAM,sBAAgC;CACpC,OACE,qBAAC,MAAD;EAAM,WAAW;EAAqB,WAAW;EAAM,eAAY;EAAiB,SAAS;EAA7F,UAAA,CACE,oBAAC,MAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAC1B,UAAA,
|
|
1
|
+
{"version":3,"file":"Version.mjs","names":["Detail","SideBar"],"sources":["../../../src/layouts/Version/Version.tsx"],"sourcesContent":["import Grid from '@mui/material/Grid';\nimport React from 'react';\n\nimport { Detail, SideBar } from '../../sections';\n\nconst VersionLayout: React.FC = () => {\n return (\n <Grid className={'container content'} container={true} data-testid=\"version-layout\" spacing={0}>\n <Grid size={{ md: 8, xs: 12 }}>\n <Detail />\n </Grid>\n <Grid size={{ md: 4, xs: 12 }}>\n <SideBar />\n </Grid>\n </Grid>\n );\n};\n\nexport default VersionLayout;\n"],"mappings":";;;;;;;AAKA,IAAM,sBAAgC;CACpC,OACE,qBAAC,MAAD;EAAM,WAAW;EAAqB,WAAW;EAAM,eAAY;EAAiB,SAAS;EAA7F,UAAA,CACE,oBAAC,MAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAC1B,UAAA,oBAACA,iBAAD,CAAS,CAAA;EACL,CAAA,GACN,oBAAC,MAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAC1B,UAAA,oBAACC,eAAD,CAAU,CAAA;EACN,CAAA,CACF;;AAEV"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { VersionLayout };
|
|
1
|
+
export { default as VersionLayout } from "./Version.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Home.js","names":[],"sources":["../../../src/pages/Front/Home.ts"],"sourcesContent":["import { Home } from '../../index';\n\nexport default Home;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"Home.js","names":["Home"],"sources":["../../../src/pages/Front/Home.ts"],"sourcesContent":["import { Home } from '../../index';\n\nexport default Home;\n"],"mappings":";;;AAEA,IAAA,eAAeA,aAAAA"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Home_default as default };
|
|
1
|
+
export { default } from "./Home.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddUser.js","names":[],"sources":["../../../src/pages/Security/AddUser.tsx"],"sourcesContent":["import { AddUser } from '../../sections/Security';\n\nexport default AddUser;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"AddUser.js","names":["AddUser"],"sources":["../../../src/pages/Security/AddUser.tsx"],"sourcesContent":["import { AddUser } from '../../sections/Security';\n\nexport default AddUser;\n"],"mappings":";;;AAEA,IAAA,kBAAeA,gBAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangePassword.js","names":[],"sources":["../../../src/pages/Security/ChangePassword.tsx"],"sourcesContent":["import { ChangePassword } from '../../sections/Security';\n\nexport default ChangePassword;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"ChangePassword.js","names":["ChangePassword"],"sources":["../../../src/pages/Security/ChangePassword.tsx"],"sourcesContent":["import { ChangePassword } from '../../sections/Security';\n\nexport default ChangePassword;\n"],"mappings":";;;AAEA,IAAA,yBAAeA,uBAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","names":[],"sources":["../../../src/pages/Security/Login.tsx"],"sourcesContent":["import { Login } from '../../sections/Security';\n\nexport default Login;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"Login.js","names":["Login"],"sources":["../../../src/pages/Security/Login.tsx"],"sourcesContent":["import { Login } from '../../sections/Security';\n\nexport default Login;\n"],"mappings":";;;AAEA,IAAA,gBAAeA,cAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Success.js","names":[],"sources":["../../../src/pages/Security/Success.tsx"],"sourcesContent":["import { Success } from '../../sections/Security';\n\nexport default Success;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"Success.js","names":["Success"],"sources":["../../../src/pages/Security/Success.tsx"],"sourcesContent":["import { Success } from '../../sections/Security';\n\nexport default Success;\n"],"mappings":";;;AAEA,IAAA,kBAAeA,gBAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageDetail.js","names":[],"sources":["../../../src/pages/Stage/StageDetail.tsx"],"sourcesContent":["import { StageDetail } from '../../sections/Stage';\n\nexport default StageDetail;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"StageDetail.js","names":["StageDetail"],"sources":["../../../src/pages/Stage/StageDetail.tsx"],"sourcesContent":["import { StageDetail } from '../../sections/Stage';\n\nexport default StageDetail;\n"],"mappings":";;;AAEA,IAAA,sBAAeA,oBAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageList.js","names":[],"sources":["../../../src/pages/Stage/StageList.tsx"],"sourcesContent":["import { StageList } from '../../sections/Stage';\n\nexport default StageList;\n"],"mappings":";;;AAEA,IAAA,
|
|
1
|
+
{"version":3,"file":"StageList.js","names":["StageList"],"sources":["../../../src/pages/Stage/StageList.tsx"],"sourcesContent":["import { StageList } from '../../sections/Stage';\n\nexport default StageList;\n"],"mappings":";;;AAEA,IAAA,oBAAeA,kBAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","names":[],"sources":["../../../src/pages/Version/Version.tsx"],"sourcesContent":["import React from 'react';\n\nimport Forbidden from '../../components/Forbidden';\nimport GenericError from '../../components/GenericError';\nimport { Loading, NotFound, VersionLayout, useVersion } from '../../index';\n\nconst Version: React.FC = () => {\n const { hasNotBeenFound, isForbidden, isUnAuthorized, isError, isLoading, packageMeta } =\n useVersion();\n\n if (isLoading) {\n return <Loading />;\n }\n\n if (isUnAuthorized) {\n return <Forbidden />;\n }\n\n if (isForbidden) {\n return <Forbidden />;\n }\n\n if (hasNotBeenFound) {\n return <NotFound />;\n }\n\n // 5xx, network failures or a manifest that never arrived: rendering the\n // layout without packageMeta crashes the tab components\n if (isError || !packageMeta) {\n return <GenericError />;\n }\n\n return <VersionLayout />;\n};\n\nexport default Version;\n"],"mappings":";;;;;;;;;;;;;;AAMA,IAAM,gBAA0B;CAC9B,MAAM,EAAE,iBAAiB,aAAa,gBAAgB,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"Version.js","names":["useVersion","Loading","Forbidden","NotFound","GenericError","VersionLayout"],"sources":["../../../src/pages/Version/Version.tsx"],"sourcesContent":["import React from 'react';\n\nimport Forbidden from '../../components/Forbidden';\nimport GenericError from '../../components/GenericError';\nimport { Loading, NotFound, VersionLayout, useVersion } from '../../index';\n\nconst Version: React.FC = () => {\n const { hasNotBeenFound, isForbidden, isUnAuthorized, isError, isLoading, packageMeta } =\n useVersion();\n\n if (isLoading) {\n return <Loading />;\n }\n\n if (isUnAuthorized) {\n return <Forbidden />;\n }\n\n if (isForbidden) {\n return <Forbidden />;\n }\n\n if (hasNotBeenFound) {\n return <NotFound />;\n }\n\n // 5xx, network failures or a manifest that never arrived: rendering the\n // layout without packageMeta crashes the tab components\n if (isError || !packageMeta) {\n return <GenericError />;\n }\n\n return <VersionLayout />;\n};\n\nexport default Version;\n"],"mappings":";;;;;;;;;;;;;;AAMA,IAAM,gBAA0B;CAC9B,MAAM,EAAE,iBAAiB,aAAa,gBAAgB,SAAS,WAAW,gBACxEA,wBAAAA,WAAW;CAEb,IAAI,WACF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD,CAAU,CAAA;CAGnB,IAAI,gBACF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,WAAD,CAAY,CAAA;CAGrB,IAAI,aACF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,WAAD,CAAY,CAAA;CAGrB,IAAI,iBACF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,SAAD,CAAW,CAAA;CAKpB,IAAI,WAAW,CAAC,aACd,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,SAAD,CAAe,CAAA;CAGxB,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD,CAAgB,CAAA;AACzB"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Version as default };
|
|
1
|
+
export { default } from "./Version.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfigurationProvider.js","names":[],"sources":["../../../src/providers/AppConfigurationProvider/AppConfigurationProvider.tsx"],"sourcesContent":["import type { FunctionComponent, ReactNode } from 'react';\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport type { TemplateUIOptions } from '@verdaccio/types';\n\nimport { PRIMARY_COLOR } from '../../Theme/colors';\n\ntype ConfigProviderProps = {\n configOptions: TemplateUIOptions;\n};\n\ninterface AppConfigurationProviderProps {\n children: ReactNode;\n // Allows passing overrides like { flags: { myFlag: true } }\n overrideConfig?: Partial<TemplateUIOptions>;\n}\n\nconst DEFAULT_OPTIONS: TemplateUIOptions = {\n primaryColor: PRIMARY_COLOR,\n pkgManagers: ['yarn', 'pnpm', 'npm'],\n scope: '',\n base: '',\n flags: {},\n login: true,\n url_prefix: '',\n showInfo: true,\n showSettings: true,\n showThemeSwitch: true,\n showFooter: true,\n showSearch: true,\n showRaw: true,\n showDownloadTarball: true,\n showUplinks: true,\n hideDeprecatedVersions: false,\n title: 'Verdaccio',\n};\n\n/**\n * Merges defaults, window globals, and optional local overrides.\n */\nfunction getConfiguration(overrides: Partial<TemplateUIOptions> = {}): TemplateUIOptions {\n const windowOptions = window?.__VERDACCIO_BASENAME_UI_OPTIONS || {};\n\n const uiConfiguration = {\n ...DEFAULT_OPTIONS,\n ...windowOptions,\n ...overrides,\n flags: {\n ...DEFAULT_OPTIONS.flags,\n ...windowOptions.flags,\n ...overrides.flags,\n },\n };\n\n // Logic cleanup: Ensure primaryColor is never empty/null\n if (!uiConfiguration.primaryColor) {\n uiConfiguration.primaryColor = PRIMARY_COLOR;\n }\n\n return uiConfiguration;\n}\n\nconst AppConfigurationContext = createContext<ConfigProviderProps | undefined>(undefined);\n\nconst AppConfigurationProvider: FunctionComponent<AppConfigurationProviderProps> = ({\n children,\n overrideConfig = {},\n}) => {\n // We include overrideConfig in the dependency array so if the prop\n // changes, the configuration updates accordingly.\n const value = useMemo(\n () => ({\n configOptions: getConfiguration(overrideConfig),\n }),\n [overrideConfig]\n );\n\n return (\n <AppConfigurationContext.Provider value={value}>{children}</AppConfigurationContext.Provider>\n );\n};\n\nexport { AppConfigurationProvider };\n\nexport const useConfig = () => {\n const ctx = useContext(AppConfigurationContext);\n if (!ctx) {\n throw new Error('useConfig must be used within AppConfigurationProvider');\n }\n return ctx;\n};\n"],"mappings":";;;;;;AAiBA,IAAM,kBAAqC;CACzC,
|
|
1
|
+
{"version":3,"file":"AppConfigurationProvider.js","names":["PRIMARY_COLOR","createContext","useMemo","useContext"],"sources":["../../../src/providers/AppConfigurationProvider/AppConfigurationProvider.tsx"],"sourcesContent":["import type { FunctionComponent, ReactNode } from 'react';\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport type { TemplateUIOptions } from '@verdaccio/types';\n\nimport { PRIMARY_COLOR } from '../../Theme/colors';\n\ntype ConfigProviderProps = {\n configOptions: TemplateUIOptions;\n};\n\ninterface AppConfigurationProviderProps {\n children: ReactNode;\n // Allows passing overrides like { flags: { myFlag: true } }\n overrideConfig?: Partial<TemplateUIOptions>;\n}\n\nconst DEFAULT_OPTIONS: TemplateUIOptions = {\n primaryColor: PRIMARY_COLOR,\n pkgManagers: ['yarn', 'pnpm', 'npm'],\n scope: '',\n base: '',\n flags: {},\n login: true,\n url_prefix: '',\n showInfo: true,\n showSettings: true,\n showThemeSwitch: true,\n showFooter: true,\n showSearch: true,\n showRaw: true,\n showDownloadTarball: true,\n showUplinks: true,\n hideDeprecatedVersions: false,\n title: 'Verdaccio',\n};\n\n/**\n * Merges defaults, window globals, and optional local overrides.\n */\nfunction getConfiguration(overrides: Partial<TemplateUIOptions> = {}): TemplateUIOptions {\n const windowOptions = window?.__VERDACCIO_BASENAME_UI_OPTIONS || {};\n\n const uiConfiguration = {\n ...DEFAULT_OPTIONS,\n ...windowOptions,\n ...overrides,\n flags: {\n ...DEFAULT_OPTIONS.flags,\n ...windowOptions.flags,\n ...overrides.flags,\n },\n };\n\n // Logic cleanup: Ensure primaryColor is never empty/null\n if (!uiConfiguration.primaryColor) {\n uiConfiguration.primaryColor = PRIMARY_COLOR;\n }\n\n return uiConfiguration;\n}\n\nconst AppConfigurationContext = createContext<ConfigProviderProps | undefined>(undefined);\n\nconst AppConfigurationProvider: FunctionComponent<AppConfigurationProviderProps> = ({\n children,\n overrideConfig = {},\n}) => {\n // We include overrideConfig in the dependency array so if the prop\n // changes, the configuration updates accordingly.\n const value = useMemo(\n () => ({\n configOptions: getConfiguration(overrideConfig),\n }),\n [overrideConfig]\n );\n\n return (\n <AppConfigurationContext.Provider value={value}>{children}</AppConfigurationContext.Provider>\n );\n};\n\nexport { AppConfigurationProvider };\n\nexport const useConfig = () => {\n const ctx = useContext(AppConfigurationContext);\n if (!ctx) {\n throw new Error('useConfig must be used within AppConfigurationProvider');\n }\n return ctx;\n};\n"],"mappings":";;;;;;AAiBA,IAAM,kBAAqC;CACzC,cAAcA,eAAAA;CACd,aAAa;EAAC;EAAQ;EAAQ;CAAK;CACnC,OAAO;CACP,MAAM;CACN,OAAO,CAAC;CACR,OAAO;CACP,YAAY;CACZ,UAAU;CACV,cAAc;CACd,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,qBAAqB;CACrB,aAAa;CACb,wBAAwB;CACxB,OAAO;AACT;;;;AAKA,SAAS,iBAAiB,YAAwC,CAAC,GAAsB;CACvF,MAAM,gBAAgB,QAAQ,mCAAmC,CAAC;CAElE,MAAM,kBAAkB;EACtB,GAAG;EACH,GAAG;EACH,GAAG;EACH,OAAO;GACL,GAAG,gBAAgB;GACnB,GAAG,cAAc;GACjB,GAAG,UAAU;EACf;CACF;CAGA,IAAI,CAAC,gBAAgB,cACnB,gBAAgB,eAAeA,eAAAA;CAGjC,OAAO;AACT;AAEA,IAAM,2BAAA,GAA0BC,MAAAA,cAAAA,CAA+C,KAAA,CAAS;AAExF,IAAM,4BAA8E,EAClF,UACA,iBAAiB,CAAC,QACd;CAGJ,MAAM,SAAA,GAAQC,MAAAA,QAAAA,QACL,EACL,eAAe,iBAAiB,cAAc,EAChD,IACA,CAAC,cAAc,CACjB;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,wBAAwB,UAAzB;EAAyC;EAAQ;CAA2C,CAAA;AAEhG;AAIA,IAAa,kBAAkB;CAC7B,MAAM,OAAA,GAAMC,MAAAA,WAAAA,CAAW,uBAAuB;CAC9C,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,wDAAwD;CAE1E,OAAO;AACT"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { AppConfigurationProvider, useConfig };
|
|
1
|
+
export { AppConfigurationProvider, useConfig } from "./AppConfigurationProvider.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_routes = require("../../utils/routes.js");
|
|
2
3
|
const require_storage = require("../../store/storage.js");
|
|
3
4
|
const require_configuration = require("../../configuration.js");
|
|
4
|
-
const require_routes = require("../../store/routes.js");
|
|
5
5
|
const require_utils = require("../../store/utils.js");
|
|
6
6
|
const require_use_data_mutation = require("../../api/use-data-mutation.js");
|
|
7
7
|
const require_utils$1 = require("./utils.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","names":[],"sources":["../../../src/providers/AuthProvider/AuthProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, use } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","names":["createContext","getConfiguration","stripTrailingSlash","React","getDefaultUserState","useDataMutation","APIRoute","useSWRConfig","use"],"sources":["../../../src/providers/AuthProvider/AuthProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, use } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport { clearAuth, saveAuth } from '../../store/storage';\nimport { stripTrailingSlash } from '../../store/utils';\nimport type { LoginBody } from './types';\nimport { clearExpiredAuth, getDefaultUserState } from './utils';\nimport { APIRoute } from '../../utils/routes';\n\ninterface AuthContextProps {\n handleLogin: (body: { username: string; password: string }) => Promise<any>;\n setUserState: React.Dispatch<React.SetStateAction<LoginBody>>;\n logOutUser: () => void;\n userState: LoginBody;\n}\n\nexport const AuthContext = createContext<Partial<AuthContextProps>>({\n userState: { token: null, username: null },\n setUserState: () => {},\n handleLogin: async () => {},\n logOutUser: () => {},\n});\n\nconst configuration = getConfiguration();\nconst basePath = stripTrailingSlash(configuration.base);\n\nconst AuthProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n // lazy initializer: reading storage and decoding the JWT on every render is wasted work\n const [userState, setUserState] = React.useState<LoginBody>(getDefaultUserState);\n\n React.useEffect(() => {\n clearExpiredAuth();\n }, []);\n const { trigger } = useDataMutation<LoginBody>(basePath, APIRoute.LOGIN, 'POST');\n const { mutate } = useSWRConfig();\n\n const handleLogin = async (body: { username: string; password: string }) => {\n const result = await trigger(body);\n if (!result || !result.username || !result.token) {\n // a 2xx with an unexpected body (proxy or auth plugin returning html)\n // must not pass as a successful login\n throw new Error('login response is missing the token');\n }\n saveAuth(result.username, result.token);\n setUserState(result as LoginBody);\n // Revalidate the packages list so it reflects authenticated access\n mutate(`${basePath}${APIRoute.PACKAGES}`);\n };\n\n const logOutUser = () => {\n // clear storage first: getDefaultUserState reads it, and the token is\n // still valid at this point, so the old order re-hydrated the session\n clearAuth();\n setUserState(getDefaultUserState());\n window.location?.reload();\n };\n\n return (\n <AuthContext\n value={{\n handleLogin,\n userState,\n logOutUser,\n setUserState,\n }}\n >\n {children}\n </AuthContext>\n );\n};\n\nexport { AuthProvider };\n\nexport const useAuth = () => use(AuthContext);\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAa,eAAA,GAAcA,MAAAA,cAAAA,CAAyC;CAClE,WAAW;EAAE,OAAO;EAAM,UAAU;CAAK;CACzC,oBAAoB,CAAC;CACrB,aAAa,YAAY,CAAC;CAC1B,kBAAkB,CAAC;AACrB,CAAC;AAED,IAAM,gBAAgBC,sBAAAA,iBAAiB;AACvC,IAAM,WAAWC,cAAAA,mBAAmB,cAAc,IAAI;AAEtD,IAAM,gBAAsD,EAAE,eAAe;CAE3E,MAAM,CAAC,WAAW,gBAAgBC,MAAAA,QAAM,SAAoBC,gBAAAA,mBAAmB;CAE/E,MAAA,QAAM,gBAAgB;EACpB,gBAAA,iBAAiB;CACnB,GAAG,CAAC,CAAC;CACL,MAAM,EAAE,YAAYC,0BAAAA,gBAA2B,UAAUC,eAAAA,SAAS,OAAO,MAAM;CAC/E,MAAM,EAAE,YAAA,GAAWC,IAAAA,aAAAA,CAAa;CAEhC,MAAM,cAAc,OAAO,SAAiD;EAC1E,MAAM,SAAS,MAAM,QAAQ,IAAI;EACjC,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,OAAO,OAGzC,MAAM,IAAI,MAAM,qCAAqC;EAEvD,gBAAA,SAAS,OAAO,UAAU,OAAO,KAAK;EACtC,aAAa,MAAmB;EAEhC,OAAO,GAAG,WAAWD,eAAAA,SAAS,UAAU;CAC1C;CAEA,MAAM,mBAAmB;EAGvB,gBAAA,UAAU;EACV,aAAaF,gBAAAA,oBAAoB,CAAC;EAClC,OAAO,UAAU,OAAO;CAC1B;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;EACE,OAAO;GACL;GACA;GACA;GACA;EACF;EAEC;CACU,CAAA;AAEjB;AAIA,IAAa,iBAAA,GAAgBI,MAAAA,IAAAA,CAAI,WAAW"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { APIRoute } from "../../utils/routes.mjs";
|
|
1
2
|
import { clearAuth, saveAuth } from "../../store/storage.mjs";
|
|
2
3
|
import { getConfiguration } from "../../configuration.mjs";
|
|
3
|
-
import { APIRoute } from "../../store/routes.mjs";
|
|
4
4
|
import { stripTrailingSlash } from "../../store/utils.mjs";
|
|
5
5
|
import { useDataMutation } from "../../api/use-data-mutation.mjs";
|
|
6
6
|
import { clearExpiredAuth, getDefaultUserState } from "./utils.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.mjs","names":[],"sources":["../../../src/providers/AuthProvider/AuthProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, use } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"AuthProvider.mjs","names":[],"sources":["../../../src/providers/AuthProvider/AuthProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, use } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport { clearAuth, saveAuth } from '../../store/storage';\nimport { stripTrailingSlash } from '../../store/utils';\nimport type { LoginBody } from './types';\nimport { clearExpiredAuth, getDefaultUserState } from './utils';\nimport { APIRoute } from '../../utils/routes';\n\ninterface AuthContextProps {\n handleLogin: (body: { username: string; password: string }) => Promise<any>;\n setUserState: React.Dispatch<React.SetStateAction<LoginBody>>;\n logOutUser: () => void;\n userState: LoginBody;\n}\n\nexport const AuthContext = createContext<Partial<AuthContextProps>>({\n userState: { token: null, username: null },\n setUserState: () => {},\n handleLogin: async () => {},\n logOutUser: () => {},\n});\n\nconst configuration = getConfiguration();\nconst basePath = stripTrailingSlash(configuration.base);\n\nconst AuthProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n // lazy initializer: reading storage and decoding the JWT on every render is wasted work\n const [userState, setUserState] = React.useState<LoginBody>(getDefaultUserState);\n\n React.useEffect(() => {\n clearExpiredAuth();\n }, []);\n const { trigger } = useDataMutation<LoginBody>(basePath, APIRoute.LOGIN, 'POST');\n const { mutate } = useSWRConfig();\n\n const handleLogin = async (body: { username: string; password: string }) => {\n const result = await trigger(body);\n if (!result || !result.username || !result.token) {\n // a 2xx with an unexpected body (proxy or auth plugin returning html)\n // must not pass as a successful login\n throw new Error('login response is missing the token');\n }\n saveAuth(result.username, result.token);\n setUserState(result as LoginBody);\n // Revalidate the packages list so it reflects authenticated access\n mutate(`${basePath}${APIRoute.PACKAGES}`);\n };\n\n const logOutUser = () => {\n // clear storage first: getDefaultUserState reads it, and the token is\n // still valid at this point, so the old order re-hydrated the session\n clearAuth();\n setUserState(getDefaultUserState());\n window.location?.reload();\n };\n\n return (\n <AuthContext\n value={{\n handleLogin,\n userState,\n logOutUser,\n setUserState,\n }}\n >\n {children}\n </AuthContext>\n );\n};\n\nexport { AuthProvider };\n\nexport const useAuth = () => use(AuthContext);\n"],"mappings":";;;;;;;;;;AAmBA,IAAa,cAAc,cAAyC;CAClE,WAAW;EAAE,OAAO;EAAM,UAAU;CAAK;CACzC,oBAAoB,CAAC;CACrB,aAAa,YAAY,CAAC;CAC1B,kBAAkB,CAAC;AACrB,CAAC;AAED,IAAM,gBAAgB,iBAAiB;AACvC,IAAM,WAAW,mBAAmB,cAAc,IAAI;AAEtD,IAAM,gBAAsD,EAAE,eAAe;CAE3E,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAoB,mBAAmB;CAE/E,MAAM,gBAAgB;EACpB,iBAAiB;CACnB,GAAG,CAAC,CAAC;CACL,MAAM,EAAE,YAAY,gBAA2B,UAAU,SAAS,OAAO,MAAM;CAC/E,MAAM,EAAE,WAAW,aAAa;CAEhC,MAAM,cAAc,OAAO,SAAiD;EAC1E,MAAM,SAAS,MAAM,QAAQ,IAAI;EACjC,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,OAAO,OAGzC,MAAM,IAAI,MAAM,qCAAqC;EAEvD,SAAS,OAAO,UAAU,OAAO,KAAK;EACtC,aAAa,MAAmB;EAEhC,OAAO,GAAG,WAAW,SAAS,UAAU;CAC1C;CAEA,MAAM,mBAAmB;EAGvB,UAAU;EACV,aAAa,oBAAoB,CAAC;EAClC,OAAO,UAAU,OAAO;CAC1B;CAEA,OACE,oBAAC,aAAD;EACE,OAAO;GACL;GACA;GACA;GACA;EACF;EAEC;CACU,CAAA;AAEjB;AAIA,IAAa,gBAAgB,IAAI,WAAW"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { AuthContext, AuthProvider, useAuth };
|
|
1
|
+
export { AuthContext, AuthProvider, useAuth } from "./AuthProvider.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/providers/AuthProvider/utils.ts"],"sourcesContent":["import { clearAuth, getAuth } from '../../store/storage';\nimport { isTokenExpire } from '../../utils';\nimport type { LoginBody } from './types';\n\nexport function getDefaultUserState(): LoginBody {\n const { token, username } = getAuth();\n return isTokenExpire(token) ? { token: null, username: null } : { token, username };\n}\n\n/**\n * Drop an expired token from storage on boot: the api client attaches whatever\n * is stored, and the server treats an expired bearer as anonymous while the\n * header still claims the user is logged in.\n */\nexport function clearExpiredAuth(): void {\n const { token } = getAuth();\n if (token && isTokenExpire(token)) {\n clearAuth();\n }\n}\n\nexport const AUTH_ERROR_FALLBACK = 'Authentication failed';\n\nexport function normalizeAuthError(err: any): Error {\n const message =\n err?.info?.message || err?.response?.data?.message || err?.message || AUTH_ERROR_FALLBACK;\n\n return new Error(message);\n}\n\n/**\n * Message to display for a failed auth request: the server's own message when\n * there is one, otherwise the (already translated) fallback text.\n */\nexport function authErrorMessage(err: any, translatedFallback: string): string {\n // errors without an HTTP code (network failures, unexpected exceptions) carry\n // technical messages like \"Failed to fetch\" — not something to show the user\n if (typeof err?.code !== 'number') {\n return translatedFallback;\n }\n const { message } = normalizeAuthError(err);\n return message && message !== AUTH_ERROR_FALLBACK ? message : translatedFallback;\n}\n"],"mappings":";;;;AAIA,SAAgB,sBAAiC;CAC/C,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","names":["getAuth","isTokenExpire"],"sources":["../../../src/providers/AuthProvider/utils.ts"],"sourcesContent":["import { clearAuth, getAuth } from '../../store/storage';\nimport { isTokenExpire } from '../../utils';\nimport type { LoginBody } from './types';\n\nexport function getDefaultUserState(): LoginBody {\n const { token, username } = getAuth();\n return isTokenExpire(token) ? { token: null, username: null } : { token, username };\n}\n\n/**\n * Drop an expired token from storage on boot: the api client attaches whatever\n * is stored, and the server treats an expired bearer as anonymous while the\n * header still claims the user is logged in.\n */\nexport function clearExpiredAuth(): void {\n const { token } = getAuth();\n if (token && isTokenExpire(token)) {\n clearAuth();\n }\n}\n\nexport const AUTH_ERROR_FALLBACK = 'Authentication failed';\n\nexport function normalizeAuthError(err: any): Error {\n const message =\n err?.info?.message || err?.response?.data?.message || err?.message || AUTH_ERROR_FALLBACK;\n\n return new Error(message);\n}\n\n/**\n * Message to display for a failed auth request: the server's own message when\n * there is one, otherwise the (already translated) fallback text.\n */\nexport function authErrorMessage(err: any, translatedFallback: string): string {\n // errors without an HTTP code (network failures, unexpected exceptions) carry\n // technical messages like \"Failed to fetch\" — not something to show the user\n if (typeof err?.code !== 'number') {\n return translatedFallback;\n }\n const { message } = normalizeAuthError(err);\n return message && message !== AUTH_ERROR_FALLBACK ? message : translatedFallback;\n}\n"],"mappings":";;;;AAIA,SAAgB,sBAAiC;CAC/C,MAAM,EAAE,OAAO,aAAaA,gBAAAA,QAAQ;CACpC,OAAOC,cAAAA,cAAc,KAAK,IAAI;EAAE,OAAO;EAAM,UAAU;CAAK,IAAI;EAAE;EAAO;CAAS;AACpF;;;;;;AAOA,SAAgB,mBAAyB;CACvC,MAAM,EAAE,UAAUD,gBAAAA,QAAQ;CAC1B,IAAI,SAASC,cAAAA,cAAc,KAAK,GAC9B,gBAAA,UAAU;AAEd;AAEA,IAAa,sBAAsB;AAEnC,SAAgB,mBAAmB,KAAiB;CAClD,MAAM,UACJ,KAAK,MAAM,WAAW,KAAK,UAAU,MAAM,WAAW,KAAK,WAAA;CAE7D,OAAO,IAAI,MAAM,OAAO;AAC1B;;;;;AAMA,SAAgB,iBAAiB,KAAU,oBAAoC;CAG7E,IAAI,OAAO,KAAK,SAAS,UACvB,OAAO;CAET,MAAM,EAAE,YAAY,mBAAmB,GAAG;CAC1C,OAAO,WAAW,YAAA,0BAAkC,UAAU;AAChE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadProvider.js","names":[],"sources":["../../../src/providers/DownloadProvider/DownloadProvider.tsx"],"sourcesContent":["import Alert from '@mui/material/Alert';\nimport Snackbar from '@mui/material/Snackbar';\nimport type { ReactNode } from 'react';\nimport React, { createContext, useCallback, useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { useTarballDownload } from '../../api/use-data-mutation';\nimport { downloadFile, extractFileName } from '../../utils/url';\n\nexport interface DownloadContextProps {\n downloadTarball: (args: { link: string }) => Promise<void>;\n isDownloading: boolean;\n hasDownloadError: boolean;\n}\n\nexport const DownloadContext = createContext<DownloadContextProps | undefined>(undefined);\n\nexport const DownloadProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { t } = useTranslation();\n const { download, isDownloading } = useTarballDownload();\n const [hasDownloadError, setHasDownloadError] = useState(false);\n\n const downloadTarball = useCallback(\n async ({ link }: { link: string }) => {\n try {\n setHasDownloadError(false);\n const fileStream = await download({ link });\n if (!fileStream) {\n // clicking download and having nothing happen sends the user\n // retrying blindly; an empty response is an error too\n setHasDownloadError(true);\n return;\n }\n\n const fileName = extractFileName(link);\n downloadFile(fileStream, fileName);\n } catch (error) {\n console.error('Error during tarball download:', error);\n setHasDownloadError(true);\n }\n },\n [download]\n );\n\n return (\n <DownloadContext.Provider value={{ downloadTarball, isDownloading, hasDownloadError }}>\n {children}\n <Snackbar\n autoHideDuration={6000}\n onClose={() => setHasDownloadError(false)}\n open={hasDownloadError}\n >\n {/* @ts-ignore - Alert does accept children despite the type error */}\n <Alert onClose={() => setHasDownloadError(false)} severity=\"error\" variant=\"filled\">\n {t('error.download-tarball')}\n </Alert>\n </Snackbar>\n </DownloadContext.Provider>\n );\n};\n\nexport const useDownload = () => {\n const context = useContext(DownloadContext);\n if (!context) {\n throw new Error('useDownload must be used within a DownloadProvider');\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;;;AAeA,IAAa,mBAAA,
|
|
1
|
+
{"version":3,"file":"DownloadProvider.js","names":["createContext","useTranslation","useTarballDownload","useState","useCallback","extractFileName","Snackbar","Alert","useContext"],"sources":["../../../src/providers/DownloadProvider/DownloadProvider.tsx"],"sourcesContent":["import Alert from '@mui/material/Alert';\nimport Snackbar from '@mui/material/Snackbar';\nimport type { ReactNode } from 'react';\nimport React, { createContext, useCallback, useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { useTarballDownload } from '../../api/use-data-mutation';\nimport { downloadFile, extractFileName } from '../../utils/url';\n\nexport interface DownloadContextProps {\n downloadTarball: (args: { link: string }) => Promise<void>;\n isDownloading: boolean;\n hasDownloadError: boolean;\n}\n\nexport const DownloadContext = createContext<DownloadContextProps | undefined>(undefined);\n\nexport const DownloadProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { t } = useTranslation();\n const { download, isDownloading } = useTarballDownload();\n const [hasDownloadError, setHasDownloadError] = useState(false);\n\n const downloadTarball = useCallback(\n async ({ link }: { link: string }) => {\n try {\n setHasDownloadError(false);\n const fileStream = await download({ link });\n if (!fileStream) {\n // clicking download and having nothing happen sends the user\n // retrying blindly; an empty response is an error too\n setHasDownloadError(true);\n return;\n }\n\n const fileName = extractFileName(link);\n downloadFile(fileStream, fileName);\n } catch (error) {\n console.error('Error during tarball download:', error);\n setHasDownloadError(true);\n }\n },\n [download]\n );\n\n return (\n <DownloadContext.Provider value={{ downloadTarball, isDownloading, hasDownloadError }}>\n {children}\n <Snackbar\n autoHideDuration={6000}\n onClose={() => setHasDownloadError(false)}\n open={hasDownloadError}\n >\n {/* @ts-ignore - Alert does accept children despite the type error */}\n <Alert onClose={() => setHasDownloadError(false)} severity=\"error\" variant=\"filled\">\n {t('error.download-tarball')}\n </Alert>\n </Snackbar>\n </DownloadContext.Provider>\n );\n};\n\nexport const useDownload = () => {\n const context = useContext(DownloadContext);\n if (!context) {\n throw new Error('useDownload must be used within a DownloadProvider');\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;;;AAeA,IAAa,mBAAA,GAAkBA,MAAAA,cAAAA,CAAgD,KAAA,CAAS;AAExF,IAAa,oBAAuD,EAAE,eAAe;CACnF,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAC7B,MAAM,EAAE,UAAU,kBAAkBC,0BAAAA,mBAAmB;CACvD,MAAM,CAAC,kBAAkB,wBAAA,GAAuBC,MAAAA,SAAAA,CAAS,KAAK;CAE9D,MAAM,mBAAA,GAAkBC,MAAAA,YAAAA,CACtB,OAAO,EAAE,WAA6B;EACpC,IAAI;GACF,oBAAoB,KAAK;GACzB,MAAM,aAAa,MAAM,SAAS,EAAE,KAAK,CAAC;GAC1C,IAAI,CAAC,YAAY;IAGf,oBAAoB,IAAI;IACxB;GACF;GAEA,MAAM,WAAWC,YAAAA,gBAAgB,IAAI;GACrC,YAAA,aAAa,YAAY,QAAQ;EACnC,SAAS,OAAO;GACd,QAAQ,MAAM,kCAAkC,KAAK;GACrD,oBAAoB,IAAI;EAC1B;CACF,GACA,CAAC,QAAQ,CACX;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,gBAAgB,UAAjB;EAA0B,OAAO;GAAE;GAAiB;GAAe;EAAiB;EAApF,UAAA,CACG,UACD,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,SAAD;GACE,kBAAkB;GAClB,eAAe,oBAAoB,KAAK;GACxC,MAAM;GAGN,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,SAAD;IAAO,eAAe,oBAAoB,KAAK;IAAG,UAAS;IAAQ,SAAQ;IACxE,UAAA,EAAE,wBAAwB;GACtB,CAAA;EACC,CAAA,CACc;;AAE9B;AAEA,IAAa,oBAAoB;CAC/B,MAAM,WAAA,GAAUC,MAAAA,WAAAA,CAAW,eAAe;CAC1C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,oDAAoD;CAEtE,OAAO;AACT"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { DownloadProvider, useDownload };
|
|
1
|
+
export { DownloadProvider, useDownload } from "./DownloadProvider.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_routes = require("../../utils/routes.js");
|
|
2
3
|
const require_use_data = require("../../api/use-data.js");
|
|
3
4
|
const require_configuration = require("../../configuration.js");
|
|
4
|
-
const require_routes = require("../../store/routes.js");
|
|
5
5
|
const require_utils = require("../../store/utils.js");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
react = require_runtime.__toESM(react);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestsProvider.js","names":[],"sources":["../../../src/providers/ManifestsProvider/ManifestsProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\n\nimport type { Manifest } from '@verdaccio/types';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"ManifestsProvider.js","names":["createContext","getConfiguration","stripTrailingSlash","useData","APIRoute","useContext"],"sources":["../../../src/providers/ManifestsProvider/ManifestsProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\n\nimport type { Manifest } from '@verdaccio/types';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { APIRoute } from '../../utils/routes';\n\nexport interface ManifestsContextProps {\n isError: boolean;\n isLoading: boolean;\n manifests: ManifestWeb[];\n}\n\nexport interface Author {\n name?: string;\n email?: string;\n url?: string;\n avatar?: string;\n}\n\nexport interface ManifestWeb extends Omit<Manifest, 'time' | 'author'> {\n time: string;\n author: Author;\n version: string;\n dist: any;\n}\n\nexport const ManifestsContext = createContext<Partial<ManifestsContextProps>>({});\n\nconst configuration = getConfiguration();\n\nconst ManifestsProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n const basePath = stripTrailingSlash(configuration.base);\n\n const data = useData<ManifestWeb[]>(basePath, APIRoute.PACKAGES);\n\n return (\n <ManifestsContext.Provider\n value={{\n manifests: (data.data as ManifestWeb[]) ?? [],\n isLoading: data.isLoading,\n // any error counts (network failures have no `.code`), but a failed\n // revalidation must not hide an already-cached, renderable list\n isError: typeof data.error !== 'undefined' && typeof data.data === 'undefined',\n }}\n >\n {children}\n </ManifestsContext.Provider>\n );\n};\n\nexport default ManifestsProvider;\n\nexport const useManifests = () => useContext(ManifestsContext);\n"],"mappings":";;;;;;;;;AA8BA,IAAa,oBAAA,GAAmBA,MAAAA,cAAAA,CAA8C,CAAC,CAAC;AAEhF,IAAM,gBAAgBC,sBAAAA,iBAAiB;AAEvC,IAAM,qBAA2D,EAAE,eAAe;CAChF,MAAM,WAAWC,cAAAA,mBAAmB,cAAc,IAAI;CAEtD,MAAM,OAAOC,iBAAAA,QAAuB,UAAUC,eAAAA,SAAS,QAAQ;CAE/D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAiB,UAAlB;EACE,OAAO;GACL,WAAY,KAAK,QAA0B,CAAC;GAC5C,WAAW,KAAK;GAGhB,SAAS,OAAO,KAAK,UAAU,eAAe,OAAO,KAAK,SAAS;EACrE;EAEC;CACwB,CAAA;AAE/B;AAIA,IAAa,sBAAA,GAAqBC,MAAAA,WAAAA,CAAW,gBAAgB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { APIRoute } from "../../utils/routes.mjs";
|
|
1
2
|
import { useData } from "../../api/use-data.mjs";
|
|
2
3
|
import { getConfiguration } from "../../configuration.mjs";
|
|
3
|
-
import { APIRoute } from "../../store/routes.mjs";
|
|
4
4
|
import { stripTrailingSlash } from "../../store/utils.mjs";
|
|
5
5
|
import { createContext, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestsProvider.mjs","names":[],"sources":["../../../src/providers/ManifestsProvider/ManifestsProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\n\nimport type { Manifest } from '@verdaccio/types';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"ManifestsProvider.mjs","names":[],"sources":["../../../src/providers/ManifestsProvider/ManifestsProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\n\nimport type { Manifest } from '@verdaccio/types';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { APIRoute } from '../../utils/routes';\n\nexport interface ManifestsContextProps {\n isError: boolean;\n isLoading: boolean;\n manifests: ManifestWeb[];\n}\n\nexport interface Author {\n name?: string;\n email?: string;\n url?: string;\n avatar?: string;\n}\n\nexport interface ManifestWeb extends Omit<Manifest, 'time' | 'author'> {\n time: string;\n author: Author;\n version: string;\n dist: any;\n}\n\nexport const ManifestsContext = createContext<Partial<ManifestsContextProps>>({});\n\nconst configuration = getConfiguration();\n\nconst ManifestsProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n const basePath = stripTrailingSlash(configuration.base);\n\n const data = useData<ManifestWeb[]>(basePath, APIRoute.PACKAGES);\n\n return (\n <ManifestsContext.Provider\n value={{\n manifests: (data.data as ManifestWeb[]) ?? [],\n isLoading: data.isLoading,\n // any error counts (network failures have no `.code`), but a failed\n // revalidation must not hide an already-cached, renderable list\n isError: typeof data.error !== 'undefined' && typeof data.data === 'undefined',\n }}\n >\n {children}\n </ManifestsContext.Provider>\n );\n};\n\nexport default ManifestsProvider;\n\nexport const useManifests = () => useContext(ManifestsContext);\n"],"mappings":";;;;;;;AA8BA,IAAa,mBAAmB,cAA8C,CAAC,CAAC;AAEhF,IAAM,gBAAgB,iBAAiB;AAEvC,IAAM,qBAA2D,EAAE,eAAe;CAChF,MAAM,WAAW,mBAAmB,cAAc,IAAI;CAEtD,MAAM,OAAO,QAAuB,UAAU,SAAS,QAAQ;CAE/D,OACE,oBAAC,iBAAiB,UAAlB;EACE,OAAO;GACL,WAAY,KAAK,QAA0B,CAAC;GAC5C,WAAW,KAAK;GAGhB,SAAS,OAAO,KAAK,UAAU,eAAe,OAAO,KAAK,SAAS;EACrE;EAEC;CACwB,CAAA;AAE/B;AAIA,IAAa,qBAAqB,WAAW,gBAAgB"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { ManifestsProvider, useManifests };
|
|
1
|
+
export { default as ManifestsProvider, useManifests } from "./ManifestsProvider.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceSettingProvider.js","names":[],"sources":["../../../src/providers/PersistenceSettingProvider/PersistenceSettingProvider.tsx"],"sourcesContent":["import type { FunctionComponent } from 'react';\nimport React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\n\nimport useLocalStorage from '../../hooks/useLocalStorage';\n\ntype PersistenceSettingsProps = {\n isLatest?: boolean;\n isGlobal?: boolean;\n yarnModern: boolean;\n};\n\nconst defaultValues: PersistenceSettingsProps = {\n isLatest: false,\n isGlobal: false,\n yarnModern: false,\n};\n\nconst PersistenceSettingContext = createContext<any>(defaultValues);\n\nconst PersistenceSettingProvider: FunctionComponent<{ children: React.ReactElement<any> }> = ({\n children,\n}) => {\n // get the initial state from the local storage\n const [settings, setSettings] = useLocalStorage(`settings-ui-verdaccio`, {});\n\n const [localSettings, setLocalSettings] = useState<PersistenceSettingsProps>(\n settings ? settings : {}\n );\n\n const updateSettings = useCallback(\n (newSettings: React.SetStateAction<PersistenceSettingsProps>) => {\n setLocalSettings(newSettings);\n setSettings(newSettings);\n },\n [setSettings]\n );\n\n const value = useMemo(\n () => ({\n localSettings: localSettings ? localSettings : {},\n updateSettings,\n }),\n [localSettings, updateSettings]\n );\n\n return (\n <PersistenceSettingContext.Provider value={value}>\n {children}\n </PersistenceSettingContext.Provider>\n );\n};\n\nexport { PersistenceSettingProvider };\n\nexport const useSettings = () => useContext(PersistenceSettingContext);\n"],"mappings":";;;;;;AAiBA,IAAM,6BAAA,
|
|
1
|
+
{"version":3,"file":"PersistenceSettingProvider.js","names":["createContext","useLocalStorage","useState","useCallback","useMemo","useContext"],"sources":["../../../src/providers/PersistenceSettingProvider/PersistenceSettingProvider.tsx"],"sourcesContent":["import type { FunctionComponent } from 'react';\nimport React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\n\nimport useLocalStorage from '../../hooks/useLocalStorage';\n\ntype PersistenceSettingsProps = {\n isLatest?: boolean;\n isGlobal?: boolean;\n yarnModern: boolean;\n};\n\nconst defaultValues: PersistenceSettingsProps = {\n isLatest: false,\n isGlobal: false,\n yarnModern: false,\n};\n\nconst PersistenceSettingContext = createContext<any>(defaultValues);\n\nconst PersistenceSettingProvider: FunctionComponent<{ children: React.ReactElement<any> }> = ({\n children,\n}) => {\n // get the initial state from the local storage\n const [settings, setSettings] = useLocalStorage(`settings-ui-verdaccio`, {});\n\n const [localSettings, setLocalSettings] = useState<PersistenceSettingsProps>(\n settings ? settings : {}\n );\n\n const updateSettings = useCallback(\n (newSettings: React.SetStateAction<PersistenceSettingsProps>) => {\n setLocalSettings(newSettings);\n setSettings(newSettings);\n },\n [setSettings]\n );\n\n const value = useMemo(\n () => ({\n localSettings: localSettings ? localSettings : {},\n updateSettings,\n }),\n [localSettings, updateSettings]\n );\n\n return (\n <PersistenceSettingContext.Provider value={value}>\n {children}\n </PersistenceSettingContext.Provider>\n );\n};\n\nexport { PersistenceSettingProvider };\n\nexport const useSettings = () => useContext(PersistenceSettingContext);\n"],"mappings":";;;;;;AAiBA,IAAM,6BAAA,GAA4BA,MAAAA,cAAAA,CAAmB;CALnD,UAAU;CACV,UAAU;CACV,YAAY;AAGuC,CAAa;AAElE,IAAM,8BAAwF,EAC5F,eACI;CAEJ,MAAM,CAAC,UAAU,eAAeC,wBAAAA,QAAgB,yBAAyB,CAAC,CAAC;CAE3E,MAAM,CAAC,eAAe,qBAAA,GAAoBC,MAAAA,SAAAA,CACxC,WAAW,WAAW,CAAC,CACzB;CAEA,MAAM,kBAAA,GAAiBC,MAAAA,YAAAA,EACpB,gBAAgE;EAC/D,iBAAiB,WAAW;EAC5B,YAAY,WAAW;CACzB,GACA,CAAC,WAAW,CACd;CAEA,MAAM,SAAA,GAAQC,MAAAA,QAAAA,QACL;EACL,eAAe,gBAAgB,gBAAgB,CAAC;EAChD;CACF,IACA,CAAC,eAAe,cAAc,CAChC;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAA0B,UAA3B;EAA2C;EACxC;CACiC,CAAA;AAExC;AAIA,IAAa,qBAAA,GAAoBC,MAAAA,WAAAA,CAAW,yBAAyB"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { PersistenceSettingProvider, useSettings };
|
|
1
|
+
export { PersistenceSettingProvider, useSettings } from "./PersistenceSettingProvider.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_routes = require("../../utils/routes.js");
|
|
2
3
|
const require_configuration = require("../../configuration.js");
|
|
3
|
-
const require_routes = require("../../store/routes.js");
|
|
4
4
|
const require_utils = require("../../store/utils.js");
|
|
5
5
|
const require_use_data_mutation = require("../../api/use-data-mutation.js");
|
|
6
6
|
let react = require("react");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchProvider.js","names":[],"sources":["../../../src/providers/SearchProvider/SearchProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport useSWRMutation from 'swr/mutation';\n\nimport type { SearchResultWeb } from '@verdaccio/types';\n\nimport { fetcher } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"SearchProvider.js","names":["createContext","getConfiguration","useSWRMutation","fetcher","stripTrailingSlash","APIRoute","useContext"],"sources":["../../../src/providers/SearchProvider/SearchProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport useSWRMutation from 'swr/mutation';\n\nimport type { SearchResultWeb } from '@verdaccio/types';\n\nimport { fetcher } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { APIRoute } from '../../utils/routes';\n\nexport interface SearchContextProps {\n error: Error | undefined;\n isLoading: boolean;\n isError: boolean;\n searchResults: SearchResultWeb[];\n doSearch: (query: { text: string; signal?: AbortSignal }) => Promise<void>;\n resetSearch: () => void;\n}\n\nexport const SearchContext = createContext<Partial<SearchContextProps>>({\n searchResults: [],\n isLoading: false,\n});\n\nconst configuration = getConfiguration();\n\nfunction useDataSearchMutation<T>(basePath: string, route: APIRoute | string, method = 'POST') {\n const key = `${basePath}${route}`;\n\n const { data, error, isMutating, trigger, reset } = useSWRMutation<T, any, string, any>(\n key,\n (url, { arg }) => {\n return fetcher<T>(`${url}${encodeURIComponent(arg?.text ?? '')}`, method, arg ?? {}, {\n signal: arg?.signal,\n });\n }\n );\n\n return { data, error, isMutating, trigger, reset };\n}\n\nexport const SearchProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n const basePath = stripTrailingSlash(configuration.base);\n\n const { data, isMutating, error, trigger, reset } = useDataSearchMutation<SearchResultWeb[]>(\n basePath,\n APIRoute.SEARCH,\n 'GET'\n );\n\n const doSearch = async (query: { text: string; signal?: AbortSignal }) => {\n try {\n await trigger({ text: query.text, signal: query.signal });\n } catch (err: any) {\n // an abort (user kept typing or navigated away) is expected control flow;\n // real failures are surfaced through the `isError` state below\n if (err?.name !== 'AbortError') {\n console.error('Search failed:', err);\n }\n }\n };\n\n const value: SearchContextProps = {\n searchResults: data ?? [],\n isLoading: isMutating,\n // an aborted request (user kept typing) is not an error worth showing\n isError: !!error && error.name !== 'AbortError',\n error,\n doSearch,\n resetSearch: reset,\n };\n\n return <SearchContext.Provider value={value}>{children}</SearchContext.Provider>;\n};\n\nexport default SearchProvider;\n\nexport const useSearch = () => useContext(SearchContext);\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,iBAAA,GAAgBA,MAAAA,cAAAA,CAA2C;CACtE,eAAe,CAAC;CAChB,WAAW;AACb,CAAC;AAED,IAAM,gBAAgBC,sBAAAA,iBAAiB;AAEvC,SAAS,sBAAyB,UAAkB,OAA0B,SAAS,QAAQ;CAC7F,MAAM,MAAM,GAAG,WAAW;CAE1B,MAAM,EAAE,MAAM,OAAO,YAAY,SAAS,WAAA,GAAUC,aAAAA,QAAAA,CAClD,MACC,KAAK,EAAE,UAAU;EAChB,OAAOC,0BAAAA,QAAW,GAAG,MAAM,mBAAmB,KAAK,QAAQ,EAAE,KAAK,QAAQ,OAAO,CAAC,GAAG,EACnF,QAAQ,KAAK,OACf,CAAC;CACH,CACF;CAEA,OAAO;EAAE;EAAM;EAAO;EAAY;EAAS;CAAM;AACnD;AAEA,IAAa,kBAAwD,EAAE,eAAe;CAGpF,MAAM,EAAE,MAAM,YAAY,OAAO,SAAS,UAAU,sBAFnCC,cAAAA,mBAAmB,cAAc,IAGhD,GACAC,eAAAA,SAAS,QACT,KACF;CAEA,MAAM,WAAW,OAAO,UAAkD;EACxE,IAAI;GACF,MAAM,QAAQ;IAAE,MAAM,MAAM;IAAM,QAAQ,MAAM;GAAO,CAAC;EAC1D,SAAS,KAAU;GAGjB,IAAI,KAAK,SAAS,cAChB,QAAQ,MAAM,kBAAkB,GAAG;EAEvC;CACF;CAEA,MAAM,QAA4B;EAChC,eAAe,QAAQ,CAAC;EACxB,WAAW;EAEX,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS;EACnC;EACA;EACA,aAAa;CACf;CAEA,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF;AAIA,IAAa,mBAAA,GAAkBC,MAAAA,WAAAA,CAAW,aAAa"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { APIRoute } from "../../utils/routes.mjs";
|
|
1
2
|
import { getConfiguration } from "../../configuration.mjs";
|
|
2
|
-
import { APIRoute } from "../../store/routes.mjs";
|
|
3
3
|
import { stripTrailingSlash } from "../../store/utils.mjs";
|
|
4
4
|
import { fetcher } from "../../api/use-data-mutation.mjs";
|
|
5
5
|
import { createContext, useContext } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchProvider.mjs","names":[],"sources":["../../../src/providers/SearchProvider/SearchProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport useSWRMutation from 'swr/mutation';\n\nimport type { SearchResultWeb } from '@verdaccio/types';\n\nimport { fetcher } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"SearchProvider.mjs","names":[],"sources":["../../../src/providers/SearchProvider/SearchProvider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport useSWRMutation from 'swr/mutation';\n\nimport type { SearchResultWeb } from '@verdaccio/types';\n\nimport { fetcher } from '../../api/use-data-mutation';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { APIRoute } from '../../utils/routes';\n\nexport interface SearchContextProps {\n error: Error | undefined;\n isLoading: boolean;\n isError: boolean;\n searchResults: SearchResultWeb[];\n doSearch: (query: { text: string; signal?: AbortSignal }) => Promise<void>;\n resetSearch: () => void;\n}\n\nexport const SearchContext = createContext<Partial<SearchContextProps>>({\n searchResults: [],\n isLoading: false,\n});\n\nconst configuration = getConfiguration();\n\nfunction useDataSearchMutation<T>(basePath: string, route: APIRoute | string, method = 'POST') {\n const key = `${basePath}${route}`;\n\n const { data, error, isMutating, trigger, reset } = useSWRMutation<T, any, string, any>(\n key,\n (url, { arg }) => {\n return fetcher<T>(`${url}${encodeURIComponent(arg?.text ?? '')}`, method, arg ?? {}, {\n signal: arg?.signal,\n });\n }\n );\n\n return { data, error, isMutating, trigger, reset };\n}\n\nexport const SearchProvider: React.FC<{ children: ReactElement }> = ({ children }) => {\n const basePath = stripTrailingSlash(configuration.base);\n\n const { data, isMutating, error, trigger, reset } = useDataSearchMutation<SearchResultWeb[]>(\n basePath,\n APIRoute.SEARCH,\n 'GET'\n );\n\n const doSearch = async (query: { text: string; signal?: AbortSignal }) => {\n try {\n await trigger({ text: query.text, signal: query.signal });\n } catch (err: any) {\n // an abort (user kept typing or navigated away) is expected control flow;\n // real failures are surfaced through the `isError` state below\n if (err?.name !== 'AbortError') {\n console.error('Search failed:', err);\n }\n }\n };\n\n const value: SearchContextProps = {\n searchResults: data ?? [],\n isLoading: isMutating,\n // an aborted request (user kept typing) is not an error worth showing\n isError: !!error && error.name !== 'AbortError',\n error,\n doSearch,\n resetSearch: reset,\n };\n\n return <SearchContext.Provider value={value}>{children}</SearchContext.Provider>;\n};\n\nexport default SearchProvider;\n\nexport const useSearch = () => useContext(SearchContext);\n"],"mappings":";;;;;;;;AAoBA,IAAa,gBAAgB,cAA2C;CACtE,eAAe,CAAC;CAChB,WAAW;AACb,CAAC;AAED,IAAM,gBAAgB,iBAAiB;AAEvC,SAAS,sBAAyB,UAAkB,OAA0B,SAAS,QAAQ;CAC7F,MAAM,MAAM,GAAG,WAAW;CAE1B,MAAM,EAAE,MAAM,OAAO,YAAY,SAAS,UAAU,eAClD,MACC,KAAK,EAAE,UAAU;EAChB,OAAO,QAAW,GAAG,MAAM,mBAAmB,KAAK,QAAQ,EAAE,KAAK,QAAQ,OAAO,CAAC,GAAG,EACnF,QAAQ,KAAK,OACf,CAAC;CACH,CACF;CAEA,OAAO;EAAE;EAAM;EAAO;EAAY;EAAS;CAAM;AACnD;AAEA,IAAa,kBAAwD,EAAE,eAAe;CAGpF,MAAM,EAAE,MAAM,YAAY,OAAO,SAAS,UAAU,sBAFnC,mBAAmB,cAAc,IAGhD,GACA,SAAS,QACT,KACF;CAEA,MAAM,WAAW,OAAO,UAAkD;EACxE,IAAI;GACF,MAAM,QAAQ;IAAE,MAAM,MAAM;IAAM,QAAQ,MAAM;GAAO,CAAC;EAC1D,SAAS,KAAU;GAGjB,IAAI,KAAK,SAAS,cAChB,QAAQ,MAAM,kBAAkB,GAAG;EAEvC;CACF;CAEA,MAAM,QAA4B;EAChC,eAAe,QAAQ,CAAC;EACxB,WAAW;EAEX,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS;EACnC;EACA;EACA,aAAa;CACf;CAEA,OAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF;AAIA,IAAa,kBAAkB,WAAW,aAAa"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { SearchContext, SearchProvider, useSearch };
|
|
1
|
+
export { SearchContext, SearchProvider, useSearch } from "./SearchProvider.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslatorProvider.js","names":[],"sources":["../../../src/providers/TranslatorProvider/TranslatorProvider.tsx"],"sourcesContent":["import type { i18n } from 'i18next';\nimport type { FunctionComponent } from 'react';\nimport React, { createContext, useCallback, useContext, useEffect } from 'react';\nimport { I18nextProvider } from 'react-i18next';\n\nimport useLocalStorage from '../../hooks/useLocalStorage';\n\nexport type TranslatorProviderProps = {\n setLanguage: (lng: string) => void;\n language: string;\n listLanguages: LanguageItem[];\n};\n\nexport type LanguageItem = { lng: string; icon: any; menuKey: string };\n\nconst I18nTranslatorContext = createContext<TranslatorProviderProps>({\n setLanguage: (_lng: string) => {},\n language: 'en-US',\n listLanguages: [],\n});\n\n/**\n * Translator provider\n * @category Provider\n */\nconst TranslatorProvider: FunctionComponent<{\n children: React.ReactElement<any>;\n i18n: i18n;\n listLanguages: any;\n onMount: () => {};\n}> = ({ children, onMount, i18n, listLanguages }) => {\n const currentLanguage = i18n.languages?.[0];\n const [language, setLanguage] = useLocalStorage<string>('language', currentLanguage);\n const changeLanguage = useCallback(async () => {\n await i18n.changeLanguage(language);\n }, [i18n, language]);\n\n useEffect(() => {\n // apply the persisted language first, so onMount consumers (e.g. the dayjs\n // locale loader) read the final i18n.language instead of the default\n (async () => {\n await changeLanguage();\n onMount();\n })();\n }, [language, onMount, changeLanguage]);\n\n return (\n <I18nextProvider i18n={i18n}>\n <I18nTranslatorContext.Provider value={{ setLanguage, language, listLanguages }}>\n {children}\n </I18nTranslatorContext.Provider>\n </I18nextProvider>\n );\n};\n\nexport default TranslatorProvider;\n\nexport const useLanguage = () => useContext(I18nTranslatorContext);\n"],"mappings":";;;;;;;AAeA,IAAM,yBAAA,
|
|
1
|
+
{"version":3,"file":"TranslatorProvider.js","names":["createContext","useLocalStorage","useCallback","I18nextProvider","useContext"],"sources":["../../../src/providers/TranslatorProvider/TranslatorProvider.tsx"],"sourcesContent":["import type { i18n } from 'i18next';\nimport type { FunctionComponent } from 'react';\nimport React, { createContext, useCallback, useContext, useEffect } from 'react';\nimport { I18nextProvider } from 'react-i18next';\n\nimport useLocalStorage from '../../hooks/useLocalStorage';\n\nexport type TranslatorProviderProps = {\n setLanguage: (lng: string) => void;\n language: string;\n listLanguages: LanguageItem[];\n};\n\nexport type LanguageItem = { lng: string; icon: any; menuKey: string };\n\nconst I18nTranslatorContext = createContext<TranslatorProviderProps>({\n setLanguage: (_lng: string) => {},\n language: 'en-US',\n listLanguages: [],\n});\n\n/**\n * Translator provider\n * @category Provider\n */\nconst TranslatorProvider: FunctionComponent<{\n children: React.ReactElement<any>;\n i18n: i18n;\n listLanguages: any;\n onMount: () => {};\n}> = ({ children, onMount, i18n, listLanguages }) => {\n const currentLanguage = i18n.languages?.[0];\n const [language, setLanguage] = useLocalStorage<string>('language', currentLanguage);\n const changeLanguage = useCallback(async () => {\n await i18n.changeLanguage(language);\n }, [i18n, language]);\n\n useEffect(() => {\n // apply the persisted language first, so onMount consumers (e.g. the dayjs\n // locale loader) read the final i18n.language instead of the default\n (async () => {\n await changeLanguage();\n onMount();\n })();\n }, [language, onMount, changeLanguage]);\n\n return (\n <I18nextProvider i18n={i18n}>\n <I18nTranslatorContext.Provider value={{ setLanguage, language, listLanguages }}>\n {children}\n </I18nTranslatorContext.Provider>\n </I18nextProvider>\n );\n};\n\nexport default TranslatorProvider;\n\nexport const useLanguage = () => useContext(I18nTranslatorContext);\n"],"mappings":";;;;;;;AAeA,IAAM,yBAAA,GAAwBA,MAAAA,cAAAA,CAAuC;CACnE,cAAc,SAAiB,CAAC;CAChC,UAAU;CACV,eAAe,CAAC;AAClB,CAAC;;;;;AAMD,IAAM,sBAKA,EAAE,UAAU,SAAS,MAAM,oBAAoB;CACnD,MAAM,kBAAkB,KAAK,YAAY;CACzC,MAAM,CAAC,UAAU,eAAeC,wBAAAA,QAAwB,YAAY,eAAe;CACnF,MAAM,kBAAA,GAAiBC,MAAAA,YAAAA,CAAY,YAAY;EAC7C,MAAM,KAAK,eAAe,QAAQ;CACpC,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,CAAA,GAAA,MAAA,UAAA,OAAgB;EAGd,CAAC,YAAY;GACX,MAAM,eAAe;GACrB,QAAQ;EACV,EAAA,CAAG;CACL,GAAG;EAAC;EAAU;EAAS;CAAc,CAAC;CAEtC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,iBAAD;EAAuB;EACrB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAsB,UAAvB;GAAgC,OAAO;IAAE;IAAa;IAAU;GAAc;GAC3E;EAC6B,CAAA;CACjB,CAAA;AAErB;AAIA,IAAa,qBAAA,GAAoBC,MAAAA,WAAAA,CAAW,qBAAqB"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { TranslatorProvider, useLanguage };
|
|
1
|
+
export { default as TranslatorProvider, useLanguage } from "./TranslatorProvider.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_routes = require("../../utils/routes.js");
|
|
2
3
|
const require_use_data = require("../../api/use-data.js");
|
|
3
4
|
const require_configuration = require("../../configuration.js");
|
|
4
|
-
const require_routes = require("../../store/routes.js");
|
|
5
5
|
const require_utils = require("../../store/utils.js");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
react = require_runtime.__toESM(react);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionProvider.js","names":[],"sources":["../../../src/providers/VersionProvider/VersionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { useParams } from 'react-router';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"VersionProvider.js","names":["createContext","useParams","getConfiguration","stripTrailingSlash","useData","APIRoute","useMemo","useContext"],"sources":["../../../src/providers/VersionProvider/VersionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { useParams } from 'react-router';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { APIRoute } from '../../utils/routes';\n\nfunction getRouterPackageName(packageName: string, scope?: string): string {\n return scope ? `${scope}/${packageName}` : packageName;\n}\n\nexport interface ApiError extends Error {\n code?: number;\n}\n\nexport interface DetailContextProps {\n error: ApiError | undefined;\n hasNotBeenFound: boolean;\n isForbidden: boolean;\n isUnAuthorized: boolean;\n isError: boolean;\n isLoading: boolean;\n packageMeta?: PackageMetaInterface;\n packageName: string;\n packageVersion?: string;\n readMe?: string;\n}\n\nexport const DetailContext = createContext<DetailContextProps | undefined>(undefined);\n\nconst VersionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const {\n scope,\n package: pkgName,\n version: packageVersion,\n } = useParams<Record<'scope' | 'package' | 'version', string | undefined>>();\n\n const configuration = getConfiguration();\n const basePath = stripTrailingSlash(configuration.base);\n const packageName = getRouterPackageName(pkgName ?? '', scope);\n\n const readmeData = useData<string>(basePath, APIRoute.README, packageName, packageVersion);\n\n const sidebarData = useData<PackageMetaInterface>(\n basePath,\n APIRoute.SIDEBAR,\n packageName,\n packageVersion\n );\n const isLoading = readmeData.isLoading || sidebarData.isLoading;\n // only the sidebar data drives the whole page; a readme-only failure must\n // not blank a page that can render from sidebar data\n const error: ApiError | undefined = sidebarData.error;\n const errorCode = (sidebarData.error as ApiError)?.code;\n\n const value = useMemo<DetailContextProps>(\n () => ({\n packageMeta: sidebarData.data,\n readMe: readmeData.data,\n packageName,\n packageVersion,\n isLoading,\n isForbidden: errorCode === 403,\n isUnAuthorized: errorCode === 401,\n hasNotBeenFound: errorCode === 404,\n // network failures reject without a `.code`, they are still errors\n isError: error !== undefined,\n error,\n }),\n [sidebarData.data, readmeData.data, packageName, packageVersion, isLoading, errorCode, error]\n );\n\n return <DetailContext.Provider value={value}>{children}</DetailContext.Provider>;\n};\n\nexport default VersionProvider;\n\nexport const useVersion = (): DetailContextProps => {\n const context = useContext(DetailContext);\n if (context === undefined) {\n throw new Error('useVersion must be used within a VersionProvider');\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;AASA,SAAS,qBAAqB,aAAqB,OAAwB;CACzE,OAAO,QAAQ,GAAG,MAAM,GAAG,gBAAgB;AAC7C;AAmBA,IAAa,iBAAA,GAAgBA,MAAAA,cAAAA,CAA8C,KAAA,CAAS;AAEpF,IAAM,mBAA4D,EAAE,eAAe;CACjF,MAAM,EACJ,OACA,SAAS,SACT,SAAS,oBAAA,GACPC,aAAAA,UAAAA,CAAuE;CAE3E,MAAM,gBAAgBC,sBAAAA,iBAAiB;CACvC,MAAM,WAAWC,cAAAA,mBAAmB,cAAc,IAAI;CACtD,MAAM,cAAc,qBAAqB,WAAW,IAAI,KAAK;CAE7D,MAAM,aAAaC,iBAAAA,QAAgB,UAAUC,eAAAA,SAAS,QAAQ,aAAa,cAAc;CAEzF,MAAM,cAAcD,iBAAAA,QAClB,UACAC,eAAAA,SAAS,SACT,aACA,cACF;CACA,MAAM,YAAY,WAAW,aAAa,YAAY;CAGtD,MAAM,QAA8B,YAAY;CAChD,MAAM,YAAa,YAAY,OAAoB;CAEnD,MAAM,SAAA,GAAQC,MAAAA,QAAAA,QACL;EACL,aAAa,YAAY;EACzB,QAAQ,WAAW;EACnB;EACA;EACA;EACA,aAAa,cAAc;EAC3B,gBAAgB,cAAc;EAC9B,iBAAiB,cAAc;EAE/B,SAAS,UAAU,KAAA;EACnB;CACF,IACA;EAAC,YAAY;EAAM,WAAW;EAAM;EAAa;EAAgB;EAAW;EAAW;CAAK,CAC9F;CAEA,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF;AAIA,IAAa,mBAAuC;CAClD,MAAM,WAAA,GAAUC,MAAAA,WAAAA,CAAW,aAAa;CACxC,IAAI,YAAY,KAAA,GACd,MAAM,IAAI,MAAM,kDAAkD;CAEpE,OAAO;AACT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { APIRoute } from "../../utils/routes.mjs";
|
|
1
2
|
import { useData } from "../../api/use-data.mjs";
|
|
2
3
|
import { getConfiguration } from "../../configuration.mjs";
|
|
3
|
-
import { APIRoute } from "../../store/routes.mjs";
|
|
4
4
|
import { stripTrailingSlash } from "../../store/utils.mjs";
|
|
5
5
|
import { createContext, useContext, useMemo } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionProvider.mjs","names":[],"sources":["../../../src/providers/VersionProvider/VersionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { useParams } from 'react-router';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport {
|
|
1
|
+
{"version":3,"file":"VersionProvider.mjs","names":[],"sources":["../../../src/providers/VersionProvider/VersionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { useParams } from 'react-router';\n\nimport { useData } from '../../api/use-data';\nimport { getConfiguration } from '../../configuration';\nimport { stripTrailingSlash } from '../../store/utils';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { APIRoute } from '../../utils/routes';\n\nfunction getRouterPackageName(packageName: string, scope?: string): string {\n return scope ? `${scope}/${packageName}` : packageName;\n}\n\nexport interface ApiError extends Error {\n code?: number;\n}\n\nexport interface DetailContextProps {\n error: ApiError | undefined;\n hasNotBeenFound: boolean;\n isForbidden: boolean;\n isUnAuthorized: boolean;\n isError: boolean;\n isLoading: boolean;\n packageMeta?: PackageMetaInterface;\n packageName: string;\n packageVersion?: string;\n readMe?: string;\n}\n\nexport const DetailContext = createContext<DetailContextProps | undefined>(undefined);\n\nconst VersionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const {\n scope,\n package: pkgName,\n version: packageVersion,\n } = useParams<Record<'scope' | 'package' | 'version', string | undefined>>();\n\n const configuration = getConfiguration();\n const basePath = stripTrailingSlash(configuration.base);\n const packageName = getRouterPackageName(pkgName ?? '', scope);\n\n const readmeData = useData<string>(basePath, APIRoute.README, packageName, packageVersion);\n\n const sidebarData = useData<PackageMetaInterface>(\n basePath,\n APIRoute.SIDEBAR,\n packageName,\n packageVersion\n );\n const isLoading = readmeData.isLoading || sidebarData.isLoading;\n // only the sidebar data drives the whole page; a readme-only failure must\n // not blank a page that can render from sidebar data\n const error: ApiError | undefined = sidebarData.error;\n const errorCode = (sidebarData.error as ApiError)?.code;\n\n const value = useMemo<DetailContextProps>(\n () => ({\n packageMeta: sidebarData.data,\n readMe: readmeData.data,\n packageName,\n packageVersion,\n isLoading,\n isForbidden: errorCode === 403,\n isUnAuthorized: errorCode === 401,\n hasNotBeenFound: errorCode === 404,\n // network failures reject without a `.code`, they are still errors\n isError: error !== undefined,\n error,\n }),\n [sidebarData.data, readmeData.data, packageName, packageVersion, isLoading, errorCode, error]\n );\n\n return <DetailContext.Provider value={value}>{children}</DetailContext.Provider>;\n};\n\nexport default VersionProvider;\n\nexport const useVersion = (): DetailContextProps => {\n const context = useContext(DetailContext);\n if (context === undefined) {\n throw new Error('useVersion must be used within a VersionProvider');\n }\n return context;\n};\n"],"mappings":";;;;;;;;AASA,SAAS,qBAAqB,aAAqB,OAAwB;CACzE,OAAO,QAAQ,GAAG,MAAM,GAAG,gBAAgB;AAC7C;AAmBA,IAAa,gBAAgB,cAA8C,KAAA,CAAS;AAEpF,IAAM,mBAA4D,EAAE,eAAe;CACjF,MAAM,EACJ,OACA,SAAS,SACT,SAAS,mBACP,UAAuE;CAE3E,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,WAAW,mBAAmB,cAAc,IAAI;CACtD,MAAM,cAAc,qBAAqB,WAAW,IAAI,KAAK;CAE7D,MAAM,aAAa,QAAgB,UAAU,SAAS,QAAQ,aAAa,cAAc;CAEzF,MAAM,cAAc,QAClB,UACA,SAAS,SACT,aACA,cACF;CACA,MAAM,YAAY,WAAW,aAAa,YAAY;CAGtD,MAAM,QAA8B,YAAY;CAChD,MAAM,YAAa,YAAY,OAAoB;CAEnD,MAAM,QAAQ,eACL;EACL,aAAa,YAAY;EACzB,QAAQ,WAAW;EACnB;EACA;EACA;EACA,aAAa,cAAc;EAC3B,gBAAgB,cAAc;EAC9B,iBAAiB,cAAc;EAE/B,SAAS,UAAU,KAAA;EACnB;CACF,IACA;EAAC,YAAY;EAAM,WAAW;EAAM;EAAa;EAAgB;EAAW;EAAW;CAAK,CAC9F;CAEA,OAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF;AAIA,IAAa,mBAAuC;CAClD,MAAM,UAAU,WAAW,aAAa;CACxC,IAAI,YAAY,KAAA,GACd,MAAM,IAAI,MAAM,kDAAkD;CAEpE,OAAO;AACT"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { VersionProvider, useVersion };
|
|
1
|
+
export { default as VersionProvider, useVersion } from "./VersionProvider.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerContent.js","names":[],"sources":["../../../src/sections/Detail/ContainerContent.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVersion } from '../../providers';\nimport loadable from '../../utils/loadable';\nimport ReadmeSection from './ReadmeSection';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst Versions = loadable(() => import('../../components/Versions'));\nconst UpLinks = loadable(() => import('../../components/UpLinks'));\n\nconst Dependencies = loadable(() => import('../../components/Dependencies'));\n\ninterface Props {\n tabPosition: TabPosition;\n readDescription?: string;\n}\n\nconst ContainerContent: React.FC<Props> = ({ tabPosition, readDescription }) => {\n const { packageMeta, packageName } = useVersion();\n switch (tabPosition) {\n case TabPosition.README:\n return <ReadmeSection description={readDescription} />;\n case TabPosition.UPLINKS:\n return <UpLinks packageMeta={packageMeta} />;\n case TabPosition.VERSIONS:\n return <Versions packageMeta={packageMeta} packageName={packageName} />;\n case TabPosition.DEPENDENCIES:\n return <Dependencies packageMeta={packageMeta} />;\n default:\n return null;\n }\n};\n\nexport default ContainerContent;\n"],"mappings":";;;;;;;;;AAaA,IAAM,
|
|
1
|
+
{"version":3,"file":"ContainerContent.js","names":["loadable","useVersion","ReadmeSection"],"sources":["../../../src/sections/Detail/ContainerContent.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVersion } from '../../providers';\nimport loadable from '../../utils/loadable';\nimport ReadmeSection from './ReadmeSection';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst Versions = loadable(() => import('../../components/Versions'));\nconst UpLinks = loadable(() => import('../../components/UpLinks'));\n\nconst Dependencies = loadable(() => import('../../components/Dependencies'));\n\ninterface Props {\n tabPosition: TabPosition;\n readDescription?: string;\n}\n\nconst ContainerContent: React.FC<Props> = ({ tabPosition, readDescription }) => {\n const { packageMeta, packageName } = useVersion();\n switch (tabPosition) {\n case TabPosition.README:\n return <ReadmeSection description={readDescription} />;\n case TabPosition.UPLINKS:\n return <UpLinks packageMeta={packageMeta} />;\n case TabPosition.VERSIONS:\n return <Versions packageMeta={packageMeta} packageName={packageName} />;\n case TabPosition.DEPENDENCIES:\n return <Dependencies packageMeta={packageMeta} />;\n default:\n return null;\n }\n};\n\nexport default ContainerContent;\n"],"mappings":";;;;;;;;;AAaA,IAAM,WAAWA,iBAAAA,cAAAA,QAAAA,QAAAA,CAAAA,CAAAA,WAAAA,QAAe,oCAAA,CAAA,CAAmC;AACnE,IAAM,UAAUA,iBAAAA,cAAAA,QAAAA,QAAAA,CAAAA,CAAAA,WAAAA,QAAe,mCAAA,CAAA,CAAkC;AAEjE,IAAM,eAAeA,iBAAAA,cAAAA,QAAAA,QAAAA,CAAAA,CAAAA,WAAAA,QAAe,wCAAA,CAAA,CAAuC;AAO3E,IAAM,oBAAqC,EAAE,aAAa,sBAAsB;CAC9E,MAAM,EAAE,aAAa,gBAAgBC,wBAAAA,WAAW;CAChD,QAAQ,aAAR;EACE,KAAA,UACE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,SAAD,EAAe,aAAa,gBAAkB,CAAA;EACvD,KAAA,WACE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD,EAAsB,YAAc,CAAA;EAC7C,KAAA,YACE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GAAuB;GAA0B;EAAc,CAAA;EACxE,KAAA,gBACE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,EAA2B,YAAc,CAAA;EAClD,SACE,OAAO;CACX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerContent.mjs","names":[],"sources":["../../../src/sections/Detail/ContainerContent.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVersion } from '../../providers';\nimport loadable from '../../utils/loadable';\nimport ReadmeSection from './ReadmeSection';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst Versions = loadable(() => import('../../components/Versions'));\nconst UpLinks = loadable(() => import('../../components/UpLinks'));\n\nconst Dependencies = loadable(() => import('../../components/Dependencies'));\n\ninterface Props {\n tabPosition: TabPosition;\n readDescription?: string;\n}\n\nconst ContainerContent: React.FC<Props> = ({ tabPosition, readDescription }) => {\n const { packageMeta, packageName } = useVersion();\n switch (tabPosition) {\n case TabPosition.README:\n return <ReadmeSection description={readDescription} />;\n case TabPosition.UPLINKS:\n return <UpLinks packageMeta={packageMeta} />;\n case TabPosition.VERSIONS:\n return <Versions packageMeta={packageMeta} packageName={packageName} />;\n case TabPosition.DEPENDENCIES:\n return <Dependencies packageMeta={packageMeta} />;\n default:\n return null;\n }\n};\n\nexport default ContainerContent;\n"],"mappings":";;;;;;;AAaA,IAAM,
|
|
1
|
+
{"version":3,"file":"ContainerContent.mjs","names":["loadable","ReadmeSection"],"sources":["../../../src/sections/Detail/ContainerContent.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVersion } from '../../providers';\nimport loadable from '../../utils/loadable';\nimport ReadmeSection from './ReadmeSection';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst Versions = loadable(() => import('../../components/Versions'));\nconst UpLinks = loadable(() => import('../../components/UpLinks'));\n\nconst Dependencies = loadable(() => import('../../components/Dependencies'));\n\ninterface Props {\n tabPosition: TabPosition;\n readDescription?: string;\n}\n\nconst ContainerContent: React.FC<Props> = ({ tabPosition, readDescription }) => {\n const { packageMeta, packageName } = useVersion();\n switch (tabPosition) {\n case TabPosition.README:\n return <ReadmeSection description={readDescription} />;\n case TabPosition.UPLINKS:\n return <UpLinks packageMeta={packageMeta} />;\n case TabPosition.VERSIONS:\n return <Versions packageMeta={packageMeta} packageName={packageName} />;\n case TabPosition.DEPENDENCIES:\n return <Dependencies packageMeta={packageMeta} />;\n default:\n return null;\n }\n};\n\nexport default ContainerContent;\n"],"mappings":";;;;;;;AAaA,IAAM,WAAWA,uBAAe,OAAO,sCAA4B;AACnE,IAAM,UAAUA,uBAAe,OAAO,qCAA2B;AAEjE,IAAM,eAAeA,uBAAe,OAAO,0CAAgC;AAO3E,IAAM,oBAAqC,EAAE,aAAa,sBAAsB;CAC9E,MAAM,EAAE,aAAa,gBAAgB,WAAW;CAChD,QAAQ,aAAR;EACE,KAAA,UACE,OAAO,oBAACC,8BAAD,EAAe,aAAa,gBAAkB,CAAA;EACvD,KAAA,WACE,OAAO,oBAAC,SAAD,EAAsB,YAAc,CAAA;EAC7C,KAAA,YACE,OAAO,oBAAC,UAAD;GAAuB;GAA0B;EAAc,CAAA;EACxE,KAAA,gBACE,OAAO,oBAAC,cAAD,EAA2B,YAAc,CAAA;EAClD,SACE,OAAO;CACX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Detail.js","names":[],"sources":["../../../src/sections/Detail/Detail.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport React, { useState } from 'react';\n\nimport Deprecated from '../../components/Deprecated';\nimport { useConfig, useVersion } from '../../providers';\nimport ContainerContent from './ContainerContent';\nimport Tabs from './Tabs';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst DetailContainer: React.FC = () => {\n const { configOptions } = useConfig();\n const tabs = configOptions.showUplinks\n ? Object.values(TabPosition)\n : Object.values(TabPosition).filter((tab) => tab !== TabPosition.UPLINKS);\n const [tabPosition, setTabPosition] = useState(0);\n const { readMe, packageMeta } = useVersion();\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabPosition(newValue);\n };\n\n return (\n <Box component=\"div\" display=\"flex\" flexDirection=\"column\" minWidth={0} padding={0}>\n <Tabs\n onChange={handleChange}\n showUplinks={configOptions.showUplinks}\n tabPosition={tabPosition}\n />\n {packageMeta?.latest?.deprecated && <Deprecated message={packageMeta?.latest?.deprecated} />}\n <ContainerContent readDescription={readMe} tabPosition={tabs[tabPosition]} />\n </Box>\n );\n};\n\nexport default DetailContainer;\n"],"mappings":";;;;;;;;;;;;;;AAQA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,YAAA;CACA,YAAA,kBAAA;CACA,YAAA,cAAA;CACA,YAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAM,wBAAkC;CACtC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Detail.js","names":["useConfig","useState","useVersion","Box","Tabs","Deprecated","ContainerContent"],"sources":["../../../src/sections/Detail/Detail.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport React, { useState } from 'react';\n\nimport Deprecated from '../../components/Deprecated';\nimport { useConfig, useVersion } from '../../providers';\nimport ContainerContent from './ContainerContent';\nimport Tabs from './Tabs';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst DetailContainer: React.FC = () => {\n const { configOptions } = useConfig();\n const tabs = configOptions.showUplinks\n ? Object.values(TabPosition)\n : Object.values(TabPosition).filter((tab) => tab !== TabPosition.UPLINKS);\n const [tabPosition, setTabPosition] = useState(0);\n const { readMe, packageMeta } = useVersion();\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabPosition(newValue);\n };\n\n return (\n <Box component=\"div\" display=\"flex\" flexDirection=\"column\" minWidth={0} padding={0}>\n <Tabs\n onChange={handleChange}\n showUplinks={configOptions.showUplinks}\n tabPosition={tabPosition}\n />\n {packageMeta?.latest?.deprecated && <Deprecated message={packageMeta?.latest?.deprecated} />}\n <ContainerContent readDescription={readMe} tabPosition={tabs[tabPosition]} />\n </Box>\n );\n};\n\nexport default DetailContainer;\n"],"mappings":";;;;;;;;;;;;;;AAQA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,YAAA;CACA,YAAA,kBAAA;CACA,YAAA,cAAA;CACA,YAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAM,wBAAkC;CACtC,MAAM,EAAE,kBAAkBA,iCAAAA,UAAU;CACpC,MAAM,OAAO,cAAc,cACvB,OAAO,OAAO,WAAW,IACzB,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,QAAQ,QAAA,SAA2B;CAC1E,MAAM,CAAC,aAAa,mBAAA,GAAkBC,MAAAA,SAAAA,CAAS,CAAC;CAChD,MAAM,EAAE,QAAQ,gBAAgBC,wBAAAA,WAAW;CAE3C,MAAM,gBAAgB,OAA8B,aAAqB;EACvE,eAAe,QAAQ;CACzB;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,SAAD;EAAK,WAAU;EAAM,SAAQ;EAAO,eAAc;EAAS,UAAU;EAAG,SAAS;EAAjF,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,SAAD;IACE,UAAU;IACV,aAAa,cAAc;IACd;GACd,CAAA;GACA,aAAa,QAAQ,cAAc,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,SAAD,EAAY,SAAS,aAAa,QAAQ,WAAa,CAAA;GAC3F,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD;IAAkB,iBAAiB;IAAQ,aAAa,KAAK;GAAe,CAAA;EACzE;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Detail.mjs","names":[],"sources":["../../../src/sections/Detail/Detail.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport React, { useState } from 'react';\n\nimport Deprecated from '../../components/Deprecated';\nimport { useConfig, useVersion } from '../../providers';\nimport ContainerContent from './ContainerContent';\nimport Tabs from './Tabs';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst DetailContainer: React.FC = () => {\n const { configOptions } = useConfig();\n const tabs = configOptions.showUplinks\n ? Object.values(TabPosition)\n : Object.values(TabPosition).filter((tab) => tab !== TabPosition.UPLINKS);\n const [tabPosition, setTabPosition] = useState(0);\n const { readMe, packageMeta } = useVersion();\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabPosition(newValue);\n };\n\n return (\n <Box component=\"div\" display=\"flex\" flexDirection=\"column\" minWidth={0} padding={0}>\n <Tabs\n onChange={handleChange}\n showUplinks={configOptions.showUplinks}\n tabPosition={tabPosition}\n />\n {packageMeta?.latest?.deprecated && <Deprecated message={packageMeta?.latest?.deprecated} />}\n <ContainerContent readDescription={readMe} tabPosition={tabs[tabPosition]} />\n </Box>\n );\n};\n\nexport default DetailContainer;\n"],"mappings":";;;;;;;;;;;AAQA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,YAAA;CACA,YAAA,kBAAA;CACA,YAAA,cAAA;CACA,YAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAM,wBAAkC;CACtC,MAAM,EAAE,kBAAkB,UAAU;CACpC,MAAM,OAAO,cAAc,cACvB,OAAO,OAAO,WAAW,IACzB,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,QAAQ,QAAA,SAA2B;CAC1E,MAAM,CAAC,aAAa,kBAAkB,SAAS,CAAC;CAChD,MAAM,EAAE,QAAQ,gBAAgB,WAAW;CAE3C,MAAM,gBAAgB,OAA8B,aAAqB;EACvE,eAAe,QAAQ;CACzB;CAEA,OACE,qBAAC,KAAD;EAAK,WAAU;EAAM,SAAQ;EAAO,eAAc;EAAS,UAAU;EAAG,SAAS;EAAjF,UAAA;GACE,
|
|
1
|
+
{"version":3,"file":"Detail.mjs","names":["Tabs"],"sources":["../../../src/sections/Detail/Detail.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport React, { useState } from 'react';\n\nimport Deprecated from '../../components/Deprecated';\nimport { useConfig, useVersion } from '../../providers';\nimport ContainerContent from './ContainerContent';\nimport Tabs from './Tabs';\n\nexport enum TabPosition {\n README = 'readme',\n DEPENDENCIES = 'dependencies',\n VERSIONS = 'versions',\n UPLINKS = 'uplinks',\n}\n\nconst DetailContainer: React.FC = () => {\n const { configOptions } = useConfig();\n const tabs = configOptions.showUplinks\n ? Object.values(TabPosition)\n : Object.values(TabPosition).filter((tab) => tab !== TabPosition.UPLINKS);\n const [tabPosition, setTabPosition] = useState(0);\n const { readMe, packageMeta } = useVersion();\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabPosition(newValue);\n };\n\n return (\n <Box component=\"div\" display=\"flex\" flexDirection=\"column\" minWidth={0} padding={0}>\n <Tabs\n onChange={handleChange}\n showUplinks={configOptions.showUplinks}\n tabPosition={tabPosition}\n />\n {packageMeta?.latest?.deprecated && <Deprecated message={packageMeta?.latest?.deprecated} />}\n <ContainerContent readDescription={readMe} tabPosition={tabs[tabPosition]} />\n </Box>\n );\n};\n\nexport default DetailContainer;\n"],"mappings":";;;;;;;;;;;AAQA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,YAAA;CACA,YAAA,kBAAA;CACA,YAAA,cAAA;CACA,YAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAM,wBAAkC;CACtC,MAAM,EAAE,kBAAkB,UAAU;CACpC,MAAM,OAAO,cAAc,cACvB,OAAO,OAAO,WAAW,IACzB,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,QAAQ,QAAA,SAA2B;CAC1E,MAAM,CAAC,aAAa,kBAAkB,SAAS,CAAC;CAChD,MAAM,EAAE,QAAQ,gBAAgB,WAAW;CAE3C,MAAM,gBAAgB,OAA8B,aAAqB;EACvE,eAAe,QAAQ;CACzB;CAEA,OACE,qBAAC,KAAD;EAAK,WAAU;EAAM,SAAQ;EAAO,eAAc;EAAS,UAAU;EAAG,SAAS;EAAjF,UAAA;GACE,oBAACA,qBAAD;IACE,UAAU;IACV,aAAa,cAAc;IACd;GACd,CAAA;GACA,aAAa,QAAQ,cAAc,oBAAC,YAAD,EAAY,SAAS,aAAa,QAAQ,WAAa,CAAA;GAC3F,oBAAC,kBAAD;IAAkB,iBAAiB;IAAQ,aAAa,KAAK;GAAe,CAAA;EACzE;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeSection.js","names":[],"sources":["../../../src/sections/Detail/ReadmeSection.tsx"],"sourcesContent":["import React from 'react';\n\nimport Readme from '../../components/Readme';\n\ninterface Props {\n description?: string;\n}\n\nconst DetailContainerContentReadme: React.FC<Props> = ({ description }) => {\n if (!description) {\n return null;\n }\n\n return <Readme description={description} />;\n};\n\nexport default DetailContainerContentReadme;\n"],"mappings":";;;;;;;AAQA,IAAM,gCAAiD,EAAE,kBAAkB;CACzE,IAAI,CAAC,aACH,OAAO;CAGT,OAAO,iBAAA,GAAA,kBAAA,IAAA,
|
|
1
|
+
{"version":3,"file":"ReadmeSection.js","names":["Readme"],"sources":["../../../src/sections/Detail/ReadmeSection.tsx"],"sourcesContent":["import React from 'react';\n\nimport Readme from '../../components/Readme';\n\ninterface Props {\n description?: string;\n}\n\nconst DetailContainerContentReadme: React.FC<Props> = ({ description }) => {\n if (!description) {\n return null;\n }\n\n return <Readme description={description} />;\n};\n\nexport default DetailContainerContentReadme;\n"],"mappings":";;;;;;;AAQA,IAAM,gCAAiD,EAAE,kBAAkB;CACzE,IAAI,CAAC,aACH,OAAO;CAGT,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,eAAAA,SAAD,EAAqB,YAAc,CAAA;AAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":[],"sources":["../../../src/sections/Detail/Tabs.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Tab from '@mui/material/Tab';\nimport { default as MuiTabs } from '@mui/material/Tabs';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\ninterface Props {\n onChange: (event: React.ChangeEvent<{}>, newValue: number) => void;\n tabPosition: number;\n showUplinks?: boolean;\n}\n\nconst DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChange, showUplinks }) => {\n const { t } = useTranslation();\n const isMobile = useMediaQuery('(max-width:599px)');\n\n return (\n <Tabs\n allowScrollButtonsMobile={true}\n onChange={onChange}\n scrollButtons={isMobile ? 'auto' : false}\n value={tabPosition}\n variant={isMobile ? 'scrollable' : 'fullWidth'}\n >\n <Tab data-testid={'readme-tab'} id={'readme-tab'} label={t('tab.readme')} />\n <Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={t('tab.dependencies')} />\n <Tab data-testid={'versions-tab'} id={'versions-tab'} label={t('tab.versions')} />\n {showUplinks && (\n <Tab data-testid={'uplinks-tab'} id={'uplinks-tab'} label={t('tab.uplinks')} />\n )}\n </Tabs>\n );\n};\n\nexport default DetailContainerTabs;\n\nconst Tabs = styled(MuiTabs)<{ theme?: Theme }>({\n marginBottom: 16,\n});\n"],"mappings":";;;;;;;;;;;;;;AAeA,IAAM,uBAAwC,EAAE,aAAa,UAAU,kBAAkB;CACvF,MAAM,EAAE,OAAA,
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["useTranslation","useMediaQuery","Tab","styled","MuiTabs"],"sources":["../../../src/sections/Detail/Tabs.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Tab from '@mui/material/Tab';\nimport { default as MuiTabs } from '@mui/material/Tabs';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\ninterface Props {\n onChange: (event: React.ChangeEvent<{}>, newValue: number) => void;\n tabPosition: number;\n showUplinks?: boolean;\n}\n\nconst DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChange, showUplinks }) => {\n const { t } = useTranslation();\n const isMobile = useMediaQuery('(max-width:599px)');\n\n return (\n <Tabs\n allowScrollButtonsMobile={true}\n onChange={onChange}\n scrollButtons={isMobile ? 'auto' : false}\n value={tabPosition}\n variant={isMobile ? 'scrollable' : 'fullWidth'}\n >\n <Tab data-testid={'readme-tab'} id={'readme-tab'} label={t('tab.readme')} />\n <Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={t('tab.dependencies')} />\n <Tab data-testid={'versions-tab'} id={'versions-tab'} label={t('tab.versions')} />\n {showUplinks && (\n <Tab data-testid={'uplinks-tab'} id={'uplinks-tab'} label={t('tab.uplinks')} />\n )}\n </Tabs>\n );\n};\n\nexport default DetailContainerTabs;\n\nconst Tabs = styled(MuiTabs)<{ theme?: Theme }>({\n marginBottom: 16,\n});\n"],"mappings":";;;;;;;;;;;;;;AAeA,IAAM,uBAAwC,EAAE,aAAa,UAAU,kBAAkB;CACvF,MAAM,EAAE,OAAA,GAAMA,cAAAA,eAAAA,CAAe;CAC7B,MAAM,YAAA,GAAWC,4BAAAA,QAAAA,CAAc,mBAAmB;CAElD,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,MAAD;EACE,0BAA0B;EAChB;EACV,eAAe,WAAW,SAAS;EACnC,OAAO;EACP,SAAS,WAAW,eAAe;EALrC,UAAA;GAOE,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,SAAD;IAAK,eAAa;IAAc,IAAI;IAAc,OAAO,EAAE,YAAY;GAAI,CAAA;GAC3E,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,SAAD;IAAK,eAAa;IAAoB,IAAI;IAAoB,OAAO,EAAE,kBAAkB;GAAI,CAAA;GAC7F,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,SAAD;IAAK,eAAa;IAAgB,IAAI;IAAgB,OAAO,EAAE,cAAc;GAAI,CAAA;GAChF,eACC,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,SAAD;IAAK,eAAa;IAAe,IAAI;IAAe,OAAO,EAAE,aAAa;GAAI,CAAA;EAE5E;;AAEV;AAIA,IAAM,QAAA,GAAOC,gBAAAA,QAAAA,CAAOC,mBAAAA,OAAO,CAAC,CAAoB,EAC9C,cAAc,GAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.mjs","names":[],"sources":["../../../src/sections/Detail/Tabs.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Tab from '@mui/material/Tab';\nimport { default as MuiTabs } from '@mui/material/Tabs';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\ninterface Props {\n onChange: (event: React.ChangeEvent<{}>, newValue: number) => void;\n tabPosition: number;\n showUplinks?: boolean;\n}\n\nconst DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChange, showUplinks }) => {\n const { t } = useTranslation();\n const isMobile = useMediaQuery('(max-width:599px)');\n\n return (\n <Tabs\n allowScrollButtonsMobile={true}\n onChange={onChange}\n scrollButtons={isMobile ? 'auto' : false}\n value={tabPosition}\n variant={isMobile ? 'scrollable' : 'fullWidth'}\n >\n <Tab data-testid={'readme-tab'} id={'readme-tab'} label={t('tab.readme')} />\n <Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={t('tab.dependencies')} />\n <Tab data-testid={'versions-tab'} id={'versions-tab'} label={t('tab.versions')} />\n {showUplinks && (\n <Tab data-testid={'uplinks-tab'} id={'uplinks-tab'} label={t('tab.uplinks')} />\n )}\n </Tabs>\n );\n};\n\nexport default DetailContainerTabs;\n\nconst Tabs = styled(MuiTabs)<{ theme?: Theme }>({\n marginBottom: 16,\n});\n"],"mappings":";;;;;;;;AAeA,IAAM,uBAAwC,EAAE,aAAa,UAAU,kBAAkB;CACvF,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,WAAW,cAAc,mBAAmB;CAElD,OACE,
|
|
1
|
+
{"version":3,"file":"Tabs.mjs","names":["Tabs","MuiTabs"],"sources":["../../../src/sections/Detail/Tabs.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Tab from '@mui/material/Tab';\nimport { default as MuiTabs } from '@mui/material/Tabs';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\ninterface Props {\n onChange: (event: React.ChangeEvent<{}>, newValue: number) => void;\n tabPosition: number;\n showUplinks?: boolean;\n}\n\nconst DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChange, showUplinks }) => {\n const { t } = useTranslation();\n const isMobile = useMediaQuery('(max-width:599px)');\n\n return (\n <Tabs\n allowScrollButtonsMobile={true}\n onChange={onChange}\n scrollButtons={isMobile ? 'auto' : false}\n value={tabPosition}\n variant={isMobile ? 'scrollable' : 'fullWidth'}\n >\n <Tab data-testid={'readme-tab'} id={'readme-tab'} label={t('tab.readme')} />\n <Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={t('tab.dependencies')} />\n <Tab data-testid={'versions-tab'} id={'versions-tab'} label={t('tab.versions')} />\n {showUplinks && (\n <Tab data-testid={'uplinks-tab'} id={'uplinks-tab'} label={t('tab.uplinks')} />\n )}\n </Tabs>\n );\n};\n\nexport default DetailContainerTabs;\n\nconst Tabs = styled(MuiTabs)<{ theme?: Theme }>({\n marginBottom: 16,\n});\n"],"mappings":";;;;;;;;AAeA,IAAM,uBAAwC,EAAE,aAAa,UAAU,kBAAkB;CACvF,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,WAAW,cAAc,mBAAmB;CAElD,OACE,qBAACA,QAAD;EACE,0BAA0B;EAChB;EACV,eAAe,WAAW,SAAS;EACnC,OAAO;EACP,SAAS,WAAW,eAAe;EALrC,UAAA;GAOE,oBAAC,KAAD;IAAK,eAAa;IAAc,IAAI;IAAc,OAAO,EAAE,YAAY;GAAI,CAAA;GAC3E,oBAAC,KAAD;IAAK,eAAa;IAAoB,IAAI;IAAoB,OAAO,EAAE,kBAAkB;GAAI,CAAA;GAC7F,oBAAC,KAAD;IAAK,eAAa;IAAgB,IAAI;IAAgB,OAAO,EAAE,cAAc;GAAI,CAAA;GAChF,eACC,oBAAC,KAAD;IAAK,eAAa;IAAe,IAAI;IAAe,OAAO,EAAE,aAAa;GAAI,CAAA;EAE5E;;AAEV;AAIA,IAAMA,SAAO,OAAOC,IAAO,CAAC,CAAoB,EAC9C,cAAc,GAChB,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { DetailContainer as default };
|
|
1
|
+
export { default } from "./Detail.mjs";
|