wcz-layout 6.7.2 → 7.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.
Potentially problematic release.
This version of wcz-layout might be problematic. Click here for more details.
- package/dist/DialogsContext-BIhId-r8.js +7 -0
- package/dist/DialogsContext-BIhId-r8.js.map +1 -0
- package/dist/DialogsHooks-CZVdKmPv.js +207 -0
- package/dist/DialogsHooks-CZVdKmPv.js.map +1 -0
- package/dist/FileMeta-YGG9mxo_.js +36 -0
- package/dist/FileMeta-YGG9mxo_.js.map +1 -0
- package/dist/NotificationContext-DovR_auQ.js +7 -0
- package/dist/NotificationContext-DovR_auQ.js.map +1 -0
- package/dist/RouterListItemButton-DeaQB4ym.js +31 -0
- package/dist/RouterListItemButton-DeaQB4ym.js.map +1 -0
- package/dist/components/core/AppTitle.d.ts +2 -0
- package/dist/components/core/Fullscreen.d.ts +3 -0
- package/dist/components/core/Layout.d.ts +10 -0
- package/dist/{src/components/layout → components/core}/TypographyWithIcon.d.ts +1 -1
- package/dist/components/core/account/UserAvatar.d.ts +2 -0
- package/dist/components/core/account/UserMenu.d.ts +2 -0
- package/dist/components/core/navigation/NavigationContent.d.ts +11 -0
- package/dist/components/core/navigation/NavigationList.d.ts +22 -0
- package/dist/components/core/navigation/NavigationListItem.d.ts +16 -0
- package/dist/components/core/navigation/NavigationRail.d.ts +12 -0
- package/dist/{src/components/dataGrid → components/data-grid}/ChipInputCell.d.ts +3 -3
- package/dist/components/data-grid/EditableColumnHeader.d.ts +2 -0
- package/dist/components/file/Dropzone.d.ts +8 -0
- package/dist/components/file/FileViewer.d.ts +20 -0
- package/dist/components/file/fileViewer/FileViewerGrid.d.ts +17 -0
- package/dist/components/file/fileViewer/FileViewerList.d.ts +12 -0
- package/dist/components/file/fileViewer/ImageViewer.d.ts +6 -0
- package/dist/components/file/fileViewer/common/ActionsMenu.d.ts +15 -0
- package/dist/{src/components → components}/form/FormAutocomplete.d.ts +3 -3
- package/dist/{src/components → components}/form/FormCheckbox.d.ts +3 -3
- package/dist/components/form/FormDatePicker.d.ts +8 -0
- package/dist/components/form/FormDateRangePicker.d.ts +8 -0
- package/dist/components/form/FormDateTimePicker.d.ts +8 -0
- package/dist/components/form/FormDateTimeRangePicker.d.ts +8 -0
- package/dist/{src/components → components}/form/FormNumberField.d.ts +4 -7
- package/dist/{src/components → components}/form/FormRadioGroup.d.ts +4 -4
- package/dist/{src/components → components}/form/FormSlider.d.ts +3 -3
- package/dist/components/form/FormSubmitButton.d.ts +4 -0
- package/dist/{src/components → components}/form/FormSwitch.d.ts +3 -3
- package/dist/{src/components → components}/form/FormTextField.d.ts +3 -3
- package/dist/components/form/FormTimePicker.d.ts +8 -0
- package/dist/components/form/FormTimeRangePicker.d.ts +8 -0
- package/dist/components/router/RouterButton.d.ts +6 -0
- package/dist/components/router/RouterError.d.ts +7 -0
- package/dist/components/router/RouterFab.d.ts +6 -0
- package/dist/components/router/RouterGridActionsCellItem.d.ts +6 -0
- package/dist/components/router/RouterIconButton.d.ts +6 -0
- package/dist/components/router/RouterLink.d.ts +6 -0
- package/dist/components/router/RouterListItemButton.d.ts +6 -0
- package/dist/components/router/RouterNotFound.d.ts +1 -0
- package/dist/components/router/RouterTab.d.ts +6 -0
- package/dist/components.js +3255 -0
- package/dist/components.js.map +1 -0
- package/dist/contexts/DialogsContext.d.ts +6 -0
- package/dist/contexts/FileContext.d.ts +13 -0
- package/dist/contexts/NotificationContext.d.ts +9 -0
- package/dist/dist-Bxzg1_9c.js +152 -0
- package/dist/dist-Bxzg1_9c.js.map +1 -0
- package/dist/exports/components.d.ts +15 -0
- package/dist/exports/hooks.d.ts +7 -0
- package/dist/exports/index.d.ts +5 -0
- package/dist/exports/middleware.d.ts +2 -0
- package/dist/exports/models.d.ts +24 -0
- package/dist/exports/query.d.ts +3 -0
- package/dist/exports/utils.d.ts +6 -0
- package/dist/exports/vite.d.ts +1 -0
- package/dist/hooks/DialogsHooks.d.ts +42 -0
- package/dist/hooks/FormHooks.d.ts +52 -0
- package/dist/hooks/UseNotification.d.ts +1 -0
- package/dist/hooks/UseScanDetection.d.ts +28 -0
- package/dist/hooks.js +1075 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.js +1105 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/auth/msalClient.d.ts +19 -0
- package/dist/lib/auth/msalServer.d.ts +11 -0
- package/dist/lib/auth/permissions.d.ts +4 -0
- package/dist/lib/auth/scopes.d.ts +4 -0
- package/dist/lib/db/collections/userCollection.d.ts +18 -0
- package/dist/lib/queryClient.d.ts +2 -0
- package/dist/lib/theme.d.ts +1 -0
- package/dist/lib/utils.d.ts +63 -0
- package/dist/lib/vite-plugin.d.ts +2 -0
- package/dist/middleware/authMiddleware.d.ts +22 -0
- package/dist/middleware/validationMiddleware.d.ts +4 -0
- package/dist/middleware.js +1051 -0
- package/dist/middleware.js.map +1 -0
- package/dist/models/LayoutOptions.d.ts +7 -0
- package/dist/models/Navigation.d.ts +18 -0
- package/dist/models/TokenPayload.d.ts +9 -0
- package/dist/models/User.d.ts +10 -0
- package/dist/models/VaultConfig.d.ts +9 -0
- package/dist/models/approval/Approval.d.ts +177 -0
- package/dist/models/approval/ApprovalEmployee.d.ts +7 -0
- package/dist/models/approval/ApprovalFlow.d.ts +49 -0
- package/dist/models/approval/ApprovalFlowStep.d.ts +29 -0
- package/dist/models/approval/ApprovalRequestType.d.ts +5 -0
- package/dist/models/approval/ApprovalStatus.d.ts +9 -0
- package/dist/models/approval/ApprovalStepResult.d.ts +11 -0
- package/dist/models/approval/StepApprovalOrder.d.ts +6 -0
- package/dist/models/email/Email.d.ts +13 -0
- package/dist/models/email/EmailAttachment.d.ts +6 -0
- package/dist/models/file/FileActions.d.ts +6 -0
- package/dist/models/file/FileMeta.d.ts +15 -0
- package/dist/models/peoplesoft/Department.d.ts +58 -0
- package/dist/models/peoplesoft/Employee.d.ts +46 -0
- package/dist/models/peoplesoft/EmployeeCategoryGroup.d.ts +6 -0
- package/dist/models/peoplesoft/EmployeeStatus.d.ts +6 -0
- package/dist/models.js +150 -0
- package/dist/models.js.map +1 -0
- package/dist/providers/DialogsProvider.d.ts +5 -0
- package/dist/providers/LayoutProvider.d.ts +12 -0
- package/dist/providers/MsalAuthProvider.d.ts +6 -0
- package/dist/providers/NotificationProvider.d.ts +7 -0
- package/dist/queries/ApprovalQueries.d.ts +661 -0
- package/dist/queries/FileQueries.d.ts +205 -0
- package/dist/queries/PeopleSoftQueries.d.ts +2173 -0
- package/dist/queries/index.d.ts +2958 -0
- package/dist/queries-D-DV5lCw.js +2941 -0
- package/dist/queries-D-DV5lCw.js.map +1 -0
- package/dist/query.js +3 -0
- package/dist/queryClient-B__OEZ70.js +7 -0
- package/dist/queryClient-B__OEZ70.js.map +1 -0
- package/dist/utils-C4oJ0tr5.js +157 -0
- package/dist/utils-C4oJ0tr5.js.map +1 -0
- package/dist/utils.js +35 -0
- package/dist/utils.js.map +1 -0
- package/dist/vite.js +110 -0
- package/dist/vite.js.map +1 -0
- package/package.json +132 -62
- package/dist/src/components/Layout.d.ts +0 -16
- package/dist/src/components/Layout.js +0 -122
- package/dist/src/components/Layout.js.map +0 -1
- package/dist/src/components/dataGrid/ChipInputCell.js +0 -17
- package/dist/src/components/dataGrid/ChipInputCell.js.map +0 -1
- package/dist/src/components/dataGrid/EditableColumnHeader.d.ts +0 -2
- package/dist/src/components/dataGrid/EditableColumnHeader.js +0 -7
- package/dist/src/components/dataGrid/EditableColumnHeader.js.map +0 -1
- package/dist/src/components/dataGrid/GridToolbar.d.ts +0 -8
- package/dist/src/components/dataGrid/GridToolbar.js +0 -40
- package/dist/src/components/dataGrid/GridToolbar.js.map +0 -1
- package/dist/src/components/dataGrid/TableContainer.d.ts +0 -3
- package/dist/src/components/dataGrid/TableContainer.js +0 -32
- package/dist/src/components/dataGrid/TableContainer.js.map +0 -1
- package/dist/src/components/form/FormAutocomplete.js +0 -10
- package/dist/src/components/form/FormAutocomplete.js.map +0 -1
- package/dist/src/components/form/FormCheckbox.js +0 -11
- package/dist/src/components/form/FormCheckbox.js.map +0 -1
- package/dist/src/components/form/FormDatePicker.d.ts +0 -9
- package/dist/src/components/form/FormDatePicker.js +0 -19
- package/dist/src/components/form/FormDatePicker.js.map +0 -1
- package/dist/src/components/form/FormDateTimePicker.d.ts +0 -9
- package/dist/src/components/form/FormDateTimePicker.js +0 -19
- package/dist/src/components/form/FormDateTimePicker.js.map +0 -1
- package/dist/src/components/form/FormNumberField.js +0 -12
- package/dist/src/components/form/FormNumberField.js.map +0 -1
- package/dist/src/components/form/FormRadioGroup.js +0 -11
- package/dist/src/components/form/FormRadioGroup.js.map +0 -1
- package/dist/src/components/form/FormSlider.js +0 -11
- package/dist/src/components/form/FormSlider.js.map +0 -1
- package/dist/src/components/form/FormSubmitButton.d.ts +0 -5
- package/dist/src/components/form/FormSubmitButton.js +0 -13
- package/dist/src/components/form/FormSubmitButton.js.map +0 -1
- package/dist/src/components/form/FormSwitch.js +0 -11
- package/dist/src/components/form/FormSwitch.js.map +0 -1
- package/dist/src/components/form/FormTextField.js +0 -11
- package/dist/src/components/form/FormTextField.js.map +0 -1
- package/dist/src/components/layout/AccountMenu.d.ts +0 -9
- package/dist/src/components/layout/AccountMenu.js +0 -44
- package/dist/src/components/layout/AccountMenu.js.map +0 -1
- package/dist/src/components/layout/DevelopmentBanner.d.ts +0 -7
- package/dist/src/components/layout/DevelopmentBanner.js +0 -29
- package/dist/src/components/layout/DevelopmentBanner.js.map +0 -1
- package/dist/src/components/layout/ErrorPage.d.ts +0 -2
- package/dist/src/components/layout/ErrorPage.js +0 -25
- package/dist/src/components/layout/ErrorPage.js.map +0 -1
- package/dist/src/components/layout/LayoutDialog.d.ts +0 -12
- package/dist/src/components/layout/LayoutDialog.js +0 -12
- package/dist/src/components/layout/LayoutDialog.js.map +0 -1
- package/dist/src/components/layout/LayoutSnackbar.d.ts +0 -8
- package/dist/src/components/layout/LayoutSnackbar.js +0 -25
- package/dist/src/components/layout/LayoutSnackbar.js.map +0 -1
- package/dist/src/components/layout/NavigationDrawer.d.ts +0 -11
- package/dist/src/components/layout/NavigationDrawer.js +0 -70
- package/dist/src/components/layout/NavigationDrawer.js.map +0 -1
- package/dist/src/components/layout/NotificationMenu.d.ts +0 -8
- package/dist/src/components/layout/NotificationMenu.js +0 -26
- package/dist/src/components/layout/NotificationMenu.js.map +0 -1
- package/dist/src/components/layout/TypographyWithIcon.js +0 -22
- package/dist/src/components/layout/TypographyWithIcon.js.map +0 -1
- package/dist/src/components/layout/Unauthorized.d.ts +0 -2
- package/dist/src/components/layout/Unauthorized.js +0 -26
- package/dist/src/components/layout/Unauthorized.js.map +0 -1
- package/dist/src/contexts/LayoutContext.d.ts +0 -40
- package/dist/src/contexts/LayoutContext.js +0 -60
- package/dist/src/contexts/LayoutContext.js.map +0 -1
- package/dist/src/contexts/UserContext.d.ts +0 -24
- package/dist/src/contexts/UserContext.js +0 -55
- package/dist/src/contexts/UserContext.js.map +0 -1
- package/dist/src/hooks/FormHooks.d.ts +0 -46
- package/dist/src/hooks/FormHooks.js +0 -31
- package/dist/src/hooks/FormHooks.js.map +0 -1
- package/dist/src/hooks/UseSnackbar.d.ts +0 -10
- package/dist/src/hooks/UseSnackbar.js +0 -23
- package/dist/src/hooks/UseSnackbar.js.map +0 -1
- package/dist/src/hooks/UseUser.d.ts +0 -10
- package/dist/src/hooks/UseUser.js +0 -25
- package/dist/src/hooks/UseUser.js.map +0 -1
- package/dist/src/index.d.ts +0 -20
- package/dist/src/index.js +0 -15
- package/dist/src/index.js.map +0 -1
- package/dist/src/models/Error.d.ts +0 -6
- package/dist/src/models/Error.js +0 -2
- package/dist/src/models/Error.js.map +0 -1
- package/dist/src/models/KeycloakSettings.d.ts +0 -8
- package/dist/src/models/KeycloakSettings.js +0 -2
- package/dist/src/models/KeycloakSettings.js.map +0 -1
- package/dist/src/models/LayoutPaletteColorOptions.d.ts +0 -6
- package/dist/src/models/LayoutPaletteColorOptions.js +0 -2
- package/dist/src/models/LayoutPaletteColorOptions.js.map +0 -1
- package/dist/src/models/LayoutRoute.d.ts +0 -14
- package/dist/src/models/LayoutRoute.js +0 -2
- package/dist/src/models/LayoutRoute.js.map +0 -1
- package/dist/src/models/Notification.d.ts +0 -9
- package/dist/src/models/Notification.js +0 -2
- package/dist/src/models/Notification.js.map +0 -1
- package/dist/src/models/PeoplesoftDepartment.d.ts +0 -14
- package/dist/src/models/PeoplesoftDepartment.js +0 -2
- package/dist/src/models/PeoplesoftDepartment.js.map +0 -1
- package/dist/src/models/PeoplesoftEmployee.d.ts +0 -34
- package/dist/src/models/PeoplesoftEmployee.js +0 -2
- package/dist/src/models/PeoplesoftEmployee.js.map +0 -1
- package/dist/src/models/Snackbar.d.ts +0 -15
- package/dist/src/models/Snackbar.js +0 -2
- package/dist/src/models/Snackbar.js.map +0 -1
- package/dist/src/models/User.d.ts +0 -27
- package/dist/src/models/User.js +0 -11
- package/dist/src/models/User.js.map +0 -1
- package/dist/src/models/types/EmployeeCategoryGroup.d.ts +0 -1
- package/dist/src/models/types/EmployeeCategoryGroup.js +0 -2
- package/dist/src/models/types/EmployeeCategoryGroup.js.map +0 -1
- package/dist/src/models/types/EmployeeStatus.d.ts +0 -1
- package/dist/src/models/types/EmployeeStatus.js +0 -2
- package/dist/src/models/types/EmployeeStatus.js.map +0 -1
- package/dist/src/utils/Auth.d.ts +0 -12
- package/dist/src/utils/Auth.js +0 -49
- package/dist/src/utils/Auth.js.map +0 -1
- package/dist/src/utils/Fetches.d.ts +0 -5
- package/dist/src/utils/Fetches.js +0 -66
- package/dist/src/utils/Fetches.js.map +0 -1
- package/dist/src/utils/FormUtils.d.ts +0 -7
- package/dist/src/utils/FormUtils.js +0 -9
- package/dist/src/utils/FormUtils.js.map +0 -1
- package/dist/src/utils/Helpers.d.ts +0 -11
- package/dist/src/utils/Helpers.js +0 -26
- package/dist/src/utils/Helpers.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/components/Layout.tsx +0 -183
- package/src/components/dataGrid/ChipInputCell.tsx +0 -31
- package/src/components/dataGrid/EditableColumnHeader.tsx +0 -7
- package/src/components/dataGrid/GridToolbar.tsx +0 -63
- package/src/components/dataGrid/TableContainer.tsx +0 -39
- package/src/components/form/FormAutocomplete.tsx +0 -34
- package/src/components/form/FormCheckbox.tsx +0 -32
- package/src/components/form/FormDatePicker.tsx +0 -34
- package/src/components/form/FormDateTimePicker.tsx +0 -34
- package/src/components/form/FormNumberField.tsx +0 -33
- package/src/components/form/FormRadioGroup.tsx +0 -43
- package/src/components/form/FormSlider.tsx +0 -28
- package/src/components/form/FormSubmitButton.tsx +0 -29
- package/src/components/form/FormSwitch.tsx +0 -32
- package/src/components/form/FormTextField.tsx +0 -26
- package/src/components/layout/AccountMenu.tsx +0 -160
- package/src/components/layout/DevelopmentBanner.tsx +0 -54
- package/src/components/layout/ErrorPage.tsx +0 -34
- package/src/components/layout/LayoutDialog.tsx +0 -50
- package/src/components/layout/LayoutSnackbar.tsx +0 -44
- package/src/components/layout/NavigationDrawer.tsx +0 -131
- package/src/components/layout/NotificationMenu.tsx +0 -76
- package/src/components/layout/TypographyWithIcon.tsx +0 -35
- package/src/components/layout/Unauthorized.tsx +0 -37
- package/src/contexts/LayoutContext.tsx +0 -127
- package/src/contexts/UserContext.tsx +0 -88
- package/src/hooks/FormHooks.ts +0 -33
- package/src/hooks/UseSnackbar.tsx +0 -28
- package/src/hooks/UseUser.tsx +0 -29
- package/src/index.ts +0 -27
- package/src/models/Error.tsx +0 -6
- package/src/models/KeycloakSettings.ts +0 -8
- package/src/models/LayoutPaletteColorOptions.tsx +0 -7
- package/src/models/LayoutRoute.ts +0 -15
- package/src/models/Notification.ts +0 -10
- package/src/models/PeoplesoftDepartment.ts +0 -15
- package/src/models/PeoplesoftEmployee.ts +0 -35
- package/src/models/Snackbar.ts +0 -16
- package/src/models/User.ts +0 -13
- package/src/models/types/EmployeeCategoryGroup.ts +0 -1
- package/src/models/types/EmployeeStatus.ts +0 -1
- package/src/utils/Auth.ts +0 -58
- package/src/utils/Fetches.ts +0 -83
- package/src/utils/FormUtils.ts +0 -22
- package/src/utils/Helpers.ts +0 -27
- package/tsconfig.json +0 -29
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Menu } from "@mui/icons-material";
|
|
3
|
-
import { Box, Chip, CssBaseline, IconButton, LinearProgress, AppBar as MuiAppBar, Toolbar, Typography, useMediaQuery } from "@mui/material";
|
|
4
|
-
import { grey } from "@mui/material/colors";
|
|
5
|
-
import { csCZ, enUS } from "@mui/material/locale";
|
|
6
|
-
import { ThemeProvider, createTheme, styled } from "@mui/material/styles";
|
|
7
|
-
import { csCZ as dataGridCsCz, enUS as dataGridEnUs } from "@mui/x-data-grid-premium/locales";
|
|
8
|
-
import { csCZ as datePickersCsCz, enUS as datePickersEnUs } from "@mui/x-date-pickers-pro/locales";
|
|
9
|
-
import { useIsFetching, useIsMutating } from "@tanstack/react-query";
|
|
10
|
-
import { useEffect, useState } from "react";
|
|
11
|
-
import { useTranslation } from "react-i18next";
|
|
12
|
-
import { matchPath, useLocation } from "react-router-dom";
|
|
13
|
-
import { environment } from "../utils/Helpers";
|
|
14
|
-
import { AccountMenu } from "./layout/AccountMenu";
|
|
15
|
-
import { DevelopmentBanner } from "./layout/DevelopmentBanner";
|
|
16
|
-
import { NavigationDrawer } from "./layout/NavigationDrawer";
|
|
17
|
-
import { NotificationMenu } from "./layout/NotificationMenu";
|
|
18
|
-
import { Unauthorized } from "./layout/Unauthorized";
|
|
19
|
-
import useLocalStorageState from "use-local-storage-state";
|
|
20
|
-
import { useIsAuthenticated, useMsal } from "@azure/msal-react";
|
|
21
|
-
import { InteractionStatus } from "@azure/msal-browser";
|
|
22
|
-
//Drawer
|
|
23
|
-
const drawerWidth = 240;
|
|
24
|
-
const DrawerHeader = styled("div")(({ theme }) => ({
|
|
25
|
-
display: "flex",
|
|
26
|
-
alignItems: "center",
|
|
27
|
-
justifyContent: "flex-end",
|
|
28
|
-
padding: theme.spacing(0, 1),
|
|
29
|
-
// necessary for content to be below app bar
|
|
30
|
-
...theme.mixins.toolbar,
|
|
31
|
-
}));
|
|
32
|
-
const AppBar = styled(MuiAppBar, {
|
|
33
|
-
shouldForwardProp: (prop) => prop !== "open",
|
|
34
|
-
})(({ theme, open }) => ({
|
|
35
|
-
zIndex: theme.zIndex.drawer + 1,
|
|
36
|
-
transition: theme.transitions.create(["width", "margin"], {
|
|
37
|
-
easing: theme.transitions.easing.sharp,
|
|
38
|
-
duration: theme.transitions.duration.leavingScreen,
|
|
39
|
-
}),
|
|
40
|
-
...(open && {
|
|
41
|
-
marginLeft: drawerWidth,
|
|
42
|
-
width: `calc(100% - ${drawerWidth}px)`,
|
|
43
|
-
transition: theme.transitions.create(["width", "margin"], {
|
|
44
|
-
easing: theme.transitions.easing.sharp,
|
|
45
|
-
duration: theme.transitions.duration.enteringScreen,
|
|
46
|
-
}),
|
|
47
|
-
}),
|
|
48
|
-
}));
|
|
49
|
-
const getAllRoutesWithPath = (routes) => {
|
|
50
|
-
let result = [];
|
|
51
|
-
for (const route of routes) {
|
|
52
|
-
if (route.path) {
|
|
53
|
-
result.push(route);
|
|
54
|
-
}
|
|
55
|
-
if (route.children) {
|
|
56
|
-
result = result.concat(getAllRoutesWithPath(route.children));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return result;
|
|
60
|
-
};
|
|
61
|
-
export const Layout = ({ routes, colors, appVersion, user, notifications, setNotifications, children }) => {
|
|
62
|
-
var _a, _b, _c, _d, _e;
|
|
63
|
-
const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
|
|
64
|
-
const [mode, setMode] = useLocalStorageState("mui-mode", { defaultValue: "system" });
|
|
65
|
-
const [leftDrawerOpen, setLeftDrawerOpen] = useState(false);
|
|
66
|
-
const { i18n } = useTranslation();
|
|
67
|
-
const isFetching = !!useIsFetching();
|
|
68
|
-
const isMutating = !!useIsMutating();
|
|
69
|
-
const location = useLocation();
|
|
70
|
-
const navigationRoutes = getAllRoutesWithPath(routes);
|
|
71
|
-
const route = navigationRoutes.find(r => matchPath(r.path, location.pathname));
|
|
72
|
-
const { instance, inProgress } = useMsal();
|
|
73
|
-
const isAuthenticated = useIsAuthenticated();
|
|
74
|
-
useEffect(() => {
|
|
75
|
-
if (route.authenticated !== false && !isAuthenticated && inProgress === InteractionStatus.None)
|
|
76
|
-
instance.loginRedirect({ scopes: [], redirectUri: "/" });
|
|
77
|
-
}, [route, isAuthenticated, inProgress]);
|
|
78
|
-
const resolvedMode = mode === "system" ? (prefersDarkMode ? "dark" : "light") : mode;
|
|
79
|
-
const theme = createTheme({
|
|
80
|
-
palette: {
|
|
81
|
-
mode: resolvedMode,
|
|
82
|
-
primary: { main: ((_a = colors.primary) === null || _a === void 0 ? void 0 : _a[resolvedMode]) || ((_b = colors.primary) === null || _b === void 0 ? void 0 : _b.main), },
|
|
83
|
-
secondary: { main: ((_c = colors.secondary) === null || _c === void 0 ? void 0 : _c[resolvedMode]) || ((_d = colors.secondary) === null || _d === void 0 ? void 0 : _d.main), },
|
|
84
|
-
background: resolvedMode === "light" && colors.background ? { default: colors.background.default, paper: colors.background.paper, } : {},
|
|
85
|
-
},
|
|
86
|
-
components: {
|
|
87
|
-
MuiCssBaseline: {
|
|
88
|
-
styleOverrides: (theme) => ({
|
|
89
|
-
body: {
|
|
90
|
-
"&::-webkit-scrollbar, & *::-webkit-scrollbar": {
|
|
91
|
-
width: "0.7em",
|
|
92
|
-
height: "0.7em",
|
|
93
|
-
},
|
|
94
|
-
"&::-webkit-scrollbar-track, & *::-webkit-scrollbar-track": {
|
|
95
|
-
backgroundColor: theme.palette.mode === "dark" ? grey[900] : grey[200],
|
|
96
|
-
borderRadius: "5px",
|
|
97
|
-
},
|
|
98
|
-
"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb": {
|
|
99
|
-
backgroundColor: theme.palette.mode === "dark" ? grey[800] : grey[400],
|
|
100
|
-
borderRadius: "10px",
|
|
101
|
-
},
|
|
102
|
-
"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover": {
|
|
103
|
-
backgroundColor: theme.palette.mode === "dark" ? grey[700] : grey[500],
|
|
104
|
-
},
|
|
105
|
-
"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner": {
|
|
106
|
-
backgroundColor: "transparent",
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
}),
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
}, i18n.language === "cs" ? datePickersCsCz : datePickersEnUs, i18n.language === "cs" ? dataGridCsCz : dataGridEnUs, i18n.language === "cs" ? csCZ : enUS);
|
|
113
|
-
const title = (_e = route.pageTitle) !== null && _e !== void 0 ? _e : route.title;
|
|
114
|
-
useEffect(() => {
|
|
115
|
-
if (title)
|
|
116
|
-
document.title = title;
|
|
117
|
-
}, [title]);
|
|
118
|
-
const toggleNavigationDrawer = () => setLeftDrawerOpen(!leftDrawerOpen);
|
|
119
|
-
const hasNavigationRoutes = navigationRoutes.filter(route => route.showInMenu && !route.disabled).length > 1;
|
|
120
|
-
return (_jsxs(ThemeProvider, { theme: theme, children: [_jsxs(Box, { sx: { display: "flex", position: "sticky" }, children: [_jsx(CssBaseline, {}), _jsx(AppBar, { position: "fixed", open: leftDrawerOpen, children: _jsxs(Toolbar, { children: [_jsx(IconButton, { color: "inherit", onClick: toggleNavigationDrawer, edge: "start", sx: { marginRight: 2, ...((leftDrawerOpen || !hasNavigationRoutes) && { display: "none" }) }, children: _jsx(Menu, {}) }), _jsx(Typography, { variant: "h6", noWrap: true, component: "div", sx: { flexGrow: 1 }, children: title }), environment !== "prd" && _jsx(Chip, { sx: theme => ({ mr: 1, bgcolor: "secondary.main", color: theme.palette.primary.contrastText }), label: environment }), _jsx(NotificationMenu, { notifications: notifications, setNotifications: setNotifications }), _jsx(AccountMenu, { mode: mode, setMode: setMode, user: user })] }) }), _jsx(NavigationDrawer, { routes: navigationRoutes, appVersion: appVersion, open: leftDrawerOpen, setOpen: setLeftDrawerOpen, hasRoutes: hasNavigationRoutes }), _jsxs(Box, { component: "main", sx: { flex: 1, overflow: "auto" }, children: [_jsx(DrawerHeader, {}), (route.authenticated === false || isAuthenticated) && !route.disabled ? children : _jsx(Unauthorized, {})] })] }), _jsx(DevelopmentBanner, { user: user, hasNavigationRoutes: hasNavigationRoutes }), (isFetching || isMutating) && _jsx(LinearProgress, { sx: { position: "fixed", top: { xs: 56, sm: 64 }, left: 0, right: 0 } })] }));
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=Layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/components/Layout.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Menu } from \"@mui/icons-material\";\r\nimport { Box, Chip, CssBaseline, IconButton, LinearProgress, AppBar as MuiAppBar, AppBarProps as MuiAppBarProps, Theme, Toolbar, Typography, useMediaQuery } from \"@mui/material\";\r\nimport { grey } from \"@mui/material/colors\";\r\nimport { csCZ, enUS } from \"@mui/material/locale\";\r\nimport { ThemeProvider, createTheme, styled } from \"@mui/material/styles\";\r\nimport { csCZ as dataGridCsCz, enUS as dataGridEnUs } from \"@mui/x-data-grid-premium/locales\";\r\nimport { csCZ as datePickersCsCz, enUS as datePickersEnUs } from \"@mui/x-date-pickers-pro/locales\";\r\nimport { useIsFetching, useIsMutating } from \"@tanstack/react-query\";\r\nimport React, { Dispatch, SetStateAction, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { matchPath, useLocation } from \"react-router-dom\";\r\nimport { LayoutPaletteColorOptions } from \"../models/LayoutPaletteColorOptions\";\r\nimport { LayoutRoute } from \"../models/LayoutRoute\";\r\nimport Notification from \"../models/Notification\";\r\nimport { User } from \"../models/User\";\r\nimport { environment } from \"../utils/Helpers\";\r\nimport { AccountMenu } from \"./layout/AccountMenu\";\r\nimport { DevelopmentBanner } from \"./layout/DevelopmentBanner\";\r\nimport { NavigationDrawer } from \"./layout/NavigationDrawer\";\r\nimport { NotificationMenu } from \"./layout/NotificationMenu\";\r\nimport { Unauthorized } from \"./layout/Unauthorized\";\r\nimport useLocalStorageState from \"use-local-storage-state\";\r\nimport { useIsAuthenticated, useMsal } from \"@azure/msal-react\";\r\nimport { InteractionStatus } from \"@azure/msal-browser\";\r\n\r\n//Drawer\r\nconst drawerWidth = 240;\r\nconst DrawerHeader = styled(\"div\")(({ theme }) => ({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n}));\r\n\r\n//AppBar\r\ninterface AppBarProps extends MuiAppBarProps {\r\n open?: boolean;\r\n}\r\n\r\nconst AppBar = styled(MuiAppBar, {\r\n shouldForwardProp: (prop) => prop !== \"open\",\r\n})<AppBarProps>(({ theme, open }) => ({\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n ...(open && {\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n }),\r\n}));\r\n\r\nconst getAllRoutesWithPath = (routes: LayoutRoute[]): LayoutRoute[] => {\r\n let result: LayoutRoute[] = [];\r\n for (const route of routes) {\r\n if (route.path) {\r\n result.push(route);\r\n }\r\n if (route.children) {\r\n result = result.concat(getAllRoutesWithPath(route.children));\r\n }\r\n }\r\n return result;\r\n};\r\n\r\ninterface LayoutProps {\r\n routes: LayoutRoute[];\r\n appVersion: string;\r\n colors: LayoutPaletteColorOptions;\r\n children: React.ReactNode;\r\n user: User;\r\n notifications: Notification[] | undefined;\r\n setNotifications: Dispatch<SetStateAction<Notification[] | undefined>>;\r\n}\r\n\r\nexport const Layout: React.FC<LayoutProps> = ({ routes, colors, appVersion, user, notifications, setNotifications, children }) => {\r\n const prefersDarkMode: boolean = useMediaQuery(\"(prefers-color-scheme: dark)\");\r\n const [mode, setMode] = useLocalStorageState<\"light\" | \"dark\" | \"system\">(\"mui-mode\", { defaultValue: \"system\" });\r\n const [leftDrawerOpen, setLeftDrawerOpen] = useState<boolean>(false);\r\n const { i18n } = useTranslation();\r\n const isFetching = !!useIsFetching();\r\n const isMutating = !!useIsMutating();\r\n const location = useLocation();\r\n const navigationRoutes = getAllRoutesWithPath(routes);\r\n const route = navigationRoutes.find(r => matchPath(r.path!, location.pathname))!;\r\n const { instance, inProgress } = useMsal();\r\n const isAuthenticated = useIsAuthenticated();\r\n\r\n useEffect(() => {\r\n if (route.authenticated !== false && !isAuthenticated && inProgress === InteractionStatus.None)\r\n instance.loginRedirect({ scopes: [], redirectUri: \"/\" });\r\n }, [route, isAuthenticated, inProgress]);\r\n\r\n const resolvedMode = mode === \"system\" ? (prefersDarkMode ? \"dark\" : \"light\") : mode;\r\n\r\n const theme: Theme = createTheme({\r\n palette: {\r\n mode: resolvedMode,\r\n primary: { main: (colors.primary as any)?.[resolvedMode] || (colors.primary as any)?.main, },\r\n secondary: { main: (colors.secondary as any)?.[resolvedMode] || (colors.secondary as any)?.main, },\r\n background: resolvedMode === \"light\" && colors.background ? { default: colors.background.default, paper: colors.background.paper, } : {},\r\n },\r\n components: {\r\n MuiCssBaseline: {\r\n styleOverrides: (theme) => ({\r\n body: {\r\n \"&::-webkit-scrollbar, & *::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.7em\",\r\n },\r\n \"&::-webkit-scrollbar-track, & *::-webkit-scrollbar-track\": {\r\n backgroundColor: theme.palette.mode === \"dark\" ? grey[900] : grey[200],\r\n borderRadius: \"5px\",\r\n },\r\n \"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb\": {\r\n backgroundColor: theme.palette.mode === \"dark\" ? grey[800] : grey[400],\r\n borderRadius: \"10px\",\r\n },\r\n \"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover\": {\r\n backgroundColor: theme.palette.mode === \"dark\" ? grey[700] : grey[500],\r\n },\r\n \"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner\": {\r\n backgroundColor: \"transparent\",\r\n },\r\n },\r\n }),\r\n },\r\n },\r\n },\r\n i18n.language === \"cs\" ? datePickersCsCz : datePickersEnUs,\r\n i18n.language === \"cs\" ? dataGridCsCz : dataGridEnUs,\r\n i18n.language === \"cs\" ? csCZ : enUS\r\n );\r\n\r\n const title = route.pageTitle ?? route.title;\r\n\r\n useEffect(() => {\r\n if (title) document.title = title;\r\n }, [title]);\r\n\r\n const toggleNavigationDrawer = () => setLeftDrawerOpen(!leftDrawerOpen);\r\n\r\n const hasNavigationRoutes: boolean = navigationRoutes.filter(route => route.showInMenu && !route.disabled).length > 1;\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <Box sx={{ display: \"flex\", position: \"sticky\" }}>\r\n <CssBaseline />\r\n <AppBar position=\"fixed\" open={leftDrawerOpen}>\r\n <Toolbar>\r\n <IconButton color=\"inherit\" onClick={toggleNavigationDrawer} edge=\"start\" sx={{ marginRight: 2, ...((leftDrawerOpen || !hasNavigationRoutes) && { display: \"none\" }) }} >\r\n <Menu />\r\n </IconButton>\r\n\r\n <Typography variant=\"h6\" noWrap component=\"div\" sx={{ flexGrow: 1 }}>{title}</Typography>\r\n\r\n {environment !== \"prd\" && <Chip sx={theme => ({ mr: 1, bgcolor: \"secondary.main\", color: theme.palette.primary.contrastText })} label={environment} />}\r\n\r\n <NotificationMenu notifications={notifications} setNotifications={setNotifications} />\r\n <AccountMenu mode={mode} setMode={setMode} user={user}/>\r\n </Toolbar>\r\n </AppBar>\r\n\r\n <NavigationDrawer routes={navigationRoutes} appVersion={appVersion} open={leftDrawerOpen} setOpen={setLeftDrawerOpen} hasRoutes={hasNavigationRoutes} />\r\n\r\n <Box component=\"main\" sx={{ flex: 1, overflow: \"auto\" }}>\r\n <DrawerHeader />\r\n {(route.authenticated === false || isAuthenticated) && !route.disabled ? children : <Unauthorized />}\r\n </Box>\r\n </Box>\r\n\r\n <DevelopmentBanner user={user} hasNavigationRoutes={hasNavigationRoutes} />\r\n {(isFetching || isMutating) && <LinearProgress sx={{ position: \"fixed\", top: { xs: 56, sm: 64 }, left: 0, right: 0 }} />}\r\n </ThemeProvider>\r\n );\r\n};\r\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Chip, Stack } from "@mui/material";
|
|
3
|
-
import { newGuid } from "../../utils/Helpers";
|
|
4
|
-
const isArray = (value) => Array.isArray(value);
|
|
5
|
-
export const ChipInputCell = ({ params, slotProps, getLabel }) => {
|
|
6
|
-
if (!params.value)
|
|
7
|
-
return null;
|
|
8
|
-
const getLabelValue = (value) => {
|
|
9
|
-
if (getLabel)
|
|
10
|
-
return getLabel(value);
|
|
11
|
-
return value;
|
|
12
|
-
};
|
|
13
|
-
if (isArray(params.value))
|
|
14
|
-
return (_jsx(Stack, { direction: "row", alignItems: "center", gap: 1, sx: { overflowX: "auto", height: "100%", width: params.colDef.computedWidth }, children: params.value.map((value) => _jsx(Chip, { label: getLabelValue(value), ...slotProps }, newGuid())) }));
|
|
15
|
-
return _jsx(Chip, { label: getLabelValue(params.value), ...slotProps });
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=ChipInputCell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChipInputCell.js","sourceRoot":"","sources":["../../../../src/components/dataGrid/ChipInputCell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAa,KAAK,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAQrD,MAAM,CAAC,MAAM,aAAa,GAAG,CAA8B,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAyB,EAAE,EAAE;IACjH,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;QACjC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACrB,OAAO,CACH,KAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAC3H,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAC7B,KAAC,IAAI,IAAiB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAM,SAAS,IAArD,OAAO,EAAE,CAAgD,CACvE,GACG,CACX,CAAC;IAEN,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAM,SAAS,GAAI,CAAC;AACvE,CAAC,CAAC","sourcesContent":["import { Chip, ChipProps, Stack } from \"@mui/material\";\r\nimport { GridRenderCellParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\r\nimport { newGuid } from \"../../utils/Helpers\";\r\n\r\nconst isArray = (value: any) => Array.isArray(value);\r\n\r\ninterface ChipInputCellProps<T extends GridValidRowModel> {\r\n params: GridRenderCellParams<T>;\r\n slotProps?: ChipProps;\r\n getLabel?: (object: T) => string | number;\r\n}\r\n\r\nexport const ChipInputCell = <T extends GridValidRowModel>({ params, slotProps, getLabel }: ChipInputCellProps<T>) => {\r\n if (!params.value) return null;\r\n\r\n const getLabelValue = (value: any) => {\r\n if (getLabel) return getLabel(value);\r\n return value;\r\n };\r\n\r\n if (isArray(params.value))\r\n return (\r\n <Stack direction=\"row\" alignItems=\"center\" gap={1} sx={{ overflowX: \"auto\", height: \"100%\", width: params.colDef.computedWidth }}>\r\n {params.value.map((value: any) =>\r\n <Chip key={newGuid()} label={getLabelValue(value)} {...slotProps} />\r\n )}\r\n </Stack>\r\n );\r\n\r\n return <Chip label={getLabelValue(params.value)} {...slotProps} />;\r\n};"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Edit } from "@mui/icons-material";
|
|
3
|
-
import { TypographyWithIcon } from "../layout/TypographyWithIcon";
|
|
4
|
-
export const EditableColumnHeader = ({ colDef }) => {
|
|
5
|
-
return _jsx(TypographyWithIcon, { endIcon: _jsx(Edit, { color: "disabled", fontSize: "small" }), variant: "body2", className: "MuiDataGrid-columnHeaderTitle", children: colDef.headerName });
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=EditableColumnHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditableColumnHeader.js","sourceRoot":"","sources":["../../../../src/components/dataGrid/EditableColumnHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAA8B,EAAE,MAAM,EAA6B,EAAE,EAAE;IACvG,OAAO,KAAC,kBAAkB,IAAC,OAAO,EAAE,KAAC,IAAI,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,OAAO,GAAG,EAAE,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,+BAA+B,YAAE,MAAM,CAAC,UAAU,GAAsB,CAAC;AACvL,CAAC,CAAC","sourcesContent":["import { Edit } from \"@mui/icons-material\";\r\nimport { GridColumnHeaderParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\r\nimport { TypographyWithIcon } from \"../layout/TypographyWithIcon\";\r\n\r\nexport const EditableColumnHeader = <T extends GridValidRowModel>({ colDef }: GridColumnHeaderParams<T>) => {\r\n return <TypographyWithIcon endIcon={<Edit color=\"disabled\" fontSize=\"small\" />} variant=\"body2\" className=\"MuiDataGrid-columnHeaderTitle\">{colDef.headerName}</TypographyWithIcon>;\r\n};"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GridToolbarProps as MuiGridToolbarProps } from "@mui/x-data-grid-premium";
|
|
2
|
-
import React from "react";
|
|
3
|
-
export interface GridToolbarProps extends MuiGridToolbarProps {
|
|
4
|
-
actions?: React.ReactNode[];
|
|
5
|
-
hideAddNewRow?: boolean;
|
|
6
|
-
newRowDefaultValue?: any;
|
|
7
|
-
}
|
|
8
|
-
export declare const GridToolbar: React.FC<GridToolbarProps>;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Add } from "@mui/icons-material";
|
|
3
|
-
import { Box, Button } from "@mui/material";
|
|
4
|
-
import { GridToolbarColumnsButton, GridToolbarContainer, GridToolbarExport, GridToolbarFilterButton, GridToolbarQuickFilter, useGridApiContext } from "@mui/x-data-grid-premium";
|
|
5
|
-
import { useContext } from "react";
|
|
6
|
-
import { LayoutContext } from "../../contexts/LayoutContext";
|
|
7
|
-
import { newGuid } from "../../utils/Helpers";
|
|
8
|
-
const getFirstEditableColumn = (apiRef) => {
|
|
9
|
-
const editableColumns = apiRef.getAllColumns().filter(column => column.editable);
|
|
10
|
-
if (editableColumns.length)
|
|
11
|
-
return editableColumns[0];
|
|
12
|
-
};
|
|
13
|
-
const hasEditableColumn = (apiRef) => {
|
|
14
|
-
const editableColumns = apiRef === null || apiRef === void 0 ? void 0 : apiRef.getAllColumns().filter(column => column.editable);
|
|
15
|
-
return !!(editableColumns === null || editableColumns === void 0 ? void 0 : editableColumns.length);
|
|
16
|
-
};
|
|
17
|
-
export const GridToolbar = (props) => {
|
|
18
|
-
var _a, _b, _c, _d;
|
|
19
|
-
const apiRef = useGridApiContext();
|
|
20
|
-
const { t } = useContext(LayoutContext);
|
|
21
|
-
const handleOnAddRecordClick = () => {
|
|
22
|
-
var _a, _b, _c, _d;
|
|
23
|
-
if (!apiRef.current)
|
|
24
|
-
return;
|
|
25
|
-
const rowIds = (_a = apiRef.current) === null || _a === void 0 ? void 0 : _a.getAllRowIds();
|
|
26
|
-
const allRows = rowIds.map(rowId => { var _a; return ((_a = apiRef.current) === null || _a === void 0 ? void 0 : _a.getRow(rowId)); });
|
|
27
|
-
const id = (_c = (_b = props.newRowDefaultValue) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : newGuid();
|
|
28
|
-
(_d = apiRef.current) === null || _d === void 0 ? void 0 : _d.setRows([{ ...props.newRowDefaultValue, id, isNew: true }, ...allRows]);
|
|
29
|
-
setTimeout(() => { var _a; return (_a = apiRef.current) === null || _a === void 0 ? void 0 : _a.startRowEditMode({ id }); });
|
|
30
|
-
const firstEditableColumn = getFirstEditableColumn(apiRef.current);
|
|
31
|
-
if (firstEditableColumn) {
|
|
32
|
-
apiRef.current.setCellFocus(id, firstEditableColumn.field);
|
|
33
|
-
setTimeout(() => { var _a; return (_a = apiRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndexes({ rowIndex: 0 }); });
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const showNewRowButton = hasEditableColumn(apiRef.current) && !props.hideAddNewRow;
|
|
37
|
-
const hasActiveFilters = !!((_a = apiRef.current) === null || _a === void 0 ? void 0 : _a.state.filter.filterModel.items.length) || !!((_c = (_b = apiRef.current) === null || _b === void 0 ? void 0 : _b.state.filter.filterModel.quickFilterValues) === null || _c === void 0 ? void 0 : _c.length);
|
|
38
|
-
return (_jsxs(GridToolbarContainer, { children: [_jsx(GridToolbarColumnsButton, {}), _jsx(GridToolbarFilterButton, {}), _jsx(GridToolbarExport, {}), showNewRowButton && _jsx(Button, { size: "small", startIcon: _jsx(Add, {}), onClick: handleOnAddRecordClick, disabled: hasActiveFilters, children: t("Layout.AddRow") }), (_d = props.actions) === null || _d === void 0 ? void 0 : _d.map(action => action), _jsx(Box, { sx: { flexGrow: 1 } }), _jsx(GridToolbarQuickFilter, {})] }));
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=GridToolbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GridToolbar.js","sourceRoot":"","sources":["../../../../src/components/dataGrid/GridToolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Add } from \"@mui/icons-material\";\r\nimport { Box, Button } from \"@mui/material\";\r\nimport { GridRowId, GridToolbarColumnsButton, GridToolbarContainer, GridToolbarExport, GridToolbarFilterButton, GridToolbarQuickFilter, GridToolbarProps as MuiGridToolbarProps, useGridApiContext } from \"@mui/x-data-grid-premium\";\r\nimport { GridApiPremium } from \"@mui/x-data-grid-premium/models/gridApiPremium\";\r\nimport React, { useContext } from \"react\";\r\nimport { LayoutContext } from \"../../contexts/LayoutContext\";\r\nimport { newGuid } from \"../../utils/Helpers\";\r\n\r\nconst getFirstEditableColumn = (apiRef: GridApiPremium) => {\r\n const editableColumns = apiRef.getAllColumns().filter(column => column.editable);\r\n if (editableColumns.length)\r\n return editableColumns[0];\r\n};\r\n\r\nconst hasEditableColumn = (apiRef: GridApiPremium | null) => {\r\n const editableColumns = apiRef?.getAllColumns().filter(column => column.editable);\r\n return !!editableColumns?.length;\r\n};\r\n\r\nexport interface GridToolbarProps extends MuiGridToolbarProps {\r\n actions?: React.ReactNode[];\r\n hideAddNewRow?: boolean;\r\n newRowDefaultValue?: any;\r\n}\r\n\r\nexport const GridToolbar: React.FC<GridToolbarProps> = (props) => {\r\n const apiRef = useGridApiContext();\r\n const { t } = useContext(LayoutContext);\r\n\r\n const handleOnAddRecordClick = () => {\r\n if (!apiRef.current) return;\r\n\r\n const rowIds: GridRowId[] = apiRef.current?.getAllRowIds();\r\n const allRows: any[] = rowIds.map(rowId => (apiRef.current?.getRow(rowId)));\r\n\r\n const id: GridRowId = props.newRowDefaultValue?.id ?? newGuid();\r\n apiRef.current?.setRows([{ ...props.newRowDefaultValue, id, isNew: true }, ...allRows]);\r\n setTimeout(() => apiRef.current?.startRowEditMode({ id }));\r\n\r\n const firstEditableColumn = getFirstEditableColumn(apiRef.current);\r\n if (firstEditableColumn) {\r\n apiRef.current.setCellFocus(id, firstEditableColumn.field);\r\n setTimeout(() => apiRef.current?.scrollToIndexes({ rowIndex: 0 }));\r\n }\r\n };\r\n\r\n const showNewRowButton = hasEditableColumn(apiRef.current) && !props.hideAddNewRow;\r\n const hasActiveFilters = !!apiRef.current?.state.filter.filterModel.items.length || !!apiRef.current?.state.filter.filterModel.quickFilterValues?.length;\r\n\r\n return (\r\n <GridToolbarContainer>\r\n <GridToolbarColumnsButton />\r\n <GridToolbarFilterButton />\r\n <GridToolbarExport />\r\n {showNewRowButton && <Button size=\"small\" startIcon={<Add />} onClick={handleOnAddRecordClick} disabled={hasActiveFilters}>{t(\"Layout.AddRow\")}</Button>}\r\n {props.actions?.map(action => action)}\r\n\r\n <Box sx={{ flexGrow: 1 }} />\r\n\r\n <GridToolbarQuickFilter />\r\n </GridToolbarContainer>\r\n );\r\n};"]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Box, useTheme } from "@mui/material";
|
|
3
|
-
export const TableContainer = ({ sx, ...props }) => {
|
|
4
|
-
const theme = useTheme();
|
|
5
|
-
return (_jsx(Box, { ...props, sx: {
|
|
6
|
-
height: { xs: "calc(100vh - 56px)", sm: "calc(100vh - 64px)" },
|
|
7
|
-
"& .MuiDataGrid-cell--editing": {
|
|
8
|
-
"& .MuiInputBase-root": {
|
|
9
|
-
height: "100%",
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
"& .MuiDataGrid-columnHeaderTitle": {
|
|
13
|
-
fontWeight: "600",
|
|
14
|
-
},
|
|
15
|
-
"& .MuiDataGrid-cell": {
|
|
16
|
-
display: "flex",
|
|
17
|
-
alignItems: "center",
|
|
18
|
-
},
|
|
19
|
-
"& .Mui-error": {
|
|
20
|
-
backgroundColor: theme.palette.error.main,
|
|
21
|
-
color: theme.palette.error.contrastText
|
|
22
|
-
},
|
|
23
|
-
"& .MuiDataGrid-booleanCell[data-value=\"true\"]": {
|
|
24
|
-
color: `${theme.palette.success.main}!important`
|
|
25
|
-
},
|
|
26
|
-
"& .MuiDataGrid-booleanCell[data-value=\"false\"]": {
|
|
27
|
-
color: `${theme.palette.error.main}!important`
|
|
28
|
-
},
|
|
29
|
-
...sx
|
|
30
|
-
}, children: props.children }));
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=TableContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableContainer.js","sourceRoot":"","sources":["../../../../src/components/dataGrid/TableContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,cAAc,GAAuB,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACH,KAAC,GAAG,OACI,KAAK,EACT,EAAE,EAAE;YACA,MAAM,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,oBAAoB,EAAE;YAC9D,8BAA8B,EAAE;gBAC5B,sBAAsB,EAAE;oBACpB,MAAM,EAAE,MAAM;iBACjB;aACJ;YACD,kCAAkC,EAAE;gBAChC,UAAU,EAAE,KAAK;aACpB;YACD,qBAAqB,EAAE;gBACnB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;aACvB;YACD,cAAc,EAAE;gBACZ,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;gBACzC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY;aAC1C;YACD,iDAAiD,EAAE;gBAC/C,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,YAAY;aACnD;YACD,kDAAkD,EAAE;gBAChD,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY;aACjD;YACD,GAAG,EAAE;SACR,YACA,KAAK,CAAC,QAAQ,GACb,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { Box, BoxProps, useTheme } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport const TableContainer: React.FC<BoxProps> = ({ sx, ...props }) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n <Box\r\n {...props}\r\n sx={{\r\n height: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" },\r\n \"& .MuiDataGrid-cell--editing\": {\r\n \"& .MuiInputBase-root\": {\r\n height: \"100%\",\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaderTitle\": {\r\n fontWeight: \"600\",\r\n },\r\n \"& .MuiDataGrid-cell\": {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n \"& .Mui-error\": {\r\n backgroundColor: theme.palette.error.main,\r\n color: theme.palette.error.contrastText\r\n },\r\n \"& .MuiDataGrid-booleanCell[data-value=\\\"true\\\"]\": {\r\n color: `${theme.palette.success.main}!important`\r\n },\r\n \"& .MuiDataGrid-booleanCell[data-value=\\\"false\\\"]\": {\r\n color: `${theme.palette.error.main}!important`\r\n },\r\n ...sx\r\n }}>\r\n {props.children}\r\n </Box>\r\n );\r\n};"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Autocomplete, TextField } from "@mui/material";
|
|
3
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
4
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
5
|
-
export const FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
|
|
6
|
-
const field = useFieldContext();
|
|
7
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
8
|
-
return (_jsx(Autocomplete, { value: field.state.value, onChange: (_, value) => !autocompleteProps.freeSolo && field.handleChange(value), onInputChange: (_, value, reason) => reason !== "reset" && autocompleteProps.freeSolo && field.handleChange(value), onBlur: field.handleBlur, "aria-label": field.name, ...autocompleteProps, renderInput: (params) => _jsx(TextField, { ...params, name: field.name, error: isTouched && hasError, helperText: isTouched && helperText, ...textFieldProps }) }));
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=FormAutocomplete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormAutocomplete.js","sourceRoot":"","sources":["../../../../src/components/form/FormAutocomplete.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAqB,SAAS,EAAkB,MAAM,eAAe,CAAC;AAG3F,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,EAAE,EAAE;IACpG,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,KAAC,YAAY,IACT,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAChF,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,iBAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAClH,MAAM,EAAE,KAAK,CAAC,UAAU,gBACZ,KAAK,CAAC,IAAI,KAClB,iBAAiB,EACrB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,KAAC,SAAS,OACF,MAAM,EACV,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,SAAS,IAAI,QAAQ,EAC5B,UAAU,EAAE,SAAS,IAAI,UAAU,KAC/B,cAAc,GACpB,GAER,CACL,CAAA;AACL,CAAC,CAAA","sourcesContent":["import { Autocomplete, AutocompleteProps, TextField, TextFieldProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\n\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\n\r\nexport interface FormAutocompleteProps extends Omit<AutocompleteProps<any, boolean, boolean, boolean>, FormOmittedProps> {\r\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\r\n}\r\n\r\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({ textFieldProps, ...autocompleteProps }) => {\r\n const field = useFieldContext();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <Autocomplete\r\n value={field.state.value}\r\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\r\n onInputChange={(_, value, reason) => reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...autocompleteProps}\r\n renderInput={(params) =>\r\n <TextField\r\n {...params}\r\n name={field.name}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n {...textFieldProps}\r\n />\r\n }\r\n />\r\n )\r\n}"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Checkbox, FormControl, FormControlLabel, FormHelperText } from "@mui/material";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
export const FormCheckbox = (props) => {
|
|
6
|
-
var _a;
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsxs(FormControl, { component: "fieldset", children: [_jsx(FormControlLabel, { control: _jsx(Checkbox, { name: field.name, checked: Boolean(field.state.value), onChange: (e) => field.handleChange(e.target.checked), onBlur: field.handleBlur, "aria-label": field.name, ...props }), label: (_a = props.label) !== null && _a !== void 0 ? _a : "" }), isTouched && hasError && _jsx(FormHelperText, { error: hasError, children: helperText })] }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=FormCheckbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckbox.js","sourceRoot":"","sources":["../../../../src/components/form/FormCheckbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAiB,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,KAAK,EAAE,EAAE;;IACzD,MAAM,KAAK,GAAG,eAAe,EAA8B,CAAC;IAC5D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,WAAW,IAAC,SAAS,EAAC,UAAU,aAC7B,KAAC,gBAAgB,IACb,OAAO,EACH,KAAC,QAAQ,IACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACrD,MAAM,EAAE,KAAK,CAAC,UAAU,gBACZ,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,EAEN,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,GAC1B,EACD,SAAS,IAAI,QAAQ,IAAI,KAAC,cAAc,IAAC,KAAK,EAAE,QAAQ,YAAG,UAAU,GAAkB,IAC9E,CACjB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { Checkbox, CheckboxProps, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\n\r\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(e) => field.handleChange(e.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TextFieldProps } from "@mui/material";
|
|
2
|
-
import { DatePickerProps } from "@mui/x-date-pickers-pro";
|
|
3
|
-
import { FC } from "react";
|
|
4
|
-
import { FormOmittedProps } from "../../utils/FormUtils";
|
|
5
|
-
import { Moment } from "moment";
|
|
6
|
-
export interface FormDatePickerProps extends Omit<DatePickerProps<Moment>, FormOmittedProps> {
|
|
7
|
-
textFieldProps?: TextFieldProps;
|
|
8
|
-
}
|
|
9
|
-
export declare const FormDatePicker: FC<FormDatePickerProps>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { DatePicker } from "@mui/x-date-pickers-pro";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
import moment from "moment";
|
|
6
|
-
export const FormDatePicker = (props) => {
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsx(DatePicker, { name: field.name, value: field.state.value ? moment(field.state.value) : null, onChange: (value) => field.handleChange(value ? value.format() : null), slotProps: {
|
|
10
|
-
textField: {
|
|
11
|
-
onBlur: field.handleBlur,
|
|
12
|
-
error: isTouched && hasError,
|
|
13
|
-
helperText: isTouched && helperText,
|
|
14
|
-
...props.textFieldProps
|
|
15
|
-
},
|
|
16
|
-
...props.slotProps
|
|
17
|
-
}, "aria-label": field.name, ...props }));
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=FormDatePicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormDatePicker.js","sourceRoot":"","sources":["../../../../src/components/form/FormDatePicker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,MAAkB,MAAM,QAAQ,CAAC;AAMxC,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC7D,MAAM,KAAK,GAAG,eAAe,EAA6B,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,KAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACtE,SAAS,EAAE;YACP,SAAS,EAAE;gBACP,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,KAAK,EAAE,SAAS,IAAI,QAAQ;gBAC5B,UAAU,EAAE,SAAS,IAAI,UAAU;gBACnC,GAAG,KAAK,CAAC,cAAc;aAC1B;YACD,GAAG,KAAK,CAAC,SAAS;SACrB,gBACW,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,CACL,CAAA;AACL,CAAC,CAAA","sourcesContent":["import { TextFieldProps } from \"@mui/material\";\r\nimport { DatePicker, DatePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\nimport moment, { Moment } from \"moment\";\r\n\r\nexport interface FormDatePickerProps extends Omit<DatePickerProps<Moment>, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\r\n const field = useFieldContext<string | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DatePicker\r\n name={field.name}\r\n value={field.state.value ? moment(field.state.value) : null}\r\n onChange={(value) => field.handleChange(value ? value.format() : null)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n )\r\n}"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TextFieldProps } from "@mui/material";
|
|
2
|
-
import { DateTimePickerProps } from "@mui/x-date-pickers-pro";
|
|
3
|
-
import { FC } from "react";
|
|
4
|
-
import { FormOmittedProps } from "../../utils/FormUtils";
|
|
5
|
-
import { Moment } from "moment";
|
|
6
|
-
export interface FormDateTimePickerProps extends Omit<DateTimePickerProps<Moment>, FormOmittedProps> {
|
|
7
|
-
textFieldProps?: TextFieldProps;
|
|
8
|
-
}
|
|
9
|
-
export declare const FormDateTimePicker: FC<FormDateTimePickerProps>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { DateTimePicker } from "@mui/x-date-pickers-pro";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
import moment from "moment";
|
|
6
|
-
export const FormDateTimePicker = (props) => {
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsx(DateTimePicker, { name: field.name, value: field.state.value ? moment(field.state.value) : null, onChange: (value) => field.handleChange(value ? value.format() : null), slotProps: {
|
|
10
|
-
textField: {
|
|
11
|
-
onBlur: field.handleBlur,
|
|
12
|
-
error: isTouched && hasError,
|
|
13
|
-
helperText: isTouched && helperText,
|
|
14
|
-
...props.textFieldProps,
|
|
15
|
-
},
|
|
16
|
-
...props.slotProps
|
|
17
|
-
}, "aria-label": field.name, ...props }));
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=FormDateTimePicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormDateTimePicker.js","sourceRoot":"","sources":["../../../../src/components/form/FormDateTimePicker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,MAAkB,MAAM,QAAQ,CAAC;AAMxC,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,KAAK,GAAG,eAAe,EAA6B,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,KAAC,cAAc,IACX,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACtE,SAAS,EAAE;YACP,SAAS,EAAE;gBACP,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,KAAK,EAAE,SAAS,IAAI,QAAQ;gBAC5B,UAAU,EAAE,SAAS,IAAI,UAAU;gBACnC,GAAG,KAAK,CAAC,cAAc;aAC1B;YACD,GAAG,KAAK,CAAC,SAAS;SACrB,gBACW,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { TextFieldProps } from \"@mui/material\";\r\nimport { DateTimePicker, DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\nimport moment, { Moment } from \"moment\";\r\n\r\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps<Moment>, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\r\n const field = useFieldContext<string | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimePicker\r\n name={field.name}\r\n value={field.state.value ? moment(field.state.value) : null}\r\n onChange={(value) => field.handleChange(value ? value.format() : null)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps,\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { TextField } from '@mui/material';
|
|
3
|
-
import { NumericFormat } from 'react-number-format';
|
|
4
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
5
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
6
|
-
export const FormNumberField = ({ options, ...props }) => {
|
|
7
|
-
var _a;
|
|
8
|
-
const field = useFieldContext();
|
|
9
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
10
|
-
return (_jsx(NumericFormat, { customInput: TextField, name: field.name, value: (_a = field.state.value) !== null && _a !== void 0 ? _a : '', onValueChange: ({ floatValue }) => field.handleChange(floatValue), onBlur: field.handleBlur, error: isTouched && hasError, helperText: isTouched && helperText, "aria-label": field.name, ...props, ...options }));
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=FormNumberField.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormNumberField.js","sourceRoot":"","sources":["../../../../src/components/form/FormNumberField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAUzE,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;;IAClF,MAAM,KAAK,GAAG,eAAe,EAA6B,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACN,KAAC,aAAa,IACb,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,EAC9B,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EACjE,MAAM,EAAE,KAAK,CAAC,UAAU,EACxB,KAAK,EAAE,SAAS,IAAI,QAAQ,EAC5B,UAAU,EAAE,SAAS,IAAI,UAAU,gBACvB,KAAK,CAAC,IAAI,KAClB,KAAK,KACL,OAAO,GACV,CACF,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { TextField, TextFieldProps } from '@mui/material';\r\nimport { FC } from 'react';\r\nimport { NumericFormat } from 'react-number-format';\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\nimport { NumericFormatProps, InputAttributes } from 'react-number-format/types/types';\r\n\r\ninterface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> { }\r\n\r\nexport interface FormNumberFieldProps extends FormTextFieldProps {\r\n\tdefaultValue?: number | null;\r\n\toptions?: Omit<NumericFormatProps<InputAttributes>, \"customInput\" | \"onValueChange\" | keyof InputAttributes>;\r\n}\r\n\r\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\r\n\tconst field = useFieldContext<number | null | undefined>();\r\n\tconst { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n\treturn (\r\n\t\t<NumericFormat\r\n\t\t\tcustomInput={TextField}\r\n\t\t\tname={field.name}\r\n\t\t\tvalue={field.state.value ?? ''}\r\n\t\t\tonValueChange={({ floatValue }) => field.handleChange(floatValue)}\r\n\t\t\tonBlur={field.handleBlur}\r\n\t\t\terror={isTouched && hasError}\r\n\t\t\thelperText={isTouched && helperText}\r\n\t\t\taria-label={field.name}\r\n\t\t\t{...props}\r\n\t\t\t{...options}\r\n\t\t/>\r\n\t);\r\n}"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup } from "@mui/material";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
export const FormRadioGroup = ({ label, options, ...props }) => {
|
|
6
|
-
var _a;
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsxs(FormControl, { component: "fieldset", children: [label && _jsx(FormLabel, { component: "legend", children: label }), _jsx(RadioGroup, { name: field.name, value: (_a = field.state.value) !== null && _a !== void 0 ? _a : "", onChange: (e) => field.handleChange(e.target.value), onBlur: field.handleBlur, "aria-label": field.name, ...props, children: options.map((option) => (_jsx(FormControlLabel, { value: option.value, control: _jsx(Radio, {}), label: option.label }, option.value))) }), isTouched && hasError && _jsx(FormHelperText, { error: hasError, children: helperText })] }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=FormRadioGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormRadioGroup.js","sourceRoot":"","sources":["../../../../src/components/form/FormRadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAE7H,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAYzE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;;IACpF,MAAM,KAAK,GAAG,eAAe,EAAsC,CAAC;IACpE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,WAAW,IAAC,SAAS,EAAC,UAAU,aAC5B,KAAK,IAAI,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,YAAE,KAAK,GAAa,EAC3D,KAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACnD,MAAM,EAAE,KAAK,CAAC,UAAU,gBACZ,KAAK,CAAC,IAAI,KAClB,KAAK,YAER,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,gBAAgB,IAEb,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,KAAC,KAAK,KAAG,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,IAHd,MAAM,CAAC,KAAK,CAInB,CACL,CAAC,GACO,EACZ,SAAS,IAAI,QAAQ,IAAI,KAAC,cAAc,IAAC,KAAK,EAAE,QAAQ,YAAG,UAAU,GAAkB,IAC9E,CACjB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup, RadioGroupProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\n\r\ninterface Option {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\r\n label?: string;\r\n options: Option[];\r\n}\r\n\r\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\r\n <RadioGroup\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={(e) => field.handleChange(e.target.value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n >\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n value={option.value}\r\n control={<Radio />}\r\n label={option.label}\r\n />\r\n ))}\r\n </RadioGroup>\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FormControl, FormHelperText, FormLabel, Slider } from "@mui/material";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
export const FormSlider = ({ label, ...props }) => {
|
|
6
|
-
var _a;
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsxs(FormControl, { component: "fieldset", children: [label && _jsx(FormLabel, { children: label }), _jsx(Slider, { name: field.name, value: (_a = field.state.value) !== null && _a !== void 0 ? _a : 0, onChange: (_, value) => field.handleChange(Array.isArray(value) ? value[0] : value), onBlur: field.handleBlur, "aria-label": field.name, ...props }), isTouched && hasError && _jsx(FormHelperText, { error: hasError, children: helperText })] }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=FormSlider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSlider.js","sourceRoot":"","sources":["../../../../src/components/form/FormSlider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;;IACnE,MAAM,KAAK,GAAG,eAAe,EAA6B,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,WAAW,IAAC,SAAS,EAAC,UAAU,aAC5B,KAAK,IAAI,KAAC,SAAS,cAAE,KAAK,GAAa,EACxC,KAAC,MAAM,IACH,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAI,CAAC,EAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACnF,MAAM,EAAE,KAAK,CAAC,UAAU,gBACZ,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,EACD,SAAS,IAAI,QAAQ,IAAI,KAAC,cAAc,IAAC,KAAK,EAAE,QAAQ,YAAG,UAAU,GAAkB,IAC9E,CACjB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { FormControl, FormHelperText, FormLabel, Slider, SliderProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\n\r\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\r\n const field = useFieldContext<number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel>{label}</FormLabel>}\r\n <Slider\r\n name={field.name}\r\n value={field.state.value ?? 0}\r\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from "@mui/material";
|
|
3
|
-
import { useFormContext } from "../../hooks/FormHooks";
|
|
4
|
-
export const FormSubmitButton = (props) => {
|
|
5
|
-
const form = useFormContext();
|
|
6
|
-
const handleClick = (e) => {
|
|
7
|
-
e.preventDefault();
|
|
8
|
-
e.stopPropagation();
|
|
9
|
-
form.handleSubmit();
|
|
10
|
-
};
|
|
11
|
-
return (_jsx(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => (_jsx(Button, { loading: isSubmitting, disabled: !canSubmit, onClick: handleClick, "aria-label": "submit", ...props })) }));
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=FormSubmitButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSubmitButton.js","sourceRoot":"","sources":["../../../../src/components/form/FormSubmitButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,KAAK,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC3D,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,IAAI,CAAC,SAAS,IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,YACrE,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAC5B,KAAC,MAAM,IACH,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,CAAC,SAAS,EACpB,OAAO,EAAE,WAAW,gBACT,QAAQ,KACf,KAAK,GACX,CACL,GACY,CACpB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { Button, ButtonProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFormContext } from \"../../hooks/FormHooks\";\r\n\r\nexport interface FormSubmitButtonProps extends Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\"> { }\r\n\r\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\r\n const form = useFormContext();\r\n\r\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n form.handleSubmit();\r\n };\r\n\r\n return (\r\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\r\n {([canSubmit, isSubmitting]) => (\r\n <Button\r\n loading={isSubmitting}\r\n disabled={!canSubmit}\r\n onClick={handleClick}\r\n aria-label=\"submit\"\r\n {...props}\r\n />\r\n )}\r\n </form.Subscribe>\r\n );\r\n};"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FormControl, FormControlLabel, FormHelperText, Switch } from "@mui/material";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
export const FormSwitch = (props) => {
|
|
6
|
-
var _a;
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsxs(FormControl, { component: "fieldset", children: [_jsx(FormControlLabel, { control: _jsx(Switch, { name: field.name, checked: Boolean(field.state.value), onChange: (e) => field.handleChange(e.target.checked), onBlur: field.handleBlur, "aria-label": field.name, ...props }), label: (_a = props.label) !== null && _a !== void 0 ? _a : "" }), isTouched && hasError && _jsx(FormHelperText, { error: hasError, children: helperText })] }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=FormSwitch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormSwitch.js","sourceRoot":"","sources":["../../../../src/components/form/FormSwitch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,KAAK,EAAE,EAAE;;IACrD,MAAM,KAAK,GAAG,eAAe,EAA8B,CAAC;IAC5D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,WAAW,IAAC,SAAS,EAAC,UAAU,aAC7B,KAAC,gBAAgB,IACb,OAAO,EACH,KAAC,MAAM,IACH,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACrD,MAAM,EAAE,KAAK,CAAC,UAAU,gBACZ,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,EAEN,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,GAC1B,EACD,SAAS,IAAI,QAAQ,IAAI,KAAC,cAAc,IAAC,KAAK,EAAE,QAAQ,YAAG,UAAU,GAAkB,IAC9E,CACjB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { FormControl, FormControlLabel, FormHelperText, Switch, SwitchProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\n\r\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Switch\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(e) => field.handleChange(e.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { TextField } from "@mui/material";
|
|
3
|
-
import { useFieldContext } from "../../hooks/FormHooks";
|
|
4
|
-
import { getFieldStatus } from "../../utils/FormUtils";
|
|
5
|
-
export const FormTextField = (props) => {
|
|
6
|
-
var _a;
|
|
7
|
-
const field = useFieldContext();
|
|
8
|
-
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
9
|
-
return (_jsx(TextField, { name: field.name, value: (_a = field.state.value) !== null && _a !== void 0 ? _a : '', onChange: e => field.handleChange(e.target.value), onBlur: field.handleBlur, error: isTouched && hasError, helperText: isTouched && helperText, "aria-label": field.name, ...props }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=FormTextField.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormTextField.js","sourceRoot":"","sources":["../../../../src/components/form/FormTextField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,KAAK,EAAE,EAAE;;IAC3D,MAAM,KAAK,GAAG,eAAe,EAAsC,CAAC;IACpE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACH,KAAC,SAAS,IACN,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,MAAM,EAAE,KAAK,CAAC,UAAU,EACxB,KAAK,EAAE,SAAS,IAAI,QAAQ,EAC5B,UAAU,EAAE,SAAS,IAAI,UAAU,gBACvB,KAAK,CAAC,IAAI,KAClB,KAAK,GACX,CACL,CAAA;AACL,CAAC,CAAA","sourcesContent":["import { TextField, TextFieldProps } from \"@mui/material\";\r\nimport { FC } from \"react\";\r\nimport { useFieldContext } from \"../../hooks/FormHooks\";\r\nimport { FormOmittedProps, getFieldStatus } from \"../../utils/FormUtils\";\r\n\r\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\"\r\n}\r\n\r\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TextField\r\n name={field.name}\r\n value={field.state.value ?? ''}\r\n onChange={e => field.handleChange(e.target.value)}\r\n onBlur={field.handleBlur}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n )\r\n}"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { User } from "../../models/User";
|
|
3
|
-
interface AccountMenuProps {
|
|
4
|
-
mode: "light" | "dark" | "system";
|
|
5
|
-
setMode: (mode: "light" | "dark" | "system") => void;
|
|
6
|
-
user: User;
|
|
7
|
-
}
|
|
8
|
-
export declare const AccountMenu: React.FC<AccountMenuProps>;
|
|
9
|
-
export {};
|