@charlesgomes/leafcode-shared-lib-react 1.0.83 → 1.0.85

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
@@ -1145,7 +1145,7 @@ function DynamicColumns({
1145
1145
  size: "small",
1146
1146
  onClick: () => {
1147
1147
  const constraint = options.filterModel.constraints[0];
1148
- if (constraint.matchMode === "empty" || constraint.matchMode === "notEmpty") {
1148
+ if (constraint.matchMode === "empty" || constraint.matchMode === "notEmpty" || constraint.matchMode === "any" || constraint.matchMode === "none") {
1149
1149
  constraint.value = true;
1150
1150
  }
1151
1151
  options.filterApplyCallback(constraint.value, 0);
@@ -1709,271 +1709,9 @@ function DataTableAdvancedFilter({
1709
1709
  // src/components/DataTableAdvancedFilter/FilterTemplates.tsx
1710
1710
  import Select2 from "react-select";
1711
1711
  import moment2 from "moment";
1712
- import { jsx as jsx18 } from "react/jsx-runtime";
1713
- var DateFilterTemplate = (options, mask) => {
1714
- const matchMode = options.filterModel?.matchMode;
1715
- const isSpecial = matchMode === "empty" || matchMode === "notEmpty";
1716
- const parsedValue = typeof options.filterModel?.value === "string" ? /* @__PURE__ */ new Date(options.filterModel.value + "T00:00:00") : null;
1717
- return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecial && /* @__PURE__ */ jsx18(
1718
- Calendar,
1719
- {
1720
- value: parsedValue,
1721
- onChange: (e) => {
1722
- const date = e.value;
1723
- if (!date) {
1724
- options.filterCallback(null, options.index);
1725
- return;
1726
- }
1727
- const valueToFilter = mask ? mask(date) : `${date.getFullYear()}-${String(
1728
- date.getMonth() + 1
1729
- ).padStart(2, "0")}-${String(
1730
- date.getDate()
1731
- ).padStart(2, "0")}`;
1732
- options.filterCallback(valueToFilter, options.index);
1733
- },
1734
- dateFormat: "dd/mm/yy",
1735
- placeholder: "dd/mm/yyyy",
1736
- mask: "99/99/9999",
1737
- inputClassName: "p-column-filter"
1738
- }
1739
- ) });
1740
- };
1741
- var DateTimeFilterTemplate = (options, mask) => {
1742
- const matchMode = options.filterModel?.matchMode;
1743
- const isSpecial = matchMode === "empty" || matchMode === "notEmpty";
1744
- const value = options.filterModel?.value ? moment2(options.filterModel.value).toDate() : null;
1745
- return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecial && /* @__PURE__ */ jsx18(
1746
- Calendar,
1747
- {
1748
- value,
1749
- showTime: true,
1750
- showSeconds: true,
1751
- hourFormat: "24",
1752
- dateFormat: "dd/mm/yy",
1753
- placeholder: "dd/mm/yyyy 00:00:00",
1754
- readOnlyInput: true,
1755
- inputClassName: "p-column-filter",
1756
- onChange: (e) => {
1757
- const selectedDate = e.value;
1758
- if (!selectedDate) {
1759
- options.filterCallback(null, options.index);
1760
- return;
1761
- }
1762
- const formatted = mask ? mask(selectedDate) : moment2(selectedDate).utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]");
1763
- options.filterCallback(formatted, options.index);
1764
- }
1765
- }
1766
- ) });
1767
- };
1768
- var ValueFilterTemplate = (options, mask) => {
1769
- const parsedValue = options.value !== null && options.value !== void 0 ? centsToReal(options.value) : null;
1770
- const handleChange = (e) => {
1771
- const rawValue = e.value;
1772
- if (rawValue === null || rawValue === void 0) {
1773
- options.filterCallback(null, options.index);
1774
- return;
1775
- }
1776
- const valueToFilter = mask ? mask(rawValue) : rawValue;
1777
- options.filterCallback(String(valueToFilter), options.index);
1778
- };
1779
- return /* @__PURE__ */ jsx18(
1780
- InputNumber,
1781
- {
1782
- value: parsedValue,
1783
- placeholder: "R$ 0,00",
1784
- onValueChange: handleChange,
1785
- mode: "currency",
1786
- currency: "BRL",
1787
- locale: "pt-BR",
1788
- inputClassName: "custom-input"
1789
- }
1790
- );
1791
- };
1792
- var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
1793
- const selectOptions = items.length > 0 ? items : [
1794
- { label: isLanguagePtBr ? "Sim" : "Yes", value: true },
1795
- { label: isLanguagePtBr ? "N\xE3o" : "No", value: false }
1796
- ];
1797
- const matchMode = options.filterModel?.matchMode;
1798
- const isSpecial = matchMode === "empty" || matchMode === "notEmpty";
1799
- const currentValue = selectOptions.find(
1800
- (opt) => opt.value === options.filterModel?.value
1801
- ) || null;
1802
- return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecial && /* @__PURE__ */ jsx18(
1803
- Select2,
1804
- {
1805
- options: selectOptions,
1806
- value: currentValue,
1807
- onChange: (selected) => {
1808
- options.filterCallback(
1809
- selected ? selected.value : null,
1810
- options.index
1811
- // 🔥 ESSENCIAL
1812
- );
1813
- },
1814
- placeholder: isLanguagePtBr ? "Selecione..." : "Select...",
1815
- isClearable: true,
1816
- isSearchable: false,
1817
- className: "custom-select-filtro",
1818
- classNamePrefix: "custom-select-filtro"
1819
- }
1820
- ) });
1821
- };
1822
- var CustomFilterElement = (options, isLanguagePtBr = true) => {
1823
- const matchMode = options.filterModel?.matchMode;
1824
- const isSpecial = matchMode === "empty" || matchMode === "notEmpty";
1825
- return !isSpecial && /* @__PURE__ */ jsx18(
1826
- InputText,
1827
- {
1828
- value: options.filterModel?.value ?? "",
1829
- placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
1830
- onChange: (e) => {
1831
- options.filterCallback(
1832
- e.target.value || null,
1833
- options.index
1834
- );
1835
- },
1836
- className: "p-column-filter"
1837
- }
1838
- );
1839
- };
1840
-
1841
- // src/components/DataTableAdvancedFilter/filterModes.ts
1842
- import { FilterMatchMode as FilterMatchMode3 } from "primereact/api";
1843
- var customMatchModes = {
1844
- notStartsWith: "notStartsWith",
1845
- notEndsWith: "notEndsWith",
1846
- empty: "empty",
1847
- notEmpty: "notEmpty",
1848
- dateBeforeAndEquals: "dateBeforeAndEquals",
1849
- dateAfterAndEquals: "dateAfterAndEquals"
1850
- };
1851
- var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true, isNullable = true) => {
1852
- const baseOptions = [
1853
- {
1854
- label: isLanguagePtBr ? "Cont\xE9m" : "Contains",
1855
- value: FilterMatchMode3.CONTAINS
1856
- },
1857
- {
1858
- label: isLanguagePtBr ? "N\xE3o cont\xE9m" : "Does not contain",
1859
- value: FilterMatchMode3.NOT_CONTAINS
1860
- },
1861
- {
1862
- label: isLanguagePtBr ? "Igual" : "Equals",
1863
- value: FilterMatchMode3.EQUALS
1864
- },
1865
- {
1866
- label: isLanguagePtBr ? "Diferente" : "Not equals",
1867
- value: FilterMatchMode3.NOT_EQUALS
1868
- },
1869
- {
1870
- label: isLanguagePtBr ? "Come\xE7a com" : "Starts with",
1871
- value: FilterMatchMode3.STARTS_WITH
1872
- },
1873
- {
1874
- label: isLanguagePtBr ? "N\xE3o come\xE7a com" : "Does not start with",
1875
- value: customMatchModes.notStartsWith
1876
- },
1877
- {
1878
- label: isLanguagePtBr ? "Termina com" : "Ends with",
1879
- value: FilterMatchMode3.ENDS_WITH
1880
- },
1881
- {
1882
- label: isLanguagePtBr ? "N\xE3o termina com" : "Does not end with",
1883
- value: customMatchModes.notEndsWith
1884
- }
1885
- ];
1886
- return isNullable ? [...baseOptions, ...getNullable(isLanguagePtBr)] : baseOptions;
1887
- };
1888
- var getDefaultFilterMatchOptionsNumber = (isLanguagePtBr = true, isNullable = true) => {
1889
- const baseOptions = [
1890
- {
1891
- label: isLanguagePtBr ? "Igual" : "Equals",
1892
- value: FilterMatchMode3.EQUALS
1893
- },
1894
- {
1895
- label: isLanguagePtBr ? "Diferente" : "Not equals",
1896
- value: FilterMatchMode3.NOT_EQUALS
1897
- },
1898
- {
1899
- label: isLanguagePtBr ? "Menor que" : "Less than",
1900
- value: FilterMatchMode3.LESS_THAN
1901
- },
1902
- {
1903
- label: isLanguagePtBr ? "Menor ou igual a" : "Less than or equal to",
1904
- value: FilterMatchMode3.LESS_THAN_OR_EQUAL_TO
1905
- },
1906
- {
1907
- label: isLanguagePtBr ? "Maior que" : "Greater than",
1908
- value: FilterMatchMode3.GREATER_THAN
1909
- },
1910
- {
1911
- label: isLanguagePtBr ? "Maior ou igual a" : "Greater than or equal to",
1912
- value: FilterMatchMode3.GREATER_THAN_OR_EQUAL_TO
1913
- }
1914
- ];
1915
- return isNullable ? [...baseOptions, ...getNullable(isLanguagePtBr)] : baseOptions;
1916
- };
1917
- var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true, isNullable = true) => {
1918
- const baseOptions = [
1919
- {
1920
- label: isLanguagePtBr ? "Cont\xE9m" : "Contains",
1921
- value: FilterMatchMode3.CONTAINS
1922
- },
1923
- {
1924
- label: isLanguagePtBr ? "N\xE3o cont\xE9m" : "Does not contain",
1925
- value: FilterMatchMode3.NOT_CONTAINS
1926
- }
1927
- ];
1928
- return isNullable ? [...baseOptions, ...getNullable(isLanguagePtBr)] : baseOptions;
1929
- };
1930
- var getDefaultFilterMatchOptionsDate = (isLanguagePtBr, isNullable = true) => {
1931
- const baseOptions = [
1932
- {
1933
- label: isLanguagePtBr ? "Data anterior a" : "Date before",
1934
- value: FilterMatchMode3.DATE_BEFORE
1935
- },
1936
- {
1937
- label: isLanguagePtBr ? "Data anterior ou igual a" : "Date prior to or equal to",
1938
- value: customMatchModes.dateBeforeAndEquals
1939
- },
1940
- {
1941
- label: isLanguagePtBr ? "Data posterior a" : "Date after",
1942
- value: FilterMatchMode3.DATE_AFTER
1943
- },
1944
- {
1945
- label: isLanguagePtBr ? "Data posterior ou igual a" : "Date later than or equal to",
1946
- value: customMatchModes.dateAfterAndEquals
1947
- }
1948
- ];
1949
- return isNullable ? [...baseOptions, ...getNullable(isLanguagePtBr)] : baseOptions;
1950
- };
1951
- var getDefaultFilterMatchOptionsEnum = (isLanguagePtBr, isNullable = true) => {
1952
- const baseOptions = [
1953
- {
1954
- label: isLanguagePtBr ? "Igual" : "Equals",
1955
- value: FilterMatchMode3.EQUALS
1956
- },
1957
- {
1958
- label: isLanguagePtBr ? "Diferente" : "Not equals",
1959
- value: FilterMatchMode3.NOT_EQUALS
1960
- }
1961
- ];
1962
- return isNullable ? [...baseOptions, ...getNullable(isLanguagePtBr)] : baseOptions;
1963
- };
1964
- var getNullable = (isLanguagePtBr) => [
1965
- {
1966
- label: isLanguagePtBr ? "Vazio" : "Empty",
1967
- value: customMatchModes.empty
1968
- },
1969
- {
1970
- label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
1971
- value: customMatchModes.notEmpty
1972
- }
1973
- ];
1974
1712
 
