sevago-sso-fe 1.0.84 → 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/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,331 +7308,35 @@ const TypographyFilter = material.styled(material.Typography)(({ theme }) => ({
7213
7308
  textWrap: "nowrap",
7214
7309
  padding: `0px ${PADDING_GAP_LAYOUT}`
7215
7310
  }));
7216
- const AppGridItem = ({
7217
- app,
7218
- iconSize,
7219
- iconRadius,
7220
- titleVariant = "subtitle1",
7221
- titleColor,
7222
- showNameApps = true,
7223
- direction = "column"
7224
- }) => {
7225
- return /* @__PURE__ */ jsxRuntime.jsxs(system.Stack, { sx: { flexDirection: direction }, children: [
7226
- /* @__PURE__ */ jsxRuntime.jsx(
7227
- StackRowAlignJustCenter,
7228
- {
7229
- sx: {
7230
- width: iconSize,
7231
- height: iconSize,
7232
- borderRadius: iconRadius,
7233
- mb: 1.5,
7234
- background: app.color
7235
- },
7236
- children: /* @__PURE__ */ jsxRuntime.jsx(
7237
- ImageElement,
7238
- {
7239
- sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
7240
- url: app.icon,
7241
- sizeType: ImageSizeType.SQUARE
7242
- }
7243
- )
7244
- }
7245
- ),
7246
- showNameApps && /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: titleVariant, sx: { color: titleColor }, children: app.content })
7247
- ] });
7248
- };
7249
- const AppGrid = ({
7250
- apps,
7251
- columns = 5,
7252
- rows = 3,
7253
- iconSize = 80,
7254
- iconRadius = 7,
7255
- gap: gap2 = PADDING_GAP_ITEM,
7256
- titleVariant = "subtitle1",
7257
- titleColor,
7258
- showPagination = true,
7259
- onClickApp,
7260
- 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"
7261
7320
  }) => {
7262
- const theme = useTheme();
7263
- const pageSize = Math.max(1, columns * Math.max(1, rows));
7264
- const totalPages = Math.max(1, Math.ceil(apps.length / pageSize));
7265
- const [page, setPage] = React.useState(0);
7266
- React.useEffect(() => {
7267
- setPage((prev) => prev >= totalPages ? totalPages - 1 : prev);
7268
- }, [totalPages, columns, rows, apps.length]);
7269
- const start = page * pageSize;
7270
- const end = start + pageSize;
7271
- const visibleApps = totalPages > 1 ? apps.slice(start, end) : apps;
7272
- const placeholdersCount = isShowAppHidden ? Math.max(0, pageSize - visibleApps.length) : 0;
7273
- const placeholderHeight = isShowAppHidden ? iconSize + 36.5 : 0;
7274
- return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
7275
- /* @__PURE__ */ jsxRuntime.jsxs(
7276
- material.Box,
7277
- {
7278
- sx: {
7279
- display: "grid",
7280
- gridTemplateColumns: `repeat(${columns}, 1fr)`,
7281
- gap: gap2
7282
- },
7283
- children: [
7284
- visibleApps.map((app, index) => {
7285
- return /* @__PURE__ */ jsxRuntime.jsx(
7286
- MotionBox,
7287
- {
7288
- preset: "staggerItem",
7289
- index,
7290
- hover: true,
7291
- sx: {
7292
- cursor: "pointer",
7293
- display: "flex",
7294
- flex: 1,
7295
- alignItems: "center",
7296
- flexDirection: "column"
7297
- },
7298
- onClick: () => onClickApp(app),
7299
- children: /* @__PURE__ */ jsxRuntime.jsx(
7300
- AppGridItem,
7301
- {
7302
- app,
7303
- iconSize,
7304
- iconRadius,
7305
- titleVariant,
7306
- titleColor: titleColor ?? theme.palette.common.white
7307
- }
7308
- )
7309
- },
7310
- index
7311
- );
7312
- }),
7313
- placeholdersCount > 0 && Array.from({ length: placeholdersCount }).map((_, fillerIndex) => /* @__PURE__ */ jsxRuntime.jsx(
7314
- material.Box,
7315
- {
7316
- sx: {
7317
- visibility: "hidden",
7318
- width: 1,
7319
- minHeight: placeholderHeight
7320
- }
7321
- },
7322
- `placeholder-${fillerIndex}`
7323
- ))
7324
- ]
7325
- }
7326
- ),
7327
- showPagination && totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7328
- page === totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
7329
- material.IconButton,
7330
- {
7331
- size: "small",
7332
- onClick: () => setPage((p) => Math.max(0, p - 1)),
7333
- disabled: page === 0,
7334
- sx: {
7335
- position: "absolute",
7336
- top: "50%",
7337
- left: -30,
7338
- transform: "translateY(-120%)",
7339
- color: theme.palette.divider
7340
- },
7341
- children: /* @__PURE__ */ jsxRuntime.jsx(IconLeft, {})
7342
- }
7343
- ),
7344
- page !== totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
7345
- 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,
7346
7327
  {
7347
- size: "small",
7348
- onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
7349
- disabled: page === totalPages - 1,
7350
7328
  sx: {
7351
- position: "absolute",
7352
- top: "50%",
7353
- right: -30,
7354
- transform: "translateY(-120%)",
7355
- color: theme.palette.divider
7329
+ fontWeight: "600",
7330
+ fontSize: "14px",
7331
+ lineHeight: "20px",
7332
+ ...getLimitLineCss(1),
7333
+ ...sxName
7356
7334
  },
7357
- children: /* @__PURE__ */ jsxRuntime.jsx(IconRight, {})
7335
+ children: name
7358
7336
  }
