@fctc/sme-widget-ui 1.0.9 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -12692,8 +12692,14 @@ var TableHead = (props) => {
12692
12692
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("thead", { className: "relative z-10", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
12693
12693
  "tr",
12694
12694
  {
12695
- style: { userSelect: "none", WebkitUserSelect: "none" },
12696
- className: "border-b-[1.5px] border-[rgba(66,66,66,0.12)] sticky top-0 bg-white z-[1]",
12695
+ style: {
12696
+ userSelect: "none",
12697
+ WebkitUserSelect: "none",
12698
+ zIndex: 1,
12699
+ position: "sticky",
12700
+ top: 0
12701
+ },
12702
+ className: "border-b border-[rgba(66,66,66,0.12)] bg-white",
12697
12703
  children: [
12698
12704
  isDisplayCheckbox && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12699
12705
  "th",
@@ -12714,7 +12720,7 @@ var TableHead = (props) => {
12714
12720
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12715
12721
  "th",
12716
12722
  {
12717
- className: `column whitespace-nowrap text-left p-3 text-sm font-medium capitalize text-[#121212]`,
12723
+ className: `column whitespace-nowrap text-left p-3 text-sm font-semibold capitalize text-[#060606]`,
12718
12724
  children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "cursor-pointer flex justify-between items-center gap-[4px] w-full min-w-max group", children: col.title })
12719
12725
  },
12720
12726
  "table-head-" + index4
@@ -14839,103 +14845,115 @@ var PopupFilter = ({
14839
14845
  setGroupBy,
14840
14846
  fields
14841
14847
  }) => {
14842
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "popup-filter absolute right-0 top-[calc(100%_+_3px)] z-[33] w-auto min-w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14848
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14843
14849
  "div",
14844
14850
  {
14845
- className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14846
- children: [
14847
- filterBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "filter-by w-full px-3", children: [
14848
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14849
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FilterIcon, { className: "filter-by-icon text-primary" }),
14850
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14851
- ] }),
14852
- filterBy?.reduce((acc, item, index4, array) => {
14853
- const prevItem = array[index4 - 1];
14854
- const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14855
- const isExist = item?.active;
14856
- if (isDifferentGroup) {
14857
- acc.push(/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("hr", { className: "my-2" }, "separator-" + index4));
14858
- }
14859
- acc.push(
14860
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14861
- "button",
14862
- {
14863
- className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14864
- onClick: () => {
14865
- const newFilterBy = filterBy?.map(
14866
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14867
- );
14868
- setFilterBy(newFilterBy);
14869
- if (isExist) {
14870
- typeof removeSearchItems === "function" && removeSearchItems(
14871
- `${SearchType.FILTER}_${item.group_index}`,
14872
- item
14851
+ style: {
14852
+ position: "absolute",
14853
+ top: "calc(100% + 3px)",
14854
+ right: 0,
14855
+ zIndex: 33
14856
+ },
14857
+ className: "popup-filter w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl",
14858
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14859
+ "div",
14860
+ {
14861
+ className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14862
+ children: [
14863
+ filterBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "filter-by w-full px-3", children: [
14864
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14865
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FilterIcon, { className: "filter-by-icon text-primary" }),
14866
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14867
+ ] }),
14868
+ filterBy?.reduce((acc, item, index4, array) => {
14869
+ const prevItem = array[index4 - 1];
14870
+ const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14871
+ const isExist = item?.active;
14872
+ if (isDifferentGroup) {
14873
+ acc.push(/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("hr", { className: "my-2" }, "separator-" + index4));
14874
+ }
14875
+ acc.push(
14876
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14877
+ "button",
14878
+ {
14879
+ className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14880
+ onClick: () => {
14881
+ const newFilterBy = filterBy?.map(
14882
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14883
+ );
14884
+ setFilterBy(newFilterBy);
14885
+ if (isExist) {
14886
+ typeof removeSearchItems === "function" && removeSearchItems(
14887
+ `${SearchType.FILTER}_${item.group_index}`,
14888
+ item
14889
+ );
14890
+ return;
14891
+ }
14892
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14893
+ name: item?.name,
14894
+ value: item?.string ?? item?.help,
14895
+ domain: item?.domain,
14896
+ groupIndex: item?.group_index,
14897
+ type: SearchType.FILTER
14898
+ });
14899
+ },
14900
+ children: [
14901
+ isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14902
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string ?? item?.help })
14903
+ ]
14904
+ },
14905
+ "filter-" + index4
14906
+ )
14907
+ );
14908
+ return acc;
14909
+ }, [])
14910
+ ] }),
14911
+ filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14912
+ groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "group-by w-full px-3", children: [
14913
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14914
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupByIcon, { className: "group-by-icon text-primary" }),
14915
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14916
+ ] }),
14917
+ groupBy?.map((item, index4) => {
14918
+ const isExist = item?.active;
14919
+ if (!item.string) return;
14920
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14921
+ "button",
14922
+ {
14923
+ onClick: () => {
14924
+ const formatArray = groupBy.map(
14925
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14873
14926
  );
14874
- return;
14875
- }
14876
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14877
- name: item?.name,
14878
- value: item?.string ?? item?.help,
14879
- domain: item?.domain,
14880
- groupIndex: item?.group_index,
14881
- type: SearchType.FILTER
14882
- });
14927
+ setGroupBy(formatArray);
14928
+ if (isExist) {
14929
+ typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14930
+ return;
14931
+ }
14932
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14933
+ name: item?.name,
14934
+ value: item?.string,
14935
+ type: SearchType.GROUP,
14936
+ context: JSON.parse(item?.context.replace(/'/g, '"')),
14937
+ active: !isExist,
14938
+ dataIndex: index4,
14939
+ fieldsGroup: fields
14940
+ });
14941
+ },
14942
+ className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14943
+ children: [
14944
+ isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14945
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string })
14946
+ ]
14883
14947
  },
