@react-querybuilder/core 8.12.0 → 8.14.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.
Files changed (89) hide show
  1. package/dist/{basic-o1-sYjK6.d.ts → basic-Dxm6jWFu.d.ts} +94 -104
  2. package/dist/{basic-DbvrfPNz.d.mts → basic-GFsWfi0Z.d.mts} +94 -104
  3. package/dist/{chunk-BxBTb9qk.js → chunk-U64pC571.js} +13 -11
  4. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +119 -118
  5. package/dist/cjs/react-querybuilder_core.cjs.development.js +39 -10
  6. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  7. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +119 -118
  8. package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
  9. package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
  10. package/dist/{convertQuery-Cj4t-LT4.mjs → convertQuery-DAj92cbM.mjs} +3 -3
  11. package/dist/{convertQuery-Cj4t-LT4.mjs.map → convertQuery-DAj92cbM.mjs.map} +1 -1
  12. package/dist/{convertQuery-DuY_BJHy.js → convertQuery-DRldbzhZ.js} +4 -4
  13. package/dist/{convertQuery-DuY_BJHy.js.map → convertQuery-DRldbzhZ.js.map} +1 -1
  14. package/dist/{export-WDHFbiPz.d.ts → export-6VbkhCrf.d.ts} +2 -2
  15. package/dist/{export-CCULKoP4.d.mts → export-_wipiqJZ.d.mts} +2 -2
  16. package/dist/formatQuery.d.mts +2 -2
  17. package/dist/formatQuery.d.ts +2 -2
  18. package/dist/formatQuery.js +43 -14
  19. package/dist/formatQuery.js.map +1 -1
  20. package/dist/formatQuery.mjs +42 -13
  21. package/dist/formatQuery.mjs.map +1 -1
  22. package/dist/{import-BSWb9Vgd.d.ts → import-D8M7awTx.d.ts} +2 -2
  23. package/dist/{import-CLyHpgk8.d.mts → import-DRmutNSr.d.mts} +2 -2
  24. package/dist/{isRuleGroup-Do9KKsmt.js → isRuleGroup-Cjk1Q2mj.js} +2 -2
  25. package/dist/{isRuleGroup-Do9KKsmt.js.map → isRuleGroup-Cjk1Q2mj.js.map} +1 -1
  26. package/dist/{isRuleGroup-BcfwGaIN.mjs → isRuleGroup-DztIOOKa.mjs} +1 -1
  27. package/dist/{isRuleGroup-BcfwGaIN.mjs.map → isRuleGroup-DztIOOKa.mjs.map} +1 -1
  28. package/dist/parseCEL.d.mts +2 -2
  29. package/dist/parseCEL.d.ts +2 -2
  30. package/dist/parseCEL.js +9 -9
  31. package/dist/parseCEL.js.map +1 -1
  32. package/dist/parseCEL.mjs +3 -3
  33. package/dist/parseCEL.mjs.map +1 -1
  34. package/dist/parseJSONata.d.mts +2 -2
  35. package/dist/parseJSONata.d.ts +2 -2
  36. package/dist/parseJSONata.js +13 -7
  37. package/dist/parseJSONata.js.map +1 -1
  38. package/dist/parseJSONata.mjs +2 -3
  39. package/dist/parseJSONata.mjs.map +1 -1
  40. package/dist/parseJsonLogic.d.mts +3 -3
  41. package/dist/parseJsonLogic.d.ts +3 -3
  42. package/dist/parseJsonLogic.js +4 -4
  43. package/dist/parseJsonLogic.mjs +4 -4
  44. package/dist/parseMongoDB.d.mts +2 -2
  45. package/dist/parseMongoDB.d.ts +2 -2
  46. package/dist/parseMongoDB.js +5 -5
  47. package/dist/parseMongoDB.js.map +1 -1
  48. package/dist/parseMongoDB.mjs +5 -5
  49. package/dist/parseMongoDB.mjs.map +1 -1
  50. package/dist/parseSQL.d.mts +2 -2
  51. package/dist/parseSQL.d.ts +2 -2
  52. package/dist/parseSQL.js +9 -9
  53. package/dist/parseSQL.js.map +1 -1
  54. package/dist/parseSQL.mjs +3 -3
  55. package/dist/parseSpEL.d.mts +2 -2
  56. package/dist/parseSpEL.d.ts +2 -2
  57. package/dist/parseSpEL.js +58 -7
  58. package/dist/parseSpEL.js.map +1 -1
  59. package/dist/parseSpEL.mjs +3 -3
  60. package/dist/{prepareQueryObjects-BfnyRV5t.mjs → prepareQueryObjects-BBayjIn2.mjs} +4 -7
  61. package/dist/prepareQueryObjects-BBayjIn2.mjs.map +1 -0
  62. package/dist/{prepareQueryObjects-DCtJJrF5.js → prepareQueryObjects-BxWvIPI4.js} +5 -8
  63. package/dist/prepareQueryObjects-BxWvIPI4.js.map +1 -0
  64. package/dist/react-querybuilder_core.d.mts +119 -118
  65. package/dist/react-querybuilder_core.legacy-esm.d.ts +119 -118
  66. package/dist/react-querybuilder_core.legacy-esm.js +42 -16
  67. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  68. package/dist/react-querybuilder_core.mjs +39 -10
  69. package/dist/react-querybuilder_core.mjs.map +1 -1
  70. package/dist/react-querybuilder_core.production.d.mts +119 -118
  71. package/dist/react-querybuilder_core.production.mjs +1 -1
  72. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  73. package/dist/{transformQuery-DvJTAvkh.js → transformQuery-ClBRfnFg.js} +3 -3
  74. package/dist/{transformQuery-DvJTAvkh.js.map → transformQuery-ClBRfnFg.js.map} +1 -1
  75. package/dist/{transformQuery-Bq4iyYsE.mjs → transformQuery-DUpbpqjX.mjs} +2 -2
  76. package/dist/{transformQuery-Bq4iyYsE.mjs.map → transformQuery-DUpbpqjX.mjs.map} +1 -1
  77. package/dist/transformQuery.d.mts +1 -1
  78. package/dist/transformQuery.d.ts +1 -1
  79. package/dist/transformQuery.js +1 -2
  80. package/dist/transformQuery.mjs +1 -2
  81. package/dist/{utils-CoYbYnVo.js → utils-CR1ToTMW.js} +3 -3
  82. package/dist/{utils-CoYbYnVo.js.map → utils-CR1ToTMW.js.map} +1 -1
  83. package/dist/{utils-DxH23QtE.mjs → utils-nQU7WCM9.mjs} +2 -2
  84. package/dist/{utils-DxH23QtE.mjs.map → utils-nQU7WCM9.mjs.map} +1 -1
  85. package/package.json +14 -13
  86. package/dist/chunk-DrjzjjTJ.mjs +0 -23
  87. package/dist/chunk-Dv2ph0Ay.js +0 -23
  88. package/dist/prepareQueryObjects-BfnyRV5t.mjs.map +0 -1
  89. package/dist/prepareQueryObjects-DCtJJrF5.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { E as parseNumber, M as defaultPlaceholderOperatorName, O as toArray, S as toFlatOptionArray, _ as shouldRenderAsNumber, a as getNLTranslataion, c as isValidValue, d as mapSQLOperator, f as mongoOperators, g as processMatchMode, h as prismaOperators, i as defaultNLTranslations, j as defaultPlaceholderFieldName, k as trimIfString, l as isValueProcessorLegacy, m as numerifyValues, n as bigIntJsonStringifyReplacer, o as getQuoteFieldNamesWithArray, p as normalizeConstituentWordOrder, r as celCombinatorMap, s as getQuotedFieldName, t as bigIntJsonParseReviver, u as jsonLogicAdditionalOperators, v as getParseNumberMethod, w as toFullOptionList, y as getOption } from "./utils-DxH23QtE.mjs";
