sevago-sso-fe 1.0.83 → 1.0.85

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
@@ -3,10 +3,10 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
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";
4
4
  import * as React from "react";
5
5
  import React__default, { useState, useId, useEffect, useRef, Fragment as Fragment$1 } from "react";
6
+ import { motion, LayoutGroup, AnimatePresence, MotionConfig } from "framer-motion";
6
7
  import { unstable_createGetCssVar, createSpacing as createSpacing$1, useTheme as useTheme$1, Stack as Stack$1, Box as Box$1 } from "@mui/system";
7
8
  import styled$2 from "@emotion/styled";
8
9
  import "@emotion/react";
9
- import { motion, LayoutGroup, AnimatePresence, MotionConfig } from "framer-motion";
10
10
  import { useLocation, useNavigate } from "react-router-dom";
11
11
  import { Form } from "formik";
12
12
  const sevagoEHiringIcon = "data:image/svg+xml,%3csvg%20width='54'%20height='54'%20viewBox='0%200%2054%2054'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_d_2505_587)'%3e%3cpath%20d='M26.9997%202C39.702%202%2049.9992%2012.2973%2049.9993%2024.9997C49.9993%2029.9065%2048.4622%2034.454%2045.844%2038.1882L48.8273%2041.1715L48.9707%2041.3213C50.3888%2042.8915%2050.3405%2045.3143%2048.8273%2046.8275C47.3143%2048.3405%2044.8913%2048.389%2043.3212%2046.9707L43.1715%2046.8275L40.188%2043.844C36.454%2046.4623%2031.9065%2047.9993%2026.9997%2047.9993C14.2972%2047.9992%204%2037.7022%204%2024.9997C4.00017%2012.2973%2014.2973%202.00017%2026.9997%202ZM26.9997%208.02533C17.6255%208.0255%2010.0255%2015.6255%2010.0253%2024.9997C10.0253%2034.374%2017.6253%2041.9738%2026.9997%2041.974C36.374%2041.974%2043.9738%2034.374%2043.9738%2024.9997C43.9737%2015.6255%2036.3738%208.02533%2026.9997%208.02533ZM29.1008%2027C30.9238%2027.0327%2032.7062%2027.5537%2034.2685%2028.5103C34.6045%2028.7162%2034.9277%2028.941%2035.2368%2029.1827C37.3037%2030.7973%2037.0545%2033.918%2034.9147%2035.4342C34.3567%2035.8295%2033.7702%2036.1848%2033.1585%2036.4955C31.266%2037.4562%2029.1842%2037.9708%2027.0695%2037.9993C24.9552%2038.0278%2022.8615%2037.569%2020.9448%2036.6598C20.3177%2036.3623%2019.7142%2036.0187%2019.1398%2035.6328C16.975%2034.1778%2016.6373%2031.0858%2018.6353%2029.4088C18.9863%2029.1143%2019.3567%2028.8417%2019.7453%2028.595C21.341%2027.5827%2023.1778%2027.0317%2025.0578%2027H29.1008ZM26.9997%2012C28.5908%2012%2030.1175%2012.6327%2031.2428%2013.7578C32.3677%2014.8828%2033.0003%2016.4083%2033.0005%2017.9993C33.0005%2019.5907%2032.3678%2021.1173%2031.2428%2022.2425C30.1175%2023.3677%2028.5908%2024.0003%2026.9997%2024.0003C25.4085%2024.0002%2023.8832%2023.3675%2022.758%2022.2425C21.6328%2021.1173%2021.0002%2019.5907%2021.0002%2017.9993C21.0005%2016.4083%2021.633%2014.8828%2022.758%2013.7578C23.8832%2012.6328%2025.4085%2012.0002%2026.9997%2012Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_2505_587'%20x='0'%20y='0'%20width='53.9994'%20height='53.9995'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'%20/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'%20/%3e%3cfeOffset%20dy='2'%20/%3e%3cfeGaussianBlur%20stdDeviation='2'%20/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'%20/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.182083%200%200%200%200%200.243258%200%200%200%200%200.316667%200%200%200%200.16%200'%20/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_2505_587'%20/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_2505_587'%20result='shape'%20/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e";