1975
1713
  // src/components/DataTableAdvancedFilter/utils/DataTableUtils.tsx
1976
- import { FilterMatchMode as FilterMatchMode4, FilterOperator } from "primereact/api";
1714
+ import { FilterMatchMode as FilterMatchMode3, FilterOperator } from "primereact/api";
1977
1715
  var mapMatchMode = (mode) => {
1978
1716
  switch (mode) {
1979
1717
  case "startsWith":
@@ -2006,6 +1744,12 @@ var mapMatchMode = (mode) => {
2006
1744
  };
2007
1745
  var buildFilterPayload = (fieldName, matchMode, rawValue) => {
2008
1746
  const normalized = normalizeFilterValue(rawValue);
1747
+ if (matchMode === "any") {
1748
+ return { __collectionOperator: "any" };
1749
+ }
1750
+ if (matchMode === "none") {
1751
+ return { __collectionOperator: "none" };
1752
+ }
2009
1753
  if (matchMode === "empty") {
2010
1754
  return {
2011
1755
  field: fieldName,
@@ -2121,7 +1865,13 @@ var mapPrimeToBackendFilters = (filters, globalFilterFields) => {
2121
1865
  }
2122
1866
  return;
2123
1867
  }
2124
- const constraints = Array.isArray(config.constraints) ? config.constraints.filter((c) => normalizeFilterValue(c.value) !== null || normalizeFilterValue(c.value) === "__NULL__") : [];
1868
+ const constraints = Array.isArray(config.constraints) ? config.constraints.filter((c) => {
1869
+ if (isSpecialMatchMode(c.matchMode)) {
1870
+ return true;
1871
+ }
1872
+ const normalized = normalizeFilterValue(c.value);
1873
+ return normalized !== null || normalized === "__NULL__";
1874
+ }) : [];
2125
1875
  if (!constraints.length) return;
2126
1876
  const colOperator = config.operator === "or" ? "or" : "and";
2127
1877
  if (config.collection === "campos" && config.fieldId) {
@@ -2140,6 +1890,18 @@ var mapPrimeToBackendFilters = (filters, globalFilterFields) => {
2140
1890
  ).filter(Boolean);
2141
1891
  if (!columnPayloads.length) return;
2142
1892
  if (config.collection) {
1893
+ const collectionExistence = columnPayloads.find(
1894
+ (p) => p.__collectionOperator
1895
+ );
1896
+ if (collectionExistence) {
1897
+ const rootNode = buildCollectionExistenceNode(config.collection);
1898
+ if (collectionExistence.__collectionOperator === "none") {
1899
+ finalAnd.push({ not: rootNode });
1900
+ } else {
1901
+ finalAnd.push(rootNode);
1902
+ }
1903
+ return;
1904
+ }
2143
1905
  const rootCollections = [];
2144
1906
  columnPayloads.forEach((payload) => {
2145
1907
  pushIntoCollectionTree(
@@ -2172,6 +1934,7 @@ function pushIntoCollectionTree(root, collectionPath, fieldName, payloadBase) {
2172
1934
  const collections = collectionPath.split(".");
2173
1935
  let current = root;
2174
1936
  collections.forEach((collection) => {
1937
+ var _a;
2175
1938
  let node = current.find(
2176
1939
  (n) => n.collection === collection && n.any
2177
1940
  );
@@ -2182,6 +1945,8 @@ function pushIntoCollectionTree(root, collectionPath, fieldName, payloadBase) {
2182
1945
  };
2183
1946
  current.push(node);
2184
1947
  }
1948
+ node.any ?? (node.any = {});
1949
+ (_a = node.any).or ?? (_a.or = []);
2185
1950
  current = node.any.or;
2186
1951
  });
2187
1952
  current.push({
@@ -2193,9 +1958,9 @@ function getMatchModeByTipo(tipo) {
2193
1958
  switch (tipo) {
2194
1959
  case "NumeroInteiro":
2195
1960
  case "NumeroDecimal":
2196
- return FilterMatchMode4.EQUALS;
1961
+ return FilterMatchMode3.EQUALS;
2197
1962
  default:
2198
- return FilterMatchMode4.CONTAINS;
1963
+ return FilterMatchMode3.CONTAINS;
2199
1964
  }
2200
1965
  }
2201
1966
  function buildDynamicCampoFilters(campos) {
@@ -2216,6 +1981,27 @@ function buildDynamicCampoFilters(campos) {
2216
1981
  return acc;
2217
1982
  }, {});
2218
1983
  }
1984
+ function buildCollectionExistenceNode(collectionPath) {
1985
+ const collections = collectionPath.split(".");
1986
+ let root = null;
1987
+ let current = null;
1988
+ collections.forEach((collection) => {
1989
+ const node = {
1990
+ collection,
1991
+ any: {}
1992
+ };
1993
+ if (!root) {
1994
+ root = node;
1995
+ } else {
1996
+ if (!current.any.or) {
1997
+ current.any.or = [];
1998
+ }
1999
+ current.any.or.push(node);
2000
+ }
2001
+ current = node;
2002
+ });
2003
+ return root;
2004
+ }
2219
2005
  var getUrlParams = (sortFieldInitial, sortOrderInitial) => {
2220
2006
  const params = new URLSearchParams(
2221
2007
  typeof window !== "undefined" ? window.location.search : ""
@@ -2285,6 +2071,337 @@ function resolveMatchMode(constraintMatchMode, rawValue) {
2285
2071
  }
2286
2072
  return constraintMatchMode;
2287
2073
  }
2074
+ var SPECIAL_MATCH_MODES = /* @__PURE__ */ new Set([
2075
+ "empty",
2076
+ "notEmpty",
2077
+ "any",
2078
+ "none"
2079
+ ]);
2080
+ var isSpecialMatchMode = (matchMode) => !!matchMode && SPECIAL_MATCH_MODES.has(matchMode);
2081
+
2082
+ // src/components/DataTableAdvancedFilter/FilterTemplates.tsx
2083
+ import { jsx as jsx18 } from "react/jsx-runtime";
2084
+ var DateFilterTemplate = (options, mask) => {
2085
+ const matchMode = options.filterModel?.matchMode;
2086
+ const value = options.filterModel?.value;
2087
+ const isSpecial = isSpecialMatchMode(matchMode);
2088
+ if (!isSpecial && value === true) {
2089
+ options.filterCallback(
2090
+ "",
2091
+ options.index
2092
+ );
2093
+ }
2094
+ const parsedValue = typeof options.filterModel?.value === "string" ? /* @__PURE__ */ new Date(options.filterModel.value + "T00:00:00") : null;
2095
+ return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecial && /* @__PURE__ */ jsx18(
2096
+ Calendar,
2097
+ {
2098
+ value: parsedValue,
2099
+ onChange: (e) => {
2100
+ const date = e.value;
2101
+ if (!date) {
2102
+ options.filterCallback(null, options.index);
2103
+ return;
2104
+ }
2105
+ const valueToFilter = mask ? mask(date) : `${date.getFullYear()}-${String(
2106
+ date.getMonth() + 1
2107
+ ).padStart(2, "0")}-${String(
2108
+ date.getDate()
2109
+ ).padStart(2, "0")}`;
2110
+ options.filterCallback(valueToFilter, options.index);
2111
+ },
2112
+ dateFormat: "dd/mm/yy",
2113
+ placeholder: "dd/mm/yyyy",
2114
+ mask: "99/99/9999",
2115
+ inputClassName: "p-column-filter"
2116
+ }
2117
+ ) });
2118
+ };
2119
+ var DateTimeFilterTemplate = (options, mask) => {
2120
+ const matchMode = options.filterModel?.matchMode;
2121
+ const value = options.filterModel?.value ? moment2(options.filterModel.value).toDate() : null;
2122
+ return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecialMatchMode(matchMode) && /* @__PURE__ */ jsx18(
2123
+ Calendar,
2124
+ {
2125
+ value,
2126
+ showTime: true,
2127
+ showSeconds: true,
2128
+ hourFormat: "24",
2129
+ dateFormat: "dd/mm/yy",
2130
+ placeholder: "dd/mm/yyyy 00:00:00",
2131
+ readOnlyInput: true,
2132
+ inputClassName: "p-column-filter",
2133
+ onChange: (e) => {
2134
+ const selectedDate = e.value;
2135
+ if (!selectedDate) {
2136
+ options.filterCallback(null, options.index);
2137
+ return;
2138
+ }
2139
+ const formatted = mask ? mask(selectedDate) : moment2(selectedDate).utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]");
2140
+ options.filterCallback(formatted, options.index);
2141
+ }
2142
+ }
2143
+ ) });
2144
+ };
2145
+ var ValueFilterTemplate = (options, mask) => {
2146
+ const parsedValue = options.value !== null && options.value !== void 0 ? centsToReal(options.value) : null;
2147
+ const handleChange = (e) => {
2148
+ const rawValue = e.value;
2149
+ if (rawValue === null || rawValue === void 0) {
2150
+ options.filterCallback(null, options.index);
2151
+ return;
2152
+ }
2153
+ const valueToFilter = mask ? mask(rawValue) : rawValue;
2154
+ options.filterCallback(String(valueToFilter), options.index);
2155
+ };
2156
+ const matchMode = options.filterModel?.matchMode;
2157
+ const value = options.filterModel?.value;
2158
+ const isSpecial = isSpecialMatchMode(matchMode);
2159
+ if (!isSpecial && value === true) {
2160
+ options.filterCallback(
2161
+ "",
2162
+ options.index
2163
+ );
2164
+ }
2165
+ return !isSpecial && /* @__PURE__ */ jsx18(
2166
+ InputNumber,
2167
+ {
2168
+ value: parsedValue,
2169
+ placeholder: "R$ 0,00",
2170
+ onValueChange: handleChange,
2171
+ mode: "currency",
2172
+ currency: "BRL",
2173
+ locale: "pt-BR",
2174
+ inputClassName: "custom-input"
2175
+ }
2176
+ );
2177
+ };
2178
+ var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
2179
+ const selectOptions = items.length > 0 ? items : [
2180
+ { label: isLanguagePtBr ? "Sim" : "Yes", value: true },
2181
+ { label: isLanguagePtBr ? "N\xE3o" : "No", value: false }
2182
+ ];
2183
+ const matchMode = options.filterModel?.matchMode;
2184
+ const value = options.filterModel?.value;
2185
+ const isSpecial = isSpecialMatchMode(matchMode);
2186
+ if (!isSpecial && value === true) {
2187
+ options.filterCallback(
2188
+ "",
2189
+ options.index
2190
+ );
2191
+ }
2192
+ const currentValue = selectOptions.find(
2193
+ (opt) => opt.value === options.filterModel?.value
2194
+ ) || null;
2195
+ return /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: !isSpecial && /* @__PURE__ */ jsx18(
2196
+ Select2,
2197
+ {
2198
+ options: selectOptions,
2199
+ value: currentValue,
2200
+ onChange: (selected) => {
2201
+ options.filterCallback(
2202
+ selected ? selected.value : null,
2203
+ options.index
2204
+ );
2205
+ },
2206
+ placeholder: isLanguagePtBr ? "Selecione..." : "Select...",
2207
+ isClearable: true,
2208
+ isSearchable: false,
2209
+ className: "custom-select-filtro",
2210
+ classNamePrefix: "custom-select-filtro"
2211
+ }
2212
+ ) });
2213
+ };
2214
+ var CustomFilterElement = (options, isLanguagePtBr = true) => {
2215
+ const matchMode = options.filterModel?.matchMode;
2216
+ const value = options.filterModel?.value;
2217
+ const isSpecial = isSpecialMatchMode(matchMode);
2218
+ if (!isSpecial && value === true) {
2219
+ options.filterCallback(
2220
+ "",
2221
+ options.index
2222
+ );
2223
+ }
2224
+ return !isSpecial && /* @__PURE__ */ jsx18(
2225
+ InputText,
2226
+ {
2227
+ value: options.filterModel?.value ?? "",
2228
+ placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
2229
+ onChange: (e) => {
2230
+ options.filterCallback(
2231
+ e.target.value || null,
2232
+ options.index
2233
+ );
2234
+ },
2235
+ className: "p-column-filter"
2236
+ }
2237
+ );
2238
+ };
2239
+
2240
+ // src/components/DataTableAdvancedFilter/filterModes.ts
2241
+ import { FilterMatchMode as FilterMatchMode4 } from "primereact/api";
2242
+ var customMatchModes = {
2243
+ notStartsWith: "notStartsWith",
2244
+ notEndsWith: "notEndsWith",
2245
+ empty: "empty",
2246
+ notEmpty: "notEmpty",
2247
+ dateBeforeAndEquals: "dateBeforeAndEquals",
2248
+ dateAfterAndEquals: "dateAfterAndEquals",
2249
+ any: "any",
2250
+ none: "none"
2251
+ };
2252
+ var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true, isNullable = true, isCollection = false) => {
2253
+ const baseOptions = [
2254
+ {
2255
+ label: isLanguagePtBr ? "Cont\xE9m" : "Contains",
2256
+ value: FilterMatchMode4.CONTAINS
2257
+ },
2258
+ {
2259
+ label: isLanguagePtBr ? "N\xE3o cont\xE9m" : "Does not contain",
2260
+ value: FilterMatchMode4.NOT_CONTAINS
2261
+ },
2262
+ {
2263
+ label: isLanguagePtBr ? "Igual" : "Equals",
2264
+ value: FilterMatchMode4.EQUALS
2265
+ },
2266
+ {
2267
+ label: isLanguagePtBr ? "Diferente" : "Not equals",
2268
+ value: FilterMatchMode4.NOT_EQUALS
2269
+ },
2270
+ {
2271
+ label: isLanguagePtBr ? "Come\xE7a com" : "Starts with",
2272
+ value: FilterMatchMode4.STARTS_WITH
2273
+ },
2274
+ {
2275
+ label: isLanguagePtBr ? "N\xE3o come\xE7a com" : "Does not start with",
2276
+ value: customMatchModes.notStartsWith
2277
+ },
2278
+ {
2279
+ label: isLanguagePtBr ? "Termina com" : "Ends with",
2280
+ value: FilterMatchMode4.ENDS_WITH
2281
+ },
2282
+ {
2283
+ label: isLanguagePtBr ? "N\xE3o termina com" : "Does not end with",
2284
+ value: customMatchModes.notEndsWith
2285
+ }
2286
+ ];
2287
+ return [
2288
+ ...baseOptions,
2289
+ ...isCollection ? getNullableCollection(isLanguagePtBr) : [],
2290
+ ...isNullable ? getNullable(isLanguagePtBr) : []
2291
+ ];
2292
+ };
2293
+ var getDefaultFilterMatchOptionsNumber = (isLanguagePtBr = true, isNullable = true, isCollection = false) => {
2294
+ const baseOptions = [
2295
+ {
2296
+ label: isLanguagePtBr ? "Igual" : "Equals",
2297
+ value: FilterMatchMode4.EQUALS
2298
+ },
2299
+ {
2300
+ label: isLanguagePtBr ? "Diferente" : "Not equals",
2301
+ value: FilterMatchMode4.NOT_EQUALS
2302
+ },
2303
+ {
2304
+ label: isLanguagePtBr ? "Menor que" : "Less than",
2305
+ value: FilterMatchMode4.LESS_THAN
2306
+ },
2307
+ {
2308
+ label: isLanguagePtBr ? "Menor ou igual a" : "Less than or equal to",
2309
+ value: FilterMatchMode4.LESS_THAN_OR_EQUAL_TO
2310
+ },
2311
+ {
2312
+ label: isLanguagePtBr ? "Maior que" : "Greater than",
2313
+ value: FilterMatchMode4.GREATER_THAN
2314
+ },
2315
+ {
2316
+ label: isLanguagePtBr ? "Maior ou igual a" : "Greater than or equal to",
2317
+ value: FilterMatchMode4.GREATER_THAN_OR_EQUAL_TO
2318
+ }
2319
+ ];
2320
+ return [
2321
+ ...baseOptions,
2322
+ ...isCollection ? getNullableCollection(isLanguagePtBr) : [],
2323
+ ...isNullable ? getNullable(isLanguagePtBr) : []
2324
+ ];
2325
+ };
2326
+ var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true, isNullable = true, isCollection = false) => {
2327
+ const baseOptions = [
2328
+ {
2329
+ label: isLanguagePtBr ? "Cont\xE9m" : "Contains",
2330
+ value: FilterMatchMode4.CONTAINS
2331
+ },
2332
+ {
2333
+ label: isLanguagePtBr ? "N\xE3o cont\xE9m" : "Does not contain",
2334
+ value: FilterMatchMode4.NOT_CONTAINS
2335
+ }
2336
+ ];
2337
+ return [
2338
+ ...baseOptions,
2339
+ ...isCollection ? getNullableCollection(isLanguagePtBr) : [],
2340
+ ...isNullable ? getNullable(isLanguagePtBr) : []
2341
+ ];
2342
+ };
2343
+ var getDefaultFilterMatchOptionsDate = (isLanguagePtBr, isNullable = true, isCollection = false) => {
2344
+ const baseOptions = [
2345
+ {
2346
+ label: isLanguagePtBr ? "Data anterior a" : "Date before",
2347
+ value: FilterMatchMode4.DATE_BEFORE
2348
+ },
2349
+ {
2350
+ label: isLanguagePtBr ? "Data anterior ou igual a" : "Date prior to or equal to",
2351
+ value: customMatchModes.dateBeforeAndEquals
2352
+ },
2353
+ {
2354
+ label: isLanguagePtBr ? "Data posterior a" : "Date after",
2355
+ value: FilterMatchMode4.DATE_AFTER
2356
+ },
2357
+ {
2358
+ label: isLanguagePtBr ? "Data posterior ou igual a" : "Date later than or equal to",
2359
+ value: customMatchModes.dateAfterAndEquals
2360
+ }
2361
+ ];
2362
+ return [
2363
+ ...baseOptions,
2364
+ ...isCollection ? getNullableCollection(isLanguagePtBr) : [],
2365
+ ...isNullable ? getNullable(isLanguagePtBr) : []
2366
+ ];
2367
+ };
2368
+ var getDefaultFilterMatchOptionsEnum = (isLanguagePtBr, isNullable = true, isCollection = false) => {
2369
+ const baseOptions = [
2370
+ {
2371
+ label: isLanguagePtBr ? "Igual" : "Equals",
2372
+ value: FilterMatchMode4.EQUALS
2373
+ },
2374
+ {
2375
+ label: isLanguagePtBr ? "Diferente" : "Not equals",
2376
+ value: FilterMatchMode4.NOT_EQUALS
2377
+ }
2378
+ ];
2379
+ return [
2380
+ ...baseOptions,
2381
+ ...isCollection ? getNullableCollection(isLanguagePtBr) : [],
2382
+ ...isNullable ? getNullable(isLanguagePtBr) : []
2383
+ ];
2384
+ };
2385
+ var getNullable = (isLanguagePtBr) => [
2386
+ {
2387
+ label: isLanguagePtBr ? "Vazio" : "Empty",
2388
+ value: customMatchModes.empty
2389
+ },
2390
+ {
2391
+ label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
2392
+ value: customMatchModes.notEmpty
2393
+ }
2394
+ ];
2395
+ var getNullableCollection = (isLanguagePtBr) => [
2396
+ {
2397
+ label: isLanguagePtBr ? "Algum" : "Any",
2398
+ value: customMatchModes.any
2399
+ },
2400
+ {
2401
+ label: isLanguagePtBr ? "Nenhum" : "None",
2402
+ value: customMatchModes.none
2403
+ }
2404
+ ];
2288
2405
 
2289
2406
  // src/index.tsx
2290
2407
  import { FilterMatchMode as FilterMatchMode5, FilterOperator as FilterOperator2 } from "primereact/api";
@@ -2314,6 +2431,8 @@ export {
2314
2431
  getDefaultFilterMatchOptionsString,
2315
2432
  getDefaultFilterMatchOptionsStringArray,
2316
2433
  getNullable,
2434
+ getNullableCollection,
2317
2435
  getUrlParams,
2436
+ isSpecialMatchMode,
2318
2437
  mapPrimeToBackendFilters
2319
2438
  };