@react-querybuilder/core 8.11.2 → 8.13.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 (86) hide show
  1. package/dist/{basic-CLG_Bmom.d.mts → basic-Cw014pDc.d.mts} +123 -98
  2. package/dist/{basic-BeKPP0_1.d.ts → basic-_KlsCAyT.d.ts} +123 -98
  3. package/dist/chunk-U64pC571.js +41 -0
  4. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +215 -148
  5. package/dist/cjs/react-querybuilder_core.cjs.development.js +28 -37
  6. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  7. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +215 -148
  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-C7NvB0XA.js → convertQuery-DRldbzhZ.js} +4 -4
  13. package/dist/{convertQuery-C7NvB0XA.js.map → convertQuery-DRldbzhZ.js.map} +1 -1
  14. package/dist/{export-B2Yw5gak.d.mts → export-CffjLxEe.d.mts} +2 -2
  15. package/dist/{export-CQB0nuvW.d.ts → export-DRA8O1Wz.d.ts} +2 -2
  16. package/dist/formatQuery.d.mts +2 -2
  17. package/dist/formatQuery.d.ts +2 -2
  18. package/dist/formatQuery.js +19 -13
  19. package/dist/formatQuery.js.map +1 -1
  20. package/dist/formatQuery.mjs +18 -12
  21. package/dist/formatQuery.mjs.map +1 -1
  22. package/dist/{import-Dvayhrgj.d.ts → import-CWYJkN_w.d.ts} +2 -2
  23. package/dist/{import-BtpySRSy.d.mts → import-DjHGaGhJ.d.mts} +2 -2
  24. package/dist/{isRuleGroup-DqAs2x4E.js → isRuleGroup-Cjk1Q2mj.js} +2 -40
  25. package/dist/{isRuleGroup-DqAs2x4E.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 +16 -6
  31. package/dist/parseCEL.js.map +1 -1
  32. package/dist/parseCEL.mjs +15 -4
  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 -6
  37. package/dist/parseJSONata.js.map +1 -1
  38. package/dist/parseJSONata.mjs +3 -3
  39. package/dist/parseJsonLogic.d.mts +3 -3
  40. package/dist/parseJsonLogic.d.ts +3 -3
  41. package/dist/parseJsonLogic.js +4 -4
  42. package/dist/parseJsonLogic.mjs +4 -4
  43. package/dist/parseMongoDB.d.mts +2 -2
  44. package/dist/parseMongoDB.d.ts +2 -2
  45. package/dist/parseMongoDB.js +5 -5
  46. package/dist/parseMongoDB.js.map +1 -1
  47. package/dist/parseMongoDB.mjs +5 -5
  48. package/dist/parseMongoDB.mjs.map +1 -1
  49. package/dist/parseSQL.d.mts +2 -2
  50. package/dist/parseSQL.d.ts +2 -2
  51. package/dist/parseSQL.js +4 -5
  52. package/dist/parseSQL.js.map +1 -1
  53. package/dist/parseSQL.mjs +3 -3
  54. package/dist/parseSpEL.d.mts +2 -2
  55. package/dist/parseSpEL.d.ts +2 -2
  56. package/dist/parseSpEL.js +58 -6
  57. package/dist/parseSpEL.js.map +1 -1
  58. package/dist/parseSpEL.mjs +3 -3
  59. package/dist/{prepareQueryObjects-BfnyRV5t.mjs → prepareQueryObjects-6Bxx4Bs1.mjs} +3 -3
  60. package/dist/{prepareQueryObjects-BfnyRV5t.mjs.map → prepareQueryObjects-6Bxx4Bs1.mjs.map} +1 -1
  61. package/dist/{prepareQueryObjects-Cz_28zYz.js → prepareQueryObjects-CkN0bTKm.js} +4 -4
  62. package/dist/{prepareQueryObjects-Cz_28zYz.js.map → prepareQueryObjects-CkN0bTKm.js.map} +1 -1
  63. package/dist/react-querybuilder_core.d.mts +215 -148
  64. package/dist/react-querybuilder_core.legacy-esm.d.ts +215 -148
  65. package/dist/react-querybuilder_core.legacy-esm.js +34 -18
  66. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  67. package/dist/react-querybuilder_core.mjs +28 -12
  68. package/dist/react-querybuilder_core.mjs.map +1 -1
  69. package/dist/react-querybuilder_core.production.d.mts +215 -148
  70. package/dist/react-querybuilder_core.production.mjs +1 -1
  71. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  72. package/dist/{transformQuery-B4SaTTO-.js → transformQuery-ClBRfnFg.js} +10 -3
  73. package/dist/{transformQuery-B4SaTTO-.js.map → transformQuery-ClBRfnFg.js.map} +1 -1
  74. package/dist/{transformQuery-C85j__7e.mjs → transformQuery-DUpbpqjX.mjs} +9 -2
  75. package/dist/{transformQuery-C85j__7e.mjs.map → transformQuery-DUpbpqjX.mjs.map} +1 -1
  76. package/dist/transformQuery.d.mts +1 -1
  77. package/dist/transformQuery.d.ts +1 -1
  78. package/dist/transformQuery.js +2 -2
  79. package/dist/transformQuery.mjs +2 -2
  80. package/dist/{utils-Dkz3Xn2D.js → utils-CR1ToTMW.js} +3 -4
  81. package/dist/utils-CR1ToTMW.js.map +1 -0
  82. package/dist/{utils-DxH23QtE.mjs → utils-nQU7WCM9.mjs} +2 -2
  83. package/dist/utils-nQU7WCM9.mjs.map +1 -0
  84. package/package.json +12 -11
  85. package/dist/utils-Dkz3Xn2D.js.map +0 -1
  86. package/dist/utils-DxH23QtE.mjs.map +0 -1
@@ -1,30 +1,5 @@
1
- //#region rolldown:runtime
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
- key = keys[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
-
23
- //#endregion
24
1
  let immer = require("immer");
25
- immer = __toESM(immer);
26
2
  let numeric_quantity = require("numeric-quantity");
27
- numeric_quantity = __toESM(numeric_quantity);
28
3
 
29
4
  //#region src/defaults.ts
30
5
  /**
@@ -449,7 +424,8 @@ const standardClassnames = {
449
424
  valueListItem: "rule-value-list-item",
450
425
  branches: "queryBuilder-branches",
451
426
  justified: "queryBuilder-justified",
452
- hasSubQuery: "rule-hasSubQuery"
427
+ hasSubQuery: "rule-hasSubQuery",
428
+ loading: "queryBuilder-loading"
453
429
  };
454
430
  /**
455
431
  * Default classnames for each component.
@@ -496,7 +472,8 @@ const defaultControlClassnames = {
496
472
  disabled: "",
497
473
  valueListItem: "",
498
474
  branches: "",
499
- hasSubQuery: ""
475
+ hasSubQuery: "",
476
+ loading: ""
500
477
  };
501
478
  /**
502
479
  * Default reason codes for a group being invalid.
@@ -773,7 +750,7 @@ const convertFromIC = (rg) => {
773
750
  */
774
751
  const convertToIC = (rg) => {
775
752
  if (isRuleGroupTypeIC(rg)) return rg;
776
- const { combinator,...queryWithoutCombinator } = rg;
753
+ const { combinator, ...queryWithoutCombinator } = rg;
777
754
  const rules = [];
778
755
  const { length } = rg.rules;
779
756
  for (const [idx, r] of rg.rules.entries()) {
@@ -1113,6 +1090,13 @@ const parseNumber = (val, { parseNumbers, bigIntOnOverflow } = {}) => {
1113
1090
 
1114
1091
  //#endregion
1115
1092
  //#region src/utils/transformQuery.ts
1093
+ /**
1094
+ * Recursively steps through a query object ({@link index!RuleGroupType RuleGroupType} or {@link index!RuleGroupTypeIC RuleGroupTypeIC}),
1095
+ * passing each {@link index!RuleType RuleType} object to a provided `ruleProcessor` function and returning a
1096
+ * new query object if there were any referential changes.
1097
+ *
1098
+ * @module transformQuery
1099
+ */
1116
1100
  const remapProperties = (obj, propertyMap, deleteRemappedProperties) => (0, immer.produce)(obj, (draft) => {
1117
1101
  for (const [k, v] of Object.entries(propertyMap)) if (v === false) delete draft[k];
1118
1102
  else if (!!v && k !== v && k in draft) {
@@ -2975,7 +2959,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
2975
2959
  const valueAsArray = toArray(rule.value);
2976
2960
  if (valueAsArray.length === 0) return "";
2977
2961
  const valStringArray = valueAsArray.map((v) => valueIsField ? wrapFieldName(getOption(fields ?? [], v)?.label ?? v) : shouldRenderAsNumber(v, parseNumbers) ? `${trimIfString(v)}` : `${wrapAndEscape(v)}`);
2978
- return `${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`;
2962
+ if (valStringArray.length === 1) return valStringArray[0];
2963
+ return `(${`${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`})`;
2979
2964
  }
2980
2965
  }
2981
2966
  if (typeof rule.value === "boolean") return rule.value ? trueTL : falseTL;
@@ -3020,17 +3005,22 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
3020
3005
  const { field, operator, valueSource = "value" } = rule;
3021
3006
  // istanbul ignore next
3022
3007
  const { getOperators = defaultGetOperators, operatorMap: operatorMapParam = defaultExportOperatorMap } = opts;
3023
- const mapOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
3024
- for (const [key, value] of Object.entries(operatorMapParam)) mapOperatorMap.set(lc(key), value);
3025
- const operatorMap = Object.fromEntries(mapOperatorMap);
3008
+ const mergedOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
3009
+ for (const [key, value] of Object.entries(operatorMapParam)) mergedOperatorMap.set(lc(key), value);
3010
+ const operatorMap = Object.fromEntries(mergedOperatorMap);
3011
+ const operatorLC = lc(operator);
3012
+ var normalizedOperator = operator;
3013
+ const hasSingleValue = toArray(rule.value).length === 1;
3014
+ if (operatorLC === "in" && hasSingleValue) normalizedOperator = "=";
3015
+ else if (operatorLC === "notin" && hasSingleValue) normalizedOperator = "!=";
3026
3016
  const { value: operatorNL, label } = getOption(toFullOptionList(getOperators(field, { fieldData: opts.fieldData ?? {
3027
3017
  name: field,
3028
3018
  value: field,
3029
3019
  label: field
3030
- } }) ?? []), operator) ?? {
3031
- name: operator,
3032
- value: operator,
3033
- label: operator
3020
+ } }) ?? []), normalizedOperator) ?? {
3021
+ name: normalizedOperator,
3022
+ value: normalizedOperator,
3023
+ label: normalizedOperator
3034
3024
  };
3035
3025
  const operatorTL = operatorMap[operatorNL] ?? operatorMap[lc(operatorNL)] ?? [label, label];
3036
3026
  return typeof operatorTL === "string" ? operatorTL : operatorTL[valueSource === "field" ? 1 : 0];
@@ -3913,7 +3903,8 @@ const mergeClassnames = (...args) => ({
3913
3903
  matchMode: joinClassnamesByName("matchMode", args),
3914
3904
  matchThreshold: joinClassnamesByName("matchThreshold", args),
3915
3905
  branches: joinClassnamesByName("branches", args),
3916
- hasSubQuery: joinClassnamesByName("hasSubQuery", args)
3906
+ hasSubQuery: joinClassnamesByName("hasSubQuery", args),
3907
+ loading: joinClassnamesByName("loading", args)
3917
3908
  });
3918
3909
 
3919
3910
  //#endregion