@verdaccio/ui-components 5.0.0-next-9.21 → 5.0.0-next-9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Theme/ResetStyles.js.map +1 -1
- package/build/Theme/ResetStyles.mjs.map +1 -1
- package/build/Theme/StyleBaseline.js.map +1 -1
- package/build/Theme/StyleBaseline.mjs.map +1 -1
- package/build/Theme/ThemeProvider.js.map +1 -1
- package/build/Theme/ThemeProvider.mjs.map +1 -1
- package/build/Theme/colors.js.map +1 -1
- package/build/Theme/modes.js.map +1 -1
- package/build/Theme/theme.js.map +1 -1
- package/build/api/use-data-mutation.d.ts +1 -1
- package/build/api/use-data-mutation.js.map +1 -1
- package/build/api/use-data-mutation.mjs.map +1 -1
- package/build/api/use-data.d.ts +1 -1
- package/build/api/use-data.js.map +1 -1
- package/build/api/use-data.mjs.map +1 -1
- package/build/components/ActionBar/ActionBar.js.map +1 -1
- package/build/components/ActionBar/ActionBar.mjs.map +1 -1
- package/build/components/ActionBar/ActionBarAction.js.map +1 -1
- package/build/components/ActionBar/index.mjs +1 -2
- package/build/components/AppRoute/AppRoute.js.map +1 -1
- package/build/components/AppRoute/AppRoute.mjs.map +1 -1
- package/build/components/Author/Author.js.map +1 -1
- package/build/components/Author/index.mjs +1 -2
- package/build/components/Author/styles.js.map +1 -1
- package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
- package/build/components/Dependencies/Dependencies.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.js.map +1 -1
- package/build/components/Dependencies/DependencyBlock.mjs.map +1 -1
- package/build/components/Dependencies/index.mjs +1 -2
- package/build/components/Deprecated/Deprecated.js.map +1 -1
- package/build/components/Deprecated/index.mjs +1 -2
- package/build/components/Developers/Developers.js.map +1 -1
- package/build/components/Developers/Developers.mjs.map +1 -1
- package/build/components/Developers/Title.js.map +1 -1
- package/build/components/Distribution/Dist.js.map +1 -1
- package/build/components/Distribution/Dist.mjs.map +1 -1
- package/build/components/Distribution/index.mjs +1 -2
- package/build/components/Distribution/styles.js.map +1 -1
- package/build/components/Engines/Engines.js.map +1 -1
- package/build/components/Engines/index.mjs +1 -2
- package/build/components/Engines/styles.js.map +1 -1
- package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/build/components/ErrorBoundary/index.mjs +1 -2
- package/build/components/Forbidden/Forbidden.js.map +1 -1
- package/build/components/Forbidden/index.mjs +1 -2
- package/build/components/FundButton/FundButton.js.map +1 -1
- package/build/components/FundButton/FundButton.mjs.map +1 -1
- package/build/components/FundButton/index.mjs +1 -2
- package/build/components/GenericError/GenericError.js.map +1 -1
- package/build/components/GenericError/index.mjs +1 -2
- package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -1
- package/build/components/HeaderInfoDialog/index.mjs +1 -2
- package/build/components/Heading/Heading.js.map +1 -1
- package/build/components/Heading/Heading.mjs.map +1 -1
- package/build/components/Heading/index.mjs +1 -2
- package/build/components/Help/Help.js.map +1 -1
- package/build/components/Help/Help.mjs.map +1 -1
- package/build/components/Help/index.mjs +1 -2
- package/build/components/Help/styles.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/CommonJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.js.map +1 -1
- package/build/components/Icons/DevsIcons/ES6Module2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.js.map +1 -1
- package/build/components/Icons/DevsIcons/Git2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.js.map +1 -1
- package/build/components/Icons/DevsIcons/NodeJS2.mjs.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.js.map +1 -1
- package/build/components/Icons/DevsIcons/TypeScript2.mjs.map +1 -1
- package/build/components/Icons/Earth.js.map +1 -1
- package/build/components/Icons/FileBinary.js.map +1 -1
- package/build/components/Icons/Law.js.map +1 -1
- package/build/components/Icons/License.d.ts +2 -4
- package/build/components/Icons/License.js.map +1 -1
- package/build/components/Icons/License.mjs.map +1 -1
- package/build/components/Icons/Managers/Npm2.js.map +1 -1
- package/build/components/Icons/Managers/Npm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.js.map +1 -1
- package/build/components/Icons/Managers/Pnpm2.mjs.map +1 -1
- package/build/components/Icons/Managers/Yarn2.js.map +1 -1
- package/build/components/Icons/Managers/Yarn2.mjs.map +1 -1
- package/build/components/Icons/SvgIcon.js.map +1 -1
- package/build/components/Icons/Time.js.map +1 -1
- package/build/components/Icons/Version.js.map +1 -1
- package/build/components/Install/Install.js.map +1 -1
- package/build/components/Install/Install.mjs.map +1 -1
- package/build/components/Install/InstallListItem.js.map +1 -1
- package/build/components/Install/index.mjs +1 -2
- package/build/components/Keywords/KeywordListItems.js.map +1 -1
- package/build/components/Keywords/Keywords.js.map +1 -1
- package/build/components/Keywords/index.mjs +1 -2
- package/build/components/Label/Label.js.map +1 -1
- package/build/components/Label/index.mjs +1 -2
- package/build/components/Link/Link.js.map +1 -1
- package/build/components/Link/Link.mjs.map +1 -1
- package/build/components/Link/index.mjs +1 -2
- package/build/components/LinkExternal/LinkExternal.js.map +1 -1
- package/build/components/LinkExternal/index.mjs +1 -2
- package/build/components/Loading/Loading.js.map +1 -1
- package/build/components/Loading/Spinner/Spinner.js.map +1 -1
- package/build/components/Loading/Spinner/index.mjs +1 -2
- package/build/components/Loading/index.mjs +1 -2
- package/build/components/Loading/styles.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.d.ts +1 -0
- package/build/components/LoginDialog/LoginDialog.js +11 -2
- package/build/components/LoginDialog/LoginDialog.js.map +1 -1
- package/build/components/LoginDialog/LoginDialog.mjs +10 -2
- package/build/components/LoginDialog/LoginDialog.mjs.map +1 -1
- package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogForm.js.map +1 -1
- package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -1
- package/build/components/LoginDialog/index.mjs +1 -2
- package/build/components/LoginForm/Login.js +0 -23
- package/build/components/LoginForm/Login.js.map +1 -1
- package/build/components/LoginForm/Login.mjs +0 -21
- package/build/components/LoginForm/Login.mjs.map +1 -1
- package/build/components/LoginForm/PasswordField.js.map +1 -1
- package/build/components/LoginForm/UsernameField.js.map +1 -1
- package/build/components/LoginForm/styles.js.map +1 -1
- package/build/components/LoginForm/useLoginForm.js.map +1 -1
- package/build/components/Logo/Logo.js.map +1 -1
- package/build/components/Logo/Logo.mjs.map +1 -1
- package/build/components/Logo/index.mjs +1 -2
- package/build/components/MenuItem/MenuItem.js.map +1 -1
- package/build/components/MenuItem/MenuItem.mjs.map +1 -1
- package/build/components/MenuItem/index.mjs +1 -2
- package/build/components/NoItems/NoItems.js.map +1 -1
- package/build/components/NoItems/index.mjs +1 -2
- package/build/components/NotFound/NotFound.js.map +1 -1
- package/build/components/NotFound/index.mjs +1 -2
- package/build/components/Package/Package.js.map +1 -1
- package/build/components/Package/Package.mjs.map +1 -1
- package/build/components/Package/index.mjs +1 -2
- package/build/components/Package/styles.js.map +1 -1
- package/build/components/Package/styles.mjs.map +1 -1
- package/build/components/PackageList/PackageList.js.map +1 -1
- package/build/components/PackageList/PackageList.mjs.map +1 -1
- package/build/components/PackageList/index.mjs +1 -2
- package/build/components/Person/Person.js.map +1 -1
- package/build/components/Person/Person.mjs.map +1 -1
- package/build/components/Person/PersonTooltip.js.map +1 -1
- package/build/components/Person/PersonTooltip.mjs.map +1 -1
- package/build/components/Person/index.mjs +1 -2
- package/build/components/Person/utils.mjs.map +1 -1
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/index.mjs +1 -2
- package/build/components/Readme/Readme.js.map +1 -1
- package/build/components/Readme/index.mjs +1 -2
- package/build/components/Readme/utils.js.map +1 -1
- package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
- package/build/components/RegistryInfoDialog/index.mjs +1 -2
- package/build/components/RegistryInfoDialog/styles.js.map +1 -1
- package/build/components/Repository/Repository.js.map +1 -1
- package/build/components/Repository/Repository.mjs.map +1 -1
- package/build/components/Repository/index.mjs +1 -2
- package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
- package/build/components/Search/AutoComplete/index.mjs +1 -2
- package/build/components/Search/AutoComplete/styles.js.map +1 -1
- package/build/components/Search/Search.js.map +1 -1
- package/build/components/Search/Search.mjs.map +1 -1
- package/build/components/Search/SearchItem.js.map +1 -1
- package/build/components/Search/index.mjs +1 -2
- package/build/components/Search/styles.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/components/SettingsMenu/SettingsMenu.mjs.map +1 -1
- package/build/components/SettingsMenu/index.mjs +1 -2
- package/build/components/SideBarTitle/SideBarTitle.js.map +1 -1
- package/build/components/SideBarTitle/SideBarTitle.mjs.map +1 -1
- package/build/components/SideBarTitle/index.mjs +1 -2
- package/build/components/UpLinks/UpLinks.js.map +1 -1
- package/build/components/UpLinks/UpLinks.mjs.map +1 -1
- package/build/components/UpLinks/UplinkLink.js.map +1 -1
- package/build/components/UpLinks/UplinkLink.mjs.map +1 -1
- package/build/components/UpLinks/index.mjs +1 -2
- package/build/components/UpLinks/styles.js.map +1 -1
- package/build/components/UpLinks/styles.mjs.map +1 -1
- package/build/components/Versions/HistoryList.js.map +1 -1
- package/build/components/Versions/HistoryList.mjs.map +1 -1
- package/build/components/Versions/TagList.js.map +1 -1
- package/build/components/Versions/Versions.js.map +1 -1
- package/build/components/Versions/Versions.mjs.map +1 -1
- package/build/components/Versions/index.mjs +1 -2
- package/build/components/Versions/styles.js.map +1 -1
- package/build/components/Versions/styles.mjs.map +1 -1
- package/build/hooks/useLocalStorage.js.map +1 -1
- package/build/layouts/Security/Dialog.js.map +1 -1
- package/build/layouts/Version/Version.js.map +1 -1
- package/build/layouts/Version/Version.mjs.map +1 -1
- package/build/layouts/Version/index.mjs +1 -2
- package/build/pages/Front/Home.js.map +1 -1
- package/build/pages/Front/index.mjs +1 -2
- package/build/pages/Security/AddUser.js.map +1 -1
- package/build/pages/Security/ChangePassword.js.map +1 -1
- package/build/pages/Security/Login.js.map +1 -1
- package/build/pages/Security/Success.js.map +1 -1
- package/build/pages/Stage/StageDetail.js.map +1 -1
- package/build/pages/Stage/StageList.js.map +1 -1
- package/build/pages/Version/Version.js.map +1 -1
- package/build/pages/Version/index.mjs +1 -2
- package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
- package/build/providers/AppConfigurationProvider/index.mjs +1 -2
- package/build/providers/AuthProvider/AuthProvider.js +1 -1
- package/build/providers/AuthProvider/AuthProvider.js.map +1 -1
- package/build/providers/AuthProvider/AuthProvider.mjs +1 -1
- package/build/providers/AuthProvider/AuthProvider.mjs.map +1 -1
- package/build/providers/AuthProvider/index.mjs +1 -2
- package/build/providers/AuthProvider/utils.js.map +1 -1
- package/build/providers/DownloadProvider/DownloadProvider.js.map +1 -1
- package/build/providers/DownloadProvider/index.mjs +1 -2
- package/build/providers/ManifestsProvider/ManifestsProvider.js +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs +1 -1
- package/build/providers/ManifestsProvider/ManifestsProvider.mjs.map +1 -1
- package/build/providers/ManifestsProvider/index.mjs +1 -2
- package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -1
- package/build/providers/PersistenceSettingProvider/index.mjs +1 -2
- package/build/providers/SearchProvider/SearchProvider.js +1 -1
- package/build/providers/SearchProvider/SearchProvider.js.map +1 -1
- package/build/providers/SearchProvider/SearchProvider.mjs +1 -1
- package/build/providers/SearchProvider/SearchProvider.mjs.map +1 -1
- package/build/providers/SearchProvider/index.mjs +1 -2
- package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -1
- package/build/providers/TranslatorProvider/index.mjs +1 -2
- package/build/providers/VersionProvider/VersionProvider.js +1 -1
- package/build/providers/VersionProvider/VersionProvider.js.map +1 -1
- package/build/providers/VersionProvider/VersionProvider.mjs +1 -1
- package/build/providers/VersionProvider/VersionProvider.mjs.map +1 -1
- package/build/providers/VersionProvider/index.mjs +1 -2
- package/build/sections/Detail/ContainerContent.js.map +1 -1
- package/build/sections/Detail/ContainerContent.mjs.map +1 -1
- package/build/sections/Detail/Detail.js.map +1 -1
- package/build/sections/Detail/Detail.mjs.map +1 -1
- package/build/sections/Detail/ReadmeSection.js.map +1 -1
- package/build/sections/Detail/Tabs.js.map +1 -1
- package/build/sections/Detail/Tabs.mjs.map +1 -1
- package/build/sections/Detail/index.mjs +1 -2
- package/build/sections/Footer/Footer.js.map +1 -1
- package/build/sections/Footer/Footer.mjs.map +1 -1
- package/build/sections/Footer/index.mjs +1 -2
- package/build/sections/Footer/styles.js.map +1 -1
- package/build/sections/Header/Header.js.map +1 -1
- package/build/sections/Header/Header.mjs.map +1 -1
- package/build/sections/Header/HeaderGreetings.js.map +1 -1
- package/build/sections/Header/HeaderGreetings.mjs.map +1 -1
- package/build/sections/Header/HeaderLeft.js.map +1 -1
- package/build/sections/Header/HeaderLeft.mjs.map +1 -1
- package/build/sections/Header/HeaderMenu.js +10 -0
- package/build/sections/Header/HeaderMenu.js.map +1 -1
- package/build/sections/Header/HeaderMenu.mjs +10 -0
- package/build/sections/Header/HeaderMenu.mjs.map +1 -1
- package/build/sections/Header/HeaderRight.js.map +1 -1
- package/build/sections/Header/HeaderRight.mjs.map +1 -1
- package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
- package/build/sections/Header/HeaderToolTip.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.js.map +1 -1
- package/build/sections/Header/HeaderToolTipIcon.mjs.map +1 -1
- package/build/sections/Header/LanguageSwitch.js.map +1 -1
- package/build/sections/Header/LanguageSwitch.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
- package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -1
- package/build/sections/Header/RegistryInfoContent/index.mjs +1 -2
- package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -1
- package/build/sections/Header/index.mjs +1 -2
- package/build/sections/Header/styles.js.map +1 -1
- package/build/sections/Home/Home.js.map +1 -1
- package/build/sections/Home/index.mjs +1 -2
- package/build/sections/Security/AddUser.js.map +1 -1
- package/build/sections/Security/AddUser.mjs.map +1 -1
- package/build/sections/Security/ChangePassword.js +41 -16
- package/build/sections/Security/ChangePassword.js.map +1 -1
- package/build/sections/Security/ChangePassword.mjs +41 -16
- package/build/sections/Security/ChangePassword.mjs.map +1 -1
- package/build/sections/Security/Login.js.map +1 -1
- package/build/sections/Security/Login.mjs.map +1 -1
- package/build/sections/Security/Success.js.map +1 -1
- package/build/sections/Security/styles.js.map +1 -1
- package/build/sections/Security/utils.js.map +1 -1
- package/build/sections/SideBar/Sidebar.js.map +1 -1
- package/build/sections/SideBar/Sidebar.mjs.map +1 -1
- package/build/sections/SideBar/index.mjs +1 -2
- package/build/sections/Stage/StageActions.js.map +1 -1
- package/build/sections/Stage/StageActions.mjs.map +1 -1
- package/build/sections/Stage/StageDetail.js.map +1 -1
- package/build/sections/Stage/StageDetail.mjs.map +1 -1
- package/build/sections/Stage/StageList.js.map +1 -1
- package/build/sections/Stage/StageList.mjs.map +1 -1
- package/build/sections/Stage/useRequireSession.js.map +1 -1
- package/build/sections/Stage/useRequireSession.mjs.map +1 -1
- package/build/sections/Stage/useStage.js.map +1 -1
- package/build/sections/Stage/useStage.mjs.map +1 -1
- package/build/store/api.js.map +1 -1
- package/build/store/api.mjs.map +1 -1
- package/build/store/index.mjs +1 -2
- package/build/store/storage.js.map +1 -1
- package/build/utils/loadable.js.map +1 -1
- package/build/utils/schemas.d.ts +0 -2
- package/build/utils/schemas.js +0 -1
- package/build/utils/schemas.js.map +1 -1
- package/build/utils/schemas.mjs +0 -1
- package/build/utils/schemas.mjs.map +1 -1
- package/build/utils/token.js.map +1 -1
- package/build/utils/url.js.map +1 -1
- package/build/utils/url.mjs.map +1 -1
- package/build/utils/utils.js.map +1 -1
- package/package.json +21 -21
- package/build/store/routes.d.ts +0 -12
- package/build/store/routes.js +0 -18
- package/build/store/routes.js.map +0 -1
- package/build/store/routes.mjs +0 -18
- package/build/store/routes.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallListItem.js","names":[],"sources":["../../../src/components/Install/InstallListItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Avatar from '@mui/material/Avatar';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\n\nimport { useSettings } from '../../providers/PersistenceSettingProvider';\nimport CopyToClipBoard from '../CopyClipboard';\nimport { Npm, Pnpm, Yarn } from '../Icons';\n\nconst InstallItem = styled(ListItem)({\n padding: 0,\n ':hover': {\n backgroundColor: 'transparent',\n },\n});\n\nconst InstallListItemText = styled(ListItemText)({\n padding: '0 0 0 10px',\n margin: 0,\n});\n\nconst PackageMangerAvatar = styled(Avatar)({\n backgroundColor: 'transparent',\n padding: 0,\n marginLeft: 0,\n});\n\nexport enum DependencyManager {\n NPM = 'npm',\n YARN = 'yarn',\n PNPM = 'pnpm',\n}\n\ninterface Interface {\n packageName: string;\n dependencyManager: DependencyManager;\n packageVersion?: string;\n}\n\nexport function getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, isYarn = false) {\n const name = isGlobal\n ? `${isYarn ? '' : '-g'} ${packageVersion && !isLatest ? `${packageName}@${packageVersion}` : packageName}`\n : packageVersion && !isLatest\n ? `${packageName}@${packageVersion}`\n : packageName;\n\n return name.trim();\n}\n\nconst InstallListItem: React.FC<Interface> = ({\n packageName,\n dependencyManager,\n packageVersion,\n}) => {\n const { localSettings } = useSettings();\n // const theme: Theme = useTheme();\n const isLatest = localSettings[packageName]?.latest ?? false;\n const isGlobal = localSettings[packageName]?.global ?? false;\n switch (dependencyManager) {\n case DependencyManager.NPM:\n return (\n <InstallItem data-testid={'installListItem-npm'}>\n <PackageMangerAvatar alt=\"npm\" sx={{ bgcolor: common.white }}>\n <Npm />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installNpm\"\n text={`npm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n title={`npm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n />\n }\n />\n </InstallItem>\n );\n case DependencyManager.YARN:\n return (\n <InstallItem data-testid={'installListItem-yarn'}>\n <PackageMangerAvatar alt=\"yarn\" sx={{ bgcolor: common.white }}>\n <Yarn />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installYarn\"\n text={\n isGlobal\n ? `yarn ${localSettings.yarnModern ? '' : 'global'} add ${getGlobalInstall(\n isLatest,\n isGlobal,\n packageVersion,\n packageName,\n true\n )}`\n : `yarn add ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, true)}`\n }\n title={\n isGlobal\n ? `yarn global add ${getGlobalInstall(\n isLatest,\n isGlobal,\n packageVersion,\n packageName,\n true\n )}`\n : `yarn add ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, true)}`\n }\n />\n }\n />\n </InstallItem>\n );\n case DependencyManager.PNPM:\n return (\n <InstallItem data-testid={'installListItem-pnpm'}>\n <PackageMangerAvatar alt={'pnpm'} sx={{ bgcolor: common.white }}>\n <Pnpm />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installPnpm\"\n text={`pnpm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n title={`pnpm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n />\n }\n />\n </InstallItem>\n );\n default:\n return null;\n }\n};\n\nexport default InstallListItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,IAAM,eAAA,
|
|
1
|
+
{"version":3,"file":"InstallListItem.js","names":["styled","ListItem","ListItemText","Avatar","useSettings","common","Npm","CopyToClipBoard","Yarn","Pnpm"],"sources":["../../../src/components/Install/InstallListItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Avatar from '@mui/material/Avatar';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\n\nimport { useSettings } from '../../providers/PersistenceSettingProvider';\nimport CopyToClipBoard from '../CopyClipboard';\nimport { Npm, Pnpm, Yarn } from '../Icons';\n\nconst InstallItem = styled(ListItem)({\n padding: 0,\n ':hover': {\n backgroundColor: 'transparent',\n },\n});\n\nconst InstallListItemText = styled(ListItemText)({\n padding: '0 0 0 10px',\n margin: 0,\n});\n\nconst PackageMangerAvatar = styled(Avatar)({\n backgroundColor: 'transparent',\n padding: 0,\n marginLeft: 0,\n});\n\nexport enum DependencyManager {\n NPM = 'npm',\n YARN = 'yarn',\n PNPM = 'pnpm',\n}\n\ninterface Interface {\n packageName: string;\n dependencyManager: DependencyManager;\n packageVersion?: string;\n}\n\nexport function getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, isYarn = false) {\n const name = isGlobal\n ? `${isYarn ? '' : '-g'} ${packageVersion && !isLatest ? `${packageName}@${packageVersion}` : packageName}`\n : packageVersion && !isLatest\n ? `${packageName}@${packageVersion}`\n : packageName;\n\n return name.trim();\n}\n\nconst InstallListItem: React.FC<Interface> = ({\n packageName,\n dependencyManager,\n packageVersion,\n}) => {\n const { localSettings } = useSettings();\n // const theme: Theme = useTheme();\n const isLatest = localSettings[packageName]?.latest ?? false;\n const isGlobal = localSettings[packageName]?.global ?? false;\n switch (dependencyManager) {\n case DependencyManager.NPM:\n return (\n <InstallItem data-testid={'installListItem-npm'}>\n <PackageMangerAvatar alt=\"npm\" sx={{ bgcolor: common.white }}>\n <Npm />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installNpm\"\n text={`npm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n title={`npm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n />\n }\n />\n </InstallItem>\n );\n case DependencyManager.YARN:\n return (\n <InstallItem data-testid={'installListItem-yarn'}>\n <PackageMangerAvatar alt=\"yarn\" sx={{ bgcolor: common.white }}>\n <Yarn />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installYarn\"\n text={\n isGlobal\n ? `yarn ${localSettings.yarnModern ? '' : 'global'} add ${getGlobalInstall(\n isLatest,\n isGlobal,\n packageVersion,\n packageName,\n true\n )}`\n : `yarn add ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, true)}`\n }\n title={\n isGlobal\n ? `yarn global add ${getGlobalInstall(\n isLatest,\n isGlobal,\n packageVersion,\n packageName,\n true\n )}`\n : `yarn add ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName, true)}`\n }\n />\n }\n />\n </InstallItem>\n );\n case DependencyManager.PNPM:\n return (\n <InstallItem data-testid={'installListItem-pnpm'}>\n <PackageMangerAvatar alt={'pnpm'} sx={{ bgcolor: common.white }}>\n <Pnpm />\n </PackageMangerAvatar>\n <InstallListItemText\n primary={\n <CopyToClipBoard\n dataTestId=\"installPnpm\"\n text={`pnpm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n title={`pnpm install ${getGlobalInstall(isLatest, isGlobal, packageVersion, packageName)}`}\n />\n }\n />\n </InstallItem>\n );\n default:\n return null;\n }\n};\n\nexport default InstallListItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,IAAM,eAAA,GAAcA,gBAAAA,QAAAA,CAAOC,uBAAAA,OAAQ,CAAC,CAAC;CACnC,SAAS;CACT,UAAU,EACR,iBAAiB,cACnB;AACF,CAAC;AAED,IAAM,uBAAA,GAAsBD,gBAAAA,QAAAA,CAAOE,2BAAAA,OAAY,CAAC,CAAC;CAC/C,SAAS;CACT,QAAQ;AACV,CAAC;AAED,IAAM,uBAAA,GAAsBF,gBAAAA,QAAAA,CAAOG,qBAAAA,OAAM,CAAC,CAAC;CACzC,iBAAiB;CACjB,SAAS;CACT,YAAY;AACd,CAAC;AAED,IAAY,oBAAL,yBAAA,mBAAA;CACL,kBAAA,SAAA;CACA,kBAAA,UAAA;CACA,kBAAA,UAAA;;AACF,EAAA,CAAA,CAAA;AAQA,SAAgB,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,SAAS,OAAO;CAOhG,QANa,WACT,GAAG,SAAS,KAAK,KAAK,GAAG,kBAAkB,CAAC,WAAW,GAAG,YAAY,GAAG,mBAAmB,gBAC5F,kBAAkB,CAAC,WACjB,GAAG,YAAY,GAAG,mBAClB,YAAA,CAEM,KAAK;AACnB;AAEA,IAAM,mBAAwC,EAC5C,aACA,mBACA,qBACI;CACJ,MAAM,EAAE,kBAAkBC,mCAAAA,YAAY;CAEtC,MAAM,WAAW,cAAc,YAAY,EAAE,UAAU;CACvD,MAAM,WAAW,cAAc,YAAY,EAAE,UAAU;CACvD,QAAQ,mBAAR;EACE,KAAA,OACE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,aAAD;GAAa,eAAa;GAA1B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;IAAqB,KAAI;IAAM,IAAI,EAAE,SAASC,qBAAAA,OAAO,MAAM;IACzD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD,CAAM,CAAA;GACa,CAAA,GACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EACE,SACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,SAAD;IACE,YAAW;IACX,MAAM,eAAe,iBAAiB,UAAU,UAAU,gBAAgB,WAAW;IACrF,OAAO,eAAe,iBAAiB,UAAU,UAAU,gBAAgB,WAAW;GACvF,CAAA,EAEJ,CAAA,CACU;;EAEjB,KAAA,QACE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,aAAD;GAAa,eAAa;GAA1B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;IAAqB,KAAI;IAAO,IAAI,EAAE,SAASF,qBAAAA,OAAO,MAAM;IAC1D,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACG,aAAAA,MAAD,CAAO,CAAA;GACY,CAAA,GACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EACE,SACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,wBAAAA,SAAD;IACE,YAAW;IACX,MACE,WACI,QAAQ,cAAc,aAAa,KAAK,SAAS,OAAO,iBACtD,UACA,UACA,gBACA,aACA,IACF,MACA,YAAY,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,IAAI;IAExF,OACE,WACI,mBAAmB,iBACjB,UACA,UACA,gBACA,aACA,IACF,MACA,YAAY,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,IAAI;GAEzF,CAAA,EAEJ,CAAA,CACU;;EAEjB,KAAA,QACE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,aAAD;GAAa,eAAa;GAA1B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;IAAqB,KAAK;IAAQ,IAAI,EAAE,SAASF,qBAAAA,OAAO,MAAM;IAC5D,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACI,aAAAA,MAAD,CAAO,CAAA;GACY,CAAA,GACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EACE,SACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,wBAAAA,SAAD;IACE,YAAW;IACX,MAAM,gBAAgB,iBAAiB,UAAU,UAAU,gBAAgB,WAAW;IACtF,OAAO,gBAAgB,iBAAiB,UAAU,UAAU,gBAAgB,WAAW;GACxF,CAAA,EAEJ,CAAA,CACU;;EAEjB,SACE,OAAO;CACX;AACF"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Install as default };
|
|
1
|
+
export { default } from "./Install.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordListItems.js","names":[],"sources":["../../../src/components/Keywords/KeywordListItems.tsx"],"sourcesContent":["import Chip from '@mui/material/Chip';\nimport ListItem from '@mui/material/ListItem';\nimport React from 'react';\n\nconst KeywordListItems: React.FC<{ keywords: undefined | string | string[] }> = ({ keywords }) => {\n const keywordList =\n typeof keywords === 'string' ? keywords.replace(/,/g, ' ').split(' ') : keywords;\n\n if (!keywordList) {\n return null;\n }\n\n return (\n <ListItem sx={{ px: 0, mt: 0, flexWrap: 'wrap' }}>\n {[...keywordList].sort().map((keyword, index) => (\n <Chip key={index} label={keyword} size=\"small\" sx={{ mt: 0.5, mr: 0.5 }} />\n ))}\n </ListItem>\n );\n};\n\nexport default KeywordListItems;\n"],"mappings":";;;;;;;;;AAIA,IAAM,oBAA2E,EAAE,eAAe;CAChG,MAAM,cACJ,OAAO,aAAa,WAAW,SAAS,QAAQ,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI;CAE1E,IAAI,CAAC,aACH,OAAO;CAGT,OACE,iBAAA,GAAA,kBAAA,IAAA,
|
|
1
|
+
{"version":3,"file":"KeywordListItems.js","names":["ListItem","Chip"],"sources":["../../../src/components/Keywords/KeywordListItems.tsx"],"sourcesContent":["import Chip from '@mui/material/Chip';\nimport ListItem from '@mui/material/ListItem';\nimport React from 'react';\n\nconst KeywordListItems: React.FC<{ keywords: undefined | string | string[] }> = ({ keywords }) => {\n const keywordList =\n typeof keywords === 'string' ? keywords.replace(/,/g, ' ').split(' ') : keywords;\n\n if (!keywordList) {\n return null;\n }\n\n return (\n <ListItem sx={{ px: 0, mt: 0, flexWrap: 'wrap' }}>\n {[...keywordList].sort().map((keyword, index) => (\n <Chip key={index} label={keyword} size=\"small\" sx={{ mt: 0.5, mr: 0.5 }} />\n ))}\n </ListItem>\n );\n};\n\nexport default KeywordListItems;\n"],"mappings":";;;;;;;;;AAIA,IAAM,oBAA2E,EAAE,eAAe;CAChG,MAAM,cACJ,OAAO,aAAa,WAAW,SAAS,QAAQ,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI;CAE1E,IAAI,CAAC,aACH,OAAO;CAGT,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;EAAU,IAAI;GAAE,IAAI;GAAG,IAAI;GAAG,UAAU;EAAO;EAC5C,UAAA,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,UACrC,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,SAAD;GAAkB,OAAO;GAAS,MAAK;GAAQ,IAAI;IAAE,IAAI;IAAK,IAAI;GAAI;EAAI,GAA/D,KAA+D,CAC3E;CACO,CAAA;AAEd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Keywords.js","names":[],"sources":["../../../src/components/Keywords/Keywords.tsx"],"sourcesContent":["import List from '@mui/material/List';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport KeywordListItems from './KeywordListItems';\n\nconst Keywords: React.FC<{ packageMeta: PackageMetaInterface }> = ({ packageMeta }) => {\n const { t } = useTranslation();\n const theme: Theme = useTheme();\n\n // `keywords: []` is very common in real manifests and must not paint an\n // empty \"Keywords\" section\n if (!packageMeta?.latest?.keywords || packageMeta.latest.keywords.length === 0) {\n return null;\n }\n\n return (\n <List\n data-testid=\"keyword-list\"\n subheader={\n <Typography\n sx={{ fontWeight: theme.fontWeight.bold, textTransform: 'capitalize' }}\n variant=\"subtitle1\"\n >\n {t('sidebar.keywords.title')}\n </Typography>\n }\n >\n <KeywordListItems keywords={packageMeta?.latest?.keywords} />\n </List>\n );\n};\n\nexport default Keywords;\n"],"mappings":";;;;;;;;;;;;AAUA,IAAM,YAA6D,EAAE,kBAAkB;CACrF,MAAM,EAAE,OAAA,
|
|
1
|
+
{"version":3,"file":"Keywords.js","names":["useTranslation","useTheme","List","Typography","KeywordListItems"],"sources":["../../../src/components/Keywords/Keywords.tsx"],"sourcesContent":["import List from '@mui/material/List';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport KeywordListItems from './KeywordListItems';\n\nconst Keywords: React.FC<{ packageMeta: PackageMetaInterface }> = ({ packageMeta }) => {\n const { t } = useTranslation();\n const theme: Theme = useTheme();\n\n // `keywords: []` is very common in real manifests and must not paint an\n // empty \"Keywords\" section\n if (!packageMeta?.latest?.keywords || packageMeta.latest.keywords.length === 0) {\n return null;\n }\n\n return (\n <List\n data-testid=\"keyword-list\"\n subheader={\n <Typography\n sx={{ fontWeight: theme.fontWeight.bold, textTransform: 'capitalize' }}\n variant=\"subtitle1\"\n >\n {t('sidebar.keywords.title')}\n </Typography>\n }\n >\n <KeywordListItems keywords={packageMeta?.latest?.keywords} />\n </List>\n );\n};\n\nexport default Keywords;\n"],"mappings":";;;;;;;;;;;;AAUA,IAAM,YAA6D,EAAE,kBAAkB;CACrF,MAAM,EAAE,OAAA,GAAMA,cAAAA,eAAAA,CAAe;CAC7B,MAAM,SAAA,GAAeC,qBAAAA,SAAAA,CAAS;CAI9B,IAAI,CAAC,aAAa,QAAQ,YAAY,YAAY,OAAO,SAAS,WAAW,GAC3E,OAAO;CAGT,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,SAAD;EACE,eAAY;EACZ,WACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD;GACE,IAAI;IAAE,YAAY,MAAM,WAAW;IAAM,eAAe;GAAa;GACrE,SAAQ;GAEP,UAAA,EAAE,wBAAwB;EACjB,CAAA;EAGd,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,EAAkB,UAAU,aAAa,QAAQ,SAAW,CAAA;CACxD,CAAA;AAEV"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Keywords as default };
|
|
1
|
+
export { default } from "./Keywords.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","names":[],"sources":["../../../src/components/Label/Label.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { FontWeight, Theme } from '../../';\n\ninterface Props {\n text: string;\n capitalize?: boolean;\n weight?: FontWeight;\n}\n\ninterface WrapperProps {\n capitalize: boolean;\n weight: FontWeight;\n}\n\nconst Wrapper = styled('div')<WrapperProps & { theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight[props.weight],\n textTransform: props.capitalize ? 'capitalize' : 'none',\n}));\n\nconst Label: React.FC<Props> = ({\n text = '',\n capitalize = false,\n weight = 'regular',\n ...props\n}) => {\n return (\n <Wrapper capitalize={capitalize} weight={weight} {...props}>\n {text}\n </Wrapper>\n );\n};\n\nexport default Label;\n"],"mappings":";;;;;;;AAgBA,IAAM,WAAA,
|
|
1
|
+
{"version":3,"file":"Label.js","names":["styled"],"sources":["../../../src/components/Label/Label.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { FontWeight, Theme } from '../../';\n\ninterface Props {\n text: string;\n capitalize?: boolean;\n weight?: FontWeight;\n}\n\ninterface WrapperProps {\n capitalize: boolean;\n weight: FontWeight;\n}\n\nconst Wrapper = styled('div')<WrapperProps & { theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight[props.weight],\n textTransform: props.capitalize ? 'capitalize' : 'none',\n}));\n\nconst Label: React.FC<Props> = ({\n text = '',\n capitalize = false,\n weight = 'regular',\n ...props\n}) => {\n return (\n <Wrapper capitalize={capitalize} weight={weight} {...props}>\n {text}\n </Wrapper>\n );\n};\n\nexport default Label;\n"],"mappings":";;;;;;;AAgBA,IAAM,WAAA,GAAUA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,EAAoC,WAAW;CAC1E,YAAY,MAAM,MAAM,WAAW,MAAM;CACzC,eAAe,MAAM,aAAa,eAAe;AACnD,EAAE;AAEF,IAAM,SAA0B,EAC9B,OAAO,IACP,aAAa,OACb,SAAS,WACT,GAAG,YACC;CACJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;EAAqB;EAAoB;EAAQ,GAAI;EAClD,UAAA;CACM,CAAA;AAEb"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Label as default };
|
|
1
|
+
export { default } from "./Label.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '@mui/material/Typography';\nimport React from 'react';\nimport { Link as RouterLink } from 'react-router';\n\nconst CustomRouterLink = styled(RouterLink)`\n text-decoration: none;\n &:hover,\n &:focus {\n text-decoration: underline;\n }\n`;\n\nconst Link = function LinkFunction({\n ref,\n to,\n children,\n variant,\n className,\n onClick,\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) {\n return (\n <CustomRouterLink className={className} onClick={onClick} ref={ref} to={to}>\n <Typography color=\"primary\" variant={variant}>\n {children}\n </Typography>\n </CustomRouterLink>\n );\n};\n\nexport default Link;\n"],"mappings":";;;;;;;;;;AAKA,IAAM,mBAAmB,CAAA,GAAA,gBAAA,QAAA,
|
|
1
|
+
{"version":3,"file":"Link.js","names":["RouterLink","Typography"],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '@mui/material/Typography';\nimport React from 'react';\nimport { Link as RouterLink } from 'react-router';\n\nconst CustomRouterLink = styled(RouterLink)`\n text-decoration: none;\n &:hover,\n &:focus {\n text-decoration: underline;\n }\n`;\n\nconst Link = function LinkFunction({\n ref,\n to,\n children,\n variant,\n className,\n onClick,\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) {\n return (\n <CustomRouterLink className={className} onClick={onClick} ref={ref} to={to}>\n <Typography color=\"primary\" variant={variant}>\n {children}\n </Typography>\n </CustomRouterLink>\n );\n};\n\nexport default Link;\n"],"mappings":";;;;;;;;;;AAKA,IAAM,mBAAmB,CAAA,GAAA,gBAAA,QAAA,CAAOA,aAAAA,IAAU,CAAC;;;;;;;AAQ3C,IAAM,OAAO,SAAS,aAAa,EACjC,KACA,IACA,UACA,SACA,WACA,WAC4D;CAC5D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAA6B;EAAoB;EAAc;EAAS;EACtE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD;GAAY,OAAM;GAAmB;GAClC;EACS,CAAA;CACI,CAAA;AAEtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.mjs","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '@mui/material/Typography';\nimport React from 'react';\nimport { Link as RouterLink } from 'react-router';\n\nconst CustomRouterLink = styled(RouterLink)`\n text-decoration: none;\n &:hover,\n &:focus {\n text-decoration: underline;\n }\n`;\n\nconst Link = function LinkFunction({\n ref,\n to,\n children,\n variant,\n className,\n onClick,\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) {\n return (\n <CustomRouterLink className={className} onClick={onClick} ref={ref} to={to}>\n <Typography color=\"primary\" variant={variant}>\n {children}\n </Typography>\n </CustomRouterLink>\n );\n};\n\nexport default Link;\n"],"mappings":";;;;;;AAKA,IAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"Link.mjs","names":["RouterLink","Link"],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '@mui/material/Typography';\nimport React from 'react';\nimport { Link as RouterLink } from 'react-router';\n\nconst CustomRouterLink = styled(RouterLink)`\n text-decoration: none;\n &:hover,\n &:focus {\n text-decoration: underline;\n }\n`;\n\nconst Link = function LinkFunction({\n ref,\n to,\n children,\n variant,\n className,\n onClick,\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) {\n return (\n <CustomRouterLink className={className} onClick={onClick} ref={ref} to={to}>\n <Typography color=\"primary\" variant={variant}>\n {children}\n </Typography>\n </CustomRouterLink>\n );\n};\n\nexport default Link;\n"],"mappings":";;;;;;AAKA,IAAM,mBAAmB,OAAOA,IAAU,CAAC;;;;;;;AAQ3C,IAAMC,SAAO,SAAS,aAAa,EACjC,KACA,IACA,UACA,SACA,WACA,WAC4D;CAC5D,OACE,oBAAC,kBAAD;EAA6B;EAAoB;EAAc;EAAS;EACtE,UAAA,oBAAC,YAAD;GAAY,OAAM;GAAmB;GAClC;EACS,CAAA;CACI,CAAA;AAEtB"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Link as default };
|
|
1
|
+
export { default } from "./Link.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkExternal.js","names":[],"sources":["../../../src/components/LinkExternal/LinkExternal.tsx"],"sourcesContent":["import Link from '@mui/material/Link';\nimport React from 'react';\n\nconst LinkExternal = ({\n ref,\n ...props\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) => {\n const { to, children, variant, ...rest } = props;\n return (\n <Link\n href={to}\n ref={ref}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n underline=\"hover\"\n variant={variant ?? 'caption'}\n {...rest}\n >\n {children}\n </Link>\n );\n};\n\nexport default LinkExternal;\n"],"mappings":";;;;;;;AAGA,IAAM,gBAAgB,EACpB,KACA,GAAG,YAC4D;CAC/D,MAAM,EAAE,IAAI,UAAU,SAAS,GAAG,SAAS;CAC3C,OACE,iBAAA,GAAA,kBAAA,IAAA,
|
|
1
|
+
{"version":3,"file":"LinkExternal.js","names":["Link"],"sources":["../../../src/components/LinkExternal/LinkExternal.tsx"],"sourcesContent":["import Link from '@mui/material/Link';\nimport React from 'react';\n\nconst LinkExternal = ({\n ref,\n ...props\n}: any & { ref?: React.RefObject<HTMLAnchorElement | null> }) => {\n const { to, children, variant, ...rest } = props;\n return (\n <Link\n href={to}\n ref={ref}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n underline=\"hover\"\n variant={variant ?? 'caption'}\n {...rest}\n >\n {children}\n </Link>\n );\n};\n\nexport default LinkExternal;\n"],"mappings":";;;;;;;AAGA,IAAM,gBAAgB,EACpB,KACA,GAAG,YAC4D;CAC/D,MAAM,EAAE,IAAI,UAAU,SAAS,GAAG,SAAS;CAC3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,SAAD;EACE,MAAM;EACD;EACL,KAAI;EACJ,QAAO;EACP,WAAU;EACV,SAAS,WAAW;EACpB,GAAI;EAEH;CACG,CAAA;AAEV"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { LinkExternal as default };
|
|
1
|
+
export { default } from "./LinkExternal.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","names":[],"sources":["../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Logo } from '../../';\nimport Spinner from './Spinner';\nimport { Badge, Wrapper } from './styles';\n\nconst Loading: React.FC = () => (\n <Wrapper data-testid=\"loading\">\n <Badge>\n <Logo size=\"big\" />\n </Badge>\n <Spinner data-testid=\"spinnerLogo\" />\n </Wrapper>\n);\n\nexport default Loading;\n"],"mappings":";;;;;;;;;;AAMA,IAAM,gBACJ,iBAAA,GAAA,kBAAA,KAAA,
|
|
1
|
+
{"version":3,"file":"Loading.js","names":["Wrapper","Badge","Logo","Spinner"],"sources":["../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Logo } from '../../';\nimport Spinner from './Spinner';\nimport { Badge, Wrapper } from './styles';\n\nconst Loading: React.FC = () => (\n <Wrapper data-testid=\"loading\">\n <Badge>\n <Logo size=\"big\" />\n </Badge>\n <Spinner data-testid=\"spinnerLogo\" />\n </Wrapper>\n);\n\nexport default Loading;\n"],"mappings":";;;;;;;;;;AAMA,IAAM,gBACJ,iBAAA,GAAA,kBAAA,KAAA,CAACA,eAAAA,SAAD;CAAS,eAAY;CAArB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,OAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,SAAD,EAAM,MAAK,MAAO,CAAA,EACb,CAAA,GACP,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD,EAAS,eAAY,cAAe,CAAA,CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","names":[],"sources":["../../../../src/components/Loading/Spinner/Spinner.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\n\nimport type { Theme } from '../../../';\n\ninterface Props {\n size?: number;\n centered?: boolean;\n}\n\nconst Spinner: React.FC<Props> = ({ size = 50, centered = false }) => (\n <Wrapper centered={centered}>\n <Circular size={size} />\n </Wrapper>\n);\n\nexport default Spinner;\n\nconst Wrapper = styled('div')<Pick<Props, 'centered'>>(({ centered }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n ...(centered && {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n}));\n\nconst Circular = styled(CircularProgress)<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'dark' ? common.white : theme.palette.primary.main,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAM,WAA4B,EAAE,OAAO,IAAI,WAAW,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;CAAmB;CACjB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD,EAAgB,KAAO,CAAA;AAChB,CAAA;AAKX,IAAM,WAAA,
|
|
1
|
+
{"version":3,"file":"Spinner.js","names":["styled","CircularProgress","common"],"sources":["../../../../src/components/Loading/Spinner/Spinner.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\n\nimport type { Theme } from '../../../';\n\ninterface Props {\n size?: number;\n centered?: boolean;\n}\n\nconst Spinner: React.FC<Props> = ({ size = 50, centered = false }) => (\n <Wrapper centered={centered}>\n <Circular size={size} />\n </Wrapper>\n);\n\nexport default Spinner;\n\nconst Wrapper = styled('div')<Pick<Props, 'centered'>>(({ centered }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n ...(centered && {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n}));\n\nconst Circular = styled(CircularProgress)<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'dark' ? common.white : theme.palette.primary.main,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAM,WAA4B,EAAE,OAAO,IAAI,WAAW,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;CAAmB;CACjB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD,EAAgB,KAAO,CAAA;AAChB,CAAA;AAKX,IAAM,WAAA,GAAUA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,EAA2B,EAAE,gBAAgB;CACxE,SAAS;CACT,YAAY;CACZ,gBAAgB;CAChB,GAAI,YAAY;EACd,UAAU;EACV,KAAK;EACL,MAAM;EACN,WAAW;CACb;AACF,EAAE;AAEF,IAAM,YAAA,GAAWA,gBAAAA,QAAAA,CAAOC,+BAAAA,OAAgB,CAAC,EAAqB,EAAE,aAAa,EAC3E,OAAO,MAAM,QAAQ,SAAS,SAASC,qBAAAA,OAAO,QAAQ,MAAM,QAAQ,QAAQ,KAC9E,EAAE"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Spinner as default };
|
|
1
|
+
export { default } from "./Spinner.mjs";
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Loading as default };
|
|
1
|
+
export { default } from "./Loading.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":[],"sources":["../../../src/components/Loading/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\n\nimport type { Theme } from '../../';\n\nexport const Wrapper = styled('div')({\n transform: 'translate(-50%, -50%)',\n top: '50%',\n left: '50%',\n position: 'absolute',\n});\n\nexport const Badge = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n margin: '0 0 30px 0',\n padding: 5,\n borderRadius: 25,\n boxShadow: '0 10px 20px 0 rgba(69, 58, 100, 0.2)',\n background: theme.palette.mode === 'dark' ? theme.palette.black : '#f7f8f6',\n}));\n"],"mappings":";;;;AAIA,IAAa,WAAA,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styled"],"sources":["../../../src/components/Loading/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\n\nimport type { Theme } from '../../';\n\nexport const Wrapper = styled('div')({\n transform: 'translate(-50%, -50%)',\n top: '50%',\n left: '50%',\n position: 'absolute',\n});\n\nexport const Badge = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n margin: '0 0 30px 0',\n padding: 5,\n borderRadius: 25,\n boxShadow: '0 10px 20px 0 rgba(69, 58, 100, 0.2)',\n background: theme.palette.mode === 'dark' ? theme.palette.black : '#f7f8f6',\n}));\n"],"mappings":";;;;AAIA,IAAa,WAAA,GAAUA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,CAAC;CACnC,WAAW;CACX,KAAK;CACL,MAAM;CACN,UAAU;AACZ,CAAC;AAED,IAAa,SAAA,GAAQA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,EAAqB,EAAE,aAAa;CACpE,QAAQ;CACR,SAAS;CACT,cAAc;CACd,WAAW;CACX,YAAY,MAAM,QAAQ,SAAS,SAAS,MAAM,QAAQ,QAAQ;AACpE,EAAE"}
|
|
@@ -11,8 +11,10 @@ let _mui_material_Dialog = require("@mui/material/Dialog");
|
|
|
11
11
|
_mui_material_Dialog = require_runtime.__toESM(_mui_material_Dialog);
|
|
12
12
|
let _mui_material_DialogContent = require("@mui/material/DialogContent");
|
|
13
13
|
_mui_material_DialogContent = require_runtime.__toESM(_mui_material_DialogContent);
|
|
14
|
+
let _mui_material_Typography = require("@mui/material/Typography");
|
|
15
|
+
_mui_material_Typography = require_runtime.__toESM(_mui_material_Typography);
|
|
14
16
|
//#region src/components/LoginDialog/LoginDialog.tsx
|
|
15
|
-
var LoginDialog = ({ onClose, open = false }) => {
|
|
17
|
+
var LoginDialog = ({ onClose, open = false, message }) => {
|
|
16
18
|
const { userState } = require_AuthProvider.useAuth();
|
|
17
19
|
(0, react.useEffect)(() => {
|
|
18
20
|
if (userState?.token) onClose();
|
|
@@ -25,7 +27,14 @@ var LoginDialog = ({ onClose, open = false }) => {
|
|
|
25
27
|
open,
|
|
26
28
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_LoginDialogCloseButton.default, { onClose }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_DialogContent.default, {
|
|
27
29
|
"data-testid": "dialogContentLogin",
|
|
28
|
-
children: [
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.default, {}),
|
|
32
|
+
message && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Typography.default, {
|
|
33
|
+
role: "status",
|
|
34
|
+
children: message
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_LoginDialogForm.default, {})
|
|
37
|
+
]
|
|
29
38
|
})]
|
|
30
39
|
});
|
|
31
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialog.js","names":[],"sources":["../../../src/components/LoginDialog/LoginDialog.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport React, { useEffect } from 'react';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport LoginFormHeader from '../LoginForm/styles';\nimport LoginDialogCloseButton from './LoginDialogCloseButton';\nimport LoginDialogForm from './LoginDialogForm';\n\ninterface Props {\n open?: boolean;\n onClose: () => void;\n}\n\nconst LoginDialog: React.FC<Props> = ({ onClose, open = false }) => {\n const { userState } = useAuth();\n useEffect(() => {\n if (userState?.token) {\n onClose();\n }\n }, [onClose, userState]);\n return (\n <Dialog\n data-testid=\"login--dialog\"\n fullWidth={true}\n maxWidth=\"sm\"\n onClose={onClose}\n open={open}\n >\n <LoginDialogCloseButton onClose={onClose} />\n <DialogContent data-testid=\"dialogContentLogin\">\n <LoginFormHeader />\n <LoginDialogForm />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default LoginDialog;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoginDialog.js","names":["useAuth","Dialog","LoginDialogCloseButton","DialogContent","LoginFormHeader","Typography","LoginDialogForm"],"sources":["../../../src/components/LoginDialog/LoginDialog.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport Typography from '@mui/material/Typography';\nimport React, { useEffect } from 'react';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport LoginFormHeader from '../LoginForm/styles';\nimport LoginDialogCloseButton from './LoginDialogCloseButton';\nimport LoginDialogForm from './LoginDialogForm';\n\ninterface Props {\n open?: boolean;\n message?: string;\n onClose: () => void;\n}\n\nconst LoginDialog: React.FC<Props> = ({ onClose, open = false, message }) => {\n const { userState } = useAuth();\n useEffect(() => {\n if (userState?.token) {\n onClose();\n }\n }, [onClose, userState]);\n return (\n <Dialog\n data-testid=\"login--dialog\"\n fullWidth={true}\n maxWidth=\"sm\"\n onClose={onClose}\n open={open}\n >\n <LoginDialogCloseButton onClose={onClose} />\n <DialogContent data-testid=\"dialogContentLogin\">\n <LoginFormHeader />\n {message && <Typography role=\"status\">{message}</Typography>}\n <LoginDialogForm />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default LoginDialog;\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,IAAM,eAAgC,EAAE,SAAS,OAAO,OAAO,cAAc;CAC3E,MAAM,EAAE,cAAcA,qBAAAA,QAAQ;CAC9B,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,WAAW,OACb,QAAQ;CAEZ,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,qBAAAA,SAAD;EACE,eAAY;EACZ,WAAW;EACX,UAAS;EACA;EACH;EALR,UAAA,CAOE,iBAAA,GAAA,kBAAA,IAAA,CAACC,+BAAAA,SAAD,EAAiC,QAAU,CAAA,GAC3C,iBAAA,GAAA,kBAAA,KAAA,CAACC,4BAAAA,SAAD;GAAe,eAAY;GAA3B,UAAA;IACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,SAAD,CAAkB,CAAA;IACjB,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD;KAAY,MAAK;KAAU,UAAA;IAAoB,CAAA;IAC3D,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,SAAD,CAAkB,CAAA;GACL;EACT,CAAA,CAAA;;AAEZ"}
|
|
@@ -7,8 +7,9 @@ import { useEffect } from "react";
|
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import Dialog from "@mui/material/Dialog";
|
|
9
9
|
import DialogContent from "@mui/material/DialogContent";
|
|
10
|
+
import Typography from "@mui/material/Typography";
|
|
10
11
|
//#region src/components/LoginDialog/LoginDialog.tsx
|
|
11
|
-
var LoginDialog = ({ onClose, open = false }) => {
|
|
12
|
+
var LoginDialog = ({ onClose, open = false, message }) => {
|
|
12
13
|
const { userState } = useAuth();
|
|
13
14
|
useEffect(() => {
|
|
14
15
|
if (userState?.token) onClose();
|
|
@@ -21,7 +22,14 @@ var LoginDialog = ({ onClose, open = false }) => {
|
|
|
21
22
|
open,
|
|
22
23
|
children: [/* @__PURE__ */ jsx(LoginDialogCloseButton, { onClose }), /* @__PURE__ */ jsxs(DialogContent, {
|
|
23
24
|
"data-testid": "dialogContentLogin",
|
|
24
|
-
children: [
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ jsx(LoginFormHeader, {}),
|
|
27
|
+
message && /* @__PURE__ */ jsx(Typography, {
|
|
28
|
+
role: "status",
|
|
29
|
+
children: message
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsx(LoginDialogForm, {})
|
|
32
|
+
]
|
|
25
33
|
})]
|
|
26
34
|
});
|
|
27
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialog.mjs","names":[],"sources":["../../../src/components/LoginDialog/LoginDialog.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport React, { useEffect } from 'react';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport LoginFormHeader from '../LoginForm/styles';\nimport LoginDialogCloseButton from './LoginDialogCloseButton';\nimport LoginDialogForm from './LoginDialogForm';\n\ninterface Props {\n open?: boolean;\n onClose: () => void;\n}\n\nconst LoginDialog: React.FC<Props> = ({ onClose, open = false }) => {\n const { userState } = useAuth();\n useEffect(() => {\n if (userState?.token) {\n onClose();\n }\n }, [onClose, userState]);\n return (\n <Dialog\n data-testid=\"login--dialog\"\n fullWidth={true}\n maxWidth=\"sm\"\n onClose={onClose}\n open={open}\n >\n <LoginDialogCloseButton onClose={onClose} />\n <DialogContent data-testid=\"dialogContentLogin\">\n <LoginFormHeader />\n <LoginDialogForm />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default LoginDialog;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoginDialog.mjs","names":[],"sources":["../../../src/components/LoginDialog/LoginDialog.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport Typography from '@mui/material/Typography';\nimport React, { useEffect } from 'react';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport LoginFormHeader from '../LoginForm/styles';\nimport LoginDialogCloseButton from './LoginDialogCloseButton';\nimport LoginDialogForm from './LoginDialogForm';\n\ninterface Props {\n open?: boolean;\n message?: string;\n onClose: () => void;\n}\n\nconst LoginDialog: React.FC<Props> = ({ onClose, open = false, message }) => {\n const { userState } = useAuth();\n useEffect(() => {\n if (userState?.token) {\n onClose();\n }\n }, [onClose, userState]);\n return (\n <Dialog\n data-testid=\"login--dialog\"\n fullWidth={true}\n maxWidth=\"sm\"\n onClose={onClose}\n open={open}\n >\n <LoginDialogCloseButton onClose={onClose} />\n <DialogContent data-testid=\"dialogContentLogin\">\n <LoginFormHeader />\n {message && <Typography role=\"status\">{message}</Typography>}\n <LoginDialogForm />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default LoginDialog;\n"],"mappings":";;;;;;;;;;;AAgBA,IAAM,eAAgC,EAAE,SAAS,OAAO,OAAO,cAAc;CAC3E,MAAM,EAAE,cAAc,QAAQ;CAC9B,gBAAgB;EACd,IAAI,WAAW,OACb,QAAQ;CAEZ,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,OACE,qBAAC,QAAD;EACE,eAAY;EACZ,WAAW;EACX,UAAS;EACA;EACH;EALR,UAAA,CAOE,oBAAC,wBAAD,EAAiC,QAAU,CAAA,GAC3C,qBAAC,eAAD;GAAe,eAAY;GAA3B,UAAA;IACE,oBAAC,iBAAD,CAAkB,CAAA;IACjB,WAAW,oBAAC,YAAD;KAAY,MAAK;KAAU,UAAA;IAAoB,CAAA;IAC3D,oBAAC,iBAAD,CAAkB,CAAA;GACL;EACT,CAAA,CAAA;;AAEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialogCloseButton.js","names":[],"sources":["../../../src/components/LoginDialog/LoginDialogCloseButton.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport IconButton from '@mui/material/IconButton';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\n\nconst StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({\n position: 'absolute',\n right: theme.spacing(0.5),\n top: theme.spacing(0.5),\n color: theme.palette.grey[500],\n zIndex: 99,\n}));\n\ninterface Props {\n onClose: () => void;\n}\n\nconst LoginDialogCloseButton: React.FC<Props> = ({ onClose }) => {\n const { t } = useTranslation();\n return (\n <DialogTitle>\n <StyledIconButton data-testid=\"close-login-dialog-button\" onClick={onClose}>\n <CloseIcon titleAccess={t('button.close')} />\n </StyledIconButton>\n </DialogTitle>\n );\n};\n\nexport default LoginDialogCloseButton;\n"],"mappings":";;;;;;;;;;;;;;AASA,IAAM,oBAAA,
|
|
1
|
+
{"version":3,"file":"LoginDialogCloseButton.js","names":["styled","IconButton","useTranslation","DialogTitle","CloseIcon"],"sources":["../../../src/components/LoginDialog/LoginDialogCloseButton.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport IconButton from '@mui/material/IconButton';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\n\nconst StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({\n position: 'absolute',\n right: theme.spacing(0.5),\n top: theme.spacing(0.5),\n color: theme.palette.grey[500],\n zIndex: 99,\n}));\n\ninterface Props {\n onClose: () => void;\n}\n\nconst LoginDialogCloseButton: React.FC<Props> = ({ onClose }) => {\n const { t } = useTranslation();\n return (\n <DialogTitle>\n <StyledIconButton data-testid=\"close-login-dialog-button\" onClick={onClose}>\n <CloseIcon titleAccess={t('button.close')} />\n </StyledIconButton>\n </DialogTitle>\n );\n};\n\nexport default LoginDialogCloseButton;\n"],"mappings":";;;;;;;;;;;;;;AASA,IAAM,oBAAA,GAAmBA,gBAAAA,QAAAA,CAAOC,yBAAAA,OAAU,CAAC,EAAqB,EAAE,aAAa;CAC7E,UAAU;CACV,OAAO,MAAM,QAAQ,EAAG;CACxB,KAAK,MAAM,QAAQ,EAAG;CACtB,OAAO,MAAM,QAAQ,KAAK;CAC1B,QAAQ;AACV,EAAE;AAMF,IAAM,0BAA2C,EAAE,cAAc;CAC/D,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAC7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,SAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,eAAY;EAA4B,SAAS;EACjE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,SAAD,EAAW,aAAa,EAAE,cAAc,EAAI,CAAA;CAC5B,CAAA,EACP,CAAA;AAEjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialogForm.js","names":[],"sources":["../../../src/components/LoginDialog/LoginDialogForm.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport React from 'react';\n\nimport LoginForm from '../LoginForm/Login';\nimport { useLoginForm } from '../LoginForm/useLoginForm';\n\nconst LoginDialogForm: FC = () => {\n const {\n register,\n handleSubmit,\n formState: { isValid, isSubmitting, errors },\n onSubmit,\n } = useLoginForm();\n return (\n <LoginForm\n errors={errors}\n handleSubmit={handleSubmit}\n isSubmitting={isSubmitting}\n isValid={isValid}\n onSubmit={onSubmit}\n register={register}\n />\n );\n};\n\nexport default LoginDialogForm;\n"],"mappings":";;;;;;;AAMA,IAAM,wBAA4B;CAChC,MAAM,EACJ,UACA,cACA,WAAW,EAAE,SAAS,cAAc,UACpC,
|
|
1
|
+
{"version":3,"file":"LoginDialogForm.js","names":["useLoginForm","LoginForm"],"sources":["../../../src/components/LoginDialog/LoginDialogForm.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport React from 'react';\n\nimport LoginForm from '../LoginForm/Login';\nimport { useLoginForm } from '../LoginForm/useLoginForm';\n\nconst LoginDialogForm: FC = () => {\n const {\n register,\n handleSubmit,\n formState: { isValid, isSubmitting, errors },\n onSubmit,\n } = useLoginForm();\n return (\n <LoginForm\n errors={errors}\n handleSubmit={handleSubmit}\n isSubmitting={isSubmitting}\n isValid={isValid}\n onSubmit={onSubmit}\n register={register}\n />\n );\n};\n\nexport default LoginDialogForm;\n"],"mappings":";;;;;;;AAMA,IAAM,wBAA4B;CAChC,MAAM,EACJ,UACA,cACA,WAAW,EAAE,SAAS,cAAc,UACpC,aACEA,qBAAAA,aAAa;CACjB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,SAAD;EACU;EACM;EACA;EACL;EACC;EACA;CACX,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialogFormError.js","names":[],"sources":["../../../src/components/LoginDialog/LoginDialogFormError.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Error from '@mui/icons-material/Error';\nimport Box from '@mui/material/Box';\nimport SnackbarContent from '@mui/material/SnackbarContent';\nimport { common } from '@mui/material/colors';\nimport React, { memo } from 'react';\n\nimport type { Theme } from '../../';\n\nconst StyledSnackbarContent = styled(SnackbarContent)<{ theme?: Theme }>(({ theme }) => ({\n backgroundColor: theme.palette.error.dark,\n marginTop: theme.spacing(2),\n color: common.white,\n}));\n\nconst StyledErrorIcon = styled(Error)<{ theme?: Theme }>(({ theme }) => ({\n fontSize: 20,\n opacity: 0.9,\n marginRight: theme.spacing(1),\n}));\n\ninterface Props {\n error: any;\n}\n\nconst LoginDialogFormError = memo(({ error }: Props) => {\n return (\n <StyledSnackbarContent\n message={\n <Box alignItems=\"center\" data-testid=\"error\" display=\"flex\">\n <StyledErrorIcon />\n {error.message}\n </Box>\n }\n />\n );\n});\n\nexport default LoginDialogFormError;\n"],"mappings":";;;;;;;;;;;;;;AASA,IAAM,yBAAA,
|
|
1
|
+
{"version":3,"file":"LoginDialogFormError.js","names":["styled","SnackbarContent","common","Error","memo","Box"],"sources":["../../../src/components/LoginDialog/LoginDialogFormError.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Error from '@mui/icons-material/Error';\nimport Box from '@mui/material/Box';\nimport SnackbarContent from '@mui/material/SnackbarContent';\nimport { common } from '@mui/material/colors';\nimport React, { memo } from 'react';\n\nimport type { Theme } from '../../';\n\nconst StyledSnackbarContent = styled(SnackbarContent)<{ theme?: Theme }>(({ theme }) => ({\n backgroundColor: theme.palette.error.dark,\n marginTop: theme.spacing(2),\n color: common.white,\n}));\n\nconst StyledErrorIcon = styled(Error)<{ theme?: Theme }>(({ theme }) => ({\n fontSize: 20,\n opacity: 0.9,\n marginRight: theme.spacing(1),\n}));\n\ninterface Props {\n error: any;\n}\n\nconst LoginDialogFormError = memo(({ error }: Props) => {\n return (\n <StyledSnackbarContent\n message={\n <Box alignItems=\"center\" data-testid=\"error\" display=\"flex\">\n <StyledErrorIcon />\n {error.message}\n </Box>\n }\n />\n );\n});\n\nexport default LoginDialogFormError;\n"],"mappings":";;;;;;;;;;;;;;AASA,IAAM,yBAAA,GAAwBA,gBAAAA,QAAAA,CAAOC,8BAAAA,OAAe,CAAC,EAAqB,EAAE,aAAa;CACvF,iBAAiB,MAAM,QAAQ,MAAM;CACrC,WAAW,MAAM,QAAQ,CAAC;CAC1B,OAAOC,qBAAAA,OAAO;AAChB,EAAE;AAEF,IAAM,mBAAA,GAAkBF,gBAAAA,QAAAA,CAAOG,0BAAAA,OAAK,CAAC,EAAqB,EAAE,aAAa;CACvE,UAAU;CACV,SAAS;CACT,aAAa,MAAM,QAAQ,CAAC;AAC9B,EAAE;AAMF,IAAM,wBAAA,GAAuBC,MAAAA,KAAAA,EAAM,EAAE,YAAmB;CACtD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD,EACE,SACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,SAAD;EAAK,YAAW;EAAS,eAAY;EAAQ,SAAQ;EAArD,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD,CAAkB,CAAA,GACjB,MAAM,OACJ;CAER,CAAA,EAAA,CAAA;AAEL,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { LoginDialog as default };
|
|
1
|
+
export { default } from "./LoginDialog.mjs";
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
-
const require_routes = require("../../utils/routes.js");
|
|
3
|
-
require("../../utils/index.js");
|
|
4
|
-
const require_configuration = require("../../configuration.js");
|
|
5
2
|
const require_LoginDialogFormError = require("../LoginDialog/LoginDialogFormError.js");
|
|
6
3
|
const require_PasswordField = require("./PasswordField.js");
|
|
7
4
|
const require_UsernameField = require("./UsernameField.js");
|
|
@@ -11,11 +8,6 @@ let react = require("react");
|
|
|
11
8
|
react = require_runtime.__toESM(react);
|
|
12
9
|
let react_i18next = require("react-i18next");
|
|
13
10
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
|
-
let react_router = require("react-router");
|
|
15
|
-
let _mui_material_Link = require("@mui/material/Link");
|
|
16
|
-
_mui_material_Link = require_runtime.__toESM(_mui_material_Link);
|
|
17
|
-
let _mui_material_Typography = require("@mui/material/Typography");
|
|
18
|
-
_mui_material_Typography = require_runtime.__toESM(_mui_material_Typography);
|
|
19
11
|
let _mui_material_Button = require("@mui/material/Button");
|
|
20
12
|
_mui_material_Button = require_runtime.__toESM(_mui_material_Button);
|
|
21
13
|
//#region src/components/LoginForm/Login.tsx
|
|
@@ -23,7 +15,6 @@ var StyledForm = (0, _emotion_styled.default)("form")(({ theme }) => ({ marginTo
|
|
|
23
15
|
var StyledButton = (0, _emotion_styled.default)(_mui_material_Button.default)(({ theme }) => ({ margin: theme.spacing(3, 0, 2) }));
|
|
24
16
|
var LoginForm = ({ register, handleSubmit, onSubmit, errors, isValid, isSubmitting = false }) => {
|
|
25
17
|
const { t } = (0, react_i18next.useTranslation)();
|
|
26
|
-
const changePasswordEnabled = require_configuration.getConfiguration()?.flags?.changePassword;
|
|
27
18
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledForm, {
|
|
28
19
|
noValidate: true,
|
|
29
20
|
onSubmit: handleSubmit(onSubmit),
|
|
@@ -47,20 +38,6 @@ var LoginForm = ({ register, handleSubmit, onSubmit, errors, isValid, isSubmitti
|
|
|
47
38
|
type: "submit",
|
|
48
39
|
variant: "contained",
|
|
49
40
|
children: t("button.login")
|
|
50
|
-
}),
|
|
51
|
-
changePasswordEnabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Typography.default, {
|
|
52
|
-
align: "center",
|
|
53
|
-
sx: {
|
|
54
|
-
mt: 2,
|
|
55
|
-
fontSize: 12
|
|
56
|
-
},
|
|
57
|
-
variant: "body2",
|
|
58
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Link.default, {
|
|
59
|
-
component: react_router.Link,
|
|
60
|
-
sx: { ml: 1 },
|
|
61
|
-
to: require_routes.Route.CHANGE_PASSWORD,
|
|
62
|
-
children: t("security.changePassword.title")
|
|
63
|
-
})
|
|
64
41
|
})
|
|
65
42
|
]
|
|
66
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","names":[],"sources":["../../../src/components/LoginForm/Login.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Button from '@mui/material/Button';\nimport
|
|
1
|
+
{"version":3,"file":"Login.js","names":["styled","Button","useTranslation","UsernameField","PasswordField","LoginDialogFormError"],"sources":["../../../src/components/LoginForm/Login.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Button from '@mui/material/Button';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors, UseFormHandleSubmit, UseFormRegister } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport LoginDialogFormError from '../LoginDialog/LoginDialogFormError';\nimport PasswordField from './PasswordField';\nimport UsernameField from './UsernameField';\n\nconst StyledForm = styled('form')<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(1),\n}));\n\nconst StyledButton = styled(Button)<{ theme?: Theme }>(({ theme }) => ({\n margin: theme.spacing(3, 0, 2),\n}));\n\nexport interface LoginFormValues {\n username: string;\n password: string;\n}\n\ninterface Props {\n register: UseFormRegister<LoginFormValues>;\n handleSubmit: UseFormHandleSubmit<LoginFormValues>;\n onSubmit: (data: LoginFormValues) => void;\n errors: FieldErrors<LoginFormValues>;\n isValid: boolean;\n isSubmitting?: boolean;\n}\n\nconst LoginForm: FC<Props> = ({\n register,\n handleSubmit,\n onSubmit,\n errors,\n isValid,\n isSubmitting = false,\n}) => {\n const { t } = useTranslation();\n\n return (\n <StyledForm noValidate={true} onSubmit={handleSubmit(onSubmit)}>\n <UsernameField errors={errors} register={register} />\n <PasswordField errors={errors} register={register} />\n\n {errors.root && <LoginDialogFormError error={errors.root} />}\n\n <StyledButton\n color=\"primary\"\n data-testid=\"login-dialog-form-login-button\"\n // disable while the request is in flight: a double click means a double\n // POST, which can even trip the login rate limit\n disabled={!isValid || isSubmitting}\n fullWidth={true}\n id=\"login--dialog-button-submit\"\n size=\"large\"\n type=\"submit\"\n variant=\"contained\"\n >\n {t('button.login')}\n </StyledButton>\n </StyledForm>\n );\n};\n\nexport default LoginForm;\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAM,cAAA,GAAaA,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa,EACnE,WAAW,MAAM,QAAQ,CAAC,EAC5B,EAAE;AAEF,IAAM,gBAAA,GAAeA,gBAAAA,QAAAA,CAAOC,qBAAAA,OAAM,CAAC,EAAqB,EAAE,aAAa,EACrE,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,EAC/B,EAAE;AAgBF,IAAM,aAAwB,EAC5B,UACA,cACA,UACA,QACA,SACA,eAAe,YACX;CACJ,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAE7B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,YAAD;EAAY,YAAY;EAAM,UAAU,aAAa,QAAQ;EAA7D,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,SAAD;IAAuB;IAAkB;GAAW,CAAA;GACpD,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,SAAD;IAAuB;IAAkB;GAAW,CAAA;GAEnD,OAAO,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,SAAD,EAAsB,OAAO,OAAO,KAAO,CAAA;GAE3D,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD;IACE,OAAM;IACN,eAAY;IAGZ,UAAU,CAAC,WAAW;IACtB,WAAW;IACX,IAAG;IACH,MAAK;IACL,MAAK;IACL,SAAQ;IAEP,UAAA,EAAE,cAAc;GACL,CAAA;EACJ;;AAEhB"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { Route as Route$1 } from "../../utils/routes.mjs";
|
|
2
|
-
import "../../utils/index.mjs";
|
|
3
|
-
import { getConfiguration } from "../../configuration.mjs";
|
|
4
1
|
import LoginDialogFormError from "../LoginDialog/LoginDialogFormError.mjs";
|
|
5
2
|
import PasswordField from "./PasswordField.mjs";
|
|
6
3
|
import UsernameField from "./UsernameField.mjs";
|
|
@@ -8,16 +5,12 @@ import styled from "@emotion/styled";
|
|
|
8
5
|
import "react";
|
|
9
6
|
import { useTranslation } from "react-i18next";
|
|
10
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { Link } from "react-router";
|
|
12
|
-
import Link$1 from "@mui/material/Link";
|
|
13
|
-
import Typography from "@mui/material/Typography";
|
|
14
8
|
import Button from "@mui/material/Button";
|
|
15
9
|
//#region src/components/LoginForm/Login.tsx
|
|
16
10
|
var StyledForm = styled("form")(({ theme }) => ({ marginTop: theme.spacing(1) }));
|
|
17
11
|
var StyledButton = styled(Button)(({ theme }) => ({ margin: theme.spacing(3, 0, 2) }));
|
|
18
12
|
var LoginForm = ({ register, handleSubmit, onSubmit, errors, isValid, isSubmitting = false }) => {
|
|
19
13
|
const { t } = useTranslation();
|
|
20
|
-
const changePasswordEnabled = getConfiguration()?.flags?.changePassword;
|
|
21
14
|
return /* @__PURE__ */ jsxs(StyledForm, {
|
|
22
15
|
noValidate: true,
|
|
23
16
|
onSubmit: handleSubmit(onSubmit),
|
|
@@ -41,20 +34,6 @@ var LoginForm = ({ register, handleSubmit, onSubmit, errors, isValid, isSubmitti
|
|
|
41
34
|
type: "submit",
|
|
42
35
|
variant: "contained",
|
|
43
36
|
children: t("button.login")
|
|
44
|
-
}),
|
|
45
|
-
changePasswordEnabled && /* @__PURE__ */ jsx(Typography, {
|
|
46
|
-
align: "center",
|
|
47
|
-
sx: {
|
|
48
|
-
mt: 2,
|
|
49
|
-
fontSize: 12
|
|
50
|
-
},
|
|
51
|
-
variant: "body2",
|
|
52
|
-
children: /* @__PURE__ */ jsx(Link$1, {
|
|
53
|
-
component: Link,
|
|
54
|
-
sx: { ml: 1 },
|
|
55
|
-
to: Route$1.CHANGE_PASSWORD,
|
|
56
|
-
children: t("security.changePassword.title")
|
|
57
|
-
})
|
|
58
37
|
})
|
|
59
38
|
]
|
|
60
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.mjs","names":[],"sources":["../../../src/components/LoginForm/Login.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Button from '@mui/material/Button';\nimport
|
|
1
|
+
{"version":3,"file":"Login.mjs","names":[],"sources":["../../../src/components/LoginForm/Login.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Button from '@mui/material/Button';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors, UseFormHandleSubmit, UseFormRegister } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport LoginDialogFormError from '../LoginDialog/LoginDialogFormError';\nimport PasswordField from './PasswordField';\nimport UsernameField from './UsernameField';\n\nconst StyledForm = styled('form')<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(1),\n}));\n\nconst StyledButton = styled(Button)<{ theme?: Theme }>(({ theme }) => ({\n margin: theme.spacing(3, 0, 2),\n}));\n\nexport interface LoginFormValues {\n username: string;\n password: string;\n}\n\ninterface Props {\n register: UseFormRegister<LoginFormValues>;\n handleSubmit: UseFormHandleSubmit<LoginFormValues>;\n onSubmit: (data: LoginFormValues) => void;\n errors: FieldErrors<LoginFormValues>;\n isValid: boolean;\n isSubmitting?: boolean;\n}\n\nconst LoginForm: FC<Props> = ({\n register,\n handleSubmit,\n onSubmit,\n errors,\n isValid,\n isSubmitting = false,\n}) => {\n const { t } = useTranslation();\n\n return (\n <StyledForm noValidate={true} onSubmit={handleSubmit(onSubmit)}>\n <UsernameField errors={errors} register={register} />\n <PasswordField errors={errors} register={register} />\n\n {errors.root && <LoginDialogFormError error={errors.root} />}\n\n <StyledButton\n color=\"primary\"\n data-testid=\"login-dialog-form-login-button\"\n // disable while the request is in flight: a double click means a double\n // POST, which can even trip the login rate limit\n disabled={!isValid || isSubmitting}\n fullWidth={true}\n id=\"login--dialog-button-submit\"\n size=\"large\"\n type=\"submit\"\n variant=\"contained\"\n >\n {t('button.login')}\n </StyledButton>\n </StyledForm>\n );\n};\n\nexport default LoginForm;\n"],"mappings":";;;;;;;;;AAYA,IAAM,aAAa,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa,EACnE,WAAW,MAAM,QAAQ,CAAC,EAC5B,EAAE;AAEF,IAAM,eAAe,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa,EACrE,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,EAC/B,EAAE;AAgBF,IAAM,aAAwB,EAC5B,UACA,cACA,UACA,QACA,SACA,eAAe,YACX;CACJ,MAAM,EAAE,MAAM,eAAe;CAE7B,OACE,qBAAC,YAAD;EAAY,YAAY;EAAM,UAAU,aAAa,QAAQ;EAA7D,UAAA;GACE,oBAAC,eAAD;IAAuB;IAAkB;GAAW,CAAA;GACpD,oBAAC,eAAD;IAAuB;IAAkB;GAAW,CAAA;GAEnD,OAAO,QAAQ,oBAAC,sBAAD,EAAsB,OAAO,OAAO,KAAO,CAAA;GAE3D,oBAAC,cAAD;IACE,OAAM;IACN,eAAY;IAGZ,UAAU,CAAC,WAAW;IACtB,WAAW;IACX,IAAG;IACH,MAAK;IACL,MAAK;IACL,SAAQ;IAEP,UAAA,EAAE,cAAc;GACL,CAAA;EACJ;;AAEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.js","names":[],"sources":["../../../src/components/LoginForm/PasswordField.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport TextField from '@mui/material/TextField';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport type { AddUserFormValues, LoginFormValues } from '../../utils/schemas';\nimport { PASSWORD_MIN_LENGTH } from '../../utils/schemas';\n\nconst StyledTextField = styled(TextField)<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\ninterface Props {\n register: any;\n errors: FieldErrors<LoginFormValues | AddUserFormValues>;\n}\n\nconst PasswordField: FC<Props> = ({ register, errors }) => {\n const { t } = useTranslation();\n\n return (\n <StyledTextField\n autoComplete=\"current-password\"\n error={!!errors.password}\n fullWidth={true}\n // schema messages are i18n keys (inline rules are ignored when a resolver is set)\n helperText={\n errors.password?.message\n ? t(errors.password.message, { length: PASSWORD_MIN_LENGTH })\n : undefined\n }\n id=\"login--dialog-password\"\n {...register('password')}\n data-testid=\"password\"\n label={t('form.password')}\n placeholder={t('form-placeholder.password')}\n required={true}\n type=\"password\"\n variant=\"outlined\"\n />\n );\n};\n\nexport default PasswordField;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,mBAAA,
|
|
1
|
+
{"version":3,"file":"PasswordField.js","names":["styled","TextField","useTranslation"],"sources":["../../../src/components/LoginForm/PasswordField.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport TextField from '@mui/material/TextField';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport type { AddUserFormValues, LoginFormValues } from '../../utils/schemas';\nimport { PASSWORD_MIN_LENGTH } from '../../utils/schemas';\n\nconst StyledTextField = styled(TextField)<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\ninterface Props {\n register: any;\n errors: FieldErrors<LoginFormValues | AddUserFormValues>;\n}\n\nconst PasswordField: FC<Props> = ({ register, errors }) => {\n const { t } = useTranslation();\n\n return (\n <StyledTextField\n autoComplete=\"current-password\"\n error={!!errors.password}\n fullWidth={true}\n // schema messages are i18n keys (inline rules are ignored when a resolver is set)\n helperText={\n errors.password?.message\n ? t(errors.password.message, { length: PASSWORD_MIN_LENGTH })\n : undefined\n }\n id=\"login--dialog-password\"\n {...register('password')}\n data-testid=\"password\"\n label={t('form.password')}\n placeholder={t('form-placeholder.password')}\n required={true}\n type=\"password\"\n variant=\"outlined\"\n />\n );\n};\n\nexport default PasswordField;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,mBAAA,GAAkBA,gBAAAA,QAAAA,CAAOC,wBAAAA,OAAS,CAAC,EAAqB,EAAE,aAAa,EAC3E,WAAW,MAAM,QAAQ,CAAC,EAC5B,EAAE;AAOF,IAAM,iBAA4B,EAAE,UAAU,aAAa;CACzD,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD;EACE,cAAa;EACb,OAAO,CAAC,CAAC,OAAO;EAChB,WAAW;EAEX,YACE,OAAO,UAAU,UACb,EAAE,OAAO,SAAS,SAAS,EAAE,QAAA,EAA4B,CAAC,IAC1D,KAAA;EAEN,IAAG;EACH,GAAI,SAAS,UAAU;EACvB,eAAY;EACZ,OAAO,EAAE,eAAe;EACxB,aAAa,EAAE,2BAA2B;EAC1C,UAAU;EACV,MAAK;EACL,SAAQ;CACT,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsernameField.js","names":[],"sources":["../../../src/components/LoginForm/UsernameField.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport TextField from '@mui/material/TextField';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport type { AddUserFormValues, LoginFormValues } from '../../utils/schemas';\nimport { USERNAME_MIN_LENGTH } from '../../utils/schemas';\n\nconst StyledTextField = styled(TextField)<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\ninterface Props {\n register: any;\n errors: FieldErrors<LoginFormValues | AddUserFormValues>;\n}\n\nconst UsernameField: FC<Props> = ({ register, errors }) => {\n const { t } = useTranslation();\n\n return (\n <StyledTextField\n autoComplete=\"username\"\n error={!!errors.username}\n fullWidth={true}\n // schema messages are i18n keys (inline rules are ignored when a resolver is set)\n helperText={\n errors.username?.message\n ? t(errors.username.message, { length: USERNAME_MIN_LENGTH })\n : undefined\n }\n id=\"login--dialog-username\"\n {...register('username')}\n label={t('form.username')}\n placeholder={t('form-placeholder.username')}\n required={true}\n variant=\"outlined\"\n />\n );\n};\n\nexport default UsernameField;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,mBAAA,
|
|
1
|
+
{"version":3,"file":"UsernameField.js","names":["styled","TextField","useTranslation"],"sources":["../../../src/components/LoginForm/UsernameField.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport TextField from '@mui/material/TextField';\nimport type { FC } from 'react';\nimport React from 'react';\nimport type { FieldErrors } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport type { AddUserFormValues, LoginFormValues } from '../../utils/schemas';\nimport { USERNAME_MIN_LENGTH } from '../../utils/schemas';\n\nconst StyledTextField = styled(TextField)<{ theme?: Theme }>(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\ninterface Props {\n register: any;\n errors: FieldErrors<LoginFormValues | AddUserFormValues>;\n}\n\nconst UsernameField: FC<Props> = ({ register, errors }) => {\n const { t } = useTranslation();\n\n return (\n <StyledTextField\n autoComplete=\"username\"\n error={!!errors.username}\n fullWidth={true}\n // schema messages are i18n keys (inline rules are ignored when a resolver is set)\n helperText={\n errors.username?.message\n ? t(errors.username.message, { length: USERNAME_MIN_LENGTH })\n : undefined\n }\n id=\"login--dialog-username\"\n {...register('username')}\n label={t('form.username')}\n placeholder={t('form-placeholder.username')}\n required={true}\n variant=\"outlined\"\n />\n );\n};\n\nexport default UsernameField;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,mBAAA,GAAkBA,gBAAAA,QAAAA,CAAOC,wBAAAA,OAAS,CAAC,EAAqB,EAAE,aAAa,EAC3E,WAAW,MAAM,QAAQ,CAAC,EAC5B,EAAE;AAOF,IAAM,iBAA4B,EAAE,UAAU,aAAa;CACzD,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD;EACE,cAAa;EACb,OAAO,CAAC,CAAC,OAAO;EAChB,WAAW;EAEX,YACE,OAAO,UAAU,UACb,EAAE,OAAO,SAAS,SAAS,EAAE,QAAA,EAA4B,CAAC,IAC1D,KAAA;EAEN,IAAG;EACH,GAAI,SAAS,UAAU;EACvB,OAAO,EAAE,eAAe;EACxB,aAAa,EAAE,2BAA2B;EAC1C,UAAU;EACV,SAAQ;CACT,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":[],"sources":["../../../src/components/LoginForm/styles.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CloseIcon from '@mui/icons-material/Close';\nimport LockOutlined from '@mui/icons-material/LockOutlined';\nimport Avatar from '@mui/material/Avatar';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { Heading } from '../../';\n\ninterface Props {\n onClose?: () => void;\n}\n\nconst LoginFormHeader: React.FC<Props> = ({ onClose }) => {\n const { t } = useTranslation();\n\n return (\n <Box alignItems=\"center\" display=\"flex\" flexDirection=\"column\" position=\"relative\">\n {onClose && (\n <StyledIconButton aria-label={t('button.close')} onClick={onClose}>\n <CloseIcon />\n </StyledIconButton>\n )}\n <StyledAvatar>\n <LockOutlined />\n </StyledAvatar>\n <Heading>{t('button.login')}</Heading>\n </Box>\n );\n};\n\nconst StyledAvatar = styled(Avatar)<{ theme?: Theme }>(({ theme }) => ({\n margin: theme.spacing(1),\n backgroundColor:\n theme.palette.mode === 'light' ? theme.palette.primary.main : theme.palette.cyanBlue,\n color: common.white,\n}));\n\nconst StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({\n position: 'absolute',\n right: theme.spacing(0.5),\n top: theme.spacing(0.5),\n color: theme.palette.grey[500],\n}));\n\nexport default LoginFormHeader;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,IAAM,mBAAoC,EAAE,cAAc;CACxD,MAAM,EAAE,OAAA,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["useTranslation","Box","CloseIcon","LockOutlined","Heading","styled","Avatar","common","IconButton"],"sources":["../../../src/components/LoginForm/styles.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport CloseIcon from '@mui/icons-material/Close';\nimport LockOutlined from '@mui/icons-material/LockOutlined';\nimport Avatar from '@mui/material/Avatar';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { Heading } from '../../';\n\ninterface Props {\n onClose?: () => void;\n}\n\nconst LoginFormHeader: React.FC<Props> = ({ onClose }) => {\n const { t } = useTranslation();\n\n return (\n <Box alignItems=\"center\" display=\"flex\" flexDirection=\"column\" position=\"relative\">\n {onClose && (\n <StyledIconButton aria-label={t('button.close')} onClick={onClose}>\n <CloseIcon />\n </StyledIconButton>\n )}\n <StyledAvatar>\n <LockOutlined />\n </StyledAvatar>\n <Heading>{t('button.login')}</Heading>\n </Box>\n );\n};\n\nconst StyledAvatar = styled(Avatar)<{ theme?: Theme }>(({ theme }) => ({\n margin: theme.spacing(1),\n backgroundColor:\n theme.palette.mode === 'light' ? theme.palette.primary.main : theme.palette.cyanBlue,\n color: common.white,\n}));\n\nconst StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({\n position: 'absolute',\n right: theme.spacing(0.5),\n top: theme.spacing(0.5),\n color: theme.palette.grey[500],\n}));\n\nexport default LoginFormHeader;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,IAAM,mBAAoC,EAAE,cAAc;CACxD,MAAM,EAAE,OAAA,GAAMA,cAAAA,eAAAA,CAAe;CAE7B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,SAAD;EAAK,YAAW;EAAS,SAAQ;EAAO,eAAc;EAAS,UAAS;EAAxE,UAAA;GACG,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;IAAkB,cAAY,EAAE,cAAc;IAAG,SAAS;IACxD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,SAAD,CAAY,CAAA;GACI,CAAA;GAEpB,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iCAAAA,SAAD,CAAe,CAAA,EACH,CAAA;GACd,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD,EAAA,UAAU,EAAE,cAAc,EAAW,CAAA;EAClC;;AAET;AAEA,IAAM,gBAAA,GAAeC,gBAAAA,QAAAA,CAAOC,qBAAAA,OAAM,CAAC,EAAqB,EAAE,aAAa;CACrE,QAAQ,MAAM,QAAQ,CAAC;CACvB,iBACE,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ;CAC9E,OAAOC,qBAAAA,OAAO;AAChB,EAAE;AAEF,IAAM,oBAAA,GAAmBF,gBAAAA,QAAAA,CAAOG,yBAAAA,OAAU,CAAC,EAAqB,EAAE,aAAa;CAC7E,UAAU;CACV,OAAO,MAAM,QAAQ,EAAG;CACxB,KAAK,MAAM,QAAQ,EAAG;CACtB,OAAO,MAAM,QAAQ,KAAK;AAC5B,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoginForm.js","names":[],"sources":["../../../src/components/LoginForm/useLoginForm.ts"],"sourcesContent":["import { yupResolver } from '@hookform/resolvers/yup';\nimport { useCallback, useRef } from 'react';\nimport { type UseFormReturn, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport { authErrorMessage } from '../../providers/AuthProvider/utils';\nimport type { LoginFormValues } from '../../utils/schemas';\nimport { loginSchema } from '../../utils/schemas';\n\ntype Options = {\n onSuccess?: () => void;\n};\n\nexport function useLoginForm({ onSuccess }: Options = {}): UseFormReturn<LoginFormValues> & {\n onSubmit: (data: LoginFormValues) => Promise<void>;\n} {\n const { handleLogin } = useAuth();\n const { t } = useTranslation();\n\n const form = useForm<LoginFormValues>({\n mode: 'onChange',\n resolver: yupResolver(loginSchema),\n });\n\n const { setError } = form;\n\n // `disabled={isSubmitting}` only applies after a re-render; clicks landing in\n // the same React batch would still fire duplicate requests\n const inFlight = useRef(false);\n\n const onSubmit = useCallback(\n async (data: LoginFormValues) => {\n if (inFlight.current) {\n return;\n }\n inFlight.current = true;\n try {\n await handleLogin?.(data);\n onSuccess?.();\n } catch (err: any) {\n // only a 401 means wrong credentials; a dead server, 500 or 429 must\n // not claim the credentials were invalid\n const message =\n err?.code === 401\n ? t('security.error.invalid-credentials')\n : authErrorMessage(err, t('security.error.unable-to-login'));\n setError('root', { type: 'server', message });\n } finally {\n inFlight.current = false;\n }\n },\n [handleLogin, setError, onSuccess, t]\n );\n\n return {\n ...form,\n onSubmit,\n };\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgB,aAAa,EAAE,cAAuB,CAAC,GAErD;CACA,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"useLoginForm.js","names":["useAuth","useTranslation","useForm","yupResolver","loginSchema","useRef","useCallback","authErrorMessage"],"sources":["../../../src/components/LoginForm/useLoginForm.ts"],"sourcesContent":["import { yupResolver } from '@hookform/resolvers/yup';\nimport { useCallback, useRef } from 'react';\nimport { type UseFormReturn, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { useAuth } from '../../providers/AuthProvider';\nimport { authErrorMessage } from '../../providers/AuthProvider/utils';\nimport type { LoginFormValues } from '../../utils/schemas';\nimport { loginSchema } from '../../utils/schemas';\n\ntype Options = {\n onSuccess?: () => void;\n};\n\nexport function useLoginForm({ onSuccess }: Options = {}): UseFormReturn<LoginFormValues> & {\n onSubmit: (data: LoginFormValues) => Promise<void>;\n} {\n const { handleLogin } = useAuth();\n const { t } = useTranslation();\n\n const form = useForm<LoginFormValues>({\n mode: 'onChange',\n resolver: yupResolver(loginSchema),\n });\n\n const { setError } = form;\n\n // `disabled={isSubmitting}` only applies after a re-render; clicks landing in\n // the same React batch would still fire duplicate requests\n const inFlight = useRef(false);\n\n const onSubmit = useCallback(\n async (data: LoginFormValues) => {\n if (inFlight.current) {\n return;\n }\n inFlight.current = true;\n try {\n await handleLogin?.(data);\n onSuccess?.();\n } catch (err: any) {\n // only a 401 means wrong credentials; a dead server, 500 or 429 must\n // not claim the credentials were invalid\n const message =\n err?.code === 401\n ? t('security.error.invalid-credentials')\n : authErrorMessage(err, t('security.error.unable-to-login'));\n setError('root', { type: 'server', message });\n } finally {\n inFlight.current = false;\n }\n },\n [handleLogin, setError, onSuccess, t]\n );\n\n return {\n ...form,\n onSubmit,\n };\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgB,aAAa,EAAE,cAAuB,CAAC,GAErD;CACA,MAAM,EAAE,gBAAgBA,qBAAAA,QAAQ;CAChC,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAE7B,MAAM,QAAA,GAAOC,gBAAAA,QAAAA,CAAyB;EACpC,MAAM;EACN,WAAA,GAAUC,wBAAAA,YAAAA,CAAYC,gBAAAA,WAAW;CACnC,CAAC;CAED,MAAM,EAAE,aAAa;CAIrB,MAAM,YAAA,GAAWC,MAAAA,OAAAA,CAAO,KAAK;CAE7B,MAAM,YAAA,GAAWC,MAAAA,YAAAA,CACf,OAAO,SAA0B;EAC/B,IAAI,SAAS,SACX;EAEF,SAAS,UAAU;EACnB,IAAI;GACF,MAAM,cAAc,IAAI;GACxB,YAAY;EACd,SAAS,KAAU;GAGjB,MAAM,UACJ,KAAK,SAAS,MACV,EAAE,oCAAoC,IACtCC,cAAAA,iBAAiB,KAAK,EAAE,gCAAgC,CAAC;GAC/D,SAAS,QAAQ;IAAE,MAAM;IAAU;GAAQ,CAAC;EAC9C,UAAU;GACR,SAAS,UAAU;EACrB;CACF,GACA;EAAC;EAAa;EAAU;EAAW;CAAC,CACtC;CAEA,OAAO;EACL,GAAG;EACH;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.js","names":[],"sources":["../../../src/components/Logo/Logo.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\n\nimport type { Theme } from '../../';\nimport { useConfig } from '../../';\nimport blackAndWithLogo from './img/logo-black-and-white.svg';\nimport defaultLogo from './img/logo.svg';\n\nconst sizes = {\n 'x-small': '30px',\n small: '40px',\n big: '90px',\n};\n\nconst logos = {\n light: defaultLogo,\n dark: blackAndWithLogo,\n};\n\ninterface Props {\n size?: keyof typeof sizes;\n onClick?: () => void;\n className?: string;\n isDefault?: boolean;\n title?: string;\n}\n\nconst Logo: React.FC<Props> = ({ size, onClick, className, isDefault = false, title = '' }) => {\n const { configOptions } = useConfig();\n const theme: Theme = useTheme();\n if (!isDefault && configOptions?.logo) {\n const logoSrc =\n theme.palette.mode === 'dark' && configOptions.logoDark\n ? configOptions.logoDark\n : configOptions.logo;\n return (\n <ImageLogo className={className} onClick={onClick}>\n <img alt={title} data-testid={'custom-logo'} height=\"40px\" src={logoSrc} />\n </ImageLogo>\n );\n }\n\n return (\n <StyledLogo\n className={className}\n data-testid={'default-logo'}\n onClick={onClick}\n size={size}\n title={title}\n />\n );\n};\n\nexport default Logo;\n\nconst ImageLogo = styled('div')({\n fontSize: 0,\n});\n\nconst StyledLogo = styled('div')<Props & { theme?: Theme }>(({ size = 'small', theme }) => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n backgroundPosition: 'center',\n backgroundSize: 'contain',\n backgroundImage: `url(${logos[theme.palette.mode]})`,\n backgroundRepeat: ' no-repeat',\n width: sizes[size],\n height: sizes[size],\n}));\n"],"mappings":";;;;;;;;;;;;AASA,IAAM,QAAQ;CACZ,WAAW;CACX,OAAO;CACP,KAAK;AACP;AAEA,IAAM,QAAQ;CACZ,
|
|
1
|
+
{"version":3,"file":"Logo.js","names":["defaultLogo","blackAndWithLogo","useConfig","useTheme","styled"],"sources":["../../../src/components/Logo/Logo.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\n\nimport type { Theme } from '../../';\nimport { useConfig } from '../../';\nimport blackAndWithLogo from './img/logo-black-and-white.svg';\nimport defaultLogo from './img/logo.svg';\n\nconst sizes = {\n 'x-small': '30px',\n small: '40px',\n big: '90px',\n};\n\nconst logos = {\n light: defaultLogo,\n dark: blackAndWithLogo,\n};\n\ninterface Props {\n size?: keyof typeof sizes;\n onClick?: () => void;\n className?: string;\n isDefault?: boolean;\n title?: string;\n}\n\nconst Logo: React.FC<Props> = ({ size, onClick, className, isDefault = false, title = '' }) => {\n const { configOptions } = useConfig();\n const theme: Theme = useTheme();\n if (!isDefault && configOptions?.logo) {\n const logoSrc =\n theme.palette.mode === 'dark' && configOptions.logoDark\n ? configOptions.logoDark\n : configOptions.logo;\n return (\n <ImageLogo className={className} onClick={onClick}>\n <img alt={title} data-testid={'custom-logo'} height=\"40px\" src={logoSrc} />\n </ImageLogo>\n );\n }\n\n return (\n <StyledLogo\n className={className}\n data-testid={'default-logo'}\n onClick={onClick}\n size={size}\n title={title}\n />\n );\n};\n\nexport default Logo;\n\nconst ImageLogo = styled('div')({\n fontSize: 0,\n});\n\nconst StyledLogo = styled('div')<Props & { theme?: Theme }>(({ size = 'small', theme }) => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n backgroundPosition: 'center',\n backgroundSize: 'contain',\n backgroundImage: `url(${logos[theme.palette.mode]})`,\n backgroundRepeat: ' no-repeat',\n width: sizes[size],\n height: sizes[size],\n}));\n"],"mappings":";;;;;;;;;;;;AASA,IAAM,QAAQ;CACZ,WAAW;CACX,OAAO;CACP,KAAK;AACP;AAEA,IAAM,QAAQ;CACZ,OAAOA,aAAAA;CACP,MAAMC,6BAAAA;AACR;AAUA,IAAM,QAAyB,EAAE,MAAM,SAAS,WAAW,YAAY,OAAO,QAAQ,SAAS;CAC7F,MAAM,EAAE,kBAAkBC,iCAAAA,UAAU;CACpC,MAAM,SAAA,GAAeC,qBAAAA,SAAAA,CAAS;CAC9B,IAAI,CAAC,aAAa,eAAe,MAAM;EACrC,MAAM,UACJ,MAAM,QAAQ,SAAS,UAAU,cAAc,WAC3C,cAAc,WACd,cAAc;EACpB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;GAAsB;GAAoB;GACxC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,KAAK;IAAO,eAAa;IAAe,QAAO;IAAO,KAAK;GAAU,CAAA;EACjE,CAAA;CAEf;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;EACa;EACX,eAAa;EACJ;EACH;EACC;CACR,CAAA;AAEL;AAIA,IAAM,aAAA,GAAYC,gBAAAA,QAAAA,CAAO,KAAK,CAAC,CAAC,EAC9B,UAAU,EACZ,CAAC;AAED,IAAM,cAAA,GAAaA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,EAA6B,EAAE,OAAO,SAAS,aAAa;CAC1F,SAAS;CACT,eAAe;CACf,WAAW;CACX,oBAAoB;CACpB,gBAAgB;CAChB,iBAAiB,OAAO,MAAM,MAAM,QAAQ,MAAM;CAClD,kBAAkB;CAClB,OAAO,MAAM;CACb,QAAQ,MAAM;AAChB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.mjs","names":[],"sources":["../../../src/components/Logo/Logo.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\n\nimport type { Theme } from '../../';\nimport { useConfig } from '../../';\nimport blackAndWithLogo from './img/logo-black-and-white.svg';\nimport defaultLogo from './img/logo.svg';\n\nconst sizes = {\n 'x-small': '30px',\n small: '40px',\n big: '90px',\n};\n\nconst logos = {\n light: defaultLogo,\n dark: blackAndWithLogo,\n};\n\ninterface Props {\n size?: keyof typeof sizes;\n onClick?: () => void;\n className?: string;\n isDefault?: boolean;\n title?: string;\n}\n\nconst Logo: React.FC<Props> = ({ size, onClick, className, isDefault = false, title = '' }) => {\n const { configOptions } = useConfig();\n const theme: Theme = useTheme();\n if (!isDefault && configOptions?.logo) {\n const logoSrc =\n theme.palette.mode === 'dark' && configOptions.logoDark\n ? configOptions.logoDark\n : configOptions.logo;\n return (\n <ImageLogo className={className} onClick={onClick}>\n <img alt={title} data-testid={'custom-logo'} height=\"40px\" src={logoSrc} />\n </ImageLogo>\n );\n }\n\n return (\n <StyledLogo\n className={className}\n data-testid={'default-logo'}\n onClick={onClick}\n size={size}\n title={title}\n />\n );\n};\n\nexport default Logo;\n\nconst ImageLogo = styled('div')({\n fontSize: 0,\n});\n\nconst StyledLogo = styled('div')<Props & { theme?: Theme }>(({ size = 'small', theme }) => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n backgroundPosition: 'center',\n backgroundSize: 'contain',\n backgroundImage: `url(${logos[theme.palette.mode]})`,\n backgroundRepeat: ' no-repeat',\n width: sizes[size],\n height: sizes[size],\n}));\n"],"mappings":";;;;;;;;;AASA,IAAM,QAAQ;CACZ,WAAW;CACX,OAAO;CACP,KAAK;AACP;AAEA,IAAM,QAAQ;CACZ,
|
|
1
|
+
{"version":3,"file":"Logo.mjs","names":["defaultLogo","blackAndWithLogo"],"sources":["../../../src/components/Logo/Logo.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\n\nimport type { Theme } from '../../';\nimport { useConfig } from '../../';\nimport blackAndWithLogo from './img/logo-black-and-white.svg';\nimport defaultLogo from './img/logo.svg';\n\nconst sizes = {\n 'x-small': '30px',\n small: '40px',\n big: '90px',\n};\n\nconst logos = {\n light: defaultLogo,\n dark: blackAndWithLogo,\n};\n\ninterface Props {\n size?: keyof typeof sizes;\n onClick?: () => void;\n className?: string;\n isDefault?: boolean;\n title?: string;\n}\n\nconst Logo: React.FC<Props> = ({ size, onClick, className, isDefault = false, title = '' }) => {\n const { configOptions } = useConfig();\n const theme: Theme = useTheme();\n if (!isDefault && configOptions?.logo) {\n const logoSrc =\n theme.palette.mode === 'dark' && configOptions.logoDark\n ? configOptions.logoDark\n : configOptions.logo;\n return (\n <ImageLogo className={className} onClick={onClick}>\n <img alt={title} data-testid={'custom-logo'} height=\"40px\" src={logoSrc} />\n </ImageLogo>\n );\n }\n\n return (\n <StyledLogo\n className={className}\n data-testid={'default-logo'}\n onClick={onClick}\n size={size}\n title={title}\n />\n );\n};\n\nexport default Logo;\n\nconst ImageLogo = styled('div')({\n fontSize: 0,\n});\n\nconst StyledLogo = styled('div')<Props & { theme?: Theme }>(({ size = 'small', theme }) => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n backgroundPosition: 'center',\n backgroundSize: 'contain',\n backgroundImage: `url(${logos[theme.palette.mode]})`,\n backgroundRepeat: ' no-repeat',\n width: sizes[size],\n height: sizes[size],\n}));\n"],"mappings":";;;;;;;;;AASA,IAAM,QAAQ;CACZ,WAAW;CACX,OAAO;CACP,KAAK;AACP;AAEA,IAAM,QAAQ;CACZ,OAAOA;CACP,MAAMC;AACR;AAUA,IAAM,QAAyB,EAAE,MAAM,SAAS,WAAW,YAAY,OAAO,QAAQ,SAAS;CAC7F,MAAM,EAAE,kBAAkB,UAAU;CACpC,MAAM,QAAe,SAAS;CAC9B,IAAI,CAAC,aAAa,eAAe,MAAM;EACrC,MAAM,UACJ,MAAM,QAAQ,SAAS,UAAU,cAAc,WAC3C,cAAc,WACd,cAAc;EACpB,OACE,oBAAC,WAAD;GAAsB;GAAoB;GACxC,UAAA,oBAAC,OAAD;IAAK,KAAK;IAAO,eAAa;IAAe,QAAO;IAAO,KAAK;GAAU,CAAA;EACjE,CAAA;CAEf;CAEA,OACE,oBAAC,YAAD;EACa;EACX,eAAa;EACJ;EACH;EACC;CACR,CAAA;AAEL;AAIA,IAAM,YAAY,OAAO,KAAK,CAAC,CAAC,EAC9B,UAAU,EACZ,CAAC;AAED,IAAM,aAAa,OAAO,KAAK,CAAC,EAA6B,EAAE,OAAO,SAAS,aAAa;CAC1F,SAAS;CACT,eAAe;CACf,WAAW;CACX,oBAAoB;CACpB,gBAAgB;CAChB,iBAAiB,OAAO,MAAM,MAAM,QAAQ,MAAM;CAClD,kBAAkB;CAClB,OAAO,MAAM;CACb,QAAQ,MAAM;AAChB,EAAE"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { Logo as default };
|
|
1
|
+
export { default } from "./Logo.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","names":[],"sources":["../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport type { MenuItemProps } from '@mui/material/MenuItem';\nimport { default as MaterialUIMenuItem } from '@mui/material/MenuItem';\nimport React from 'react';\n\ntype HTMLElementTagName = keyof HTMLElementTagNameMap;\ntype MenuItemRef = HTMLElementTagNameMap[HTMLElementTagName];\n\ninterface Props extends Omit<MenuItemProps, 'component'> {\n component?: HTMLElementTagName;\n}\n\nconst MenuItem = function MenuItem({\n ref,\n component = 'li',\n ...props\n}: Props & { ref?: React.RefObject<MenuItemRef | null> }) {\n // it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971\n // @ts-ignore Type Types of property 'button' are incompatible.\n return <StyledMaterialUIMenuItem component={component} {...props} ref={ref as any} />;\n};\n\nexport default MenuItem;\nconst StyledMaterialUIMenuItem = styled(MaterialUIMenuItem)({\n outline: 'none',\n});\n"],"mappings":";;;;;;;;;AAYA,IAAM,WAAW,SAAS,SAAS,EACjC,KACA,YAAY,MACZ,GAAG,SACqD;CAGxD,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAAD;EAAqC;EAAW,GAAI;EAAY;CAAa,CAAA;AACtF;AAGA,IAAM,4BAAA,
|
|
1
|
+
{"version":3,"file":"MenuItem.js","names":["styled","MaterialUIMenuItem"],"sources":["../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport type { MenuItemProps } from '@mui/material/MenuItem';\nimport { default as MaterialUIMenuItem } from '@mui/material/MenuItem';\nimport React from 'react';\n\ntype HTMLElementTagName = keyof HTMLElementTagNameMap;\ntype MenuItemRef = HTMLElementTagNameMap[HTMLElementTagName];\n\ninterface Props extends Omit<MenuItemProps, 'component'> {\n component?: HTMLElementTagName;\n}\n\nconst MenuItem = function MenuItem({\n ref,\n component = 'li',\n ...props\n}: Props & { ref?: React.RefObject<MenuItemRef | null> }) {\n // it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971\n // @ts-ignore Type Types of property 'button' are incompatible.\n return <StyledMaterialUIMenuItem component={component} {...props} ref={ref as any} />;\n};\n\nexport default MenuItem;\nconst StyledMaterialUIMenuItem = styled(MaterialUIMenuItem)({\n outline: 'none',\n});\n"],"mappings":";;;;;;;;;AAYA,IAAM,WAAW,SAAS,SAAS,EACjC,KACA,YAAY,MACZ,GAAG,SACqD;CAGxD,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAAD;EAAqC;EAAW,GAAI;EAAY;CAAa,CAAA;AACtF;AAGA,IAAM,4BAAA,GAA2BA,gBAAAA,QAAAA,CAAOC,uBAAAA,OAAkB,CAAC,CAAC,EAC1D,SAAS,OACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.mjs","names":[],"sources":["../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport type { MenuItemProps } from '@mui/material/MenuItem';\nimport { default as MaterialUIMenuItem } from '@mui/material/MenuItem';\nimport React from 'react';\n\ntype HTMLElementTagName = keyof HTMLElementTagNameMap;\ntype MenuItemRef = HTMLElementTagNameMap[HTMLElementTagName];\n\ninterface Props extends Omit<MenuItemProps, 'component'> {\n component?: HTMLElementTagName;\n}\n\nconst MenuItem = function MenuItem({\n ref,\n component = 'li',\n ...props\n}: Props & { ref?: React.RefObject<MenuItemRef | null> }) {\n // it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971\n // @ts-ignore Type Types of property 'button' are incompatible.\n return <StyledMaterialUIMenuItem component={component} {...props} ref={ref as any} />;\n};\n\nexport default MenuItem;\nconst StyledMaterialUIMenuItem = styled(MaterialUIMenuItem)({\n outline: 'none',\n});\n"],"mappings":";;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"MenuItem.mjs","names":["MenuItem","MaterialUIMenuItem"],"sources":["../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport type { MenuItemProps } from '@mui/material/MenuItem';\nimport { default as MaterialUIMenuItem } from '@mui/material/MenuItem';\nimport React from 'react';\n\ntype HTMLElementTagName = keyof HTMLElementTagNameMap;\ntype MenuItemRef = HTMLElementTagNameMap[HTMLElementTagName];\n\ninterface Props extends Omit<MenuItemProps, 'component'> {\n component?: HTMLElementTagName;\n}\n\nconst MenuItem = function MenuItem({\n ref,\n component = 'li',\n ...props\n}: Props & { ref?: React.RefObject<MenuItemRef | null> }) {\n // it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971\n // @ts-ignore Type Types of property 'button' are incompatible.\n return <StyledMaterialUIMenuItem component={component} {...props} ref={ref as any} />;\n};\n\nexport default MenuItem;\nconst StyledMaterialUIMenuItem = styled(MaterialUIMenuItem)({\n outline: 'none',\n});\n"],"mappings":";;;;;AAYA,IAAMA,aAAW,SAAS,SAAS,EACjC,KACA,YAAY,MACZ,GAAG,SACqD;CAGxD,OAAO,oBAAC,0BAAD;EAAqC;EAAW,GAAI;EAAY;CAAa,CAAA;AACtF;AAGA,IAAM,2BAA2B,OAAOC,QAAkB,CAAC,CAAC,EAC1D,SAAS,OACX,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { MenuItem as default };
|
|
1
|
+
export { default } from "./MenuItem.mjs";
|