@m4l/components 0.1.28 → 0.1.29

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.
Files changed (33) hide show
  1. package/components/CommonActions/components/ActionCancel/{index.e498eeb2.js → index.a57fcfae.js} +1 -1
  2. package/components/CommonActions/components/ActionFormCancel/{index.4ff0ad73.js → index.b8215cd2.js} +2 -2
  3. package/components/CommonActions/components/ActionIntro/{index.60ef7bd7.js → index.591a8195.js} +1 -1
  4. package/components/CommonActions/components/Actions/{index.0645e30f.js → index.2ce05d29.js} +7 -7
  5. package/components/DataGrid/{index.76d8fd25.js → index.07162c02.js} +3 -3
  6. package/components/DynamicFilter/components/PopupEditFilter/styles.d.ts +1 -0
  7. package/components/DynamicFilter/components/fieldstypes/DateTimeFilter/index.d.ts +2 -2
  8. package/components/DynamicFilter/components/fieldstypes/factory.d.ts +2 -2
  9. package/components/DynamicFilter/{index.342ba5fe.js → index.31876c9f.js} +67 -62
  10. package/components/ModalDialog/{index.9ea10764.js → index.3e5675c4.js} +5 -3
  11. package/components/ObjectLogs/{index.f941fb79.js → index.35dbf836.js} +19 -8
  12. package/components/Period/{index.2941fbda.js → index.111600f2.js} +2 -2
  13. package/components/formatters/BooleanFormatter/{index.8da35c9c.js → index.ae70b54f.js} +1 -0
  14. package/components/formatters/DateFormatter/{index.1b9baacc.js → index.ed73f8ae.js} +9 -11
  15. package/components/formatters/{index.689a8086.js → index.9bd10770.js} +1 -0
  16. package/components/hook-form/RHFAutocomplete/{index.59a68f9f.js → index.de93fe01.js} +89 -34
  17. package/components/hook-form/RHFAutocomplete/styles.d.ts +0 -2
  18. package/components/hook-form/RHFAutocomplete/subcomponents/Skeleton/index.d.ts +3 -0
  19. package/components/hook-form/RHFAutocomplete/subcomponents/Skeleton/styles.d.ts +3 -0
  20. package/components/hook-form/RHFAutocomplete/subcomponents/Skeleton/types.d.ts +4 -0
  21. package/components/hook-form/RHFAutocompleteAsync/{index.c3083062.js → index.ca696cce.js} +1 -1
  22. package/components/hook-form/RHFDateTime/{index.9231a7c7.js → index.e70d2de3.js} +36 -23
  23. package/components/hook-form/RHFDateTime/types.d.ts +1 -0
  24. package/components/hook-form/RHFPeriod/{index.64a228d5.js → index.fa8426ac.js} +1 -1
  25. package/components/mui_extended/Button/{index.53b56958.js → index.1d13f53b.js} +1 -1
  26. package/components/mui_extended/Pager/{index.c0865b70.js → index.72b43352.js} +1 -1
  27. package/components/mui_extended/Popover/{index.705275a4.js → index.028756ac.js} +3 -3
  28. package/contexts/ModalContext/{index.b92fa565.js → index.cc3690d3.js} +7 -12
  29. package/contexts/ModalContext/types.d.ts +1 -2
  30. package/contexts/RHFormContext/{index.b142190a.js → index.f8c00745.js} +1 -0
  31. package/hooks/useModal/{index.5fee01a3.js → index.78ee58f3.js} +1 -1
  32. package/index.js +23 -23
  33. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { useModuleDictionary } from "@m4l/core";
