@react-querybuilder/core 8.16.0 → 8.16.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 (74) hide show
  1. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +43 -4
  2. package/dist/cjs/react-querybuilder_core.cjs.development.js +182 -18
  3. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  4. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +43 -4
  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/convertQuery-BeJJH9BI.mjs.map +1 -1
  8. package/dist/convertQuery-Lx2HQa0m.js.map +1 -1
  9. package/dist/formatQuery.d.mts +42 -3
  10. package/dist/formatQuery.d.ts +42 -3
  11. package/dist/formatQuery.js +182 -18
  12. package/dist/formatQuery.js.map +1 -1
  13. package/dist/formatQuery.mjs +180 -19
  14. package/dist/formatQuery.mjs.map +1 -1
  15. package/dist/{import-BHlzBLM_.d.mts → import-BXXgiPlr.d.mts} +2 -2
  16. package/dist/{import-C6imciDf.d.ts → import-DqzM2MBd.d.ts} +2 -2
  17. package/dist/{index-D-Iej37L.d.mts → index-CR-tk4Ci.d.mts} +3 -3
  18. package/dist/{index-Cjapnb-H.d.ts → index-NSVgGj45.d.ts} +3 -3
  19. package/dist/objectUtils-Bzug_QfX.js.map +1 -1
  20. package/dist/objectUtils-D96eEEzL.mjs.map +1 -1
  21. package/dist/parseCEL.d.mts +2 -2
  22. package/dist/parseCEL.d.ts +2 -2
  23. package/dist/parseCEL.js.map +1 -1
  24. package/dist/parseCEL.mjs.map +1 -1
  25. package/dist/parseCypher.d.mts +1 -1
  26. package/dist/parseCypher.d.ts +1 -1
  27. package/dist/parseCypher.js.map +1 -1
  28. package/dist/parseCypher.mjs.map +1 -1
  29. package/dist/parseGremlin.d.mts +1 -1
  30. package/dist/parseGremlin.d.ts +1 -1
  31. package/dist/parseGremlin.js.map +1 -1
  32. package/dist/parseGremlin.mjs.map +1 -1
  33. package/dist/parseJSONata.d.mts +2 -2
  34. package/dist/parseJSONata.d.ts +2 -2
  35. package/dist/parseJSONata.js.map +1 -1
  36. package/dist/parseJSONata.mjs.map +1 -1
  37. package/dist/parseJsonLogic.d.mts +2 -2
  38. package/dist/parseJsonLogic.d.ts +2 -2
  39. package/dist/parseJsonLogic.js.map +1 -1
  40. package/dist/parseJsonLogic.mjs.map +1 -1
  41. package/dist/parseMongoDB.d.mts +2 -2
  42. package/dist/parseMongoDB.d.ts +2 -2
  43. package/dist/parseMongoDB.js.map +1 -1
  44. package/dist/parseMongoDB.mjs.map +1 -1
  45. package/dist/parseSPARQL.d.mts +1 -1
  46. package/dist/parseSPARQL.d.ts +1 -1
  47. package/dist/parseSPARQL.js.map +1 -1
  48. package/dist/parseSPARQL.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.map +1 -1
  52. package/dist/parseSQL.mjs.map +1 -1
  53. package/dist/parseSpEL.d.mts +2 -2
  54. package/dist/parseSpEL.d.ts +2 -2
  55. package/dist/parseSpEL.js.map +1 -1
  56. package/dist/parseSpEL.mjs.map +1 -1
  57. package/dist/prepareQueryObjects-BoG5Rt8z.js.map +1 -1
  58. package/dist/prepareQueryObjects-uA10ZpZX.mjs.map +1 -1
  59. package/dist/react-querybuilder_core.d.mts +43 -4
  60. package/dist/react-querybuilder_core.legacy-esm.d.ts +43 -4
  61. package/dist/react-querybuilder_core.legacy-esm.js +192 -31
  62. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  63. package/dist/react-querybuilder_core.mjs +180 -19
  64. package/dist/react-querybuilder_core.mjs.map +1 -1
  65. package/dist/react-querybuilder_core.production.d.mts +43 -4
  66. package/dist/react-querybuilder_core.production.mjs +1 -1
  67. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  68. package/dist/transformQuery.d.mts +1 -1
  69. package/dist/transformQuery.d.ts +1 -1
  70. package/dist/transformQuery.js.map +1 -1
  71. package/dist/transformQuery.mjs.map +1 -1
  72. package/dist/utils-ChLG90DP.mjs.map +1 -1
  73. package/dist/utils-Qwkq2Q0F.js.map +1 -1
  74. package/package.json +19 -15
@@ -1,6 +1,7 @@
1
1
  import { JsonLogicAll, JsonLogicAnd, JsonLogicDoubleNegation, JsonLogicEqual, JsonLogicGreaterThan, JsonLogicGreaterThanOrEqual, JsonLogicInArray, JsonLogicInString, JsonLogicLessThan, JsonLogicLessThanOrEqual, JsonLogicNegation, JsonLogicNone, JsonLogicNotEqual, JsonLogicOr, JsonLogicSome, JsonLogicStrictEqual, JsonLogicStrictNotEqual, JsonLogicVar, ReservedOperations as JsonLogicReservedOperations, RulesLogic, RulesLogic as JsonLogicRulesLogic } from "json-logic-js";
