@verdaccio/ui-components 5.0.0-next-9.10 → 5.0.0-next-9.11
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/components/Install/InstallListItem.mjs +2 -2
- package/build/components/Install/InstallListItem.mjs.map +1 -1
- package/build/components/Package/styles.d.ts +1 -1
- package/build/components/Package/styles.mjs +2 -2
- package/build/components/Package/styles.mjs.map +1 -1
- package/build/components/RawViewer/RawViewer.js +1 -2
- package/build/components/RawViewer/RawViewer.js.map +1 -1
- package/build/components/RawViewer/RawViewer.mjs +2 -3
- package/build/components/RawViewer/RawViewer.mjs.map +1 -1
- package/build/components/Readme/github-markdown.css +58 -16
- package/build/components/Repository/Repository.mjs +2 -2
- package/build/components/Repository/Repository.mjs.map +1 -1
- package/build/components/UpLinks/styles.mjs +3 -3
- package/build/components/UpLinks/styles.mjs.map +1 -1
- package/build/components/Versions/styles.mjs +3 -3
- package/build/components/Versions/styles.mjs.map +1 -1
- package/build/ui-components.css +58 -16
- package/build/utils/url.js +2 -3
- package/build/utils/url.js.map +1 -1
- package/build/utils/url.mjs +2 -3
- package/build/utils/url.mjs.map +1 -1
- package/package.json +13 -15
|
@@ -12,13 +12,13 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
12
12
|
import { common } from "@mui/material/colors";
|
|
13
13
|
import Avatar from "@mui/material/Avatar";
|
|
14
14
|
import ListItem from "@mui/material/ListItem";
|
|
15
|
-
import
|
|
15
|
+
import MuiListItemText from "@mui/material/ListItemText";
|
|
16
16
|
//#region src/components/Install/InstallListItem.tsx
|
|
17
17
|
var InstallItem = styled(ListItem)({
|
|
18
18
|
padding: 0,
|
|
19
19
|
":hover": { backgroundColor: "transparent" }
|
|
20
20
|
});
|
|
21
|
-
var InstallListItemText = styled(
|
|
21
|
+
var InstallListItemText = styled(MuiListItemText)({
|
|
22
22
|
padding: "0 0 0 10px",
|
|
23
23
|
margin: 0
|
|
24
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallListItem.mjs","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 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 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,cAAc,OAAO,SAAS,CAAC;CACnC,SAAS;CACT,UAAU,EACR,iBAAiB,eAClB;CACF,CAAC;AAEF,IAAM,sBAAsB,OAAO,
|
|
1
|
+
{"version":3,"file":"InstallListItem.mjs","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 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 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,cAAc,OAAO,SAAS,CAAC;CACnC,SAAS;CACT,UAAU,EACR,iBAAiB,eAClB;CACF,CAAC;AAEF,IAAM,sBAAsB,OAAO,gBAAa,CAAC;CAC/C,SAAS;CACT,QAAQ;CACT,CAAC;AAEF,IAAM,sBAAsB,OAAO,OAAO,CAAC;CACzC,iBAAiB;CACjB,SAAS;CACT,YAAY;CACb,CAAC;AAEF,IAAY,oBAAL,yBAAA,mBAAA;AACL,mBAAA,SAAA;AACA,mBAAA,UAAA;AACA,mBAAA,UAAA;;KACD;AAQD,SAAgB,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,SAAS,OAAO;AAOhG,SANa,WACT,GAAG,SAAS,KAAK,KAAK,GAAG,kBAAkB,CAAC,WAAW,GAAG,YAAY,GAAG,mBAAmB,gBAC5F,kBAAkB,CAAC,WACjB,GAAG,YAAY,GAAG,mBAClB,aAEM,MAAM;;AAGpB,IAAM,mBAAwC,EAC5C,aACA,mBACA,qBACI;CACJ,MAAM,EAAE,kBAAkB,aAAa;CAEvC,MAAM,WAAW,cAAc,cAAc,UAAU;CACvD,MAAM,WAAW,cAAc,cAAc,UAAU;AACvD,SAAQ,mBAAR;EACE,KAAK,kBAAkB,IACrB,QACE,qBAAC,aAAD;GAAa,eAAa;aAA1B,CACE,oBAAC,qBAAD;IAAqB,KAAI;IAAM,IAAI,EAAE,SAAS,OAAO,OAAO;cAC1D,oBAAC,KAAD,EAAO,CAAA;IACa,CAAA,EACtB,oBAAC,qBAAD,EACE,SACE,oBAAC,iBAAD;IACE,YAAW;IACX,MAAM,eAAe,iBAAiB,UAAU,UAAU,gBAAgB,YAAY;IACtF,OAAO,eAAe,iBAAiB,UAAU,UAAU,gBAAgB,YAAY;IACvF,CAAA,EAEJ,CAAA,CACU;;EAElB,KAAK,kBAAkB,KACrB,QACE,qBAAC,aAAD;GAAa,eAAa;aAA1B,CACE,oBAAC,qBAAD;IAAqB,KAAI;IAAO,IAAI,EAAE,SAAS,OAAO,OAAO;cAC3D,oBAAC,MAAD,EAAQ,CAAA;IACY,CAAA,EACtB,oBAAC,qBAAD,EACE,SACE,oBAAC,iBAAD;IACE,YAAW;IACX,MACE,WACI,QAAQ,cAAc,aAAa,KAAK,SAAS,OAAO,iBACtD,UACA,gBACA,aACA,KACD,KACD,YAAY,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,KAAK;IAEzF,OACE,WACI,mBAAmB,iBACjB,UACA,gBACA,aACA,KACD,KACD,YAAY,iBAAiB,UAAU,UAAU,gBAAgB,aAAa,KAAK;IAEzF,CAAA,EAEJ,CAAA,CACU;;EAElB,KAAK,kBAAkB,KACrB,QACE,qBAAC,aAAD;GAAa,eAAa;aAA1B,CACE,oBAAC,qBAAD;IAAqB,KAAK;IAAQ,IAAI,EAAE,SAAS,OAAO,OAAO;cAC7D,oBAAC,MAAD,EAAQ,CAAA;IACY,CAAA,EACtB,oBAAC,qBAAD,EACE,SACE,oBAAC,iBAAD;IACE,YAAW;IACX,MAAM,gBAAgB,iBAAiB,UAAU,UAAU,gBAAgB,YAAY;IACvF,OAAO,gBAAgB,iBAAiB,UAAU,UAAU,gBAAgB,YAAY;IACxF,CAAA,EAEJ,CAAA,CACU;;EAElB,QACE,QAAO"}
|
|
@@ -17,7 +17,7 @@ export declare const Author: import('@emotion/styled').StyledComponent<{
|
|
|
17
17
|
theme?: import('@emotion/react').Theme;
|
|
18
18
|
as?: React.ElementType;
|
|
19
19
|
}, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
20
|
-
export declare const Avatar: import('@emotion/styled').StyledComponent<import('@mui/material/Avatar').AvatarOwnProps & import('@mui/material/Avatar').AvatarSlotsAndSlotProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "style" | "className" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "
|
|
20
|
+
export declare const Avatar: import('@emotion/styled').StyledComponent<import('@mui/material/Avatar').AvatarOwnProps & import('@mui/material/Avatar').AvatarSlotsAndSlotProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "style" | "className" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "src" | "alt" | "imgProps" | "sizes" | "srcSet"> & {
|
|
21
21
|
theme?: import('@emotion/react').Theme;
|
|
22
22
|
}, {}, {}>;
|
|
23
23
|
export declare const WrapperLink: import('@emotion/styled').StyledComponent<import('react-router').LinkProps & import('react').RefAttributes<HTMLAnchorElement> & {
|
|
@@ -6,7 +6,7 @@ import { Link } from "react-router";
|
|
|
6
6
|
import List from "@mui/material/List";
|
|
7
7
|
import Avatar from "@mui/material/Avatar";
|
|
8
8
|
import Grid from "@mui/material/Grid";
|
|
9
|
-
import
|
|
9
|
+
import MuiListItemText from "@mui/material/ListItemText";
|
|
10
10
|
//#region src/components/Package/styles.ts
|
|
11
11
|
var OverviewItem = styled("span")(({ theme }) => ({
|
|
12
12
|
display: "flex",
|
|
@@ -53,7 +53,7 @@ var IconButton$1 = styled(IconButton)({
|
|
|
53
53
|
padding: 6,
|
|
54
54
|
svg: { fontSize: 16 }
|
|
55
55
|
});
|
|
56
|
-
var PackageListItemText = styled(
|
|
56
|
+
var PackageListItemText = styled(MuiListItemText)({ paddingRight: 0 });
|
|
57
57
|
var Description = styled("span")(({ theme }) => ({
|
|
58
58
|
color: theme.palette.mode === "light" ? greyDark : common.white,
|
|
59
59
|
fontSize: "14px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAa,eAAe,OAAO,OAAO,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAY,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,QACV,EACF;EACA,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,QACV,EACF;CACF,EAAE;AAEH,IAAa,YAAY,OAAO,OAAO,CAAC,EACtC,QAAQ,aACT,CAAC;AAEF,IAAa,UAAU,OAAO,OAAO,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;CAChB,CAAC;AAEF,IAAa,SAAS,OAAO,MAAM,CAAC;CAClC,SAAS;CACT,YAAY;CACb,CAAC;AAEF,IAAa,WAAS,OAAO,OAAM,CAAC;CAClC,OAAO;CACP,QAAQ;CACT,CAAC;AAEF,IAAa,cAAc,OAAO,KAAK,CAAC,EACtC,gBAAgB,QACjB,CAAC;AAEF,IAAa,eAAe,OAAO,OAAO,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,IACX;CACF,EAAE;AAEH,IAAa,mBAAmB,OAAO,KAAK,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;CACjB,CAAC;AAEF,IAAa,UAAU,OAAO,KAAK,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,OACvC,EACF,EAAE;AAEH,IAAa,eAAa,OAAO,WAAc,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,IACX;CACF,CAAC;AAEF,IAAa,sBAAsB,OAAO,
|
|
1
|
+
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAa,eAAe,OAAO,OAAO,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAY,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,QACV,EACF;EACA,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,QACV,EACF;CACF,EAAE;AAEH,IAAa,YAAY,OAAO,OAAO,CAAC,EACtC,QAAQ,aACT,CAAC;AAEF,IAAa,UAAU,OAAO,OAAO,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;CAChB,CAAC;AAEF,IAAa,SAAS,OAAO,MAAM,CAAC;CAClC,SAAS;CACT,YAAY;CACb,CAAC;AAEF,IAAa,WAAS,OAAO,OAAM,CAAC;CAClC,OAAO;CACP,QAAQ;CACT,CAAC;AAEF,IAAa,cAAc,OAAO,KAAK,CAAC,EACtC,gBAAgB,QACjB,CAAC;AAEF,IAAa,eAAe,OAAO,OAAO,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,IACX;CACF,EAAE;AAEH,IAAa,mBAAmB,OAAO,KAAK,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;CACjB,CAAC;AAEF,IAAa,UAAU,OAAO,KAAK,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,OACvC,EACF,EAAE;AAEH,IAAa,eAAa,OAAO,WAAc,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,IACX;CACF,CAAC;AAEF,IAAa,sBAAsB,OAAO,gBAAa,CAAC,EACtD,cAAc,GACf,CAAC;AAEF,IAAa,cAAc,OAAO,OAAO,EAAqB,EAAE,aAAa;CAC3E,OAAO,MAAM,QAAQ,SAAS,UAAU,WAAW,OAAO;CAC1D,UAAU;CACV,cAAc;CACf,EAAE"}
|
|
@@ -17,7 +17,6 @@ _mui_material_DialogTitle = require_runtime.__toESM(_mui_material_DialogTitle);
|
|
|
17
17
|
let _mui_material_styles = require("@mui/material/styles");
|
|
18
18
|
let react_i18next = require("react-i18next");
|
|
19
19
|
//#region src/components/RawViewer/RawViewer.tsx
|
|
20
|
-
var ReactJson = _microlink_react_json_view.default ?? _microlink_react_json_view.reactJsonView ?? _microlink_react_json_view;
|
|
21
20
|
var ViewerTitle = (props) => {
|
|
22
21
|
const { children, onClose } = props;
|
|
23
22
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_DialogTitle.default, {
|
|
@@ -50,7 +49,7 @@ var RawViewer = ({ isOpen = false, onClose, packageMeta }) => {
|
|
|
50
49
|
id: "viewer-title",
|
|
51
50
|
onClose,
|
|
52
51
|
children: t("action-bar-action.raw-title", { package: packageMeta.latest.name })
|
|
53
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_DialogContent.default, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
52
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_DialogContent.default, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_microlink_react_json_view.default, {
|
|
54
53
|
collapseStringsAfterLength: 200,
|
|
55
54
|
collapsed: 2,
|
|
56
55
|
enableClipboard: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawViewer.js","names":[],"sources":["../../../src/components/RawViewer/RawViewer.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"RawViewer.js","names":[],"sources":["../../../src/components/RawViewer/RawViewer.tsx"],"sourcesContent":["import ReactJsonView from '@microlink/react-json-view';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport IconButton from '@mui/material/IconButton';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\nexport interface ViewerTitleProps {\n id: string;\n children?: React.ReactNode;\n onClose: () => void;\n}\n\nconst ViewerTitle = (props: ViewerTitleProps) => {\n const { children, onClose } = props;\n\n return (\n <DialogTitle sx={{ m: 0, p: 2 }}>\n {children}\n {onClose ? (\n <IconButton\n aria-label=\"close\"\n data-testid=\"close-raw-viewer\"\n onClick={onClose}\n sx={{\n position: 'absolute',\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n ) : null}\n </DialogTitle>\n );\n};\n\ntype Props = {\n isOpen: boolean;\n onClose: () => void;\n packageMeta: any;\n};\n\nconst RawViewer: React.FC<Props> = ({ isOpen = false, onClose, packageMeta }) => {\n const { t } = useTranslation();\n const theme: Theme = useTheme();\n return (\n <Dialog data-testid={'rawViewer--dialog'} fullScreen={true} open={isOpen}>\n <ViewerTitle id=\"viewer-title\" onClose={onClose}>\n {t('action-bar-action.raw-title', { package: packageMeta.latest.name })}\n </ViewerTitle>\n <DialogContent>\n <ReactJsonView\n collapseStringsAfterLength={200}\n collapsed={2}\n enableClipboard={true}\n groupArraysAfterLength={10}\n src={packageMeta as any}\n theme={theme.palette.mode == 'light' ? 'bright:inverted' : 'bright'}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default RawViewer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAM,eAAe,UAA4B;CAC/C,MAAM,EAAE,UAAU,YAAY;AAE9B,QACE,iBAAA,GAAA,kBAAA,MAAC,0BAAA,SAAD;EAAa,IAAI;GAAE,GAAG;GAAG,GAAG;GAAG;YAA/B,CACG,UACA,UACC,iBAAA,GAAA,kBAAA,KAAC,yBAAA,SAAD;GACE,cAAW;GACX,eAAY;GACZ,SAAS;GACT,IAAI;IACF,UAAU;IACV,OAAO;IACP,KAAK;IACL,QAAQ,UAAU,MAAM,QAAQ,KAAK;IACtC;aAED,iBAAA,GAAA,kBAAA,KAAC,0BAAA,SAAD,EAAa,CAAA;GACF,CAAA,GACX,KACQ;;;AAUlB,IAAM,aAA8B,EAAE,SAAS,OAAO,SAAS,kBAAkB;CAC/E,MAAM,EAAE,OAAA,GAAA,cAAA,iBAAsB;CAC9B,MAAM,SAAA,GAAA,qBAAA,WAAyB;AAC/B,QACE,iBAAA,GAAA,kBAAA,MAAC,qBAAA,SAAD;EAAQ,eAAa;EAAqB,YAAY;EAAM,MAAM;YAAlE,CACE,iBAAA,GAAA,kBAAA,KAAC,aAAD;GAAa,IAAG;GAAwB;aACrC,EAAE,+BAA+B,EAAE,SAAS,YAAY,OAAO,MAAM,CAAC;GAC3D,CAAA,EACd,iBAAA,GAAA,kBAAA,KAAC,4BAAA,SAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,2BAAA,SAAD;GACE,4BAA4B;GAC5B,WAAW;GACX,iBAAiB;GACjB,wBAAwB;GACxB,KAAK;GACL,OAAO,MAAM,QAAQ,QAAQ,UAAU,oBAAoB;GAC3D,CAAA,EACY,CAAA,CACT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import IconButton from "@mui/material/IconButton";
|
|
2
2
|
import "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
import
|
|
4
|
+
import ReactJsonView from "@microlink/react-json-view";
|
|
5
5
|
import CloseIcon from "@mui/icons-material/Close";
|
|
6
6
|
import Dialog from "@mui/material/Dialog";
|
|
7
7
|
import DialogContent from "@mui/material/DialogContent";
|
|
@@ -9,7 +9,6 @@ import DialogTitle from "@mui/material/DialogTitle";
|
|
|
9
9
|
import { useTheme } from "@mui/material/styles";
|
|
10
10
|
import { useTranslation } from "react-i18next";
|
|
11
11
|
//#region src/components/RawViewer/RawViewer.tsx
|
|
12
|
-
var ReactJson = ReactJsonViewModule.default ?? ReactJsonViewModule.reactJsonView ?? ReactJsonViewModule;
|
|
13
12
|
var ViewerTitle = (props) => {
|
|
14
13
|
const { children, onClose } = props;
|
|
15
14
|
return /* @__PURE__ */ jsxs(DialogTitle, {
|
|
@@ -42,7 +41,7 @@ var RawViewer = ({ isOpen = false, onClose, packageMeta }) => {
|
|
|
42
41
|
id: "viewer-title",
|
|
43
42
|
onClose,
|
|
44
43
|
children: t("action-bar-action.raw-title", { package: packageMeta.latest.name })
|
|
45
|
-
}), /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(
|
|
44
|
+
}), /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(ReactJsonView, {
|
|
46
45
|
collapseStringsAfterLength: 200,
|
|
47
46
|
collapsed: 2,
|
|
48
47
|
enableClipboard: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawViewer.mjs","names":[],"sources":["../../../src/components/RawViewer/RawViewer.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"RawViewer.mjs","names":[],"sources":["../../../src/components/RawViewer/RawViewer.tsx"],"sourcesContent":["import ReactJsonView from '@microlink/react-json-view';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport IconButton from '@mui/material/IconButton';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\n\nexport interface ViewerTitleProps {\n id: string;\n children?: React.ReactNode;\n onClose: () => void;\n}\n\nconst ViewerTitle = (props: ViewerTitleProps) => {\n const { children, onClose } = props;\n\n return (\n <DialogTitle sx={{ m: 0, p: 2 }}>\n {children}\n {onClose ? (\n <IconButton\n aria-label=\"close\"\n data-testid=\"close-raw-viewer\"\n onClick={onClose}\n sx={{\n position: 'absolute',\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n ) : null}\n </DialogTitle>\n );\n};\n\ntype Props = {\n isOpen: boolean;\n onClose: () => void;\n packageMeta: any;\n};\n\nconst RawViewer: React.FC<Props> = ({ isOpen = false, onClose, packageMeta }) => {\n const { t } = useTranslation();\n const theme: Theme = useTheme();\n return (\n <Dialog data-testid={'rawViewer--dialog'} fullScreen={true} open={isOpen}>\n <ViewerTitle id=\"viewer-title\" onClose={onClose}>\n {t('action-bar-action.raw-title', { package: packageMeta.latest.name })}\n </ViewerTitle>\n <DialogContent>\n <ReactJsonView\n collapseStringsAfterLength={200}\n collapsed={2}\n enableClipboard={true}\n groupArraysAfterLength={10}\n src={packageMeta as any}\n theme={theme.palette.mode == 'light' ? 'bright:inverted' : 'bright'}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default RawViewer;\n"],"mappings":";;;;;;;;;;;AAkBA,IAAM,eAAe,UAA4B;CAC/C,MAAM,EAAE,UAAU,YAAY;AAE9B,QACE,qBAAC,aAAD;EAAa,IAAI;GAAE,GAAG;GAAG,GAAG;GAAG;YAA/B,CACG,UACA,UACC,oBAAC,YAAD;GACE,cAAW;GACX,eAAY;GACZ,SAAS;GACT,IAAI;IACF,UAAU;IACV,OAAO;IACP,KAAK;IACL,QAAQ,UAAU,MAAM,QAAQ,KAAK;IACtC;aAED,oBAAC,WAAD,EAAa,CAAA;GACF,CAAA,GACX,KACQ;;;AAUlB,IAAM,aAA8B,EAAE,SAAS,OAAO,SAAS,kBAAkB;CAC/E,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,QAAe,UAAU;AAC/B,QACE,qBAAC,QAAD;EAAQ,eAAa;EAAqB,YAAY;EAAM,MAAM;YAAlE,CACE,oBAAC,aAAD;GAAa,IAAG;GAAwB;aACrC,EAAE,+BAA+B,EAAE,SAAS,YAAY,OAAO,MAAM,CAAC;GAC3D,CAAA,EACd,oBAAC,eAAD,EAAA,UACE,oBAAC,eAAD;GACE,4BAA4B;GAC5B,WAAW;GACX,iBAAiB;GACjB,wBAAwB;GACxB,KAAK;GACL,OAAO,MAAM,QAAQ,QAAQ,UAAU,oBAAoB;GAC3D,CAAA,EACY,CAAA,CACT"}
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
--borderRadius-medium: .375rem;
|
|
21
21
|
--stack-padding-condensed: .5rem;
|
|
22
22
|
--stack-padding-normal: 1rem;
|
|
23
|
-
--fontStack-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
|
|
24
|
-
--fontStack-sansSerif: "Mona Sans VF"
|
|
23
|
+
--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
|
|
24
|
+
--fontStack-sansSerif: "Mona Sans VF", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
25
25
|
--text-body-size-small: var(--base-text-size-xs);
|
|
26
26
|
--h6-size: .75rem;
|
|
27
27
|
--fgColor-accent: Highlight;
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
--borderRadius-medium: .375rem;
|
|
101
101
|
--stack-padding-condensed: .5rem;
|
|
102
102
|
--stack-padding-normal: 1rem;
|
|
103
|
-
--fontStack-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
|
|
104
|
-
--fontStack-sansSerif: "Mona Sans VF"
|
|
103
|
+
--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
|
|
104
|
+
--fontStack-sansSerif: "Mona Sans VF", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
105
105
|
--text-body-size-small: var(--base-text-size-xs);
|
|
106
106
|
--h6-size: .75rem;
|
|
107
107
|
--fgColor-accent: Highlight;
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
font-weight: var(--base-text-weight-normal,400);
|
|
174
174
|
color: var(--fgColor-default);
|
|
175
175
|
background-color: var(--bgColor-default);
|
|
176
|
-
font-family: var(--fontStack-sansSerif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji");
|
|
176
|
+
font-family: var(--fontStack-sansSerif,-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");
|
|
177
177
|
overflow-wrap: break-word;
|
|
178
178
|
font-size: 16px;
|
|
179
179
|
line-height: 1.5;
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
background: 0 0;
|
|
294
294
|
overflow: hidden;
|
|
295
295
|
height: .25em;
|
|
296
|
-
margin: var(--base-size-24)0;
|
|
296
|
+
margin: var(--base-size-24) 0;
|
|
297
297
|
background-color: var(--borderColor-default);
|
|
298
298
|
border: 0;
|
|
299
299
|
padding: 0;
|
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
|
|
426
426
|
.markdown-body kbd {
|
|
427
427
|
padding: var(--base-size-4);
|
|
428
|
-
font: 11px var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
428
|
+
font: 11px var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
429
429
|
color: var(--fgColor-default);
|
|
430
430
|
vertical-align: middle;
|
|
431
431
|
background-color: var(--bgColor-muted);
|
|
@@ -520,12 +520,12 @@
|
|
|
520
520
|
.markdown-body tt,
|
|
521
521
|
.markdown-body code,
|
|
522
522
|
.markdown-body samp {
|
|
523
|
-
font-family: var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
523
|
+
font-family: var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
524
524
|
font-size: 12px;
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
.markdown-body pre {
|
|
528
|
-
font-family: var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
528
|
+
font-family: var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
529
529
|
margin-top: 0;
|
|
530
530
|
margin-bottom: 0;
|
|
531
531
|
font-size: 12px;
|
|
@@ -562,7 +562,7 @@
|
|
|
562
562
|
}
|
|
563
563
|
|
|
564
564
|
.markdown-body .border {
|
|
565
|
-
border: var(--borderWidth-thin,1px)solid var(--borderColor-default)!important;
|
|
565
|
+
border: var(--borderWidth-thin,1px) solid var(--borderColor-default)!important;
|
|
566
566
|
}
|
|
567
567
|
|
|
568
568
|
.markdown-body .border-0 {
|
|
@@ -1035,7 +1035,7 @@
|
|
|
1035
1035
|
}
|
|
1036
1036
|
|
|
1037
1037
|
.markdown-body .csv-data .blob-num {
|
|
1038
|
-
padding: 10px var(--base-size-8)9px;
|
|
1038
|
+
padding: 10px var(--base-size-8) 9px;
|
|
1039
1039
|
text-align: right;
|
|
1040
1040
|
background: var(--bgColor-default);
|
|
1041
1041
|
border: 0;
|
|
@@ -1125,11 +1125,11 @@
|
|
|
1125
1125
|
.markdown-body .Box--condensed .Box-body,
|
|
1126
1126
|
.markdown-body .Box--condensed .Box-footer,
|
|
1127
1127
|
.markdown-body .Box--condensed .Box-header {
|
|
1128
|
-
padding: var(--stack-padding-condensed)var(--stack-padding-normal);
|
|
1128
|
+
padding: var(--stack-padding-condensed) var(--stack-padding-normal);
|
|
1129
1129
|
}
|
|
1130
1130
|
|
|
1131
1131
|
.markdown-body .Box--condensed .Box-row {
|
|
1132
|
-
padding: var(--stack-padding-condensed)var(--stack-padding-normal);
|
|
1132
|
+
padding: var(--stack-padding-condensed) var(--stack-padding-normal);
|
|
1133
1133
|
}
|
|
1134
1134
|
|
|
1135
1135
|
.markdown-body .Box-header {
|
|
@@ -1139,12 +1139,12 @@
|
|
|
1139
1139
|
border-top-right-radius: var(--borderRadius-medium);
|
|
1140
1140
|
border-style: solid;
|
|
1141
1141
|
border-width: var(--borderWidth-thin);
|
|
1142
|
-
margin: calc(var(--borderWidth-thin)*-1)calc(var(--borderWidth-thin)*-1)0;
|
|
1142
|
+
margin: calc(var(--borderWidth-thin)*-1) calc(var(--borderWidth-thin)*-1) 0;
|
|
1143
1143
|
padding: var(--stack-padding-normal);
|
|
1144
1144
|
}
|
|
1145
1145
|
|
|
1146
1146
|
.markdown-body .Box-body {
|
|
1147
|
-
border-bottom: var(--borderWidth-thin)solid var(--borderColor-default);
|
|
1147
|
+
border-bottom: var(--borderWidth-thin) solid var(--borderColor-default);
|
|
1148
1148
|
padding: var(--stack-padding-normal);
|
|
1149
1149
|
}
|
|
1150
1150
|
|
|
@@ -1465,7 +1465,7 @@
|
|
|
1465
1465
|
}
|
|
1466
1466
|
|
|
1467
1467
|
.markdown-body .markdown-alert {
|
|
1468
|
-
padding: var(--base-size-8)var(--base-size-16);
|
|
1468
|
+
padding: var(--base-size-8) var(--base-size-16);
|
|
1469
1469
|
margin-bottom: var(--base-size-16);
|
|
1470
1470
|
color: inherit;
|
|
1471
1471
|
border-left: .25em solid var(--borderColor-default);
|
|
@@ -1530,6 +1530,48 @@
|
|
|
1530
1530
|
margin-top: 0!important;
|
|
1531
1531
|
}
|
|
1532
1532
|
|
|
1533
|
+
.markdown-body .markdown-heading {
|
|
1534
|
+
position: relative;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
.markdown-body .markdown-heading .heading-element:hover+.anchor {
|
|
1538
|
+
opacity: 1;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
.markdown-body .markdown-heading h1.heading-element+.anchor,
|
|
1542
|
+
.markdown-body .markdown-heading h2.heading-element+.anchor {
|
|
1543
|
+
transform: translateY(calc(-50% - .3rem));
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
.markdown-body .markdown-heading .anchor {
|
|
1547
|
+
border-radius: var(--borderRadius-medium);
|
|
1548
|
+
opacity: 0;
|
|
1549
|
+
justify-content: center;
|
|
1550
|
+
align-items: center;
|
|
1551
|
+
width: 28px;
|
|
1552
|
+
height: 28px;
|
|
1553
|
+
margin: auto;
|
|
1554
|
+
display: flex;
|
|
1555
|
+
position: absolute;
|
|
1556
|
+
top: 50%;
|
|
1557
|
+
left: -28px;
|
|
1558
|
+
transform: translateY(-50%);
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
.markdown-body .markdown-heading .anchor:hover {
|
|
1562
|
+
opacity: 1;
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
.markdown-body .markdown-heading .anchor:focus {
|
|
1566
|
+
outline: 2px solid var(--focus-outlineColor);
|
|
1567
|
+
outline-offset: -2px;
|
|
1568
|
+
opacity: 1;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
.markdown-body .markdown-heading .anchor .octicon {
|
|
1572
|
+
color: var(--fgColor-default);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1533
1575
|
.markdown-body .tab-size[data-tab-size="1"] {
|
|
1534
1576
|
tab-size: 1;
|
|
1535
1577
|
}
|
|
@@ -15,7 +15,7 @@ import List from "@mui/material/List";
|
|
|
15
15
|
import Avatar from "@mui/material/Avatar";
|
|
16
16
|
import Typography from "@mui/material/Typography";
|
|
17
17
|
import ListItem from "@mui/material/ListItem";
|
|
18
|
-
import
|
|
18
|
+
import MuiListItemText from "@mui/material/ListItemText";
|
|
19
19
|
//#region src/components/Repository/Repository.tsx
|
|
20
20
|
var StyledText = styled(Typography)((props) => ({
|
|
21
21
|
fontWeight: props.theme.fontWeight.bold,
|
|
@@ -25,7 +25,7 @@ var RepositoryListItem = styled(ListItem)({
|
|
|
25
25
|
padding: 0,
|
|
26
26
|
":hover": { backgroundColor: "transparent" }
|
|
27
27
|
});
|
|
28
|
-
var RepositoryListItemText = styled(
|
|
28
|
+
var RepositoryListItemText = styled(MuiListItemText)({
|
|
29
29
|
padding: "0 0 0 10px",
|
|
30
30
|
margin: 0
|
|
31
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.mjs","names":[],"sources":["../../../src/components/Repository/Repository.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Avatar from '@mui/material/Avatar';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\nimport { url as urlUtils } from '../../utils';\nimport CopyClipboard from '../CopyClipboard';\nimport { Git } from '../Icons';\nimport LinkExternal from '../LinkExternal';\n\nconst StyledText = styled(Typography)<{ theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight.bold,\n textTransform: 'capitalize',\n}));\n\nconst RepositoryListItem = styled(ListItem)({\n padding: 0,\n ':hover': {\n backgroundColor: 'transparent',\n },\n});\n\nconst RepositoryListItemText = styled(ListItemText)({\n padding: '0 0 0 10px',\n margin: 0,\n});\n\nconst RepositoryAvatar = styled(Avatar)({\n padding: 0,\n marginLeft: 0,\n backgroundColor: 'transparent',\n});\n\nconst Repository: React.FC<{ packageMeta: any }> = ({ packageMeta }) => {\n const { t } = useTranslation();\n const url = packageMeta?.latest?.repository?.url;\n if (!url || !urlUtils.isURL(url)) {\n return null;\n }\n\n const getCorrectRepositoryURL = (): string => {\n if (!url.includes('git+')) {\n return url;\n }\n\n return url.split('git+')[1];\n };\n\n const repositoryURL = getCorrectRepositoryURL();\n\n return (\n <List\n dense={true}\n subheader={<StyledText variant=\"subtitle1\">{t('sidebar.repository.title')}</StyledText>}\n >\n <RepositoryListItem>\n <RepositoryAvatar sx={{ bgcolor: common.white }}>\n <Git />\n </RepositoryAvatar>\n <RepositoryListItemText\n primary={\n <CopyClipboard dataTestId=\"repositoryID\" text={repositoryURL} title={repositoryURL}>\n <LinkExternal to={repositoryURL} variant=\"outline\">\n {repositoryURL}\n </LinkExternal>\n </CopyClipboard>\n }\n />\n </RepositoryListItem>\n </List>\n );\n};\n\nexport default Repository;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,IAAM,aAAa,OAAO,WAAW,EAAqB,WAAW;CACnE,YAAY,MAAM,MAAM,WAAW;CACnC,eAAe;CAChB,EAAE;AAEH,IAAM,qBAAqB,OAAO,SAAS,CAAC;CAC1C,SAAS;CACT,UAAU,EACR,iBAAiB,eAClB;CACF,CAAC;AAEF,IAAM,yBAAyB,OAAO,
|
|
1
|
+
{"version":3,"file":"Repository.mjs","names":[],"sources":["../../../src/components/Repository/Repository.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport Avatar from '@mui/material/Avatar';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport { common } from '@mui/material/colors';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../Theme';\nimport { url as urlUtils } from '../../utils';\nimport CopyClipboard from '../CopyClipboard';\nimport { Git } from '../Icons';\nimport LinkExternal from '../LinkExternal';\n\nconst StyledText = styled(Typography)<{ theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight.bold,\n textTransform: 'capitalize',\n}));\n\nconst RepositoryListItem = styled(ListItem)({\n padding: 0,\n ':hover': {\n backgroundColor: 'transparent',\n },\n});\n\nconst RepositoryListItemText = styled(ListItemText)({\n padding: '0 0 0 10px',\n margin: 0,\n});\n\nconst RepositoryAvatar = styled(Avatar)({\n padding: 0,\n marginLeft: 0,\n backgroundColor: 'transparent',\n});\n\nconst Repository: React.FC<{ packageMeta: any }> = ({ packageMeta }) => {\n const { t } = useTranslation();\n const url = packageMeta?.latest?.repository?.url;\n if (!url || !urlUtils.isURL(url)) {\n return null;\n }\n\n const getCorrectRepositoryURL = (): string => {\n if (!url.includes('git+')) {\n return url;\n }\n\n return url.split('git+')[1];\n };\n\n const repositoryURL = getCorrectRepositoryURL();\n\n return (\n <List\n dense={true}\n subheader={<StyledText variant=\"subtitle1\">{t('sidebar.repository.title')}</StyledText>}\n >\n <RepositoryListItem>\n <RepositoryAvatar sx={{ bgcolor: common.white }}>\n <Git />\n </RepositoryAvatar>\n <RepositoryListItemText\n primary={\n <CopyClipboard dataTestId=\"repositoryID\" text={repositoryURL} title={repositoryURL}>\n <LinkExternal to={repositoryURL} variant=\"outline\">\n {repositoryURL}\n </LinkExternal>\n </CopyClipboard>\n }\n />\n </RepositoryListItem>\n </List>\n );\n};\n\nexport default Repository;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,IAAM,aAAa,OAAO,WAAW,EAAqB,WAAW;CACnE,YAAY,MAAM,MAAM,WAAW;CACnC,eAAe;CAChB,EAAE;AAEH,IAAM,qBAAqB,OAAO,SAAS,CAAC;CAC1C,SAAS;CACT,UAAU,EACR,iBAAiB,eAClB;CACF,CAAC;AAEF,IAAM,yBAAyB,OAAO,gBAAa,CAAC;CAClD,SAAS;CACT,QAAQ;CACT,CAAC;AAEF,IAAM,mBAAmB,OAAO,OAAO,CAAC;CACtC,SAAS;CACT,YAAY;CACZ,iBAAiB;CAClB,CAAC;AAEF,IAAM,cAA8C,EAAE,kBAAkB;CACtE,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,MAAM,aAAa,QAAQ,YAAY;AAC7C,KAAI,CAAC,OAAO,CAAC,MAAe,IAAI,CAC9B,QAAO;CAGT,MAAM,gCAAwC;AAC5C,MAAI,CAAC,IAAI,SAAS,OAAO,CACvB,QAAO;AAGT,SAAO,IAAI,MAAM,OAAO,CAAC;;CAG3B,MAAM,gBAAgB,yBAAyB;AAE/C,QACE,oBAAC,MAAD;EACE,OAAO;EACP,WAAW,oBAAC,YAAD;GAAY,SAAQ;aAAa,EAAE,2BAA2B;GAAc,CAAA;YAEvF,qBAAC,oBAAD,EAAA,UAAA,CACE,oBAAC,kBAAD;GAAkB,IAAI,EAAE,SAAS,OAAO,OAAO;aAC7C,oBAAC,KAAD,EAAO,CAAA;GACU,CAAA,EACnB,oBAAC,wBAAD,EACE,SACE,oBAAC,iBAAD;GAAe,YAAW;GAAe,MAAM;GAAe,OAAO;aACnE,oBAAC,cAAD;IAAc,IAAI;IAAe,SAAQ;cACtC;IACY,CAAA;GACD,CAAA,EAElB,CAAA,CACiB,EAAA,CAAA;EAChB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
2
|
import { common } from "@mui/material/colors";
|
|
3
3
|
import Typography from "@mui/material/Typography";
|
|
4
|
-
import
|
|
4
|
+
import MuiListItemText from "@mui/material/ListItemText";
|
|
5
5
|
//#region src/components/UpLinks/styles.ts
|
|
6
6
|
var StyledText = styled(Typography)((props) => ({ fontWeight: props.theme.fontWeight.bold }));
|
|
7
7
|
var Spacer = styled("div")(({ theme }) => ({
|
|
@@ -11,12 +11,12 @@ var Spacer = styled("div")(({ theme }) => ({
|
|
|
11
11
|
height: "0.5em",
|
|
12
12
|
margin: "0 16px"
|
|
13
13
|
}));
|
|
14
|
-
var ListItemText
|
|
14
|
+
var ListItemText = styled(MuiListItemText)(({ theme }) => ({
|
|
15
15
|
flex: "none",
|
|
16
16
|
color: theme.palette.mode == "light" ? theme.palette.black : common.white,
|
|
17
17
|
opacity: .6
|
|
18
18
|
}));
|
|
19
19
|
//#endregion
|
|
20
|
-
export { ListItemText
|
|
20
|
+
export { ListItemText, Spacer, StyledText };
|
|
21
21
|
|
|
22
22
|
//# sourceMappingURL=styles.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/UpLinks/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as MuiListItemText } from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport { common } from '@mui/material/colors';\n\nimport type { Theme } from '../../Theme';\n\nexport const StyledText = styled(Typography)<{ theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight.bold,\n}));\n\nexport const Spacer = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n flex: '1 1 auto',\n borderBottom: `1px dotted ${\n theme.palette.mode == 'light' ? 'rgba(0, 0, 0, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n } `,\n whiteSpace: 'nowrap',\n height: '0.5em',\n margin: '0 16px',\n}));\n\nexport const ListItemText = styled(MuiListItemText)<{ theme?: Theme }>(({ theme }) => ({\n flex: 'none',\n color: theme.palette.mode == 'light' ? theme.palette.black : common.white,\n opacity: 0.6,\n}));\n"],"mappings":";;;;;AAOA,IAAa,aAAa,OAAO,WAAW,EAAqB,WAAW,EAC1E,YAAY,MAAM,MAAM,WAAW,MACpC,EAAE;AAEH,IAAa,SAAS,OAAO,MAAM,EAAqB,EAAE,aAAa;CACrE,MAAM;CACN,cAAc,cACZ,MAAM,QAAQ,QAAQ,UAAU,uBAAuB,2BACxD;CACD,YAAY;CACZ,QAAQ;CACR,QAAQ;CACT,EAAE;AAEH,IAAa,
|
|
1
|
+
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/UpLinks/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as MuiListItemText } from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport { common } from '@mui/material/colors';\n\nimport type { Theme } from '../../Theme';\n\nexport const StyledText = styled(Typography)<{ theme?: Theme }>((props) => ({\n fontWeight: props.theme.fontWeight.bold,\n}));\n\nexport const Spacer = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n flex: '1 1 auto',\n borderBottom: `1px dotted ${\n theme.palette.mode == 'light' ? 'rgba(0, 0, 0, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n } `,\n whiteSpace: 'nowrap',\n height: '0.5em',\n margin: '0 16px',\n}));\n\nexport const ListItemText = styled(MuiListItemText)<{ theme?: Theme }>(({ theme }) => ({\n flex: 'none',\n color: theme.palette.mode == 'light' ? theme.palette.black : common.white,\n opacity: 0.6,\n}));\n"],"mappings":";;;;;AAOA,IAAa,aAAa,OAAO,WAAW,EAAqB,WAAW,EAC1E,YAAY,MAAM,MAAM,WAAW,MACpC,EAAE;AAEH,IAAa,SAAS,OAAO,MAAM,EAAqB,EAAE,aAAa;CACrE,MAAM;CACN,cAAc,cACZ,MAAM,QAAQ,QAAQ,UAAU,uBAAuB,2BACxD;CACD,YAAY;CACZ,QAAQ;CACR,QAAQ;CACT,EAAE;AAEH,IAAa,eAAe,OAAO,gBAAgB,EAAqB,EAAE,aAAa;CACrF,MAAM;CACN,OAAO,MAAM,QAAQ,QAAQ,UAAU,MAAM,QAAQ,QAAQ,OAAO;CACpE,SAAS;CACV,EAAE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
2
|
import { common } from "@mui/material/colors";
|
|
3
|
-
import
|
|
3
|
+
import MuiListItemText from "@mui/material/ListItemText";
|
|
4
4
|
//#region src/components/Versions/styles.ts
|
|
5
5
|
var Spacer = styled("div")(({ theme }) => ({
|
|
6
6
|
flex: "1 1 auto",
|
|
@@ -9,12 +9,12 @@ var Spacer = styled("div")(({ theme }) => ({
|
|
|
9
9
|
height: "0.5em",
|
|
10
10
|
margin: "0 16px"
|
|
11
11
|
}));
|
|
12
|
-
var ListItemText
|
|
12
|
+
var ListItemText = styled(MuiListItemText)(({ theme }) => ({
|
|
13
13
|
flex: "none",
|
|
14
14
|
opacity: .6,
|
|
15
15
|
color: theme.palette.mode == "light" ? theme.palette.black : common.white
|
|
16
16
|
}));
|
|
17
17
|
//#endregion
|
|
18
|
-
export { ListItemText
|
|
18
|
+
export { ListItemText, Spacer };
|
|
19
19
|
|
|
20
20
|
//# sourceMappingURL=styles.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/Versions/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as MuiListItemText } from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\n\nimport type { Theme } from '../../Theme';\n\nexport const Spacer = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n flex: '1 1 auto',\n borderBottom: `1px dotted ${\n theme.palette.mode == 'light' ? 'rgba(0, 0, 0, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n } `,\n whiteSpace: 'nowrap',\n height: '0.5em',\n margin: '0 16px',\n}));\n\nexport const ListItemText = styled(MuiListItemText)<{ theme?: Theme }>(({ theme }) => ({\n flex: 'none',\n opacity: 0.6,\n color: theme.palette.mode == 'light' ? theme.palette.black : common.white,\n}));\n"],"mappings":";;;;AAMA,IAAa,SAAS,OAAO,MAAM,EAAqB,EAAE,aAAa;CACrE,MAAM;CACN,cAAc,cACZ,MAAM,QAAQ,QAAQ,UAAU,uBAAuB,2BACxD;CACD,YAAY;CACZ,QAAQ;CACR,QAAQ;CACT,EAAE;AAEH,IAAa,
|
|
1
|
+
{"version":3,"file":"styles.mjs","names":[],"sources":["../../../src/components/Versions/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as MuiListItemText } from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\n\nimport type { Theme } from '../../Theme';\n\nexport const Spacer = styled('div')<{ theme?: Theme }>(({ theme }) => ({\n flex: '1 1 auto',\n borderBottom: `1px dotted ${\n theme.palette.mode == 'light' ? 'rgba(0, 0, 0, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n } `,\n whiteSpace: 'nowrap',\n height: '0.5em',\n margin: '0 16px',\n}));\n\nexport const ListItemText = styled(MuiListItemText)<{ theme?: Theme }>(({ theme }) => ({\n flex: 'none',\n opacity: 0.6,\n color: theme.palette.mode == 'light' ? theme.palette.black : common.white,\n}));\n"],"mappings":";;;;AAMA,IAAa,SAAS,OAAO,MAAM,EAAqB,EAAE,aAAa;CACrE,MAAM;CACN,cAAc,cACZ,MAAM,QAAQ,QAAQ,UAAU,uBAAuB,2BACxD;CACD,YAAY;CACZ,QAAQ;CACR,QAAQ;CACT,EAAE;AAEH,IAAa,eAAe,OAAO,gBAAgB,EAAqB,EAAE,aAAa;CACrF,MAAM;CACN,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ,UAAU,MAAM,QAAQ,QAAQ,OAAO;CACrE,EAAE"}
|
package/build/ui-components.css
CHANGED
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
--borderRadius-medium: .375rem;
|
|
21
21
|
--stack-padding-condensed: .5rem;
|
|
22
22
|
--stack-padding-normal: 1rem;
|
|
23
|
-
--fontStack-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
|
|
24
|
-
--fontStack-sansSerif: "Mona Sans VF"
|
|
23
|
+
--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
|
|
24
|
+
--fontStack-sansSerif: "Mona Sans VF", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
25
25
|
--text-body-size-small: var(--base-text-size-xs);
|
|
26
26
|
--h6-size: .75rem;
|
|
27
27
|
--fgColor-accent: Highlight;
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
--borderRadius-medium: .375rem;
|
|
101
101
|
--stack-padding-condensed: .5rem;
|
|
102
102
|
--stack-padding-normal: 1rem;
|
|
103
|
-
--fontStack-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
|
|
104
|
-
--fontStack-sansSerif: "Mona Sans VF"
|
|
103
|
+
--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
|
|
104
|
+
--fontStack-sansSerif: "Mona Sans VF", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
105
105
|
--text-body-size-small: var(--base-text-size-xs);
|
|
106
106
|
--h6-size: .75rem;
|
|
107
107
|
--fgColor-accent: Highlight;
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
font-weight: var(--base-text-weight-normal,400);
|
|
174
174
|
color: var(--fgColor-default);
|
|
175
175
|
background-color: var(--bgColor-default);
|
|
176
|
-
font-family: var(--fontStack-sansSerif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji");
|
|
176
|
+
font-family: var(--fontStack-sansSerif,-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");
|
|
177
177
|
overflow-wrap: break-word;
|
|
178
178
|
font-size: 16px;
|
|
179
179
|
line-height: 1.5;
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
background: 0 0;
|
|
294
294
|
overflow: hidden;
|
|
295
295
|
height: .25em;
|
|
296
|
-
margin: var(--base-size-24)0;
|
|
296
|
+
margin: var(--base-size-24) 0;
|
|
297
297
|
background-color: var(--borderColor-default);
|
|
298
298
|
border: 0;
|
|
299
299
|
padding: 0;
|
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
|
|
426
426
|
.markdown-body kbd {
|
|
427
427
|
padding: var(--base-size-4);
|
|
428
|
-
font: 11px var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
428
|
+
font: 11px var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
429
429
|
color: var(--fgColor-default);
|
|
430
430
|
vertical-align: middle;
|
|
431
431
|
background-color: var(--bgColor-muted);
|
|
@@ -520,12 +520,12 @@
|
|
|
520
520
|
.markdown-body tt,
|
|
521
521
|
.markdown-body code,
|
|
522
522
|
.markdown-body samp {
|
|
523
|
-
font-family: var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
523
|
+
font-family: var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
524
524
|
font-size: 12px;
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
.markdown-body pre {
|
|
528
|
-
font-family: var(--fontStack-monospace,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace);
|
|
528
|
+
font-family: var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
|
|
529
529
|
margin-top: 0;
|
|
530
530
|
margin-bottom: 0;
|
|
531
531
|
font-size: 12px;
|
|
@@ -562,7 +562,7 @@
|
|
|
562
562
|
}
|
|
563
563
|
|
|
564
564
|
.markdown-body .border {
|
|
565
|
-
border: var(--borderWidth-thin,1px)solid var(--borderColor-default)!important;
|
|
565
|
+
border: var(--borderWidth-thin,1px) solid var(--borderColor-default)!important;
|
|
566
566
|
}
|
|
567
567
|
|
|
568
568
|
.markdown-body .border-0 {
|
|
@@ -1035,7 +1035,7 @@
|
|
|
1035
1035
|
}
|
|
1036
1036
|
|
|
1037
1037
|
.markdown-body .csv-data .blob-num {
|
|
1038
|
-
padding: 10px var(--base-size-8)9px;
|
|
1038
|
+
padding: 10px var(--base-size-8) 9px;
|
|
1039
1039
|
text-align: right;
|
|
1040
1040
|
background: var(--bgColor-default);
|
|
1041
1041
|
border: 0;
|
|
@@ -1125,11 +1125,11 @@
|
|
|
1125
1125
|
.markdown-body .Box--condensed .Box-body,
|
|
1126
1126
|
.markdown-body .Box--condensed .Box-footer,
|
|
1127
1127
|
.markdown-body .Box--condensed .Box-header {
|
|
1128
|
-
padding: var(--stack-padding-condensed)var(--stack-padding-normal);
|
|
1128
|
+
padding: var(--stack-padding-condensed) var(--stack-padding-normal);
|
|
1129
1129
|
}
|
|
1130
1130
|
|
|
1131
1131
|
.markdown-body .Box--condensed .Box-row {
|
|
1132
|
-
padding: var(--stack-padding-condensed)var(--stack-padding-normal);
|
|
1132
|
+
padding: var(--stack-padding-condensed) var(--stack-padding-normal);
|
|
1133
1133
|
}
|
|
1134
1134
|
|
|
1135
1135
|
.markdown-body .Box-header {
|
|
@@ -1139,12 +1139,12 @@
|
|
|
1139
1139
|
border-top-right-radius: var(--borderRadius-medium);
|
|
1140
1140
|
border-style: solid;
|
|
1141
1141
|
border-width: var(--borderWidth-thin);
|
|
1142
|
-
margin: calc(var(--borderWidth-thin)*-1)calc(var(--borderWidth-thin)*-1)0;
|
|
1142
|
+
margin: calc(var(--borderWidth-thin)*-1) calc(var(--borderWidth-thin)*-1) 0;
|
|
1143
1143
|
padding: var(--stack-padding-normal);
|
|
1144
1144
|
}
|
|
1145
1145
|
|
|
1146
1146
|
.markdown-body .Box-body {
|
|
1147
|
-
border-bottom: var(--borderWidth-thin)solid var(--borderColor-default);
|
|
1147
|
+
border-bottom: var(--borderWidth-thin) solid var(--borderColor-default);
|
|
1148
1148
|
padding: var(--stack-padding-normal);
|
|
1149
1149
|
}
|
|
1150
1150
|
|
|
@@ -1465,7 +1465,7 @@
|
|
|
1465
1465
|
}
|
|
1466
1466
|
|
|
1467
1467
|
.markdown-body .markdown-alert {
|
|
1468
|
-
padding: var(--base-size-8)var(--base-size-16);
|
|
1468
|
+
padding: var(--base-size-8) var(--base-size-16);
|
|
1469
1469
|
margin-bottom: var(--base-size-16);
|
|
1470
1470
|
color: inherit;
|
|
1471
1471
|
border-left: .25em solid var(--borderColor-default);
|
|
@@ -1530,6 +1530,48 @@
|
|
|
1530
1530
|
margin-top: 0!important;
|
|
1531
1531
|
}
|
|
1532
1532
|
|
|
1533
|
+
.markdown-body .markdown-heading {
|
|
1534
|
+
position: relative;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
.markdown-body .markdown-heading .heading-element:hover+.anchor {
|
|
1538
|
+
opacity: 1;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
.markdown-body .markdown-heading h1.heading-element+.anchor,
|
|
1542
|
+
.markdown-body .markdown-heading h2.heading-element+.anchor {
|
|
1543
|
+
transform: translateY(calc(-50% - .3rem));
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
.markdown-body .markdown-heading .anchor {
|
|
1547
|
+
border-radius: var(--borderRadius-medium);
|
|
1548
|
+
opacity: 0;
|
|
1549
|
+
justify-content: center;
|
|
1550
|
+
align-items: center;
|
|
1551
|
+
width: 28px;
|
|
1552
|
+
height: 28px;
|
|
1553
|
+
margin: auto;
|
|
1554
|
+
display: flex;
|
|
1555
|
+
position: absolute;
|
|
1556
|
+
top: 50%;
|
|
1557
|
+
left: -28px;
|
|
1558
|
+
transform: translateY(-50%);
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
.markdown-body .markdown-heading .anchor:hover {
|
|
1562
|
+
opacity: 1;
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
.markdown-body .markdown-heading .anchor:focus {
|
|
1566
|
+
outline: 2px solid var(--focus-outlineColor);
|
|
1567
|
+
outline-offset: -2px;
|
|
1568
|
+
opacity: 1;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
.markdown-body .markdown-heading .anchor .octicon {
|
|
1572
|
+
color: var(--fgColor-default);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1533
1575
|
.markdown-body .tab-size[data-tab-size="1"] {
|
|
1534
1576
|
tab-size: 1;
|
|
1535
1577
|
}
|
package/build/utils/url.js
CHANGED
|
@@ -29,11 +29,10 @@ function extractFileName(url) {
|
|
|
29
29
|
return url.substring(url.lastIndexOf("/") + 1);
|
|
30
30
|
}
|
|
31
31
|
function blobToFile(blob, fileName) {
|
|
32
|
-
|
|
32
|
+
return Object.assign(blob, {
|
|
33
33
|
lastModified: Date.now(),
|
|
34
34
|
name: fileName
|
|
35
|
-
};
|
|
36
|
-
return Object.assign(blob, fileProperties);
|
|
35
|
+
});
|
|
37
36
|
}
|
|
38
37
|
function downloadFile(fileStream, fileName) {
|
|
39
38
|
let file;
|
package/build/utils/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","names":[],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\n// Legacy Edge support for file downloads\ninterface NavigatorWithMSSaveBlob extends Navigator {\n msSaveBlob?: (blob: Blob, fileName: string) => boolean;\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // Create a proper File object by extending the Blob with File properties\n const fileProperties = {\n lastModified: Date.now(),\n name: fileName,\n };\n\n // Use Object.assign to copy properties while maintaining the Blob prototype\n return Object.assign(blob, fileProperties) as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n const nav = navigator as NavigatorWithMSSaveBlob;\n if (nav.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAGA,SAAgB,MAAM,KAAsB;AAC1C,SAAA,GAAA,oBAAA,SAAsB,OAAO,IAAI;EAC/B,WAAW;GAAC;GAAQ;GAAS;GAAa;GAAM;EAChD,kBAAkB;EAClB,aAAa;EACd,CAAC;;AAGJ,SAAgB,QAAQ,OAAwB;AAC9C,SAAA,GAAA,sBAAA,SAAwB,SAAS,GAAG;;AAGtC,SAAgB,gBAAgB,KAAqB;AACnD,QAAO,IAAI,UAAU,IAAI,YAAY,IAAI,GAAG,EAAE;;AAQhD,SAAS,WAAW,MAAY,UAAwB;
|
|
1
|
+
{"version":3,"file":"url.js","names":[],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\n// Legacy Edge support for file downloads\ninterface NavigatorWithMSSaveBlob extends Navigator {\n msSaveBlob?: (blob: Blob, fileName: string) => boolean;\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // Create a proper File object by extending the Blob with File properties\n const fileProperties = {\n lastModified: Date.now(),\n name: fileName,\n };\n\n // Use Object.assign to copy properties while maintaining the Blob prototype\n return Object.assign(blob, fileProperties) as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n const nav = navigator as NavigatorWithMSSaveBlob;\n if (nav.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAGA,SAAgB,MAAM,KAAsB;AAC1C,SAAA,GAAA,oBAAA,SAAsB,OAAO,IAAI;EAC/B,WAAW;GAAC;GAAQ;GAAS;GAAa;GAAM;EAChD,kBAAkB;EAClB,aAAa;EACd,CAAC;;AAGJ,SAAgB,QAAQ,OAAwB;AAC9C,SAAA,GAAA,sBAAA,SAAwB,SAAS,GAAG;;AAGtC,SAAgB,gBAAgB,KAAqB;AACnD,QAAO,IAAI,UAAU,IAAI,YAAY,IAAI,GAAG,EAAE;;AAQhD,SAAS,WAAW,MAAY,UAAwB;AAQtD,QAAO,OAAO,OAAO,MANE;EACrB,cAAc,KAAK,KAAK;EACxB,MAAM;EACP,CAGyC;;AAG5C,SAAgB,aAAa,YAAkB,UAAwB;CACrE,IAAI;AAIJ,KADY,UACJ,WAEN,QAAO,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,4BAA4B,CAAC,EAAE,SAAS;KAEzF,QAAO,IAAI,KAAK,CAAC,WAAW,EAAE,UAAU;EACtC,MAAM;EACN,cAAc,KAAK,KAAK;EACzB,CAAC;CAGJ,MAAM,YAAY,IAAI,gBAAgB,KAAK;CAC3C,MAAM,WAAW,SAAS,cAAc,IAAI;AAC5C,UAAS,OAAO;AAChB,UAAS,WAAW;AAWpB,KAAI,EAND,OAAO,WAAW,eACjB,OAAO,aACP,OAAO,UAAU,aACjB,OAAO,UAAU,UAAU,SAAS,UAAU,IAChD,OAAO,UAAU,UAAU,SAAS,QAAQ,GAEtB;AAGtB,WAAS,gBAAgB,YAAY,SAAS;AAC9C,WAAS,OAAO;AAEhB,mBAAiB;AACf,OAAI,gBAAgB,UAAU;AAC9B,YAAS,gBAAgB,YAAY,SAAS;KAC7C,IAAI;OAGP,kBAAiB;AACf,MAAI,gBAAgB,UAAU;IAC7B,IAAI"}
|
package/build/utils/url.mjs
CHANGED
|
@@ -27,11 +27,10 @@ function extractFileName(url) {
|
|
|
27
27
|
return url.substring(url.lastIndexOf("/") + 1);
|
|
28
28
|
}
|
|
29
29
|
function blobToFile(blob, fileName) {
|
|
30
|
-
|
|
30
|
+
return Object.assign(blob, {
|
|
31
31
|
lastModified: Date.now(),
|
|
32
32
|
name: fileName
|
|
33
|
-
};
|
|
34
|
-
return Object.assign(blob, fileProperties);
|
|
33
|
+
});
|
|
35
34
|
}
|
|
36
35
|
function downloadFile(fileStream, fileName) {
|
|
37
36
|
let file;
|
package/build/utils/url.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.mjs","names":[],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\n// Legacy Edge support for file downloads\ninterface NavigatorWithMSSaveBlob extends Navigator {\n msSaveBlob?: (blob: Blob, fileName: string) => boolean;\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // Create a proper File object by extending the Blob with File properties\n const fileProperties = {\n lastModified: Date.now(),\n name: fileName,\n };\n\n // Use Object.assign to copy properties while maintaining the Blob prototype\n return Object.assign(blob, fileProperties) as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n const nav = navigator as NavigatorWithMSSaveBlob;\n if (nav.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":";;;;;;;;;;AAGA,SAAgB,MAAM,KAAsB;AAC1C,QAAO,eAAe,OAAO,IAAI;EAC/B,WAAW;GAAC;GAAQ;GAAS;GAAa;GAAM;EAChD,kBAAkB;EAClB,aAAa;EACd,CAAC;;AAGJ,SAAgB,QAAQ,OAAwB;AAC9C,QAAO,iBAAiB,SAAS,GAAG;;AAGtC,SAAgB,gBAAgB,KAAqB;AACnD,QAAO,IAAI,UAAU,IAAI,YAAY,IAAI,GAAG,EAAE;;AAQhD,SAAS,WAAW,MAAY,UAAwB;
|
|
1
|
+
{"version":3,"file":"url.mjs","names":[],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\n// Legacy Edge support for file downloads\ninterface NavigatorWithMSSaveBlob extends Navigator {\n msSaveBlob?: (blob: Blob, fileName: string) => boolean;\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // Create a proper File object by extending the Blob with File properties\n const fileProperties = {\n lastModified: Date.now(),\n name: fileName,\n };\n\n // Use Object.assign to copy properties while maintaining the Blob prototype\n return Object.assign(blob, fileProperties) as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n const nav = navigator as NavigatorWithMSSaveBlob;\n if (nav.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":";;;;;;;;;;AAGA,SAAgB,MAAM,KAAsB;AAC1C,QAAO,eAAe,OAAO,IAAI;EAC/B,WAAW;GAAC;GAAQ;GAAS;GAAa;GAAM;EAChD,kBAAkB;EAClB,aAAa;EACd,CAAC;;AAGJ,SAAgB,QAAQ,OAAwB;AAC9C,QAAO,iBAAiB,SAAS,GAAG;;AAGtC,SAAgB,gBAAgB,KAAqB;AACnD,QAAO,IAAI,UAAU,IAAI,YAAY,IAAI,GAAG,EAAE;;AAQhD,SAAS,WAAW,MAAY,UAAwB;AAQtD,QAAO,OAAO,OAAO,MANE;EACrB,cAAc,KAAK,KAAK;EACxB,MAAM;EACP,CAGyC;;AAG5C,SAAgB,aAAa,YAAkB,UAAwB;CACrE,IAAI;AAIJ,KADY,UACJ,WAEN,QAAO,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,4BAA4B,CAAC,EAAE,SAAS;KAEzF,QAAO,IAAI,KAAK,CAAC,WAAW,EAAE,UAAU;EACtC,MAAM;EACN,cAAc,KAAK,KAAK;EACzB,CAAC;CAGJ,MAAM,YAAY,IAAI,gBAAgB,KAAK;CAC3C,MAAM,WAAW,SAAS,cAAc,IAAI;AAC5C,UAAS,OAAO;AAChB,UAAS,WAAW;AAWpB,KAAI,EAND,OAAO,WAAW,eACjB,OAAO,aACP,OAAO,UAAU,aACjB,OAAO,UAAU,UAAU,SAAS,UAAU,IAChD,OAAO,UAAU,UAAU,SAAS,QAAQ,GAEtB;AAGtB,WAAS,gBAAgB,YAAY,SAAS;AAC9C,WAAS,OAAO;AAEhB,mBAAiB;AACf,OAAI,gBAAgB,UAAU;AAC9B,YAAS,gBAAgB,YAAY,SAAS;KAC7C,IAAI;OAGP,kBAAiB;AACf,MAAI,gBAAgB,UAAU;IAC7B,IAAI"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/ui-components",
|
|
3
|
-
"version": "5.0.0-next-9.
|
|
3
|
+
"version": "5.0.0-next-9.11",
|
|
4
4
|
"description": "Verdaccio UI Components",
|
|
5
5
|
"author": "Juan Picado <juanpicado19@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@emotion/react": "11.14.0",
|
|
26
26
|
"@emotion/styled": "11.14.1",
|
|
27
27
|
"@hookform/resolvers": "5.2.2",
|
|
28
|
-
"@microlink/react-json-view": "1.31.
|
|
28
|
+
"@microlink/react-json-view": "1.31.16",
|
|
29
29
|
"@mui/icons-material": "7.3.9",
|
|
30
30
|
"@mui/material": "7.3.9",
|
|
31
31
|
"@mui/system": "7.3.9",
|
|
@@ -33,25 +33,25 @@
|
|
|
33
33
|
"country-flag-icons": "1.6.15",
|
|
34
34
|
"dayjs": "1.11.20",
|
|
35
35
|
"debug": "4.4.3",
|
|
36
|
-
"dompurify": "3.
|
|
36
|
+
"dompurify": "3.4.0",
|
|
37
37
|
"highlight.js": "11.11.1",
|
|
38
|
-
"i18next": "25.
|
|
38
|
+
"i18next": "25.10.10",
|
|
39
39
|
"js-base64": "3.7.8",
|
|
40
40
|
"localstorage-memory": "1.0.3",
|
|
41
|
-
"lodash-es": "4.
|
|
42
|
-
"marked": "17.0.
|
|
41
|
+
"lodash-es": "4.18.1",
|
|
42
|
+
"marked": "17.0.5",
|
|
43
43
|
"marked-highlight": "2.2.3",
|
|
44
44
|
"normalize.css": "8.0.1",
|
|
45
45
|
"react": "19.2.4",
|
|
46
46
|
"react-dom": "19.2.4",
|
|
47
|
-
"react-hook-form": "7.
|
|
48
|
-
"react-i18next": "16.
|
|
47
|
+
"react-hook-form": "7.72.1",
|
|
48
|
+
"react-i18next": "16.6.6",
|
|
49
49
|
"react-markdown": "10.1.0",
|
|
50
|
-
"react-router": "7.
|
|
50
|
+
"react-router": "7.14.0",
|
|
51
51
|
"react-virtualized": "9.22.6",
|
|
52
52
|
"semver": "7.7.4",
|
|
53
53
|
"swr": "2.4.1",
|
|
54
|
-
"validator": "13.15.
|
|
54
|
+
"validator": "13.15.35",
|
|
55
55
|
"yup": "1.7.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
@@ -63,18 +63,16 @@
|
|
|
63
63
|
"@testing-library/react": "16.3.2",
|
|
64
64
|
"@types/lodash-es": "4.17.12",
|
|
65
65
|
"@types/node": "24.10.13",
|
|
66
|
-
"@verdaccio/types": "14.0.0-next-9.
|
|
66
|
+
"@verdaccio/types": "14.0.0-next-9.6",
|
|
67
67
|
"@vitejs/plugin-react": "6.0.1",
|
|
68
|
-
"
|
|
69
|
-
"eslint-plugin-verdaccio": "10.0.0",
|
|
70
|
-
"generate-github-markdown-css": "^6.6.0",
|
|
68
|
+
"generate-github-markdown-css": "6.6.0",
|
|
71
69
|
"jsdom": "28.1.0",
|
|
72
70
|
"mockdate": "3.0.5",
|
|
73
71
|
"msw": "2.12.10",
|
|
74
72
|
"msw-storybook-addon": "2.0.6",
|
|
75
73
|
"mutationobserver-shim": "0.3.7",
|
|
76
74
|
"storybook": "10.2.17",
|
|
77
|
-
"vite": "
|
|
75
|
+
"vite": "8.0.5",
|
|
78
76
|
"vitest": "4.1.0",
|
|
79
77
|
"whatwg-fetch": "3.6.20"
|
|
80
78
|
},
|