sevago-sso-fe 1.0.85 → 1.0.86
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/dist/components/app-grid/app-grid-item.component.d.ts +1 -1
- package/dist/components/app-grid/app-grid.component.d.ts +1 -1
- package/dist/components/sidebar/apps-sidebar.component.d.ts +1 -2
- package/dist/components/sidebar/system-monitor-sidebar.part.d.ts +1 -1
- package/dist/index.cjs.js +320 -320
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +321 -321
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -5,8 +5,8 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
5
5
|
const material = require("@mui/material");
|
|
6
6
|
const React = require("react");
|
|
7
7
|
const framerMotion = require("framer-motion");
|
|
8
|
-
const system = require("@mui/system");
|
|
9
8
|
const styled$2 = require("@emotion/styled");
|
|
9
|
+
const system = require("@mui/system");
|
|
10
10
|
require("@emotion/react");
|
|
11
11
|
const reactRouterDom = require("react-router-dom");
|
|
12
12
|
const formik = require("formik");
|
|
@@ -6780,6 +6780,101 @@ const MotionBox = ({
|
|
|
6780
6780
|
} : {};
|
|
6781
6781
|
return /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { ...motionProps, ...getAnimationProps(), ...hoverProps, onClick, style: { ...sx }, children });
|
|
6782
6782
|
};
|
|
6783
|
+
const ArrowTooltip = styled$2(({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { ...props, arrow: true, classes: { popper: className } }))(() => ({
|
|
6784
|
+
[`& .${material.tooltipClasses.arrow}`]: {
|
|
6785
|
+
color: "white"
|
|
6786
|
+
}
|
|
6787
|
+
}));
|
|
6788
|
+
const AvatarElement = ({
|
|
6789
|
+
url,
|
|
6790
|
+
sx = {},
|
|
6791
|
+
size = "medium",
|
|
6792
|
+
tooltipContent,
|
|
6793
|
+
...rest
|
|
6794
|
+
}) => {
|
|
6795
|
+
if (tooltipContent) {
|
|
6796
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ArrowTooltip, { title: tooltipContent, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6797
|
+
material.Avatar,
|
|
6798
|
+
{
|
|
6799
|
+
...rest,
|
|
6800
|
+
src: url || "",
|
|
6801
|
+
sx: {
|
|
6802
|
+
...MAP_SIZE[size],
|
|
6803
|
+
bgcolor: "primary.main",
|
|
6804
|
+
...sx,
|
|
6805
|
+
cursor: "pointer"
|
|
6806
|
+
}
|
|
6807
|
+
}
|
|
6808
|
+
) });
|
|
6809
|
+
}
|
|
6810
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6811
|
+
material.Avatar,
|
|
6812
|
+
{
|
|
6813
|
+
...rest,
|
|
6814
|
+
src: url || "",
|
|
6815
|
+
sx: {
|
|
6816
|
+
...MAP_SIZE[size],
|
|
6817
|
+
bgcolor: "primary.main",
|
|
6818
|
+
...sx,
|
|
6819
|
+
cursor: "pointer"
|
|
6820
|
+
}
|
|
6821
|
+
}
|
|
6822
|
+
);
|
|
6823
|
+
};
|
|
6824
|
+
const OnlineBadge = styled(material.Badge)(({ theme }) => ({
|
|
6825
|
+
"& .MuiBadge-badge": {
|
|
6826
|
+
backgroundColor: COLOR_CONSTANT.success,
|
|
6827
|
+
color: COLOR_CONSTANT.success,
|
|
6828
|
+
boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,
|
|
6829
|
+
"&::after": {
|
|
6830
|
+
position: "absolute",
|
|
6831
|
+
top: 0,
|
|
6832
|
+
left: 0,
|
|
6833
|
+
width: "100%",
|
|
6834
|
+
height: "100%",
|
|
6835
|
+
borderRadius: "50%",
|
|
6836
|
+
animation: "ripple 1.2s infinite ease-in-out",
|
|
6837
|
+
border: "1px solid currentColor",
|
|
6838
|
+
content: '""'
|
|
6839
|
+
}
|
|
6840
|
+
},
|
|
6841
|
+
"@keyframes ripple": {
|
|
6842
|
+
"0%": {
|
|
6843
|
+
transform: "scale(.8)",
|
|
6844
|
+
opacity: 1
|
|
6845
|
+
},
|
|
6846
|
+
"100%": {
|
|
6847
|
+
transform: "scale(2.4)",
|
|
6848
|
+
opacity: 0
|
|
6849
|
+
}
|
|
6850
|
+
}
|
|
6851
|
+
}));
|
|
6852
|
+
const AvatarOnlineStatusElement = ({
|
|
6853
|
+
url,
|
|
6854
|
+
size = "extra_large",
|
|
6855
|
+
online = false,
|
|
6856
|
+
children
|
|
6857
|
+
}) => {
|
|
6858
|
+
if (online) {
|
|
6859
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OnlineBadge, { overlap: "circular", anchorOrigin: { vertical: "bottom", horizontal: "right" }, variant: "dot", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url || void 0, size, sx: { backgroundColor: COLOR_CONSTANT.gray2 }, children }) });
|
|
6860
|
+
}
|
|
6861
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6862
|
+
material.Badge,
|
|
6863
|
+
{
|
|
6864
|
+
overlap: "circular",
|
|
6865
|
+
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
6866
|
+
variant: "dot",
|
|
6867
|
+
sx: {
|
|
6868
|
+
"& .MuiBadge-badge": {
|
|
6869
|
+
backgroundColor: COLOR_CONSTANT.gray4,
|
|
6870
|
+
color: COLOR_CONSTANT.gray4,
|
|
6871
|
+
boxShadow: (theme) => `0 0 0 2px ${theme.palette.background.paper}`
|
|
6872
|
+
}
|
|
6873
|
+
},
|
|
6874
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url || void 0, size, sx: { backgroundColor: COLOR_CONSTANT.gray2 }, children })
|
|
6875
|
+
}
|
|
6876
|
+
);
|
|
6877
|
+
};
|
|
6783
6878
|
const StackRow = styled(material.Stack)(() => ({
|
|
6784
6879
|
flexDirection: "row"
|
|
6785
6880
|
}));
|
|
@@ -7213,330 +7308,35 @@ const TypographyFilter = material.styled(material.Typography)(({ theme }) => ({
|
|
|
7213
7308
|
textWrap: "nowrap",
|
|
7214
7309
|
padding: `0px ${PADDING_GAP_LAYOUT}`
|
|
7215
7310
|
}));
|
|
7216
|
-
const
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
|
|
7225
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignJustCenter, { sx: { flexDirection: direction, gap: PADDING_GAP_ITEM }, children: [
|
|
7226
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7227
|
-
StackRowAlignJustCenter,
|
|
7228
|
-
{
|
|
7229
|
-
sx: {
|
|
7230
|
-
width: iconSize,
|
|
7231
|
-
height: iconSize,
|
|
7232
|
-
borderRadius: iconRadius,
|
|
7233
|
-
background: app.color
|
|
7234
|
-
},
|
|
7235
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7236
|
-
ImageElement,
|
|
7237
|
-
{
|
|
7238
|
-
sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
|
|
7239
|
-
url: app.icon,
|
|
7240
|
-
sizeType: ImageSizeType.SQUARE
|
|
7241
|
-
}
|
|
7242
|
-
)
|
|
7243
|
-
}
|
|
7244
|
-
),
|
|
7245
|
-
showNameApps && /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: titleVariant, sx: { color: titleColor }, children: app.content })
|
|
7246
|
-
] });
|
|
7247
|
-
};
|
|
7248
|
-
const AppGrid = ({
|
|
7249
|
-
apps,
|
|
7250
|
-
columns = 5,
|
|
7251
|
-
rows = 3,
|
|
7252
|
-
iconSize = 80,
|
|
7253
|
-
iconRadius = 7,
|
|
7254
|
-
gap: gap2 = PADDING_GAP_ITEM,
|
|
7255
|
-
titleVariant = "subtitle1",
|
|
7256
|
-
titleColor,
|
|
7257
|
-
showPagination = true,
|
|
7258
|
-
onClickApp,
|
|
7259
|
-
isShowAppHidden = false
|
|
7311
|
+
const AvatarUserInfo = ({
|
|
7312
|
+
name,
|
|
7313
|
+
url,
|
|
7314
|
+
positions = [],
|
|
7315
|
+
maxWidth: maxWidth2 = "440px",
|
|
7316
|
+
isTag = false,
|
|
7317
|
+
sxName,
|
|
7318
|
+
sxPosition,
|
|
7319
|
+
sizeAvatar = "large"
|
|
7260
7320
|
}) => {
|
|
7261
|
-
const
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
}, [totalPages, columns, rows, apps.length]);
|
|
7268
|
-
const start = page * pageSize;
|
|
7269
|
-
const end = start + pageSize;
|
|
7270
|
-
const visibleApps = totalPages > 1 ? apps.slice(start, end) : apps;
|
|
7271
|
-
const placeholdersCount = isShowAppHidden ? Math.max(0, pageSize - visibleApps.length) : 0;
|
|
7272
|
-
const placeholderHeight = isShowAppHidden ? iconSize + 36.5 : 0;
|
|
7273
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
|
|
7274
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7275
|
-
material.Box,
|
|
7276
|
-
{
|
|
7277
|
-
sx: {
|
|
7278
|
-
display: "grid",
|
|
7279
|
-
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
7280
|
-
gap: gap2
|
|
7281
|
-
},
|
|
7282
|
-
children: [
|
|
7283
|
-
visibleApps.map((app, index) => {
|
|
7284
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7285
|
-
MotionBox,
|
|
7286
|
-
{
|
|
7287
|
-
preset: "staggerItem",
|
|
7288
|
-
index,
|
|
7289
|
-
hover: true,
|
|
7290
|
-
sx: {
|
|
7291
|
-
cursor: "pointer",
|
|
7292
|
-
display: "flex",
|
|
7293
|
-
flex: 1,
|
|
7294
|
-
alignItems: "center",
|
|
7295
|
-
flexDirection: "column"
|
|
7296
|
-
},
|
|
7297
|
-
onClick: () => onClickApp(app),
|
|
7298
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7299
|
-
AppGridItem,
|
|
7300
|
-
{
|
|
7301
|
-
app,
|
|
7302
|
-
iconSize,
|
|
7303
|
-
iconRadius,
|
|
7304
|
-
titleVariant,
|
|
7305
|
-
titleColor: titleColor ?? theme.palette.common.white
|
|
7306
|
-
}
|
|
7307
|
-
)
|
|
7308
|
-
},
|
|
7309
|
-
index
|
|
7310
|
-
);
|
|
7311
|
-
}),
|
|
7312
|
-
placeholdersCount > 0 && Array.from({ length: placeholdersCount }).map((_, fillerIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7313
|
-
material.Box,
|
|
7314
|
-
{
|
|
7315
|
-
sx: {
|
|
7316
|
-
visibility: "hidden",
|
|
7317
|
-
width: 1,
|
|
7318
|
-
minHeight: placeholderHeight
|
|
7319
|
-
}
|
|
7320
|
-
},
|
|
7321
|
-
`placeholder-${fillerIndex}`
|
|
7322
|
-
))
|
|
7323
|
-
]
|
|
7324
|
-
}
|
|
7325
|
-
),
|
|
7326
|
-
showPagination && totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7327
|
-
page === totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7328
|
-
material.IconButton,
|
|
7329
|
-
{
|
|
7330
|
-
size: "small",
|
|
7331
|
-
onClick: () => setPage((p) => Math.max(0, p - 1)),
|
|
7332
|
-
disabled: page === 0,
|
|
7333
|
-
sx: {
|
|
7334
|
-
position: "absolute",
|
|
7335
|
-
top: "50%",
|
|
7336
|
-
left: -30,
|
|
7337
|
-
transform: "translateY(-120%)",
|
|
7338
|
-
color: theme.palette.divider
|
|
7339
|
-
},
|
|
7340
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(IconLeft, {})
|
|
7341
|
-
}
|
|
7342
|
-
),
|
|
7343
|
-
page !== totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7344
|
-
material.IconButton,
|
|
7321
|
+
const { palette } = material.useTheme();
|
|
7322
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(StackRow, { sx: { alignItems: "center", gap: PADDING_GAP_ITEM }, children: [
|
|
7323
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url, size: sizeAvatar }),
|
|
7324
|
+
positions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { sx: { gap: 0 }, children: [
|
|
7325
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7326
|
+
material.Typography,
|
|
7345
7327
|
{
|
|
7346
|
-
size: "small",
|
|
7347
|
-
onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
|
|
7348
|
-
disabled: page === totalPages - 1,
|
|
7349
7328
|
sx: {
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
|
|
7329
|
+
fontWeight: "600",
|
|
7330
|
+
fontSize: "14px",
|
|
7331
|
+
lineHeight: "20px",
|
|
7332
|
+
...getLimitLineCss(1),
|
|
7333
|
+
...sxName
|
|
7355
7334
|
},
|
|
7356
|
-
children:
|
|
7335
|
+
children: name
|
|
7357
7336
|
}
|
|
7358
7337
|
),
|
|
7359
7338
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7360
|
-
material.
|
|
7361
|
-
{
|
|
7362
|
-
sx: {
|
|
7363
|
-
mt: 2,
|
|
7364
|
-
display: "flex",
|
|
7365
|
-
alignItems: "center",
|
|
7366
|
-
justifyContent: "center"
|
|
7367
|
-
},
|
|
7368
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7369
|
-
material.Box,
|
|
7370
|
-
{
|
|
7371
|
-
sx: {
|
|
7372
|
-
display: "flex",
|
|
7373
|
-
alignItems: "center",
|
|
7374
|
-
gap: PADDING_GAP_BUTTON,
|
|
7375
|
-
px: PADDING_GAP_BUTTON,
|
|
7376
|
-
py: PADDING_GAP_ITEM_SMALL,
|
|
7377
|
-
borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
|
|
7378
|
-
backgroundColor: "rgba(255,255,255,0.15)"
|
|
7379
|
-
},
|
|
7380
|
-
children: Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7381
|
-
material.Box,
|
|
7382
|
-
{
|
|
7383
|
-
onClick: () => setPage(i),
|
|
7384
|
-
sx: {
|
|
7385
|
-
height: 10,
|
|
7386
|
-
borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
|
|
7387
|
-
cursor: "pointer",
|
|
7388
|
-
transition: "width 0.3s ease",
|
|
7389
|
-
width: i === page ? "40px" : "10px",
|
|
7390
|
-
backgroundColor: i === page ? theme.palette.common.white : "rgba(255,255,255,0.35)"
|
|
7391
|
-
}
|
|
7392
|
-
},
|
|
7393
|
-
i
|
|
7394
|
-
))
|
|
7395
|
-
}
|
|
7396
|
-
)
|
|
7397
|
-
}
|
|
7398
|
-
)
|
|
7399
|
-
] })
|
|
7400
|
-
] });
|
|
7401
|
-
};
|
|
7402
|
-
const BannerComponent = ({ url }) => {
|
|
7403
|
-
return /* @__PURE__ */ jsxRuntime.jsx(material.Fade, { in: true, timeout: ANIMATION_TIME, children: /* @__PURE__ */ jsxRuntime.jsx(material.Stack, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7404
|
-
ImageElement,
|
|
7405
|
-
{
|
|
7406
|
-
url,
|
|
7407
|
-
sx: {
|
|
7408
|
-
borderRadius: BORDER_RADIUS_ELEMENT,
|
|
7409
|
-
maxWidth: "100%",
|
|
7410
|
-
width: "100%",
|
|
7411
|
-
height: "auto"
|
|
7412
|
-
}
|
|
7413
|
-
}
|
|
7414
|
-
) }) });
|
|
7415
|
-
};
|
|
7416
|
-
const ArrowTooltip = styled$2(({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { ...props, arrow: true, classes: { popper: className } }))(() => ({
|
|
7417
|
-
[`& .${material.tooltipClasses.arrow}`]: {
|
|
7418
|
-
color: "white"
|
|
7419
|
-
}
|
|
7420
|
-
}));
|
|
7421
|
-
const AvatarElement = ({
|
|
7422
|
-
url,
|
|
7423
|
-
sx = {},
|
|
7424
|
-
size = "medium",
|
|
7425
|
-
tooltipContent,
|
|
7426
|
-
...rest
|
|
7427
|
-
}) => {
|
|
7428
|
-
if (tooltipContent) {
|
|
7429
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ArrowTooltip, { title: tooltipContent, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7430
|
-
material.Avatar,
|
|
7431
|
-
{
|
|
7432
|
-
...rest,
|
|
7433
|
-
src: url || "",
|
|
7434
|
-
sx: {
|
|
7435
|
-
...MAP_SIZE[size],
|
|
7436
|
-
bgcolor: "primary.main",
|
|
7437
|
-
...sx,
|
|
7438
|
-
cursor: "pointer"
|
|
7439
|
-
}
|
|
7440
|
-
}
|
|
7441
|
-
) });
|
|
7442
|
-
}
|
|
7443
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7444
|
-
material.Avatar,
|
|
7445
|
-
{
|
|
7446
|
-
...rest,
|
|
7447
|
-
src: url || "",
|
|
7448
|
-
sx: {
|
|
7449
|
-
...MAP_SIZE[size],
|
|
7450
|
-
bgcolor: "primary.main",
|
|
7451
|
-
...sx,
|
|
7452
|
-
cursor: "pointer"
|
|
7453
|
-
}
|
|
7454
|
-
}
|
|
7455
|
-
);
|
|
7456
|
-
};
|
|
7457
|
-
const OnlineBadge = styled(material.Badge)(({ theme }) => ({
|
|
7458
|
-
"& .MuiBadge-badge": {
|
|
7459
|
-
backgroundColor: COLOR_CONSTANT.success,
|
|
7460
|
-
color: COLOR_CONSTANT.success,
|
|
7461
|
-
boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,
|
|
7462
|
-
"&::after": {
|
|
7463
|
-
position: "absolute",
|
|
7464
|
-
top: 0,
|
|
7465
|
-
left: 0,
|
|
7466
|
-
width: "100%",
|
|
7467
|
-
height: "100%",
|
|
7468
|
-
borderRadius: "50%",
|
|
7469
|
-
animation: "ripple 1.2s infinite ease-in-out",
|
|
7470
|
-
border: "1px solid currentColor",
|
|
7471
|
-
content: '""'
|
|
7472
|
-
}
|
|
7473
|
-
},
|
|
7474
|
-
"@keyframes ripple": {
|
|
7475
|
-
"0%": {
|
|
7476
|
-
transform: "scale(.8)",
|
|
7477
|
-
opacity: 1
|
|
7478
|
-
},
|
|
7479
|
-
"100%": {
|
|
7480
|
-
transform: "scale(2.4)",
|
|
7481
|
-
opacity: 0
|
|
7482
|
-
}
|
|
7483
|
-
}
|
|
7484
|
-
}));
|
|
7485
|
-
const AvatarOnlineStatusElement = ({
|
|
7486
|
-
url,
|
|
7487
|
-
size = "extra_large",
|
|
7488
|
-
online = false,
|
|
7489
|
-
children
|
|
7490
|
-
}) => {
|
|
7491
|
-
if (online) {
|
|
7492
|
-
return /* @__PURE__ */ jsxRuntime.jsx(OnlineBadge, { overlap: "circular", anchorOrigin: { vertical: "bottom", horizontal: "right" }, variant: "dot", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url || void 0, size, sx: { backgroundColor: COLOR_CONSTANT.gray2 }, children }) });
|
|
7493
|
-
}
|
|
7494
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7495
|
-
material.Badge,
|
|
7496
|
-
{
|
|
7497
|
-
overlap: "circular",
|
|
7498
|
-
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
7499
|
-
variant: "dot",
|
|
7500
|
-
sx: {
|
|
7501
|
-
"& .MuiBadge-badge": {
|
|
7502
|
-
backgroundColor: COLOR_CONSTANT.gray4,
|
|
7503
|
-
color: COLOR_CONSTANT.gray4,
|
|
7504
|
-
boxShadow: (theme) => `0 0 0 2px ${theme.palette.background.paper}`
|
|
7505
|
-
}
|
|
7506
|
-
},
|
|
7507
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url || void 0, size, sx: { backgroundColor: COLOR_CONSTANT.gray2 }, children })
|
|
7508
|
-
}
|
|
7509
|
-
);
|
|
7510
|
-
};
|
|
7511
|
-
const AvatarUserInfo = ({
|
|
7512
|
-
name,
|
|
7513
|
-
url,
|
|
7514
|
-
positions = [],
|
|
7515
|
-
maxWidth: maxWidth2 = "440px",
|
|
7516
|
-
isTag = false,
|
|
7517
|
-
sxName,
|
|
7518
|
-
sxPosition,
|
|
7519
|
-
sizeAvatar = "large"
|
|
7520
|
-
}) => {
|
|
7521
|
-
const { palette } = material.useTheme();
|
|
7522
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(StackRow, { sx: { alignItems: "center", gap: PADDING_GAP_ITEM }, children: [
|
|
7523
|
-
/* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url, size: sizeAvatar }),
|
|
7524
|
-
positions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { sx: { gap: 0 }, children: [
|
|
7525
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7526
|
-
material.Typography,
|
|
7527
|
-
{
|
|
7528
|
-
sx: {
|
|
7529
|
-
fontWeight: "600",
|
|
7530
|
-
fontSize: "14px",
|
|
7531
|
-
lineHeight: "20px",
|
|
7532
|
-
...getLimitLineCss(1),
|
|
7533
|
-
...sxName
|
|
7534
|
-
},
|
|
7535
|
-
children: name
|
|
7536
|
-
}
|
|
7537
|
-
),
|
|
7538
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7539
|
-
material.Typography,
|
|
7339
|
+
material.Typography,
|
|
7540
7340
|
{
|
|
7541
7341
|
variant: "caption",
|
|
7542
7342
|
sx: {
|
|
@@ -9496,6 +9296,206 @@ const WrapperElement = ({
|
|
|
9496
9296
|
}
|
|
9497
9297
|
) });
|
|
9498
9298
|
};
|
|
9299
|
+
const AppGridItem = ({
|
|
9300
|
+
app,
|
|
9301
|
+
iconSize,
|
|
9302
|
+
iconRadius,
|
|
9303
|
+
titleVariant = "subtitle1",
|
|
9304
|
+
titleColor,
|
|
9305
|
+
showNameApps = true,
|
|
9306
|
+
direction = "column"
|
|
9307
|
+
}) => {
|
|
9308
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignCenter, { sx: { flexDirection: direction, gap: PADDING_GAP_ITEM }, children: [
|
|
9309
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9310
|
+
StackRowAlignJustCenter,
|
|
9311
|
+
{
|
|
9312
|
+
sx: {
|
|
9313
|
+
width: iconSize,
|
|
9314
|
+
height: iconSize,
|
|
9315
|
+
borderRadius: iconRadius,
|
|
9316
|
+
background: app.color
|
|
9317
|
+
},
|
|
9318
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9319
|
+
ImageElement,
|
|
9320
|
+
{
|
|
9321
|
+
sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
|
|
9322
|
+
url: app.icon,
|
|
9323
|
+
sizeType: ImageSizeType.SQUARE
|
|
9324
|
+
}
|
|
9325
|
+
)
|
|
9326
|
+
}
|
|
9327
|
+
),
|
|
9328
|
+
showNameApps && /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: titleVariant, sx: { color: titleColor }, children: app.content })
|
|
9329
|
+
] });
|
|
9330
|
+
};
|
|
9331
|
+
const AppGrid = ({
|
|
9332
|
+
apps,
|
|
9333
|
+
columns = 5,
|
|
9334
|
+
rows = 3,
|
|
9335
|
+
iconSize = 80,
|
|
9336
|
+
iconRadius = 7,
|
|
9337
|
+
gap: gap2 = PADDING_GAP_ITEM,
|
|
9338
|
+
titleVariant = "subtitle1",
|
|
9339
|
+
titleColor,
|
|
9340
|
+
showPagination = true,
|
|
9341
|
+
onClickApp,
|
|
9342
|
+
isShowAppHidden = false
|
|
9343
|
+
}) => {
|
|
9344
|
+
const theme = useTheme();
|
|
9345
|
+
const pageSize = Math.max(1, columns * Math.max(1, rows));
|
|
9346
|
+
const totalPages = Math.max(1, Math.ceil(apps.length / pageSize));
|
|
9347
|
+
const [page, setPage] = React.useState(0);
|
|
9348
|
+
React.useEffect(() => {
|
|
9349
|
+
setPage((prev) => prev >= totalPages ? totalPages - 1 : prev);
|
|
9350
|
+
}, [totalPages, columns, rows, apps.length]);
|
|
9351
|
+
const start = page * pageSize;
|
|
9352
|
+
const end = start + pageSize;
|
|
9353
|
+
const visibleApps = totalPages > 1 ? apps.slice(start, end) : apps;
|
|
9354
|
+
const placeholdersCount = isShowAppHidden ? Math.max(0, pageSize - visibleApps.length) : 0;
|
|
9355
|
+
const placeholderHeight = isShowAppHidden ? iconSize + 36.5 : 0;
|
|
9356
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
|
|
9357
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9358
|
+
material.Box,
|
|
9359
|
+
{
|
|
9360
|
+
sx: {
|
|
9361
|
+
display: "grid",
|
|
9362
|
+
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
9363
|
+
gap: gap2
|
|
9364
|
+
},
|
|
9365
|
+
children: [
|
|
9366
|
+
visibleApps.map((app, index) => {
|
|
9367
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9368
|
+
MotionBox,
|
|
9369
|
+
{
|
|
9370
|
+
preset: "staggerItem",
|
|
9371
|
+
index,
|
|
9372
|
+
hover: true,
|
|
9373
|
+
sx: {
|
|
9374
|
+
cursor: "pointer",
|
|
9375
|
+
display: "flex",
|
|
9376
|
+
flex: 1,
|
|
9377
|
+
alignItems: "center",
|
|
9378
|
+
flexDirection: "column"
|
|
9379
|
+
},
|
|
9380
|
+
onClick: () => onClickApp(app),
|
|
9381
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9382
|
+
AppGridItem,
|
|
9383
|
+
{
|
|
9384
|
+
app,
|
|
9385
|
+
iconSize,
|
|
9386
|
+
iconRadius,
|
|
9387
|
+
titleVariant,
|
|
9388
|
+
titleColor: titleColor ?? theme.palette.common.white
|
|
9389
|
+
}
|
|
9390
|
+
)
|
|
9391
|
+
},
|
|
9392
|
+
index
|
|
9393
|
+
);
|
|
9394
|
+
}),
|
|
9395
|
+
placeholdersCount > 0 && Array.from({ length: placeholdersCount }).map((_, fillerIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9396
|
+
material.Box,
|
|
9397
|
+
{
|
|
9398
|
+
sx: {
|
|
9399
|
+
visibility: "hidden",
|
|
9400
|
+
width: 1,
|
|
9401
|
+
minHeight: placeholderHeight
|
|
9402
|
+
}
|
|
9403
|
+
},
|
|
9404
|
+
`placeholder-${fillerIndex}`
|
|
9405
|
+
))
|
|
9406
|
+
]
|
|
9407
|
+
}
|
|
9408
|
+
),
|
|
9409
|
+
showPagination && totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9410
|
+
page === totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9411
|
+
material.IconButton,
|
|
9412
|
+
{
|
|
9413
|
+
size: "small",
|
|
9414
|
+
onClick: () => setPage((p) => Math.max(0, p - 1)),
|
|
9415
|
+
disabled: page === 0,
|
|
9416
|
+
sx: {
|
|
9417
|
+
position: "absolute",
|
|
9418
|
+
top: "50%",
|
|
9419
|
+
left: -30,
|
|
9420
|
+
transform: "translateY(-120%)",
|
|
9421
|
+
color: theme.palette.divider
|
|
9422
|
+
},
|
|
9423
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconLeft, {})
|
|
9424
|
+
}
|
|
9425
|
+
),
|
|
9426
|
+
page !== totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9427
|
+
material.IconButton,
|
|
9428
|
+
{
|
|
9429
|
+
size: "small",
|
|
9430
|
+
onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
|
|
9431
|
+
disabled: page === totalPages - 1,
|
|
9432
|
+
sx: {
|
|
9433
|
+
position: "absolute",
|
|
9434
|
+
top: "50%",
|
|
9435
|
+
right: -30,
|
|
9436
|
+
transform: "translateY(-120%)",
|
|
9437
|
+
color: theme.palette.divider
|
|
9438
|
+
},
|
|
9439
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconRight, {})
|
|
9440
|
+
}
|
|
9441
|
+
),
|
|
9442
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9443
|
+
material.Box,
|
|
9444
|
+
{
|
|
9445
|
+
sx: {
|
|
9446
|
+
mt: 2,
|
|
9447
|
+
display: "flex",
|
|
9448
|
+
alignItems: "center",
|
|
9449
|
+
justifyContent: "center"
|
|
9450
|
+
},
|
|
9451
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9452
|
+
material.Box,
|
|
9453
|
+
{
|
|
9454
|
+
sx: {
|
|
9455
|
+
display: "flex",
|
|
9456
|
+
alignItems: "center",
|
|
9457
|
+
gap: PADDING_GAP_BUTTON,
|
|
9458
|
+
px: PADDING_GAP_BUTTON,
|
|
9459
|
+
py: PADDING_GAP_ITEM_SMALL,
|
|
9460
|
+
borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
|
|
9461
|
+
backgroundColor: "rgba(255,255,255,0.15)"
|
|
9462
|
+
},
|
|
9463
|
+
children: Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9464
|
+
material.Box,
|
|
9465
|
+
{
|
|
9466
|
+
onClick: () => setPage(i),
|
|
9467
|
+
sx: {
|
|
9468
|
+
height: 10,
|
|
9469
|
+
borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
|
|
9470
|
+
cursor: "pointer",
|
|
9471
|
+
transition: "width 0.3s ease",
|
|
9472
|
+
width: i === page ? "40px" : "10px",
|
|
9473
|
+
backgroundColor: i === page ? theme.palette.common.white : "rgba(255,255,255,0.35)"
|
|
9474
|
+
}
|
|
9475
|
+
},
|
|
9476
|
+
i
|
|
9477
|
+
))
|
|
9478
|
+
}
|
|
9479
|
+
)
|
|
9480
|
+
}
|
|
9481
|
+
)
|
|
9482
|
+
] })
|
|
9483
|
+
] });
|
|
9484
|
+
};
|
|
9485
|
+
const BannerComponent = ({ url }) => {
|
|
9486
|
+
return /* @__PURE__ */ jsxRuntime.jsx(material.Fade, { in: true, timeout: ANIMATION_TIME, children: /* @__PURE__ */ jsxRuntime.jsx(material.Stack, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9487
|
+
ImageElement,
|
|
9488
|
+
{
|
|
9489
|
+
url,
|
|
9490
|
+
sx: {
|
|
9491
|
+
borderRadius: BORDER_RADIUS_ELEMENT,
|
|
9492
|
+
maxWidth: "100%",
|
|
9493
|
+
width: "100%",
|
|
9494
|
+
height: "auto"
|
|
9495
|
+
}
|
|
9496
|
+
}
|
|
9497
|
+
) }) });
|
|
9498
|
+
};
|
|
9499
9499
|
const Breadcrumbs = ({ content, showBackButton = true, onBack, sxLabel }) => {
|
|
9500
9500
|
const navigate = reactRouterDom.useNavigate();
|
|
9501
9501
|
const handleBack = () => {
|
|
@@ -9789,7 +9789,7 @@ const SystemMonitorSidebarPart = ({
|
|
|
9789
9789
|
blacklist,
|
|
9790
9790
|
env,
|
|
9791
9791
|
onClickApp,
|
|
9792
|
-
showNameApps
|
|
9792
|
+
showNameApps,
|
|
9793
9793
|
direction = "row"
|
|
9794
9794
|
}) => {
|
|
9795
9795
|
const [open, setOpen] = React.useState(false);
|
|
@@ -9805,7 +9805,7 @@ const SystemMonitorSidebarPart = ({
|
|
|
9805
9805
|
}, [window.location.href]);
|
|
9806
9806
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9807
9807
|
/* @__PURE__ */ jsxRuntime.jsx(ImageElement, { url: IconAppsSidebar, onClick: () => setOpen(true), sizeType: ImageSizeType.SQUARE }),
|
|
9808
|
-
currentApp && /* @__PURE__ */ jsxRuntime.jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius:
|
|
9808
|
+
currentApp && /* @__PURE__ */ jsxRuntime.jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius: 3, showNameApps, direction }),
|
|
9809
9809
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9810
9810
|
AppsSidebar,
|
|
9811
9811
|
{
|