wcz-test 2.7.0 → 2.8.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
@@ -1067,57 +1067,79 @@ import { Button } from "@mui/material";
1067
1067
  import { createLink } from "@tanstack/react-router";
1068
1068
  import React from "react";
1069
1069
  import { jsx as jsx4 } from "react/jsx-runtime";
1070
- var MUIButtonLinkComponent = React.forwardRef((props, ref) => /* @__PURE__ */ jsx4(Button, { ref, component: "a", ...props }));
1071
- var CreatedButtonLinkComponent = createLink(MUIButtonLinkComponent);
1070
+ var Component = React.forwardRef((props, ref) => /* @__PURE__ */ jsx4(Button, { ref, component: "a", ...props }));
1071
+ var CreatedComponent = createLink(Component);
1072
1072
  var RouterButton = (props) => {
1073
- return /* @__PURE__ */ jsx4(CreatedButtonLinkComponent, { preload: "intent", ...props });
1073
+ return /* @__PURE__ */ jsx4(CreatedComponent, { preload: "intent", ...props });
1074
1074
  };
1075
1075
 
1076
- // src/components/router/RouterLink.tsx
1077
- import { Link } from "@mui/material";
1076
+ // src/components/router/RouterGridActionsCellItem.tsx
1077
+ import { GridActionsCellItem } from "@mui/x-data-grid-premium";
1078
1078
  import { createLink as createLink2 } from "@tanstack/react-router";
1079
1079
  import React2 from "react";
1080
1080
  import { jsx as jsx5 } from "react/jsx-runtime";
