@verdaccio/ui-components 5.0.0-next-9.2 → 5.0.0-next-9.3
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 +29 -25
- package/build/Theme/ResetStyles.js.map +1 -1
- package/build/Theme/ResetStyles.mjs +32 -0
- package/build/Theme/ResetStyles.mjs.map +1 -0
- package/build/Theme/StyleBaseline.js +10 -7
- package/build/Theme/StyleBaseline.js.map +1 -1
- package/build/Theme/StyleBaseline.mjs +11 -0
- package/build/Theme/StyleBaseline.mjs.map +1 -0
- package/build/Theme/ThemeProvider.js +33 -23
- package/build/Theme/ThemeProvider.js.map +1 -1
- package/build/Theme/ThemeProvider.mjs +40 -0
- package/build/Theme/ThemeProvider.mjs.map +1 -0
- package/build/Theme/colors.js +26 -12
- package/build/Theme/colors.js.map +1 -1
- package/build/Theme/colors.mjs +22 -0
- package/build/Theme/colors.mjs.map +1 -0
- package/build/Theme/index.js +5 -5
- package/build/Theme/index.mjs +5 -0
- package/build/Theme/modes.js +15 -12
- package/build/Theme/modes.js.map +1 -1
- package/build/Theme/modes.mjs +30 -0
- package/build/Theme/modes.mjs.map +1 -0
- package/build/Theme/theme.js +19 -16
- package/build/Theme/theme.js.map +1 -1
- package/build/Theme/theme.mjs +22 -0
- package/build/Theme/theme.mjs.map +1 -0
- package/build/Theme/tokens.js +14 -8
- package/build/Theme/tokens.js.map +1 -1
- package/build/Theme/tokens.mjs +33 -0
- package/build/Theme/tokens.mjs.map +1 -0
- package/build/_virtual/_rolldown/runtime.js +29 -7
- package/build/_virtual/_rolldown/runtime.mjs +13 -0
- package/build/api/use-data-mutation.js +31 -24
- package/build/api/use-data-mutation.js.map +1 -1
- package/build/api/use-data-mutation.mjs +45 -0
- package/build/api/use-data-mutation.mjs.map +1 -0
- package/build/api/use-data.js +17 -12
- package/build/api/use-data.js.map +1 -1
- package/build/api/use-data.mjs +23 -0
- package/build/api/use-data.mjs.map +1 -0
- package/build/components/ActionBar/ActionBar.js +37 -28
- package/build/components/ActionBar/ActionBar.js.map +1 -1
- package/build/components/ActionBar/ActionBar.mjs +52 -0
- package/build/components/ActionBar/ActionBar.mjs.map +1 -0
- package/build/components/ActionBar/ActionBarAction.js +66 -52
- package/build/components/ActionBar/ActionBarAction.js.map +1 -1
- package/build/components/ActionBar/ActionBarAction.mjs +85 -0
- package/build/components/ActionBar/ActionBarAction.mjs.map +1 -0
- package/build/components/ActionBar/index.js +1 -1
- package/build/components/ActionBar/index.mjs +1 -0
- package/build/components/AppRoute/AppRoute.js +58 -47
- package/build/components/AppRoute/AppRoute.js.map +1 -1
- package/build/components/AppRoute/AppRoute.mjs +76 -0
- package/build/components/AppRoute/AppRoute.mjs.map +1 -0
- package/build/components/Author/Author.js +26 -22
- package/build/components/Author/Author.js.map +1 -1
- package/build/components/Author/Author.mjs +33 -0
- package/build/components/Author/Author.mjs.map +1 -0
- package/build/components/Author/index.js +1 -1
- package/build/components/Author/index.mjs +1 -0
- package/build/components/Author/styles.js +13 -8
- package/build/components/Author/styles.js.map +1 -1
- package/build/components/Author/styles.mjs +26 -0
- package/build/components/Author/styles.mjs.map +1 -0
- package/build/components/CopyClipboard/CopyToClipBoard.js +35 -28
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.mjs +57 -0
- package/build/components/CopyClipboard/CopyToClipBoard.mjs.map +1 -0
- package/build/components/CopyClipboard/index.js +2 -2
- package/build/components/CopyClipboard/index.mjs +2 -0
- package/build/components/CopyClipboard/utils.js +4 -3
- package/build/components/CopyClipboard/utils.js.map +1 -1
- package/build/components/CopyClipboard/utils.mjs +9 -0
- package/build/components/CopyClipboard/utils.mjs.map +1 -0
- package/build/components/Dependencies/Dependencies.js +38 -26
- package/build/components/Dependencies/Dependencies.js.map +1 -1
- package/build/components/Dependencies/Dependencies.mjs +45 -0
- package/build/components/Dependencies/Dependencies.mjs.map +1 -0
- package/build/components/Dependencies/DependencyBlock.js +50 -38
- package/build/components/Dependencies/DependencyBlock.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.mjs +70 -0
- package/build/components/Dependencies/DependencyBlock.mjs.map +1 -0
- package/build/components/Dependencies/index.js +2 -2
- package/build/components/Dependencies/index.mjs +2 -0
- package/build/components/Dependencies/utits.js +3 -3
- package/build/components/Dependencies/utits.js.map +1 -1
- package/build/components/Dependencies/utits.mjs +8 -0
- package/build/components/Dependencies/utits.mjs.map +1 -0
- package/build/components/Deprecated/Deprecated.js +17 -12
- package/build/components/Deprecated/Deprecated.js.map +1 -1
- package/build/components/Deprecated/Deprecated.mjs +18 -0
- package/build/components/Deprecated/Deprecated.mjs.map +1 -0
- package/build/components/Deprecated/index.js +1 -1
- package/build/components/Deprecated/index.mjs +1 -0
- package/build/components/Developers/DeveloperType.js +5 -3
- package/build/components/Developers/DeveloperType.js.map +1 -1
- package/build/components/Developers/DeveloperType.mjs +10 -0
- package/build/components/Developers/DeveloperType.mjs.map +1 -0
- package/build/components/Developers/Developers.js +50 -37
- package/build/components/Developers/Developers.js.map +1 -1
- package/build/components/Developers/Developers.mjs +68 -0
- package/build/components/Developers/Developers.mjs.map +1 -0
- package/build/components/Developers/Title.js +23 -18
- package/build/components/Developers/Title.js.map +1 -1
- package/build/components/Developers/Title.mjs +32 -0
- package/build/components/Developers/Title.mjs.map +1 -0
- package/build/components/Developers/get-unique-developer-values.js +4 -3
- package/build/components/Developers/get-unique-developer-values.js.map +1 -1
- package/build/components/Developers/get-unique-developer-values.mjs +9 -0
- package/build/components/Developers/get-unique-developer-values.mjs.map +1 -0
- package/build/components/Developers/index.js +2 -2
- package/build/components/Developers/index.mjs +2 -0
- package/build/components/Distribution/Dist.js +32 -27
- package/build/components/Distribution/Dist.js.map +1 -1
- package/build/components/Distribution/Dist.mjs +42 -0
- package/build/components/Distribution/Dist.mjs.map +1 -0
- package/build/components/Distribution/index.js +1 -1
- package/build/components/Distribution/index.mjs +1 -0
- package/build/components/Distribution/styles.js +22 -13
- package/build/components/Distribution/styles.js.map +1 -1
- package/build/components/Distribution/styles.mjs +41 -0
- package/build/components/Distribution/styles.mjs.map +1 -0
- package/build/components/Engines/Engines.js +61 -43
- package/build/components/Engines/Engines.js.map +1 -1
- package/build/components/Engines/Engines.mjs +82 -0
- package/build/components/Engines/Engines.mjs.map +1 -0
- package/build/components/Engines/index.js +1 -1
- package/build/components/Engines/index.mjs +1 -0
- package/build/components/Engines/styles.js +16 -10
- package/build/components/Engines/styles.js.map +1 -1
- package/build/components/Engines/styles.mjs +29 -0
- package/build/components/Engines/styles.mjs.map +1 -0
- package/build/components/ErrorBoundary/ErrorBoundary.js +18 -14
- package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.mjs +31 -0
- package/build/components/ErrorBoundary/ErrorBoundary.mjs.map +1 -0
- package/build/components/ErrorBoundary/index.js +1 -1
- package/build/components/ErrorBoundary/index.mjs +1 -0
- package/build/components/Forbidden/Forbidden.js +37 -27
- package/build/components/Forbidden/Forbidden.js.map +1 -1
- package/build/components/Forbidden/Forbidden.mjs +70 -0
- package/build/components/Forbidden/Forbidden.mjs.map +1 -0
- package/build/components/Forbidden/index.js +1 -1
- package/build/components/Forbidden/index.mjs +1 -0
- package/build/components/FundButton/FundButton.js +38 -29
- package/build/components/FundButton/FundButton.js.map +1 -1
- package/build/components/FundButton/FundButton.mjs +60 -0
- package/build/components/FundButton/FundButton.mjs.map +1 -0
- package/build/components/FundButton/index.js +1 -1
- package/build/components/FundButton/index.mjs +1 -0
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js +52 -42
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -1
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.mjs +71 -0
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.mjs.map +1 -0
- package/build/components/HeaderInfoDialog/index.js +1 -1
- package/build/components/HeaderInfoDialog/index.mjs +1 -0
- package/build/components/Heading/Heading.js +12 -9
- package/build/components/Heading/Heading.js.map +1 -1
- package/build/components/Heading/Heading.mjs +15 -0
- package/build/components/Heading/Heading.mjs.map +1 -0
- package/build/components/Heading/index.js +1 -1
- package/build/components/Heading/index.mjs +1 -0
- package/build/components/Help/Help.js +42 -34
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/Help.mjs +60 -0
- package/build/components/Help/Help.mjs.map +1 -0
- package/build/components/Help/index.js +1 -1
- package/build/components/Help/index.mjs +1 -0
- package/build/components/Help/styles.js +9 -6
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Help/styles.mjs +21 -0
- package/build/components/Help/styles.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/CommonJS2.js +9 -7
- package/build/components/Icons/DevsIcons/CommonJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.mjs +16 -0
- package/build/components/Icons/DevsIcons/CommonJS2.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/ES6Module2.js +9 -7
- package/build/components/Icons/DevsIcons/ES6Module2.js.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.mjs +16 -0
- package/build/components/Icons/DevsIcons/ES6Module2.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/Git2.js +9 -7
- package/build/components/Icons/DevsIcons/Git2.js.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.mjs +16 -0
- package/build/components/Icons/DevsIcons/Git2.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/NodeJS2.js +9 -7
- package/build/components/Icons/DevsIcons/NodeJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.mjs +16 -0
- package/build/components/Icons/DevsIcons/NodeJS2.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/TypeScript2.js +9 -7
- package/build/components/Icons/DevsIcons/TypeScript2.js.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.mjs +16 -0
- package/build/components/Icons/DevsIcons/TypeScript2.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/commonjs.js +2 -2
- package/build/components/Icons/DevsIcons/commonjs.js.map +1 -1
- package/build/components/Icons/DevsIcons/commonjs.mjs +6 -0
- package/build/components/Icons/DevsIcons/commonjs.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/es6module.js +2 -2
- package/build/components/Icons/DevsIcons/es6module.js.map +1 -1
- package/build/components/Icons/DevsIcons/es6module.mjs +6 -0
- package/build/components/Icons/DevsIcons/es6module.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/git.js +2 -2
- package/build/components/Icons/DevsIcons/git.js.map +1 -1
- package/build/components/Icons/DevsIcons/git.mjs +6 -0
- package/build/components/Icons/DevsIcons/git.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/index.js +5 -5
- package/build/components/Icons/DevsIcons/index.mjs +5 -0
- package/build/components/Icons/DevsIcons/nodejs.js +2 -2
- package/build/components/Icons/DevsIcons/nodejs.js.map +1 -1
- package/build/components/Icons/DevsIcons/nodejs.mjs +6 -0
- package/build/components/Icons/DevsIcons/nodejs.mjs.map +1 -0
- package/build/components/Icons/DevsIcons/typescript.js +2 -2
- package/build/components/Icons/DevsIcons/typescript.js.map +1 -1
- package/build/components/Icons/DevsIcons/typescript.mjs +6 -0
- package/build/components/Icons/DevsIcons/typescript.mjs.map +1 -0
- package/build/components/Icons/Earth.js +19 -17
- package/build/components/Icons/Earth.js.map +1 -1
- package/build/components/Icons/Earth.mjs +41 -0
- package/build/components/Icons/Earth.mjs.map +1 -0
- package/build/components/Icons/FileBinary.js +12 -10
- package/build/components/Icons/FileBinary.js.map +1 -1
- package/build/components/Icons/FileBinary.mjs +17 -0
- package/build/components/Icons/FileBinary.mjs.map +1 -0
- package/build/components/Icons/Law.js +12 -10
- package/build/components/Icons/Law.js.map +1 -1
- package/build/components/Icons/Law.mjs +20 -0
- package/build/components/Icons/Law.mjs.map +1 -0
- package/build/components/Icons/License.js +12 -10
- package/build/components/Icons/License.js.map +1 -1
- package/build/components/Icons/License.mjs +17 -0
- package/build/components/Icons/License.mjs.map +1 -0
- package/build/components/Icons/Managers/Npm2.js +9 -7
- package/build/components/Icons/Managers/Npm2.js.map +1 -1
- package/build/components/Icons/Managers/Npm2.mjs +16 -0
- package/build/components/Icons/Managers/Npm2.mjs.map +1 -0
- package/build/components/Icons/Managers/Pnpm2.js +9 -7
- package/build/components/Icons/Managers/Pnpm2.js.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.mjs +16 -0
- package/build/components/Icons/Managers/Pnpm2.mjs.map +1 -0
- package/build/components/Icons/Managers/Yarn2.js +9 -7
- package/build/components/Icons/Managers/Yarn2.js.map +1 -1
- package/build/components/Icons/Managers/Yarn2.mjs +16 -0
- package/build/components/Icons/Managers/Yarn2.mjs.map +1 -0
- package/build/components/Icons/Managers/index.js +3 -3
- package/build/components/Icons/Managers/index.mjs +3 -0
- package/build/components/Icons/Managers/npm.js +2 -2
- package/build/components/Icons/Managers/npm.js.map +1 -1
- package/build/components/Icons/Managers/npm.mjs +6 -0
- package/build/components/Icons/Managers/npm.mjs.map +1 -0
- package/build/components/Icons/Managers/pnpm.js +2 -2
- package/build/components/Icons/Managers/pnpm.js.map +1 -1
- package/build/components/Icons/Managers/pnpm.mjs +6 -0
- package/build/components/Icons/Managers/pnpm.mjs.map +1 -0
- package/build/components/Icons/Managers/yarn.js +2 -2
- package/build/components/Icons/Managers/yarn.js.map +1 -1
- package/build/components/Icons/Managers/yarn.mjs +6 -0
- package/build/components/Icons/Managers/yarn.mjs.map +1 -0
- package/build/components/Icons/SvgIcon.js +28 -19
- package/build/components/Icons/SvgIcon.js.map +1 -1
- package/build/components/Icons/SvgIcon.mjs +31 -0
- package/build/components/Icons/SvgIcon.mjs.map +1 -0
- package/build/components/Icons/Time.js +14 -12
- package/build/components/Icons/Time.js.map +1 -1
- package/build/components/Icons/Time.mjs +24 -0
- package/build/components/Icons/Time.mjs.map +1 -0
- package/build/components/Icons/Version.js +12 -10
- package/build/components/Icons/Version.js.map +1 -1
- package/build/components/Icons/Version.mjs +22 -0
- package/build/components/Icons/Version.mjs.map +1 -0
- package/build/components/Icons/index.js +38 -33
- package/build/components/Icons/index.mjs +38 -0
- package/build/components/Icons/index.mjs.map +1 -0
- package/build/components/Install/Install.js +44 -36
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/Install.mjs +66 -0
- package/build/components/Install/Install.mjs.map +1 -0
- package/build/components/Install/InstallListItem.js +66 -51
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/InstallListItem.mjs +109 -0
- package/build/components/Install/InstallListItem.mjs.map +1 -0
- package/build/components/Install/index.js +1 -1
- package/build/components/Install/index.mjs +1 -0
- package/build/components/Keywords/KeywordListItems.js +17 -12
- package/build/components/Keywords/KeywordListItems.js.map +1 -1
- package/build/components/Keywords/KeywordListItems.mjs +28 -0
- package/build/components/Keywords/KeywordListItems.mjs.map +1 -0
- package/build/components/Keywords/Keywords.js +22 -16
- package/build/components/Keywords/Keywords.js.map +1 -1
- package/build/components/Keywords/Keywords.mjs +29 -0
- package/build/components/Keywords/Keywords.mjs.map +1 -0
- package/build/components/Keywords/index.js +1 -1
- package/build/components/Keywords/index.mjs +1 -0
- package/build/components/Label/Label.js +20 -14
- package/build/components/Label/Label.js.map +1 -1
- package/build/components/Label/Label.mjs +23 -0
- package/build/components/Label/Label.mjs.map +1 -0
- package/build/components/Label/index.js +1 -1
- package/build/components/Label/index.mjs +1 -0
- package/build/components/Link/Link.js +23 -18
- package/build/components/Link/Link.js.map +1 -1
- package/build/components/Link/Link.mjs +37 -0
- package/build/components/Link/Link.mjs.map +1 -0
- package/build/components/Link/index.js +1 -1
- package/build/components/Link/index.mjs +1 -0
- package/build/components/LinkExternal/LinkExternal.js +15 -12
- package/build/components/LinkExternal/LinkExternal.js.map +1 -1
- package/build/components/LinkExternal/LinkExternal.mjs +21 -0
- package/build/components/LinkExternal/LinkExternal.mjs.map +1 -0
- package/build/components/LinkExternal/index.js +1 -1
- package/build/components/LinkExternal/index.mjs +1 -0
- package/build/components/Loading/Loading.js +12 -10
- package/build/components/Loading/Loading.js.map +1 -1
- package/build/components/Loading/Loading.mjs +16 -0
- package/build/components/Loading/Loading.mjs.map +1 -0
- package/build/components/Loading/Spinner/Spinner.js +20 -14
- package/build/components/Loading/Spinner/Spinner.js.map +1 -1
- package/build/components/Loading/Spinner/Spinner.mjs +32 -0
- package/build/components/Loading/Spinner/Spinner.mjs.map +1 -0
- package/build/components/Loading/Spinner/index.js +1 -1
- package/build/components/Loading/Spinner/index.mjs +1 -0
- package/build/components/Loading/index.js +1 -1
- package/build/components/Loading/index.mjs +1 -0
- package/build/components/Loading/styles.js +12 -8
- package/build/components/Loading/styles.js.map +1 -1
- package/build/components/Loading/styles.mjs +30 -0
- package/build/components/Loading/styles.mjs.map +1 -0
- package/build/components/LoginDialog/LoginDialog.js +25 -20
- package/build/components/LoginDialog/LoginDialog.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.mjs +31 -0
- package/build/components/LoginDialog/LoginDialog.mjs.map +1 -0
- package/build/components/LoginDialog/LoginDialogCloseButton.js +25 -18
- package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.mjs +30 -0
- package/build/components/LoginDialog/LoginDialogCloseButton.mjs.map +1 -0
- package/build/components/LoginDialog/LoginDialogForm.js +15 -13
- package/build/components/LoginDialog/LoginDialogForm.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.mjs +19 -0
- package/build/components/LoginDialog/LoginDialogForm.mjs.map +1 -0
- package/build/components/LoginDialog/LoginDialogFormError.js +32 -22
- package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.mjs +36 -0
- package/build/components/LoginDialog/LoginDialogFormError.mjs.map +1 -0
- package/build/components/LoginDialog/index.js +1 -1
- package/build/components/LoginDialog/index.mjs +1 -0
- package/build/components/LoginForm/Login.js +45 -36
- package/build/components/LoginForm/Login.js.map +1 -1
- package/build/components/LoginForm/Login.mjs +69 -0
- package/build/components/LoginForm/Login.mjs.map +1 -0
- package/build/components/LoginForm/PasswordField.js +24 -19
- package/build/components/LoginForm/PasswordField.js.map +1 -1
- package/build/components/LoginForm/PasswordField.mjs +34 -0
- package/build/components/LoginForm/PasswordField.mjs.map +1 -0
- package/build/components/LoginForm/UsernameField.js +24 -19
- package/build/components/LoginForm/UsernameField.js.map +1 -1
- package/build/components/LoginForm/UsernameField.mjs +32 -0
- package/build/components/LoginForm/UsernameField.mjs.map +1 -0
- package/build/components/LoginForm/styles.js +42 -32
- package/build/components/LoginForm/styles.js.map +1 -1
- package/build/components/LoginForm/styles.mjs +52 -0
- package/build/components/LoginForm/styles.mjs.map +1 -0
- package/build/components/LoginForm/useLoginForm.js +23 -18
- package/build/components/LoginForm/useLoginForm.js.map +1 -1
- package/build/components/LoginForm/useLoginForm.mjs +38 -0
- package/build/components/LoginForm/useLoginForm.mjs.map +1 -0
- package/build/components/Logo/Logo.js +44 -36
- package/build/components/Logo/Logo.js.map +1 -1
- package/build/components/Logo/Logo.mjs +74 -0
- package/build/components/Logo/Logo.mjs.map +1 -0
- package/build/components/Logo/img/logo-black-and-white.js +2 -2
- package/build/components/Logo/img/logo-black-and-white.js.map +1 -1
- package/build/components/Logo/img/logo-black-and-white.mjs +6 -0
- package/build/components/Logo/img/logo-black-and-white.mjs.map +1 -0
- package/build/components/Logo/img/logo.js +2 -2
- package/build/components/Logo/img/logo.js.map +1 -1
- package/build/components/Logo/img/logo.mjs +6 -0
- package/build/components/Logo/img/logo.mjs.map +1 -0
- package/build/components/Logo/index.js +1 -1
- package/build/components/Logo/index.mjs +1 -0
- package/build/components/MenuItem/MenuItem.js +18 -13
- package/build/components/MenuItem/MenuItem.js.map +1 -1
- package/build/components/MenuItem/MenuItem.mjs +30 -0
- package/build/components/MenuItem/MenuItem.mjs.map +1 -0
- package/build/components/MenuItem/index.js +1 -1
- package/build/components/MenuItem/index.mjs +1 -0
- package/build/components/NoItems/NoItems.js +13 -9
- package/build/components/NoItems/NoItems.js.map +1 -1
- package/build/components/NoItems/NoItems.mjs +16 -0
- package/build/components/NoItems/NoItems.mjs.map +1 -0
- package/build/components/NoItems/index.js +1 -1
- package/build/components/NoItems/index.mjs +1 -0
- package/build/components/NotFound/NotFound.js +37 -27
- package/build/components/NotFound/NotFound.js.map +1 -1
- package/build/components/NotFound/NotFound.mjs +70 -0
- package/build/components/NotFound/NotFound.mjs.map +1 -0
- package/build/components/NotFound/index.js +1 -1
- package/build/components/NotFound/index.mjs +1 -0
- package/build/components/Package/Package.js +146 -112
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/Package.mjs +188 -0
- package/build/components/Package/Package.mjs.map +1 -0
- package/build/components/Package/index.js +1 -1
- package/build/components/Package/index.mjs +1 -0
- package/build/components/Package/styles.js +70 -41
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/Package/styles.mjs +142 -0
- package/build/components/Package/styles.mjs.map +1 -0
- package/build/components/PackageList/PackageList.js +64 -55
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/PackageList.mjs +71 -0
- package/build/components/PackageList/PackageList.mjs.map +1 -0
- package/build/components/PackageList/index.js +1 -1
- package/build/components/PackageList/index.mjs +1 -0
- package/build/components/Person/Person.js +28 -23
- package/build/components/Person/Person.js.map +1 -1
- package/build/components/Person/Person.mjs +39 -0
- package/build/components/Person/Person.mjs.map +1 -0
- package/build/components/Person/PersonTooltip.js +20 -17
- package/build/components/Person/PersonTooltip.js.map +1 -1
- package/build/components/Person/PersonTooltip.mjs +26 -0
- package/build/components/Person/PersonTooltip.mjs.map +1 -0
- package/build/components/Person/index.js +1 -1
- package/build/components/Person/index.mjs +1 -0
- package/build/components/Person/utils.js +11 -8
- package/build/components/Person/utils.js.map +1 -1
- package/build/components/Person/utils.mjs +14 -0
- package/build/components/Person/utils.mjs.map +1 -0
- package/build/components/RawViewer/RawViewer.js +40 -30
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/RawViewer.mjs +57 -0
- package/build/components/RawViewer/RawViewer.mjs.map +1 -0
- package/build/components/RawViewer/index.js +1 -1
- package/build/components/RawViewer/index.mjs +1 -0
- package/build/components/Readme/Readme.js +30 -23
- package/build/components/Readme/Readme.js.map +1 -1
- package/build/components/Readme/Readme.mjs +45 -0
- package/build/components/Readme/Readme.mjs.map +1 -0
- package/build/components/Readme/index.js +1 -1
- package/build/components/Readme/index.mjs +1 -0
- package/build/components/Readme/utils.js +21 -18
- package/build/components/Readme/utils.js.map +1 -1
- package/build/components/Readme/utils.mjs +26 -0
- package/build/components/Readme/utils.mjs.map +1 -0
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js +23 -18
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs +32 -0
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs.map +1 -0
- package/build/components/RegistryInfoDialog/index.js +1 -1
- package/build/components/RegistryInfoDialog/index.mjs +1 -0
- package/build/components/RegistryInfoDialog/styles.js +19 -13
- package/build/components/RegistryInfoDialog/styles.js.map +1 -1
- package/build/components/RegistryInfoDialog/styles.mjs +25 -0
- package/build/components/RegistryInfoDialog/styles.mjs.map +1 -0
- package/build/components/Repository/Repository.js +63 -46
- package/build/components/Repository/Repository.js.map +1 -1
- package/build/components/Repository/Repository.mjs +96 -0
- package/build/components/Repository/Repository.mjs.map +1 -0
- package/build/components/Repository/index.js +1 -1
- package/build/components/Repository/index.mjs +1 -0
- package/build/components/Search/AutoComplete/AutoComplete.js +42 -27
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/AutoComplete.mjs +47 -0
- package/build/components/Search/AutoComplete/AutoComplete.mjs.map +1 -0
- package/build/components/Search/AutoComplete/index.js +1 -1
- package/build/components/Search/AutoComplete/index.mjs +1 -0
- package/build/components/Search/AutoComplete/styles.js +7 -5
- package/build/components/Search/AutoComplete/styles.js.map +1 -1
- package/build/components/Search/AutoComplete/styles.mjs +20 -0
- package/build/components/Search/AutoComplete/styles.mjs.map +1 -0
- package/build/components/Search/Search.js +121 -78
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/Search.mjs +133 -0
- package/build/components/Search/Search.mjs.map +1 -0
- package/build/components/Search/SearchItem.js +62 -47
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/SearchItem.mjs +115 -0
- package/build/components/Search/SearchItem.mjs.map +1 -0
- package/build/components/Search/index.js +1 -1
- package/build/components/Search/index.mjs +1 -0
- package/build/components/Search/styles.js +17 -12
- package/build/components/Search/styles.js.map +1 -1
- package/build/components/Search/styles.mjs +32 -0
- package/build/components/Search/styles.mjs.map +1 -0
- package/build/components/Search/utils.js +13 -10
- package/build/components/Search/utils.js.map +1 -1
- package/build/components/Search/utils.mjs +19 -0
- package/build/components/Search/utils.mjs.map +1 -0
- package/build/components/SettingsMenu/SettingsMenu.js +84 -61
- package/build/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.mjs +111 -0
- package/build/components/SettingsMenu/SettingsMenu.mjs.map +1 -0
- package/build/components/SettingsMenu/index.js +1 -1
- package/build/components/SettingsMenu/index.mjs +1 -0
- package/build/components/SideBarTitle/SideBarTitle.js +47 -34
- package/build/components/SideBarTitle/SideBarTitle.js.map +1 -1
- package/build/components/SideBarTitle/SideBarTitle.mjs +79 -0
- package/build/components/SideBarTitle/SideBarTitle.mjs.map +1 -0
- package/build/components/SideBarTitle/index.js +1 -1
- package/build/components/SideBarTitle/index.mjs +1 -0
- package/build/components/SideBarTitle/utils.js +10 -7
- package/build/components/SideBarTitle/utils.js.map +1 -1
- package/build/components/SideBarTitle/utils.mjs +13 -0
- package/build/components/SideBarTitle/utils.mjs.map +1 -0
- package/build/components/UpLinks/UpLinks.js +46 -38
- package/build/components/UpLinks/UpLinks.js.map +1 -1
- package/build/components/UpLinks/UpLinks.mjs +60 -0
- package/build/components/UpLinks/UpLinks.mjs.map +1 -0
- package/build/components/UpLinks/UplinkLink.js +15 -13
- package/build/components/UpLinks/UplinkLink.js.map +1 -1
- package/build/components/UpLinks/UplinkLink.mjs +19 -0
- package/build/components/UpLinks/UplinkLink.mjs.map +1 -0
- package/build/components/UpLinks/index.js +2 -2
- package/build/components/UpLinks/index.mjs +2 -0
- package/build/components/UpLinks/styles.js +20 -12
- package/build/components/UpLinks/styles.js.map +1 -1
- package/build/components/UpLinks/styles.mjs +31 -0
- package/build/components/UpLinks/styles.mjs.map +1 -0
- package/build/components/Versions/HistoryList.js +51 -41
- package/build/components/Versions/HistoryList.js.map +1 -1
- package/build/components/Versions/HistoryList.mjs +67 -0
- package/build/components/Versions/HistoryList.mjs.map +1 -0
- package/build/components/Versions/TagList.js +26 -20
- package/build/components/Versions/TagList.js.map +1 -1
- package/build/components/Versions/TagList.mjs +33 -0
- package/build/components/Versions/TagList.mjs.map +1 -0
- package/build/components/Versions/Versions.js +73 -48
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/Versions.mjs +92 -0
- package/build/components/Versions/Versions.mjs.map +1 -0
- package/build/components/Versions/index.js +2 -2
- package/build/components/Versions/index.mjs +2 -0
- package/build/components/Versions/styles.js +15 -10
- package/build/components/Versions/styles.js.map +1 -1
- package/build/components/Versions/styles.mjs +26 -0
- package/build/components/Versions/styles.mjs.map +1 -0
- package/build/configuration.js +6 -6
- package/build/configuration.js.map +1 -1
- package/build/configuration.mjs +23 -0
- package/build/configuration.mjs.map +1 -0
- package/build/hooks/index.js +2 -2
- package/build/hooks/index.mjs +2 -0
- package/build/hooks/useLocalStorage.js +28 -14
- package/build/hooks/useLocalStorage.js.map +1 -1
- package/build/hooks/useLocalStorage.mjs +37 -0
- package/build/hooks/useLocalStorage.mjs.map +1 -0
- package/build/hooks/useOnClickOutside.js +20 -9
- package/build/hooks/useOnClickOutside.js.map +1 -1
- package/build/hooks/useOnClickOutside.mjs +26 -0
- package/build/hooks/useOnClickOutside.mjs.map +1 -0
- package/build/index.js +225 -118
- package/build/index.mjs +118 -0
- package/build/layouts/Security/Dialog.js +14 -8
- package/build/layouts/Security/Dialog.js.map +1 -1
- package/build/layouts/Security/Dialog.mjs +23 -0
- package/build/layouts/Security/Dialog.mjs.map +1 -0
- package/build/layouts/Version/Version.js +31 -26
- package/build/layouts/Version/Version.js.map +1 -1
- package/build/layouts/Version/Version.mjs +32 -0
- package/build/layouts/Version/Version.mjs.map +1 -0
- package/build/layouts/Version/index.js +1 -1
- package/build/layouts/Version/index.mjs +1 -0
- package/build/pages/Front/Home.js +4 -4
- package/build/pages/Front/Home.js.map +1 -1
- package/build/pages/Front/Home.mjs +8 -0
- package/build/pages/Front/Home.mjs.map +1 -0
- package/build/pages/Front/index.js +2 -2
- package/build/pages/Front/index.mjs +2 -0
- package/build/pages/Security/AddUser.js +4 -4
- package/build/pages/Security/AddUser.js.map +1 -1
- package/build/pages/Security/AddUser.mjs +8 -0
- package/build/pages/Security/AddUser.mjs.map +1 -0
- package/build/pages/Security/ChangePassword.js +4 -4
- package/build/pages/Security/ChangePassword.js.map +1 -1
- package/build/pages/Security/ChangePassword.mjs +8 -0
- package/build/pages/Security/ChangePassword.mjs.map +1 -0
- package/build/pages/Security/Login.js +4 -4
- package/build/pages/Security/Login.js.map +1 -1
- package/build/pages/Security/Login.mjs +8 -0
- package/build/pages/Security/Login.mjs.map +1 -0
- package/build/pages/Security/Success.js +4 -4
- package/build/pages/Security/Success.js.map +1 -1
- package/build/pages/Security/Success.mjs +8 -0
- package/build/pages/Security/Success.mjs.map +1 -0
- package/build/pages/Security/index.js +4 -4
- package/build/pages/Security/index.mjs +4 -0
- package/build/pages/Version/Version.js +19 -13
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/Version.mjs +22 -0
- package/build/pages/Version/Version.mjs.map +1 -0
- package/build/pages/Version/index.js +2 -2
- package/build/pages/Version/index.mjs +2 -0
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js +44 -34
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs +62 -0
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs.map +1 -0
- package/build/providers/AppConfigurationProvider/index.js +1 -1
- package/build/providers/AppConfigurationProvider/index.mjs +1 -0
- package/build/providers/AuthProvider/AuthProvider.js +41 -25
- package/build/providers/AuthProvider/AuthProvider.js.map +1 -1
- package/build/providers/AuthProvider/AuthProvider.mjs +51 -0
- package/build/providers/AuthProvider/AuthProvider.mjs.map +1 -0
- package/build/providers/AuthProvider/index.js +1 -1
- package/build/providers/AuthProvider/index.mjs +1 -0
- package/build/providers/AuthProvider/utils.js +13 -12
- package/build/providers/AuthProvider/utils.js.map +1 -1
- package/build/providers/AuthProvider/utils.mjs +22 -0
- package/build/providers/AuthProvider/utils.mjs.map +1 -0
- package/build/providers/DownloadProvider/DownloadProvider.js +27 -21
- package/build/providers/DownloadProvider/DownloadProvider.js.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.mjs +34 -0
- package/build/providers/DownloadProvider/DownloadProvider.mjs.map +1 -0
- package/build/providers/DownloadProvider/index.js +1 -1
- package/build/providers/DownloadProvider/index.mjs +1 -0
- package/build/providers/ManifestsProvider/ManifestsProvider.js +21 -15
- package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs +25 -0
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs.map +1 -0
- package/build/providers/ManifestsProvider/index.js +1 -1
- package/build/providers/ManifestsProvider/index.mjs +1 -0
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js +28 -19
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -1
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.mjs +30 -0
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.mjs.map +1 -0
- package/build/providers/PersistenceSettingProvider/index.js +1 -1
- package/build/providers/PersistenceSettingProvider/index.mjs +1 -0
- package/build/providers/SearchProvider/SearchProvider.js +47 -36
- package/build/providers/SearchProvider/SearchProvider.js.map +1 -1
- package/build/providers/SearchProvider/SearchProvider.mjs +53 -0
- package/build/providers/SearchProvider/SearchProvider.mjs.map +1 -0
- package/build/providers/SearchProvider/index.js +1 -1
- package/build/providers/SearchProvider/index.mjs +1 -0
- package/build/providers/TranslatorProvider/TranslatorProvider.js +37 -24
- package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -1
- package/build/providers/TranslatorProvider/TranslatorProvider.mjs +45 -0
- package/build/providers/TranslatorProvider/TranslatorProvider.mjs.map +1 -0
- package/build/providers/TranslatorProvider/index.js +1 -1
- package/build/providers/TranslatorProvider/index.mjs +1 -0
- package/build/providers/VersionProvider/VersionProvider.js +49 -36
- package/build/providers/VersionProvider/VersionProvider.js.map +1 -1
- package/build/providers/VersionProvider/VersionProvider.mjs +55 -0
- package/build/providers/VersionProvider/VersionProvider.mjs.map +1 -0
- package/build/providers/VersionProvider/index.js +1 -1
- package/build/providers/VersionProvider/index.mjs +1 -0
- package/build/providers/index.js +16 -16
- package/build/providers/index.mjs +16 -0
- package/build/sections/Detail/ContainerContent.js +28 -18
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/ContainerContent.mjs +34 -0
- package/build/sections/Detail/ContainerContent.mjs.map +1 -0
- package/build/sections/Detail/Detail.js +38 -26
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/Detail.mjs +50 -0
- package/build/sections/Detail/Detail.mjs.map +1 -0
- package/build/sections/Detail/ReadmeSection.js +11 -6
- package/build/sections/Detail/ReadmeSection.js.map +1 -1
- package/build/sections/Detail/ReadmeSection.mjs +13 -0
- package/build/sections/Detail/ReadmeSection.mjs.map +1 -0
- package/build/sections/Detail/Tabs.js +36 -27
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/Tabs.mjs +59 -0
- package/build/sections/Detail/Tabs.mjs.map +1 -0
- package/build/sections/Detail/index.js +1 -1
- package/build/sections/Detail/index.mjs +1 -0
- package/build/sections/Footer/Footer.js +56 -46
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/Footer.mjs +105 -0
- package/build/sections/Footer/Footer.mjs.map +1 -0
- package/build/sections/Footer/index.js +1 -1
- package/build/sections/Footer/index.mjs +1 -0
- package/build/sections/Footer/styles.js +31 -21
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Footer/styles.mjs +65 -0
- package/build/sections/Footer/styles.mjs.map +1 -0
- package/build/sections/Header/Header.js +76 -63
- package/build/sections/Header/Header.js.map +1 -1
- package/build/sections/Header/Header.mjs +101 -0
- package/build/sections/Header/Header.mjs.map +1 -0
- package/build/sections/Header/HeaderGreetings.js +13 -11
- package/build/sections/Header/HeaderGreetings.js.map +1 -1
- package/build/sections/Header/HeaderGreetings.mjs +19 -0
- package/build/sections/Header/HeaderGreetings.mjs.map +1 -0
- package/build/sections/Header/HeaderLeft.js +17 -14
- package/build/sections/Header/HeaderLeft.js.map +1 -1
- package/build/sections/Header/HeaderLeft.mjs +33 -0
- package/build/sections/Header/HeaderLeft.mjs.map +1 -0
- package/build/sections/Header/HeaderMenu.js +27 -22
- package/build/sections/Header/HeaderMenu.js.map +1 -1
- package/build/sections/Header/HeaderMenu.mjs +45 -0
- package/build/sections/Header/HeaderMenu.mjs.map +1 -0
- package/build/sections/Header/HeaderRight.js +68 -47
- package/build/sections/Header/HeaderRight.js.map +1 -1
- package/build/sections/Header/HeaderRight.mjs +95 -0
- package/build/sections/Header/HeaderRight.mjs.map +1 -0
- package/build/sections/Header/HeaderSettingsDialog.js +70 -59
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.mjs +99 -0
- package/build/sections/Header/HeaderSettingsDialog.mjs.map +1 -0
- package/build/sections/Header/HeaderToolTip.js +9 -7
- package/build/sections/Header/HeaderToolTip.js.map +1 -1
- package/build/sections/Header/HeaderToolTip.mjs +12 -0
- package/build/sections/Header/HeaderToolTip.mjs.map +1 -0
- package/build/sections/Header/HeaderToolTipIcon.js +38 -31
- package/build/sections/Header/HeaderToolTipIcon.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.mjs +58 -0
- package/build/sections/Header/HeaderToolTipIcon.mjs.map +1 -0
- package/build/sections/Header/LanguageSwitch.js +75 -51
- package/build/sections/Header/LanguageSwitch.js.map +1 -1
- package/build/sections/Header/LanguageSwitch.mjs +99 -0
- package/build/sections/Header/LanguageSwitch.mjs.map +1 -0
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js +132 -101
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs +199 -0
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -0
- package/build/sections/Header/RegistryInfoContent/index.js +1 -1
- package/build/sections/Header/RegistryInfoContent/index.mjs +1 -0
- package/build/sections/Header/RegistryInfoContent/styles.js +10 -6
- package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/styles.mjs +20 -0
- package/build/sections/Header/RegistryInfoContent/styles.mjs.map +1 -0
- package/build/sections/Header/index.js +1 -1
- package/build/sections/Header/index.mjs +1 -0
- package/build/sections/Header/styles.js +60 -37
- package/build/sections/Header/styles.js.map +1 -1
- package/build/sections/Header/styles.mjs +126 -0
- package/build/sections/Header/styles.mjs.map +1 -0
- package/build/sections/Home/Home.js +14 -11
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/Home.mjs +20 -0
- package/build/sections/Home/Home.mjs.map +1 -0
- package/build/sections/Home/index.js +1 -1
- package/build/sections/Home/index.mjs +1 -0
- package/build/sections/Security/AddUser.js +84 -68
- package/build/sections/Security/AddUser.js.map +1 -1
- package/build/sections/Security/AddUser.mjs +132 -0
- package/build/sections/Security/AddUser.mjs.map +1 -0
- package/build/sections/Security/ChangePassword.js +83 -71
- package/build/sections/Security/ChangePassword.js.map +1 -1
- package/build/sections/Security/ChangePassword.mjs +123 -0
- package/build/sections/Security/ChangePassword.mjs.map +1 -0
- package/build/sections/Security/Login.js +70 -54
- package/build/sections/Security/Login.js.map +1 -1
- package/build/sections/Security/Login.mjs +94 -0
- package/build/sections/Security/Login.mjs.map +1 -0
- package/build/sections/Security/Success.js +39 -26
- package/build/sections/Security/Success.js.map +1 -1
- package/build/sections/Security/Success.mjs +51 -0
- package/build/sections/Security/Success.mjs.map +1 -0
- package/build/sections/Security/index.js +4 -4
- package/build/sections/Security/index.mjs +4 -0
- package/build/sections/Security/styles.js +19 -14
- package/build/sections/Security/styles.js.map +1 -1
- package/build/sections/Security/styles.mjs +29 -0
- package/build/sections/Security/styles.mjs.map +1 -0
- package/build/sections/Security/utils.js +14 -11
- package/build/sections/Security/utils.js.map +1 -1
- package/build/sections/Security/utils.mjs +19 -0
- package/build/sections/Security/utils.mjs.map +1 -0
- package/build/sections/SideBar/Sidebar.js +73 -64
- package/build/sections/SideBar/Sidebar.js.map +1 -1
- package/build/sections/SideBar/Sidebar.mjs +93 -0
- package/build/sections/SideBar/Sidebar.mjs.map +1 -0
- package/build/sections/SideBar/index.js +1 -1
- package/build/sections/SideBar/index.mjs +1 -0
- package/build/sections/index.js +4 -4
- package/build/sections/index.mjs +4 -0
- package/build/store/api.js +57 -41
- package/build/store/api.js.map +1 -1
- package/build/store/api.mjs +76 -0
- package/build/store/api.mjs.map +1 -0
- package/build/store/index.js +1 -1
- package/build/store/index.mjs +1 -0
- package/build/store/routes.js +13 -3
- package/build/store/routes.js.map +1 -1
- package/build/store/routes.mjs +18 -0
- package/build/store/routes.mjs.map +1 -0
- package/build/store/storage.js +22 -13
- package/build/store/storage.js.map +1 -1
- package/build/store/storage.mjs +29 -0
- package/build/store/storage.mjs.map +1 -0
- package/build/store/utils.js +5 -4
- package/build/store/utils.js.map +1 -1
- package/build/store/utils.mjs +9 -0
- package/build/store/utils.mjs.map +1 -0
- package/build/ui-components.css +1198 -1
- package/build/utils/cli-utils.js +19 -16
- package/build/utils/cli-utils.js.map +1 -1
- package/build/utils/cli-utils.mjs +26 -0
- package/build/utils/cli-utils.mjs.map +1 -0
- package/build/utils/index.js +6 -6
- package/build/utils/index.mjs +6 -0
- package/build/utils/loadable.js +18 -7
- package/build/utils/loadable.js.map +1 -1
- package/build/utils/loadable.mjs +23 -0
- package/build/utils/loadable.mjs.map +1 -0
- package/build/utils/routes.js +26 -5
- package/build/utils/routes.js.map +1 -1
- package/build/utils/routes.mjs +30 -0
- package/build/utils/routes.mjs.map +1 -0
- package/build/utils/schemas.js +22 -14
- package/build/utils/schemas.js.map +1 -1
- package/build/utils/schemas.mjs +22 -0
- package/build/utils/schemas.mjs.map +1 -0
- package/build/utils/token.js +19 -15
- package/build/utils/token.js.map +1 -1
- package/build/utils/token.mjs +23 -0
- package/build/utils/token.mjs.map +1 -0
- package/build/utils/url.js +50 -30
- package/build/utils/url.js.map +1 -1
- package/build/utils/url.mjs +61 -0
- package/build/utils/url.mjs.map +1 -0
- package/build/utils/utils.js +93 -49
- package/build/utils/utils.js.map +1 -1
- package/build/utils/utils.mjs +93 -0
- package/build/utils/utils.mjs.map +1 -0
- package/package.json +15 -7
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Route as Route$1 } from "../../utils/routes.mjs";
|
|
2
|
+
import "../../utils/index.mjs";
|
|
3
|
+
import { saveAuth } from "../../store/storage.mjs";
|
|
4
|
+
import { getConfiguration } from "../../configuration.mjs";
|
|
5
|
+
import { stripTrailingSlash } from "../../store/utils.mjs";
|
|
6
|
+
import { useDataMutation } from "../../api/use-data-mutation.mjs";
|
|
7
|
+
import { normalizeAuthError } from "../../providers/AuthProvider/utils.mjs";
|
|
8
|
+
import NotFound from "../../components/NotFound/NotFound.mjs";
|
|
9
|
+
import "../../components/NotFound/index.mjs";
|
|
10
|
+
import LoginFormHeader from "../../components/LoginForm/styles.mjs";
|
|
11
|
+
import LoginForm from "../../components/LoginForm/Login.mjs";
|
|
12
|
+
import { loginSchema } from "../../utils/schemas.mjs";
|
|
13
|
+
import SecurityLayout from "../../layouts/Security/Dialog.mjs";
|
|
14
|
+
import { SecurityContainer, SecurityForm } from "./styles.mjs";
|
|
15
|
+
import { MessageType } from "./Success.mjs";
|
|
16
|
+
import { getSecurityUrlParams } from "./utils.mjs";
|
|
17
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
|
+
import { useCallback, useEffect } from "react";
|
|
19
|
+
import { useTranslation } from "react-i18next";
|
|
20
|
+
import { useLocation, useNavigate } from "react-router";
|
|
21
|
+
import { Link as Link$1, Typography } from "@mui/material";
|
|
22
|
+
import { yupResolver } from "@hookform/resolvers/yup";
|
|
23
|
+
import { useForm } from "react-hook-form";
|
|
24
|
+
//#region src/sections/Security/Login.tsx
|
|
25
|
+
var configuration = getConfiguration();
|
|
26
|
+
var basePath = stripTrailingSlash(configuration.base);
|
|
27
|
+
var Login = () => {
|
|
28
|
+
const { t } = useTranslation();
|
|
29
|
+
const location = useLocation();
|
|
30
|
+
const navigate = useNavigate();
|
|
31
|
+
const { next } = getSecurityUrlParams(location);
|
|
32
|
+
const createUserEnabled = configuration?.flags?.createUser;
|
|
33
|
+
const addUserLink = Route$1.ADD_USER + (next ? "?next=" + next : "");
|
|
34
|
+
const { data, isMutating, trigger } = useDataMutation(basePath, next, "POST");
|
|
35
|
+
const { setError, handleSubmit, register, formState: { isValid, errors } } = useForm({
|
|
36
|
+
mode: "onChange",
|
|
37
|
+
resolver: yupResolver(loginSchema)
|
|
38
|
+
});
|
|
39
|
+
const handleLogin = async (body) => {
|
|
40
|
+
try {
|
|
41
|
+
await trigger(body);
|
|
42
|
+
} catch (err) {
|
|
43
|
+
throw normalizeAuthError(err);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const onSuccess = useCallback(() => {
|
|
47
|
+
navigate(`${Route$1.SUCCESS}?messageType=${MessageType.Login}`);
|
|
48
|
+
}, [navigate]);
|
|
49
|
+
const onSubmit = useCallback(async (data) => {
|
|
50
|
+
try {
|
|
51
|
+
await handleLogin?.(data);
|
|
52
|
+
onSuccess();
|
|
53
|
+
} catch {
|
|
54
|
+
setError("root", {
|
|
55
|
+
type: "server",
|
|
56
|
+
message: "Invalid username or password"
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, [
|
|
60
|
+
handleLogin,
|
|
61
|
+
setError,
|
|
62
|
+
onSuccess
|
|
63
|
+
]);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (data && !isMutating && data.username && data.token) saveAuth(data.username, data.token);
|
|
66
|
+
}, [data, isMutating]);
|
|
67
|
+
return !next ? /* @__PURE__ */ jsx(NotFound, {}) : /* @__PURE__ */ jsx(SecurityLayout, { children: /* @__PURE__ */ jsx(SecurityContainer, { children: /* @__PURE__ */ jsxs(SecurityForm, { children: [
|
|
68
|
+
/* @__PURE__ */ jsx(LoginFormHeader, {}),
|
|
69
|
+
/* @__PURE__ */ jsx(LoginForm, {
|
|
70
|
+
errors,
|
|
71
|
+
handleSubmit,
|
|
72
|
+
isValid,
|
|
73
|
+
onSubmit,
|
|
74
|
+
register
|
|
75
|
+
}),
|
|
76
|
+
createUserEnabled && /* @__PURE__ */ jsxs(Typography, {
|
|
77
|
+
align: "center",
|
|
78
|
+
sx: {
|
|
79
|
+
mt: 2,
|
|
80
|
+
fontSize: 12
|
|
81
|
+
},
|
|
82
|
+
variant: "body2",
|
|
83
|
+
children: [t("security.login.noUserQuestion"), /* @__PURE__ */ jsx(Link$1, {
|
|
84
|
+
href: addUserLink,
|
|
85
|
+
sx: { ml: 1 },
|
|
86
|
+
children: t("security.login.createUser")
|
|
87
|
+
})]
|
|
88
|
+
})
|
|
89
|
+
] }) }) });
|
|
90
|
+
};
|
|
91
|
+
//#endregion
|
|
92
|
+
export { Login as default };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=Login.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Login.mjs","names":["yupResolver","Link","Typography","React","useCallback","useEffect","useForm","useTranslation","useLocation","useNavigate","useDataMutation","LoginFormValues","LoginForm","LoginFormHeader","NotFound","getConfiguration","SecurityLayout","LoginBody","normalizeAuthError","saveAuth","stripTrailingSlash","Route","loginSchema","MessageType","SecurityContainer","SecurityForm","getSecurityUrlParams","configuration","basePath","base","Login","FC","t","location","navigate","next","createUserEnabled","flags","createUser","addUserLink","ADD_USER","data","isMutating","trigger","form","mode","resolver","setError","handleSubmit","register","formState","isValid","errors","handleLogin","body","username","password","err","onSuccess","SUCCESS","onSubmit","type","message","token","mt","fontSize","ml"],"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,IAAM2B,gBAAgBZ,kBAAkB;AACxC,IAAMa,WAAWR,mBAAmBO,cAAcE,KAAK;AAEvD,IAAMC,cAAwB;CAC5B,MAAM,EAAEE,MAAMzB,gBAAgB;CAC9B,MAAM0B,WAAWzB,aAAa;CAC9B,MAAM0B,WAAWzB,aAAa;CAC9B,MAAM,EAAE0B,SAAST,qBAAqBO,SAAS;CAC/C,MAAMG,oBAAoBT,eAAeU,OAAOC;CAChD,MAAMC,cAAclB,QAAMmB,YAAYL,OAAO,WAAWA,OAAO;CAE/D,MAAM,EAAEM,MAAMC,YAAYC,YAAYjC,gBAA2BkB,UAAUO,MAAM,OAAO;CAOxF,MAAM,EACJY,UACAC,cACAC,UACAC,WAAW,EAAEC,SAASC,aATX9C,QAAyB;EACpCuC,MAAM;EACNC,UAAU9C,YAAYsB,YAAW;EAClC,CAAC;CASF,MAAM+B,cAAc,OAAOC,SAAiD;AAC1E,MAAI;AACF,SAAMX,QAAQW,KAAK;WACZG,KAAK;AACZ,SAAMvC,mBAAmBuC,IAAI;;;CAIjC,MAAMC,YAAYtD,kBAAkB;AAClC8B,WAAS,GAAGb,QAAMsC,QAAO,eAAgBpC,YAAYO,QAAQ;IAC5D,CAACI,SAAS,CAAC;CAEd,MAAM0B,WAAWxD,YACf,OAAOqC,SAA0B;AAC/B,MAAI;AACF,SAAMY,cAAcZ,KAAK;AACzBiB,cAAW;UACL;AACNX,YAAS,QAAQ;IACfc,MAAM;IAENC,SAAS;IACV,CAAC;;IAGN;EAACT;EAAaN;EAAUW;EAC1B,CAAC;AAEDrD,iBAAgB;AACd,MAAIoC,QAAQ,CAACC,cAAcD,KAAKc,YAAYd,KAAKsB,MAC/C5C,UAASsB,KAAKc,UAAUd,KAAKsB,MAAM;IAEpC,CAACtB,MAAMC,WAAW,CAAC;AAEtB,QAAO,CAACP,OACN,oBAAC,UAAD,EAAY,CAAA,GAEZ,oBAAC,gBAAD,EAAA,UACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,cAAD,EAAA,UAAA;EACE,oBAAC,iBAAD,EAAgB,CAAA;EAChB,oBAAC,WAAD;GACUiB;GACMJ;GACLG;GACCS;GACAX;GAAS,CAAA;EAEpBb,qBACC,qBAAC,YAAD;GAAY,OAAM;GAAS,IAAI;IAAE4B,IAAI;IAAGC,UAAU;IAAI;GAAE,SAAQ;aAAhE,CACGjC,EAAE,gCAAgC,EACnC,oBAAC,QAAD;IAAM,MAAMO;IAAa,IAAI,EAAE2B,IAAI,GAAG;cACnClC,EAAE,4BAA4B;IAC3B,CAAA,CAET;;EACW,EAAA,CAAA,EACG,CAAA,EAEtB,CAAA"}
|
|
@@ -1,42 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_Dialog = require("../../layouts/Security/Dialog.js");
|
|
3
|
+
const require_styles = require("./styles.js");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_runtime.__toESM(react);
|
|
7
|
+
let react_i18next = require("react-i18next");
|
|
8
|
+
let react_router = require("react-router");
|
|
9
|
+
let _mui_material = require("@mui/material");
|
|
10
|
+
let _mui_icons_material_CheckCircle = require("@mui/icons-material/CheckCircle");
|
|
11
|
+
_mui_icons_material_CheckCircle = require_runtime.__toESM(_mui_icons_material_CheckCircle);
|
|
9
12
|
//#region src/sections/Security/Success.tsx
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var MessageType = /* @__PURE__ */ function(MessageType) {
|
|
14
|
+
MessageType["Login"] = "Login";
|
|
15
|
+
MessageType["ChangePassword"] = "ChangePassword";
|
|
16
|
+
MessageType["AddUser"] = "AddUser";
|
|
17
|
+
MessageType["Success"] = "Success";
|
|
18
|
+
return MessageType;
|
|
19
|
+
}({});
|
|
20
|
+
var Success = () => {
|
|
21
|
+
const { t } = (0, react_i18next.useTranslation)();
|
|
22
|
+
const location = (0, react_router.useLocation)();
|
|
23
|
+
const messageType = new URLSearchParams(location.search).get("messageType");
|
|
24
|
+
const message = !messageType ? t("security.success.messageSuccess") : t(`security.success.message${messageType}`);
|
|
25
|
+
const handleClose = () => {
|
|
26
|
+
window.location.href = "/";
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.default, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.SecurityContainer, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_styles.SecurityForm, { children: [
|
|
29
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_icons_material_CheckCircle.default, { color: "success" }),
|
|
30
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material.Typography, {
|
|
17
31
|
component: "h1",
|
|
18
|
-
gutterBottom:
|
|
32
|
+
gutterBottom: true,
|
|
19
33
|
variant: "h4",
|
|
20
|
-
children:
|
|
34
|
+
children: t("security.success.title")
|
|
21
35
|
}),
|
|
22
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material.Typography, {
|
|
23
37
|
color: "text.secondary",
|
|
24
|
-
paragraph:
|
|
38
|
+
paragraph: true,
|
|
25
39
|
variant: "body1",
|
|
26
|
-
children:
|
|
40
|
+
children: message
|
|
27
41
|
}),
|
|
28
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material.Button, {
|
|
29
43
|
color: "primary",
|
|
30
|
-
onClick:
|
|
31
|
-
window.location.href = "/";
|
|
32
|
-
},
|
|
44
|
+
onClick: handleClose,
|
|
33
45
|
sx: { mt: 2 },
|
|
34
46
|
variant: "contained",
|
|
35
|
-
children:
|
|
47
|
+
children: t("security.success.submit")
|
|
36
48
|
})
|
|
37
49
|
] }) }) });
|
|
38
50
|
};
|
|
39
51
|
//#endregion
|
|
40
|
-
|
|
52
|
+
exports.MessageType = MessageType;
|
|
53
|
+
exports.default = Success;
|
|
41
54
|
|
|
42
55
|
//# sourceMappingURL=Success.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Success.js","names":["CheckCircleIcon","Button","Typography","React","useTranslation","useLocation","SecurityLayout","SecurityContainer","SecurityForm","MessageType","Login","ChangePassword","AddUser","Success","FC","t","location","queryParams","URLSearchParams","search","messageType","get","message","handleClose","window","href","mt"],"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":"
|
|
1
|
+
{"version":3,"file":"Success.js","names":["CheckCircleIcon","Button","Typography","React","useTranslation","useLocation","SecurityLayout","SecurityContainer","SecurityForm","MessageType","Login","ChangePassword","AddUser","Success","FC","t","location","queryParams","URLSearchParams","search","messageType","get","message","handleClose","window","href","mt"],"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,IAAYS,cAAL,yBAAA,aAAA;AACLC,aAAAA,WAAAA;AACAC,aAAAA,oBAAAA;AACAC,aAAAA,aAAAA;AACAC,aAAAA,aAAAA;;KACF;AAEA,IAAMA,gBAA0B;CAC9B,MAAM,EAAEE,OAAAA,GAAAA,cAAAA,iBAAsB;CAC9B,MAAMC,YAAAA,GAAAA,aAAAA,cAAwB;CAE9B,MAAMI,cADc,IAAIF,gBAAgBF,SAASG,OAAO,CACxBE,IAAI,cAAc;CAClD,MAAMC,UAAU,CAACF,cACbL,EAAE,kCAAkC,GACpCA,EAAE,2BAA2BK,cAAc;CAE/C,MAAMG,oBAAoB;AACxBC,SAAOR,SAASS,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,WAAS,CAAA;EAChC,iBAAA,GAAA,kBAAA,KAAC,cAAA,YAAD;GAAY,WAAU;GAAK,cAAc;GAAM,SAAQ;aACpDV,EAAE,yBAAyB;GAClB,CAAA;EACZ,iBAAA,GAAA,kBAAA,KAAC,cAAA,YAAD;GAAY,OAAM;GAAiB,WAAW;GAAM,SAAQ;aACzDO;GACS,CAAA;EACZ,iBAAA,GAAA,kBAAA,KAAC,cAAA,QAAD;GAAQ,OAAM;GAAU,SAASC;GAAa,IAAI,EAAEG,IAAI,GAAG;GAAE,SAAQ;aAClEX,EAAE,0BAA0B;GACvB,CAAA;EACI,EAAA,CAAA,EACG,CAAA,EACJ,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import SecurityLayout from "../../layouts/Security/Dialog.mjs";
|
|
2
|
+
import { SecurityContainer, SecurityForm } from "./styles.mjs";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { useLocation } from "react-router";
|
|
7
|
+
import { Button, Typography } from "@mui/material";
|
|
8
|
+
import CheckCircleIcon from "@mui/icons-material/CheckCircle";
|
|
9
|
+
//#region src/sections/Security/Success.tsx
|
|
10
|
+
var MessageType = /* @__PURE__ */ function(MessageType) {
|
|
11
|
+
MessageType["Login"] = "Login";
|
|
12
|
+
MessageType["ChangePassword"] = "ChangePassword";
|
|
13
|
+
MessageType["AddUser"] = "AddUser";
|
|
14
|
+
MessageType["Success"] = "Success";
|
|
15
|
+
return MessageType;
|
|
16
|
+
}({});
|
|
17
|
+
var Success = () => {
|
|
18
|
+
const { t } = useTranslation();
|
|
19
|
+
const location = useLocation();
|
|
20
|
+
const messageType = new URLSearchParams(location.search).get("messageType");
|
|
21
|
+
const message = !messageType ? t("security.success.messageSuccess") : t(`security.success.message${messageType}`);
|
|
22
|
+
const handleClose = () => {
|
|
23
|
+
window.location.href = "/";
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ jsx(SecurityLayout, { children: /* @__PURE__ */ jsx(SecurityContainer, { children: /* @__PURE__ */ jsxs(SecurityForm, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx(CheckCircleIcon, { color: "success" }),
|
|
27
|
+
/* @__PURE__ */ jsx(Typography, {
|
|
28
|
+
component: "h1",
|
|
29
|
+
gutterBottom: true,
|
|
30
|
+
variant: "h4",
|
|
31
|
+
children: t("security.success.title")
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ jsx(Typography, {
|
|
34
|
+
color: "text.secondary",
|
|
35
|
+
paragraph: true,
|
|
36
|
+
variant: "body1",
|
|
37
|
+
children: message
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ jsx(Button, {
|
|
40
|
+
color: "primary",
|
|
41
|
+
onClick: handleClose,
|
|
42
|
+
sx: { mt: 2 },
|
|
43
|
+
variant: "contained",
|
|
44
|
+
children: t("security.success.submit")
|
|
45
|
+
})
|
|
46
|
+
] }) }) });
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { MessageType, Success as default };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=Success.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Success.mjs","names":["CheckCircleIcon","Button","Typography","React","useTranslation","useLocation","SecurityLayout","SecurityContainer","SecurityForm","MessageType","Login","ChangePassword","AddUser","Success","FC","t","location","queryParams","URLSearchParams","search","messageType","get","message","handleClose","window","href","mt"],"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,IAAYS,cAAL,yBAAA,aAAA;AACLC,aAAAA,WAAAA;AACAC,aAAAA,oBAAAA;AACAC,aAAAA,aAAAA;AACAC,aAAAA,aAAAA;;KACF;AAEA,IAAMA,gBAA0B;CAC9B,MAAM,EAAEE,MAAMX,gBAAgB;CAC9B,MAAMY,WAAWX,aAAa;CAE9B,MAAMe,cADc,IAAIF,gBAAgBF,SAASG,OAAO,CACxBE,IAAI,cAAc;CAClD,MAAMC,UAAU,CAACF,cACbL,EAAE,kCAAkC,GACpCA,EAAE,2BAA2BK,cAAc;CAE/C,MAAMG,oBAAoB;AACxBC,SAAOR,SAASS,OAAO;;AAGzB,QACE,oBAAC,gBAAD,EAAA,UACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,cAAD,EAAA,UAAA;EACE,oBAAC,iBAAD,EAAiB,OAAM,WAAS,CAAA;EAChC,oBAAC,YAAD;GAAY,WAAU;GAAK,cAAc;GAAM,SAAQ;aACpDV,EAAE,yBAAyB;GAClB,CAAA;EACZ,oBAAC,YAAD;GAAY,OAAM;GAAiB,WAAW;GAAM,SAAQ;aACzDO;GACS,CAAA;EACZ,oBAAC,QAAD;GAAQ,OAAM;GAAU,SAASC;GAAa,IAAI,EAAEG,IAAI,GAAG;GAAE,SAAQ;aAClEX,EAAE,0BAA0B;GACvB,CAAA;EACI,EAAA,CAAA,EACG,CAAA,EACJ,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
require("./Success.js");
|
|
2
|
+
require("./Login.js");
|
|
3
|
+
require("./AddUser.js");
|
|
4
|
+
require("./ChangePassword.js");
|
|
@@ -1,27 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
let _mui_material_styles = require("@mui/material/styles");
|
|
3
|
+
let _mui_material = require("@mui/material");
|
|
3
4
|
//#region src/sections/Security/styles.ts
|
|
4
|
-
var
|
|
5
|
+
var SecurityContainer = (0, _mui_material_styles.styled)(_mui_material.Box)(({ theme }) => ({
|
|
5
6
|
display: "flex",
|
|
6
7
|
flexDirection: "column",
|
|
7
8
|
alignItems: "center",
|
|
8
9
|
justifyContent: "center",
|
|
9
10
|
minHeight: "100%",
|
|
10
|
-
padding:
|
|
11
|
-
backgroundColor:
|
|
12
|
-
}))
|
|
11
|
+
padding: theme.spacing(2),
|
|
12
|
+
backgroundColor: theme.palette.background.default
|
|
13
|
+
}));
|
|
14
|
+
var SecurityForm = (0, _mui_material_styles.styled)(_mui_material.Box)(({ theme }) => ({
|
|
13
15
|
width: "100%",
|
|
14
16
|
maxWidth: 420,
|
|
15
|
-
padding:
|
|
16
|
-
backgroundColor:
|
|
17
|
-
borderRadius:
|
|
18
|
-
boxShadow:
|
|
19
|
-
}))
|
|
17
|
+
padding: theme.spacing(4),
|
|
18
|
+
backgroundColor: theme.palette.background.paper,
|
|
19
|
+
borderRadius: theme.shape.borderRadius,
|
|
20
|
+
boxShadow: theme.shadows[3]
|
|
21
|
+
}));
|
|
22
|
+
var SecurityTextField = (0, _mui_material_styles.styled)(_mui_material.TextField)(({ theme }) => ({
|
|
20
23
|
width: "100%",
|
|
21
|
-
marginTop:
|
|
22
|
-
marginBottom:
|
|
24
|
+
marginTop: theme.spacing(1),
|
|
25
|
+
marginBottom: theme.spacing(1)
|
|
23
26
|
}));
|
|
24
27
|
//#endregion
|
|
25
|
-
|
|
28
|
+
exports.SecurityContainer = SecurityContainer;
|
|
29
|
+
exports.SecurityForm = SecurityForm;
|
|
30
|
+
exports.SecurityTextField = SecurityTextField;
|
|
26
31
|
|
|
27
32
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["Box","TextField","styled","SecurityContainer","theme","display","flexDirection","alignItems","justifyContent","minHeight","padding","spacing","backgroundColor","palette","background","default","SecurityForm","width","maxWidth","paper","borderRadius","shape","boxShadow","shadows","SecurityTextField","marginTop","marginBottom"],"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":"
|
|
1
|
+
{"version":3,"file":"styles.js","names":["Box","TextField","styled","SecurityContainer","theme","display","flexDirection","alignItems","justifyContent","minHeight","padding","spacing","backgroundColor","palette","background","default","SecurityForm","width","maxWidth","paper","borderRadius","shape","boxShadow","shadows","SecurityTextField","marginTop","marginBottom"],"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,IAAaG,qBAAAA,GAAAA,qBAAAA,QAA2BH,cAAAA,IAAI,EAAE,EAAEI,aAAa;CAC3DC,SAAS;CACTC,eAAe;CACfC,YAAY;CACZC,gBAAgB;CAChBC,WAAW;CACXC,SAASN,MAAMO,QAAQ,EAAE;CACzBC,iBAAiBR,MAAMS,QAAQC,WAAWC;CAC3C,EAAE;AAEH,IAAaC,gBAAAA,GAAAA,qBAAAA,QAAsBhB,cAAAA,IAAI,EAAE,EAAEI,aAAa;CACtDa,OAAO;CACPC,UAAU;CACVR,SAASN,MAAMO,QAAQ,EAAE;CACzBC,iBAAiBR,MAAMS,QAAQC,WAAWK;CAC1CC,cAAchB,MAAMiB,MAAMD;CAC1BE,WAAWlB,MAAMmB,QAAQ;CAC1B,EAAE;AAEH,IAAaC,qBAAAA,GAAAA,qBAAAA,QAA2BvB,cAAAA,UAAU,EAAE,EAAEG,aAAa;CACjEa,OAAO;CACPQ,WAAWrB,MAAMO,QAAQ,EAAE;CAC3Be,cAActB,MAAMO,QAAQ,EAAC;CAC9B,EAAE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { styled } from "@mui/material/styles";
|
|
2
|
+
import { Box, TextField } from "@mui/material";
|
|
3
|
+
//#region src/sections/Security/styles.ts
|
|
4
|
+
var SecurityContainer = styled(Box)(({ theme }) => ({
|
|
5
|
+
display: "flex",
|
|
6
|
+
flexDirection: "column",
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
justifyContent: "center",
|
|
9
|
+
minHeight: "100%",
|
|
10
|
+
padding: theme.spacing(2),
|
|
11
|
+
backgroundColor: theme.palette.background.default
|
|
12
|
+
}));
|
|
13
|
+
var SecurityForm = styled(Box)(({ theme }) => ({
|
|
14
|
+
width: "100%",
|
|
15
|
+
maxWidth: 420,
|
|
16
|
+
padding: theme.spacing(4),
|
|
17
|
+
backgroundColor: theme.palette.background.paper,
|
|
18
|
+
borderRadius: theme.shape.borderRadius,
|
|
19
|
+
boxShadow: theme.shadows[3]
|
|
20
|
+
}));
|
|
21
|
+
var SecurityTextField = styled(TextField)(({ theme }) => ({
|
|
22
|
+
width: "100%",
|
|
23
|
+
marginTop: theme.spacing(1),
|
|
24
|
+
marginBottom: theme.spacing(1)
|
|
25
|
+
}));
|
|
26
|
+
//#endregion
|
|
27
|
+
export { SecurityContainer, SecurityForm, SecurityTextField };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=styles.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.mjs","names":["Box","TextField","styled","SecurityContainer","theme","display","flexDirection","alignItems","justifyContent","minHeight","padding","spacing","backgroundColor","palette","background","default","SecurityForm","width","maxWidth","paper","borderRadius","shape","boxShadow","shadows","SecurityTextField","marginTop","marginBottom"],"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,IAAaG,oBAAoBD,OAAOF,IAAI,EAAE,EAAEI,aAAa;CAC3DC,SAAS;CACTC,eAAe;CACfC,YAAY;CACZC,gBAAgB;CAChBC,WAAW;CACXC,SAASN,MAAMO,QAAQ,EAAE;CACzBC,iBAAiBR,MAAMS,QAAQC,WAAWC;CAC3C,EAAE;AAEH,IAAaC,eAAed,OAAOF,IAAI,EAAE,EAAEI,aAAa;CACtDa,OAAO;CACPC,UAAU;CACVR,SAASN,MAAMO,QAAQ,EAAE;CACzBC,iBAAiBR,MAAMS,QAAQC,WAAWK;CAC1CC,cAAchB,MAAMiB,MAAMD;CAC1BE,WAAWlB,MAAMmB,QAAQ;CAC1B,EAAE;AAEH,IAAaC,oBAAoBtB,OAAOD,UAAU,EAAE,EAAEG,aAAa;CACjEa,OAAO;CACPQ,WAAWrB,MAAMO,QAAQ,EAAE;CAC3Be,cAActB,MAAMO,QAAQ,EAAC;CAC9B,EAAE"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_routes = require("../../utils/routes.js");
|
|
3
|
+
require("../../utils/index.js");
|
|
4
|
+
require("lodash/isEmpty");
|
|
4
5
|
//#region src/sections/Security/utils.ts
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
function getSecurityUrlParams(location) {
|
|
7
|
+
const queryParams = new URLSearchParams(location.search);
|
|
8
|
+
let next = queryParams.get("next") || "";
|
|
9
|
+
if (next.length > 0 && (!next.startsWith(require_routes.Route.LOGIN_API) || !next.match(/\/[-0-9a-f]{36}$/))) next = "";
|
|
10
|
+
let user = queryParams.get("user") || "";
|
|
11
|
+
if (user.length > 0 && !user.match(/^[a-zA-Z0-9-_]{1,255}$/)) user = "";
|
|
12
|
+
return {
|
|
13
|
+
next,
|
|
14
|
+
user
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
17
|
//#endregion
|
|
15
|
-
|
|
18
|
+
exports.getSecurityUrlParams = getSecurityUrlParams;
|
|
16
19
|
|
|
17
20
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["isEmpty","Route","SecurityUrlParams","next","user","LocationLike","search","getSecurityUrlParams","location","queryParams","URLSearchParams","get","length","startsWith","LOGIN_API","match","TranslationFunction","key","options","Record","DispatchAction","payload","type","description","validateCredentials","username","password","t","dispatchAction"],"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":"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["isEmpty","Route","SecurityUrlParams","next","user","LocationLike","search","getSecurityUrlParams","location","queryParams","URLSearchParams","get","length","startsWith","LOGIN_API","match","TranslationFunction","key","options","Record","DispatchAction","payload","type","description","validateCredentials","username","password","t","dispatchAction"],"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,SAAgBO,qBAAqBC,UAA2C;CAC9E,MAAMC,cAAc,IAAIC,gBAAgBF,SAASF,OAAO;CAGxD,IAAIH,OAAOM,YAAYE,IAAI,OAAO,IAAI;AACtC,KAAIR,KAAKS,SAAS,MAAM,CAACT,KAAKU,WAAWZ,eAAAA,MAAMa,UAAU,IAAI,CAACX,KAAKY,MAAM,mBAAmB,EAC1FZ,QAAO;CAIT,IAAIC,OAAOK,YAAYE,IAAI,OAAO,IAAI;AACtC,KAAIP,KAAKQ,SAAS,KAAK,CAACR,KAAKW,MAAM,yBAAyB,CAC1DX,QAAO;AAGT,QAAO;EAAED;EAAMC;EAAM"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Route } from "../../utils/routes.mjs";
|
|
2
|
+
import "../../utils/index.mjs";
|
|
3
|
+
import "lodash/isEmpty";
|
|
4
|
+
//#region src/sections/Security/utils.ts
|
|
5
|
+
function getSecurityUrlParams(location) {
|
|
6
|
+
const queryParams = new URLSearchParams(location.search);
|
|
7
|
+
let next = queryParams.get("next") || "";
|
|
8
|
+
if (next.length > 0 && (!next.startsWith(Route.LOGIN_API) || !next.match(/\/[-0-9a-f]{36}$/))) next = "";
|
|
9
|
+
let user = queryParams.get("user") || "";
|
|
10
|
+
if (user.length > 0 && !user.match(/^[a-zA-Z0-9-_]{1,255}$/)) user = "";
|
|
11
|
+
return {
|
|
12
|
+
next,
|
|
13
|
+
user
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getSecurityUrlParams };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":["isEmpty","Route","SecurityUrlParams","next","user","LocationLike","search","getSecurityUrlParams","location","queryParams","URLSearchParams","get","length","startsWith","LOGIN_API","match","TranslationFunction","key","options","Record","DispatchAction","payload","type","description","validateCredentials","username","password","t","dispatchAction"],"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,SAAgBO,qBAAqBC,UAA2C;CAC9E,MAAMC,cAAc,IAAIC,gBAAgBF,SAASF,OAAO;CAGxD,IAAIH,OAAOM,YAAYE,IAAI,OAAO,IAAI;AACtC,KAAIR,KAAKS,SAAS,MAAM,CAACT,KAAKU,WAAWZ,MAAMa,UAAU,IAAI,CAACX,KAAKY,MAAM,mBAAmB,EAC1FZ,QAAO;CAIT,IAAIC,OAAOK,YAAYE,IAAI,OAAO,IAAI;AACtC,KAAIP,KAAKQ,SAAS,KAAK,CAACR,KAAKW,MAAM,yBAAyB,CAC1DX,QAAO;AAGT,QAAO;EAAED;EAAMC;EAAM"}
|