14884
- children: [
14885
- isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14886
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string ?? item?.help })
14887
- ]
14888
- },
14889
- "filter-" + index4
14890
- )
14891
- );
14892
- return acc;
14893
- }, [])
14894
- ] }),
14895
- filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14896
- groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "group-by w-full px-3", children: [
14897
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14898
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupByIcon, { className: "group-by-icon text-primary" }),
14899
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14900
- ] }),
14901
- groupBy?.map((item, index4) => {
14902
- const isExist = item?.active;
14903
- if (!item.string) return;
14904
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14905
- "button",
14906
- {
14907
- onClick: () => {
14908
- const formatArray = groupBy.map(
14909
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14910
- );
14911
- setGroupBy(formatArray);
14912
- if (isExist) {
14913
- typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14914
- return;
14915
- }
14916
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14917
- name: item?.name,
14918
- value: item?.string,
14919
- type: SearchType.GROUP,
14920
- context: JSON.parse(item?.context.replace(/'/g, '"')),
14921
- active: !isExist,
14922
- dataIndex: index4,
14923
- fieldsGroup: fields
14924
- });
14925
- },
14926
- className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14927
- children: [
14928
- isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14929
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string })
14930
- ]
14931
- },
14932
- "groupby-" + index4 + 1
14933
- );
14934
- })
14935
- ] })
14936
- ]
14948
+ "groupby-" + index4 + 1
14949
+ );
14950
+ })
14951
+ ] })
14952
+ ]
14953
+ }
14954
+ )
14937
14955
  }
14938
- ) });
14956
+ );
14939
14957
  };
14940
14958
 
14941
14959
  // src/widgets/advanced/search/search-item/index.tsx