@@ -6670,6 +6670,98 @@ const IconRight = (props) => /* @__PURE__ */ jsx("svg", { width: "20", height: "
6670
6670
  strokeLinejoin: "round"
6671
6671
  }
6672
6672
  ) });
6673
+ const animationPresets = {
6674
+ fadeInUp: {
6675
+ initial: { opacity: 0, y: 50 },
6676
+ animate: { opacity: 1, y: 0 },
6677
+ transition: { duration: 0.2, ease: "easeOut" }
6678
+ },
6679
+ fadeInDown: {
6680
+ initial: { opacity: 0, y: -50 },
6681
+ animate: { opacity: 1, y: 0 },
6682
+ transition: { duration: 0.3, ease: "easeOut" }
6683
+ },
6684
+ fadeInLeft: {
6685
+ initial: { opacity: 0, x: -50 },
6686
+ animate: { opacity: 1, x: 0 },
6687
+ transition: { duration: 0.3, ease: "easeOut" }
6688
+ },
6689
+ fadeInRight: {
6690
+ initial: { opacity: 0, x: 50 },
6691
+ animate: { opacity: 1, x: 0 },
6692
+ transition: { duration: 0.3, ease: "easeOut" }
6693
+ },
6694
+ scaleIn: {
6695
+ initial: { opacity: 0, scale: 0.9 },
6696
+ animate: { opacity: 1, scale: 1 },
6697
+ transition: { duration: 0.3, ease: "easeOut" }
6698
+ },
6699
+ slideInUp: {
6700
+ initial: { opacity: 0, y: 20 },
6701
+ animate: { opacity: 1, y: 0 },
6702
+ transition: { duration: 0.4, ease: "easeOut" }
6703
+ },
6704
+ staggerItem: {
6705
+ initial: { opacity: 0, y: 30, scale: 0.9 },
6706
+ animate: { opacity: 1, y: 0, scale: 1 },
6707
+ transition: { duration: 0.4, delay: 0, ease: "easeOut" }
6708
+ },
6709
+ tabContent: {
6710
+ initial: { opacity: 0, y: 20 },
6711
+ animate: { opacity: 1, y: 0 },
6712
+ transition: { duration: 0.4, ease: "easeOut" }
6713
+ },
6714
+ tabUnderline: {
6715
+ initial: { scaleX: 0, opacity: 0 },
6716
+ animate: { scaleX: 1, opacity: 1 },
6717
+ exit: { scaleX: 0, opacity: 0 },
6718
+ transition: { duration: 0.3, ease: "easeInOut" }
6719
+ }
6720
+ };
6721
+ const MotionBox = ({
6722
+ children,
6723
+ sx,
6724
+ onClick,
6725
+ preset = "fadeInUp",
6726
+ delay,
6727
+ index,
6728
+ hover = false,
6729
+ ...motionProps
6730
+ }) => {
6731
+ const getAnimationProps = () => {
6732
+ if (preset) {
6733
+ const presetConfig = animationPresets[preset];
6734
+ if (preset === "staggerItem" && index !== void 0) {
6735
+ return {
6736
+ ...presetConfig,
6737
+ transition: {
6738
+ ...presetConfig.transition,
6739
+ delay: index * 0.05 + (delay || 0)
6740
+ }
6741
+ };
6742
+ }
6743
+ if (delay !== void 0) {
6744
+ return {
6745
+ ...presetConfig,
6746
+ transition: {
6747
+ ...presetConfig.transition,
6748
+ delay
6749
+ }
6750
+ };
6751
+ }
6752
+ return presetConfig;
6753
+ }
6754
+ return {};
6755
+ };
6756
+ const hoverProps = hover ? {
6757
+ whileHover: {
6758
+ y: -4,
6759
+ scale: 1.05,
6760
+ transition: { duration: 0.2 }
6761
+ }
6762
+ } : {};
6763
+ return /* @__PURE__ */ jsx(motion.div, { ...motionProps, ...getAnimationProps(), ...hoverProps, onClick, style: { ...sx }, children });
6764
+ };
6673
6765
  const StackRow = styled(Stack)(() => ({
6674
6766
  flexDirection: "row"
6675
6767
  }));
@@ -6842,98 +6934,6 @@ const ImageElement = ({
6842
6934
  )
6843
6935
  ] });
6844
6936
  };
