@react-querybuilder/core 8.16.1 → 8.17.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 (83) hide show
  1. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +56 -5
  2. package/dist/cjs/react-querybuilder_core.cjs.development.js +155 -9
  3. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  4. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +56 -5
  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-Lx2HQa0m.js → convertQuery-BoMPXL7_.js} +2 -2
  8. package/dist/{convertQuery-Lx2HQa0m.js.map → convertQuery-BoMPXL7_.js.map} +1 -1
  9. package/dist/{convertQuery-BeJJH9BI.mjs → convertQuery-CQwOrjQr.mjs} +2 -2
  10. package/dist/{convertQuery-BeJJH9BI.mjs.map → convertQuery-CQwOrjQr.mjs.map} +1 -1
  11. package/dist/formatQuery.d.mts +37 -3
  12. package/dist/formatQuery.d.ts +37 -3
  13. package/dist/formatQuery.js +158 -12
  14. package/dist/formatQuery.js.map +1 -1
  15. package/dist/formatQuery.mjs +157 -13
  16. package/dist/formatQuery.mjs.map +1 -1
  17. package/dist/{import-BC_bAKQ8.d.mts → import-BQ5xaW6i.d.mts} +2 -2
  18. package/dist/{import-D1KnXhkQ.d.ts → import-CSHMjlid.d.ts} +2 -2
  19. package/dist/{index-Ds06V0zO.d.ts → index-CREDWM32.d.mts} +21 -4
  20. package/dist/{index-AAZg4Uh1.d.mts → index-CREDWM32.d.ts} +21 -4
  21. package/dist/{objectUtils-D96eEEzL.mjs → objectUtils-D-w8MzpZ.mjs} +1 -1
  22. package/dist/{objectUtils-D96eEEzL.mjs.map → objectUtils-D-w8MzpZ.mjs.map} +1 -1
  23. package/dist/{objectUtils-Bzug_QfX.js → objectUtils-DxVaGCdg.js} +1 -2
  24. package/dist/{objectUtils-Bzug_QfX.js.map → objectUtils-DxVaGCdg.js.map} +1 -1
  25. package/dist/parseCEL.d.mts +2 -2
  26. package/dist/parseCEL.d.ts +2 -2
  27. package/dist/parseCEL.js +3 -4
  28. package/dist/parseCEL.js.map +1 -1
  29. package/dist/parseCEL.mjs +3 -3
  30. package/dist/parseCypher.d.mts +1 -1
  31. package/dist/parseCypher.d.ts +1 -1
  32. package/dist/parseCypher.js +0 -1
  33. package/dist/parseCypher.js.map +1 -1
  34. package/dist/parseGremlin.d.mts +1 -1
  35. package/dist/parseGremlin.d.ts +1 -1
  36. package/dist/parseJSONata.d.mts +2 -2
  37. package/dist/parseJSONata.d.ts +2 -2
  38. package/dist/parseJSONata.js +2 -3
  39. package/dist/parseJSONata.mjs +2 -2
  40. package/dist/parseJsonLogic.d.mts +2 -2
  41. package/dist/parseJsonLogic.d.ts +2 -2
  42. package/dist/parseJsonLogic.js +4 -4
  43. package/dist/parseJsonLogic.mjs +4 -4
  44. package/dist/parseMongoDB.d.mts +2 -2
  45. package/dist/parseMongoDB.d.ts +2 -2
  46. package/dist/parseMongoDB.js +4 -4
  47. package/dist/parseMongoDB.mjs +4 -4
  48. package/dist/parseSPARQL.d.mts +1 -1
  49. package/dist/parseSPARQL.d.ts +1 -1
  50. package/dist/parseSPARQL.js +0 -1
  51. package/dist/parseSPARQL.js.map +1 -1
  52. package/dist/parseSQL.d.mts +2 -2
  53. package/dist/parseSQL.d.ts +2 -2
  54. package/dist/parseSQL.js +3 -4
  55. package/dist/parseSQL.js.map +1 -1
  56. package/dist/parseSQL.mjs +3 -3
  57. package/dist/parseSpEL.d.mts +2 -2
  58. package/dist/parseSpEL.d.ts +2 -2
  59. package/dist/parseSpEL.js +3 -4
  60. package/dist/parseSpEL.js.map +1 -1
  61. package/dist/parseSpEL.mjs +3 -3
  62. package/dist/{prepareQueryObjects-uA10ZpZX.mjs → prepareQueryObjects-BXf5aV-A.mjs} +3 -3
  63. package/dist/{prepareQueryObjects-uA10ZpZX.mjs.map → prepareQueryObjects-BXf5aV-A.mjs.map} +1 -1
  64. package/dist/{prepareQueryObjects-BoG5Rt8z.js → prepareQueryObjects-gRQqiBPR.js} +3 -3
  65. package/dist/{prepareQueryObjects-BoG5Rt8z.js.map → prepareQueryObjects-gRQqiBPR.js.map} +1 -1
  66. package/dist/react-querybuilder_core.d.mts +56 -5
  67. package/dist/react-querybuilder_core.legacy-esm.d.ts +56 -5
  68. package/dist/react-querybuilder_core.legacy-esm.js +161 -17
  69. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  70. package/dist/react-querybuilder_core.mjs +154 -10
  71. package/dist/react-querybuilder_core.mjs.map +1 -1
  72. package/dist/react-querybuilder_core.production.d.mts +56 -5
  73. package/dist/react-querybuilder_core.production.mjs +1 -1
  74. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  75. package/dist/transformQuery.d.mts +1 -1
  76. package/dist/transformQuery.d.ts +1 -1
  77. package/dist/transformQuery.js +1 -1
  78. package/dist/transformQuery.mjs +1 -1
  79. package/dist/{utils-ChLG90DP.mjs → utils-01WaTGBL.mjs} +2 -2
  80. package/dist/{utils-ChLG90DP.mjs.map → utils-01WaTGBL.mjs.map} +1 -1
  81. package/dist/{utils-Qwkq2Q0F.js → utils-ZlKseh1X.js} +2 -3
  82. package/dist/{utils-Qwkq2Q0F.js.map → utils-ZlKseh1X.js.map} +1 -1
  83. package/package.json +15 -11