2
2
  import { Column, Operators, SQL, Table } from "drizzle-orm";
3
3
  import { WhereOptions } from "sequelize";
4
+ import { eq } from "@tanstack/db";
4
5
 
5
6
  //#region ../../node_modules/type-fest/source/primitive.d.ts
6
7
  /**
@@ -1748,7 +1749,7 @@ interface DropCollection {
1748
1749
  *
1749
1750
  * @group Export
1750
1751
  */
1751
- type ExportFormat = "json" | "sql" | "json_without_ids" | "parameterized" | "parameterized_named" | "mongodb" | "mongodb_query" | "cel" | "jsonlogic" | "spel" | "elasticsearch" | "jsonata" | "natural_language" | "ldap" | "drizzle" | "prisma" | "sequelize" | "cypher" | "gql" | "sparql" | "gremlin" | "diagnostics";
1752
+ type ExportFormat = "json" | "sql" | "json_without_ids" | "parameterized" | "parameterized_named" | "mongodb" | "mongodb_query" | "cel" | "jsonlogic" | "spel" | "elasticsearch" | "jsonata" | "natural_language" | "ldap" | "drizzle" | "tanstack_db" | "prisma" | "sequelize" | "cypher" | "gql" | "sparql" | "gremlin" | "diagnostics";
1752
1753
  /**
1753
1754
  * Export formats for {@link formatQuery} that produce objects instead of strings.
1754
1755
  *
@@ -2334,7 +2335,7 @@ type GroupVariantCondition = "not" | "xor";
2334
2335
  *
2335
2336
  * @group Export
2336
2337
  */
2337
- type NLTranslationKey = "and" | "or" | "true" | "false" | `groupPrefix${ZeroOrMoreGroupVariants}` | `groupSuffix${ZeroOrMoreGroupVariants}`;
2338
+ type NLTranslationKey = "and" | "or" | "true" | "false" | "ruleSeparator" | "betweenAnd" | "afterSubject" | "afterVerb" | "afterObject" | "listSeparator" | `groupPrefix${ZeroOrMoreGroupVariants}` | `groupSuffix${ZeroOrMoreGroupVariants}`;
2338
2339
  /**
2339
2340
  * `translations` config object for "natural_language" format.
2340
2341
  *
@@ -3303,6 +3304,23 @@ declare const defaultRuleGroupProcessorSpEL: RuleGroupProcessor<string>;
3303
3304
  */
3304
3305
  declare const defaultRuleGroupProcessorSQL: RuleGroupProcessor<string>;
3305
3306
  //#endregion
3307
+ //#region src/utils/formatQuery/tanStackDbTypes.d.ts
3308
+ type TanStackDbWhereCallbackReturnType = ReturnType<typeof eq>;
3309
+ type TanStackDbWhereCallback = (refs: Record<string, unknown>) => TanStackDbWhereCallbackReturnType;
3310
+ //#endregion
3311
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.d.ts
3312
+ /**
3313
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
3314
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
3315
+ *
3316
+ * @example
3317
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
3318
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
3319
+ *
3320
+ * @group Export
3321
+ */
3322
+ declare const defaultRuleGroupProcessorTanStackDB: RuleGroupProcessor<TanStackDbWhereCallback>;
3323
+ //#endregion
3306
3324
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.d.ts
3307
3325
  /**
3308
3326
  * Rule group processor used by {@link formatQuery} for "diagnostics" format.
@@ -3428,6 +3446,11 @@ declare const defaultRuleProcessorPrisma: RuleProcessor;
3428
3446
  declare const defaultRuleProcessorSequelize: RuleProcessor;
3429
3447
  //#endregion
3430
3448
  //#region src/utils/formatQuery/defaultRuleProcessorSPARQL.d.ts
3449
+ /** Auto-prefix a SPARQL variable name with `?` unless it's already prefixed, a URI, or a prefixed name.
3450
+ *
3451
+ * @group Export
3452
+ */
3453
+ declare const sparqlVar: (name: string) => string;
3431
3454
  /**
3432
3455
  * Default rule processor used by {@link formatQuery} for "sparql" format.
3433
3456
  *
@@ -3449,6 +3472,14 @@ declare const defaultOperatorProcessorSQL: RuleProcessor;
3449
3472
  */
3450
3473
  declare const defaultRuleProcessorSQL: RuleProcessor;
3451
3474
  //#endregion
3475
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.d.ts
3476
+ /**
3477
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
3478
+ *
3479
+ * @group Export
3480
+ */
3481
+ declare const defaultRuleProcessorTanStackDB: RuleProcessor;
3482
+ //#endregion
3452
3483
  //#region src/utils/formatQuery/defaultValueProcessorNL.d.ts
