@react-querybuilder/core 8.21.0 → 8.21.2

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 (72) hide show
  1. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +30 -1
  2. package/dist/cjs/react-querybuilder_core.cjs.development.js +37 -8
  3. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  4. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +30 -1
  5. package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
  6. package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
  7. package/dist/formatQuery.d.mts +17 -2
  8. package/dist/formatQuery.d.ts +17 -2
  9. package/dist/formatQuery.js +23 -9
  10. package/dist/formatQuery.js.map +1 -1
  11. package/dist/formatQuery.mjs +22 -10
  12. package/dist/formatQuery.mjs.map +1 -1
  13. package/dist/{import-Ddc3d_8q.d.ts → import-6ExjhifL.d.ts} +2 -2
  14. package/dist/{import-BVdxeIBO.d.mts → import-DVWI7Fdh.d.mts} +2 -2
  15. package/dist/{index-BSwFvkeI.d.mts → index-CX9mehdL.d.mts} +15 -1
  16. package/dist/{index-BSwFvkeI.d.ts → index-CX9mehdL.d.ts} +15 -1
  17. package/dist/parseCEL.d.mts +2 -2
  18. package/dist/parseCEL.d.ts +2 -2
  19. package/dist/parseCEL.js +2 -2
  20. package/dist/parseCEL.mjs +2 -2
  21. package/dist/parseCypher.d.mts +1 -1
  22. package/dist/parseCypher.d.ts +1 -1
  23. package/dist/parseGremlin.d.mts +1 -1
  24. package/dist/parseGremlin.d.ts +1 -1
  25. package/dist/parseJSONata.d.mts +2 -2
  26. package/dist/parseJSONata.d.ts +2 -2
  27. package/dist/parseJSONata.js +1 -1
  28. package/dist/parseJSONata.mjs +1 -1
  29. package/dist/parseJsonLogic.d.mts +2 -2
  30. package/dist/parseJsonLogic.d.ts +2 -2
  31. package/dist/parseJsonLogic.js +2 -2
  32. package/dist/parseJsonLogic.mjs +2 -2
  33. package/dist/parseMongoDB.d.mts +2 -2
  34. package/dist/parseMongoDB.d.ts +2 -2
  35. package/dist/parseMongoDB.js +2 -2
  36. package/dist/parseMongoDB.mjs +2 -2
  37. package/dist/parseSPARQL.d.mts +1 -1
  38. package/dist/parseSPARQL.d.ts +1 -1
  39. package/dist/parseSQL.d.mts +2 -2
  40. package/dist/parseSQL.d.ts +2 -2
  41. package/dist/parseSQL.js +2 -2
  42. package/dist/parseSQL.mjs +2 -2
  43. package/dist/parseSpEL.d.mts +2 -2
  44. package/dist/parseSpEL.d.ts +2 -2
  45. package/dist/parseSpEL.js +2 -2
  46. package/dist/parseSpEL.mjs +2 -2
  47. package/dist/{prepareQueryObjects-Q18lHCKl.mjs → prepareQueryObjects-9emVAGYG.mjs} +2 -2
  48. package/dist/{prepareQueryObjects-Q18lHCKl.mjs.map → prepareQueryObjects-9emVAGYG.mjs.map} +1 -1
  49. package/dist/{prepareQueryObjects-C2-kTZvR.js → prepareQueryObjects-C5dHLhnC.js} +2 -2
  50. package/dist/{prepareQueryObjects-C2-kTZvR.js.map → prepareQueryObjects-C5dHLhnC.js.map} +1 -1
  51. package/dist/query-builder-layout.css.map +1 -1
  52. package/dist/query-builder.css.map +1 -1
  53. package/dist/react-querybuilder_core.d.mts +30 -1
  54. package/dist/react-querybuilder_core.legacy-esm.d.ts +30 -1
  55. package/dist/react-querybuilder_core.legacy-esm.js +38 -9
  56. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  57. package/dist/react-querybuilder_core.mjs +36 -9
  58. package/dist/react-querybuilder_core.mjs.map +1 -1
  59. package/dist/react-querybuilder_core.production.d.mts +30 -1
  60. package/dist/react-querybuilder_core.production.mjs +1 -1
  61. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  62. package/dist/styles/_layout.scss +14 -4
  63. package/dist/styles/_main.scss +7 -2
  64. package/dist/transformQuery.d.mts +1 -1
  65. package/dist/transformQuery.d.ts +1 -1
  66. package/dist/{utils-Dt0D_DMV.mjs → utils-CxWs-N47.mjs} +17 -2
  67. package/dist/utils-CxWs-N47.mjs.map +1 -0
  68. package/dist/{utils-DEwV7F6B.js → utils-SchkzSCN.js} +28 -1
  69. package/dist/utils-SchkzSCN.js.map +1 -0
  70. package/package.json +8 -8
  71. package/dist/utils-DEwV7F6B.js.map +0 -1
  72. package/dist/utils-Dt0D_DMV.mjs.map +0 -1