2
- import { a as lc, i as isPojo, n as isRuleGroupType, o as nullOrUndefinedOrEmpty, r as isRuleGroupTypeIC, t as isRuleGroup } from "./isRuleGroup-BcfwGaIN.mjs";
3
- import { t as transformQuery } from "./transformQuery-Bq4iyYsE.mjs";
4
- import { t as convertFromIC } from "./convertQuery-Cj4t-LT4.mjs";
1
+ import { E as parseNumber, M as defaultPlaceholderOperatorName, O as toArray, S as toFlatOptionArray, _ as shouldRenderAsNumber, a as getNLTranslataion, c as isValidValue, d as mapSQLOperator, f as mongoOperators, g as processMatchMode, h as prismaOperators, i as defaultNLTranslations, j as defaultPlaceholderFieldName, k as trimIfString, l as isValueProcessorLegacy, m as numerifyValues, n as bigIntJsonStringifyReplacer, o as getQuoteFieldNamesWithArray, p as normalizeConstituentWordOrder, r as celCombinatorMap, s as getQuotedFieldName, t as bigIntJsonParseReviver, u as jsonLogicAdditionalOperators, v as getParseNumberMethod, w as toFullOptionList, y as getOption } from "./utils-nQU7WCM9.mjs";
2
+ import { a as lc, i as isPojo, n as isRuleGroupType, o as nullOrUndefinedOrEmpty, r as isRuleGroupTypeIC, t as isRuleGroup } from "./isRuleGroup-DztIOOKa.mjs";
3
+ import { t as transformQuery } from "./transformQuery-DUpbpqjX.mjs";
4
+ import { t as convertFromIC } from "./convertQuery-DAj92cbM.mjs";
5
5
  import { produce } from "immer";
