sevago-sso-fe 1.0.85 → 1.0.92

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
  }));
@@ -7011,7 +7106,7 @@ const LinkWrapProductRow = material.styled(LinkElement)(({ theme }) => ({
7011
7106
  }));
7012
7107
  const lightenColor = (hex, percent) => {
7013
7108
  let r, g, b;
7014
- if (hex.length === 7) {
7109
+ if (hex?.length === 7) {
7015
7110
  r = parseInt(hex.slice(1, 3), 16);
7016
7111
  g = parseInt(hex.slice(3, 5), 16);
7017
7112
  b = parseInt(hex.slice(5, 7), 16);
@@ -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
  {