wcz-test 4.7.0 → 4.9.0

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.js CHANGED
@@ -975,84 +975,43 @@ var require_prop_types = __commonJS({
975
975
  // src/components/core/TypographyWithIcon.tsx
976
976
  import { Stack, Typography } from "@mui/material";
977
977
  import { jsx, jsxs } from "react/jsx-runtime";
978
- var stackSxProps = [
979
- "margin",
980
- "marginTop",
981
- "marginRight",
982
- "marginBottom",
983
- "marginLeft",
984
- "m",
985
- "mt",
986
- "mr",
987
- "mb",
988
- "ml",
989
- "mx",
990
- "my",
991
- "padding",
992
- "paddingTop",
993
- "paddingRight",
994
- "paddingBottom",
995
- "paddingLeft",
996
- "p",
997
- "pt",
998
- "pr",
999
- "pb",
1000
- "pl",
1001
- "px",
1002
- "py",
1003
- "flexGrow",
1004
- "flexShrink",
1005
- "flexBasis",
1006
- "flexDirection",
1007
- "alignItems",
1008
- "justifyContent",
1009
- "position",
1010
- "zIndex",
1011
- "top",
1012
- "right",
1013
- "bottom",
1014
- "left",
1015
- "gridGap",
1016
- "gridColumnGap",
1017
- "gridRowGap",
1018
- "gridColumn",
1019
- "gridRow",
1020
- "gridAutoFlow",
1021
- "gap",
1022
- "columnGap",
1023
- "rowGap"
1024
- ];
1025
- var TypographyWithIcon = ({ startIcon, endIcon, children, sx, gutterBottom, ...props }) => {
1026
- const sxCopy = { ...sx };
1027
- const stackStyles = {};
1028
- for (const current of stackSxProps) {
1029
- if (sxCopy[current]) {
1030
- stackStyles[current] = sxCopy[current];
1031
- delete sxCopy[current];
978
+ var TypographyWithIcon = ({ startIcon, endIcon, children, sx, ...props }) => {
979
+ const iconSx = {
980
+ display: "inline-flex",
981
+ alignItems: "center",
982
+ justifyContent: "center",
983
+ flexShrink: 0,
984
+ lineHeight: 0,
985
+ "& > svg": {
986
+ display: "block"
1032
987
  }
1033
- }
1034
- return /* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "center", gap: 1, sx: stackStyles, mb: gutterBottom ? 0.7 : void 0, children: [
1035
- startIcon,
1036
- /* @__PURE__ */ jsx(Typography, { ...props, sx: sxCopy, children }),
1037
- endIcon
1038
- ] });
1039
- };
1040
-
1041
- // src/components/core/PageHeader.tsx
1042
- import { Box, Stack as Stack2, Typography as Typography2 } from "@mui/material";
1043
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
1044
- var PageHeader = ({ title, action, sx }) => {
1045
- return /* @__PURE__ */ jsxs2(Stack2, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { py: 2, ...sx }, children: [
1046
- /* @__PURE__ */ jsx2(Typography2, { variant: "h4", fontWeight: 600, children: title }),
1047
- action && /* @__PURE__ */ jsx2(Box, { children: action })
1048
- ] });
988
+ };
989
+ return /* @__PURE__ */ jsxs(
990
+ Typography,
991
+ {
992
+ component: "span",
993
+ sx: {
994
+ display: "inline-flex",
995
+ alignItems: "center",
996
+ verticalAlign: "middle",
997
+ ...sx
998
+ },
999
+ gap: 1,
1000
+ ...props,
1001
+ children: [
1002
+ startIcon && /* @__PURE__ */ jsx(Stack, { component: "span", sx: iconSx, children: startIcon }),
1003
+ /* @__PURE__ */ jsx(Stack, { component: "span", sx: { display: "inline", lineHeight: "inherit" }, children }),
1004
+ endIcon && /* @__PURE__ */ jsx(Stack, { component: "span", sx: iconSx, children: endIcon })
1005
+ ]
1006
+ }
1007
+ );
1049
1008
  };
1050
1009
 
1051
- // src/components/core/TableContainer.tsx
1052
- import { Box as Box2 } from "@mui/material";
1010
+ // src/components/core/Fullscreen.tsx
1011
+ import { Box } from "@mui/material";
1053
1012
  import { useEffect, useRef, useState } from "react";