3453
3484
  /**
3454
3485
  * Default value processor used by {@link formatQuery} for "natural_language" format.
@@ -3562,7 +3593,15 @@ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "drizzle" | (
3562
3593
  format: "drizzle";
3563
3594
  })): ReturnType<typeof defaultRuleGroupProcessorDrizzle>;
3564
3595
  /**
3565
- * Generates a Sequelize query object from an RQB query object. The object can
3596
+ * Generates a TanStack DB WhereCallback from an RQB query object. The callback can
3597
+ * be passed directly to TanStack DB's `.where()` method.
3598
+ *
3599
+ * @group Export
3600
+ */
3601
+ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "tanstack_db" | (FormatQueryOptions & {
3602
+ format: "tanstack_db";
3603
+ })): ReturnType<typeof defaultRuleGroupProcessorTanStackDB>;
3604
+ /**
3566
3605
  * be assigned to the `where` property in the Sequelize query functions.
3567
3606
  *
3568
3607
  * @group Export
@@ -4634,5 +4673,5 @@ declare function transformQuery(query: RuleGroupType, options?: TransformQueryOp
4634
4673
  */
4635
4674
  declare function transformQuery(query: RuleGroupTypeIC, options?: TransformQueryOptions<RuleGroupTypeIC>): any;
4636
4675
  //#endregion
4637
- 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, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, 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, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, 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, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, 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, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
4676
+ 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, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, 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, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, 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, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, 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, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
4638
4677
  //# sourceMappingURL=react-querybuilder_core.legacy-esm.d.ts.map
@@ -694,7 +694,7 @@ const isRuleGroupType = (rg) => isRuleGroup(rg) && typeof rg.combinator === "str
694
694
  */
695
695
  const isRuleGroupTypeIC = (rg) => isRuleGroup(rg) && rg.combinator === void 0;
696
696
  //#endregion
697
- //#region \0@oxc-project+runtime@0.127.0/helpers/typeof.js
697
+ //#region \0@oxc-project+runtime@0.130.0/helpers/typeof.js
698
698
  function _typeof(o) {
699
699
  "@babel/helpers - typeof";
700
700
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -704,7 +704,7 @@ function _typeof(o) {
704
704
  }, _typeof(o);
705
705
  }
706
706
  //#endregion
707
- //#region \0@oxc-project+runtime@0.127.0/helpers/toPrimitive.js
707
+ //#region \0@oxc-project+runtime@0.130.0/helpers/toPrimitive.js
708
708
  function toPrimitive(t, r) {
709
709
  if ("object" != _typeof(t) || !t) return t;
710
710
  var e = t[Symbol.toPrimitive];
@@ -716,13 +716,13 @@ function toPrimitive(t, r) {
716
716
  return ("string" === r ? String : Number)(t);
717
717
  }
718
718
  //#endregion
719
- //#region \0@oxc-project+runtime@0.127.0/helpers/toPropertyKey.js
719
+ //#region \0@oxc-project+runtime@0.130.0/helpers/toPropertyKey.js
720
720
  function toPropertyKey(t) {
721
721
  var i = toPrimitive(t, "string");
722
722
  return "symbol" == _typeof(i) ? i : i + "";
723
723
  }
724
724
  //#endregion
725
- //#region \0@oxc-project+runtime@0.127.0/helpers/defineProperty.js
725
+ //#region \0@oxc-project+runtime@0.130.0/helpers/defineProperty.js
726
726
  function _defineProperty(e, r, t) {
727
727
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
728
728
  value: t,
@@ -732,7 +732,7 @@ function _defineProperty(e, r, t) {
732
732
  }) : e[r] = t, e;
733
733
  }
734
734
  //#endregion
