openvsx-webui-test 0.19.0-dev.0 → 0.19.0-dev.1
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/lib/components/scan-admin/scan-card/scan-card-content.d.ts +3 -3
- package/lib/components/scan-admin/scan-card/scan-card-content.d.ts.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-content.js +146 -169
- package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-header.d.ts.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-header.js +17 -5
- package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card.js +1 -1
- package/lib/components/scan-admin/scan-card/scan-card.js.map +1 -1
- package/lib/default/menu-content.d.ts +1 -4
- package/lib/default/menu-content.d.ts.map +1 -1
- package/lib/default/menu-content.js +8 -16
- package/lib/default/menu-content.js.map +1 -1
- package/lib/extension-registry-service.js +1 -1
- package/lib/extension-registry-service.js.map +1 -1
- package/lib/extension-registry-types.d.ts +2 -0
- package/lib/extension-registry-types.d.ts.map +1 -1
- package/lib/extension-registry-types.js.map +1 -1
- package/lib/hooks/scan-admin/use-query-params-state.d.ts +15 -0
- package/lib/hooks/scan-admin/use-query-params-state.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-query-params-state.js +44 -0
- package/lib/hooks/scan-admin/use-query-params-state.js.map +1 -0
- package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/admin-dashboard.js +2 -2
- package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
- package/lib/pages/admin-dashboard/extension-admin.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/extension-admin.js +4 -3
- package/lib/pages/admin-dashboard/extension-admin.js.map +1 -1
- package/lib/pages/admin-dashboard/namespace-input.d.ts +1 -0
- package/lib/pages/admin-dashboard/namespace-input.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/namespace-input.js +2 -2
- package/lib/pages/admin-dashboard/namespace-input.js.map +1 -1
- package/lib/pages/user/avatar.d.ts.map +1 -1
- package/lib/pages/user/avatar.js +9 -9
- package/lib/pages/user/avatar.js.map +1 -1
- package/lib/pages/user/logout.d.ts +3 -2
- package/lib/pages/user/logout.d.ts.map +1 -1
- package/lib/pages/user/logout.js +5 -4
- package/lib/pages/user/logout.js.map +1 -1
- package/lib/pages/user/user-settings-extensions.js +1 -1
- package/lib/pages/user/user-settings-extensions.js.map +1 -1
- package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
- package/lib/pages/user/user-settings-tokens.js +1 -1
- package/lib/pages/user/user-settings-tokens.js.map +1 -1
- package/lib/server-request.d.ts.map +1 -1
- package/lib/server-request.js +5 -1
- package/lib/server-request.js.map +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +48 -20
- package/lib/utils.js.map +1 -1
- package/package.json +5 -4
- package/src/components/scan-admin/scan-card/scan-card-content.tsx +380 -408
- package/src/components/scan-admin/scan-card/scan-card-header.tsx +35 -6
- package/src/components/scan-admin/scan-card/scan-card.tsx +2 -2
- package/src/default/menu-content.tsx +70 -96
- package/src/extension-registry-service.ts +1 -1
- package/src/extension-registry-types.ts +2 -0
- package/src/hooks/scan-admin/use-query-params-state.ts +55 -0
- package/src/pages/admin-dashboard/admin-dashboard.tsx +2 -1
- package/src/pages/admin-dashboard/extension-admin.tsx +4 -2
- package/src/pages/admin-dashboard/namespace-input.tsx +3 -1
- package/src/pages/user/avatar.tsx +30 -35
- package/src/pages/user/logout.tsx +6 -4
- package/src/pages/user/user-settings-extensions.tsx +1 -1
- package/src/pages/user/user-settings-tokens.tsx +1 -0
- package/src/server-request.ts +5 -1
- package/src/utils.ts +39 -16
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* SPDX-License-Identifier: EPL-2.0
|
|
12
12
|
********************************************************************************/
|
|
13
|
-
import {
|
|
13
|
+
import { FunctionComponent } from 'react';
|
|
14
14
|
import { ScanResult } from '../../../context/scan-admin';
|
|
15
15
|
interface ScanCardContentProps {
|
|
16
16
|
scan: ScanResult;
|
|
@@ -21,10 +21,10 @@ interface ScanCardContentProps {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Content section of the ScanCard containing:
|
|
24
|
-
* - Publisher, Version, Download (Row 2)
|
|
24
|
+
* - Publisher, Version, Platform, Download (Row 2)
|
|
25
25
|
* - Scan Start, Scan End, Duration, Decision Status (Row 3)
|
|
26
26
|
* - Checkbox for selection
|
|
27
27
|
*/
|
|
28
|
-
export declare const ScanCardContent:
|
|
28
|
+
export declare const ScanCardContent: FunctionComponent<ScanCardContentProps>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=scan-card-content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-card-content.d.ts","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-content.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scan-card-content.d.ts","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-content.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAOvE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AA+UzD,UAAU,oBAAoB;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,CA2DnE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/********************************************************************************
|
|
3
3
|
* Copyright (c) 2026 Contributors to the Eclipse Foundation
|
|
4
4
|
*
|
|
@@ -11,180 +11,157 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
11
11
|
*
|
|
12
12
|
* SPDX-License-Identifier: EPL-2.0
|
|
13
13
|
********************************************************************************/
|
|
14
|
-
import { useState } from
|
|
14
|
+
import { useState } from 'react';
|
|
15
15
|
import { Box, Typography, Link, IconButton, Tooltip } from '@mui/material';
|
|
16
|
+
import { styled, useTheme } from '@mui/material/styles';
|
|
16
17
|
import { Check as CheckIcon, Warning as WarningAmberIcon, } from '@mui/icons-material';
|
|
17
18
|
import { ConditionalTooltip, formatDateTime, formatDuration } from '../common';
|
|
18
|
-
import {
|
|
19
|
-
|
|
19
|
+
import { isRunning, hasDownload, getFileName } from './utils';
|
|
20
|
+
/**
|
|
21
|
+
* Grid cell positioned by row/column within the parent CSS Grid.
|
|
22
|
+
* Note: MUI's Grid/Grid2 components are flexbox-based, not CSS Grid.
|
|
23
|
+
*/
|
|
24
|
+
const GridCell = styled(Box, {
|
|
25
|
+
shouldForwardProp: (prop) => prop !== 'row' && prop !== 'column' && prop !== 'columnSpan',
|
|
26
|
+
})(({ row, column, columnSpan }) => ({
|
|
27
|
+
gridRow: String(row),
|
|
28
|
+
gridColumn: columnSpan ? `${column} / span ${columnSpan}` : String(column),
|
|
29
|
+
minWidth: 0,
|
|
30
|
+
}));
|
|
31
|
+
/** Typography with text-overflow ellipsis */
|
|
32
|
+
const EllipsisText = styled(Typography)({
|
|
33
|
+
display: 'block',
|
|
34
|
+
overflow: 'hidden',
|
|
35
|
+
textOverflow: 'ellipsis',
|
|
36
|
+
whiteSpace: 'nowrap',
|
|
37
|
+
});
|
|
38
|
+
/** Box with text-overflow ellipsis */
|
|
39
|
+
const EllipsisBox = styled(Box)({
|
|
40
|
+
overflow: 'hidden',
|
|
41
|
+
textOverflow: 'ellipsis',
|
|
42
|
+
whiteSpace: 'nowrap',
|
|
43
|
+
});
|
|
44
|
+
/** Link with text-overflow ellipsis */
|
|
45
|
+
const EllipsisLink = styled(Link)({
|
|
46
|
+
display: 'block',
|
|
47
|
+
overflow: 'hidden',
|
|
48
|
+
textOverflow: 'ellipsis',
|
|
49
|
+
whiteSpace: 'nowrap',
|
|
50
|
+
});
|
|
51
|
+
/** Shimmer-animated text for in-progress scan states */
|
|
52
|
+
const ShimmerText = styled(EllipsisText)(({ theme }) => ({
|
|
53
|
+
background: theme.palette.gray.gradient,
|
|
54
|
+
backgroundSize: '200% 100%',
|
|
55
|
+
backgroundClip: 'text',
|
|
56
|
+
WebkitBackgroundClip: 'text',
|
|
57
|
+
color: 'transparent',
|
|
58
|
+
animation: 'shimmer 2s infinite',
|
|
59
|
+
'@keyframes shimmer': {
|
|
60
|
+
'0%': { backgroundPosition: '200% 0' },
|
|
61
|
+
'100%': { backgroundPosition: '-200% 0' },
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
64
|
+
/** Circular checkbox outline with checked/hover state transitions */
|
|
65
|
+
const CheckboxOutline = styled(Box, {
|
|
66
|
+
shouldForwardProp: (prop) => prop !== 'isChecked' && prop !== 'isHovering',
|
|
67
|
+
})(({ theme, isChecked, isHovering }) => {
|
|
68
|
+
const borderColor = isHovering ? theme.palette.selected.border : theme.palette.scanBackground.light;
|
|
69
|
+
const uncheckedBg = isHovering ? theme.palette.selected.background : 'transparent';
|
|
70
|
+
return {
|
|
71
|
+
position: 'absolute',
|
|
72
|
+
width: 36,
|
|
73
|
+
height: 36,
|
|
74
|
+
borderRadius: '50%',
|
|
75
|
+
border: isChecked ? 'none' : `2px solid ${borderColor}`,
|
|
76
|
+
backgroundColor: isChecked ? theme.palette.secondary.main : uncheckedBg,
|
|
77
|
+
transition: 'border-color 0.2s, background-color 0.2s',
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
/** Section caption label (e.g. "Publisher", "Version") */
|
|
81
|
+
const CaptionLabel = ({ children }) => (_jsx(EllipsisText, { variant: 'caption', color: 'text.secondary', children: children }));
|
|
82
|
+
/** N/A placeholder for unavailable data */
|
|
83
|
+
const NotAvailable = () => (_jsx(Typography, { variant: 'body2', color: 'text.disabled', children: "N/A" }));
|
|
84
|
+
/** Publisher name with external link */
|
|
85
|
+
const PublisherCell = ({ publisher, publisherUrl, }) => (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Publisher" }), _jsx(ConditionalTooltip, { title: publisher, arrow: true, children: _jsx(EllipsisBox, { children: _jsx(EllipsisLink, { href: publisherUrl || undefined, target: '_blank', rel: 'noopener noreferrer', variant: 'body2', children: publisher }) }) })] }));
|
|
86
|
+
/** Extension version display */
|
|
87
|
+
const VersionCell = ({ version }) => (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Version" }), _jsx(ConditionalTooltip, { title: version, arrow: true, children: _jsx(EllipsisText, { variant: 'body2', children: version }) })] }));
|
|
88
|
+
/** Target platform display */
|
|
89
|
+
const PlatformCell = ({ targetPlatform }) => (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Platform" }), _jsx(ConditionalTooltip, { title: targetPlatform, arrow: true, children: _jsx(EllipsisText, { variant: 'body2', children: targetPlatform }) })] }));
|
|
90
|
+
/** Download link with optional quarantine warning icon */
|
|
91
|
+
const DownloadCell = ({ scan }) => {
|
|
92
|
+
const theme = useTheme();
|
|
93
|
+
if (isRunning(scan.status)) {
|
|
94
|
+
return (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Download" }), _jsx(NotAvailable, {})] }));
|
|
95
|
+
}
|
|
96
|
+
if (hasDownload(scan) && scan.downloadUrl) {
|
|
97
|
+
return (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Download" }), _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 0.5, minWidth: 0 }, children: [scan.status === 'QUARANTINED' && (_jsx(Tooltip, { title: 'Potentially malicious', arrow: true, disableInteractive: true, PopperProps: { disablePortal: true, sx: { pointerEvents: 'none' } }, children: _jsx(WarningAmberIcon, { sx: {
|
|
98
|
+
fontSize: 16,
|
|
99
|
+
color: theme.palette.quarantined.dark,
|
|
100
|
+
flexShrink: 0,
|
|
101
|
+
} }) })), _jsx(ConditionalTooltip, { title: getFileName(scan.downloadUrl), arrow: true, children: _jsx(EllipsisLink, { href: scan.downloadUrl, variant: 'body2', sx: { fontSize: '0.875rem', minWidth: 0 }, children: getFileName(scan.downloadUrl) }) })] })] }));
|
|
102
|
+
}
|
|
103
|
+
return (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Download" }), _jsx(NotAvailable, {})] }));
|
|
104
|
+
};
|
|
105
|
+
/** Circular selection checkbox with hover/check animations */
|
|
106
|
+
const SelectionCheckbox = ({ checked = false, onChange }) => {
|
|
107
|
+
const theme = useTheme();
|
|
108
|
+
const [isHovering, setIsHovering] = useState(false);
|
|
109
|
+
const uncheckedIconColor = isHovering ? theme.palette.selected.border : theme.palette.scanBackground.light;
|
|
110
|
+
return (_jsx(IconButton, { onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange(!checked), onMouseEnter: () => setIsHovering(true), onMouseLeave: () => setIsHovering(false), disableRipple: true, sx: { padding: 0, width: 36, height: 36, backgroundColor: 'transparent' }, children: _jsxs(Box, { className: 'checkbox-circle', sx: {
|
|
111
|
+
position: 'relative',
|
|
112
|
+
width: 36,
|
|
113
|
+
height: 36,
|
|
114
|
+
display: 'flex',
|
|
115
|
+
alignItems: 'center',
|
|
116
|
+
justifyContent: 'center',
|
|
117
|
+
}, children: [_jsx(CheckboxOutline, { className: 'checkbox-circle-outline', isChecked: checked, isHovering: isHovering }), _jsx(CheckIcon, { className: 'checkbox-icon', sx: {
|
|
118
|
+
fontSize: 24,
|
|
119
|
+
color: checked ? 'white' : uncheckedIconColor,
|
|
120
|
+
position: 'relative',
|
|
121
|
+
zIndex: 1,
|
|
122
|
+
transition: 'color 0.2s',
|
|
123
|
+
} })] }) }));
|
|
124
|
+
};
|
|
125
|
+
/** Scan start timestamp */
|
|
126
|
+
const ScanStartCell = ({ dateScanStarted }) => (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Scan Start" }), _jsx(ConditionalTooltip, { title: formatDateTime(dateScanStarted), arrow: true, children: _jsx(EllipsisText, { variant: 'body2', sx: { fontSize: '0.8rem' }, children: formatDateTime(dateScanStarted) }) })] }));
|
|
127
|
+
/** Scan end timestamp with shimmer animation for running scans */
|
|
128
|
+
const ScanEndCell = ({ status, dateScanEnded, }) => {
|
|
129
|
+
const renderValue = () => {
|
|
130
|
+
if (isRunning(status)) {
|
|
131
|
+
return (_jsx(ConditionalTooltip, { title: `${status}...`, arrow: true, children: _jsxs(ShimmerText, { variant: 'body2', children: [status, "..."] }) }));
|
|
132
|
+
}
|
|
133
|
+
if (dateScanEnded) {
|
|
134
|
+
return (_jsx(ConditionalTooltip, { title: formatDateTime(dateScanEnded), arrow: true, children: _jsx(EllipsisText, { variant: 'body2', sx: { fontSize: '0.8rem' }, children: formatDateTime(dateScanEnded) }) }));
|
|
135
|
+
}
|
|
136
|
+
return _jsx(NotAvailable, {});
|
|
137
|
+
};
|
|
138
|
+
return (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Scan End" }), renderValue()] }));
|
|
139
|
+
};
|
|
140
|
+
/** Scan duration with live counter for running scans */
|
|
141
|
+
const ScanDurationCell = ({ status, dateScanStarted, dateScanEnded, liveDuration }) => (_jsxs(_Fragment, { children: [_jsx(CaptionLabel, { children: "Scan Duration" }), isRunning(status) ? (_jsx(ConditionalTooltip, { title: liveDuration, arrow: true, children: _jsx(ShimmerText, { variant: 'body2', children: liveDuration }) })) : (_jsx(ConditionalTooltip, { title: formatDuration(dateScanStarted, dateScanEnded || undefined), arrow: true, children: _jsx(EllipsisText, { variant: 'body2', children: formatDuration(dateScanStarted, dateScanEnded || undefined) }) }))] }));
|
|
142
|
+
/** Admin decision status for quarantined extensions */
|
|
143
|
+
const DecisionStatusCell = ({ adminDecision }) => {
|
|
144
|
+
const theme = useTheme();
|
|
145
|
+
if (adminDecision) {
|
|
146
|
+
const isAllowed = adminDecision.decision.toLowerCase() === 'allowed';
|
|
147
|
+
return (_jsx(Tooltip, { title: `Decided by ${adminDecision.decidedBy} on ${formatDateTime(adminDecision.dateDecided)}`, arrow: true, disableInteractive: true, PopperProps: { disablePortal: true, sx: { pointerEvents: 'none' } }, children: _jsx(Typography, { variant: 'h6', sx: {
|
|
148
|
+
fontWeight: 700,
|
|
149
|
+
color: isAllowed ? theme.palette.allowed : theme.palette.blocked,
|
|
150
|
+
whiteSpace: 'nowrap',
|
|
151
|
+
cursor: 'help',
|
|
152
|
+
}, children: isAllowed ? 'ALLOWED' : 'BLOCKED' }) }));
|
|
153
|
+
}
|
|
154
|
+
return (_jsx(Typography, { variant: 'h6', sx: {
|
|
155
|
+
fontWeight: 700,
|
|
156
|
+
color: theme.palette.review,
|
|
157
|
+
whiteSpace: 'nowrap',
|
|
158
|
+
}, children: "NEEDS REVIEW" }));
|
|
159
|
+
};
|
|
20
160
|
/**
|
|
21
161
|
* Content section of the ScanCard containing:
|
|
22
|
-
* - Publisher, Version, Download (Row 2)
|
|
162
|
+
* - Publisher, Version, Platform, Download (Row 2)
|
|
23
163
|
* - Scan Start, Scan End, Duration, Decision Status (Row 3)
|
|
24
164
|
* - Checkbox for selection
|
|
25
165
|
*/
|
|
26
|
-
export const ScanCardContent = ({ scan, showCheckbox, checked, onCheckboxChange, liveDuration, }) => {
|
|
27
|
-
const theme = useTheme();
|
|
28
|
-
const [isCheckboxHovering, setIsCheckboxHovering] = useState(false);
|
|
29
|
-
return (_jsxs(_Fragment, { children: [_jsx(Box, { sx: { gridRow: '2', gridColumn: '1' } }), _jsxs(Box, { sx: { gridRow: '2', gridColumn: '2', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
30
|
-
overflow: 'hidden',
|
|
31
|
-
textOverflow: 'ellipsis',
|
|
32
|
-
whiteSpace: 'nowrap',
|
|
33
|
-
}, children: "Publisher" }), _jsx(ConditionalTooltip, { title: scan.publisher, arrow: true, children: _jsx(Box, { sx: {
|
|
34
|
-
overflow: 'hidden',
|
|
35
|
-
textOverflow: 'ellipsis',
|
|
36
|
-
whiteSpace: 'nowrap',
|
|
37
|
-
}, children: _jsx(Link, { href: scan.publisherUrl || undefined, target: '_blank', rel: 'noopener noreferrer', variant: 'body2', sx: {
|
|
38
|
-
overflow: 'hidden',
|
|
39
|
-
textOverflow: 'ellipsis',
|
|
40
|
-
whiteSpace: 'nowrap',
|
|
41
|
-
display: 'block',
|
|
42
|
-
}, children: scan.publisher }) }) })] }), _jsxs(Box, { sx: { gridRow: '2', gridColumn: '3', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
43
|
-
overflow: 'hidden',
|
|
44
|
-
textOverflow: 'ellipsis',
|
|
45
|
-
whiteSpace: 'nowrap',
|
|
46
|
-
}, children: "Version" }), _jsx(ConditionalTooltip, { title: scan.version, arrow: true, children: _jsx(Typography, { variant: 'body2', sx: {
|
|
47
|
-
display: 'block',
|
|
48
|
-
overflow: 'hidden',
|
|
49
|
-
textOverflow: 'ellipsis',
|
|
50
|
-
whiteSpace: 'nowrap',
|
|
51
|
-
}, children: scan.version }) })] }), _jsxs(Box, { sx: { gridRow: '2', gridColumn: '4', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
52
|
-
overflow: 'hidden',
|
|
53
|
-
textOverflow: 'ellipsis',
|
|
54
|
-
whiteSpace: 'nowrap',
|
|
55
|
-
}, children: "Download" }), isRunning(scan.status) ? (_jsx(Typography, { variant: 'body2', color: 'text.disabled', children: "N/A" })) : hasDownload(scan) && scan.downloadUrl ? (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 0.5, minWidth: 0 }, children: [scan.status === 'QUARANTINED' && (_jsx(Tooltip, { title: 'Potentially malicious', arrow: true, disableInteractive: true, PopperProps: {
|
|
56
|
-
disablePortal: true,
|
|
57
|
-
sx: { pointerEvents: 'none' },
|
|
58
|
-
}, children: _jsx(WarningAmberIcon, { sx: {
|
|
59
|
-
fontSize: 16,
|
|
60
|
-
color: theme.palette.quarantined.dark,
|
|
61
|
-
flexShrink: 0,
|
|
62
|
-
} }) })), _jsx(ConditionalTooltip, { title: getFileName(scan.downloadUrl), arrow: true, children: _jsx(Link, { href: scan.downloadUrl, variant: 'body2', sx: {
|
|
63
|
-
overflow: 'hidden',
|
|
64
|
-
textOverflow: 'ellipsis',
|
|
65
|
-
whiteSpace: 'nowrap',
|
|
66
|
-
minWidth: 0,
|
|
67
|
-
display: 'block',
|
|
68
|
-
fontSize: '0.875rem',
|
|
69
|
-
}, children: getFileName(scan.downloadUrl) }) })] })) : (_jsx(Typography, { variant: 'body2', color: 'text.disabled', children: "N/A" }))] }), _jsx(Box, { sx: { gridRow: '2', gridColumn: '5', display: 'flex', alignItems: 'center', justifyContent: 'flex-end', minWidth: 0 }, children: showCheckbox && (_jsx(IconButton, { onClick: () => onCheckboxChange === null || onCheckboxChange === void 0 ? void 0 : onCheckboxChange(scan.id, !checked), onMouseEnter: () => setIsCheckboxHovering(true), onMouseLeave: () => setIsCheckboxHovering(false), disableRipple: true, sx: {
|
|
70
|
-
padding: 0,
|
|
71
|
-
width: 36,
|
|
72
|
-
height: 36,
|
|
73
|
-
backgroundColor: 'transparent',
|
|
74
|
-
}, children: _jsxs(Box, { className: 'checkbox-circle', sx: {
|
|
75
|
-
position: 'relative',
|
|
76
|
-
width: 36,
|
|
77
|
-
height: 36,
|
|
78
|
-
display: 'flex',
|
|
79
|
-
alignItems: 'center',
|
|
80
|
-
justifyContent: 'center',
|
|
81
|
-
}, children: [_jsx(Box, { className: 'checkbox-circle-outline', sx: {
|
|
82
|
-
position: 'absolute',
|
|
83
|
-
width: 36,
|
|
84
|
-
height: 36,
|
|
85
|
-
borderRadius: '50%',
|
|
86
|
-
border: checked ? 'none' : `2px solid ${isCheckboxHovering ? theme.palette.selected.border : theme.palette.scanBackground.light}`,
|
|
87
|
-
backgroundColor: checked
|
|
88
|
-
? 'secondary.main'
|
|
89
|
-
: isCheckboxHovering
|
|
90
|
-
? theme.palette.selected.background
|
|
91
|
-
: 'transparent',
|
|
92
|
-
transition: 'border-color 0.2s, background-color 0.2s',
|
|
93
|
-
} }), _jsx(CheckIcon, { className: 'checkbox-icon', sx: {
|
|
94
|
-
fontSize: 24,
|
|
95
|
-
color: checked
|
|
96
|
-
? 'white'
|
|
97
|
-
: isCheckboxHovering
|
|
98
|
-
? theme.palette.selected.border
|
|
99
|
-
: theme.palette.scanBackground.light,
|
|
100
|
-
position: 'relative',
|
|
101
|
-
zIndex: 1,
|
|
102
|
-
transition: 'color 0.2s',
|
|
103
|
-
} })] }) })) }), _jsx(Box, { sx: { gridRow: '3', gridColumn: '1' } }), _jsxs(Box, { sx: { gridRow: '3', gridColumn: '2', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
104
|
-
overflow: 'hidden',
|
|
105
|
-
textOverflow: 'ellipsis',
|
|
106
|
-
whiteSpace: 'nowrap',
|
|
107
|
-
}, children: "Scan Start" }), _jsx(ConditionalTooltip, { title: formatDateTime(scan.dateScanStarted), arrow: true, children: _jsx(Typography, { variant: 'body2', sx: {
|
|
108
|
-
display: 'block',
|
|
109
|
-
fontSize: '0.8rem',
|
|
110
|
-
overflow: 'hidden',
|
|
111
|
-
textOverflow: 'ellipsis',
|
|
112
|
-
whiteSpace: 'nowrap',
|
|
113
|
-
}, children: formatDateTime(scan.dateScanStarted) }) })] }), _jsxs(Box, { sx: { gridRow: '3', gridColumn: '3', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
114
|
-
overflow: 'hidden',
|
|
115
|
-
textOverflow: 'ellipsis',
|
|
116
|
-
whiteSpace: 'nowrap',
|
|
117
|
-
}, children: "Scan End" }), isRunning(scan.status) ? (_jsx(ConditionalTooltip, { title: `${scan.status}...`, arrow: true, children: _jsxs(Typography, { variant: 'body2', sx: {
|
|
118
|
-
display: 'block',
|
|
119
|
-
background: theme.palette.gray.gradient,
|
|
120
|
-
backgroundSize: '200% 100%',
|
|
121
|
-
backgroundClip: 'text',
|
|
122
|
-
WebkitBackgroundClip: 'text',
|
|
123
|
-
color: 'transparent',
|
|
124
|
-
animation: 'shimmer 2s infinite',
|
|
125
|
-
'@keyframes shimmer': {
|
|
126
|
-
'0%': { backgroundPosition: '200% 0' },
|
|
127
|
-
'100%': { backgroundPosition: '-200% 0' },
|
|
128
|
-
},
|
|
129
|
-
overflow: 'hidden',
|
|
130
|
-
textOverflow: 'ellipsis',
|
|
131
|
-
whiteSpace: 'nowrap',
|
|
132
|
-
}, children: [scan.status, "..."] }) })) : scan.dateScanEnded ? (_jsx(ConditionalTooltip, { title: formatDateTime(scan.dateScanEnded), arrow: true, children: _jsx(Typography, { variant: 'body2', sx: {
|
|
133
|
-
display: 'block',
|
|
134
|
-
fontSize: '0.8rem',
|
|
135
|
-
overflow: 'hidden',
|
|
136
|
-
textOverflow: 'ellipsis',
|
|
137
|
-
whiteSpace: 'nowrap',
|
|
138
|
-
}, children: formatDateTime(scan.dateScanEnded) }) })) : (_jsx(Typography, { variant: 'body2', color: 'text.disabled', children: "N/A" }))] }), _jsxs(Box, { sx: { gridRow: '3', gridColumn: '4', minWidth: 0 }, children: [_jsx(Typography, { variant: 'caption', color: 'text.secondary', display: 'block', sx: {
|
|
139
|
-
overflow: 'hidden',
|
|
140
|
-
textOverflow: 'ellipsis',
|
|
141
|
-
whiteSpace: 'nowrap',
|
|
142
|
-
}, children: "Scan Duration" }), isRunning(scan.status) ? (_jsx(ConditionalTooltip, { title: liveDuration, arrow: true, children: _jsx(Typography, { variant: 'body2', sx: {
|
|
143
|
-
display: 'block',
|
|
144
|
-
background: theme.palette.gray.gradient,
|
|
145
|
-
backgroundSize: '200% 100%',
|
|
146
|
-
backgroundClip: 'text',
|
|
147
|
-
WebkitBackgroundClip: 'text',
|
|
148
|
-
color: 'transparent',
|
|
149
|
-
animation: 'shimmer 2s infinite',
|
|
150
|
-
'@keyframes shimmer': {
|
|
151
|
-
'0%': { backgroundPosition: '200% 0' },
|
|
152
|
-
'100%': { backgroundPosition: '-200% 0' },
|
|
153
|
-
},
|
|
154
|
-
overflow: 'hidden',
|
|
155
|
-
textOverflow: 'ellipsis',
|
|
156
|
-
whiteSpace: 'nowrap',
|
|
157
|
-
}, children: liveDuration }) })) : (_jsx(ConditionalTooltip, { title: formatDuration(scan.dateScanStarted, scan.dateScanEnded || undefined), arrow: true, children: _jsx(Typography, { variant: 'body2', sx: {
|
|
158
|
-
display: 'block',
|
|
159
|
-
overflow: 'hidden',
|
|
160
|
-
textOverflow: 'ellipsis',
|
|
161
|
-
whiteSpace: 'nowrap',
|
|
162
|
-
}, children: formatDuration(scan.dateScanStarted, scan.dateScanEnded || undefined) }) }))] }), scan.status === 'QUARANTINED' && scan.adminDecision && (_jsx(Box, { sx: {
|
|
163
|
-
gridRow: '3',
|
|
164
|
-
gridColumn: '5',
|
|
165
|
-
display: 'flex',
|
|
166
|
-
justifyContent: 'flex-end',
|
|
167
|
-
alignSelf: 'end',
|
|
168
|
-
minWidth: 0,
|
|
169
|
-
}, children: _jsx(Tooltip, { title: `Decided by ${scan.adminDecision.decidedBy} on ${formatDateTime(scan.adminDecision.dateDecided)}`, arrow: true, disableInteractive: true, PopperProps: {
|
|
170
|
-
disablePortal: true,
|
|
171
|
-
sx: { pointerEvents: 'none' },
|
|
172
|
-
}, children: _jsx(Typography, { variant: 'h6', sx: {
|
|
173
|
-
fontWeight: 700,
|
|
174
|
-
color: scan.adminDecision.decision.toLowerCase() === 'allowed' ? theme.palette.allowed : theme.palette.blocked,
|
|
175
|
-
whiteSpace: 'nowrap',
|
|
176
|
-
cursor: 'help',
|
|
177
|
-
}, children: scan.adminDecision.decision.toLowerCase() === 'allowed' ? 'ALLOWED' : 'BLOCKED' }) }) })), scan.status === 'QUARANTINED' && !scan.adminDecision && (_jsx(Box, { sx: {
|
|
178
|
-
gridRow: '3',
|
|
179
|
-
gridColumn: '5',
|
|
180
|
-
display: 'flex',
|
|
181
|
-
justifyContent: 'flex-end',
|
|
182
|
-
alignSelf: 'end',
|
|
183
|
-
minWidth: 0,
|
|
184
|
-
}, children: _jsx(Typography, { variant: 'h6', sx: {
|
|
185
|
-
fontWeight: 700,
|
|
186
|
-
color: theme.palette.review,
|
|
187
|
-
whiteSpace: 'nowrap',
|
|
188
|
-
}, children: "NEEDS REVIEW" }) }))] }));
|
|
189
|
-
};
|
|
166
|
+
export const ScanCardContent = ({ scan, showCheckbox, checked, onCheckboxChange, liveDuration, }) => (_jsxs(_Fragment, { children: [_jsx(GridCell, { row: 2, column: 2, children: _jsx(PublisherCell, { publisher: scan.publisher, publisherUrl: scan.publisherUrl }) }), _jsx(GridCell, { row: 2, column: 3, children: _jsx(VersionCell, { version: scan.version }) }), _jsx(GridCell, { row: 2, column: 4, children: _jsx(PlatformCell, { targetPlatform: scan.targetPlatform }) }), _jsx(GridCell, { row: 2, column: 5, children: _jsx(DownloadCell, { scan: scan }) }), _jsx(GridCell, { row: 2, column: 6, sx: { display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }, children: showCheckbox && (_jsx(SelectionCheckbox, { checked: checked, onChange: (newChecked) => onCheckboxChange === null || onCheckboxChange === void 0 ? void 0 : onCheckboxChange(scan.id, newChecked) })) }), _jsx(GridCell, { row: 3, column: 2, children: _jsx(ScanStartCell, { dateScanStarted: scan.dateScanStarted }) }), _jsx(GridCell, { row: 3, column: 3, children: _jsx(ScanEndCell, { status: scan.status, dateScanEnded: scan.dateScanEnded }) }), _jsx(GridCell, { row: 3, column: 4, children: _jsx(ScanDurationCell, { status: scan.status, dateScanStarted: scan.dateScanStarted, dateScanEnded: scan.dateScanEnded, liveDuration: liveDuration }) }), scan.status === 'QUARANTINED' && (_jsx(GridCell, { row: 3, column: 5, columnSpan: 2, sx: { display: 'flex', justifyContent: 'flex-end', alignSelf: 'end' }, children: _jsx(DecisionStatusCell, { adminDecision: scan.adminDecision }) }))] }));
|
|
190
167
|
//# sourceMappingURL=scan-card-content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-card-content.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-content.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"scan-card-content.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-content.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-card-header.d.ts","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"scan-card-header.d.ts","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAUrC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAczD,UAAU,mBAAmB;IACzB,IAAI,EAAE,UAAU,CAAC;CACpB;AAiBD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA8IlD,CAAC"}
|
|
@@ -12,11 +12,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
12
12
|
* SPDX-License-Identifier: EPL-2.0
|
|
13
13
|
********************************************************************************/
|
|
14
14
|
import { useState } from 'react';
|
|
15
|
-
import { Box, Typography, Chip, CircularProgress } from '@mui/material';
|
|
16
|
-
import { CheckCircle as CheckCircleIcon, GppMaybe as WarningIcon, Block as BlockIcon, Cancel as CancelIcon, Info as InfoIcon, } from '@mui/icons-material';
|
|
15
|
+
import { Box, Typography, Chip, CircularProgress, Link } from '@mui/material';
|
|
16
|
+
import { AdminPanelSettings as AdminPanelIcon, CheckCircle as CheckCircleIcon, GppMaybe as WarningIcon, Block as BlockIcon, Cancel as CancelIcon, Info as InfoIcon, } from '@mui/icons-material';
|
|
17
17
|
import { ConditionalTooltip } from '../common';
|
|
18
18
|
import { useTheme } from '@mui/material/styles';
|
|
19
19
|
import { ICON_SIZE, isRunning, shouldShowStriped, getHypotheticalStatus, getStatusColorSx, } from './utils';
|
|
20
|
+
import { createRoute } from '../../../utils';
|
|
21
|
+
import { AdminDashboardRoutes } from '../../../pages/admin-dashboard/admin-dashboard';
|
|
22
|
+
import { ExtensionDetailRoutes } from '../../../pages/extension-detail/extension-detail';
|
|
20
23
|
const getStatusIcon = (status) => {
|
|
21
24
|
switch (status) {
|
|
22
25
|
case 'PASSED':
|
|
@@ -41,6 +44,11 @@ export const ScanCardHeader = ({ scan }) => {
|
|
|
41
44
|
const theme = useTheme();
|
|
42
45
|
const [imageError, setImageError] = useState(false);
|
|
43
46
|
const hasValidIcon = scan.extensionIcon && !imageError;
|
|
47
|
+
const extensionRoute = createRoute([ExtensionDetailRoutes.ROOT, scan.namespace, scan.extensionName]);
|
|
48
|
+
const adminRoute = createRoute([AdminDashboardRoutes.ROOT, 'extensions'], [
|
|
49
|
+
{ key: "namespace", value: scan.namespace },
|
|
50
|
+
{ key: "extension", value: scan.extensionName }
|
|
51
|
+
]);
|
|
44
52
|
return (_jsxs(_Fragment, { children: [_jsx(Box, { sx: {
|
|
45
53
|
gridRow: '1',
|
|
46
54
|
gridColumn: '1',
|
|
@@ -56,7 +64,7 @@ export const ScanCardHeader = ({ scan }) => {
|
|
|
56
64
|
width: '100%',
|
|
57
65
|
height: '100%',
|
|
58
66
|
objectFit: 'contain',
|
|
59
|
-
} })) : (_jsx(Typography, { variant: 'h4', color: 'text.secondary', children: scan.displayName.charAt(0).toUpperCase() })) }), _jsxs(Box, { sx: { gridRow: '1', gridColumn: '
|
|
67
|
+
} })) : (_jsx(Typography, { variant: 'h4', color: 'text.secondary', children: scan.displayName.charAt(0).toUpperCase() })) }), _jsxs(Box, { sx: { gridRow: '1', gridColumn: 'span 4', minWidth: 0 }, children: [_jsx(ConditionalTooltip, { title: scan.displayName, arrow: true, children: _jsx(Typography, { variant: 'h6', sx: {
|
|
60
68
|
fontWeight: 600,
|
|
61
69
|
overflow: 'hidden',
|
|
62
70
|
textOverflow: 'ellipsis',
|
|
@@ -65,9 +73,13 @@ export const ScanCardHeader = ({ scan }) => {
|
|
|
65
73
|
overflow: 'hidden',
|
|
66
74
|
textOverflow: 'ellipsis',
|
|
67
75
|
whiteSpace: 'nowrap',
|
|
68
|
-
}, children: [scan.namespace, ".", scan.extensionName] })
|
|
76
|
+
}, children: [_jsxs(Link, { href: extensionRoute || undefined, rel: 'noopener noreferrer', variant: 'body2', children: [scan.namespace, ".", scan.extensionName] }), adminRoute !== undefined &&
|
|
77
|
+
_jsx(Link, { href: adminRoute, rel: 'noopener noreferrer', variant: 'body2', children: _jsx(AdminPanelIcon, { sx: {
|
|
78
|
+
verticalAlign: 'bottom',
|
|
79
|
+
ml: '3px'
|
|
80
|
+
} }) })] }) })] }), _jsx(Box, { sx: {
|
|
69
81
|
gridRow: '1',
|
|
70
|
-
gridColumn: '
|
|
82
|
+
gridColumn: '6',
|
|
71
83
|
display: 'flex',
|
|
72
84
|
flexDirection: 'column',
|
|
73
85
|
alignItems: 'flex-end',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-card-header.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-header.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"scan-card-header.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card-header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ export const ScanCard = ({ scan, showCheckbox, onCheckboxChange, checked, }) =>
|
|
|
76
76
|
'&:last-child': { pb: showExpandButton ? 0 : 5 },
|
|
77
77
|
}, children: _jsxs(Box, { sx: {
|
|
78
78
|
display: 'grid',
|
|
79
|
-
gridTemplateColumns: `${ICON_SIZE}px 1fr 1fr 1fr 180px`,
|
|
79
|
+
gridTemplateColumns: `${ICON_SIZE}px 1fr 1fr 1fr 1fr 180px`,
|
|
80
80
|
gridTemplateRows: 'auto auto auto',
|
|
81
81
|
gap: 2,
|
|
82
82
|
alignItems: 'start',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-card.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scan-card.js","sourceRoot":"","sources":["../../../../src/components/scan-admin/scan-card/scan-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,12 @@
|
|
|
9
9
|
********************************************************************************/
|
|
10
10
|
import { FunctionComponent, PropsWithChildren } from 'react';
|
|
11
11
|
import { Theme } from '@mui/material/styles';
|
|
12
|
-
export declare const MobileMenuItem: import("@emotion/styled").StyledComponent<import("@mui/material").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
|
|
13
|
-
ref?: ((instance: HTMLLIElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLLIElement> | null | undefined;
|
|
14
|
-
}, "style" | "action" | "className" | "children" | "tabIndex" | "disabled" | "dense" | "autoFocus" | "selected" | "sx" | "classes" | "disableGutters" | "divider" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef"> & import("@mui/system").MUIStyledCommonProps<Theme>, {}, {}>;
|
|
15
12
|
export declare const itemIcon: {
|
|
16
13
|
mr: number;
|
|
17
14
|
width: string;
|
|
18
15
|
height: string;
|
|
19
16
|
};
|
|
20
|
-
export declare const
|
|
17
|
+
export declare const MenuItemText: FunctionComponent<PropsWithChildren>;
|
|
21
18
|
export declare const MobileUserAvatar: FunctionComponent;
|
|
22
19
|
export declare const MobileMenuContent: FunctionComponent;
|
|
23
20
|
export declare const headerItem: ({ theme }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-content.d.ts","sourceRoot":"","sources":["../../src/default/menu-content.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"menu-content.d.ts","sourceRoot":"","sources":["../../src/default/menu-content.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAYjF,OAAO,EAAU,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAUrD,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAM7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAwD9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAuD/B,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,WAAW;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;;;;;;;;;;;;CAYpD,CAAC;AAEH,eAAO,MAAM,QAAQ;;yoDAA2B,CAAC;AACjD,eAAO,MAAM,aAAa,gMAAgC,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,iBA6ChC,CAAC"}
|