6845
- const animationPresets = {
6846
- fadeInUp: {
6847
- initial: { opacity: 0, y: 50 },
6848
- animate: { opacity: 1, y: 0 },
6849
- transition: { duration: 0.2, ease: "easeOut" }
6850
- },
6851
- fadeInDown: {
6852
- initial: { opacity: 0, y: -50 },
6853
- animate: { opacity: 1, y: 0 },
6854
- transition: { duration: 0.3, ease: "easeOut" }
6855
- },
6856
- fadeInLeft: {
6857
- initial: { opacity: 0, x: -50 },
6858
- animate: { opacity: 1, x: 0 },
6859
- transition: { duration: 0.3, ease: "easeOut" }
6860
- },
6861
- fadeInRight: {
6862
- initial: { opacity: 0, x: 50 },
6863
- animate: { opacity: 1, x: 0 },
6864
- transition: { duration: 0.3, ease: "easeOut" }
6865
- },
6866
- scaleIn: {
6867
- initial: { opacity: 0, scale: 0.9 },
6868
- animate: { opacity: 1, scale: 1 },
6869
- transition: { duration: 0.3, ease: "easeOut" }
6870
- },
6871
- slideInUp: {
6872
- initial: { opacity: 0, y: 20 },
6873
- animate: { opacity: 1, y: 0 },
6874
- transition: { duration: 0.4, ease: "easeOut" }
6875
- },
6876
- staggerItem: {
6877
- initial: { opacity: 0, y: 30, scale: 0.9 },
6878
- animate: { opacity: 1, y: 0, scale: 1 },
6879
- transition: { duration: 0.4, delay: 0, ease: "easeOut" }
6880
- },
6881
- tabContent: {
6882
- initial: { opacity: 0, y: 20 },
6883
- animate: { opacity: 1, y: 0 },
6884
- transition: { duration: 0.4, ease: "easeOut" }
6885
- },
6886
- tabUnderline: {
6887
- initial: { scaleX: 0, opacity: 0 },
6888
- animate: { scaleX: 1, opacity: 1 },
6889
- exit: { scaleX: 0, opacity: 0 },
6890
- transition: { duration: 0.3, ease: "easeInOut" }
6891
- }
6892
- };
6893
- const MotionBox = ({
6894
- children,
6895
- sx,
6896
- onClick,
6897
- preset = "fadeInUp",
6898
- delay,
6899
- index,
6900
- hover = false,
6901
- ...motionProps
6902
- }) => {
6903
- const getAnimationProps = () => {
6904
- if (preset) {
6905
- const presetConfig = animationPresets[preset];
6906
- if (preset === "staggerItem" && index !== void 0) {
6907
- return {
6908
- ...presetConfig,
6909
- transition: {
6910
- ...presetConfig.transition,
6911
- delay: index * 0.05 + (delay || 0)
6912
- }
6913
- };
6914
- }
6915
- if (delay !== void 0) {
6916
- return {
6917
- ...presetConfig,
6918
- transition: {
6919
- ...presetConfig.transition,
6920
- delay
6921
- }
6922
- };
6923
- }
6924
- return presetConfig;
6925
- }
6926
- return {};
6927
- };
6928
- const hoverProps = hover ? {
6929
- whileHover: {
6930
- y: -4,
6931
- scale: 1.05,
6932
- transition: { duration: 0.2 }
6933
- }
6934
- } : {};
6935
- return /* @__PURE__ */ jsx(motion.div, { ...motionProps, ...getAnimationProps(), ...hoverProps, onClick, style: { ...sx }, children });
6936
- };
6937
6937
  const ImageBrand = styled(ImageElement)(({ theme }) => ({
6938
6938
  height: HEIGHT_ELEMENT_OTHER,
6939
6939
  border: `1px solid ${theme.palette.divider}`,
@@ -7195,6 +7195,38 @@ const TypographyFilter = styled$3(Typography)(({ theme }) => ({
7195
7195
  textWrap: "nowrap",
7196
7196
  padding: `0px ${PADDING_GAP_LAYOUT}`
7197
7197
  }));
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(StackRowAlignJustCenter, { sx: { flexDirection: direction, gap: PADDING_GAP_ITEM }, children: [
7208
+ /* @__PURE__ */ jsx(
7209
+ StackRowAlignJustCenter,
7210
+ {
7211
+ sx: {
7212
+ width: iconSize,
7213
+ height: iconSize,
7214
+ borderRadius: iconRadius,
7215
+ background: app.color
7216
+ },
7217
+ children: /* @__PURE__ */ jsx(
7218
+ ImageElement,
7219
+ {
7220
+ sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
7221
+ url: app.icon,
7222
+ sizeType: ImageSizeType.SQUARE
7223
+ }
7224
+ )
7225
+ }
7226
+ ),
7227
+ showNameApps && /* @__PURE__ */ jsx(Typography, { variant: titleVariant, sx: { color: titleColor }, children: app.content })
7228
+ ] });
7229
+ };
7198
7230
  const AppGrid = ({
7199
7231
  apps,
7200
7232
  columns = 5,
@@ -7231,7 +7263,7 @@ const AppGrid = ({
7231
7263
  },
7232
7264
  children: [
7233
7265
  visibleApps.map((app, index) => {
7234
- return /* @__PURE__ */ jsxs(
7266
+ return /* @__PURE__ */ jsx(
7235
7267
  MotionBox,
7236
7268
  {
7237
7269
  preset: "staggerItem",
@@ -7245,29 +7277,16 @@ const AppGrid = ({
7245
7277
  flexDirection: "column"
7246
7278
  },
7247
7279
  onClick: () => onClickApp(app),
7248
- children: [
7249
- /* @__PURE__ */ jsx(
7250
- StackRowAlignJustCenter,
7251
- {
7252
- sx: {
7253
- width: iconSize,
7254
- height: iconSize,
7255
- borderRadius: iconRadius,
7256
- mb: 1.5,
7257
- background: app.color
7258
- },
7259
- children: /* @__PURE__ */ jsx(
7260
- ImageElement,
7261
- {
7262
- sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
7263
- url: app.icon,
7264
- sizeType: ImageSizeType.SQUARE
7265
- }
7266
- )
7267
- }
7268
- ),
7269
- /* @__PURE__ */ jsx(Typography, { variant: titleVariant, sx: { color: titleColor ?? theme.palette.common.white }, children: app.content })
7270
- ]
7280
+ children: /* @__PURE__ */ jsx(
7281
+ AppGridItem,
7282
+ {
7283
+ app,
7284
+ iconSize,
7285
+ iconRadius,
7286
+ titleVariant,
7287
+ titleColor: titleColor ?? theme.palette.common.white
7288
+ }
7289
+ )
7271
7290
  },
7272
7291
  index
7273
7292
  );
@@ -9751,11 +9770,24 @@ const SystemMonitorSidebarPart = ({
9751
9770
  position,
9752
9771
  blacklist,
9753
9772
  env,
9754
- onClickApp
9773
+ onClickApp,
9774
+ showNameApps = false,
9775
+ direction = "row"
9755
9776
  }) => {
9756
9777
  const [open, setOpen] = useState(false);
9778
+ const [currentApp, setCurrentApp] = useState(null);
9779
+ useEffect(() => {
9780
+ const href = window.location.href;
9781
+ const matchedKey = Object.keys(APP_OBJ).find((key) => {
9782
+ const app = APP_OBJ[key];
9783
+ const target = app.path[env];
9784
+ return !!target && href.startsWith(target);
9785
+ });
9786
+ setCurrentApp(matchedKey ? APP_OBJ[matchedKey] : null);
9787
+ }, [window.location.href]);
9757
9788
  return /* @__PURE__ */ jsxs(Fragment, { children: [
9758
9789
  /* @__PURE__ */ jsx(ImageElement, { url: IconAppsSidebar, onClick: () => setOpen(true), sizeType: ImageSizeType.SQUARE }),
9790
+ currentApp && /* @__PURE__ */ jsx(AppGridItem, { app: currentApp, iconSize: 32, iconRadius: 6, showNameApps, direction }),
9759
9791
  /* @__PURE__ */ jsx(
9760
9792
  AppsSidebar,
9761
9793
  {
@@ -9850,6 +9882,7 @@ export {
9850
9882
  APP_GROUP_COLOR,
9851
9883
  APP_OBJ,
9852
9884
  AppGrid,
9885
+ AppGridItem,
9853
9886
  AppGroup,
9854
9887
  AppType,
9855
9888
  AppsSidebar,