@@ -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
  /**
@@ -1315,8 +1316,6 @@ interface RuleType<F extends string = string, O extends string = string, V = any
1315
1316
  /**
1316
1317
  * Opaque metadata for use by extension packages. The core library
1317
1318
  * preserves this property but does not read or interpret it.
1318
- * Extensions like `@react-querybuilder/graph` use `meta` to store
1319
- * domain-specific context (e.g., graph pattern information).
1320
1319
  */
1321
1320
  meta?: M;
1322
1321
  }
@@ -1748,7 +1747,7 @@ interface DropCollection {
1748
1747
  *
1749
1748
  * @group Export
1750
1749
  */
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";
1750
+ 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
1751
  /**
1753
1752
  * Export formats for {@link formatQuery} that produce objects instead of strings.
1754
1753
  *
@@ -2068,6 +2067,15 @@ type ValueProcessor = ValueProcessorLegacy;
2068
2067
  * | `jsonlogic` | {@link defaultRuleProcessorJsonLogic} |
2069
2068
  * | `elasticsearch` | {@link defaultRuleProcessorElasticSearch} |
2070
2069
  * | `jsonata` | {@link defaultRuleProcessorJSONata} |
2070
+ * | `natural_language` | {@link defaultRuleProcessorNL} |
2071
+ * | `ldap` | {@link defaultRuleProcessorLDAP} |
2072
+ * | `drizzle` | {@link defaultRuleProcessorDrizzle} |
2073
+ * | `tanstack_db` | {@link defaultRuleProcessorTanStackDB} |
2074
+ * | `prisma` | {@link defaultRuleProcessorPrisma} |
2075
+ * | `sequelize` | {@link defaultRuleProcessorSequelize} |
2076
+ * | `cypher` | {@link defaultRuleProcessorCypher} |
2077
+ * | `sparql` | {@link defaultRuleProcessorSPARQL} |
2078
+ * | `gremlin` | {@link defaultRuleProcessorGremlin} |
2071
2079
  *
2072
2080
  * @group Export
2073
2081
  */
@@ -2092,6 +2100,16 @@ type RuleProcessor = (rule: RuleType, options?: ValueProcessorOptions, meta?: {
2092
2100
  * | `jsonlogic` | {@link defaultRuleGroupProcessorJsonLogic} |
2093
2101
  * | `elasticsearch` | {@link defaultRuleGroupProcessorElasticSearch} |
2094
2102
  * | `jsonata` | {@link defaultRuleGroupProcessorJSONata} |
2103
+ * | `natural_language` | {@link defaultRuleGroupProcessorNL} |
2104
+ * | `ldap` | {@link defaultRuleGroupProcessorLDAP} |
2105
+ * | `drizzle` | {@link defaultRuleGroupProcessorDrizzle} |
2106
+ * | `tanstack_db` | {@link defaultRuleGroupProcessorTanStackDB} |
2107
+ * | `prisma` | {@link defaultRuleGroupProcessorPrisma} |
2108
+ * | `sequelize` | {@link defaultRuleGroupProcessorSequelize} |
2109
+ * | `cypher` | {@link defaultRuleGroupProcessorCypher} |
2110
+ * | `sparql` | {@link defaultRuleGroupProcessorSPARQL} |
2111
+ * | `gremlin` | {@link defaultRuleGroupProcessorGremlin} |
2112
+ * | `diagnostics` | {@link defaultRuleGroupProcessorDiagnostics} |
2095
2113
  *
2096
2114
  * @group Export
2097
2115
  */
@@ -3303,6 +3321,23 @@ declare const defaultRuleGroupProcessorSpEL: RuleGroupProcessor<string>;
3303
3321
  */
3304
3322
  declare const defaultRuleGroupProcessorSQL: RuleGroupProcessor<string>;
3305
3323
  //#endregion
3324
+ //#region src/utils/formatQuery/tanStackDbTypes.d.ts
3325
+ type TanStackDbWhereCallbackReturnType = ReturnType<typeof eq>;
3326
+ type TanStackDbWhereCallback = (refs: Record<string, unknown>) => TanStackDbWhereCallbackReturnType;
3327
+ //#endregion
3328
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.d.ts
3329
+ /**
3330
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
3331
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
3332
+ *
3333
+ * @example
3334
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
3335
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
3336
+ *
3337
+ * @group Export
3338
+ */
3339
+ declare const defaultRuleGroupProcessorTanStackDB: RuleGroupProcessor<TanStackDbWhereCallback>;
3340
+ //#endregion
3306
3341
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.d.ts
3307
3342
  /**
3308
3343
  * Rule group processor used by {@link formatQuery} for "diagnostics" format.
@@ -3454,6 +3489,14 @@ declare const defaultOperatorProcessorSQL: RuleProcessor;
3454
3489
  */
3455
3490
  declare const defaultRuleProcessorSQL: RuleProcessor;
3456
3491
  //#endregion
3492
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.d.ts
3493
+ /**
3494
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
3495
+ *
3496
+ * @group Export
3497
+ */
3498
+ declare const defaultRuleProcessorTanStackDB: RuleProcessor;
3499
+ //#endregion
3457
3500
  //#region src/utils/formatQuery/defaultValueProcessorNL.d.ts
3458
3501
  /**
3459
3502
  * Default value processor used by {@link formatQuery} for "natural_language" format.
@@ -3567,7 +3610,15 @@ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "drizzle" | (
3567
3610
  format: "drizzle";
3568
3611
  })): ReturnType<typeof defaultRuleGroupProcessorDrizzle>;
3569
3612
  /**
3570
- * Generates a Sequelize query object from an RQB query object. The object can
3613
+ * Generates a TanStack DB WhereCallback from an RQB query object. The callback can
3614
+ * be passed directly to TanStack DB's `.where()` method.
3615
+ *
3616
+ * @group Export
3617
+ */
3618
+ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "tanstack_db" | (FormatQueryOptions & {
3619
+ format: "tanstack_db";
3620
+ })): ReturnType<typeof defaultRuleGroupProcessorTanStackDB>;
3621
+ /**
3571
3622
  * be assigned to the `where` property in the Sequelize query functions.
3572
3623
  *
3573
3624
  * @group Export
@@ -4639,5 +4690,5 @@ declare function transformQuery(query: RuleGroupType, options?: TransformQueryOp
4639
4690
  */
4640
4691
  declare function transformQuery(query: RuleGroupTypeIC, options?: TransformQueryOptions<RuleGroupTypeIC>): any;
4641
4692
  //#endregion
4642
- 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, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
4693
+ 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 };
4643
4694
  //# sourceMappingURL=react-querybuilder_core.cjs.development.d.ts.map
@@ -2018,6 +2018,10 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2018
2018
  const operatorLC = lc(operator);
2019
2019
  const valueIsField = valueSource === "field";
2020
2020
  const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
2021
+ const maybeParseNumber = (v) => {
2022
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2023
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2024
+ };
2021
2025
  if (!column) return void 0;
2022
2026
  const matchEval = processMatchMode(rule);
2023
2027
  if (matchEval === false) return;
@@ -2048,12 +2052,12 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2048
2052
  }