2
- import { B as Button } from "../../../mui_extended/Button/index.53b56958.js";
2
+ import { B as Button } from "../../../mui_extended/Button/index.1d13f53b.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  const ActionCancel = (props) => {
5
5
  const {
@@ -2,9 +2,9 @@ import { useFormContext, useFormState } from "react-hook-form";
2
2
  import { useNavigate } from "react-router-dom";
3
3
  import { useModuleDictionary, useModuleSkeleton } from "@m4l/core";
4
4
  import { Skeleton } from "@mui/material";
5
- import { B as Button } from "../../../mui_extended/Button/index.53b56958.js";
5
+ import { B as Button } from "../../../mui_extended/Button/index.1d13f53b.js";
6
6
  import { useCallback } from "react";
7
- import { u as useModal } from "../../../../hooks/useModal/index.5fee01a3.js";
7
+ import { u as useModal } from "../../../../hooks/useModal/index.78ee58f3.js";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
  function ActionFormCancel(props) {
10
10
  const {
@@ -1,5 +1,5 @@
1
1
  import { useModuleDictionary } from "@m4l/core";
2
- import { B as Button } from "../../../mui_extended/Button/index.53b56958.js";
2
+ import { B as Button } from "../../../mui_extended/Button/index.1d13f53b.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  const ActionIntro = (props) => {
5
5
  const {
@@ -6,16 +6,16 @@ import "@mui/material/Button";
6
6
  import "react-hook-form";
7
7
  import "react-router-dom";
8
8
  import { useState, useMemo, forwardRef, useRef, useImperativeHandle, useEffect, useCallback } from "react";
9
- import "../../../../contexts/ModalContext/index.b92fa565.js";
9
+ import "../../../../contexts/ModalContext/index.cc3690d3.js";
10
10
  import "@mui/lab";
11
11
  import { I as IconButton$1 } from "../../../mui_extended/IconButton/index.a321e5cb.js";
12
- import { u as useBase, a as useFilters, O as OriginalDataGridWrapperStyled } from "../../../DataGrid/index.76d8fd25.js";
13
- import { P as Pager } from "../../../mui_extended/Pager/index.c0865b70.js";
12
+ import { u as useBase, a as useFilters, O as OriginalDataGridWrapperStyled } from "../../../DataGrid/index.07162c02.js";
13
+ import { P as Pager } from "../../../mui_extended/Pager/index.72b43352.js";
14
14
  import { D as DataGrid$1 } from "../../../../react-data-grid.d46d625e.js";
15
- import { u as useModal } from "../../../../hooks/useModal/index.5fee01a3.js";
16
- import { A as ActionCancel } from "../ActionCancel/index.e498eeb2.js";
17
- import { A as ActionIntro } from "../ActionIntro/index.60ef7bd7.js";
18
- import { P as Popover } from "../../../mui_extended/Popover/index.705275a4.js";
15
+ import { u as useModal } from "../../../../hooks/useModal/index.78ee58f3.js";
16
+ import { A as ActionCancel } from "../ActionCancel/index.a57fcfae.js";
17
+ import { A as ActionIntro } from "../ActionIntro/index.591a8195.js";
18
+ import { P as Popover } from "../../../mui_extended/Popover/index.028756ac.js";
19
19
  import { I as Icon } from "../../../Icon/index.619c31c4.js";
20
20
  import { useResponsiveDesktop } from "@m4l/graphics";
21
21
  const WrapperStandarActions = styled("div")(({
@@ -6,9 +6,9 @@ import { HTML5Backend } from "react-dnd-html5-backend";
6
6
  import { SvgIcon, Checkbox, InputBase, Skeleton } from "@mui/material";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { voidFunction, useModuleDictionary, useModuleSkeleton } from "@m4l/core";
9
- import { A as ActionsColumn, a as Actions } from "../CommonActions/components/Actions/index.0645e30f.js";
10
- import { g as getModalDialogComponentsDictionary, d as defaultModalDialogDictionary } from "../ModalDialog/index.9ea10764.js";
11
- import { g as getPagerComponentsDictionary, d as defaultPagerDictionary } from "../mui_extended/Pager/index.c0865b70.js";
9
+ import { A as ActionsColumn, a as Actions } from "../CommonActions/components/Actions/index.2ce05d29.js";
10
+ import { g as getModalDialogComponentsDictionary, d as defaultModalDialogDictionary } from "../ModalDialog/index.3e5675c4.js";
11
+ import { g as getPagerComponentsDictionary, d as defaultPagerDictionary } from "../mui_extended/Pager/index.72b43352.js";
12
12
  const WrapperGrid = styled("div")(() => ({
13
13
  display: "flex",
14
14
  flexDirection: "column",
@@ -3,3 +3,4 @@ export declare const WrapperPopupEditFilter: import("@emotion/styled").StyledCom
3
3
  export declare const PopperActionsContainer: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
4
4
  export declare const TitleContainer: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
5
  export declare const HeaderContainer: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const WrapperEditFilter: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { FilterFieldApply, Field } from '../../../types';
3
- import type { HostToolsType } from '@m4l/core';
4
- export declare const getDefaultDateTimeFilter: (field: Field, fixed: boolean, getLabel: (key: string) => string, hostTools: HostToolsType) => FilterFieldApply;
3
+ import { Formatters } from '@m4l/graphics';
4
+ export declare const getDefaultDateTimeFilter: (field: Field, fixed: boolean, getLabel: (key: string) => string, formatters: Formatters) => FilterFieldApply;
5
5
  export declare function DateTimeFilter(): JSX.Element;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { FilterFieldApply, Field } from '../../types';
3
- import type { HostToolsType } from '@m4l/core';
4
- export declare const getDefaultFilterValues: (field: Field, fixed: boolean, getLabel: (key: string) => string, hostTools: HostToolsType) => FilterFieldApply;
3
+ import { Formatters } from '@m4l/graphics';
4
+ export declare const getDefaultFilterValues: (field: Field, fixed: boolean, getLabel: (key: string) => string, formatters: Formatters) => FilterFieldApply;
5
5
  export declare const PopupEditFilterComponent: (props: {
6
6
  filter: FilterFieldApply;
7
7
  }) => JSX.Element;
@@ -1,25 +1,26 @@
1
1
  import { S as ScrollBar } from "../ScrollBar/index.39eeb2de.js";
2
2
  import { styled } from "@mui/material/styles";
3
3
  import { useRef, useState, useMemo, useCallback, useEffect, createContext, useContext } from "react";
4
- import { useModuleDictionary, useHostTools, useEnvironment, voidFunction, useFlagsPresent } from "@m4l/core";
4
+ import { useModuleDictionary, voidFunction, useEnvironment, useHostTools, useFlagsPresent } from "@m4l/core";
5
5
  import * as Yup from "yup";
6
6
  import { useFormContext, useWatch } from "react-hook-form";
7
- import { R as RHFAutocomplete } from "../hook-form/RHFAutocomplete/index.59a68f9f.js";
7
+ import { R as RHFAutocomplete } from "../hook-form/RHFAutocomplete/index.de93fe01.js";
8
8
  import "lodash/debounce";
9
9
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
10
10
  import "../hook-form/RHFCheckbox/index.6dcec9e2.js";
11
- import { alpha, styled as styled$1, Skeleton, MenuItem, useTheme, Popper } from "@mui/material";
11
+ import { alpha, styled as styled$1, Skeleton, MenuItem, useTheme, Popper, ClickAwayListener } from "@mui/material";
12
12
  import "@mui/x-date-pickers";
13
- import { R as RHFDateTime } from "../hook-form/RHFDateTime/index.9231a7c7.js";
13
+ import { R as RHFDateTime } from "../hook-form/RHFDateTime/index.e70d2de3.js";
14
+ import { useFormatter, useResponsiveDesktop } from "@m4l/graphics";
14
15
  import { R as RHFTextField } from "../hook-form/RHFTextField/index.f9aaaa90.js";
15
16
  import { I as Icon } from "../Icon/index.619c31c4.js";
16
- import "../hook-form/RHFPeriod/index.64a228d5.js";
17
+ import "../hook-form/RHFPeriod/index.fa8426ac.js";
17
18
  import "../ErrorLabel/index.c8615f16.js";
18
- import "../Period/index.2941fbda.js";
19
- import { L as LabelMemuItem, b as Actions, g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.0645e30f.js";
19
+ import "../Period/index.111600f2.js";
20
+ import { L as LabelMemuItem, b as Actions, g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.2ce05d29.js";
20
21
  import "@mui/material/Button";
21
22
  import "react-router-dom";
22
- import "../../contexts/ModalContext/index.b92fa565.js";
23
+ import "../../contexts/ModalContext/index.cc3690d3.js";
23
24
  import "@mui/lab";
24
25
  import "lodash/isString";
25
26
  import "react-dropzone";
@@ -27,12 +28,11 @@ import "../Image/index.93d5f37f.js";
27
28
  import "../hook-form/RHFUpload/index.d5cc7c13.js";
28
29
  import { I as IconButton } from "../mui_extended/IconButton/index.a321e5cb.js";
29
30
  import "simplebar/dist/simplebar.min.css";
30
- import { F as FilterButton } from "../mui_extended/Button/index.53b56958.js";
31
- import { P as Popover } from "../mui_extended/Popover/index.705275a4.js";
32
- import { R as RHFormProvider } from "../../contexts/RHFormContext/index.b142190a.js";
33
- import { A as ActionCancel } from "../CommonActions/components/ActionCancel/index.e498eeb2.js";
34
- import { A as ActionIntro } from "../CommonActions/components/ActionIntro/index.60ef7bd7.js";
35
- import { useResponsiveDesktop } from "@m4l/graphics";
31
+ import { F as FilterButton } from "../mui_extended/Button/index.1d13f53b.js";
32
+ import { P as Popover } from "../mui_extended/Popover/index.028756ac.js";
33
+ import { R as RHFormProvider } from "../../contexts/RHFormContext/index.f8c00745.js";
34
+ import { A as ActionCancel } from "../CommonActions/components/ActionCancel/index.a57fcfae.js";
35
+ import { A as ActionIntro } from "../CommonActions/components/ActionIntro/index.591a8195.js";
36
36
  const WrapperApplyedFilters = styled("div")(({
37
37
  theme
38
38
  }) => ({
@@ -378,9 +378,12 @@ const verifyDateTime = (filter) => {
378
378
  }
379
379
  return true;
380
380
  };
381
- const getDefaultDateTimeFilter = (field, fixed, getLabel, hostTools) => {
381
+ const getDefaultDateTimeFilter = (field, fixed, getLabel, formatters) => {
382
382
  const defaultStartDate = new Date();
383
383
  const defaultEndDate = new Date();
384
+ const {
385
+ dateFormatter
386
+ } = formatters;
384
387
  let dfop1 = field.defaultOperand1;
385
388
  let dfop2 = field.defaultOperand2;
386
389
  const defaultFilter = {
@@ -416,7 +419,7 @@ const getDefaultDateTimeFilter = (field, fixed, getLabel, hostTools) => {
416
419
  }
417
420
  defaultFilter.o1 = defaultStartDate.toISOString();
418
421
  defaultFilter.o2 = defaultEndDate.toISOString();
419
- defaultFilter.labelOperands = `${hostTools.formatDate(defaultStartDate, "yyyy-MM-dd HH:mm:ss")} - ${hostTools.formatDate(defaultEndDate, "yyyy-MM-dd HH:mm:ss")}`;
422
+ defaultFilter.labelOperands = `${dateFormatter.formatDate(defaultStartDate, formatters.dateFormatter.datetimeFormat)} - ${dateFormatter.formatDate(defaultEndDate, dateFormatter.datetimeFormat)}`;
420
423
  defaultFilter.labelOperator = getLabel(`dynamic_filter.operator_${defaultFilter.o}`);
421
424
  return defaultFilter;
422
425
  };
@@ -430,13 +433,8 @@ function DateTimeFilter() {
430
433
  getLabel
431
434
  } = useModuleDictionary();
432
435
  const {
433
- formatDate
434
- } = useHostTools();
435
- const {
436
- dfnsFormat: {
437
- datetime_format
438
- }
439
- } = useEnvironment();
436
+ dateFormatter
437
+ } = useFormatter();
440
438
  const {
441
439
  popupData: {
442
440
  filter,
@@ -471,10 +469,10 @@ function DateTimeFilter() {
471
469
  };
472
470
  if (data.valueOperator.id === "b") {
473
471
  newFilter.o2 = data.valueOperand2.toISOString();
474
- newFilter.labelOperands = `${formatDate(data.valueOperand1, datetime_format)} - ${formatDate(data.valueOperand2, datetime_format)}`;
472
+ newFilter.labelOperands = `${dateFormatter.formatDate(data.valueOperand1, dateFormatter.datetimeFormat)} - ${dateFormatter.formatDate(data.valueOperand2, dateFormatter.datetimeFormat)}`;
475
473
  } else {
476
474
  newFilter.o2 = newFilter.o2 ? newFilter.o2 : newFilter.o1;
477
- newFilter.labelOperands = formatDate(data.valueOperand1, datetime_format);
475
+ newFilter.labelOperands = dateFormatter.formatDate(data.valueOperand1, dateFormatter.datetimeFormat);
478
476
  }
479
477
  return newFilter;
480
478
  }, []);
@@ -482,14 +480,10 @@ function DateTimeFilter() {
482
480
  if (!isLoaded) {
483
481
  setPoupEditValidationSchema({
484
482
  valueOperator: Yup.object().nullable().required(getLabel(`operator_required`)),
485
- valueOperand1: Yup.date().test("valueOperand1", getLabel(`dynamic_filter.error_invalid_date`), (value) => {
486
- return Boolean(value);
487
- }),
488
- valueOperand2: Yup.date().when(["valueOperator.id"], {
483
+ valueOperand1: Yup.date().required(getLabel(`dynamic_filter.error_invalid_date`)).typeError(getLabel(`dynamic_filter.error_invalid_date`)),
484
+ valueOperand2: Yup.mixed().when(["valueOperator.id"], {
489
485
  is: "b",
490
- then: Yup.date().test("DOB", getLabel(`dynamic_filter.error_invalid_date`), (value) => {
491
- return Boolean(value);
492
- })
486
+ then: Yup.date().typeError(getLabel(`dynamic_filter.error_invalid_date`)).min(Yup.ref("valueOperand1"), getLabel(`dynamic_filter.error_less_than_start`))
493
487
  })
494
488
  });
495
489
  }
@@ -651,8 +645,8 @@ function NumberFilter() {
651
645
  useEffect(() => {
652
646
  inputRef.current?.focus();
653
647
  }, [isLoaded]);
654
- return /* @__PURE__ */ jsxs(WrapperStringFilter, {
655
- children: [isLoaded && /* @__PURE__ */ jsxs(Fragment, {
648
+ return /* @__PURE__ */ jsx(WrapperStringFilter, {
649
+ children: isLoaded && /* @__PURE__ */ jsxs(Fragment, {
656
650
  children: [/* @__PURE__ */ jsx(WrapperAutoComplete, {
657
651
  children: /* @__PURE__ */ jsx(RHFAutocomplete, {
658
652
  name: "valueOperator",
@@ -665,12 +659,14 @@ function NumberFilter() {
665
659
  }), /* @__PURE__ */ jsx(RHFTextField, {
666
660
  name: "valueOperand1",
667
661
  ref: inputRef,
662
+ type: "number",
668
663
  focused: true
669
664
  }), operator && operator.id === "b" && /* @__PURE__ */ jsx(RHFTextField, {
670
665
  name: "valueOperand2",
671
- ref: inputRef
666
+ ref: inputRef,
667
+ type: "number"
672
668
  })]
673
- }), "x"]
669
+ })
674
670
  });
675
671
  }
676
672
  const strategiesDefaultFilterValues = {
@@ -682,9 +678,9 @@ const strategiesDefaultFilterValues = {
682
678
  throw new Error("Type no defined");
683
679
  }
684
680
  };
685
- const getDefaultFilterValues = (field, fixed, getLabel, hostTools) => {
681
+ const getDefaultFilterValues = (field, fixed, getLabel, formatters) => {
686
682
  const transformer = strategiesDefaultFilterValues[field.type] ?? strategiesDefaultFilterValues.__default__;
687
- return transformer(field, fixed, getLabel, hostTools);
683
+ return transformer(field, fixed, getLabel, formatters);
688
684
  };
689
685
  const strategiesEditFilterComponent = {
690
686
  string: StringFilter,
@@ -762,7 +758,7 @@ const formatToRawFilter = (applyedFilter) => {
762
758
  o2: af.o2
763
759
  }));
764
760
  };
765
- const getInitialFilters = (fields, filters, getFieldByName, getLabel, hostTools) => {
761
+ const getInitialFilters = (fields, filters, getFieldByName, getLabel, formatters) => {
766
762
  const newFilters = [];
767
763
  const fixedFields = [];
768
764
  for (let index = 0; index < filters.length; index++) {
@@ -812,7 +808,7 @@ const getInitialFilters = (fields, filters, getFieldByName, getLabel, hostTools)
812
808
  const field = fields[index];
813
809
  if (field.presence === "initialized" || field.presence === "fixed") {
814
810
  if (!filters.find((f) => f.n === field.name)) {
815
- const newFilter = getDefaultFilterValues(field, field.presence === "fixed", getLabel, hostTools);
811
+ const newFilter = getDefaultFilterValues(field, field.presence === "fixed", getLabel, formatters);
816
812
  newFilter.id = newFilters.length + 1;
817
813
  newFilters.push(newFilter);
818
814
  }
@@ -845,7 +841,7 @@ function BaseProvider(props) {
845
841
  host_static_assets,
846
842
  environment_assets
847
843
  } = useEnvironment();
848
- const hostTools = useHostTools();
844
+ const formatter = useFormatter();
849
845
  const all_fields = useMemo(() => {
850
846
  return {
851
847
  ...ALL_FIELDS,
@@ -867,7 +863,7 @@ function BaseProvider(props) {
867
863
  const getLabelOperator = useCallback((operator) => {
868
864
  return getLabel(`dynamic_filter.operator_${operator}`);
869
865
  }, [getLabel]);
870
- const [applyedFilters, setApplyedFilters] = useState(getInitialFilters(fields, initialFilters, getFieldByName, getLabel, hostTools));
866
+ const [applyedFilters, setApplyedFilters] = useState(getInitialFilters(fields, initialFilters, getFieldByName, getLabel, formatter));
871
867
  const availableFields = useMemo(() => {
872
868
  const newFields = [];
873
869
  for (let index = 0; index < fields.length; index++) {
@@ -956,6 +952,7 @@ function BaseProvider(props) {
956
952
  setInEdition(true);
957
953
  }, [applyedFilters]);
958
954
  const closeMenuFields = useCallback(() => {
955
+ console.log("closeMenuFields");
959
956
  setOpenAnchorEl(null);
960
957
  setInEdition(false);
961
958
  }, []);
@@ -974,7 +971,7 @@ function BaseProvider(props) {
974
971
  const showPopupForAddFilter = useCallback((anchorEl, field) => {
975
972
  setPopupData({
976
973
  popupAnchorEl: anchorEl,
977
- filter: getDefaultFilterValues(field, false, getLabel, hostTools),
974
+ filter: getDefaultFilterValues(field, false, getLabel, formatter),
978
975
  field
979
976
  });
980
977
  setInEdition(true);
@@ -1397,6 +1394,12 @@ const HeaderContainer = styled("div")(({
1397
1394
  alignItems: "center",
1398
1395
  borderBottom: `1px solid ${theme.palette.divider}`
1399
1396
  }));
1397
+ const WrapperEditFilter = styled("div")(() => ({
1398
+ "& .m4l_FormProvider": {
1399
+ padding: "0px",
1400
+ margin: "0px"
1401
+ }
1402
+ }));
1400
1403
  const PopupEditFilter = () => {
1401
1404
  const {
1402
1405
  popupValidationSchema,
@@ -1444,32 +1447,34 @@ const PopupEditFilter = () => {
1444
1447
  hidePopupEdit(false);
1445
1448
  };
1446
1449
  return /* @__PURE__ */ jsx(Popper, {
1447
- id: "Popover",
1448
1450
  open: Boolean(popupAnchorEl),
1449
1451
  anchorEl: popupAnchorEl,
1450
1452
  sx: {
1451
1453
  boxShadow: theme.customShadows.dropdown,
1452
1454
  borderRadius: 1
1453
1455
  },
1454
- children: /* @__PURE__ */ jsx(Fragment, {
1455
- children: filter && /* @__PURE__ */ jsx(RHFormProvider, {
1456
- onSubmit,
1457
- values,
1458
- validationSchema: popupValidationSchema,
1459
- children: /* @__PURE__ */ jsxs(WrapperPopupEditFilter, {
1460
- children: [/* @__PURE__ */ jsxs(HeaderContainer, {
1461
- children: [field?.urlIcon && /* @__PURE__ */ jsx(Icon, {
1462
- src: field.urlIcon
1463
- }), /* @__PURE__ */ jsx(TitleContainer, {
1464
- children: field?.label
1456
+ children: /* @__PURE__ */ jsx(ClickAwayListener, {
1457
+ onClickAway: onClose,
1458
+ children: /* @__PURE__ */ jsx(WrapperEditFilter, {
1459
+ children: filter && /* @__PURE__ */ jsx(RHFormProvider, {
1460
+ onSubmit,
1461
+ values,
1462
+ validationSchema: popupValidationSchema,
1463
+ children: /* @__PURE__ */ jsxs(WrapperPopupEditFilter, {
1464
+ children: [/* @__PURE__ */ jsxs(HeaderContainer, {
1465
+ children: [field?.urlIcon && /* @__PURE__ */ jsx(Icon, {
1466
+ src: field.urlIcon
1467
+ }), /* @__PURE__ */ jsx(TitleContainer, {
1468
+ children: field?.label
1469
+ })]
1470
+ }), /* @__PURE__ */ jsx(PopupEditFilterComponent, {
1471
+ filter
1472
+ }), /* @__PURE__ */ jsxs(Actions, {
1473
+ children: [/* @__PURE__ */ jsx(ActionCancel, {
1474
+ onClick: onClose
1475
+ }), /* @__PURE__ */ jsx(ActionIntro, {})]
1465
1476
  })]
1466
- }), /* @__PURE__ */ jsx(PopupEditFilterComponent, {
1467
- filter
1468
- }), /* @__PURE__ */ jsxs(Actions, {
1469
- children: [/* @__PURE__ */ jsx(ActionCancel, {
1470
- onClick: onClose
1471
- }), /* @__PURE__ */ jsx(ActionIntro, {})]
1472
- })]
1477
+ })
1473
1478
  })
1474
1479
  })
1475
1480
  })
@@ -1,6 +1,6 @@
1
1
  import { Dialog, IconButton, Paper } from "@mui/material";
2
2
  import { c as cjs } from "../../react-draggable.20e95c61.js";
3
- import { u as useModal } from "../../hooks/useModal/index.5fee01a3.js";
3
+ import { u as useModal } from "../../hooks/useModal/index.78ee58f3.js";
4
4
  import { styled } from "@mui/material/styles";
5
5
  import { a as getThemeVariantColor } from "../../utils/index.214d9542.js";
6
6
  import { R as Resizeable } from "../Resizeable/index.45995d2b.js";
@@ -8,7 +8,7 @@ import { useResponsiveDesktop } from "@m4l/graphics";
8
8
  import { useEnvironment } from "@m4l/core";
9
9
  import { I as Icon } from "../Icon/index.619c31c4.js";
10
10
  import { jsxs, jsx } from "react/jsx-runtime";
11
- import { b as Actions, g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.0645e30f.js";
11
+ import { b as Actions, g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.2ce05d29.js";
12
12
  const WrapperDialog = styled(Dialog)(() => ({}));
13
13
  const Container = styled("div")(({ theme }) => ({
14
14
  display: "flex",
@@ -129,7 +129,8 @@ const ModalDialog = () => {
129
129
  closeModal,
130
130
  iconComponent,
131
131
  actions,
132
- variant
132
+ variant,
133
+ fullScreen
133
134
  } = useModal();
134
135
  const isDesktop = useResponsiveDesktop();
135
136
  const onCloseModal = () => {
@@ -162,6 +163,7 @@ const ModalDialog = () => {
162
163
  PaperComponent: isDesktop ? DragabblePaperComponent : PaperComponent,
163
164
  maxWidth: false,
164
165
  fullWidth: !isDesktop,
166
+ fullScreen,
165
167
  children: [isDesktop && /* @__PURE__ */ jsx(Resizeable, {
166
168
  width: initialWidth,
167
169
  height: initialHeigth,
@@ -1,14 +1,15 @@
1
1
  import { useState, useEffect, useCallback, useMemo } from "react";
2
2
  import { useNetwork, useModuleDictionary, useEnvironment, usePaginate } from "@m4l/core";
3
3
  import { styled } from "@mui/material/styles";
4
- import { D as DataGrid, g as getDataGridComponentsDictionary } from "../DataGrid/index.76d8fd25.js";
5
- import { D as DateFormatter } from "../formatters/DateFormatter/index.1b9baacc.js";
4
+ import { D as DataGrid, g as getDataGridComponentsDictionary } from "../DataGrid/index.07162c02.js";
5
+ import { D as DateFormatter } from "../formatters/DateFormatter/index.ed73f8ae.js";
6
6
  import { Tooltip, IconButton } from "@mui/material";
7
+ import { useHostTheme, useResponsiveDesktop } from "@m4l/graphics";
7
8
  import { R as ReactJson } from "../../react-json-view.f56a7f8e.js";
8
9
  import { jsx, jsxs } from "react/jsx-runtime";
9
- import { u as useModal } from "../../hooks/useModal/index.5fee01a3.js";
10
+ import { u as useModal } from "../../hooks/useModal/index.78ee58f3.js";
10
11
  import { I as Icon } from "../Icon/index.619c31c4.js";
11
- import { D as DynamicFilter, g as getDynamicFilterComponentsDictionary } from "../DynamicFilter/index.342ba5fe.js";
12
+ import { D as DynamicFilter, g as getDynamicFilterComponentsDictionary } from "../DynamicFilter/index.31876c9f.js";
12
13
  const Container$1 = styled("div")(() => ({
13
14
  height: "100%",
14
15
  width: "100%",
@@ -60,6 +61,9 @@ function DetailDialog(props) {
60
61
  const {
61
62
  networkOperation
62
63
  } = useNetwork();
64
+ const {
65
+ hostThemeOptions
66
+ } = useHostTheme();
63
67
  const [detail, setDetail] = useState({});
64
68
  useEffect(() => {
65
69
  let mounted = true;
@@ -76,9 +80,11 @@ function DetailDialog(props) {
76
80
  mounted = false;
77
81
  };
78
82
  }, []);
83
+ const modeTheme = hostThemeOptions.palette?.mode;
79
84
  return /* @__PURE__ */ jsx(Container, {
80
85
  id: "objectLogsDetail",
81
86
  children: /* @__PURE__ */ jsx(ReactJson, {
87
+ theme: modeTheme === "dark" ? "summerfruit" : "rjv-default",
82
88
  name: null,
83
89
  sortKeys: true,
84
90
  displayDataTypes: false,
@@ -102,6 +108,7 @@ function DetailFormatter(props) {
102
108
  host_static_assets,
103
109
  environment_assets
104
110
  } = useEnvironment();
111
+ const isDesktop = useResponsiveDesktop();
105
112
  const onClickDetail = () => {
106
113
  openModal({
107
114
  onQueryClose: () => closeModal(),
@@ -111,7 +118,8 @@ function DetailFormatter(props) {
111
118
  }),
112
119
  contentComponent: /* @__PURE__ */ jsx(DetailDialog, {
113
120
  log_id
114
- })
121
+ }),
122
+ fullScreen: !isDesktop ? true : false
115
123
  });
116
124
  };
117
125
  return /* @__PURE__ */ jsx(Tooltip, {
@@ -162,11 +170,13 @@ function ObjectLogs(props) {
162
170
  }, {
163
171
  key: "resource_name",
164
172
  name: getLabel("object_logs.resource_name"),
165
- type: "string"
173
+ type: "string",
174
+ width: 120
166
175
  }, {
167
176
  key: "log_preview",
168
177
  name: getLabel("object_logs.log_preview"),
169
- type: "string"
178
+ type: "string",
179
+ width: 250
170
180
  }, {
171
181
  key: "Detail",
172
182
  name: getLabel("object_logs.log_detail"),
@@ -175,7 +185,8 @@ function ObjectLogs(props) {
175
185
  }, {
176
186
  key: "ip",
177
187
  name: getLabel("object_logs.ip"),
178
- type: "string"
188
+ type: "string",
189
+ width: 120
179
190
  }], [getLabel]);
180
191
  const {
181
192
  pagerState,
@@ -3,11 +3,11 @@ import { styled, Skeleton, Autocomplete, TextField } from "@mui/material";
3
3
  import { useMemo } from "react";
4
4
  import { I as Icon } from "../Icon/index.619c31c4.js";
5
5
  import { jsxs, jsx } from "react/jsx-runtime";
6
- import { g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.0645e30f.js";
6
+ import { g as getCommonActionsDictionary } from "../CommonActions/components/Actions/index.2ce05d29.js";
7
7
  import "@mui/material/Button";
8
8
  import "react-hook-form";
9
9
  import "react-router-dom";
10
- import "../../contexts/ModalContext/index.b92fa565.js";
10
+ import "../../contexts/ModalContext/index.cc3690d3.js";
11
11
  import "@mui/lab";
12
12
  const ContainerPeriod = styled("div")(({
13
13
  theme,
@@ -2,6 +2,7 @@ import { useModuleDictionary, useEnvironment, getPropertyByString } from "@m4l/c
2
2
  import React from "react";
3
3
  import { I as Icon } from "../../Icon/index.619c31c4.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
+ import "@m4l/graphics";
5
6
  function BooleanFormatter(props) {
6
7
  const {
7
8
  presentationType,
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
- import { useEnvironment, useHostTools, getPropertyByString } from "@m4l/core";
2
+ import { getPropertyByString } from "@m4l/core";
3
3
  import "../../Icon/index.619c31c4.js";
4
4
  import "@mui/material/styles";
5
5
  import { jsx, Fragment } from "react/jsx-runtime";
6
+ import { useFormatter } from "@m4l/graphics";
6
7
  function DateFormatter(props) {
7
8
  const {
8
9
  presentationType,
@@ -11,12 +12,9 @@ function DateFormatter(props) {
11
12
  Component = React.Fragment
12
13
  } = props;
13
14
  const {
14
- dfnsFormat
15
- } = useEnvironment();
16
- const {
17
- formatDate
18
- } = useHostTools();
19
- let finalFormat = format || dfnsFormat.datetime_format;
15
+ dateFormatter
16
+ } = useFormatter();
17
+ let finalFormat = format || dateFormatter.datetimeFormat;
20
18
  let result;
21
19
  let resultDate;
22
20
  if (value === void 0 || value === null) {
@@ -26,13 +24,13 @@ function DateFormatter(props) {
26
24
  }
27
25
  switch (presentationType) {
28
26
  case "datetime":
29
- finalFormat = format || dfnsFormat.datetime_format;
27
+ finalFormat = format || dateFormatter.datetimeFormat;
30
28
  break;
31
29
  case "date":
32
- finalFormat = format || dfnsFormat.date_format;
30
+ finalFormat = format || dateFormatter.dateFormat;
33
31
  break;
34
32
  case "time":
35
- finalFormat = format || dfnsFormat.time_format;
33
+ finalFormat = format || dateFormatter.timeFormat;
36
34
  break;
37
35
  }
38
36
  try {
@@ -41,7 +39,7 @@ function DateFormatter(props) {
41
39
  } else {
42
40
  resultDate = value;
43
41
  }
44
- result = formatDate(resultDate, finalFormat);
42
+ result = dateFormatter.formatDate(resultDate, finalFormat);
45
43
  } catch (e) {
46
44
  result = "err_typing";
47
45
  }
@@ -3,6 +3,7 @@ import { jsx, Fragment } from "react/jsx-runtime";
3
3
  import { getPropertyByString } from "@m4l/core";
4
4
  import "../Icon/index.619c31c4.js";
5
5
  import "@mui/material/styles";
6
+ import "@m4l/graphics";
6
7
  function UncertaintyFormatter(props) {
7
8
  const {
8
9
  value,
@@ -1,31 +1,10 @@
1
1
  import { useModuleDictionary, useModuleSkeleton } from "@m4l/core";
2
2
  import { useFormContext, Controller } from "react-hook-form";
3
- import { Skeleton, Autocomplete, TextField, CircularProgress } from "@mui/material";
3
+ import { styled as styled$1, Skeleton, Autocomplete, TextField, CircularProgress } from "@mui/material";
4
4
  import { styled } from "@mui/material/styles";
5
5
  import { I as Image } from "../../Image/index.93d5f37f.js";
6
6
  import { useMemo, useState, useEffect } from "react";
7
7
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
8
- const SKTRHFAutocompleteWrapper = styled("div")(() => ({
9
- display: "flex",
10
- width: "100%",
11
- flexDirection: "column"
12
- }));
13
- const SKTInputText = styled("div")(({
14
- theme
15
- }) => ({
16
- width: "100%",
17
- display: "grid",
18
- gridTemplateColumns: "1fr auto",
19
- gridGap: theme.spacing(2),
20
- alignItems: "center",
21
- height: `${theme.spacing(4.5)}`,
22
- border: `1px solid ${theme.palette.divider}`,
23
- borderRadius: `${theme.spacing(1)}`,
24
- padding: `0 ${theme.spacing(2)}`,
25
- [theme.breakpoints.down("md")]: {
26
- width: "100%"
27
- }
28
- }));
29
8
  const WrapperAutocomplete = styled("div")(({
30
9
  theme
31
10
  }) => ({
@@ -57,6 +36,83 @@ function withRenderOption(getUrlImage, imageWidth, imageHeight) {
57
36
  });
58
37
  };
59
38
  }
39
+ const WrapperSkeletonRHFAutocomplete = styled$1("div")(({
40
+ theme
41
+ }) => ({
42
+ width: "100%",
43
+ display: "flex",
44
+ justifyContent: "space-between",
45
+ alignItems: "center",
46
+ height: `${theme.spacing(4.5)}`,
47
+ border: `1px solid ${theme.palette.divider}`,
48
+ borderRadius: `${theme.spacing(1)}`,
49
+ padding: `0 ${theme.spacing(2)}`,
50
+ overflow: "hidden",
51
+ [theme.breakpoints.down("md")]: {
52
+ width: "100%"
53
+ }
54
+ }));
55
+ const SkeletonContainerText = styled$1("div")(({
56
+ theme
57
+ }) => ({
58
+ width: "100%",
59
+ height: "auto",
60
+ overflow: "hidden",
61
+ margin: theme.spacing(1.5)
62
+ }));
63
+ const SkeletonRHFAutocomplete = (props) => {
64
+ const {
65
+ withImage,
66
+ skeletonWidth,
67
+ skeletonHeight,
68
+ imageWidth,
69
+ imageHeight
70
+ } = props;
71
+ if (withImage) {
72
+ return /* @__PURE__ */ jsxs(WrapperSkeletonRHFAutocomplete, {
73
+ children: [/* @__PURE__ */ jsx(Skeleton, {
74
+ variant: "circular",
75
+ width: imageWidth,
76
+ height: imageHeight,
77
+ sx: {
78
+ minWidth: imageWidth
79
+ }
80
+ }), /* @__PURE__ */ jsx(SkeletonContainerText, {
81
+ children: /* @__PURE__ */ jsx(Skeleton, {
82
+ variant: "text",
83
+ width: skeletonWidth,
84
+ height: skeletonHeight
85
+ })
86
+ }), /* @__PURE__ */ jsx(Skeleton, {
87
+ variant: "circular",
88
+ width: 16,
89
+ height: 16,
90
+ sx: {
91
+ minWidth: "16px"
92
+ }
93
+ })]
94
+ });
95
+ }
96
+ return /* @__PURE__ */ jsxs(WrapperSkeletonRHFAutocomplete, {
97
+ children: [/* @__PURE__ */ jsx(SkeletonContainerText, {
98
+ sx: {
99
+ marginLeft: "0px"
100
+ },
101
+ children: /* @__PURE__ */ jsx(Skeleton, {
102
+ variant: "text",
103
+ width: skeletonWidth,
104
+ height: skeletonHeight
105
+ })
106
+ }), /* @__PURE__ */ jsx(Skeleton, {
107
+ variant: "circular",
108
+ width: 16,
109
+ height: 16,
110
+ sx: {
111
+ minWidth: "16px"
112
+ }
113
+ })]
114
+ });
115
+ };
60
116
  function RHFAutocomplete(props) {
61
117
  const {
62
118
  name,
@@ -114,18 +170,12 @@ function RHFAutocomplete(props) {
114
170
  return isOptionEqualToValue(option, value);
115
171
  };
116
172
  if (isSkeleton) {
117
- return /* @__PURE__ */ jsx(SKTRHFAutocompleteWrapper, {
118
- children: /* @__PURE__ */ jsxs(SKTInputText, {
119
- children: [/* @__PURE__ */ jsx(Skeleton, {
120
- variant: "text",
121
- width: skeletonWidth,
122
- height: skeletonHeight
123
- }, "sk1"), /* @__PURE__ */ jsx(Skeleton, {
124
- variant: "circular",
125
- width: 16,
126
- height: 16
127
- }, "sk2")]
128
- })
173
+ return /* @__PURE__ */ jsx(SkeletonRHFAutocomplete, {
174
+ withImage,
175
+ skeletonWidth,
176
+ skeletonHeight,
177
+ imageWidth,
178
+ imageHeight
129
179
  });
130
180
  }
131
181
  return /* @__PURE__ */ jsx(Controller, {
@@ -149,9 +199,14 @@ function RHFAutocomplete(props) {
149
199
  onChangeFilterParmsLocal(getOptionLabelLocal(value), "reset");
150
200
  }
151
201
  }, [value]);
202
+ const checkKeyDown = (e) => {
203
+ if (e.code === "Enter")
204
+ e.preventDefault();
205
+ };
152
206
  return /* @__PURE__ */ jsx(WrapperAutocomplete, {
153
207
  className: "m4l_rhf_autocomplete",
154
208
  children: /* @__PURE__ */ jsx(Autocomplete, {
209
+ onKeyDown: checkKeyDown,
155
210
  autoComplete: true,
156
211
  autoSelect: false,
157
212
  options,
@@ -1,4 +1,2 @@
1
1
  /// <reference types="react" />
2
- export declare const SKTRHFAutocompleteWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
3
- export declare const SKTInputText: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
4
2
  export declare const WrapperAutocomplete: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { SkeletonRHFAutocompleteProps } from './types';
3
+ export declare const SkeletonRHFAutocomplete: (props: SkeletonRHFAutocompleteProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const WrapperSkeletonRHFAutocomplete: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
3
+ export declare const SkeletonContainerText: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,4 @@
1
+ import { RHFAutocompleteProps } from '../../types';
2
+ export interface SkeletonRHFAutocompleteProps extends Pick<RHFAutocompleteProps<any>, 'skeletonWidth' | 'skeletonHeight' | 'imageWidth' | 'imageHeight'> {
3
+ withImage: boolean;
4
+ }
@@ -1,7 +1,7 @@
1
1
  import { useState, useCallback, useEffect } from "react";
2
2
  import { useNetwork, getPropertyByString } from "@m4l/core";
3
3
  import debounce from "lodash/debounce";
4
- import { R as RHFAutocomplete, g as getRHFAutocompleteComponentsDictionary } from "../RHFAutocomplete/index.59a68f9f.js";
4
+ import { R as RHFAutocomplete, g as getRHFAutocompleteComponentsDictionary } from "../RHFAutocomplete/index.de93fe01.js";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  function RHFAutocompleteAsync(props) {
7
7
  const {
@@ -1,9 +1,10 @@
1
1
  import { useFormContext, Controller } from "react-hook-form";
2
2
  import { Skeleton, TextField } from "@mui/material";
3
3
  import { DateTimePicker } from "@mui/x-date-pickers";
4
- import { useModuleSkeleton, useEnvironment } from "@m4l/core";
4
+ import { useModuleSkeleton } from "@m4l/core";
5
5
  import { styled } from "@mui/material/styles";
6
6
  import { jsxs, jsx } from "react/jsx-runtime";
7
+ import { useFormatter } from "@m4l/graphics";
7
8
  const SKTRHFWrapperTextField = styled("div")(({
8
9
  theme
9
10
  }) => ({
@@ -38,18 +39,19 @@ function RHFDateTime(props) {
38
39
  name,
39
40
  autoComplete = "off",
40
41
  skeletonWidth = "50%",
41
- skeletonHeight = 14
42
+ skeletonHeight = 14,
43
+ withMask = true
42
44
  } = props;
43
45
  const isSkeleton = useModuleSkeleton();
44
46
  const {
45
47
  control
46
48
  } = useFormContext();
47
49
  const {
48
- dfnsFormat: {
49
- datetime_format,
50
- datetime_mask
50
+ dateFormatter: {
51
+ datetimeFormat,
52
+ datetimeMask
51
53
  }
52
- } = useEnvironment();
54
+ } = useFormatter();
53
55
  if (isSkeleton) {
54
56
  return /* @__PURE__ */ jsx(SkeletonRHFDateTime, {
55
57
  skeletonWidth,
@@ -60,31 +62,42 @@ function RHFDateTime(props) {
60
62
  name,
61
63
  control,
62
64
  render: ({
63
- field,
65
+ field: {
66
+ value,
67
+ onChange
68
+ },
64
69
  fieldState: {
65
70
  error
66
71
  }
67
72
  }) => {
73
+ console.log("RHFDateTime", value, datetimeFormat, datetimeMask);
68
74
  return /* @__PURE__ */ jsx(DateTimePicker, {
69
75
  ampm: false,
70
- inputFormat: datetime_format,
71
- mask: datetime_mask,
76
+ ...(() => {
77
+ return withMask ? {
78
+ inputFormat: datetimeFormat,
79
+ mask: datetimeMask
80
+ } : {};
81
+ })(),
72
82
  label: "",
73
- value: field.value,
74
- onChange: (value) => {
75
- if (!isNaN(value)) {
76
- field.onChange(value);
77
- } else {
78
- field.onChange(void 0);
79
- }
83
+ value,
84
+ onChange: (newValue) => {
85
+ onChange(newValue);
80
86
  },
81
- renderInput: (params) => /* @__PURE__ */ jsx(TextField, {
82
- autoComplete,
83
- fullWidth: true,
84
- error: !!error,
85
- helperText: error?.message,
86
- ...params
87
- })
87
+ renderInput: (params) => {
88
+ const checkKeyDown = (e) => {
89
+ if (e.code === "Enter")
90
+ e.preventDefault();
91
+ };
92
+ return /* @__PURE__ */ jsx(TextField, {
93
+ ...params,
94
+ autoComplete,
95
+ fullWidth: true,
96
+ error: !!error,
97
+ helperText: error?.message,
98
+ onKeyDown: checkKeyDown
99
+ });
100
+ }
88
101
  });
89
102
  }
90
103
  });
@@ -2,4 +2,5 @@ export interface RHFDateTimeProps {
2
2
  skeletonWidth?: string | number;
3
3
  skeletonHeight?: string | number;
4
4
  name: string;
5
+ withMask?: boolean;
5
6
  }
@@ -1,7 +1,7 @@
1
1
  import { styled } from "@mui/material";
2
2
  import { useFormContext, Controller } from "react-hook-form";
3
3
  import { E as ErrorLabel } from "../../ErrorLabel/index.c8615f16.js";
4
- import { P as Period } from "../../Period/index.2941fbda.js";
4
+ import { P as Period } from "../../Period/index.111600f2.js";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  const Wrapper = styled("div")(({
7
7
  theme
@@ -5,7 +5,7 @@ import { jsx } from "react/jsx-runtime";
5
5
  import { LoadingButton as LoadingButton$1 } from "@mui/lab";
6
6
  import { I as IconButton } from "../IconButton/index.a321e5cb.js";
7
7
  import { styled as styled$1, alpha } from "@mui/material/styles";
8
- import { u as useBase } from "../../DynamicFilter/index.342ba5fe.js";
8
+ import { u as useBase } from "../../DynamicFilter/index.31876c9f.js";
9
9
  import { useMemo } from "react";
10
10
  import { I as Image } from "../../Image/index.93d5f37f.js";
11
11
  const Button = (props) => {
@@ -1,6 +1,6 @@
1
1
  import { useMemo } from "react";
2
2
  import { Skeleton, TablePagination } from "@mui/material";
3
- import { P as PagerActions } from "../../CommonActions/components/Actions/index.0645e30f.js";
3
+ import { P as PagerActions } from "../../CommonActions/components/Actions/index.2ce05d29.js";
4
4
  import { styled } from "@mui/material/styles";
5
5
  import { jsxs, jsx } from "react/jsx-runtime";
6
6
  styled("div")(() => ({
@@ -12,9 +12,9 @@ import "react-router-dom";
12
12
  import "@mui/material/Button";
13
13
  import { C as CircularProgress } from "../CircularProgress/index.ad569afd.js";
14
14
  import "@mui/lab";
15
- import { I as ImageButton } from "../Button/index.53b56958.js";
16
- import "../../CommonActions/components/Actions/index.0645e30f.js";
17
- import "../Pager/index.c0865b70.js";
15
+ import { I as ImageButton } from "../Button/index.1d13f53b.js";
16
+ import "../../CommonActions/components/Actions/index.2ce05d29.js";
17
+ import "../Pager/index.72b43352.js";
18
18
  import "../Tab/index.e0653a0a.js";
19
19
  const ArrowStyle = styled("span")(({
20
20
  arrowType,
@@ -4,9 +4,9 @@ import { Typography } from "@mui/material";
4
4
  import { styled } from "@mui/material/styles";
5
5
  import { B as BoxIcon } from "../../components/mui_extended/BoxIcon/index.e638ecc8.js";
6
6
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
7
- import { M as ModalDialog } from "../../components/ModalDialog/index.9ea10764.js";
8
- import { A as ActionIntro } from "../../components/CommonActions/components/ActionIntro/index.60ef7bd7.js";
9
- import { A as ActionCancel } from "../../components/CommonActions/components/ActionCancel/index.e498eeb2.js";
7
+ import { M as ModalDialog } from "../../components/ModalDialog/index.3e5675c4.js";
8
+ import { A as ActionIntro } from "../../components/CommonActions/components/ActionIntro/index.591a8195.js";
9
+ import { A as ActionCancel } from "../../components/CommonActions/components/ActionCancel/index.a57fcfae.js";
10
10
  import { b as getVariantColor } from "../../utils/index.214d9542.js";
11
11
  const WrapperContentConfirm = styled("div")(() => ({
12
12
  display: "flex",
@@ -86,10 +86,11 @@ function ModalProvider({
86
86
  title: "",
87
87
  iconComponent: void 0,
88
88
  contentComponent: void 0,
89
- variant: void 0
89
+ variant: void 0,
90
+ fullScreen: false
90
91
  });
91
- const [hasChanges, setHasChanges] = useState(false);
92
92
  const openModal = (modalOpenProps) => {
93
+ console.log("modal props", modalOpenProps);
93
94
  setModalOptions({
94
95
  open: true,
95
96
  ...modalOpenProps
@@ -130,19 +131,13 @@ function ModalProvider({
130
131
  ...last,
131
132
  open: false
132
133
  }));
133
- setHasChanges(false);
134
- };
135
- const setChanges = () => {
136
- setHasChanges(true);
137
134
  };
138
135
  return /* @__PURE__ */ jsxs(ModalContext.Provider, {
139
136
  value: {
140
137
  ...modalOptions,
141
138
  openModal,
142
139
  openModalConfirm,
143
- closeModal,
144
- hasChanges,
145
- setChanges
140
+ closeModal
146
141
  },
147
142
  children: [children, /* @__PURE__ */ jsx(ModalDialog, {})]
148
143
  });
@@ -16,6 +16,7 @@ export interface ModalOpenOptions {
16
16
  withClose?: boolean;
17
17
  variant?: VariantColor;
18
18
  onQueryClose?: () => void;
19
+ fullScreen?: boolean;
19
20
  title: string;
20
21
  iconComponent?: ReactNode;
21
22
  contentComponent?: ((props?: any) => JSX.Element) | ReactNode;
@@ -37,6 +38,4 @@ export interface ModalContextProps extends ModalState {
37
38
  openModal: (modalProps: ModalOpenOptions) => void;
38
39
  openModalConfirm: (modalOpenProps: OpenModalConfirmProps) => void;
39
40
  closeModal: () => void;
40
- setChanges?: () => void;
41
- hasChanges: boolean;
42
41
  }
@@ -52,6 +52,7 @@ function RHFormProvider(props) {
52
52
  return /* @__PURE__ */ jsx(FormProvider, {
53
53
  ...methods,
54
54
  children: /* @__PURE__ */ jsx(WrapperFormProvider, {
55
+ className: "m4l_FormProvider",
55
56
  id: "formProvider",
56
57
  onSubmit: methods.handleSubmit(onSubmit),
57
58
  children
@@ -1,5 +1,5 @@
1
1
  import { useContext } from "react";
2
- import { M as ModalContext } from "../../contexts/ModalContext/index.b92fa565.js";
2
+ import { M as ModalContext } from "../../contexts/ModalContext/index.cc3690d3.js";
3
3
  function useModal() {
4
4
  const context = useContext(ModalContext);
5
5
  if (!context)
package/index.js CHANGED
@@ -7,46 +7,46 @@ import "react-router-dom";
7
7
  import { L } from "./components/animate/LoadingScreen/index.1d0c4307.js";
8
8
  import "@m4l/core";
9
9
  import "react-hook-form";
10
- import { R, g } from "./components/hook-form/RHFAutocomplete/index.59a68f9f.js";
10
+ import { R, g } from "./components/hook-form/RHFAutocomplete/index.de93fe01.js";
11
11
  import "react";
12
12
  import { I as I2 } from "./components/Image/index.93d5f37f.js";
13
13
  import "lodash/debounce";
14
14
  import { R as R2 } from "./components/hook-form/RHFCheckbox/index.6dcec9e2.js";
15
15
  import "@mui/x-date-pickers";
16
- import { R as R3 } from "./components/hook-form/RHFDateTime/index.9231a7c7.js";
16
+ import { R as R3 } from "./components/hook-form/RHFDateTime/index.e70d2de3.js";
17
+ import "@m4l/graphics";
17
18
  import { R as R4, a as a2 } from "./components/hook-form/RHFTextField/index.f9aaaa90.js";
18
19
  import { I as I3 } from "./components/Icon/index.619c31c4.js";
19
- import { R as R5 } from "./components/hook-form/RHFPeriod/index.64a228d5.js";
20
+ import { R as R5 } from "./components/hook-form/RHFPeriod/index.fa8426ac.js";
20
21
  import { E } from "./components/ErrorLabel/index.c8615f16.js";
21
- import { P, g as g2 } from "./components/Period/index.2941fbda.js";
22
- import { b, M, d, g as g3 } from "./components/CommonActions/components/Actions/index.0645e30f.js";
22
+ import { P, g as g2 } from "./components/Period/index.111600f2.js";
23
+ import { b, M, d, g as g3 } from "./components/CommonActions/components/Actions/index.2ce05d29.js";
23
24
  import "@mui/material/Button";
24
- import { M as M2, a as a3 } from "./contexts/ModalContext/index.b92fa565.js";
25
+ import { M as M2, a as a3 } from "./contexts/ModalContext/index.cc3690d3.js";
25
26
  import "@mui/lab";
26
27
  import "lodash/isString";
27
28
  import "react-dropzone";
28
29
  import { R as R6 } from "./components/hook-form/RHFUpload/index.d5cc7c13.js";
29
30
  import { A } from "./components/mui_extended/Accordion/index.a02ac6ae.js";
30
31
  import { A as A2 } from "./components/mui_extended/Avatar/index.fe06afd7.js";
31
- import { B, L as L2 } from "./components/mui_extended/Button/index.53b56958.js";
32
- import { L as L3, P as P2 } from "./components/mui_extended/Popover/index.705275a4.js";
33
- import { P as P3, g as g4 } from "./components/mui_extended/Pager/index.c0865b70.js";
32
+ import { B, L as L2 } from "./components/mui_extended/Button/index.1d13f53b.js";
33
+ import { L as L3, P as P2 } from "./components/mui_extended/Popover/index.028756ac.js";
34
+ import { P as P3, g as g4 } from "./components/mui_extended/Pager/index.72b43352.js";
34
35
  import { T } from "./components/mui_extended/Tab/index.e0653a0a.js";
35
- import { D, N, T as T2, g as g5 } from "./components/DataGrid/index.76d8fd25.js";
36
+ import { D, N, T as T2, g as g5 } from "./components/DataGrid/index.07162c02.js";
36
37
  import "react-dnd";
37
38
  import "react-dnd-html5-backend";
38
- import "@m4l/graphics";
39
39
  import { S } from "./components/ScrollBar/index.39eeb2de.js";
40
- import { D as D2, d as d2, g as g6 } from "./components/DynamicFilter/index.342ba5fe.js";
40
+ import { D as D2, d as d2, g as g6 } from "./components/DynamicFilter/index.31876c9f.js";
41
41
  import "simplebar/dist/simplebar.min.css";
42
42
  import "@hookform/resolvers/yup";
43
- import { R as R7 } from "./contexts/RHFormContext/index.b142190a.js";
43
+ import { R as R7 } from "./contexts/RHFormContext/index.f8c00745.js";
44
44
  import "yup";
45
45
  import "./react-draggable.20e95c61.js";
46
- import { M as M3, d as d3, g as g7 } from "./components/ModalDialog/index.9ea10764.js";
46
+ import { M as M3, d as d3, g as g7 } from "./components/ModalDialog/index.3e5675c4.js";
47
47
  import { R as R8 } from "./components/Resizeable/index.45995d2b.js";
48
48
  import { N as N2, d as d4, g as g8 } from "./components/NoItemSelected/index.46d2f632.js";
49
- import { O, d as d5, g as g9 } from "./components/ObjectLogs/index.f941fb79.js";
49
+ import { O, d as d5, g as g9 } from "./components/ObjectLogs/index.35dbf836.js";
50
50
  import "./react-json-view.f56a7f8e.js";
51
51
  import { P as P4 } from "./components/PaperForm/index.ec9cb8c9.js";
52
52
  import { H } from "./components/Page/index.4237c241.js";
@@ -59,7 +59,7 @@ import { v as v3 } from "./components/animate/variants/container.11f82b76.js";
59
59
  import { v as v4, a as a4, b as b2 } from "./components/animate/variants/transition.bd46b9ce.js";
60
60
  import { M as M4 } from "./components/animate/MotionContainer/index.8d9f9d80.js";
61
61
  import { M as M5 } from "./components/animate/MotionLazyContainer/index.572dd012.js";
62
- import { R as R9, g as g10 } from "./components/hook-form/RHFAutocompleteAsync/index.c3083062.js";
62
+ import { R as R9, g as g10 } from "./components/hook-form/RHFAutocompleteAsync/index.ca696cce.js";
63
63
  import { R as R10 } from "./components/hook-form/RHFMultiCheckbox/index.2680b3b6.js";
64
64
  import { R as R11 } from "./components/hook-form/RHFSelect/index.b6ca8bb2.js";
65
65
  import { R as R12 } from "./components/hook-form/RHFRadioGroup/index.b3335e13.js";
@@ -68,17 +68,17 @@ import { B as B3 } from "./components/mui_extended/Breadcrumbs/index.5e37d903.js
68
68
  import { C } from "./components/mui_extended/CircularProgress/index.ad569afd.js";
69
69
  import { L as L4 } from "./components/mui_extended/LinkWithRoute/index.16436ab8.js";
70
70
  import { T as T3 } from "./components/mui_extended/Typography/index.e5494696.js";
71
- import { B as B4, c } from "./components/formatters/BooleanFormatter/index.8da35c9c.js";
72
- import { D as D3, c as c2 } from "./components/formatters/DateFormatter/index.1b9baacc.js";
73
- import { P as P6, a as a5, U, e, b as b3, c as c3, d as d6, g as g11 } from "./components/formatters/index.689a8086.js";
74
- import { A as A3 } from "./components/CommonActions/components/ActionCancel/index.e498eeb2.js";
75
- import { A as A4 } from "./components/CommonActions/components/ActionIntro/index.60ef7bd7.js";
76
- import { A as A5 } from "./components/CommonActions/components/ActionFormCancel/index.4ff0ad73.js";
71
+ import { B as B4, c } from "./components/formatters/BooleanFormatter/index.ae70b54f.js";
72
+ import { D as D3, c as c2 } from "./components/formatters/DateFormatter/index.ed73f8ae.js";
73
+ import { P as P6, a as a5, U, e, b as b3, c as c3, d as d6, g as g11 } from "./components/formatters/index.9bd10770.js";
74
+ import { A as A3 } from "./components/CommonActions/components/ActionCancel/index.a57fcfae.js";
75
+ import { A as A4 } from "./components/CommonActions/components/ActionIntro/index.591a8195.js";
76
+ import { A as A5 } from "./components/CommonActions/components/ActionFormCancel/index.b8215cd2.js";
77
77
  import { A as A6 } from "./components/CommonActions/components/ActionFormIntro/index.ca4d2674.js";
78
78
  import { L as L5 } from "./components/Loadable/index.f5518558.js";
79
79
  import { S as S3 } from "./components/ScrollToTop/index.e06f98f6.js";
80
80
  import { u } from "./hooks/useFormAddEdit/index.d4845f1a.js";
81
- import { u as u2 } from "./hooks/useModal/index.5fee01a3.js";
81
+ import { u as u2 } from "./hooks/useModal/index.78ee58f3.js";
82
82
  import { L as L6 } from "./assets/Logo/index.228dcb5a.js";
83
83
  import "./utils/index.214d9542.js";
84
84
  import "./react-data-grid.d46d625e.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m4l/components",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "license": "UNLICENSED",
5
5
  "dependencies": {
6
6
  "@hookform/resolvers": "^2.9.10",