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/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 AppGridItem = ({
7217
- app,
7218
- iconSize,
7219
- iconRadius,
7220
- titleVariant = "subtitle1",
7221
- titleColor,
7222
- showNameApps = true,
7223
- direction = "column"
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 theme = useTheme();
7262
- const pageSize = Math.max(1, columns * Math.max(1, rows));
7263
- const totalPages = Math.max(1, Math.ceil(apps.length / pageSize));
7264
- const [page, setPage] = React.useState(0);
7265
- React.useEffect(() => {
7266
- setPage((prev) => prev >= totalPages ? totalPages - 1 : prev);
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
- position: "absolute",
7351
- top: "50%",
7352
- right: -30,
7353
- transform: "translateY(-120%)",
7354
- color: theme.palette.divider
7329
+ fontWeight: "600",
7330
+ fontSize: "14px",
7331
+ lineHeight: "20px",
7332
+ ...getLimitLineCss(1),
7333
+ ...sxName
7355
7334
  },
7356
- children: /* @__PURE__ */ jsxRuntime.jsx(IconRight, {})
7335
+ children: name
7357
7336
  }
7358
7337
  ),
7359
7338
  /* @__PURE__ */ jsxRuntime.jsx(
7360
- material.Box,
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 = false,
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: 6, showNameApps, direction }),
9808
+ currentApp && /* @__PURE__ */ jsxRuntime.jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius: 3, showNameApps, direction }),
9809
9809
  /* @__PURE__ */ jsxRuntime.jsx(
9810
9810
  AppsSidebar,
9811
9811
  {