@fctc/sme-widget-ui 2.2.8 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -10890,7 +10890,7 @@ var Row = (props) => {
10890
10890
  children: /* @__PURE__ */ jsx47(DeleteIcon, {})
10891
10891
  }
10892
10892
  ) }) }),
10893
- columns && Array.isArray(columns) && columns?.some((column2) => column2?.optional) && /* @__PURE__ */ jsx47(
10893
+ (!onAddRow || typeof onAddRow !== "function") && columns && Array.isArray(columns) && columns?.some((column2) => column2?.optional) && /* @__PURE__ */ jsx47(
10894
10894
  "td",
10895
10895
  {
10896
10896
  style: {
@@ -11002,98 +11002,65 @@ var TableBody = (props) => {
11002
11002
  };
11003
11003
 
11004
11004
  // src/widgets/advanced/table/table-filter.tsx
11005
- import { useEffect as useEffect6, useRef as useRef5, useState as useState4 } from "react";
11006
- import { createPortal } from "react-dom";
11005
+ import { Popover, PopoverButton, PopoverPanel } from "@headlessui/react";
11007
11006
  import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
11008
11007
  var TableFilter = ({ columns, onToggleColumnOptional }) => {
11009
- const [openTableFilter, setOpenTableFilter] = useState4();
11010
- const [filterPosition, setFilterPosition] = useState4(null);
11011
- const filterPopupRef = useRef5(null);
11012
- const filterRef = useClickOutside({
11013
- handler: () => {
11014
- if (openTableFilter) {
11015
- setOpenTableFilter(false);
11016
- }
11017
- },
11018
- refs: [filterPopupRef]
11019
- });
11020
- useEffect6(() => {
11021
- const updatePosition = () => {
11022
- if (filterRef.current && openTableFilter) {
11023
- const rect = filterRef.current.getBoundingClientRect();
11024
- setFilterPosition({
11025
- top: rect.bottom + window.scrollY,
11026
- left: rect.left + window.scrollX,
11027
- right: window.innerWidth - rect.right
11028
- });
11029
- }
11030
- };
11031
- updatePosition();
11032
- window.addEventListener("scroll", updatePosition);
11033
- window.addEventListener("resize", updatePosition);
11034
- return () => {
11035
- window.removeEventListener("scroll", updatePosition);
11036
- window.removeEventListener("resize", updatePosition);
11037
- };
11038
- }, [filterRef, openTableFilter]);
11039
- return /* @__PURE__ */ jsxs27(
11008
+ return /* @__PURE__ */ jsx49(
11040
11009
  "div",
11041
11010
  {
11042
- ref: filterRef,
11043
11011
  style: {
11044
11012
  transform: "translateY(-50%)"
11045
11013
  },
11046
- className: "w-fit absolute top-[50%] translate-y-[-50%] right-[10px] ms-auto z-[32] bg-white",
11047
- children: [
11048
- /* @__PURE__ */ jsx49(
11014
+ className: "w-fit absolute top-[50%] translate-y-[-50%] right-[0px] ms-auto z-[32] ",
11015
+ children: /* @__PURE__ */ jsxs27(Popover, { children: [
11016
+ /* @__PURE__ */ jsx49(PopoverButton, { className: "p-2 rounded-lg cursor-pointer outline-none", children: /* @__PURE__ */ jsx49(
11049
11017
  "button",
11050
11018
  {
11051
11019
  type: "button",
11052
11020
  className: "bg-white size-8 p-1 rounded-lg cursor-pointer flex items-center justify-center",
11053
- onClick: () => {
11054
- setOpenTableFilter(!openTableFilter);
11055
- },
11056
11021
  children: /* @__PURE__ */ jsx49(FilterColumnIcon, {})
11057
11022
  }
11058
- ),
11059
- filterPosition && openTableFilter && createPortal(
11060
- /* @__PURE__ */ jsx49(
11061
- "div",
11062
- {
11063
- ref: filterPopupRef,
11064
- style: {
11065
- top: filterPosition?.top,
11066
- right: filterPosition?.right,
11067
- zIndex: 9999
11068
- },
11069
- className: "absolute z-[9999] flex w-[250px] h-auto max-h-[800%] overflow-auto flex-col gap-[16px] rounded-[8px] bg-[#fff] px-[24px] py-[16px] shadow-md",
11070
- children: columns?.filter((val) => val?.optional !== void 0)?.map((item) => {
11071
- return /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
11072
- /* @__PURE__ */ jsx49(
11073
- "input",
11074
- {
11075
- type: "checkbox",
11076
- id: `${item.name}`,
11077
- onChange: () => onToggleColumnOptional(item),
11078
- checked: item.optional !== "hide",
11079
- className: "cursor-pointer"
11080
- }
11081
- ),
11082
- /* @__PURE__ */ jsx49(
11083
- "label",
11084
- {
11085
- htmlFor: `${item.name}`,
11086
- className: "flex items-center gap-[8px]",
11087
- children: item.field.string
11088
- }
11089
- )
11090
- ] }, item.name);
11091
- })
11092
- }
11093
- ),
11094
- document.body
11023
+ ) }),
11024
+ /* @__PURE__ */ jsx49(
11025
+ PopoverPanel,
11026
+ {
11027
+ transition: true,
11028
+ anchor: "bottom end",
11029
+ className: "shadow-lg z-[99] gap-2 bg-white rounded-lg transition duration-200 ease-in-out border border-stroke-disabled",
11030
+ children: /* @__PURE__ */ jsx49(
11031
+ "div",
11032
+ {
11033
+ style: {
11034
+ zIndex: 9999
11035
+ },
11036
+ className: "flex w-[250px] h-auto overflow-auto flex-col gap-[16px] rounded-[8px] bg-[#fff] px-[24px] py-[16px] shadow-md",
11037
+ children: columns?.filter((val) => val?.optional !== void 0)?.map((item) => {
11038
+ return /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
11039
+ /* @__PURE__ */ jsx49(
11040
+ "input",
11041
+ {
11042
+ type: "checkbox",
11043
+ id: `${item.name}`,
11044
+ onChange: () => onToggleColumnOptional(item),
11045
+ checked: item.optional !== "hide",
11046
+ className: "cursor-pointer"
11047
+ }
11048
+ ),
11049
+ /* @__PURE__ */ jsx49(
11050
+ "label",
11051
+ {
11052
+ htmlFor: `${item.name}`,
11053
+ className: "flex items-center gap-[8px]",
11054
+ children: item.field.string
11055
+ }
11056
+ )
11057
+ ] }, item.name);
11058
+ })
11059
+ }
11060
+ )
11061
+ }
11095
11062
  )
11096
- ]
11063
+ ] })
11097
11064
  }
11098
11065
  );
11099
11066
  };