@@ -15218,7 +15236,7 @@ var Search = ({
15218
15236
  "input",
15219
15237
  {
15220
15238
  value: searchString,
15221
- className: "min-h-[25px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
15239
+ className: "min-h-[44px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
15222
15240
  placeholder: instance.t("search..."),
15223
15241
  onChange: (e3) => {
15224
15242
  onSearchString(e3.target.value);
@@ -18162,7 +18180,7 @@ var CharField = (props) => {
18162
18180
  disabled: readonly,
18163
18181
  placeholder,
18164
18182
  required: !invisible && required,
18165
- className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border border-[rgba(66,66,66,0.12)] rounded-lg p-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
18183
+ className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border !border-[rgba(66,66,66,0.12)] rounded-lg py-2 px-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
18166
18184
  ${readonly ? "!cursor-not-allowed border-transparent text-[#5c5a5a]" : "!cursor-pointer text-[#AEAEAE]"}
18167
18185
  `
18168
18186
  }
@@ -32233,7 +32251,7 @@ var DateField = (props) => {
32233
32251
  isForm2 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CalandarIcon, {})
32234
32252
  ] })
32235
32253
  );
32236
- if (!isForm) {
32254
+ if (!isForm && !isEditTable) {
32237
32255
  return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: value && (0, import_moment2.default)(value).isValid() ? (0, import_moment2.default)(value).add(7, "hours").format(formatDate2) : "" });
32238
32256
  } else {
32239
32257
  return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
@@ -34293,7 +34311,7 @@ var Many2OneField = (props) => {
34293
34311
  menuShouldScrollIntoView: false,
34294
34312
  options: options2,
34295
34313
  classNames: {
34296
- control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] p-2 pl-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] border-primary !ring-0 outline-none" : "border border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
34314
+ control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] py-2 px-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] !border-primary !ring-0 outline-none" : "border !border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
34297
34315
  valueContainer: () => "!m-0 !p-0",
34298
34316
  singleValue: () => `!m-0 ${readonly ? "!text-[#5c5a5a]" : ""}`,
34299
34317
  input: () => "!m-0 !p-0",
package/dist/index.mjs CHANGED
@@ -12573,8 +12573,14 @@ var TableHead = (props) => {
12573
12573
  return /* @__PURE__ */ jsx45("thead", { className: "relative z-10", children: /* @__PURE__ */ jsxs28(
12574
12574
  "tr",
12575
12575
  {
12576
- style: { userSelect: "none", WebkitUserSelect: "none" },
12577
- className: "border-b-[1.5px] border-[rgba(66,66,66,0.12)] sticky top-0 bg-white z-[1]",
12576
+ style: {
12577
+ userSelect: "none",
12578
+ WebkitUserSelect: "none",
12579
+ zIndex: 1,
12580
+ position: "sticky",
12581
+ top: 0
12582
+ },
12583
+ className: "border-b border-[rgba(66,66,66,0.12)] bg-white",
12578
12584
  children: [
12579
12585
  isDisplayCheckbox && /* @__PURE__ */ jsx45(
12580
12586
  "th",
@@ -12595,7 +12601,7 @@ var TableHead = (props) => {
12595
12601
  return /* @__PURE__ */ jsx45(
12596
12602
  "th",
12597
12603
  {
12598
- className: `column whitespace-nowrap text-left p-3 text-sm font-medium capitalize text-[#121212]`,
12604
+ className: `column whitespace-nowrap text-left p-3 text-sm font-semibold capitalize text-[#060606]`,
12599
12605
  children: /* @__PURE__ */ jsx45("div", { className: "cursor-pointer flex justify-between items-center gap-[4px] w-full min-w-max group", children: col.title })
12600
12606
  },
12601
12607
  "table-head-" + index4
@@ -14720,103 +14726,115 @@ var PopupFilter = ({
14720
14726
  setGroupBy,
14721
14727
  fields
14722
14728
  }) => {
14723
- return /* @__PURE__ */ jsx54("div", { className: "popup-filter absolute right-0 top-[calc(100%_+_3px)] z-[33] w-auto min-w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl", children: /* @__PURE__ */ jsxs35(
14729
+ return /* @__PURE__ */ jsx54(
14724
14730
  "div",
14725
14731
  {
14726
- className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14727
- children: [
14728
- filterBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "filter-by w-full px-3", children: [
14729
- /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14730
- /* @__PURE__ */ jsx54(FilterIcon, { className: "filter-by-icon text-primary" }),
14731
- /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14732
- ] }),
14733
- filterBy?.reduce((acc, item, index4, array) => {
14734
- const prevItem = array[index4 - 1];
14735
- const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14736
- const isExist = item?.active;
14737
- if (isDifferentGroup) {
14738
- acc.push(/* @__PURE__ */ jsx54("hr", { className: "my-2" }, "separator-" + index4));
14739
- }
14740
- acc.push(
14741
- /* @__PURE__ */ jsxs35(
14742
- "button",
14743
- {
14744
- className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14745
- onClick: () => {
14746
- const newFilterBy = filterBy?.map(
14747
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14748
- );
14749
- setFilterBy(newFilterBy);
14750
- if (isExist) {
14751
- typeof removeSearchItems === "function" && removeSearchItems(
14752
- `${SearchType.FILTER}_${item.group_index}`,
14753
- item
14732
+ style: {
14733
+ position: "absolute",
14734
+ top: "calc(100% + 3px)",
14735
+ right: 0,
14736
+ zIndex: 33
14737
+ },
14738
+ className: "popup-filter w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl",
14739
+ children: /* @__PURE__ */ jsxs35(
14740
+ "div",
14741
+ {
14742
+ className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14743
+ children: [
14744
+ filterBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "filter-by w-full px-3", children: [
14745
+ /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14746
+ /* @__PURE__ */ jsx54(FilterIcon, { className: "filter-by-icon text-primary" }),
14747
+ /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14748
+ ] }),
14749
+ filterBy?.reduce((acc, item, index4, array) => {
14750
+ const prevItem = array[index4 - 1];
14751
+ const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14752
+ const isExist = item?.active;
14753
+ if (isDifferentGroup) {
14754
+ acc.push(/* @__PURE__ */ jsx54("hr", { className: "my-2" }, "separator-" + index4));
14755
+ }
14756
+ acc.push(
14757
+ /* @__PURE__ */ jsxs35(
14758
+ "button",
14759
+ {
14760
+ className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14761
+ onClick: () => {
14762
+ const newFilterBy = filterBy?.map(
14763
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14764
+ );
14765
+ setFilterBy(newFilterBy);
14766
+ if (isExist) {
14767
+ typeof removeSearchItems === "function" && removeSearchItems(
14768
+ `${SearchType.FILTER}_${item.group_index}`,
14769
+ item
14770
+ );
14771
+ return;
14772
+ }
14773
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14774
+ name: item?.name,
14775
+ value: item?.string ?? item?.help,
14776
+ domain: item?.domain,
14777
+ groupIndex: item?.group_index,
14778
+ type: SearchType.FILTER
14779
+ });
14780
+ },
14781
+ children: [
14782
+ isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14783
+ /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string ?? item?.help })
14784
+ ]
14785
+ },
14786
+ "filter-" + index4
14787
+ )
14788
+ );
14789
+ return acc;
14790
+ }, [])
14791
+ ] }),
14792
+ filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ jsx54("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14793
+ groupBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "group-by w-full px-3", children: [
14794
+ /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14795
+ /* @__PURE__ */ jsx54(GroupByIcon, { className: "group-by-icon text-primary" }),
14796
+ /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14797
+ ] }),
14798
+ groupBy?.map((item, index4) => {
14799
+ const isExist = item?.active;
14800
+ if (!item.string) return;
14801
+ return /* @__PURE__ */ jsxs35(
14802
+ "button",
14803
+ {
14804
+ onClick: () => {
14805
+ const formatArray = groupBy.map(
14806
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14754
14807
  );
14755
- return;
14756
- }
14757
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14758
- name: item?.name,
14759
- value: item?.string ?? item?.help,
14760
- domain: item?.domain,
14761
- groupIndex: item?.group_index,
14762
- type: SearchType.FILTER
14763
- });
14808
+ setGroupBy(formatArray);
14809
+ if (isExist) {
14810
+ typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14811
+ return;
14812
+ }
14813
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14814
+ name: item?.name,
14815
+ value: item?.string,
14816
+ type: SearchType.GROUP,
14817
+ context: JSON.parse(item?.context.replace(/'/g, '"')),
14818
+ active: !isExist,
14819
+ dataIndex: index4,
14820
+ fieldsGroup: fields
14821
+ });
14822
+ },
14823
+ className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14824
+ children: [
14825
+ isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14826
+ /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string })
14827
+ ]
14764
14828
  },
14765
- children: [
14766
- isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14767
- /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string ?? item?.help })
14768
- ]
14769
- },
14770
- "filter-" + index4
14771
- )
14772
- );
14773
- return acc;
14774
- }, [])
14775
- ] }),
14776
- filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ jsx54("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14777
- groupBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "group-by w-full px-3", children: [
14778
- /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14779
- /* @__PURE__ */ jsx54(GroupByIcon, { className: "group-by-icon text-primary" }),
14780
- /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14781
- ] }),
14782
- groupBy?.map((item, index4) => {
14783
- const isExist = item?.active;
14784
- if (!item.string) return;
14785
- return /* @__PURE__ */ jsxs35(
14786
- "button",
14787
- {
14788
- onClick: () => {
14789
- const formatArray = groupBy.map(
14790
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14791
- );
14792
- setGroupBy(formatArray);
14793
- if (isExist) {
14794
- typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14795
- return;
14796
- }
14797
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14798
- name: item?.name,
14799
- value: item?.string,
14800
- type: SearchType.GROUP,
14801
- context: JSON.parse(item?.context.replace(/'/g, '"')),
14802
- active: !isExist,
14803
- dataIndex: index4,
14804
- fieldsGroup: fields
14805
- });
14806
- },
14807
- className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14808
- children: [
14809
- isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14810
- /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string })
14811
- ]
14812
- },
14813
- "groupby-" + index4 + 1
14814
- );
14815
- })
14816
- ] })
14817
- ]
14829
+ "groupby-" + index4 + 1
14830
+ );
14831
+ })
14832
+ ] })
14833
+ ]
14834
+ }
14835
+ )
14818
14836
  }