@@ -2083,6 +2083,14 @@ interface ValueProcessorOptions extends FormatQueryOptions {
2083
2083
  * @default false
2084
2084
  */
2085
2085
  parseNumbers?: boolean;
2086
+ /**
2087
+ * Nesting level of the subquery currently being processed. Incremented each time a rule
2088
+ * processor recurses into a rule group stored in a rule's `value` (see `match` modes).
2089
+ * Used to generate collision-free element aliases.
2090
+ *
2091
+ * @default 0
2092
+ */
2093
+ subqueryDepth?: number;
2086
2094
  }
2087
2095
  /**
2088
2096
  * Options object curated by {@link formatQuery} and passed to a {@link RuleGroupProcessor}.
@@ -2100,6 +2108,12 @@ interface FormatQueryFinalOptions extends Required<Except<FormatQueryOptions, "c
2100
2108
  validateRule: FormatQueryValidateRule;
2101
2109
  validationMap: ValidationMap;
2102
2110
  context?: Record<string, unknown>;
2111
+ /**
2112
+ * @see {@link ValueProcessorOptions.subqueryDepth}
2113
+ *
2114
+ * @default 0
2115
+ */
2116
+ subqueryDepth?: number;
2103
2117
  }
2104
2118
  /**
2105
2119
  * Function that produces a processed value for a given {@link RuleType}.
@@ -3990,6 +4004,21 @@ type ProcessedMatchMode = {
3990
4004
  * 2. `value` is not a valid rule group.
3991
4005
  */
3992
4006
  declare const processMatchMode: (rule: RuleType) => null | false | ProcessedMatchMode;
4007
+ /**
4008
+ * Base alias assigned to the element binding of a subquery generated for a rule's
4009
+ * {@link MatchMode `match` mode} (e.g. `unnest(field) as elem_alias`).
4010
+ */
4011
+ declare const subqueryElementAliasBase = "elem_alias";
4012
+ /**
4013
+ * Returns the element alias for a subquery at the given nesting depth. Depth 0 (the common,
4014
+ * non-nested case) uses {@link subqueryElementAliasBase} unchanged; deeper levels are suffixed
4015
+ * with the depth, so a subquery nested within a subquery cannot shadow its parent's binding.
4016
+ *
4017
+ * Deterministic by depth rather than randomized, so output remains stable and snapshot-friendly.
4018
+ *
4019
+ * @group Export
4020
+ */
4021
+ declare const getSubqueryElementAlias: (subqueryDepth?: number) => string;
3993
4022
  /**
3994
4023
  * "Replacer" method for JSON.stringify's second argument. Converts `bigint` values to
3995
4024
  * objects with a `$bigint` property having a value of a string representation of
@@ -4875,5 +4904,5 @@ declare function transformQuery(query: RuleGroupType, options?: TransformQueryOp
4875
4904
  */
4876
4905
  declare function transformQuery(query: RuleGroupTypeIC, options?: TransformQueryOptions<RuleGroupTypeIC>): any;
4877
4906
  //#endregion
