wcz-test 4.6.0 → 4.6.1

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.d.ts CHANGED
@@ -13,7 +13,6 @@ import * as _tanstack_react_form from '@tanstack/react-form';
13
13
  import * as _tanstack_form_core from '@tanstack/form-core';
14
14
  export { default as useLocalStorageState } from 'use-local-storage-state';
15
15
  export { useTranslation } from 'react-i18next';
16
- import { TFunction } from 'i18next';
17
16
  export { t } from 'i18next';
18
17
  import * as _tanstack_react_query from '@tanstack/react-query';
19
18
  import { DefinedInitialDataOptions, UseMutationOptions } from '@tanstack/react-query';
@@ -117,7 +116,7 @@ interface RouterErrorProps {
117
116
  }
118
117
  declare const RouterError: FC<RouterErrorProps>;
119
118
 
120
- interface NavigationPageItem extends Pick<LinkOptions, "to">, Partial<Pick<LinkOptions, "href" | "params" | "search">> {
119
+ interface NavigationPageItem extends Partial<Pick<LinkOptions, "to" | "href" | "params" | "search">> {
121
120
  title: string;
122
121
  icon: React.ReactNode;
123
122
  children?: Array<NavigationItem>;
@@ -341,11 +340,6 @@ interface User {
341
340
  category: string;
342
341
  }
343
342
 
344
- interface NavigationParams {
345
- user: User;
346
- t: TFunction<"translation", undefined>;
347
- }
348
-
349
343
  interface EmailAttachment {
350
344
  appName: string;
351
345
  subId: string;
@@ -423,4 +417,4 @@ interface Department {
423
417
  manager: Employee;
424
418
  }
425
419
 
426
- export { ChipInputCell, type Department, type DialogProps, Dropzone, EditableColumnHeader, type Email, type EmailAttachment, type Employee, EmployeeCategoryGroup, EmployeeStatus, type FileMeta, FileViewer, LayoutProvider, type Navigation, type NavigationParams, PageHeader, Platform, RouterButton, RouterError, RouterGridActionsCellItem, RouterIconButton, RouterLink, RouterListItemButton, RouterNotFound, RouterTab, TableContainer, TypographyWithIcon, type User, rootRouteHead, useDeleteFile, useDeleteFiles, useDialogs, useDownloadFile, useFieldContext, useFormContext, useGetFile, useGetFileMetas, useGetFileThumbnail, useLayoutForm, useOpenFile, useUpdateFileMeta, useUploadFile, wczApiClient, withLayoutForm };
420
+ export { ChipInputCell, type Department, type DialogProps, Dropzone, EditableColumnHeader, type Email, type EmailAttachment, type Employee, EmployeeCategoryGroup, EmployeeStatus, type FileMeta, FileViewer, LayoutProvider, type Navigation, PageHeader, Platform, RouterButton, RouterError, RouterGridActionsCellItem, RouterIconButton, RouterLink, RouterListItemButton, RouterNotFound, RouterTab, TableContainer, TypographyWithIcon, type User, rootRouteHead, useDeleteFile, useDeleteFiles, useDialogs, useDownloadFile, useFieldContext, useFormContext, useGetFile, useGetFileMetas, useGetFileThumbnail, useLayoutForm, useOpenFile, useUpdateFileMeta, useUploadFile, wczApiClient, withLayoutForm };
package/dist/index.js CHANGED
@@ -1039,14 +1039,17 @@ var TypographyWithIcon = ({ startIcon, endIcon, children, sx, gutterBottom, ...p
1039
1039
  };
1040
1040
 
1041
1041
  // src/components/core/PageHeader.tsx
1042
- import { CardHeader, Typography as Typography2 } from "@mui/material";
1043
- import { jsx as jsx2 } from "react/jsx-runtime";
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
1044
  var PageHeader = ({ title, action, sx }) => {
1045
- return /* @__PURE__ */ jsx2(CardHeader, { title: /* @__PURE__ */ jsx2(Typography2, { variant: "h4", fontWeight: 600, children: title }), action, sx: { px: 0, ...sx } });
1045
+ return /* @__PURE__ */ jsxs2(Stack2, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { ...sx }, children: [
1046
+ /* @__PURE__ */ jsx2(Typography2, { variant: "h4", fontWeight: 600, children: title }),
1047
+ action && /* @__PURE__ */ jsx2(Box, { children: action })
1048
+ ] });
1046
1049
  };
1047
1050
 
1048
1051
  // src/components/core/TableContainer.tsx
1049
- import { Box } from "@mui/material";
1052
+ import { Box as Box2 } from "@mui/material";
1050
1053
  import { useEffect, useRef, useState } from "react";
1051
1054
  import { jsx as jsx3 } from "react/jsx-runtime";
1052
1055
  var TableContainer = ({ children, sx, ...props }) => {
@@ -1073,7 +1076,7 @@ var TableContainer = ({ children, sx, ...props }) => {
1073
1076
  };
1074
1077
  }, []);
1075
1078
  return /* @__PURE__ */ jsx3(
1076
- Box,
1079
+ Box2,
1077
1080
  {
1078
1081
  ref: reference,
1079
1082
  sx: {
@@ -1085,7 +1088,7 @@ var TableContainer = ({ children, sx, ...props }) => {
1085
1088
  },
1086
1089
  height,
1087
1090
  ...props,
1088
- children: /* @__PURE__ */ jsx3(Box, { sx: (theme) => ({
1091
+ children: /* @__PURE__ */ jsx3(Box2, { sx: (theme) => ({
1089
1092
  flex: 1,
1090
1093
  minHeight: 0,
1091
1094
  height: "100%",
@@ -1117,7 +1120,7 @@ import CloudUpload from "@mui/icons-material/CloudUpload";
1117
1120
  import { Paper, Typography as Typography3, useTheme } from "@mui/material";
1118
1121
  import { useDropzone } from "react-dropzone";
1119
1122
  import { useTranslation } from "react-i18next";
1120
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
1123
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1121
1124
  var baseStyle = {
1122
1125
  flex: 1,
1123
1126
  display: "flex",
@@ -1141,7 +1144,7 @@ var Dropzone = ({ sx, ...props }) => {
1141
1144
  ...isDragAccept ? { borderColor: theme.palette.success.main } : {},
1142
1145
  ...isDragReject ? { borderColor: theme.palette.error.main } : {}
1143
1146
  };
1144
- return /* @__PURE__ */ jsxs2(Paper, { variant: "outlined", ...getRootProps({ style }), sx, children: [
1147
+ return /* @__PURE__ */ jsxs3(Paper, { variant: "outlined", ...getRootProps({ style }), sx, children: [
1145
1148
  /* @__PURE__ */ jsx4("input", { ...getInputProps(), style: { display: "none" } }),
1146
1149
  /* @__PURE__ */ jsx4(CloudUpload, {}),
1147
1150
  /* @__PURE__ */ jsx4(Typography3, { children: t2("Layout.File.DragSomeFilesHereOrClickToSelectThem") })
@@ -1153,7 +1156,7 @@ import { useState as useState5 } from "react";
1153
1156
 
1154
1157
  // src/components/file/fileViewer/FileViewerGrid.tsx
1155
1158
  import MoreVert from "@mui/icons-material/MoreVert";
1156
- import { Box as Box2, IconButton, ImageListItem, ImageListItemBar, Stack as Stack3, Tooltip } from "@mui/material";
1159
+ import { Box as Box3, IconButton, ImageListItem, ImageListItemBar, Stack as Stack4, Tooltip } from "@mui/material";
1157
1160
  import { grey } from "@mui/material/colors";
1158
1161
  import { Fragment, useEffect as useEffect2, useState as useState3 } from "react";
1159
1162
 
@@ -1184,10 +1187,10 @@ import { createContext as createContext2 } from "react";
1184
1187
  var DialogsContext = createContext2({});
1185
1188
 
1186
1189
  // src/hooks/DialogsHooks.tsx
1187
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
1190
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
1188
1191
  function AlertDialog({ open, payload, onClose }) {
1189
1192
  const { t: t2 } = useTranslation2();
1190
- return /* @__PURE__ */ jsxs3(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(), children: [
1193
+ return /* @__PURE__ */ jsxs4(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(), children: [
1191
1194
  /* @__PURE__ */ jsx5(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Alert") }),
1192
1195
  /* @__PURE__ */ jsx5(DialogContent, { children: payload.message }),
1193
1196
  /* @__PURE__ */ jsx5(DialogActions, { children: /* @__PURE__ */ jsx5(Button, { disabled: !open, onClick: () => onClose(), children: t2("Layout.Dialog.Confirm") }) })
@@ -1195,10 +1198,10 @@ function AlertDialog({ open, payload, onClose }) {
1195
1198
  }
1196
1199
  function ConfirmDialog({ open, payload, onClose }) {
1197
1200
  const { t: t2 } = useTranslation2();
1198
- return /* @__PURE__ */ jsxs3(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(false), children: [
1201
+ return /* @__PURE__ */ jsxs4(Dialog, { maxWidth: "xs", fullWidth: true, open, onClose: () => onClose(false), children: [
1199
1202
  /* @__PURE__ */ jsx5(DialogTitle, { children: payload.title ?? t2("Layout.Dialog.Confirm") }),
1200
1203
  /* @__PURE__ */ jsx5(DialogContent, { children: payload.message }),
1201
- /* @__PURE__ */ jsxs3(DialogActions, { children: [
1204
+ /* @__PURE__ */ jsxs4(DialogActions, { children: [
1202
1205
  /* @__PURE__ */ jsx5(Button, { autoFocus: true, disabled: !open, onClick: () => onClose(false), children: payload.cancelText ?? t2("Layout.Dialog.Cancel") }),
1203
1206
  /* @__PURE__ */ jsx5(Button, { disabled: !open, onClick: () => onClose(true), children: t2("Layout.Dialog.Confirm") })
1204
1207
  ] })
@@ -1223,12 +1226,12 @@ import { Upload as TusUpload } from "tus-js-client";
1223
1226
  import { uuidv7 } from "uuidv7";
1224
1227
 
1225
1228
  // src/components/core/AppTitle.tsx
1226
- import { Chip, Stack as Stack2, Typography as Typography4 } from "@mui/material";
1229
+ import { Chip, Stack as Stack3, Typography as Typography4 } from "@mui/material";
1227
1230
  import { useRouterState } from "@tanstack/react-router";
1228
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
1231
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
1229
1232
  var AppTitle = () => {
1230
1233
  const title = useAppTitle();
1231
- return /* @__PURE__ */ jsxs4(Stack2, { direction: "row", alignItems: "center", spacing: 2, flexGrow: 1, children: [
1234
+ return /* @__PURE__ */ jsxs5(Stack3, { direction: "row", alignItems: "center", spacing: 2, flexGrow: 1, children: [
1232
1235
  /* @__PURE__ */ jsx6("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
1233
1236
  /* @__PURE__ */ jsx6(Typography4, { variant: "h6", children: title }),
1234
1237
  import.meta.env.DEV && /* @__PURE__ */ jsx6(Chip, { size: "small", label: "TEST", color: "info" })
@@ -1443,7 +1446,7 @@ var useUploadFile = ({ subId, onSuccess, onError }) => {
1443
1446
  };
1444
1447
 
1445
1448
  // src/components/file/fileViewer/common/ActionsMenu.tsx
1446
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
1449
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1447
1450
  var ActionsMenu = ({ meta, menu, setMenu }) => {
1448
1451
  const { t: t2 } = useTranslation3();
1449
1452
  const { fileMetas, onDelete, actions } = useFile();
@@ -1475,12 +1478,12 @@ var ActionsMenu = ({ meta, menu, setMenu }) => {
1475
1478
  anchorReference: "anchorPosition",
1476
1479
  variant: "menu",
1477
1480
  anchorPosition: menu === null ? void 0 : { top: menu.mouseY, left: menu.mouseX },
1478
- children: /* @__PURE__ */ jsxs5(List, { disablePadding: true, children: [
1479
- actions?.download !== false && /* @__PURE__ */ jsxs5(ListItemButton, { onClick: handleOnDownload, disabled: isDownloading, children: [
1481
+ children: /* @__PURE__ */ jsxs6(List, { disablePadding: true, children: [
1482
+ actions?.download !== false && /* @__PURE__ */ jsxs6(ListItemButton, { onClick: handleOnDownload, disabled: isDownloading, children: [
1480
1483
  /* @__PURE__ */ jsx7(ListItemIcon, { children: /* @__PURE__ */ jsx7(FileDownload, {}) }),
1481
1484
  /* @__PURE__ */ jsx7(ListItemText, { children: t2("Layout.File.Download") })
1482
1485
  ] }),
1483
- actions?.delete !== false && /* @__PURE__ */ jsxs5(ListItemButton, { onClick: handleOnDelete, disabled: isDeleting, children: [
1486
+ actions?.delete !== false && /* @__PURE__ */ jsxs6(ListItemButton, { onClick: handleOnDelete, disabled: isDeleting, children: [
1484
1487
  /* @__PURE__ */ jsx7(ListItemIcon, { children: /* @__PURE__ */ jsx7(Delete, {}) }),
1485
1488
  /* @__PURE__ */ jsx7(ListItemText, { children: t2("Layout.File.Delete") })
1486
1489
  ] })
@@ -1490,11 +1493,11 @@ var ActionsMenu = ({ meta, menu, setMenu }) => {
1490
1493
  };
1491
1494
 
1492
1495
  // src/components/file/fileViewer/FileViewerGrid.tsx
1493
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1496
+ import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1494
1497
  var IMAGE_SIZE = 150;
1495
1498
  var FileViewerGrid = ({ sx, size, itemBar }) => {
1496
1499
  const { fileMetas } = useFile();
1497
- return /* @__PURE__ */ jsx8(Stack3, { direction: "row", spacing: 1, sx: { overflow: "auto", ...sx }, children: fileMetas.map((fileMeta) => /* @__PURE__ */ jsx8(
1500
+ return /* @__PURE__ */ jsx8(Stack4, { direction: "row", spacing: 1, sx: { overflow: "auto", ...sx }, children: fileMetas.map((fileMeta) => /* @__PURE__ */ jsx8(
1498
1501
  GridFileViewerItem,
1499
1502
  {
1500
1503
  meta: fileMeta,
@@ -1536,10 +1539,10 @@ var GridFileViewerItem = ({ meta, size, itemBar }) => {
1536
1539
  }
1537
1540
  }
1538
1541
  };
1539
- return /* @__PURE__ */ jsxs6(Fragment, { children: [
1540
- /* @__PURE__ */ jsxs6(ImageListItem, { sx: { width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }, onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, children: [
1542
+ return /* @__PURE__ */ jsxs7(Fragment, { children: [
1543
+ /* @__PURE__ */ jsxs7(ImageListItem, { sx: { width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }, onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, children: [
1541
1544
  /* @__PURE__ */ jsx8(
1542
- Box2,
1545
+ Box3,
1543
1546
  {
1544
1547
  component: "img",
1545
1548
  src: source,
@@ -1552,7 +1555,7 @@ var GridFileViewerItem = ({ meta, size, itemBar }) => {
1552
1555
  itemBar !== "hidden" && showItemBar && /* @__PURE__ */ jsx8(
1553
1556
  ImageListItemBar,
1554
1557
  {
1555
- title: /* @__PURE__ */ jsx8(Tooltip, { title: meta.fileName, children: /* @__PURE__ */ jsx8(Box2, { children: meta.fileName }) }),
1558
+ title: /* @__PURE__ */ jsx8(Tooltip, { title: meta.fileName, children: /* @__PURE__ */ jsx8(Box3, { children: meta.fileName }) }),
1556
1559
  actionIcon: (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx8(IconButton, { sx: { color: grey[100] }, onClick: openMenu, children: /* @__PURE__ */ jsx8(MoreVert, {}) })
1557
1560
  }
1558
1561
  )
@@ -1568,7 +1571,7 @@ import MoreVert2 from "@mui/icons-material/MoreVert";
1568
1571
  import SmartDisplay from "@mui/icons-material/SmartDisplay";
1569
1572
  import { IconButton as IconButton2, List as List2, ListItemButton as ListItemButton2, ListItemIcon as ListItemIcon2, ListItemText as ListItemText2 } from "@mui/material";
1570
1573
  import { Fragment as Fragment2, useState as useState4 } from "react";
1571
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
1574
+ import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
1572
1575
  var FileViewerList = ({ sx }) => {
1573
1576
  const { fileMetas } = useFile();
1574
1577
  return /* @__PURE__ */ jsx9(List2, { dense: true, sx, children: fileMetas.map(
@@ -1619,8 +1622,8 @@ var ListFileViewerItem = ({ meta }) => {
1619
1622
  }
1620
1623
  }
1621
1624
  };
1622
- return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1623
- /* @__PURE__ */ jsxs7(ListItemButton2, { onClick, children: [
1625
+ return /* @__PURE__ */ jsxs8(Fragment2, { children: [
1626
+ /* @__PURE__ */ jsxs8(ListItemButton2, { onClick, children: [
1624
1627
  /* @__PURE__ */ jsx9(ListItemIcon2, { children: icon() }),
1625
1628
  /* @__PURE__ */ jsx9(ListItemText2, { primary: `${meta.fileName}.${meta.fileExtension}` }),
1626
1629
  (actions?.download !== false || actions.delete !== false) && /* @__PURE__ */ jsx9(IconButton2, { edge: "end", onClick: openMenu, children: /* @__PURE__ */ jsx9(MoreVert2, {}) })
@@ -1631,9 +1634,9 @@ var ListFileViewerItem = ({ meta }) => {
1631
1634
 
1632
1635
  // src/components/file/fileViewer/ImageViewer.tsx
1633
1636
  import Close from "@mui/icons-material/Close";
1634
- import { Box as Box3, Dialog as Dialog2, Fab } from "@mui/material";
1637
+ import { Box as Box4, Dialog as Dialog2, Fab } from "@mui/material";
1635
1638
  import { useEffect as useEffect3 } from "react";
1636
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
1639
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
1637
1640
  var ImageViewer = ({ metaId }) => {
1638
1641
  const { fileMetas, setImageId } = useFile();
1639
1642
  const meta = fileMetas.find((m) => m.id === metaId);
@@ -1676,27 +1679,27 @@ var ImageViewer = ({ metaId }) => {
1676
1679
  };
1677
1680
  const onClose = () => setImageId("");
1678
1681
  if (!metaId) return null;
1679
- return /* @__PURE__ */ jsxs8(Dialog2, { open: true, onClose, maxWidth: "xl", children: [
1680
- /* @__PURE__ */ jsx10(Box3, { component: "img", src: source, alt: metaId, sx: { maxWidth: "100vw", maxHeight: { xs: "calc(100vh - 56px)", sm: "calc(100vh - 64px)" } } }),
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)" } } }),
1681
1684
  /* @__PURE__ */ jsx10(Fab, { size: "medium", onClick: onClose, sx: { position: "fixed", top: 8, right: 8 }, children: /* @__PURE__ */ jsx10(Close, {}) })
1682
1685
  ] });
1683
1686
  };
1684
1687
 
1685
1688
  // src/components/file/FileViewer.tsx
1686
- import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
1689
+ import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
1687
1690
  var FileViewer = ({ subId, onDelete, actions, children }) => {
1688
1691
  const { data: fileMetas = [] } = useGetFileMetas(subId, { enabled: !!subId });
1689
1692
  const [imageId, setImageId] = useState5("");
1690
1693
  const components = { Grid: FileViewerGrid, List: FileViewerList };
1691
1694
  if (fileMetas.length === 0) return null;
1692
- return /* @__PURE__ */ jsxs9(FileContext.Provider, { value: { fileMetas, onDelete, actions, setImageId }, children: [
1695
+ return /* @__PURE__ */ jsxs10(FileContext.Provider, { value: { fileMetas, onDelete, actions, setImageId }, children: [
1693
1696
  children(components),
1694
1697
  /* @__PURE__ */ jsx11(ImageViewer, { metaId: imageId })
1695
1698
  ] });
1696
1699
  };
1697
1700
 
1698
1701
  // src/components/data-grid/ChipInputCell.tsx
1699
- import { Chip as Chip2, Stack as Stack4 } from "@mui/material";
1702
+ import { Chip as Chip2, Stack as Stack5 } from "@mui/material";
1700
1703
  import { jsx as jsx12 } from "react/jsx-runtime";
1701
1704
  var isArray = (value) => Array.isArray(value);
1702
1705
  var ChipInputCell = ({ params, slotProps, getLabel }) => {
@@ -1706,7 +1709,7 @@ var ChipInputCell = ({ params, slotProps, getLabel }) => {
1706
1709
  return value;
1707
1710
  };
1708
1711
  if (isArray(params.value))
1709
- return /* @__PURE__ */ jsx12(Stack4, { direction: "row", alignItems: "center", gap: 1, sx: { overflowX: "auto", height: "100%", width: params.colDef.computedWidth }, children: params.value.map(
1712
+ return /* @__PURE__ */ jsx12(Stack5, { direction: "row", alignItems: "center", gap: 1, sx: { overflowX: "auto", height: "100%", width: params.colDef.computedWidth }, children: params.value.map(
1710
1713
  (value, index) => /* @__PURE__ */ jsx12(Chip2, { label: getLabelValue(value), ...slotProps }, `${index + 1}-chip-input-cell`)
1711
1714
  ) });
1712
1715
  return /* @__PURE__ */ jsx12(Chip2, { label: getLabelValue(params.value), ...slotProps });
@@ -1800,12 +1803,12 @@ var RouterListItemButton = (props) => {
1800
1803
  };
1801
1804
 
1802
1805
  // src/components/router/RouterNotFound.tsx
1803
- import { Box as Box4, Divider, Typography as Typography5 } from "@mui/material";
1806
+ import { Box as Box5, Divider, Typography as Typography5 } from "@mui/material";
1804
1807
  import { useTranslation as useTranslation4 } from "react-i18next";
1805
- import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
1808
+ import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
1806
1809
  function RouterNotFound() {
1807
1810
  const { t: t2 } = useTranslation4();
1808
- return /* @__PURE__ */ jsx20(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: [
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: [
1809
1812
  /* @__PURE__ */ jsx20(Typography5, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "404" }),
1810
1813
  /* @__PURE__ */ jsx20(Divider, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1811
1814
  /* @__PURE__ */ jsx20(Typography5, { variant: "h5", component: "span", children: t2("Layout.ThisPageCouldNotBeFound") })
@@ -1813,10 +1816,10 @@ function RouterNotFound() {
1813
1816
  }
1814
1817
 
1815
1818
  // src/components/router/RouterError.tsx
1816
- import { Box as Box5, Divider as Divider2, Typography as Typography6 } from "@mui/material";
1817
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
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";
1818
1821
  var RouterError = ({ error }) => {
1819
- return /* @__PURE__ */ jsx21(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: [
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: [
1820
1823
  /* @__PURE__ */ jsx21(Typography6, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: error.name || "500" }),
1821
1824
  /* @__PURE__ */ jsx21(Divider2, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1822
1825
  /* @__PURE__ */ jsx21(Typography6, { variant: "h5", component: "span", children: error.message })
@@ -2593,7 +2596,7 @@ import { cs, en } from "zod/locales";
2593
2596
 
2594
2597
  // src/providers/DialogsProvider.tsx
2595
2598
  import { useCallback, useId, useMemo as useMemo3, useRef as useRef3, useState as useState6 } from "react";
2596
- import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2599
+ import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
2597
2600
  function DialogsProvider({ children, unmountAfter = 1e3 }) {
2598
2601
  const [stack, setStack] = useState6([]);
2599
2602
  const keyPrefix = useId();
@@ -2645,7 +2648,7 @@ function DialogsProvider({ children, unmountAfter = 1e3 }) {
2645
2648
  return dialog;
2646
2649
  });
2647
2650
  const contextValue = useMemo3(() => ({ open: requestDialog, close: closeDialog }), [requestDialog, closeDialog]);
2648
- return /* @__PURE__ */ jsxs12(DialogsContext.Provider, { value: contextValue, children: [
2651
+ return /* @__PURE__ */ jsxs13(DialogsContext.Provider, { value: contextValue, children: [
2649
2652
  children,
2650
2653
  stack.map(({ key, open, Component: Component7, payload, promise }) => /* @__PURE__ */ jsx22(
2651
2654
  Component7,
@@ -2678,7 +2681,7 @@ i18n.use(HttpBackend).use(LanguageDetector).use(initReactI18next).init({
2678
2681
  // src/components/core/Layout.tsx
2679
2682
  import Menu3 from "@mui/icons-material/Menu";
2680
2683
  import MenuOpen from "@mui/icons-material/MenuOpen";
2681
- import { AppBar, Box as Box9, CssBaseline, IconButton as IconButton5, InitColorSchemeScript, LinearProgress, Toolbar } from "@mui/material";
2684
+ import { AppBar, Box as Box10, CssBaseline, IconButton as IconButton5, InitColorSchemeScript, LinearProgress, Toolbar } from "@mui/material";
2682
2685
  import { styled as styled2 } from "@mui/material/styles";
2683
2686
  import { useIsFetching, useIsMutating } from "@tanstack/react-query";
2684
2687
  import { Fragment as Fragment7 } from "react";
@@ -2686,7 +2689,7 @@ import useLocalStorageState from "use-local-storage-state";
2686
2689
 
2687
2690
  // src/components/core/navigation/NavigationRail.tsx
2688
2691
  import { useMediaQuery } from "@mui/material";
2689
- import Box7 from "@mui/material/Box";
2692
+ import Box8 from "@mui/material/Box";
2690
2693
  import Drawer from "@mui/material/Drawer";
2691
2694
  import { useTheme as useTheme2 } from "@mui/material/styles";
2692
2695
  import { useNavigate, useRouterState as useRouterState2 } from "@tanstack/react-router";
@@ -2700,7 +2703,7 @@ import { Fragment as Fragment5, useEffect as useEffect5, useState as useState8 }
2700
2703
  // src/components/core/navigation/NavigationListItem.tsx
2701
2704
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
2702
2705
  import Avatar from "@mui/material/Avatar";
2703
- import Box6 from "@mui/material/Box";
2706
+ import Box7 from "@mui/material/Box";
2704
2707
  import Popper from "@mui/material/Popper";
2705
2708
  import ListItem from "@mui/material/ListItem";
2706
2709
  import ListItemButton4 from "@mui/material/ListItemButton";
@@ -2711,7 +2714,7 @@ import { styled } from "@mui/material/styles";
2711
2714
  import Typography7 from "@mui/material/Typography";
2712
2715
  import { Fragment as Fragment3, useMemo as useMemo4, useState as useState7 } from "react";
2713
2716
  import { Collapse } from "@mui/material";
2714
- import { Fragment as Fragment4, jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
2717
+ import { Fragment as Fragment4, jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
2715
2718
  var ICON_SIZE = 34;
2716
2719
  var StyledNavButton = styled(ListItemButton4)(({ theme }) => ({
2717
2720
  borderRadius: 8,
@@ -2755,8 +2758,8 @@ var StyledRouterButton = styled(RouterListItemButton)(({ theme }) => ({
2755
2758
  }));
2756
2759
  var IconOrAvatar = ({ item, collapsed }) => {
2757
2760
  if (item.icon || collapsed) {
2758
- return /* @__PURE__ */ jsxs13(Box6, { sx: collapsed ? { position: "absolute", left: "50%", top: "calc(50% - 6px)", transform: "translate(-50%, -50%)" } : {}, children: [
2759
- /* @__PURE__ */ jsxs13(ListItemIcon3, { sx: { display: "flex", alignItems: "center", justifyContent: "center", minWidth: ICON_SIZE }, children: [
2761
+ return /* @__PURE__ */ jsxs14(Box7, { sx: collapsed ? { position: "absolute", left: "50%", top: "calc(50% - 6px)", transform: "translate(-50%, -50%)" } : {}, children: [
2762
+ /* @__PURE__ */ jsxs14(ListItemIcon3, { sx: { display: "flex", alignItems: "center", justifyContent: "center", minWidth: ICON_SIZE }, children: [
2760
2763
  item.icon ?? null,
2761
2764
  !item.icon && collapsed ? /* @__PURE__ */ jsx23(Avatar, { sx: { width: ICON_SIZE - 7, height: ICON_SIZE - 7, fontSize: 12 }, children: item.title }) : null
2762
2765
  ] }),
@@ -2837,7 +2840,7 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2837
2840
  disabled,
2838
2841
  sx: { px: 1.4, height: collapsed ? 60 : 48 }
2839
2842
  };
2840
- const buttonContent = /* @__PURE__ */ jsxs13(Fragment4, { children: [
2843
+ const buttonContent = /* @__PURE__ */ jsxs14(Fragment4, { children: [
2841
2844
  /* @__PURE__ */ jsx23(IconOrAvatar, { item, collapsed }),
2842
2845
  !collapsed && /* @__PURE__ */ jsx23(
2843
2846
  ListItemText3,
@@ -2849,7 +2852,7 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2849
2852
  ),
2850
2853
  item.children ? /* @__PURE__ */ jsx23(ExpandMoreIcon, { sx: chevronSx }) : null
2851
2854
  ] });
2852
- const listItem = /* @__PURE__ */ jsxs13(
2855
+ const listItem = /* @__PURE__ */ jsxs14(
2853
2856
  ListItem,
2854
2857
  {
2855
2858
  ...item.children && collapsed ? {
@@ -2878,7 +2881,7 @@ var NavigationListItem = ({ item, isOpen, selected, disabled, collapsed, isSideb
2878
2881
  ]
2879
2882
  }
2880
2883
  );
2881
- return /* @__PURE__ */ jsxs13(Fragment3, { children: [
2884
+ return /* @__PURE__ */ jsxs14(Fragment3, { children: [
2882
2885
  listItem,
2883
2886
  item.children && !collapsed ? /* @__PURE__ */ jsx23(Collapse, { in: isOpen, timeout: "auto", unmountOnExit: true, children: renderNested?.(item.children) }) : null
2884
2887
  ] }, item.to);
@@ -2979,7 +2982,7 @@ var NavigationRail = ({ navigation, expanded, setExpanded }) => {
2979
2982
  const theme = useTheme2();
2980
2983
  const showPermanent = useMediaQuery(theme.breakpoints.up("sm"));
2981
2984
  const drawerContent = (collapsed) => /* @__PURE__ */ jsx25(
2982
- Box7,
2985
+ Box8,
2983
2986
  {
2984
2987
  component: "nav",
2985
2988
  sx: {
@@ -3037,10 +3040,10 @@ import Login from "@mui/icons-material/Login";
3037
3040
  import Logout from "@mui/icons-material/Logout";
3038
3041
  import SettingsBrightness from "@mui/icons-material/SettingsBrightness";
3039
3042
  import Translate from "@mui/icons-material/Translate";
3040
- 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 Typography8, useColorScheme } from "@mui/material";
3043
+ 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";
3041
3044
  import { Fragment as Fragment6, useState as useState9 } from "react";
3042
3045
  import { useTranslation as useTranslation5 } from "react-i18next";
3043
- import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
3046
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
3044
3047
  var ToolbarAccount = () => {
3045
3048
  const [anchorElement, setAnchorElement] = useState9();
3046
3049
  const [tab, setTab] = useState9("settings");
@@ -3083,37 +3086,37 @@ var ToolbarAccount = () => {
3083
3086
  setTimeout(() => setTab("settings"), 300);
3084
3087
  };
3085
3088
  const changeTab = (newTab) => () => setTab(newTab);
3086
- const settings = /* @__PURE__ */ jsxs14(List4, { component: "nav", subheader: /* @__PURE__ */ jsx26(ListSubheader2, { sx: { backgroundColor: "transparent" }, children: t2("Layout.Settings") }), children: [
3087
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeTab("theme"), sx: { py: 0.3 }, children: [
3089
+ const settings = /* @__PURE__ */ jsxs15(List4, { component: "nav", subheader: /* @__PURE__ */ jsx26(ListSubheader2, { sx: { backgroundColor: "transparent" }, children: t2("Layout.Settings") }), children: [
3090
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: changeTab("theme"), sx: { py: 0.3 }, children: [
3088
3091
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(Brightness4, {}) }),
3089
3092
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.Appearance"), secondary: getModeText() }),
3090
3093
  /* @__PURE__ */ jsx26(ChevronRight, {})
3091
3094
  ] }),
3092
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeTab("language"), sx: { py: 0.3 }, children: [
3095
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: changeTab("language"), sx: { py: 0.3 }, children: [
3093
3096
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(Translate, {}) }),
3094
3097
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.Language"), secondary: i18n2.resolvedLanguage === "en" ? "English" : "\u010Ce\u0161tina" }),
3095
3098
  /* @__PURE__ */ jsx26(ChevronRight, {})
3096
3099
  ] })
3097
3100
  ] });
3098
- const theme = /* @__PURE__ */ jsxs14(List4, { subheader: /* @__PURE__ */ jsxs14(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3101
+ const theme = /* @__PURE__ */ jsxs15(List4, { subheader: /* @__PURE__ */ jsxs15(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3099
3102
  /* @__PURE__ */ jsx26(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx26(ArrowBack, { fontSize: "small" }) }),
3100
3103
  " ",
3101
3104
  t2("Layout.Appearance")
3102
3105
  ] }), children: [
3103
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("light"), disabled: mode === "light", children: [
3106
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: changeMode("light"), disabled: mode === "light", children: [
3104
3107
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(LightMode, {}) }),
3105
3108
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.Light") })
3106
3109
  ] }),
3107
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("dark"), disabled: mode === "dark", children: [
3110
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: changeMode("dark"), disabled: mode === "dark", children: [
3108
3111
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(DarkMode, {}) }),
3109
3112
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.Dark") })
3110
3113
  ] }),
3111
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: changeMode("system"), disabled: mode === "system", children: [
3114
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: changeMode("system"), disabled: mode === "system", children: [
3112
3115
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(SettingsBrightness, {}) }),
3113
3116
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.System") })
3114
3117
  ] })
3115
3118
  ] });
3116
- const language = /* @__PURE__ */ jsxs14(List4, { subheader: /* @__PURE__ */ jsxs14(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3119
+ const language = /* @__PURE__ */ jsxs15(List4, { subheader: /* @__PURE__ */ jsxs15(ListSubheader2, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
3117
3120
  /* @__PURE__ */ jsx26(IconButton4, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx26(ArrowBack, { fontSize: "small" }) }),
3118
3121
  " ",
3119
3122
  t2("Layout.Language")
@@ -3121,20 +3124,20 @@ var ToolbarAccount = () => {
3121
3124
  /* @__PURE__ */ jsx26(ListItemButton5, { onClick: changeLanguage("en"), disabled: i18n2.resolvedLanguage === "en", children: /* @__PURE__ */ jsx26(ListItemText4, { primary: "English" }) }),
3122
3125
  /* @__PURE__ */ jsx26(ListItemButton5, { onClick: changeLanguage("cs"), disabled: i18n2.resolvedLanguage === "cs", children: /* @__PURE__ */ jsx26(ListItemText4, { primary: "\u010Ce\u0161tina" }) })
3123
3126
  ] });
3124
- return /* @__PURE__ */ jsxs14(Fragment6, { children: [
3127
+ return /* @__PURE__ */ jsxs15(Fragment6, { children: [
3125
3128
  /* @__PURE__ */ jsx26(IconButton4, { size: "small", edge: "end", onClick: openMenu, children: user.name ? /* @__PURE__ */ jsx26(Avatar2, { sx: { width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 }, bgcolor: "primary.main" }, children: /* @__PURE__ */ jsx26(Typography8, { variant: "subtitle2", sx: { fontWeight: "bold", lineHeight: 0 }, children: usernameInitials() }) }) : /* @__PURE__ */ jsx26(AccountCircle, { fontSize: "large" }) }),
3126
- /* @__PURE__ */ jsx26(Menu2, { anchorEl: anchorElement, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs14(Box8, { sx: { width: 240 }, children: [
3127
- /* @__PURE__ */ jsx26(List4, { children: user.name ? /* @__PURE__ */ jsxs14(Fragment6, { children: [
3128
- /* @__PURE__ */ jsx26(ListItem2, { children: /* @__PURE__ */ jsx26(ListItemText4, { primary: user.name, secondary: /* @__PURE__ */ jsxs14("span", { children: [
3129
+ /* @__PURE__ */ jsx26(Menu2, { anchorEl: anchorElement, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs15(Box9, { sx: { width: 240 }, children: [
3130
+ /* @__PURE__ */ jsx26(List4, { children: user.name ? /* @__PURE__ */ jsxs15(Fragment6, { children: [
3131
+ /* @__PURE__ */ jsx26(ListItem2, { children: /* @__PURE__ */ jsx26(ListItemText4, { primary: user.name, secondary: /* @__PURE__ */ jsxs15("span", { children: [
3129
3132
  /* @__PURE__ */ jsx26("span", { children: user.employeeId }),
3130
3133
  /* @__PURE__ */ jsx26("br", {}),
3131
3134
  /* @__PURE__ */ jsx26("span", { children: user.department })
3132
3135
  ] }) }) }),
3133
- /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: () => console.log("Logout"), children: [
3136
+ /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: () => console.log("Logout"), children: [
3134
3137
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(Logout, { color: "error" }) }),
3135
3138
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.Logout") })
3136
3139
  ] })
3137
- ] }) : /* @__PURE__ */ jsxs14(ListItemButton5, { onClick: () => console.log("Login"), children: [
3140
+ ] }) : /* @__PURE__ */ jsxs15(ListItemButton5, { onClick: () => console.log("Login"), children: [
3138
3141
  /* @__PURE__ */ jsx26(ListItemIcon4, { children: /* @__PURE__ */ jsx26(Login, { color: "success" }) }),
3139
3142
  /* @__PURE__ */ jsx26(ListItemText4, { primary: t2("Layout.LogIn") })
3140
3143
  ] }) }),
@@ -3146,7 +3149,7 @@ var ToolbarAccount = () => {
3146
3149
  };
3147
3150
 
3148
3151
  // src/components/core/Layout.tsx
3149
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
3152
+ import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
3150
3153
  var DrawerHeader = styled2("div")(({ theme }) => ({
3151
3154
  display: "flex",
3152
3155
  alignItems: "center",
@@ -3158,10 +3161,10 @@ var Layout = (props) => {
3158
3161
  const [navigationOpen, setNavigationOpen] = useLocalStorageState("navigationOpen", { defaultServerValue: false });
3159
3162
  const isFetching = !!useIsFetching();
3160
3163
  const isMutating = !!useIsMutating();
3161
- return /* @__PURE__ */ jsxs15(Fragment7, { children: [
3164
+ return /* @__PURE__ */ jsxs16(Fragment7, { children: [
3162
3165
  /* @__PURE__ */ jsx27(InitColorSchemeScript, {}),
3163
3166
  /* @__PURE__ */ jsx27(CssBaseline, {}),
3164
- /* @__PURE__ */ jsxs15(Box9, { sx: { display: "flex", height: "100dvh", maxHeight: "100dvh", overflow: "hidden", width: "100%" }, children: [
3167
+ /* @__PURE__ */ jsxs16(Box10, { sx: { display: "flex", height: "100dvh", maxHeight: "100dvh", overflow: "hidden", width: "100%" }, children: [
3165
3168
  /* @__PURE__ */ jsx27(
3166
3169
  AppBar,
3167
3170
  {
@@ -3172,7 +3175,7 @@ var Layout = (props) => {
3172
3175
  borderColor: theme.vars?.palette.divider,
3173
3176
  boxShadow: "none"
3174
3177
  }),
3175
- children: /* @__PURE__ */ jsxs15(Toolbar, { children: [
3178
+ children: /* @__PURE__ */ jsxs16(Toolbar, { children: [
3176
3179
  props.navigation && /* @__PURE__ */ jsx27(
3177
3180
  IconButton5,
3178
3181
  {
@@ -3187,9 +3190,9 @@ var Layout = (props) => {
3187
3190
  }
3188
3191
  ),
3189
3192
  props.navigation && /* @__PURE__ */ jsx27(NavigationRail, { navigation: props.navigation, expanded: navigationOpen ?? false, setExpanded: setNavigationOpen }),
3190
- /* @__PURE__ */ jsxs15(Box9, { component: "main", sx: { flexGrow: 1, display: "flex", flexDirection: "column", minWidth: 0, height: "100%", overflow: "hidden" }, children: [
3193
+ /* @__PURE__ */ jsxs16(Box10, { component: "main", sx: { flexGrow: 1, display: "flex", flexDirection: "column", minWidth: 0, height: "100%", overflow: "hidden" }, children: [
3191
3194
  /* @__PURE__ */ jsx27(DrawerHeader, {}),
3192
- /* @__PURE__ */ jsx27(Box9, { sx: { flex: 1, overflow: "auto", position: "relative" }, children: props.children })
3195
+ /* @__PURE__ */ jsx27(Box10, { sx: { flex: 1, overflow: "auto", position: "relative" }, children: props.children })
3193
3196
  ] })
3194
3197
  ] }),
3195
3198
  (isFetching || isMutating) && /* @__PURE__ */ jsx27(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })
@@ -3970,6 +3973,7 @@ var LayoutProvider = ({ navigation, theme, children }) => {
3970
3973
  const handler = () => {
3971
3974
  z.config(default2.resolvedLanguage === "cs" ? cs() : en());
3972
3975
  };
3976
+ handler();
3973
3977
  default2.on("languageChanged", handler);
3974
3978
  return () => {
3975
3979
  default2.off("languageChanged", handler);
@@ -4026,11 +4030,11 @@ var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
4026
4030
 
4027
4031
  // src/components/form/FormCheckbox.tsx
4028
4032
  import { Checkbox, FormControl, FormControlLabel, FormHelperText } from "@mui/material";
4029
- import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
4033
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
4030
4034
  var FormCheckbox = (props) => {
4031
4035
  const field = useFieldContext();
4032
4036
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4033
- return /* @__PURE__ */ jsxs16(FormControl, { component: "fieldset", children: [
4037
+ return /* @__PURE__ */ jsxs17(FormControl, { component: "fieldset", children: [
4034
4038
  /* @__PURE__ */ jsx30(
4035
4039
  FormControlLabel,
4036
4040
  {
@@ -4134,11 +4138,11 @@ var FormNumberField = ({ options, ...props }) => {
4134
4138
 
4135
4139
  // src/components/form/FormRadioGroup.tsx
4136
4140
  import { FormControl as FormControl2, FormControlLabel as FormControlLabel2, FormHelperText as FormHelperText2, FormLabel, Radio, RadioGroup } from "@mui/material";
4137
- import { jsx as jsx34, jsxs as jsxs17 } from "react/jsx-runtime";
4141
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
4138
4142
  var FormRadioGroup = ({ label, options, ...props }) => {
4139
4143
  const field = useFieldContext();
4140
4144
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4141
- return /* @__PURE__ */ jsxs17(FormControl2, { component: "fieldset", children: [
4145
+ return /* @__PURE__ */ jsxs18(FormControl2, { component: "fieldset", children: [
4142
4146
  label && /* @__PURE__ */ jsx34(FormLabel, { component: "legend", children: label }),
4143
4147
  /* @__PURE__ */ jsx34(
4144
4148
  RadioGroup,
@@ -4166,11 +4170,11 @@ var FormRadioGroup = ({ label, options, ...props }) => {
4166
4170
 
4167
4171
  // src/components/form/FormSlider.tsx
4168
4172
  import { FormControl as FormControl3, FormHelperText as FormHelperText3, FormLabel as FormLabel2, Slider } from "@mui/material";
4169
- import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
4173
+ import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
4170
4174
  var FormSlider = ({ label, ...props }) => {
4171
4175
  const field = useFieldContext();
4172
4176
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4173
- return /* @__PURE__ */ jsxs18(FormControl3, { component: "fieldset", children: [
4177
+ return /* @__PURE__ */ jsxs19(FormControl3, { component: "fieldset", children: [
4174
4178
  label && /* @__PURE__ */ jsx35(FormLabel2, { children: label }),
4175
4179
  /* @__PURE__ */ jsx35(
4176
4180
  Slider,
@@ -4212,11 +4216,11 @@ var FormSubmitButton = (props) => {
4212
4216
 
4213
4217
  // src/components/form/FormSwitch.tsx
4214
4218
  import { FormControl as FormControl4, FormControlLabel as FormControlLabel3, FormHelperText as FormHelperText4, Switch } from "@mui/material";
4215
- import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
4219
+ import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
4216
4220
  var FormSwitch = (props) => {
4217
4221
  const field = useFieldContext();
4218
4222
  const { isTouched, hasError, helperText } = getFieldStatus(field);
4219
- return /* @__PURE__ */ jsxs19(FormControl4, { component: "fieldset", children: [
4223
+ return /* @__PURE__ */ jsxs20(FormControl4, { component: "fieldset", children: [
4220
4224
  /* @__PURE__ */ jsx37(
4221
4225
  FormControlLabel3,
4222
4226
  {