2049
2053
  }
2050
2054
  switch (operatorLC) {
2051
- case "=": return eq(column, asFieldOrValue(value));
2052
- case "!=": return ne(column, asFieldOrValue(value));
2053
- case ">": return gt(column, asFieldOrValue(value));
2054
- case "<": return lt(column, asFieldOrValue(value));
2055
- case ">=": return gte(column, asFieldOrValue(value));
2056
- case "<=": return lte(column, asFieldOrValue(value));
2055
+ case "=": return eq(column, maybeParseNumber(value));
2056
+ case "!=": return ne(column, maybeParseNumber(value));
2057
+ case ">": return gt(column, maybeParseNumber(value));
2058
+ case "<": return lt(column, maybeParseNumber(value));
2059
+ case ">=": return gte(column, maybeParseNumber(value));
2060
+ case "<=": return lte(column, maybeParseNumber(value));
2057
2061
  case "beginswith":
2058
2062
  case "doesnotbeginwith": return (operatorLC === "doesnotbeginwith" ? notLike : like)(column, valueIsField ? sql`${asFieldOrValue(value)} || '%'` : `${value}%`);
2059
2063
  case "contains":
@@ -2064,7 +2068,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2064
2068
  case "notnull": return isNotNull(column);
2065
2069
  case "in":
2066
2070
  case "notin": {
2067
- const valueAsArray = toArray(value).map((v) => asFieldOrValue(v));
2071
+ const valueAsArray = toArray(value).map((v) => maybeParseNumber(v));
2068
2072
  return operatorLC === "notin" ? notInArray(column, valueAsArray) : inArray(column, valueAsArray);
2069
2073
  }
2070
2074
  case "between":
@@ -2729,6 +2733,142 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
2729
2733
  return processRuleGroup(ruleGroup, true);
2730
2734
  };