4878
- export { AccessibleDescriptionGenerator, ActionElementEventHandler, AddMethod, AddOptions, Arity, BaseFullOption, BaseOption, BaseOptionMap, BaseTranslation, BaseTranslationWithLabel, BaseTranslationWithPlaceholders, BaseTranslations, BaseTranslationsFull, Classname, Classnames, Combinator, CombinatorByValue, CommonRuleAndGroupProperties, CommonRuleSubComponentProps, ConstituentWordOrder, ConstituentWordOrderString, DefaultCombinator, DefaultCombinatorExtended, DefaultCombinatorName, DefaultCombinatorNameExtended, DefaultCombinators, DefaultCombinatorsExtended, DefaultMatchModes, DefaultOperator, DefaultOperatorName, DefaultOperators, DefaultRuleGroupArray, DefaultRuleGroupICArray, DefaultRuleGroupType, DefaultRuleGroupTypeAny, DefaultRuleGroupTypeIC, DefaultRuleOrGroupArray, DefaultRuleType, DiagnosticEntry, DiagnosticsFieldSummaryEntry, DiagnosticsResult, DiagnosticsStats, DndDropTargetType, DragCollection, DraggedItem, DropCollection, DropEffect, DropResult, ExportFormat, ExportObjectFormats, ExportOperatorMap, ExpressionNode, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, GetRuleDefaultValueOptions, GetRuleGroupType, GetRuleTypeFromGroupWithFieldAndOperator, GroupMethod, GroupOptions, GroupVariantCondition, InputType, InsertMethod, InsertOptions, type JsonLogicAll, type JsonLogicAnd, type JsonLogicDoubleNegation, type JsonLogicEqual, type JsonLogicGreaterThan, type JsonLogicGreaterThanOrEqual, type JsonLogicInArray, type JsonLogicInString, type JsonLogicLessThan, type JsonLogicLessThanOrEqual, type JsonLogicNegation, type JsonLogicNone, type JsonLogicNotEqual, type JsonLogicOr, type JsonLogicReservedOperations, type JsonLogicRulesLogic, type JsonLogicSome, type JsonLogicStrictEqual, type JsonLogicStrictNotEqual, type JsonLogicVar, LogType, MatchConfig, MatchMode, MatchModeOptions, MoveMethod, MoveOptions, NLTranslationKey, NLTranslations, NameLabelPair, Operator, OperatorByValue, Option, OptionGroup, OptionList, ParameterizedNamedSQL, ParameterizedSQL, ParseNumberMethod, ParseNumberOptions, ParseNumbersPropConfig, Path, Placeholder, PrepareOptionListParams, PreparedOptionList, PreparerOptions, QueryActions, QueryBuilderFlags, QueryValidator, RQBJsonLogic, RQBJsonLogicEndsWith, RQBJsonLogicStartsWith, RQBJsonLogicVar, RegenerateIdOptions, RemoveMethod, RemoveNullability, RuleDiagnosticsResult, RuleGroupArray, RuleGroupDiagnosticsArray, RuleGroupDiagnosticsResult, RuleGroupICArray, RuleGroupICDiagnosticsArray, RuleGroupICDiagnosticsResult, RuleGroupProcessor, RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleOrGroupArray, RuleProcessor, RuleType, RuleValidator, SQLPreset, StringUnionToFlexibleOptionArray, StringUnionToFullOptionArray, TestID, ToFlexibleOption, ToFullOption, ToRuleGroupType, ToRuleGroupTypeIC, TransformQueryOptions, UpdateMethod, UpdateOptions, UpdateValueMap, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, betweenOperators, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, cypherCombinatorMap, defaultCELValueProcessor, defaultCombinatorLabelMap, defaultCombinators, defaultCombinatorsExtended, defaultControlClassnames, defaultExportOperatorMap, defaultJoinChar, defaultMatchModes, defaultMongoDBValueProcessor, defaultNLTranslations, defaultOperatorLabelMap, defaultOperatorNegationMap, defaultOperatorProcessorNL, defaultOperatorProcessorSQL, defaultOperators, defaultPlaceholderFieldGroupLabel, defaultPlaceholderFieldLabel, defaultPlaceholderFieldName, defaultPlaceholderLabel, defaultPlaceholderName, defaultPlaceholderOperatorGroupLabel, defaultPlaceholderOperatorLabel, defaultPlaceholderOperatorName, defaultPlaceholderValueGroupLabel, defaultPlaceholderValueLabel, defaultPlaceholderValueName, defaultRuleGroupProcessorCEL, defaultRuleGroupProcessorCypher, defaultRuleGroupProcessorDiagnostics, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorGremlin, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSPARQL, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleGroupProcessorTanStackDB, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultRuleProcessorTanStackDB, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getLikeWildcards, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getRuleDefaultValue, getSQLConcat, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, inOperators, insert, insertInPlace, isAncestor, isFlexibleOptionArray, isFlexibleOptionGroupArray, isFullOptionArray, isFullOptionGroupArray, isOptionGroupArray, isPojo, isRuleGroup, isRuleGroupType, isRuleGroupTypeIC, isRuleOrGroupValid, isRuleType, isUnsafeKey, isValidValue, isValidationResult, isValueProcessorLegacy, joinWith, jsonLogicAdditionalOperators, lc, mapSQLOperator, mergeAnyTranslation, mergeAnyTranslations, mergeClassnames, mongoDbFallback, mongoOperators, move, moveInPlace, normalizeConstituentWordOrder, nullFreeArray, nullOperators, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, relationalOperators, remove, removeInPlace, rootPath, shouldRenderAsNumber, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, stripParamPrefix, substringOperators, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex, withParamPrefix, wrapLikeFragment };
4907
+ export { AccessibleDescriptionGenerator, ActionElementEventHandler, AddMethod, AddOptions, Arity, BaseFullOption, BaseOption, BaseOptionMap, BaseTranslation, BaseTranslationWithLabel, BaseTranslationWithPlaceholders, BaseTranslations, BaseTranslationsFull, Classname, Classnames, Combinator, CombinatorByValue, CommonRuleAndGroupProperties, CommonRuleSubComponentProps, ConstituentWordOrder, ConstituentWordOrderString, DefaultCombinator, DefaultCombinatorExtended, DefaultCombinatorName, DefaultCombinatorNameExtended, DefaultCombinators, DefaultCombinatorsExtended, DefaultMatchModes, DefaultOperator, DefaultOperatorName, DefaultOperators, DefaultRuleGroupArray, DefaultRuleGroupICArray, DefaultRuleGroupType, DefaultRuleGroupTypeAny, DefaultRuleGroupTypeIC, DefaultRuleOrGroupArray, DefaultRuleType, DiagnosticEntry, DiagnosticsFieldSummaryEntry, DiagnosticsResult, DiagnosticsStats, DndDropTargetType, DragCollection, DraggedItem, DropCollection, DropEffect, DropResult, ExportFormat, ExportObjectFormats, ExportOperatorMap, ExpressionNode, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, GetRuleDefaultValueOptions, GetRuleGroupType, GetRuleTypeFromGroupWithFieldAndOperator, GroupMethod, GroupOptions, GroupVariantCondition, InputType, InsertMethod, InsertOptions, type JsonLogicAll, type JsonLogicAnd, type JsonLogicDoubleNegation, type JsonLogicEqual, type JsonLogicGreaterThan, type JsonLogicGreaterThanOrEqual, type JsonLogicInArray, type JsonLogicInString, type JsonLogicLessThan, type JsonLogicLessThanOrEqual, type JsonLogicNegation, type JsonLogicNone, type JsonLogicNotEqual, type JsonLogicOr, type JsonLogicReservedOperations, type JsonLogicRulesLogic, type JsonLogicSome, type JsonLogicStrictEqual, type JsonLogicStrictNotEqual, type JsonLogicVar, LogType, MatchConfig, MatchMode, MatchModeOptions, MoveMethod, MoveOptions, NLTranslationKey, NLTranslations, NameLabelPair, Operator, OperatorByValue, Option, OptionGroup, OptionList, ParameterizedNamedSQL, ParameterizedSQL, ParseNumberMethod, ParseNumberOptions, ParseNumbersPropConfig, Path, Placeholder, PrepareOptionListParams, PreparedOptionList, PreparerOptions, QueryActions, QueryBuilderFlags, QueryValidator, RQBJsonLogic, RQBJsonLogicEndsWith, RQBJsonLogicStartsWith, RQBJsonLogicVar, RegenerateIdOptions, RemoveMethod, RemoveNullability, RuleDiagnosticsResult, RuleGroupArray, RuleGroupDiagnosticsArray, RuleGroupDiagnosticsResult, RuleGroupICArray, RuleGroupICDiagnosticsArray, RuleGroupICDiagnosticsResult, RuleGroupProcessor, RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleOrGroupArray, RuleProcessor, RuleType, RuleValidator, SQLPreset, StringUnionToFlexibleOptionArray, StringUnionToFullOptionArray, TestID, ToFlexibleOption, ToFullOption, ToRuleGroupType, ToRuleGroupTypeIC, TransformQueryOptions, UpdateMethod, UpdateOptions, UpdateValueMap, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, betweenOperators, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, cypherCombinatorMap, defaultCELValueProcessor, defaultCombinatorLabelMap, defaultCombinators, defaultCombinatorsExtended, defaultControlClassnames, defaultExportOperatorMap, defaultJoinChar, defaultMatchModes, defaultMongoDBValueProcessor, defaultNLTranslations, defaultOperatorLabelMap, defaultOperatorNegationMap, defaultOperatorProcessorNL, defaultOperatorProcessorSQL, defaultOperators, defaultPlaceholderFieldGroupLabel, defaultPlaceholderFieldLabel, defaultPlaceholderFieldName, defaultPlaceholderLabel, defaultPlaceholderName, defaultPlaceholderOperatorGroupLabel, defaultPlaceholderOperatorLabel, defaultPlaceholderOperatorName, defaultPlaceholderValueGroupLabel, defaultPlaceholderValueLabel, defaultPlaceholderValueName, defaultRuleGroupProcessorCEL, defaultRuleGroupProcessorCypher, defaultRuleGroupProcessorDiagnostics, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorGremlin, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSPARQL, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleGroupProcessorTanStackDB, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultRuleProcessorTanStackDB, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getLikeWildcards, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getRuleDefaultValue, getSQLConcat, getSubqueryElementAlias, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, inOperators, insert, insertInPlace, isAncestor, isFlexibleOptionArray, isFlexibleOptionGroupArray, isFullOptionArray, isFullOptionGroupArray, isOptionGroupArray, isPojo, isRuleGroup, isRuleGroupType, isRuleGroupTypeIC, isRuleOrGroupValid, isRuleType, isUnsafeKey, isValidValue, isValidationResult, isValueProcessorLegacy, joinWith, jsonLogicAdditionalOperators, lc, mapSQLOperator, mergeAnyTranslation, mergeAnyTranslations, mergeClassnames, mongoDbFallback, mongoOperators, move, moveInPlace, normalizeConstituentWordOrder, nullFreeArray, nullOperators, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, relationalOperators, remove, removeInPlace, rootPath, shouldRenderAsNumber, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, stripParamPrefix, subqueryElementAliasBase, substringOperators, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex, withParamPrefix, wrapLikeFragment };
4879
4908
  //# sourceMappingURL=react-querybuilder_core.cjs.development.d.ts.map