@@ -12956,7 +12923,7 @@ var M = e2.forwardRef(({ id: t3, anchorId: l2, anchorSelect: n4, content: i3, ht
12956
12923
  });
12957
12924
 
12958
12925
  // src/widgets/advanced/table/table-head.tsx
12959
- import { createPortal as createPortal2 } from "react-dom";
12926
+ import { createPortal } from "react-dom";
12960
12927
  import { Fragment as Fragment4, jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
12961
12928
  var TableHead = (props) => {
12962
12929
  const {
@@ -13004,7 +12971,7 @@ var TableHead = (props) => {
13004
12971
  children: /* @__PURE__ */ jsxs29("div", { className: "cursor-pointer flex items-center gap-[4px] w-full group relative", children: [
13005
12972
  /* @__PURE__ */ jsx51("span", { className: "truncate line-clamp-1 w-fit", children: col.title }),
13006
12973
  col?.field?.help && /* @__PURE__ */ jsxs29(Fragment4, { children: [
13007
- createPortal2(
12974
+ createPortal(
13008
12975
  /* @__PURE__ */ jsx51(
13009
12976
  M,
13010
12977
  {
@@ -15266,7 +15233,7 @@ var Button = React2.forwardRef(
15266
15233
  Button.displayName = "Button";
15267
15234
 
15268
15235
  // src/widgets/advanced/login/shared/text-input.tsx
15269
- import { useState as useState5 } from "react";
15236
+ import { useState as useState4 } from "react";
15270
15237
  import { jsx as jsx55, jsxs as jsxs32 } from "react/jsx-runtime";
15271
15238
  function TextInput(props) {
15272
15239
  const {
@@ -15280,7 +15247,7 @@ function TextInput(props) {
15280
15247
  errors,
15281
15248
  required
15282
15249
  } = props;
15283
- const [showPassword, setShowPassword] = useState5(false);
15250
+ const [showPassword, setShowPassword] = useState4(false);
15284
15251
  return /* @__PURE__ */ jsxs32("div", { className: `flex justify-center gap-2 flex-col ${className}`, children: [
15285
15252
  label && /* @__PURE__ */ jsxs32("label", { className: "text-[#262626] text-sm leading-5 font-semibold", children: [
15286
15253
  label,
@@ -15322,7 +15289,7 @@ function TextInput(props) {
15322
15289
  }
15323
15290
 
15324
15291
  // src/widgets/advanced/login/provider/credential/form-options/index.tsx
15325
- import { useEffect as useEffect7 } from "react";
15292
+ import { useEffect as useEffect6 } from "react";
15326
15293
  import { jsx as jsx56, jsxs as jsxs33 } from "react/jsx-runtime";
15327
15294
  var STAY_LOGIN_IN = "stayLoginIn";
15328
15295
  function FormOptions({
@@ -15346,7 +15313,7 @@ function FormOptions({
15346
15313
  }
15347
15314
  }
15348
15315
  }
15349
- useEffect7(() => {
15316
+ useEffect6(() => {
15350
15317
  localStorage.setItem(STAY_LOGIN_IN, "false");
15351
15318
  }, []);
15352
15319
  return /* @__PURE__ */ jsxs33("div", { className: "flex justify-between items-center text-[#005aa9] text-sm leading-5 font-medium select-none", children: [
@@ -15640,7 +15607,7 @@ var PopupFilter = ({
15640
15607
  };
15641
15608
 
15642
15609
  // src/widgets/advanced/search/search-item/index.tsx
15643
- import { useEffect as useEffect8, useState as useState6 } from "react";
15610
+ import { useEffect as useEffect7, useState as useState5 } from "react";
15644
15611
 
15645
15612
  // src/widgets/advanced/search/tag-search/index.tsx
15646
15613
  import { Fragment as Fragment8 } from "react";
@@ -15842,13 +15809,13 @@ var Search = ({
15842
15809
  clearSearch
15843
15810
  }) => {
15844
15811
  const { t: t3 } = useI18n();
15845
- const [showPopupFilter, setShowPopupFilter] = useState6(false);
15812
+ const [showPopupFilter, setShowPopupFilter] = useState5(false);
15846
15813
  const popupFilterRef = useClickOutside({
15847
15814
  handler: () => setShowPopupFilter(false)
15848
15815
  });
15849
- const [isReadyFormatDomain, setIsReadyFormatDomain] = useState6(false);
15850
- const [didInit, setDidInit] = useState6(false);
15851
- useEffect8(() => {
15816
+ const [isReadyFormatDomain, setIsReadyFormatDomain] = useState5(false);
15817
+ const [didInit, setDidInit] = useState5(false);
15818
+ useEffect7(() => {
15852
15819
  if (isReadyFormatDomain) {
15853
15820
  setPage(0);
15854
15821
  setSelectedRowKeys([]);
@@ -15861,7 +15828,7 @@ var Search = ({
15861
15828
  }
15862
15829
  }
15863
15830
  }, [selectedTags, isReadyFormatDomain]);
15864
- useEffect8(() => {
15831
+ useEffect7(() => {
15865
15832
  setDidInit(false);
15866
15833
  setIsReadyFormatDomain(false);
15867
15834
  return () => {
@@ -15870,7 +15837,7 @@ var Search = ({
15870
15837
  setIsReadyFormatDomain(false);
15871
15838
  };
15872
15839
  }, [aid]);
15873
- useEffect8(() => {
15840
+ useEffect7(() => {
15874
15841
  if (!filterBy || !fieldsList || fieldsList?.length === 0) return;
15875
15842
  if (didInit) return;
15876
15843
  const searchDefaults = Object.entries(context || {}).filter(
@@ -16169,8 +16136,8 @@ var ModalConfirm = ({
16169
16136
  };
16170
16137
 
16171
16138
  // src/widgets/common/modal-detail.tsx
16172
- import { useState as useState7 } from "react";
16173
- import { createPortal as createPortal3 } from "react-dom";
16139
+ import { useState as useState6 } from "react";
16140
+ import { createPortal as createPortal2 } from "react-dom";
16174
16141
  import { Fragment as Fragment13, jsx as jsx69, jsxs as jsxs44 } from "react/jsx-runtime";
16175
16142
  var ModalDetail = ({
16176
16143
  idToolTip,
@@ -16183,8 +16150,8 @@ var ModalDetail = ({
16183
16150
  context
16184
16151
  }) => {
16185
16152
  const { t: t3 } = useI18n();
16186
- const [showModalDetail, setShowModalDetail] = useState7(false);
16187
- const [actionData, setActionData] = useState7();
16153
+ const [showModalDetail, setShowModalDetail] = useState6(false);
16154
+ const [actionData, setActionData] = useState6();
16188
16155
  const handleToggleModal = (e3) => {
16189
16156
  e3.stopPropagation();
16190
16157
  setShowModalDetail(!showModalDetail);
@@ -16193,7 +16160,7 @@ var ModalDetail = ({
16193
16160
  sessionStorage.setItem("actionData", JSON.stringify(actionData));
16194
16161
  window.location.href = `/form/menu?model=${model}&id=${idForm}`;
16195
16162
  };
16196
- return createPortal3(
16163
+ return createPortal2(
16197
16164
  /* @__PURE__ */ jsx69(Fragment13, { children: showModalDetail && /* @__PURE__ */ jsxs44("div", { className: "fixed bottom-0 left-0 right-0 top-0 z-[100]", children: [
16198
16165
  /* @__PURE__ */ jsx69("div", { className: "absolute inset-0 bg-[rgba(27,27,27,0.48)]" }),
16199
16166
  /* @__PURE__ */ jsx69("div", { className: "absolute inset-0 overflow-auto flex flex-col justify-center items-center px-5", children: /* @__PURE__ */ jsxs44("div", { className: "relative z-[1] max-w-full p-4 flex flex-col gap-4 w-[1000px] transform rounded-3xl bg-[#FFF] h-[90%]", children: [
@@ -16232,12 +16199,12 @@ var ModalDetail = ({
16232
16199
  };
16233
16200
 
16234
16201
  // src/widgets/common/loading-normal.tsx
16235
- import { useEffect as useEffect9, useState as useState8 } from "react";
16202
+ import { useEffect as useEffect8, useState as useState7 } from "react";
16236
16203
  import { jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
16237
16204
  var LayerLoading = () => {
16238
16205
  const { t: t3 } = useI18n();
16239
- const [activeIndex, setActiveIndex] = useState8(0);
16240
- useEffect9(() => {
16206
+ const [activeIndex, setActiveIndex] = useState7(0);
16207
+ useEffect8(() => {
16241
16208
  const interval = setInterval(() => {
16242
16209
  setActiveIndex((prevIndex) => (prevIndex + 1) % 6);
16243
16210
  }, 200);
@@ -16256,11 +16223,11 @@ var LayerLoading = () => {
16256
16223
  };
16257
16224
 
16258
16225
  // src/widgets/common/loading-small.tsx
16259
- import { useEffect as useEffect10, useState as useState9 } from "react";
16226
+ import { useEffect as useEffect9, useState as useState8 } from "react";
16260
16227
  import { jsx as jsx71 } from "react/jsx-runtime";
16261
16228
  var LoadingSmall = () => {
16262
- const [activeIndex, setActiveIndex] = useState9(0);
16263
- useEffect10(() => {
16229
+ const [activeIndex, setActiveIndex] = useState8(0);
16230
+ useEffect9(() => {
16264
16231
  const interval = setInterval(() => {
16265
16232
  setActiveIndex((prevIndex) => (prevIndex + 1) % 6);
16266
16233
  }, 200);
@@ -16595,11 +16562,11 @@ var ButtonSelectFiles = ({
16595
16562
  };
16596
16563
 
16597
16564
  // src/widgets/common/video-player.tsx
16598
- import { useRef as useRef6, useState as useState10 } from "react";
16565
+ import { useRef as useRef5, useState as useState9 } from "react";
16599
16566
  import { jsx as jsx73, jsxs as jsxs47 } from "react/jsx-runtime";
16600
16567
  var VideoPlayer = ({ src }) => {
16601
- const [isPlaying, setIsPlaying] = useState10(false);
16602
- const videoRef = useRef6(null);
16568
+ const [isPlaying, setIsPlaying] = useState9(false);
16569
+ const videoRef = useRef5(null);
16603
16570
  const handlePlayPause = () => {
16604
16571
  if (videoRef.current) {
16605
16572
  if (isPlaying) {
@@ -16708,7 +16675,7 @@ var AvatarField = (props) => {
16708
16675
  };
16709
16676
 
16710
16677
  // src/widgets/basic/binary-field/binary.tsx
16711
- import { useEffect as useEffect11, useState as useState11 } from "react";
16678
+ import { useEffect as useEffect10, useState as useState10 } from "react";
16712
16679
  import { Fragment as Fragment16, jsx as jsx75, jsxs as jsxs49 } from "react/jsx-runtime";
16713
16680
  var BinaryField = (props) => {
16714
16681
  const {
@@ -16736,12 +16703,12 @@ var BinaryField = (props) => {
16736
16703
  setInitialFile
16737
16704
  } = props;
16738
16705
  const { t: t3 } = useI18n();
16739
- const [fileInfo, setFileInfo] = useState11(null);
16706
+ const [fileInfo, setFileInfo] = useState10(null);
16740
16707
  const onlyImage = widget === "image" || widget === "image_url";
16741
- useEffect11(() => {
16708
+ useEffect10(() => {
16742
16709
  setInitialFile(value);
16743
16710
  }, [value]);
16744
- useEffect11(() => {
16711
+ useEffect10(() => {
16745
16712
  const loadFromLink = async () => {
16746
16713
  if (!initialFile || !initialFile.startsWith("http")) return;
16747
16714
  if (typeof initialFile !== "string") {
@@ -17114,7 +17081,7 @@ var ButtonField = (props) => {
17114
17081
  };
17115
17082
 
17116
17083
  // src/widgets/basic/char-field/char.tsx
17117
- import { useEffect as useEffect12, useMemo as useMemo4 } from "react";
17084
+ import { useEffect as useEffect11, useMemo as useMemo4 } from "react";
17118
17085
  import { Fragment as Fragment18, jsx as jsx78, jsxs as jsxs51 } from "react/jsx-runtime";
17119
17086
  var WIDGET_AUTO_COMPUTE_DEPEND = "auto_compute_depend_field";
17120
17087
  var CharField = (props) => {
@@ -17174,12 +17141,12 @@ var CharField = (props) => {
17174
17141
  fieldState: { error: error2, isDirty }
17175
17142
  }) => {
17176
17143
  const { setError, clearErrors } = methods;
17177
- useEffect12(() => {
17144
+ useEffect11(() => {
17178
17145
  if (value2) {
17179
17146
  clearErrors(name2);
17180
17147
  }
17181
17148
  }, [value2, clearErrors, name2]);
17182
- useEffect12(() => {
17149
+ useEffect11(() => {
17183
17150
  if (widget !== WIDGET_AUTO_COMPUTE_DEPEND) return;
17184
17151
  const depValue = formValues?.[options2?.depend_field]?.[options2?.field_name];
17185
17152
  const currentValue = methods?.getValues(name2);
@@ -17343,21 +17310,21 @@ var CheckboxField = (props) => {
17343
17310
  };
17344
17311
 
17345
17312
  // src/widgets/basic/color-field/color-wrapper.tsx
17346
- import { useEffect as useEffect13, useRef as useRef7, useState as useState12 } from "react";
17313
+ import { useEffect as useEffect12, useRef as useRef6, useState as useState11 } from "react";
17347
17314
  import { Fragment as Fragment19, jsx as jsx80, jsxs as jsxs52 } from "react/jsx-runtime";
17348
17315
  var ColorWrapper = (props) => {
17349
17316
  const { colors: colors2, defaultColor, savePickColor } = props;
17350
17317
  const { t: t3 } = useI18n();
17351
- const [selectedColor, setSelectedColor] = useState12(colors2[defaultColor]);
17352
- const [showFullColors, setIsShowFullColor] = useState12(false);
17353
- const pickColorsRef = useRef7(null);
17354
- useEffect13(() => {
17318
+ const [selectedColor, setSelectedColor] = useState11(colors2[defaultColor]);
17319
+ const [showFullColors, setIsShowFullColor] = useState11(false);
17320
+ const pickColorsRef = useRef6(null);
17321
+ useEffect12(() => {
17355
17322
  setSelectedColor(colors2[defaultColor]);
17356
17323
  }, [defaultColor]);
17357
17324
  const handleShowFullColors = () => {
17358
17325
  setIsShowFullColor(!showFullColors);
17359
17326
  };
17360
- useEffect13(() => {
17327
+ useEffect12(() => {
17361
17328
  const handleClickOutside = (event) => {
17362
17329
  if (pickColorsRef.current && !pickColorsRef.current.contains(event.target)) {
17363
17330
  setIsShowFullColor(false);
@@ -17448,7 +17415,7 @@ var ColorField = (props) => {
17448
17415
  };
17449
17416
 
17450
17417
  // src/widgets/basic/copy-link-buttton/copy-link.tsx
17451
- import { useEffect as useEffect14 } from "react";
17418
+ import { useEffect as useEffect13 } from "react";
17452
17419
  import { jsx as jsx82, jsxs as jsxs53 } from "react/jsx-runtime";
17453
17420
  var CopyLinkButtonField = (props) => {
17454
17421
  const {
@@ -17483,7 +17450,7 @@ var CopyLinkButtonField = (props) => {
17483
17450
  fieldState: { error: error2 }
17484
17451
  }) => {
17485
17452
  const { setError, clearErrors } = methods;
17486
- useEffect14(() => {
17453
+ useEffect13(() => {
17487
17454
  if (value) {
17488
17455
  clearErrors(name2);
17489
17456
  }
@@ -17559,10 +17526,10 @@ var CopyLinkButtonField = (props) => {
17559
17526
  };
17560
17527
 
17561
17528
  // src/widgets/basic/date-field/date.tsx
17562
- import { forwardRef as forwardRef6, useEffect as useEffect18 } from "react";
17529
+ import { forwardRef as forwardRef6, useEffect as useEffect17 } from "react";
17563
17530
 
17564
17531
  // node_modules/react-datepicker/dist/index.es.js
17565
- import React9, { useRef as useRef11, useCallback as useCallback5, useEffect as useEffect16, cloneElement as cloneElement3, Component, createRef, createElement as createElement5 } from "react";
17532
+ import React9, { useRef as useRef10, useCallback as useCallback5, useEffect as useEffect15, cloneElement as cloneElement3, Component, createRef, createElement as createElement5 } from "react";
17566
17533
 
17567
17534
  // node_modules/date-fns/constants.js
17568
17535
  var daysInYear = 365.2425;
@@ -22132,8 +22099,8 @@ var CalendarContainer = function(_a2) {
22132
22099
  return React9.createElement("div", { className, role: "dialog", "aria-label": ariaLabel, "aria-modal": "true" }, children);
22133
22100
  };
22134
22101
  var useDetectClickOutside = function(onClickOutside, ignoreClass) {
22135
- var ref = useRef11(null);
22136
- var onClickOutsideRef = useRef11(onClickOutside);
22102
+ var ref = useRef10(null);
22103
+ var onClickOutsideRef = useRef10(onClickOutside);
22137
22104
  onClickOutsideRef.current = onClickOutside;
22138
22105
  var handleClickOutside = useCallback5(function(event) {
22139
22106
  var _a2;
@@ -22146,7 +22113,7 @@ var useDetectClickOutside = function(onClickOutside, ignoreClass) {
22146
22113
  }
22147
22114
  }
22148
22115
  }, [ignoreClass]);
22149
- useEffect16(function() {
22116
+ useEffect15(function() {
22150
22117
  document.addEventListener("mousedown", handleClickOutside);
22151
22118
  return function() {
22152
22119
  document.removeEventListener("mousedown", handleClickOutside);
@@ -25387,7 +25354,7 @@ function withFloating(Component3) {
25387
25354
  var WithFloating = function(props) {
25388
25355
  var _a2;
25389
25356
  var hidePopper = typeof props.hidePopper === "boolean" ? props.hidePopper : true;
25390
- var arrowRef = useRef11(null);
25357
+ var arrowRef = useRef10(null);
25391
25358
  var floatingProps = useFloating2(_assign({ open: !hidePopper, whileElementsMounted: autoUpdate, placement: props.popperPlacement, middleware: __spreadArray([
25392
25359
  flip3({ padding: 15 }),
25393
25360
  offset3(10),
@@ -26399,13 +26366,13 @@ function _objectWithoutProperties(e3, t3) {
26399
26366
  }
26400
26367
 
26401
26368
  // node_modules/react-select/dist/useStateManager-7e1e8489.esm.js
26402
- import { useState as useState15, useCallback as useCallback6 } from "react";
26369
+ import { useState as useState14, useCallback as useCallback6 } from "react";
26403
26370
  var _excluded = ["defaultInputValue", "defaultMenuIsOpen", "defaultValue", "inputValue", "menuIsOpen", "onChange", "onInputChange", "onMenuClose", "onMenuOpen", "value"];
26404
26371
  function useStateManager(_ref3) {
26405
26372
  var _ref$defaultInputValu = _ref3.defaultInputValue, defaultInputValue = _ref$defaultInputValu === void 0 ? "" : _ref$defaultInputValu, _ref$defaultMenuIsOpe = _ref3.defaultMenuIsOpen, defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe, _ref$defaultValue = _ref3.defaultValue, defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue, propsInputValue = _ref3.inputValue, propsMenuIsOpen = _ref3.menuIsOpen, propsOnChange = _ref3.onChange, propsOnInputChange = _ref3.onInputChange, propsOnMenuClose = _ref3.onMenuClose, propsOnMenuOpen = _ref3.onMenuOpen, propsValue = _ref3.value, restSelectProps = _objectWithoutProperties(_ref3, _excluded);
26406
- var _useState = useState15(propsInputValue !== void 0 ? propsInputValue : defaultInputValue), _useState2 = _slicedToArray(_useState, 2), stateInputValue = _useState2[0], setStateInputValue = _useState2[1];
26407
- var _useState3 = useState15(propsMenuIsOpen !== void 0 ? propsMenuIsOpen : defaultMenuIsOpen), _useState4 = _slicedToArray(_useState3, 2), stateMenuIsOpen = _useState4[0], setStateMenuIsOpen = _useState4[1];
26408
- var _useState5 = useState15(propsValue !== void 0 ? propsValue : defaultValue), _useState6 = _slicedToArray(_useState5, 2), stateValue = _useState6[0], setStateValue = _useState6[1];
26373
+ var _useState = useState14(propsInputValue !== void 0 ? propsInputValue : defaultInputValue), _useState2 = _slicedToArray(_useState, 2), stateInputValue = _useState2[0], setStateInputValue = _useState2[1];
26374
+ var _useState3 = useState14(propsMenuIsOpen !== void 0 ? propsMenuIsOpen : defaultMenuIsOpen), _useState4 = _slicedToArray(_useState3, 2), stateMenuIsOpen = _useState4[0], setStateMenuIsOpen = _useState4[1];
26375
+ var _useState5 = useState14(propsValue !== void 0 ? propsValue : defaultValue), _useState6 = _slicedToArray(_useState5, 2), stateValue = _useState6[0], setStateValue = _useState6[1];
26409
26376
  var onChange2 = useCallback6(function(value2, actionMeta) {
26410
26377
  if (typeof propsOnChange === "function") {
26411
26378
  propsOnChange(value2, actionMeta);
@@ -26566,7 +26533,7 @@ function _toConsumableArray(r4) {
26566
26533
 
26567
26534
  // node_modules/react-select/dist/Select-ef7c0426.esm.js
26568
26535
  import * as React13 from "react";
26569
- import { useMemo as useMemo8, Fragment as Fragment23, useRef as useRef14, useCallback as useCallback8, useEffect as useEffect17, Component as Component2 } from "react";
26536
+ import { useMemo as useMemo8, Fragment as Fragment23, useRef as useRef13, useCallback as useCallback8, useEffect as useEffect16, Component as Component2 } from "react";
26570
26537
 
26571
26538
  // node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js
26572
26539
  import * as React11 from "react";
@@ -27898,8 +27865,8 @@ function _taggedTemplateLiteral(e3, t3) {
27898
27865
  }
27899
27866
 
27900
27867
  // node_modules/react-select/dist/index-641ee5b8.esm.js
27901
- import { useContext as useContext9, useRef as useRef13, useState as useState16, useMemo as useMemo7, useCallback as useCallback7, createContext as createContext5 } from "react";
27902
- import { createPortal as createPortal5 } from "react-dom";
27868
+ import { useContext as useContext9, useRef as useRef12, useState as useState15, useMemo as useMemo7, useCallback as useCallback7, createContext as createContext5 } from "react";
27869
+ import { createPortal as createPortal4 } from "react-dom";
27903
27870
 
27904
27871
  // node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js
27905
27872
  import { useLayoutEffect as useLayoutEffect4 } from "react";
@@ -28244,9 +28211,9 @@ var PortalPlacementContext = /* @__PURE__ */ createContext5(null);
28244
28211
  var MenuPlacer = function MenuPlacer2(props) {
28245
28212
  var children = props.children, minMenuHeight = props.minMenuHeight, maxMenuHeight = props.maxMenuHeight, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition, menuShouldScrollIntoView = props.menuShouldScrollIntoView, theme = props.theme;
28246
28213
  var _ref3 = useContext9(PortalPlacementContext) || {}, setPortalPlacement = _ref3.setPortalPlacement;
28247
- var ref = useRef13(null);
28248
- var _useState = useState16(maxMenuHeight), _useState2 = _slicedToArray(_useState, 2), maxHeight = _useState2[0], setMaxHeight = _useState2[1];
28249
- var _useState3 = useState16(null), _useState4 = _slicedToArray(_useState3, 2), placement = _useState4[0], setPlacement = _useState4[1];
28214
+ var ref = useRef12(null);
28215
+ var _useState = useState15(maxMenuHeight), _useState2 = _slicedToArray(_useState, 2), maxHeight = _useState2[0], setMaxHeight = _useState2[1];
28216
+ var _useState3 = useState15(null), _useState4 = _slicedToArray(_useState3, 2), placement = _useState4[0], setPlacement = _useState4[1];
28250
28217
  var controlHeight2 = theme.spacing.controlHeight;
28251
28218
  index3(function() {
28252
28219
  var menuEl = ref.current;
@@ -28348,15 +28315,15 @@ var menuPortalCSS = function menuPortalCSS2(_ref8) {
28348
28315
  };
28349
28316
  var MenuPortal = function MenuPortal2(props) {
28350
28317
  var appendTo = props.appendTo, children = props.children, controlElement = props.controlElement, innerProps = props.innerProps, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition;
28351
- var menuPortalRef = useRef13(null);
28352
- var cleanupRef = useRef13(null);
28353
- var _useState5 = useState16(coercePlacement(menuPlacement)), _useState6 = _slicedToArray(_useState5, 2), placement = _useState6[0], setPortalPlacement = _useState6[1];
28318
+ var menuPortalRef = useRef12(null);
28319
+ var cleanupRef = useRef12(null);
28320
+ var _useState5 = useState15(coercePlacement(menuPlacement)), _useState6 = _slicedToArray(_useState5, 2), placement = _useState6[0], setPortalPlacement = _useState6[1];
28354
28321
  var portalPlacementContext = useMemo7(function() {
28355
28322
  return {
28356
28323
  setPortalPlacement
28357
28324
  };
28358
28325
  }, []);
28359
- var _useState7 = useState16(null), _useState8 = _slicedToArray(_useState7, 2), computedPosition = _useState8[0], setComputedPosition = _useState8[1];
28326
+ var _useState7 = useState15(null), _useState8 = _slicedToArray(_useState7, 2), computedPosition = _useState8[0], setComputedPosition = _useState8[1];
28360
28327
  var updateComputedPosition = useCallback7(function() {
28361
28328
  if (!controlElement) return;
28362
28329
  var rect = getBoundingClientObj(controlElement);
@@ -28402,7 +28369,7 @@ var MenuPortal = function MenuPortal2(props) {
28402
28369
  }), innerProps), children);
28403
28370
  return jsx84(PortalPlacementContext.Provider, {
28404
28371
  value: portalPlacementContext
28405
- }, appendTo ? /* @__PURE__ */ createPortal5(menuWrapper, appendTo) : menuWrapper);
28372
+ }, appendTo ? /* @__PURE__ */ createPortal4(menuWrapper, appendTo) : menuWrapper);
28406
28373
  };
28407
28374
  var containerCSS = function containerCSS2(_ref3) {
28408
28375
  var isDisabled = _ref3.isDisabled, isRtl = _ref3.isRtl;
@@ -29487,10 +29454,10 @@ var cancelScroll = function cancelScroll2(event) {
29487
29454
  };
29488
29455
  function useScrollCapture(_ref3) {
29489
29456
  var isEnabled = _ref3.isEnabled, onBottomArrive = _ref3.onBottomArrive, onBottomLeave = _ref3.onBottomLeave, onTopArrive = _ref3.onTopArrive, onTopLeave = _ref3.onTopLeave;
29490
- var isBottom = useRef14(false);
29491
- var isTop = useRef14(false);
29492
- var touchStart = useRef14(0);
29493
- var scrollTarget = useRef14(null);
29457
+ var isBottom = useRef13(false);
29458
+ var isTop = useRef13(false);
29459
+ var touchStart = useRef13(0);
29460
+ var scrollTarget = useRef13(null);
29494
29461
  var handleEventDelta = useCallback8(function(event, delta) {
29495
29462
  if (scrollTarget.current === null) return;
29496
29463
  var _scrollTarget$current = scrollTarget.current, scrollTop = _scrollTarget$current.scrollTop, scrollHeight = _scrollTarget$current.scrollHeight, clientHeight = _scrollTarget$current.clientHeight;
@@ -29550,7 +29517,7 @@ function useScrollCapture(_ref3) {
29550
29517
  el.removeEventListener("touchstart", onTouchStart, false);
29551
29518
  el.removeEventListener("touchmove", onTouchMove, false);
29552
29519
  }, [onTouchMove, onTouchStart, onWheel]);
29553
- useEffect17(function() {
29520
+ useEffect16(function() {
29554
29521
  if (!isEnabled) return;
29555
29522
  var element = scrollTarget.current;
29556
29523
  startListening(element);
@@ -29597,8 +29564,8 @@ var listenerOptions = {
29597
29564
  };
29598
29565
  function useScrollLock(_ref3) {
29599
29566
  var isEnabled = _ref3.isEnabled, _ref$accountForScroll = _ref3.accountForScrollbars, accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
29600
- var originalStyles = useRef14({});
29601
- var scrollTarget = useRef14(null);
29567
+ var originalStyles = useRef13({});
29568
+ var scrollTarget = useRef13(null);
29602
29569
  var addScrollLock = useCallback8(function(touchScrollTarget) {
29603
29570
  if (!canUseDOM) return;
29604
29571
  var target = document.body;
@@ -29653,7 +29620,7 @@ function useScrollLock(_ref3) {
29653
29620
  }
29654
29621
  }
29655
29622
  }, [accountForScrollbars]);
29656
- useEffect17(function() {
29623
+ useEffect16(function() {
29657
29624
  if (!isEnabled) return;
29658
29625
  var element = scrollTarget.current;
29659
29626
  addScrollLock(element);
@@ -31371,7 +31338,7 @@ var DateField = (props) => {
31371
31338
  },
31372
31339
  render: ({ field, fieldState: { error: error2 } }) => {
31373
31340
  const { setError, clearErrors } = methods;
31374
- useEffect18(() => {
31341
+ useEffect17(() => {
31375
31342
  if (value) {
31376
31343
  clearErrors(name2);
31377
31344
  }
@@ -31603,7 +31570,7 @@ var DownloadFileField = (props) => {
31603
31570
  };
31604
31571
 
31605
31572
  // src/widgets/basic/dropdown-field/dropdown.tsx
31606
- import { useState as useState17 } from "react";
31573
+ import { useState as useState16 } from "react";
31607
31574
  import { jsx as jsx89, jsxs as jsxs58 } from "react/jsx-runtime";
31608
31575
  var DropdownField = (props) => {
31609
31576
  const {
@@ -31616,7 +31583,7 @@ var DropdownField = (props) => {
31616
31583
  dropdownClassName = "",
31617
31584
  useClickOutside: useClickOutside2
31618
31585
  } = props;
31619
- const [open, setOpen] = useState17(false);
31586
+ const [open, setOpen] = useState16(false);
31620
31587
  const dropdownRef = useClickOutside2({ handler: () => setOpen(false) });
31621
31588
  return /* @__PURE__ */ jsxs58(
31622
31589
  "div",
@@ -31725,7 +31692,7 @@ var FeeField = (props) => {
31725
31692
  };
31726
31693
 
31727
31694
  // src/widgets/basic/file-upload-field/file-upload.tsx
31728
- import { useEffect as useEffect19, useRef as useRef15, useState as useState18 } from "react";
31695
+ import { useEffect as useEffect18, useRef as useRef14, useState as useState17 } from "react";
31729
31696
  import { jsx as jsx91, jsxs as jsxs60 } from "react/jsx-runtime";
31730
31697
  var RenderFile = ({
31731
31698
  file,
@@ -31790,10 +31757,10 @@ var FileUploadField = (props) => {
31790
31757
  downloadFunction
31791
31758
  } = props;
31792
31759
  const { t: t3 } = useI18n();
31793
- const fileInputRef = useRef15(null);
31794
- const [selectedFiles, setSelectedFiles] = useState18([]);
31795
- const [uploadError, setUploadError] = useState18();
31796
- useEffect19(() => {
31760
+ const fileInputRef = useRef14(null);
31761
+ const [selectedFiles, setSelectedFiles] = useState17([]);
31762
+ const [uploadError, setUploadError] = useState17();
31763
+ useEffect18(() => {
31797
31764
  if (selectedFiles?.length === 0 && value) {
31798
31765
  setSelectedFiles([
31799
31766
  {
@@ -31811,7 +31778,7 @@ var FileUploadField = (props) => {
31811
31778
  required: required ? { value: true, message: `${string} ${t3("must_required")}` } : false
31812
31779
  },
31813
31780
  render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
31814
- useEffect19(() => {
31781
+ useEffect18(() => {
31815
31782
  let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
31816
31783
  if (widget !== "many2many_binary" && data && isBase64File(data)) {
31817
31784
  data = data.split(",")[1];
@@ -31867,7 +31834,7 @@ var FileUploadField = (props) => {
31867
31834
  };
31868
31835
 
31869
31836
  // src/widgets/basic/float-field/float.tsx
31870
- import { useEffect as useEffect20, useRef as useRef16, useState as useState19 } from "react";
31837
+ import { useEffect as useEffect19, useRef as useRef15, useState as useState18 } from "react";
31871
31838
  import { Fragment as Fragment26, jsx as jsx92, jsxs as jsxs61 } from "react/jsx-runtime";
31872
31839
  var FloatField = (props) => {
31873
31840
  const {
@@ -31899,10 +31866,10 @@ var FloatField = (props) => {
31899
31866
  },
31900
31867
  render: ({ field: { onChange: onChange2, value }, fieldState: { error: error2 } }) => {
31901
31868
  const { setError, clearErrors } = methods;
31902
- const [inputValue, setInputValue] = useState19(
31869
+ const [inputValue, setInputValue] = useState18(
31903
31870
  value !== void 0 && value !== null ? formatFloatNumber(value) : ""
31904
31871
  );
31905
- useEffect20(() => {
31872
+ useEffect19(() => {
31906
31873
  if (isDirtyRef.current) return;
31907
31874
  const numericInput = parseFloat(inputValue?.replace(/,/g, ""));
31908
31875
  if (propValue !== void 0 && propValue !== null && !Number.isNaN(propValue) && propValue !== numericInput) {
@@ -31915,9 +31882,9 @@ var FloatField = (props) => {
31915
31882
  setInputValue("");
31916
31883
  }
31917
31884
  }, [value, name2, clearErrors, propValue]);
31918
- const isDirtyRef = useRef16(false);
31919
- const inputRef = useRef16(null);
31920
- const lastCommittedValueRef = useRef16(null);
31885
+ const isDirtyRef = useRef15(false);
31886
+ const inputRef = useRef15(null);
31887
+ const lastCommittedValueRef = useRef15(null);
31921
31888
  const handleInputChange = (e3) => {
31922
31889
  const newValue = e3.target.value;
31923
31890
  const valueWithoutCommas = newValue.replace(/,/g, "");
@@ -32024,7 +31991,7 @@ var FloatField = (props) => {
32024
31991
  };
32025
31992
 
32026
31993
  // src/widgets/basic/float-time-field/float-time.tsx
32027
- import { useState as useState20 } from "react";
31994
+ import { useState as useState19 } from "react";
32028
31995
  import { Fragment as Fragment27, jsx as jsx93, jsxs as jsxs62 } from "react/jsx-runtime";
32029
31996
  var FloatTimeField = (props) => {
32030
31997
  const {
@@ -32056,11 +32023,11 @@ var FloatTimeField = (props) => {
32056
32023
  field: { onChange: fieldOnChange, onBlur, value: value2 },
32057
32024
  fieldState: { error: error2, isDirty }
32058
32025
  }) => {
32059
- const [input, setInput] = useState20(
32026
+ const [input, setInput] = useState19(
32060
32027
  convertFloatToTime(value2 ?? defaultValue)
32061
32028
  );
32062
- const [formattedTime, setFormattedTime] = useState20("");
32063
- const [errors, setErrors] = useState20("");
32029
+ const [formattedTime, setFormattedTime] = useState19("");
32030
+ const [errors, setErrors] = useState19("");
32064
32031
  const handleInputChange = (e3) => {
32065
32032
  const raw = e3.target.value.replace(/[^\d:]/g, "");
32066
32033
  setInput(raw);
@@ -32146,7 +32113,7 @@ var FloatTimeField = (props) => {
32146
32113
  };
32147
32114
 
32148
32115
  // src/widgets/basic/html-field/html.tsx
32149
- import { useEffect as useEffect21, useRef as useRef17 } from "react";
32116
+ import { useEffect as useEffect20, useRef as useRef16 } from "react";
32150
32117
  import { jsx as jsx94 } from "react/jsx-runtime";
32151
32118
  var HtmlField = (props) => {
32152
32119
  const {
@@ -32159,7 +32126,7 @@ var HtmlField = (props) => {
32159
32126
  value,
32160
32127
  isEditTable
32161
32128
  } = props;
32162
- const divRef = useRef17(null);
32129
+ const divRef = useRef16(null);
32163
32130
  if (!isForm && !isEditTable) {
32164
32131
  return /* @__PURE__ */ jsx94("div", { dangerouslySetInnerHTML: { __html: value || defaultValue || "" } });
32165
32132
  }
@@ -32170,7 +32137,7 @@ var HtmlField = (props) => {
32170
32137
  control: methods?.control,
32171
32138
  defaultValue,
32172
32139
  render: ({ field: { onChange: fieldOnChange, value: value2 } }) => {
32173
- useEffect21(() => {
32140
+ useEffect20(() => {
32174
32141
  if (divRef.current && divRef.current.innerHTML !== value2) {
32175
32142
  divRef.current.innerHTML = value2 || "";
32176
32143
  }
@@ -32212,7 +32179,7 @@ var ImageField = (props) => {
32212
32179
  };
32213
32180
 
32214
32181
  // src/widgets/basic/many2many-tags-field/many2many-tags.tsx
32215
- import React16, { useEffect as useEffect22, useMemo as useMemo10 } from "react";
32182
+ import React16, { useEffect as useEffect21, useMemo as useMemo10 } from "react";
32216
32183
 
32217
32184
  // src/widgets/basic/information-field/information.tsx
32218
32185
  import { Fragment as Fragment28, jsx as jsx96, jsxs as jsxs63 } from "react/jsx-runtime";
@@ -32354,7 +32321,7 @@ var Many2ManyTagField = (props) => {
32354
32321
  },
32355
32322
  render: ({ field, fieldState: { error: error2 } }) => {
32356
32323
  const { clearErrors } = methods;
32357
- useEffect22(() => {
32324
+ useEffect21(() => {
32358
32325
  if (field.value) {
32359
32326
  clearErrors(name2);
32360
32327
  }
@@ -32494,7 +32461,7 @@ var Many2ManyTagField = (props) => {
32494
32461
  };
32495
32462
 
32496
32463
  // src/widgets/basic/monetary-field/monetary.tsx
32497
- import { useEffect as useEffect23 } from "react";
32464
+ import { useEffect as useEffect22 } from "react";
32498
32465
  import { Fragment as Fragment29, jsx as jsx98, jsxs as jsxs65 } from "react/jsx-runtime";
32499
32466
  var MonetaryField = (props) => {
32500
32467
  const { t: t3 } = useI18n();
@@ -32548,7 +32515,7 @@ var MonetaryField = (props) => {
32548
32515
  fieldState: { error: error2 }
32549
32516
  }) => {
32550
32517
  const { setError, clearErrors } = methods;
32551
- useEffect23(() => {
32518
+ useEffect22(() => {
32552
32519
  if (value2 !== void 0 && value2 !== null && !isNaN(value2)) {
32553
32520
  clearErrors(name2);
32554
32521
  }
@@ -32606,7 +32573,7 @@ var PaidBadgedField = () => {
32606
32573
  };
32607
32574
 
32608
32575
  // src/widgets/basic/priority-field/rating-star.tsx
32609
- import React17, { useEffect as useEffect24, useState as useState21 } from "react";
32576
+ import React17, { useEffect as useEffect23, useState as useState20 } from "react";
32610
32577
  import { jsx as jsx100, jsxs as jsxs66 } from "react/jsx-runtime";
32611
32578
  var RatingStarField = (props) => {
32612
32579
  const {
@@ -32616,9 +32583,9 @@ var RatingStarField = (props) => {
32616
32583
  onSelectPriority,
32617
32584
  id
32618
32585
  } = props;
32619
- const [rating, setRating] = useState21(defaultValue);
32620
- const [hover, setHover] = useState21(0);
32621
- useEffect24(() => {
32586
+ const [rating, setRating] = useState20(defaultValue);
32587
+ const [hover, setHover] = useState20(0);
32588
+ useEffect23(() => {
32622
32589
  setRating(defaultValue);
32623
32590
  }, [defaultValue]);
32624
32591
  const handleClick = (value) => {
@@ -32731,7 +32698,7 @@ var PriorityField = (props) => {
32731
32698
  };
32732
32699
 
32733
32700
  // src/widgets/basic/radio-group-field/radio-group.tsx
32734
- import { useEffect as useEffect25 } from "react";
32701
+ import { useEffect as useEffect24 } from "react";
32735
32702
  import { jsx as jsx102, jsxs as jsxs67 } from "react/jsx-runtime";
32736
32703
  var RadioGroupField = (props) => {
32737
32704
  const {
@@ -32745,7 +32712,7 @@ var RadioGroupField = (props) => {
32745
32712
  onChange: onChange2,
32746
32713
  setValue
32747
32714
  } = props;
32748
- useEffect25(() => {
32715
+ useEffect24(() => {
32749
32716
  if (selection?.length > 0) {
32750
32717
  if (setValue) setValue(name2, selection?.[0]?.[0]);
32751
32718
  }
@@ -33049,7 +33016,7 @@ var ToggleButtonField = (props) => {
33049
33016
  };
33050
33017
 
33051
33018
  // src/widgets/basic/integer-field/integer.tsx
33052
- import { useEffect as useEffect26, useRef as useRef18, useState as useState22 } from "react";
33019
+ import { useEffect as useEffect25, useRef as useRef17, useState as useState21 } from "react";
33053
33020
  import { Fragment as Fragment31, jsx as jsx107, jsxs as jsxs71 } from "react/jsx-runtime";
33054
33021
  var IntegerField = (props) => {
33055
33022
  const {
@@ -33085,13 +33052,13 @@ var IntegerField = (props) => {
33085
33052
  fieldState: { error: error2 }
33086
33053
  }) => {
33087
33054
  const { setError, clearErrors } = methods;
33088
- const isDirtyRef = useRef18(false);
33089
- const inputRef = useRef18(null);
33090
- const lastCommittedValueRef = useRef18(null);
33091
- const [inputValue, setInputValue] = useState22(
33055
+ const isDirtyRef = useRef17(false);
33056
+ const inputRef = useRef17(null);
33057
+ const lastCommittedValueRef = useRef17(null);
33058
+ const [inputValue, setInputValue] = useState21(
33092
33059
  value2 !== void 0 && value2 !== null ? String(value2) : ""
33093
33060
  );
33094
- useEffect26(() => {
33061
+ useEffect25(() => {
33095
33062
  if (value2 !== void 0 && value2 !== null) {
33096
33063
  setInputValue(String(value2));
33097
33064
  clearErrors(name2);
@@ -33248,8 +33215,8 @@ var StatusDropdownField = (props) => {
33248
33215
  };
33249
33216
 
33250
33217
  // src/widgets/basic/many2many-field/many2many.tsx
33251
- import { createPortal as createPortal6 } from "react-dom";
33252
- import { useEffect as useEffect27 } from "react";
33218
+ import { createPortal as createPortal5 } from "react-dom";
33219
+ import { useEffect as useEffect26 } from "react";
33253
33220
  import { jsx as jsx109, jsxs as jsxs73 } from "react/jsx-runtime";
33254
33221
  var Many2ManyField = (props) => {
33255
33222
  const { t: t3 } = useI18n();
@@ -33309,7 +33276,7 @@ var Many2ManyField = (props) => {
33309
33276
  clearSearch
33310
33277
  } = searchController;
33311
33278
  const { handleCheckBoxAll, checkedAll, selectedRowKeysRef } = tableHeadController;
33312
- useEffect27(() => {
33279
+ useEffect26(() => {
33313
33280
  const groupItems = Array.isArray(selectedTags) ? selectedTags.filter((item) => item.type === "group_by") : [];
33314
33281
  if (groupItems?.length > 0) {
33315
33282
  typeof setPageLimit === "function" && setPageLimit(80);
@@ -33323,7 +33290,7 @@ var Many2ManyField = (props) => {
33323
33290
  typeof setGroupByList === "function" && setGroupByList(null);
33324
33291
  };
33325
33292
  }, [selectedTags]);
33326
- return createPortal6(
33293
+ return createPortal5(
33327
33294
  /* @__PURE__ */ jsxs73(
33328
33295
  "div",
33329
33296
  {
@@ -33529,7 +33496,7 @@ var Many2ManyField = (props) => {
33529
33496
  };
33530
33497
 
33531
33498
  // src/widgets/basic/many2one-field/many2one.tsx
33532
- import React18, { useEffect as useEffect28 } from "react";
33499
+ import React18, { useEffect as useEffect27 } from "react";
33533
33500
  import { Fragment as Fragment32, jsx as jsx110, jsxs as jsxs74 } from "react/jsx-runtime";
33534
33501
  var CustomMenuList2 = (props) => {
33535
33502
  const { t: t3 } = useI18n();
@@ -33632,7 +33599,7 @@ var Many2OneField = (props) => {
33632
33599
  const selectedOption = isForm && options2?.service && options2?.type && options2?.model ? tempSelectedOption : tempSelectedOption && options2?.length > 0 ? options2.find(
33633
33600
  (option) => option.value === tempSelectedOption?.value
33634
33601
  ) : currentValue ? currentValue : null;
33635
- useEffect28(() => {
33602
+ useEffect27(() => {
33636
33603
  if (error2 && selectedOption) {
33637
33604
  methods?.clearErrors(name2);
33638
33605
  }