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