735
- //#region \0@oxc-project+runtime@0.127.0/helpers/objectSpread2.js
735
+ //#region \0@oxc-project+runtime@0.130.0/helpers/objectSpread2.js
736
736
  function ownKeys(e, r) {
737
737
  var t = Object.keys(e);
738
738
  if (Object.getOwnPropertySymbols) {
@@ -755,7 +755,7 @@ function _objectSpread2(e) {
755
755
  return e;
756
756
  }
757
757
  //#endregion
758
- //#region \0@oxc-project+runtime@0.127.0/helpers/objectWithoutPropertiesLoose.js
758
+ //#region \0@oxc-project+runtime@0.130.0/helpers/objectWithoutPropertiesLoose.js
759
759
  function _objectWithoutPropertiesLoose(r, e) {
760
760
  if (null == r) return {};
761
761
  var t = {};
@@ -766,7 +766,7 @@ function _objectWithoutPropertiesLoose(r, e) {
766
766
  return t;
767
767
  }
768
768
  //#endregion
769
- //#region \0@oxc-project+runtime@0.127.0/helpers/objectWithoutProperties.js
769
+ //#region \0@oxc-project+runtime@0.130.0/helpers/objectWithoutProperties.js
770
770
  function _objectWithoutProperties(e, t) {
771
771
  if (null == e) return {};
772
772
  var o, r, i = _objectWithoutPropertiesLoose(e, t);
@@ -1970,7 +1970,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
1970
1970
  }
1971
1971
  case "between":
1972
1972
  case "notbetween": {
1973
- var _translations$and;
1973
+ var _ref, _translations$between;
1974
1974
  const valueAsArray = toArray(value, { retainEmptyStrings: true });
1975
1975
  if (valueAsArray.length < 2 || !isValidValue(valueAsArray[0]) || !isValidValue(valueAsArray[1])) return "";
1976
1976
  const [first, second] = valueAsArray;
@@ -1983,7 +1983,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
1983
1983
  valsOneAndTwoOnly[0] = secondNum;
1984
1984
  valsOneAndTwoOnly[1] = firstNum;
1985
1985
  }
1986
- return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${(_translations$and = translations === null || translations === void 0 ? void 0 : translations.and) !== null && _translations$and !== void 0 ? _translations$and : "and"} `);
1986
+ return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${(_ref = (_translations$between = translations === null || translations === void 0 ? void 0 : translations.betweenAnd) !== null && _translations$between !== void 0 ? _translations$between : translations === null || translations === void 0 ? void 0 : translations.and) !== null && _ref !== void 0 ? _ref : "and"} `);
1987
1987
  }
1988
1988
  case "contains":
1989
1989
  case "doesnotcontain": return valueIsField ? concat(quoteValue("%"), wrapFieldName(value), quoteValue("%")) : quoteValue(`%${escapeValue(value)}%`);
@@ -2079,6 +2079,10 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2079
2079
  const operatorLC = lc(operator);
2080
2080
  const valueIsField = valueSource === "field";
2081
2081
  const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
2082
+ const maybeParseNumber = (v) => {
2083
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2084
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2085
+ };
2082
2086
  if (!column) return void 0;
2083
2087
  const matchEval = processMatchMode(rule);
2084
2088
  if (matchEval === false) return;
@@ -2100,12 +2104,12 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2100
2104
  }
2101
2105
  }
2102
2106
  switch (operatorLC) {
2103
- case "=": return eq(column, asFieldOrValue(value));
2104
- case "!=": return ne(column, asFieldOrValue(value));
2105
- case ">": return gt(column, asFieldOrValue(value));
2106
- case "<": return lt(column, asFieldOrValue(value));
2107
- case ">=": return gte(column, asFieldOrValue(value));
2108
- case "<=": return lte(column, asFieldOrValue(value));
2107
+ case "=": return eq(column, maybeParseNumber(value));
2108
+ case "!=": return ne(column, maybeParseNumber(value));
2109
+ case ">": return gt(column, maybeParseNumber(value));
2110
+ case "<": return lt(column, maybeParseNumber(value));
2111
+ case ">=": return gte(column, maybeParseNumber(value));
2112
+ case "<=": return lte(column, maybeParseNumber(value));
2109
2113
  case "beginswith":
2110
2114
  case "doesnotbeginwith": return (operatorLC === "doesnotbeginwith" ? notLike : like)(column, valueIsField ? sql`${asFieldOrValue(value)} || '%'` : `${value}%`);
2111
2115
  case "contains":
@@ -2116,7 +2120,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2116
2120
  case "notnull": return isNotNull(column);
2117
2121
  case "in":
2118
2122
  case "notin": {
2119
- const valueAsArray = toArray(value).map((v) => asFieldOrValue(v));
2123
+ const valueAsArray = toArray(value).map((v) => maybeParseNumber(v));
2120
2124
  return operatorLC === "notin" ? notInArray(column, valueAsArray) : inArray(column, valueAsArray);
2121
2125
  }
2122
2126
  case "between":
@@ -2446,7 +2450,7 @@ const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
2446
2450
  const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
2447
2451
  const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, translations, validateRule, validationMap } = options;
2448
2452
  const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