1054
- import { jsx as jsx3 } from "react/jsx-runtime";
1055
- var TableContainer = ({ children, sx, ...props }) => {
1013
+ import { jsx as jsx2 } from "react/jsx-runtime";
1014
+ var Fullscreen = ({ children, sx, ...props }) => {
1056
1015
  const reference = useRef(null);
1057
1016
  const [height, setHeight] = useState();
1058
1017
  useEffect(() => {
@@ -1075,8 +1034,8 @@ var TableContainer = ({ children, sx, ...props }) => {
1075
1034
  ro.disconnect();
1076
1035
  };
1077
1036
  }, []);
1078
- return /* @__PURE__ */ jsx3(
1079
- Box2,
1037
+ return /* @__PURE__ */ jsx2(
1038
+ Box,
1080
1039
  {
1081
1040
  ref: reference,
1082
1041
  sx: {
@@ -1084,43 +1043,26 @@ var TableContainer = ({ children, sx, ...props }) => {
1084
1043
  flexDirection: "column",
1085
1044
  minHeight: 0,
1086
1045
  width: "100%",
1046
+ overflow: "auto",
1087
1047
  ...sx
1088
1048
  },
1089
1049
  height,
1090
1050
  ...props,
1091
- children: /* @__PURE__ */ jsx3(Box2, { sx: (theme) => ({
1051
+ children: /* @__PURE__ */ jsx2(Box, { sx: {
1092
1052
  flex: 1,
1093
1053
  minHeight: 0,
1094
- height: "100%",
1095
- "& .MuiDataGrid-cell--editing": {
1096
- "& .MuiInputBase-root": {
1097
- height: "100%"
1098
- }
1099
- },
1100
- "& .MuiDataGrid-columnHeaderTitle": {
1101
- fontWeight: 600
1102
- },
1103
- "& .Mui-error": {
1104
- backgroundColor: theme.palette.error.main,
1105
- color: theme.palette.error.contrastText
1106
- },
1107
- "& .MuiDataGrid-booleanCell[data-value='true']": {
1108
- color: `${theme.palette.success.main} !important`
1109
- },
1110
- "& .MuiDataGrid-booleanCell[data-value='false']": {
1111
- color: `${theme.palette.error.main} !important`
1112
- }
1113
- }), children })
1054
+ height: "100%"
1055
+ }, children })
1114
1056
  }
1115
1057
  );
1116
1058
  };
1117
1059
 
1118
1060
  // src/components/file/Dropzone.tsx
1119
1061
  import CloudUpload from "@mui/icons-material/CloudUpload";
1120
- import { Paper, Typography as Typography3, useTheme } from "@mui/material";
1062
+ import { Paper, Typography as Typography2, useTheme } from "@mui/material";
1121
1063
  import { useDropzone } from "react-dropzone";
1122
1064
  import { useTranslation } from "react-i18next";
1123
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1065
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1124
1066
  var baseStyle = {
1125
1067
  flex: 1,
1126
1068
  display: "flex",
@@ -1144,10 +1086,10 @@ var Dropzone = ({ sx, ...props }) => {
1144
1086
  ...isDragAccept ? { borderColor: theme.palette.success.main } : {},
1145
1087
  ...isDragReject ? { borderColor: theme.palette.error.main } : {}
1146
1088
  };
1147
- return /* @__PURE__ */ jsxs3(Paper, { variant: "outlined", ...getRootProps({ style }), sx, children: [
1148
- /* @__PURE__ */ jsx4("input", { ...getInputProps(), style: { display: "none" } }),
1149
- /* @__PURE__ */ jsx4(CloudUpload, {}),
1150
- /* @__PURE__ */ jsx4(Typography3, { children: t2("Layout.File.DragSomeFilesHereOrClickToSelectThem") })
1089
+ return /* @__PURE__ */ jsxs2(Paper, { variant: "outlined", ...getRootProps({ style }), sx, children: [
1090
+ /* @__PURE__ */ jsx3("input", { ...getInputProps(), style: { display: "none" } }),
1091
+ /* @__PURE__ */ jsx3(CloudUpload, {}),
1092
+ /* @__PURE__ */ jsx3(Typography2, { children: t2("Layout.File.DragSomeFilesHereOrClickToSelectThem") })
1151
1093
  ] });
1152
1094
  };
1153
1095
 
@@ -1156,7 +1098,7 @@ import { useState as useState5 } from "react";
1156
1098
 
1157
1099
  // src/components/file/fileViewer/FileViewerGrid.tsx
1158
1100
  import MoreVert from "@mui/icons-material/MoreVert";
1159
- import { Box as Box3, IconButton, ImageListItem, ImageListItemBar, Stack as Stack4, Tooltip } from "@mui/material";
1101
+ import { Box as Box2, IconButton, ImageListItem, ImageListItemBar, Stack as Stack3, Tooltip } from "@mui/material";
1160
1102
  import { grey } from "@mui/material/colors";
1161
1103
  import { Fragment, useEffect as useEffect2, useState as useState3 } from "react";
1162
1104
 
@@ -1187,23 +1129,23 @@ import { createContext as createContext2 } from "react";
1187
1129
  var DialogsContext = createContext2({});
1188
1130
 
1189
1131
  // src/hooks/DialogsHooks.tsx
1190
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
1132
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1191
1133
  function AlertDialog({ open, payload, onClose }) {
1192
1134
  const { t: t2 } = useTranslation2();
1193
- return /* @__PURE__ */ jsxs4(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(), disableRestoreFocus: true, children: [
1194
- /* @__PURE__ */ jsx5(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Alert") }),
1195
- /* @__PURE__ */ jsx5(DialogContent, { children: payload.message }),
1196
- /* @__PURE__ */ jsx5(DialogActions, { children: /* @__PURE__ */ jsx5(Button, { onClick: () => onClose(), autoFocus: true, children: t2("Layout.Dialog.Confirm") }) })
1135
+ return /* @__PURE__ */ jsxs3(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(), disableRestoreFocus: true, children: [
1136
+ /* @__PURE__ */ jsx4(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Alert") }),
1137
+ /* @__PURE__ */ jsx4(DialogContent, { children: payload.message }),
1138
+ /* @__PURE__ */ jsx4(DialogActions, { children: /* @__PURE__ */ jsx4(Button, { onClick: () => onClose(), autoFocus: true, children: t2("Layout.Dialog.Confirm") }) })
1197
1139
  ] });
1198
1140
  }
1199
1141
  function ConfirmDialog({ open, payload, onClose }) {
1200
1142
  const { t: t2 } = useTranslation2();
1201
- return /* @__PURE__ */ jsxs4(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(false), disableRestoreFocus: true, children: [
1202
- /* @__PURE__ */ jsx5(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Confirm") }),
1203
- /* @__PURE__ */ jsx5(DialogContent, { children: payload.message }),
1204
- /* @__PURE__ */ jsxs4(DialogActions, { children: [
1205
- /* @__PURE__ */ jsx5(Button, { onClick: () => onClose(false), children: payload.cancelText ?? t2("Layout.Dialog.Cancel") }),
1206
- /* @__PURE__ */ jsx5(Button, { onClick: () => onClose(true), autoFocus: true, children: t2("Layout.Dialog.Confirm") })
1143
+ return /* @__PURE__ */ jsxs3(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(false), disableRestoreFocus: true, children: [
1144
+ /* @__PURE__ */ jsx4(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Confirm") }),
1145
+ /* @__PURE__ */ jsx4(DialogContent, { children: payload.message }),
1146
+ /* @__PURE__ */ jsxs3(DialogActions, { children: [
1147
+ /* @__PURE__ */ jsx4(Button, { onClick: () => onClose(false), children: payload.cancelText ?? t2("Layout.Dialog.Cancel") }),
1148
+ /* @__PURE__ */ jsx4(Button, { onClick: () => onClose(true), autoFocus: true, children: t2("Layout.Dialog.Confirm") })
1207
1149
  ] })
1208
1150
  ] });
1209
1151
  }
@@ -1226,15 +1168,15 @@ import { Upload as TusUpload } from "tus-js-client";
1226
1168
  import { uuidv7 } from "uuidv7";
1227
1169
 
1228
1170
  // src/components/core/AppTitle.tsx
1229
- import { Chip, Stack as Stack3, Typography as Typography4 } from "@mui/material";
1171
+ import { Chip, Stack as Stack2, Typography as Typography3 } from "@mui/material";
1230
1172
  import { useRouterState } from "@tanstack/react-router";
1231
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
1173
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
1232
1174
  var AppTitle = () => {
1233
1175
  const title = useAppTitle();
1234
- return /* @__PURE__ */ jsxs5(Stack3, { direction: "row", alignItems: "center", spacing: 2, flexGrow: 1, children: [
1235
- /* @__PURE__ */ jsx6("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
1236
- /* @__PURE__ */ jsx6(Typography4, { variant: "h6", children: title }),
1237
- import.meta.env.DEV && /* @__PURE__ */ jsx6(Chip, { size: "small", label: "TEST", color: "info" })
1176
+ return /* @__PURE__ */ jsxs4(Stack2, { direction: "row", alignItems: "center", spacing: 2, flexGrow: 1, children: [
1177
+ /* @__PURE__ */ jsx5("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
1178
+ /* @__PURE__ */ jsx5(Typography3, { variant: "h6", children: title }),
1179
+ import.meta.env.DEV && /* @__PURE__ */ jsx5(Chip, { size: "small", label: "TEST", color: "info" })
1238
1180
  ] });
1239
1181
  };
1240
1182
  var useAppTitle = () => {
@@ -1274,7 +1216,7 @@ var rootRouteHead = ({ title }) => () => ({
1274
1216
  { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" },
1275
1217
  { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" },
1276
1218
  { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" },
1277
- { rel: "manifest", href: "/manifest" },
1219
+ { rel: "manifest", href: "/manifest.json" },
1278
1220
  { rel: "icon", href: "/favicon.ico" }
1279
1221
  ]
1280
1222
  });
@@ -1446,7 +1388,7 @@ var useUploadFile = ({ subId, onSuccess, onError }) => {
1446
1388
  };
1447
1389
 
1448
1390
  // src/components/file/fileViewer/common/ActionsMenu.tsx
1449
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1391
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
1450
1392
  var ActionsMenu = ({ meta, menu, setMenu }) => {
1451
1393
  const { t: t2 } = useTranslation3();
1452
1394
  const { fileMetas, onDelete, actions } = useFile();
@@ -1470,7 +1412,7 @@ var ActionsMenu = ({ meta, menu, setMenu }) => {
1470
1412
  onDelete({ remainingFileMetas, deletedFileMeta: meta });
1471
1413
  }
1472
1414
  };
1473
- return /* @__PURE__ */ jsx7(
1415
+ return /* @__PURE__ */ jsx6(
1474
1416
  Menu,
1475
1417
  {
1476
1418
  open: menu !== null,
@@ -1478,14 +1420,14 @@ var ActionsMenu = ({ meta, menu, setMenu }) => {
1478
1420
  anchorReference: "anchorPosition",
1479
1421
  variant: "menu",
1480
1422
  anchorPosition: menu === null ? void 0 : { top: menu.mouseY, left: menu.mouseX },
1481
- children: /* @__PURE__ */ jsxs6(List, { disablePadding: true, children: [
1482
- actions?.download !== false && /* @__PURE__ */ jsxs6(ListItemButton, { onClick: handleOnDownload, disabled: isDownloading, children: [
1483
- /* @__PURE__ */ jsx7(ListItemIcon, { children: /* @__PURE__ */ jsx7(FileDownload, {}) }),
1484
- /* @__PURE__ */ jsx7(ListItemText, { children: t2("Layout.File.Download") })
1423
+ children: /* @__PURE__ */ jsxs5(List, { disablePadding: true, children: [
1424
+ actions?.download !== false && /* @__PURE__ */ jsxs5(ListItemButton, { onClick: handleOnDownload, disabled: isDownloading, children: [
1425
+ /* @__PURE__ */ jsx6(ListItemIcon, { children: /* @__PURE__ */ jsx6(FileDownload, {}) }),
1426
+ /* @__PURE__ */ jsx6(ListItemText, { children: t2("Layout.File.Download") })
1485
1427
  ] }),
1486
- actions?.delete !== false && /* @__PURE__ */ jsxs6(ListItemButton, { onClick: handleOnDelete, disabled: isDeleting, children: [
1487
- /* @__PURE__ */ jsx7(ListItemIcon, { children: /* @__PURE__ */ jsx7(Delete, {}) }),
1488
- /* @__PURE__ */ jsx7(ListItemText, { children: t2("Layout.File.Delete") })
1428
+ actions?.delete !== false && /* @__PURE__ */ jsxs5(ListItemButton, { onClick: handleOnDelete, disabled: isDeleting, children: [
1429
+ /* @__PURE__ */ jsx6(ListItemIcon, { children: /* @__PURE__ */ jsx6(Delete, {}) }),
1430
+ /* @__PURE__ */ jsx6(ListItemText, { children: t2("Layout.File.Delete") })
1489
1431
  ] })
1490
1432
  ] })
1491
1433
  }
@@ -1493,11 +1435,11 @@ var ActionsMenu = ({ meta, menu, setMenu }) => {
1493
1435
  };
1494
1436
 
1495
1437
  // src/components/file/fileViewer/FileViewerGrid.tsx
1496
- import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1438
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1497
1439
  var IMAGE_SIZE = 150;
1498
1440
  var FileViewerGrid = ({ sx, size, itemBar }) => {
1499
1441
  const { fileMetas } = useFile();
1500
- return /* @__PURE__ */ jsx8(Stack4, { direction: "row", spacing: 1, sx: { overflow: "auto", ...sx }, children: fileMetas.map((fileMeta) => /* @__PURE__ */ jsx8(
1442
+ return /* @__PURE__ */ jsx7(Stack3, { direction: "row", spacing: 1, sx: { overflow: "auto", ...sx }, children: fileMetas.map((fileMeta) => /* @__PURE__ */ jsx7(
1501
1443
  GridFileViewerItem,
1502
1444
  {
1503
1445
  meta: fileMeta,
@@ -1539,10 +1481,10 @@ var GridFileViewerItem = ({ meta, size, itemBar }) => {
1539
1481
  }
1540
1482
  }
1541
1483
  };
1542
- return /* @__PURE__ */ jsxs7(Fragment, { children: [
1543
- /* @__PURE__ */ jsxs7(ImageListItem, { sx: { width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }, onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, children: [
1544
- /* @__PURE__ */ jsx8(
1545
- Box3,
1484
+ return /* @__PURE__ */ jsxs6(Fragment, { children: [
1485
+ /* @__PURE__ */ jsxs6(ImageListItem, { sx: { width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }, onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, children: [
1486
+ /* @__PURE__ */ jsx7(
1487
+ Box2,
1546
1488
  {
1547
1489
  component: "img",
1548
1490
  src: source,
@@ -1552,15 +1494,15 @@ var GridFileViewerItem = ({ meta, size, itemBar }) => {
1552
1494
  sx: { cursor: "pointer", objectFit: "contain", width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }
1553
1495
  }
1554
1496
  ),
1555
- itemBar !== "hidden" && showItemBar && /* @__PURE__ */ jsx8(
1497
+ itemBar !== "hidden" && showItemBar && /* @__PURE__ */ jsx7(
1556
1498
  ImageListItemBar,
1557
1499
  {
1558
- title: /* @__PURE__ */ jsx8(Tooltip, { title: meta.fileName, children: /* @__PURE__ */ jsx8(Box3, { children: meta.fileName }) }),
1559
- actionIcon: (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx8(IconButton, { sx: { color: grey[100] }, onClick: openMenu, children: /* @__PURE__ */ jsx8(MoreVert, {}) })
1500
+ title: /* @__PURE__ */ jsx7(Tooltip, { title: meta.fileName, children: /* @__PURE__ */ jsx7(Box2, { children: meta.fileName }) }),
1501
+ actionIcon: (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx7(IconButton, { sx: { color: grey[100] }, onClick: openMenu, children: /* @__PURE__ */ jsx7(MoreVert, {}) })
1560
1502
  }
1561
1503
  )
1562
1504
  ] }),
1563
- (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx8(ActionsMenu, { meta, menu, setMenu })
1505
+ (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx7(ActionsMenu, { meta, menu, setMenu })
1564
1506
  ] });
1565
1507
  };
1566
1508
 
@@ -1571,11 +1513,11 @@ import MoreVert2 from "@mui/icons-material/MoreVert";
1571
1513
  import SmartDisplay from "@mui/icons-material/SmartDisplay";
1572
1514
  import { IconButton as IconButton2, List as List2, ListItemButton as ListItemButton2, ListItemIcon as ListItemIcon2, ListItemText as ListItemText2 } from "@mui/material";
1573
1515
  import { Fragment as Fragment2, useState as useState4 } from "react";
1574
- import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
1516
+ import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1575
1517
  var FileViewerList = ({ sx }) => {
1576
1518
  const { fileMetas } = useFile();
1577
- return /* @__PURE__ */ jsx9(List2, { dense: true, sx, children: fileMetas.map(
1578
- (fileMeta) => /* @__PURE__ */ jsx9(
1519
+ return /* @__PURE__ */ jsx8(List2, { dense: true, sx, children: fileMetas.map(
1520
+ (fileMeta) => /* @__PURE__ */ jsx8(
1579
1521
  ListFileViewerItem,
1580
1522
  {
1581
1523
  meta: fileMeta
@@ -1612,31 +1554,31 @@ var ListFileViewerItem = ({ meta }) => {
1612
1554
  const icon = () => {
1613
1555
  switch (meta.mediaType) {
1614
1556
  case "image": {
1615
- return /* @__PURE__ */ jsx9(Image, {});
1557
+ return /* @__PURE__ */ jsx8(Image, {});
1616
1558
  }
1617
1559
  case "video": {
1618
- return /* @__PURE__ */ jsx9(SmartDisplay, {});
1560
+ return /* @__PURE__ */ jsx8(SmartDisplay, {});
1619
1561
  }
1620
1562
  default: {
1621
- return /* @__PURE__ */ jsx9(AttachFile, {});
1563
+ return /* @__PURE__ */ jsx8(AttachFile, {});
1622
1564
  }
1623
1565
  }
1624
1566
  };
1625
- return /* @__PURE__ */ jsxs8(Fragment2, { children: [
1626
- /* @__PURE__ */ jsxs8(ListItemButton2, { onClick, children: [
1627
- /* @__PURE__ */ jsx9(ListItemIcon2, { children: icon() }),
1628
- /* @__PURE__ */ jsx9(ListItemText2, { primary: `${meta.fileName}.${meta.fileExtension}` }),
1629
- (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx9(IconButton2, { edge: "end", onClick: openMenu, children: /* @__PURE__ */ jsx9(MoreVert2, {}) })
1567
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1568
+ /* @__PURE__ */ jsxs7(ListItemButton2, { onClick, children: [
1569
+ /* @__PURE__ */ jsx8(ListItemIcon2, { children: icon() }),
1570
+ /* @__PURE__ */ jsx8(ListItemText2, { primary: `${meta.fileName}.${meta.fileExtension}` }),
1571
+ (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx8(IconButton2, { edge: "end", onClick: openMenu, children: /* @__PURE__ */ jsx8(MoreVert2, {}) })
1630
1572
  ] }, meta.id),
1631
- (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx9(ActionsMenu, { meta, menu, setMenu })
1573
+ (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx8(ActionsMenu, { meta, menu, setMenu })
1632
1574
  ] });
1633
1575
  };
1634
1576
 
1635
1577
  // src/components/file/fileViewer/ImageViewer.tsx
1636
1578
  import Close from "@mui/icons-material/Close";
1637
- import { Box as Box4, Dialog as Dialog2, Fab } from "@mui/material";
1579
+ import { Box as Box3, Dialog as Dialog2, Fab } from "@mui/material";
1638
1580
  import { useEffect as useEffect3 } from "react";
1639
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
1581
+ import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
1640
1582
  var ImageViewer = ({ metaId }) => {
1641
1583
  const { fileMetas, setImageId } = useFile();
1642
1584
  const meta = fileMetas.find((m) => m.id === metaId);
@@ -1679,28 +1621,28 @@ var ImageViewer = ({ metaId }) => {
1679
1621
  };
1680
1622
  const onClose = () => setImageId("");
1681
1623
  if (!metaId) return null;
1682
- return /* @__PURE__ */ jsxs9(Dialog2, { open: true, onClose, maxWidth: "xl", children: [
1683
- /* @__PURE__ */ jsx10(Box4, { component: "img", src: source, alt: metaId, sx: { maxWidth: "100vw", maxHeight: { xs: "calc(100vh - 56px)", sm: "calc(100vh - 64px)" } } }),
1684
- /* @__PURE__ */ jsx10(Fab, { size: "medium", onClick: onClose, sx: { position: "fixed", top: 8, right: 8 }, children: /* @__PURE__ */ jsx10(Close, {}) })
1624
+ return /* @__PURE__ */ jsxs8(Dialog2, { open: true, onClose, maxWidth: "xl", children: [
1625
+ /* @__PURE__ */ jsx9(Box3, { component: "img", src: source, alt: metaId, sx: { maxWidth: "100vw", maxHeight: { xs: "calc(100vh - 56px)", sm: "calc(100vh - 64px)" } } }),
1626
+ /* @__PURE__ */ jsx9(Fab, { size: "medium", onClick: onClose, sx: { position: "fixed", top: 8, right: 8 }, children: /* @__PURE__ */ jsx9(Close, {}) })
1685
1627
  ] });
1686
1628
  };
1687
1629
 
1688
1630
  // src/components/file/FileViewer.tsx
1689
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
1631
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
1690
1632
  var FileViewer = ({ subId, onDelete, actions, children }) => {
1691
1633
  const { data: fileMetas = [] } = useGetFileMetas(subId, { enabled: !!subId });
1692
1634
  const [imageId, setImageId] = useState5("");
1693
1635
  const components = { Grid: FileViewerGrid, List: FileViewerList };
1694
1636
  if (fileMetas.length === 0) return null;
1695
- return /* @__PURE__ */ jsxs10(FileContext.Provider, { value: { fileMetas, onDelete, actions, setImageId }, children: [
1637
+ return /* @__PURE__ */ jsxs9(FileContext.Provider, { value: { fileMetas, onDelete, actions, setImageId }, children: [
1696
1638
  children(components),
1697
- /* @__PURE__ */ jsx11(ImageViewer, { metaId: imageId })
1639
+ /* @__PURE__ */ jsx10(ImageViewer, { metaId: imageId })
1698
1640
  ] });
1699
1641
  };
1700
1642
 
1701
1643
  // src/components/data-grid/ChipInputCell.tsx
1702
- import { Chip as Chip2, Stack as Stack5 } from "@mui/material";
1703
- import { jsx as jsx12 } from "react/jsx-runtime";
1644
+ import { Chip as Chip2, Stack as Stack4 } from "@mui/material";
1645
+ import { jsx as jsx11 } from "react/jsx-runtime";
1704
1646
  var isArray = (value) => Array.isArray(value);
1705
1647
  var ChipInputCell = ({ params, slotProps, getLabel }) => {
1706
1648
  if (!params.value) return null;
@@ -1709,120 +1651,120 @@ var ChipInputCell = ({ params, slotProps, getLabel }) => {
1709
1651
  return value;
1710
1652
  };
1711
1653
  if (isArray(params.value))
1712
- return /* @__PURE__ */ jsx12(Stack5, { direction: "row", alignItems: "center", gap: 1, sx: { overflowX: "auto", height: "100%", width: params.colDef.computedWidth }, children: params.value.map(
1713
- (value, index) => /* @__PURE__ */ jsx12(Chip2, { label: getLabelValue(value), ...slotProps }, `${index + 1}-chip-input-cell`)
1654
+ return /* @__PURE__ */ jsx11(Stack4, { direction: "row", alignItems: "center", gap: 1, sx: { overflowX: "auto", height: "100%", width: params.colDef.computedWidth }, children: params.value.map(
1655
+ (value, index) => /* @__PURE__ */ jsx11(Chip2, { label: getLabelValue(value), ...slotProps }, `${index + 1}-chip-input-cell`)
1714
1656
  ) });
1715
- return /* @__PURE__ */ jsx12(Chip2, { label: getLabelValue(params.value), ...slotProps });
1657
+ return /* @__PURE__ */ jsx11(Chip2, { label: getLabelValue(params.value), ...slotProps });
1716
1658
  };
1717
1659
 
1718
1660
  // src/components/data-grid/EditableColumnHeader.tsx
1719
1661
  import Edit from "@mui/icons-material/Edit";
1720
- import { jsx as jsx13 } from "react/jsx-runtime";
1662
+ import { jsx as jsx12 } from "react/jsx-runtime";
1721
1663
  var EditableColumnHeader = ({ colDef }) => {
1722
- return /* @__PURE__ */ jsx13(TypographyWithIcon, { endIcon: /* @__PURE__ */ jsx13(Edit, { color: "disabled", fontSize: "small" }), variant: "body2", className: "MuiDataGrid-columnHeaderTitle", children: colDef.headerName });
1664
+ return /* @__PURE__ */ jsx12(TypographyWithIcon, { endIcon: /* @__PURE__ */ jsx12(Edit, { color: "disabled", fontSize: "small" }), variant: "body2", className: "MuiDataGrid-columnHeaderTitle", children: colDef.headerName });
1723
1665
  };
1724
1666
 
1725
1667
  // src/components/router/RouterButton.tsx
1726
1668
  import { Button as Button2 } from "@mui/material";
1727
1669
  import { createLink } from "@tanstack/react-router";
1728
1670
  import React3 from "react";
1729
- import { jsx as jsx14 } from "react/jsx-runtime";
1671
+ import { jsx as jsx13 } from "react/jsx-runtime";
1730
1672
  var Component = React3.forwardRef(function ButtonComponent(props, reference) {
1731
- return /* @__PURE__ */ jsx14(Button2, { ref: reference, component: "a", ...props });
1673
+ return /* @__PURE__ */ jsx13(Button2, { ref: reference, component: "a", ...props });
1732
1674
  });
1733
1675
  var CreatedComponent = createLink(Component);
1734
1676
  var RouterButton = (props) => {
1735
- return /* @__PURE__ */ jsx14(CreatedComponent, { ...props });
1677
+ return /* @__PURE__ */ jsx13(CreatedComponent, { ...props });
1736
1678
  };
1737
1679
 
1738
1680
  // src/components/router/RouterGridActionsCellItem.tsx
1739
1681
  import { GridActionsCellItem } from "@mui/x-data-grid-premium";
1740
1682
  import { createLink as createLink2 } from "@tanstack/react-router";
1741
1683
  import React4 from "react";
1742
- import { jsx as jsx15 } from "react/jsx-runtime";
1684
+ import { jsx as jsx14 } from "react/jsx-runtime";
1743
1685
  var Component2 = React4.forwardRef(
1744
1686
  function GridActionsCellItemComponent(props, reference) {
1745
- return /* @__PURE__ */ jsx15(GridActionsCellItem, { ref: reference, component: "a", ...props });
1687
+ return /* @__PURE__ */ jsx14(GridActionsCellItem, { ref: reference, component: "a", ...props });
1746
1688
  }
1747
1689
  );
1748
1690
  var CreatedComponent2 = createLink2(Component2);
1749
1691
  var RouterGridActionsCellItem = (props) => {
1750
- return /* @__PURE__ */ jsx15(CreatedComponent2, { ...props });
1692
+ return /* @__PURE__ */ jsx14(CreatedComponent2, { ...props });
1751
1693
  };
1752
1694
 
1753
1695
  // src/components/router/RouterIconButton.tsx
1754
1696
  import { IconButton as IconButton3 } from "@mui/material";
1755
1697
  import { createLink as createLink3 } from "@tanstack/react-router";
1756
1698
  import React5 from "react";
1757
- import { jsx as jsx16 } from "react/jsx-runtime";
1699
+ import { jsx as jsx15 } from "react/jsx-runtime";
1758
1700
  var Component3 = React5.forwardRef(function IconButtonComponent(props, reference) {
1759
- return /* @__PURE__ */ jsx16(IconButton3, { ref: reference, component: "a", ...props });
1701
+ return /* @__PURE__ */ jsx15(IconButton3, { ref: reference, component: "a", ...props });
1760
1702
  });
1761
1703
  var CreatedComponent3 = createLink3(Component3);
1762
1704
  var RouterIconButton = (props) => {
1763
- return /* @__PURE__ */ jsx16(CreatedComponent3, { ...props });
1705
+ return /* @__PURE__ */ jsx15(CreatedComponent3, { ...props });
1764
1706
  };
1765
1707
 
1766
1708
  // src/components/router/RouterLink.tsx
1767
1709
  import { Link } from "@mui/material";
1768
1710
  import { createLink as createLink4 } from "@tanstack/react-router";
1769
1711
  import React6 from "react";
1770
- import { jsx as jsx17 } from "react/jsx-runtime";
1712
+ import { jsx as jsx16 } from "react/jsx-runtime";
1771
1713
  var Component4 = React6.forwardRef(function LinkComponent(props, reference) {
1772
- return /* @__PURE__ */ jsx17(Link, { ref: reference, ...props });
1714
+ return /* @__PURE__ */ jsx16(Link, { ref: reference, ...props });
1773
1715
  });
1774
1716
  var CreatedComponent4 = createLink4(Component4);
1775
1717
  var RouterLink = (props) => {
1776
- return /* @__PURE__ */ jsx17(CreatedComponent4, { ...props });
1718
+ return /* @__PURE__ */ jsx16(CreatedComponent4, { ...props });
1777
1719
  };
1778
1720
 
1779
1721
  // src/components/router/RouterTab.tsx
1780
1722
  import { Tab } from "@mui/material";
1781
1723
  import { createLink as createLink5 } from "@tanstack/react-router";
1782
1724
  import React7 from "react";
1783
- import { jsx as jsx18 } from "react/jsx-runtime";
1725
+ import { jsx as jsx17 } from "react/jsx-runtime";
1784
1726
  var Component5 = React7.forwardRef(function TabComponent(props, reference) {
1785
- return /* @__PURE__ */ jsx18(Tab, { ref: reference, component: "a", ...props });
1727
+ return /* @__PURE__ */ jsx17(Tab, { ref: reference, component: "a", ...props });
1786
1728
  });
1787
1729
  var CreatedComponent5 = createLink5(Component5);
1788
1730
  var RouterTab = (props) => {
1789
- return /* @__PURE__ */ jsx18(CreatedComponent5, { ...props });
1731
+ return /* @__PURE__ */ jsx17(CreatedComponent5, { ...props });
1790
1732
  };
1791
1733
 
1792
1734
  // src/components/router/RouterListItemButton.tsx
1793
1735
  import { ListItemButton as ListItemButton3 } from "@mui/material";
1794
1736
  import { createLink as createLink6 } from "@tanstack/react-router";
1795
1737
  import React8 from "react";
1796
- import { jsx as jsx19 } from "react/jsx-runtime";
1738
+ import { jsx as jsx18 } from "react/jsx-runtime";
1797
1739
  var Component6 = React8.forwardRef(function ButtonComponent2(props, reference) {
1798
- return /* @__PURE__ */ jsx19(ListItemButton3, { ref: reference, component: "a", ...props });
1740
+ return /* @__PURE__ */ jsx18(ListItemButton3, { ref: reference, component: "a", ...props });
1799
1741
  });
1800
1742
  var CreatedComponent6 = createLink6(Component6);
1801
1743
  var RouterListItemButton = (props) => {
1802
- return /* @__PURE__ */ jsx19(CreatedComponent6, { ...props });
1744
+ return /* @__PURE__ */ jsx18(CreatedComponent6, { ...props });
1803
1745
  };
1804
1746
 
1805
1747
  // src/components/router/RouterNotFound.tsx
1806
- import { Box as Box5, Divider, Typography as Typography5 } from "@mui/material";
1748
+ import { Box as Box4, Divider, Typography as Typography4 } from "@mui/material";
1807
1749
  import { useTranslation as useTranslation4 } from "react-i18next";
1808
- import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
1750
+ import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1809
1751
  function RouterNotFound() {
1810
1752
  const { t: t2 } = useTranslation4();
1811
- return /* @__PURE__ */ jsx20(Box5, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs11(Box5, { display: "flex", alignItems: "center", mb: 4, children: [
1812
- /* @__PURE__ */ jsx20(Typography5, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "404" }),
1813
- /* @__PURE__ */ jsx20(Divider, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1814
- /* @__PURE__ */ jsx20(Typography5, { variant: "h5", component: "span", children: t2("Layout.ThisPageCouldNotBeFound") })
1753
+ return /* @__PURE__ */ jsx19(Box4, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs10(Box4, { display: "flex", alignItems: "center", mb: 4, children: [
1754
+ /* @__PURE__ */ jsx19(Typography4, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "404" }),
1755
+ /* @__PURE__ */ jsx19(Divider, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1756
+ /* @__PURE__ */ jsx19(Typography4, { variant: "h5", component: "span", children: t2("Layout.ThisPageCouldNotBeFound") })
1815
1757
  ] }) });
1816
1758
  }
1817
1759
 
1818
1760
  // src/components/router/RouterError.tsx
1819
- import { Box as Box6, Divider as Divider2, Typography as Typography6 } from "@mui/material";
1820
- import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
1761
+ import { Box as Box5, Divider as Divider2, Typography as Typography5 } from "@mui/material";
1762
+ import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
1821
1763
  var RouterError = ({ error }) => {
1822
- return /* @__PURE__ */ jsx21(Box6, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs12(Box6, { display: "flex", alignItems: "center", mb: 4, children: [
1823
- /* @__PURE__ */ jsx21(Typography6, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: error.name || "500" }),
1824
- /* @__PURE__ */ jsx21(Divider2, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1825
- /* @__PURE__ */ jsx21(Typography6, { variant: "h5", component: "span", children: error.message })
1764
+ return /* @__PURE__ */ jsx20(Box5, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs11(Box5, { display: "flex", alignItems: "center", mb: 4, children: [
1765
+ /* @__PURE__ */ jsx20(Typography5, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: error.name || "500" }),
1766
+ /* @__PURE__ */ jsx20(Divider2, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1767
+ /* @__PURE__ */ jsx20(Typography5, { variant: "h5", component: "span", children: error.message })
1826
1768
  ] }) });
1827
1769
  };
1828
1770
 
@@ -2593,15 +2535,14 @@ var AdapterDayjs = class {
2593
2535
  };
2594
2536
 
2595
2537
  // src/providers/LayoutProvider.tsx
2596
- import { useEffect as useEffect6 } from "react";
2538
+ import { useEffect as useEffect6, useEffectEvent } from "react";
2597
2539
  import { useTranslation as useTranslation7 } from "react-i18next";
2598
2540
  import * as z from "zod";
2599
- import { cs, en } from "zod/locales";
2600
2541
 
2601
2542
  // src/components/core/Layout.tsx
2602
2543
  import Menu3 from "@mui/icons-material/Menu";
2603
2544
  import MenuOpen from "@mui/icons-material/MenuOpen";
2604
- import { AppBar, Box as Box10, CssBaseline, IconButton as IconButton5, InitColorSchemeScript, LinearProgress, Toolbar } from "@mui/material";
2545
+ import { AppBar, Box as Box9, CssBaseline, IconButton as IconButton5, InitColorSchemeScript, LinearProgress, Toolbar } from "@mui/material";
2605
2546
  import { styled as styled2 } from "@mui/material/styles";
2606
2547
  import { useIsFetching, useIsMutating } from "@tanstack/react-query";
2607
2548
  import { Fragment as Fragment7 } from "react";
@@ -2609,7 +2550,7 @@ import useLocalStorageState from "use-local-storage-state";
2609
2550
 
2610
2551
  // src/components/core/navigation/NavigationRail.tsx
2611
2552
  import { useMediaQuery } from "@mui/material";
2612
- import Box8 from "@mui/material/Box";
2553
+ import Box7 from "@mui/material/Box";
2613
2554
  import Drawer from "@mui/material/Drawer";
2614
2555
  import { useTheme as useTheme2 } from "@mui/material/styles";
2615
2556
  import { useNavigate, useRouterState as useRouterState2 } from "@tanstack/react-router";
@@ -2623,7 +2564,7 @@ import { Fragment as Fragment5, useEffect as useEffect5, useState as useState7 }
2623
2564
  // src/components/core/navigation/NavigationListItem.tsx
2624
2565
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
2625
2566
  import Avatar from "@mui/material/Avatar";
2626
- import Box7 from "@mui/material/Box";
2567
+ import Box6 from "@mui/material/Box";
2627
2568
  import Popper from "@mui/material/Popper";
2628
2569
  import ListItem from "@mui/material/ListItem";
2629
2570
  import ListItemButton4 from "@mui/material/ListItemButton";
@@ -2631,10 +2572,10 @@ import ListItemIcon3 from "@mui/material/ListItemIcon";
2631
2572
  import ListItemText3 from "@mui/material/ListItemText";
2632
2573
  import Paper2 from "@mui/material/Paper";
2633
2574
  import { styled } from "@mui/material/styles";
2634
- import Typography7 from "@mui/material/Typography";
2575
+ import Typography6 from "@mui/material/Typography";
2635
2576
  import { Fragment as Fragment3, useMemo as useMemo3, useState as useState6 } from "react";
2636
2577
  import { Collapse } from "@mui/material";
2637
- import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
2578
+ import { Fragment as Fragment4, jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
2638
2579
  var ICON_SIZE = 34;
2639
2580
  var StyledNavButton = styled(ListItemButton4)(({ theme }) => ({
2640
2581
  borderRadius: 8,
@@ -2678,13 +2619,13 @@ var StyledRouterButton = styled(RouterListItemButton)(({ theme }) => ({
2678
2619
  }));
2679
2620
  var IconOrAvatar = ({ item, collapsed }) => {
2680
2621
  if (item.icon || collapsed) {
2681
- return /* @__PURE__ */ jsxs13(Box7, { sx: collapsed ? { position: "absolute", left: "50%", top: "calc(50% - 6px)", transform: "translate(-50%, -50%)" } : {}, children: [
2682
- /* @__PURE__ */ jsxs13(ListItemIcon3, { sx: { display: "flex", alignItems: "center", justifyContent: "center", minWidth: ICON_SIZE }, children: [
2622
+ return /* @__PURE__ */ jsxs12(Box6, { sx: collapsed ? { position: "absolute", left: "50%", top: "calc(50% - 6px)", transform: "translate(-50%, -50%)" } : {}, children: [
2623
+ /* @__PURE__ */ jsxs12(ListItemIcon3, { sx: { display: "flex", alignItems: "center", justifyContent: "center", minWidth: ICON_SIZE }, children: [
2683
2624
  item.icon ?? null,
2684
- !item.icon && collapsed ? /* @__PURE__ */ jsx22(Avatar, { sx: { width: ICON_SIZE - 7, height: ICON_SIZE - 7, fontSize: 12 }, children: item.title }) : null
2625
+ !item.icon && collapsed ? /* @__PURE__ */ jsx21(Avatar, { sx: { width: ICON_SIZE - 7, height: ICON_SIZE - 7, fontSize: 12 }, children: item.title }) : null
2685
2626
  ] }),
2686
- collapsed ? /* @__PURE__ */ jsx22(
2687
- Typography7,
2627
+ collapsed ? /* @__PURE__ */ jsx21(
2628
+ Typography6,
2688
2629
  {
2689
2630
  variant: "caption",
2690
2631
  sx: {
@@ -2707,7 +2648,7 @@ var IconOrAvatar = ({ item, collapsed }) => {
2707
2648
  }
2708
2649
  return null;
2709
2650
  };
2710
- var MiniPopover = ({ open, anchorEl, children }) => /* @__PURE__ */ jsx22(
2651
+ var MiniPopover = ({ open, anchorEl, children }) => /* @__PURE__ */ jsx21(
2711
2652
  Popper,
2712
2653
  {
2713
2654
  open,
@@ -2718,7 +2659,7 @@ var MiniPopover = ({ open, anchorEl, children }) => /* @__PURE__ */ jsx22(
2718
2659
  { name: "preventOverflow", options: { padding: 8 } },
2719
2660
  { name: "flip", options: { fallbackPlacements: ["right-end", "left-start"] } }
2720
2661
  ],
2721
- children: /* @__PURE__ */ jsx22(
2662
+ children: /* @__PURE__ */ jsx21(
2722
2663
  Paper2,
2723
2664
  {
2724
2665
  sx: {
@@ -2760,9 +2701,9 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2760
2701
  disabled,
2761
2702
  sx: { px: 1.4, height: collapsed ? 60 : 48 }
2762
2703
  };
2763
- const buttonContent = /* @__PURE__ */ jsxs13(Fragment4, { children: [
2764
- /* @__PURE__ */ jsx22(IconOrAvatar, { item, collapsed }),
2765
- !collapsed && /* @__PURE__ */ jsx22(
2704
+ const buttonContent = /* @__PURE__ */ jsxs12(Fragment4, { children: [
2705
+ /* @__PURE__ */ jsx21(IconOrAvatar, { item, collapsed }),
2706
+ !collapsed && /* @__PURE__ */ jsx21(
2766
2707
  ListItemText3,
2767
2708
  {
2768
2709
  primary: item.title,
@@ -2770,9 +2711,9 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2770
2711
  sx: { ml: 1.2, flex: 1, minWidth: 0, "& .MuiTypography-root": { whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" } }
2771
2712
  }
2772
2713
  ),
2773
- item.children ? /* @__PURE__ */ jsx22(ExpandMoreIcon, { sx: chevronSx }) : null
2714
+ item.children ? /* @__PURE__ */ jsx21(ExpandMoreIcon, { sx: chevronSx }) : null
2774
2715
  ] });
2775
- const listItem = /* @__PURE__ */ jsxs13(
2716
+ const listItem = /* @__PURE__ */ jsxs12(
2776
2717
  ListItem,
2777
2718
  {
2778
2719
  ...item.children && collapsed ? {
@@ -2786,7 +2727,7 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2786
2727
  } : {},
2787
2728
  sx: { py: 0, px: 1, overflowX: "hidden" },
2788
2729
  children: [
2789
- shouldJustExpand ? /* @__PURE__ */ jsx22(StyledNavButton, { ...buttonProps, onClick: () => onClick?.(item), children: buttonContent }) : /* @__PURE__ */ jsx22(
2730
+ shouldJustExpand ? /* @__PURE__ */ jsx21(StyledNavButton, { ...buttonProps, onClick: () => onClick?.(item), children: buttonContent }) : /* @__PURE__ */ jsx21(
2790
2731
  StyledRouterButton,
2791
2732
  {
2792
2733
  ...buttonProps,
@@ -2798,18 +2739,18 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2798
2739
  children: buttonContent
2799
2740
  }
2800
2741
  ),
2801
- item.children && collapsed ? /* @__PURE__ */ jsx22(MiniPopover, { open: item.title === hoveredPopoverItem, anchorEl: anchorElement, children: renderNested?.(item.children) }) : null
2742
+ item.children && collapsed ? /* @__PURE__ */ jsx21(MiniPopover, { open: item.title === hoveredPopoverItem, anchorEl: anchorElement, children: renderNested?.(item.children) }) : null
2802
2743
  ]
2803
2744
  }
2804
2745
  );
2805
- return /* @__PURE__ */ jsxs13(Fragment3, { children: [
2746
+ return /* @__PURE__ */ jsxs12(Fragment3, { children: [
2806
2747
  listItem,
2807
- item.children && !collapsed ? /* @__PURE__ */ jsx22(Collapse, { in: isOpen, timeout: "auto", unmountOnExit: true, children: renderNested?.(item.children) }) : null
2748
+ item.children && !collapsed ? /* @__PURE__ */ jsx21(Collapse, { in: isOpen, timeout: "auto", unmountOnExit: true, children: renderNested?.(item.children) }) : null
2808
2749
  ] }, item.to);
2809
2750
  };
2810
2751
 
2811
2752
  // src/components/core/navigation/NavigationList.tsx
2812
- import { jsx as jsx23 } from "react/jsx-runtime";
2753
+ import { jsx as jsx22 } from "react/jsx-runtime";
2813
2754
  var isPageItem = (item) => !("kind" in item);
2814
2755
  var isDivider = (item) => "kind" in item && item.kind === "divider";
2815
2756
  var isHeader = (item) => "kind" in item && item.kind === "header";
@@ -2819,7 +2760,7 @@ var NavigationList = ({ subNavigation, depth = 0, collapsed, isPopover, isSideba
2819
2760
  if (collapsed) setOpenKeys([]);
2820
2761
  }, [collapsed]);
2821
2762
  const toggleKey = (key) => setOpenKeys((previous) => previous.includes(key) ? previous.filter((k) => k !== key) : [...previous, key]);
2822
- const renderNested = (children) => /* @__PURE__ */ jsx23(
2763
+ const renderNested = (children) => /* @__PURE__ */ jsx22(
2823
2764
  NavigationList,
2824
2765
  {
2825
2766
  subNavigation: children,
@@ -2832,7 +2773,7 @@ var NavigationList = ({ subNavigation, depth = 0, collapsed, isPopover, isSideba
2832
2773
  }
2833
2774
  );
2834
2775
  const filteredNavigation = subNavigation.filter((nav) => !nav.hidden);
2835
- return /* @__PURE__ */ jsx23(
2776
+ return /* @__PURE__ */ jsx22(
2836
2777
  List3,
2837
2778
  {
2838
2779
  sx: {
@@ -2845,7 +2786,7 @@ var NavigationList = ({ subNavigation, depth = 0, collapsed, isPopover, isSideba
2845
2786
  },
2846
2787
  children: filteredNavigation.map((navItem, index) => {
2847
2788
  if (isHeader(navItem)) {
2848
- return /* @__PURE__ */ jsx23(
2789
+ return /* @__PURE__ */ jsx22(
2849
2790
  ListSubheader,
2850
2791
  {
2851
2792
  sx: {
@@ -2868,13 +2809,13 @@ var NavigationList = ({ subNavigation, depth = 0, collapsed, isPopover, isSideba
2868
2809
  }
2869
2810
  if (isDivider(navItem)) {
2870
2811
  const nextItem = filteredNavigation[index + 1];
2871
- return /* @__PURE__ */ jsx23("li", { children: /* @__PURE__ */ jsx23(Divider3, { sx: { mx: 1, mt: 1, mb: isHeader(nextItem) && !collapsed ? 0 : 1 } }) }, `divider-${depth}-${index}`);
2812
+ return /* @__PURE__ */ jsx22("li", { children: /* @__PURE__ */ jsx22(Divider3, { sx: { mx: 1, mt: 1, mb: isHeader(nextItem) && !collapsed ? 0 : 1 } }) }, `divider-${depth}-${index}`);
2872
2813
  }
2873
2814
  if (!isPageItem(navItem)) return null;
2874
2815
  const key = `item-${depth}-${index}`;
2875
2816
  const uniqueItemKey = `${depth}-${index}-${navItem.title}`;
2876
- if (renderItem) return /* @__PURE__ */ jsx23(Fragment5, { children: renderItem(navItem, { collapsed: !!collapsed }) }, key);
2877
- return /* @__PURE__ */ jsx23(
2817
+ if (renderItem) return /* @__PURE__ */ jsx22(Fragment5, { children: renderItem(navItem, { collapsed: !!collapsed }) }, key);
2818
+ return /* @__PURE__ */ jsx22(
2878
2819
  NavigationListItem,
2879
2820
  {
2880
2821
  item: navItem,
@@ -2895,7 +2836,7 @@ var NavigationList = ({ subNavigation, depth = 0, collapsed, isPopover, isSideba
2895
2836
  };
2896
2837
 
2897
2838
  // src/components/core/navigation/NavigationRail.tsx
2898
- import { jsx as jsx24 } from "react/jsx-runtime";
2839
+ import { jsx as jsx23 } from "react/jsx-runtime";
2899
2840
  var MINI_WIDTH = 84;
2900
2841
  var EXPANDED_WIDTH = 320;
2901
2842
  var TOOLBAR_HEIGHT = 64;
@@ -2904,8 +2845,8 @@ var NavigationRail = ({ navigation, expanded, setExpanded }) => {
2904
2845
  const routerState = useRouterState2();
2905
2846
  const theme = useTheme2();
2906
2847
  const showPermanent = useMediaQuery(theme.breakpoints.up("sm"));
2907
- const drawerContent = (collapsed) => /* @__PURE__ */ jsx24(
2908
- Box8,
2848
+ const drawerContent = (collapsed) => /* @__PURE__ */ jsx23(
2849
+ Box7,
2909
2850
  {
2910
2851
  component: "nav",
2911
2852
  sx: {
@@ -2918,7 +2859,7 @@ var NavigationRail = ({ navigation, expanded, setExpanded }) => {
2918
2859
  overflowX: "hidden",
2919
2860
  pt: navigation[0] && isHeader(navigation[0]) && !collapsed ? 0 : 2
2920
2861
  },
2921
- children: /* @__PURE__ */ jsx24(
2862
+ children: /* @__PURE__ */ jsx23(
2922
2863
  NavigationList,
2923
2864
  {
2924
2865
  subNavigation: navigation,
@@ -2934,7 +2875,7 @@ var NavigationRail = ({ navigation, expanded, setExpanded }) => {
2934
2875
  }
2935
2876
  );
2936
2877
  if (showPermanent)
2937
- return /* @__PURE__ */ jsx24(
2878
+ return /* @__PURE__ */ jsx23(
2938
2879
  Drawer,
2939
2880
  {
2940
2881
  variant: "permanent",
@@ -2952,7 +2893,7 @@ var NavigationRail = ({ navigation, expanded, setExpanded }) => {
2952
2893
  children: drawerContent(!expanded)
2953
2894
  }
2954
2895
  );
2955
- return /* @__PURE__ */ jsx24(Drawer, { open: expanded, onClose: () => setExpanded(false), children: drawerContent(!expanded) });
2896
+ return /* @__PURE__ */ jsx23(Drawer, { open: expanded, onClose: () => setExpanded(false), children: drawerContent(!expanded) });
2956
2897
  };
2957
2898
 
2958
2899
  // src/components/core/ToolbarAccount.tsx
@@ -2966,41 +2907,30 @@ import Login from "@mui/icons-material/Login";
2966
2907
  import Logout from "@mui/icons-material/Logout";
2967
2908
  import SettingsBrightness from "@mui/icons-material/SettingsBrightness";
2968
2909
  import Translate from "@mui/icons-material/Translate";
2969
- import { Avatar as Avatar2, Box as Box9, IconButton as IconButton4, List as List4, ListItem as ListItem2, ListItemButton as ListItemButton5, ListItemIcon as ListItemIcon4, ListItemText as ListItemText4, ListSubheader as ListSubheader2, Menu as Menu2, Typography as Typography8, useColorScheme } from "@mui/material";
2910
+ import { Avatar as Avatar2, Box as Box8, IconButton as IconButton4, List as List4, ListItem as ListItem2, ListItemButton as ListItemButton5, ListItemIcon as ListItemIcon4, ListItemText as ListItemText4, ListSubheader as ListSubheader2, Menu as Menu2, Typography as Typography7, useColorScheme } from "@mui/material";
2970
2911
  import { Fragment as Fragment6, useState as useState8 } from "react";
2971
2912
  import { useTranslation as useTranslation5 } from "react-i18next";
2972
- import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2913
+ import Done from "@mui/icons-material/Done";
2914
+ import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2915
+ var capitalize = (value) => value && value.charAt(0).toUpperCase() + value.slice(1);
2973
2916
  var ToolbarAccount = () => {
2974
2917
  const [anchorElement, setAnchorElement] = useState8();
2975
2918
  const [tab, setTab] = useState8("settings");
2976
2919
  const open = Boolean(anchorElement);
2977
2920
  const { t: t2, i18n } = useTranslation5();
2978
2921
  const { mode, setMode } = useColorScheme();
2979
- const changeLanguage = (newLanguage) => () => {
2980
- i18n.changeLanguage(newLanguage).finally(() => closeMenu());
2981
- };
2982
- const changeMode = (newMode) => () => {
2983
- setMode(newMode);
2984
- closeMenu();
2985
- };
2922
+ const supportedLanguages = (Array.isArray(i18n.options.supportedLngs) ? i18n.options.supportedLngs : []).filter((lng) => lng !== "cimode");
2923
+ const languageDisplayNames = new Intl.DisplayNames([i18n.language], { type: "language" });
2924
+ const colorModes = [
2925
+ { mode: "light", icon: LightMode, label: t2("Layout.Light") },
2926
+ { mode: "dark", icon: DarkMode, label: t2("Layout.Dark") },
2927
+ { mode: "system", icon: SettingsBrightness, label: t2("Layout.System") }
2928
+ ];
2986
2929
  const user = {
2987
2930
  name: "Dalibor Homola",
2988
2931
  employeeId: "C2503017",
2989
2932
  department: "IT"
2990
2933
  };
2991
- const getModeText = () => {
2992
- switch (mode) {
2993
- case "light": {
2994
- return t2("Layout.Light");
2995
- }
2996
- case "dark": {
2997
- return t2("Layout.Dark");
2998
- }
2999
- default: {
3000
- return t2("Layout.System");
3001
- }
3002
- }
3003
- };
3004
2934
  const usernameInitials = () => {
3005
2935
  if (!user.name) return "";
3006
2936
  const splittedName = user.name.split(" ");
@@ -3012,60 +2942,71 @@ var ToolbarAccount = () => {
3012
2942
  setTimeout(() => setTab("settings"), 300);
3013
2943
  };
3014
2944
  const changeTab = (newTab) => () => setTab(newTab);
3015
- const settings = /* @__PURE__ */ jsxs14(List4, { component: "nav", subheader: /* @__PURE__ */ jsx25(ListSubheader2, { sx: { backgroundColor: "transparent" }, children: t2("Layout.Settings") }), children: [
3016
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeTab("theme"), sx: { py: 0.3 }, children: [
3017
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(Brightness4, {}) }),
3018
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.Appearance"), secondary: getModeText() }),
3019
- /* @__PURE__ */ jsx25(ChevronRight, {})
2945
+ const settings = /* @__PURE__ */ jsxs13(List4, { component: "nav", subheader: /* @__PURE__ */ jsx24(ListSubheader2, { sx: { backgroundColor: "transparent" }, children: t2("Layout.Settings") }), children: [
2946
+ /* @__PURE__ */ jsxs13(ListItemButton5, { onClick: changeTab("theme"), sx: { py: 0.3 }, children: [
2947
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: /* @__PURE__ */ jsx24(Brightness4, {}) }),
2948
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: t2("Layout.Appearance"), secondary: colorModes.find((m) => m.mode === mode)?.label }),
2949
+ /* @__PURE__ */ jsx24(ChevronRight, {})
3020
2950
  ] }),
3021
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeTab("language"), sx: { py: 0.3 }, children: [
3022
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(Translate, {}) }),
3023
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.Language"), secondary: i18n.resolvedLanguage === "en" ? "English" : "\u010Ce\u0161tina" }),
3024
- /* @__PURE__ */ jsx25(ChevronRight, {})
2951
+ /* @__PURE__ */ jsxs13(ListItemButton5, { onClick: changeTab("language"), sx: { py: 0.3 }, children: [
2952
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: /* @__PURE__ */ jsx24(Translate, {}) }),
2953
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: t2("Layout.Language"), secondary: capitalize(languageDisplayNames.of(i18n.language)) }),
2954
+ /* @__PURE__ */ jsx24(ChevronRight, {})
3025
2955
  ] })
3026
2956
  ] });
3027
- const theme = /* @__PURE__ */ jsxs14(List4, { subheader: /* @__PURE__ */ jsxs14(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3028
- /* @__PURE__ */ jsx25(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx25(ArrowBack, { fontSize: "small" }) }),
2957
+ const theme = /* @__PURE__ */ jsx24(List4, { subheader: /* @__PURE__ */ jsxs13(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
2958
+ /* @__PURE__ */ jsx24(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx24(ArrowBack, { fontSize: "small" }) }),
3029
2959
  " ",
3030
2960
  t2("Layout.Appearance")
3031
- ] }), children: [
3032
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("light"), disabled: mode === "light", children: [
3033
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(LightMode, {}) }),
3034
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.Light") })
3035
- ] }),
3036
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("dark"), disabled: mode === "dark", children: [
3037
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(DarkMode, {}) }),
3038
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.Dark") })
3039
- ] }),
3040
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("system"), disabled: mode === "system", children: [
3041
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(SettingsBrightness, {}) }),
3042
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.System") })
3043
- ] })
3044
- ] });
3045
- const language = /* @__PURE__ */ jsxs14(List4, { subheader: /* @__PURE__ */ jsxs14(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3046
- /* @__PURE__ */ jsx25(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx25(ArrowBack, { fontSize: "small" }) }),
2961
+ ] }), children: colorModes.map(({ mode: modeValue, icon: Icon, label }) => /* @__PURE__ */ jsxs13(
2962
+ ListItemButton5,
2963
+ {
2964
+ onClick: () => {
2965
+ setMode(modeValue);
2966
+ closeMenu();
2967
+ },
2968
+ selected: mode === modeValue,
2969
+ children: [
2970
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: /* @__PURE__ */ jsx24(Icon, {}) }),
2971
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: label })
2972
+ ]
2973
+ },
2974
+ modeValue
2975
+ )) });
2976
+ const language = /* @__PURE__ */ jsx24(List4, { subheader: /* @__PURE__ */ jsxs13(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
2977
+ /* @__PURE__ */ jsx24(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx24(ArrowBack, { fontSize: "small" }) }),
3047
2978
  " ",
3048
2979
  t2("Layout.Language")
3049
- ] }), children: [
3050
- /* @__PURE__ */ jsx25(ListItemButton5, { onClick: changeLanguage("en"), disabled: i18n.resolvedLanguage === "en", children: /* @__PURE__ */ jsx25(ListItemText4, { primary: "English" }) }),
3051
- /* @__PURE__ */ jsx25(ListItemButton5, { onClick: changeLanguage("cs"), disabled: i18n.resolvedLanguage === "cs", children: /* @__PURE__ */ jsx25(ListItemText4, { primary: "\u010Ce\u0161tina" }) })
3052
- ] });
3053
- return /* @__PURE__ */ jsxs14(Fragment6, { children: [
3054
- /* @__PURE__ */ jsx25(IconButton4, { size: "small", edge: "end", onClick: openMenu, children: user.name ? /* @__PURE__ */ jsx25(Avatar2, { sx: { width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 }, bgcolor: "primary.main" }, children: /* @__PURE__ */ jsx25(Typography8, { variant: "subtitle2", sx: { fontWeight: "bold", lineHeight: 0 }, children: usernameInitials() }) }) : /* @__PURE__ */ jsx25(AccountCircle, { fontSize: "large" }) }),
3055
- /* @__PURE__ */ jsx25(Menu2, { anchorEl: anchorElement, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs14(Box9, { sx: { width: 240 }, children: [
3056
- /* @__PURE__ */ jsx25(List4, { children: user.name ? /* @__PURE__ */ jsxs14(Fragment6, { children: [
3057
- /* @__PURE__ */ jsx25(ListItem2, { children: /* @__PURE__ */ jsx25(ListItemText4, { primary: user.name, secondary: /* @__PURE__ */ jsxs14("span", { children: [
3058
- /* @__PURE__ */ jsx25("span", { children: user.employeeId }),
3059
- /* @__PURE__ */ jsx25("br", {}),
3060
- /* @__PURE__ */ jsx25("span", { children: user.department })
2980
+ ] }), children: supportedLanguages.map(
2981
+ (languageCode) => /* @__PURE__ */ jsxs13(
2982
+ ListItemButton5,
2983
+ {
2984
+ onClick: () => i18n.changeLanguage(languageCode).finally(() => closeMenu()),
2985
+ selected: i18n.resolvedLanguage === languageCode,
2986
+ children: [
2987
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: i18n.resolvedLanguage === languageCode && /* @__PURE__ */ jsx24(Done, {}) }),
2988
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: capitalize(languageDisplayNames.of(languageCode)) })
2989
+ ]
2990
+ },
2991
+ languageCode
2992
+ )
2993
+ ) });
2994
+ return /* @__PURE__ */ jsxs13(Fragment6, { children: [
2995
+ /* @__PURE__ */ jsx24(IconButton4, { size: "small", edge: "end", onClick: openMenu, children: user.name ? /* @__PURE__ */ jsx24(Avatar2, { sx: { width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 }, bgcolor: "primary.main" }, children: /* @__PURE__ */ jsx24(Typography7, { variant: "subtitle2", sx: { fontWeight: "bold", lineHeight: 0 }, children: usernameInitials() }) }) : /* @__PURE__ */ jsx24(AccountCircle, { fontSize: "large" }) }),
2996
+ /* @__PURE__ */ jsx24(Menu2, { anchorEl: anchorElement, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs13(Box8, { sx: { width: 240 }, children: [
2997
+ /* @__PURE__ */ jsx24(List4, { children: user.name ? /* @__PURE__ */ jsxs13(Fragment6, { children: [
2998
+ /* @__PURE__ */ jsx24(ListItem2, { children: /* @__PURE__ */ jsx24(ListItemText4, { primary: user.name, secondary: /* @__PURE__ */ jsxs13("span", { children: [
2999
+ /* @__PURE__ */ jsx24("span", { children: user.employeeId }),
3000
+ /* @__PURE__ */ jsx24("br", {}),
3001
+ /* @__PURE__ */ jsx24("span", { children: user.department })
3061
3002
  ] }) }) }),
3062
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: () => console.log("Logout"), children: [
3063
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(Logout, { color: "error" }) }),
3064
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.Logout") })
3003
+ /* @__PURE__ */ jsxs13(ListItemButton5, { onClick: () => console.log("Logout"), children: [
3004
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: /* @__PURE__ */ jsx24(Logout, { color: "error" }) }),
3005
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: t2("Layout.Logout") })
3065
3006
  ] })
3066
- ] }) : /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: () => console.log("Login"), children: [
3067
- /* @__PURE__ */ jsx25(ListItemIcon4, { children: /* @__PURE__ */ jsx25(Login, { color: "success" }) }),
3068
- /* @__PURE__ */ jsx25(ListItemText4, { primary: t2("Layout.LogIn") })
3007
+ ] }) : /* @__PURE__ */ jsxs13(ListItemButton5, { onClick: () => console.log("Login"), children: [
3008
+ /* @__PURE__ */ jsx24(ListItemIcon4, { children: /* @__PURE__ */ jsx24(Login, { color: "success" }) }),
3009
+ /* @__PURE__ */ jsx24(ListItemText4, { primary: t2("Layout.LogIn") })
3069
3010
  ] }) }),
3070
3011
  tab === "settings" && settings,
3071
3012
  tab === "theme" && theme,
@@ -3075,7 +3016,7 @@ var ToolbarAccount = () => {
3075
3016
  };
3076
3017
 
3077
3018
  // src/components/core/Layout.tsx
3078
- import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
3019
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
3079
3020
  var DrawerHeader = styled2("div")(({ theme }) => ({
3080
3021
  display: "flex",
3081
3022
  alignItems: "center",
@@ -3087,11 +3028,11 @@ var Layout = (props) => {
3087
3028
  const [navigationOpen, setNavigationOpen] = useLocalStorageState("navigationOpen", { defaultServerValue: false });
3088
3029
  const isFetching = !!useIsFetching();
3089
3030
  const isMutating = !!useIsMutating();
3090
- return /* @__PURE__ */ jsxs15(Fragment7, { children: [
3091
- /* @__PURE__ */ jsx26(InitColorSchemeScript, {}),
3092
- /* @__PURE__ */ jsx26(CssBaseline, {}),
3093
- /* @__PURE__ */ jsxs15(Box10, { sx: { display: "flex", height: "100dvh", maxHeight: "100dvh", overflow: "hidden", width: "100%" }, children: [
3094
- /* @__PURE__ */ jsx26(
3031
+ return /* @__PURE__ */ jsxs14(Fragment7, { children: [
3032
+ /* @__PURE__ */ jsx25(InitColorSchemeScript, {}),
3033
+ /* @__PURE__ */ jsx25(CssBaseline, {}),
3034
+ /* @__PURE__ */ jsxs14(Box9, { sx: { display: "flex", height: "100dvh", maxHeight: "100dvh", overflow: "hidden", width: "100%" }, children: [
3035
+ /* @__PURE__ */ jsx25(
3095
3036
  AppBar,
3096
3037
  {
3097
3038
  color: "transparent",
@@ -3101,27 +3042,27 @@ var Layout = (props) => {
3101
3042
  borderColor: theme.vars?.palette.divider,
3102
3043
  boxShadow: "none"
3103
3044
  }),
3104
- children: /* @__PURE__ */ jsxs15(Toolbar, { children: [
3105
- props.navigation && /* @__PURE__ */ jsx26(
3045
+ children: /* @__PURE__ */ jsxs14(Toolbar, { children: [
3046
+ props.navigation && /* @__PURE__ */ jsx25(
3106
3047
  IconButton5,
3107
3048
  {
3108
3049
  onClick: () => setNavigationOpen((previous) => !previous),
3109
3050
  sx: { marginRight: 2 },
3110
- children: navigationOpen ? /* @__PURE__ */ jsx26(MenuOpen, {}) : /* @__PURE__ */ jsx26(Menu3, {})
3051
+ children: navigationOpen ? /* @__PURE__ */ jsx25(MenuOpen, {}) : /* @__PURE__ */ jsx25(Menu3, {})
3111
3052
  }
3112
3053
  ),
3113
- /* @__PURE__ */ jsx26(AppTitle, {}),
3114
- /* @__PURE__ */ jsx26(ToolbarAccount, {})
3054
+ /* @__PURE__ */ jsx25(AppTitle, {}),
3055
+ /* @__PURE__ */ jsx25(ToolbarAccount, {})
3115
3056
  ] })
3116
3057
  }
3117
3058
  ),
3118
- props.navigation && /* @__PURE__ */ jsx26(NavigationRail, { navigation: props.navigation, expanded: navigationOpen ?? false, setExpanded: setNavigationOpen }),
3119
- /* @__PURE__ */ jsxs15(Box10, { component: "main", sx: { flexGrow: 1, display: "flex", flexDirection: "column", minWidth: 0, height: "100%", overflow: "hidden" }, children: [
3120
- /* @__PURE__ */ jsx26(DrawerHeader, {}),
3121
- /* @__PURE__ */ jsx26(Box10, { sx: { flex: 1, overflow: "auto", position: "relative" }, children: props.children })
3059
+ props.navigation && /* @__PURE__ */ jsx25(NavigationRail, { navigation: props.navigation, expanded: navigationOpen ?? false, setExpanded: setNavigationOpen }),
3060
+ /* @__PURE__ */ jsxs14(Box9, { component: "main", sx: { flexGrow: 1, display: "flex", flexDirection: "column", minWidth: 0, height: "100%", overflow: "hidden" }, children: [
3061
+ /* @__PURE__ */ jsx25(DrawerHeader, {}),
3062
+ /* @__PURE__ */ jsx25(Box9, { sx: { flex: 1, overflow: "auto", position: "relative" }, children: props.children })
3122
3063
  ] })
3123
3064
  ] }),
3124
- (isFetching || isMutating) && /* @__PURE__ */ jsx26(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })
3065
+ (isFetching || isMutating) && /* @__PURE__ */ jsx25(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })
3125
3066
  ] });
3126
3067
  };
3127
3068
 
@@ -3882,6 +3823,30 @@ var useGetTheme = (theme) => {
3882
3823
  };
3883
3824
  }
3884
3825
  },
3826
+ MuiDataGrid: {
3827
+ styleOverrides: {
3828
+ root: ({ theme: muiTheme }) => ({
3829
+ "& .MuiDataGrid-cell--editing": {
3830
+ "& .MuiInputBase-root": {
3831
+ height: "100%"
3832
+ }
3833
+ },
3834
+ "& .MuiDataGrid-columnHeaderTitle": {
3835
+ fontWeight: 600
3836
+ },
3837
+ "& .Mui-error": {
3838
+ backgroundColor: muiTheme.palette.error.main,
3839
+ color: muiTheme.palette.error.contrastText
3840
+ },
3841
+ "& .MuiDataGrid-booleanCell[data-value='true']": {
3842
+ color: `${muiTheme.palette.success.main} !important`
3843
+ },
3844
+ "& .MuiDataGrid-booleanCell[data-value='false']": {
3845
+ color: `${muiTheme.palette.error.main} !important`
3846
+ }
3847
+ })
3848
+ }
3849
+ },
3885
3850
  ...theme?.components
3886
3851
  }
3887
3852
  },
@@ -3893,7 +3858,7 @@ var useGetTheme = (theme) => {
3893
3858
 
3894
3859
  // src/providers/DialogsProvider.tsx
3895
3860
  import { useCallback, useId, useMemo as useMemo4, useRef as useRef3, useState as useState9 } from "react";
3896
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
3861
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
3897
3862
  function DialogsProvider({ children, unmountAfter = 1e3 }) {
3898
3863
  const [stack, setStack] = useState9([]);
3899
3864
  const keyPrefix = useId();
@@ -3945,9 +3910,9 @@ function DialogsProvider({ children, unmountAfter = 1e3 }) {
3945
3910
  return dialog;
3946
3911
  });
3947
3912
  const contextValue = useMemo4(() => ({ open: requestDialog, close: closeDialog }), [requestDialog, closeDialog]);
3948
- return /* @__PURE__ */ jsxs16(DialogsContext.Provider, { value: contextValue, children: [
3913
+ return /* @__PURE__ */ jsxs15(DialogsContext.Provider, { value: contextValue, children: [
3949
3914
  children,
3950
- stack.map(({ key, open, Component: Component7, payload, promise }) => /* @__PURE__ */ jsx27(
3915
+ stack.map(({ key, open, Component: Component7, payload, promise }) => /* @__PURE__ */ jsx26(
3951
3916
  Component7,
3952
3917
  {
3953
3918
  payload,
@@ -3962,21 +3927,21 @@ function DialogsProvider({ children, unmountAfter = 1e3 }) {
3962
3927
  }
3963
3928
 
3964
3929
  // src/providers/LayoutProvider.tsx
3965
- import { jsx as jsx28 } from "react/jsx-runtime";
3930
+ import { jsx as jsx27 } from "react/jsx-runtime";
3966
3931
  var LayoutProvider = ({ navigation, theme, children }) => {
3967
3932
  const { i18n } = useTranslation7();
3968
3933
  const createdTheme = useGetTheme(theme);
3934
+ const languageChangedHandler = useEffectEvent(() => {
3935
+ z.config(z.core.locales[i18n.resolvedLanguage]());
3936
+ });
3969
3937
  useEffect6(() => {
3970
- const handler = () => {
3971
- z.config(i18n.resolvedLanguage === "cs" ? cs() : en());
3972
- };
3973
- handler();
3974
- i18n.on("languageChanged", handler);
3938
+ languageChangedHandler();
3939
+ i18n.on("languageChanged", languageChangedHandler);
3975
3940
  return () => {
3976
- i18n.off("languageChanged", handler);
3941
+ i18n.off("languageChanged", languageChangedHandler);
3977
3942
  };
3978
3943
  }, []);
3979
- return /* @__PURE__ */ jsx28(ThemeProvider, { theme: createdTheme, children: /* @__PURE__ */ jsx28(LocalizationProvider, { dateAdapter: AdapterDayjs, adapterLocale: i18n.resolvedLanguage, children: /* @__PURE__ */ jsx28(DialogsProvider, { children: /* @__PURE__ */ jsx28(Layout, { navigation, children }) }) }) });
3944
+ return /* @__PURE__ */ jsx27(ThemeProvider, { theme: createdTheme, children: /* @__PURE__ */ jsx27(LocalizationProvider, { dateAdapter: AdapterDayjs, adapterLocale: i18n.resolvedLanguage, children: /* @__PURE__ */ jsx27(DialogsProvider, { children: /* @__PURE__ */ jsx27(Layout, { navigation, children }) }) }) });
3980
3945
  };
3981
3946
 
3982
3947
  // src/index.ts
@@ -3998,11 +3963,11 @@ var getFieldStatus = (field) => {
3998
3963
  };
3999
3964
 
4000
3965
  // src/components/form/FormAutocomplete.tsx
4001
- import { jsx as jsx29 } from "react/jsx-runtime";
3966
+ import { jsx as jsx28 } from "react/jsx-runtime";
4002
3967
  var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
4003
3968
  const field = useFieldContext();
4004
3969
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4005
- return /* @__PURE__ */ jsx29(
3970
+ return /* @__PURE__ */ jsx28(
4006
3971
  Autocomplete,
4007
3972
  {
4008
3973
  value: field.state.value,
@@ -4011,7 +3976,7 @@ var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
4011
3976
  onBlur: field.handleBlur,
4012
3977
  "aria-label": field.name,
4013
3978
  ...autocompleteProps,
4014
- renderInput: (parameters) => /* @__PURE__ */ jsx29(
3979
+ renderInput: (parameters) => /* @__PURE__ */ jsx28(
4015
3980
  TextField,
4016
3981
  {
4017
3982
  ...parameters,
@@ -4027,15 +3992,15 @@ var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
4027
3992
 
4028
3993
  // src/components/form/FormCheckbox.tsx
4029
3994
  import { Checkbox, FormControl, FormControlLabel, FormHelperText } from "@mui/material";
4030
- import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
3995
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
4031
3996
  var FormCheckbox = (props) => {
4032
3997
  const field = useFieldContext();
4033
3998
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4034
- return /* @__PURE__ */ jsxs17(FormControl, { component: "fieldset", children: [
4035
- /* @__PURE__ */ jsx30(
3999
+ return /* @__PURE__ */ jsxs16(FormControl, { component: "fieldset", children: [
4000
+ /* @__PURE__ */ jsx29(
4036
4001
  FormControlLabel,
4037
4002
  {
4038
- control: /* @__PURE__ */ jsx30(
4003
+ control: /* @__PURE__ */ jsx29(
4039
4004
  Checkbox,
4040
4005
  {
4041
4006
  name: field.name,
@@ -4049,18 +4014,18 @@ var FormCheckbox = (props) => {
4049
4014
  label: props.label ?? ""
4050
4015
  }
4051
4016
  ),
4052
- isTouched && hasError && /* @__PURE__ */ jsx30(FormHelperText, { error: hasError, children: helperText })
4017
+ isTouched && hasError && /* @__PURE__ */ jsx29(FormHelperText, { error: hasError, children: helperText })
4053
4018
  ] });
4054
4019
  };
4055
4020
 
4056
4021
  // src/components/form/FormDatePicker.tsx
4057
4022
  import { DatePicker } from "@mui/x-date-pickers-pro";
4058
4023
  import dayjs2 from "dayjs";
4059
- import { jsx as jsx31 } from "react/jsx-runtime";
4024
+ import { jsx as jsx30 } from "react/jsx-runtime";
4060
4025
  var FormDatePicker = (props) => {
4061
4026
  const field = useFieldContext();
4062
4027
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4063
- return /* @__PURE__ */ jsx31(
4028
+ return /* @__PURE__ */ jsx30(
4064
4029
  DatePicker,
4065
4030
  {
4066
4031
  name: field.name,
@@ -4084,11 +4049,11 @@ var FormDatePicker = (props) => {
4084
4049
  // src/components/form/FormDateTimePicker.tsx
4085
4050
  import { DateTimePicker } from "@mui/x-date-pickers-pro";
4086
4051
  import dayjs3 from "dayjs";
4087
- import { jsx as jsx32 } from "react/jsx-runtime";
4052
+ import { jsx as jsx31 } from "react/jsx-runtime";
4088
4053
  var FormDateTimePicker = (props) => {
4089
4054
  const field = useFieldContext();
4090
4055
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4091
- return /* @__PURE__ */ jsx32(
4056
+ return /* @__PURE__ */ jsx31(
4092
4057
  DateTimePicker,
4093
4058
  {
4094
4059
  name: field.name,
@@ -4112,11 +4077,11 @@ var FormDateTimePicker = (props) => {
4112
4077
  // src/components/form/FormNumberField.tsx
4113
4078
  import { TextField as TextField2 } from "@mui/material";
4114
4079
  import { NumericFormat } from "react-number-format";
4115
- import { jsx as jsx33 } from "react/jsx-runtime";
4080
+ import { jsx as jsx32 } from "react/jsx-runtime";
4116
4081
  var FormNumberField = ({ options, ...props }) => {
4117
4082
  const field = useFieldContext();
4118
4083
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4119
- return /* @__PURE__ */ jsx33(
4084
+ return /* @__PURE__ */ jsx32(
4120
4085
  NumericFormat,
4121
4086
  {
4122
4087
  customInput: TextField2,
@@ -4135,13 +4100,13 @@ var FormNumberField = ({ options, ...props }) => {
4135
4100
 
4136
4101
  // src/components/form/FormRadioGroup.tsx
4137
4102
  import { FormControl as FormControl2, FormControlLabel as FormControlLabel2, FormHelperText as FormHelperText2, FormLabel, Radio, RadioGroup } from "@mui/material";
4138
- import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
4103
+ import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
4139
4104
  var FormRadioGroup = ({ label, options, ...props }) => {
4140
4105
  const field = useFieldContext();
4141
4106
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4142
- return /* @__PURE__ */ jsxs18(FormControl2, { component: "fieldset", children: [
4143
- label && /* @__PURE__ */ jsx34(FormLabel, { component: "legend", children: label }),
4144
- /* @__PURE__ */ jsx34(
4107
+ return /* @__PURE__ */ jsxs17(FormControl2, { component: "fieldset", children: [
4108
+ label && /* @__PURE__ */ jsx33(FormLabel, { component: "legend", children: label }),
4109
+ /* @__PURE__ */ jsx33(
4145
4110
  RadioGroup,
4146
4111
  {
4147
4112
  name: field.name,
@@ -4150,30 +4115,30 @@ var FormRadioGroup = ({ label, options, ...props }) => {
4150
4115
  onBlur: field.handleBlur,
4151
4116
  "aria-label": field.name,
4152
4117
  ...props,
4153
- children: options.map((option) => /* @__PURE__ */ jsx34(
4118
+ children: options.map((option) => /* @__PURE__ */ jsx33(
4154
4119
  FormControlLabel2,
4155
4120
  {
4156
4121
  value: option.value,
4157
- control: /* @__PURE__ */ jsx34(Radio, {}),
4122
+ control: /* @__PURE__ */ jsx33(Radio, {}),
4158
4123
  label: option.label
4159
4124
  },
4160
4125
  option.value
4161
4126
  ))
4162
4127
  }
4163
4128
  ),
4164
- isTouched && hasError && /* @__PURE__ */ jsx34(FormHelperText2, { error: hasError, children: helperText })
4129
+ isTouched && hasError && /* @__PURE__ */ jsx33(FormHelperText2, { error: hasError, children: helperText })
4165
4130
  ] });
4166
4131
  };
4167
4132
 
4168
4133
  // src/components/form/FormSlider.tsx
4169
4134
  import { FormControl as FormControl3, FormHelperText as FormHelperText3, FormLabel as FormLabel2, Slider } from "@mui/material";
4170
- import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
4135
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
4171
4136
  var FormSlider = ({ label, ...props }) => {
4172
4137
  const field = useFieldContext();
4173
4138
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4174
- return /* @__PURE__ */ jsxs19(FormControl3, { component: "fieldset", children: [
4175
- label && /* @__PURE__ */ jsx35(FormLabel2, { children: label }),
4176
- /* @__PURE__ */ jsx35(
4139
+ return /* @__PURE__ */ jsxs18(FormControl3, { component: "fieldset", children: [
4140
+ label && /* @__PURE__ */ jsx34(FormLabel2, { children: label }),
4141
+ /* @__PURE__ */ jsx34(
4177
4142
  Slider,
4178
4143
  {
4179
4144
  name: field.name,
@@ -4184,13 +4149,13 @@ var FormSlider = ({ label, ...props }) => {
4184
4149
  ...props
4185
4150
  }
4186
4151
  ),
4187
- isTouched && hasError && /* @__PURE__ */ jsx35(FormHelperText3, { error: hasError, children: helperText })
4152
+ isTouched && hasError && /* @__PURE__ */ jsx34(FormHelperText3, { error: hasError, children: helperText })
4188
4153
  ] });
4189
4154
  };
4190
4155
 
4191
4156
  // src/components/form/FormSubmitButton.tsx
4192
4157
  import { Button as Button3 } from "@mui/material";
4193
- import { jsx as jsx36 } from "react/jsx-runtime";
4158
+ import { jsx as jsx35 } from "react/jsx-runtime";
4194
4159
  var FormSubmitButton = (props) => {
4195
4160
  const form = useFormContext();
4196
4161
  const handleClick = (event) => {
@@ -4198,7 +4163,7 @@ var FormSubmitButton = (props) => {
4198
4163
  event.stopPropagation();
4199
4164
  form.handleSubmit();
4200
4165
  };
4201
- return /* @__PURE__ */ jsx36(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => /* @__PURE__ */ jsx36(
4166
+ return /* @__PURE__ */ jsx35(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => /* @__PURE__ */ jsx35(
4202
4167
  Button3,
4203
4168
  {
4204
4169
  loading: isSubmitting,
@@ -4213,15 +4178,15 @@ var FormSubmitButton = (props) => {
4213
4178
 
4214
4179
  // src/components/form/FormSwitch.tsx
4215
4180
  import { FormControl as FormControl4, FormControlLabel as FormControlLabel3, FormHelperText as FormHelperText4, Switch } from "@mui/material";
4216
- import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
4181
+ import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
4217
4182
  var FormSwitch = (props) => {
4218
4183
  const field = useFieldContext();
4219
4184
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4220
- return /* @__PURE__ */ jsxs20(FormControl4, { component: "fieldset", children: [
4221
- /* @__PURE__ */ jsx37(
4185
+ return /* @__PURE__ */ jsxs19(FormControl4, { component: "fieldset", children: [
4186
+ /* @__PURE__ */ jsx36(
4222
4187
  FormControlLabel3,
4223
4188
  {
4224
- control: /* @__PURE__ */ jsx37(
4189
+ control: /* @__PURE__ */ jsx36(
4225
4190
  Switch,
4226
4191
  {
4227
4192
  name: field.name,
@@ -4235,17 +4200,17 @@ var FormSwitch = (props) => {
4235
4200
  label: props.label ?? ""
4236
4201
  }
4237
4202
  ),
4238
- isTouched && hasError && /* @__PURE__ */ jsx37(FormHelperText4, { error: hasError, children: helperText })
4203
+ isTouched && hasError && /* @__PURE__ */ jsx36(FormHelperText4, { error: hasError, children: helperText })
4239
4204
  ] });
4240
4205
  };
4241
4206
 
4242
4207
  // src/components/form/FormTextField.tsx
4243
4208
  import { TextField as TextField3 } from "@mui/material";
4244
- import { jsx as jsx38 } from "react/jsx-runtime";
4209
+ import { jsx as jsx37 } from "react/jsx-runtime";
4245
4210
  var FormTextField = (props) => {
4246
4211
  const field = useFieldContext();
4247
4212
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4248
- return /* @__PURE__ */ jsx38(
4213
+ return /* @__PURE__ */ jsx37(
4249
4214
  TextField3,
4250
4215
  {
4251
4216
  name: field.name,
@@ -4290,8 +4255,8 @@ export {
4290
4255
  Dropzone,
4291
4256
  EditableColumnHeader,
4292
4257
  FileViewer,
4258
+ Fullscreen,
4293
4259
  LayoutProvider,
4294
- PageHeader,
4295
4260
  Platform,
4296
4261
  RouterButton,
4297
4262
  RouterError,
@@ -4301,7 +4266,6 @@ export {
4301
4266
  RouterListItemButton,
4302
4267
  RouterNotFound,
4303
4268
  RouterTab,
4304
- TableContainer,
4305
4269
  TypographyWithIcon,
4306
4270
  rootRouteHead,
4307
4271
  t,