6
6
 
7
7
  //#region src/utils/isRuleOrGroupValid.ts
@@ -1195,7 +1195,30 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1195
1195
  const { field, operator, value, valueSource } = rule;
1196
1196
  const { parseNumbers, preserveValueOrder } = options;
1197
1197
  const operatorLC = lc(operator);
1198
- if (processMatchMode(rule)) return false;
1198
+ const matchEval = processMatchMode(rule);
1199
+ if (matchEval === false) return false;
1200
+ else if (matchEval) {
1201
+ const { mode } = matchEval;
1202
+ const subQuery = defaultRuleGroupProcessorElasticSearch(transformQuery(rule.value, { ruleProcessor: (r) => ({
1203
+ ...r,
1204
+ field: r.field ? `${field}.${r.field}` : field
1205
+ }) }), options);
1206
+ if (Object.keys(subQuery).length === 0) return false;
1207
+ switch (mode) {
1208
+ case "some": return { nested: {
1209
+ path: field,
1210
+ query: subQuery
1211
+ } };
1212
+ case "none": return { bool: { must_not: { nested: {
1213
+ path: field,
1214
+ query: subQuery
1215
+ } } } };
1216
+ case "all":
1217
+ case "atleast":
1218
+ case "atmost":
1219
+ case "exactly": return false;
1220
+ }
1221
+ }
1199
1222
  if (valueSource === "field") {
1200
1223
  if (toArray(value).some((v) => typeof v !== "string")) return false;
1201
1224
  const fieldForScript = escapeSQ(field);
@@ -1569,7 +1592,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
1569
1592
  const valueAsArray = toArray(rule.value);
1570
1593
  if (valueAsArray.length === 0) return "";
1571
1594
  const valStringArray = valueAsArray.map((v) => valueIsField ? wrapFieldName(getOption(fields ?? [], v)?.label ?? v) : shouldRenderAsNumber(v, parseNumbers) ? `${trimIfString(v)}` : `${wrapAndEscape(v)}`);
1572
- return `${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`;
1595
+ if (valStringArray.length === 1) return valStringArray[0];
1596
+ return `(${`${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`})`;
1573
1597
  }
1574
1598
  }
1575
1599
  if (typeof rule.value === "boolean") return rule.value ? trueTL : falseTL;
@@ -1614,17 +1638,22 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
1614
1638
  const { field, operator, valueSource = "value" } = rule;
1615
1639
  // istanbul ignore next
1616
1640
  const { getOperators = defaultGetOperators, operatorMap: operatorMapParam = defaultExportOperatorMap } = opts;
1617
- const mapOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
1618
- for (const [key, value] of Object.entries(operatorMapParam)) mapOperatorMap.set(lc(key), value);
1619
- const operatorMap = Object.fromEntries(mapOperatorMap);
1641
+ const mergedOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
1642
+ for (const [key, value] of Object.entries(operatorMapParam)) mergedOperatorMap.set(lc(key), value);
1643
+ const operatorMap = Object.fromEntries(mergedOperatorMap);
1644
+ const operatorLC = lc(operator);
1645
+ var normalizedOperator = operator;
1646
+ const hasSingleValue = toArray(rule.value).length === 1;
1647
+ if (operatorLC === "in" && hasSingleValue) normalizedOperator = "=";
1648
+ else if (operatorLC === "notin" && hasSingleValue) normalizedOperator = "!=";
1620
1649
  const { value: operatorNL, label } = getOption(toFullOptionList(getOperators(field, { fieldData: opts.fieldData ?? {
1621
1650
  name: field,
1622
1651
  value: field,
1623
1652
  label: field
1624
- } }) ?? []), operator) ?? {
1625
- name: operator,
1626
- value: operator,
1627
- label: operator
1653
+ } }) ?? []), normalizedOperator) ?? {
1654
+ name: normalizedOperator,
1655
+ value: normalizedOperator,
1656
+ label: normalizedOperator
1628
1657
  };
1629
1658
  const operatorTL = operatorMap[operatorNL] ?? operatorMap[lc(operatorNL)] ?? [label, label];
1630
1659
  return typeof operatorTL === "string" ? operatorTL : operatorTL[valueSource === "field" ? 1 : 0];