2449
- var _rg$id, _rg2$combinator2, _translations2;
2453
+ var _rg$id, _rg2$combinator2, _translations$ruleSep2, _translations2;
2450
2454
  if (!isRuleOrGroupValid(rg, validationMap[(_rg$id = rg.id) !== null && _rg$id !== void 0 ? _rg$id : /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : /* v8 ignore next -- @preserve */ "";
2451
2455
  const rg2 = isRuleGroupTypeIC(rg) && rg.rules.some((r) => typeof r === "string" && lc(r) === "xor") ? convertFromIC(rg) : rg;
2452
2456
  const processedRules = [];
@@ -2455,8 +2459,8 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
2455
2459
  for (const rule of rg2.rules) {
2456
2460
  var _rule$valueSource;
2457
2461
  if (typeof rule === "string") {
2458
- var _translations;
2459
- precedingCombinator = `, ${(_translations = translations[rule]) !== null && _translations !== void 0 ? _translations : rule} `;
2462
+ var _translations$ruleSep, _translations;
2463
+ precedingCombinator = `${(_translations$ruleSep = translations.ruleSeparator) !== null && _translations$ruleSep !== void 0 ? _translations$ruleSep : ", "}${(_translations = translations[rule]) !== null && _translations !== void 0 ? _translations : rule} `;
2460
2464
  continue;
2461
2465
  }
2462
2466
  if (isRuleGroup(rule)) {
@@ -2499,7 +2503,8 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
2499
2503
  const [prefixTL, suffixTL] = ["groupPrefix", "groupSuffix"].map((key) => rg2.not ? isXOR ? getNLTranslataion(key, translations, ["not", "xor"]) : getNLTranslataion(key, translations, ["not"]) : isXOR ? getNLTranslataion(key, translations, ["xor"]) : getNLTranslataion(key, translations));
2500
2504
  const prefix = mustWrap ? `${prefixTL} (`.trim() : "";
2501
2505
  const suffix = mustWrap ? `) ${suffixTL}`.trim() : "";
2502
- return `${prefix}${processedRules.join(isRuleGroupType(rg2) ? `, ${(_translations2 = translations[combinator]) !== null && _translations2 !== void 0 ? _translations2 : combinator} ` : "")}${suffix}`;
2506
+ const sep = (_translations$ruleSep2 = translations.ruleSeparator) !== null && _translations$ruleSep2 !== void 0 ? _translations$ruleSep2 : ", ";
2507
+ return `${prefix}${processedRules.join(isRuleGroupType(rg2) ? `${sep}${(_translations2 = translations[combinator]) !== null && _translations2 !== void 0 ? _translations2 : combinator} ` : "")}${suffix}`;
2503
2508
  };
2504
2509
  return processRuleGroup(ruleGroup, true);
2505
2510
  };
@@ -2790,6 +2795,142 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
2790
2795
  return processRuleGroup(ruleGroup, true);
2791
2796
  };
2792
2797
  //#endregion
2798
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.ts
2799
+ /**
2800
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
2801
+ *
2802
+ * @group Export
2803
+ */
2804
+ const defaultRuleProcessorTanStackDB = (rule, _options) => {
2805
+ const { parseNumbers, preserveValueOrder, context = {} } = _options !== null && _options !== void 0 ? _options : /* v8 ignore start -- @preserve */ {};
2806
+ const ops = context.tanStackDbOperators;
2807
+ const refs = context._tanstackDbRefs;
2808
+ const primaryRef = context._tanstackDbPrimaryRef;
2809
+ if (!ops || !refs || !primaryRef) return void 0;
2810
+ const { and, eq, gt, gte, inArray, isNull, like, lt, lte, not } = ops;
2811
+ const resolveField = (fieldName) => {
2812
+ const dotIdx = fieldName.indexOf(".");
2813
+ if (dotIdx > 0) {
2814
+ const prefix = fieldName.slice(0, dotIdx);
2815
+ const rest = fieldName.slice(dotIdx + 1);
2816
+ if (refs[prefix]) return refs[prefix][rest];
2817
+ }
2818
+ return refs[primaryRef][fieldName];
2819
+ };
2820
+ const { field, operator, value, valueSource } = rule;
2821
+ const column = resolveField(field);
2822
+ const operatorLC = lc(operator);
2823
+ const valueIsField = valueSource === "field";
2824
+ const asFieldOrValue = (v) => valueIsField ? resolveField(v) : v;
2825
+ const maybeParseNumber = (v) => {
2826
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2827
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2828
+ };
2829
+ switch (operatorLC) {
2830
+ case "=": return eq(column, maybeParseNumber(value));
2831
+ case "!=": return not(eq(column, maybeParseNumber(value)));
2832
+ case ">": return gt(column, maybeParseNumber(value));
2833
+ case "<": return lt(column, maybeParseNumber(value));
2834
+ case ">=": return gte(column, maybeParseNumber(value));
2835
+ case "<=": return lte(column, maybeParseNumber(value));
2836
+ case "beginswith":
2837
+ case "doesnotbeginwith": {
2838
+ const expr = like(column, valueIsField ? void 0 : `${value}%`);
2839
+ return operatorLC === "doesnotbeginwith" ? not(expr) : expr;
2840
+ }
2841
+ case "contains":
2842
+ case "doesnotcontain": {
2843
+ const expr = like(column, valueIsField ? void 0 : `%${value}%`);
2844
+ return operatorLC === "doesnotcontain" ? not(expr) : expr;
2845
+ }
2846
+ case "endswith":
2847
+ case "doesnotendwith": {
2848
+ const expr = like(column, valueIsField ? void 0 : `%${value}`);
2849
+ return operatorLC === "doesnotendwith" ? not(expr) : expr;
2850
+ }
2851
+ case "null": return isNull(column);
2852
+ case "notnull": return not(isNull(column));
2853
+ case "in":
2854
+ case "notin": {
2855
+ const expr = inArray(column, toArray(value).map((v) => maybeParseNumber(v)));
2856
+ return operatorLC === "notin" ? not(expr) : expr;
2857
+ }
2858
+ case "between":
2859
+ case "notbetween": {
2860
+ const valueAsArray = toArray(value);
2861
+ if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
2862
+ let [first, second] = valueAsArray;
2863
+ const shouldParseNumbers = !(parseNumbers === false);
2864
+ if (!valueIsField && shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
2865
+ const firstNum = parseNumber(first, { parseNumbers: shouldParseNumbers });
2866
+ const secondNum = parseNumber(second, { parseNumbers: shouldParseNumbers });
2867
+ if (!preserveValueOrder && secondNum < firstNum) {
2868
+ const tempNum = secondNum;
2869
+ second = firstNum;
2870
+ first = tempNum;
2871
+ } else {
2872
+ first = firstNum;
2873
+ second = secondNum;
2874
+ }
2875
+ } else if (valueIsField) {
2876
+ first = asFieldOrValue(first);
2877
+ second = asFieldOrValue(second);
2878
+ }
2879
+ const expr = and(gte(column, first), lte(column, second));
2880
+ return operatorLC === "notbetween" ? not(expr) : expr;
2881
+ }
2882
+ return;
2883
+ }
2884
+ default: return;
2885
+ }
2886
+ };
2887
+ //#endregion
2888
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.ts
2889
+ /**
2890
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
2891
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
2892
+ *
2893
+ * @example
2894
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
2895
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
2896
+ *
2897
+ * @group Export
2898
+ */
2899
+ const defaultRuleGroupProcessorTanStackDB = (ruleGroup, options) => (refs) => {
2900
+ var _processRuleGroup;
2901
+ const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, validateRule, validationMap, context = {} } = options;
2902
+ const ops = context.tanStackDbOperators;
2903
+ if (!ops) return void 0;
2904
+ const { and, eq, not, or } = ops;
2905
+ const fallback = eq(1, 1);
2906
+ const refKeys = Object.keys(refs);
2907
+ /* v8 ignore next -- @preserve */
2908
+ if (refKeys.length === 0) return fallback;
2909
+ const ruleProcessor = defaultRuleProcessorTanStackDB;
2910
+ const processRuleGroup = (rg) => {
2911
+ var _rg$id;
2912
+ if (!isRuleOrGroupValid(rg, validationMap[(_rg$id = rg.id) !== null && _rg$id !== void 0 ? _rg$id : /* v8 ignore start -- @preserve */ ""])) return;
2913
+ const processedRules = rg.rules.map((rule) => {
2914
+ if (isRuleGroup(rule)) return processRuleGroup(rule);
2915
+ const [validationResult, fieldValidator] = validateRule(rule);
2916
+ if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
2917
+ const fieldData = getOption(fields, rule.field);
2918
+ return ruleProcessor(rule, _objectSpread2(_objectSpread2({}, options), {}, {
2919
+ parseNumbers: getParseNumberBoolean(fieldData === null || fieldData === void 0 ? void 0 : fieldData.inputType),
2920
+ fieldData,
2921
+ context: _objectSpread2(_objectSpread2({}, context), {}, {
2922
+ _tanstackDbRefs: refs,
2923
+ _tanstackDbPrimaryRef: refKeys[0]
2924
+ })
2925
+ }));
2926
+ }).filter(Boolean);
2927
+ if (processedRules.length === 0) return fallback;
2928
+ const ruleGroupExpr = processedRules.length === 1 ? processedRules[0] : rg.combinator === "or" ? or(...processedRules) : and(...processedRules);
2929
+ return rg.not ? not(ruleGroupExpr) : ruleGroupExpr;
2930
+ };
2931
+ return (_processRuleGroup = processRuleGroup(convertFromIC(ruleGroup))) !== null && _processRuleGroup !== void 0 ? _processRuleGroup : fallback;
2932
+ };
2933
+ //#endregion
2793
2934
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.ts
2794
2935
  const numericInputTypes = new Set([
2795
2936
  "number",
@@ -3608,7 +3749,7 @@ const escapeStringValueQuotes = (v, quoteChar, escapeQuotes) => escapeQuotes &&
3608
3749
  * @group Export
3609
3750
  */
3610
3751
  const defaultValueProcessorNL = (rule, opts = {}) => {
3611
- var _t$or, _t$true, _t$false, _getOption$label3, _getOption3, _ref3;
3752
+ var _t$or, _t$true, _t$false, _t$listSeparator, _getOption$label3, _getOption3, _ref3;
3612
3753
  const { escapeQuotes, fields, parseNumbers, quoteFieldNamesWith, quoteValuesWith, fieldIdentifierSeparator, translations } = opts;
3613
3754
  const valueIsField = rule.valueSource === "field";
3614
3755
  const operatorLowerCase = lc(rule.operator);
@@ -3624,6 +3765,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
3624
3765
  const orTL = (_t$or = t.or) !== null && _t$or !== void 0 ? _t$or : "or";
3625
3766
  const trueTL = (_t$true = t.true) !== null && _t$true !== void 0 ? _t$true : "true";
3626
3767
  const falseTL = (_t$false = t.false) !== null && _t$false !== void 0 ? _t$false : "false";
3768
+ const listSep = (_t$listSeparator = t.listSeparator) !== null && _t$listSeparator !== void 0 ? _t$listSeparator : ", ";
3769
+ const useOxfordComma = !t.listSeparator;
3627
3770
  switch (operatorLowerCase) {
3628
3771
  case "null":
3629
3772
  case "notnull": return "";
@@ -3648,7 +3791,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
3648
3791
  /* v8 ignore start -- @preserve */ [], v)) === null || _getOption2 === void 0 ? void 0 : _getOption2.label) !== null && _getOption$label2 !== void 0 ? _getOption$label2 : v) : shouldRenderAsNumber(v, parseNumbers) ? `${trimIfString(v)}` : `${wrapAndEscape(v)}`;
