@verdaccio/ui-components 5.0.0-next-9.4 → 5.0.0-next-9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/build/Theme/ResetStyles.js +1 -1
- package/build/Theme/ResetStyles.js.map +1 -1
- package/build/Theme/ResetStyles.mjs +2 -2
- package/build/Theme/ResetStyles.mjs.map +1 -1
- package/build/Theme/StyleBaseline.js +1 -1
- package/build/Theme/StyleBaseline.js.map +1 -1
- package/build/Theme/StyleBaseline.mjs +2 -2
- package/build/Theme/StyleBaseline.mjs.map +1 -1
- package/build/Theme/ThemeProvider.js +1 -1
- package/build/Theme/ThemeProvider.js.map +1 -1
- package/build/Theme/ThemeProvider.mjs +1 -1
- package/build/Theme/ThemeProvider.mjs.map +1 -1
- package/build/Theme/colors.js.map +1 -1
- package/build/Theme/colors.mjs.map +1 -1
- package/build/Theme/modes.js.map +1 -1
- package/build/Theme/modes.mjs.map +1 -1
- package/build/Theme/theme.js.map +1 -1
- package/build/Theme/theme.mjs.map +1 -1
- package/build/Theme/tokens.js.map +1 -1
- package/build/Theme/tokens.mjs.map +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.js.map +1 -1
- package/build/api/use-data.mjs.map +1 -1
- package/build/components/ActionBar/ActionBar.js +1 -1
- package/build/components/ActionBar/ActionBar.js.map +1 -1
- package/build/components/ActionBar/ActionBar.mjs +1 -1
- package/build/components/ActionBar/ActionBar.mjs.map +1 -1
- package/build/components/ActionBar/ActionBarAction.js +5 -8
- package/build/components/ActionBar/ActionBarAction.js.map +1 -1
- package/build/components/ActionBar/ActionBarAction.mjs +4 -7
- package/build/components/ActionBar/ActionBarAction.mjs.map +1 -1
- package/build/components/AppRoute/AppRoute.js +1 -1
- package/build/components/AppRoute/AppRoute.js.map +1 -1
- package/build/components/AppRoute/AppRoute.mjs +1 -1
- package/build/components/AppRoute/AppRoute.mjs.map +1 -1
- package/build/components/Author/Author.js +1 -1
- package/build/components/Author/Author.js.map +1 -1
- package/build/components/Author/Author.mjs +1 -1
- package/build/components/Author/Author.mjs.map +1 -1
- package/build/components/Author/styles.js +6 -19
- package/build/components/Author/styles.js.map +1 -1
- package/build/components/Author/styles.mjs +5 -18
- package/build/components/Author/styles.mjs.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.js +9 -21
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.mjs +8 -20
- package/build/components/CopyClipboard/CopyToClipBoard.mjs.map +1 -1
- package/build/components/CopyClipboard/utils.js.map +1 -1
- package/build/components/CopyClipboard/utils.mjs.map +1 -1
- package/build/components/Dependencies/Dependencies.js +1 -1
- package/build/components/Dependencies/Dependencies.js.map +1 -1
- package/build/components/Dependencies/Dependencies.mjs +2 -2
- package/build/components/Dependencies/Dependencies.mjs.map +1 -1
- package/build/components/Dependencies/DependencyBlock.js +8 -17
- package/build/components/Dependencies/DependencyBlock.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.mjs +7 -16
- package/build/components/Dependencies/DependencyBlock.mjs.map +1 -1
- package/build/components/Dependencies/utits.js.map +1 -1
- package/build/components/Dependencies/utits.mjs.map +1 -1
- package/build/components/Deprecated/Deprecated.js +1 -1
- package/build/components/Deprecated/Deprecated.js.map +1 -1
- package/build/components/Deprecated/Deprecated.mjs +1 -1
- package/build/components/Deprecated/Deprecated.mjs.map +1 -1
- package/build/components/Developers/DeveloperType.js.map +1 -1
- package/build/components/Developers/DeveloperType.mjs.map +1 -1
- package/build/components/Developers/Developers.js +6 -22
- package/build/components/Developers/Developers.js.map +1 -1
- package/build/components/Developers/Developers.mjs +6 -22
- package/build/components/Developers/Developers.mjs.map +1 -1
- package/build/components/Developers/Title.js +5 -8
- package/build/components/Developers/Title.js.map +1 -1
- package/build/components/Developers/Title.mjs +4 -7
- package/build/components/Developers/Title.mjs.map +1 -1
- package/build/components/Developers/get-unique-developer-values.js.map +1 -1
- package/build/components/Developers/get-unique-developer-values.mjs.map +1 -1
- package/build/components/Distribution/Dist.js +1 -1
- package/build/components/Distribution/Dist.js.map +1 -1
- package/build/components/Distribution/Dist.mjs +2 -2
- package/build/components/Distribution/Dist.mjs.map +1 -1
- package/build/components/Distribution/styles.js +12 -30
- package/build/components/Distribution/styles.js.map +1 -1
- package/build/components/Distribution/styles.mjs +11 -29
- package/build/components/Distribution/styles.mjs.map +1 -1
- package/build/components/Engines/Engines.js +1 -1
- package/build/components/Engines/Engines.js.map +1 -1
- package/build/components/Engines/Engines.mjs +1 -1
- package/build/components/Engines/Engines.mjs.map +1 -1
- package/build/components/Engines/styles.js +5 -21
- package/build/components/Engines/styles.js.map +1 -1
- package/build/components/Engines/styles.mjs +4 -20
- package/build/components/Engines/styles.mjs.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.mjs +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.mjs.map +1 -1
- package/build/components/Forbidden/Forbidden.js +6 -22
- package/build/components/Forbidden/Forbidden.js.map +1 -1
- package/build/components/Forbidden/Forbidden.mjs +5 -21
- package/build/components/Forbidden/Forbidden.mjs.map +1 -1
- package/build/components/FundButton/FundButton.js +7 -26
- package/build/components/FundButton/FundButton.js.map +1 -1
- package/build/components/FundButton/FundButton.mjs +6 -25
- package/build/components/FundButton/FundButton.mjs.map +1 -1
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js +1 -1
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -1
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.mjs +1 -1
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.mjs.map +1 -1
- package/build/components/Heading/Heading.js +1 -1
- package/build/components/Heading/Heading.js.map +1 -1
- package/build/components/Heading/Heading.mjs +1 -1
- package/build/components/Heading/Heading.mjs.map +1 -1
- package/build/components/Help/Help.js +1 -1
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/Help.mjs +2 -2
- package/build/components/Help/Help.mjs.map +1 -1
- package/build/components/Help/styles.js +5 -15
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Help/styles.mjs +4 -14
- package/build/components/Help/styles.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.js +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.mjs +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.js +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.js.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.mjs +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.js +1 -1
- package/build/components/Icons/DevsIcons/Git2.js.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.mjs +1 -1
- package/build/components/Icons/DevsIcons/Git2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.js +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.mjs +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.js +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.js.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.mjs +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.mjs.map +1 -1
- package/build/components/Icons/Earth.js +1 -1
- package/build/components/Icons/Earth.js.map +1 -1
- package/build/components/Icons/Earth.mjs +1 -1
- package/build/components/Icons/Earth.mjs.map +1 -1
- package/build/components/Icons/FileBinary.js +1 -1
- package/build/components/Icons/FileBinary.js.map +1 -1
- package/build/components/Icons/FileBinary.mjs +1 -1
- package/build/components/Icons/FileBinary.mjs.map +1 -1
- package/build/components/Icons/Law.js +1 -1
- package/build/components/Icons/Law.js.map +1 -1
- package/build/components/Icons/Law.mjs +1 -1
- package/build/components/Icons/Law.mjs.map +1 -1
- package/build/components/Icons/License.js +1 -1
- package/build/components/Icons/License.js.map +1 -1
- package/build/components/Icons/License.mjs +1 -1
- package/build/components/Icons/License.mjs.map +1 -1
- package/build/components/Icons/Managers/Npm2.js +1 -1
- package/build/components/Icons/Managers/Npm2.js.map +1 -1
- package/build/components/Icons/Managers/Npm2.mjs +1 -1
- package/build/components/Icons/Managers/Npm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.js +1 -1
- package/build/components/Icons/Managers/Pnpm2.js.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.mjs +1 -1
- package/build/components/Icons/Managers/Pnpm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Yarn2.js +1 -1
- package/build/components/Icons/Managers/Yarn2.js.map +1 -1
- package/build/components/Icons/Managers/Yarn2.mjs +1 -1
- package/build/components/Icons/Managers/Yarn2.mjs.map +1 -1
- package/build/components/Icons/SvgIcon.js +4 -7
- package/build/components/Icons/SvgIcon.js.map +1 -1
- package/build/components/Icons/SvgIcon.mjs +3 -6
- package/build/components/Icons/SvgIcon.mjs.map +1 -1
- package/build/components/Icons/Time.js +1 -1
- package/build/components/Icons/Time.js.map +1 -1
- package/build/components/Icons/Time.mjs +1 -1
- package/build/components/Icons/Time.mjs.map +1 -1
- package/build/components/Icons/Version.js +1 -1
- package/build/components/Icons/Version.js.map +1 -1
- package/build/components/Icons/Version.mjs +1 -1
- package/build/components/Icons/Version.mjs.map +1 -1
- package/build/components/Icons/index.js.map +1 -1
- package/build/components/Icons/index.mjs.map +1 -1
- package/build/components/Install/Install.js +9 -21
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/Install.mjs +9 -21
- package/build/components/Install/Install.mjs.map +1 -1
- package/build/components/Install/InstallListItem.js +13 -36
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/InstallListItem.mjs +12 -35
- package/build/components/Install/InstallListItem.mjs.map +1 -1
- package/build/components/Keywords/KeywordListItems.js +1 -1
- package/build/components/Keywords/KeywordListItems.js.map +1 -1
- package/build/components/Keywords/KeywordListItems.mjs +1 -1
- package/build/components/Keywords/KeywordListItems.mjs.map +1 -1
- package/build/components/Keywords/Keywords.js +1 -1
- package/build/components/Keywords/Keywords.js.map +1 -1
- package/build/components/Keywords/Keywords.mjs +1 -1
- package/build/components/Keywords/Keywords.mjs.map +1 -1
- package/build/components/Label/Label.js +5 -8
- package/build/components/Label/Label.js.map +1 -1
- package/build/components/Label/Label.mjs +4 -7
- package/build/components/Label/Label.mjs.map +1 -1
- package/build/components/Link/Link.js +10 -17
- package/build/components/Link/Link.js.map +1 -1
- package/build/components/Link/Link.mjs +9 -16
- package/build/components/Link/Link.mjs.map +1 -1
- package/build/components/LinkExternal/LinkExternal.js +1 -1
- package/build/components/LinkExternal/LinkExternal.js.map +1 -1
- package/build/components/LinkExternal/LinkExternal.mjs +1 -1
- package/build/components/LinkExternal/LinkExternal.mjs.map +1 -1
- package/build/components/Loading/Loading.js +1 -1
- package/build/components/Loading/Loading.js.map +1 -1
- package/build/components/Loading/Loading.mjs +1 -1
- package/build/components/Loading/Loading.mjs.map +1 -1
- package/build/components/Loading/Spinner/Spinner.js +6 -12
- package/build/components/Loading/Spinner/Spinner.js.map +1 -1
- package/build/components/Loading/Spinner/Spinner.mjs +5 -11
- package/build/components/Loading/Spinner/Spinner.mjs.map +1 -1
- package/build/components/Loading/styles.js +9 -20
- package/build/components/Loading/styles.js.map +1 -1
- package/build/components/Loading/styles.mjs +8 -19
- package/build/components/Loading/styles.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialog.js +1 -1
- package/build/components/LoginDialog/LoginDialog.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.mjs +1 -1
- package/build/components/LoginDialog/LoginDialog.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.js +5 -8
- package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.mjs +4 -7
- package/build/components/LoginDialog/LoginDialogCloseButton.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.js +1 -1
- package/build/components/LoginDialog/LoginDialogForm.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.mjs +1 -1
- package/build/components/LoginDialog/LoginDialogForm.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.js +7 -13
- package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.mjs +6 -12
- package/build/components/LoginDialog/LoginDialogFormError.mjs.map +1 -1
- package/build/components/LoginForm/Login.js +5 -11
- package/build/components/LoginForm/Login.js.map +1 -1
- package/build/components/LoginForm/Login.mjs +4 -10
- package/build/components/LoginForm/Login.mjs.map +1 -1
- package/build/components/LoginForm/PasswordField.js +4 -7
- package/build/components/LoginForm/PasswordField.js.map +1 -1
- package/build/components/LoginForm/PasswordField.mjs +3 -6
- package/build/components/LoginForm/PasswordField.mjs.map +1 -1
- package/build/components/LoginForm/UsernameField.js +4 -7
- package/build/components/LoginForm/UsernameField.js.map +1 -1
- package/build/components/LoginForm/UsernameField.mjs +3 -6
- package/build/components/LoginForm/UsernameField.mjs.map +1 -1
- package/build/components/LoginForm/styles.js +7 -13
- package/build/components/LoginForm/styles.js.map +1 -1
- package/build/components/LoginForm/styles.mjs +6 -12
- package/build/components/LoginForm/styles.mjs.map +1 -1
- package/build/components/LoginForm/useLoginForm.js.map +1 -1
- package/build/components/LoginForm/useLoginForm.mjs.map +1 -1
- package/build/components/Logo/Logo.js +6 -22
- package/build/components/Logo/Logo.js.map +1 -1
- package/build/components/Logo/Logo.mjs +5 -21
- package/build/components/Logo/Logo.mjs.map +1 -1
- package/build/components/MenuItem/MenuItem.js +4 -17
- package/build/components/MenuItem/MenuItem.js.map +1 -1
- package/build/components/MenuItem/MenuItem.mjs +3 -16
- package/build/components/MenuItem/MenuItem.mjs.map +1 -1
- package/build/components/NoItems/NoItems.js +1 -1
- package/build/components/NoItems/NoItems.js.map +1 -1
- package/build/components/NoItems/NoItems.mjs +1 -1
- package/build/components/NoItems/NoItems.mjs.map +1 -1
- package/build/components/NotFound/NotFound.js +6 -22
- package/build/components/NotFound/NotFound.js.map +1 -1
- package/build/components/NotFound/NotFound.mjs +5 -21
- package/build/components/NotFound/NotFound.mjs.map +1 -1
- package/build/components/Package/Package.js +19 -20
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/Package.mjs +18 -19
- package/build/components/Package/Package.mjs.map +1 -1
- package/build/components/Package/styles.js +30 -107
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/Package/styles.mjs +29 -106
- package/build/components/Package/styles.mjs.map +1 -1
- package/build/components/PackageList/PackageList.js +1 -1
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/PackageList.mjs +1 -1
- package/build/components/PackageList/PackageList.mjs.map +1 -1
- package/build/components/Person/Person.js +1 -1
- package/build/components/Person/Person.js.map +1 -1
- package/build/components/Person/Person.mjs +2 -2
- package/build/components/Person/Person.mjs.map +1 -1
- package/build/components/Person/PersonTooltip.js +1 -1
- package/build/components/Person/PersonTooltip.js.map +1 -1
- package/build/components/Person/PersonTooltip.mjs +1 -1
- package/build/components/Person/PersonTooltip.mjs.map +1 -1
- package/build/components/Person/utils.js.map +1 -1
- package/build/components/Person/utils.mjs.map +1 -1
- package/build/components/RawViewer/RawViewer.js +1 -1
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/RawViewer.mjs +1 -1
- package/build/components/RawViewer/RawViewer.mjs.map +1 -1
- package/build/components/Readme/Readme.js +6 -16
- package/build/components/Readme/Readme.js.map +1 -1
- package/build/components/Readme/Readme.mjs +5 -15
- package/build/components/Readme/Readme.mjs.map +1 -1
- package/build/components/Readme/utils.js.map +1 -1
- package/build/components/Readme/utils.mjs.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs.map +1 -1
- package/build/components/RegistryInfoDialog/styles.js +10 -13
- package/build/components/RegistryInfoDialog/styles.js.map +1 -1
- package/build/components/RegistryInfoDialog/styles.mjs +9 -12
- package/build/components/RegistryInfoDialog/styles.mjs.map +1 -1
- package/build/components/Repository/Repository.js +15 -41
- package/build/components/Repository/Repository.js.map +1 -1
- package/build/components/Repository/Repository.mjs +14 -40
- package/build/components/Repository/Repository.mjs.map +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.d.ts +2 -2
- package/build/components/Search/AutoComplete/AutoComplete.js +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.mjs +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.mjs.map +1 -1
- package/build/components/Search/AutoComplete/styles.js +6 -15
- package/build/components/Search/AutoComplete/styles.js.map +1 -1
- package/build/components/Search/AutoComplete/styles.mjs +5 -14
- package/build/components/Search/AutoComplete/styles.mjs.map +1 -1
- package/build/components/Search/Search.js +1 -1
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/Search.mjs +1 -1
- package/build/components/Search/Search.mjs.map +1 -1
- package/build/components/Search/SearchItem.js +15 -40
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/SearchItem.mjs +14 -39
- package/build/components/Search/SearchItem.mjs.map +1 -1
- package/build/components/Search/styles.js +5 -11
- package/build/components/Search/styles.js.map +1 -1
- package/build/components/Search/styles.mjs +4 -10
- package/build/components/Search/styles.mjs.map +1 -1
- package/build/components/Search/utils.js.map +1 -1
- package/build/components/Search/utils.mjs.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.mjs +2 -2
- package/build/components/SettingsMenu/SettingsMenu.mjs.map +1 -1
- package/build/components/SideBarTitle/SideBarTitle.js +12 -35
- package/build/components/SideBarTitle/SideBarTitle.js.map +1 -1
- package/build/components/SideBarTitle/SideBarTitle.mjs +12 -35
- package/build/components/SideBarTitle/SideBarTitle.mjs.map +1 -1
- package/build/components/SideBarTitle/utils.js.map +1 -1
- package/build/components/SideBarTitle/utils.mjs.map +1 -1
- package/build/components/UpLinks/UpLinks.js +1 -1
- package/build/components/UpLinks/UpLinks.js.map +1 -1
- package/build/components/UpLinks/UpLinks.mjs +1 -1
- package/build/components/UpLinks/UpLinks.mjs.map +1 -1
- package/build/components/UpLinks/UplinkLink.js +1 -1
- package/build/components/UpLinks/UplinkLink.js.map +1 -1
- package/build/components/UpLinks/UplinkLink.mjs +2 -2
- package/build/components/UpLinks/UplinkLink.mjs.map +1 -1
- package/build/components/UpLinks/styles.js +7 -16
- package/build/components/UpLinks/styles.js.map +1 -1
- package/build/components/UpLinks/styles.mjs +6 -15
- package/build/components/UpLinks/styles.mjs.map +1 -1
- package/build/components/Versions/HistoryList.js +1 -1
- package/build/components/Versions/HistoryList.js.map +1 -1
- package/build/components/Versions/HistoryList.mjs +1 -1
- package/build/components/Versions/HistoryList.mjs.map +1 -1
- package/build/components/Versions/TagList.js +1 -1
- package/build/components/Versions/TagList.js.map +1 -1
- package/build/components/Versions/TagList.mjs +1 -1
- package/build/components/Versions/TagList.mjs.map +1 -1
- package/build/components/Versions/Versions.js +5 -8
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/Versions.mjs +7 -10
- package/build/components/Versions/Versions.mjs.map +1 -1
- package/build/components/Versions/styles.js +6 -12
- package/build/components/Versions/styles.js.map +1 -1
- package/build/components/Versions/styles.mjs +5 -11
- package/build/components/Versions/styles.mjs.map +1 -1
- package/build/configuration.js.map +1 -1
- package/build/configuration.mjs.map +1 -1
- package/build/hooks/useLocalStorage.js.map +1 -1
- package/build/hooks/useLocalStorage.mjs.map +1 -1
- package/build/hooks/useOnClickOutside.js.map +1 -1
- package/build/hooks/useOnClickOutside.mjs.map +1 -1
- package/build/layouts/Security/Dialog.js +1 -1
- package/build/layouts/Security/Dialog.js.map +1 -1
- package/build/layouts/Security/Dialog.mjs +1 -1
- package/build/layouts/Security/Dialog.mjs.map +1 -1
- package/build/layouts/Version/Version.js +1 -1
- package/build/layouts/Version/Version.js.map +1 -1
- package/build/layouts/Version/Version.mjs +1 -1
- package/build/layouts/Version/Version.mjs.map +1 -1
- package/build/pages/Front/Home.js.map +1 -1
- package/build/pages/Front/Home.mjs.map +1 -1
- package/build/pages/Security/AddUser.js.map +1 -1
- package/build/pages/Security/AddUser.mjs.map +1 -1
- package/build/pages/Security/ChangePassword.js.map +1 -1
- package/build/pages/Security/ChangePassword.mjs.map +1 -1
- package/build/pages/Security/Login.js.map +1 -1
- package/build/pages/Security/Login.mjs.map +1 -1
- package/build/pages/Security/Success.js.map +1 -1
- package/build/pages/Security/Success.mjs.map +1 -1
- package/build/pages/Version/Version.js +1 -1
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/Version.mjs +1 -1
- package/build/pages/Version/Version.mjs.map +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs.map +1 -1
- 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/utils.js.map +1 -1
- package/build/providers/AuthProvider/utils.mjs.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.js +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.js.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.mjs +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.mjs.map +1 -1
- 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/PersistenceSettingProvider/PersistenceSettingProvider.js +1 -1
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -1
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.mjs +1 -1
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.mjs.map +1 -1
- 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/TranslatorProvider/TranslatorProvider.js +1 -1
- package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -1
- package/build/providers/TranslatorProvider/TranslatorProvider.mjs +1 -1
- package/build/providers/TranslatorProvider/TranslatorProvider.mjs.map +1 -1
- 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/sections/Detail/ContainerContent.js +1 -1
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/ContainerContent.mjs +1 -1
- package/build/sections/Detail/ContainerContent.mjs.map +1 -1
- package/build/sections/Detail/Detail.js +1 -1
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/Detail.mjs +1 -1
- package/build/sections/Detail/Detail.mjs.map +1 -1
- package/build/sections/Detail/ReadmeSection.js +1 -1
- package/build/sections/Detail/ReadmeSection.js.map +1 -1
- package/build/sections/Detail/ReadmeSection.mjs +1 -1
- package/build/sections/Detail/ReadmeSection.mjs.map +1 -1
- package/build/sections/Detail/Tabs.js +4 -17
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/Tabs.mjs +3 -16
- package/build/sections/Detail/Tabs.mjs.map +1 -1
- package/build/sections/Footer/Footer.js +26 -48
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/Footer.mjs +25 -47
- package/build/sections/Footer/Footer.mjs.map +1 -1
- package/build/sections/Footer/styles.js +13 -35
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Footer/styles.mjs +12 -34
- package/build/sections/Footer/styles.mjs.map +1 -1
- package/build/sections/Header/Header.js +41 -32
- package/build/sections/Header/Header.js.map +1 -1
- package/build/sections/Header/Header.mjs +42 -33
- package/build/sections/Header/Header.mjs.map +1 -1
- package/build/sections/Header/HeaderGreetings.js +1 -1
- package/build/sections/Header/HeaderGreetings.js.map +1 -1
- package/build/sections/Header/HeaderGreetings.mjs +2 -2
- package/build/sections/Header/HeaderGreetings.mjs.map +1 -1
- package/build/sections/Header/HeaderLeft.js +1 -1
- package/build/sections/Header/HeaderLeft.js.map +1 -1
- package/build/sections/Header/HeaderLeft.mjs +1 -1
- package/build/sections/Header/HeaderLeft.mjs.map +1 -1
- package/build/sections/Header/HeaderMenu.js +1 -1
- package/build/sections/Header/HeaderMenu.js.map +1 -1
- package/build/sections/Header/HeaderMenu.mjs +2 -2
- package/build/sections/Header/HeaderMenu.mjs.map +1 -1
- package/build/sections/Header/HeaderRight.js +1 -1
- package/build/sections/Header/HeaderRight.js.map +1 -1
- package/build/sections/Header/HeaderRight.mjs +2 -2
- package/build/sections/Header/HeaderRight.mjs.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.js +5 -8
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.mjs +4 -7
- package/build/sections/Header/HeaderSettingsDialog.mjs.map +1 -1
- package/build/sections/Header/HeaderToolTip.js +1 -1
- package/build/sections/Header/HeaderToolTip.js.map +1 -1
- package/build/sections/Header/HeaderToolTip.mjs +1 -1
- package/build/sections/Header/HeaderToolTip.mjs.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.js +2 -1
- package/build/sections/Header/HeaderToolTipIcon.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.mjs +2 -1
- package/build/sections/Header/HeaderToolTipIcon.mjs.map +1 -1
- package/build/sections/Header/LanguageSwitch.js +7 -13
- package/build/sections/Header/LanguageSwitch.js.map +1 -1
- package/build/sections/Header/LanguageSwitch.mjs +7 -13
- package/build/sections/Header/LanguageSwitch.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js +11 -37
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs +11 -37
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/styles.js +6 -12
- package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/styles.mjs +5 -11
- package/build/sections/Header/RegistryInfoContent/styles.mjs.map +1 -1
- package/build/sections/Header/styles.js +56 -99
- package/build/sections/Header/styles.js.map +1 -1
- package/build/sections/Header/styles.mjs +55 -98
- package/build/sections/Header/styles.mjs.map +1 -1
- package/build/sections/Home/Home.js +1 -1
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/Home.mjs +1 -1
- package/build/sections/Home/Home.mjs.map +1 -1
- package/build/sections/Security/AddUser.js +1 -1
- package/build/sections/Security/AddUser.js.map +1 -1
- package/build/sections/Security/AddUser.mjs +1 -1
- package/build/sections/Security/AddUser.mjs.map +1 -1
- package/build/sections/Security/ChangePassword.js +1 -1
- package/build/sections/Security/ChangePassword.js.map +1 -1
- package/build/sections/Security/ChangePassword.mjs +1 -1
- package/build/sections/Security/ChangePassword.mjs.map +1 -1
- package/build/sections/Security/Login.js +1 -1
- package/build/sections/Security/Login.js.map +1 -1
- package/build/sections/Security/Login.mjs +1 -1
- package/build/sections/Security/Login.mjs.map +1 -1
- package/build/sections/Security/Success.js +1 -1
- package/build/sections/Security/Success.js.map +1 -1
- package/build/sections/Security/Success.mjs +1 -1
- package/build/sections/Security/Success.mjs.map +1 -1
- package/build/sections/Security/styles.js.map +1 -1
- package/build/sections/Security/styles.mjs.map +1 -1
- package/build/sections/Security/utils.js.map +1 -1
- package/build/sections/Security/utils.mjs.map +1 -1
- package/build/sections/SideBar/Sidebar.js +1 -1
- package/build/sections/SideBar/Sidebar.js.map +1 -1
- package/build/sections/SideBar/Sidebar.mjs +1 -1
- package/build/sections/SideBar/Sidebar.mjs.map +1 -1
- package/build/store/api.js.map +1 -1
- package/build/store/api.mjs.map +1 -1
- package/build/store/routes.js.map +1 -1
- package/build/store/routes.mjs.map +1 -1
- package/build/store/storage.js.map +1 -1
- package/build/store/storage.mjs.map +1 -1
- package/build/store/utils.js.map +1 -1
- package/build/store/utils.mjs.map +1 -1
- package/build/utils/cli-utils.js.map +1 -1
- package/build/utils/cli-utils.mjs.map +1 -1
- package/build/utils/loadable.js +1 -1
- package/build/utils/loadable.js.map +1 -1
- package/build/utils/loadable.mjs +1 -1
- package/build/utils/loadable.mjs.map +1 -1
- package/build/utils/routes.js.map +1 -1
- package/build/utils/routes.mjs.map +1 -1
- package/build/utils/schemas.js.map +1 -1
- package/build/utils/schemas.mjs.map +1 -1
- package/build/utils/token.js.map +1 -1
- package/build/utils/token.mjs.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/build/utils/utils.mjs.map +1 -1
- package/package.json +20 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangePassword.mjs","names":[
|
|
1
|
+
{"version":3,"file":"ChangePassword.mjs","names":[],"sources":["../../../src/sections/Security/ChangePassword.tsx"],"sourcesContent":["import { yupResolver } from '@hookform/resolvers/yup';\nimport { Button, Typography } from '@mui/material';\nimport React, { useCallback, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate } from 'react-router';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport LoginDialogFormError from '../../components/LoginDialog/LoginDialogFormError';\nimport { getConfiguration } from '../../configuration';\nimport SecurityLayout from '../../layouts/Security/Dialog';\nimport { normalizeAuthError } from '../../providers/AuthProvider/utils';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { Route } from '../../utils';\nimport { APIRoute } from '../../utils/routes';\nimport type { ChangePasswordFormValues } from '../../utils/schemas';\nimport { changePasswordSchema } from '../../utils/schemas';\nimport { MessageType } from './Success';\nimport { SecurityContainer, SecurityForm, SecurityTextField } from './styles';\n\nconst ChangePassword: React.FC = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const configuration = getConfiguration();\n const basePath = stripTrailingSlash(configuration.base);\n const changePasswordEnabled = configuration?.flags?.changePassword;\n\n const form = useForm<ChangePasswordFormValues>({\n mode: 'onChange',\n defaultValues: {\n username: '',\n oldPassword: '',\n newPassword: '',\n confirmPassword: '',\n },\n resolver: yupResolver(changePasswordSchema),\n });\n\n const {\n setError,\n handleSubmit,\n register,\n formState: { isValid, errors },\n } = form;\n\n const { trigger } = useDataMutation<{ ok: string }>(basePath, APIRoute.RESET_PASSWORD, 'PUT');\n\n const handleChangePassword = useCallback(\n async (body: { password: { old: string; new: string } }) => {\n try {\n await trigger(body);\n } catch (err) {\n throw normalizeAuthError(err);\n }\n },\n [trigger]\n );\n\n const onSubmit = useCallback(\n async (data: ChangePasswordFormValues) => {\n try {\n await handleChangePassword({\n password: {\n old: data.oldPassword,\n new: data.newPassword,\n },\n });\n navigate(`${Route.SUCCESS}?messageType=${MessageType.ChangePassword}`);\n } catch {\n setError('root', {\n type: 'server',\n message: 'Failed to change password',\n });\n }\n },\n [handleChangePassword, setError, navigate]\n );\n\n useEffect(() => {\n if (!changePasswordEnabled) {\n navigate('/');\n }\n }, [changePasswordEnabled, navigate]);\n\n return changePasswordEnabled ? (\n <SecurityLayout>\n <SecurityContainer>\n <SecurityForm component=\"form\" onSubmit={handleSubmit(onSubmit)}>\n <Typography align=\"center\" component=\"h1\" gutterBottom={true} variant=\"h4\">\n {t('security.changePassword.title')}\n </Typography>\n <SecurityTextField\n error={!!errors.username}\n helperText={errors.username?.message}\n label={t('security.changePassword.username')}\n {...register('username')}\n required={true}\n />\n <SecurityTextField\n error={!!errors.oldPassword}\n helperText={errors.oldPassword?.message}\n label={t('security.changePassword.oldPassword')}\n {...register('oldPassword')}\n required={true}\n type=\"password\"\n />\n <SecurityTextField\n error={!!errors.newPassword}\n helperText={errors.newPassword?.message}\n label={t('security.changePassword.newPassword')}\n {...register('newPassword')}\n required={true}\n type=\"password\"\n />\n <SecurityTextField\n error={!!errors.confirmPassword}\n helperText={errors.confirmPassword?.message}\n label={t('security.changePassword.confirmPassword')}\n {...register('confirmPassword')}\n required={true}\n type=\"password\"\n />\n {errors.root && <LoginDialogFormError error={errors.root} />}\n <Button\n color=\"primary\"\n disabled={!isValid}\n fullWidth={true}\n sx={{ mt: 2 }}\n type=\"submit\"\n variant=\"contained\"\n >\n {t('security.changePassword.submit')}\n </Button>\n </SecurityForm>\n </SecurityContainer>\n </SecurityLayout>\n ) : null;\n};\n\nexport default ChangePassword;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,IAAM,uBAAiC;CACrC,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,WAAW,mBAAmB,cAAc,KAAK;CACvD,MAAM,wBAAwB,eAAe,OAAO;CAapD,MAAM,EACJ,UACA,cACA,UACA,WAAW,EAAE,SAAS,aAfX,QAAkC;EAC7C,MAAM;EACN,eAAe;GACb,UAAU;GACV,aAAa;GACb,aAAa;GACb,iBAAiB;GAClB;EACD,UAAU,YAAY,qBAAqB;EAC5C,CAAC;CASF,MAAM,EAAE,YAAY,gBAAgC,UAAU,SAAS,gBAAgB,MAAM;CAE7F,MAAM,uBAAuB,YAC3B,OAAO,SAAqD;AAC1D,MAAI;AACF,SAAM,QAAQ,KAAK;WACZ,KAAK;AACZ,SAAM,mBAAmB,IAAI;;IAGjC,CAAC,QAAQ,CACV;CAED,MAAM,WAAW,YACf,OAAO,SAAmC;AACxC,MAAI;AACF,SAAM,qBAAqB,EACzB,UAAU;IACR,KAAK,KAAK;IACV,KAAK,KAAK;IACX,EACF,CAAC;AACF,YAAS,GAAG,QAAM,QAAQ,eAAe,YAAY,iBAAiB;UAChE;AACN,YAAS,QAAQ;IACf,MAAM;IACN,SAAS;IACV,CAAC;;IAGN;EAAC;EAAsB;EAAU;EAAS,CAC3C;AAED,iBAAgB;AACd,MAAI,CAAC,sBACH,UAAS,IAAI;IAEd,CAAC,uBAAuB,SAAS,CAAC;AAErC,QAAO,wBACL,oBAAC,gBAAD,EAAA,UACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,cAAD;EAAc,WAAU;EAAO,UAAU,aAAa,SAAS;YAA/D;GACE,oBAAC,YAAD;IAAY,OAAM;IAAS,WAAU;IAAK,cAAc;IAAM,SAAQ;cACnE,EAAE,gCAAgC;IACxB,CAAA;GACb,oBAAC,mBAAD;IACE,OAAO,CAAC,CAAC,OAAO;IAChB,YAAY,OAAO,UAAU;IAC7B,OAAO,EAAE,mCAAmC;IAC5C,GAAI,SAAS,WAAW;IACxB,UAAU;IACV,CAAA;GACF,oBAAC,mBAAD;IACE,OAAO,CAAC,CAAC,OAAO;IAChB,YAAY,OAAO,aAAa;IAChC,OAAO,EAAE,sCAAsC;IAC/C,GAAI,SAAS,cAAc;IAC3B,UAAU;IACV,MAAK;IACL,CAAA;GACF,oBAAC,mBAAD;IACE,OAAO,CAAC,CAAC,OAAO;IAChB,YAAY,OAAO,aAAa;IAChC,OAAO,EAAE,sCAAsC;IAC/C,GAAI,SAAS,cAAc;IAC3B,UAAU;IACV,MAAK;IACL,CAAA;GACF,oBAAC,mBAAD;IACE,OAAO,CAAC,CAAC,OAAO;IAChB,YAAY,OAAO,iBAAiB;IACpC,OAAO,EAAE,0CAA0C;IACnD,GAAI,SAAS,kBAAkB;IAC/B,UAAU;IACV,MAAK;IACL,CAAA;GACD,OAAO,QAAQ,oBAAC,sBAAD,EAAsB,OAAO,OAAO,MAAQ,CAAA;GAC5D,oBAAC,QAAD;IACE,OAAM;IACN,UAAU,CAAC;IACX,WAAW;IACX,IAAI,EAAE,IAAI,GAAG;IACb,MAAK;IACL,SAAQ;cAEP,EAAE,iCAAiC;IAC7B,CAAA;GACI;KACG,CAAA,EACL,CAAA,GACf"}
|
|
@@ -15,9 +15,9 @@ const require_Dialog = require("../../layouts/Security/Dialog.js");
|
|
|
15
15
|
const require_styles$1 = require("./styles.js");
|
|
16
16
|
const require_Success = require("./Success.js");
|
|
17
17
|
const require_utils$2 = require("./utils.js");
|
|
18
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
19
18
|
let react = require("react");
|
|
20
19
|
react = require_runtime.__toESM(react);
|
|
20
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
21
21
|
let react_i18next = require("react-i18next");
|
|
22
22
|
let react_router = require("react-router");
|
|
23
23
|
let _mui_material = require("@mui/material");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","names":[
|
|
1
|
+
{"version":3,"file":"Login.js","names":[],"sources":["../../../src/sections/Security/Login.tsx"],"sourcesContent":["import { yupResolver } from '@hookform/resolvers/yup';\nimport { Link, Typography } from '@mui/material';\nimport React, { useCallback, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation, useNavigate } from 'react-router';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport type { LoginFormValues } from '../../components/LoginForm/Login';\nimport LoginForm from '../../components/LoginForm/Login';\nimport LoginFormHeader from '../../components/LoginForm/styles';\nimport NotFound from '../../components/NotFound';\nimport { getConfiguration } from '../../configuration';\nimport SecurityLayout from '../../layouts/Security/Dialog';\nimport type { LoginBody } from '../../providers/AuthProvider/types';\nimport { normalizeAuthError } from '../../providers/AuthProvider/utils';\nimport { saveAuth } from '../../store/storage';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { Route } from '../../utils';\nimport { loginSchema } from '../../utils/schemas';\nimport { MessageType } from './Success';\nimport { SecurityContainer, SecurityForm } from './styles';\nimport { getSecurityUrlParams } from './utils';\n\nconst configuration = getConfiguration();\nconst basePath = stripTrailingSlash(configuration.base);\n\nconst Login: React.FC = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const { next } = getSecurityUrlParams(location);\n const createUserEnabled = configuration?.flags?.createUser;\n const addUserLink = Route.ADD_USER + (next ? '?next=' + next : '');\n\n const { data, isMutating, trigger } = useDataMutation<LoginBody>(basePath, next, 'POST');\n\n const form = useForm<LoginFormValues>({\n mode: 'onChange',\n resolver: yupResolver(loginSchema),\n });\n\n const {\n setError,\n handleSubmit,\n register,\n formState: { isValid, errors },\n } = form;\n\n const handleLogin = async (body: { username: string; password: string }) => {\n try {\n await trigger(body);\n } catch (err) {\n throw normalizeAuthError(err);\n }\n };\n\n const onSuccess = useCallback(() => {\n navigate(`${Route.SUCCESS}?messageType=${MessageType.Login}`);\n }, [navigate]);\n\n const onSubmit = useCallback(\n async (data: LoginFormValues) => {\n try {\n await handleLogin?.(data);\n onSuccess();\n } catch {\n setError('root', {\n type: 'server',\n // TODO: add translation key\n message: 'Invalid username or password',\n });\n }\n },\n [handleLogin, setError, onSuccess]\n );\n\n useEffect(() => {\n if (data && !isMutating && data.username && data.token) {\n saveAuth(data.username, data.token);\n }\n }, [data, isMutating]);\n\n return !next ? (\n <NotFound />\n ) : (\n <SecurityLayout>\n <SecurityContainer>\n <SecurityForm>\n <LoginFormHeader />\n <LoginForm\n errors={errors}\n handleSubmit={handleSubmit}\n isValid={isValid}\n onSubmit={onSubmit}\n register={register}\n />\n {createUserEnabled && (\n <Typography align=\"center\" sx={{ mt: 2, fontSize: 12 }} variant=\"body2\">\n {t('security.login.noUserQuestion')}\n <Link href={addUserLink} sx={{ ml: 1 }}>\n {t('security.login.createUser')}\n </Link>\n </Typography>\n )}\n </SecurityForm>\n </SecurityContainer>\n </SecurityLayout>\n );\n};\n\nexport default Login;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAM,gBAAgB,sBAAA,kBAAkB;AACxC,IAAM,WAAW,cAAA,mBAAmB,cAAc,KAAK;AAEvD,IAAM,cAAwB;CAC5B,MAAM,EAAE,OAAA,GAAA,cAAA,iBAAsB;CAC9B,MAAM,YAAA,GAAA,aAAA,cAAwB;CAC9B,MAAM,YAAA,GAAA,aAAA,cAAwB;CAC9B,MAAM,EAAE,SAAS,gBAAA,qBAAqB,SAAS;CAC/C,MAAM,oBAAoB,eAAe,OAAO;CAChD,MAAM,cAAc,eAAA,MAAM,YAAY,OAAO,WAAW,OAAO;CAE/D,MAAM,EAAE,MAAM,YAAY,YAAY,0BAAA,gBAA2B,UAAU,MAAM,OAAO;CAOxF,MAAM,EACJ,UACA,cACA,UACA,WAAW,EAAE,SAAS,cAAA,GAAA,gBAAA,SATc;EACpC,MAAM;EACN,WAAA,GAAA,wBAAA,aAAsB,gBAAA,YAAY;EACnC,CAAC;CASF,MAAM,cAAc,OAAO,SAAiD;AAC1E,MAAI;AACF,SAAM,QAAQ,KAAK;WACZ,KAAK;AACZ,SAAM,gBAAA,mBAAmB,IAAI;;;CAIjC,MAAM,aAAA,GAAA,MAAA,mBAA8B;AAClC,WAAS,GAAG,eAAA,MAAM,QAAQ,eAAe,gBAAA,YAAY,QAAQ;IAC5D,CAAC,SAAS,CAAC;CAEd,MAAM,YAAA,GAAA,MAAA,aACJ,OAAO,SAA0B;AAC/B,MAAI;AACF,SAAM,cAAc,KAAK;AACzB,cAAW;UACL;AACN,YAAS,QAAQ;IACf,MAAM;IAEN,SAAS;IACV,CAAC;;IAGN;EAAC;EAAa;EAAU;EAAU,CACnC;AAED,EAAA,GAAA,MAAA,iBAAgB;AACd,MAAI,QAAQ,CAAC,cAAc,KAAK,YAAY,KAAK,MAC/C,iBAAA,SAAS,KAAK,UAAU,KAAK,MAAM;IAEpC,CAAC,MAAM,WAAW,CAAC;AAEtB,QAAO,CAAC,OACN,iBAAA,GAAA,kBAAA,KAAC,iBAAA,SAAD,EAAY,CAAA,GAEZ,iBAAA,GAAA,kBAAA,KAAC,eAAA,SAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,iBAAA,mBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,MAAC,iBAAA,cAAD,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,KAAC,eAAA,SAAD,EAAmB,CAAA;EACnB,iBAAA,GAAA,kBAAA,KAAC,cAAA,SAAD;GACU;GACM;GACL;GACC;GACA;GACV,CAAA;EACD,qBACC,iBAAA,GAAA,kBAAA,MAAC,cAAA,YAAD;GAAY,OAAM;GAAS,IAAI;IAAE,IAAI;IAAG,UAAU;IAAI;GAAE,SAAQ;aAAhE,CACG,EAAE,gCAAgC,EACnC,iBAAA,GAAA,kBAAA,KAAC,cAAA,MAAD;IAAM,MAAM;IAAa,IAAI,EAAE,IAAI,GAAG;cACnC,EAAE,4BAA4B;IAC1B,CAAA,CACI;;EAEF,EAAA,CAAA,EACG,CAAA,EACL,CAAA"}
|
|
@@ -14,8 +14,8 @@ import SecurityLayout from "../../layouts/Security/Dialog.mjs";
|
|
|
14
14
|
import { SecurityContainer, SecurityForm } from "./styles.mjs";
|
|
15
15
|
import { MessageType } from "./Success.mjs";
|
|
16
16
|
import { getSecurityUrlParams } from "./utils.mjs";
|
|
17
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
17
|
import { useCallback, useEffect } from "react";
|
|
18
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
19
19
|
import { useTranslation } from "react-i18next";
|
|
20
20
|
import { useLocation, useNavigate } from "react-router";
|
|
21
21
|
import { Link as Link$1, Typography } from "@mui/material";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.mjs","names":[
|
|
1
|
+
{"version":3,"file":"Login.mjs","names":[],"sources":["../../../src/sections/Security/Login.tsx"],"sourcesContent":["import { yupResolver } from '@hookform/resolvers/yup';\nimport { Link, Typography } from '@mui/material';\nimport React, { useCallback, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation, useNavigate } from 'react-router';\n\nimport { useDataMutation } from '../../api/use-data-mutation';\nimport type { LoginFormValues } from '../../components/LoginForm/Login';\nimport LoginForm from '../../components/LoginForm/Login';\nimport LoginFormHeader from '../../components/LoginForm/styles';\nimport NotFound from '../../components/NotFound';\nimport { getConfiguration } from '../../configuration';\nimport SecurityLayout from '../../layouts/Security/Dialog';\nimport type { LoginBody } from '../../providers/AuthProvider/types';\nimport { normalizeAuthError } from '../../providers/AuthProvider/utils';\nimport { saveAuth } from '../../store/storage';\nimport { stripTrailingSlash } from '../../store/utils';\nimport { Route } from '../../utils';\nimport { loginSchema } from '../../utils/schemas';\nimport { MessageType } from './Success';\nimport { SecurityContainer, SecurityForm } from './styles';\nimport { getSecurityUrlParams } from './utils';\n\nconst configuration = getConfiguration();\nconst basePath = stripTrailingSlash(configuration.base);\n\nconst Login: React.FC = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const { next } = getSecurityUrlParams(location);\n const createUserEnabled = configuration?.flags?.createUser;\n const addUserLink = Route.ADD_USER + (next ? '?next=' + next : '');\n\n const { data, isMutating, trigger } = useDataMutation<LoginBody>(basePath, next, 'POST');\n\n const form = useForm<LoginFormValues>({\n mode: 'onChange',\n resolver: yupResolver(loginSchema),\n });\n\n const {\n setError,\n handleSubmit,\n register,\n formState: { isValid, errors },\n } = form;\n\n const handleLogin = async (body: { username: string; password: string }) => {\n try {\n await trigger(body);\n } catch (err) {\n throw normalizeAuthError(err);\n }\n };\n\n const onSuccess = useCallback(() => {\n navigate(`${Route.SUCCESS}?messageType=${MessageType.Login}`);\n }, [navigate]);\n\n const onSubmit = useCallback(\n async (data: LoginFormValues) => {\n try {\n await handleLogin?.(data);\n onSuccess();\n } catch {\n setError('root', {\n type: 'server',\n // TODO: add translation key\n message: 'Invalid username or password',\n });\n }\n },\n [handleLogin, setError, onSuccess]\n );\n\n useEffect(() => {\n if (data && !isMutating && data.username && data.token) {\n saveAuth(data.username, data.token);\n }\n }, [data, isMutating]);\n\n return !next ? (\n <NotFound />\n ) : (\n <SecurityLayout>\n <SecurityContainer>\n <SecurityForm>\n <LoginFormHeader />\n <LoginForm\n errors={errors}\n handleSubmit={handleSubmit}\n isValid={isValid}\n onSubmit={onSubmit}\n register={register}\n />\n {createUserEnabled && (\n <Typography align=\"center\" sx={{ mt: 2, fontSize: 12 }} variant=\"body2\">\n {t('security.login.noUserQuestion')}\n <Link href={addUserLink} sx={{ ml: 1 }}>\n {t('security.login.createUser')}\n </Link>\n </Typography>\n )}\n </SecurityForm>\n </SecurityContainer>\n </SecurityLayout>\n );\n};\n\nexport default Login;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAM,gBAAgB,kBAAkB;AACxC,IAAM,WAAW,mBAAmB,cAAc,KAAK;AAEvD,IAAM,cAAwB;CAC5B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,EAAE,SAAS,qBAAqB,SAAS;CAC/C,MAAM,oBAAoB,eAAe,OAAO;CAChD,MAAM,cAAc,QAAM,YAAY,OAAO,WAAW,OAAO;CAE/D,MAAM,EAAE,MAAM,YAAY,YAAY,gBAA2B,UAAU,MAAM,OAAO;CAOxF,MAAM,EACJ,UACA,cACA,UACA,WAAW,EAAE,SAAS,aATX,QAAyB;EACpC,MAAM;EACN,UAAU,YAAY,YAAY;EACnC,CAAC;CASF,MAAM,cAAc,OAAO,SAAiD;AAC1E,MAAI;AACF,SAAM,QAAQ,KAAK;WACZ,KAAK;AACZ,SAAM,mBAAmB,IAAI;;;CAIjC,MAAM,YAAY,kBAAkB;AAClC,WAAS,GAAG,QAAM,QAAQ,eAAe,YAAY,QAAQ;IAC5D,CAAC,SAAS,CAAC;CAEd,MAAM,WAAW,YACf,OAAO,SAA0B;AAC/B,MAAI;AACF,SAAM,cAAc,KAAK;AACzB,cAAW;UACL;AACN,YAAS,QAAQ;IACf,MAAM;IAEN,SAAS;IACV,CAAC;;IAGN;EAAC;EAAa;EAAU;EAAU,CACnC;AAED,iBAAgB;AACd,MAAI,QAAQ,CAAC,cAAc,KAAK,YAAY,KAAK,MAC/C,UAAS,KAAK,UAAU,KAAK,MAAM;IAEpC,CAAC,MAAM,WAAW,CAAC;AAEtB,QAAO,CAAC,OACN,oBAAC,UAAD,EAAY,CAAA,GAEZ,oBAAC,gBAAD,EAAA,UACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,cAAD,EAAA,UAAA;EACE,oBAAC,iBAAD,EAAmB,CAAA;EACnB,oBAAC,WAAD;GACU;GACM;GACL;GACC;GACA;GACV,CAAA;EACD,qBACC,qBAAC,YAAD;GAAY,OAAM;GAAS,IAAI;IAAE,IAAI;IAAG,UAAU;IAAI;GAAE,SAAQ;aAAhE,CACG,EAAE,gCAAgC,EACnC,oBAAC,QAAD;IAAM,MAAM;IAAa,IAAI,EAAE,IAAI,GAAG;cACnC,EAAE,4BAA4B;IAC1B,CAAA,CACI;;EAEF,EAAA,CAAA,EACG,CAAA,EACL,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
2
|
const require_Dialog = require("../../layouts/Security/Dialog.js");
|
|
3
3
|
const require_styles = require("./styles.js");
|
|
4
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
4
|
let react = require("react");
|
|
6
5
|
react = require_runtime.__toESM(react);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let react_i18next = require("react-i18next");
|
|
8
8
|
let react_router = require("react-router");
|
|
9
9
|
let _mui_material = require("@mui/material");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Success.js","names":[
|
|
1
|
+
{"version":3,"file":"Success.js","names":[],"sources":["../../../src/sections/Security/Success.tsx"],"sourcesContent":["import CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Button, Typography } from '@mui/material';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router';\n\nimport SecurityLayout from '../../layouts/Security/Dialog';\nimport { SecurityContainer, SecurityForm } from './styles';\n\nexport enum MessageType {\n Login = 'Login',\n ChangePassword = 'ChangePassword',\n AddUser = 'AddUser',\n Success = 'Success',\n}\n\nconst Success: React.FC = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const messageType = queryParams.get('messageType') as MessageType;\n const message = !messageType\n ? t('security.success.messageSuccess')\n : t(`security.success.message${messageType}`);\n\n const handleClose = () => {\n window.location.href = '/';\n };\n\n return (\n <SecurityLayout>\n <SecurityContainer>\n <SecurityForm>\n <CheckCircleIcon color=\"success\" />\n <Typography component=\"h1\" gutterBottom={true} variant=\"h4\">\n {t('security.success.title')}\n </Typography>\n <Typography color=\"text.secondary\" paragraph={true} variant=\"body1\">\n {message}\n </Typography>\n <Button color=\"primary\" onClick={handleClose} sx={{ mt: 2 }} variant=\"contained\">\n {t('security.success.submit')}\n </Button>\n </SecurityForm>\n </SecurityContainer>\n </SecurityLayout>\n );\n};\n\nexport default Success;\n"],"mappings":";;;;;;;;;;;;AASA,IAAY,cAAL,yBAAA,aAAA;AACL,aAAA,WAAA;AACA,aAAA,oBAAA;AACA,aAAA,aAAA;AACA,aAAA,aAAA;;KACD;AAED,IAAM,gBAA0B;CAC9B,MAAM,EAAE,OAAA,GAAA,cAAA,iBAAsB;CAC9B,MAAM,YAAA,GAAA,aAAA,cAAwB;CAE9B,MAAM,cADc,IAAI,gBAAgB,SAAS,OAAO,CACxB,IAAI,cAAc;CAClD,MAAM,UAAU,CAAC,cACb,EAAE,kCAAkC,GACpC,EAAE,2BAA2B,cAAc;CAE/C,MAAM,oBAAoB;AACxB,SAAO,SAAS,OAAO;;AAGzB,QACE,iBAAA,GAAA,kBAAA,KAAC,eAAA,SAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,eAAA,mBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,MAAC,eAAA,cAAD,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,KAAC,gCAAA,SAAD,EAAiB,OAAM,WAAY,CAAA;EACnC,iBAAA,GAAA,kBAAA,KAAC,cAAA,YAAD;GAAY,WAAU;GAAK,cAAc;GAAM,SAAQ;aACpD,EAAE,yBAAyB;GACjB,CAAA;EACb,iBAAA,GAAA,kBAAA,KAAC,cAAA,YAAD;GAAY,OAAM;GAAiB,WAAW;GAAM,SAAQ;aACzD;GACU,CAAA;EACb,iBAAA,GAAA,kBAAA,KAAC,cAAA,QAAD;GAAQ,OAAM;GAAU,SAAS;GAAa,IAAI,EAAE,IAAI,GAAG;GAAE,SAAQ;aAClE,EAAE,0BAA0B;GACtB,CAAA;EACI,EAAA,CAAA,EACG,CAAA,EACL,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import SecurityLayout from "../../layouts/Security/Dialog.mjs";
|
|
2
2
|
import { SecurityContainer, SecurityForm } from "./styles.mjs";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
3
|
import "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import { useLocation } from "react-router";
|
|
7
7
|
import { Button, Typography } from "@mui/material";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Success.mjs","names":[
|
|
1
|
+
{"version":3,"file":"Success.mjs","names":[],"sources":["../../../src/sections/Security/Success.tsx"],"sourcesContent":["import CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Button, Typography } from '@mui/material';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router';\n\nimport SecurityLayout from '../../layouts/Security/Dialog';\nimport { SecurityContainer, SecurityForm } from './styles';\n\nexport enum MessageType {\n Login = 'Login',\n ChangePassword = 'ChangePassword',\n AddUser = 'AddUser',\n Success = 'Success',\n}\n\nconst Success: React.FC = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const messageType = queryParams.get('messageType') as MessageType;\n const message = !messageType\n ? t('security.success.messageSuccess')\n : t(`security.success.message${messageType}`);\n\n const handleClose = () => {\n window.location.href = '/';\n };\n\n return (\n <SecurityLayout>\n <SecurityContainer>\n <SecurityForm>\n <CheckCircleIcon color=\"success\" />\n <Typography component=\"h1\" gutterBottom={true} variant=\"h4\">\n {t('security.success.title')}\n </Typography>\n <Typography color=\"text.secondary\" paragraph={true} variant=\"body1\">\n {message}\n </Typography>\n <Button color=\"primary\" onClick={handleClose} sx={{ mt: 2 }} variant=\"contained\">\n {t('security.success.submit')}\n </Button>\n </SecurityForm>\n </SecurityContainer>\n </SecurityLayout>\n );\n};\n\nexport default Success;\n"],"mappings":";;;;;;;;;AASA,IAAY,cAAL,yBAAA,aAAA;AACL,aAAA,WAAA;AACA,aAAA,oBAAA;AACA,aAAA,aAAA;AACA,aAAA,aAAA;;KACD;AAED,IAAM,gBAA0B;CAC9B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAE9B,MAAM,cADc,IAAI,gBAAgB,SAAS,OAAO,CACxB,IAAI,cAAc;CAClD,MAAM,UAAU,CAAC,cACb,EAAE,kCAAkC,GACpC,EAAE,2BAA2B,cAAc;CAE/C,MAAM,oBAAoB;AACxB,SAAO,SAAS,OAAO;;AAGzB,QACE,oBAAC,gBAAD,EAAA,UACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,cAAD,EAAA,UAAA;EACE,oBAAC,iBAAD,EAAiB,OAAM,WAAY,CAAA;EACnC,oBAAC,YAAD;GAAY,WAAU;GAAK,cAAc;GAAM,SAAQ;aACpD,EAAE,yBAAyB;GACjB,CAAA;EACb,oBAAC,YAAD;GAAY,OAAM;GAAiB,WAAW;GAAM,SAAQ;aACzD;GACU,CAAA;EACb,oBAAC,QAAD;GAAQ,OAAM;GAAU,SAAS;GAAa,IAAI,EAAE,IAAI,GAAG;GAAE,SAAQ;aAClE,EAAE,0BAA0B;GACtB,CAAA;EACI,EAAA,CAAA,EACG,CAAA,EACL,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":[
|
|
1
|
+
{"version":3,"file":"styles.js","names":[],"sources":["../../../src/sections/Security/styles.ts"],"sourcesContent":["import { Box, TextField } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const SecurityContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '100%',\n padding: theme.spacing(2),\n backgroundColor: theme.palette.background.default,\n}));\n\nexport const SecurityForm = styled(Box)(({ theme }) => ({\n width: '100%',\n maxWidth: 420,\n padding: theme.spacing(4),\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[3],\n}));\n\nexport const SecurityTextField = styled(TextField)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}));\n"],"mappings":";;;;AAGA,IAAa,qBAAA,GAAA,qBAAA,QAA2B,cAAA,IAAI,EAAE,EAAE,aAAa;CAC3D,SAAS;CACT,eAAe;CACf,YAAY;CACZ,gBAAgB;CAChB,WAAW;CACX,SAAS,MAAM,QAAQ,EAAE;CACzB,iBAAiB,MAAM,QAAQ,WAAW;CAC3C,EAAE;AAEH,IAAa,gBAAA,GAAA,qBAAA,QAAsB,cAAA,IAAI,EAAE,EAAE,aAAa;CACtD,OAAO;CACP,UAAU;CACV,SAAS,MAAM,QAAQ,EAAE;CACzB,iBAAiB,MAAM,QAAQ,WAAW;CAC1C,cAAc,MAAM,MAAM;CAC1B,WAAW,MAAM,QAAQ;CAC1B,EAAE;AAEH,IAAa,qBAAA,GAAA,qBAAA,QAA2B,cAAA,UAAU,EAAE,EAAE,aAAa;CACjE,OAAO;CACP,WAAW,MAAM,QAAQ,EAAE;CAC3B,cAAc,MAAM,QAAQ,EAAE;CAC/B,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.mjs","names":[
|
|
1
|
+
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/sections/Security/styles.ts"],"sourcesContent":["import { Box, TextField } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const SecurityContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '100%',\n padding: theme.spacing(2),\n backgroundColor: theme.palette.background.default,\n}));\n\nexport const SecurityForm = styled(Box)(({ theme }) => ({\n width: '100%',\n maxWidth: 420,\n padding: theme.spacing(4),\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[3],\n}));\n\nexport const SecurityTextField = styled(TextField)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}));\n"],"mappings":";;;AAGA,IAAa,oBAAoB,OAAO,IAAI,EAAE,EAAE,aAAa;CAC3D,SAAS;CACT,eAAe;CACf,YAAY;CACZ,gBAAgB;CAChB,WAAW;CACX,SAAS,MAAM,QAAQ,EAAE;CACzB,iBAAiB,MAAM,QAAQ,WAAW;CAC3C,EAAE;AAEH,IAAa,eAAe,OAAO,IAAI,EAAE,EAAE,aAAa;CACtD,OAAO;CACP,UAAU;CACV,SAAS,MAAM,QAAQ,EAAE;CACzB,iBAAiB,MAAM,QAAQ,WAAW;CAC1C,cAAc,MAAM,MAAM;CAC1B,WAAW,MAAM,QAAQ;CAC1B,EAAE;AAEH,IAAa,oBAAoB,OAAO,UAAU,EAAE,EAAE,aAAa;CACjE,OAAO;CACP,WAAW,MAAM,QAAQ,EAAE;CAC3B,cAAc,MAAM,QAAQ,EAAE;CAC/B,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/sections/Security/utils.ts"],"sourcesContent":["import isEmpty from 'lodash/isEmpty';\n\nimport { Route } from '../../utils';\n\nexport interface SecurityUrlParams {\n readonly next: string;\n readonly user: string;\n}\n\nexport interface LocationLike {\n readonly search: string;\n}\n\nexport function getSecurityUrlParams(location: LocationLike): SecurityUrlParams {\n const queryParams = new URLSearchParams(location.search);\n\n // Get next parameter to match v1 URLs\n let next = queryParams.get('next') || '';\n if (next.length > 0 && (!next.startsWith(Route.LOGIN_API) || !next.match(/\\/[-0-9a-f]{36}$/))) {\n next = '';\n }\n\n // Ignore user parameter if it does not match expected format (prevent XSS attacks)\n let user = queryParams.get('user') || '';\n if (user.length > 0 && !user.match(/^[a-zA-Z0-9-_]{1,255}$/)) {\n user = '';\n }\n\n return { next, user };\n}\n\nexport interface TranslationFunction {\n (key: string, options?: Record<string, unknown>): string;\n}\n\nexport interface DispatchAction {\n (payload: { type: string; description: string }): void;\n}\n\nexport const validateCredentials = (\n username: string,\n password: string,\n t: TranslationFunction,\n dispatchAction: DispatchAction\n): boolean => {\n if (!username || !password || isEmpty(username) || isEmpty(password)) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-or-password-cant-be-empty'),\n });\n return false;\n }\n\n if (username.length < 2) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-min-length', { length: 2 }),\n });\n return false;\n }\n\n // Validate username contains only url-safe characters\n if (!username.match(/^[-a-zA-Z0-9_.!~*'()@]+$/)) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-must-be-url-safe'),\n });\n return false;\n }\n\n // Note: password rules should be checked in auth plugin\n return true;\n};\n"],"mappings":";;;;;AAaA,SAAgB,qBAAqB,UAA2C;CAC9E,MAAM,cAAc,IAAI,gBAAgB,SAAS,OAAO;CAGxD,IAAI,OAAO,YAAY,IAAI,OAAO,IAAI;AACtC,KAAI,KAAK,SAAS,MAAM,CAAC,KAAK,WAAW,eAAA,MAAM,UAAU,IAAI,CAAC,KAAK,MAAM,mBAAmB,EAC1F,QAAO;CAIT,IAAI,OAAO,YAAY,IAAI,OAAO,IAAI;AACtC,KAAI,KAAK,SAAS,KAAK,CAAC,KAAK,MAAM,yBAAyB,CAC1D,QAAO;AAGT,QAAO;EAAE;EAAM;EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/sections/Security/utils.ts"],"sourcesContent":["import isEmpty from 'lodash/isEmpty';\n\nimport { Route } from '../../utils';\n\nexport interface SecurityUrlParams {\n readonly next: string;\n readonly user: string;\n}\n\nexport interface LocationLike {\n readonly search: string;\n}\n\nexport function getSecurityUrlParams(location: LocationLike): SecurityUrlParams {\n const queryParams = new URLSearchParams(location.search);\n\n // Get next parameter to match v1 URLs\n let next = queryParams.get('next') || '';\n if (next.length > 0 && (!next.startsWith(Route.LOGIN_API) || !next.match(/\\/[-0-9a-f]{36}$/))) {\n next = '';\n }\n\n // Ignore user parameter if it does not match expected format (prevent XSS attacks)\n let user = queryParams.get('user') || '';\n if (user.length > 0 && !user.match(/^[a-zA-Z0-9-_]{1,255}$/)) {\n user = '';\n }\n\n return { next, user };\n}\n\nexport interface TranslationFunction {\n (key: string, options?: Record<string, unknown>): string;\n}\n\nexport interface DispatchAction {\n (payload: { type: string; description: string }): void;\n}\n\nexport const validateCredentials = (\n username: string,\n password: string,\n t: TranslationFunction,\n dispatchAction: DispatchAction\n): boolean => {\n if (!username || !password || isEmpty(username) || isEmpty(password)) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-or-password-cant-be-empty'),\n });\n return false;\n }\n\n if (username.length < 2) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-min-length', { length: 2 }),\n });\n return false;\n }\n\n // Validate username contains only url-safe characters\n if (!username.match(/^[-a-zA-Z0-9_.!~*'()@]+$/)) {\n dispatchAction({\n type: 'error',\n description: t('security.error.username-must-be-url-safe'),\n });\n return false;\n }\n\n // Note: password rules should be checked in auth plugin\n return true;\n};\n"],"mappings":";;;;AAaA,SAAgB,qBAAqB,UAA2C;CAC9E,MAAM,cAAc,IAAI,gBAAgB,SAAS,OAAO;CAGxD,IAAI,OAAO,YAAY,IAAI,OAAO,IAAI;AACtC,KAAI,KAAK,SAAS,MAAM,CAAC,KAAK,WAAW,MAAM,UAAU,IAAI,CAAC,KAAK,MAAM,mBAAmB,EAC1F,QAAO;CAIT,IAAI,OAAO,YAAY,IAAI,OAAO,IAAI;AACtC,KAAI,KAAK,SAAS,KAAK,CAAC,KAAK,MAAM,yBAAyB,CAC1D,QAAO;AAGT,QAAO;EAAE;EAAM;EAAM"}
|
|
@@ -24,9 +24,9 @@ const require_SideBarTitle = require("../../components/SideBarTitle/SideBarTitle
|
|
|
24
24
|
require("../../components/SideBarTitle/index.js");
|
|
25
25
|
const require_Repository = require("../../components/Repository/Repository.js");
|
|
26
26
|
require("../../components/Repository/index.js");
|
|
27
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
28
27
|
let react = require("react");
|
|
29
28
|
react = require_runtime.__toESM(react);
|
|
29
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
30
30
|
let _mui_material_Paper = require("@mui/material/Paper");
|
|
31
31
|
_mui_material_Paper = require_runtime.__toESM(_mui_material_Paper);
|
|
32
32
|
//#region src/sections/SideBar/Sidebar.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","names":[
|
|
1
|
+
{"version":3,"file":"Sidebar.js","names":[],"sources":["../../../src/sections/SideBar/Sidebar.tsx"],"sourcesContent":["import Paper from '@mui/material/Paper';\nimport React from 'react';\n\nimport ActionBar from '../../components/ActionBar';\nimport Author from '../../components/Author';\nimport Developers, { DeveloperType } from '../../components/Developers';\nimport Dist from '../../components/Distribution';\nimport Engines from '../../components/Engines';\nimport FundButton from '../../components/FundButton';\nimport Install from '../../components/Install';\nimport Keywords from '../../components/Keywords';\nimport Repository from '../../components/Repository';\nimport SideBarTitle from '../../components/SideBarTitle';\nimport { DownloadProvider, useConfig, useVersion } from '../../providers';\nimport type { ModuleType, PackageMetaInterface } from '../../types/packageMeta';\n\nconst getModuleTypes = (manifest: PackageMetaInterface) => {\n if (!manifest.latest) return [];\n\n const moduleTypes: ModuleType[] = [manifest.latest.type || 'commonjs'];\n\n if (manifest.latest.main) {\n moduleTypes.push('commonjs');\n }\n\n return Array.from(new Set(moduleTypes));\n};\n\nconst DetailSidebar: React.FC = () => {\n const { packageMeta, packageName, packageVersion } = useVersion();\n\n const { configOptions } = useConfig();\n const version = packageVersion || packageMeta?.latest.version || '';\n const time = packageMeta?.time ? packageMeta.time[version] : '';\n if (!packageMeta || !packageName) {\n return null;\n }\n\n return (\n <Paper data-testid=\"sidebar\" sx={{ position: 'sticky', top: 0, p: 2, ml: { xs: 0, md: 2 } }}>\n <SideBarTitle\n description={packageMeta.latest?.description}\n hasTypes={typeof packageMeta.latest?.types === 'string'}\n isLatest={typeof packageVersion === 'undefined'}\n moduleTypes={getModuleTypes(packageMeta)}\n packageName={packageName}\n time={time}\n version={version}\n />\n <DownloadProvider>\n <ActionBar\n packageMeta={packageMeta}\n showDownloadTarball={configOptions.showDownloadTarball}\n showRaw={configOptions.showRaw}\n />\n </DownloadProvider>\n <FundButton packageMeta={packageMeta} />\n <Install configOptions={configOptions} packageMeta={packageMeta} packageName={packageName} />\n <Repository packageMeta={packageMeta} />\n <Engines packageMeta={packageMeta} />\n <Dist packageMeta={packageMeta} />\n <Keywords packageMeta={packageMeta} />\n <Author packageMeta={packageMeta} />\n <Developers packageMeta={packageMeta} type={DeveloperType.MAINTAINERS} />\n <Developers packageMeta={packageMeta} type={DeveloperType.CONTRIBUTORS} />\n </Paper>\n );\n};\n\nexport default DetailSidebar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAM,kBAAkB,aAAmC;AACzD,KAAI,CAAC,SAAS,OAAQ,QAAO,EAAE;CAE/B,MAAM,cAA4B,CAAC,SAAS,OAAO,QAAQ,WAAW;AAEtE,KAAI,SAAS,OAAO,KAClB,aAAY,KAAK,WAAW;AAG9B,QAAO,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC;;AAGzC,IAAM,sBAAgC;CACpC,MAAM,EAAE,aAAa,aAAa,mBAAmB,wBAAA,YAAY;CAEjE,MAAM,EAAE,kBAAkB,iCAAA,WAAW;CACrC,MAAM,UAAU,kBAAkB,aAAa,OAAO,WAAW;CACjE,MAAM,OAAO,aAAa,OAAO,YAAY,KAAK,WAAW;AAC7D,KAAI,CAAC,eAAe,CAAC,YACnB,QAAO;AAGT,QACE,iBAAA,GAAA,kBAAA,MAAC,oBAAA,SAAD;EAAO,eAAY;EAAU,IAAI;GAAE,UAAU;GAAU,KAAK;GAAG,GAAG;GAAG,IAAI;IAAE,IAAI;IAAG,IAAI;IAAG;GAAE;YAA3F;GACE,iBAAA,GAAA,kBAAA,KAAC,qBAAA,SAAD;IACE,aAAa,YAAY,QAAQ;IACjC,UAAU,OAAO,YAAY,QAAQ,UAAU;IAC/C,UAAU,OAAO,mBAAmB;IACpC,aAAa,eAAe,YAAY;IAC3B;IACP;IACG;IACT,CAAA;GACF,iBAAA,GAAA,kBAAA,KAAC,yBAAA,kBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,kBAAA,SAAD;IACe;IACb,qBAAqB,cAAc;IACnC,SAAS,cAAc;IACvB,CAAA,EACe,CAAA;GACnB,iBAAA,GAAA,kBAAA,KAAC,mBAAA,SAAD,EAAyB,aAAe,CAAA;GACxC,iBAAA,GAAA,kBAAA,KAAC,gBAAA,SAAD;IAAwB;IAA4B;IAA0B;IAAe,CAAA;GAC7F,iBAAA,GAAA,kBAAA,KAAC,mBAAA,SAAD,EAAyB,aAAe,CAAA;GACxC,iBAAA,GAAA,kBAAA,KAAC,gBAAA,SAAD,EAAsB,aAAe,CAAA;GACrC,iBAAA,GAAA,kBAAA,KAAC,aAAA,SAAD,EAAmB,aAAe,CAAA;GAClC,iBAAA,GAAA,kBAAA,KAAC,iBAAA,SAAD,EAAuB,aAAe,CAAA;GACtC,iBAAA,GAAA,kBAAA,KAAC,eAAA,SAAD,EAAqB,aAAe,CAAA;GACpC,iBAAA,GAAA,kBAAA,KAAC,mBAAA,SAAD;IAAyB;IAAa,MAAM,sBAAA,cAAc;IAAe,CAAA;GACzE,iBAAA,GAAA,kBAAA,KAAC,mBAAA,SAAD;IAAyB;IAAa,MAAM,sBAAA,cAAc;IAAgB,CAAA;GACpE"}
|
|
@@ -23,8 +23,8 @@ import DetailSidebarTitle from "../../components/SideBarTitle/SideBarTitle.mjs";
|
|
|
23
23
|
import "../../components/SideBarTitle/index.mjs";
|
|
24
24
|
import Repository from "../../components/Repository/Repository.mjs";
|
|
25
25
|
import "../../components/Repository/index.mjs";
|
|
26
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
27
26
|
import "react";
|
|
27
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
28
28
|
import Paper from "@mui/material/Paper";
|
|
29
29
|
//#region src/sections/SideBar/Sidebar.tsx
|
|
30
30
|
var getModuleTypes = (manifest) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.mjs","names":[
|
|
1
|
+
{"version":3,"file":"Sidebar.mjs","names":[],"sources":["../../../src/sections/SideBar/Sidebar.tsx"],"sourcesContent":["import Paper from '@mui/material/Paper';\nimport React from 'react';\n\nimport ActionBar from '../../components/ActionBar';\nimport Author from '../../components/Author';\nimport Developers, { DeveloperType } from '../../components/Developers';\nimport Dist from '../../components/Distribution';\nimport Engines from '../../components/Engines';\nimport FundButton from '../../components/FundButton';\nimport Install from '../../components/Install';\nimport Keywords from '../../components/Keywords';\nimport Repository from '../../components/Repository';\nimport SideBarTitle from '../../components/SideBarTitle';\nimport { DownloadProvider, useConfig, useVersion } from '../../providers';\nimport type { ModuleType, PackageMetaInterface } from '../../types/packageMeta';\n\nconst getModuleTypes = (manifest: PackageMetaInterface) => {\n if (!manifest.latest) return [];\n\n const moduleTypes: ModuleType[] = [manifest.latest.type || 'commonjs'];\n\n if (manifest.latest.main) {\n moduleTypes.push('commonjs');\n }\n\n return Array.from(new Set(moduleTypes));\n};\n\nconst DetailSidebar: React.FC = () => {\n const { packageMeta, packageName, packageVersion } = useVersion();\n\n const { configOptions } = useConfig();\n const version = packageVersion || packageMeta?.latest.version || '';\n const time = packageMeta?.time ? packageMeta.time[version] : '';\n if (!packageMeta || !packageName) {\n return null;\n }\n\n return (\n <Paper data-testid=\"sidebar\" sx={{ position: 'sticky', top: 0, p: 2, ml: { xs: 0, md: 2 } }}>\n <SideBarTitle\n description={packageMeta.latest?.description}\n hasTypes={typeof packageMeta.latest?.types === 'string'}\n isLatest={typeof packageVersion === 'undefined'}\n moduleTypes={getModuleTypes(packageMeta)}\n packageName={packageName}\n time={time}\n version={version}\n />\n <DownloadProvider>\n <ActionBar\n packageMeta={packageMeta}\n showDownloadTarball={configOptions.showDownloadTarball}\n showRaw={configOptions.showRaw}\n />\n </DownloadProvider>\n <FundButton packageMeta={packageMeta} />\n <Install configOptions={configOptions} packageMeta={packageMeta} packageName={packageName} />\n <Repository packageMeta={packageMeta} />\n <Engines packageMeta={packageMeta} />\n <Dist packageMeta={packageMeta} />\n <Keywords packageMeta={packageMeta} />\n <Author packageMeta={packageMeta} />\n <Developers packageMeta={packageMeta} type={DeveloperType.MAINTAINERS} />\n <Developers packageMeta={packageMeta} type={DeveloperType.CONTRIBUTORS} />\n </Paper>\n );\n};\n\nexport default DetailSidebar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAM,kBAAkB,aAAmC;AACzD,KAAI,CAAC,SAAS,OAAQ,QAAO,EAAE;CAE/B,MAAM,cAA4B,CAAC,SAAS,OAAO,QAAQ,WAAW;AAEtE,KAAI,SAAS,OAAO,KAClB,aAAY,KAAK,WAAW;AAG9B,QAAO,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC;;AAGzC,IAAM,sBAAgC;CACpC,MAAM,EAAE,aAAa,aAAa,mBAAmB,YAAY;CAEjE,MAAM,EAAE,kBAAkB,WAAW;CACrC,MAAM,UAAU,kBAAkB,aAAa,OAAO,WAAW;CACjE,MAAM,OAAO,aAAa,OAAO,YAAY,KAAK,WAAW;AAC7D,KAAI,CAAC,eAAe,CAAC,YACnB,QAAO;AAGT,QACE,qBAAC,OAAD;EAAO,eAAY;EAAU,IAAI;GAAE,UAAU;GAAU,KAAK;GAAG,GAAG;GAAG,IAAI;IAAE,IAAI;IAAG,IAAI;IAAG;GAAE;YAA3F;GACE,oBAAC,oBAAD;IACE,aAAa,YAAY,QAAQ;IACjC,UAAU,OAAO,YAAY,QAAQ,UAAU;IAC/C,UAAU,OAAO,mBAAmB;IACpC,aAAa,eAAe,YAAY;IAC3B;IACP;IACG;IACT,CAAA;GACF,oBAAC,kBAAD,EAAA,UACE,oBAAC,WAAD;IACe;IACb,qBAAqB,cAAc;IACnC,SAAS,cAAc;IACvB,CAAA,EACe,CAAA;GACnB,oBAAC,YAAD,EAAyB,aAAe,CAAA;GACxC,oBAAC,SAAD;IAAwB;IAA4B;IAA0B;IAAe,CAAA;GAC7F,oBAAC,YAAD,EAAyB,aAAe,CAAA;GACxC,oBAAC,QAAD,EAAsB,aAAe,CAAA;GACrC,oBAAC,MAAD,EAAmB,aAAe,CAAA;GAClC,oBAAC,UAAD,EAAuB,aAAe,CAAA;GACtC,oBAAC,QAAD,EAAqB,aAAe,CAAA;GACpC,oBAAC,YAAD;IAAyB;IAAa,MAAM,cAAc;IAAe,CAAA;GACzE,oBAAC,YAAD;IAAyB;IAAa,MAAM,cAAc;IAAgB,CAAA;GACpE"}
|
package/build/store/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":[
|
|
1
|
+
{"version":3,"file":"api.js","names":[],"sources":["../../src/store/api.ts"],"sourcesContent":["import storage from './storage';\n\nexport class CustomError extends Error {\n code: number;\n\n constructor(message: string, code?: number) {\n super(message);\n this.name = 'CustomError';\n this.code = code ?? 500;\n }\n}\n\n/**\n * Handles response according to content type\n * @param {object} response\n * @returns {promise}\n */\nexport function handleResponseType(response: Response): Promise<[boolean, any, number]> {\n if (response.headers) {\n const contentType = response.headers.get('Content-Type');\n if (contentType?.includes('application/pdf')) {\n return Promise.all([response.ok, response.blob(), response.status]);\n }\n if (contentType?.includes('application/json')) {\n return Promise.all([response.ok, response.json(), response.status]);\n }\n // it includes all text types\n if (contentType?.includes('text/')) {\n return Promise.all([response.ok, response.text(), response.status]);\n }\n\n // unfortunately on download files there is no header available\n if (response.url && response.url.endsWith('.tgz') === true) {\n return Promise.all([response.ok, response.blob(), response.status]);\n }\n }\n\n // error handling\n return Promise.all([response.ok, response.text(), response.status]);\n}\n\nconst AuthHeader = 'Authorization';\n\nclass API {\n public request<T>(\n url: string,\n method = 'GET',\n options: RequestInit = { headers: {} }\n ): Promise<T> {\n const token = storage.getItem('token');\n const headers = new Headers(options.headers);\n\n if (token && headers.has(AuthHeader) === false) {\n headers.set(AuthHeader, `Bearer ${token}`);\n options.headers = headers;\n }\n\n headers.set('x-client', 'verdaccio-ui');\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n method,\n credentials: 'same-origin',\n signal: options.signal,\n ...options,\n })\n .then(handleResponseType)\n .then((response) => {\n const [ok, data, status] = response;\n if (ok === true) {\n resolve(data);\n } else {\n const message =\n typeof data === 'string' ? data : (data?.error ?? data?.message ?? 'Unknown error');\n reject(new CustomError(message, status));\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n}\n\nexport default new API();\n"],"mappings":";;AAEA,IAAa,cAAb,cAAiC,MAAM;CACrC;CAEA,YAAY,SAAiB,MAAe;AAC1C,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO,QAAQ;;;;;;;;AASxB,SAAgB,mBAAmB,UAAqD;AACtF,KAAI,SAAS,SAAS;EACpB,MAAM,cAAc,SAAS,QAAQ,IAAI,eAAe;AACxD,MAAI,aAAa,SAAS,kBAAkB,CAC1C,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAErE,MAAI,aAAa,SAAS,mBAAmB,CAC3C,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAGrE,MAAI,aAAa,SAAS,QAAQ,CAChC,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAIrE,MAAI,SAAS,OAAO,SAAS,IAAI,SAAS,OAAO,KAAK,KACpD,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;;AAKvE,QAAO,QAAQ,IAAI;EAAC,SAAS;EAAI,SAAS,MAAM;EAAE,SAAS;EAAO,CAAC;;AAGrE,IAAM,aAAa;AAEnB,IAAM,MAAN,MAAU;CACR,QACE,KACA,SAAS,OACT,UAAuB,EAAE,SAAS,EAAE,EAAE,EAC1B;EACZ,MAAM,QAAQ,gBAAA,QAAQ,QAAQ,QAAQ;EACtC,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAE5C,MAAI,SAAS,QAAQ,IAAI,WAAW,KAAK,OAAO;AAC9C,WAAQ,IAAI,YAAY,UAAU,QAAQ;AAC1C,WAAQ,UAAU;;AAGpB,UAAQ,IAAI,YAAY,eAAe;AAEvC,SAAO,IAAI,SAAS,SAAS,WAAW;AACtC,SAAM,KAAK;IACT;IACA,aAAa;IACb,QAAQ,QAAQ;IAChB,GAAG;IACJ,CAAC,CACC,KAAK,mBAAmB,CACxB,MAAM,aAAa;IAClB,MAAM,CAAC,IAAI,MAAM,UAAU;AAC3B,QAAI,OAAO,KACT,SAAQ,KAAK;QAIb,QAAO,IAAI,YADT,OAAO,SAAS,WAAW,OAAQ,MAAM,SAAS,MAAM,WAAW,iBACrC,OAAO,CAAC;KAE1C,CACD,OAAO,UAAU;AAChB,WAAO,MAAM;KACb;IACJ;;;AAIN,IAAA,cAAe,IAAI,KAAK"}
|
package/build/store/api.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.mjs","names":[
|
|
1
|
+
{"version":3,"file":"api.mjs","names":[],"sources":["../../src/store/api.ts"],"sourcesContent":["import storage from './storage';\n\nexport class CustomError extends Error {\n code: number;\n\n constructor(message: string, code?: number) {\n super(message);\n this.name = 'CustomError';\n this.code = code ?? 500;\n }\n}\n\n/**\n * Handles response according to content type\n * @param {object} response\n * @returns {promise}\n */\nexport function handleResponseType(response: Response): Promise<[boolean, any, number]> {\n if (response.headers) {\n const contentType = response.headers.get('Content-Type');\n if (contentType?.includes('application/pdf')) {\n return Promise.all([response.ok, response.blob(), response.status]);\n }\n if (contentType?.includes('application/json')) {\n return Promise.all([response.ok, response.json(), response.status]);\n }\n // it includes all text types\n if (contentType?.includes('text/')) {\n return Promise.all([response.ok, response.text(), response.status]);\n }\n\n // unfortunately on download files there is no header available\n if (response.url && response.url.endsWith('.tgz') === true) {\n return Promise.all([response.ok, response.blob(), response.status]);\n }\n }\n\n // error handling\n return Promise.all([response.ok, response.text(), response.status]);\n}\n\nconst AuthHeader = 'Authorization';\n\nclass API {\n public request<T>(\n url: string,\n method = 'GET',\n options: RequestInit = { headers: {} }\n ): Promise<T> {\n const token = storage.getItem('token');\n const headers = new Headers(options.headers);\n\n if (token && headers.has(AuthHeader) === false) {\n headers.set(AuthHeader, `Bearer ${token}`);\n options.headers = headers;\n }\n\n headers.set('x-client', 'verdaccio-ui');\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n method,\n credentials: 'same-origin',\n signal: options.signal,\n ...options,\n })\n .then(handleResponseType)\n .then((response) => {\n const [ok, data, status] = response;\n if (ok === true) {\n resolve(data);\n } else {\n const message =\n typeof data === 'string' ? data : (data?.error ?? data?.message ?? 'Unknown error');\n reject(new CustomError(message, status));\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n}\n\nexport default new API();\n"],"mappings":";;AAEA,IAAa,cAAb,cAAiC,MAAM;CACrC;CAEA,YAAY,SAAiB,MAAe;AAC1C,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO,QAAQ;;;;;;;;AASxB,SAAgB,mBAAmB,UAAqD;AACtF,KAAI,SAAS,SAAS;EACpB,MAAM,cAAc,SAAS,QAAQ,IAAI,eAAe;AACxD,MAAI,aAAa,SAAS,kBAAkB,CAC1C,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAErE,MAAI,aAAa,SAAS,mBAAmB,CAC3C,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAGrE,MAAI,aAAa,SAAS,QAAQ,CAChC,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;AAIrE,MAAI,SAAS,OAAO,SAAS,IAAI,SAAS,OAAO,KAAK,KACpD,QAAO,QAAQ,IAAI;GAAC,SAAS;GAAI,SAAS,MAAM;GAAE,SAAS;GAAO,CAAC;;AAKvE,QAAO,QAAQ,IAAI;EAAC,SAAS;EAAI,SAAS,MAAM;EAAE,SAAS;EAAO,CAAC;;AAGrE,IAAM,aAAa;AAEnB,IAAM,MAAN,MAAU;CACR,QACE,KACA,SAAS,OACT,UAAuB,EAAE,SAAS,EAAE,EAAE,EAC1B;EACZ,MAAM,QAAQ,gBAAQ,QAAQ,QAAQ;EACtC,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAE5C,MAAI,SAAS,QAAQ,IAAI,WAAW,KAAK,OAAO;AAC9C,WAAQ,IAAI,YAAY,UAAU,QAAQ;AAC1C,WAAQ,UAAU;;AAGpB,UAAQ,IAAI,YAAY,eAAe;AAEvC,SAAO,IAAI,SAAS,SAAS,WAAW;AACtC,SAAM,KAAK;IACT;IACA,aAAa;IACb,QAAQ,QAAQ;IAChB,GAAG;IACJ,CAAC,CACC,KAAK,mBAAmB,CACxB,MAAM,aAAa;IAClB,MAAM,CAAC,IAAI,MAAM,UAAU;AAC3B,QAAI,OAAO,KACT,SAAQ,KAAK;QAIb,QAAO,IAAI,YADT,OAAO,SAAS,WAAW,OAAQ,MAAM,SAAS,MAAM,WAAW,iBACrC,OAAO,CAAC;KAE1C,CACD,OAAO,UAAU;AAChB,WAAO,MAAM;KACb;IACJ;;;AAIN,IAAA,cAAe,IAAI,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","names":[
|
|
1
|
+
{"version":3,"file":"routes.js","names":[],"sources":["../../src/store/routes.ts"],"sourcesContent":["// Example API request:\n// http://localhost:8000/-/verdaccio/data/package/readme/jquery\n/**\n * @deprecated use APIRoute in utils/routes.ts\n */\nexport enum APIRoute {\n LOGIN = '/-/verdaccio/sec/login',\n SIGNUP = '/-/verdaccio/sec/signup',\n CONFIG = '/-/verdaccio/packages',\n PACKAGES = '/-/verdaccio/data/packages',\n SEARCH = '/-/verdaccio/data/search/', // :value\n SIDEBAR = '/-/verdaccio/data/sidebar/', // :packageName?v=version\n README = '/-/verdaccio/data/package/readme/', // :packageName?v=version\n}\n"],"mappings":";;;;AAKA,IAAY,WAAL,yBAAA,UAAA;AACL,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,YAAA;AACA,UAAA,aAAA;AACA,UAAA,YAAA;;KACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"routes.mjs","names":[],"sources":["../../src/store/routes.ts"],"sourcesContent":["// Example API request:\n// http://localhost:8000/-/verdaccio/data/package/readme/jquery\n/**\n * @deprecated use APIRoute in utils/routes.ts\n */\nexport enum APIRoute {\n LOGIN = '/-/verdaccio/sec/login',\n SIGNUP = '/-/verdaccio/sec/signup',\n CONFIG = '/-/verdaccio/packages',\n PACKAGES = '/-/verdaccio/data/packages',\n SEARCH = '/-/verdaccio/data/search/', // :value\n SIDEBAR = '/-/verdaccio/data/sidebar/', // :packageName?v=version\n README = '/-/verdaccio/data/package/readme/', // :packageName?v=version\n}\n"],"mappings":";;;;AAKA,IAAY,WAAL,yBAAA,UAAA;AACL,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,YAAA;AACA,UAAA,aAAA;AACA,UAAA,YAAA;;KACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","names":[
|
|
1
|
+
{"version":3,"file":"storage.js","names":[],"sources":["../../src/store/storage.ts"],"sourcesContent":["import memoryStorage from 'localstorage-memory';\n\nlet storage: Storage;\ntry {\n localStorage.setItem('__TEST__', '');\n localStorage.removeItem('__TEST__');\n storage = localStorage;\n} catch {\n // Fall back to memory storage if localStorage is not available\n storage = memoryStorage;\n}\n\nexport function saveAuth(username: string, token: string): void {\n storage.setItem('username', username);\n storage.setItem('token', token);\n}\n\nexport function clearAuth(): void {\n storage.removeItem('username');\n storage.removeItem('token');\n}\n\nexport function getAuth(): { username: string | null; token: string | null } {\n return {\n username: storage.getItem('username'),\n token: storage.getItem('token'),\n };\n}\n\nexport default storage;\n"],"mappings":";;;;AAEA,IAAI;AACJ,IAAI;AACF,cAAa,QAAQ,YAAY,GAAG;AACpC,cAAa,WAAW,WAAW;AACnC,WAAU;QACJ;AAEN,WAAU,oBAAA;;AAGZ,SAAgB,SAAS,UAAkB,OAAqB;AAC9D,SAAQ,QAAQ,YAAY,SAAS;AACrC,SAAQ,QAAQ,SAAS,MAAM;;AAGjC,SAAgB,YAAkB;AAChC,SAAQ,WAAW,WAAW;AAC9B,SAAQ,WAAW,QAAQ;;AAG7B,SAAgB,UAA6D;AAC3E,QAAO;EACL,UAAU,QAAQ,QAAQ,WAAW;EACrC,OAAO,QAAQ,QAAQ,QAAQ;EAChC;;AAGH,IAAA,kBAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.mjs","names":[
|
|
1
|
+
{"version":3,"file":"storage.mjs","names":[],"sources":["../../src/store/storage.ts"],"sourcesContent":["import memoryStorage from 'localstorage-memory';\n\nlet storage: Storage;\ntry {\n localStorage.setItem('__TEST__', '');\n localStorage.removeItem('__TEST__');\n storage = localStorage;\n} catch {\n // Fall back to memory storage if localStorage is not available\n storage = memoryStorage;\n}\n\nexport function saveAuth(username: string, token: string): void {\n storage.setItem('username', username);\n storage.setItem('token', token);\n}\n\nexport function clearAuth(): void {\n storage.removeItem('username');\n storage.removeItem('token');\n}\n\nexport function getAuth(): { username: string | null; token: string | null } {\n return {\n username: storage.getItem('username'),\n token: storage.getItem('token'),\n };\n}\n\nexport default storage;\n"],"mappings":";;AAEA,IAAI;AACJ,IAAI;AACF,cAAa,QAAQ,YAAY,GAAG;AACpC,cAAa,WAAW,WAAW;AACnC,WAAU;QACJ;AAEN,WAAU;;AAGZ,SAAgB,SAAS,UAAkB,OAAqB;AAC9D,SAAQ,QAAQ,YAAY,SAAS;AACrC,SAAQ,QAAQ,SAAS,MAAM;;AAGjC,SAAgB,YAAkB;AAChC,SAAQ,WAAW,WAAW;AAC9B,SAAQ,WAAW,QAAQ;;AAG7B,SAAgB,UAA6D;AAC3E,QAAO;EACL,UAAU,QAAQ,QAAQ,WAAW;EACrC,OAAO,QAAQ,QAAQ,QAAQ;EAChC;;AAGH,IAAA,kBAAe"}
|
package/build/store/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/store/utils.ts"],"sourcesContent":["export const HEADERS = {\n JSON: 'application/json',\n} as const;\n\nexport function stripTrailingSlash(url: string): string {\n return url.replace(/\\/$/, '');\n}\n"],"mappings":";AAAA,IAAa,UAAU,EACrB,MAAM,oBACP;AAED,SAAgB,mBAAmB,KAAqB;AACtD,QAAO,IAAI,QAAQ,OAAO,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/store/utils.ts"],"sourcesContent":["export const HEADERS = {\n JSON: 'application/json',\n} as const;\n\nexport function stripTrailingSlash(url: string): string {\n return url.replace(/\\/$/, '');\n}\n"],"mappings":";AAAA,IAAa,UAAU,EACrB,MAAM,oBACP;AAED,SAAgB,mBAAmB,KAAqB;AACtD,QAAO,IAAI,QAAQ,OAAO,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-utils.js","names":[
|
|
1
|
+
{"version":3,"file":"cli-utils.js","names":[],"sources":["../../src/utils/cli-utils.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\n\nexport const copyToClipBoardUtility =\n (str: string): ((e: SyntheticEvent<HTMLElement>) => void) =>\n (event: SyntheticEvent<HTMLElement>): void => {\n event.preventDefault();\n\n const node = document.createElement('div');\n node.innerText = str;\n if (document.body) {\n document.body.appendChild(node);\n\n const range = document.createRange();\n const selection = window.getSelection() as Selection;\n range.selectNodeContents(node);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand('copy');\n document.body.removeChild(node);\n }\n };\n\nexport function getCLISetConfigRegistry(\n command: string,\n scope: string | undefined,\n registryUrl: string\n): string {\n // if there is a scope defined there needs to be a \":\" separator between the scope and the registry\n return `${command} ${scope ? `${scope}:` : ''}registry ${registryUrl}`;\n}\n\nexport function getCLISetRegistry(command: string, registryUrl: string): string {\n return `${command} --registry ${registryUrl}`;\n}\n\nexport function getCLIChangePassword(command: string, registryUrl: string): string {\n return `${command} profile set password --registry ${registryUrl}`;\n}\n\nexport function getCLISBerryYamlRegistry(scope: string | undefined, registryUrl: string): string {\n return !scope\n ? `// .yarnrc.yml \nnpmRegistryServer: \"${registryUrl}\"\nunsafeHttpWhitelist:\n - ${new URL(registryUrl).host}`\n : `\n// .yarnrc.yml\nnpmRegistryServer: \"${registryUrl}\"\nnpmScopes:\n ${scope.replace('@', '')}:\n npmRegistryServer: ${registryUrl}\n npmPublishRegistry: ${registryUrl}`;\n}\n"],"mappings":";AAsBA,SAAgB,wBACd,SACA,OACA,aACQ;AAER,QAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,KAAK,GAAG,WAAW;;AAG3D,SAAgB,kBAAkB,SAAiB,aAA6B;AAC9E,QAAO,GAAG,QAAQ,cAAc;;AAGlC,SAAgB,qBAAqB,SAAiB,aAA6B;AACjF,QAAO,GAAG,QAAQ,mCAAmC;;AAGvD,SAAgB,yBAAyB,OAA2B,aAA6B;AAC/F,QAAO,CAAC,QACJ;sBACgB,YAAY;;MAE5B,IAAI,IAAI,YAAY,CAAC,SACrB;;sBAEgB,YAAY;;IAE9B,MAAM,QAAQ,KAAK,GAAG,CAAC;yBACF,YAAY;0BACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-utils.mjs","names":[
|
|
1
|
+
{"version":3,"file":"cli-utils.mjs","names":[],"sources":["../../src/utils/cli-utils.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\n\nexport const copyToClipBoardUtility =\n (str: string): ((e: SyntheticEvent<HTMLElement>) => void) =>\n (event: SyntheticEvent<HTMLElement>): void => {\n event.preventDefault();\n\n const node = document.createElement('div');\n node.innerText = str;\n if (document.body) {\n document.body.appendChild(node);\n\n const range = document.createRange();\n const selection = window.getSelection() as Selection;\n range.selectNodeContents(node);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand('copy');\n document.body.removeChild(node);\n }\n };\n\nexport function getCLISetConfigRegistry(\n command: string,\n scope: string | undefined,\n registryUrl: string\n): string {\n // if there is a scope defined there needs to be a \":\" separator between the scope and the registry\n return `${command} ${scope ? `${scope}:` : ''}registry ${registryUrl}`;\n}\n\nexport function getCLISetRegistry(command: string, registryUrl: string): string {\n return `${command} --registry ${registryUrl}`;\n}\n\nexport function getCLIChangePassword(command: string, registryUrl: string): string {\n return `${command} profile set password --registry ${registryUrl}`;\n}\n\nexport function getCLISBerryYamlRegistry(scope: string | undefined, registryUrl: string): string {\n return !scope\n ? `// .yarnrc.yml \nnpmRegistryServer: \"${registryUrl}\"\nunsafeHttpWhitelist:\n - ${new URL(registryUrl).host}`\n : `\n// .yarnrc.yml\nnpmRegistryServer: \"${registryUrl}\"\nnpmScopes:\n ${scope.replace('@', '')}:\n npmRegistryServer: ${registryUrl}\n npmPublishRegistry: ${registryUrl}`;\n}\n"],"mappings":";AAsBA,SAAgB,wBACd,SACA,OACA,aACQ;AAER,QAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,KAAK,GAAG,WAAW;;AAG3D,SAAgB,kBAAkB,SAAiB,aAA6B;AAC9E,QAAO,GAAG,QAAQ,cAAc;;AAGlC,SAAgB,qBAAqB,SAAiB,aAA6B;AACjF,QAAO,GAAG,QAAQ,mCAAmC;;AAGvD,SAAgB,yBAAyB,OAA2B,aAA6B;AAC/F,QAAO,CAAC,QACJ;sBACgB,YAAY;;MAE5B,IAAI,IAAI,YAAY,CAAC,SACrB;;sBAEgB,YAAY;;IAE9B,MAAM,QAAQ,KAAK,GAAG,CAAC;yBACF,YAAY;0BACX"}
|
package/build/utils/loadable.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.js");
|
|
2
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
2
|
let react = require("react");
|
|
4
3
|
react = require_runtime.__toESM(react);
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
//#region src/utils/loadable.tsx
|
|
6
6
|
/**
|
|
7
7
|
* With the combination of a bundler, enable to code split a package.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadable.js","names":[
|
|
1
|
+
{"version":3,"file":"loadable.js","names":[],"sources":["../../src/utils/loadable.tsx"],"sourcesContent":["import React, { Suspense, lazy } from 'react';\n\n/**\n * With the combination of a bundler, enable to code split a package.\n * \n * @example\n ```jsx\n const VersionPage = loadable(() => import(/'../pages/Version'));\n ```\n @category HOC\n */\nexport default (importCallback: any) => {\n const TargetComponent = lazy(importCallback);\n return (props: any) => (\n <Suspense fallback={null}>\n <TargetComponent {...props} />\n </Suspense>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAWA,IAAA,oBAAgB,mBAAwB;CACtC,MAAM,mBAAA,GAAA,MAAA,MAAuB,eAAe;AAC5C,SAAQ,UACN,iBAAA,GAAA,kBAAA,KAAC,MAAA,UAAD;EAAU,UAAU;YAClB,iBAAA,GAAA,kBAAA,KAAC,iBAAD,EAAiB,GAAI,OAAS,CAAA;EACrB,CAAA"}
|
package/build/utils/loadable.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadable.mjs","names":[
|
|
1
|
+
{"version":3,"file":"loadable.mjs","names":[],"sources":["../../src/utils/loadable.tsx"],"sourcesContent":["import React, { Suspense, lazy } from 'react';\n\n/**\n * With the combination of a bundler, enable to code split a package.\n * \n * @example\n ```jsx\n const VersionPage = loadable(() => import(/'../pages/Version'));\n ```\n @category HOC\n */\nexport default (importCallback: any) => {\n const TargetComponent = lazy(importCallback);\n return (props: any) => (\n <Suspense fallback={null}>\n <TargetComponent {...props} />\n </Suspense>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAWA,IAAA,oBAAgB,mBAAwB;CACtC,MAAM,kBAAkB,KAAK,eAAe;AAC5C,SAAQ,UACN,oBAAC,UAAD;EAAU,UAAU;YAClB,oBAAC,iBAAD,EAAiB,GAAI,OAAS,CAAA;EACrB,CAAA"}
|