2731
2735
  //#endregion
2736
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.ts
2737
+ /**
2738
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
2739
+ *
2740
+ * @group Export
2741
+ */
2742
+ const defaultRuleProcessorTanStackDB = (rule, _options) => {
2743
+ const { parseNumbers, preserveValueOrder, context = {} } = _options ?? ( /* v8 ignore start -- @preserve */ {});
2744
+ const ops = context.tanStackDbOperators;
2745
+ const refs = context._tanstackDbRefs;
2746
+ const primaryRef = context._tanstackDbPrimaryRef;
2747
+ if (!ops || !refs || !primaryRef) return void 0;
2748
+ const { and, eq, gt, gte, inArray, isNull, like, lt, lte, not } = ops;
2749
+ const resolveField = (fieldName) => {
2750
+ const dotIdx = fieldName.indexOf(".");
2751
+ if (dotIdx > 0) {
2752
+ const prefix = fieldName.slice(0, dotIdx);
2753
+ const rest = fieldName.slice(dotIdx + 1);
2754
+ if (refs[prefix]) return refs[prefix][rest];
2755
+ }
2756
+ return refs[primaryRef][fieldName];
2757
+ };
2758
+ const { field, operator, value, valueSource } = rule;
2759
+ const column = resolveField(field);
2760
+ const operatorLC = lc(operator);
2761
+ const valueIsField = valueSource === "field";
2762
+ const asFieldOrValue = (v) => valueIsField ? resolveField(v) : v;
2763
+ const maybeParseNumber = (v) => {
2764
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2765
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2766
+ };
2767
+ switch (operatorLC) {
2768
+ case "=": return eq(column, maybeParseNumber(value));
2769
+ case "!=": return not(eq(column, maybeParseNumber(value)));
2770
+ case ">": return gt(column, maybeParseNumber(value));
2771
+ case "<": return lt(column, maybeParseNumber(value));
2772
+ case ">=": return gte(column, maybeParseNumber(value));
2773
+ case "<=": return lte(column, maybeParseNumber(value));
2774
+ case "beginswith":
2775
+ case "doesnotbeginwith": {
2776
+ const expr = like(column, valueIsField ? void 0 : `${value}%`);
2777
+ return operatorLC === "doesnotbeginwith" ? not(expr) : expr;
2778
+ }
2779
+ case "contains":
2780
+ case "doesnotcontain": {
2781
+ const expr = like(column, valueIsField ? void 0 : `%${value}%`);
2782
+ return operatorLC === "doesnotcontain" ? not(expr) : expr;
2783
+ }
2784
+ case "endswith":
2785
+ case "doesnotendwith": {
2786
+ const expr = like(column, valueIsField ? void 0 : `%${value}`);
2787
+ return operatorLC === "doesnotendwith" ? not(expr) : expr;
2788
+ }
2789
+ case "null": return isNull(column);
2790
+ case "notnull": return not(isNull(column));
2791
+ case "in":
2792
+ case "notin": {
2793
+ const expr = inArray(column, toArray(value).map((v) => maybeParseNumber(v)));
2794
+ return operatorLC === "notin" ? not(expr) : expr;
2795
+ }
2796
+ case "between":
2797
+ case "notbetween": {
2798
+ const valueAsArray = toArray(value);
2799
+ if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
2800
+ let [first, second] = valueAsArray;
2801
+ const shouldParseNumbers = !(parseNumbers === false);
2802
+ if (!valueIsField && shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
2803
+ const firstNum = parseNumber(first, { parseNumbers: shouldParseNumbers });
2804
+ const secondNum = parseNumber(second, { parseNumbers: shouldParseNumbers });
2805
+ if (!preserveValueOrder && secondNum < firstNum) {
2806
+ const tempNum = secondNum;
2807
+ second = firstNum;
2808
+ first = tempNum;
2809
+ } else {
2810
+ first = firstNum;
2811
+ second = secondNum;
2812
+ }
2813
+ } else if (valueIsField) {
2814
+ first = asFieldOrValue(first);
2815
+ second = asFieldOrValue(second);
2816
+ }
2817
+ const expr = and(gte(column, first), lte(column, second));
2818
+ return operatorLC === "notbetween" ? not(expr) : expr;
2819
+ }
2820
+ return;
2821
+ }
2822
+ default: return;
2823
+ }
2824
+ };
2825
+ //#endregion
2826
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.ts
2827
+ /**
2828
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
2829
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
2830
+ *
2831
+ * @example
2832
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
2833
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
2834
+ *
2835
+ * @group Export
2836
+ */
2837
+ const defaultRuleGroupProcessorTanStackDB = (ruleGroup, options) => (refs) => {
2838
+ const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, validateRule, validationMap, context = {} } = options;
2839
+ const ops = context.tanStackDbOperators;
2840
+ if (!ops) return void 0;
2841
+ const { and, eq, not, or } = ops;
2842
+ const fallback = eq(1, 1);
2843
+ const refKeys = Object.keys(refs);
2844
+ /* v8 ignore next -- @preserve */
2845
+ if (refKeys.length === 0) return fallback;
2846
+ const ruleProcessor = defaultRuleProcessorTanStackDB;
2847
+ const processRuleGroup = (rg) => {
2848
+ if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return;
2849
+ const processedRules = rg.rules.map((rule) => {
2850
+ if (isRuleGroup(rule)) return processRuleGroup(rule);
2851
+ const [validationResult, fieldValidator] = validateRule(rule);
2852
+ if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
2853
+ const fieldData = getOption(fields, rule.field);
2854
+ return ruleProcessor(rule, {
2855
+ ...options,
2856
+ parseNumbers: getParseNumberBoolean(fieldData?.inputType),
2857
+ fieldData,
2858
+ context: {
2859
+ ...context,
2860
+ _tanstackDbRefs: refs,
2861
+ _tanstackDbPrimaryRef: refKeys[0]
2862
+ }
2863
+ });
2864
+ }).filter(Boolean);
2865
+ if (processedRules.length === 0) return fallback;
2866
+ const ruleGroupExpr = processedRules.length === 1 ? processedRules[0] : rg.combinator === "or" ? or(...processedRules) : and(...processedRules);
2867
+ return rg.not ? not(ruleGroupExpr) : ruleGroupExpr;
2868
+ };
2869
+ return processRuleGroup(convertFromIC(ruleGroup)) ?? fallback;
2870
+ };
2871
+ //#endregion
2732
2872
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.ts
2733
2873
  const numericInputTypes = new Set([
2734
2874
  "number",
@@ -4117,6 +4257,7 @@ const defaultRuleProcessors = {
4117
4257
  sequelize: defaultRuleProcessorSequelize,
4118
4258
  spel: defaultRuleProcessorSpEL,
4119
4259
  sql: defaultRuleProcessorSQL,
4260
+ tanstack_db: defaultRuleProcessorTanStackDB,
4120
4261
  cypher: defaultRuleProcessorCypher,
4121
4262
  gql: defaultRuleProcessorCypher,
4122
4263
  sparql: defaultRuleProcessorSPARQL,
@@ -4143,6 +4284,7 @@ const defaultOperatorProcessors = {
4143
4284
  sequelize: defaultOperatorProcessor,
4144
4285
  spel: defaultOperatorProcessor,
4145
4286
  sql: defaultOperatorProcessorSQL,
4287
+ tanstack_db: defaultOperatorProcessor,
4146
4288
  cypher: defaultOperatorProcessor,
4147
4289
  gql: defaultOperatorProcessor,
4148
4290
  sparql: defaultOperatorProcessor,
@@ -4189,7 +4331,8 @@ const valueProcessorCanActAsRuleProcessor = new Set([
4189
4331
  "mongodb",
4190
4332
  "prisma",
4191
4333
  "sequelize",
4192
- "spel"
4334
+ "spel",
4335
+ "tanstack_db"
4193
4336
  ]);
4194
4337
  const sqlFormats = new Set([
4195
4338
  "sql",
@@ -4235,7 +4378,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4235
4378
  } : format === "parameterized_named" ? {
4236
4379
  sql: fallbackExpression,
4237
4380
  params: {}
4238
- } : format === "mongodb" ? `{${fallbackExpression}}` : format === "mongodb_query" ? mongoDbFallback : format === "prisma" ? prismaFallback : format === "jsonlogic" ? false : format === "elasticsearch" ? {} : format === "drizzle" || format === "sequelize" ? void 0 : fallbackExpression;
4381
+ } : 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;
4239
4382
  }
4240
4383
  } else validationMap = validationResult;
4241
4384
  }
@@ -4295,6 +4438,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4295
4438
  case "ldap": return defaultRuleGroupProcessorLDAP(ruleGroup, finalOptions);
4296
4439
  case "prisma": return defaultRuleGroupProcessorPrisma(ruleGroup, finalOptions);
4297
4440
  case "drizzle": return defaultRuleGroupProcessorDrizzle(ruleGroup, finalOptions);
4441
+ case "tanstack_db": return defaultRuleGroupProcessorTanStackDB(ruleGroup, finalOptions);
4298
4442
  case "sequelize": return defaultRuleGroupProcessorSequelize(ruleGroup, finalOptions);
4299
4443
  case "cypher":
4300
4444
  case "gql": return defaultRuleGroupProcessorCypher(ruleGroup, finalOptions);
@@ -5068,6 +5212,7 @@ exports.defaultRuleGroupProcessorSPARQL = defaultRuleGroupProcessorSPARQL;
5068
5212
  exports.defaultRuleGroupProcessorSQL = defaultRuleGroupProcessorSQL;
5069
5213
  exports.defaultRuleGroupProcessorSequelize = defaultRuleGroupProcessorSequelize;
5070
5214
  exports.defaultRuleGroupProcessorSpEL = defaultRuleGroupProcessorSpEL;
5215
+ exports.defaultRuleGroupProcessorTanStackDB = defaultRuleGroupProcessorTanStackDB;
5071
5216
  exports.defaultRuleProcessorCEL = defaultRuleProcessorCEL;
5072
5217
  exports.defaultRuleProcessorCypher = defaultRuleProcessorCypher;
5073
5218
  exports.defaultRuleProcessorDrizzle = defaultRuleProcessorDrizzle;
@@ -5085,6 +5230,7 @@ exports.defaultRuleProcessorSPARQL = defaultRuleProcessorSPARQL;
5085
5230
  exports.defaultRuleProcessorSQL = defaultRuleProcessorSQL;
5086
5231
  exports.defaultRuleProcessorSequelize = defaultRuleProcessorSequelize;
5087
5232
  exports.defaultRuleProcessorSpEL = defaultRuleProcessorSpEL;
5233
+ exports.defaultRuleProcessorTanStackDB = defaultRuleProcessorTanStackDB;
5088
5234
  exports.defaultSpELValueProcessor = defaultSpELValueProcessor;
5089
5235
  exports.defaultTranslations = defaultTranslations;
5090
5236
  exports.defaultValidator = defaultValidator;