3649
3792
  });
3650
3793
  if (valStringArray.length === 1) return valStringArray[0];
3651
- return `(${`${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`})`;
3794
+ const oxfordComma = useOxfordComma && valStringArray.length > 2 ? "," : "";
3795
+ return `(${`${valStringArray.slice(0, -1).join(listSep)}${oxfordComma} ${orTL} ${valStringArray.at(-1)}`})`;
3652
3796
  }
3653
3797
  }
3654
3798
  if (typeof rule.value === "boolean") return rule.value ? trueTL : falseTL;
@@ -3720,7 +3864,7 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
3720
3864
  * @group Export
3721
3865
  */
3722
3866
  const defaultRuleProcessorNL = (rule, opts) => {
3723
- var _fieldData$label;
3867
+ var _fieldData$label, _opts$translations, _translations$afterSu, _translations$afterVe, _translations$afterOb;
3724
3868
  const { field, operator } = rule;
3725
3869
  // v8 ignore next
3726
3870
  const { fieldData, quoteFieldNamesWith = ["", ""], fieldIdentifierSeparator = "", quoteValuesWith = `'`, operatorProcessor = defaultOperatorProcessorNL, valueProcessor = defaultValueProcessorNL, concatOperator = "||", wordOrder = "SVO" } = opts !== null && opts !== void 0 ? opts : /* v8 ignore start -- @preserve */ {};
@@ -3761,7 +3905,14 @@ const defaultRuleProcessorNL = (rule, opts) => {
3761
3905
  V: operatorProcessor(rule, opts),
3762
3906
  O: value
3763
3907
  };
3764
- return normalizeConstituentWordOrder(wordOrder).map((term) => `${wordOrderMap[term]}`).join(" ").trim();
3908
+ const translations = (_opts$translations = opts === null || opts === void 0 ? void 0 : opts.translations) !== null && _opts$translations !== void 0 ? _opts$translations : {};
3909
+ const suffixMap = {
3910
+ S: (_translations$afterSu = translations.afterSubject) !== null && _translations$afterSu !== void 0 ? _translations$afterSu : " ",
3911
+ V: (_translations$afterVe = translations.afterVerb) !== null && _translations$afterVe !== void 0 ? _translations$afterVe : " ",
3912
+ O: (_translations$afterOb = translations.afterObject) !== null && _translations$afterOb !== void 0 ? _translations$afterOb : " "
3913
+ };
3914
+ const wordOrderTuple = normalizeConstituentWordOrder(wordOrder).filter((term) => wordOrderMap[term] !== "");
3915
+ return wordOrderTuple.map((term, i) => `${wordOrderMap[term]}${i < wordOrderTuple.length - 1 ? suffixMap[term] : ""}`).join("").trim();
3765
3916
  };