1081
- var MUILinkComponent = React2.forwardRef(
1082
- (props, ref) => /* @__PURE__ */ jsx5(Link, { ref, ...props })
1081
+ var Component2 = React2.forwardRef(
1082
+ (props, ref) => /* @__PURE__ */ jsx5(GridActionsCellItem, { ref, component: "a", ...props })
1083
1083
  );
1084
- var CreatedLinkComponent = createLink2(MUILinkComponent);
1085
- var RouterLink = (props) => {
1086
- return /* @__PURE__ */ jsx5(CreatedLinkComponent, { preload: "intent", ...props });
1084
+ var CreatedComponent2 = createLink2(Component2);
1085
+ var RouterGridActionsCellItem = (props) => {
1086
+ return /* @__PURE__ */ jsx5(CreatedComponent2, { preload: "intent", ...props });
1087
1087
  };
1088
1088
 
1089
- // src/components/router/RouterTab.tsx
1090
- import { Tab } from "@mui/material";
1089
+ // src/components/router/RouterIconButton.tsx
1090
+ import { IconButton } from "@mui/material";
1091
1091
  import { createLink as createLink3 } from "@tanstack/react-router";
1092
1092
  import React3 from "react";
1093
1093
  import { jsx as jsx6 } from "react/jsx-runtime";
1094
- var MUITabLinkComponent = React3.forwardRef((props, ref) => /* @__PURE__ */ jsx6(Tab, { ref, component: "a", ...props }));
1095
- var CreatedTabLinkComponent = createLink3(MUITabLinkComponent);
1094
+ var Component3 = React3.forwardRef((props, ref) => /* @__PURE__ */ jsx6(IconButton, { ref, component: "a", ...props }));
1095
+ var CreatedComponent3 = createLink3(Component3);
1096
+ var RouterIconButton = (props) => {
1097
+ return /* @__PURE__ */ jsx6(CreatedComponent3, { preload: "intent", ...props });
1098
+ };
1099
+
1100
+ // src/components/router/RouterLink.tsx
1101
+ import { Link } from "@mui/material";
1102
+ import { createLink as createLink4 } from "@tanstack/react-router";
1103
+ import React4 from "react";
1104
+ import { jsx as jsx7 } from "react/jsx-runtime";
1105
+ var Component4 = React4.forwardRef((props, ref) => /* @__PURE__ */ jsx7(Link, { ref, ...props }));
1106
+ var CreatedComponent4 = createLink4(Component4);
1107
+ var RouterLink = (props) => {
1108
+ return /* @__PURE__ */ jsx7(CreatedComponent4, { preload: "intent", ...props });
1109
+ };
1110
+
1111
+ // src/components/router/RouterTab.tsx
1112
+ import { Tab } from "@mui/material";
1113
+ import { createLink as createLink5 } from "@tanstack/react-router";
1114
+ import React5 from "react";
1115
+ import { jsx as jsx8 } from "react/jsx-runtime";
1116
+ var Component5 = React5.forwardRef((props, ref) => /* @__PURE__ */ jsx8(Tab, { ref, component: "a", ...props }));
1117
+ var CreatedComponent5 = createLink5(Component5);
1096
1118
  var RouterTab = (props) => {
1097
- return /* @__PURE__ */ jsx6(CreatedTabLinkComponent, { preload: "intent", ...props });
1119
+ return /* @__PURE__ */ jsx8(CreatedComponent5, { preload: "intent", ...props });
1098
1120
  };
1099
1121
 
1100
1122
  // src/components/router/RouterNotFound.tsx
1101
1123
  import { Box, Divider, Typography as Typography2 } from "@mui/material";
1102
1124
  import { useTranslation } from "react-i18next";
1103
- import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
1125
+ import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
1104
1126
  function RouterNotFound() {
1105
1127
  const { t } = useTranslation();
1106
- return /* @__PURE__ */ jsx7(Box, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs2(Box, { display: "flex", alignItems: "center", mb: 4, children: [
1107
- /* @__PURE__ */ jsx7(Typography2, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "404" }),
1108
- /* @__PURE__ */ jsx7(Divider, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1109
- /* @__PURE__ */ jsx7(Typography2, { variant: "h5", component: "span", children: t("Layout.ThisPageCouldNotBeFound") })
1128
+ return /* @__PURE__ */ jsx9(Box, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs2(Box, { display: "flex", alignItems: "center", mb: 4, children: [
1129
+ /* @__PURE__ */ jsx9(Typography2, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "404" }),
1130
+ /* @__PURE__ */ jsx9(Divider, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1131
+ /* @__PURE__ */ jsx9(Typography2, { variant: "h5", component: "span", children: t("Layout.ThisPageCouldNotBeFound") })
1110
1132
  ] }) });
1111
1133
  }
1112
1134
 
1113
1135
  // src/components/router/RouterError.tsx
1114
1136
  import { Box as Box2, Divider as Divider2, Typography as Typography3 } from "@mui/material";
1115
- import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
1137
+ import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
1116
1138
  var RouterError = ({ error }) => {
1117
- return /* @__PURE__ */ jsx8(Box2, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs3(Box2, { display: "flex", alignItems: "center", mb: 4, children: [
1118
- /* @__PURE__ */ jsx8(Typography3, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "500" }),
1119
- /* @__PURE__ */ jsx8(Divider2, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1120
- /* @__PURE__ */ jsx8(Typography3, { variant: "h5", component: "span", children: error.message })
1139
+ return /* @__PURE__ */ jsx10(Box2, { height: "100vh", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", textAlign: "center", px: 2, children: /* @__PURE__ */ jsxs3(Box2, { display: "flex", alignItems: "center", mb: 4, children: [
1140
+ /* @__PURE__ */ jsx10(Typography3, { variant: "h3", component: "span", fontWeight: 500, sx: { lineHeight: 1 }, children: "500" }),
1141
+ /* @__PURE__ */ jsx10(Divider2, { orientation: "vertical", flexItem: true, sx: { mx: 3 } }),
1142
+ /* @__PURE__ */ jsx10(Typography3, { variant: "h5", component: "span", children: error.message })
1121
1143
  ] }) });
1122
1144
  };
1123
1145
 
@@ -1151,12 +1173,14 @@ function _objectWithoutPropertiesLoose(r, e) {
1151
1173
 
1152
1174
  // node_modules/@mui/x-date-pickers/esm/LocalizationProvider/LocalizationProvider.js
1153
1175
  var import_prop_types = __toESM(require_prop_types(), 1);
1154
- import * as React4 from "react";
1176
+ import * as React6 from "react";
1155
1177
  import { useThemeProps } from "@mui/material/styles";
1156
1178
  import { jsx as _jsx } from "react/jsx-runtime";
1157
1179
  var _excluded = ["localeText"];
1158
- var MuiPickersAdapterContext = /* @__PURE__ */ React4.createContext(null);
1159
- if (process.env.NODE_ENV !== "production") MuiPickersAdapterContext.displayName = "MuiPickersAdapterContext";
1180
+ var MuiPickersAdapterContext = /* @__PURE__ */ React6.createContext(null);
1181
+ if (process.env.NODE_ENV !== "production") {
1182
+ MuiPickersAdapterContext.displayName = "MuiPickersAdapterContext";
1183
+ }
1160
1184
  var LocalizationProvider = function LocalizationProvider2(inProps) {
1161
1185
  const {
1162
1186
  localeText: inLocaleText
@@ -1164,7 +1188,7 @@ var LocalizationProvider = function LocalizationProvider2(inProps) {
1164
1188
  const {
1165
1189
  utils: parentUtils,
1166
1190
  localeText: parentLocaleText
1167
- } = React4.useContext(MuiPickersAdapterContext) ?? {
1191
+ } = React6.useContext(MuiPickersAdapterContext) ?? {
1168
1192
  utils: void 0,
1169
1193
  localeText: void 0
1170
1194
  };
@@ -1182,8 +1206,8 @@ var LocalizationProvider = function LocalizationProvider2(inProps) {
1182
1206
  adapterLocale,
1183
1207
  localeText: themeLocaleText
1184
1208
  } = props;
1185
- const localeText = React4.useMemo(() => _extends({}, themeLocaleText, parentLocaleText, inLocaleText), [themeLocaleText, parentLocaleText, inLocaleText]);
1186
- const utils = React4.useMemo(() => {
1209
+ const localeText = React6.useMemo(() => _extends({}, themeLocaleText, parentLocaleText, inLocaleText), [themeLocaleText, parentLocaleText, inLocaleText]);
1210
+ const utils = React6.useMemo(() => {
1187
1211
  if (!DateAdapter) {
1188
1212
  if (parentUtils) {
1189
1213
  return parentUtils;
@@ -1201,7 +1225,7 @@ var LocalizationProvider = function LocalizationProvider2(inProps) {
1201
1225
  }
1202
1226
  return adapter;
1203
1227
  }, [DateAdapter, adapterLocale, dateFormats, dateLibInstance, parentUtils]);
1204
- const defaultDates = React4.useMemo(() => {
1228
+ const defaultDates = React6.useMemo(() => {
1205
1229
  if (!utils) {
1206
1230
  return null;
1207
1231
  }
@@ -1210,7 +1234,7 @@ var LocalizationProvider = function LocalizationProvider2(inProps) {
1210
1234
  maxDate: utils.date("2099-12-31T00:00:00.000")
1211
1235
  };
1212
1236
  }, [utils]);
1213
- const contextValue = React4.useMemo(() => {
1237
+ const contextValue = React6.useMemo(() => {
1214
1238
  return {
1215
1239
  utils,
1216
1240
  defaultDates,
@@ -1222,7 +1246,6 @@ var LocalizationProvider = function LocalizationProvider2(inProps) {
1222
1246
  children
1223
1247
  });
1224
1248
  };
1225
- if (process.env.NODE_ENV !== "production") LocalizationProvider.displayName = "LocalizationProvider";
1226
1249
  process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
1227
1250
  // ----------------------------- Warning --------------------------------
1228
1251
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -1803,26 +1826,26 @@ var LayoutContext = createContext2({});
1803
1826
  var useLayout = () => useContext2(LayoutContext);
1804
1827
 
1805
1828
  // src/components/core/AppTitle.tsx
1806
- import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
1829
+ import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
1807
1830
  var AppTitle = () => {
1808
1831
  const { appTitle } = useLayout();
1809
1832
  return /* @__PURE__ */ jsxs4(Stack3, { direction: "row", alignItems: "center", spacing: 2, children: [
1810
- /* @__PURE__ */ jsx9("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
1811
- /* @__PURE__ */ jsx9(Typography4, { variant: "h6", children: appTitle })
1833
+ /* @__PURE__ */ jsx11("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
1834
+ /* @__PURE__ */ jsx11(Typography4, { variant: "h6", children: appTitle })
1812
1835
  ] });
1813
1836
  };
1814
1837
 
1815
1838
  // src/components/core/DevelopmentBanner.tsx
1816
1839
  import { Close } from "@mui/icons-material";
1817
- import { Fade, Grid, IconButton, Paper, Typography as Typography5 } from "@mui/material";
1840
+ import { Fade, Grid, IconButton as IconButton2, Paper, Typography as Typography5 } from "@mui/material";
1818
1841
  import { useState } from "react";
1819
1842
  import { useTranslation as useTranslation2 } from "react-i18next";
1820
- import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
1843
+ import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
1821
1844
  var DevelopmentBanner = ({ hasNavigationRoutes }) => {
1822
1845
  const { t } = useTranslation2();
1823
1846
  const [bannerOpen, setBannerOpen] = useState(true);
1824
1847
  const closeBanner = () => setBannerOpen(false);
1825
- return /* @__PURE__ */ jsx10(Fade, { appear: false, in: bannerOpen, children: /* @__PURE__ */ jsx10(Paper, { square: true, elevation: 3, tabIndex: -1, sx: {
1848
+ return /* @__PURE__ */ jsx12(Fade, { appear: false, in: bannerOpen, children: /* @__PURE__ */ jsx12(Paper, { square: true, elevation: 3, tabIndex: -1, sx: {
1826
1849
  position: "fixed",
1827
1850
  bottom: 0,
1828
1851
  left: { xs: 0, sm: hasNavigationRoutes ? 83.3 : 0 },
@@ -1833,19 +1856,19 @@ var DevelopmentBanner = ({ hasNavigationRoutes }) => {
1833
1856
  borderTopWidth: 1
1834
1857
  }, children: /* @__PURE__ */ jsxs5(Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [
1835
1858
  /* @__PURE__ */ jsxs5(Grid, { size: 10, children: [
1836
- /* @__PURE__ */ jsx10(Typography5, { fontWeight: "bold", children: t("Layout.DevelopmentDialogTitle") }),
1837
- /* @__PURE__ */ jsx10(Typography5, { variant: "body2", children: t("Layout.DevelopmentDialogContent") })
1859
+ /* @__PURE__ */ jsx12(Typography5, { fontWeight: "bold", children: t("Layout.DevelopmentDialogTitle") }),
1860
+ /* @__PURE__ */ jsx12(Typography5, { variant: "body2", children: t("Layout.DevelopmentDialogContent") })
1838
1861
  ] }),
1839
- /* @__PURE__ */ jsx10(Grid, { size: 2, sx: { p: 1, textAlign: "right" }, children: /* @__PURE__ */ jsx10(IconButton, { size: "small", onClick: closeBanner, children: /* @__PURE__ */ jsx10(Close, {}) }) })
1862
+ /* @__PURE__ */ jsx12(Grid, { size: 2, sx: { p: 1, textAlign: "right" }, children: /* @__PURE__ */ jsx12(IconButton2, { size: "small", onClick: closeBanner, children: /* @__PURE__ */ jsx12(Close, {}) }) })
1840
1863
  ] }) }) });
1841
1864
  };
1842
1865
 
1843
1866
  // src/components/core/ToolbarAccount.tsx
1844
1867
  import { AccountCircle, ArrowBack, Brightness4, ChevronRight, DarkMode, LightMode, Login, Logout, SettingsBrightness, Translate } from "@mui/icons-material";
1845
- import { Avatar, Box as Box3, IconButton as IconButton2, List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, Menu, Typography as Typography6, useColorScheme } from "@mui/material";
1868
+ import { Avatar, Box as Box3, IconButton as IconButton3, List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, Menu, Typography as Typography6, useColorScheme } from "@mui/material";
1846
1869
  import { Fragment, useState as useState2 } from "react";
1847
1870
  import { useTranslation as useTranslation3 } from "react-i18next";
1848
- import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
1871
+ import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
1849
1872
  var user = {
1850
1873
  name: "Dalibor Homola",
1851
1874
  employeeId: "C2503017",
@@ -1889,63 +1912,63 @@ var ToolbarAccount = () => {
1889
1912
  setAnchorEl(null);
1890
1913
  setTimeout(() => setTab("settings"), 300);
1891
1914
  };
1892
- const login = () => user.login();
1893
- const logout = () => user.logout();
1915
+ const login2 = () => user.login();
1916
+ const logout2 = () => user.logout();
1894
1917
  const changeTab = (newTab) => () => setTab(newTab);
1895
- const settings = /* @__PURE__ */ jsxs6(List, { component: "nav", subheader: /* @__PURE__ */ jsx11(ListSubheader, { sx: { backgroundColor: "transparent" }, children: t("Layout.Settings") }), children: [
1918
+ const settings = /* @__PURE__ */ jsxs6(List, { component: "nav", subheader: /* @__PURE__ */ jsx13(ListSubheader, { sx: { backgroundColor: "transparent" }, children: t("Layout.Settings") }), children: [
1896
1919
  /* @__PURE__ */ jsxs6(ListItemButton, { onClick: changeTab("theme"), sx: { py: 0.3 }, children: [
1897
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(Brightness4, {}) }),
1898
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.Appearance"), secondary: getModeText() }),
1899
- /* @__PURE__ */ jsx11(ChevronRight, {})
1920
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(Brightness4, {}) }),
1921
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.Appearance"), secondary: getModeText() }),
1922
+ /* @__PURE__ */ jsx13(ChevronRight, {})
1900
1923
  ] }),
1901
1924
  /* @__PURE__ */ jsxs6(ListItemButton, { onClick: changeTab("language"), sx: { py: 0.3 }, children: [
1902
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(Translate, {}) }),
1903
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.Language"), secondary: i18n2.resolvedLanguage === "en" ? "English" : "\u010Ce\u0161tina" }),
1904
- /* @__PURE__ */ jsx11(ChevronRight, {})
1925
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(Translate, {}) }),
1926
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.Language"), secondary: i18n2.resolvedLanguage === "en" ? "English" : "\u010Ce\u0161tina" }),
1927
+ /* @__PURE__ */ jsx13(ChevronRight, {})
1905
1928
  ] })
1906
1929
  ] });
1907
1930
  const theme = /* @__PURE__ */ jsxs6(List, { subheader: /* @__PURE__ */ jsxs6(ListSubheader, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
1908
- /* @__PURE__ */ jsx11(IconButton2, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx11(ArrowBack, { fontSize: "small" }) }),
1931
+ /* @__PURE__ */ jsx13(IconButton3, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx13(ArrowBack, { fontSize: "small" }) }),
1909
1932
  " ",
1910
1933
  t("Layout.Appearance")
1911
1934
  ] }), children: [
1912
1935
  /* @__PURE__ */ jsxs6(ListItemButton, { onClick: changeMode("light"), disabled: mode === "light", children: [
1913
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(LightMode, {}) }),
1914
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.Light") })
1936
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(LightMode, {}) }),
1937
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.Light") })
1915
1938
  ] }),
1916
1939
  /* @__PURE__ */ jsxs6(ListItemButton, { onClick: changeMode("dark"), disabled: mode === "dark", children: [
1917
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(DarkMode, {}) }),
1918
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.Dark") })
1940
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(DarkMode, {}) }),
1941
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.Dark") })
1919
1942
  ] }),
1920
1943
  /* @__PURE__ */ jsxs6(ListItemButton, { onClick: changeMode("system"), disabled: mode === "system", children: [
1921
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(SettingsBrightness, {}) }),
1922
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.System") })
1944
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(SettingsBrightness, {}) }),
1945
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.System") })
1923
1946
  ] })
1924
1947
  ] });
1925
1948
  const language = /* @__PURE__ */ jsxs6(List, { subheader: /* @__PURE__ */ jsxs6(ListSubheader, { onClick: changeTab("settings"), sx: { backgroundColor: "transparent", display: "flex", alignItems: "center", px: 1, cursor: "pointer" }, children: [
1926
- /* @__PURE__ */ jsx11(IconButton2, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx11(ArrowBack, { fontSize: "small" }) }),
1949
+ /* @__PURE__ */ jsx13(IconButton3, { size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ jsx13(ArrowBack, { fontSize: "small" }) }),
1927
1950
  " ",
1928
1951
  t("Layout.Language")
1929
1952
  ] }), children: [
1930
- /* @__PURE__ */ jsx11(ListItemButton, { onClick: changeLanguage("en"), disabled: i18n2.resolvedLanguage === "en", children: /* @__PURE__ */ jsx11(ListItemText, { primary: "English" }) }),
1931
- /* @__PURE__ */ jsx11(ListItemButton, { onClick: changeLanguage("cs"), disabled: i18n2.resolvedLanguage === "cs", children: /* @__PURE__ */ jsx11(ListItemText, { primary: "\u010Ce\u0161tina" }) })
1953
+ /* @__PURE__ */ jsx13(ListItemButton, { onClick: changeLanguage("en"), disabled: i18n2.resolvedLanguage === "en", children: /* @__PURE__ */ jsx13(ListItemText, { primary: "English" }) }),
1954
+ /* @__PURE__ */ jsx13(ListItemButton, { onClick: changeLanguage("cs"), disabled: i18n2.resolvedLanguage === "cs", children: /* @__PURE__ */ jsx13(ListItemText, { primary: "\u010Ce\u0161tina" }) })
1932
1955
  ] });
1933
1956
  return /* @__PURE__ */ jsxs6(Fragment, { children: [
1934
- /* @__PURE__ */ jsx11(IconButton2, { size: "small", onClick: openMenu, children: user.name ? /* @__PURE__ */ jsx11(Avatar, { sx: { width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 }, bgcolor: "primary.main" }, children: /* @__PURE__ */ jsx11(Typography6, { variant: "subtitle2", sx: { fontWeight: "bold", lineHeight: 0 }, children: usernameInitials() }) }) : /* @__PURE__ */ jsx11(AccountCircle, {}) }),
1935
- /* @__PURE__ */ jsx11(Menu, { anchorEl, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs6(Box3, { sx: { width: 240 }, children: [
1936
- /* @__PURE__ */ jsx11(List, { children: user.name ? /* @__PURE__ */ jsxs6(Fragment, { children: [
1937
- /* @__PURE__ */ jsx11(ListItem, { children: /* @__PURE__ */ jsx11(ListItemText, { primary: user.name, secondary: /* @__PURE__ */ jsxs6("span", { children: [
1938
- /* @__PURE__ */ jsx11("span", { children: user.employeeId }),
1939
- /* @__PURE__ */ jsx11("br", {}),
1940
- /* @__PURE__ */ jsx11("span", { children: user.department })
1957
+ /* @__PURE__ */ jsx13(IconButton3, { size: "small", onClick: openMenu, children: user.name ? /* @__PURE__ */ jsx13(Avatar, { sx: { width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 }, bgcolor: "primary.main" }, children: /* @__PURE__ */ jsx13(Typography6, { variant: "subtitle2", sx: { fontWeight: "bold", lineHeight: 0 }, children: usernameInitials() }) }) : /* @__PURE__ */ jsx13(AccountCircle, {}) }),
1958
+ /* @__PURE__ */ jsx13(Menu, { anchorEl, open, onClose: closeMenu, children: /* @__PURE__ */ jsxs6(Box3, { sx: { width: 240 }, children: [
1959
+ /* @__PURE__ */ jsx13(List, { children: user.name ? /* @__PURE__ */ jsxs6(Fragment, { children: [
1960
+ /* @__PURE__ */ jsx13(ListItem, { children: /* @__PURE__ */ jsx13(ListItemText, { primary: user.name, secondary: /* @__PURE__ */ jsxs6("span", { children: [
1961
+ /* @__PURE__ */ jsx13("span", { children: user.employeeId }),
1962
+ /* @__PURE__ */ jsx13("br", {}),
1963
+ /* @__PURE__ */ jsx13("span", { children: user.department })
1941
1964
  ] }) }) }),
1942
- /* @__PURE__ */ jsxs6(ListItemButton, { onClick: logout, children: [
1943
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(Logout, { color: "error" }) }),
1944
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.Logout") })
1965
+ /* @__PURE__ */ jsxs6(ListItemButton, { onClick: logout2, children: [
1966
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(Logout, { color: "error" }) }),
1967
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.Logout") })
1945
1968
  ] })
1946
- ] }) : /* @__PURE__ */ jsxs6(ListItemButton, { onClick: login, children: [
1947
- /* @__PURE__ */ jsx11(ListItemIcon, { children: /* @__PURE__ */ jsx11(Login, { color: "success" }) }),
1948
- /* @__PURE__ */ jsx11(ListItemText, { primary: t("Layout.LogIn") })
1969
+ ] }) : /* @__PURE__ */ jsxs6(ListItemButton, { onClick: login2, children: [
1970
+ /* @__PURE__ */ jsx13(ListItemIcon, { children: /* @__PURE__ */ jsx13(Login, { color: "success" }) }),
1971
+ /* @__PURE__ */ jsx13(ListItemText, { primary: t("Layout.LogIn") })
1949
1972
  ] }) }),
1950
1973
  tab === "settings" && settings,
1951
1974
  tab === "theme" && theme,
@@ -1965,6 +1988,83 @@ import { useTranslation as useTranslation4 } from "react-i18next";
1965
1988
  // src/utils/ClientUtils.ts
1966
1989
  import { useQueryClient } from "@tanstack/react-query";
1967
1990
  import axios from "axios";
1991
+
1992
+ // src/services/UserService.ts
1993
+ import Keycloak from "keycloak-js";
1994
+ var keycloakConfig = {
1995
+ url: import.meta.env.VITE_KEYCLOAK_URL,
1996
+ realm: import.meta.env.VITE_KEYCLOAK_REALM,
1997
+ clientId: import.meta.env.VITE_KEYCLOAK_CLIENT_ID,
1998
+ idpHint: import.meta.env.VITE_KEYCLOAK_IDP_HINT,
1999
+ confidentialClientId: import.meta.env.VITE_KEYCLOAK_CONFIDENTIAL_CLIENT_ID,
2000
+ confidentialClientSecret: import.meta.env.VITE_KEYCLOAK_CONFIDENTIAL_CLIENT_SECRET
2001
+ };
2002
+ var _kc = new Keycloak({
2003
+ url: keycloakConfig.url,
2004
+ realm: keycloakConfig.realm,
2005
+ clientId: keycloakConfig.clientId
2006
+ });
2007
+ var initKeycloak = async () => {
2008
+ if (typeof window === "undefined") return;
2009
+ const authenticated = await _kc.init({ onLoad: "check-sso" });
2010
+ if (authenticated) {
2011
+ return await loadUserInfo();
2012
+ } else {
2013
+ await _kc.login({ idpHint: keycloakConfig.idpHint });
2014
+ return await loadUserInfo();
2015
+ }
2016
+ };
2017
+ var login = _kc.login;
2018
+ var logout = _kc.logout;
2019
+ var getToken = () => {
2020
+ if (_kc.token) {
2021
+ return _kc.token;
2022
+ } else {
2023
+ return getConfidentialToken();
2024
+ }
2025
+ };
2026
+ var getConfidentialToken = async () => {
2027
+ const { confidentialClientId, confidentialClientSecret, url, realm } = keycloakConfig;
2028
+ if (!confidentialClientId || !confidentialClientSecret)
2029
+ throw new Error("Confidential client id or secret is missing");
2030
+ const credentials = btoa(`${confidentialClientId}:${confidentialClientSecret}`);
2031
+ const urlencoded = new URLSearchParams({ grant_type: "client_credentials" });
2032
+ const response = await fetch(`${url}/realms/${realm}/protocol/openid-connect/token`, {
2033
+ method: "POST",
2034
+ headers: {
2035
+ "Content-Type": "application/x-www-form-urlencoded",
2036
+ "Authorization": `Basic ${credentials}`
2037
+ },
2038
+ body: urlencoded
2039
+ });
2040
+ if (!response.ok)
2041
+ throw new Error("Failed to obtain confidential token");
2042
+ const data = await response.json();
2043
+ return data.access_token;
2044
+ };
2045
+ var updateToken = () => _kc.updateToken(30).catch(login);
2046
+ var hasRole = (roles) => roles.some((role) => _kc.hasRealmRole(role) || _kc.hasResourceRole(role));
2047
+ var loadUserInfo = async () => {
2048
+ const user2 = await _kc.loadUserInfo();
2049
+ return {
2050
+ name: user2.name,
2051
+ employeeId: user2.employeeId?.toUpperCase() ?? "",
2052
+ department: user2.department ?? "",
2053
+ email: user2.email,
2054
+ company: user2.company,
2055
+ category: user2.category
2056
+ };
2057
+ };
2058
+ var UserService = {
2059
+ initKeycloak,
2060
+ login,
2061
+ logout,
2062
+ getToken,
2063
+ updateToken,
2064
+ hasRole
2065
+ };
2066
+
2067
+ // src/utils/ClientUtils.ts
1968
2068
  var Platform = class {
1969
2069
  static isAndroid = /android/i.test(navigator.userAgent);
1970
2070
  static isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
@@ -1997,6 +2097,9 @@ var rootRouteHead = ({ title, themeColor }) => () => ({
1997
2097
  });
1998
2098
  var wczApiClient = axios.create();
1999
2099
  wczApiClient.interceptors.request.use(async (config) => {
2100
+ await UserService.updateToken();
2101
+ const token = await UserService.getToken();
2102
+ config.headers.Authorization = `Bearer ${token}`;
2000
2103
  return config;
2001
2104
  });
2002
2105
  var WISTRON_PRIMARY_COLOR = "#00506E";
@@ -2103,10 +2206,10 @@ var useGetTheme = (theme) => {
2103
2206
  import { useLocation, useNavigate, useSearch, Link as TanstackRouterLink } from "@tanstack/react-router";
2104
2207
  import { AppProvider } from "@toolpad/core/AppProvider";
2105
2208
  import { useCallback, useMemo as useMemo2, forwardRef } from "react";
2106
- import { jsx as jsx12 } from "react/jsx-runtime";
2209
+ import { jsx as jsx14 } from "react/jsx-runtime";
2107
2210
  var Link2 = forwardRef((props, ref) => {
2108
2211
  const { href, history, ...rest } = props;
2109
- return /* @__PURE__ */ jsx12(TanstackRouterLink, { ref, to: href, replace: history === "replace", ...rest });
2212
+ return /* @__PURE__ */ jsx14(TanstackRouterLink, { ref, to: href, replace: history === "replace", ...rest });
2110
2213
  });
2111
2214
  var TanstackRouterAppProvider = (props) => {
2112
2215
  const { pathname } = useLocation();
@@ -2119,11 +2222,11 @@ var TanstackRouterAppProvider = (props) => {
2119
2222
  [_navigate]
2120
2223
  );
2121
2224
  const router = useMemo2(() => ({ pathname, searchParams: new URLSearchParams(searchParams), navigate, Link: Link2 }), [pathname, searchParams, navigate]);
2122
- return /* @__PURE__ */ jsx12(AppProvider, { router, ...props });
2225
+ return /* @__PURE__ */ jsx14(AppProvider, { router, ...props });
2123
2226
  };
2124
2227
 
2125
2228
  // src/providers/LayoutProvider.tsx
2126
- import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
2229
+ import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
2127
2230
  i18n.use(HttpBackend).use(LanguageDetector).use(initReactI18next).init({
2128
2231
  fallbackLng: "en",
2129
2232
  interpolation: {
@@ -2145,11 +2248,11 @@ var LayoutProvider = (props) => {
2145
2248
  const appTitle = rootRouterState.meta?.find((meta) => meta?.title)?.title;
2146
2249
  if (!appTitle)
2147
2250
  throw new Error("Title is not defined in the RootRoute head.");
2148
- return /* @__PURE__ */ jsx13(LocalizationProvider, { dateAdapter: AdapterDayjs, adapterLocale: i18n2.resolvedLanguage, children: /* @__PURE__ */ jsx13(TanstackRouterAppProvider, { navigation, theme, localeText: {
2251
+ return /* @__PURE__ */ jsx15(LocalizationProvider, { dateAdapter: AdapterDayjs, adapterLocale: i18n2.resolvedLanguage, children: /* @__PURE__ */ jsx15(TanstackRouterAppProvider, { navigation, theme, localeText: {
2149
2252
  confirm: t("Layout.Confirm"),
2150
2253
  cancel: t("Layout.Cancel"),
2151
2254
  alert: t("Layout.Alert")
2152
- }, children: /* @__PURE__ */ jsx13(NotificationsProvider, { slotProps: { snackbar: { anchorOrigin: { vertical: isLargeScreen ? "top" : "bottom", horizontal: "center" } } }, children: /* @__PURE__ */ jsx13(LayoutContext.Provider, { value: { appTitle }, children: /* @__PURE__ */ jsxs7(
2255
+ }, children: /* @__PURE__ */ jsx15(NotificationsProvider, { slotProps: { snackbar: { anchorOrigin: { vertical: isLargeScreen ? "top" : "bottom", horizontal: "center" } } }, children: /* @__PURE__ */ jsx15(LayoutContext.Provider, { value: { appTitle }, children: /* @__PURE__ */ jsxs7(
2153
2256
  DashboardLayout,
2154
2257
  {
2155
2258
  defaultSidebarCollapsed: true,
@@ -2161,8 +2264,8 @@ var LayoutProvider = (props) => {
2161
2264
  },
2162
2265
  children: [
2163
2266
  props.children,
2164
- /* @__PURE__ */ jsx13(DevelopmentBanner, { hasNavigationRoutes: !!navigation.length }),
2165
- (isFetching || isMutating) && /* @__PURE__ */ jsx13(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })
2267
+ /* @__PURE__ */ jsx15(DevelopmentBanner, { hasNavigationRoutes: !!navigation.length }),
2268
+ (isFetching || isMutating) && /* @__PURE__ */ jsx15(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })
2166
2269
  ]
2167
2270
  }
2168
2271
  ) }) }) }) });
@@ -2187,11 +2290,11 @@ var getFieldStatus = (field) => {
2187
2290
  };
2188
2291
 
2189
2292
  // src/components/form/FormAutocomplete.tsx
2190
- import { jsx as jsx14 } from "react/jsx-runtime";
2293
+ import { jsx as jsx16 } from "react/jsx-runtime";
2191
2294
  var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
2192
2295
  const field = useFieldContext();
2193
2296
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2194
- return /* @__PURE__ */ jsx14(
2297
+ return /* @__PURE__ */ jsx16(
2195
2298
  Autocomplete,
2196
2299
  {
2197
2300
  value: field.state.value,
@@ -2200,7 +2303,7 @@ var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
2200
2303
  onBlur: field.handleBlur,
2201
2304
  "aria-label": field.name,
2202
2305
  ...autocompleteProps,
2203
- renderInput: (params) => /* @__PURE__ */ jsx14(
2306
+ renderInput: (params) => /* @__PURE__ */ jsx16(
2204
2307
  TextField,
2205
2308
  {
2206
2309
  ...params,
@@ -2216,15 +2319,15 @@ var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
2216
2319
 
2217
2320
  // src/components/form/FormCheckbox.tsx
2218
2321
  import { Checkbox, FormControl, FormControlLabel, FormHelperText } from "@mui/material";
2219
- import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
2322
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
2220
2323
  var FormCheckbox = (props) => {
2221
2324
  const field = useFieldContext();
2222
2325
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2223
2326
  return /* @__PURE__ */ jsxs8(FormControl, { component: "fieldset", children: [
2224
- /* @__PURE__ */ jsx15(
2327
+ /* @__PURE__ */ jsx17(
2225
2328
  FormControlLabel,
2226
2329
  {
2227
- control: /* @__PURE__ */ jsx15(
2330
+ control: /* @__PURE__ */ jsx17(
2228
2331
  Checkbox,
2229
2332
  {
2230
2333
  name: field.name,
@@ -2238,18 +2341,18 @@ var FormCheckbox = (props) => {
2238
2341
  label: props.label ?? ""
2239
2342
  }
2240
2343
  ),
2241
- isTouched && hasError && /* @__PURE__ */ jsx15(FormHelperText, { error: hasError, children: helperText })
2344
+ isTouched && hasError && /* @__PURE__ */ jsx17(FormHelperText, { error: hasError, children: helperText })
2242
2345
  ] });
2243
2346
  };
2244
2347
 
2245
2348
  // src/components/form/FormDatePicker.tsx
2246
2349
  import { DatePicker } from "@mui/x-date-pickers-pro";
2247
2350
  import dayjs from "dayjs";
2248
- import { jsx as jsx16 } from "react/jsx-runtime";
2351
+ import { jsx as jsx18 } from "react/jsx-runtime";
2249
2352
  var FormDatePicker = (props) => {
2250
2353
  const field = useFieldContext();
2251
2354
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2252
- return /* @__PURE__ */ jsx16(
2355
+ return /* @__PURE__ */ jsx18(
2253
2356
  DatePicker,
2254
2357
  {
2255
2358
  name: field.name,
@@ -2273,11 +2376,11 @@ var FormDatePicker = (props) => {
2273
2376
  // src/components/form/FormDateTimePicker.tsx
2274
2377
  import { DateTimePicker } from "@mui/x-date-pickers-pro";
2275
2378
  import dayjs2 from "dayjs";
2276
- import { jsx as jsx17 } from "react/jsx-runtime";
2379
+ import { jsx as jsx19 } from "react/jsx-runtime";
2277
2380
  var FormDateTimePicker = (props) => {
2278
2381
  const field = useFieldContext();
2279
2382
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2280
- return /* @__PURE__ */ jsx17(
2383
+ return /* @__PURE__ */ jsx19(
2281
2384
  DateTimePicker,
2282
2385
  {
2283
2386
  name: field.name,
@@ -2301,11 +2404,11 @@ var FormDateTimePicker = (props) => {
2301
2404
  // src/components/form/FormNumberField.tsx
2302
2405
  import { TextField as TextField2 } from "@mui/material";
2303
2406
  import { NumericFormat } from "react-number-format";
2304
- import { jsx as jsx18 } from "react/jsx-runtime";
2407
+ import { jsx as jsx20 } from "react/jsx-runtime";
2305
2408
  var FormNumberField = ({ options, ...props }) => {
2306
2409
  const field = useFieldContext();
2307
2410
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2308
- return /* @__PURE__ */ jsx18(
2411
+ return /* @__PURE__ */ jsx20(
2309
2412
  NumericFormat,
2310
2413
  {
2311
2414
  customInput: TextField2,
@@ -2324,13 +2427,13 @@ var FormNumberField = ({ options, ...props }) => {
2324
2427
 
2325
2428
  // src/components/form/FormRadioGroup.tsx
2326
2429
  import { FormControl as FormControl2, FormControlLabel as FormControlLabel2, FormHelperText as FormHelperText2, FormLabel, Radio, RadioGroup } from "@mui/material";
2327
- import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
2430
+ import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
2328
2431
  var FormRadioGroup = ({ label, options, ...props }) => {
2329
2432
  const field = useFieldContext();
2330
2433
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2331
2434
  return /* @__PURE__ */ jsxs9(FormControl2, { component: "fieldset", children: [
2332
- label && /* @__PURE__ */ jsx19(FormLabel, { component: "legend", children: label }),
2333
- /* @__PURE__ */ jsx19(
2435
+ label && /* @__PURE__ */ jsx21(FormLabel, { component: "legend", children: label }),
2436
+ /* @__PURE__ */ jsx21(
2334
2437
  RadioGroup,
2335
2438
  {
2336
2439
  name: field.name,
@@ -2339,30 +2442,30 @@ var FormRadioGroup = ({ label, options, ...props }) => {
2339
2442
  onBlur: field.handleBlur,
2340
2443
  "aria-label": field.name,
2341
2444
  ...props,
2342
- children: options.map((option) => /* @__PURE__ */ jsx19(
2445
+ children: options.map((option) => /* @__PURE__ */ jsx21(
2343
2446
  FormControlLabel2,
2344
2447
  {
2345
2448
  value: option.value,
2346
- control: /* @__PURE__ */ jsx19(Radio, {}),
2449
+ control: /* @__PURE__ */ jsx21(Radio, {}),
2347
2450
  label: option.label
2348
2451
  },
2349
2452
  option.value
2350
2453
  ))
2351
2454
  }
2352
2455
  ),
2353
- isTouched && hasError && /* @__PURE__ */ jsx19(FormHelperText2, { error: hasError, children: helperText })
2456
+ isTouched && hasError && /* @__PURE__ */ jsx21(FormHelperText2, { error: hasError, children: helperText })
2354
2457
  ] });
2355
2458
  };
2356
2459
 
2357
2460
  // src/components/form/FormSlider.tsx
2358
2461
  import { FormControl as FormControl3, FormHelperText as FormHelperText3, FormLabel as FormLabel2, Slider } from "@mui/material";
2359
- import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
2462
+ import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
2360
2463
  var FormSlider = ({ label, ...props }) => {
2361
2464
  const field = useFieldContext();
2362
2465
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2363
2466
  return /* @__PURE__ */ jsxs10(FormControl3, { component: "fieldset", children: [
2364
- label && /* @__PURE__ */ jsx20(FormLabel2, { children: label }),
2365
- /* @__PURE__ */ jsx20(
2467
+ label && /* @__PURE__ */ jsx22(FormLabel2, { children: label }),
2468
+ /* @__PURE__ */ jsx22(
2366
2469
  Slider,
2367
2470
  {
2368
2471
  name: field.name,
@@ -2373,13 +2476,13 @@ var FormSlider = ({ label, ...props }) => {
2373
2476
  ...props
2374
2477
  }
2375
2478
  ),
2376
- isTouched && hasError && /* @__PURE__ */ jsx20(FormHelperText3, { error: hasError, children: helperText })
2479
+ isTouched && hasError && /* @__PURE__ */ jsx22(FormHelperText3, { error: hasError, children: helperText })
2377
2480
  ] });
2378
2481
  };
2379
2482
 
2380
2483
  // src/components/form/FormSubmitButton.tsx
2381
2484
  import { Button as Button2 } from "@mui/material";
2382
- import { jsx as jsx21 } from "react/jsx-runtime";
2485
+ import { jsx as jsx23 } from "react/jsx-runtime";
2383
2486
  var FormSubmitButton = (props) => {
2384
2487
  const form = useFormContext();
2385
2488
  const handleClick = (e) => {
@@ -2387,7 +2490,7 @@ var FormSubmitButton = (props) => {
2387
2490
  e.stopPropagation();
2388
2491
  form.handleSubmit();
2389
2492
  };
2390
- return /* @__PURE__ */ jsx21(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => /* @__PURE__ */ jsx21(
2493
+ return /* @__PURE__ */ jsx23(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => /* @__PURE__ */ jsx23(
2391
2494
  Button2,
2392
2495
  {
2393
2496
  loading: isSubmitting,
@@ -2402,15 +2505,15 @@ var FormSubmitButton = (props) => {
2402
2505
 
2403
2506
  // src/components/form/FormSwitch.tsx
2404
2507
  import { FormControl as FormControl4, FormControlLabel as FormControlLabel3, FormHelperText as FormHelperText4, Switch } from "@mui/material";
2405
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
2508
+ import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
2406
2509
  var FormSwitch = (props) => {
2407
2510
  const field = useFieldContext();
2408
2511
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2409
2512
  return /* @__PURE__ */ jsxs11(FormControl4, { component: "fieldset", children: [
2410
- /* @__PURE__ */ jsx22(
2513
+ /* @__PURE__ */ jsx24(
2411
2514
  FormControlLabel3,
2412
2515
  {
2413
- control: /* @__PURE__ */ jsx22(
2516
+ control: /* @__PURE__ */ jsx24(
2414
2517
  Switch,
2415
2518
  {
2416
2519
  name: field.name,
@@ -2424,17 +2527,17 @@ var FormSwitch = (props) => {
2424
2527
  label: props.label ?? ""
2425
2528
  }
2426
2529
  ),
2427
- isTouched && hasError && /* @__PURE__ */ jsx22(FormHelperText4, { error: hasError, children: helperText })
2530
+ isTouched && hasError && /* @__PURE__ */ jsx24(FormHelperText4, { error: hasError, children: helperText })
2428
2531
  ] });
2429
2532
  };
2430
2533
 
2431
2534
  // src/components/form/FormTextField.tsx
2432
2535
  import { TextField as TextField3 } from "@mui/material";
2433
- import { jsx as jsx23 } from "react/jsx-runtime";
2536
+ import { jsx as jsx25 } from "react/jsx-runtime";
2434
2537
  var FormTextField = (props) => {
2435
2538
  const field = useFieldContext();
2436
2539
  const { isTouched, hasError, helperText } = getFieldStatus(field);
2437
- return /* @__PURE__ */ jsx23(
2540
+ return /* @__PURE__ */ jsx25(
2438
2541
  TextField3,
2439
2542
  {
2440
2543
  name: field.name,
@@ -2642,6 +2745,8 @@ export {
2642
2745
  Platform,
2643
2746
  RouterButton,
2644
2747
  RouterError,
2748
+ RouterGridActionsCellItem,
2749
+ RouterIconButton,
2645
2750
  RouterLink,
2646
2751
  RouterNotFound,
2647
2752
  RouterTab,