14819
- ) });
14837
+ );
14820
14838
  };
14821
14839
 
14822
14840
  // src/widgets/advanced/search/search-item/index.tsx
@@ -15099,7 +15117,7 @@ var Search = ({
15099
15117
  "input",
15100
15118
  {
15101
15119
  value: searchString,
15102
- className: "min-h-[25px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
15120
+ className: "min-h-[44px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
15103
15121
  placeholder: instance.t("search..."),
15104
15122
  onChange: (e3) => {
15105
15123
  onSearchString(e3.target.value);
@@ -18043,7 +18061,7 @@ var CharField = (props) => {
18043
18061
  disabled: readonly,
18044
18062
  placeholder,
18045
18063
  required: !invisible && required,
18046
- className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border border-[rgba(66,66,66,0.12)] rounded-lg p-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
18064
+ className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border !border-[rgba(66,66,66,0.12)] rounded-lg py-2 px-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
18047
18065
  ${readonly ? "!cursor-not-allowed border-transparent text-[#5c5a5a]" : "!cursor-pointer text-[#AEAEAE]"}
18048
18066
  `
18049
18067
  }
@@ -32114,7 +32132,7 @@ var DateField = (props) => {
32114
32132
  isForm2 && /* @__PURE__ */ jsx79(CalandarIcon, {})
32115
32133
  ] })
32116
32134
  );
32117
- if (!isForm) {
32135
+ if (!isForm && !isEditTable) {
32118
32136
  return /* @__PURE__ */ jsx79("span", { children: value && (0, import_moment2.default)(value).isValid() ? (0, import_moment2.default)(value).add(7, "hours").format(formatDate2) : "" });
32119
32137
  } else {
32120
32138
  return /* @__PURE__ */ jsx79(
@@ -34174,7 +34192,7 @@ var Many2OneField = (props) => {
34174
34192
  menuShouldScrollIntoView: false,
34175
34193
  options: options2,
34176
34194
  classNames: {
34177
- control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] p-2 pl-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] border-primary !ring-0 outline-none" : "border border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
34195
+ control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] py-2 px-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] !border-primary !ring-0 outline-none" : "border !border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
34178
34196
  valueContainer: () => "!m-0 !p-0",
34179
34197
  singleValue: () => `!m-0 ${readonly ? "!text-[#5c5a5a]" : ""}`,
34180
34198
  input: () => "!m-0 !p-0",
package/dist/widgets.js CHANGED
@@ -12326,8 +12326,14 @@ var TableHead = (props) => {
12326
12326
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("thead", { className: "relative z-10", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
12327
12327
  "tr",
12328
12328
  {
12329
- style: { userSelect: "none", WebkitUserSelect: "none" },
12330
- className: "border-b-[1.5px] border-[rgba(66,66,66,0.12)] sticky top-0 bg-white z-[1]",
12329
+ style: {
12330
+ userSelect: "none",
12331
+ WebkitUserSelect: "none",
12332
+ zIndex: 1,
12333
+ position: "sticky",
12334
+ top: 0
12335
+ },
12336
+ className: "border-b border-[rgba(66,66,66,0.12)] bg-white",
12331
12337
  children: [
12332
12338
  isDisplayCheckbox && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12333
12339
  "th",
@@ -12348,7 +12354,7 @@ var TableHead = (props) => {
12348
12354
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12349
12355
  "th",
12350
12356
  {
12351
- className: `column whitespace-nowrap text-left p-3 text-sm font-medium capitalize text-[#121212]`,
12357
+ className: `column whitespace-nowrap text-left p-3 text-sm font-semibold capitalize text-[#060606]`,
12352
12358
  children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "cursor-pointer flex justify-between items-center gap-[4px] w-full min-w-max group", children: col.title })
12353
12359
  },
12354
12360
  "table-head-" + index4
@@ -14484,103 +14490,115 @@ var PopupFilter = ({
14484
14490
  setGroupBy,
14485
14491
  fields
14486
14492
  }) => {
14487
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "popup-filter absolute right-0 top-[calc(100%_+_3px)] z-[33] w-auto min-w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14493
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14488
14494
  "div",
14489
14495
  {
14490
- className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14491
- children: [
14492
- filterBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "filter-by w-full px-3", children: [
14493
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14494
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FilterIcon, { className: "filter-by-icon text-primary" }),
14495
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14496
- ] }),
14497
- filterBy?.reduce((acc, item, index4, array) => {
14498
- const prevItem = array[index4 - 1];
14499
- const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14500
- const isExist = item?.active;
14501
- if (isDifferentGroup) {
14502
- acc.push(/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("hr", { className: "my-2" }, "separator-" + index4));
14503
- }
14504
- acc.push(
14505
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14506
- "button",
14507
- {
14508
- className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14509
- onClick: () => {
14510
- const newFilterBy = filterBy?.map(
14511
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14512
- );
14513
- setFilterBy(newFilterBy);
14514
- if (isExist) {
14515
- typeof removeSearchItems === "function" && removeSearchItems(
14516
- `${SearchType.FILTER}_${item.group_index}`,
14517
- item
14496
+ style: {
14497
+ position: "absolute",
14498
+ top: "calc(100% + 3px)",
14499
+ right: 0,
14500
+ zIndex: 33
14501
+ },
14502
+ className: "popup-filter w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl",
14503
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14504
+ "div",
14505
+ {
14506
+ className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14507
+ children: [
14508
+ filterBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "filter-by w-full px-3", children: [
14509
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14510
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FilterIcon, { className: "filter-by-icon text-primary" }),
14511
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14512
+ ] }),
14513
+ filterBy?.reduce((acc, item, index4, array) => {
14514
+ const prevItem = array[index4 - 1];
14515
+ const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14516
+ const isExist = item?.active;
14517
+ if (isDifferentGroup) {
14518
+ acc.push(/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("hr", { className: "my-2" }, "separator-" + index4));
14519
+ }
14520
+ acc.push(
14521
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14522
+ "button",
14523
+ {
14524
+ className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14525
+ onClick: () => {
14526
+ const newFilterBy = filterBy?.map(
14527
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14528
+ );
14529
+ setFilterBy(newFilterBy);
14530
+ if (isExist) {
14531
+ typeof removeSearchItems === "function" && removeSearchItems(
14532
+ `${SearchType.FILTER}_${item.group_index}`,
14533
+ item
14534
+ );
14535
+ return;
14536
+ }
14537
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14538
+ name: item?.name,
14539
+ value: item?.string ?? item?.help,
14540
+ domain: item?.domain,
14541
+ groupIndex: item?.group_index,
14542
+ type: SearchType.FILTER
14543
+ });
14544
+ },
14545
+ children: [
14546
+ isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14547
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string ?? item?.help })
14548
+ ]
14549
+ },
14550
+ "filter-" + index4
14551
+ )
14552
+ );
14553
+ return acc;
14554
+ }, [])
14555
+ ] }),
14556
+ filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14557
+ groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "group-by w-full px-3", children: [
14558
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14559
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupByIcon, { className: "group-by-icon text-primary" }),
14560
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14561
+ ] }),
14562
+ groupBy?.map((item, index4) => {
14563
+ const isExist = item?.active;
14564
+ if (!item.string) return;
14565
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14566
+ "button",
14567
+ {
14568
+ onClick: () => {
14569
+ const formatArray = groupBy.map(
14570
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14518
14571
  );
14519
- return;
14520
- }
14521
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14522
- name: item?.name,
14523
- value: item?.string ?? item?.help,
14524
- domain: item?.domain,
14525
- groupIndex: item?.group_index,
14526
- type: SearchType.FILTER
14527
- });
14572
+ setGroupBy(formatArray);
14573
+ if (isExist) {
14574
+ typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14575
+ return;
14576
+ }
14577
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14578
+ name: item?.name,
14579
+ value: item?.string,
14580
+ type: SearchType.GROUP,
14581
+ context: JSON.parse(item?.context.replace(/'/g, '"')),
14582
+ active: !isExist,
14583
+ dataIndex: index4,
14584
+ fieldsGroup: fields
14585
+ });
14586
+ },
14587
+ className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14588
+ children: [
14589
+ isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14590
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string })
14591
+ ]
14528
14592
  },
