@verdaccio/ui-components 5.0.0-next-9.0 → 5.0.0-next-9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Theme/ResetStyles.js +28 -47
- package/build/Theme/ResetStyles.js.map +1 -1
- package/build/Theme/StyleBaseline.js +9 -14
- package/build/Theme/StyleBaseline.js.map +1 -1
- package/build/Theme/ThemeProvider.js +31 -56
- package/build/Theme/ThemeProvider.js.map +1 -1
- package/build/Theme/colors.js +15 -18
- package/build/Theme/colors.js.map +1 -1
- package/build/Theme/index.js +5 -58
- package/build/Theme/modes.js +25 -38
- package/build/Theme/modes.js.map +1 -1
- package/build/Theme/theme.js +18 -31
- package/build/Theme/theme.js.map +1 -1
- package/build/Theme/tokens.js +28 -33
- package/build/Theme/tokens.js.map +1 -1
- package/build/_virtual/_rolldown/runtime.js +11 -0
- package/build/api/use-data-mutation.js +38 -95
- package/build/api/use-data-mutation.js.map +1 -1
- package/build/api/use-data.js +17 -33
- package/build/api/use-data.js.map +1 -1
- package/build/components/ActionBar/ActionBar.js +45 -86
- package/build/components/ActionBar/ActionBar.js.map +1 -1
- package/build/components/ActionBar/ActionBarAction.js +79 -107
- package/build/components/ActionBar/ActionBarAction.js.map +1 -1
- package/build/components/ActionBar/index.js +1 -14
- package/build/components/AppRoute/AppRoute.js +65 -87
- package/build/components/AppRoute/AppRoute.js.map +1 -1
- package/build/components/Author/Author.js +30 -41
- package/build/components/Author/Author.js.map +1 -1
- package/build/components/Author/index.js +1 -14
- package/build/components/Author/styles.js +21 -31
- package/build/components/Author/styles.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.js +52 -67
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/CopyClipboard/index.js +2 -21
- package/build/components/CopyClipboard/utils.d.ts +1 -1
- package/build/components/CopyClipboard/utils.js +6 -13
- package/build/components/CopyClipboard/utils.js.map +1 -1
- package/build/components/Dependencies/Dependencies.js +36 -80
- package/build/components/Dependencies/Dependencies.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.d.ts +3 -3
- package/build/components/Dependencies/DependencyBlock.js +62 -108
- package/build/components/Dependencies/DependencyBlock.js.map +1 -1
- package/build/components/Dependencies/index.js +2 -14
- package/build/components/Dependencies/utits.js +6 -8
- package/build/components/Dependencies/utits.js.map +1 -1
- package/build/components/Deprecated/Deprecated.js +14 -23
- package/build/components/Deprecated/Deprecated.js.map +1 -1
- package/build/components/Deprecated/index.js +1 -14
- package/build/components/Developers/DeveloperType.js +6 -10
- package/build/components/Developers/DeveloperType.js.map +1 -1
- package/build/components/Developers/Developers.js +57 -98
- package/build/components/Developers/Developers.js.map +1 -1
- package/build/components/Developers/Title.js +29 -39
- package/build/components/Developers/Title.js.map +1 -1
- package/build/components/Developers/get-unique-developer-values.js +6 -22
- package/build/components/Developers/get-unique-developer-values.js.map +1 -1
- package/build/components/Developers/index.js +2 -21
- package/build/components/Distribution/Dist.js +38 -44
- package/build/components/Distribution/Dist.js.map +1 -1
- package/build/components/Distribution/index.js +1 -14
- package/build/components/Distribution/styles.js +33 -44
- package/build/components/Distribution/styles.js.map +1 -1
- package/build/components/Engines/Engines.js +66 -88
- package/build/components/Engines/Engines.js.map +1 -1
- package/build/components/Engines/index.js +1 -14
- package/build/components/Engines/styles.js +24 -32
- package/build/components/Engines/styles.js.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.js +27 -66
- package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/build/components/ErrorBoundary/index.js +1 -14
- package/build/components/Forbidden/Forbidden.js +62 -71
- package/build/components/Forbidden/Forbidden.js.map +1 -1
- package/build/components/Forbidden/index.js +1 -14
- package/build/components/FundButton/FundButton.js +52 -73
- package/build/components/FundButton/FundButton.js.map +1 -1
- package/build/components/FundButton/index.js +1 -14
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js +62 -88
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -1
- package/build/components/HeaderInfoDialog/index.js +1 -14
- package/build/components/Heading/Heading.d.ts +1 -1
- package/build/components/Heading/Heading.js +13 -23
- package/build/components/Heading/Heading.js.map +1 -1
- package/build/components/Heading/index.js +1 -14
- package/build/components/Help/Help.js +55 -55
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/index.js +1 -14
- package/build/components/Help/styles.js +17 -20
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.js +16 -0
- package/build/components/Icons/DevsIcons/CommonJS2.js.map +1 -0
- package/build/components/Icons/DevsIcons/ES6Module2.js +16 -0
- package/build/components/Icons/DevsIcons/ES6Module2.js.map +1 -0
- package/build/components/Icons/DevsIcons/Git2.js +16 -0
- package/build/components/Icons/DevsIcons/Git2.js.map +1 -0
- package/build/components/Icons/DevsIcons/NodeJS2.js +16 -0
- package/build/components/Icons/DevsIcons/NodeJS2.js.map +1 -0
- package/build/components/Icons/DevsIcons/TypeScript2.js +16 -0
- package/build/components/Icons/DevsIcons/TypeScript2.js.map +1 -0
- package/build/components/Icons/DevsIcons/commonjs.js +6 -0
- package/build/components/Icons/DevsIcons/commonjs.js.map +1 -0
- package/build/components/Icons/DevsIcons/es6module.js +6 -0
- package/build/components/Icons/DevsIcons/es6module.js.map +1 -0
- package/build/components/Icons/DevsIcons/git.js +6 -0
- package/build/components/Icons/DevsIcons/git.js.map +1 -0
- package/build/components/Icons/DevsIcons/index.js +5 -41
- package/build/components/Icons/DevsIcons/nodejs.js +6 -0
- package/build/components/Icons/DevsIcons/nodejs.js.map +1 -0
- package/build/components/Icons/DevsIcons/typescript.js +6 -0
- package/build/components/Icons/DevsIcons/typescript.js.map +1 -0
- package/build/components/Icons/Earth.js +39 -42
- package/build/components/Icons/Earth.js.map +1 -1
- package/build/components/Icons/FileBinary.js +15 -24
- package/build/components/Icons/FileBinary.js.map +1 -1
- package/build/components/Icons/Law.js +18 -25
- package/build/components/Icons/Law.js.map +1 -1
- package/build/components/Icons/License.js +15 -26
- package/build/components/Icons/License.js.map +1 -1
- package/build/components/Icons/Managers/Npm2.js +16 -0
- package/build/components/Icons/Managers/Npm2.js.map +1 -0
- package/build/components/Icons/Managers/Pnpm2.js +16 -0
- package/build/components/Icons/Managers/Pnpm2.js.map +1 -0
- package/build/components/Icons/Managers/Yarn2.js +16 -0
- package/build/components/Icons/Managers/Yarn2.js.map +1 -0
- package/build/components/Icons/Managers/index.js +3 -27
- package/build/components/Icons/Managers/npm.js +6 -0
- package/build/components/Icons/Managers/npm.js.map +1 -0
- package/build/components/Icons/Managers/pnpm.js +6 -0
- package/build/components/Icons/Managers/pnpm.js.map +1 -0
- package/build/components/Icons/Managers/yarn.js +6 -0
- package/build/components/Icons/Managers/yarn.js.map +1 -0
- package/build/components/Icons/SvgIcon.d.ts +2 -6
- package/build/components/Icons/SvgIcon.js +24 -53
- package/build/components/Icons/SvgIcon.js.map +1 -1
- package/build/components/Icons/Time.js +22 -29
- package/build/components/Icons/Time.js.map +1 -1
- package/build/components/Icons/Version.js +20 -27
- package/build/components/Icons/Version.js.map +1 -1
- package/build/components/Icons/index.js +36 -78
- package/build/components/Icons/index.js.map +1 -1
- package/build/components/Install/Install.js +58 -74
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/InstallListItem.js +91 -120
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/index.js +1 -14
- package/build/components/Keywords/KeywordListItems.js +25 -34
- package/build/components/Keywords/KeywordListItems.js.map +1 -1
- package/build/components/Keywords/Keywords.js +25 -35
- package/build/components/Keywords/Keywords.js.map +1 -1
- package/build/components/Keywords/index.js +1 -14
- package/build/components/Label/Label.js +18 -37
- package/build/components/Label/Label.js.map +1 -1
- package/build/components/Label/index.js +1 -14
- package/build/components/Link/Link.d.ts +3 -1
- package/build/components/Link/Link.js +32 -40
- package/build/components/Link/Link.js.map +1 -1
- package/build/components/Link/index.js +1 -14
- package/build/components/LinkExternal/LinkExternal.d.ts +3 -1
- package/build/components/LinkExternal/LinkExternal.js +19 -30
- package/build/components/LinkExternal/LinkExternal.js.map +1 -1
- package/build/components/LinkExternal/index.js +1 -14
- package/build/components/Loading/Loading.js +14 -20
- package/build/components/Loading/Loading.js.map +1 -1
- package/build/components/Loading/Spinner/Spinner.js +28 -57
- package/build/components/Loading/Spinner/Spinner.js.map +1 -1
- package/build/components/Loading/Spinner/index.js +1 -14
- package/build/components/Loading/index.js +1 -14
- package/build/components/Loading/styles.d.ts +5 -5
- package/build/components/Loading/styles.js +26 -35
- package/build/components/Loading/styles.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.js +28 -39
- package/build/components/LoginDialog/LoginDialog.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.js +27 -39
- package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.js +17 -26
- package/build/components/LoginDialog/LoginDialogForm.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.js +30 -51
- package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -1
- package/build/components/LoginDialog/index.js +1 -14
- package/build/components/LoginForm/Login.js +64 -85
- package/build/components/LoginForm/Login.js.map +1 -1
- package/build/components/LoginForm/PasswordField.js +31 -49
- package/build/components/LoginForm/PasswordField.js.map +1 -1
- package/build/components/LoginForm/UsernameField.js +29 -47
- package/build/components/LoginForm/UsernameField.js.map +1 -1
- package/build/components/LoginForm/styles.js +48 -58
- package/build/components/LoginForm/styles.js.map +1 -1
- package/build/components/LoginForm/useLoginForm.js +32 -64
- package/build/components/LoginForm/useLoginForm.js.map +1 -1
- package/build/components/Logo/Logo.js +66 -87
- package/build/components/Logo/Logo.js.map +1 -1
- package/build/components/Logo/img/logo-black-and-white.js +6 -0
- package/build/components/Logo/img/logo-black-and-white.js.map +1 -0
- package/build/components/Logo/img/logo.js +6 -0
- package/build/components/Logo/img/logo.js.map +1 -0
- package/build/components/Logo/index.js +1 -14
- package/build/components/MenuItem/MenuItem.d.ts +1 -1
- package/build/components/MenuItem/MenuItem.js +25 -39
- package/build/components/MenuItem/MenuItem.js.map +1 -1
- package/build/components/MenuItem/index.js +1 -14
- package/build/components/NoItems/NoItems.js +14 -24
- package/build/components/NoItems/NoItems.js.map +1 -1
- package/build/components/NoItems/index.js +1 -14
- package/build/components/NotFound/NotFound.js +63 -72
- package/build/components/NotFound/NotFound.js.map +1 -1
- package/build/components/NotFound/index.js +1 -14
- package/build/components/Package/Package.js +163 -230
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/index.js +1 -14
- package/build/components/Package/styles.d.ts +18 -18
- package/build/components/Package/styles.js +122 -185
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/PackageList/PackageList.js +63 -92
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/index.js +1 -14
- package/build/components/Person/Person.js +36 -46
- package/build/components/Person/Person.js.map +1 -1
- package/build/components/Person/PersonTooltip.js +24 -21
- package/build/components/Person/PersonTooltip.js.map +1 -1
- package/build/components/Person/index.js +1 -14
- package/build/components/Person/utils.js +11 -14
- package/build/components/Person/utils.js.map +1 -1
- package/build/components/RawViewer/RawViewer.js +53 -64
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/index.js +1 -14
- package/build/components/Readme/Readme.d.ts +2 -0
- package/build/components/Readme/Readme.js +40 -56
- package/build/components/Readme/Readme.js.map +1 -1
- package/build/components/Readme/index.js +1 -14
- package/build/components/Readme/utils.js +22 -27
- package/build/components/Readme/utils.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js +30 -34
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/index.js +1 -14
- package/build/components/RegistryInfoDialog/styles.d.ts +5 -5
- package/build/components/RegistryInfoDialog/styles.js +22 -47
- package/build/components/RegistryInfoDialog/styles.js.map +1 -1
- package/build/components/Repository/Repository.js +79 -101
- package/build/components/Repository/Repository.js.map +1 -1
- package/build/components/Repository/index.js +1 -14
- package/build/components/Search/AutoComplete/AutoComplete.js +33 -76
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/index.js +1 -14
- package/build/components/Search/AutoComplete/styles.d.ts +2 -2
- package/build/components/Search/AutoComplete/styles.js +16 -19
- package/build/components/Search/AutoComplete/styles.js.map +1 -1
- package/build/components/Search/Search.js +91 -176
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/SearchItem.d.ts +3 -3
- package/build/components/Search/SearchItem.js +102 -144
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/index.js +1 -14
- package/build/components/Search/styles.d.ts +2 -2
- package/build/components/Search/styles.js +29 -56
- package/build/components/Search/styles.js.map +1 -1
- package/build/components/Search/utils.js +13 -20
- package/build/components/Search/utils.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js +94 -108
- package/build/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/components/SettingsMenu/index.js +1 -14
- package/build/components/SideBarTitle/SideBarTitle.js +65 -99
- package/build/components/SideBarTitle/SideBarTitle.js.map +1 -1
- package/build/components/SideBarTitle/index.js +1 -14
- package/build/components/SideBarTitle/utils.js +10 -16
- package/build/components/SideBarTitle/utils.js.map +1 -1
- package/build/components/UpLinks/UpLinks.js +57 -68
- package/build/components/UpLinks/UpLinks.js.map +1 -1
- package/build/components/UpLinks/UplinkLink.js +17 -19
- package/build/components/UpLinks/UplinkLink.js.map +1 -1
- package/build/components/UpLinks/index.js +2 -14
- package/build/components/UpLinks/styles.d.ts +5 -5
- package/build/components/UpLinks/styles.js +27 -48
- package/build/components/UpLinks/styles.js.map +1 -1
- package/build/components/Versions/HistoryList.js +59 -75
- package/build/components/Versions/HistoryList.js.map +1 -1
- package/build/components/Versions/TagList.js +29 -35
- package/build/components/Versions/TagList.js.map +1 -1
- package/build/components/Versions/Versions.js +76 -121
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/index.js +2 -14
- package/build/components/Versions/styles.d.ts +5 -5
- package/build/components/Versions/styles.js +23 -37
- package/build/components/Versions/styles.js.map +1 -1
- package/build/configuration.js +20 -20
- package/build/configuration.js.map +1 -1
- package/build/dark-logo.png +0 -0
- package/build/favicon.ico +0 -0
- package/build/hooks/index.js +2 -21
- package/build/hooks/useLocalStorage.js +22 -59
- package/build/hooks/useLocalStorage.js.map +1 -1
- package/build/hooks/useOnClickOutside.js +14 -30
- package/build/hooks/useOnClickOutside.js.map +1 -1
- package/build/index.js +118 -483
- package/build/layouts/Security/Dialog.js +17 -25
- package/build/layouts/Security/Dialog.js.map +1 -1
- package/build/layouts/Version/Version.js +28 -28
- package/build/layouts/Version/Version.js.map +1 -1
- package/build/layouts/Version/index.js +1 -14
- package/build/mockServiceWorker.js +335 -0
- package/build/pages/Front/Home.js +6 -7
- package/build/pages/Front/Home.js.map +1 -1
- package/build/pages/Front/index.js +2 -14
- package/build/pages/Security/AddUser.js +6 -7
- package/build/pages/Security/AddUser.js.map +1 -1
- package/build/pages/Security/ChangePassword.js +6 -7
- package/build/pages/Security/ChangePassword.js.map +1 -1
- package/build/pages/Security/Login.js +6 -7
- package/build/pages/Security/Login.js.map +1 -1
- package/build/pages/Security/Success.js +6 -7
- package/build/pages/Security/Success.js.map +1 -1
- package/build/pages/Security/index.js +4 -35
- package/build/pages/Version/Version.js +16 -30
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/index.js +2 -14
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js +51 -72
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/index.js +1 -19
- package/build/providers/AuthProvider/AuthProvider.js +37 -100
- package/build/providers/AuthProvider/AuthProvider.js.map +1 -1
- package/build/providers/AuthProvider/index.js +1 -17
- package/build/providers/AuthProvider/utils.js +19 -24
- package/build/providers/AuthProvider/utils.js.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.js +29 -71
- package/build/providers/DownloadProvider/DownloadProvider.js.map +1 -1
- package/build/providers/DownloadProvider/index.js +1 -19
- package/build/providers/ManifestsProvider/ManifestsProvider.js +20 -31
- package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
- package/build/providers/ManifestsProvider/index.js +1 -21
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js +22 -50
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -1
- package/build/providers/PersistenceSettingProvider/index.js +1 -19
- package/build/providers/SearchProvider/SearchProvider.js +45 -95
- package/build/providers/SearchProvider/SearchProvider.js.map +1 -1
- package/build/providers/SearchProvider/index.js +1 -25
- package/build/providers/TranslatorProvider/TranslatorProvider.js +33 -71
- package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -1
- package/build/providers/TranslatorProvider/index.js +1 -21
- package/build/providers/VersionProvider/VersionProvider.js +42 -57
- package/build/providers/VersionProvider/VersionProvider.js.map +1 -1
- package/build/providers/VersionProvider/index.js +1 -21
- package/build/providers/index.js +16 -94
- package/build/sections/Detail/ContainerContent.js +24 -63
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/Detail.js +39 -62
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/ReadmeSection.js +8 -18
- package/build/sections/Detail/ReadmeSection.js.map +1 -1
- package/build/sections/Detail/Tabs.js +52 -54
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/index.js +1 -14
- package/build/sections/Footer/Footer.js +94 -137
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/index.js +1 -14
- package/build/sections/Footer/styles.d.ts +16 -16
- package/build/sections/Footer/styles.js +58 -89
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Header/Header.js +89 -144
- package/build/sections/Header/Header.js.map +1 -1
- package/build/sections/Header/HeaderGreetings.js +17 -21
- package/build/sections/Header/HeaderGreetings.js.map +1 -1
- package/build/sections/Header/HeaderLeft.js +31 -32
- package/build/sections/Header/HeaderLeft.js.map +1 -1
- package/build/sections/Header/HeaderMenu.js +43 -50
- package/build/sections/Header/HeaderMenu.js.map +1 -1
- package/build/sections/Header/HeaderRight.js +76 -119
- package/build/sections/Header/HeaderRight.js.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.js +91 -107
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderToolTip.js +10 -17
- package/build/sections/Header/HeaderToolTip.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.d.ts +1 -1
- package/build/sections/Header/HeaderToolTipIcon.js +56 -63
- package/build/sections/Header/HeaderToolTipIcon.js.map +1 -1
- package/build/sections/Header/LanguageSwitch.js +81 -128
- package/build/sections/Header/LanguageSwitch.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.d.ts +6 -6
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js +171 -166
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/index.js +1 -14
- package/build/sections/Header/RegistryInfoContent/styles.d.ts +6 -6
- package/build/sections/Header/RegistryInfoContent/styles.js +17 -30
- package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -1
- package/build/sections/Header/index.js +1 -14
- package/build/sections/Header/styles.d.ts +10 -10
- package/build/sections/Header/styles.js +109 -146
- package/build/sections/Header/styles.js.map +1 -1
- package/build/sections/Home/Home.js +17 -21
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/index.js +1 -14
- package/build/sections/Security/AddUser.js +116 -179
- package/build/sections/Security/AddUser.js.map +1 -1
- package/build/sections/Security/ChangePassword.js +111 -169
- package/build/sections/Security/ChangePassword.js.map +1 -1
- package/build/sections/Security/Login.js +78 -142
- package/build/sections/Security/Login.js.map +1 -1
- package/build/sections/Security/Success.js +40 -50
- package/build/sections/Security/Success.js.map +1 -1
- package/build/sections/Security/index.js +4 -35
- package/build/sections/Security/styles.js +25 -38
- package/build/sections/Security/styles.js.map +1 -1
- package/build/sections/Security/utils.js +14 -57
- package/build/sections/Security/utils.js.map +1 -1
- package/build/sections/SideBar/Sidebar.js +85 -90
- package/build/sections/SideBar/Sidebar.js.map +1 -1
- package/build/sections/SideBar/index.js +1 -14
- package/build/sections/index.js +4 -21
- package/build/store/api.js +57 -116
- package/build/store/api.js.map +1 -1
- package/build/store/index.js +1 -14
- package/build/store/routes.js +6 -20
- package/build/store/routes.js.map +1 -1
- package/build/store/storage.js +19 -30
- package/build/store/storage.js.map +1 -1
- package/build/store/utils.js +7 -12
- package/build/store/utils.js.map +1 -1
- package/build/ui-components.css +2 -0
- package/build/utils/cli-utils.d.ts +1 -1
- package/build/utils/cli-utils.js +21 -36
- package/build/utils/cli-utils.js.map +1 -1
- package/build/utils/index.js +6 -75
- package/build/utils/loadable.js +12 -25
- package/build/utils/loadable.js.map +1 -1
- package/build/utils/routes.js +8 -31
- package/build/utils/routes.js.map +1 -1
- package/build/utils/schemas.js +15 -27
- package/build/utils/schemas.js.map +1 -1
- package/build/utils/token.js +20 -40
- package/build/utils/token.js.map +1 -1
- package/build/utils/url.js +45 -73
- package/build/utils/url.js.map +1 -1
- package/build/utils/utils.js +55 -111
- package/build/utils/utils.js.map +1 -1
- package/package.json +17 -12
- package/build/AppTest/AppRoute.js +0 -14
- package/build/AppTest/AppRoute.js.map +0 -1
- package/build/Theme/index.js.map +0 -1
- package/build/components/ActionBar/index.js.map +0 -1
- package/build/components/Author/index.js.map +0 -1
- package/build/components/CopyClipboard/index.js.map +0 -1
- package/build/components/Dependencies/index.js.map +0 -1
- package/build/components/Dependencies/types.js +0 -6
- package/build/components/Dependencies/types.js.map +0 -1
- package/build/components/Deprecated/index.js.map +0 -1
- package/build/components/Developers/index.js.map +0 -1
- package/build/components/Distribution/index.js.map +0 -1
- package/build/components/Engines/index.js.map +0 -1
- package/build/components/ErrorBoundary/index.js.map +0 -1
- package/build/components/Forbidden/index.js.map +0 -1
- package/build/components/FundButton/index.js.map +0 -1
- package/build/components/HeaderInfoDialog/index.js.map +0 -1
- package/build/components/Heading/index.js.map +0 -1
- package/build/components/Help/index.js.map +0 -1
- package/build/components/Icons/DevsIcons/CommonJS.js +0 -18
- package/build/components/Icons/DevsIcons/CommonJS.js.map +0 -1
- package/build/components/Icons/DevsIcons/ES6Module.js +0 -18
- package/build/components/Icons/DevsIcons/ES6Module.js.map +0 -1
- package/build/components/Icons/DevsIcons/Git.js +0 -18
- package/build/components/Icons/DevsIcons/Git.js.map +0 -1
- package/build/components/Icons/DevsIcons/NodeJS.js +0 -18
- package/build/components/Icons/DevsIcons/NodeJS.js.map +0 -1
- package/build/components/Icons/DevsIcons/TypeScript.js +0 -18
- package/build/components/Icons/DevsIcons/TypeScript.js.map +0 -1
- package/build/components/Icons/DevsIcons/commonjs.svg +0 -4
- package/build/components/Icons/DevsIcons/es6module.svg +0 -4
- package/build/components/Icons/DevsIcons/git.svg +0 -4
- package/build/components/Icons/DevsIcons/index.js.map +0 -1
- package/build/components/Icons/DevsIcons/nodejs.svg +0 -6
- package/build/components/Icons/DevsIcons/typescript.svg +0 -4
- package/build/components/Icons/Managers/Npm.js +0 -18
- package/build/components/Icons/Managers/Npm.js.map +0 -1
- package/build/components/Icons/Managers/Pnpm.js +0 -18
- package/build/components/Icons/Managers/Pnpm.js.map +0 -1
- package/build/components/Icons/Managers/Yarn.js +0 -18
- package/build/components/Icons/Managers/Yarn.js.map +0 -1
- package/build/components/Icons/Managers/index.js.map +0 -1
- package/build/components/Icons/Managers/npm.svg +0 -15
- package/build/components/Icons/Managers/pnpm.svg +0 -1
- package/build/components/Icons/Managers/yarn.svg +0 -1
- package/build/components/Install/index.js.map +0 -1
- package/build/components/Keywords/index.js.map +0 -1
- package/build/components/Label/index.js.map +0 -1
- package/build/components/Link/index.js.map +0 -1
- package/build/components/LinkExternal/index.js.map +0 -1
- package/build/components/Loading/Spinner/index.js.map +0 -1
- package/build/components/Loading/index.js.map +0 -1
- package/build/components/LoginDialog/index.js.map +0 -1
- package/build/components/Logo/img/logo-black-and-white.svg +0 -1
- package/build/components/Logo/img/logo.svg +0 -1
- package/build/components/Logo/index.js.map +0 -1
- package/build/components/MenuItem/index.js.map +0 -1
- package/build/components/NoItems/index.js.map +0 -1
- package/build/components/NotFound/img/package.svg +0 -1
- package/build/components/NotFound/index.js.map +0 -1
- package/build/components/Package/index.js.map +0 -1
- package/build/components/PackageList/index.js.map +0 -1
- package/build/components/Person/index.js.map +0 -1
- package/build/components/RawViewer/index.js.map +0 -1
- package/build/components/Readme/github-markdown.css +0 -1198
- package/build/components/Readme/index.js.map +0 -1
- package/build/components/Readme/types.js +0 -6
- package/build/components/Readme/types.js.map +0 -1
- package/build/components/RegistryInfoDialog/index.js.map +0 -1
- package/build/components/RegistryInfoDialog/types.js +0 -6
- package/build/components/RegistryInfoDialog/types.js.map +0 -1
- package/build/components/Repository/index.js.map +0 -1
- package/build/components/Search/AutoComplete/index.js.map +0 -1
- package/build/components/Search/index.js.map +0 -1
- package/build/components/SettingsMenu/index.js.map +0 -1
- package/build/components/SideBarTitle/index.js.map +0 -1
- package/build/components/UnAuthorized/UnAuthorized.js +0 -75
- package/build/components/UnAuthorized/UnAuthorized.js.map +0 -1
- package/build/components/UnAuthorized/index.js +0 -14
- package/build/components/UnAuthorized/index.js.map +0 -1
- package/build/components/UpLinks/index.js.map +0 -1
- package/build/components/Versions/index.js.map +0 -1
- package/build/components/Versions/types.js +0 -6
- package/build/components/Versions/types.js.map +0 -1
- package/build/hooks/index.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/layouts/Version/index.js.map +0 -1
- package/build/pages/Front/index.js.map +0 -1
- package/build/pages/Security/index.js.map +0 -1
- package/build/pages/Version/index.js.map +0 -1
- package/build/providers/AppConfigurationProvider/index.js.map +0 -1
- package/build/providers/AuthProvider/index.js.map +0 -1
- package/build/providers/AuthProvider/types.js +0 -6
- package/build/providers/AuthProvider/types.js.map +0 -1
- package/build/providers/DownloadProvider/index.js.map +0 -1
- package/build/providers/ManifestsProvider/README.md +0 -22
- package/build/providers/ManifestsProvider/index.js.map +0 -1
- package/build/providers/PersistenceSettingProvider/index.js.map +0 -1
- package/build/providers/SearchProvider/index.js.map +0 -1
- package/build/providers/TranslatorProvider/index.js.map +0 -1
- package/build/providers/VersionProvider/README.md +0 -22
- package/build/providers/VersionProvider/index.js.map +0 -1
- package/build/providers/index.js.map +0 -1
- package/build/routes/SecurityRoutes.js +0 -36
- package/build/routes/SecurityRoutes.js.map +0 -1
- package/build/sections/Detail/index.js.map +0 -1
- package/build/sections/Footer/index.js.map +0 -1
- package/build/sections/Header/RegistryInfoContent/index.js.map +0 -1
- package/build/sections/Header/index.js.map +0 -1
- package/build/sections/Home/index.js.map +0 -1
- package/build/sections/Security/index.js.map +0 -1
- package/build/sections/SideBar/index.js.map +0 -1
- package/build/sections/index.js.map +0 -1
- package/build/store/index.js.map +0 -1
- package/build/test/i18n-config.js +0 -26
- package/build/test/i18n-config.js.map +0 -1
- package/build/test/test-react-testing-library.js +0 -147
- package/build/test/test-react-testing-library.js.map +0 -1
- package/build/types/external-modules.d.js +0 -2
- package/build/types/external-modules.d.js.map +0 -1
- package/build/types/index.js +0 -6
- package/build/types/index.js.map +0 -1
- package/build/types/packageMeta.js +0 -6
- package/build/types/packageMeta.js.map +0 -1
- package/build/utils/index.js.map +0 -1
- package/build/utils/token-generate.js +0 -44
- package/build/utils/token-generate.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-utils.js","names":["
|
|
1
|
+
{"version":3,"file":"cli-utils.js","names":["SyntheticEvent","copyToClipBoardUtility","str","e","HTMLElement","event","preventDefault","node","document","createElement","innerText","body","appendChild","range","createRange","selection","window","getSelection","Selection","selectNodeContents","removeAllRanges","addRange","execCommand","removeChild","getCLISetConfigRegistry","command","scope","registryUrl","getCLISetRegistry","getCLIChangePassword","getCLISBerryYamlRegistry","URL","host","replace"],"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,SAAgBwB,EACdC,GACAC,GACAC,GACQ;AAER,QAAO,GAAGF,EAAO,GAAIC,IAAQ,GAAGA,EAAK,KAAM,GAAE,WAAYC;;AAG3D,SAAgBC,EAAkBH,GAAiBE,GAA6B;AAC9E,QAAO,GAAGF,EAAO,cAAeE;;AAGlC,SAAgBE,EAAqBJ,GAAiBE,GAA6B;AACjF,QAAO,GAAGF,EAAO,mCAAoCE;;AAGvD,SAAgBG,EAAyBJ,GAA2BC,GAA6B;AAC/F,QAAQD,IAKJ;;sBAEgBC,EAAW;;IAE7BD,EAAMO,QAAQ,KAAK,GAAG,CAAA;yBACDN,EAAW;0BACVA,MAVpB;sBACgBA,EAAW;;MAE3B,IAAII,IAAIJ,EAAY,CAACK"}
|
package/build/utils/index.js
CHANGED
|
@@ -1,75 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _exportNames = {
|
|
8
|
-
url: true,
|
|
9
|
-
utils: true,
|
|
10
|
-
getCLIChangePassword: true,
|
|
11
|
-
getCLISBerryYamlRegistry: true,
|
|
12
|
-
getCLISetConfigRegistry: true,
|
|
13
|
-
getCLISetRegistry: true,
|
|
14
|
-
loadable: true,
|
|
15
|
-
Route: true
|
|
16
|
-
};
|
|
17
|
-
Object.defineProperty(exports, "Route", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function get() {
|
|
20
|
-
return _routes.Route;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports, "getCLIChangePassword", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function get() {
|
|
26
|
-
return _cliUtils.getCLIChangePassword;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
Object.defineProperty(exports, "getCLISBerryYamlRegistry", {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
get: function get() {
|
|
32
|
-
return _cliUtils.getCLISBerryYamlRegistry;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(exports, "getCLISetConfigRegistry", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function get() {
|
|
38
|
-
return _cliUtils.getCLISetConfigRegistry;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
Object.defineProperty(exports, "getCLISetRegistry", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
get: function get() {
|
|
44
|
-
return _cliUtils.getCLISetRegistry;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
Object.defineProperty(exports, "loadable", {
|
|
48
|
-
enumerable: true,
|
|
49
|
-
get: function get() {
|
|
50
|
-
return _loadable["default"];
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
exports.utils = exports.url = void 0;
|
|
54
|
-
var _url = _interopRequireWildcard(require("./url"));
|
|
55
|
-
exports.url = _url;
|
|
56
|
-
var _utils = _interopRequireWildcard(require("./utils"));
|
|
57
|
-
exports.utils = _utils;
|
|
58
|
-
var _cliUtils = require("./cli-utils");
|
|
59
|
-
var _loadable = _interopRequireDefault(require("./loadable"));
|
|
60
|
-
var _routes = require("./routes");
|
|
61
|
-
var _token = require("./token");
|
|
62
|
-
Object.keys(_token).forEach(function (key) {
|
|
63
|
-
if (key === "default" || key === "__esModule") return;
|
|
64
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
65
|
-
if (key in exports && exports[key] === _token[key]) return;
|
|
66
|
-
Object.defineProperty(exports, key, {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function get() {
|
|
69
|
-
return _token[key];
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
74
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
75
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import "./url.js";
|
|
2
|
+
import "./utils.js";
|
|
3
|
+
import "./cli-utils.js";
|
|
4
|
+
import "./loadable.js";
|
|
5
|
+
import "./routes.js";
|
|
6
|
+
import "./token.js";
|
package/build/utils/loadable.js
CHANGED
|
@@ -1,27 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* With the combination of a bundler, enable to code split a package.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
```jsx
|
|
15
|
-
const VersionPage = loadable(() => import(/'../pages/Version'));
|
|
16
|
-
```
|
|
17
|
-
@category HOC
|
|
18
|
-
*/
|
|
19
|
-
var _default = exports["default"] = function _default(importCallback) {
|
|
20
|
-
var TargetComponent = /*#__PURE__*/(0, _react.lazy)(importCallback);
|
|
21
|
-
return function (props) {
|
|
22
|
-
return /*#__PURE__*/_react["default"].createElement(_react.Suspense, {
|
|
23
|
-
fallback: null
|
|
24
|
-
}, /*#__PURE__*/_react["default"].createElement(TargetComponent, props));
|
|
25
|
-
};
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Suspense as t, lazy as n } from "react";
|
|
3
|
+
//#region src/utils/loadable.tsx
|
|
4
|
+
var r = (r) => {
|
|
5
|
+
let i = n(r);
|
|
6
|
+
return (n) => /* @__PURE__ */ e(t, {
|
|
7
|
+
fallback: null,
|
|
8
|
+
children: /* @__PURE__ */ e(i, { ...n })
|
|
9
|
+
});
|
|
26
10
|
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { r as default };
|
|
13
|
+
|
|
27
14
|
//# sourceMappingURL=loadable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadable.js","names":["
|
|
1
|
+
{"version":3,"file":"loadable.js","names":["React","Suspense","lazy","importCallback","TargetComponent","props"],"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,KAAgBG,MAAwB;CACtC,IAAMC,IAAkBF,EAAKC,EAAe;AAC5C,SAAQE,MACN,kBAAC,GAAD;EAAU,UAAU;YAClB,kBAAC,GAAD,EAAiB,GAAIA,GAAM,CAAA;EAE9B,CAAA"}
|
package/build/utils/routes.js
CHANGED
|
@@ -1,33 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.Route = exports.APIRoute = void 0;
|
|
7
|
-
var Route = exports.Route = /*#__PURE__*/function (Route) {
|
|
8
|
-
Route["ROOT"] = "/";
|
|
9
|
-
Route["DETAIL"] = "/-/web/detail/";
|
|
10
|
-
Route["SCOPE_PACKAGE"] = "/-/web/detail/:scope/:package";
|
|
11
|
-
Route["SCOPE_PACKAGE_VERSION"] = "/-/web/detail/:scope/:package/v/:version";
|
|
12
|
-
Route["PACKAGE"] = "/-/web/detail/:package";
|
|
13
|
-
Route["PACKAGE_VERSION"] = "/-/web/detail/:package/v/:version";
|
|
14
|
-
Route["LOGIN"] = "/-/web/login";
|
|
15
|
-
Route["SUCCESS"] = "/-/web/success";
|
|
16
|
-
Route["ADD_USER"] = "/-/web/add-user";
|
|
17
|
-
Route["CHANGE_PASSWORD"] = "/-/web/change-password";
|
|
18
|
-
Route["LOGIN_API"] = "/-/v1/login_cli";
|
|
19
|
-
Route["CHANGE_PASSWORD_API"] = "/-/npm/v1/user";
|
|
20
|
-
return Route;
|
|
21
|
-
}({}); // Example API request:
|
|
22
|
-
// http://localhost:8000/-/verdaccio/data/package/readme/jquery
|
|
23
|
-
var APIRoute = exports.APIRoute = /*#__PURE__*/function (APIRoute) {
|
|
24
|
-
APIRoute["LOGIN"] = "/-/verdaccio/sec/login";
|
|
25
|
-
APIRoute["RESET_PASSWORD"] = "/-/verdaccio/sec/reset_password";
|
|
26
|
-
APIRoute["CONFIG"] = "/-/verdaccio/packages";
|
|
27
|
-
APIRoute["PACKAGES"] = "/-/verdaccio/data/packages";
|
|
28
|
-
APIRoute["SEARCH"] = "/-/verdaccio/data/search/";
|
|
29
|
-
APIRoute["SIDEBAR"] = "/-/verdaccio/data/sidebar/";
|
|
30
|
-
APIRoute["README"] = "/-/verdaccio/data/package/readme/";
|
|
31
|
-
return APIRoute;
|
|
1
|
+
//#region src/utils/routes.ts
|
|
2
|
+
var e = /* @__PURE__ */ function(e) {
|
|
3
|
+
return e.ROOT = "/", e.DETAIL = "/-/web/detail/", e.SCOPE_PACKAGE = "/-/web/detail/:scope/:package", e.SCOPE_PACKAGE_VERSION = "/-/web/detail/:scope/:package/v/:version", e.PACKAGE = "/-/web/detail/:package", e.PACKAGE_VERSION = "/-/web/detail/:package/v/:version", e.LOGIN = "/-/web/login", e.SUCCESS = "/-/web/success", e.ADD_USER = "/-/web/add-user", e.CHANGE_PASSWORD = "/-/web/change-password", e.LOGIN_API = "/-/v1/login_cli", e.CHANGE_PASSWORD_API = "/-/npm/v1/user", e;
|
|
4
|
+
}({}), t = /* @__PURE__ */ function(e) {
|
|
5
|
+
return e.LOGIN = "/-/verdaccio/sec/login", e.RESET_PASSWORD = "/-/verdaccio/sec/reset_password", e.CONFIG = "/-/verdaccio/packages", e.PACKAGES = "/-/verdaccio/data/packages", e.SEARCH = "/-/verdaccio/data/search/", e.SIDEBAR = "/-/verdaccio/data/sidebar/", e.README = "/-/verdaccio/data/package/readme/", e;
|
|
32
6
|
}({});
|
|
7
|
+
//#endregion
|
|
8
|
+
export { t as APIRoute, e as Route };
|
|
9
|
+
|
|
33
10
|
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","names":["Route","
|
|
1
|
+
{"version":3,"file":"routes.js","names":["Route","ROOT","DETAIL","SCOPE_PACKAGE","SCOPE_PACKAGE_VERSION","PACKAGE","PACKAGE_VERSION","LOGIN","SUCCESS","ADD_USER","CHANGE_PASSWORD","LOGIN_API","CHANGE_PASSWORD_API","APIRoute","RESET_PASSWORD","CONFIG","PACKAGES","SEARCH","SIDEBAR","README"],"sources":["../../src/utils/routes.ts"],"sourcesContent":["export enum Route {\n ROOT = '/',\n DETAIL = '/-/web/detail/',\n SCOPE_PACKAGE = '/-/web/detail/:scope/:package',\n SCOPE_PACKAGE_VERSION = '/-/web/detail/:scope/:package/v/:version',\n PACKAGE = '/-/web/detail/:package',\n PACKAGE_VERSION = '/-/web/detail/:package/v/:version',\n // Security UI routes\n LOGIN = '/-/web/login',\n SUCCESS = '/-/web/success',\n ADD_USER = '/-/web/add-user',\n CHANGE_PASSWORD = '/-/web/change-password',\n // Security API routes\n LOGIN_API = '/-/v1/login_cli',\n CHANGE_PASSWORD_API = '/-/npm/v1/user',\n}\n\n// Example API request:\n// http://localhost:8000/-/verdaccio/data/package/readme/jquery\nexport enum APIRoute {\n LOGIN = '/-/verdaccio/sec/login',\n RESET_PASSWORD = '/-/verdaccio/sec/reset_password',\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":";AAAA,IAAYA,IAAL,yBAAA,GAAA;QACLC,EAAAA,OAAAA,KACAC,EAAAA,SAAAA,kBACAC,EAAAA,gBAAAA,iCACAC,EAAAA,wBAAAA,4CACAC,EAAAA,UAAAA,0BACAC,EAAAA,kBAAAA,qCAEAC,EAAAA,QAAAA,gBACAC,EAAAA,UAAAA,kBACAC,EAAAA,WAAAA,mBACAC,EAAAA,kBAAAA,0BAEAC,EAAAA,YAAAA,mBACAC,EAAAA,sBAAAA;KACF,EAIYC,IAAL,yBAAA,GAAA;QACLN,EAAAA,QAAAA,0BACAO,EAAAA,iBAAAA,mCACAC,EAAAA,SAAAA,yBACAC,EAAAA,WAAAA,8BACAC,EAAAA,SAAAA,6BACAC,EAAAA,UAAAA,8BACAC,EAAAA,SAAAA"}
|
package/build/utils/schemas.js
CHANGED
|
@@ -1,30 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as e from "yup";
|
|
2
|
+
var t = e.string().required().min(2).matches(/^[-a-zA-Z0-9_.!~*'()@]+$/, "security.error.username-must-be-url-safe"), n = e.string().required().min(2), r = e.object({
|
|
3
|
+
username: t,
|
|
4
|
+
password: n
|
|
5
|
+
}), i = e.object({
|
|
6
|
+
username: t,
|
|
7
|
+
password: n,
|
|
8
|
+
email: e.string().email().required()
|
|
9
|
+
}), a = e.object({
|
|
10
|
+
username: t,
|
|
11
|
+
oldPassword: n,
|
|
12
|
+
newPassword: n,
|
|
13
|
+
confirmPassword: e.string().required().oneOf([e.ref("newPassword")], "security.error.password-mismatch")
|
|
6
14
|
});
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
10
|
-
var USERNAME_MIN_LENGTH = exports.USERNAME_MIN_LENGTH = 2;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { i as addUserSchema, a as changePasswordSchema, r as loginSchema };
|
|
11
17
|
|
|
12
|
-
// Matches your current logic
|
|
13
|
-
var usernameSchema = exports.usernameSchema = yup.string().required().min(USERNAME_MIN_LENGTH).matches(/^[-a-zA-Z0-9_.!~*'()@]+$/, 'security.error.username-must-be-url-safe');
|
|
14
|
-
var passwordSchema = exports.passwordSchema = yup.string().required().min(2);
|
|
15
|
-
var loginSchema = exports.loginSchema = yup.object({
|
|
16
|
-
username: usernameSchema,
|
|
17
|
-
password: passwordSchema
|
|
18
|
-
});
|
|
19
|
-
var addUserSchema = exports.addUserSchema = yup.object({
|
|
20
|
-
username: usernameSchema,
|
|
21
|
-
password: passwordSchema,
|
|
22
|
-
email: yup.string().email().required()
|
|
23
|
-
});
|
|
24
|
-
var changePasswordSchema = exports.changePasswordSchema = yup.object({
|
|
25
|
-
username: usernameSchema,
|
|
26
|
-
oldPassword: passwordSchema,
|
|
27
|
-
newPassword: passwordSchema,
|
|
28
|
-
confirmPassword: yup.string().required().oneOf([yup.ref('newPassword')], 'security.error.password-mismatch')
|
|
29
|
-
});
|
|
30
18
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","names":["yup","
|
|
1
|
+
{"version":3,"file":"schemas.js","names":["yup","USERNAME_MIN_LENGTH","usernameSchema","string","required","min","matches","passwordSchema","loginSchema","object","username","password","LoginFormValues","InferType","addUserSchema","email","AddUserFormValues","changePasswordSchema","oldPassword","newPassword","confirmPassword","oneOf","ref","ChangePasswordFormValues"],"sources":["../../src/utils/schemas.ts"],"sourcesContent":["import * as yup from 'yup';\n\nexport const USERNAME_MIN_LENGTH = 2;\n\n// Matches your current logic\nexport const usernameSchema = yup\n .string()\n .required()\n .min(USERNAME_MIN_LENGTH)\n .matches(/^[-a-zA-Z0-9_.!~*'()@]+$/, 'security.error.username-must-be-url-safe');\n\nexport const passwordSchema = yup.string().required().min(2);\n\nexport const loginSchema = yup.object({\n username: usernameSchema,\n password: passwordSchema,\n});\n\nexport type LoginFormValues = yup.InferType<typeof loginSchema>;\n\nexport const addUserSchema = yup.object({\n username: usernameSchema,\n password: passwordSchema,\n email: yup.string().email().required(),\n});\n\nexport type AddUserFormValues = yup.InferType<typeof addUserSchema>;\n\nexport const changePasswordSchema = yup.object({\n username: usernameSchema,\n oldPassword: passwordSchema,\n newPassword: passwordSchema,\n confirmPassword: yup\n .string()\n .required()\n .oneOf([yup.ref('newPassword')], 'security.error.password-mismatch'),\n});\n\nexport type ChangePasswordFormValues = yup.InferType<typeof changePasswordSchema>;\n"],"mappings":";AAKA,IAAaE,IAAiBF,EAC3BG,QAAQ,CACRC,UAAU,CACVC,IAAAA,EAAwB,CACxBC,QAAQ,4BAA4B,2CAA2C,EAErEC,IAAiBP,EAAIG,QAAQ,CAACC,UAAU,CAACC,IAAI,EAAE,EAE/CG,IAAcR,EAAIS,OAAO;CACpCC,UAAUR;CACVS,UAAUJ;CACX,CAAC,EAIWO,IAAgBd,EAAIS,OAAO;CACtCC,UAAUR;CACVS,UAAUJ;CACVQ,OAAOf,EAAIG,QAAQ,CAACY,OAAO,CAACX,UAAS;CACtC,CAAC,EAIWa,IAAuBjB,EAAIS,OAAO;CAC7CC,UAAUR;CACVgB,aAAaX;CACbY,aAAaZ;CACba,iBAAiBpB,EACdG,QAAQ,CACRC,UAAU,CACViB,MAAM,CAACrB,EAAIsB,IAAI,cAAc,CAAC,EAAE,mCAAkC;CACtE,CAAC"}
|
package/build/utils/token.js
CHANGED
|
@@ -1,42 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!(0, _isString["default"])(token)) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
var _token$split = token.split('.'),
|
|
22
|
-
_token$split2 = _slicedToArray(_token$split, 2),
|
|
23
|
-
payload = _token$split2[1];
|
|
24
|
-
if (!payload) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
var exp;
|
|
28
|
-
try {
|
|
29
|
-
exp = JSON.parse(_jsBase.Base64.decode(payload)).exp;
|
|
30
|
-
} catch (error) {
|
|
31
|
-
console.error('Invalid token:', error, token);
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
if (!exp || !(0, _isNumber["default"])(exp)) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
// Report as expire before (real expire time - 30s)
|
|
38
|
-
var jsTimestamp = exp * 1000 - 30000;
|
|
39
|
-
var expired = Date.now() >= jsTimestamp;
|
|
40
|
-
return expired;
|
|
1
|
+
import e from "lodash/isString";
|
|
2
|
+
import { Base64 as t } from "js-base64";
|
|
3
|
+
import n from "lodash/isNumber";
|
|
4
|
+
//#region src/utils/token.ts
|
|
5
|
+
function r(r) {
|
|
6
|
+
if (!e(r)) return !0;
|
|
7
|
+
let [, i] = r.split(".");
|
|
8
|
+
if (!i) return !0;
|
|
9
|
+
let a;
|
|
10
|
+
try {
|
|
11
|
+
a = JSON.parse(t.decode(i)).exp;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
return console.error("Invalid token:", e, r), !0;
|
|
14
|
+
}
|
|
15
|
+
if (!a || !n(a)) return !0;
|
|
16
|
+
let o = a * 1e3 - 3e4;
|
|
17
|
+
return Date.now() >= o;
|
|
41
18
|
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { r as isTokenExpire };
|
|
21
|
+
|
|
42
22
|
//# sourceMappingURL=token.js.map
|
package/build/utils/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","names":["
|
|
1
|
+
{"version":3,"file":"token.js","names":["Base64","isNumber","isString","isTokenExpire","token","payload","split","exp","JSON","parse","decode","error","console","jsTimestamp","expired","Date","now"],"sources":["../../src/utils/token.ts"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport isNumber from 'lodash/isNumber';\nimport isString from 'lodash/isString';\n\nexport function isTokenExpire(token: string | null): boolean {\n if (!isString(token)) {\n return true;\n }\n\n const [, payload] = token.split('.');\n\n if (!payload) {\n return true;\n }\n\n let exp: number;\n try {\n exp = JSON.parse(Base64.decode(payload)).exp;\n } catch (error: unknown) {\n console.error('Invalid token:', error, token);\n return true;\n }\n\n if (!exp || !isNumber(exp)) {\n return true;\n }\n // Report as expire before (real expire time - 30s)\n const jsTimestamp = exp * 1000 - 30000;\n const expired = Date.now() >= jsTimestamp;\n\n return expired;\n}\n"],"mappings":";;;;AAIA,SAAgBG,EAAcC,GAA+B;AAC3D,KAAI,CAACF,EAASE,EAAM,CAClB,QAAO;CAGT,IAAM,GAAGC,KAAWD,EAAME,MAAM,IAAI;AAEpC,KAAI,CAACD,EACH,QAAO;CAGT,IAAIE;AACJ,KAAI;AACFA,MAAMC,KAAKC,MAAMT,EAAOU,OAAOL,EAAQ,CAAC,CAACE;UAClCI,GAAgB;AAEvB,SADAC,QAAQD,MAAM,kBAAkBA,GAAOP,EAAM,EACtC;;AAGT,KAAI,CAACG,KAAO,CAACN,EAASM,EAAI,CACxB,QAAO;CAGT,IAAMM,IAAcN,IAAM,MAAO;AAGjC,QAFgBQ,KAAKC,KAAK,IAAIH"}
|
package/build/utils/url.js
CHANGED
|
@@ -1,80 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { __exportAll as e } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import t from "validator/lib/isEmail";
|
|
3
|
+
import n from "validator/lib/isURL";
|
|
4
|
+
//#region src/utils/url.ts
|
|
5
|
+
var r = /* @__PURE__ */ e({
|
|
6
|
+
downloadFile: () => c,
|
|
7
|
+
extractFileName: () => o,
|
|
8
|
+
isEmail: () => a,
|
|
9
|
+
isURL: () => i
|
|
5
10
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
require_tld: false
|
|
18
|
-
});
|
|
11
|
+
function i(e) {
|
|
12
|
+
return n(e || "", {
|
|
13
|
+
protocols: [
|
|
14
|
+
"http",
|
|
15
|
+
"https",
|
|
16
|
+
"git+https",
|
|
17
|
+
"git"
|
|
18
|
+
],
|
|
19
|
+
require_protocol: !0,
|
|
20
|
+
require_tld: !1
|
|
21
|
+
});
|
|
19
22
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
23
|
+
function a(e) {
|
|
24
|
+
return t(e || "");
|
|
22
25
|
}
|
|
23
|
-
function
|
|
24
|
-
|
|
26
|
+
function o(e) {
|
|
27
|
+
return e.substring(e.lastIndexOf("/") + 1);
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
lastModified: Date.now(),
|
|
33
|
-
name: fileName
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// Use Object.assign to copy properties while maintaining the Blob prototype
|
|
37
|
-
return Object.assign(blob, fileProperties);
|
|
29
|
+
function s(e, t) {
|
|
30
|
+
let n = {
|
|
31
|
+
lastModified: Date.now(),
|
|
32
|
+
name: t
|
|
33
|
+
};
|
|
34
|
+
return Object.assign(e, n);
|
|
38
35
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
type: 'application/octet-stream',
|
|
52
|
-
lastModified: Date.now()
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
var objectURL = URL.createObjectURL(file);
|
|
56
|
-
var fileLink = document.createElement('a');
|
|
57
|
-
fileLink.href = objectURL;
|
|
58
|
-
fileLink.download = fileName;
|
|
59
|
-
|
|
60
|
-
// Skip actual download in test environment to avoid JSDOM navigation error
|
|
61
|
-
// Check if we're in a test environment (JSDOM)
|
|
62
|
-
var isTestEnvironment = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.includes('Node.js') || window.navigator.userAgent.includes('jsdom');
|
|
63
|
-
if (!isTestEnvironment) {
|
|
64
|
-
// Without appending to an HTML Element, download dialog does not show up on Firefox
|
|
65
|
-
// https://github.com/verdaccio/ui/issues/119
|
|
66
|
-
document.documentElement.appendChild(fileLink);
|
|
67
|
-
fileLink.click();
|
|
68
|
-
// firefox requires remove the object url
|
|
69
|
-
setTimeout(function () {
|
|
70
|
-
URL.revokeObjectURL(objectURL);
|
|
71
|
-
document.documentElement.removeChild(fileLink);
|
|
72
|
-
}, 150);
|
|
73
|
-
} else {
|
|
74
|
-
// In test environment, just clean up without triggering navigation
|
|
75
|
-
setTimeout(function () {
|
|
76
|
-
URL.revokeObjectURL(objectURL);
|
|
77
|
-
}, 150);
|
|
78
|
-
}
|
|
36
|
+
function c(e, t) {
|
|
37
|
+
let n;
|
|
38
|
+
n = navigator.msSaveBlob ? s(new Blob([e], { type: "application/octet-stream" }), t) : new File([e], t, {
|
|
39
|
+
type: "application/octet-stream",
|
|
40
|
+
lastModified: Date.now()
|
|
41
|
+
});
|
|
42
|
+
let r = URL.createObjectURL(n), i = document.createElement("a");
|
|
43
|
+
i.href = r, i.download = t, typeof window < "u" && window.navigator && window.navigator.userAgent && window.navigator.userAgent.includes("Node.js") || window.navigator.userAgent.includes("jsdom") ? setTimeout(() => {
|
|
44
|
+
URL.revokeObjectURL(r);
|
|
45
|
+
}, 150) : (document.documentElement.appendChild(i), i.click(), setTimeout(() => {
|
|
46
|
+
URL.revokeObjectURL(r), document.documentElement.removeChild(i);
|
|
47
|
+
}, 150));
|
|
79
48
|
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { c as downloadFile, o as extractFileName, a as isEmail, i as isURL, r as url_exports };
|
|
51
|
+
|
|
80
52
|
//# sourceMappingURL=url.js.map
|
package/build/utils/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","names":["
|
|
1
|
+
{"version":3,"file":"url.js","names":["isEmailValidator","isURLValidator","isURL","url","protocols","require_protocol","require_tld","isEmail","email","extractFileName","substring","lastIndexOf","NavigatorWithMSSaveBlob","Navigator","msSaveBlob","blob","Blob","fileName","blobToFile","File","fileProperties","lastModified","Date","now","name","Object","assign","downloadFile","fileStream","file","nav","navigator","type","objectURL","URL","createObjectURL","fileLink","document","createElement","href","download","isTestEnvironment","window","userAgent","includes","documentElement","appendChild","click","setTimeout","revokeObjectURL","removeChild"],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\n// Legacy Edge support for file downloads\ninterface NavigatorWithMSSaveBlob extends Navigator {\n msSaveBlob?: (blob: Blob, fileName: string) => boolean;\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // Create a proper File object by extending the Blob with File properties\n const fileProperties = {\n lastModified: Date.now(),\n name: fileName,\n };\n\n // Use Object.assign to copy properties while maintaining the Blob prototype\n return Object.assign(blob, fileProperties) as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n const nav = navigator as NavigatorWithMSSaveBlob;\n if (nav.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":";;;;;;;;;;AAGA,SAAgBE,EAAMC,GAAsB;AAC1C,QAAOF,EAAeE,KAAO,IAAI;EAC/BC,WAAW;GAAC;GAAQ;GAAS;GAAa;GAAM;EAChDC,kBAAkB;EAClBC,aAAa;EACd,CAAC;;AAGJ,SAAgBC,EAAQC,GAAwB;AAC9C,QAAOR,EAAiBQ,KAAS,GAAG;;AAGtC,SAAgBC,EAAgBN,GAAqB;AACnD,QAAOA,EAAIO,UAAUP,EAAIQ,YAAY,IAAI,GAAG,EAAE;;AAQhD,SAASO,EAAWH,GAAYE,GAAwB;CAEtD,IAAMG,IAAiB;EACrBC,cAAcC,KAAKC,KAAK;EACxBC,MAAMP;EACP;AAGD,QAAOQ,OAAOC,OAAOX,GAAMK,EAAe;;AAG5C,SAAgBO,EAAaC,GAAkBX,GAAwB;CACrE,IAAIY;AAIJ,CAIEA,IALUE,UACJjB,aAECI,EAAW,IAAIF,KAAK,CAACY,EAAW,EAAE,EAAEI,MAAM,4BAA4B,CAAC,EAAEf,EAAS,GAElF,IAAIE,KAAK,CAACS,EAAW,EAAEX,GAAU;EACtCe,MAAM;EACNX,cAAcC,KAAKC,KAAI;EACxB,CAAC;CAGJ,IAAMU,IAAYC,IAAIC,gBAAgBN,EAAK,EACrCO,IAAWC,SAASC,cAAc,IAAI;AAa5C,CAZAF,EAASG,OAAON,GAChBG,EAASI,WAAWvB,GAKjB,OAAOyB,SAAW,OACjBA,OAAOX,aACPW,OAAOX,UAAUY,aACjBD,OAAOX,UAAUY,UAAUC,SAAS,UAAU,IAChDF,OAAOX,UAAUY,UAAUC,SAAS,QAAQ,GAc5CI,iBAAiB;AACfd,MAAIe,gBAAgBhB,EAAU;IAC7B,IAAI,IAXPI,SAASQ,gBAAgBC,YAAYV,EAAS,EAC9CA,EAASW,OAAO,EAEhBC,iBAAiB;AAEfX,EADAH,IAAIe,gBAAgBhB,EAAU,EAC9BI,SAASQ,gBAAgBK,YAAYd,EAAS;IAC7C,IAAI"}
|