7359
7337
  ),
7360
7338
  /* @__PURE__ */ jsxRuntime.jsx(
7361
- material.Box,
7362
- {
7363
- sx: {
7364
- mt: 2,
7365
- display: "flex",
7366
- alignItems: "center",
7367
- justifyContent: "center"
7368
- },
7369
- children: /* @__PURE__ */ jsxRuntime.jsx(
7370
- material.Box,
7371
- {
7372
- sx: {
7373
- display: "flex",
7374
- alignItems: "center",
7375
- gap: PADDING_GAP_BUTTON,
7376
- px: PADDING_GAP_BUTTON,
7377
- py: PADDING_GAP_ITEM_SMALL,
7378
- borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
7379
- backgroundColor: "rgba(255,255,255,0.15)"
7380
- },
7381
- children: Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
7382
- material.Box,
7383
- {
7384
- onClick: () => setPage(i),
7385
- sx: {
7386
- height: 10,
7387
- borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
7388
- cursor: "pointer",
7389
- transition: "width 0.3s ease",
7390
- width: i === page ? "40px" : "10px",
7391
- backgroundColor: i === page ? theme.palette.common.white : "rgba(255,255,255,0.35)"
7392
- }
7393
- },
7394
- i
7395
- ))
7396
- }
7397
- )
7398
- }
7399
- )
7400
- ] })
7401
- ] });
7402
- };
7403
- const BannerComponent = ({ url }) => {
7404
- return /* @__PURE__ */ jsxRuntime.jsx(material.Fade, { in: true, timeout: ANIMATION_TIME, children: /* @__PURE__ */ jsxRuntime.jsx(material.Stack, { children: /* @__PURE__ */ jsxRuntime.jsx(
7405
- ImageElement,
7406
- {
7407
- url,
7408
- sx: {
7409
- borderRadius: BORDER_RADIUS_ELEMENT,
7410
- maxWidth: "100%",
7411
- width: "100%",
7412
- height: "auto"
7413
- }
7414
- }
7415
- ) }) });
7416
- };
7417
- const ArrowTooltip = styled$2(({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { ...props, arrow: true, classes: { popper: className } }))(() => ({
7418
- [`& .${material.tooltipClasses.arrow}`]: {
7419
- color: "white"
7420
- }
7421
- }));
7422
- const AvatarElement = ({
7423
- url,
7424
- sx = {},
7425
- size = "medium",
7426
- tooltipContent,
7427
- ...rest
7428
- }) => {
7429
- if (tooltipContent) {
7430
- return /* @__PURE__ */ jsxRuntime.jsx(ArrowTooltip, { title: tooltipContent, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
7431
- material.Avatar,
7432
- {
7433
- ...rest,
7434
- src: url || "",
7435
- sx: {
7436
- ...MAP_SIZE[size],
7437
- bgcolor: "primary.main",
7438
- ...sx,
7439
- cursor: "pointer"
7440
- }
7441
- }
7442
- ) });
7443
- }
7444
- return /* @__PURE__ */ jsxRuntime.jsx(
7445
- material.Avatar,
7446
- {
7447
- ...rest,
7448
- src: url || "",
7449
- sx: {
7450
- ...MAP_SIZE[size],
7451
- bgcolor: "primary.main",
7452
- ...sx,
7453
- cursor: "pointer"
7454
- }
7455
- }
7456
- );
7457
- };
7458
- const OnlineBadge = styled(material.Badge)(({ theme }) => ({
7459
- "& .MuiBadge-badge": {
7460
- backgroundColor: COLOR_CONSTANT.success,
7461
- color: COLOR_CONSTANT.success,
7462
- boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,
7463
- "&::after": {
7464
- position: "absolute",
7465
- top: 0,
7466
- left: 0,
7467
- width: "100%",
7468
- height: "100%",
7469
- borderRadius: "50%",
7470
- animation: "ripple 1.2s infinite ease-in-out",
7471
- border: "1px solid currentColor",
7472
- content: '""'
7473
- }
7474
- },
7475
- "@keyframes ripple": {
7476
- "0%": {
7477
- transform: "scale(.8)",
7478
- opacity: 1
7479
- },
7480
- "100%": {
7481
- transform: "scale(2.4)",
7482
- opacity: 0
7483
- }
7484
- }
7485
- }));
7486
- const AvatarOnlineStatusElement = ({
7487
- url,
7488
- size = "extra_large",
7489
- online = false,
7490
- children
7491
- }) => {
7492
- if (online) {
7493
- 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 }) });
7494
- }
7495
- return /* @__PURE__ */ jsxRuntime.jsx(
7496
- material.Badge,
7497
- {
7498
- overlap: "circular",
7499
- anchorOrigin: { vertical: "bottom", horizontal: "right" },
7500
- variant: "dot",
7501
- sx: {
7502
- "& .MuiBadge-badge": {
7503
- backgroundColor: COLOR_CONSTANT.gray4,
7504
- color: COLOR_CONSTANT.gray4,
7505
- boxShadow: (theme) => `0 0 0 2px ${theme.palette.background.paper}`
7506
- }
7507
- },
7508
- children: /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url || void 0, size, sx: { backgroundColor: COLOR_CONSTANT.gray2 }, children })
7509
- }
7510
- );
7511
- };
7512
- const AvatarUserInfo = ({
7513
- name,
7514
- url,
7515
- positions = [],
7516
- maxWidth: maxWidth2 = "440px",
7517
- isTag = false,
7518
- sxName,
7519
- sxPosition,
7520
- sizeAvatar = "large"
7521
- }) => {
7522
- const { palette } = material.useTheme();
7523
- return /* @__PURE__ */ jsxRuntime.jsxs(StackRow, { sx: { alignItems: "center", gap: PADDING_GAP_ITEM }, children: [
7524
- /* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url, size: sizeAvatar }),
7525
- positions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { sx: { gap: 0 }, children: [
7526
- /* @__PURE__ */ jsxRuntime.jsx(
7527
- material.Typography,
7528
- {
7529
- sx: {
7530
- fontWeight: "600",
7531
- fontSize: "14px",
7532
- lineHeight: "20px",
7533
- ...getLimitLineCss(1),
7534
- ...sxName
7535
- },
7536
- children: name
7537
- }
7538
- ),
7539
- /* @__PURE__ */ jsxRuntime.jsx(
7540
- material.Typography,
7339
+ material.Typography,
7541
7340
  {
7542
7341
  variant: "caption",
7543
7342
  sx: {
@@ -9497,6 +9296,206 @@ const WrapperElement = ({
9497
9296
  }
9498
9297
  ) });
9499
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
+ };
9500
9499
  const Breadcrumbs = ({ content, showBackButton = true, onBack, sxLabel }) => {
9501
9500
  const navigate = reactRouterDom.useNavigate();
9502
9501
  const handleBack = () => {
@@ -9790,7 +9789,7 @@ const SystemMonitorSidebarPart = ({
9790
9789
  blacklist,
9791
9790
  env,
9792
9791
  onClickApp,
9793
- showNameApps = false,
9792
+ showNameApps,
9794
9793
  direction = "row"
9795
9794
  }) => {
9796
9795
  const [open, setOpen] = React.useState(false);
@@ -9806,7 +9805,7 @@ const SystemMonitorSidebarPart = ({
9806
9805
  }, [window.location.href]);
9807
9806
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9808
9807
  /* @__PURE__ */ jsxRuntime.jsx(ImageElement, { url: IconAppsSidebar, onClick: () => setOpen(true), sizeType: ImageSizeType.SQUARE }),
9809
- currentApp && /* @__PURE__ */ jsxRuntime.jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius: 6, showNameApps, direction }),
9808
+ currentApp && /* @__PURE__ */ jsxRuntime.jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius: 3, showNameApps, direction }),
9810
9809
  /* @__PURE__ */ jsxRuntime.jsx(
9811
9810
  AppsSidebar,
9812
9811
  {