14529
- children: [
14530
- isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14531
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string ?? item?.help })
14532
- ]
14533
- },
14534
- "filter-" + index4
14535
- )
14536
- );
14537
- return acc;
14538
- }, [])
14539
- ] }),
14540
- filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14541
- groupBy?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "group-by w-full px-3", children: [
14542
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14543
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupByIcon, { className: "group-by-icon text-primary" }),
14544
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14545
- ] }),
14546
- groupBy?.map((item, index4) => {
14547
- const isExist = item?.active;
14548
- if (!item.string) return;
14549
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14550
- "button",
14551
- {
14552
- onClick: () => {
14553
- const formatArray = groupBy.map(
14554
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14555
- );
14556
- setGroupBy(formatArray);
14557
- if (isExist) {
14558
- typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14559
- return;
14560
- }
14561
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14562
- name: item?.name,
14563
- value: item?.string,
14564
- type: SearchType.GROUP,
14565
- context: JSON.parse(item?.context.replace(/'/g, '"')),
14566
- active: !isExist,
14567
- dataIndex: index4,
14568
- fieldsGroup: fields
14569
- });
14570
- },
14571
- className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14572
- children: [
14573
- isExist && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CheckIcon, {}),
14574
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: item?.string })
14575
- ]
14576
- },
14577
- "groupby-" + index4 + 1
14578
- );
14579
- })
14580
- ] })
14581
- ]
14593
+ "groupby-" + index4 + 1
14594
+ );
14595
+ })
14596
+ ] })
14597
+ ]
14598
+ }
14599
+ )
14582
14600
  }
14583
- ) });
14601
+ );
14584
14602
  };
14585
14603
 
14586
14604
  // src/widgets/advanced/search/search-item/index.tsx