@@ -1496,6 +1496,21 @@ const processMatchMode = (rule) => {
1496
1496
  };
1497
1497
  };
1498
1498
  /**
1499
+ * Base alias assigned to the element binding of a subquery generated for a rule's
1500
+ * {@link MatchMode `match` mode} (e.g. `unnest(field) as elem_alias`).
1501
+ */
1502
+ const subqueryElementAliasBase = "elem_alias";
1503
+ /**
1504
+ * Returns the element alias for a subquery at the given nesting depth. Depth 0 (the common,
1505
+ * non-nested case) uses {@link subqueryElementAliasBase} unchanged; deeper levels are suffixed
1506
+ * with the depth, so a subquery nested within a subquery cannot shadow its parent's binding.
1507
+ *
1508
+ * Deterministic by depth rather than randomized, so output remains stable and snapshot-friendly.
1509
+ *
1510
+ * @group Export
1511
+ */
1512
+ const getSubqueryElementAlias = (subqueryDepth = 0) => subqueryDepth > 0 ? `${subqueryElementAliasBase}_${subqueryDepth}` : subqueryElementAliasBase;
1513
+ /**
1499
1514
  * "Replacer" method for JSON.stringify's second argument. Converts `bigint` values to
1500
1515
  * objects with a `$bigint` property having a value of a string representation of
1501
1516
  * the actual `bigint`-type value.
@@ -1588,11 +1603,15 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
1588
1603
  if (matchEval === false) return "";
1589
1604
  else if (matchEval) {
1590
1605
  const { mode, threshold } = matchEval;
1591
- const arrayElementAlias = "elem_alias";
1606
+ const subqueryDepth = opts.subqueryDepth ?? 0;
1607
+ const arrayElementAlias = getSubqueryElementAlias(subqueryDepth);
1592
1608
  const nestedArrayFilter = defaultRuleGroupProcessorCEL(transformQuery(rule.value, { ruleProcessor: (r) => ({
1593
1609
  ...r,
1594
1610
  field: `${arrayElementAlias}${r.field ? `.${r.field}` : ""}`
1595
- }) }), opts);
1611
+ }) }), {
1612
+ ...opts,
1613
+ subqueryDepth: subqueryDepth + 1
1614
+ });
1596
1615
  switch (mode) {
1597
1616
  case "all": return `${field}.all(${arrayElementAlias}, ${nestedArrayFilter})`;
1598
1617
  case "none":
@@ -3208,7 +3227,8 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
3208
3227
  else if (matchEval) {
3209
3228
  if (opts.preset !== "postgresql") return void 0;
3210
3229
  const { mode, threshold } = matchEval;
3211
- const arrayElementAlias = "elem_alias";
3230
+ const subqueryDepth = opts.subqueryDepth ?? 0;
3231
+ const arrayElementAlias = getSubqueryElementAlias(subqueryDepth);
3212
3232
  const nestedArrayFilter = defaultRuleGroupProcessorDrizzle(transformQuery(rule.value, { ruleProcessor: (r) => ({
3213
3233
  ...r,
3214
3234
  field: arrayElementAlias
@@ -3217,7 +3237,8 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
3217
3237
  context: {
3218
3238
  ...opts.context,
3219
3239
  useRawFields: true
3220
- }
3240
+ },
3241
+ subqueryDepth: subqueryDepth + 1
3221
3242
  });
3222
3243
  switch (mode) {
3223
3244
  case "all": return sql`(select count(*) from unnest(${column}) as ${sql.raw(arrayElementAlias)} where ${nestedArrayFilter({}, drizzleOperators)}) = array_length(${column}, 1)`;
@@ -3931,11 +3952,15 @@ const defaultRuleProcessorSQL = (rule, opts = {}) => {
3931
3952
  else if (matchEval) {
3932
3953
  if (opts?.preset !== "postgresql") return "";
3933
3954
  const { mode, threshold } = matchEval;
3934
- const arrayElementAlias = "elem_alias";
3955
+ const subqueryDepth = opts.subqueryDepth ?? 0;
3956
+ const arrayElementAlias = getSubqueryElementAlias(subqueryDepth);
3935
3957
  const nestedArrayFilter = defaultRuleGroupProcessorSQL(transformQuery(rule.value, { ruleProcessor: (r) => ({
3936
3958
  ...r,
3937
3959
  field: arrayElementAlias
3938
- }) }), opts);
3960
+ }) }), {
3961
+ ...opts,
3962
+ subqueryDepth: subqueryDepth + 1
3963
+ });
3939
3964
  switch (mode) {
3940
3965
  case "all": return `(select count(*) from unnest(${ruleField}) as ${wrapFieldName(arrayElementAlias)} where ${nestedArrayFilter}) = array_length(${ruleField}, 1)`;
3941
3966
  case "none": return `not exists (select 1 from unnest(${ruleField}) as ${wrapFieldName(arrayElementAlias)} where ${nestedArrayFilter})`;
@@ -3993,13 +4018,15 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
3993
4018
  else if (matchEval) {
3994
4019
  if (opts?.preset !== "postgresql") return finalize("");
3995
4020
  const { mode, threshold } = matchEval;
3996
- const arrayElementAlias = "elem_alias";
4021
+ const subqueryDepth = opts.subqueryDepth ?? 0;
4022
+ const arrayElementAlias = getSubqueryElementAlias(subqueryDepth);
3997
4023
  const { sql: nestedSQL, params: nestedParams } = defaultRuleGroupProcessorParameterized(transformQuery(rule.value, { ruleProcessor: (r) => ({
3998
4024
  ...r,
3999
4025
  field: arrayElementAlias
4000
4026
  }) }), {
4001
4027
  ...opts,
4002
- fields: []
4028
+ fields: [],
4029
+ subqueryDepth: subqueryDepth + 1
4003
4030
  });
4004
4031
  if (Array.isArray(nestedParams)) params.push(...nestedParams);
4005
4032
  else Object.assign(paramsNamed, nestedParams);
@@ -5542,6 +5569,7 @@ exports.getQuoteFieldNamesWithArray = getQuoteFieldNamesWithArray;
5542
5569
  exports.getQuotedFieldName = getQuotedFieldName;
5543
5570
  exports.getRuleDefaultValue = getRuleDefaultValue;
5544
5571
  exports.getSQLConcat = getSQLConcat;
5572
+ exports.getSubqueryElementAlias = getSubqueryElementAlias;
5545
5573
  exports.getValidationClassNames = getValidationClassNames;
5546
5574
  exports.getValueSourcesUtil = getValueSourcesUtil;
5547
5575
  exports.group = group;
@@ -5611,6 +5639,7 @@ exports.splitBy = splitBy;
5611
5639
  exports.sqlDialectPresets = sqlDialectPresets;
5612
5640
  exports.standardClassnames = standardClassnames;
5613
5641
  exports.stripParamPrefix = stripParamPrefix;
5642
+ exports.subqueryElementAliasBase = subqueryElementAliasBase;
5614
5643
  exports.substringOperators = substringOperators;
5615
5644
  exports.toArray = toArray;
5616
5645
  exports.toFlatOptionArray = toFlatOptionArray;