3766
3917
  //#endregion
3767
3918
  //#region src/utils/formatQuery/defaultRuleProcessorSQL.ts
@@ -4045,6 +4196,11 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
4045
4196
  //#endregion
4046
4197
  //#region src/utils/formatQuery/defaultRuleProcessorSPARQL.ts
4047
4198
  const escapeDoubleQuotes = (v, escapeQuotes) => typeof v !== "string" || !escapeQuotes ? `${v}` : v.replaceAll(`"`, `\\"`);
4199
+ /** Auto-prefix a SPARQL variable name with `?` unless it's already prefixed, a URI, or a prefixed name.
4200
+ *
4201
+ * @group Export
4202
+ */
4203
+ const sparqlVar = (name) => /^[?<]/.test(name) || name.includes(":") ? name : `?${name}`;
4048
4204
  /**
4049
4205
  * Default rule processor used by {@link formatQuery} for "sparql" format.
4050
4206
  *
@@ -4052,15 +4208,16 @@ const escapeDoubleQuotes = (v, escapeQuotes) => typeof v !== "string" || !escape
4052
4208
  */
4053
4209
  const defaultRuleProcessorSPARQL = (rule, opts = {}) => {
4054
4210
  const { escapeQuotes, parseNumbers } = opts;
4055
- const { field, operator, value, valueSource } = rule;
4211
+ const { field: rawField, operator, value, valueSource } = rule;
4056
4212
  const valueIsField = valueSource === "field";
4057
4213
  const operatorTL = operator.toLowerCase();
4214
+ const field = sparqlVar(rawField);
4058
4215
  const fmtVal = (v) => {
4059
4216
  var _JSON$stringify;
4060
4217
  if (v === null || v === void 0) return "\"\"";
4061
4218
  if (typeof v === "boolean") return `"${v}"^^xsd:boolean`;
4062
4219
  if (typeof v === "bigint") return String(v);
4063
- if (valueIsField) return trimIfString(v);
4220
+ if (valueIsField) return sparqlVar(trimIfString(v));
4064
4221
  if (typeof v === "number" || shouldRenderAsNumber(v, parseNumbers)) return trimIfString(v);
4065
4222
  const s = typeof v === "string" ? v : (_JSON$stringify = JSON.stringify(v)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : "";
4066
4223
  if (s.startsWith("?") || s.startsWith("<") || s.includes(":")) return s;
@@ -4085,12 +4242,12 @@ const defaultRuleProcessorSPARQL = (rule, opts = {}) => {
4085
4242
  case "in": {
4086
4243
  const items = toArray(value).map(fmtVal);
4087
4244
  if (!items.length) return "";
4088
- return items.map((item) => `${field} = ${item}`).join(" || ");
4245
+ return `${field} IN (${items.join(", ")})`;
4089
4246
  }
4090
4247
  case "notin": {
4091
4248
  const items = toArray(value).map(fmtVal);
4092
4249
  if (!items.length) return "";
4093
- return items.map((item) => `${field} != ${item}`).join(" && ");
4250
+ return `${field} NOT IN (${items.join(", ")})`;
4094
4251
  }
4095
4252
  case "between": {
4096
4253
  const arr = toArray(value);
@@ -4153,6 +4310,7 @@ const defaultRuleProcessors = {
4153
4310
  sequelize: defaultRuleProcessorSequelize,
4154
4311
  spel: defaultRuleProcessorSpEL,
4155
4312
  sql: defaultRuleProcessorSQL,
4313
+ tanstack_db: defaultRuleProcessorTanStackDB,
4156
4314
  cypher: defaultRuleProcessorCypher,
4157
4315
  gql: defaultRuleProcessorCypher,
4158
4316
  sparql: defaultRuleProcessorSPARQL,
@@ -4179,6 +4337,7 @@ const defaultOperatorProcessors = {
4179
4337
  sequelize: defaultOperatorProcessor,
4180
4338
  spel: defaultOperatorProcessor,
4181
4339
  sql: defaultOperatorProcessorSQL,
4340
+ tanstack_db: defaultOperatorProcessor,
4182
4341
  cypher: defaultOperatorProcessor,
4183
4342
  gql: defaultOperatorProcessor,
4184
4343
  sparql: defaultOperatorProcessor,
@@ -4225,7 +4384,8 @@ const valueProcessorCanActAsRuleProcessor = new Set([
4225
4384
  "mongodb",
4226
4385
  "prisma",
4227
4386
  "sequelize",
4228
- "spel"
4387
+ "spel",
4388
+ "tanstack_db"
4229
4389
  ]);
4230
4390
  const sqlFormats = new Set([
4231
4391
  "sql",
@@ -4271,7 +4431,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4271
4431
  } : format === "parameterized_named" ? {
4272
4432
  sql: fallbackExpression,
4273
4433
  params: {}
4274
- } : format === "mongodb" ? `{${fallbackExpression}}` : format === "mongodb_query" ? mongoDbFallback : format === "prisma" ? prismaFallback : format === "jsonlogic" ? false : format === "elasticsearch" ? {} : format === "drizzle" || format === "sequelize" ? void 0 : fallbackExpression;
4434
+ } : format === "mongodb" ? `{${fallbackExpression}}` : format === "mongodb_query" ? mongoDbFallback : format === "prisma" ? prismaFallback : format === "jsonlogic" ? false : format === "elasticsearch" ? {} : format === "drizzle" || format === "sequelize" || format === "tanstack_db" ? void 0 : fallbackExpression;
4275
4435
  }
4276
4436
  } else validationMap = validationResult;
4277
4437
  }
@@ -4333,6 +4493,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4333
4493
  case "ldap": return defaultRuleGroupProcessorLDAP(ruleGroup, finalOptions);
4334
4494
  case "prisma": return defaultRuleGroupProcessorPrisma(ruleGroup, finalOptions);
4335
4495
  case "drizzle": return defaultRuleGroupProcessorDrizzle(ruleGroup, finalOptions);
4496
+ case "tanstack_db": return defaultRuleGroupProcessorTanStackDB(ruleGroup, finalOptions);
4336
4497
  case "sequelize": return defaultRuleGroupProcessorSequelize(ruleGroup, finalOptions);
4337
4498
  case "cypher":
4338
4499
  case "gql": return defaultRuleGroupProcessorCypher(ruleGroup, finalOptions);
@@ -5057,6 +5218,6 @@ const groupInPlace = (query, sourcePathOrID, targetPathOrID, options = {}) => {
5057
5218
  return query;
5058
5219
  };
5059
5220
  //#endregion
5060
- export { LogType, TestID, add, addInPlace, 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, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, 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, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
5221
+ export { LogType, TestID, add, addInPlace, 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, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, 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, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
5061
5222
 
5062
5223
  //# sourceMappingURL=react-querybuilder_core.legacy-esm.js.map