@@ -14863,7 +14881,7 @@ var Search = ({
14863
14881
  "input",
14864
14882
  {
14865
14883
  value: searchString,
14866
- className: "min-h-[25px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
14884
+ className: "min-h-[44px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
14867
14885
  placeholder: instance.t("search..."),
14868
14886
  onChange: (e3) => {
14869
14887
  onSearchString(e3.target.value);
@@ -17807,7 +17825,7 @@ var CharField = (props) => {
17807
17825
  disabled: readonly,
17808
17826
  placeholder,
17809
17827
  required: !invisible && required,
17810
- className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border border-[rgba(66,66,66,0.12)] rounded-lg p-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
17828
+ className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border !border-[rgba(66,66,66,0.12)] rounded-lg py-2 px-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
17811
17829
  ${readonly ? "!cursor-not-allowed border-transparent text-[#5c5a5a]" : "!cursor-pointer text-[#AEAEAE]"}
17812
17830
  `
17813
17831
  }
@@ -31878,7 +31896,7 @@ var DateField = (props) => {
31878
31896
  isForm2 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CalandarIcon, {})
31879
31897
  ] })
31880
31898
  );
31881
- if (!isForm) {
31899
+ if (!isForm && !isEditTable) {
31882
31900
  return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: value && (0, import_moment2.default)(value).isValid() ? (0, import_moment2.default)(value).add(7, "hours").format(formatDate2) : "" });
31883
31901
  } else {
31884
31902
  return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
@@ -33938,7 +33956,7 @@ var Many2OneField = (props) => {
33938
33956
  menuShouldScrollIntoView: false,
33939
33957
  options: options2,
33940
33958
  classNames: {
33941
- control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] p-2 pl-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] border-primary !ring-0 outline-none" : "border border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
33959
+ control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] py-2 px-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] !border-primary !ring-0 outline-none" : "border !border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
33942
33960
  valueContainer: () => "!m-0 !p-0",
33943
33961
  singleValue: () => `!m-0 ${readonly ? "!text-[#5c5a5a]" : ""}`,
33944
33962
  input: () => "!m-0 !p-0",
package/dist/widgets.mjs CHANGED
@@ -12264,8 +12264,14 @@ var TableHead = (props) => {
12264
12264
  return /* @__PURE__ */ jsx45("thead", { className: "relative z-10", children: /* @__PURE__ */ jsxs28(
12265
12265
  "tr",
12266
12266
  {
12267
- style: { userSelect: "none", WebkitUserSelect: "none" },
12268
- className: "border-b-[1.5px] border-[rgba(66,66,66,0.12)] sticky top-0 bg-white z-[1]",
12267
+ style: {
12268
+ userSelect: "none",
12269
+ WebkitUserSelect: "none",
12270
+ zIndex: 1,
12271
+ position: "sticky",
12272
+ top: 0
12273
+ },
12274
+ className: "border-b border-[rgba(66,66,66,0.12)] bg-white",
12269
12275
  children: [
12270
12276
  isDisplayCheckbox && /* @__PURE__ */ jsx45(
12271
12277
  "th",
@@ -12286,7 +12292,7 @@ var TableHead = (props) => {
12286
12292
  return /* @__PURE__ */ jsx45(
12287
12293
  "th",
12288
12294
  {
12289
- className: `column whitespace-nowrap text-left p-3 text-sm font-medium capitalize text-[#121212]`,
12295
+ className: `column whitespace-nowrap text-left p-3 text-sm font-semibold capitalize text-[#060606]`,
12290
12296
  children: /* @__PURE__ */ jsx45("div", { className: "cursor-pointer flex justify-between items-center gap-[4px] w-full min-w-max group", children: col.title })
12291
12297
  },
12292
12298
  "table-head-" + index4
@@ -14422,103 +14428,115 @@ var PopupFilter = ({
14422
14428
  setGroupBy,
14423
14429
  fields
14424
14430
  }) => {
14425
- return /* @__PURE__ */ jsx54("div", { className: "popup-filter absolute right-0 top-[calc(100%_+_3px)] z-[33] w-auto min-w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl", children: /* @__PURE__ */ jsxs35(
14431
+ return /* @__PURE__ */ jsx54(
14426
14432
  "div",
14427
14433
  {
14428
- className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14429
- children: [
14430
- filterBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "filter-by w-full px-3", children: [
14431
- /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14432
- /* @__PURE__ */ jsx54(FilterIcon, { className: "filter-by-icon text-primary" }),
14433
- /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14434
- ] }),
14435
- filterBy?.reduce((acc, item, index4, array) => {
14436
- const prevItem = array[index4 - 1];
14437
- const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14438
- const isExist = item?.active;
14439
- if (isDifferentGroup) {
14440
- acc.push(/* @__PURE__ */ jsx54("hr", { className: "my-2" }, "separator-" + index4));
14441
- }
14442
- acc.push(
14443
- /* @__PURE__ */ jsxs35(
14444
- "button",
14445
- {
14446
- className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14447
- onClick: () => {
14448
- const newFilterBy = filterBy?.map(
14449
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14450
- );
14451
- setFilterBy(newFilterBy);
14452
- if (isExist) {
14453
- typeof removeSearchItems === "function" && removeSearchItems(
14454
- `${SearchType.FILTER}_${item.group_index}`,
14455
- item
14434
+ style: {
14435
+ position: "absolute",
14436
+ top: "calc(100% + 3px)",
14437
+ right: 0,
14438
+ zIndex: 33
14439
+ },
14440
+ className: "popup-filter w-full overflow-x-auto rounded-lg border bg-white border-none shadow-xl",
14441
+ children: /* @__PURE__ */ jsxs35(
14442
+ "div",
14443
+ {
14444
+ className: `flex py-3 ${(filterBy?.length === 0 || groupBy?.length === 0) && "!grid-cols-1"}`,
14445
+ children: [
14446
+ filterBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "filter-by w-full px-3", children: [
14447
+ /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14448
+ /* @__PURE__ */ jsx54(FilterIcon, { className: "filter-by-icon text-primary" }),
14449
+ /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("filter_by") })
14450
+ ] }),
14451
+ filterBy?.reduce((acc, item, index4, array) => {
14452
+ const prevItem = array[index4 - 1];
14453
+ const isDifferentGroup = prevItem && prevItem?.group_index !== item?.group_index;
14454
+ const isExist = item?.active;
14455
+ if (isDifferentGroup) {
14456
+ acc.push(/* @__PURE__ */ jsx54("hr", { className: "my-2" }, "separator-" + index4));
14457
+ }
14458
+ acc.push(
14459
+ /* @__PURE__ */ jsxs35(
14460
+ "button",
14461
+ {
14462
+ className: `filter-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "filter-by-checked font-semibold " : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14463
+ onClick: () => {
14464
+ const newFilterBy = filterBy?.map(
14465
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14466
+ );
14467
+ setFilterBy(newFilterBy);
14468
+ if (isExist) {
14469
+ typeof removeSearchItems === "function" && removeSearchItems(
14470
+ `${SearchType.FILTER}_${item.group_index}`,
14471
+ item
14472
+ );
14473
+ return;
14474
+ }
14475
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14476
+ name: item?.name,
14477
+ value: item?.string ?? item?.help,
14478
+ domain: item?.domain,
14479
+ groupIndex: item?.group_index,
14480
+ type: SearchType.FILTER
14481
+ });
14482
+ },
14483
+ children: [
14484
+ isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14485
+ /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string ?? item?.help })
14486
+ ]
14487
+ },
14488
+ "filter-" + index4
14489
+ )
14490
+ );
14491
+ return acc;
14492
+ }, [])
14493
+ ] }),
14494
+ filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ jsx54("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14495
+ groupBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "group-by w-full px-3", children: [
14496
+ /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14497
+ /* @__PURE__ */ jsx54(GroupByIcon, { className: "group-by-icon text-primary" }),
14498
+ /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14499
+ ] }),
14500
+ groupBy?.map((item, index4) => {
14501
+ const isExist = item?.active;
14502
+ if (!item.string) return;
14503
+ return /* @__PURE__ */ jsxs35(
14504
+ "button",
14505
+ {
14506
+ onClick: () => {
14507
+ const formatArray = groupBy.map(
14508
+ (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14456
14509
  );
14457
- return;
14458
- }
14459
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14460
- name: item?.name,
14461
- value: item?.string ?? item?.help,
14462
- domain: item?.domain,
14463
- groupIndex: item?.group_index,
14464
- type: SearchType.FILTER
14465
- });
14510
+ setGroupBy(formatArray);
14511
+ if (isExist) {
14512
+ typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14513
+ return;
14514
+ }
14515
+ typeof handleAddTagSearch === "function" && handleAddTagSearch({
14516
+ name: item?.name,
14517
+ value: item?.string,
14518
+ type: SearchType.GROUP,
14519
+ context: JSON.parse(item?.context.replace(/'/g, '"')),
14520
+ active: !isExist,
14521
+ dataIndex: index4,
14522
+ fieldsGroup: fields
14523
+ });
14524
+ },
14525
+ className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14526
+ children: [
14527
+ isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14528
+ /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string })
14529
+ ]
14466
14530
  },
14467
- children: [
14468
- isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14469
- /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string ?? item?.help })
14470
- ]
14471
- },
14472
- "filter-" + index4
14473
- )
14474
- );
14475
- return acc;
14476
- }, [])
14477
- ] }),
14478
- filterBy?.length > 0 && groupBy?.length > 0 && /* @__PURE__ */ jsx54("div", { className: "h-['initial'] w-[1px] bg-[#dee2e6]" }),
14479
- groupBy?.length > 0 && /* @__PURE__ */ jsxs35("div", { className: "group-by w-full px-3", children: [
14480
- /* @__PURE__ */ jsxs35("div", { className: "flex w-fit items-center justify-start gap-2 px-3 py-1", children: [
14481
- /* @__PURE__ */ jsx54(GroupByIcon, { className: "group-by-icon text-primary" }),
14482
- /* @__PURE__ */ jsx54("span", { className: "font-bold text-sm text-[#212529]", children: instance.t("group_by") })
14483
- ] }),
14484
- groupBy?.map((item, index4) => {
14485
- const isExist = item?.active;
14486
- if (!item.string) return;
14487
- return /* @__PURE__ */ jsxs35(
14488
- "button",
14489
- {
14490
- onClick: () => {
14491
- const formatArray = groupBy.map(
14492
- (tag) => tag?.name === item?.name ? { ...tag, active: !tag?.active } : tag
14493
- );
14494
- setGroupBy(formatArray);
14495
- if (isExist) {
14496
- typeof removeSearchItems === "function" && removeSearchItems(`${SearchType.GROUP}`, item);
14497
- return;
14498
- }
14499
- typeof handleAddTagSearch === "function" && handleAddTagSearch({
14500
- name: item?.name,
14501
- value: item?.string,
14502
- type: SearchType.GROUP,
14503
- context: JSON.parse(item?.context.replace(/'/g, '"')),
14504
- active: !isExist,
14505
- dataIndex: index4,
14506
- fieldsGroup: fields
14507
- });
14508
- },
14509
- className: `group-by-item w-full flex items-center gap-2 bg-white px-3 py-1 text-left cursor-pointer ${isExist ? "group-by-checked font-semibold" : "hover:!bg-[rgba(0,0,0,0.08)]"}`,
14510
- children: [
14511
- isExist && /* @__PURE__ */ jsx54(CheckIcon, {}),
14512
- /* @__PURE__ */ jsx54("span", { className: "text-sm", children: item?.string })
14513
- ]
14514
- },
14515
- "groupby-" + index4 + 1
14516
- );
14517
- })
14518
- ] })
14519
- ]
14531
+ "groupby-" + index4 + 1
14532
+ );
14533
+ })
14534
+ ] })
14535
+ ]
14536
+ }
14537
+ )
14520
14538
  }
14521
- ) });
14539
+ );
14522
14540
  };
14523
14541
 
14524
14542
  // src/widgets/advanced/search/search-item/index.tsx
@@ -14801,7 +14819,7 @@ var Search = ({
14801
14819
  "input",
14802
14820
  {
14803
14821
  value: searchString,
14804
- className: "min-h-[25px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
14822
+ className: "min-h-[44px] w-fit flex-1 border-none bg-transparent outline-none min-w-[50px] text-sm",
14805
14823
  placeholder: instance.t("search..."),
14806
14824
  onChange: (e3) => {
14807
14825
  onSearchString(e3.target.value);
@@ -17745,7 +17763,7 @@ var CharField = (props) => {
17745
17763
  disabled: readonly,
17746
17764
  placeholder,
17747
17765
  required: !invisible && required,
17748
- className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border border-[rgba(66,66,66,0.12)] rounded-lg p-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
17766
+ className: `w-full min-h-[44px] ring-0 focus:ring-0 focus:!outline-none focus:border-[1px] focus:border-primary outline-0 bg-white border !border-[rgba(66,66,66,0.12)] rounded-lg py-2 px-3 text-sm font-normal gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content
17749
17767
  ${readonly ? "!cursor-not-allowed border-transparent text-[#5c5a5a]" : "!cursor-pointer text-[#AEAEAE]"}
17750
17768
  `
17751
17769
  }
@@ -31816,7 +31834,7 @@ var DateField = (props) => {
31816
31834
  isForm2 && /* @__PURE__ */ jsx79(CalandarIcon, {})
31817
31835
  ] })
31818
31836
  );
31819
- if (!isForm) {
31837
+ if (!isForm && !isEditTable) {
31820
31838
  return /* @__PURE__ */ jsx79("span", { children: value && (0, import_moment2.default)(value).isValid() ? (0, import_moment2.default)(value).add(7, "hours").format(formatDate2) : "" });
31821
31839
  } else {
31822
31840
  return /* @__PURE__ */ jsx79(
@@ -33876,7 +33894,7 @@ var Many2OneField = (props) => {
33876
33894
  menuShouldScrollIntoView: false,
33877
33895
  options: options2,
33878
33896
  classNames: {
33879
- control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] p-2 pl-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] border-primary !ring-0 outline-none" : "border border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
33897
+ control: ({ isFocused }) => `w-full flex min-h-[44px] ring-0 cursor-pointer outline-0 bg-white !shadow-none !rounded-[10px] py-2 px-3 text-sm text-[#1A1A1B] font-normal cursor-pointer gap-2 opacity-100 leading-5 resize-none overflow-hidden field-sizing-content ${isForm && (isFocused ? "!border-[1px] !border-primary !ring-0 outline-none" : "border !border-[rgba(66,66,66,0.12)]")} ${readonly && "!cursor-not-allowed"} ${isEditTable && "md:!min-w-[300px] max-w-[300px] !rounded-none !border !border-transparent !border-b !border-[#f7f7f7] hover:border-b-primary !bg-transparent min-h-auto"}`,
33880
33898
  valueContainer: () => "!m-0 !p-0",
33881
33899
  singleValue: () => `!m-0 ${readonly ? "!text-[#5c5a5a]" : ""}`,
33882
33900
  input: () => "!m-0 !p-0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fctc/sme-widget-ui",
3
- "version": "1.0.9",
3
+ "version": "1.1.1",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -64,7 +64,7 @@
64
64
  "react-select": "^5.10.1",
65
65
  "react-toastify": "^11.0.5",
66
66
  "react-tooltip": "^5.28.0",
67
- "tailwindcss": "3.4.3",
67
+ "tailwindcss": "^3",
68
68
  "tsup": "^8.0.0",
69
69
  "typescript": "^5.8.2"
70
70
  }
package/dist/.babelrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "presets": [
3
- "@babel/preset-env",
4
- "@babel/preset-react",
5
- "@babel/preset-typescript"
6
- ]
7
- }
@@ -1,10 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- end_of_line = lf
5
- insert_final_newline = true
6
-
7
- [*.{js,json,yml}]
8
- charset = utf-8
9
- indent_style = space
10
- indent_size = 2
@@ -1,6 +0,0 @@
1
- dist
2
- .cache
3
- package-lock.json
4
- public
5
- node_modules
6
- yarn.lock
@@ -1,66 +0,0 @@
1
- module.exports = {
2
- root: true,
3
- env: { browser: true, es2020: true },
4
- extends: [
5
- 'eslint:recommended',
6
- 'plugin:@typescript-eslint/recommended',
7
- 'plugin:prettier/recommended',
8
- ],
9
- ignorePatterns: ['dist', '.eslintrc.cjs', 'commitlint.config.cjs'],
10
- parser: '@typescript-eslint/parser',
11
- overrides: [
12
- {
13
- files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx', '**/*.cjs'],
14
- plugins: [
15
- '@typescript-eslint',
16
- 'unused-imports',
17
- 'simple-import-sort',
18
- 'react-refresh',
19
- ],
20
- rules: {
21
- 'react-refresh/only-export-components': [
22
- 'warn',
23
- { allowConstantExport: true },
24
- ],
25
- 'import/prefer-default-export': 'off',
26
- 'simple-import-sort/imports': [
27
- 'error',
28
- {
29
- groups: [
30
- // Packages `react` related packages come first.
31
- ['^react', '^@?\\w'],
32
- // Internal packages.
33
- ['^(@|components)(/.*|$)'],
34
- // Side effect imports.
35
- ['^\\u0000'],
36
- // Parent imports. Put `..` last.
37
- ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
38
- // Other relative imports. Put same-folder imports and `.` last.
39
- ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
40
- // Style imports.
41
- ['^.+\\.?(css)$'],
42
- ],
43
- },
44
- ],
45
- 'prettier/prettier': [
46
- 'error',
47
- {
48
- endOfLine: 'auto',
49
- },
50
- ],
51
- 'react/react-in-jsx-scope': 'off',
52
- 'no-param-reassign': 'off',
53
- 'simple-import-sort/exports': 'error',
54
- '@typescript-eslint/no-unused-vars': 'off',
55
- '@typescript-eslint/no-non-null-assertion': 'off',
56
- '@typescript-eslint/no-explicit-any': 'off',
57
- '@typescript-eslint/ban-ts-comment': 'off',
58
- '@typescript-eslint/ban-types': 'off',
59
- 'unused-imports/no-unused-imports': 'error',
60
- 'unused-imports/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
61
- 'no-plusplus': 'off',
62
- 'no-case-declarations': 'off',
63
- },
64
- },
65
- ],
66
- }
@@ -1,4 +0,0 @@
1
- /.yarn/** linguist-vendored
2
- /.yarn/releases/* binary
3
- /.yarn/plugins/**/* binary
4
- /.pnp.* binary linguist-generated
package/dist/.prettierrc DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "semi": false
4
- }